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

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

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

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

Weapon Menu for Admins

, Решение ошибки при компиляции
Статус пользователя hacker63
сообщение 28.2.2015, 12:55
Сообщение #1


Стаж: 13 лет

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

Ошибка при компиляции плагина, прошу помощи в разборе моей проблемы. Всё прилагаю внизу fool.gif
Тыкает в меню, я затрудняюсь ответить на эту ошибку(
Код полностью ещё не написан, нужно пока что решить эту проблему!

AMXX Compiler
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright © 1997-2013 ITB CompuPhase, AMX Mod X Team

Error: Invalid expression, assumed zero on line 27
Warning: Expression has no effect on line 27
Warning: Expression has no effect on line 27
Error: Expected token: ";", but found ")" on line 27
Error: Invalid expression, assumed zero on line 27
Error: Too many error messages on one line on line 27

Compilation aborted.
4 Errors.
Could not locate output file C:\Users\User\Desktop\aweapon.amx (compile failed).


Код w_menu
Код:
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <ColorChat>

#define PLUGIN "Admin Weapon Menu"
#define VERSION "1.0"
#define AUTHOR "Padr1no"


public plugin_init(){
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /wm","create_wm")
}

public create_wm(id){
if ( !(get_user_flags(id) & ADMIN_LEVEL_H) ) {
ColorChat(id, RED, "^x4[WeaponMenu]^x1 для начала купите Админку/Vip.")
return HAM_IGNORED
}

static s_MenuItem[255]
formatex(s_MenuItem, charsmax(s_MenuItem), "\rМеню оружия^n\yАдминское")
/* Создаём меню оружия */
new menu_wm = menu_create(s_MenuItem,"wm_hand");

menu_additem(menu_wm, "AWP Asimov", wm_hand, ADMIN_LEVEL_H, -1)
menu_additem(menu_wm, "M4A4 Asimov", wm_hand, ADMIN_LEVEL_H, -1)
menu_additem(menu_wm, "AK-47 Vulkan", wm_hand, ADMIN_LEVEL_H, -1)
menu_additem(menu_wm, "p228", wm_hand, ADMIN_LEVEL_H, -1)

menu_setprop(menu_wm, MPROP_BACKNAME, "Назад")
menu_setprop(menu_wm, MPROP_NEXTNAME, "Далее")
menu_setprop(menu_wm, MPROP_EXITNAME, "Выход")

menu_display(id, menu_wm, 0)
/* END_MENU */
return PLUGIN_HANDLED
}


public wm_hand(id, menu_wm, item){
/* Функция смены оружияя вызывается*/
new name[32]
get_user_name(id,name, 31)

if (item == MENU_EXIT) {
menu_destroy(wm_menu)
return PLUGIN_HANDLED
}
new data[6], iName[64], access, callback
menu_item_getinfo(wm_menu, item, access, data, 5, iName, 63, callback)

new key = str_to_num(data)

switch(key)
{
case 1:{
gWeapon[id] = 1
SetWeapon(id, gWeapon[id])
ColorChat(id, RED, "^x4[WeaponMenu]^x3 %s^x1, вы выбрали^x3 AWP Asimov", name)
}
case 2:{
gWeapon[id] = 2
/SetWeapon(id, Weapon[id])
ColorChat(id, RED, "^x4[WeaponMenu]^x3 %s^x1, вы выбрал^x3 M4A4 Asimov", name)
}
case 3:{
gWeapon[id] = 3
SetWeapon(id, gWeapon[id])
ColorChat(id, RED, "^x4[WeaponMenu]^x3 %s^x1, вы выбрали^x3 AK-47 Vulkan", name)
}
case 4:{
gWeapon[id] = 4
SetWeapon(id, gWeapon[id])
ColorChat(id, RED, "^x4[WeaponMenu]^x3 %s^x1, вы выбрали^x3 p228", name)
}
}
return PLUGIN_HANDLED
}



Отредактировал: hacker63, - 28.2.2015, 12:59
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя GOOD FELLOW
сообщение 28.2.2015, 13:15
Сообщение #2


Иконка группы

Стаж: 13 лет

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

return HAM_IGNORED
Убери
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя hacker63
сообщение 28.2.2015, 13:24
Сообщение #3


Стаж: 13 лет

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

Цитата(GOOD FELLOW @ 28.2.2015, 14:15) *
return HAM_IGNORED
Убери

Попробовал, но что то не помогло. ERROR's остались




/* Ошибки нашёл, всем спасибо!
Тему прошу администраторов не закрывать, поскольку возможно потребуется еще помощь по этому кода! */

Отредактировал: hacker63, - 28.2.2015, 13:34
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя GOOD FELLOW
сообщение 28.2.2015, 13:37
Сообщение #4


Иконка группы

Стаж: 13 лет

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

Ты отписывай сюда то, другим в помощь тоже
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя hacker63
сообщение 28.2.2015, 13:42
Сообщение #5


Стаж: 13 лет

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

Цитата(GOOD FELLOW @ 28.2.2015, 14:37) *
Ты отписывай сюда то, другим в помощь тоже


Вся проблема в том, что:
Скрытый текст

Так выглядит мой кусочек кода: Код:
menu_additem(menu_wm, "AWP Asimov", wm_hand, ADMIN_LEVEL_H, -1)


А Синтаксис такой: Код:
menu_additem ( menu, const name[], const info[]="", paccess=0, callback=-1 )

p.s Кавычки =)


