18.10.2010, 14:45
(
Последний раз редактировалось StDIABLO; 18.10.2010 в 15:29.
Причина: очепятки)
)
Итак зашел я както на серв какойто не помню и там на альт была менюшка клевая там все основные команды помощь и прочее в ней было, загорелся на свой сервер поставить, исходников никаких не нашел пришлось делать самому итак дано
дальше обработка этого пипбоя
какието проблемы с кодировкой русского языка ну ладно
итак чтобы было более понятно что я хочу сделать на альт нажимаеш вылазит менюшка потом нажимаеш на одну из строчек (в данном случае вызвать абонента) вылазит окошко с запросом номера
задумано это только с одной целью - постепенно расширяя функционал менюшки полностью отказаться от текстовых сообщений
и вот тут то у меня и проблема у меня есть /call XXXXX что я делаю, выдергиваю номер приклеиваю к нему /call и отправляю в OnPlayerCommandText(playerid, string)
ошибки нет впринципе и внутри игры все работает компилируется без ошибок но со следующим текстом
а без строчки OnPlayerCommandText(playerid, string) компилируется отлично, так вот вопрос можно ли как нибудь по другому передать данные, или сделать так как будто игрок написал /call XXXXX
зараниее спасибо
Код:
public OnPlayerKeyStateChange ....... else if(newkeys == KEY_WALK) //alt тут вызываем пип бой :) с функциями { ShowPlayerDialog(playerid,3000,DIALOG_STYLE_LIST,"Pip-Boy 3000","1. Ïîìîùü\r\n2. Âûçâàòü\r\n3. Âûçâàòü ñîáåñåäíèêà\r\n4. Îòïðàâèòü ÑÌÑ\r\n5. Îòêðûòü âîðîòà èñïîëüçóÿ BT","Äàëåå", "Âûõîä"); } /* else if((newkeys & KEY_WALK) && (newkeys & KEY_CROUCH) && IsPlayerInAnyVehicle(playerid) == 1) { ShowPlayerDialog(playerid,3000,DIALOG_STYLE_LIST,"Pip-Boy 3000","1. Ïîìîùü\r\n2. Âûçâàòü\r\n 3. Âûçâàòü ñîáåñåäíèêà\r\n4. Îòïðàâèòü ÑÌÑ\r\n5. Îòêðûòü âîðîòà èñïîëüçóÿ BT","Äàëåå", "Âûõîä"); }*/
Код:
if(dialogid == 3006) // pipboy3000 call xxxxx menu { if(response) { strmid(Typed[playerid], inputtext, 0, strlen(inputtext), 255); format(string, sizeof(string), "/call %d", inputtext); OnPlayerCommandText(playerid, string); } else // вызываем главное меню пипбоя :) (тут пока рыба) { // dialogid = 3000; } } if(dialogid == 3000) // pipboy3000 main menu { if(response) { switch (listitem) { case 0: //ïîìîùü /help. stats { } case 1: //âûçîâ òàêñè ìåíòîâ ìåäîâ ïîæàðíûõ òåõíèêîâ :) /call 333 .... { } case 2: // аналог /call XXXXX { ShowPlayerDialog(playerid, 3006, DIALOG_STYLE_INPUT,"Ïîçâîíèòü","Êîìó áóäåì çâîíèòü? \n Ââåäèòå íîìåð òåëåôîíà äëÿ çâîíêà","Ïîçâîíèòü","Íàçàä"); } case 3: { } case 4: { } case 5: { } } } }
итак чтобы было более понятно что я хочу сделать на альт нажимаеш вылазит менюшка потом нажимаеш на одну из строчек (в данном случае вызвать абонента) вылазит окошко с запросом номера
задумано это только с одной целью - постепенно расширяя функционал менюшки полностью отказаться от текстовых сообщений
и вот тут то у меня и проблема у меня есть /call XXXXX что я делаю, выдергиваю номер приклеиваю к нему /call и отправляю в OnPlayerCommandText(playerid, string)
Код:
strmid(Typed[playerid], inputtext, 0, strlen(inputtext), 255); format(string, sizeof(string), "/call %d", inputtext); OnPlayerCommandText(playerid, string)
Код:
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase Header size: 15844 bytes Code size: 3233172 bytes Data size: 15909744 bytes Stack/heap size: 16384 bytes; estimated max. usage=5187 cells (20748 bytes) Total requirements:19175144 bytes
зараниее спасибо