warning 213: tag mismatch помощь

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
95
Реакции
6
Помог
2 раз(а)
Ошибка
(34) : warning 213: tag mismatch
(35) : warning 213: tag mismatch
(62) : warning 213: tag mismatch
(63) : warning 213: tag mismatch
(64) : warning 213: tag mismatch
Компилятор
Локальный
Amx Mod X
1.9.0
Исходный код
#include <amxmodx>
#include <cstrike>

#define Version "1.0"

enum _:ItemShop{
ItemName[64],
ItemCost = 0
}

enum _: ForwardData{
ItemResult,
iItemSelected
}

new Array:Items, iShopItem[ItemShop], iForwards[ForwardData];

public plugin_init(){
register_plugin("World Magic Heroes", Version, "Skiptik");
register_clcmd("say /shopmenu", "Show_ShopMenu");
iForwards[iItemSelected] = CreateMultiForward("iItemSelected", ET_CONTINUE, FP_CELL, FP_CELL);
Items = ArrayCreate(ItemShop, 1);
}

public Show_ShopMenu(id){
new NameItem[32], FormatItem[64], cost, ItemSize = ArraySize(Items);
if(!ItemSize){
client_print(id, print_chat, "В магазине нет предметов");
return PLUGIN_HANDLED;
}
new iMenu = menu_create("Выбирите магазин", "Handle_ShopMenu");
for(new i = 0; i < ItemSize; i++)
{
ArrayGetString(iShopItem[ItemName], i, NameItem, 31)
cost = ArrayGetCell(iShopItem[ItemCost], i)
if(cs_get_user_money(id) >= cost)
{
formatex(FormatItem, 63, "%s \y%d", NameItem, cost);
menu_additem(iMenu, FormatItem);
}else{
formatex(FormatItem, 63, "%s \y%d", NameItem, cost);
menu_addtext(iMenu, FormatItem);
}
}
menu_display(id, iMenu, 0);
return PLUGIN_HANDLED;
}

public Handle_ShopMenu(id, menu, item)
{
ExecuteForward(iForwards[iItemSelected], iForwards[ItemResult], id, item)
}

public plugin_natives()
{
register_native("RegisterItem", "NativeRegisterItem", 1)
}