В конечном счёте получится:
Код:
menu_additem(menu_wm, "AWP Asimov", "wm_hand", ADMIN_LEVEL_H, -1)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя hacker63
сообщение 28.2.2015, 19:04
Сообщение #6


Стаж: 13 лет

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

Провессионалы скриптинга, помогите доделать скрипт. Суть заключается в том, что при вводе команды /wm, администратору/vip-игроку выводится меню. В этом меню игрок может взять себе оружие с оригинальной моделью.(AWP Asimov, M4A4 Asimov, p228, AK-47 Vulkan)
Не могу дописать скрипт, не могу понять как мне применить событие Ham_Item_Deploy!?

AMXX Код
Код:
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <ColorChat>

#define PLUGIN "Admin Weapon Menu"
#define VERSION "1.0"
#define AUTHOR "Padr1no"

new gWeapon[33]
new vAWP_Load[64] = "models/aweapon/v_awp"
new pAWP_Load[64] = "models/aweapon/p_awp"
new vM4A4_Load[64] = "models/aweapon/v_m4a4"
new pM4A4_Load[64] = "models/aweapon/p_m4a4"
new vAK47_Load[64] = "models/aweapon/v_ak47"
new pAK47_Load[64] = "models/aweapon/p_ak47"
new vP228_Load[64] = "models/aweapon/v_p228"
new pP228_Load[64] = "models/aweapon/p_p228"

new const weapon_p228[] = "weapon_p228"
new const weapon_awp[] = "weapon_awp"
new const weapon_m4a1[] = "weapon_m4a1"
new const weapon_ak47[] = "weapon_ak47"

const m_pPlayer1 = 41

public plugin_init(){
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /wm","create_wm")
RegisterHam(Ham_Item_Deploy, "weapon_p228", "fw_Deploy_Post", 1)
RegisterHam(Ham_Item_Deploy, "weapon_awp", "fw_Deploy_Post", 1)
RegisterHam(Ham_Item_Deploy, "weapon_m4a1", "fw_Deploy_Post", 1)
RegisterHam(Ham_Item_Deploy, "weapon_ak47", "fw_Deploy_Post", 1)
}

