Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Nie działa exp.


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
Brak odpowiedzi do tego tematu

#1 Ziemniak

    Pomocny

  • Zbanowany

Reputacja: 0
Nowy

  • Postów:42
  • Lokalizacja:Warsaw
Offline

Napisano 05.02.2012 14:11

Witam.Dlaczego w tym kodzie nie działa exp ?

#include <amxmodx>
#include <amxmisc>
#include <nvault>

#define MAXCLASSES 5

new attacker

new const CLASSES[MAXCLASSES][] = {
    "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 /klasa", "ChangeClass")
    register_clcmd("say_team /klasa", "ChangeClass")
    register_clcmd("say /exp", "ShowHud")
    register_clcmd("say_team /exp", "ShowHud")
}

public eDeath(  )
{
    new iVictim = read_data( 2 )
    new headshot = read_data( 3 )
    new clip, ammo, weapon = get_user_weapon(clip,ammo);
 
    PlayerXP[attacker] += get_pcvar_num(XP_Kill)
 
    if(headshot)
    PlayerXP[attacker] += get_pcvar_num(XP_Hs)
 
    if(weapon == CSW_KNIFE)
    PlayerXP[attacker] += get_pcvar_num(XP_Knife)
 
 
    while(PlayerXP[attacker] >= LEVELS[PlayerLevel[attacker]])
    {
	  client_print(attacker, print_chat , "[Animal Mod] Congratulations! You are a level %i %s!"),
	  PlayerLevel[attacker] += 1
    }
    ShowHud(attacker)
    SaveData(attacker)
}

public ShowHud(id)
{
    set_hudmessage(255, 0, 0, 0.0, 0.12, 0, 6.0, 12.0)
    show_hudmessage(id, "[Poziom] %i^n[Doswiadczenie] %i^n[Klasa] %s",PlayerLevel[id],PlayerXP[id],CLASSES[PlayerClass[id]]);
    
}

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[id] != i)
    {
	    PlayerClass[id] = i
	    client_print(id,print_chat,"You are now a %s",CLASSES[i])
    }
    else
    {
	    client_print(id,print_chat,"You are alredy a %s",CLASSES[i])
    }
 
    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[id] = 0
    PlayerLevel[id] = 0
    PlayerClass[id] = 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[id],PlayerLevel[id])
    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[id],PlayerLevel[id])
    nvault_get(g_vault,vaultkey,vaultdata,255)
 
    replace_all(vaultdata, 255, "#", " ")
 
    new playerxp[32], playerlevel[32]
 
    parse(vaultdata, playerxp, 31, playerlevel, 31)
 
    PlayerXP[id] = str_to_num(playerxp)
    PlayerLevel[id] = str_to_num(playerlevel)
 
    return PLUGIN_CONTINUE
}





Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych