Sziasztok!
Lehet hogy emlékeztek a fórumon olyan témára hogy, Szerver Bolt [Másképp] ....
Ez meg is lett csinálva csak kicsit buggos és kéne még bővíteni is (az eredeti témát ki lehet törölni ha dupla témának érzi valaki)

Ezt kéne kijavítani! Nem sok munka.
Javítani valók:
-A boltba a cuccokat mindig kapja meg a játékos mert így csak kör elején lehet megvásárolni..
-A csavarhúzót buggmentesíteni kellene [1körig tartson,és azonnal megkapja a játékos ne csak a következő körbe]
-A pontokat egy Nagy HUD ! üzenetként tartsa számon nagy betűvel a képernyő bal felső sarkán a radar alatt! [Kéken ha lehet]
-Pluszba kéne bele egy láncfűrész 100 as sebzéssel [1 körig] v_lancfuresz és p_lancfuresz a neve.. elérhetőség models/v_lancfuresz
p_lancfuresz
Itt az SMA
Kód:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <engine>
#include <hamsandwich>
#include <colorchat>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "HunGamer"
new g_pontok[33];
new bool:g_csavar[33];
new shop1;
new shop2;
new shop3;
new shop4;
new shop5;
new syncObjp;
new VIEW_MODELCSAVAR[] = "models/v_csavarhuzo.mdl";//elfelejtetted leirni mi az elérés
new PLAYER_MODELCSAVAR[] = "models/p_csavarhuzo.mdl";
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_event("DeathMsg", "Death", "a");
register_event("CurWeapon", "Change_Weapon", "be", "1=1");
register_clcmd("say /bolt", "boltmenu");
RegisterHam(Ham_Spawn, "player", "PlayerSpawn", 1);
RegisterHam(Ham_TakeDamage, "player", "TakeDamage", 0);
shop1 = register_cvar("shop_1", "5");
shop2 = register_cvar("shop_2", "10");
shop3 = register_cvar("shop_3", "15");
shop4 = register_cvar("shop_4", "20");
shop5 = register_cvar("shop_5", "35");
syncObjp = CreateHudSyncObj();
}
public plugin_precache()
{
precache_model(VIEW_MODELCSAVAR);
precache_model(PLAYER_MODELCSAVAR);
}
public Death()
{
new id = read_data(2);
new attacker = read_data(1);
if(!is_user_alive(attacker))
return PLUGIN_CONTINUE;
if(get_user_team(id) != get_user_team(attacker))
{
g_pontok[attacker]+=1;
}
return PLUGIN_CONTINUE;
}
public boltmenu(id)
{
if(get_user_team(id) == 1)
{
if(is_user_alive(id))
{
static opcion[64];
formatex(opcion, charsmax(opcion),"[JB] Rab Bolt");
new iMenu = menu_create(opcion, "boltmenuh");
formatex(opcion, charsmax(opcion),"\wCsavarhuzo \r%d pont", get_pcvar_num(shop1));
menu_additem(iMenu, opcion, "1");
formatex(opcion, charsmax(opcion),"\wPajzs \r%d pont", get_pcvar_num(shop2));
menu_additem(iMenu, opcion, "2");
formatex(opcion, charsmax(opcion),"\wGranatok \r%d pont", get_pcvar_num(shop3));
menu_additem(iMenu, opcion, "3");
formatex(opcion, charsmax(opcion),"\wElet(+50) \r%d pont", get_pcvar_num(shop4));
menu_additem(iMenu, opcion, "4");
formatex(opcion, charsmax(opcion),"\wUsp \r%d pont", get_pcvar_num(shop5));
menu_additem(iMenu, opcion, "5");
menu_setprop(iMenu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, iMenu, 0);
}
else
{
ColorChat(id, GREEN, "Csak elok hasznalhatjak a boltot");
}
}
else
{
ColorChat(id, GREEN, "Csak terroristak hasznalhatjak a boltot");
}
return PLUGIN_HANDLED;
}
public boltmenuh(id, menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new Data[6], Name[64];
new Access, Callback;
menu_item_getinfo(menu, item, Access, Data,5, Name, 63, Callback);
new elo = is_user_alive(id);
new item_ar1 = get_pcvar_num(shop1);
new item_ar2 = get_pcvar_num(shop2);
new item_ar3 = get_pcvar_num(shop3);
new item_ar4 = get_pcvar_num(shop4);
new item_ar5 = get_pcvar_num(shop5);
new Key = str_to_num(Data);
switch (Key)
{
case 1:
{
if (g_pontok[id]>= item_ar1 && elo)
{
g_pontok[id] -= item_ar1;
g_csavar[id] = true;
}
}
case 2:
{
if (g_pontok[id]>= item_ar2 && elo)
{
g_pontok[id] -= item_ar2;
set_user_armor(id, 100);
}
}
case 3:
{
if (g_pontok[id]>= item_ar3 && elo)
{
g_pontok[id] -= item_ar3;
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_smokegrenade");
}
}
case 4:
{
if (g_pontok[id]>= item_ar4 && elo)
{
g_pontok[id] -= item_ar4;
set_user_health(id, get_user_health(id)+50);
}
}
case 5:
{
if (g_pontok[id]>= item_ar5 && elo)
{
g_pontok[id] -= item_ar5;
give_item(id, "weapon_usp");
give_item(id, "ammo_45acp");
give_item(id, "ammo_45acp");
give_item(id, "ammo_45acp");
}
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public Change_Weapon(id)
{
new weaponID = read_data(2);
if(get_user_team(id) == 1)
{
if(weaponID == CSW_KNIFE && g_csavar[id])
{
entity_set_string(id, EV_SZ_viewmodel, VIEW_MODELCSAVAR);
entity_set_string(id, EV_SZ_weaponmodel, PLAYER_MODELCSAVAR);
}
}
return PLUGIN_CONTINUE;
}
public PlayerSpawn(id)
{
if (is_user_alive(id))
{
if(get_user_team(id) == 1)
boltmenu(id);
}
}
public TakeDamage(victim, inflictor, attacker, Float:damage, damage_bits)
{
if(get_user_weapon(attacker) == CSW_KNIFE)
{
if(get_user_team(attacker) == 1 && g_csavar[attacker])
{
SetHamParamFloat(4, 50.0);
}
}
return HAM_IGNORED;
}
public client_PreThink(id)
{
if(get_user_team(id) == 1)
{
set_hudmessage(255, 255, 255, 0.9, 0.8, 0, 6.0, 4.5);
ShowSyncHudMsg(id, syncObjp,"Pontok: %i", g_pontok[id]);
}
return PLUGIN_CONTINUE;
}