Question

error 025: function heading differs from prototype
C:\Users\vladp\OneDrive\Рабочий стол\LIVE RUSSIA ТУТОР\gamemodes\byreytiz.pwn(66781) : error 021: symbol already defined: "OnPlayerCommandReceived"

error 021: symbol already defined: "ac_OnPlayerUpdate"

 

код:

Спойлер

new
    g_Divers[MAX_PLAYERS][2], // Массив водолазов: [0] - статус водолаза, [1] - глубина погружения
    g_MaxDepth = 100// Максимальная глубина погружения

enum DiverStatus {
    DIVER_IDLE,
    DIVER_DIVING,
    DIVER_RESURFACING
};

forward
    DiverCommand(playerid, cmdtext[]);

public OnPlayerCommandReceived(playerid, cmdtext[])
{
    if (strcmp(cmdtext, "/dive"true) == 0)
    {
        DiverCommand(playerid, cmdtext); // Обработка команды водолаза
        return 1;
    }
    return 0;
}

DiverCommand(playerid, cmdtext[])
{
    new status = g_Divers[playerid][0];
    
    if (status == DIVER_IDLE)
    {
        g_Divers[playerid][0] = DIVER_DIVING; // Устанавливаем статус "погружение"
        g_Divers[playerid][1] = 0// Обнуляем глубину погружения
        SendClientMessage(playerid, 0xFFFFFFFF"Вы начали погружение.");
    }
    else if (status == DIVER_DIVING)
    {
        SendClientMessage(playerid, 0xFFFFFFFF"Вы уже находитесь в процессе погружения.");
    }
    else if (status == DIVER_RESURFACING)
    {
        SendClientMessage(playerid, 0xFFFFFFFF"Вы еще не успели всплыть.");
    }
}

public OnPlayerUpdate(playerid)
{
    if (g_Divers[playerid][0] == DIVER_DIVING)
    {
        new depth = g_Divers[playerid][1];
        if (depth < g_MaxDepth)
        {
            // Здесь можно добавить логику погружения водолаза
            g_Divers[playerid][1]++; // Увеличиваем глубину погружения
        }
        else
        {
            g_Divers[playerid][0] = DIVER_RESURFACING; // Устанавливаем статус "всплытие"
            SendClientMessage(playerid, 0xFFFFFFFF"Достигнута максимальная глубина. Вы начинаете всплытие.");
        }
    }
    else if (g_Divers[playerid][0] == DIVER_RESURFACING)
    {
        // Здесь можно добавить логику всплытия водолаза
        g_Divers[playerid][0] = DIVER_IDLE; // Устанавливаем статус "ожидание"
        SendClientMessage(playerid, 0xFFFFFFFF"Вы успешно всплыли.");
    }
}

 

 

Edited by Cawfee

Заметка от Cawfee , создано

3.1. Заголовок темы должен отражать основную суть темы. Темы без информативного заголовка будут переименовываться, а автор может быть предупрежден (на усмотрение члена администрации). 

Устное предупреждение.

Заметка от Cawfee , создано

3.2. Код необходимо брать в тег "Код", а код более 10 строк – еще и в "Спойлер". Как это сделать рассказано в разделе "FAQ".

Устное предупреждение.

Share this post


Link to post

0 answers to this question

There have been no answers to this question yet

This topic is now closed to further replies.
Sign in to follow this  
Followers 0
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Kutuzov
      На связи директор проекта New City.
      Проект нуждается сейчас в пяти администраторах.
      Критерии: минимум 14 лет
       
      Связь со мной: https://t.me/kamradka
    • By def
      arizona.pwn(23374) : error 012: invalid function call, not a valid address
      arizona.pwn(23374) : error 001: expected token: ";", but found ")"
      arizona.pwn(23374) : error 029: invalid expression, assumed zero
      arizona.pwn(23374) : fatal error 107: too many error messages on one line
      жалуется на данную строчку:
       
      %s{cccccc}Для продолжения нажмите 'Далее'",PN(playerid),playerid,ItemsInfo[itemid][ItemName2],hours,cost*hours,Inventory[playerid][2][slot], AksColorName(Inventory[playerid][4][slot]), Inventory[playerid][5][slot] ? GetNameStripe(Inventory[playerid][5][slot]) : "");