Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.
Модераторы: Subb98, liFe iS GoOD
Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.
В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.
Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.
Zloy-DED » 01 май 2018, 07:56
Здравствуйте подскажите пожалуйста в чем ошибка может возникать при компиляции
просто думал что синтаксис неверный сначала потом что скобок не хватает , но вроде всего везде хватает
Ошибка
- Код: Выделить всё
//// vipmenu.sma
// C:\servera\cs\1.6\pub\cstrike\addons\amxmodx\scripting\vipmenu.sma(135) : warning 217: loose indentation
// C:\servera\cs\1.6\pub\cstrike\addons\amxmodx\scripting\vipmenu.sma(135) : error 014: invalid statement; not in switch
// C:\servera\cs\1.6\pub\cstrike\addons\amxmodx\scripting\vipmenu.sma(135) : warning 215: expression has no effect
// C:\servera\cs\1.6\pub\cstrike\addons\amxmodx\scripting\vipmenu.sma(135) : error 001: expected token: ";", but found ":"
// C:\servera\cs\1.6\pub\cstrike\addons\amxmodx\scripting\vipmenu.sma(135) : error 029: invalid expression, assumed zero
// C:\servera\cs\1.6\pub\cstrike\addons\amxmodx\scripting\vipmenu.sma(135) : fatal error 107: too many error messages on one line
//
// Compilation aborted.
// 4 Errors.
// Could not locate output file C:\servera\cs\1.6\pub\cstrike\addons\amxmodx\scripting\compiled\vipmenu.amx (compile failed).
//
// Compilation Time: 0,22 sec
// ----------------------------------------
Press enter to exit ...
Исходник
- Код: Выделить всё
new g_RoundCount;
new bool:g_spawnogr[32];
new bool:g_weaponorg[32];
public plugin_init()
{
register_clcmd( "vipmenust", "VIPMenu_level_one" );
register_event("ResetHUD", "ResetHUD", "be");
register_event("HLTV", "Event_RoundStart", "a", "1=0", "2=0");
register_logevent("Event_GameCommencing", 2, "1=Game_Commencing");
return PLUGIN_CONTINUE
}
public Event_RoundStart(id)
{
g_RoundCount++;
arrayset(g_spawnogr, false, 32)
arrayset(g_weaponorg, false, 32)
}
public Event_GameCommencing(id)
{
g_RoundCount = 0
}
public client_putinserver(id)
{
set_task(0.5, "vip_connect", id);
set_task(0.5, "gl_adm_connect", id);
}
public ResetHUD(id)
{
set_task(0.5, "VIPTAB", id + 6910)
}
public VIPMenu_level_one( id )
{
if(get_user_flags(id) & VIP_FLAG)
{
new vip_menu = menu_create( "\yВип меню ", "menu_handler" );
menu_additem( vip_menu, "Взять \r[\dAK47\r+\dDEAGLE\r]", "1", 0 );
menu_additem( vip_menu, "Взять \r[\dM4A1\r+\dDEAGLE\r]", "2", 0 );
menu_additem( vip_menu, "Взять \r[\dAWP\r+\dDEAGLE\r]", "3", 0 );
menu_additem( vip_menu, "Воскреснуть \d(1 раз в 5 раундов)", "4", 0 );
menu_additem( vip_menu, "Взять 16000$ ", "5", 0 );
menu_setprop(vip_menu,MPROP_NEXTNAME,"Далее")
menu_setprop(vip_menu,MPROP_BACKNAME,"Назат")
menu_setprop(vip_menu,MPROP_EXITNAME,"Выход^n\dBy ZlodeyGames")
menu_setprop(vip_menu,MPROP_EXIT,MEXIT_ALL);
menu_display( id, vip_menu, 0 );
}
else
{
ChatColor(id,"!g[!tStreamteams.ru!g] !tТы не вип куда лезеш!!!");
}
}
public Spawn_player(id)
{
if(is_user_alive(id) && is_user_connected(id))
{
set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderNormal,0)
set_view( id, 0 )
cs_set_user_armor(id, 0, CS_ARMOR_NONE)
set_user_maxspeed(id, 250.0)
set_user_gravity( id, 1.0 )
set_user_health( id, 100 )
set_user_noclip(id, 0)
set_user_godmode(id, 0)
}
}
public menu_handler( id, menu, item )
{
if( item == MENU_EXIT )
{
menu_destroy( menu );
return PLUGIN_HANDLED;
}
new data[6], iName[64];
new name[32]; get_user_name(id, name, sizeof(name) - 1);
new access, callback;
menu_item_getinfo( menu, item, access, data,5, iName, 63, callback );
new key = str_to_num( data );
switch( key )
{
case 1:
{
if(g_RoundCount < 2)
{
ChatColor(id,"!g[!tStreamteams.ru!g] !yНельзя взять AK47 доступен только с 2 раунда", g_RoundCount);
return PLUGIN_HANDLED;
}
if(g_weaponorg[id])
{
ChatColor(id,"!g[!tStreamteams.ru!g] Можно брать 1 раз за раунд", g_weaponorg);
return PLUGIN_HANDLED;
}
else
{
g_weaponorg[id] = true
strip_user_weapons (id);
ChatColor(0,"!g[!tStreamteams.ru!g] !tVIP %s Взял AK47+DEAGLE!!!", name)
give_item(id, "weapon_ak47");
give_item(id, "weapon_deagle");
give_item(id, "weapon_knife");
cs_set_user_bpammo(id, CSW_AK47, 90)
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_smokegrenade")
give_item(id,"item_assaultsuit")
}
case 2:
{
if(g_RoundCount < 2)
{
ChatColor(id,"!g[!tStreamteams.ru!g] Нельзя взять M4A1 доступен только с 2 раунда", g_RoundCount);
return PLUGIN_HANDLED;
}
if(g_weaponorg[id])
{
ChatColor(id,"!g[!tStreamteams.ru!g] Можно брать 1 раз за раунд", g_weaponorg);
return PLUGIN_HANDLED;
}
else
}
{
g_weaponorg[id] = true
strip_user_weapons (id);
ChatColor(0,"!g[!tStreamteams.ru!g] !tVIP %s Взял M4A1+DEAGLE!!!", name)
give_item( id, "weapon_m4a1" );
give_item(id, "weapon_deagle");
give_item(id, "weapon_knife");
cs_set_user_bpammo(id, CSW_M4A1, 90)
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_smokegrenade")
give_item(id,"item_assaultsuit")
}
case 3:
{
if(g_RoundCount < 3)
{
ChatColor(id,"!g[!tStreamteams.ru!g] Нельзя взять AWP доступен только с 3 раунда", g_RoundCount);
return PLUGIN_HANDLED;
}
if(g_weaponorg[id])
{
ChatColor(id,"!g[!tStreamteams.ru!g] Можно брать 1 раз за раунд", g_weaponorg);
return PLUGIN_HANDLED;
}
else
{
g_weaponorg[id] = true
strip_user_weapons (id);
ChatColor(0,"!g[!tStreamteams.ru!g] !tVIP %s Взял AWP+DEAGLE!!!", name)
give_item(id, "weapon_awp");
give_item(id, "weapon_deagle");
give_item(id, "weapon_knife");
cs_set_user_bpammo(id, CSW_AWP, 30)
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_smokegrenade")
give_item(id,"item_assaultsuit")
}
case 4:
{
if(g_RoundCount < 5)
{
ChatColor(id,"!g[!tStreamteams.ru!g] Прошло %d раундов , воскрешатся можно только раз в 5 раундов", g_RoundCount);
return PLUGIN_HANDLED;
}
if(g_spawnogr[id])
{
ChatColor(id,"!g[!tStreamteams.ru!g] Вы уже воскрешались", g_spawnogr);
return PLUGIN_HANDLED;
}
else
{
g_spawnogr[id] = true
ExecuteHam(Ham_CS_RoundRespawn, id);
}
}
case 5:
{
cs_set_user_money(id,16000)
}
}
menu_destroy( menu );
return PLUGIN_HANDLED;
}
public VIPTAB(TaskID)
{
new id = TaskID - 6910
if (is_user_admin(id))
{
message_begin(MSG_ALL, get_user_msgid("ScoreAttrib"))
write_byte(id)
write_byte(4)
message_end()
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_smokegrenade")
give_item(id,"item_assaultsuit")
}
return PLUGIN_HANDLED
}
public gl_adm_connect(id)
{
new PlayerFlags = get_user_flags(id);
if (PlayerFlags & GLADM_FLAG)
{
new name[32];
get_user_name(id, name, 31);
ChatColor(0, "!g[Streamteams.ru] !tГлавный администратор !y%s !gПодключился !tШухиритесь читаки!!!!", name)
}
return PLUGIN_HANDLED
}
public vip_connect(id)
{
new PlayerFlags = get_user_flags(id);
if ((PlayerFlags & VIP_FLAG) && !(PlayerFlags & GLADM_FLAG))
{
new name[32];
get_user_name(id, name, 31);
ChatColor(0, "!g[Streamteams.ru] !tПодключился !g[VIP] !tУдачной игры всем от !g%s", name)
}
return PLUGIN_HANDLED
}
Последний раз редактировалось
Zloy-DED 01 май 2018, 11:18, всего редактировалось 1 раз.
-
Zloy-DED
-
- Сообщения: 256
- Зарегистрирован: 30 мар 2013, 12:31
- Благодарил (а): 33 раз.
- Поблагодарили: 33 раз.
- Языки программирования: Counter-Strike 1.6
Subb98 » 01 май 2018, 09:40
Zloy-DED, доброе утро. Пожалуйста, измените название темы на информативное, в соответствии с
Вы должны зарегистрироваться, чтобы видеть ссылки.. Если вы не сделаете этого в течение суток, я сделаю это сам, однако в этом случае вам будет выдано предупреждение в профиль.
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
-
Subb98
-
- Сообщения: 5485
- Зарегистрирован: 24 мар 2011, 19:42
- Откуда: г. Пермь
- Благодарил (а): 1329 раз.
- Поблагодарили: 2343 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: PHP
provaider » 01 май 2018, 11:12
Zloy-DED писал(а):Здравствуйте подскажите пожалуйста в чем ошибка может возникать при компиляции
просто думал что синтаксис неверный сначала потом что скобок не хватает , но вроде всего везде хватает
Ошибка
- Код: Выделить всё
Press enter to exit ...
=
Будь внимательней с
- Код: Выделить всё
{ }
Поправил
- Код: Выделить всё
new g_RoundCount;
new bool:g_spawnogr[32];
new bool:g_weaponorg[32];
public plugin_init()
{
register_clcmd( "vipmenust", "VIPMenu_level_one" );
register_event("ResetHUD", "ResetHUD", "be");
register_event("HLTV", "Event_RoundStart", "a", "1=0", "2=0");
register_logevent("Event_GameCommencing", 2, "1=Game_Commencing");
return PLUGIN_CONTINUE
}
public Event_RoundStart(id)
{
g_RoundCount++;
arrayset(g_spawnogr, false, 32)
arrayset(g_weaponorg, false, 32)
}
public Event_GameCommencing(id)
{
g_RoundCount = 0
}
public client_putinserver(id)
{
set_task(0.5, "vip_connect", id);
set_task(0.5, "gl_adm_connect", id);
}
public ResetHUD(id)
{
set_task(0.5, "VIPTAB", id + 6910)
}
public VIPMenu_level_one( id )
{
if(get_user_flags(id) & VIP_FLAG)
{
new vip_menu = menu_create( "\yВип меню ", "menu_handler" );
menu_additem( vip_menu, "Взять \r[\dAK47\r+\dDEAGLE\r]", "1", 0 );
menu_additem( vip_menu, "Взять \r[\dM4A1\r+\dDEAGLE\r]", "2", 0 );
menu_additem( vip_menu, "Взять \r[\dAWP\r+\dDEAGLE\r]", "3", 0 );
menu_additem( vip_menu, "Воскреснуть \d(1 раз в 5 раундов)", "4", 0 );
menu_additem( vip_menu, "Взять 16000$ ", "5", 0 );
menu_setprop(vip_menu,MPROP_NEXTNAME,"Далее")
menu_setprop(vip_menu,MPROP_BACKNAME,"Назат")
menu_setprop(vip_menu,MPROP_EXITNAME,"Выход^n\dBy ZlodeyGames")
menu_setprop(vip_menu,MPROP_EXIT,MEXIT_ALL);
menu_display( id, vip_menu, 0 );
}
else
{
ChatColor(id,"!g[!tStreamteams.ru!g] !tТы не вип куда лезеш!!!");
}
}
public Spawn_player(id)
{
if(is_user_alive(id) && is_user_connected(id))
{
set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderNormal,0)
set_view( id, 0 )
cs_set_user_armor(id, 0, CS_ARMOR_NONE)
set_user_maxspeed(id, 250.0)
set_user_gravity( id, 1.0 )
set_user_health( id, 100 )
set_user_noclip(id, 0)
set_user_godmode(id, 0)
}
}
public menu_handler( id, menu, item )
{
if( item == MENU_EXIT )
{
menu_destroy( menu );
return PLUGIN_HANDLED;
}
new data[6], iName[64];
new name[32]; get_user_name(id, name, sizeof(name) - 1);
new access, callback;
menu_item_getinfo( menu, item, access, data,5, iName, 63, callback );
new key = str_to_num( data );
switch( key )
{
case 1:
{
if(g_RoundCount < 2)
{
ChatColor(id,"!g[!tStreamteams.ru!g] !yНельзя взять AK47 доступен только с 2 раунда", g_RoundCount);
return PLUGIN_HANDLED;
}
if(g_weaponorg[id])
{
ChatColor(id,"!g[!tStreamteams.ru!g] Можно брать 1 раз за раунд", g_weaponorg);
return PLUGIN_HANDLED;
}
else
{
g_weaponorg[id] = true
strip_user_weapons (id);
ChatColor(0,"!g[!tStreamteams.ru!g] !tVIP %s Взял AK47+DEAGLE!!!", name)
give_item(id, "weapon_ak47");
give_item(id, "weapon_deagle");
give_item(id, "weapon_knife");
cs_set_user_bpammo(id, CSW_AK47, 90)
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_smokegrenade")
give_item(id,"item_assaultsuit")
}
}
case 2:
{
if(g_RoundCount < 2)
{
ChatColor(id,"!g[!tStreamteams.ru!g] Нельзя взять M4A1 доступен только с 2 раунда", g_RoundCount);
return PLUGIN_HANDLED;
}
if(g_weaponorg[id])
{
ChatColor(id,"!g[!tStreamteams.ru!g] Можно брать 1 раз за раунд", g_weaponorg);
return PLUGIN_HANDLED;
}
else
{
g_weaponorg[id] = true
strip_user_weapons (id);
ChatColor(0,"!g[!tStreamteams.ru!g] !tVIP %s Взял M4A1+DEAGLE!!!", name)
give_item( id, "weapon_m4a1" );
give_item(id, "weapon_deagle");
give_item(id, "weapon_knife");
cs_set_user_bpammo(id, CSW_M4A1, 90)
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_smokegrenade")
give_item(id,"item_assaultsuit")
}
}
case 3:
{
if(g_RoundCount < 3)
{
ChatColor(id,"!g[!tStreamteams.ru!g] Нельзя взять AWP доступен только с 3 раунда", g_RoundCount);
return PLUGIN_HANDLED;
}
if(g_weaponorg[id])
{
ChatColor(id,"!g[!tStreamteams.ru!g] Можно брать 1 раз за раунд", g_weaponorg);
return PLUGIN_HANDLED;
}
else
{
g_weaponorg[id] = true
strip_user_weapons (id);
ChatColor(0,"!g[!tStreamteams.ru!g] !tVIP %s Взял AWP+DEAGLE!!!", name)
give_item(id, "weapon_awp");
give_item(id, "weapon_deagle");
give_item(id, "weapon_knife");
cs_set_user_bpammo(id, CSW_AWP, 30)
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_smokegrenade")
give_item(id,"item_assaultsuit")
}
}
case 4:
{
if(g_RoundCount < 5)
{
ChatColor(id,"!g[!tStreamteams.ru!g] Прошло %d раундов , воскрешатся можно только раз в 5 раундов", g_RoundCount);
return PLUGIN_HANDLED;
}
if(g_spawnogr[id])
{
ChatColor(id,"!g[!tStreamteams.ru!g] Вы уже воскрешались", g_spawnogr);
return PLUGIN_HANDLED;
}
else
{
g_spawnogr[id] = true
ExecuteHam(Ham_CS_RoundRespawn, id);
}
}
case 5:
{
cs_set_user_money(id,16000)
}
}
menu_destroy( menu );
return PLUGIN_HANDLED;
}
public VIPTAB(TaskID)
{
new id = TaskID - 6910
if (is_user_admin(id))
{
message_begin(MSG_ALL, get_user_msgid("ScoreAttrib"))
write_byte(id)
write_byte(4)
message_end()
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_smokegrenade")
give_item(id,"item_assaultsuit")
}
return PLUGIN_HANDLED
}
public gl_adm_connect(id)
{
new PlayerFlags = get_user_flags(id);
if (PlayerFlags & GLADM_FLAG)
{
new name[32];
get_user_name(id, name, 31);
ChatColor(0, "!g[Streamteams.ru] !tГлавный администратор !y%s !gПодключился !tШухиритесь читаки!!!!", name)
}
return PLUGIN_HANDLED
}
public vip_connect(id)
{
new PlayerFlags = get_user_flags(id);
if ((PlayerFlags & VIP_FLAG) && !(PlayerFlags & GLADM_FLAG))
{
new name[32];
get_user_name(id, name, 31);
ChatColor(0, "!g[Streamteams.ru] !tПодключился !g[VIP] !tУдачной игры всем от !g%s", name)
}
return PLUGIN_HANDLED
}
-
provaider
-
- Сообщения: 86
- Зарегистрирован: 21 дек 2017, 20:17
- Забанен
- Благодарил (а): 38 раз.
- Поблагодарили: 4 раз.
- Языки программирования: Pawn
SourcePawn
C++
Php
Ruby
Python
C#
Вернуться в Скриптинг
Кто сейчас на конференции
Сейчас этот форум просматривают: sb123 и гости: 9