Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

исправить ошибку

, я решил добавить в плагин оружие все вроде верно зделал но вот ошибки
Статус пользователя SSDVG
сообщение 2.2.2017, 10:58
Сообщение #1
Стаж: 9 лет 8 месяцев

Сообщений: 1
Благодарностей: 1
Полезность: 0

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <fakemeta_util>
#include <hamsandwich>

#define PLUGIN "Gold"
#define VERSION "0.1 sf 4"
#define AUTHOR "15% oT 3eBCa"

#define GOLD //Золотое оружие он/офф
#define TAB_SHOW //VIP в scoreboard
#define AUTO_ARMOR //автовыдача гранат и аммуниции в начале раунда
#define AUTO_PISTOLS //авто-меню пистолетов, если не выбран в наборе
#define AUTO_WEAPMENU //випменю в начале раунда
#define vip_flag ADMIN_LEVEL_H //флаг випа или кого там надо...
#define c_round 2 //с какого раунда доступно меню
#define c_health 0 //+здоровья за 1 килл
#define c_health_head 0 //+здоровья за 1 килл в башню
#define c_health_max 100 //максимум здоровья для випа (зря бабки платил что-ли)
#define c_money 300 //+баксов за 1 килл
#define c_money_head 300 //+баксов за 1 килл в голову

#define VIP_TAG (1<<2)
#define m_LastHitGroup 75

#if defined GOLD
#define MAX_ITEM_TYPES 6
#define m_linux_entity 4
#define m_pPlayer 41
#define m_pActiveItem 373
#define DMG_VALUE 1.3 //множитель урона
#define linuxdiff 5

new const m_rgpPlayerItems[MAX_ITEM_TYPES
= {34, 35, ...}

new V_AK[] = "models/gold/v_ak479.mdl"
new P_AK[] = "models/gold/p_ak479.mdl"
new W_AK[] = "models/gold/w_ak479.mdl"

new V_M4[] = "models/gold/v_m4a15.mdl"
new P_M4[] = "models/gold/p_m4a15.mdl"
new W_M4[] = "models/gold/w_m4a15.mdl"

new V_AWP[] = "models/gold/v_awpp.mdl"
new P_AWP[] = "models/gold/p_awpp.mdl"
new W_AWP[] = "models/gold/w_awpp.mdl"

new V_AWP[] = "models/gold/v_famas.mdl"
new P_AWP[] = "models/gold/p_famas.mdl"
new W_AWP[] = "models/gold/w_famas.mdl"
#endif

new bool:g_map_valid = false
new bool:g_vip_allow[33] = true
new bool:g_haveGold[33] = false

static g_Round, g_SecondWeap[33], g_SecondHave[33], g_buyTime, set_SecCase, i_Menu, g_maxPlayers

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)

register_message(get_user_msgid("ScoreAttrib"), "msgScoreAttrib")

register_event("HLTV", "round_start", "a", "1=0", "2=0")
register_event("TextMsg", "round_restart", "a", "2=#Game_will_restart_in","2=#Game_Commencing")

RegisterHam(Ham_Killed, "player", "player_killed", 1)
RegisterHam(Ham_Spawn, "player", "player_spawn", 1)
RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")

register_clcmd("say /vipmenu", "main_menu")
register_clcmd("say_team /vipmenu", "main_menu")
register_clcmd("vipmenu", "main_menu")

g_maxPlayers = get_maxplayers()

new szPrefixMap[][] = {"de_", "cs_", "css_","as_"}
new map[32]; get_mapname(map, charsmax(map));
for(new i; i < sizeof szPrefixMap; i++)
{
if(containi(map, szPrefixMap[i]) != -1)
g_map_valid = true

}
#if defined GOLD
RegisterHam(Ham_Item_Deploy, "weapon_ak47", "deploy_weapon", 1)
RegisterHam(Ham_Item_Deploy, "weapon_m4a1", "deploy_weapon", 1)
RegisterHam(Ham_Item_Deploy, "weapon_awp", "deploy_weapon", 1)
RegisterHam(Ham_Item_Deploy, "weapon_famas", "deploy_weapon", 1)

RegisterHam(Ham_Touch, "weaponbox", "wpn_touch")

register_forward(FM_SetModel, "set_model", 1)
#endif
}

#if defined GOLD
public plugin_precache()
{
precache_model (V_AK)
precache_model (P_AK)
precache_model (W_AK)

precache_model (V_M4)
precache_model (P_M4)
precache_model (W_M4)

precache_model (V_AWP)
precache_model (P_AWP)
precache_model (W_AWP)

precache_model (V_FAMAS)
precache_model (P_FAMAS)
precache_model (W_FAMAS)
}

public wpn_touch(wpn_box, toucher) {
if(!is_user_alive(toucher)) {
return HAM_IGNORED
}

if(pev_valid(wpn_box)) {
for(new i = 0 ; i < MAX_ITEM_TYPES; i++) {
new e = get_pdata_cbase(wpn_box, m_rgpPlayerItems[i], m_linux_entity)

if(!pev_valid(e)) {
continue
}

if(pev(e,pev_iuser1) && !user_admin(toucher)) {
static Float:l_msg

if(l_msg < get_gametime()) {
l_msg = get_gametime() + 1.0
client_print(0, print_chat,"^1[^4VIP^1] ^3Купи,потом бери!")
}

return HAM_SUPERCEDE
}

break
}
}

return HAM_IGNORED
}
#endif

public client_putinserver(id)
{
g_SecondWeap[id] = 0

new name[32]; get_user_name(id, name, 31)

if(get_user_flags(id) & ADMIN_BAN)
return client_print(0, 0, "^4[VIP] ^1На сервер зашел ^4Администратор ^3%s", name)

if(get_user_flags(id) & ADMIN_LEVEL_H)
return client_print(0, 0, "^4[VIP] ^1На сервер зашел ^4ВИП игрок ^3%s", name)

return PLUGIN_HANDLED
}

public client_disconnect(id)
{
g_SecondHave[id] = 0
g_SecondWeap[id] = 0
g_haveGold[id] = false
}

public round_start()
{
g_Round++
g_buyTime = get_systime()
}

public round_restart()
g_Round = 0

public player_spawn(Player)
{
if(!g_map_valid || !user_admin(Player))
return 1

g_vip_allow[Player] = true

if(is_user_alive(Player))
{
task_funk(Player)

#if defined AUTO_WEAPMENU
if(g_Round >= c_round)
main_menu(Player)
#endif
}

return 1
}

public task_funk(id)
{
#if defined AUTO_ARMOR
if(cs_get_user_team(id) == CS_TEAM_CT)
cs_set_user_defuse(id, 1, 255, 255, 0,_,0)
cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM)
cs_set_user_armor(id, 100, CS_ARMOR_KEVLAR)

give_item(id, "weapon_hegrenade")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_smokegrenade")
#endif

#if defined AUTO_PISTOLS
if(g_SecondHave[id])
return 1
Give_Second_Weapon(id, g_SecondWeap[id])
#endif

return 0
}

