Discord sunucumuz açılmıştır, hepinizi bekleriz

https://discord.gg/43gGDQe6tS

Xp/Level Plugini - Son level Bugu

Eklenti sorunlarınız ve özel eklenti istekleriniz

Moderatör: Moderatörler

Kullanıcı avatarı

Konu Sahibi
mr1mr2
Mesajlar: 519
Kayıt: Çrş Oca 24, 2018 1:04 pm
Konum: Ankara
İletişim:

Xp/Level Plugini - Son level Bugu

Mesaj gönderen mr1mr2 »

İyi günler bu xp level plugini herseyiyle sorunsuzdu çıkıp girsende kayıtlı kalıyove her leveldede 5 hp qeliyo evet ancak son level olunca bug oldu hp 255 küsür ve level 76 olarak yazıyor anlayan varmıdır ?
deathrun_arctic0007.png
-

Kod: Tümünü seç

#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <hamsandwich>
#include <nvault>

new const PLUGIN_NAME[] = "Seviye Plugini";

new const drxp_version[] = "2.0";

new const LEVELS[10] = {
 	50, 
 	150, 
 	300, 
 	450,
 	650,
 	850,
	950,
	1000,
	1150,
	1400,
}

new drxp_playerxp[33], drxp_playerlevel[33];
new drxp_kill, drxp_knife, drxp_grenade, drxp_hs, drxp_savexp, g_drxp_vault;

public plugin_init()
{
	register_plugin(PLUGIN_NAME, drxp_version, "KronoS");

	RegisterHam(Ham_Spawn, "player", "drxp_spawn", 1);
 	register_event("DeathMsg", "drxp_death", "a");

 	drxp_savexp = register_cvar("drxp_savexp","1");
 	drxp_kill = register_cvar("drxp_kill", "20");
 	drxp_knife = register_cvar("drxp_knife","30");
	drxp_grenade = register_cvar("drxp_grenade","20");
 	drxp_hs = register_cvar("drxp_hs","30");

 	g_drxp_vault = nvault_open("deathrun_xp");

    	register_concmd("amx_xpalcam", "cmd_take_exp", ADMIN_BAN, "<target> <amount>");  
    	register_concmd("amx_xpvercem", "cmd_give_exp", ADMIN_BAN, "<target> <amount>"); 
}

public drxp_spawn(id)
{
	if((drxp_playerlevel[id] < 10) && (drxp_playerxp[id] >= LEVELS[drxp_playerlevel[id]]))
	{
		client_print(id,print_chat,"[%s].Dusman oldurerek XP kazandin ve seviye atlayin!!", PLUGIN_NAME);
		while(drxp_playerxp[id] >= LEVELS[drxp_playerlevel[id]])
		{
  			drxp_playerlevel[id] += 1;
		}
	}

	if(drxp_playerlevel[id] > 0)
		set_user_health(id, get_user_health(id) + 5*drxp_playerlevel[id]);
}

public drxp_death() 
{
 	new iVictim = read_data(2);
 	new weapon, hitplace, attacker = get_user_attacker(iVictim,weapon,hitplace);

	new victimname[32], wvar[32];
   	get_user_name(iVictim,victimname,31);
   	read_data(4, wvar, 31);

   	if(equal(wvar, "world", 5))
   		return;

	if(attacker < 1 || attacker > 32)
		return;

 	drxp_playerxp[attacker] += get_pcvar_num(drxp_kill);
	client_print(attacker,print_chat,"[%s] Tebrikler %i XP'yi, %s oldurerek kazandin!", PLUGIN_NAME, get_pcvar_num(drxp_kill), victimname);

 	if(hitplace == HIT_HEAD)
	{
 		drxp_playerxp[attacker] += get_pcvar_num(drxp_hs);
		client_print(attacker,print_chat,"[%s] Tebrikler %i XP'yi, %s HeadShot ile oldurerek kazandin!", PLUGIN_NAME, get_pcvar_num(drxp_hs), victimname);
	}

 	if(weapon == CSW_KNIFE)
	{
  		drxp_playerxp[attacker] += get_pcvar_num(drxp_knife);
		client_print(attacker,print_chat,"[%s] Tebrikler %i XP'yi. %s bicak ile oldurerek kazandin!", PLUGIN_NAME, get_pcvar_num(drxp_knife), victimname);
	}
 	else if(weapon == CSW_HEGRENADE)
	{
  		drxp_playerxp[attacker] += get_pcvar_num(drxp_grenade);
		client_print(attacker,print_chat,"[%s] Tebrikler %i XP'yi. %s bomba ile oldurerek kazandin.!", PLUGIN_NAME, get_pcvar_num(drxp_grenade), victimname);
	}

	drxp_hudinfo(attacker);
}

