|
ShowPlayerDialog и OnDialogResponse где return 1;
|
|
| [PZ]KYZ[AIR] | Дата: Пятница, 25.06.2010, 16:06 | Сообщение # 1 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 105
Награды: 1
Город: Москва
Репутация: 7
Замечания: 0%
Статус: 
| правельно или не правельно? Code if(dialogid == 89) { if(response) { if(listitem == 0) { //что делаем } if(listitem == 1) { // что делаем } } else // что делаем return 1; } Правлено ли это написано Code if(dialogid == 17 || 18) { if(!response) return 1; switch(listitem) { case 0: { SetPlayerHealth(playerid,0); }
} } return 1; } а здесь? где ошибка? у меня очень много диалоговых акон и некоторые из них не известно какие выполняют помимо своих заданий есчё и чужие где в этих кодах допущена ошибка
Сайт ордена "Позорная звезда" www.orden-pz.ucoz.ru Патч делаеться в игре русский текст и звёзды поиса (встаёт НАЛЮБУЮ gta sa) 
|
| |
|
|
| _LexA_ | Дата: Пятница, 25.06.2010, 16:40 | Сообщение # 2 |
|
Долгожитель
Группа:
Продвинутые
Сообщений: 1437
Награды: 161
Город: Ростов-на-Дону
Репутация: 563
Замечания: 20%
Статус: 
| if(dialogid == 17 || dialogid == 18) { if(!response) return 1; switch(listitem) { case 0: { SetPlayerHealth(playerid,0); } } return 1; }
|
| |
|
|
| [PZ]KYZ[AIR] | Дата: Суббота, 26.06.2010, 18:57 | Сообщение # 3 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 105
Награды: 1
Город: Москва
Репутация: 7
Замечания: 0%
Статус: 
| а по поводу первого спасибо
Сайт ордена "Позорная звезда" www.orden-pz.ucoz.ru Патч делаеться в игре русский текст и звёзды поиса (встаёт НАЛЮБУЮ gta sa) 
|
| |
|
|
| _LexA_ | Дата: Суббота, 26.06.2010, 21:40 | Сообщение # 4 |
|
Долгожитель
Группа:
Продвинутые
Сообщений: 1437
Награды: 161
Город: Ростов-на-Дону
Репутация: 563
Замечания: 20%
Статус: 
| Quote (|PZ|KYZ|AIR|) а по поводу первого верно там все
|
| |
|
|
| [PZ]KYZ[AIR] | Дата: Воскресенье, 27.06.2010, 17:21 | Сообщение # 5 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 105
Награды: 1
Город: Москва
Репутация: 7
Замечания: 0%
Статус: 
| Code if((dialogid == 15) || (dialogid == 16)) { if(response) { if((listitem == 0) && (GetPlayerTeam( playerid ) == 0)) { SetPlayerArmour(playerid, 100.0);
}
if((listitem == 0) && (GetPlayerTeam( playerid ) == 1)) { SetPlayerArmour(playerid, 100.0);
}
} return 1; } а тут что не так
Сайт ордена "Позорная звезда" www.orden-pz.ucoz.ru Патч делаеться в игре русский текст и звёзды поиса (встаёт НАЛЮБУЮ gta sa) 
|
| |
|
|
| _LexA_ | Дата: Воскресенье, 27.06.2010, 17:38 | Сообщение # 6 |
|
Долгожитель
Группа:
Продвинутые
Сообщений: 1437
Награды: 161
Город: Ростов-на-Дону
Репутация: 563
Замечания: 20%
Статус: 
| if(dialogid == 15 || dialogid == 16) { if(response) { if(listitem == 0) { if(GetPlayerTeam(playerid) == 0) SetPlayerArmour(playerid, 100.0); if(GetPlayerTeam(playerid) == 1) SetPlayerArmour(playerid, 100.0); } } }
|
| |
|
|
| abhor | Дата: Воскресенье, 27.06.2010, 18:23 | Сообщение # 7 |
|
Уверенный в себе
Группа:
Продвинутые
Сообщений: 184
Награды: 3
Город: Оттава
Репутация: 108
Замечания: 0%
Статус: 
| [PZ]KYZ[AIR], Code if(dialogid == ИДДИАЛОГА && response) { switch(listitem) { case 0: { ДЕЙСТВИЕ } case 1: { ДЕЙСТВИЕ } case 2: { ДЕЙТСВИЕ } case 3: { ДЕЙТСВИЕ } } }
HostName: [MoD] Call Of Duty - Urban Clashes. FREE VIP! Address: 91.121.164.164:8077
|
| |
|
|
| brontozavr | Дата: Вторник, 29.06.2010, 10:10 | Сообщение # 8 |
|
Уважаемый человек
Группа:
Продвинутые
Сообщений: 880
Награды: 13
Репутация: 191
Замечания: 40%
Статус: 
| [PZ]KYZ[AIR], Нафига ты везде в обработке диалогов ставишь return 1; ? Оно все и без этого работает хорошо, просто правильно делай обработку.
Сообщение отредактировал brontozavr - Вторник, 29.06.2010, 10:11 |
| |
|
|
| C@H4E3 | Дата: Вторник, 29.06.2010, 21:13 | Сообщение # 9 |
|
Новенький
Группа:
Пользователи
Сообщений: 35
Награды: 1
Город: Рыбинск
Репутация: 5
Замечания: 0%
Статус: 
| [PZ]KYZ[AIR], Quote у меня очень много диалоговых акон и некоторые из них не известно какие выполняют помимо своих заданий есчё и чужие где в этих кодах допущена ошибка Скобки фигурные проверь всели на месте, и именно тамли, ид диалогов проверь, убери лишние обработки в коде, и наконец избавься от return 1 в обработке каждого диалога, достаточно одного return 1 в конце процедуры обработки этих диалогов. И в конце концов, почитай литературу, т.к. вопросы у тебя возникают еще на начальном уровне, а дальше их больше будет если сам за ум невозьмешься.
------------------------------------------- --->> Хотим реанимировать мод CityLife и yarru <<--- ------------------------------------------- http://www.samp-rus.com/forum/15-442-521751-16-1478028953
|
| |
|
|
| Stels | Дата: Вторник, 29.06.2010, 23:18 | Сообщение # 10 |
|
Группа:
I'm V.I.P.
Сообщений: 3167
Награды: 32
Город: Каменск-Уральский
Репутация: 828
Замечания: 0%
Статус: 
| ...
 Полезные ссылки: GTA:SA спецсборка для SA-MP / GTA:SA-MP ver. 0.3a / GTA:SA-MP ver. 0.2x / Руссификатор геймтекста в GTA:SA(рекомендуется) / Классная игрушка!(Рекомендую!) / Пак русских шрифтов.