public main_menu(id)
{
if(!user_admin(id))
return client_print(id, 0, "^1[^4VIP^1] ^3У вас нет доступа для открытия этого меню!")

if(!g_map_valid)
return client_print(id, 0, "^1[^4VIP^1] ^1На данной карте Оружейка недоступна!")

if(!is_user_alive(id))
return client_print(id, 0, "^1[^4VIP^1] ^3Зачем мертвому оружие?))")

if(g_Round < c_round)
return client_print(id, 0, "^1[^4VIP^1] ^3Оружейная комната доступна с %d-го раунда!", c_round)

if(!g_vip_allow[id] || get_systime() > (g_buyTime + 20))
return client_print(id, 0, "^1[^4VIP^1] ^3Вип меню недоступно! Ждите нового раунда.")

new s_Title[128], s_Pistol[32], szMenuMulti[64]
switch(g_SecondWeap[id])
{
case 0: s_Pistol = "NONE"
case 1: s_Pistol = "Deagle"
case 2: s_Pistol = "Usp"
case 3: s_Pistol = "Glock"
}

formatex(s_Title, charsmax(s_Title), "\y [KP] \wОружие ")
i_Menu = menu_create(s_Title, "main_handler", 1);

formatex(szMenuMulti, charsmax(szMenuMulti), "\y[\w1\y]%s \d+ Гранаты + \rM4A1|", s_Pistol)
menu_additem(i_Menu, szMenuMulti, "1", 0)

formatex(szMenuMulti, charsmax(szMenuMulti), "\y[\w2\y]%s \d+ Гранаты + \rAK47|", s_Pistol)
menu_additem(i_Menu, szMenuMulti, "2", 0)

formatex(szMenuMulti, charsmax(szMenuMulti), "\y[\w3\y]%s \d+ Гранаты + \rAWP|", s_Pistol)
menu_additem(i_Menu, szMenuMulti, "3", 0)

formatex(szMenuMulti, charsmax(szMenuMulti), "\y[\w4\y]%s \d+ Гранаты + \rFAMAS|", s_Pistol)
menu_additem(i_Menu, szMenuMulti, "4", 0)

formatex(szMenuMulti, charsmax(szMenuMulti), "\y[\w5\y]%s \d+ Гранаты + \rSCOUT|", s_Pistol)
menu_additem(i_Menu, szMenuMulti, "5", 0)

menu_addblank(i_Menu, 0)

formatex(szMenuMulti, charsmax(szMenuMulti), "\y[\wИзменить пистолет\y]")
menu_additem(i_Menu, szMenuMulti, "6", 0)

menu_addblank(i_Menu, 0)

#if defined GOLD
formatex(szMenuMulti, charsmax(szMenuMulti), "\yCS:GO \wОружие")
menu_additem(i_Menu, szMenuMulti, "7", 0)
#endif

menu_setprop(i_Menu, MPROP_EXITNAME, "Выход")

return menu_display(id, i_Menu, 0)
}

public main_handler(id, menu, item)
{
if(item == MENU_EXIT)
return menu_destroy(menu)

new s_Data[6], s_Name[60], i_Access, i_Callback
menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)

new i_Key = str_to_num(s_Data)
if(1 <= i_Key <= 5)
{
g_vip_allow[id] = false
g_haveGold[id] = false
}

switch(i_Key)
{
case 1: DropWeapons(id, 1, "weapon_m4a1", CSW_M4A1, 90)
case 2: DropWeapons(id, 1, "weapon_ak47", CSW_AK47, 90)
case 3: DropWeapons(id, 1, "weapon_awp", CSW_AWP, 30)
case 4: DropWeapons(id, 1, "weapon_famas", CSW_FAMAS, 90)
case 5: DropWeapons(id, 1, "weapon_scout", CSW_SCOUT, 90)
case 6:
{
set_SecCase = 6
sec_WpnMenu(id)
}
#if defined GOLD
case 7: GoldMenu(id)
#endif
}

return menu_destroy(menu)
}

public sec_WpnMenu(id)
{
i_Menu = menu_create("\rПистолет для набора", "sec_WpnMenu_handler")

menu_additem(i_Menu, "\yDeagle", "1", 0)
menu_additem(i_Menu, "\yUsp", "2", 0)
menu_additem(i_Menu, "\yGlock", "3", 0)

menu_display(id, i_Menu, 0)
}

public sec_WpnMenu_handler(id, menu, item)
{
if(item == MENU_EXIT)
return PLUGIN_HANDLED

new s_Data[6], s_Name[60], i_Access, i_Callback
menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)

new i_Key = str_to_num(s_Data)
g_SecondWeap[id] = i_Key
g_SecondHave[id] = true

