Ошибка при компиляции

Тема в разделе "Программирование / Скриптинг", создана пользователем WeSTMan, 4 ноя 2013.

  1. WeSTMan

    WeSTMan *Просто я - есть я*

    Сообщения:
    214
    Симпатии:
    39
    PHP:
    #pragma tabsize 0

    public OnPluginStart()
    {
        
    RegConsoleCmd("math"Mat_Command);
    }
    public 
    Action:Mat_Command(icargc)
    {
        if ( 
    ic == )
        {   
            
    PrintToServer("client-side only");
            return 
    Plugin_Handled;
        }
        
    ShowMatMenu(ic);
        return 
    Plugin_Handled;
    }

    ShowMatMenu(ic)
    {

        new 
    Handle:hMenu CreateMenu(Handle_Mu1Menu);
        
    SetMenuTitle(hMenu"Меню цикла\nВыберите цикл:");
        
    AddMenuItem(hMenuNULL_STRING"От 1 до 100");
        
    AddMenuItem(hMenuNULL_STRING"От 1 до 200");
        
    AddMenuItem(hMenuNULL_STRING"От 1 до 300");
        
        
    SetMenuExitBackButton(hMenutrue);
        
    DisplayMenu(hMenuicMENU_TIME_FOREVER);
        
    }
    public 
    action:Handle_Mu1Menu(Handle:hMenuMenuAction:actioniciSlot)
    {
        if ( 
    action == MenuAction_Select )
        {
        if ( 
    iSlot == )
        {
            new 
    summ 0;
            
            for (new 
    1100i++)
            {
                
    summ += i;
            }
            
    PrintToChatAll("\x01[Цикл] \x04Вы сосчитали от 1 до 100, ответ: %d"summ);
            
    ShowMatMenu(ic);
        }
        else if ( 
    iSlot == )
        {
            new 
    summ 0;
            
            for (new 
    1200i++)
            {
                
    summ += i;
            }
            
    PrintToChatAll("\x01[Цикл] \x04Вы сосчитали от 1 до 200, ответ: %d"summ)
            
    ShowMatMenu(ic);
        }
        else if ( 
    iSlot == )
        {
            new 
    summ 0;
            
            for (new 
    1300i++)
            {
                
    summ += i;
            }
        
    PrintToChatAll("\x01[Цикл] \x04Вы сосчитали от 1 до 200, ответ: %d"summ)
        
    ShowMatMenu(ic);
        }
        
        else if ( 
    action == MenuAction_End )
            {
                
    CloseHandle(hMenu);
            }
        }
    }
    Ошбика:
    // F:\Servers\myzmsrv\cstrike\addons\sourcemod\scripting\mat.sp(21) : error 100:
    function prototypes do not match
     
  2. Sam_Fisher

    Sam_Fisher

    Сообщения:
    703
    Симпатии:
    202
    Кодировка какая? должна быть UTF8 без BOOM

    Код:
    else if ( iSlot == 2 )
        {
            new summ = 0;
            
            for (new i = 1; i < 300; i++)
            {
                summ += i;
            }
        PrintToChatAll("\x01[Цикл] \x04Вы сосчитали от 1 до [COLOR="Red"]200[/COLOR], ответ: %d", summ)
        ShowMatMenu(ic);
        }
    должно быть 300, не?
     
  3. WeSTMan

    WeSTMan *Просто я - есть я*

    Сообщения:
    214
    Симпатии:
    39
    ошибка тут:
    public action:Handle_Mu1Menu(Handle:hMenu, MenuAction:action, ic, iSlot)
    У Handle_Mu1Menu нету action.

    Добавлено через 3 минуты
    Как сделать так, чтоб и имя показывал и то, что посчитал:
    else if ( iSlot == 1 )
    {
    decl String:sName[32];
    GetClientName(ic, sName, sizeof(sName) - 1);

    new summ = 0;

    for (new i = 1; i < 200; i++)
    {
    summ += i;
    }
    PrintToChatAll("\x01[Цикл] \x04Игрок \x03%s \x04сосчитал от 1 до 200, ответ: %d", summ, sName);
    ShowMatMenu(ic);
    }
    Получается:
    [Цикл] Игрок V сосчитал от 1 до 200, ответ: 1262703942
     
    Последнее редактирование: 4 ноя 2013
  4. R1KO

    R1KO Супер-модератор

    Сообщения:
    6.000
    Симпатии:
    2.992
    PHP:
    else if ( iSlot == )
        {
            new 
    summ 0;
            
            for (new 
    1200i++)
            {
                
    summ += i;
            }
            
    PrintToChatAll("\x01[Цикл] \x04Игрок \x03%N \x04сосчитал от 1 до 200, ответ: %d",icsumm);
            
    ShowMatMenu(ic);
        }