Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 6 из 6
  1. #1
    Аватар для Sanek
    Пользователь

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

    Не работают команды

    Здравствуйте уважаемые форумчане вот у меня возникла проблема перестали работать команды.
    /setname когда прописываешь пишет SERVER:Unkown command и не меняется ник.
    и команда /edit просто вообще не работает пишешь ее она не вылазиет из-за чего это может происходить?
    вроде в мод ничего такого не добавлял
    Команда /setname
    PHP код:
     else if(strcmp(cmd"/setname"true) == 0)
        {
            new 
    newname[128],stringo[128];
            if (
    PlayerInfo[playerid][pAdmin] >= 4)
            {
                
    tmp strtok(cmdtextidx);
                if(!
    strlen(tmp)) return SendClientMessage(playeridCOLOR_WHITE"{F74848}» Введите{FFFFFF}: /setname [ид]");
                
    giveplayerid ReturnUser(tmp);
                if(
    giveplayerid != INVALID_PLAYER_ID)
                {
                    
    GetPlayerName(giveplayeridgiveplayersizeof(giveplayer));
                    
    GetPlayerName(playeridsendernamesizeof(sendername));
                    new 
    length strlen(cmdtext);
                    while ((
    idx length) && (cmdtext[idx] <= ' '))
                    {
                        
    idx++;
                    }
                    {
                        
    format(stringo,sizeof(stringo),"users/%s.ini",newname);
                        if(
    fexist(stringo)) return SendClientMessage(playerid,COLOR_GREY,"Ник занят!");
                        
    GetPlayerName(playeridsendernamesizeof(sendername));
                        if(
    strlen(WantNickChange[giveplayerid]) < 3) return SendClientMessage(playerid,-1,"Этот игрок не хочет менять ник");
                        
    nick[giveplayerid] = 1;
                        
    format(changenam,sizeof(changenam),"%s",WantNickChange[giveplayerid]);
                        
    format(stringo,sizeof(stringo),"users/%s.ini",WantNickChange[giveplayerid]);
                        
    dini_Create(stringo);
                        
    ChangeName(giveplayerid);
                    }
                }
                else if(
    giveplayerid == INVALID_PLAYER_ID){ SendClientMessage(playeridCOLOR_GREY"Нет такого игрока!");}
            }
            return 
    true;
        } 
    Команда /edit
    PHP код:
     else if(strcmp(cmd"/edit"true) == 0)
        {
            if(
    PlayerInfo[playerid][pAdmin] == 11)
            return
            
    ShowPlayerDialog(playerid3725DIALOG_STYLE_LIST"Выберите действие""{FFFFFF}Продать все дома\nУстановить дому интеръер\nРаспределить все дома по классам\nРаспределить по интеръерам\nПродать все бизы\nУбрать дома по 0 вирт\nРаспределить цену домов от 599 номера""Далее""Закрыть");
            return 
    true;
        } 

  2. #2
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Что это у вас вообще?
    PHP код:
                    new length strlen(cmdtext); 
                    while ((
    idx length) && (cmdtext[idx] <= ' ')) 
                    { 
                        
    idx++; 
                    } 
                    { 
    Переписывайте команду и проблем не будет
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  3. #3
    Аватар для Pyce[X]
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.06.2014
    Сообщений
    6
    Репутация:
    1 ±
    PHP код:
    else if(strcmp(cmd"/edit"true) == 0)
    {
        if(
    PlayerInfo[playerid][pAdmin] == 11ShowPlayerDialog(playerid3725DIALOG_STYLE_LIST"Выберите действие""{FFFFFF}Продать все дома\nУстановить дому интеръер\nРаспределить все дома по классам\nРаспределить по интеръерам\nПродать все бизы\nУбрать дома по 0 вирт\nРаспределить цену домов от 599 номера""Далее""Закрыть");
        return 
    true;


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

    Статус
    Оффлайн
    Регистрация
    18.04.2014
    Сообщений
    52
    Репутация:
    0 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Что это у вас вообще?
    PHP код:
                    new length strlen(cmdtext); 
                    while ((
    idx length) && (cmdtext[idx] <= ' ')) 
                    { 
                        
    idx++; 
                    } 
                    { 
    Переписывайте команду и проблем не будет
    Все исправил,там был мой косяк,а вот /edit еще нет.

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

    Вроде все команда норм сделана,прописываешь ничего не появляется.
    Последний раз редактировалось Sanek; 02.06.2014 в 11:44.

  5. #5
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Та команда - одно большое недоразумение... Вот
    PHP код:
    else if(strcmp(cmd"/setname"true) == 0)
    {
        new    
    stringo[128];
        if(
    PlayerInfo[playerid][pAdmin] < 4) return SendClientMessage(playerid0xFF0000FF"Нет доступа");
        
    tmp strtok(cmdtextidx);
        if(!
    strlen(tmp)) return SendClientMessage(playeridCOLOR_WHITE"{F74848}» Введите{FFFFFF}: /setname [ид]");
        
    giveplayerid ReturnUser(tmp);
        if(!
    IsPlayerConnected(giveplayerid)) return SendClientMessage(playeridCOLOR_GREY"Нет такого игрока!");
        
    GetPlayerName(giveplayeridgiveplayersizeof(giveplayer));
        
    GetPlayerName(playeridsendernamesizeof(sendername));
        new 
    new_player_name[MAX_PLAYER_NAME+12];
        new 
    length strlen(string);
        while ((
    index length) && (string[index] <= ' '))
        {
            
    index++;
        }
        new 
    offset index;
        while ((
    index length) && ((index offset) < (sizeof(new_player_name) - 1)))
        {
            
    new_player_name[index offset] = string[index];
            
    index++;
        }
        
    new_player_name[index offset] = EOS;
        
    format(stringo,sizeof(stringo),"users/%s.ini",new_player_name);
        if(
    fexist(stringo)) return SendClientMessage(playerid,COLOR_GREY,"Ник занят!");
        if(
    strlen(WantNickChange[giveplayerid]) < 3) return SendClientMessage(playerid,-1,"Этот игрок не хочет менять ник");
        
    nick[giveplayerid] = 1;
        
    dini_Create(stringo);
        
    ChangeName(giveplayerid);
        return 
    true;

    Переписал код так, как понял его.
    И запомните, INVALID_PLAYER_ID хранит число 65535. И проверка "if(giveplayerid != invalid_player_id)" не поможет проверить то, находится ли игрок онлайн или нет. Для этого есть функция IsPlayerConnected, которая вернёт нуль, если в неё ввести значение, не равное ID игрока, который в сети

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

    PHP код:
    else if(strcmp(cmd"/edit"true) == 0)
    {
        if(
    PlayerInfo[playerid][pAdmin] != 11) return SendClientMessage(playerid0xFF0000FF"Нет доступа");
        
    ShowPlayerDialog(playerid3725DIALOG_STYLE_LIST"Выберите действие""{FFFFFF}Продать все дома\nУстановить дому интеръер\nРаспределить все дома по классам\nРаспределить по интеръерам\nПродать все бизы\nУбрать дома по 0 вирт\nРаспределить цену домов от 599 номера""Далее""Закрыть");
        return 
    1;

    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  6. #6
    Аватар для Sanek
    Пользователь

    Статус
    Оффлайн
    Регистрация
    18.04.2014
    Сообщений
    52
    Репутация:
    0 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Та команда - одно большое недоразумение... Вот
    PHP код:
    else if(strcmp(cmd"/setname"true) == 0)
    {
        new    
    stringo[128];
        if(
    PlayerInfo[playerid][pAdmin] < 4) return SendClientMessage(playerid0xFF0000FF"Нет доступа");
        
    tmp strtok(cmdtextidx);
        if(!
    strlen(tmp)) return SendClientMessage(playeridCOLOR_WHITE"{F74848}» Введите{FFFFFF}: /setname [ид]");
        
    giveplayerid ReturnUser(tmp);
        if(!
    IsPlayerConnected(giveplayerid)) return SendClientMessage(playeridCOLOR_GREY"Нет такого игрока!");
        
    GetPlayerName(giveplayeridgiveplayersizeof(giveplayer));
        
    GetPlayerName(playeridsendernamesizeof(sendername));
        new 
    new_player_name[MAX_PLAYER_NAME+12];
        new 
    length strlen(string);
        while ((
    index length) && (string[index] <= ' '))
        {
            
    index++;
        }
        new 
    offset index;
        while ((
    index length) && ((index offset) < (sizeof(new_player_name) - 1)))
        {
            
    new_player_name[index offset] = string[index];
            
    index++;
        }
        
    new_player_name[index offset] = EOS;
        
    format(stringo,sizeof(stringo),"users/%s.ini",new_player_name);
        if(
    fexist(stringo)) return SendClientMessage(playerid,COLOR_GREY,"Ник занят!");
        if(
    strlen(WantNickChange[giveplayerid]) < 3) return SendClientMessage(playerid,-1,"Этот игрок не хочет менять ник");
        
    nick[giveplayerid] = 1;
        
    dini_Create(stringo);
        
    ChangeName(giveplayerid);
        return 
    true;

    Переписал код так, как понял его.
    И запомните, INVALID_PLAYER_ID хранит число 65535. И проверка "if(giveplayerid != invalid_player_id)" не поможет проверить то, находится ли игрок онлайн или нет. Для этого есть функция IsPlayerConnected, которая вернёт нуль, если в неё ввести значение, не равное ID игрока, который в сети

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

    PHP код:
    else if(strcmp(cmd"/edit"true) == 0)
    {
        if(
    PlayerInfo[playerid][pAdmin] != 11) return SendClientMessage(playerid0xFF0000FF"Нет доступа");
        
    ShowPlayerDialog(playerid3725DIALOG_STYLE_LIST"Выберите действие""{FFFFFF}Продать все дома\nУстановить дому интеръер\nРаспределить все дома по классам\nРаспределить по интеръерам\nПродать все бизы\nУбрать дома по 0 вирт\nРаспределить цену домов от 599 номера""Далее""Закрыть");
        return 
    1;

    Спасибо большое вам.

 

 

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

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

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

Ваши права

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