Сообщение отредактировал Stels - Вторник, 29.06.2010, 23:19 |
| |
|
|
| stepmex | Дата: Среда, 30.06.2010, 07:37 | Сообщение # 11 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 2914
Награды: 35
Город: Е-бург
Репутация: 1032
Замечания: 0%
Статус: 
| Quote (C@H4E3) Скобки фигурные проверь всели на месте, и именно тамли Quote (C@H4E3) наконец избавься от return 1 в обработке каждого диалога, достаточно одного return 1 в конце процедуры обработки этих диалогов. Quote (C@H4E3) убери лишние обработки в коде, вот тут вы можете наблюдать ответы от недалекого скриптера, который иногда пишет глупости пытаясь показаться умным =\Quote (|PZ|KYZ|AIR|) у меня очень много диалоговых акон и некоторые из них не известно какие выполняют помимо своих заданий есчё и чужие где в этих кодах допущена ошибка пересекаются ИД диалогов. И return необходимы, а те кто говорит чтобы их убирали просто сами не умеют ими пользоваться, кончно и ставить их нужно только там где они нужны.
И создал Бог женщину!.. Существо получилось злобное, но симпатичное...
|
| |
|
|
| brontozavr | Дата: Среда, 30.06.2010, 08:43 | Сообщение # 12 |
|
Уважаемый человек
Группа:
Продвинутые
Сообщений: 880
Награды: 13
Репутация: 191
Замечания: 40%
Статус: 
| stepmex, Quote И return необходимы, а те кто говорит чтобы их убирали просто сами не умеют ими пользоваться, кончно и ставить их нужно только там где они нужны. Вот именно что они у него, я так понял, стоят в каждом подряд, а не только там где надо, ему достаточно поставить одно в конце :). Конечно весь его код я не вижу может они ему еще где пригодятся, но на данный момент судя по примеру, который он написал они там лишни. C@H4E3, От тебя то не ожидал такого ответа, не тупи, ты че там в гавно что ли синий ?
Сообщение отредактировал brontozavr - Среда, 30.06.2010, 08:45 |
| |
|
|
| stepmex | Дата: Среда, 30.06.2010, 11:07 | Сообщение # 13 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 2914
Награды: 35
Город: Е-бург
Репутация: 1032
Замечания: 0%
Статус: 
| Quote (brontozavr) Вот именно что они у него, я так понял, стоят в каждом подряд из всех опубликованных вариантов ретурны везде на месте
И создал Бог женщину!.. Существо получилось злобное, но симпатичное...
|
| |
|
|
| brontozavr | Дата: Среда, 30.06.2010, 13:34 | Сообщение # 14 |
|
Уважаемый человек
Группа:
Продвинутые
Сообщений: 880
Награды: 13
Репутация: 191
Замечания: 40%
Статус: 
| stepmex, ну вообще то если у него условие по проверке ид диалога выполняется, то return можно поставить просто в конце OnDialogResponse. Ведь если ид диалога например будет 2 , то обработки диалога 1 и 0 все равно не сработают . Если у него конечно помимо проверки ид диалогов там нету еще каких-то действий. Например вот Code public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid==0) { if(response) { //действие } else //действие return 1; } //действие return 0; } первое return нужно ставить если после условия идут еще какие-то операции. А если все выглядит вот так в конце каждой обработки Code public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid==0) { if(response) { //действие } else { //действие } } return 1; } то я думаю достаточно обойтись только одним ретурн в конце.
Сообщение отредактировал brontozavr - Среда, 30.06.2010, 13:35 |
| |
|
|
| Alex009 | Дата: Среда, 30.06.2010, 13:40 | Сообщение # 15 |
|
Уважаемый человек
Группа:
Продвинутые
Сообщений: 917
Награды: 10
Репутация: 661
Замечания: 0%
Статус: 
| brontozavr, внимание вопрос: зачем тратить время на обработку следующих условий если цель уже достигнута? выполнили действие по первому диалогу и всё, не будем нагружаться дальнейшими проверками - обрываем функцию
Controllable NPC developer soProject developer
|
| |
|
|