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

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

    Проблема с диалогами ничего не происходит

    Здравствуйте уважаемые форумчане вот у меня такая проблема,я делаю что либо через диалог и ничего не работает вот например сделал раздевалку
    говно-инфо
    И когда выбирай скин за 5к он не дается вообще ничего не происходит из-за чего это может быть ?

    PHP код:
    if(dialogid == 2423)
            {
                if(
    response)
                {
                    if(
    listitem == 0)
                    {
                        
    SetPlayerSkin(playerid68);
                        
    SetPlayerHealth(playerid100);
                        
    GivePlayerWeapon(playerid15100);
                        
    SendClientMessage(playeridCOLOR_GREEN"Вы выбрали форму свещеника");
                        return 
    1;
                    } 
    Тут вроде бы все правильно правда переделал с
    PHP код:
    case 2423
    сделал
    PHP код:
    if(dialogid == 2423
    А вот в другом моде сделал где все case,а не if(dialogid все работает почему так?

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

    вообще что нибудь новое делаю по урокам там стоит

    PHP код:
     case 2423
    Я меняю на
    PHP код:
    if(dialogid == 2423
    И не работает подхожу нажимаю да ничего не появляется.
    Последний раз редактировалось L0ndl3m; 11.07.2014 в 15:55.

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

    Статус
    Оффлайн
    Регистрация
    07.03.2014
    Сообщений
    331
    Репутация:
    47 ±
    Цитата Сообщение от Sanek Посмотреть сообщение
    Здравствуйте уважаемые форумчане вот у меня такая проблема,я делаю что либо через диалог и ничего не работает вот например сделал раздевалку
    http://***********.ru/showthread.php?...E0%E1%EE%F2%E0
    павно-инфо.ру напишите там( не реклама)
    И когда выбирай скин за 5к он не дается вообще ничего не происходит из-за чего это может быть ?

    PHP код:
    if(dialogid == 2423)
            {
                if(
    response)
                {
                    if(
    listitem == 0)
                    {
                        
    SetPlayerSkin(playerid68);
                        
    SetPlayerHealth(playerid100);
                        
    GivePlayerWeapon(playerid15100);
                        
    SendClientMessage(playeridCOLOR_GREEN"Вы выбрали форму свещеника");
                        return 
    1;
                    } 
    Тут вроде бы все правильно правда переделал с
    PHP код:
    case 2423
    сделал
    PHP код:
    if(dialogid == 2423
    А вот в другом моде сделал где все case,а не if(dialogid все работает почему так?

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

    вообще что нибудь новое делаю по урокам там стоит

    PHP код:
     case 2423
    Я меняю на
    PHP код:
    if(dialogid == 2423
    И не работает подхожу нажимаю да ничего не появляется.
    PHP код:
    else if(dialogid == 2423
    Скорее всего где то выше стоит возврат и код обрывается не доходя до этого места.
    ставьте условие что я дал выше.
    "Власть, кровь, няш-мяш, кровь, власть, Крым наш!" - (c) Наталья Поклонская.

    Критик должен быть готов и способен в любой момент и по первому требованию занять место критикуемого им и выполнять его дело продуктивно и компетентно. В противном случае критика превращается в наглую, самодовлеющую силу и становится тормозом на пути прогресса. (с) AXE

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

    Статус
    Оффлайн
    Регистрация
    18.04.2014
    Сообщений
    52
    Репутация:
    0 ±
    все равно не работают диалоги подхожу он вкл но нажимаю да нет не отвечает.

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

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

  5. #5
    Аватар для Edwin
    Пользователь

    Статус
    Оффлайн
    Регистрация
    14.02.2014
    Адрес
    Беларусь
    Сообщений
    196
    Репутация:
    22 ±
    Ну кинь весь паблик

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

    И вызов диалога

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

    Статус
    Оффлайн
    Регистрация
    18.04.2014
    Сообщений
    52
    Репутация:
    0 ±
    секу
    Последний раз редактировалось Sanek; 11.07.2014 в 19:39.

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

    Статус
    Оффлайн
    Регистрация
    14.02.2014
    Адрес
    Беларусь
    Сообщений
    196
    Репутация:
    22 ±
    Паблик и вызов диалога

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

    Статус
    Оффлайн
    Регистрация
    18.04.2014
    Сообщений
    52
    Репутация:
    0 ±
    PHP код:
      public OnDialogResponse(playeriddialogidresponselistiteminputtext[])
    {
        if(
    IsPlayerNPC(playerid)) return true;
        if(
    dialogids[playerid] == dialogid)
        {
            
    dialogids[playerid] = 0;
            if(
    strfind(inputtext,"%",true) != -|| strfind(inputtext"'",true) != -|| strfind(inputtext"=",true) != -1) return send(playeridCOLOR_RED"Вы используете запрещенные символы.");
            new 
    string[300];
            if(
    dialogid == 9237)
            {
                if(!
    response)
                {
                    
    SetPlayerSkin(playerid,PlayerInfo[playerid][pChar]);
                    
    SetCameraBehindPlayer(playerid),SetPlayerPosServer(playerid,210.4333,-8.9053,1005.2109);
                    
    SetPlayerFacingAngle(playerid,143.9225),SetPlayerInterior(playerid,5);
                    
    SelectCharPlace[playerid] = 0,SelectCharID[playerid] = 0,SelectChar[playerid] = 0;
                    
    TogglePlayerControllable(playerid1);
                    return 
    true;
                }
                
    PlayerPlaySound(playerid10550.00.00.0);
                
    PlayerInfo[playerid][pChar] = GetPlayerSkin(playerid);
                
    SetCameraBehindPlayer(playerid),SetPlayerPosServer(playerid,210.4333,-8.9053,1005.2109);
                
    SetPlayerFacingAngle(playerid,143.9225),SetPlayerInterior(playerid,5);
                
    SelectCharPlace[playerid] = 0,SelectCharID[playerid] = 0,SelectChar[playerid] = 0;
                
    TogglePlayerControllable(playerid1);
                return 
    true;
            }
            if(
    dialogid == DIALOG_SPEC_KICK)
            {
                if(!
    response) return true;
                if(
    PlayerInfo[playerid][pAdmin] >= 1)
                {
                    new 
    mess[128];
                    
    format(messsizeof(mess), "/kick %i %s",SpecAd[playerid],inputtext);
                    
    CallLocalFunction("OnPlayerCommandText""is"playeridmess);
                }
                return 
    true;
            }
            if(
    dialogid == 27)
            {
                if(
    response)
                {
                    if(
    GetPVarInt(playerid"beach") == 0)
                    {
                        
    SetPVarInt(playerid"beach",1);
                        
    SetPVarInt(playerid"pack",0);
                        
    SetPVarInt(playerid"skin_old"GetPlayerSkin(playerid));
                        
    SetPlayerSkin(playerid16);
                        
    TextDrawShowForPlayer(playerid,job_td[playerid]);
                        
    format(string,sizeof(string),"Mycop: %d~n~$: %d",GetPVarInt(playerid"pack"),GetPVarInt(playerid"pack")*4);
                        
    TextDrawSetString(job_td[playerid], string);
                        
    SendClientMessage(playerid,0xCECFCEFF"Рабочий день {63cb00}начат.");
                        
    SetPlayerAttachedObject(playerid1126460.189000, -0.0140000.00000090.000000, -90.5000000.0000000.2,0.20.2);
                        
    coord_obj[playerid][0] = 0.2,coord_obj[playerid][1] = 0.2;
                    }
                    else
                    {
                        if(
    GetPVarInt(playerid"beach") == 0) return SendClientMessage(playerid0xCECFCEFF"Ошибка! Вы еще не работаете уборщиком");
                        
    PlayerInfo[playerid][pCash] += GetPVarInt(playerid"pack")*4;
                        
    TextDrawHideForPlayer(playerid,job_td[playerid]);
                        
    format(string,sizeof(string), "Вы заработали: {63cb00}%d$"GetPVarInt(playerid"pack")*4);
                        
    SendClientMessage(playerid0xCECFCEFFstring);
                        
    RemovePlayerAttachedObject(playerid,1);
                        
    SetPlayerSkin(playeridGetPVarInt(playerid"skin_old"));
                        
    DeletePVar(playerid"pack");
                        
    DeletePVar(playerid"beach");
                        
    DeletePVar(playerid"trash");
                    }
                }
            } 
    вот там есть
    PHP код:
     if(dialogid == 27
    Он раньше была case 27:
    я переделал

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

    Статус
    Оффлайн
    Регистрация
    14.02.2014
    Адрес
    Беларусь
    Сообщений
    196
    Репутация:
    22 ±
    Цитата Сообщение от Sanek Посмотреть сообщение
    PHP код:
      public OnDialogResponse(playeriddialogidresponselistiteminputtext[])
    {
        if(
    IsPlayerNPC(playerid)) return true;
        if(
    dialogids[playerid] == dialogid)
        {
            
    dialogids[playerid] = 0;
            if(
    strfind(inputtext,"%",true) != -|| strfind(inputtext"'",true) != -|| strfind(inputtext"=",true) != -1) return send(playeridCOLOR_RED"Вы используете запрещенные символы.");
            new 
    string[300];
            if(
    dialogid == 9237)
            {
                if(!
    response)
                {
                    
    SetPlayerSkin(playerid,PlayerInfo[playerid][pChar]);
                    
    SetCameraBehindPlayer(playerid),SetPlayerPosServer(playerid,210.4333,-8.9053,1005.2109);
                    
    SetPlayerFacingAngle(playerid,143.9225),SetPlayerInterior(playerid,5);
                    
    SelectCharPlace[playerid] = 0,SelectCharID[playerid] = 0,SelectChar[playerid] = 0;
                    
    TogglePlayerControllable(playerid1);
                    return 
    true;
                }
                
    PlayerPlaySound(playerid10550.00.00.0);
                
    PlayerInfo[playerid][pChar] = GetPlayerSkin(playerid);
                
    SetCameraBehindPlayer(playerid),SetPlayerPosServer(playerid,210.4333,-8.9053,1005.2109);
                
    SetPlayerFacingAngle(playerid,143.9225),SetPlayerInterior(playerid,5);
                
    SelectCharPlace[playerid] = 0,SelectCharID[playerid] = 0,SelectChar[playerid] = 0;
                
    TogglePlayerControllable(playerid1);
                return 
    true;
            }
            if(
    dialogid == DIALOG_SPEC_KICK)
            {
                if(!
    response) return true;
                if(
    PlayerInfo[playerid][pAdmin] >= 1)
                {
                    new 
    mess[128];
                    
    format(messsizeof(mess), "/kick %i %s",SpecAd[playerid],inputtext);
                    
    CallLocalFunction("OnPlayerCommandText""is"playeridmess);
                }
                return 
    true;
            }
            if(
    dialogid == 27)
            {
                if(
    response)
                {
                    if(
    GetPVarInt(playerid"beach") == 0)
                    {
                        
    SetPVarInt(playerid"beach",1);
                        
    SetPVarInt(playerid"pack",0);
                        
    SetPVarInt(playerid"skin_old"GetPlayerSkin(playerid));
                        
    SetPlayerSkin(playerid16);
                        
    TextDrawShowForPlayer(playerid,job_td[playerid]);
                        
    format(string,sizeof(string),"Mycop: %d~n~$: %d",GetPVarInt(playerid"pack"),GetPVarInt(playerid"pack")*4);
                        
    TextDrawSetString(job_td[playerid], string);
                        
    SendClientMessage(playerid,0xCECFCEFF"Рабочий день {63cb00}начат.");
                        
    SetPlayerAttachedObject(playerid1126460.189000, -0.0140000.00000090.000000, -90.5000000.0000000.2,0.20.2);
                        
    coord_obj[playerid][0] = 0.2,coord_obj[playerid][1] = 0.2;
                    }
                    else
                    {
                        if(
    GetPVarInt(playerid"beach") == 0) return SendClientMessage(playerid0xCECFCEFF"Ошибка! Вы еще не работаете уборщиком");
                        
    PlayerInfo[playerid][pCash] += GetPVarInt(playerid"pack")*4;
                        
    TextDrawHideForPlayer(playerid,job_td[playerid]);
                        
    format(string,sizeof(string), "Вы заработали: {63cb00}%d$"GetPVarInt(playerid"pack")*4);
                        
    SendClientMessage(playerid0xCECFCEFFstring);
                        
    RemovePlayerAttachedObject(playerid,1);
                        
    SetPlayerSkin(playeridGetPVarInt(playerid"skin_old"));
                        
    DeletePVar(playerid"pack");
                        
    DeletePVar(playerid"beach");
                        
    DeletePVar(playerid"trash");
                    }
                }
            } 
    вот там есть
    PHP код:
     if(dialogid == 27
    Он раньше была case 27:
    я переделал
    А зачем?
    Кейсы и побыстрее будут
    Я бы посоветовал:
    Код HTML:
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
        if(IsPlayerNPC(playerid)) return true;
        switch(dialogid)
        {
            new string[300];
            case 9237:
            {
                if(!response)
                {
                    SetPlayerSkin(playerid,PlayerInfo[playerid][pChar]);
                    SetCameraBehindPlayer(playerid),SetPlayerPosServer(playerid,210.4333,-8.9053,1005.2109);
                    SetPlayerFacingAngle(playerid,143.9225),SetPlayerInterior(playerid,5);
                    SelectCharPlace[playerid] = 0,SelectCharID[playerid] = 0,SelectChar[playerid] = 0;
                    TogglePlayerControllable(playerid, 1);
                    return true;
                }
                PlayerPlaySound(playerid, 1055, 0.0, 0.0, 0.0);
                PlayerInfo[playerid][pChar] = GetPlayerSkin(playerid);
                SetCameraBehindPlayer(playerid),SetPlayerPosServer(playerid,210.4333,-8.9053,1005.2109);
                SetPlayerFacingAngle(playerid,143.9225),SetPlayerInterior(playerid,5);
                SelectCharPlace[playerid] = 0,SelectCharID[playerid] = 0,SelectChar[playerid] = 0;
                TogglePlayerControllable(playerid, 1);
                return true;
            }
            case DIALOG_SPEC_KICK:
            {
                if(!response) return true;
                if(PlayerInfo[playerid][pAdmin] >= 1)
                {
                    new mess[128];
                    format(mess, sizeof(mess), "/kick %i %s",SpecAd[playerid],inputtext);
                    CallLocalFunction("OnPlayerCommandText", "is", playerid, mess);
                }
                return true;
            }
            case 27:
            {
                if(response)
                {
                    if(GetPVarInt(playerid, "beach") == 0)
                    {
                        SetPVarInt(playerid, "beach",1);
                        SetPVarInt(playerid, "pack",0);
                        SetPVarInt(playerid, "skin_old", GetPlayerSkin(playerid));
                        SetPlayerSkin(playerid, 16);
                        TextDrawShowForPlayer(playerid,job_td[playerid]);
                        format(string,sizeof(string),"Mycop: %d~n~$: %d",GetPVarInt(playerid, "pack"),GetPVarInt(playerid, "pack")*4);
                        TextDrawSetString(job_td[playerid], string);
                        SendClientMessage(playerid,0xCECFCEFF, "Рабочий день {63cb00}начат.");
                        SetPlayerAttachedObject(playerid, 1, 1264, 6, 0.189000, -0.014000, 0.000000, 90.000000, -90.500000, 0.000000, 0.2,0.2, 0.2);
                        coord_obj[playerid][0] = 0.2,coord_obj[playerid][1] = 0.2;
                    }
                    else
                    {
                        if(GetPVarInt(playerid, "beach") == 0) return SendClientMessage(playerid, 0xCECFCEFF, "Ошибка! Вы еще не работаете уборщиком");
                        PlayerInfo[playerid][pCash] += GetPVarInt(playerid, "pack")*4;
                        TextDrawHideForPlayer(playerid,job_td[playerid]);
                        format(string,sizeof(string), "Вы заработали: {63cb00}%d$", GetPVarInt(playerid, "pack")*4);
                        SendClientMessage(playerid, 0xCECFCEFF, string);
                        RemovePlayerAttachedObject(playerid,1);
                        SetPlayerSkin(playerid, GetPVarInt(playerid, "skin_old"));
                        DeletePVar(playerid, "pack");
                        DeletePVar(playerid, "beach");
                        DeletePVar(playerid, "trash");
                    }
                }
            }
    	}
    	return 1;
    }

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

    Статус
    Оффлайн
    Регистрация
    18.04.2014
    Сообщений
    52
    Репутация:
    0 ±
    И что мне сейчас так все заного написать?

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

    У меня много if(dialogid ==
    И что мне их переделывать все в case? есть какой нибудь другой вариант?

 

 
Страница 1 из 3 1 2 3 ПоследняяПоследняя

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

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

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

Ваши права

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