forum alliedteki flyeni6 Anlatımı ile Plugin Bozuk olarak anlatılan xp mod
Buda Benim Yaptığım
1) Pluginlerin Çalışma Mantığı Farklı
2) Üsteki Plugin Authid Kaydı Yapıyor Benimki namee kaydediyor
3) Benim Pluginim Çalışıyor ve Üsteki Plugin Çalışmıyor + nvaultu bozuk
4) Zaten Xp mod farklı birşey olamaz diğer modlarla hemen hemen aynı olucak
iyi bi coder anlayabilir benim g_exp (gerekli expuani) mantığı tamamen farklıdır zaten bu plugini baştan aşağı değiştirir...
Beni Tanıyan Tanır...
Arkamdan Konuşanlar yüzüme karşı konuşamaz...
iddiayı eden arkadaşın başka mevzularınıda biliyoruz yani...
Code:
#include <amxmodx>
#include <amxmisc>
#include <nvault>
#define MAXCLASSES 5
new const CLASSES[] = {
"None",
"Dog",
"Cat",
"Horse",
"Cow"
}
new const LEVELS[6] = {
100,
200,
400,
800,
1600,
3200
}
new PlayerXP[33],PlayerLevel[33],PlayerClass[33]
new XP_Kill,XP_Knife,XP_Hs,SaveXP,g_vault
public plugin_init()
{
register_plugin("XpMod", "1.0", "Fxfighter")
register_event("DeathMsg", "eDeath", "a")
SaveXP = register_cvar("SaveXP","1")
XP_Kill=register_cvar("XP_per_kill", "20")
XP_Hs=register_cvar("XP_hs_bonus","20")
XP_Knife=register_cvar("XP_knife_bonus","20")
g_vault = nvault_open("animod")
register_clcmd("say /class", "ChangeClass")
register_clcmd("say_team /class", "ChangeClass")
register_clcmd("say /xp", "ShowHud")
register_clcmd("say_team /xp", "ShowHud")
}
public eDeath( )
{
new iVictim = read_data( 2 )
new headshot = read_data( 3 )
new clip, ammo, weapon = get_user_weapon(id,clip,ammo);
PlayerXP += get_pcvar_num(XP_Kill)
if(headshot)
PlayerXP += get_pcvar_num(XP_Hs)
if(weapon == CSW_KNIFE)
PlayerXP += get_pcvar_num(XP_Knife)
while(PlayerXP >= LEVELS[PlayerLevel])
{
client_print(attacker, print_chat, "[Animal Mod] Congratulations! You are a level %i %s!",
PlayerLevel += 1
}
ShowHud(attacker)
SaveData(attacker)
}
public ShowHud(id)
{
set_hudmessage(255, 0, 0, 0.75, 0.01, 0, 6.0, 15.0)
show_hudmessage(id, "Level: %i^nXP: %i^nClass: %s",PlayerLevel,PlayerXP,CLASSES[PlayerClass])
}
public ChangeClass(id)
{
new menu = menu_create("Class Menu" , "Class_Handle");
menu_additem(menu ,"Dog", "1" , 0);
menu_additem(menu ,"Cat", "2" , 0);
menu_additem(menu ,"Horse", "3" , 0);
menu_additem(menu ,"Cow", "4" , 0);
menu_setprop(menu , MPROP_EXIT , MEXIT_ALL);
menu_display(id , menu , 0);
return PLUGIN_CONTINUE;
}
public Class_Handle(id , menu , item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
}
new szCommand[6] , szName[64];
new access , callback;
menu_item_getinfo(menu , item , access , szCommand , 5 , szName , 63 , callback);
new i = str_to_num(szCommand)
if(PlayerClass != i)
{
PlayerClass = i
client_print(id,print_chat,"You are now a %s",CLASSES)
}
else
{
client_print(id,print_chat,"You are alredy a %s",CLASSES)
}
menu_destroy(menu);
return PLUGIN_CONTINUE
}
public client_connect(id)
{
if(get_pcvar_num(SaveXP) == 1)
{
LoadData(id)
}
}
public client_disconnect(id)
{
if(get_pcvar_num(SaveXP) == 1)
{
SaveData(id)
}
PlayerXP = 0
PlayerLevel = 0
PlayerClass = 0
}
public SaveData(id)
{
new AuthID[35]
get_user_authid(id,AuthID,34)
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s-Mod",AuthID)
format(vaultdata,255,"%i#%i#",PlayerXP,PlayerLevel)
nvault_set(g_vault,vaultkey,vaultdata)
return PLUGIN_CONTINUE
}
public LoadData(id)
{
new AuthID[35]
get_user_authid(id,AuthID,34)
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s-Mod",AuthID)
format(vaultdata,255,"%i#%i#",PlayerXP,PlayerLevel)
nvault_get(g_vault,vaultkey,vaultdata,255)
replace_all(vaultdata, 255, "#", " ")
new playerxp[32], playerlevel[32]
parse(vaultdata, playerxp, 31, playerlevel, 31)
PlayerXP = str_to_num(playerxp)
PlayerLevel = str_to_num(playerlevel)
return PLUGIN_CONTINUE
}1) Pluginlerin Çalışma Mantığı Farklı
2) Üsteki Plugin Authid Kaydı Yapıyor Benimki namee kaydediyor
3) Benim Pluginim Çalışıyor ve Üsteki Plugin Çalışmıyor + nvaultu bozuk
4) Zaten Xp mod farklı birşey olamaz diğer modlarla hemen hemen aynı olucak
iyi bi coder anlayabilir benim g_exp (gerekli expuani) mantığı tamamen farklıdır zaten bu plugini baştan aşağı değiştirir...
Code:
#include <amxmodx>
#include <nvault>
#include <fakemeta>
#define g_exp(%1) get_pcvar_num(xpm_start) + (seviye[%1] * get_pcvar_num(xpm_inc))
new
xpkayit,
seviye[33],
exp[33],
xpm_kill,
xpm_knife,
xpm_headshot,
xpm_maxlevel,
hud_seviye,
hud_exp,
hud_hp,
xpm_inc,
xpm_start,
xpm_hud_style,
g_iMsgSayText
public plugin_init() {
register_plugin("Xp-Mod v1.0", "1.0", "nefret007")
xpm_start = register_cvar("xpm_start", "250");
xpm_inc = register_cvar("xpm_inc", "75");
xpm_kill = register_cvar("xpm_kill","25")
xpm_knife = register_cvar("xpm_knife","40")
xpm_headshot = register_cvar("xpm_headshot","50")
xpm_maxlevel = register_cvar("xpm_maxlevel","50")
xpm_hud_style = register_cvar("xpm_hud_style","1")
xpkayit = nvault_open("xpmodkayit")
register_event("DeathMsg", "event_death", "a");
hud_seviye = CreateHudSyncObj();
hud_exp = CreateHudSyncObj();
hud_hp = CreateHudSyncObj();
g_iMsgSayText = get_user_msgid("SayText")
}
public plugin_precache() {
precache_sound("explevel/seviye_atlama.wav")
precache_sound("fvox/beep.wav")
}
public kaydet(id){
new name[64],key[72], stats[34];
get_user_name(id, name, 63);
formatex(key, 71, "%s-stats", name);
formatex(stats, 33, "%i %i", seviye, exp);
nvault_set(xpkayit, key, stats);
}
public kontrol(id){
if(exp >= g_exp(id))
{
static Float:FOrigin3[3]
pev(id, pev_origin, FOrigin3)
ChatColor(id,"!g[CSPLAGUE.COM]!y Tebrikler !!! !t[+1]!y Seviye Yukseldiniz... ")
console_cmd(id,"spk explevel/seviye_up" )
seviye++
exp = 0
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, FOrigin3, 0)
write_byte(TE_IMPLOSION)
engfunc(EngFunc_WriteCoord, FOrigin3[0])
engfunc(EngFunc_WriteCoord, FOrigin3[1])
engfunc(EngFunc_WriteCoord, FOrigin3[2])
write_byte(200)
write_byte(100)
write_byte(5)
message_end()
}
else
{
console_cmd(id,"spk fvox/beep")
}
}
public yukle(id){
new name[64],key[72], stats[34], stat[3][12];
get_user_name(id, name, 63);
formatex(key, 71, "%s-stats", name);
nvault_get(xpkayit, key, stats, 33);
parse(stats, stat[0], 11, stat[1], 11);
seviye = str_to_num(stat[0]);
exp = str_to_num(stat[1]);
}
public client_authorized(id){
seviye=0
exp = 0
set_task(1.0, "show_explevel", id, _, _, "b")
yukle(id)
}
public client_disconnect(id){
kaydet(id)
}
public event_death()
{
new attacker = read_data(1);
new victim = read_data(2);
if(attacker == victim)
{
return PLUGIN_HANDLED;
}
if(seviye >= get_pcvar_num(xpm_maxlevel)){
ChatColor(attacker,"!g[CSPLAGUE.COM]!y Maximum seviyeye ulastiniz...")
return PLUGIN_HANDLED;
}
exp += get_pcvar_num(xpm_kill)
if(get_pdata_int(victim, 75) == HIT_HEAD){
exp += get_pcvar_num(xpm_headshot)
}
if(get_user_weapon(attacker) == CSW_KNIFE){
exp += get_pcvar_num(xpm_knife)
}
kontrol(attacker)
return PLUGIN_HANDLED;
}
public show_explevel(id)
{
switch (get_pcvar_num(xpm_hud_style))
{
case 0: // exp/level
{
set_hudmessage(255, 79, 79, 0.02, 0.23, 1, 0.02, 1.0, 0.01, 0.1, 10);
ShowSyncHudMsg(id, hud_seviye, "Seviye: [%d/%d]",seviye,get_pcvar_num(xpm_maxlevel));
set_hudmessage(255, 129, 200, 0.02, 0.26, 1, 0.02, 1.0, 0.01, 0.1, 10);
ShowSyncHudMsg(id, hud_exp, "Exp: [%i/%i]",exp,g_exp(id));
}
case 1: // exp/level/hp
{
set_hudmessage(255, 79, 79, 0.02, 0.23, 1, 0.02, 1.0, 0.01, 0.1, 10);
ShowSyncHudMsg(id, hud_seviye, "Seviye: [%d/%d]",seviye,get_pcvar_num(xpm_maxlevel));
set_hudmessage(255, 129, 200, 0.02, 0.26, 1, 0.02, 1.0, 0.01, 0.1, 10);
ShowSyncHudMsg(id, hud_exp, "Exp: [%i/%i]",exp,g_exp(id));
set_hudmessage(179, 0, 0, 0.02, 0.29, 1, 0.02, 1.0, 0.01, 0.1, 10);
ShowSyncHudMsg(id, hud_hp, "Hp: [%i/100]",get_user_health(id));
}
}
}
stock ChatColor(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4") // Green Color
replace_all(msg, 190, "!y", "^1") // Default Color
replace_all(msg, 190, "!t", "^3") // Team Color
if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players))
{
message_begin(MSG_ONE_UNRELIABLE, g_iMsgSayText, _, players)
write_byte(players);
write_string(msg);
message_end();
}
}
}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1055\\ f0\\ fs16 \n\\ par }
*/Arkamdan Konuşanlar yüzüme karşı konuşamaz...
iddiayı eden arkadaşın başka mevzularınıda biliyoruz yani...
Ben varsam bu dünya üzerinde, kimse bölemez bu vatan göklerde...
HERŞEY VATAN İÇİN
www.CSPLAGUE.com
HERŞEY VATAN İÇİN
www.CSPLAGUE.com



![[Image: AW17.png]](https://www.csplague.com/CSPResimYukleme/upload/images/AW17.png)
![[Image: 4VP4.jpg]](https://www.csplague.com/CSPResimYukleme/upload/images/4VP4.jpg)
![[Image: 9uu03.png]](https://d1207.hizliresim.com/z/l/9uu03.png)
![[Image: grk3h.jpg]](https://a1212.hizliresim.com/14/9/grk3h.jpg)