Offline |
 |
 |
Csatlakozott:2014.04.10. 15:32 Hozzászólások:776 Megköszönt másnak: 122 alkalommal Megköszönték neki: 60 alkalommal
|
Hello. Olyan kérdésem lenne ,hogy hogyan tudok adni a különböző "faj"-oknak ,képességet,fegyvert adni?? mint cod módban. Pl: Egyes: Fegyver: Deagle,USP Képesség:Félig láthatatlan Kettes: Fegyver: AWP,SCOUT Képesség: Mind2 fegyverrel egyből megöli az ellenfelet Hármas: Fegyver:M3 Képesség:Gyorsan fut Négyes: Fegyver:Ak47,M4A1 Képesség:Kicsi gravitáció,gyors futás, Illetve ,mint cod módban legyen tárgya amit öléssel szerezz. PL tárgyneve: Erős sebzés -Amit tud vele: +25 sebzés #include <amxmodx> #include <amxmisc> #include <nvault> #define MAXCLASSES 5 new PlayerXP[33],PlayerLevel[33],PlayerClass[33] new XP_Kill,XP_Knife,XP_Hs,SaveXP new g_vault new const CLASSES[MAXCLASSES][] = { "Nincs", "Egyes", "Kettes", "Harmas", "Negyes" } new const LEVELS[7] = { 0, 100, 200, 400, 800, 1600, 3200 } public plugin_init() { register_plugin("MoD", "1.0", "Te") 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("mod") register_clcmd("say /faj", "ChangeClass") register_clcmd("say_team /faj", "ChangeClass") register_clcmd("say /xp", "ShowHud") register_clcmd("say_team /xp", "ShowHud") } public eDeath() { new attacker = read_data( 1 ) new iVictim = read_data( 2 ) new headshot = read_data( 3 ) if(PlayerClass[attacker] == 0) return PLUGIN_CONTINUE new clip, ammo, weapon = get_user_weapon(attacker,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, "[sajt] Grat! Te egy %i szintu %s vagy!", PlayerLevel[attacker],CLASSES[PlayerClass[attacker]]) PlayerLevel[attacker] += 1 } ShowHud(attacker) } public ShowHud(id) { set_hudmessage(255, 0, 0, 0.75, 0.01, 0, 6.0, 15.0) show_hudmessage(id, "Szinted: %i^nXP-d: %i^nFajod: %s ^nTargyad:",PlayerLevel[id],PlayerXP[id],CLASSES[PlayerClass[id]]) } public ChangeClass(id) { new menu = menu_create("Faj Menu" , "Class_Handle"); menu_additem(menu ,"Egyes", "1" , 0); menu_additem(menu ,"Kettes", "2" , 0); menu_additem(menu ,"Harmas", "3" , 0); menu_additem(menu ,"Negyes", "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,"A te uj fajod: %s",CLASSES[i]) } else { client_print(id,print_chat,"Eddig is egy %s voltal",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) } } public SaveData(id) { new name[32] get_user_name(id, name, 31) new vaultkey[64],vaultdata[256] format(vaultkey,63,"%sAMOD", name) format(vaultdata,255,"%i#%i#",PlayerXP[id],PlayerLevel[id]) nvault_set(g_vault,vaultkey,vaultdata) return PLUGIN_CONTINUE } public LoadData(id) { new name[32] get_user_name(id, name, 31) new vaultkey[64],vaultdata[256] format(vaultkey,63,"%sMOD", name) 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 }
_________________ 
|
|