Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 7 из 7

Тема: Ошибка

  1. #1
    Аватар для Rick
    Пользователь

    Статус
    Оффлайн
    Регистрация
    10.08.2013
    Сообщений
    68
    Репутация:
    0 ±

    Ошибка

    PHP код:
    C:\Users\Àäìèí\Desktop\Îñíîâà\gamemodes\Osnova.pwn(372) : error 017undefined symbol "MSG_NOADMIN"
    C:\Users\Àäìèí\Desktop\Îñíîâà\gamemodes\Osnova.pwn(373) : error 017undefined symbol "SCM"
    C:\Users\Àäìèí\Desktop\Îñíîâà\gamemodes\Osnova.pwn(374) : error 017undefined symbol "MSG_NOLOGIN2"
    C:\Users\Àäìèí\Desktop\Îñíîâà\gamemodes\Osnova.pwn(375) : error 017undefined symbol "MSG_NOACT"
    C:\Users\Àäìèí\Desktop\Îñíîâà\gamemodes\Osnova.pwn(376) : error 017undefined symbol "MSG_LONG"
    C:\Users\Àäìèí\Desktop\Îñíîâà\gamemodes\Osnova.pwn(377) : error 017undefined symbol "f"
    Pawn compiler 3.2.3664              Copyright (c1997-2006ITB CompuPhase


    6 Errors

    Помогите пожалуйста, ниже строчки команды - которую хочу поставить на сервер .

    PHP код:
    CMD:kick(playeridparams[])
    {
        new 
    string[128];
        if(
    PLAYER[playerid][pAdmin] < 1) return MSG_NOADMIN(playerid);
        if(
    sscanf(params,"us[99]",params[0], params[1])) return SCM(playeridCOLOR_GREEN"[USAGE]: /kick [playerid] [reason]"); 
        if(!
    GetPVarInt(params[0], "Logged")) return MSG_NOLOGIN2(playerid);
        if(
    IsPlayerNPC(params[0])) return MSG_NOACT(playerid); 
        if(
    strlen(params[1]) > 50) return MSG_LONG(playerid);
        
    f(string"[SERVER] %s был кикнут администратором %s по причине: %s"Name(params[0]), Name(playerid), params[1]);
        
    SendClientMessageToAll(COLOR_LIGHTREDstring);
        
    Adminlog(playeridparams[0], "kick"0params[1]); 
        
    Kick(params[0]); 
        return 
    1;

    Последний раз редактировалось Rick; 11.01.2015 в 03:13.

  2. #2
    Аватар для kaZax
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.01.2015
    Адрес
    Kazakhstan
    Сообщений
    22
    Репутация:
    3 ±
    Кинь строки от 360 до 369.

  3. #3
    Аватар для Rick
    Пользователь

    Статус
    Оффлайн
    Регистрация
    10.08.2013
    Сообщений
    68
    Репутация:
    0 ±
    Цитата Сообщение от kaZax Посмотреть сообщение
    Кинь строки от 360 до 369.
    Зачем?, ну раз надо так надо . Вот

    PHP код:
    stock GetIp(i){new s[54]; GetPlayerIp(is16);return s;}

    stock Adminlog(adminplayeraction[], amountreason[])
    {
        new 
    query[512];
        
    format(querysizeof(query), "INSERT INTO `logsadmin` (`admin`, `adminIP`, `player`, `action`, `amount`, `reason`, `date`) VALUES ( '%s', '%s', '%s', '%s', '%d', '%s', NOW() )",
        
    Name(admin), GetIp(admin), Name(player), actionamountreason);
        
    mysql_function_query(1querytrue"""");


  4. #4
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    И зачем люди делают без с мысленные макросы, если уже все сделано как показалось Кую надо...
    И да кстати используй табуляцию 0.5 см (3 пробела)
    PHP код:
    CMD:kick(playeridparams[])
    {
       new 
    string[128];
       if (
    PLAYER[playerid][pAdmin] < 1) return SendClientMessage(playerid, -1"текст"); // Если у меня нету админки
       
    if (sscanf(params"us[99]"params[0], params[1])) return SendClientMessage(playeridCOLOR_GREEN"[USAGE]: /kick [playerid] [reason]");
       if (!
    GetPVarInt(params[0], "Logged")) return SendClientMessage(playerid, -1"текст"); // Если человек не залоген
       
    if (IsPlayerNPC(params[0])) return SendClientMessage(playerid, -1"текст"); // Если это бот, текст..
       
    if (strlen(params[1]) > 50) return SendClientMessage(playerid, -1"текст"); // Если причина больше 50 символов
       
    format(stringsizeof string"[SERVER] %s был кикнут администратором %s по причине: %s"Name(params[0]), Name(playerid), params[1]);
       
    SendClientMessageToAll(COLOR_LIGHTREDstring);
       
    Adminlog(playeridparams[0], "kick"0params[1]);
       
    Kick(params[0]);
       return 
    1;

    Последний раз редактировалось $continue$; 11.01.2015 в 04:33.

  5. Пользователь сказал cпасибо:
    Rick (11.01.2015)
  6. #5
    Аватар для Mazzilla
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.11.2013
    Адрес
    Нижневартовск
    Сообщений
    256
    Репутация:
    63 ±
    Поскольку ты решил тупо скатать мою команду, то держи мои же макросы:
    PHP код:
    #define SCM                         SendClientMessage
    #define COLOR_GREY                     0xAFAFAFAA
    #define MSG_NOADMIN(%0)                SCM(%0, COLOR_GREY, "[ERROR]: Вам недоступна эта команда!")
    #define MSG_NOLOGIN2(%0)            SCM(%0, COLOR_GREY, "[ERROR]: Данный игрок не найден!")
    #define MSG_NOACT(%0)                  SCM(%0, COLOR_GREY, "[ERROR]: Невозможное действие!")
    #define MSG_LONG(%0)                  SCM(%0, COLOR_GREY, "[ERROR]: Ваше сообщение слишком длинное!")
    #define f(%1,                         format(%1,sizeof(%1), 

  7. Пользователь сказал cпасибо:
    Rick (11.01.2015)
  8. #6
    Аватар для Rick
    Пользователь

    Статус
    Оффлайн
    Регистрация
    10.08.2013
    Сообщений
    68
    Репутация:
    0 ±
    Цитата Сообщение от Bublik_Public Посмотреть сообщение
    И зачем люди делают без с мысленные макросы, если уже все сделано как показалось Кую надо...
    И да кстати используй табуляцию 0.5 см (3 пробела)
    PHP код:
    CMD:kick(playeridparams[])
    {
       new 
    string[128];
       if (
    PLAYER[playerid][pAdmin] < 1) return SendClientMessage(playerid, -1"текст"); // Если у меня нету админки
       
    if (sscanf(params"us[99]"params[0], params[1])) return SendClientMessage(playeridCOLOR_GREEN"[USAGE]: /kick [playerid] [reason]");
       if (!
    GetPVarInt(params[0], "Logged")) return SendClientMessage(playerid, -1"текст"); // Если человек не залоген
       
    if (IsPlayerNPC(params[0])) return SendClientMessage(playerid, -1"текст"); // Если это бот, текст..
       
    if (strlen(params[1]) > 50) return SendClientMessage(playerid, -1"текст"); // Если причина больше 50 символов
       
    format(stringsizeof string"[SERVER] %s был кикнут администратором %s по причине: %s"Name(params[0]), Name(playerid), params[1]);
       
    SendClientMessageToAll(COLOR_LIGHTREDstring);
       
    Adminlog(playeridparams[0], "kick"0params[1]);
       
    Kick(params[0]);
       return 
    1;

    Спасибо. Насчет макросов - а так разве не легче? делать?, или же что у меня сделано? скажите пожалуйста и на счет табуляции - как именно её использовать?, я ведь всё волишь 1 команду написал - и уже использовать требуется табуляцию? . Сможете рассказать зачем вообще табуляция нужна? я просто мало про неё знаю, знаю только то что она вредит как будто

    - - - Добавлено - - -

    Цитата Сообщение от Mazzilla Посмотреть сообщение
    Поскольку ты решил тупо скатать мою команду, то держи мои же макросы:
    PHP код:
    #define SCM                         SendClientMessage
    #define COLOR_GREY                     0xAFAFAFAA
    #define MSG_NOADMIN(%0)                SCM(%0, COLOR_GREY, "[ERROR]: Вам недоступна эта команда!")
    #define MSG_NOLOGIN2(%0)            SCM(%0, COLOR_GREY, "[ERROR]: Данный игрок не найден!")
    #define MSG_NOACT(%0)                  SCM(%0, COLOR_GREY, "[ERROR]: Невозможное действие!")
    #define MSG_LONG(%0)                  SCM(%0, COLOR_GREY, "[ERROR]: Ваше сообщение слишком длинное!")
    #define f(%1,                         format(%1,sizeof(%1), 
    Спасибо что тоже откликнулись - я очень рад, а на счет макросов - как лучше и оптимизирование для мода будет, вариантом вашим - или же вариантом - Bublick_Public - я понимаю что макросом - команды будут короче в строках - но какой вариант лучше? или оба хороши?

  9. #7
    Аватар для Mazzilla
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.11.2013
    Адрес
    Нижневартовск
    Сообщений
    256
    Репутация:
    63 ±
    Цитата Сообщение от Rick Посмотреть сообщение
    Спасибо что тоже откликнулись - я очень рад, а на счет макросов - как лучше и оптимизирование для мода будет, вариантом вашим - или же вариантом - Bublick_Public - я понимаю что макросом - команды будут короче в строках - но какой вариант лучше? или оба хороши?
    Совершенно никакой разницы в данных макросах. Я их использую только для того, чтобы быстрее писать команды/функции.

 

 

Информация о теме

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

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •