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

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

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

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

> Правила форума

Этот раздел, как вы могли заметить по названию, предназначен для решения вопросов по поводу уже существующих модов и плагинов.
Пожалуйста, если у вас проблема с написанием плагина, не путайте этот раздел с разделом по скриптингу.
Для поиска плагинов и модов существует соответствующий раздел.

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

PaintBall Menu

, Проблема с компиляцией файла
Статус пользователя IBM
сообщение 19.11.2017, 14:05
Сообщение #1
Стаж: 8 лет 5 месяцев
Город: москва

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

Доброго времени суток уважаемые форумчане
Пишу для своего проекта плагин для сервера PaintBall
Пишу меню для випов чтобы могли брать маркеры и супер маркер.

Но вот беда написать написал а скомпилировать в амхх не могу разные компиляторы пробовал ошибки разные
Кто то из компиляторов пишет мол double case но их вроде нет
Какой то писал что строка слишком длинная

*В написании плагинов не сселён брал с примера который рабочий.
Если надо могу его тоже прикрепить.

Помогите разобраться пожалуйста в чем дело.

Прикрепленный файл  vipmenubp.sma ( 13,76 килобайт ) Кол-во скачиваний: 9


Брал с примера этого:
Прикрепленный файл  vipweaponmenu.sma ( 12,79 килобайт ) Кол-во скачиваний: 4


Cкрытый текст

Код:

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <colorchat>

#define PLUGIN "weaponmenu for PB"
#define VERSION "1.0"
#define AUTHOR "Salex"
#define FLAG ADMIN_LEVEL_H

const PRIMARY_WEAPONS_BIT_SUM = (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)
const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE)
new gRoundNum
new gRoundNum_2
new bool:has_used[33]
new mapname[32]
new key = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MEN
U_KEY_8|MENU_KEY_9|MENU_KEY_0

public plugin_init()
{
get_mapname(mapname, charsmax(mapname))
if(containi(mapname, "35_") != -1)
{
return
}
else
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_menu("AdminWeapon", key, "AdminWeaponFunc")
register_concmd("pbmenu", "showMenu", FLAG, "AdminWeaponMenu")
register_logevent("event_new_round", 2, "1=Round_Start")
register_event("HLTV", "EventStartRound", "a", "1=0", "2=0")
register_event("TextMsg", "EventRestartRound", "a", "2=#Game_Commencing", "2=#Game_will_restart_in")
}
}

public showMenu(id)
{
if(!has_used[id])

if((get_user_flags(id) & FLAG))
{
AdminWeaponMenu(id)
has_used[id] = true
}
else {
ColorChat(id, GREY, "^4[VIP] ^1Доступно только для ^3V.I.P")
}
else {
ColorChat(id, GREY, "^4[VIP] ^1Брать оружие можно ^3один раз за раунд")
}
return PLUGIN_HANDLED
}

public EventStartRound()
{
gRoundNum++
gRoundNum_2++
}

public EventRestartRound()
{
gRoundNum = 0
gRoundNum_2 = 0
}