public drxp_hudinfo(id)
{
	set_hudmessage(255, 0, 0, 0.01, 0.2, 0, 3.0, 90.0);
	if(drxp_playerlevel[id] < 10)
 		show_hudmessage(id, "{Seviye}: %i^n{XP}: %i / %i", drxp_playerlevel[id], drxp_playerxp[id], LEVELS[drxp_playerlevel[id] + 1]);
	else
 		show_hudmessage(id, "{Seviye}: %i^nSon Seviyedesin!!", drxp_playerlevel[id]);

	set_task(2.0, "drxp_hudinfo", id);
}

public client_putinserver(id)
{
 	if(get_pcvar_num(drxp_savexp) == 1)
  		LoadData(id);

	set_task(10.0, "drxp_hudinfo", id);
}

public client_disconnect(id)
{
 	if(get_pcvar_num(drxp_savexp) == 1)
  		SaveData(id);

 	drxp_playerxp[id] = 0;
 	drxp_playerlevel[id] = 0;
}

public SaveData(id)
{
 	new PlayerName[35];
 	get_user_name(id,PlayerName,34);

 	new vaultkey[64],vaultdata[256];
 	format(vaultkey,63,"%s",PlayerName);
 	format(vaultdata,255,"%i#%i#",drxp_playerxp[id],drxp_playerlevel[id]);
 	nvault_set(g_drxp_vault,vaultkey,vaultdata);
 	return PLUGIN_CONTINUE;
}

public LoadData(id)
{
 	new PlayerName[35];
 	get_user_name(id,PlayerName,34);

 	new vaultkey[64],vaultdata[256];
 	format(vaultkey,63,"%s",PlayerName);
 	format(vaultdata,255,"%i#%i#",drxp_playerxp[id],drxp_playerlevel[id]);
 	nvault_get(g_drxp_vault,vaultkey,vaultdata,255);

 	replace_all(vaultdata, 255, "#", " ");

 	new playerxp[32], playerlevel[32];

 	parse(vaultdata, playerxp, 31, playerlevel, 31);

 	drxp_playerxp[id] = str_to_num(playerxp);
 	drxp_playerlevel[id] = str_to_num(playerlevel);

 	return PLUGIN_CONTINUE;
}  

public cmd_give_exp(id, level, cid) 
{ 
    	if(!cmd_access(id, level, cid, 3)) 
       		 return PLUGIN_HANDLED

    	new target[32], amount[21], reason[21]

    	read_argv(1, target, 31)
    	read_argv(2, amount, 20)
    	read_argv(3, reason, 20)

    	new player = cmd_target(id, target, 8)

    	if(!player)  
        	return PLUGIN_HANDLED

    	new admin_name[32], player_name[32]
    	get_user_name(id, admin_name, 31)
    	get_user_name(player, player_name, 31)

    	new expnum = str_to_num(amount)
	client_print(0, print_chat, "[Admin] = %s : [%s] XP'yi %s ' adli oyuncuya verdi.", admin_name, amount, player_name)

    	drxp_playerxp[player] += expnum
    	SaveData(id)

    	return PLUGIN_CONTINUE
} 
  
public cmd_take_exp(id, level, cid) 
{ 
    	if(!cmd_access(id, level, cid, 3)) 
    		return PLUGIN_HANDLED

    	new target[32], amount[21], reason[21]

    	read_argv(1, target, 31)
    	read_argv(2, amount, 20)
    	read_argv(3, reason, 20)

    	new player = cmd_target(id, target, 8) 

    	if(!player)  
       		 return PLUGIN_HANDLED

    	new admin_name[32], player_name[32]
    
    	get_user_name(id, admin_name, 31)
    	get_user_name(player, player_name, 31)

    	new expnum = str_to_num(amount)
	client_print(0, print_chat, "[Admin] = %s : [%s] XP'yi %s ' adli oyuncudan aldi.", admin_name, amount, player_name)

    	drxp_playerxp[player] -= expnum
    	SaveData(id) 

    	return PLUGIN_CONTINUE
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1055\\ f0\\ fs16 \n\\ par }
*/
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Konu Sahibi
mr1mr2
Mesajlar: 519
Kayıt: Çrş Oca 24, 2018 1:04 pm
Konum: Ankara
İletişim:

Xp/Level Plugini - Son level Bugu

Mesaj gönderen mr1mr2 »

Yokmu bilgisi olan yada kendisi bi deneyip geri donus yapabilecek biri ?

Link:
Linklerini gizle
Linki Kopyala
Cevapla