menu_destroy(menu)

return Give_Second_Weapon(id, g_SecondWeap[id])
}

#if defined GOLD
public GoldMenu(id)
{
i_Menu = menu_create("\yCS:GO \wПлюшки", "GoldMenu_handler")

menu_additem(i_Menu, "[1]\yCS:GO \wМ4А1 + Вся экипировка", "1", 0)
menu_additem(i_Menu, "[2]\yCS:GO \wАК-47 + Вся экипировка", "2", 0);
menu_additem(i_Menu, "[3]\yCS:GO \wAWP + Вся экипировка", "3", 0)
menu_additem(i_Menu, "[4]\yCS:GO \wFAMAS + Вся экипировка", "4", 0)
menu_addblank(i_Menu)

menu_setprop(i_Menu, MPROP_EXITNAME, "\yВыход")
menu_display(id, i_Menu, 0)
}

public GoldMenu_handler(id, menu, item)
{
if(item == MENU_EXIT)
return menu_destroy(menu)

new cmd[3], access, callback
menu_item_getinfo(menu, item, access, cmd, 2,_,_, callback)

if(item != MENU_EXIT)
{
g_vip_allow[id] = false
g_haveGold[id] = true
}

new i_Key = str_to_num(cmd)
switch (i_Key)
{
case 1: DropWeapons(id, 1, "weapon_m4a1", CSW_M4A1, 90)
case 2: DropWeapons(id, 1, "weapon_ak47", CSW_AK47, 90)
case 3: DropWeapons(id, 1, "weapon_awp", CSW_AWP, 30)
case 4: DropWeapons(id, 1, "weapon_famas", CSW_AWP, 90)
case 5: main_menu(id)
}

return menu_destroy(menu)
}

public deploy_weapon(ent)
{
static id; id = get_pdata_cbase(ent, m_pPlayer, m_linux_entity)

static wpn; wpn = pev(ent, pev_iuser1)
if(!wpn)
return

switch(wpn)
{
case CSW_AK47:
{
set_pev(id, pev_viewmodel2, V_AK)
set_pev(id, pev_weaponmodel2, P_AK)
}
case CSW_M4A1:
{
set_pev(id, pev_viewmodel2, V_M4)
set_pev(id, pev_weaponmodel2, P_M4)
}
case CSW_AWP:
{
set_pev(id, pev_viewmodel2, V_AWP)
set_pev(id, pev_weaponmodel2, P_AWP)

case CSW_AWP:
{
set_pev(id, pev_viewmodel2, V_FAMAS)
set_pev(id, pev_weaponmodel2, P_FAMAS)
}
}
}

public set_model(ent, model[])
{
if(!pev_valid(ent))
return

static classname[10]; pev(ent, pev_classname, classname, charsmax(classname))
if(!equal(classname, "weaponbox"))
return

static drop
for(new i = 0 ; i < MAX_ITEM_TYPES; i++)
{
drop = get_pdata_cbase(ent, m_rgpPlayerItems[i], m_linux_entity)
if(drop < 1)
continue
break
}

if(drop < 1)
return

static wpn; wpn = pev(drop, pev_iuser1)
if(!wpn)
return

switch(wpn)
{
case CSW_AK47: engfunc(EngFunc_SetModel, ent, W_AK)
case CSW_M4A1: engfunc(EngFunc_SetModel, ent, W_M4)
case CSW_AWP: engfunc(EngFunc_SetModel, ent, W_AWP)
ase CSW_FAMAS: engfunc(EngFunc_SetModel, ent, W_FAMAS)
}
}

public fw_TakeDamage(victim, inflictor, attacker, Float:damage)
{
if(!attacker || attacker > g_maxPlayers)
return HAM_IGNORED

static ent; ent = get_pdata_cbase(attacker, m_pActiveItem, linuxdiff)

if(!pev_valid(ent)) {
return HAM_IGNORED
}

static wpn; wpn = pev(ent, pev_iuser1)

if(!wpn)
return HAM_IGNORED

SetHamParamFloat(4, damage * DMG_VALUE)

return HAM_IGNORED
}
#endif

public player_killed(victim, killer, corpse)
{
if(user_admin(victim))
{
g_SecondHave[victim] = false
g_haveGold[victim] = false
return
}

if(user_admin(victim))
{
if(is_user_alive(killer))
{
static p_Health; p_Health = get_user_health(killer)
static p_Money; p_Money = cs_get_user_money(killer)
if(get_pdata_int(victim, m_LastHitGroup) == HIT_HEAD)
{
set_user_health(killer, p_Health + c_health_head)
if(p_Health > c_health_max)
set_user_health(killer, c_health_max)
cs_set_user_money(killer, p_Money + c_money_head)
}
else
{
set_user_health(killer, p_Health + c_health)
if(p_Health > c_health_max)
set_user_health(killer, c_health_max)
cs_set_user_money(killer, p_Money + c_money)
}
}
}
}

#if defined TAB_SHOW
public msgScoreAttrib(const MsgId, const MsgType, const MsgDest)
{
if(user_admin(get_msg_arg_int(1)) && !get_msg_arg_int(2))
set_msg_arg_int(2, ARG_BYTE, VIP_TAG)
}
#endif

stock bool: user_admin(const id)
{
if(!is_user_connected(id))
return false

if(get_user_flags(id) & vip_flag)
return true

return false
}

Give_Second_Weapon(id, wpnHave)
{
switch(wpnHave)
{
case 0: sec_WpnMenu(id)
case 1: DropWeapons(id, 2, "weapon_deagle", CSW_DEAGLE, 35)
case 2: DropWeapons(id, 2, "weapon_usp", CSW_USP, 100)
case 3: DropWeapons(id, 2, "weapon_glock18", CSW_GLOCK18, 120)
}

if(set_SecCase == 6)
{
set_SecCase = 0
main_menu(id)
}

return 1
}

DropWeapons(id, wpnType, wpnName[], wpnID, iAmmo)
{
#define PRIMARY_WEAPON ((1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|\
(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|\
(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90))

#define SECONDARY_WEAPON ((1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_P228)|(1<<CSW_DEAGLE))

new weapons[32], num, i
get_user_weapons(id, weapons, num)

switch(wpnType)
{
case 1: wpnType = PRIMARY_WEAPON
case 2: wpnType = SECONDARY_WEAPON
}

static weap_name[32]
for(i = 0; i < num; i++)
{
if(wpnType & (1<<weapons[i]))
{
get_weaponname(weapons[i], weap_name, sizeof weap_name - 1)
if(!equali(weap_name, wpnName))
engclient_cmd(id, "drop", weap_name)
}
}

#if defined GOLD

if(g_haveGold[id])
{
static ent; ent = fm_give_item(id, wpnName)
if(!pev_valid(ent))
return

set_pev(ent, pev_iuser1, wpnID)
cs_set_user_bpammo(id, wpnID, iAmmo)
deploy_weapon(ent)
engclient_cmd(id, wpnName)

return
}
#endif

fm_give_item(id, wpnName)
cs_set_user_bpammo(id, wpnID, iAmmo)
}
]



/hlds/web/www/amxxpc/work/scripting/vip_gold_2_sf.sma(50) : error 021: symbol already defined: "V_AWP"
/hlds/web/www/amxxpc/work/scripting/vip_gold_2_sf.sma(51) : error 021: symbol already defined: "P_AWP"
/hlds/web/www/amxxpc/work/scripting/vip_gold_2_sf.sma(52) : error 021: symbol already defined: "W_AWP"
/hlds/web/www/amxxpc/work/scripting/vip_gold_2_sf.sma(115) : error 017: undefined symbol "V_FAMAS"
/hlds/web/www/amxxpc/work/scripting/vip_gold_2_sf.sma(116) : error 017: undefined symbol "P_FAMAS"
/hlds/web/www/amxxpc/work/scripting/vip_gold_2_sf.sma(117) : error 017: undefined symbol "W_FAMAS"
/hlds/web/www/amxxpc/work/scripting/vip_gold_2_sf.sma(417) : warning 217: loose indentation
/hlds/web/www/amxxpc/work/scripting/vip_gold_2_sf.sma(417) : error 014: invalid statement; not in switch
/hlds/web/www/amxxpc/work/scripting/vip_gold_2_sf.sma(417) : warning 215: expression has no effect
/hlds/web/www/amxxpc/work/scripting/vip_gold_2_sf.sma(417) : error 001: expected token: ";", but found ":"
/hlds/web/www/amxxpc/work/scripting/vip_gold_2_sf.sma(417) : error 029: invalid expression, assumed zero
/hlds/web/www/amxxpc/work/scripting/vip_gold_2_sf.sma(417) : fatal error 107: too many error messages on one line

Compilation aborted.
10 Errors.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Pakistana
сообщение 15.2.2017, 23:05
Сообщение #2
Стаж: 12 лет

Сообщений: 11
Благодарностей: 1
Полезность: 0

SSDVG,
Код:
/hlds/web/www/amxxpc/work/scripting/vip_gold_2_sf.sma(50) : error 021: symbol already defined: "V_AWP"
/hlds/web/www/amxxpc/work/scripting/vip_gold_2_sf.sma(51) : error 021: symbol already defined: "P_AWP"
/hlds/web/www/amxxpc/work/scripting/vip_gold_2_sf.sma(52) : error 021: symbol already defined: "W_AWP"
/hlds/web/www/amxxpc/work/scripting/vip_gold_2_sf.sma(115) : error 017: undefined symbol "V_FAMAS"
/hlds/web/www/amxxpc/work/scripting/vip_gold_2_sf.sma(116) : error 017: undefined symbol "P_FAMAS"
/hlds/web/www/amxxpc/work/scripting/vip_gold_2_sf.sma(117) : error 017: undefined symbol "W_FAMAS"



Cкрытый текст
Код:
new V_M4[] = "models/gold/v_m4a15.mdl"
new P_M4[] = "models/gold/p_m4a15.mdl"
new W_M4[] = "models/gold/w_m4a15.mdl"

new V_AWP[] = "models/gold/v_awpp.mdl"
new P_AWP[] = "models/gold/p_awpp.mdl"
new W_AWP[] = "models/gold/w_awpp.mdl"

new V_AWP[] = "models/gold/v_famas.mdl"
new P_AWP[] = "models/gold/p_famas.mdl"
new W_AWP[] = "models/gold/w_famas.mdl"

Поправь последнее на
Cкрытый текст
Код:
new V_FAMAS[] = "models/gold/v_famas.mdl"
new P_FAMAS[] = "models/gold/p_famas.mdl"
new W_FAMAS[] = "models/gold/w_famas.mdl"


Потом ищи
Cкрытый текст
Код:
case CSW_M4A1:
{
set_pev(id, pev_viewmodel2, V_M4)
set_pev(id, pev_weaponmodel2, P_M4)
}
case CSW_AWP:
{
set_pev(id, pev_viewmodel2, V_AWP)
set_pev(id, pev_weaponmodel2, P_AWP)

case CSW_AWP:
{
set_pev(id, pev_viewmodel2, V_FAMAS)
set_pev(id, pev_weaponmodel2, P_FAMAS)

И правь там
Код:
case CSW_FAMAS:
{
set_pev(id, pev_viewmodel2, V_FAMAS)
set_pev(id, pev_weaponmodel2, P_FAMAS)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя georgeml
сообщение 16.2.2017, 0:43
Сообщение #3
Стаж: 12 лет

Сообщений: 1467
Благодарностей: 439
Полезность: 423

Цитата
#define AUTHOR "15% oT 3eBCa"

cbf1b2bfde1a.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: