What is wrong? My plugin, i'm learing
I have problem with this. It's not completed i know but why 2 classes (zlonierz and kamikadze) have no special abilities? Can someone explain that?
PHP Code:
#include <amxmodx> #include <amxmisc> #include <nvault> #include <fun> #define MAXCLASSES 6
enum { PLAYERLEVEL_1, PLAYERLEVEL_2, PLAYERLEVEL_3, // How many Levels PLAYERLEVEL_4, PLAYERLEVEL_5, PLAYERLEVEL_6, PLAYERLEVEL_7, PLAYERLEVEL_8, PLAYERLEVEL_9, PLAYERLEVEL_10 } enum { CLASS_BRAK = 0, CLASS_ZOLNIERZ, CLASS_KAMIKADZE, // Add your Classes there.. CLASS_MEDYK, CLASS_SNAJPER, CLASS_KOMANDOS }
new const CLASSES[MAXCLASSES][] = { "Brak", "Zolnierz", "Kamikadze", "Medyk", "Snajper", "Komandos" } new const LEVELS[10] = { 25, 50, 75, 100, 125, 150, 175, 200, 250, 350 } new PlayerXP[33],PlayerLevel[33],PlayerClass[33] new XP_Kill,XP_Knife,XP_Hs,SaveXP,g_vault public plugin_init() { register_plugin("WarMod", "1.0", "lisek") register_event("DeathMsg", "eDeath", "a"); register_logevent("logevent_round_start", 2, "1=Round_Start") 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("warmod") register_clcmd("say /klasa", "ChangeClass") register_clcmd("say_team /klasa", "ChangeClass") register_clcmd("say /xp", "ShowHud") register_clcmd("say_team /xp", "ShowHud") } public eDeath( ) { new attacker = read_data( 1 ) new headshot = read_data( 3 ) 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, "*WarMod* Awansujesz! Masz level %i %s!", PlayerLevel[attacker],CLASSES[PlayerClass[attacker]]) PlayerLevel[attacker] += 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^nKlasa: %s",PlayerLevel[id],PlayerXP[id],CLASSES[PlayerClass[id]]) } public ChangeClass(id) { new menu = menu_create("Class Menu" , "Class_Handle"); menu_additem(menu ,"Zolnierz", "1" , 0); menu_additem(menu ,"Kamikaze", "2" , 0); menu_additem(menu ,"Medyk", "3" , 0); menu_additem(menu ,"Snajper", "4" , 0); menu_additem(menu ,"Rambo", "5" , 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[7] , szName[64]; new access , callback; menu_item_getinfo(menu , item , access , szCommand , 6 , szName , 63 , callback); new i = str_to_num(szCommand) if(PlayerClass[id] != i) { PlayerClass[id] = i client_print(id,print_chat,"Twoja klasa to %s", CLASSES[i]) } else { client_print(id,print_chat,"Aktualnie posiadasz klase %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 } public client_putinserver(id) set_task(6.0, "ChangeClass", id)
//wlasciwosci poszczegolnych klas //Zolnierz
public logevent_round_start(id) {
if (PlayerClass[id] == CLASS_ZOLNIERZ || PlayerLevel[id] == 1) { give_item(id,"weapon_deagle"); give_item(id,"ammo_50ae"); give_item(id,"ammo_50ae"); give_item(id,"ammo_50ae"); give_item(id,"ammo_50ae"); }
if (PlayerClass[id] == CLASS_ZOLNIERZ || PlayerLevel[id] == 2) { give_item(id,"weapon_deagle"); give_item(id,"ammo_50ae"); give_item(id,"ammo_50ae"); give_item(id,"ammo_50ae"); give_item(id,"ammo_50ae"); give_item(id,"weapon_shield"); }
if (PlayerClass[id] == CLASS_ZOLNIERZ || PlayerLevel[id] == 3) { give_item(id,"weapon_deagle"); give_item(id,"ammo_50ae"); give_item(id,"ammo_50ae"); give_item(id,"ammo_50ae"); give_item(id,"ammo_50ae"); give_item(id,"weapon_shield"); give_item(id,"weapon_mp5navy"); give_item(id,"ammo_9mm"); give_item(id,"ammo_9mm"); give_item(id,"ammo_9mm"); give_item(id,"ammo_9mm"); }
if (PlayerClass[id] == CLASS_ZOLNIERZ || PlayerLevel[id] == 4) { give_item(id,"weapon_deagle"); give_item(id,"ammo_50ae"); give_item(id,"ammo_50ae"); give_item(id,"ammo_50ae"); give_item(id,"ammo_50ae"); give_item(id,"weapon_shield"); give_item(id,"weapon_galil"); give_item(id,"ammo_556nato"); give_item(id,"ammo_556nato"); give_item(id,"ammo_556nato"); give_item(id,"ammo_556nato"); }
if (PlayerClass[id] == CLASS_ZOLNIERZ || PlayerLevel[id] == 5) { give_item(id,"weapon_deagle"); give_item(id,"ammo_50ae"); give_item(id,"ammo_50ae"); give_item(id,"ammo_50ae"); give_item(id,"ammo_50ae"); give_item(id,"weapon_shield"); give_item(id,"weapon_famas"); give_item(id,"ammo_556nato"); give_item(id,"ammo_556nato"); give_item(id,"ammo_556nato"); give_item(id,"ammo_556nato"); }
if (PlayerClass[id] == CLASS_ZOLNIERZ || PlayerLevel[id] == 6) { give_item(id,"weapon_deagle"); give_item(id,"ammo_50ae"); give_item(id,"ammo_50ae"); give_item(id,"ammo_50ae"); give_item(id,"ammo_50ae"); give_item(id,"weapon_shield"); give_item(id,"weapon_sg550"); give_item(id,"ammo_556nato"); give_item(id,"ammo_556nato"); give_item(id,"ammo_556nato"); give_item(id,"ammo_556nato"); }
if (PlayerClass[id] == CLASS_ZOLNIERZ || PlayerLevel[id] == 7) { give_item(id,"weapon_deagle"); give_item(id,"ammo_50ae"); give_item(id,"ammo_50ae"); give_item(id,"ammo_50ae"); give_item(id,"ammo_50ae"); give_item(id,"weapon_shield"); give_item(id,"weapon_sg552"); give_item(id,"ammo_556nato"); give_item(id,"ammo_556nato"); give_item(id,"ammo_556nato"); give_item(id,"ammo_556nato"); }
if (PlayerClass[id] == CLASS_ZOLNIERZ || PlayerLevel[id] == 8) { give_item(id,"weapon_deagle"); give_item(id,"ammo_50ae"); give_item(id,"ammo_50ae"); give_item(id,"ammo_50ae"); give_item(id,"ammo_50ae"); give_item(id,"weapon_shield"); give_item(id,"weapon_ak47"); give_item(id,"ammo_762nato"); give_item(id,"ammo_762nato"); give_item(id,"ammo_762nato"); give_item(id,"ammo_762nato"); }
if (PlayerClass[id] == CLASS_ZOLNIERZ || PlayerLevel[id] == 9) { give_item(id,"weapon_deagle"); give_item(id,"ammo_50ae"); give_item(id,"ammo_50ae"); give_item(id,"ammo_50ae"); give_item(id,"ammo_50ae"); give_item(id,"weapon_shield"); give_item(id,"weapon_m4a1"); give_item(id,"ammo_556nato"); give_item(id,"ammo_556nato"); give_item(id,"ammo_556nato"); give_item(id,"ammo_556nato"); }
if (PlayerClass[id] == CLASS_ZOLNIERZ || PlayerLevel[id] == 10) { give_item(id,"weapon_deagle"); give_item(id,"ammo_50ae"); give_item(id,"ammo_50ae"); give_item(id,"ammo_50ae"); give_item(id,"ammo_50ae"); give_item(id,"weapon_shield"); give_item(id,"weapon_m4a1"); give_item(id,"ammo_556nato"); give_item(id,"ammo_556nato"); give_item(id,"ammo_556nato"); give_item(id,"ammo_556nato"); give_item(id,"weapon_ak47"); give_item(id,"ammo_762nato"); give_item(id,"ammo_762nato"); give_item(id,"ammo_762nato"); give_item(id,"ammo_762nato"); give_item(id,"weapon_flashbang"); give_item(id,"weapon_flashbang"); give_item(id,"weapon_smokegrenade"); give_item(id,"weapon_hegrenade") }
//Kamikadze
if (PlayerClass[id] == CLASS_KAMIKADZE) { set_user_maxspeed(id,1000.0); engclient_cmd(id,"weapon_knife") }
if (PlayerClass[id] == CLASS_KAMIKADZE || PlayerLevel[id] == 1) { set_user_armor(id,25); set_user_health(id,25) }
if (PlayerClass[id] == CLASS_KAMIKADZE || PlayerLevel[id] == 2) { set_user_armor(id,50); set_user_health(id,50) }
if (PlayerClass[id] == CLASS_KAMIKADZE || PlayerLevel[id] == 3) { set_user_armor(id,75); set_user_health(id,75) }
if (PlayerClass[id] == CLASS_KAMIKADZE || PlayerLevel[id] == 4) { set_user_armor(id,100); set_user_health(id,100) }
if (PlayerClass[id] == CLASS_KAMIKADZE || PlayerLevel[id] == 5) { set_user_armor(id,125); set_user_health(id,125) }
if (PlayerClass[id] == CLASS_KAMIKADZE || PlayerLevel[id] == 6) { set_user_armor(id,150); set_user_health(id,150) }
if (PlayerClass[id] == CLASS_KAMIKADZE || PlayerLevel[id] == 7) { set_user_armor(id,175); set_user_health(id,175) }
if (PlayerClass[id] == CLASS_KAMIKADZE || PlayerLevel[id] == 8) { set_user_armor(id,200); set_user_health(id,200) }
if (PlayerClass[id] == CLASS_KAMIKADZE || PlayerLevel[id] == 9) { set_user_armor(id,250); set_user_health(id,250) }
if (PlayerClass[id] == CLASS_KAMIKADZE || PlayerLevel[id] == 10) { set_user_armor(id,400); set_user_health(id,400) }
}
|