public create_wm(id){
if ( !(get_user_flags(id) & ADMIN_LEVEL_H) ) {
ColorChat(id, RED, "^x4[WeaponMenu]^x1 для начала купите Админку/Vip.")
return HAM_IGNORED
}

static s_MenuItem[255]
formatex(s_MenuItem, charsmax(s_MenuItem), "\rМеню оружия^n\yАдминское")
/* Создаём меню оружия */
new menu_wm = menu_create(s_MenuItem,"wm_hand");

menu_additem(menu_wm, "AWP Asimov", "wm_hand", ADMIN_LEVEL_H, -1)
menu_additem(menu_wm, "M4A4 Asimov", "wm_hand", ADMIN_LEVEL_H, -1)
menu_additem(menu_wm, "AK-47 Vulkan", "wm_hand", ADMIN_LEVEL_H, -1)
menu_additem(menu_wm, "p228", "wm_hand", ADMIN_LEVEL_H, -1)

menu_setprop(menu_wm, MPROP_BACKNAME, "Назад")
menu_setprop(menu_wm, MPROP_NEXTNAME, "Далее")
menu_setprop(menu_wm, MPROP_EXITNAME, "Выход")

menu_display(id, menu_wm, 0)
/* END_MENU */
return PLUGIN_HANDLED
}


public wm_hand(id, menu_wm, item){

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

if (item == MENU_EXIT) {
menu_destroy(menu_wm)
return PLUGIN_HANDLED
}
new data[6], iName[64], access, callback
menu_item_getinfo(menu_wm, item, access, data, 5, iName, 63, callback)

new key = str_to_num(data)

switch(key)
{
case 1:{
gWeapon[id] = 1
SetWeapon(id, gWeapon[id])
ColorChat(id, RED, "^x4[WeaponMenu]^x3 %s^x1, вы выбрали^x3 AWP Asimov", name)
}
case 2:{
gWeapon[id] = 2
SetWeapon(id, gWeapon[id])
ColorChat(id, RED, "^x4[WeaponMenu]^x3 %s^x1, вы выбрал^x3 M4A4 Asimov", name)
}
case 3:{
gWeapon[id] = 3
SetWeapon(id, gWeapon[id])
ColorChat(id, RED, "^x4[WeaponMenu]^x3 %s^x1, вы выбрали^x3 AK-47 Vulkan", name)
}
case 4:{
gWeapon[id] = 4
SetWeapon(id, gWeapon[id])
ColorChat(id, RED, "^x4[WeaponMenu]^x3 %s^x1, вы выбрали^x3 p228", name)
}
}
return PLUGIN_HANDLED
}

public SetWeapon(wpn , Weapon)
{
new Clip, Ammo, Weapon = get_user_weapon(wpn, Clip, Ammo)
if ( Weapon != CSW_AWP || CSW_AK47 || CSW_P228 || CSW_M4A1 )
return PLUGIN_HANDLED

new vModel_awp[56],pModel_awp[56], vModel_p228[56],pModel_p228[56]
new vModel_m4a1[56],pModel_m4a1[56], vModel_ak47[56],pModel_ak47[56]

switch(Weapon)
{
case 1: {
format(vModel_awp, 55, vAWP_Load)
format(pModel_awp, 55, pAWP_Load)
static id
id = get_pdata_cbase(wpn, m_pPlayer1, 4)
entity_set_string(id, EV_SZ_viewmodel, vModel_awp)
entity_set_string(id, EV_SZ_weaponmodel, pModel_awp)
}
case 2: {
format(vModel_m4a1, 55, vM4A4_Load)
format(pModel_m4a1, 55, pM4A4_Load)
}
case 3: {
format(vModel_ak47, 55, vAK47_Load)
format(pModel_ak47, 55, pAK47_Load)
}
case 4: {
format(vModel_p228, 55, vP228_Load)
format(pModel_p228, 55, pP228_Load)
}
}
return PLUGIN_HANDLED;
}

public fw_Deploy_Post(wpn)
{
SetWeapon(wpn, gWeapon[id])             
}

public plugin_precache()
{
precache_model(vAWP_Load)
precache_model(pAWP_Load)
precache_model(vM4A4_Load)
precache_model(pM4A4_Load)
precache_model(vAK47_Load)
precache_model(pAK47_Load)
precache_model(vP228_Load)
precache_model(pP228_Load)
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par }
*/


Метод хотел взять от сюда:
https://c-s.net.ua/forum/topic67897.html?vi...st&p=678794
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: