- | Afiseaza codul
// Multumiri // /////// Askhanar & Aragon // ///////// Ii multumesc foarte mult lui askhanar pentru ca ma ajutat la gravitatie ! /* Includes */ #include <amxmodx> #include <hamsandwich> #include <colorchat> #include <cstrike> #include <nvault> #include <fun> /* Register Plugin */ #define PLUGIN_NAME "Upgrades Menu" #define PLUGIN_VERS "0.0.9" #define PLUGIN_AUTH "GhosT ***" /* Define */ #define MAX_HP_LEVELS 10 #define MAX_AP_LEVELS 10 #define MAX_SPEED_LEVELS 8 #define MAX_GRAVITY_LEVELS 8 #define MAX_ATTACK_LEVELS 6 #define MAX_DEFENCE_LEVELS 6 /* Tags */ #define szMenuTag "Nume.Nume.RO" #define szTag "[Nume.Nume.Ro]" /* Systems */ //#define ASKHANAR_SYSTEM //#define ARAGON_SYSTEM #define MONEY_SYSTEM /* Price */ new const Hp_Prices[MAX_HP_LEVELS + 1] = { 0, // Lasa-ti asa 5, 35, 65, 120, 250, 600, 1000, 1500, 1995, 3000 }; new const Ap_Prices[MAX_AP_LEVELS + 1] = { 0, // Lasa-ti asa 5, 25, 55, 100, 200, 350, 500, 725, 1000, 1500 }; new const Speed_Prices[MAX_SPEED_LEVELS + 1] = { 0, // Lasa-ti asa 25, 100, 250, 500, 900, 1300, 1950, 2400 }; new const Gravity_Prices[MAX_GRAVITY_LEVELS + 1] = { 0, // Lasa-ti asa 15, 80, 200, 450, 800, 1100, 1500, 2000 }; new const Attack_Prices[MAX_ATTACK_LEVELS + 1] = { 0, // Lasa-ti asa 50, 250, 600, 1100, 1600, 2100 }; new const Defence_Prices[MAX_DEFENCE_LEVELS + 1] = { 0, // Lasa-ti asa 100, 400, 750, 1050, 1500, 1975 } /* Variables */ new bool:HaveSpeed[33]; new bool:HaveGravity[33]; new bool:HaveAttack[33]; new bool:HaveDefence[33]; new Hp_Level[33]; new Ap_Level[33]; new Speed_Level[33]; new Gravity_Level[33]; new Attack_Level[33]; new Defence_Level[33]; new HealthVault; new ArmorVault; new SpeedVault; new GravityVault; new AttackVault; new DefenceVault; /* Natives */ #if defined ASKHANAR_SYSTEM native fcs_set_user_credits(index, Amonut); native fcs_get_user_credits(index); #endif #if defined ARAGON_SYSTEM native set_user_credits(index, Amonut); native get_user_credits(index); #endif public plugin_init( ) { register_plugin(PLUGIN_NAME, PLUGIN_VERS, PLUGIN_AUTH); register_clcmd("upgrade", "UpgradeClCmd"); register_clcmd("upgrades", "UpgradeClCmd"); register_clcmd("say /upgrade", "UpgradeClCmd"); register_clcmd("say /upgrades", "UpgradeClCmd"); register_clcmd("say upgrade", "UpgradeClCmd"); register_clcmd("say upgrades", "UpgradeClCmd"); register_clcmd("say_team /upgrade", "UpgradeClCmd"); register_clcmd("say_team /upgrades", "UpgradeClCmd"); register_clcmd("say_team upgrade", "UpgradeClCmd"); register_clcmd("say_team upgrades", "UpgradeClCmd"); RegisterHam(Ham_Spawn, "player", "SpawnCallBack", true); RegisterHam(Ham_TakeDamage, "player", "TakeDamageCallBack", false); register_event("CurWeapon", "Ev_CurrentWeapon", "be", "1=1"); HealthVault = nvault_open("UpHealthVault"); ArmorVault = nvault_open("UpArmorVault"); SpeedVault = nvault_open("UpSpeedVault"); GravityVault = nvault_open("UpGravityVault"); AttackVault = nvault_open("UpAttackVault"); DefenceVault = nvault_open("UpDefenceVault"); register_cvar("upgrades_version", PLUGIN_VERS, FCVAR_SERVER); register_cvar("upgrades_author", PLUGIN_AUTH, FCVAR_SERVER); } public UpgradeClCmd(id) { new Title[168]; new HealthUP[168], ArmorUP[168], SpeedUP[168]; new GravityUP[168], AttackUP[168], DefenceUP[168]; #if defined ASKHANAR_SYSTEM formatex(Title, sizeof(Title), "\d[\r%s\d] \yUpgrades \rMenu^n\yCredits: %s%d", szMenuTag, fcs_get_user_credits(id) == 0 ? "\d" : "\r", fcs_get_user_credits(id)); #endif #if defined ARAGON_SYSTEM formatex(Title, sizeof(Title), "\d[\r%s\d] \yUpgrades \rMenu^n\yCredits: %s%d", szMenuTag, get_user_credits(id) == 0 ? "\d" : "\r", get_user_credits(id)); #endif #if defined MONEY_SYSTEM formatex(Title, sizeof(Title), "\d[\r%s\d] \yUpgrades \rMenu^n\yMoney: \w$%s%d", szMenuTag, cs_get_user_money(id) == 0 ? "\d" : "\r", cs_get_user_money(id)); #endif #if (defined ASKHANAR_SYSTEM) || (defined ARAGON_SYSTEM) formatex(HealthUP, sizeof(HealthUP), "\yHealth Upgrade \d[\r%d \yCredits\d]\y - \d[\r%d\y / \r%d\d]", Hp_Prices[Hp_Level[id]], Hp_Level[id], MAX_HP_LEVELS); formatex(ArmorUP, sizeof(ArmorUP), "\yArmor Upgrade \d[\r%d \yCredits\d]\y - \d[\r%d\y / \r%d\d]", Ap_Prices[Ap_Level[id]], Ap_Level[id], MAX_AP_LEVELS); formatex(SpeedUP, sizeof(SpeedUP), "\ySpeed Upgrade \d[\r%d \yCredits\d]\y - \d[\r%d\y / \r%d\d]", Speed_Prices[Speed_Level[id]], Speed_Level[id], MAX_SPEED_LEVELS); formatex(GravityUP, sizeof(GravityUP), "\yGravity Upgrade \d[\r%d \yCredits\d]\y - \d[\r%d\y / \r%d\d]", Gravity_Prices[Gravity_Level[id]], Gravity_Level[id], MAX_GRAVITY_LEVELS); formatex(AttackUP, sizeof(AttackUP), "\yAttack Upgrade \d[\r%d \yCredits\d]\y - \d[\r%d\y / \r%d\d]", Attack_Prices[Attack_Level[id]], Attack_Level[id], MAX_ATTACK_LEVELS); formatex(DefenceUP, sizeof(DefenceUP), "\yDefence Upgrade \d[\r%d \yCredits\d]\y - \d[\r%d\y / \r%d\d]", Defence_Prices[Defence_Level[id]], Defence_Level[id], MAX_DEFENCE_LEVELS); #endif #if defined MONEY_SYSTEM formatex(HealthUP, sizeof(HealthUP), "\yHealth Upgrade \d[\r%d \y$\d]\y - \d[\r%d\y / \r%d\d]", Hp_Prices[Hp_Level[id]], Hp_Level[id], MAX_HP_LEVELS); formatex(ArmorUP, sizeof(ArmorUP), "\yArmor Upgrade \d[\r%d \y$\d]\y - \d[\r%d\y / \r%d\d]", Ap_Prices[Ap_Level[id]], Ap_Level[id], MAX_AP_LEVELS); formatex(SpeedUP, sizeof(SpeedUP), "\ySpeed Upgrade \d[\r%d \y$\d]\y - \d[\r%d\y / \r%d\d]", Speed_Prices[Speed_Level[id]], Speed_Level[id], MAX_SPEED_LEVELS); formatex(GravityUP, sizeof(GravityUP), "\yGravity Upgrade \d[\r%d \y$\d]\y - \d[\r%d\y / \r%d\d]", Gravity_Prices[Gravity_Level[id]], Gravity_Level[id], MAX_GRAVITY_LEVELS); formatex(AttackUP, sizeof(AttackUP), "\yAttack Upgrade \d[\r%d \y$\d]\y - \d[\r%d\y / \r%d\d]", Attack_Prices[Attack_Level[id]], Attack_Level[id], MAX_ATTACK_LEVELS); formatex(DefenceUP, sizeof(DefenceUP), "\yDefence Upgrade \d[\r%d \y$\d]\y - \d[\r%d\y / \r%d\d]", Defence_Prices[Defence_Level[id]], Defence_Level[id], MAX_DEFENCE_LEVELS); #endif new UpgradesMenu = menu_create(Title, "UpgradesHandler"); menu_additem(UpgradesMenu, Hp_Level[id] != MAX_HP_LEVELS ? HealthUP : "\yHealth Upgrade \d[\rLevel Maxim\d]", "1", 0, -1); menu_additem(UpgradesMenu, Ap_Level[id] != MAX_AP_LEVELS ? ArmorUP : "\yArmor Upgrade \d[\rLevel Maxim\d]", "2", 0, -1); menu_additem(UpgradesMenu, Speed_Level[id] != MAX_SPEED_LEVELS ? SpeedUP : "\ySpeed Upgrade \d[\rLevel Maxim\d]", "3", 0, -1); menu_additem(UpgradesMenu, Gravity_Level[id] != MAX_GRAVITY_LEVELS ? GravityUP : "\yGravity Upgrade \d[\rLevel Maxim\d]", "4", 0, -1); menu_additem(UpgradesMenu, Attack_Level[id] != MAX_ATTACK_LEVELS ? AttackUP : "\yAttack Upgrade \d[\rLevel Maxim\d]", "5", 0, -1); menu_additem(UpgradesMenu, Defence_Level[id] != MAX_DEFENCE_LEVELS ? DefenceUP : "\yDefence Upgrade \d[\rLevel Maxim\d]", "6", 0, -1); menu_setprop(UpgradesMenu, MPROP_EXITNAME, "\yIesire"); menu_display(id, UpgradesMenu, 0); return PLUGIN_HANDLED; } public UpgradesHandler(id, UpgradesMenu, item) { if(item == MENU_EXIT) return PLUGIN_HANDLED; new data[6], szName[64]; new access, callback, key; menu_item_getinfo(UpgradesMenu, item, access, data, sizeof(data), szName, sizeof(szName), callback); key = str_to_num(data); switch(key) { case 1: { if(Hp_Level[id] < MAX_HP_LEVELS) { #if defined ASKHANAR_SYSTEM if(fcs_get_user_credits(id) >= Hp_Prices[Hp_Level[id]]) #endif #if defined ARAGON_SYSTEM if(get_user_credits(id) >= Hp_Prices[Hp_Level[id]]) #endif #if defined MONEY_SYSTEM if(cs_get_user_money(id) >= Hp_Prices[Hp_Level[id]]) #endif { #if defined ASKHANAR_SYSTEM fcs_set_user_credits(id, fcs_get_user_credits(id) - Hp_Prices[Hp_Level[id]]); #endif #if defined ARAGON_SYSTEM set_user_credits(id, get_user_credits(id) - Hp_Prices[Hp_Level[id]]); #endif #if defined MONEY_SYSTEM cs_set_user_money(id, cs_get_user_money(id) - Hp_Prices[Hp_Level[id]]); #endif Hp_Level[id] ++; ColorChat(id, RED, "^x04%s^x01 Ai facut upgrade la^x03 Health^x04 [New Current Upgrade Level:^x03 %d^x04]^x01 !", szTag, Hp_Level[id]); ColorChat(id, RED, "^x04%s^x01 La urmatorul spawn vei primi^x04 +10^x03 HP^x01 fata de cel normal !", szTag); #if defined ASKHANAR_SYSTEM if(fcs_get_user_credits(id) >= Hp_Prices[Hp_Level[id]]) // Verificam daca are credite pentru noul upgrade UpgradeClCmd(id); // Ii afisam din nou meniul #endif #if defined ARAGON_SYSTEM if(get_user_credits(id) >= Hp_Prices[Hp_Level[id]]) // Verificam daca are credite pentru noul upgrade UpgradeClCmd(id); // Ii afisam din nou meniul #endif #if defined MONEY_SYSTEM if(cs_get_user_money(id) >= Hp_Prices[Hp_Level[id]]) // Verificam daca are credite pentru noul upgrade UpgradeClCmd(id); // Ii afisam din nou meniul #endif } else { #if (defined ASKHANAR_SYSTEM) || (defined ARAGON_SYSTEM) ColorChat(id, RED, "^x04%s^x01 Ai nevoie de^x03 %d credite^x01 pentru a face^x04 upgrade^x01 !", szTag, Hp_Prices[Hp_Level[id]]); #endif #if defined MONEY_SYSTEM ColorChat(id, RED, "^x04%s^x01 Ai nevoie de^x03 $%d^x01 pentru a face^x04 upgrade^x01 !", szTag, Hp_Prices[Hp_Level[id]]); #endif return PLUGIN_HANDLED; } } else if(Hp_Level[id] == MAX_HP_LEVELS) { ColorChat(id, RED, "^x04%s^x01 Ai ajuns la^x03 levelul maxim^x01 la acest^x04 upgrade^x01 !", szTag); UpgradeClCmd(id); // Ii afisam din nou meniul return PLUGIN_HANDLED; } } case 2: { if(Ap_Level[id] < MAX_AP_LEVELS) { #if defined ASKHANAR_SYSTEM if(fcs_get_user_credits(id) >= Ap_Prices[Ap_Level[id]]) #endif #if defined ARAGON_SYSTEM if(get_user_credits(id) >= Ap_Prices[Ap_Level[id]]) #endif #if defined MONEY_SYSTEM if(cs_get_user_money(id) >= Ap_Prices[Ap_Level[id]]) #endif { #if defined ASKHANAR_SYSTEM fcs_set_user_credits(id, fcs_get_user_credits(id) - Ap_Prices[Ap_Level[id]]); #endif #if defined ARAGON_SYSTEM set_user_credits(id, get_user_credits(id) - Ap_Prices[Ap_Level[id]]); #endif #if defined MONEY_SYSTEM cs_set_user_money(id, cs_get_user_money(id) - Ap_Prices[Ap_Level[id]]); #endif Ap_Level[id] ++; ColorChat(id, RED, "^x04%s^x01 Ai facut upgrade la^x03 Armor^x04 [New Current Upgrade Level:^x03 %d^x04]^x01 !", szTag, Ap_Level[id]); ColorChat(id, RED, "^x04%s^x01 La urmatorul spawn vei primi^x04 +10^x03 AP^x01 fata de cel normal !", szTag); #if defined ASKHANAR_SYSTEM if(fcs_get_user_credits(id) >= Ap_Prices[Ap_Level[id]]) // Verificam daca are credite pentru noul upgrade UpgradeClCmd(id); // Ii afisam din nou meniul #endif #if defined ARAGON_SYSTEM if(get_user_credits(id) >= Ap_Prices[Ap_Level[id]]) // Verificam daca are credite pentru noul upgrade UpgradeClCmd(id); // Ii afisam din nou meniul #endif #if defined MONEY_SYSTEM if(cs_get_user_money(id) >= Ap_Prices[Ap_Level[id]]) // Verificam daca are credite pentru noul upgrade UpgradeClCmd(id); // Ii afisam din nou meniul #endif } else { #if (defined ASKHANAR_SYSTEM) || (defined ARAGON_SYSTEM) ColorChat(id, RED, "^x04%s^x01 Ai nevoie de^x03 %d credite^x01 pentru a face^x04 upgrade^x01 !", szTag, Hp_Prices[Hp_Level[id]]); #endif #if defined MONEY_SYSTEM ColorChat(id, RED, "^x04%s^x01 Ai nevoie de^x03 $%d^x01 pentru a face^x04 upgrade^x01 !", szTag, Hp_Prices[Hp_Level[id]]); #endif return PLUGIN_HANDLED; } } else if(Ap_Level[id] == MAX_AP_LEVELS) { ColorChat(id, RED, "^x04%s^x01 Ai ajuns la^x03 levelul maxim^x01 la acest^x04 upgrade^x01 !", szTag); UpgradeClCmd(id); // Ii afisam din nou meniul return PLUGIN_HANDLED; } } case 3: { if(Speed_Level[id] < MAX_SPEED_LEVELS) { #if defined ASKHANAR_SYSTEM if(fcs_get_user_credits(id) >= Speed_Prices[Speed_Level[id]]) #endif #if defined ARAGON_SYSTEM if(get_user_credits(id) >= Speed_Prices[Speed_Level[id]]) #endif #if defined MONEY_SYSTEM if(cs_get_user_money(id) >= Speed_Prices[Speed_Level[id]]) #endif { #if defined ASKHANAR_SYSTEM fcs_set_user_credits(id, fcs_get_user_credits(id) - Speed_Prices[Speed_Level[id]]); #endif #if defined ARAGON_SYSTEM set_user_credits(id, get_user_credits(id) - Speed_Prices[Speed_Level[id]]); #endif #if defined MONEY_SYSTEM cs_set_user_money(id, cs_get_user_money(id) - Speed_Prices[Speed_Level[id]]); #endif Speed_Level[id] ++; if(HaveSpeed[id] == false) HaveSpeed[id] = true; ColorChat(id, RED, "^x04%s^x01 Ai facut upgrade la^x03 Speed^x04 [New Current Upgrade Level:^x03 %d^x04]^x01 !", szTag, Speed_Level[id]); ColorChat(id, RED, "^x04%s^x01 La urmatorul spawn vei primi^x04 +5^x03 Speed^x01 fata de cel normal !", szTag); #if defined ASKHANAR_SYSTEM if(fcs_get_user_credits(id) >= Speed_Prices[Speed_Level[id]]) // Verificam daca are credite pentru noul upgrade UpgradeClCmd(id); // Ii afisam din nou meniul #endif #if defined ARAGON_SYSTEM if(get_user_credits(id) >= Speed_Prices[Speed_Level[id]]) // Verificam daca are credite pentru noul upgrade UpgradeClCmd(id); // Ii afisam din nou meniul #endif #if defined MONEY_SYSTEM if(cs_get_user_money(id) >= Speed_Prices[Speed_Level[id]]) // Verificam daca are credite pentru noul upgrade UpgradeClCmd(id); // Ii afisam din nou meniul #endif } else { #if (defined ASKHANAR_SYSTEM) || (defined ARAGON_SYSTEM) ColorChat(id, RED, "^x04%s^x01 Ai nevoie de^x03 %d credite^x01 pentru a face^x04 upgrade^x01 !", szTag, Speed_Prices[Speed_Level[id]]); #endif #if defined MONEY_SYSTEM ColorChat(id, RED, "^x04%s^x01 Ai nevoie de^x03 $%d^x01 pentru a face^x04 upgrade^x01 !", szTag, Speed_Prices[Speed_Level[id]]); #endif return PLUGIN_HANDLED; } } else if(Speed_Level[id] == MAX_SPEED_LEVELS) { ColorChat(id, RED, "^x04%s^x01 Ai ajuns la^x03 levelul maxim^x01 la acest^x04 upgrade^x01 !", szTag); UpgradeClCmd(id); // Ii afisam din nou meniul return PLUGIN_HANDLED; } } case 4: { if(Gravity_Level[id] < MAX_GRAVITY_LEVELS) { #if defined ASKHANAR_SYSTEM if(fcs_get_user_credits(id) >= Gravity_Prices[Gravity_Level[id]]) #endif #if defined ARAGON_SYSTEM if(get_user_credits(id) >= Gravity_Prices[Gravity_Level[id]]) #endif #if defined MONEY_SYSTEM if(cs_get_user_money(id) >= Gravity_Prices[Gravity_Level[id]]) #endif { #if defined ASKHANAR_SYSTEM fcs_set_user_credits(id, fcs_get_user_credits(id) - Gravity_Prices[Gravity_Level[id]]); #endif #if defined ARAGON_SYSTEM set_user_credits(id, get_user_credits(id) - Gravity_Prices[Gravity_Level[id]]); #endif #if defined MONEY_SYSTEM cs_set_user_money(id, cs_get_user_money(id) - Gravity_Prices[Gravity_Level[id]]); #endif Gravity_Level[id] ++; if(HaveGravity[id] == false) HaveGravity[id] = true; ColorChat(id, RED, "^x04%s^x01 Ai facut upgrade la^x03 Gravity^x04 [New Current Upgrade Level:^x03 %d^x04]^x01 !", szTag, Gravity_Level[id]); ColorChat(id, RED, "^x04%s^x01 La urmatorul spawn vei primi^x04 -5^x03 Gravity^x01 fata de cel normal !", szTag); #if defined ASKHANAR_SYSTEM if(fcs_get_user_credits(id) >= Gravity_Prices[Gravity_Level[id]]) // Verificam daca are credite pentru noul upgrade UpgradeClCmd(id); // Ii afisam din nou meniul #endif #if defined ARAGON_SYSTEM if(get_user_credits(id) >= Gravity_Prices[Gravity_Level[id]]) // Verificam daca are credite pentru noul upgrade UpgradeClCmd(id); // Ii afisam din nou meniul #endif #if defined MONEY_SYSTEM if(cs_get_user_money(id) >= Gravity_Prices[Gravity_Level[id]]) // Verificam daca are credite pentru noul upgrade UpgradeClCmd(id); // Ii afisam din nou meniul #endif } else { #if (defined ASKHANAR_SYSTEM) || (defined ARAGON_SYSTEM) ColorChat(id, RED, "^x04%s^x01 Ai nevoie de^x03 %d credite^x01 pentru a face^x04 upgrade^x01 !", szTag, Gravity_Prices[Gravity_Level[id]]); #endif #if defined MONEY_SYSTEM ColorChat(id, RED, "^x04%s^x01 Ai nevoie de^x03 $%d^x01 pentru a face^x04 upgrade^x01 !", szTag, Gravity_Prices[Gravity_Level[id]]); #endif return PLUGIN_HANDLED; } } else if(Gravity_Level[id] == MAX_GRAVITY_LEVELS) { ColorChat(id, RED, "^x04%s^x01 Ai ajuns la^x03 levelul maxim^x01 la acest^x04 upgrade^x01 !", szTag); UpgradeClCmd(id); // Ii afisam din nou meniul return PLUGIN_HANDLED; } } case 5: { if(Attack_Level[id] < MAX_ATTACK_LEVELS) { #if defined ASKHANAR_SYSTEM if(fcs_get_user_credits(id) >= Attack_Prices[Attack_Level[id]]) #endif #if defined ARAGON_SYSTEM if(get_user_credits(id) >= Attack_Prices[Attack_Level[id]]) #endif #if defined MONEY_SYSTEM if(cs_get_user_money(id) >= Attack_Prices[Attack_Level[id]]) #endif { #if defined ASKHANAR_SYSTEM fcs_set_user_credits(id, fcs_get_user_credits(id) - Attack_Prices[Attack_Level[id]]); #endif #if defined ARAGON_SYSTEM set_user_credits(id, get_user_credits(id) - Attack_Prices[Attack_Level[id]]); #endif #if defined MONEY_SYSTEM cs_set_user_money(id, cs_get_user_money(id) - Attack_Prices[Attack_Level[id]]); #endif Attack_Level[id] ++; if(HaveAttack[id] == false) HaveAttack[id] = true; ColorChat(id, RED, "^x04%s^x01 Ai facut upgrade la^x03 Attack^x04 [New Current Upgrade Level:^x03 %d^x04]^x01 !", szTag, Attack_Level[id]); ColorChat(id, RED, "^x04%s^x01 La urmatorul spawn vei primi^x04 +4^x03 Attack^x01 fata de cel normal !", szTag); #if defined ASKHANAR_SYSTEM if(fcs_get_user_credits(id) >= Attack_Prices[Attack_Level[id]]) // Verificam daca are credite pentru noul upgrade UpgradeClCmd(id); // Ii afisam din nou meniul #endif #if defined ARAGON_SYSTEM if(get_user_credits(id) >= Attack_Prices[Attack_Level[id]]) // Verificam daca are credite pentru noul upgrade UpgradeClCmd(id); // Ii afisam din nou meniul #endif #if defined MONEY_SYSTEM if(cs_get_user_money(id) >= Attack_Prices[Attack_Level[id]]) // Verificam daca are credite pentru noul upgrade UpgradeClCmd(id); // Ii afisam din nou meniul #endif } else { #if (defined ASKHANAR_SYSTEM) || (defined ARAGON_SYSTEM) ColorChat(id, RED, "^x04%s^x01 Ai nevoie de^x03 %d credite^x01 pentru a face^x04 upgrade^x01 !", szTag, Attack_Prices[Attack_Level[id]]); #endif #if defined MONEY_SYSTEM ColorChat(id, RED, "^x04%s^x01 Ai nevoie de^x03 $%d^x01 pentru a face^x04 upgrade^x01 !", szTag, Gravity_Prices[Gravity_Level[id]]); #endif return PLUGIN_HANDLED; } } else if(Attack_Level[id] == MAX_ATTACK_LEVELS) { ColorChat(id, RED, "^x04%s^x01 Ai ajuns la^x03 levelul maxim^x01 la acest^x04 upgrade^x01 !", szTag); UpgradeClCmd(id); // Ii afisam din nou meniul return PLUGIN_HANDLED; } } case 6: { if(Defence_Level[id] < MAX_DEFENCE_LEVELS) { #if defined ASKHANAR_SYSTEM if(fcs_get_user_credits(id) >= Defence_Prices[Defence_Level[id]]) #endif #if defined ARAGON_SYSTEM if(get_user_credits(id) >= Defence_Prices[Defence_Level[id]]) #endif #if defined MONEY_SYSTEM if(cs_get_user_money(id) >= Defence_Prices[Defence_Level[id]]) #endif { #if defined ASKHANAR_SYSTEM fcs_set_user_credits(id, fcs_get_user_credits(id) - Defence_Prices[Defence_Level[id]]); #endif #if defined ARAGON_SYSTEM set_user_credits(id, get_user_credits(id) - Defence_Prices[Defence_Level[id]]); #endif #if defined MONEY_SYSTEM cs_set_user_money(id, cs_get_user_money(id) - Defence_Prices[Defence_Level[id]]); #endif Defence_Level[id] ++; if(HaveDefence[id] == false) HaveDefence[id] = true; ColorChat(id, RED, "^x04%s^x01 Ai facut upgrade la^x03 Defence^x04 [New Current Upgrade Level:^x03 %d^x04]^x01 !", szTag, Defence_Level[id]); ColorChat(id, RED, "^x04%s^x01 La urmatorul spawn vei primi^x04 +4^x03 Defence^x01 fata de cel normal !", szTag); #if defined ASKHANAR_SYSTEM if(fcs_get_user_credits(id) >= Defence_Prices[Defence_Level[id]]) // Verificam daca are credite pentru noul upgrade UpgradeClCmd(id); // Ii afisam din nou meniul #endif #if defined ARAGON_SYSTEM if(get_user_credits(id) >= Defence_Prices[Defence_Level[id]]) // Verificam daca are credite pentru noul upgrade UpgradeClCmd(id); // Ii afisam din nou meniul #endif #if defined MONEY_SYSTEM if(cs_get_user_money(id) >= Defence_Prices[Defence_Level[id]]) // Verificam daca are credite pentru noul upgrade UpgradeClCmd(id); // Ii afisam din nou meniul #endif } else { #if (defined ASKHANAR_SYSTEM) || (defined ARAGON_SYSTEM) ColorChat(id, RED, "^x04%s^x01 Ai nevoie de^x03 %d credite^x01 pentru a face^x04 upgrade^x01 !", szTag, Defence_Prices[Defence_Level[id]]); #endif #if defined MONEY_SYSTEM ColorChat(id, RED, "^x04%s^x01 Ai nevoie de^x03 $%d^x01 pentru a face^x04 upgrade^x01 !", szTag, Defence_Prices[Defence_Level[id]]); #endif return PLUGIN_HANDLED; } } else if(Defence_Level[id] == MAX_DEFENCE_LEVELS) { ColorChat(id, RED, "^x04%s^x01 Ai ajuns la^x03 levelul maxim^x01 la acest^x04 upgrade^x01 !", szTag); UpgradeClCmd(id); // Ii afisam din nou meniul return PLUGIN_HANDLED; } } } menu_destroy(UpgradesMenu); return PLUGIN_HANDLED; } public SpawnCallBack(id) { set_task(1.1, "Give_Upgrades", id); return PLUGIN_HANDLED; } public Give_Upgrades(id) { if(is_user_connected(id) && is_user_alive(id)) { if(Speed_Level[id] > 0) HaveSpeed[id] = true; if(Gravity_Level[id] > 0) HaveGravity[id] = true; if(Attack_Level[id] > 0) HaveAttack[id] = true; if(Defence_Level[id] > 0) HaveDefence[id] = true; set_user_health(id, get_user_health(id) + (Hp_Level[id] * 10)); set_user_armor(id, Ap_Level[id] * 10); if(HaveGravity[id] == true) set_user_gravity(id, get_user_gravity(id) - (0.01875 * Gravity_Level[id])); if(get_user_maxspeed(id) > 1.0 && HaveSpeed[id] == true) set_user_maxspeed(id, get_user_maxspeed(id) + (Speed_Level[id] * 15.0)); ColorChat(id, RED, "^x04%s^x03 Upgrades[1]^x04 :^x01 [^x04+%d^x03 HP^x01] [^x04+%d^x03 AP^x01] [^x04+%d^x03 Speed^x01]", szTag, Hp_Level[id] * 10, Ap_Level[id] * 10, Speed_Level[id] * 15); ColorChat(id, RED, "^x04%s^x03 Upgrades[2]^x04 :^x01 [^x04-%d^x03 Gravity^x01] [^x04+%d^x03 Attack^x01] [^x04+%d^x03 Defence^x01]", szTag, Gravity_Level[id] * 15, Attack_Level[id] * 4, Defence_Level[id] * 4); set_hudmessage(53, 100, 137, 0.80, 0.20, 0, 2.0, 6.0); show_hudmessage(id, "Upgrades[1] -> [+%d HP] [+%d AP] [+%d Speed] ^nUpgrades[2] -> [-%d Gravity] [+%d Attack] [+%d Defence] ", Hp_Level[id] * 10, Ap_Level[id] * 10, Speed_Level[id] * 15, Gravity_Level[id] * 15, Attack_Level[id] * 4, Defence_Level[id] * 4); Ev_CurrentWeapon(id); } } public TakeDamageCallBack(iAttacker, iVictim, Float:fDamage, iDamageBits) { if(is_user_connected(iAttacker) && is_user_alive(iAttacker) && HaveAttack[iAttacker]) { SetHamParamFloat(3, fDamage + Attack_Level[iAttacker] * 4.0); return HAM_HANDLED; } if(is_user_connected(iVictim) && is_user_alive(iVictim) && HaveDefence[iVictim]) { SetHamParamFloat(3, fDamage - Defence_Level[iVictim] * 4.0); return HAM_HANDLED; } return HAM_IGNORED; } public Ev_CurrentWeapon(id) { if(HaveGravity[id] == true) set_user_gravity(id, 1.0 - (0.01875 * Gravity_Level[id])); if(get_user_maxspeed(id) > 1.0 && HaveSpeed[id] == true) set_user_maxspeed(id, get_user_maxspeed(id) + (Speed_Level[id] * 15.0)); return PLUGIN_CONTINUE; } public LoadUpgradeHp(id) { new szData1[256]; new iTimestamp1; if(nvault_lookup(HealthVault, get_name(id), szData1, sizeof(szData1), iTimestamp1)) { static iHealthLevel[15]; parse(szData1, iHealthLevel, sizeof(iHealthLevel) -1); Hp_Level[id] = str_to_num(iHealthLevel); return PLUGIN_CONTINUE; } return PLUGIN_CONTINUE; } public LoadUpgradeAp(id) { new szData2[256]; new iTimestamp2; if(nvault_lookup(ArmorVault, get_name(id), szData2, sizeof(szData2), iTimestamp2)) { static iArmorLevel[15]; parse(szData2, iArmorLevel, sizeof(iArmorLevel) -1); Ap_Level[id] = str_to_num(iArmorLevel); return PLUGIN_CONTINUE; } return PLUGIN_CONTINUE; } public LoadUpgradeSpeed(id) { new szData3[256]; new iTimestamp3; if(nvault_lookup(SpeedVault, get_name(id), szData3, sizeof(szData3), iTimestamp3)) { static iSpeedLevel[15]; parse(szData3, iSpeedLevel, sizeof(iSpeedLevel) -1); Speed_Level[id] = str_to_num(iSpeedLevel); return PLUGIN_CONTINUE; } return PLUGIN_CONTINUE; } public LoadUpgradeGravity(id) { new szData4[256]; new iTimestamp4; if(nvault_lookup(GravityVault, get_name(id), szData4, sizeof(szData4), iTimestamp4)) { static iGravityLevel[15]; parse(szData4, iGravityLevel, sizeof(iGravityLevel) -1); Gravity_Level[id] = str_to_num(iGravityLevel); return PLUGIN_CONTINUE; } return PLUGIN_CONTINUE; } public LoadUpgradeAttack(id) { new szData5[256]; new iTimestamp5; if(nvault_lookup(AttackVault, get_name(id), szData5, sizeof(szData5), iTimestamp5)) { static iAttackLevel[15]; parse(szData5, iAttackLevel, sizeof(iAttackLevel) -1); Attack_Level[id] = str_to_num(iAttackLevel); return PLUGIN_CONTINUE; } return PLUGIN_CONTINUE; } public LoadUpgradeDefence(id) { new szData6[256]; new iTimestamp6; if(nvault_lookup(DefenceVault, get_name(id), szData6, sizeof(szData6), iTimestamp6)) { static iDefenceLevel[15]; parse(szData6, iDefenceLevel, sizeof(iDefenceLevel) -1); Defence_Level[id] = str_to_num(iDefenceLevel); return PLUGIN_CONTINUE; } return PLUGIN_CONTINUE; } public SaveUpgrades(id) { new szData1[256], szData2[256], szData3[256], szData4[256], szData5[256], szData6[256]; formatex(szData1, sizeof(szData1) -1, "%d ", Hp_Level[id]); formatex(szData2, sizeof(szData2) -1, "%d ", Ap_Level[id]); formatex(szData3, sizeof(szData3) -1, "%d ", Speed_Level[id]); formatex(szData4, sizeof(szData4) -1, "%d ", Gravity_Level[id]); formatex(szData5, sizeof(szData5) -1, "%d ", Attack_Level[id]); formatex(szData6, sizeof(szData6) -1, "%d ", Defence_Level[id]); nvault_set(HealthVault, get_name(id), szData1); nvault_set(ArmorVault, get_name(id), szData2); nvault_set(SpeedVault, get_name(id), szData3); nvault_set(GravityVault, get_name(id), szData4); nvault_set(AttackVault, get_name(id), szData5); nvault_set(DefenceVault, get_name(id), szData6); return PLUGIN_CONTINUE; } public client_putinserver(id) { LoadUpgradeHp(id); LoadUpgradeAp(id); LoadUpgradeSpeed(id); LoadUpgradeGravity(id); LoadUpgradeAttack(id); LoadUpgradeDefence(id); while(Hp_Level[id] == 0) Hp_Level[id] = 1; while(Ap_Level[id] == 0) Ap_Level[id] = 1; while(Speed_Level[id] == 0) Speed_Level[id] = 1; while(Gravity_Level[id] == 0) Gravity_Level[id] = 1; while(Attack_Level[id] == 0) Attack_Level[id] = 1; while(Defence_Level[id] == 0) Defence_Level[id] = 1; if(Speed_Level[id] > 0) HaveSpeed[id] = true; if(Gravity_Level[id] > 0) HaveGravity[id] = true; } public client_disconnect(id) SaveUpgrades(id); // Stocks stock get_name(id) { new Name[32]; get_user_name(id, Name, 31); return Name; }
Tin sa mentionez ca acest plugin nu este potrivit pentru un server de Furien ...