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

Реклама


**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 200руб/мес, Текстовая 100руб/мес.
Показано с 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
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Что это у вас вообще?
    PHP код:
                    new length strlen(cmdtext); 
                    while ((
    idx length) && (cmdtext[idx] <= ' ')) 
                    { 
                        
    idx++; 
                    } 
                    { 
    Переписывайте команду и проблем не будет
    Связаться со мной можно в личных сообщениях этой группы

    Широко известно, что идеи стоят 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
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Та команда - одно большое недоразумение... Вот
    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;

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

    Широко известно, что идеи стоят 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)

Ваши права

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