w postaci umiejetnosci stalych
-np. moge kupić umiejetność za 1 kredyt a nie za 500 kredytów
bo bardzo łatwo je zdobyć!
-chce aby one były dostępne tylko na 1 klasie na której zechcemy uaktywnić kredyt! (a nie na calym nicku)
Sma:
Spoiler
#define VER "1.0.4"
//Amount of credits new players get
#define numnewcredits 4
//Time Per Credit (in seconds)
#define credittime 900
//How much the passive upgrades cost
#define armorcost 1
#define hpcost 1
#define speedcost 1
#define gravitycost 1
#define stealthcost 1
#define multijumpcost 1
//How much the passive upgrades adds
#define armorperbuy 10
#define hpperbuy 10
#define speedperbuy 20
//eg. 0.05 it will take off 5% of the users gravity
#define gravityperbuy 0.1
//eg. (stealthperbuy = 60) times (stealthmaxlvl = 3) = 180 // the value must be lower than the defaultstealth
#define defaultstealth 200
#define stealthperbuy 20
//How much the passive upgrades Max Level
#define armormaxlvl 5
#define hpmaxlvl 10
#define speedmaxlvl 5
#define gravitymaxlvl 6
#define stealthmaxlvl 7
#define multijumpmaxlvl 5
//Item Upgrades
//max items
#define maxitems 6
//max credits spent per map
#define maxcredits 15
//First Aid Regeneration
#define regenerationrate 4.5
// health regeneration points
#define hpregenp 5
// armor regeneration points
#define apregenp 8
// First Aid cost
#define regenerationcost 1
//Battle Aura cost
#define hpscost 1
//Weapon Training cost
#define weapontrainingcost 2
//Jump Module cost
#define jumpmodulecost 1
//Climb Gear cost
#define climbgearcost 1
//Promotion cost
#define promocost 1
//Unlimited Ammo cost
#define unlacost 1
//Stealth Shoe cost
#define sshoecost 1
//C4 Wired Explosives
#define BOMBKILL_RANGE 350
#define wiredc4ecost 1
//E.S.P cost
#define espcost 2
//Laser Pointer
#define lasercost 1
//Super Grenade cost
#define sgrencost 1
//Crowbar cost
#define crowbarcost 1
//Flash Protection
#define flashcost 1
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <cstrike>
#include <fun>
#include <vault>
#define BOMB_TASK 1234
new connecttime[33]
new lastplaytime[33]
new creditsspent[33]
//new Armor[33]
//new Health[33]
//new Speed[33]
//new Gravity[33]
//new Stealth[33]
//new hpstlr[33]
new regeneration[33]
new weapontraining[33]
new jumpmodule[33]
new climb[33]
new promotion[33]
new gHasuammo[33]
new sshoe[33]
//new wired[33]
//new esp[33]
new laser[33]
new sgrenade[33]
new crowbar[33]
new flash[33]
new multijump[33]
new jumpnum[33]
new itemcap[33]
new bool:dojump[33] = false
new bool:speed = true
new hudmsg[512]
public plugin_init()
{
register_plugin("Credit Mod", VER, "atambo")
register_cvar("amx_upgrades", "1")
register_menu("Menu kredytow", 1023, "MainMenuCommand")
register_menu("Menu ulepszen", 1023, "actionMenu")
register_menu("Menu przedmiotow", 1023, "EUAMenu")
register_menu("Menu przedmiotow2", 1023, "EUA2Menu")
register_clcmd("say", "handlesay")
register_clcmd("say_team", "handlesay")
register_clcmd("upgrade", "MainUpgradesMenu")
register_concmd("amx_querycredits","queryall",ADMIN_CVAR," -displays <name> <credits>")
register_concmd("amx_givecredits","givecredit",ADMIN_BAN," <name or #userid> <credits>")
register_concmd("amx_removecredits","removecredit",ADMIN_BAN," <name or #userid> <credits>")
register_event("ResetHUD","newRound","be")
register_event("StatusValue","show_status","bd","1=2")
register_event("DeathMsg", "death_event", "a")
register_event("CurWeapon","update","be","1=1")
register_event("Damage", "Event_Damage", "be", "2!0")
register_event("ScreenFade","flashcheck","be","4=255","5=255","6=255","7>199")
server_cmd("sv_maxspeed 1500")
}
public client_connected_msg(id)
{
client_print(id, print_chat, "[AMXX] Ten serwer korzysta z Credits Mod Versja Spolszczonego przez przyjaciel^^[%s]", VER)
client_print(id, print_chat, "Napisz /kredyty na czat, aby pokazać swoje kredyty / Spolszczone przez przyjaciel^^", VER)
}
public client_putinserver(id)
{
if(get_cvar_num("amx_upgrades") == 1)
set_task(20.0, "client_connected_msg", id)
}
public flashcheck(id)
{
if(flash[id] > 0)
{
message_begin(MSG_ONE,get_user_msgid("ScreenFade"),{0,0,0},id)
write_short(~0)
write_short(~0)
write_short(1<<12)
write_byte(0)
write_byte(0)
write_byte(0)
write_byte(0)
message_end()
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
public newRound(id)
{
if(get_cvar_num("amx_upgrades") == 0)
{
itemcap[id] = 0
regeneration[id] = 0
weapontraining[id] = 0
jumpmodule[id] = 0
climb[id] = 0
promotion[id] = 0
gHasuammo[id] = 0
sshoe[id] = 0
laser[id] = 0
sgrenade[id] = 0
crowbar[id] = 0
creditsspent[id] = 0
flash[id] = 0
jumpnum[id] = 0
multijump[id] = 0
set_user_footsteps(id, 0)
set_user_rendering(id,kRenderFxNone,0,0,0,kRenderNormal,0)
return PLUGIN_CONTINUE
}
else
{
if(is_user_alive(id))
{
if(promotion[id] > 0)
cs_set_user_money(id, cs_get_user_money(id) * 2, 1)
if(climb[id] > 0)
set_task(0.1, "cwall", id, "", 0, "b")
if(regeneration[id] > 0)
firstaid(id)
if(sgrenade[id] > 0)
{
sgrenade[id] = 0
itemcap[id]--
}
}
show_all_upgrades(id)
speed = false
set_task(get_cvar_float("mp_freezetime"), "allow_speed", 0)
}
return PLUGIN_CONTINUE
}
public show_status(id)
{
if(get_cvar_num("amx_upgrades") != 1)
return PLUGIN_CONTINUE
new target = read_data(2)
if(target != id && target != 0)
{
new name[32]
get_user_name(target, name,31)
get_user_name(target, name,31)
new len = format(hudmsg, 511, "%s's^nUlepszenia:^n", name)
len += format(hudmsg[len], 511-len, "*Skoki %d/%d^n", multijump[target], multijumpmaxlvl)
len += format(hudmsg[len], 511-len, "^nPrzedmiot:^n")
if(regeneration[target] > 0) len += format(hudmsg[len], 511-len, "First Aid^n")
if(weapontraining[target] > 0) len += format(hudmsg[len], 511-len, "Weapon Training^n")
if(jumpmodule[target] > 0) len += format(hudmsg[len], 511-len, "Jump Module^n")
if(climb[target] > 0) len += format(hudmsg[len], 511-len, "Climbing Gear^n")
if(promotion[target] > 0) len += format(hudmsg[len], 511-len, "Promotion^n")
if(gHasuammo[target] > 0) len += format(hudmsg[len], 511-len, "Unlimited Ammo^n")
if(sshoe[target] > 0) len += format(hudmsg[len], 511-len, "Stealth Shoes^n")
if(laser[target] > 0) len += format(hudmsg[len], 511-len, "Laser Pointer^n")
if(sgrenade[target] > 0) len += format(hudmsg[len], 511-len, "Super Grenade^n")
if(crowbar[target] > 0) len += format(hudmsg[len], 511-len, "Crowbar^n")
if(flash[target] > 0) len += format(hudmsg[len], 511-len, "Flash Protection^n")
len += format(hudmsg[len], 511-len, "^nKredyt: %i",connecttime[target]/credittime)
set_hudmessage(255, 255, 255, 0.0, 0.2, 0, 6.0, 6.0, 0.5, 0.15, 1)
show_hudmessage(id, hudmsg)
}
return PLUGIN_CONTINUE
}
public show_all_upgrades(id)
{
new len = format(hudmsg, 511, "Menu ulepszen:^n")
len += format(hudmsg[len], 511-len, "*Skoki %d/%d^n", multijump[id], multijumpmaxlvl)
len += format(hudmsg[len], 511-len, "^nPrzedmiot:^n")
if(regeneration[id] > 0) len += format(hudmsg[len], 511-len, "First Aid^n")
if(weapontraining[id] > 0) len += format(hudmsg[len], 511-len, "Weapon Training^n")
if(jumpmodule[id] > 0) len += format(hudmsg[len], 511-len, "Jump Module^n")
if(climb[id] > 0) len += format(hudmsg[len], 511-len, "Climbing Gear^n")
if(promotion[id] > 0) len += format(hudmsg[len], 511-len, "Promotion^n")
if(gHasuammo[id] > 0) len += format(hudmsg[len], 511-len, "Unlimited Ammo^n")
if(sshoe[id] > 0) len += format(hudmsg[len], 511-len, "Stealth Shoes^n")
if(laser[id] > 0) len += format(hudmsg[len], 511-len, "Laser Pointer^n")
if(sgrenade[id] > 0) len += format(hudmsg[len], 511-len, "Super Grenade^n")
if(crowbar[id] > 0) len += format(hudmsg[len], 511-len, "Crowbar^n")
if(flash[id] > 0) len += format(hudmsg[len], 511-len, "Flash Protection^n")
len += format(hudmsg[len], 511-len, "^nKredyt: %i",connecttime[id]/credittime)
set_hudmessage(255, 255, 255, 0.0, 0.1, 0, 6.0, 6.0, 0.5, 0.15, 1)
show_hudmessage(id, hudmsg)
}
public show_upgrades(id)
{
new len = format(hudmsg, 511, "Ulepszenia:^n")
len += format(hudmsg[len], 511-len, "*Skoki %d/%d", multijump[id], multijumpmaxlvl)
set_hudmessage(255, 255, 255, 0.0, 0.1, 0, 6.0, 6.0, 0.5, 0.15, 1)
show_hudmessage(id, hudmsg)
}
public show_iupgrades(id)
{
new len = format(hudmsg, 511, "Item Upgrades:^n")
if(regeneration[id] > 0) len += format(hudmsg[len], 511-len, "First Aid^n")
if(weapontraining[id] > 0) len += format(hudmsg[len], 511-len, "Weapon Training^n")
if(jumpmodule[id] > 0) len += format(hudmsg[len], 511-len, "Jump Module^n")
if(climb[id] > 0) len += format(hudmsg[len], 511-len, "Climbing Gear^n")
if(promotion[id] > 0) len += format(hudmsg[len], 511-len, "Promotion^n")
if(gHasuammo[id] > 0) len += format(hudmsg[len], 511-len, "Unlimited Ammo^n")
if(sshoe[id] > 0) len += format(hudmsg[len], 511-len, "Stealth Shoes^n")
if(laser[id] > 0) len += format(hudmsg[len], 511-len, "Laser Pointer^n")
if(sgrenade[id] > 0) len += format(hudmsg[len], 511-len, "Super Grenade^n")
if(crowbar[id] > 0) len += format(hudmsg[len], 511-len, "Crowbar^n")
if(flash[id] > 0) len += format(hudmsg[len], 511-len, "Flash Protection^n")
set_hudmessage(255, 255, 255, 0.0, 0.1, 0, 6.0, 6.0, 0.5, 0.15, 1)
show_hudmessage(id, hudmsg)
}
public allow_speed()
{
speed = true
return PLUGIN_HANDLED
}
public death_event()
{
new id = read_data(2)
new enemy = read_data(1)
remove_task(id)
if(sgrenade[enemy] > 0)
{
sgrenade[enemy] = 0
itemcap[enemy]--
}
if(task_exists(BOMB_TASK + id))
remove_task(BOMB_TASK + id)
if(promotion[enemy] > 0)
cs_set_user_money(enemy, cs_get_user_money(enemy) + 300, 1)
return PLUGIN_CONTINUE
}
public client_disconnect(id)
{
regeneration[id] = 0
weapontraining[id] = 0
jumpmodule[id] = 0
climb[id] = 0
promotion[id] = 0
gHasuammo[id] = 0
sshoe[id] = 0
laser[id] = 0
sgrenade[id] = 0
crowbar[id] = 0
itemcap[id] = 0
creditsspent[id] = 0
lastplaytime[id] = 0
flash[id] = 0
jumpnum[id] = 0
multijump[id] = 0
remove_task(id)
new authid[32]
new playtime = (get_user_time(id) - lastplaytime[id])
get_user_authid(id,authid,31)
new tmp_vault_time,vault_time[21]
get_vaultdata(authid,vault_time,20)
tmp_vault_time = str_to_num(vault_time)
tmp_vault_time += playtime
num_to_str(tmp_vault_time,vault_time,20)
set_vaultdata(authid,vault_time)
return PLUGIN_CONTINUE
}
public handlesay(id)
{
new arg[64], arg1[32], arg2[32]
read_args(arg,63)
remove_quotes(arg)
strtok(arg,arg1,255,arg2,255,' ',1)
trim(arg2)
if(arg1[0] == '/')
{
if(equali(arg1, "/kup") == 1 || equali(arg1, "/kupuje") == 1 || equali(arg1, "/kupujesz") == 1)
{
MainUpgradesMenu(id)
return PLUGIN_CONTINUE
}
if(equali(arg1, "/kredyty") == 1 || equali(arg1, "/kredyt") == 1)
{
new authid[32]
new playtime = (get_user_time(id) - lastplaytime[id])
lastplaytime[id] = get_user_time(id)
get_user_authid(id,authid,31)
new tmp_vault_time,vault_time[21]
get_vaultdata(authid,vault_time,20)
tmp_vault_time = str_to_num(vault_time)
tmp_vault_time += playtime
connecttime[id] = tmp_vault_time
num_to_str(tmp_vault_time,vault_time,20)
set_vaultdata(authid,vault_time)
new tmp_minutes = floatround(float(connecttime[id]/60),floatround_floor)
new minutes = tmp_minutes % (credittime/60)
client_print(id,print_chat,"Masz %i kredyt/y (%i minut otrzymasz nastepny kredyt )",connecttime[id]/credittime,(credittime/60)-minutes)
return PLUGIN_CONTINUE
}
if(equali(arg1,"/dajesz") == 1 || equali(arg1,"/daj") == 1)
{
new authid[32]
new playtime = (get_user_time(id) - lastplaytime[id])
lastplaytime[id] = get_user_time(id)
get_user_authid(id,authid,31)
new tmp_vault_time,vault_time[21]
get_vaultdata(authid,vault_time,20)
tmp_vault_time = str_to_num(vault_time)
tmp_vault_time += playtime
connecttime[id] = tmp_vault_time
num_to_str(tmp_vault_time,vault_time,20)
set_vaultdata(authid,vault_time)
if(is_user_alive(id) == 0)
{
client_print(id,print_chat,"[AMXX] Musisz byc zywy, aby użyc tej komendy")
return PLUGIN_CONTINUE
}
new credits
credits = str_to_num(arg2)
if(credits <= 0)
{
client_print(id,print_chat,"[AMXX] Musisz okreslic wartosc co najmniej jednego kredytu")
return PLUGIN_CONTINUE
}
new player, body, Float:dist = get_user_aiming(id,player,body,9999)
if(player == 0 || player > 32 || is_user_connected(player) == 0 || is_user_alive(player) == 0)
{
client_print(id,print_chat,"[AMXX] Player jest nieprawidlowy lub nieistniejacego")
return PLUGIN_CONTINUE
}
new classname[256]
entity_get_string(player,EV_SZ_classname,classname,255)
if(!equal(classname,"player"))
{
client_print(id,print_chat,"[AMXX] Player jest nieprawidlowy lub nieistniejacego")
return PLUGIN_CONTINUE
}
if(dist > 512.0)
{
client_print(id,print_chat,"[AMXX] Player jest zbyt daleko do kredytow")
return PLUGIN_CONTINUE
}
if(credits > connecttime[id]/credittime)
{
client_print(id,print_chat,"[AMXX] Nie trzeba, ze kwota kredytow")
return PLUGIN_CONTINUE
}
new givername[256], receivername[256]
get_user_name(id,givername,255)
get_user_name(player,receivername,255)
decCredit(id,credits)
addCredit(player,credits)
client_print(id,print_chat,"[AMXX] Obdarzyłeś %i kredyty dla %s",credits,receivername)
client_print(player,print_chat,"[AMXX] Odebrano %i kredytów z %s",credits,givername)
return PLUGIN_CONTINUE
}
}
return PLUGIN_CONTINUE
}
public MainUpgradesMenu(id)
{
if(get_cvar_num("amx_upgrades") == 1)
{
new authid[32]
new playtime = (get_user_time(id) - lastplaytime[id])
lastplaytime[id] = get_user_time(id)
get_user_authid(id,authid,31)
new tmp_vault_time,vault_time[21]
get_vaultdata(authid,vault_time,20)
tmp_vault_time = str_to_num(vault_time)
tmp_vault_time += playtime
connecttime[id] = tmp_vault_time
num_to_str(tmp_vault_time,vault_time,20)
set_vaultdata(authid,vault_time)
new tmp_minutes = floatround(float(connecttime[id]/60),floatround_floor)
new minutes = tmp_minutes % (credittime/60)
new keys
new szMenuBody[255]
new len = format(szMenuBody, 511, "\yMenu kredytow:^n")
len += format(szMenuBody[len], 511-len, "^n\w1. Ulepszenia")
len += format(szMenuBody[len], 511-len, "^n\w2. Przedmioty")
len += format(szMenuBody[len], 511-len, "^n\w3. Pokaz wszystkie aktualizacje")
len += format(szMenuBody[len], 511-len, "^n\w4. Pomoc")
len += format(szMenuBody[len], 511-len, "^n^n\w0. Zrezygnuj")
len += format(szMenuBody[len], 511-len, "^n^nKredyt: %i (%i minut do nastepnego kredytu)",connecttime[id]/credittime,(credittime/60)-minutes)
keys = (1<<0|1<<1|1<<2|1<<3|1<<9)
show_menu(id, keys, szMenuBody, -1)
}
else
client_print(id,print_chat,"[AMXX] Credit Mod jest obecnie wyłączone / Spolszczone przez przyjaciel^^")
return PLUGIN_HANDLED
}
public MainMenuCommand(id, key)
{
switch(key)
{
case 0: showMenu(id)
case 1: EUMenu(id)
case 2: show_all_upgrades(id)
case 3: UpgrHelp(id)
}
return PLUGIN_HANDLED
}
public EU2Menu(id)
{
new authid[32]
new playtime = (get_user_time(id) - lastplaytime[id])
lastplaytime[id] = get_user_time(id)
get_user_authid(id,authid,31)
new tmp_vault_time,vault_time[21]
get_vaultdata(authid,vault_time,20)
tmp_vault_time = str_to_num(vault_time)
tmp_vault_time += playtime
connecttime[id] = tmp_vault_time
num_to_str(tmp_vault_time,vault_time,20)
set_vaultdata(authid,vault_time)
new tmp_minutes = floatround(float(connecttime[id]/60),floatround_floor)
new minutes = tmp_minutes % (credittime/60)
new keys
new szMenuBody[512]
new len = format(szMenuBody, 511, "\yMenu przedmiotow2:^n")
len += format(szMenuBody[len], 511-len, "^n\w3. Laser Pointer (Koszt: %d Kredyt)", lasercost)
len += format(szMenuBody[len], 511-len, "^n\w4. Super Grenade (Koszt: %d Kredyt)", sgrencost)
len += format(szMenuBody[len], 511-len, "^n\w5. Crowbar (Koszt: %d Kredyt)", crowbarcost)
len += format(szMenuBody[len], 511-len, "^n\w6. Stealth Shoes (Koszt: %d Kredyt)", sshoecost)
len += format(szMenuBody[len], 511-len, "^n\w7. Flash Protection (Koszt: %d Kredyt)", flashcost)
len += format(szMenuBody[len], 511-len, "^n^n\w9. Wstecz")
len += format(szMenuBody[len], 511-len, "^n\w0. Zrezygnuj")
len += format(szMenuBody[len], 511-len, "^n^nKredyt: %i (%i minut do następnego kredytu)",connecttime[id]/credittime,(credittime/60)-minutes)
keys = (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<8|1<<9)
show_menu(id, keys, szMenuBody, -1)
}
public EUA2Menu(id, key)
{
switch(key)
{
case 0:
{
if(connecttime[id]/credittime < lasercost)
client_print(id, print_chat, "[AMXX] Niewystarczajaca ilosc kredytu")
if(laser[id] == 1)
client_print(id, print_chat, "[AMXX] Masz juz Laser Pointer")
if(connecttime[id]/credittime >= lasercost && laser[id] == 0)
{
itemcap[id]++
laser[id] = 1
upgradelevelup(id)
show_iupgrades(id)
decCredit(id,lasercost)
client_print(id, print_chat, "[AMXX] Laser aktywowany, zywotność baterii to 10 sekund")
creditsspent[id]++
}
EU2Menu(id)
}
case 1:
{
if(connecttime[id]/credittime < sgrencost)
client_print(id, print_chat, "[AMXX] Niewystarczajaca ilosc kredytu")
if(sgrenade[id] == 1)
client_print(id, print_chat, "[AMXX] Masz juz Super Grenade")
if(!is_user_alive(id))
client_print(id, print_chat, "[AMXX] Musisz byc przy zyciu")
if(connecttime[id]/credittime >= sgrencost && sgrenade[id] == 0 && is_user_alive(id))
{
itemcap[id]++
sgrenade[id] = 1
upgradelevelup(id)
show_iupgrades(id)
give_item(id, "weapon_hegrenade")
decCredit(id,sgrencost)
client_print(id, print_chat, "[AMXX] Ten granat ma wiele szkod")
}
EU2Menu(id)
}
case 2:
{
if(connecttime[id]/credittime < crowbarcost)
client_print(id, print_chat, "[AMXX] Niewystarczajaca ilosc kredytu")
if(crowbar[id] == 1)
client_print(id, print_chat, "[AMXX] Masz juz Crowbar")
if(!is_user_alive(id))
client_print(id, print_chat, "[AMXX] Musisz byc przy zyciu")
if(connecttime[id]/credittime >= crowbarcost && crowbar[id] == 0 && is_user_alive(id))
{
itemcap[id]++
crowbar[id] = 1
upgradelevelup(id)
show_iupgrades(id)
decCredit(id,crowbarcost)
client_print(id, print_chat, "[AMXX] Crowbar 2x noz szkody")
creditsspent[id]++
}
EU2Menu(id)
}
case 3:
{
if(connecttime[id]/credittime < sshoecost)
client_print(id, print_chat, "[AMXX] Niewystarczajaca ilosc kredytu")
if(sshoe[id] > 0)
client_print(id, print_chat, "[AMXX] Masz juz Stealth Shoes")
if(connecttime[id]/credittime >= sshoecost && sshoe[id] == 0)
{
itemcap[id]++
sshoe[id] = 1
upgradelevelup(id)
show_iupgrades(id)
set_user_footsteps(id, 1)
decCredit(id,sshoecost)
client_print(id, print_chat, "[AMXX] Nie wiecej sladami")
creditsspent[id]++
}
EUMenu(id)
}
case 4:
{
if(connecttime[id]/credittime < flashcost)
client_print(id, print_chat, "[AMXX] Niewystarczajaca ilosc kredytu")
if(sshoe[id] > 0)
client_print(id, print_chat, "[AMXX] Masz juz Flash Protection")
if(connecttime[id]/credittime >= flashcost && flash[id] == 0)
{
itemcap[id]++
flash[id] = 1
upgradelevelup(id)
show_iupgrades(id)
decCredit(id,flashcost)
client_print(id, print_chat, "[AMXX] Nie wiecej flashbangs")
creditsspent[id]++
}
EUMenu(id)
}
case 5: EUMenu(id)
}
return PLUGIN_HANDLED
}
public EUMenu(id)
{
if(get_cvar_num("amx_upgrades") == 1)
{
new authid[32]
new playtime = (get_user_time(id) - lastplaytime[id])
lastplaytime[id] = get_user_time(id)
get_user_authid(id,authid,31)
new tmp_vault_time,vault_time[21]
get_vaultdata(authid,vault_time,20)
tmp_vault_time = str_to_num(vault_time)
tmp_vault_time += playtime
connecttime[id] = tmp_vault_time
num_to_str(tmp_vault_time,vault_time,20)
set_vaultdata(authid,vault_time)
new tmp_minutes = floatround(float(connecttime[id]/60),floatround_floor)
new minutes = tmp_minutes % (credittime/60)
new keys
new szMenuBody[512]
new len = format(szMenuBody, 511, "\yMenu przedmiotow:^n")
len += format(szMenuBody[len], 511-len, "^n\w2. First Aid (Koszt: %d Kredyt)", regenerationcost)
len += format(szMenuBody[len], 511-len, "^n\w3. Weapon Training (Koszt: %d Kredyty)", weapontrainingcost)
len += format(szMenuBody[len], 511-len, "^n\w4. Jump Module (Koszt: %d Kredyt)", jumpmodulecost)
len += format(szMenuBody[len], 511-len, "^n\w5. Climbing Gear (Koszt: %d Kredyt)", climbgearcost)
len += format(szMenuBody[len], 511-len, "^n\w6. Promotion (Koszt: %d Kredyt)", promocost)
len += format(szMenuBody[len], 511-len, "^n\w7. Unlimited Ammo (Koszt: %d Kredyt)", unlacost)
len += format(szMenuBody[len], 511-len, "^n^n\w8. Nastepna")
len += format(szMenuBody[len], 511-len, "^n\w9. Wstecz")
len += format(szMenuBody[len], 511-len, "^n\w0. Zrezygnuj")
len += format(szMenuBody[len], 511-len, "^n^nKredyt: %i (%i minut do następnego kredytu)",connecttime[id]/credittime,(credittime/60)-minutes)
keys = (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<7|1<<8|1<<9)
show_menu(id, keys, szMenuBody, -1)
}
}
public EUAMenu(id, key)
{
if(itemcap[id] == maxitems)
client_print(id, print_chat, "[AMXX] przedmiot osiagniety")
if(creditsspent[id] == maxcredits)
client_print(id, print_chat, "[AMXX] MAX punktow spedzony na mapie")
if(itemcap[id] < maxitems && creditsspent[id] < maxcredits)
{
switch(key)
{
case 0:
{
if(connecttime[id]/credittime< regenerationcost)
client_print(id, print_chat, "[AMXX] Niewystarczajaca ilosc kredytu")
if(regeneration[id] == 1)
client_print(id, print_chat, "[AMXX] Masz juz First Aid")
if(connecttime[id]/credittime >= regenerationcost && regeneration[id] == 0)
{
itemcap[id]++
regeneration[id] = 1
firstaid(id)
upgradelevelup(id)
show_iupgrades(id)
decCredit(id,regenerationcost)
client_print(id, print_chat, "[AMXX] Teraz zdrowia/zbroi zacznie regenerowac")
creditsspent[id]++
}
EUMenu(id)
}
case 1:
{
if(connecttime[id]/credittime < weapontrainingcost)
client_print(id, print_chat, "[AMXX] Niewystarczajaca ilosc kredytu")
if(weapontraining[id] == 1)
client_print(id, print_chat, "[AMXX] Masz juz Weapon Training")
if(connecttime[id]/credittime >= weapontrainingcost && weapontraining[id] == 0)
{
itemcap[id]++
weapontraining[id] = 1
upgradelevelup(id)
show_iupgrades(id)
decCredit(id,weapontrainingcost)
client_print(id, print_chat, "[AMXX] Nie wiecej")
creditsspent[id]++
}
EUMenu(id)
}
case 2:
{
if(connecttime[id]/credittime < jumpmodulecost)
client_print(id, print_chat, "[AMXX] Niewystarczajaca ilosc kredytu")
if(jumpmodule[id] == 1)
client_print(id, print_chat, "[AMXX] Masz juz Jump Module")
if(connecttime[id]/credittime >= jumpmodulecost && jumpmodule[id] == 0)
{
itemcap[id]++
jumpmodule[id] = 1
upgradelevelup(id)
show_iupgrades(id)
decCredit(id,jumpmodulecost)
client_print(id, print_chat, "[AMXX] Teraz mozesz bunnyhop")
creditsspent[id]++
}
EUMenu(id)
}
case 3:
{
if(connecttime[id]/credittime < climbgearcost)
client_print(id, print_chat, "[AMXX] Niewystarczajaca ilosc kredytu")
if(climb[id] == 1)
client_print(id, print_chat, "[AMXX] Masz juz Climbing Gear")
if(connecttime[id]/credittime >= climbgearcost && climb[id] == 0)
{
itemcap[id]++
climb[id] = 1
upgradelevelup(id)
show_iupgrades(id)
set_task(0.1, "cwall", id, "", 0, "b")
decCredit(id,climbgearcost)
client_print(id, print_chat, "[AMXX] Przytrzymaj [Forward] lub [Back] & [Jump] do wznoszenia ścian")
creditsspent[id]++
}
EUMenu(id)
}
case 4:
{
if(connecttime[id]/credittime < promocost)
client_print(id, print_chat, "[AMXX] Niewystarczajaca ilosc kredytu")
if(promotion[id] == 1)
client_print(id, print_chat, "[AMXX] Masz juz Promotion")
if(connecttime[id]/credittime >= promocost && promotion[id] == 0)
{
itemcap[id]++
promotion[id] = 1
upgradelevelup(id)
show_iupgrades(id)
decCredit(id,promocost)
client_print(id, print_chat, "[AMXX] Teraz masz 2x wiecej pieniedzy")
creditsspent[id]++
}
EUMenu(id)
}
case 5:
{
if(connecttime[id]/credittime < unlacost)
client_print(id, print_chat, "[AMXX] Niewystarczajaca ilosc kredytu")
if(gHasuammo[id] == 1)
client_print(id, print_chat, "[AMXX] Masz juz Unlimited Ammo")
if(connecttime[id]/credittime >= unlacost && gHasuammo[id] == 0)
{
itemcap[id]++
gHasuammo[id] = 1
upgradelevelup(id)
show_iupgrades(id)
decCredit(id,unlacost)
client_print(id, print_chat, "[AMXX] Nie wiecej zaladunkow")
creditsspent[id]++
}
EUMenu(id)
}
case 6: EU2Menu(id)
case 7: MainUpgradesMenu(id)
}
}
return PLUGIN_HANDLED
}
public showMenu(id)
{
if(get_cvar_num("amx_upgrades") == 1)
{
new authid[32]
new playtime = (get_user_time(id) - lastplaytime[id])
lastplaytime[id] = get_user_time(id)
get_user_authid(id,authid,31)
new tmp_vault_time,vault_time[21]
get_vaultdata(authid,vault_time,20)
tmp_vault_time = str_to_num(vault_time)
tmp_vault_time += playtime
connecttime[id] = tmp_vault_time
num_to_str(tmp_vault_time,vault_time,20)
set_vaultdata(authid,vault_time)
new tmp_minutes = floatround(float(connecttime[id]/60),floatround_floor)
new minutes = tmp_minutes % (credittime/60)
new keys
new szMenuBody[512]
new len = format(szMenuBody, 511, "\yMenu ulepszen:^n")
len += format(szMenuBody[len], 511-len, "^n\w6. Skoki (Koszt: %d Kredyt)", multijumpcost)
len += format(szMenuBody[len], 511-len, "^n^n\w9. Wstecz")
len += format(szMenuBody[len], 511-len, "^n\w0. Zrezygnuj")
len += format(szMenuBody[len], 511-len, "^n^nKredyt: %i (%i minut do następnego kredytu)",connecttime[id]/credittime,(credittime/60)-minutes)
keys = (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<8|1<<9)
show_menu(id, keys, szMenuBody, -1)
}
return PLUGIN_CONTINUE
}
public actionMenu(id, key)
{
if(creditsspent[id] == maxcredits)
client_print(id, print_chat, "[AMXX] MAX punktow spedzony na mapie")
if(creditsspent[id] < maxcredits)
{
switch(key)
{
case 0:
{
if(connecttime[id]/credittime < multijumpcost)
client_print(id, print_chat, "[AMXX] Niewystarczajaca ilosc kredytu")
if(multijump[id] == multijumpmaxlvl)
client_print(id, print_chat, "[AMXX] Max level osiągnieto")
if(connecttime[id]/credittime >= multijumpcost && multijump[id] < multijumpmaxlvl)
{
multijump[id]++
upgradelevelup(id)
show_upgrades(id)
decCredit(id,multijumpcost)
creditsspent[id]++
}
showMenu(id)
}
case 1: MainUpgradesMenu(id)
}
}
return PLUGIN_HANDLED
}
public firstaid(id)
{
if(is_user_alive(id))
{
if(regeneration[id] > 0)
{
new Float:srate = regenerationrate
set_task(srate, "starttheregen", id, "", 0, "b")
}
}
return PLUGIN_CONTINUE
}
public client_PreThink(id)
{
if(is_user_alive(id) && get_cvar_num("amx_upgrades") == 1)
{
new buttons = get_user_button(id)
new obut = get_user_oldbutton(id)
if(jumpmodule[id] > 0)
{
entity_set_float(id, EV_FL_fuser2, 0.0)
if(buttons & IN_JUMP)
{
new flags = entity_get_int(id, EV_INT_flags)
if(flags | FL_WATERJUMP && entity_get_int(id, EV_INT_waterlevel) < 2 && flags & FL_ONGROUND)
{
new Float:velocity[3]
entity_get_vector(id, EV_VEC_velocity, velocity)
velocity[2] += 250.0
entity_set_vector(id, EV_VEC_velocity, velocity)
entity_set_int(id, EV_INT_gaitsequence, 6)
}
}
}
if(multijump[id] > 0)
{
if((buttons & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(obut & IN_JUMP))
{
if(jumpnum[id] < multijump[id])
{
dojump[id] = true
jumpnum[id]++
return PLUGIN_CONTINUE
}
}
if((buttons & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
jumpnum[id] = 0
}
}
return PLUGIN_CONTINUE
}
public client_PostThink(id)
{
if(is_user_alive(id) && get_cvar_num("amx_upgrades") == 1)
{
if(dojump[id] == true)
{
new Float:velocity[3]
entity_get_vector(id,EV_VEC_velocity,velocity)
velocity[2] = random_float(265.0,285.0)
entity_set_vector(id,EV_VEC_velocity,velocity)
dojump[id] = false
return PLUGIN_CONTINUE
}
}
return PLUGIN_CONTINUE
}
public update(id)
{
if(get_cvar_num("amx_upgrades") != 1)
return PLUGIN_CONTINUE
if(!is_user_alive(id))
return PLUGIN_CONTINUE
if(weapontraining[id] > 0)
entity_set_vector (id,EV_VEC_punchangle, Float:{0.0, 0.0, 0.0})
new wpnid = read_data(2)
if(crowbar[id] > 0)
{
if(wpnid == CSW_KNIFE)
switchmodel(id)
}
if(gHasuammo[id] > 0)
{
new clip = read_data(3)
if(wpnid == CSW_C4 || wpnid == CSW_KNIFE || wpnid == CSW_HEGRENADE || wpnid == CSW_SMOKEGRENADE || wpnid == CSW_FLASHBANG)
return PLUGIN_CONTINUE
if(clip == 0)
{
new wpnname[32]
get_weaponname(wpnid, wpnname, 31)
give_item(id, wpnname)
engclient_cmd(id, wpnname)
}
}
if(laser[id] > 0)
{
set_hudmessage(255, 0, 0, -1.0, -1.0, 0, 6.0, 10.0, 0.1, 0.1, 10)
show_hudmessage(id, "o")
}
return PLUGIN_CONTINUE
}
public switchmodel(id)
{
new wpnid = get_user_weapon(id)
if(is_user_alive(id))
{
if(crowbar[id] > 0)
{
if(wpnid == CSW_KNIFE)
{
entity_set_string(id, EV_SZ_viewmodel, "models/v_crowbar.mdl")
entity_set_string(id, EV_SZ_weaponmodel, "models/p_crowbar.mdl")
}
}
}
}
public upgradelevelup(id)
{
client_print(id, print_center, "***Bought Upgrade***")
client_cmd(id, "spk weapons/pl_gun2.wav")
return PLUGIN_CONTINUE
}
public cwall(id)
{
new buttons = get_user_button(id)
if(buttons & IN_ATTACK)
return PLUGIN_HANDLED
if(!is_user_connected(id))
return PLUGIN_HANDLED
if(speed == true)
{
if(climb[id] > 0)
{
new Float: velocity[3]
entity_get_vector(id, EV_VEC_velocity, velocity)
if(buttons & IN_JUMP && (buttons & IN_FORWARD || buttons & IN_BACK))
{
if(velocity[0] == 0.0 || velocity[1] == 0.0)
{
velocity[1] = 10.0
velocity[2] = 220.0
entity_set_vector(id, EV_VEC_velocity, velocity)
}
}
}
}
return PLUGIN_CONTINUE
}
public UpgrHelp(id)
{
new PUmotd[2048], title[64], dpos = 0
format(title, 63, "AMXX CREDIT MOD Version spolszczone przez przyjaciel^^: [%s] ", VER)
dpos += format(PUmotd[dpos], 2047-dpos, "<html><head><style type=^"text/css^">pre{color:#FFB000;}body{background:#000000;margin-left:8px;margin-top:0px;}</style></head><pre><body>")
dpos += format(PUmotd[dpos], 2047-dpos, "^n^n<b>%s</b>^n^n",title)
dpos += format(PUmotd[dpos], 2047-dpos, "^n^n-=--=--=--=--=--=--=--=--=--=-^n^n")
dpos += format(PUmotd[dpos], 2047-dpos, "[*]Komendy:^n")
dpos += format(PUmotd[dpos], 2047-dpos, "/kup - otwiera menu^n")
dpos += format(PUmotd[dpos], 2047-dpos, "/kredyty - pokazuje, ile masz punktow i jak dlugo musisz czekac do nastepnego kredytu^n")
dpos += format(PUmotd[dpos], 2047-dpos, "/daj x - daj x deje kredyt do gracza^n")
dpos += format(PUmotd[dpos], 2047-dpos, "^n^n-=--=--=--=--=--=--=--=--=--=-^n^n")
dpos += format(PUmotd[dpos], 2047-dpos, "[*]Menu ulepszen - Opis:^n^n")
dpos += format(PUmotd[dpos], 2047-dpos, "[Skoki] - mozesz skakac do nieba? (kazdy poziom daje Ci inny skok)^n")
dpos += format(PUmotd[dpos], 2047-dpos, "^n^n-=--=--=--=--=--=--=--=--=--=-^n^n")
dpos += format(PUmotd[dpos], 2047-dpos, "[*]Przedmioty:^n^n")
dpos += format(PUmotd[dpos], 2047-dpos, "[First Aid] - Regeneracja HP/AP ^n")
dpos += format(PUmotd[dpos], 2047-dpos, "[Weapon Training] - Nie masz rozrzutu^n")
dpos += format(PUmotd[dpos], 2047-dpos, "[Jump Module] - wlacza mozliwosci BunnyHopa ^n")
dpos += format(PUmotd[dpos], 2047-dpos, "[Climbing Gear] - Mozesz sie wspinac po scianach^n")
dpos += format(PUmotd[dpos], 2047-dpos, "[Promotion] - dostajesz 2 razy wiecej pieniedzy^n")
dpos += format(PUmotd[dpos], 2047-dpos, "[Unlimited Ammo] - nie masz limitu amunicji ^n")
dpos += format(PUmotd[dpos], 2047-dpos, "[Stealth Shoes] - wylacza dzwiek twoich krokow^n")
dpos += format(PUmotd[dpos], 2047-dpos, "[Laser Pointer] - dodaje extra celownik do broni^n")
dpos += format(PUmotd[dpos], 2047-dpos, "[Super Grenade] - mordercze granaty^n")
dpos += format(PUmotd[dpos], 2047-dpos, "[Crowbar] - 2 razy wieksze obrazenia z noza^n")
dpos += format(PUmotd[dpos], 2047-dpos, "[Flash Protection] - nie dzialaja na Ciebie flashe^n")
dpos += format(PUmotd[dpos], 2047-dpos, "^n^n-=--=--=--=--=--=--=--=--=--=-^n^n")
dpos += format(PUmotd[dpos], 2047-dpos, "^n***Utracisz Super Grenade gdy zginiesz")
dpos += format(PUmotd[dpos], 2047-dpos, "^n***Spolszczone przez przyjaciel^^/Instrumental soled horse xD dla www.cspoprawczak.xaa.pl.")
show_motd(id, PUmotd, title)
}
public plugin_precache()
{
precache_sound("weapons/pl_gun2.wav")
precache_sound("buttons/blip2.wav")
precache_sound("weapons/mine_charge.wav")
precache_model("models/v_satchel_radio.mdl")
precache_model("models/p_satchel_radio.mdl")
precache_model("models/v_crowbar.mdl")
precache_model("models/p_crowbar.mdl")
}
public queryall(id,level,cid)
{
if (!cmd_access(id,level,cid,1))
return PLUGIN_HANDLED
new maxslots = get_maxplayers()
new query_name[32]
for(new i = 1; i <= maxslots; ++i)
{
if (!is_user_connected(i) && !is_user_connecting(i)) continue
get_user_name(i,query_name,31)
client_print(id,print_console," %s 's credits = %i",query_name,connecttime[i]/credittime)
}
return PLUGIN_HANDLED
}
public client_authorized(id)
{
new authid[32], vault_time[21]
get_user_authid(id,authid,31)
if(vaultdata_exists(authid))
{
get_vaultdata(authid,vault_time,20)
connecttime[id] = str_to_num(vault_time)
}
else
{
connecttime[id] = numnewcredits * credittime
num_to_str(connecttime[id],vault_time,20)
set_vaultdata(authid,vault_time)
}
return PLUGIN_CONTINUE
}
public decCredit(id, itemcost)
{
new cost = itemcost
connecttime[id] = connecttime[id] - (credittime * cost)
new authid[32], vault_time[21]
get_user_authid(id,authid,31)
num_to_str(connecttime[id],vault_time,20)
set_vaultdata(authid,vault_time)
return PLUGIN_HANDLED
}
public addCredit(id, itemadd)
{
new addcredits = itemadd
connecttime[id] = connecttime[id] + (credittime * addcredits)
new authid[32], vault_time[21]
get_user_authid(id,authid,31)
num_to_str(connecttime[id],vault_time,20)
set_vaultdata(authid,vault_time)
return PLUGIN_HANDLED
}
public givecredit(id,level,cid)
{
if(!cmd_access(id,level,cid,3))
return PLUGIN_HANDLED
new target[32],credits[21]
read_argv(1,target,31)
read_argv(2,credits,20)
new player = cmd_target(id,target,8)
if(!player) return PLUGIN_HANDLED
new admin_name [32], player_name[32]
get_user_name(id,admin_name,31)
get_user_name(player,player_name,31)
new crednum = str_to_num(credits)
addCredit(player,crednum)
client_print(id,print_console,"[AMXX] Musisz dodajac %i kredyt %s's oddanych punktow",crednum,player_name)
return PLUGIN_CONTINUE
}
public removecredit(id,level,cid)
{
if(!cmd_access(id,level,cid,3))
return PLUGIN_HANDLED
new target[32],credits[21]
read_argv(1,target,31)
read_argv(2,credits,20)
new player = cmd_target(id,target,8)
if(!player) return PLUGIN_HANDLED
new admin_name [32], player_name[32]
get_user_name(id,admin_name,31)
get_user_name(player,player_name,31)
new crednum = str_to_num(credits)
decCredit(player,crednum)
client_print(id,print_console,"[AMXX] Musisz dodajac %i kredyt %s's oddanych punktow",crednum,player_name)
return PLUGIN_CONTINUE
}