public NativeRegisterItem(const Name[], cost)
{
param_convert(1);
ArrayPushString(iShopItem[ItemName], Name);
ArrayPushCell(iShopItem[ItemCost], cost);
return ArraySize(iShopItem[ItemName]) - 1;
}
Не понимаю в чем проблема( помогите пожалуйста
 
В этой теме было размещено решение! Перейти к решению.
Сообщения
273
Реакции
424
Помог
5 раз(а)
@ka4a,Указана неполное предупреждение, где номер строки в которой несоответствие типов (tag mismatch)?
 
Сообщения
95
Реакции
6
Помог
2 раз(а)
bionext, забыл, вот:
(34) : warning 213: tag mismatch
(35) : warning 213: tag mismatch
(62) : warning 213: tag mismatch
(63) : warning 213: tag mismatch
(64) : warning 213: tag mismatch
поправил
 
Сообщения
584
Реакции
1,006
Помог
18 раз(а)
Разбирай отличия.
Код:
#include <amxmodx>
#include <cstrike>

#define Version "1.0"

enum _:ItemShop {
    ItemName[64],
    ItemCost // don't init anything in enum "struct"
}

enum _: ForwardData{
    ItemResult,
    iItemSelected
}

new Array:Items, iForwards[ForwardData];

public plugin_init(){
    register_plugin("World Magic Heroes", Version, "Skiptik");
    register_clcmd("say /shopmenu", "Show_ShopMenu");
    iForwards[iItemSelected] = CreateMultiForward("iItemSelected", ET_CONTINUE, FP_CELL, FP_CELL);
   
}

public Show_ShopMenu(id){
    new ItemSize = ArraySize(Items);

    if(!ItemSize){
        client_print(id, print_chat, "В магазине нет предметов");
        return PLUGIN_HANDLED;
    }

    new iMenu = menu_create("Выбирите магазин", "Handle_ShopMenu");
    new FormatItem[64], item[ItemShop];

    for(new i = 0; i < ItemSize; i++)
    {
        ArrayGetArray(Items, i, item);

        if(cs_get_user_money(id) >= item[ItemCost])
        {
            formatex(FormatItem, 63, "%s \y%d", item[ItemName], item[ItemCost]);
            menu_additem(iMenu, FormatItem);
        } else {
            formatex(FormatItem, 63, "%s \y%d", item[ItemName], item[ItemCost]);
            menu_addtext(iMenu, FormatItem);
        }
    }

    menu_display(id, iMenu, 0);

    return PLUGIN_HANDLED;
}

public Handle_ShopMenu(id, menu, item)
{
    // don't foget destroy menu
    menu_destroy(menu);

    // don't foget about exit item
    if(item == MENU_EXIT) {
        return;
    }

    // where is forward registration?
    ExecuteForward(iForwards[iItemSelected], iForwards[ItemResult], id, item)
}

public plugin_natives()
{
    // someone can use native before init Array
    // so init Array before register native
    Items = ArrayCreate(ItemShop, 1);
    // don't use style = 1
    register_native("RegisterItem", "NativeRegisterItem")
}

public NativeRegisterItem(plugin, params)
{
    enum {
        arg_name = 1,
        arg_cost
    };

    new item[ItemShop];

    get_string(arg_name, item[ItemName], charsmax(item[ItemName]));
    item[ItemCost] = get_param(arg_cost);

    ArrayPushArray(Items, item);

    return ArraySize(Items) - 1;
}
 
Сообщения
95
Реакции
6
Помог
2 раз(а)
Mistrick, Передал код, глянь, все ли так? компилятор ошибок не выдает:D
Код:
#include <amxmodx>
#include <cstrike>

#define Version "1.0"

enum _:ItemShop{
    ItemName[64],
    ItemCost = 0
}

enum _: ForwardData{
    iResult,
    iSelected
}

new Array:Items, iShopItem[ItemShop], iForwards[ForwardData];

public plugin_init(){
    register_plugin("World Magic Heroes", Version, "Skiptik");
    register_clcmd("say /shopmenu", "Show_ShopMenu");
    iForwards[iSelected] = CreateMultiForward("iSelected", ET_CONTINUE, FP_CELL, FP_CELL);
    Items = ArrayCreate(ItemShop, 1);
}

public Show_ShopMenu(id){
    new ItemSize = ArraySize(Items);
    if(!ItemSize){
        client_print(id, print_chat, "В магазине нет предметов");
        return PLUGIN_HANDLED;
    }
    new iMenu = menu_create("Выбирите магазин", "Handle_ShopMenu");
    new FormatItem[64];
    for(new i = 0; i < ItemSize; i++)
    {
        ArrayGetArray(Items, i, iShopItem)
        if(cs_get_user_money(id) >= iShopItem[ItemCost])
        {
            formatex(FormatItem, 63, "%s \y%d", iShopItem[ItemName], iShopItem[ItemCost]);
            menu_additem(iMenu, FormatItem);
        }else{
            formatex(FormatItem, 63, "%s \y%d",iShopItem[ItemName], iShopItem[ItemCost]);
            menu_addtext(iMenu, FormatItem);
        }
    }
    menu_display(id, iMenu, 0);
    return PLUGIN_HANDLED;
}

public Handle_ShopMenu(id, menu, item)
{
    ExecuteForward(iForwards[iSelected], iForwards[iResult], id, item)
}

public plugin_natives()
{
    register_native("RegisterItem", "NativeRegisterItem", 1)
}

public NativeRegisterItem(plugin, params)
{
    enum {
        Name = 1,
        Cost
    };
    get_string(Name, iShopItem[ItemName], charsmax(iShopItem[ItemName]));
    iShopItem[ItemCost] = get_param(Cost);
    ArrayPushArray(Items, iShopItem);
    return ArraySize(Items) - 1;
}
 
Сообщения
2,751
Реакции
3,017
Помог
61 раз(а)
ka4a, читай комментарии к коду....:secret:
 
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу