![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
igor_pol |
![]()
Сообщение
#1
|
боцман ![]() ![]() ![]() ![]() Группа: форумчанин Сообщений: 140 Регистрация: 3-December 04 Пользователь №: 169 ![]() |
Первое что я хотел написать "АДМИНЫ!!!!" НЕ ЗВЕРЕЙТЕ ЗА "НЕНУЖНУЮ ТЕМУ"
************************************************** на вопрос зачем создал эту тему отвечу так "Я например НЕ ПРОСТО ЮЗВЕРЬ А КОЕ ЧТО И САМ НАПИСАТЬ МОГУ. И хотел бы чтобы на форуме была тема для тех кто сам хочет что-то добавить в игру. На сайте аддона Алекс вікинул ссылку на описание скриптов ПКМ на английском. Я хотел бы узнать где можно нарыть больше инфы по этом скриптам. И кстати на каком языке они пишуться. Если кто-то знает ----- пишите. И вообще всем програмерам на форуме нужна своя тема. так что ГОСПОДА ПРОГРАМЕРЫ ВАЛИТЕ СЮДА !!!! Может из этого что небудь интересное выйдет!!!!!!(Если тему не УТРУТ) Жду сообщений (может у когот есть идеи на эту тему ) Сообщение отредактировал Догева - Apr 24 2006, 13:36 |
![]() ![]() |
navy |
![]()
Сообщение
#421
|
Hagane no Renkinjutsushi ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Seaward.Ru Team Сообщений: 5,973 Регистрация: 15-March 05 Из: Волгоград Пользователь №: 578 ![]() |
Цитата 2 navvy как раз надо чтобы в мирное время суток ночью их не было а в военое время были всегда. Ну значит ищи где они вообще выставляются, смотри какие там проверки стоят, и ставь свои... если bDisableMapEnter там еще не выставлен, значит пиши свои, как и говорил Варшип... проверкой враждебных кораблей в радиусе атаки. |
Black Angel |
![]()
Сообщение
#422
|
боцман ![]() ![]() ![]() ![]() Группа: форумчанин Сообщений: 256 Регистрация: 19-August 06 Из: Нижний Новгород Пользователь №: 3,985 ![]() |
Подскажите как включить все файрплайсы на коробле?
и еще вопрос - почему когда я пишу: Код string kLocator = LAi_FindFreeRandomLocator("goto"); ChangeCharacterAddressGroup(sld, "Shore57", "goto", kLocator); игра падает в этом месте? В ерор логе нет ничего.Почему так? З.Ы. Скрипты кгпк патча 1.2.4 |
navy |
![]()
Сообщение
#423
|
Hagane no Renkinjutsushi ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Seaward.Ru Team Сообщений: 5,973 Регистрация: 15-March 05 Из: Волгоград Пользователь №: 578 ![]() |
Цитата игра падает в этом месте? а ты уверен, что находишься в локации Shore57? |
Black Angel |
![]()
Сообщение
#424
|
боцман ![]() ![]() ![]() ![]() Группа: форумчанин Сообщений: 256 Регистрация: 19-August 06 Из: Нижний Новгород Пользователь №: 3,985 ![]() |
а ты уверен, что находишься в локации Shore57? абсолютно.Сначало гружу гг потом перегружаю локацию,потом пишу те строки и игра падает.И в чем косяк не знаю. вот код в котором это используется: Код for (i=1; i<6; i++) { sTemp = "pirate_" + i; sld = GetCharacter(NPC_GenerateCharacter(sTemp, sTemp, "man", "man", 15, PIRATE, 1, true)); LAi_SetWarriorType(sld); LAi_SetStayType(sld); LAi_warrior_DialogEnable(sld, true); LAi_SetLoginTime(sld, 0.0, 24.0); LAi_SetHP(sld, 250.0, 250.0); sld.BreakTmplAndFightGroup = true; string kLocator = LAi_FindFreeRandomLocator("goto"); ChangeCharacterAddressGroup(sld, "Shore57", "goto", kLocator ); LAi_group_MoveCharacter(sld, "EnemyFight"); } а вот если записать вот так: Код ChangeCharacterAddressGroup(sld, "Shore57", "goto", "goto"+i); то все работает нормально,только создаваемые боты все время находятся местами в двоем в одной локаторе. |
navy |
![]()
Сообщение
#425
|
Hagane no Renkinjutsushi ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Seaward.Ru Team Сообщений: 5,973 Регистрация: 15-March 05 Из: Волгоград Пользователь №: 578 ![]() |
Смотри код ГПК, там где абордаж, там раскидываются враги по локаторам.
|
dolphin_sv |
![]()
Сообщение
#426
|
матрос ![]() ![]() ![]() Группа: форумчанин Сообщений: 88 Регистрация: 23-May 05 Из: Донецк Пользователь №: 771 ![]() |
ПОпробуй так:
PlaceCharacter(sld, "goto", "random_must_be"); |
Black Angel |
![]()
Сообщение
#427
|
боцман ![]() ![]() ![]() ![]() Группа: форумчанин Сообщений: 256 Регистрация: 19-August 06 Из: Нижний Новгород Пользователь №: 3,985 ![]() |
2 dolphin_sv
Спасибо огромное!Работает отлично!Сам бы никогда до такого не додумался ![]() Подскажите пожалуйста где ошибка? Код void after_abordage() { SetEventHandler(SHIP_ACTIVATE_FIRE_PLACE, "Ship_ActivateFirePlace", 0); ref rShipObject; int iNumFirePlaces = 10; SendMessage(pchar, "le", MSG_SHIP_GET_NUM_FIRE_PLACES, &iNumFirePlaces); for (i=0; i<=iNumFirePlaces; i++) { PostEvent(SHIP_ACTIVATE_FIRE_PLACE, rand(300), "ialsfl", pchar, pchar, i, "ship_onfire", 3, -1); PostEvent(SHIP_FIRE_DAMAGE, rand(300), "lllf", pchar, pchar, i, 3); } } |
Black Angel |
![]()
Сообщение
#428
|
боцман ![]() ![]() ![]() ![]() Группа: форумчанин Сообщений: 256 Регистрация: 19-August 06 Из: Нижний Новгород Пользователь №: 3,985 ![]() |
Почему когда пишу так:
Код ref rCharacter = &Characters[iAbordageCharacter]; aref rShipObject = GetRealShip( sti(rCharacter.ship.type) ); Ship_SetExplosion(rCharacter, rShipObject); в Ship_SetExplosion на строчку PostEvent(SHIP_ACTIVATE_FIRE_PLACE, rand(300), "ialsfl", rShipObject, rCharacter, 1, "ship_onfire", 330, -1); не подается тот самый корабль(ничего не происходит).А когда обращаюсь из BattleInterface.с всё работает нормально. В чем причина? Когда пишу вместо rCharacter pchar то вот такая картина: ![]() а когда стоит rCharacter то вот такая картина: ![]() |
navy |
![]()
Сообщение
#429
|
Hagane no Renkinjutsushi ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Seaward.Ru Team Сообщений: 5,973 Регистрация: 15-March 05 Из: Волгоград Пользователь №: 578 ![]() |
по твоим кускам кода не понятно ничего... принцип тот же, смотри как уже сделано, и делай так же
|
ALexusB |
![]()
Сообщение
#430
|
Разработчик ВМЛ-КВЛ ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Admin Сообщений: 16,606 Регистрация: 2-November 04 Пользователь №: 3 ![]() |
код вида
string kLocator = LAi_FindFreeRandomLocator("goto"); можно просто не найти локатор, потому и сделан был флаг "мас_би" в PlaceCharacter(sld, "goto", "random_must_be"); Визуально НПС гуляют, но имеют приписку к локатору, а их конечное число и все заняты. В случае гото можно пихать на один локатор толпы, потом разбредутся. Главное что б локатор был вне поля зрения (сзади ГГ). Так сделан абордаж на суше - место респавна. В вот в таверне сидячие места будут с наложениями уже, потому там нужно убедится, что место есть в принципе (опять же в коде есть примеры с рассадкой ПГГ и пьяни с офами). |
Black Angel |
![]() ![]()
Сообщение
#431
|
боцман ![]() ![]() ![]() ![]() Группа: форумчанин Сообщений: 256 Регистрация: 19-August 06 Из: Нижний Новгород Пользователь №: 3,985 ![]() |
2 ALexusB
Спасибо за разъяснения ![]() по твоим кускам кода не понятно ничего... принцип тот же, смотри как уже сделано, и делай так же Еслибы в коде имелись рабочие примеры...там они закоменченые и не жизнеспособные-падает игрушка при их использовании. Вот весь воид: Код void Ship_SetExplosion(ref rCharacter, ref rShipObject) { SendMessage(rShipObject, "le", MSG_SHIP_GET_NUM_FIRE_PLACES, &iNumFirePlaces); PostEvent(SHIP_ACTIVATE_FIRE_PLACE, rand(300), "ialsfl", rShipObject, rCharacter, 1, "ship_onfire", 330, -1); PostEvent(SHIP_BRANDER_DETONATE, 800, "l", sti(rCharacter.index)); PlaySound("Sea Battles\Vzriv_fort_001.wav"); Ship_SetTaskNone(SECONDARY_TASK, sti(rCharacter.index)); } И при подаче на 2 строчку из AIAbordage.c из воида void Return2SeaAfterAbordage() со строчек кода Код ref rCharacter = &Characters[iAbordageCharacter]; aref rShipObject; Ship_SetExplosion(rCharacter, rShipObject); не находит rShipObject.При попытке присвоить что либо вразумительное либо падает игра либо опять таки ничего не происходит. А когда заменяю на Ship_SetExplosion(pchar, rShipObject); то происходит то что мне нужно.В чем ошибка? Еще вопрос,как насильно уронить мачту? |
navy |
![]()
Сообщение
#432
|
Hagane no Renkinjutsushi ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Seaward.Ru Team Сообщений: 5,973 Регистрация: 15-March 05 Из: Волгоград Пользователь №: 578 ![]() |
1. у тебя rShipObject не инициализирован, следовательно вылет
2. если поискать по коду месседж SHIP_ACTIVATE_FIRE_PLACE, то можно найти куски рабочие, и ты можешь сравнить и поискать рабочий вариант |
Black Angel |
![]()
Сообщение
#433
|
боцман ![]() ![]() ![]() ![]() Группа: форумчанин Сообщений: 256 Регистрация: 19-August 06 Из: Нижний Новгород Пользователь №: 3,985 ![]() |
1. у тебя rShipObject не инициализирован, следовательно вылет 2. если поискать по коду месседж SHIP_ACTIVATE_FIRE_PLACE, то можно найти куски рабочие, и ты можешь сравнить и поискать рабочий вариант 1.а как его инициализировать?Простите за тупой вопрос,но я раньше с этим не сталивался... 2.искал.Написано тож самое. |
dolphin_sv |
![]()
Сообщение
#434
|
матрос ![]() ![]() ![]() Группа: форумчанин Сообщений: 88 Регистрация: 23-May 05 Из: Донецк Пользователь №: 771 ![]() |
Инициализация переменной = указание значения по умлочанию (начального значения)
Напр.: int i=0; Инициализация переменной i; int i; описание переменной i; Короче, у тебя при передаче rShipObject = nil, т.е. ничему, отсюда вылет. |
Black Angel |
![]()
Сообщение
#435
|
боцман ![]() ![]() ![]() ![]() Группа: форумчанин Сообщений: 256 Регистрация: 19-August 06 Из: Нижний Новгород Пользователь №: 3,985 ![]() |
Инициализация переменной = указание значения по умлочанию (начального значения) Напр.: int i=0; Инициализация переменной i; int i; описание переменной i; Короче, у тебя при передаче rShipObject = nil, т.е. ничему, отсюда вылет. ааа...ну в общето привык что это называется присвоением ![]() И она не вылетае,а ничего не происходит. Даже если и пишу ref rShipObject = GetRealShip( sti(rCharacter.ship.type) ); все равно ничего не происходит. |
dolphin_sv |
![]()
Сообщение
#436
|
матрос ![]() ![]() ![]() Группа: форумчанин Сообщений: 88 Регистрация: 23-May 05 Из: Донецк Пользователь №: 771 ![]() |
Присваивание - это операция, инициализация - это действие
![]() т.е. в данном случае знак "=" это операция присваивания, а cовокупность объявления типа, имени переменной и операции присваивания - это инициализация. |
Black Angel |
![]()
Сообщение
#437
|
боцман ![]() ![]() ![]() ![]() Группа: форумчанин Сообщений: 256 Регистрация: 19-August 06 Из: Нижний Новгород Пользователь №: 3,985 ![]() |
Присваивание - это операция, инициализация - это действие ![]() т.е. в данном случае знак "=" это операция присваивания, а cовокупность объявления типа переменной и операции присваивания - это инициализация. Спасибо,теперь понял эту неуловимую разницу ![]() А по коду ничего никто не знает? Особенно про мачту меня очень интересуе,т.к. в коде ни примера ни объяснения как этим пользоваться... |
navy |
![]()
Сообщение
#438
|
Hagane no Renkinjutsushi ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Seaward.Ru Team Сообщений: 5,973 Регистрация: 15-March 05 Из: Волгоград Пользователь №: 578 ![]() |
попробуй поставить так
PostEvent(SHIP_ACTIVATE_FIRE_PLACE, rand(10), "ialsfl", rCharacter, rCharacter, 1, "ship_onfire", 330, -1); |
Black Angel |
![]()
Сообщение
#439
|
боцман ![]() ![]() ![]() ![]() Группа: форумчанин Сообщений: 256 Регистрация: 19-August 06 Из: Нижний Новгород Пользователь №: 3,985 ![]() |
попробуй поставить так PostEvent(SHIP_ACTIVATE_FIRE_PLACE, rand(10), "ialsfl", rCharacter, rCharacter, 1, "ship_onfire", 330, -1); на выходе вылет без ошибок.Просто вылет и все. Применяя на ГГ все нормально работает,а как применяю на НПС падает.Причем сразу после закрытия окошечка абордаж падает. Для того чтобы было ясно чего я хочу добиться в конечном результате -тонущий взрывающийся и горящий корабль с рандомно падающей мачтой после абордажа.Судно топят подрывом порохового погреба. У меня судно тонет,взрывается,но почему то не горит.Ну и с мачтой я не знаю вообще ничего что да как с ней. Кто подскажет? |
navy |
![]()
Сообщение
#440
|
Hagane no Renkinjutsushi ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Seaward.Ru Team Сообщений: 5,973 Регистрация: 15-March 05 Из: Волгоград Пользователь №: 578 ![]() |
Ну значит ищи рабочие варианты... Смотри готовые вызовы, анализируй. Скорее всего ты вызываешь этот метод не там или не на того чара.
Вылет без ошибок? А систем лог что говорит? |
![]() ![]() |
Текстовая версия | Сейчас: 16th September 2025 - 16:13 |