|
Вопрос | Ответ
|
|
| TextDraw | Дата: Пятница, 20.04.2012, 21:41 | Сообщение # 4051 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 155
Награды: 0
Город: Draw
Репутация: 6
Замечания: 0%
Статус: 
| Borog, спасибо разобрался с массивом, а как теперь сделать, что бы набранное сообщение в диалоге сохранялось в scriptfiles в каком-нибудь файле cfg.? Добавлено (20.04.2012, 21:41) --------------------------------------------- Короче вот, что мне конкретно надо.
Code if(dialogid == 5) { if(response) { new paper = strval(inputtext); if(paper < 1 || paper > 10) { SendClientMessage(playerid, COLOR_GREY, "Номер не может быть ниже 1 и выше 10!"); return 1; } paper -= 1; if(PaperInfo[paper][PaperUsed] == 1){SendClientMessage(playerid, COLOR_GREY, "Издание под данным номером уже написано!");return 1;} WritingPaper[playerid] = 1; WritingPaperNumber[playerid] = paper; WritingLine[playerid] = 1; ShowPlayerDialog(playerid,6,DIALOG_STYLE_INPUT,"Печать Газеты","\tНапишите название\n\tВведите название в окно ","Ok","Cancel"); } }
if(dialogid == 6) { if(response) { new text = strval(inputtext); new nstring[256]; new fstring[MAX_PLAYER_NAME]; GetPlayerName(playerid, sendername, sizeof(sendername)); format(fstring, sizeof(fstring), "%s", sendername); strmid(PaperInfo[WritingPaperNumber[playerid]][PaperMaker], fstring, 0, strlen(fstring), 255); format(nstring, sizeof(nstring), "%s", text); strmid(PaperInfo[WritingPaperNumber[playerid]][PaperTitle], nstring, 0, strlen(nstring), 255); PaperInfo[WritingPaperNumber[playerid]][PaperUsed] = 1; SavePapers(); } }
Номер газеты и имя написавшего её сохраняются. Но при вводе в окно названия газеты, не сохраняется в papers.cfg - для сохранения используется вот это значение PaperTitle.
|
| |
|
|
| Borog | Дата: Пятница, 20.04.2012, 22:18 | Сообщение # 4052 |
|
Долгожитель
Группа:
I'm V.I.P.
Сообщений: 1362
Награды: 43
Город: Москва
Репутация: 1249
Замечания: 20%
Статус: 
| TextDraw, Тебе потребуется 2 вещи: 1) Паблик, который вызывается при любом экшене в диалоге OnDialogblablabla 2) Код сохранения данных в файл (вытащи там откуда-нибудь) Вуаля
Silver Break http://s-break.ru/ http://vk.com/sbreak
|
| |
|
|
| TextDraw | Дата: Пятница, 20.04.2012, 22:34 | Сообщение # 4053 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 155
Награды: 0
Город: Draw
Репутация: 6
Замечания: 0%
Статус: 
| Quote (Borog) 2) Код сохранения данных в файл (вытащи там откуда-нибудь) вытаскивал, но для диалогов текстовый обычный не катит. вот же пример моего кода.
|
| |
|
|
| Borog | Дата: Пятница, 20.04.2012, 22:41 | Сообщение # 4054 |
|
Долгожитель
Группа:
I'm V.I.P.
Сообщений: 1362
Награды: 43
Город: Москва
Репутация: 1249
Замечания: 20%
Статус: 
| TextDraw, Все катит. Просто надо понимать, что и зачем есть в коде. Например это: new text = strval(inputtext); Ты создаешь целочисленную переменную (в которой могут находится числа от -655** до 655**), и записываешь в нее полученную из вписанного в диалог текста цифру
Silver Break http://s-break.ru/ http://vk.com/sbreak
|
| |
|
|
| TextDraw | Дата: Пятница, 20.04.2012, 22:50 | Сообщение # 4055 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 155
Награды: 0
Город: Draw
Репутация: 6
Замечания: 0%
Статус: 
| Quote (Borog) new text = strval(inputtext); вот именно, мне кажется что из-за этой строчки нету результата записи в cfg
|
| |
|
|
| Borog | Дата: Пятница, 20.04.2012, 22:51 | Сообщение # 4056 |
|
Долгожитель
Группа:
I'm V.I.P.
Сообщений: 1362
Награды: 43
Город: Москва
Репутация: 1249
Замечания: 20%
Статус: 
| TextDraw, читаем внимательнее... Quote (Borog) Например это: new text = strval(inputtext); Ты создаешь целочисленную переменную (в которой могут находится числа от -655** до 655**), и записываешь в нее полученную из вписанного в диалог текста цифру
Silver Break http://s-break.ru/ http://vk.com/sbreak
|
| |
|
|
| TextDraw | Дата: Пятница, 20.04.2012, 22:52 | Сообщение # 4057 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 155
Награды: 0
Город: Draw
Репутация: 6
Замечания: 0%
Статус: 
| я создаю целочисленную переменную. а как она выглядит?
|
| |
|
|
| Borog | Дата: Пятница, 20.04.2012, 22:53 | Сообщение # 4058 |
|
Долгожитель
Группа:
I'm V.I.P.
Сообщений: 1362
Награды: 43
Город: Москва
Репутация: 1249
Замечания: 20%
Статус: 
| TextDraw, Так же, как и бесконечность
Silver Break http://s-break.ru/ http://vk.com/sbreak
|
| |
|
|
| TextDraw | Дата: Пятница, 20.04.2012, 22:56 | Сообщение # 4059 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 155
Награды: 0
Город: Draw
Репутация: 6
Замечания: 0%
Статус: 
| Quote (Borog) Так же, как и бесконечность извини, но для меня это исчерпывающая информация.
|
| |
|
|
| Borog | Дата: Пятница, 20.04.2012, 22:57 | Сообщение # 4060 |
|
Долгожитель
Группа:
I'm V.I.P.
Сообщений: 1362
Награды: 43
Город: Москва
Репутация: 1249
Замечания: 20%
Статус: 
| TextDraw, Могу только посочувствовать и посоветовать перечитать сообщение, которое мне пришлось безуспешно процитировать
Silver Break http://s-break.ru/ http://vk.com/sbreak
|
| |
|
|
| TextDraw | Дата: Пятница, 20.04.2012, 23:00 | Сообщение # 4061 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 155
Награды: 0
Город: Draw
Репутация: 6
Замечания: 0%
Статус: 
| Quote (Borog) TextDraw, Могу только посочувствовать и посоветовать перечитать сообщение, которое мне пришлось безуспешно процитировать я понимаю что в странах снг кризис и все работают за деньги и всё такое..., но это не очень та сложная задача помочь со столь простым вопросом для тебя во всяком случае. пример всего того что ты говорил выше можно увидить?
|
| |
|
|
| Borog | Дата: Пятница, 20.04.2012, 23:29 | Сообщение # 4062 |
|
Долгожитель
Группа:
I'm V.I.P.
Сообщений: 1362
Награды: 43
Город: Москва
Репутация: 1249
Замечания: 20%
Статус: 
| TextDraw, В странах СНГ все в валенках ваще ходят. Я не хочу делать за тебя. Я хочу, чтобы ты сделал сам. Поясню тебе эту строку, на которую не первый раз указываю твое внимание:
new a; // Создаем переменную для чисел new text; // все та же переменная для чисел, только с другим названием strval() // функция, которая получит из текста число, к примеру если есть текст "23", то он запишет в переменную 23 inputtext // в данном паблике, переменная, которая равна введенному в диалоге тексту
т.о. получается, что ты создаешь целочисленную переменную, из введенных данных получаешь число, которое ничего толкового, естественно, не вернет. И что дальше:
format(nstring, sizeof(nstring), "%s", text); Записываешь в массив nstring целочисленную переменную как текст.
Подсказка: new a = 3; // Создание переменной "a" со значением 3 для целых чисел new Float:b = 3.14; // Создание переменной "b" со значением 3.14 для дробных чисел new c[32] = "Hello, World"; // Создание массива "c" размерностью 32 и со значением "Hello, World" При этом 18 как цифра и "18" как текст - разные вещи
Ну и пример формата: new string[128]; format(string, sizeof(string), "Я изучаю павн уже %d года. Число ПИ равно %f. Тестовый текст в начале изучения программирования: %s", a, b, c);
p.s. Сделаешь сам, получишь от меня бонус
Silver Break http://s-break.ru/ http://vk.com/sbreak
Сообщение отредактировал Borog - Пятница, 20.04.2012, 23:33 |
| |
|
|
| Latron | Дата: Суббота, 21.04.2012, 00:15 | Сообщение # 4063 |
|
Группа:
I'm V.I.P.
Сообщений: 2115
Награды: 22
Город: Орел
Репутация: 1604
Замечания: 0%
Статус: 
| Можно и не указывать размерность ) new c[ ] = "Hello, World"; Но как пример новичку , ты правильно показал)
Моё портфолио
Мои работы: [ Lesson ] Операторы в PAWN. [ Lesson ] Переменная. [ GM ] RegSys. ( Last update: 21.04.2012 )
|
| |
|
|
| Kr[A]z | Дата: Суббота, 21.04.2012, 17:33 | Сообщение # 4064 |
|
Советчик
Группа:
Пользователи
Сообщений: 1203
Награды: 18
Город: Барнаул
Репутация: 1794
Замечания: 80%
Статус: 
| Borog, думаю ему еще стоит объяснить значения %s %d %f чтоб потом не было вопросов
|
| |
|
|
| Krow_lik | Дата: Суббота, 21.04.2012, 17:43 | Сообщение # 4065 |
|
Илитка SRC
Группа:
Media-ProGroup
Сообщений: 2246
Награды: 197
Город: НиНо
Репутация: 3625
Замечания: 0%
Статус: 
| Творог,хорошо написал.Хотелось бы видеть уроки именно в таком виде х)
|
| |
|
|