public AdminWeaponMenu(id)
{
static weaponmenu[650], len
len = 0
len = formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\yЖелаете взять оружие?^n^n")

if(cs_get_user_team(id) == CS_TEAM_T)
{
if(gRoundNum < 100)
{
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\r1. \wGLOCK18 \y+ \wБроня \y+ \wВсе гранаты^n")
key |= MENU_KEY_1
}
else
{
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\d1. GLOCK18 \y+ \wБроня \y+ \wВсе гранаты (\rсо 2 раунда\d)^n")
key &= ~MENU_KEY_1
}
}
if(cs_get_user_team(id) == CS_TEAM_CT)
{
if(gRoundNum < 100)
{
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\r1. \wUSP \y+ \wБроня \y+ \wВсе гранаты^n")
key |= MENU_KEY_1
}
else
{
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\d1. USP \y+ \wБроня \y+ \wВсе гранаты (\rсо 2 раунда\d)^n")
key &= ~MENU_KEY_1
}
}

if(gRoundNum < 100)
{
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\r2. \wСтандарт Маркер \y+ \wБроня \y+ \wВсе гранаты^n")
key |= MENU_KEY_2
}
else
{
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\d2. Стандарт Маркер \y+ \dБроня \y+ \dВсе гранаты (\rсо 2 раунда\d)^n")
key &= ~MENU_KEY_2
}

if(gRoundNum < 100)
{
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\r3. \wДробовик \y+ \wБроня \y+ \wВсе гранаты^n")
key |= MENU_KEY_3
}
else
{
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\d3. Дробовик \y+ \dБроня \y+ \dВсе гранаты (\rсо 2 раунда\d)^n")
key &= ~MENU_KEY_3
}


if(gRoundNum < 100)
{
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\r4. \wПусковая уст \y+ \y+ \wБроня \y+ \wВсе гранаты^n")
key |= MENU_KEY_4
}
else
{
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\d4. Пусковая уст \y+ \dБроня \y+ \dВсе гранаты (\rсо 2 раунда\d)^n")
key &= ~MENU_KEY_4
}
if(gRoundNum < 100)
{
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\r5. \wСнайперка \y+ \y+ \wБроня \y+ \wВсе гранаты^n")
key |= MENU_KEY_5
}
else
{
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\d5. Снайперка \y+ \dБроня \y+ \dВсе гранаты (\rсо 2 раунда\d)^n")
key &= ~MENU_KEY_5
}
if(gRoundNum < 100)
{
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\r6. \wСупер МАРКЕР \y+ \y+ \wБроня \y+ \wВсе гранаты^n")
key |= MENU_KEY_6
}
else
{
len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\d6. Супер МАРКЕР \y+ \dБроня \y+ \dВсе гранаты (\rсо 2 раунда\d)^n")
key &= ~MENU_KEY_6
}

len += formatex(weaponmenu[len], charsmax(weaponmenu) - len, "\r0. \wЗакрыть пока")
key |= MENU_KEY_0

show_menu(id, key, weaponmenu, -1, "AdminWeapon")
return PLUGIN_HANDLED
}

public AdminWeaponFunc(id, key)
{
new name[32]
get_user_name(id, name, 31)

switch(key)
{
case 0:
{
if(cs_get_user_team(id) == CS_TEAM_T)
{
if(gRoundNum < 100)
{
drop_weapons(id, 1)
drop_weapons(id, 2)
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_smokegrenade")
give_item(id,"weapon_glock18")
cs_set_user_bpammo(id, CSW_GLOCK18, 100)
set_user_armor(id, 100)
ColorChat(0, TEAM_COLOR, "^1Игрок ^4%s^1, взял ^3GLOCK18+Броня+Все гранаты^1, при помощи VIP меню", name)
}
else
{
return PLUGIN_CONTINUE
}
client_cmd(id, "AdminWeaponMenu")
}
if(cs_get_user_team(id) == CS_TEAM_CT)
{
if(gRoundNum < 100)
{
drop_weapons(id, 1)
drop_weapons(id, 2)
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_smokegrenade")
give_item(id,"weapon_usp")
cs_set_user_bpammo(id, CSW_USP, 100)
set_user_armor(id, 100)
ColorChat(0, TEAM_COLOR, "^1Игрок ^4%s^1, взял ^3USP+Броня+Все гранаты^1, при помощи VIP меню", name)
}
else
{
return PLUGIN_CONTINUE
}
client_cmd(id, "AdminWeaponMenu")
}
}

case 1:
{
if(gRoundNum < 100)
{
drop_weapons(id, 1)
drop_weapons(id, 2)
give_item(id,"weapon_mp5navy")
cs_set_user_bpammo(id, CSW_MP5NAVY, 250)
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_smokegrenade")
set_user_armor(id, 100)
ColorChat(0, TEAM_COLOR, "^1Игрок ^4%s^1, взял ^3Стандарт Маркер+Броня+Все гранаты^1, при помощи VIP меню", name)
}
else
{
return PLUGIN_CONTINUE
}
client_cmd(id, "AdminWeaponMenu")
}

case 2:
{
if(gRoundNum < 100)
{
drop_weapons(id, 1)
drop_weapons(id, 2)
give_item(id,"weapon_xm1014")
cs_set_user_bpammo(id, CSW_XM1014, 250)
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_smokegrenade")
give_item(id,"weapon_gloc18")
cs_set_user_bpammo(id, CSW_GLOCK18, 100)
set_user_armor(id, 100)
ColorChat(0, TEAM_COLOR, "^1Игрок ^4%s^1, взял ^3Дробовик+Броня+Все гранаты^1, при помощи VIP меню", name)
}
else
{
return PLUGIN_CONTINUE
}
client_cmd(id, "AdminWeaponMenu")
}

case 3:
{
if(gRoundNum < 100)
{
drop_weapons(id, 1)
drop_weapons(id, 2)
give_item(id,"weapon_m3")
cs_set_user_bpammo(id, CSW_M3, 250)
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_smokegrenade")
give_item(id,"weapon_gloc18")
cs_set_user_bpammo(id, CSW_GLOCK18, 100)
set_user_armor(id, 100)
ColorChat(0, TEAM_COLOR, "^1Игрок ^4%s^1, взял ^3Пусковую уст+Броня+Все гранаты^1, при помощи VIP меню", name)
}
else
{
return PLUGIN_CONTINUE
}
client_cmd(id, "AdminWeaponMenu")
}

case 4:
{
if(gRoundNum < 100)
{
drop_weapons(id, 1)
drop_weapons(id, 2)
give_item(id,"weapon_scout")
cs_set_user_bpammo(id, CSW_SCOUT, 250)
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_smokegrenade")
give_item(id,"weapon_gloc18")
cs_set_user_bpammo(id, CSW_GLOCK18, 100)
set_user_armor(id, 100)
ColorChat(0, TEAM_COLOR, "^1Игрок ^4%s^1, взял ^3Снайперка+Броня+Все гранаты^1, при помощи VIP меню", name)
}
else
{
return PLUGIN_CONTINUE
}
client_cmd(id, "AdminWeaponMenu")
}

case 5:
{
if(gRoundNum < 100)
{
drop_weapons(id, 1)
drop_weapons(id, 2)
give_item(id,"weapon_p90")
cs_set_user_bpammo(id, CSW_P90, 250)
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_smokegrenade")
give_item(id,"weapon_gloc18")
cs_set_user_bpammo(id, CSW_GLOCK18, 100)
set_user_armor(id, 100)
ColorChat(0, TEAM_COLOR, "^1Игрок ^4%s^1, взял ^3СУПЕР Маркер+Броня+Все гранаты^1, при помощи VIP меню", name)
}
else
{
return PLUGIN_CONTINUE
}
client_cmd(id, "AdminWeaponMenu")
}
}
return PLUGIN_HANDLED
}

