Для программистов, вопросы по скриптам ПКМ |
Здравствуйте, гость ( Вход | Регистрация )
Для программистов, вопросы по скриптам ПКМ |
igor_pol |
Aug 24 2005, 21:00
Сообщение
#1
|
боцман Группа: форумчанин Сообщений: 140 Регистрация: 3-December 04 Пользователь №: 169 |
Первое что я хотел написать "АДМИНЫ!!!!" НЕ ЗВЕРЕЙТЕ ЗА "НЕНУЖНУЮ ТЕМУ"
************************************************** на вопрос зачем создал эту тему отвечу так "Я например НЕ ПРОСТО ЮЗВЕРЬ А КОЕ ЧТО И САМ НАПИСАТЬ МОГУ. И хотел бы чтобы на форуме была тема для тех кто сам хочет что-то добавить в игру. На сайте аддона Алекс вікинул ссылку на описание скриптов ПКМ на английском. Я хотел бы узнать где можно нарыть больше инфы по этом скриптам. И кстати на каком языке они пишуться. Если кто-то знает ----- пишите. И вообще всем програмерам на форуме нужна своя тема. так что ГОСПОДА ПРОГРАМЕРЫ ВАЛИТЕ СЮДА !!!! Может из этого что небудь интересное выйдет!!!!!!(Если тему не УТРУТ) Жду сообщений (может у когот есть идеи на эту тему ) Сообщение отредактировал Догева - Apr 24 2006, 13:36 |
Etien |
Aug 4 2009, 18:06
Сообщение
#201
|
матрос Группа: форумчанин Сообщений: 51 Регистрация: 23-June 09 Пользователь №: 20,563 |
|
Scatimon |
Aug 4 2009, 18:09
Сообщение
#202
|
...Welcome To Scatlend... Группа: форумчанин Сообщений: 707 Регистрация: 14-April 05 Из: Москва Пользователь №: 662 |
В папке с диалогами. Папку диалоги помогать искать?...
|
Etien |
Aug 4 2009, 18:19
Сообщение
#203
|
матрос Группа: форумчанин Сообщений: 51 Регистрация: 23-June 09 Пользователь №: 20,563 |
|
korsar-fan |
Aug 4 2009, 18:21
Сообщение
#204
|
юнга Группа: форумчанин (*) Сообщений: 13 Регистрация: 29-June 09 Пользователь №: 20,612 |
Etien, до смеха доходит. Заходишь в папку с диалогами, запускаешь поиск по содержимому файлов, вводишь пару слов из диалога и все!
|
Etien |
Aug 4 2009, 18:31
Сообщение
#205
|
матрос Группа: форумчанин Сообщений: 51 Регистрация: 23-June 09 Пользователь №: 20,563 |
все нашел , спс
|
Black Angel |
Aug 4 2009, 21:57
Сообщение
#206
|
боцман Группа: форумчанин Сообщений: 252 Регистрация: 19-August 06 Из: Павлово(Нижегородская обл.) Пользователь №: 3,985 |
Как перса из группы убрать?
|
ALexusB |
Aug 4 2009, 22:33
Сообщение
#207
|
Разработчик ВМЛ-КВЛ Группа: Admin Сообщений: 16,233 Регистрация: 2-November 04 Пользователь №: 3 |
LAi_SetCitizenTypeNoGroup(rChTo);
|
Black Angel |
Aug 4 2009, 22:53
Сообщение
#208
|
боцман Группа: форумчанин Сообщений: 252 Регистрация: 19-August 06 Из: Павлово(Нижегородская обл.) Пользователь №: 3,985 |
|
navy |
Aug 5 2009, 07:10
Сообщение
#209
|
Hagane no Renkinjutsushi Группа: Seaward.Ru Team Сообщений: 5,970 Регистрация: 15-March 05 Из: Волгоград Пользователь №: 578 |
Смотри код этой функции, там где-то аттрибуты труться у перса. Но вроде там еще из объекта группы он удаляется.. короче копай код.
А вообще, должен знать какой тип перса, если уж он в группе. Вроде вот такой аттрибут chr.chr_ai.group = groupName; |
Etien |
Aug 5 2009, 14:09
Сообщение
#210
|
матрос Группа: форумчанин Сообщений: 51 Регистрация: 23-June 09 Пользователь №: 20,563 |
а есть какойнибудь мини faq "как правильно прописать квест в пкм" ?
|
Ero)(@ |
Aug 5 2009, 16:08
Сообщение
#211
|
юнга Группа: форумчанин (*) Сообщений: 17 Регистрация: 22-June 09 Пользователь №: 20,557 |
Два вопроса:
1. Как добавить гг в начале игры боевую тартану? 2. Как сделать так что бы корабль нельзя было купить или в море встретить? |
VladNiP |
Aug 5 2009, 16:34
Сообщение
#212
|
боцман Группа: форумчанин Сообщений: 270 Регистрация: 23-July 09 Из: Россия. Пермь. Пользователь №: 20,820 |
Цитата 1. Как добавить гг в начале игры боевую тартану? То есть? Чтобы он пересел на тартану или добаить кораблик. Если первое, то достаточно в файле ПКМ/PROGRAM/Characters/characners_unit.c найти строчку ch.Ship.Type = SHIP_LUGGER_ENGLAND Заменить на нужный корабль. Если создать, то в Цитата 2. Как сделать так что бы корабль нельзя было купить или в море встретить? В файле ships_unit.c под нужным кораблем написать: refShip.CanEncounter = false; А именно, после статов. К примеру возьму форт. Код FORT //------------------------------------------------------------------------- makeref(refShip,ShipsTypes[SHIP_FORT]); refShip.Name = "Fort"; refShip.Class = 1; refShip.Cannon = CANNON_TYPE_CANNON_LBS32; refShip.MaxCaliber = 32; refShip.Weight = Tonnes2CWT(22500); refShip.Capacity = 27000; refShip.CannonsQuantity = 68; refShip.MaxCrew = 6500; refShip.MinCrew = 3000; refShip.SpeedRate = 11.2; refShip.TurnRate = 20; refShip.Price = 36000; refShip.HP = 54000; refShip.SP = 100; refShip.CanEncounter = false; Вот так. |
Ero)(@ |
Aug 5 2009, 17:42
Сообщение
#213
|
юнга Группа: форумчанин (*) Сообщений: 17 Регистрация: 22-June 09 Пользователь №: 20,557 |
Спасибо
|
Etien |
Aug 5 2009, 20:15
Сообщение
#214
|
матрос Группа: форумчанин Сообщений: 51 Регистрация: 23-June 09 Пользователь №: 20,563 |
хелп! скажите что в коде не правильно
мне надо, чтоб когда в таверну гг зашел, в "актере" подошел к сидящему за столом нпс начился диалог. а мой гг при входе в таверну начинает стоять , как штопр Код //Заведение квеста на диалог с "Portos"в таверне pchar.quest.Case1.win_condition.l1 = "location"; pchar.quest.Case1.win_condition.l1.location = "Redmond_tavern"; pchar.quest.Case1.win_condition = "Case1"; //Перемещение Рortosa ChangeCharacterAddressGroup(characterFromID("Portos"), "Redmond_tavern", "Sit", "Sit5"); LAi_SetSitType(characterFromID("Portos")); case "Case1": //задаем тип поведения Актер ГГ, чтобы не дергался и не свалил куда-нибудь LAi_SetActorType(PChar); //задаем тип поведения Актер сидящей НПС, чтобы не дергался и не свалил куда-нибудь LAi_SetSitType(characterFromID("Portos")); //тут ставим необходимую ноду диалога непися, может быть любая ВАМ необходимая... //в данном случаее Первая встреча Characters[GetCharacterIndex("Portos")].Dialog.CurrentNode = "First time"; //(наоборот)указываем второму персонажу <characterFromID("Portos")> следовать к первому pchar //по истечении времени 1.0 вызовется квест... тут его нет "" LAi_ActorFollow(characterFromID("Portos"), pchar, "dialog_portos", 5.0); LAi_ActorFollow(pchar, characterFromID("Portos"), "", 5.0); break; case "dialog_portos": //---------------- LAi_ActorWaitDialog(Pchar, characterFromID("Portos")); LAi_ActorDialog(characterFromID("Portos"), Pchar, "", 5.0, 0); break; case "Case2": //возвращаем тип Плэйер ГГ LAi_SetPlayerType(Pchar); |
VladNiP |
Aug 5 2009, 20:31
Сообщение
#215
|
боцман Группа: форумчанин Сообщений: 270 Регистрация: 23-July 09 Из: Россия. Пермь. Пользователь №: 20,820 |
К примеру, где у тебя LAi_actor following. ( 2 скрипт ), у тебя там что-то пропушено.
Или так надо? Если хоть одно значение пропушено, то скрипт недействителен. LAi_ActorFollow(pchar, characterFromID("Portos"), "", 5.0); - этот пропуск так и нужен? LAi_ActorDialog(characterFromID("Portos"), Pchar, "", 5.0, 0); - аналогично. Цитата Эт я сюда на всякий случай впихнул Зачем? Скрипты не терпят таких вот "всяких" случаев. лучше убери, если не предусмотрено. |
Etien |
Aug 5 2009, 20:44
Сообщение
#216
|
матрос Группа: форумчанин Сообщений: 51 Регистрация: 23-June 09 Пользователь №: 20,563 |
LAi_ActorFollow(pchar, characterFromID("Portos"), "", 5.0); - этот пропуск так и нужен? Эт я сюда на всякий случай впихнул а 2 ой вроде там нужен... Цитата хелп! скажите что в коде не правильно мне надо, чтоб когда в таверну гг зашел, в "актере" подошел к сидящему за столом нпс начился диалог. а мой гг при входе в таверну начинает стоять , как штопр опираясь на это как сделать правильный код? |
Scatimon |
Aug 5 2009, 22:02
Сообщение
#217
|
...Welcome To Scatlend... Группа: форумчанин Сообщений: 707 Регистрация: 14-April 05 Из: Москва Пользователь №: 662 |
Портоса заставил идти к ГГ в сидячем положении - не гут. Лана через 5 сек серавно заводица диалог. Но ты заставляешь ГГ слушать диалог портоса, а портоса заводить диалог с ГГ. Делаеца наоборот. Портос ждет диалога, ГГ по подходу должен завести диалог. Причем портоса жеательно тоже ввести в актера и указать сидеть в актере.
|
dolphin_sv |
Aug 5 2009, 22:18
Сообщение
#218
|
матрос Группа: форумчанин Сообщений: 88 Регистрация: 23-May 05 Из: Донецк Пользователь №: 771 |
Достаточно вот этого:
Код case "Case1": LAi_SetActorType(PChar); ref chr = CharacterFromID("Portos"); chr.Dialog.CurrentNode = "First time"; // после диалога выполнится case 2 и ГГ перестанет быть актером LAi_ActorDialog(Pchar, chr, "Case2", 5.0, 0.5); break; case "Case2": LAi_SetPlayerType(Pchar); |
ALexusB |
Aug 5 2009, 22:20
Сообщение
#219
|
Разработчик ВМЛ-КВЛ Группа: Admin Сообщений: 16,233 Регистрация: 2-November 04 Пользователь №: 3 |
См мой пост про переменные и лишние циклы по 2000 итераций - у тебя (Etien) жутко неоптимальный код, в каждой строке вызов портоса через метод его поиска (цикл)
|
navy |
Aug 6 2009, 07:04
Сообщение
#220
|
Hagane no Renkinjutsushi Группа: Seaward.Ru Team Сообщений: 5,970 Регистрация: 15-March 05 Из: Волгоград Пользователь №: 578 |
Кроме того, как ты представляешь сидящего НПС идущего к твоему ГГ? Не надо пихать все подряд, разберись сначала, что и за что отвечает. Потом пишется ОСОЗНАННЫЙ код, а не набор функций.
|
Текстовая версия | Сейчас: 23rd April 2024 - 10:55 |