Proszę, trochę czasu mi to zajęło, ale sądzę, że było warto.
![:)](http://img.amxx.pl/public/style_emoticons/default/smile.gif)
W razie problemów/próśb pisz śmiało.
Cvary:
westshop_speed 1.3 - O 30% więcej szybkości, gdy dasz 1.5 będzie to o 50% więcej szybkości.
westshop_gravity 0.5 - O 50% wyższe skoki, im mniejsza wartość tym wyżej skacze.
westshop_smallwhisky_hp - 30 - ilość życia, która zostanie dodana po zakupie małego whisky.
westshop_bigwhisky_hp 50 - ilość życia, która zostanie dodana po zakupie dużego whisky.
#include <amxmodx>
#include <fun>
#include <hamsandwich>
#include <engine>
#include <cstrike>
#define PLUGIN "Western Shop"
#define VERSION "1.0"
#define AUTHOR "Artos"
new CSW_MAXAMMO[33]= {-2, 52, 0, 90, 1, 32, 1, 100, 90, 1, 120, 100, 100, 90, 90, 90, 100, 120, 30, 120, 200, 32, 90, 120, 90, 2, 35, 90, 90, 0, 100, -1, -1}
new cvar_speed, cvar_gravity, cvar_small_whisky, cvar_big_whisky;
new bool:speed[33];
new bool:gravity[33];
new bool:ammo[33];
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawn_post", 1);
register_event("CurWeapon", "event_CurWeapon", "be", "1=1")
cvar_speed = register_cvar("westshop_speed","1.3")
cvar_gravity = register_cvar("westshop_gravity","0.5")
cvar_small_whisky = register_cvar("westshop_smallwhisky_hp", "30")
cvar_big_whisky = register_cvar("westshop_bigwhisky_hp", "50")
}
public client_connect(id)
{
speed[id] = false
gravity[id] = false
ammo[id] = false
}
public client_PreThink(id)
{
if (!is_user_alive(id) || !is_user_connected(id) || !speed[id])
return PLUGIN_CONTINUE
new Float:current_speed = get_user_maxspeed(id)
set_user_maxspeed(id, current_speed*get_pcvar_float(cvar_speed))
return PLUGIN_CONTINUE;
}
public fw_PlayerSpawn_post(id)
{
if(!is_user_alive(id) || !is_user_connected(id))
return PLUGIN_CONTINUE;
speed[id] = false
gravity[id] = false
ammo[id] = false
return PLUGIN_CONTINUE
}
public event_CurWeapon(id)
{
if(!is_user_alive(id) || !is_user_connected(id) || !ammo[id])
return PLUGIN_CONTINUE;
new weaponID = read_data(2)
if(weaponID == CSW_C4 || weaponID == CSW_KNIFE || weaponID == CSW_HEGRENADE || weaponID == CSW_SMOKEGRENADE || weaponID==CSW_FLASHBANG)
return PLUGIN_CONTINUE;
if(cs_get_user_bpammo(id, weaponID) != CSW_MAXAMMO[weaponID])
cs_set_user_bpammo(id, weaponID, CSW_MAXAMMO[weaponID])
return PLUGIN_CONTINUE;
}
public Sklep(id)
{
new menu = menu_create("Sklep:", "Sklep_Handle");
menu_additem(menu, "Buty szeryfa \r10000$");
menu_additem(menu, "Umiejetnosc uciekiniera \r8000$");
menu_additem(menu, "Male Whisky \r2000$");
menu_additem(menu, "Duze Whisky \r4000$");
menu_additem(menu, "Zwinnosc Lucky Luke \r13000$");
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
menu_display(id, menu);
}
public Sklep_Handle(id, menu, item)
{
if (!is_user_alive(id))
return PLUGIN_CONTINUE
switch(item)
{
case 0:
{
if (!speed[id])
{
if (cs_get_user_money(id) >= 10000)
{
speed[id] = true
cs_set_user_money(id, cs_get_user_money(id)-10000)
client_print(id, print_chat, "Kupiles Buty zzeryfa!")
}
else
client_print(id, print_chat, "Nie masz wystarczajacej ilosci pieniedzy! (Potrzeba: 10000)")
}
else
client_print(id, print_chat, "Juz kupiles ten przedmiot!")
}
case 1:
{
if (!gravity[id])
{
if (cs_get_user_money(id) >= 8000)
{
gravity[id] = true
cs_set_user_money(id, cs_get_user_money(id)-8000)
set_user_gravity(id, get_pcvar_float(cvar_gravity))
client_print(id, print_chat, "Kupiles umiejetnosc uciekiniera!")
}
else
client_print(id, print_chat, "Nie masz wystarczajacej ilosci pieniedzy! (Potrzeba: 8000)")
}
else
client_print(id, print_chat, "Juz kupiles ta umiejetnosc!")
}
case 2:
{
if (cs_get_user_money(id) >= 2000)
{
cs_set_user_money(id, cs_get_user_money(id)-2000)
set_user_health(id, get_user_health(id)+get_pcvar_num(cvar_small_whisky))
client_print(id, print_chat, "Kupiles male whisky i odzyskales %s HP!", get_pcvar_num(cvar_small_whisky))
}
else
client_print(id, print_chat, "Nie masz wystarczajacej ilosci pieniedzy! (Potrzeba: 2000)")
}
case 3:
{
if (cs_get_user_money(id) >= 4000)
{
cs_set_user_money(id, cs_get_user_money(id)-4000)
set_user_health(id, get_user_health(id)+get_pcvar_num(cvar_big_whisky))
client_print(id, print_chat, "Kupiles duze whisky i odzyskales %s HP!", get_pcvar_num(cvar_big_whisky))
}
else
client_print(id, print_chat, "Nie masz wystarczajacej ilosci pieniedzy! (Potrzeba: 4000)")
}
case 4:
{
if (!ammo[id])
{
if (cs_get_user_money(id) >= 13000)
{
cs_set_user_money(id, cs_get_user_money(id)-13000)
ammo[id] = true
client_print(id, print_chat, "Kupiles zwinnosc Lucky Luka i nie musisz przeladowywac broni!")
}
else
client_print(id, print_chat, "Nie masz wystarczajacej ilosci pieniedzy! (Potrzeba: 13000)")
}
else
client_print(id, print_chat, "Juz kupiles ta umiejetnosc!")
}
}
return PLUGIN_CONTINUE
}