SWAT142RUS |
Дата: Понедельник, 14.09.2015, 05:36 | Сообщение # 1
|
Новичок
Сообщений: 2
Статус: Offline
|
Система актера на сервер суть актера будет подсказывать игрокам что да и как Автор Олежка
Обязателен include a_actor [URL="http://rghost.ru/67hk8VMSH"]скачать[/URL]
Добавим к инклудам: В начало мода:
[HTML]new bool: bot[MAX_PLAYERS]; new boty[MAX_PLAYERS];[/HTML]
В public OnGameModeInit
Код SetTimer("SecTimer", 1000, 1); CreateActor(60, 1953.7014,1340.8524,15.3746,302.5011);
ВНИМАНИЕ!!! Вместо данных координатов укажите свои координаты и угол поворота актёра! И скин свой выберите!! Сама функция:
Код CreateActor(скин, координата Х, координата У, координата Z, угол поворота);
В public OnPlayerConnect
Код bot[playerid] = false; boty[playerid] = 0;
В public OnDialogResponse • если у вас стоит switch(dialogid), то
Код case 1521: { if(!response) { bot[playerid] = false; boty[playerid] = 10; return 1; } bot[playerid] = true; switch(listitem) { case 0: ShowPlayerDialog(playerid, 1522, DIALOG_STYLE_MSGBOX, "Разговор с ботом:", "Меня зовут Oliver. Моя фамилия Green. Я живу не подолёку.", "Ясно", ""); case 1: ShowPlayerDialog(playerid, 1522, DIALOG_STYLE_MSGBOX, "Разговор с ботом:", "Иди в мэрию. Там тебе всё покажут и расскажут.", "Ясно", ""); case 2: ShowPlayerDialog(playerid, 1522, DIALOG_STYLE_MSGBOX, "Разговор с ботом:", "Возле Глен-Парка есть ночлежка. Таксист отвезёт.", "Ясно", ""); case 3: ShowPlayerDialog(playerid, 1522, DIALOG_STYLE_MSGBOX, "Разговор с ботом:", "В мэрии. Там всё показано. Иди да прочитай.", "Ясно", ""); case 4: ShowPlayerDialog(playerid, 1522, DIALOG_STYLE_MSGBOX, "Разговор с ботом:", "Нет, а вот лесопилка без работяг. Дуй туда!", "Ясно", ""); case 5: ShowPlayerDialog(playerid, 1522, DIALOG_STYLE_MSGBOX, "Разговор с ботом:", "Меня кстате Oliver зовут.", "Ясно", ""); } } case 1522: { bot[playerid] = false; boty[playerid] = 10; return 1; }
• если у вас перечисление (типа if(dialogid == ..), то
Код if(dialogid == 1521) { if(!response) { bot[playerid] = false; boty[playerid] = 10; return 1; } bot[playerid] = true; switch(listitem) { case 0: ShowPlayerDialog(playerid, 1522, DIALOG_STYLE_MSGBOX, "Разговор с ботом:", "Мне зовут Oliver. Моя фамилия Green. Я живу не подолёку.", "Ясно", ""); case 1: ShowPlayerDialog(playerid, 1522, DIALOG_STYLE_MSGBOX, "Разговор с ботом:", "Иди в мэрию. Там тебе всё покажут и расскажут.", "Ясно", ""); case 2: ShowPlayerDialog(playerid, 1522, DIALOG_STYLE_MSGBOX, "Разговор с ботом:", "Возле Глен-Парка есть ночлежка. Таксист отвезёт.", "Ясно", ""); case 3: ShowPlayerDialog(playerid, 1522, DIALOG_STYLE_MSGBOX, "Разговор с ботом:", "В мэрии. Там всё показано. Иди да прочитай.", "Ясно", ""); case 4: ShowPlayerDialog(playerid, 1522, DIALOG_STYLE_MSGBOX, "Разговор с ботом:", "Нет, а вот лесопилка без работяг. Дуй туда!", "Ясно", ""); case 5: ShowPlayerDialog(playerid, 1522, DIALOG_STYLE_MSGBOX, "Разговор с ботом:", "Меня кстате Oliver зовут.", "Ясно", ""); } } else if(dialogid == 1522) { bot[playerid] = false; boty[playerid] = 10; return 1; }
Функция: в конец мода
Код stock PlayerToActor(Float:radi, playerid, actorid) { if(IsPlayerConnected(playerid)) { new Float:pos[3],Float:actpos[3],Float:temppos[3]; GetPlayerPos(playerid, actpos[0], actpos[1], actpos[2]); GetActorPos(actorid, pos[0], pos[1], pos[2]); temppos[0] = (actpos[0] -pos[0]); temppos[1] = (actpos[1] -pos[1]); temppos[2] = (actpos[2] -pos[2]); if (((temppos[0] < radi) && (temppos[0] > -radi)) && ((temppos[1] < radi) && (temppos[1] > -radi)) && ((temppos[2] < radi) && (temppos[2] > -radi))) return true; } return false; }
Далее в конце мода создаём паблик:
Код forward SecTimer(); public SecTimer() { for(new i = 0; i < MAX_PLAYERS; i++) { if(PlayerToActor(1.2, i, 0)) { if(bot[i] == true) return 1; if(boty[i] > 0) return 1; ShowPlayerDialog(i, 1521, DIALOG_STYLE_LIST, "Oliver: - Что-то хотел?","Кто ты?\nЯ только прилетел, где тут можно оформить документы?\nГде мне можно переночевать?\nКак мне устроиться на работу?\nУ тебя нет для меня работы?\nНет-нет. Нечего не хотел.", "Выбрать", "Отмена"); bot[i] = true; } boty[i] --; } return 1; }
У кого есть foreach, то вместо паблика выше - паблик ниже:
Код forward SecTimer(); public SecTimer() { foreach(Player, i) { if(PlayerToActor(1.2, i, 0)) { if(bot[i] == true) return 1; if(boty[i] > 0) return 1; ShowPlayerDialog(i, 1521, DIALOG_STYLE_LIST, "Oliver: - Что-то хотел?","Кто ты?\nЯ только прилетел, где тут можно оформить документы?\nГде мне можно переночевать?\nКак мне устроиться на работу?\nУ тебя нет для меня работы?\nНет-нет. Нечего не хотел.", "Выбрать", "Отмена"); bot[i] = true; } boty[i] --; } return 1; }
Сообщение отредактировал SWAT142RUS - Понедельник, 14.09.2015, 07:42 |
|
|
|
[CM]Kingster |
Дата: Понедельник, 14.09.2015, 06:42 | Сообщение # 2
|
Боец
Сообщений: 245
Статус: Offline
|
Цитата SWAT142RUS ( ) Мне зовут Oliver Ошибку исправь
Пользователь Cheat - Master уже 400 дней.
Я в Контакте - vk.com/buddy_fly
|
|
|
|
A7X |
Дата: Понедельник, 14.09.2015, 14:24 | Сообщение # 4
|
Боец
Сообщений: 210
Статус: Offline
|
Боже, даже скопировать нормально не смог
2000 дней на сайте. Читер СМ с 21.01.2015 - 14.09.2016
Сообщение отредактировал A7X - Понедельник, 14.09.2015, 14:25 |
|
|
|
Амасинк |
Дата: Понедельник, 14.09.2015, 16:48 | Сообщение # 5
|
Боец
Сообщений: 267
Статус: Offline
|
A7X, главное, что автора указал, да и думаю любой разберётся как скопировать
Помогаю новичкам в pawn
|
|
|
|
CHERDAK228 |
Дата: Пятница, 30.10.2015, 15:58 | Сообщение # 9
|
Боец
Сообщений: 105
Статус: Offline
|
Цитата Churuk ( ) Спасибо, лови + искал довно но не работает на всех модах. Работает абсолютно на всех модах. Просто ты криворукий, и не умеешь даже вставить кусок кода в мод.
[url=http://fastpic.ru/][img]http://i66.fastpic.ru/big/2015/1121/9b/248460b1951cff6df29c52d847df449b.jpg[/img][/url] [Majestic RP] Обход античита. http://cheat-master.ru/forum/165-510461-1
[Diamond RP] Быстро выходим из больницы. http://cheat-master.ru/forum/192-521375-1
[Diamond RP] Катаемся на автобусе бесплатно. http://cheat-master.ru/forum/192-500618-1
[California RP] Полезные советы. http://cheat-master.ru/forum/165-515907-1
|
|
|
|