|
Junior Member
Join Date: Nov 2012
Location: Czech Republic
|

03-07-2013
, 14:21
Re: Fix plugin
|
#9
|
I almost got everything repaired, but still I'm type 1 error in case 3:
I add a sma.
Quote:
#include <amxmodx>
#include <cstrike>
#include <fun>
#include <hamsandwich>
#include <fakemeta>
#include <colorchat>
#define PLUGINNAME "Neonese's Furien Shop"
#define VERSION "1.0"
#define AUTHOR "Neones"
new VIEW_MODELT[] = "models/v_superknife.mdl"
new PLAYER_MODELT[] = "models/p_superknife.mdl"
new Obchod = 1
new bool:magunu[33]
new g_MaxClients
new g_iMsgSayText
new Prevlek[33] = 0
new prevlekcost = 75
new Defuse[33] = 0
new defusecost = 25
new SuperKnife[33] = 0
new KnifeCost = 90
new RychlyBeh[33] = 0
new speedcost = 50
new hpmax = 150
new hpbuy = 50
new hpcost = 85
new apmax = 100
new apbuy = 50
new apcost = 30
new hecost = 45
new flashcost = 15
public plugin_init()
{
register_plugin(PLUGINNAME, VERSION, AUTHOR)
register_clcmd( "say /furien","itemy_menu")
register_clcmd( "say furien","itemy_menu")
register_clcmd( "say /menu","itemy_menu")
register_clcmd( "say menu","itemy_menu")
register_logevent("round_end", 2, "1=Round_End")
register_event("CurWeapon", "Event_Change_Weapon", "be", "1=1")
RegisterHam(Ham_Spawn, "player", "Fwd_PlayerSpawn_Post", 1)
RegisterHam(Ham_TakeDamage, "player", "FwdPlayerTakeDamage", false)
RegisterHam(Ham_Killed, "player", "fw_player_killed")
RegisterHam(Ham_Player_PreThink,"player","fw_ prethink")
g_iMsgSayText = get_user_msgid("SayText")
g_MaxClients = get_maxplayers()
}
public plugin_precache()
{
precache_model("models/v_superknife.mdl")
precache_model("models/p_superknife.mdl")
}
public Fwd_PlayerSpawn_Post(id)
{
if (is_user_alive(id))
{
Obchod = 1
SuperKnife[id] = 0
Prevlek[id] = 0
set_user_armor(id, 0)
Defuse[id] = 0
RychlyBeh[id] = 0
magunu[id] = false
itemy_menu(id)
if(cs_get_user_team(id) == CS_TEAM_T){
cs_set_user_model(id, "leet")
} else {
cs_set_user_model(id, "gign")
}
}
}
public round_end()
{
for(new i = 1; i <= g_MaxClients; i++)
{
if(is_user_connected(i))
{
show_menu(i, 0, "\n", 1)
Obchod = 0
strip_user_weapons(i)
give_item(i, "weapon_knife")
}
}
}
public itemy_menu(id)
{
if(Obchod)
{
if(is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT)
{
set_task(0.01,"VybavaCT",id)
}
if(is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_T)
{
set_task(0.01,"VybavaT",id)
}
}
}
public VybavaCT(id)
{
new menu = menu_create("\yHerni Menu \w( \r/furien\w )", "ct_handler")
menu_additem(menu, "Vybrat zbran", "1", 0)
menu_additem(menu, "Obchod", "2", 0)
menu_additem(menu, "\rSpeciální itemy", "3", 0)
menu_additem(menu, "O modu", "4", 0)
menu_additem(menu, "Rychly beh \r50$", "5", 0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
}
public VybavaT(id)
{
new menu = menu_create("\yHerni Menu \w( \r/furien\w )", "t_handler")
menu_additem(menu, "Obchod", "1", 0)
menu_additem(menu, "\rSpecialni itemy", "2", 0)
menu_additem(menu, "O modu", "3", 0)
menu_additem(menu, "+50 Obrana (max. 100) \r30$", "4", 0)
menu_additem(menu, "Prevlek za nepritele \r70$", "5", 0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
}
public ct_handler(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[2], iName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
new money = cs_get_user_money(id)
new key = str_to_num(data)
switch(key)
{
case 1:
{
if(!magunu[id]){
WeaponMenuforCt(id)
} else {
ChatColor(id, "!team[ Furien ] !yV tomto kole si uz nemuzes vybrat zbran")
}
}
case 2:
{
ObchodCT(id)
ChatColor(id, "!team[ Furien ] !yOtverel jsi obchod.")
}
}
case 3:
{
VybavaCT(id)
ChatColor(id, "!team[ Furien ] !yPripravujeme")
}
case 4:
{
show_motd(id, "omodu.txt", "O modu")
}
case 5:
{
if(money >= speedcost)
{
if(!RychlyBeh[id]){
RychlyBeh[id] = 1
set_user_maxspeed(id, 350.0)
cs_set_user_money(id, money - speedcost)
ChatColor(id, "!team[ Furien ] !yKoupil si Rychly beh")
}
} else {
client_print(id, print_center, "Nemas dostatek penez")
}
}
}
public t_handler(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[2], iName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
new money = cs_get_user_money(id)
new key = str_to_num(data)
switch(key)
{
case 1:
{
if(money >= KnifeCost)
{
if(!SuperKnife[id])
{
ChatColor(id, "!team[ Furien ] !yKoupil si Super Knife")
cs_set_user_money(id, money - KnifeCost)
SuperKnife[id] = 1
set_pev(id, pev_viewmodel2, VIEW_MODELT)
set_pev(id, pev_weaponmodel2, PLAYER_MODELT)
}
} else {
client_print(id, print_center, "Nemas dostatek penez")
}
}
case 2:
{
if(money >= hecost)
{
give_item(id, "weapon_hegrenade")
VybavaT(id)
ChatColor(id, "!team[ Furien ] !yKoupil si HE granat")
cs_set_user_money(id, money - hpcost)
}else{
client_print(id, print_center, "Nemas dostatek penez")
}
}
case 3:
{
if(money >= hpcost)
{
new heal = get_user_health(id)
if(heal>= hpmax){
ChatColor(id, "!team[ Furien ] !gNemuzis mit vic jak 150 HP")
set_user_health(id, 150)
} else {
VybavaT(id)
ChatColor(id, "!team[ Furien ] !yKoupil si 25 bodu zivota")
cs_set_user_money(id, money - hpcost)
set_user_health(id, get_user_health(id) + hpbuy)
}
}else{
client_print(id, print_center, "Nemas dostatek penez")
}
}
case 4:
{
if(money >= apcost)
{
new armor = get_user_armor(id)
if(armor >= apmax){
ChatColor(id, "!team[ Furien ] !gNemuzis mit vic jak 100 AP")
set_user_armor(id, 100)
} else {
VybavaT(id)
ChatColor(id, "!team[ Furien ] !yKoupil si 50 bodu obrany")
cs_set_user_money(id, money - apcost)
set_user_armor(id, get_user_armor(id) + apbuy)
}
}else{
client_print(id, print_center, "Nemas dostatek penez")
}
}
case 5:
{
if(money >= prevlekcost)
{
if(!Prevlek[id]){
Prevlek[id] = 1
cs_set_user_money(id, money - prevlekcost)
set_user_maxspeed(id, 250.0)
cs_set_user_model(id, "gign")
give_item(id, "weapon_knife")
ChatColor(id, "!team[ Furien ] !yKoupil si prevlek soupere")
}
} else {
client_print(id, print_center, "Nemas dostatek penez")
}
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public WeaponMenuforCt(id)
{
if(cs_get_user_team(id) ==CS_TEAM_CT){
new menu = menu_create("\yHerni Menu \w( \r/furien\w )", "menu_handler");
menu_additem(menu, "\w UMP cena: \r0$", "1", 0)
menu_additem(menu, "\w M3 cena: \r0$", "2", 0)
menu_additem(menu, "\w AWP cena: \r15$", "3", 0)
menu_additem(menu, "\w MP5 cena: \r25$", "4", 0)
menu_additem(menu, "\w AK47 cena: \r35$", "5", 0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
}
}
public menu_handler(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], iName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
new money = cs_get_user_money(id)
new key = str_to_num(data);
switch(key)
{
case 1:
{
new cost = 0
if(money >= cost)
{
if(cs_get_user_team(id) == CS_TEAM_CT && is_user_alive(id)){
magunu[id] = true;
pistolmenu(id)
strip_user_weapons (id)
cs_set_user_money(id, money - cost)
give_item(id, "weapon_ump45")
give_item(id, "weapon_knife")
cs_set_user_bpammo(id,CSW_UMP45,200)
ChatColor(id, "!team[ Furien ] !gPamatuj ze zbrane zdarma jsou velmi slabe!")
}
} else {
client_print(id, print_chat, "Nemas dostatek penez")
}
}
case 2:
{
new cost = 0
if(money >= cost)
{
if(cs_get_user_team(id) == CS_TEAM_CT && is_user_alive(id)){
magunu[id] = true;
pistolmenu(id)
strip_user_weapons (id)
cs_set_user_money(id, money - cost)
give_item(id, "weapon_m3")
give_item(id, "weapon_knife")
cs_set_user_bpammo(id,CSW_M3,200)
ChatColor(id, "!team[ Furien ] !gPamatuj ze zbrane zdarma jsou velmi slabe!")
}
} else {
client_print(id, print_chat, "Nemas dostatek penez")
}
}
case 3:
{
new cost = 15
if(money >= cost)
{
if(cs_get_user_team(id) == CS_TEAM_CT && is_user_alive(id)){
magunu[id] = true;
pistolmenu(id)
strip_user_weapons (id)
cs_set_user_money(id, money - cost)
give_item(id, "weapon_awp")
give_item(id, "weapon_knife")
cs_set_user_bpammo(id,CSW_AWP,200)
}
} else {
client_print(id, print_chat, "Nemas dostatek penez")
}
}
case 4 :
{
new cost = 25
if(money >= cost)
{
if(cs_get_user_team(id) == CS_TEAM_CT && is_user_alive(id)){
magunu[id] = true;
pistolmenu(id)
strip_user_weapons (id)
cs_set_user_money(id, money - cost)
give_item(id, "weapon_mp5navy")
give_item(id, "weapon_knife")
cs_set_user_bpammo(id,CSW_MP5NAVY,200)
}
} else {
client_print(id, print_chat, "Nemas dostatek penez")
}
}
case 5 :
{
new cost = 35
if(money >= cost)
{
if(cs_get_user_team(id) == CS_TEAM_CT && is_user_alive(id)){
magunu[id] = true;
pistolmenu(id)
strip_user_weapons (id)
cs_set_user_money(id, money - cost)
give_item(id, "weapon_ak47")
give_item(id, "weapon_knife")
cs_set_user_bpammo(id,CSW_AK47,200)
}
} else {
client_print(id, print_chat, "Nemas dostatek penez")
}
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public pistolmenu(id)
{
if(cs_get_user_team(id) ==CS_TEAM_CT){
new menu = menu_create("\yHerni Menu \w( \r/furien\w )", "menu_handler2");
menu_additem(menu, "\w Glock cena: \r0$", "1", 0)
menu_additem(menu, "\w USP pistol cena: \r5$", "2", 0)
menu_additem(menu, "\w FiveseveN cena: \r5$", "3", 0)
menu_additem(menu, "\w Desert Eagle cena: \r15$", "4", 0)
menu_additem(menu, "\w Elite duals cena: \r20$", "5", 0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
}
}
public menu_handler2(id,item,menu)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED;
}
new data[6], iName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
new money = cs_get_user_money(id)
new key = str_to_num(data)
switch(item)
{
case 1:
{
new cost = 0
if(money >= cost)
{
if(cs_get_user_team(id) == CS_TEAM_CT && is_user_alive(id)){
magunu[id] = true;
strip_user_weapons (id)
cs_set_user_money(id, money - cost)
give_item(id, "weapon_glock18")
cs_set_user_bpammo(id,CSW_GLOCK18 ,200)
//ChatColor(id, "!team[ Furien ] !gPamatuj ze zbrane zdarma jsou velmi slabe!")
}
} else {
client_print(id, print_chat, "Nemas dostatek penez")
}
}
case 2:
{
new cost = 5
if(money >= cost)
{
if(cs_get_user_team(id) == CS_TEAM_CT && is_user_alive(id)){
magunu[id] = true;
strip_user_weapons (id)
cs_set_user_money(id, money - cost)
give_item(id, "weapon_usp")
cs_set_user_bpammo(id,CSW_USP,200)
//ChatColor(id, "!team[ Furien ] !gPamatuj ze zbrane zdarma jsou velmi slabe!")
}
} else {
client_print(id, print_chat, "Nemas dostatek penez")
}
}
case 3:
{
new cost = 5
if(money >= cost)
{
if(cs_get_user_team(id) == CS_TEAM_CT && is_user_alive(id)){
magunu[id] = true;
strip_user_weapons (id)
cs_set_user_money(id, money - cost)
give_item(id, "weapon_fiveseven")
cs_set_user_bpammo(id,CSW_FIVESEVEN,200)
}
} else {
client_print(id, print_chat, "Nemas dostatek penez")
}
}
case 4 :
{
new cost = 15
if(money >= cost)
{
if(cs_get_user_team(id) == CS_TEAM_CT && is_user_alive(id)){
magunu[id] = true;
strip_user_weapons (id)
cs_set_user_money(id, money - cost)
give_item(id, "weapon_deagle")
cs_set_user_bpammo(id,CSW_DEAGLE,200)
}
} else {
client_print(id, print_chat, "Nemas dostatek penez")
}
}
case 5 :
{
new cost = 20
if(money >= cost)
{
if(cs_get_user_team(id) == CS_TEAM_CT && is_user_alive(id)){
magunu[id] = true;
strip_user_weapons (id)
cs_set_user_money(id, money - cost)
give_item(id, "weapon_elite")
//cs_set_user_bpammo(id,CSW_ELITE,200)
}
} else {
client_print(id, print_chat, "Nemas dostatek penez")
}
}
}
menu_destroy(menu);
return 0;
}
public ObchodCT(id)
{
new menu = menu_create("\yHerni Menu \w( \r/furien\w )", "shopct");
menu_additem(menu, "Defuse \r10$", "1", 0)
menu_additem(menu, "Flashbang \r15$", "2", 0)
menu_additem(menu, "+50 HP \r85$", "3", 0)
menu_additem(menu, "Speed++ \r90$", "4", 0)
menu_additem(menu, "HP Regen \r88$", "5", 0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
}
public shopct(id)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[2], iName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
new money = cs_get_user_money(id)
new key = str_to_num(data)
switch(key)
{
case 1:
{
if(money >= defusecost)
{
if(!Defuse[id]){
Defuse[id] = 1
cs_set_user_money(id, money - defusecost)
cs_set_user_defuse(id, 1)
ChatColor(id, "!team[ Furien ] !yKoupil si Defusni balik")
}
} else {
client_print(id, print_center, "Nemas dostatek penez")
}
}
case 2:
{
if(money >= flashcost)
{
give_item(id, "weapon_flashbang")
VybavaT(id)
ChatColor(id, "!team[ Furien ] !yKoupil si FlashBang")
cs_set_user_money(id, money - flashcost)
}else{
client_print(id, print_center, "Nemas dostatek penez")
}
}
case 3:
{
if(money >= hpcost)
{
new heal = get_user_health(id)
if(heal>= hpmax){
ChatColor(id, "!team[ Furien ] !gNemuzis mit vic jako 150 HP")
set_user_health(id, 150)
} else {
VybavaCT(id)
ChatColor(id, "!team[ Furien ] !yKoupil si 50 bodu zivota")
cs_set_user_money(id, money - hpcost)
set_user_health(id, get_user_health(id) + hpbuy)
}
}else{
client_print(id, print_center, "Nemas dostatek penez")
}
}
case 4:
{
if(money >= speedcost)
{
if(!RychlyBeh[id]){
RychlyBeh[id] = 1
set_user_maxspeed(id, 400.0)
cs_set_user_money(id, money - speedcost)
ChatColor(id, "!team[ Furien ] !yKoupil si Speed++")
}
} else {
client_print(id, print_center, "Nemas dostatek penez")
}
}
}
menu_destroy(menu);
return 0;
}
public ObchodT(id)
{
new menu = menu_create("\yHerni Menu \w( \r/furien\w )", "shopt");
menu_additem(menu, "Defuse \r10$", "1", 0)
menu_additem(menu, "Flashbang \r15$", "2", 0)
menu_additem(menu, "+50 HP \r85$", "3", 0)
menu_additem(menu, "Speed++ \r90$", "4", 0)
menu_additem(menu, "HP Regen \r88$", "5", 0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
}
public shopt(id)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[2], iName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
new money = cs_get_user_money(id)
new key = str_to_num(data)
switch(key)
{
case 1:
{
if(money >= hecost)
{
give_item(id, "weapon_hegrenade")
ChatColor(id, "!team[ Furien ] !yKoupil si HE granat")
cs_set_user_money(id, money - hpcost)
}else{
client_print(id, print_center, "Nemas dostatek penez")
}
}
case 2:
{
if(money >= hpcost)
{
new heal = get_user_health(id)
if(heal>= hpmax){
ChatColor(id, "!team[ Furien ] !gNemuzis mit vic jako 150 HP")
set_user_health(id, 150)
} else {
ChatColor(id, "!team[ Furien ] !yKoupil si 50 bodu zivota")
cs_set_user_money(id, money - hpcost)
set_user_health(id, get_user_health(id) + hpbuy)
}
}else{
client_print(id, print_center, "Nemas dostatek penez")
}
}
case 3:
{
if(money >= KnifeCost)
{
if(!SuperKnife[id])
{
ChatColor(id, "!team[ Furien ] !yKoupil si Super Knife")
cs_set_user_money(id, money - KnifeCost)
SuperKnife[id] = 1
set_pev(id, pev_viewmodel2, VIEW_MODELT)
set_pev(id, pev_weaponmodel2, PLAYER_MODELT)
}
} else {
client_print(id, print_center, "Nemas dostatek penez")
}
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public fw_prethink(id)
{
if(is_user_alive(id) && is_user_connected(id) && !is_user_bot(id))
{
new armor = get_user_armor(id)
if(armor > apmax)
{
set_user_armor(id, 100)
}
new health = get_user_health(id)
if(health > hpmax)
{
set_user_health(id, 150)
}
}
return HAM_IGNORED
}
public Event_Change_Weapon(id)
{
new weaponID = read_data(2)
if(RychlyBeh[id])
{
set_user_maxspeed(id, 350.0)
}
if(Prevlek[id])
{
set_user_maxspeed(id, 250.0)
}
if(weaponID == CSW_KNIFE)
{
if(SuperKnife[id])
{
set_pev(id, pev_viewmodel2, VIEW_MODELT)
set_pev(id, pev_weaponmodel2, PLAYER_MODELT)
}
}
return PLUGIN_CONTINUE
}
public FwdPlayerTakeDamage(id, iInflictor, iAttacker, Float:flDamage, iBits)
{
if( !(iBits & DMG_FALL) )
{
if( 1 <= iAttacker <= g_MaxClients )
{
if( id != iAttacker )
{
if( get_user_weapon(iAttacker) == CSW_KNIFE && SuperKnife[iAttacker] && cs_get_user_team(iAttacker) == CS_TEAM_T)
{
SetHamParamFloat(4, (flDamage * 3));
}
}
}
}
}
public fw_player_killed(victim, attacker, shouldgib)
{
if(SuperKnife[victim] && cs_get_user_team(victim) == CS_TEAM_T)
{
SuperKnife[victim] = 0
ChatColor(victim, "!team[ Furien ] !yTvuj super knife se znicil, protoze si byl zabit.")
}
}
/*============================================ ================
Stocks
============================================= ===============*/
stock ChatColor(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4") // Green Color
replace_all(msg, 190, "!y", "^1") // Default Color
replace_all(msg, 190, "!team", "^3") // Team Color
if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, g_iMsgSayText, _, players[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1029\\ f0\\ fs16 \n\\ par }
*/
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ ansicpg1250\\ deff0\\ deflang1029{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ f0\\ fs16 \n\\ par }
*/
|
|
|