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

    Статус
    Оффлайн
    Регистрация
    01.02.2014
    Адрес
    Татарстан
    Сообщений
    171
    Репутация:
    0 ±

    Как записать текст в переменную игрока.

    Вот код мой:
    PHP код:
    format(string,sizeof(string),"Account/%s.ini"playername);
                    new 
    File ini_openFile(string);
                    
    ini_setString(File"Skype"inputtext);
                    
    ini_closeFile(File);
                    
    PlayerInfo[playerid][pSkype] = strval(inputtext); 
    Правильно ли?Текст не записывается,почему то в переменную

  2. #2
    Аватар для Desulaid
    лесоруб продакшен

    Статус
    Оффлайн
    Регистрация
    15.03.2015
    Адрес
    Slobodskoy
    Сообщений
    667
    Репутация:
    236 ±
    Это диалог?

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

    PHP код:
    // как глобальная переменная
    // помните! по типу массива!
    new /* переменная [кол-во ячеек]; */

    // все что мы ввели в диалог
    // сохраним в переменную
    strmid(/* переменная */inputtext0strlen(inputtext), /* кол-во символов */);
    // далее выполняйте различные манипуляции с этой переменной

    // string = 15 + MAX_PLAYER_NAME
    format(string,sizeof(string),"Account/%s.ini"playername); 
    new 
    File ini_openFile(string); 
    ini_setString(File"Skype"/* переменная */); 
    ini_closeFile(File); 
    Последний раз редактировалось Desulaid; 05.06.2015 в 00:09.

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

    Статус
    Оффлайн
    Регистрация
    01.02.2014
    Адрес
    Татарстан
    Сообщений
    171
    Репутация:
    0 ±
    Сделал вот так,как ты сказал записались вообще не туда вот код
    PHP код:
    strmid(PlayerInfo[playerid][pMail], inputtext0strlen(inputtext), 32);
                    
    format(string,sizeof(string),"Account/%s.ini"playername);
                    new 
    File ini_openFile(string);
                    
    ini_setString(File"Mail"PlayerInfo[playerid][pMail]);
                    
    ini_closeFile(File); 

  4. #4
    Аватар для Desulaid
    лесоруб продакшен

    Статус
    Оффлайн
    Регистрация
    15.03.2015
    Адрес
    Slobodskoy
    Сообщений
    667
    Репутация:
    236 ±
    Цитата Сообщение от Aidar223 Посмотреть сообщение
    Сделал вот так,как ты сказал записались вообще не туда вот код
    PHP код:
    strmid(PlayerInfo[playerid][pMail], inputtext0strlen(inputtext), 32);
                    
    format(string,sizeof(string),"Account/%s.ini"playername);
                    new 
    File ini_openFile(string);
                    
    ini_setString(File"Mail"PlayerInfo[playerid][pMail]);
                    
    ini_closeFile(File); 
    Как понять вообще не туда?

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

    Статус
    Оффлайн
    Регистрация
    01.02.2014
    Адрес
    Татарстан
    Сообщений
    171
    Репутация:
    0 ±
    Ну,я записывал в pMail,а получилось вот так:
    Mail = asdasdasd
    Skype = sdasdasd
    Vkontakte = dasdasd
    PinCod = 97
    Uznal = sdasd

  6. #6
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Ну так pMail - это ж строковая переменная (массив символов), а значит и объявлять его надо, как массив, а не как обычную переменную.
    Код:
    enum pInfo
    {
        // ...
        pMail[255], // макс длина названия почтового ящика - 254 символа (+1 под символ конца строки)
        // ...
    }
    Со Skype, VK и прочей ересью поступать точно так же. Разве что только размеры массивов не обязательно делать настолько огромными.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  7. Пользователь сказал cпасибо:
    #NickName (05.06.2015)
  8. #7
    Аватар для Desulaid
    лесоруб продакшен

    Статус
    Оффлайн
    Регистрация
    15.03.2015
    Адрес
    Slobodskoy
    Сообщений
    667
    Репутация:
    236 ±
    Цитата Сообщение от Aidar223 Посмотреть сообщение
    Ну,я записывал в pMail,а получилось вот так:
    Mail = asdasdasd
    Skype = sdasdasd
    Vkontakte = dasdasd
    PinCod = 97
    Uznal = sdasd
    Ты писал "Правильно ли?Текст не записывается,почему то в переменную". Ну а сейчас все записывается. Ну на всякий случай можно проверить
    PHP код:
    strmid(PlayerInfo[playerid][pMail], inputtext0strlen(inputtext), 32);
    printf("И что же у нас тут? Все понятно - %s"PlayerInfo[playerid][pMail]); 
    // или можно сендить
    // SendClientMessage + format
    format(string,sizeof(string),"Account/%s.ini"playername);
    new 
    File ini_openFile(string);
    ini_setString(File"Mail"PlayerInfo[playerid][pMail]);
    ini_closeFile(File); 
    Если все записывает, то супер же. scripter lelev up. Или ты имеешь в виду, что символы "@" и "." не записывает? Говори все конкретно и с конкретными примерами1!1

  9. Пользователь сказал cпасибо:
    #NickName (05.06.2015)
  10. #8
    Аватар для #NickName
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.02.2014
    Адрес
    Татарстан
    Сообщений
    171
    Репутация:
    0 ±
    Daniel_Cortez,ты самый классный скриптер,которого я знаю.И который может помочь.Возьму на заметку и проверю сейчас работу.

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

    Статус
    Оффлайн
    Регистрация
    01.02.2014
    Адрес
    Татарстан
    Сообщений
    171
    Репутация:
    0 ±
    Вот такая проблема у меня в моде,когда я нажимаю кнопку у меня выскакивает неправильно записанный текст.Вот кнопка с диалогом:
    PHP код:
    else
                {
                    new 
    ttext[27],vozrastt[40],strana[60],region[27],uznal[53];
                    new 
    mail PlayerInfo[playerid][pMail];
                    new 
    skype PlayerInfo[playerid][pSkype];
                    new 
    pincod PlayerInfo[playerid][pPinCod];
                    new 
    vkcom PlayerInfo[playerid][pVkontakte];
                    switch(
    PlayerInfo[playerid][pSex])
                    {
                           case 
    0: {ttext "{FFFFFF}НЕТ ДАННЫХ{FF0000}";}
                           case 
    1: {ttext "{00FF00}Мужской{FF0000}";}
                           case 
    2: {ttext "{00FF00}Женский{FF0000}";}
                    }
                    switch(
    PlayerInfo[playerid][pVozrast])
                    {
                        case 
    0: {vozrastt "{FF0000}НЕТ ДАННЫХ{FF0000}";}
                        case 
    1..50:
                        {
                            
    format(vozrasttsizeof(vozrastt), "{00FF00}%i{FF0000}"PlayerInfo[playerid][pVozrast]);
                        }
                    }
                    switch(
    PlayerInfo[playerid][pRegion])
                    {
                        case 
    0: {region "{FFFFFF}НЕТ ДАННЫХ{FF0000}";}
                        case 
    1..999:
                        {
                            
    format(regionsizeof(region), "{00FF00}%i{FF0000}"PlayerInfo[playerid][pRegion]);
                        }
                    }
                    switch(
    PlayerInfo[playerid][pUznal])
                    {
                        case 
    0:{uznal "{00FF00}Пригласил в игру друг{FF0000}";}
                        case 
    1:{uznal "{00FF00}Нашёл в поисковой системе{FF0000}";}
                        case 
    2:{uznal "{00FF00}Нашёл в социальной сети Вконтакте{FF0000}";}
                        case 
    3:{uznal "{00FF00}Нашёл в списке серверов SA:MP Client{FF0000}";}
                        case 
    4:{uznal "{00FF00}Другое{FF0000}";}
                    }
                    switch(
    PlayerInfo[playerid][pStrana])
                    {
                        case 
    0: {strana "{FFFFFF}НЕТ ДАННЫХ{FF0000}";}
                        case 
    1: {strana "{00FF00}Россия{FF0000}";}
                        case 
    2: {strana "{00FF00}Украина{FF0000}";}
                        case 
    3: {strana "{00FF00}Казахстан{FF0000}";}
                        case 
    4: {strana "{00FF00}Белорусия{FF0000}";}
                        case 
    5: {strana "{00FF00}Германия{FF0000}";}
                    }
                    
    format(string,sizeof(string),"Пол{FF0000}*\t[%s]\nВозраст{FF0000}*\t[%s]\nСтрана{FF0000}*\t[%s]\nРегион{FF0000}*\t[%s]\nEmail{FF0000}*\t[%s]\nSkype{FF0000}*\t[%s]\nСтраница vk.com{FF0000}*\t[%s]\nПин-код{FF0000}*\t[{00FF00}%i{FF0000}]\nОткуда вы узнали о Revolution?{FF0000}*[%s]\n",ttext,vozrastt,strana,region,mail,skype,vkcom,pincod,uznal);
                    
    SPD(playerid,3,DSL,"Анкета",string,"ВЫБОР","Проверить");
                    
    SelectDialog[playerid]--;
                } 
    Почему совпали выражения???Вот так выскакивает у меня







    Вот диалог:
    PHP код:
    case 9://Skype
            
    {
                if(
    response)
                {
                    
    strmid(PlayerInfo[playerid][pSkype], inputtext0strlen(inputtext), 64);
                    
    format(string,sizeof(string),"Account/%s.ini"playername);
                    new 
    File ini_openFile(string);
                    
    ini_setString(File"Skype"PlayerInfo[playerid][pSkype]);
                    
    ini_closeFile(File);
                }
                else
                {
                    
    format(string,sizeof(string),"Пол{FF0000}*\t[%s]\nВозраст{FF0000}*\t[%s]\nСтрана{FF0000}*\t[%s]\nРегион{FF0000}*\t[%s]\nEmail{FF0000}*\t[%s]\nSkype{FF0000}*\t[%s]\nСтраница vk.com{FF0000}*\t[%s]\nПин-код{FF0000}*\t[{00FF00}%i{FF0000}]\nОткуда вы узнали о Revolution?{FF0000}*[%s]\n");
                    
    SPD(playerid,3,DSL,"Анкета",string,"ВЫБОР","Проверить");
                }
                
    format(string,sizeof(string),"Пол{FF0000}*\t[%s]\nВозраст{FF0000}*\t[%s]\nСтрана{FF0000}*\t[%s]\nРегион{FF0000}*\t[%s]\nEmail{FF0000}*\t[%s]\nSkype{FF0000}*\t[%s]\nСтраница vk.com{FF0000}*\t[%s]\nПин-код{FF0000}*\t[{00FF00}%i{FF0000}]\nОткуда вы узнали о Revolution?{FF0000}*[%s]\n");
                
    SPD(playerid,3,DSL,"Анкета",string,"ВЫБОР","Проверить");
            } 
    Вот диалог вк:
    PHP код:
    case 10://VK
            
    {
                if(
    response)
                {
                    
    strmid(PlayerInfo[playerid][pVkontakte], inputtext0strlen(inputtext), 64);
                    
    format(string,sizeof(string),"Account/%s.ini"playername);
                    new 
    File ini_openFile(string);
                    
    ini_setString(File"VkID"PlayerInfo[playerid][pVkontakte]);
                    
    ini_closeFile(File);
                }
                else
                {
                    
    format(string,sizeof(string),"Пол{FF0000}*\t[%s]\nВозраст{FF0000}*\t[%s]\nСтрана{FF0000}*\t[%s]\nРегион{FF0000}*\t[%s]\nEmail{FF0000}*\t[%s]\nSkype{FF0000}*\t[%s]\nСтраница vk.com{FF0000}*\t[%s]\nПин-код{FF0000}*\t[{00FF00}%i{FF0000}]\nОткуда вы узнали о Revolution?{FF0000}*[%s]\n");
                    
    SPD(playerid,3,DSL,"Анкета",string,"ВЫБОР","Проверить");
                }
                
    format(string,sizeof(string),"Пол{FF0000}*\t[%s]\nВозраст{FF0000}*\t[%s]\nСтрана{FF0000}*\t[%s]\nРегион{FF0000}*\t[%s]\nEmail{FF0000}*\t[%s]\nSkype{FF0000}*\t[%s]\nСтраница vk.com{FF0000}*\t[%s]\nПин-код{FF0000}*\t[{00FF00}%i{FF0000}]\nОткуда вы узнали о Revolution?{FF0000}*[%s]\n");
                
    SPD(playerid,3,DSL,"Анкета",string,"ВЫБОР","Проверить");
            } 
    Вот диалог майла:
    PHP код:
    case 8://Mail
            
    {
                if(
    response)
                {
                    if(!
    strlen(inputtext) || strlen(inputtext) < || strval(inputtext) > 20) return SPD(playerid,8,DSI,"Электронная почта(мыло)","Адрес электронной почты начинается с 1 до 20:","ОК","Назад");
                    
    strmid(PlayerInfo[playerid][pMail], inputtext0strlen(inputtext), 64);
                    
    format(string,sizeof(string),"Account/%s.ini"playername);
                    new 
    File ini_openFile(string);
                    
    ini_setString(File"Mail"PlayerInfo[playerid][pMail]);
                    
    ini_closeFile(File);
                }
                else
                {
                       
    format(string,sizeof(string),"Пол{FF0000}*\t[%s]\nВозраст{FF0000}*\t[%s]\nСтрана{FF0000}*\t[%s]\nРегион{FF0000}*\t[%s]\nEmail{FF0000}*\t[%s]\nSkype{FF0000}*\t[%s]\nСтраница vk.com{FF0000}*\t[%s]\nПин-код{FF0000}*\t[{00FF00}%i{FF0000}]\nОткуда вы узнали о Revolution?{FF0000}*[%s]\n");
                    
    SPD(playerid,3,DSL,"Анкета",string,"ВЫБОР","Проверить");
                }
                
    format(string,sizeof(string),"Пол{FF0000}*\t[%s]\nВозраст{FF0000}*\t[%s]\nСтрана{FF0000}*\t[%s]\nРегион{FF0000}*\t[%s]\nEmail{FF0000}*\t[%s]\nSkype{FF0000}*\t[%s]\nСтраница vk.com{FF0000}*\t[%s]\nПин-код{FF0000}*\t[{00FF00}%i{FF0000}]\nОткуда вы узнали о Revolution?{FF0000}*[%s]\n");
                
    SPD(playerid,3,DSL,"Анкета",string,"ВЫБОР","Проверить");
            } 
    Последний раз редактировалось #NickName; 05.06.2015 в 23:03.

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

    Статус
    Оффлайн
    Регистрация
    01.02.2014
    Адрес
    Татарстан
    Сообщений
    171
    Репутация:
    0 ±
    Закрывайте тему.Решение было,вот эти переменные
    PHP код:
    new mail PlayerInfo[playerid][pMail];
                    new 
    skype PlayerInfo[playerid][pSkype];
                    new 
    pincod PlayerInfo[playerid][pPinCod];
                    new 
    vkcom PlayerInfo[playerid][pVkontakte]; 
    удалить и добавить их в дефайны
    PHP код:
    #define mail  PlayerInfo[playerid][pMail]
    #define skype  PlayerInfo[playerid][pSkype]
    #define pincod PlayerInfo[playerid][pPinCod]
    #define vkcom PlayerInfo[playerid][pVkontakte] 

 

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

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

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

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

Ваши права

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