stock drop_weapons(id, dropwhat)
{
static weapons[32], num, i, weaponid
num = 0
get_user_weapons(id, weapons, num)

for (i = 0; i < num; i++)
{
weaponid = weapons[i]
if((dropwhat == 1 && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM)) || (dropwhat == 2 && ((1<<weaponid) & SECONDARY_WEAPONS_BIT_SUM)))
{
static wname[32]
get_weaponname(weaponid, wname, charsmax(wname))
engclient_cmd(id, "drop", wname)
}
}
}

public event_new_round()
{
arrayset(has_used, false, 33)
}

/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par }
*/


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Vasiok007
сообщение 19.11.2017, 17:24
Сообщение #2


Стаж: 15 лет
Город: Кишинев

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

IBM, код нужно выравнивать при помощи tab, а не пробелами.
Прикрепленный файл  vipmenubp.sma ( 9,73 килобайт ) Кол-во скачиваний: 13


Мир всем местным
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя IBM
сообщение 19.11.2017, 18:32
Сообщение #3
Стаж: 8 лет 5 месяцев
Город: москва

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

Дело явно не в прабелах так как при компиляции пишет такое:

error 040: duplicate "case" label (value 2)

Цитата(Vasiok007 @ 19.11.2017, 18:24) *
IBM, код нужно выравнивать при помощи tab, а не пробелами.
Прикрепленный файл  vipmenubp.sma ( 9,73 килобайт ) Кол-во скачиваний: 13

Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя IBM
сообщение 19.11.2017, 18:51
Сообщение #4
Стаж: 8 лет 5 месяцев
Город: москва

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

Беру свои слова обратно :)
Онлайн компиляторы не хотят его компилировать.
Ааа родной компилятор AMX MOD X студии с этим справился :)

Спасибо огромное ВАМ )))

Осталось разобраться что бы он к русским буквам нормально реагировал ))

Цитата(Vasiok007 @ 19.11.2017, 18:24) *
IBM, код нужно выравнивать при помощи tab, а не пробелами.
Прикрепленный файл  vipmenubp.sma ( 9,73 килобайт ) Кол-во скачиваний: 13

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