Seaward.ru

Здравствуйте, гость ( Вход | Регистрация )

> Для программистов, вопросы по скриптам ПКМ
igor_pol
сообщение Aug 24 2005, 21:00
Сообщение #1


боцман
****


Группа: форумчанин
Сообщений: 140
Регистрация: 3-December 04
Пользователь №: 169



Первое что я хотел написать "АДМИНЫ!!!!" НЕ ЗВЕРЕЙТЕ ЗА "НЕНУЖНУЮ ТЕМУ"
**************************************************
на вопрос зачем создал эту тему отвечу так "Я например НЕ ПРОСТО ЮЗВЕРЬ А КОЕ ЧТО И САМ НАПИСАТЬ МОГУ.
И хотел бы чтобы на форуме была тема для тех кто сам хочет что-то добавить в игру.
На сайте аддона Алекс вікинул ссылку на описание скриптов ПКМ на английском.
Я хотел бы узнать где можно нарыть больше инфы по этом скриптам.
И кстати на каком языке они пишуться.
Если кто-то знает ----- пишите.
И вообще всем програмерам на форуме нужна своя тема.
так что ГОСПОДА ПРОГРАМЕРЫ ВАЛИТЕ СЮДА !!!!
Может из этого что небудь интересное выйдет!!!!!!(Если тему не УТРУТ)
Жду сообщений (может у когот есть идеи на эту тему )

Сообщение отредактировал Догева - Apr 24 2006, 13:36
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
36 страниц V « < 20 21 22 23 24 > »   
Reply to this topicStart new topic
Ответов(420 - 439)
navy
сообщение Jun 2 2010, 06:42
Сообщение #421


Hagane no Renkinjutsushi
*******

Seaward TeamВетеран ФорумаЗаслуженный Корсар

Группа: Seaward.Ru Team
Сообщений: 5,973
Регистрация: 15-March 05
Из: Волгоград
Пользователь №: 578



Цитата
2 navvy как раз надо чтобы в мирное время суток ночью их не было а в военое время были всегда.

Ну значит ищи где они вообще выставляются, смотри какие там проверки стоят, и ставь свои... если bDisableMapEnter там еще не выставлен, значит пиши свои, как и говорил Варшип... проверкой враждебных кораблей в радиусе атаки.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Black Angel
сообщение Jun 6 2010, 23:46
Сообщение #422


боцман
****


Группа: форумчанин
Сообщений: 256
Регистрация: 19-August 06
Из: Нижний Новгород
Пользователь №: 3,985



Подскажите как включить все файрплайсы на коробле?
и еще вопрос - почему когда я пишу:
Код

string    kLocator = LAi_FindFreeRandomLocator("goto");
ChangeCharacterAddressGroup(sld, "Shore57", "goto", kLocator);

игра падает в этом месте?
В ерор логе нет ничего.Почему так?
З.Ы. Скрипты кгпк патча 1.2.4
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
navy
сообщение Jun 7 2010, 06:53
Сообщение #423


Hagane no Renkinjutsushi
*******

Seaward TeamВетеран ФорумаЗаслуженный Корсар

Группа: Seaward.Ru Team
Сообщений: 5,973
Регистрация: 15-March 05
Из: Волгоград
Пользователь №: 578



Цитата
игра падает в этом месте?

а ты уверен, что находишься в локации Shore57?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Black Angel
сообщение Jun 7 2010, 10:23
Сообщение #424


боцман
****


Группа: форумчанин
Сообщений: 256
Регистрация: 19-August 06
Из: Нижний Новгород
Пользователь №: 3,985



Цитата(navy @ Jun 7 2010, 07:53) *

а ты уверен, что находишься в локации 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);

то все работает нормально,только создаваемые боты все время находятся местами в двоем в одной локаторе.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
navy
сообщение Jun 7 2010, 11:59
Сообщение #425


Hagane no Renkinjutsushi
*******

Seaward TeamВетеран ФорумаЗаслуженный Корсар

Группа: Seaward.Ru Team
Сообщений: 5,973
Регистрация: 15-March 05
Из: Волгоград
Пользователь №: 578



Смотри код ГПК, там где абордаж, там раскидываются враги по локаторам.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
dolphin_sv
сообщение Jun 7 2010, 20:19
Сообщение #426


матрос
***


Группа: форумчанин
Сообщений: 88
Регистрация: 23-May 05
Из: Донецк
Пользователь №: 771



ПОпробуй так:
PlaceCharacter(sld, "goto", "random_must_be");
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Black Angel
сообщение Jun 8 2010, 21:34
Сообщение #427


боцман
****


Группа: форумчанин
Сообщений: 256
Регистрация: 19-August 06
Из: Нижний Новгород
Пользователь №: 3,985



2 dolphin_sv
Спасибо огромное!Работает отлично!Сам бы никогда до такого не додумался smile.gif

Подскажите пожалуйста где ошибка?
Код

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);
}
}
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Black Angel
сообщение Jun 13 2010, 23:40
Сообщение #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 то вот такая картина:
Прикрепленное изображение
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
navy
сообщение Jun 15 2010, 06:54
Сообщение #429


Hagane no Renkinjutsushi
*******

Seaward TeamВетеран ФорумаЗаслуженный Корсар

Группа: Seaward.Ru Team
Сообщений: 5,973
Регистрация: 15-March 05
Из: Волгоград
Пользователь №: 578



по твоим кускам кода не понятно ничего... принцип тот же, смотри как уже сделано, и делай так же
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
ALexusB
сообщение Jun 15 2010, 09:47
Сообщение #430


Разработчик ВМЛ-КВЛ
*******

Seaward TeamЖелезный Профессор
Группа: Admin
Сообщений: 16,606
Регистрация: 2-November 04
Пользователь №: 3



код вида
string kLocator = LAi_FindFreeRandomLocator("goto");

можно просто не найти локатор, потому и сделан был флаг "мас_би" в
PlaceCharacter(sld, "goto", "random_must_be");

Визуально НПС гуляют, но имеют приписку к локатору, а их конечное число и все заняты.
В случае гото можно пихать на один локатор толпы, потом разбредутся. Главное что б локатор был вне поля зрения (сзади ГГ). Так сделан абордаж на суше - место респавна.
В вот в таверне сидячие места будут с наложениями уже, потому там нужно убедится, что место есть в принципе (опять же в коде есть примеры с рассадкой ПГГ и пьяни с офами).
User is online!Profile CardPM
Go to the top of the page
+Quote Post
Black Angel
сообщение Jun 15 2010, 11:07
Сообщение #431


боцман
****


Группа: форумчанин
Сообщений: 256
Регистрация: 19-August 06
Из: Нижний Новгород
Пользователь №: 3,985



2 ALexusB
Спасибо за разъяснения smile.gif
Цитата(navy @ Jun 15 2010, 07:54) *

по твоим кускам кода не понятно ничего... принцип тот же, смотри как уже сделано, и делай так же

Еслибы в коде имелись рабочие примеры...там они закоменченые и не жизнеспособные-падает игрушка при их использовании.
Вот весь воид:
Код

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);
то происходит то что мне нужно.В чем ошибка?
Еще вопрос,как насильно уронить мачту?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
navy
сообщение Jun 15 2010, 11:57
Сообщение #432


Hagane no Renkinjutsushi
*******

Seaward TeamВетеран ФорумаЗаслуженный Корсар

Группа: Seaward.Ru Team
Сообщений: 5,973
Регистрация: 15-March 05
Из: Волгоград
Пользователь №: 578



1. у тебя rShipObject не инициализирован, следовательно вылет
2. если поискать по коду месседж SHIP_ACTIVATE_FIRE_PLACE, то можно найти куски рабочие, и ты можешь сравнить и поискать рабочий вариант
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Black Angel
сообщение Jun 15 2010, 15:44
Сообщение #433


боцман
****


Группа: форумчанин
Сообщений: 256
Регистрация: 19-August 06
Из: Нижний Новгород
Пользователь №: 3,985



Цитата(navy @ Jun 15 2010, 12:57) *

1. у тебя rShipObject не инициализирован, следовательно вылет
2. если поискать по коду месседж SHIP_ACTIVATE_FIRE_PLACE, то можно найти куски рабочие, и ты можешь сравнить и поискать рабочий вариант

1.а как его инициализировать?Простите за тупой вопрос,но я раньше с этим не сталивался...
2.искал.Написано тож самое.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
dolphin_sv
сообщение Jun 15 2010, 19:52
Сообщение #434


матрос
***


Группа: форумчанин
Сообщений: 88
Регистрация: 23-May 05
Из: Донецк
Пользователь №: 771



Инициализация переменной = указание значения по умлочанию (начального значения)

Напр.:

int i=0;

Инициализация переменной i;

int i;

описание переменной i;

Короче, у тебя при передаче rShipObject = nil, т.е. ничему, отсюда вылет.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Black Angel
сообщение Jun 15 2010, 23:13
Сообщение #435


боцман
****


Группа: форумчанин
Сообщений: 256
Регистрация: 19-August 06
Из: Нижний Новгород
Пользователь №: 3,985



Цитата(dolphin_sv @ Jun 15 2010, 20:52) *

Инициализация переменной = указание значения по умлочанию (начального значения)

Напр.:

int i=0;

Инициализация переменной i;

int i;

описание переменной i;

Короче, у тебя при передаче rShipObject = nil, т.е. ничему, отсюда вылет.

ааа...ну в общето привык что это называется присвоением smile.gif
И она не вылетае,а ничего не происходит.
Даже если и пишу
ref rShipObject = GetRealShip( sti(rCharacter.ship.type) );
все равно ничего не происходит.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
dolphin_sv
сообщение Jun 15 2010, 23:23
Сообщение #436


матрос
***


Группа: форумчанин
Сообщений: 88
Регистрация: 23-May 05
Из: Донецк
Пользователь №: 771



Присваивание - это операция, инициализация - это действие smile.gif

т.е. в данном случае знак "=" это операция присваивания, а cовокупность объявления типа, имени переменной и операции присваивания - это инициализация.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Black Angel
сообщение Jun 15 2010, 23:28
Сообщение #437


боцман
****


Группа: форумчанин
Сообщений: 256
Регистрация: 19-August 06
Из: Нижний Новгород
Пользователь №: 3,985



Цитата(dolphin_sv @ Jun 16 2010, 00:23) *

Присваивание - это операция, инициализация - это действие smile.gif

т.е. в данном случае знак "=" это операция присваивания, а cовокупность объявления типа переменной и операции присваивания - это инициализация.

Спасибо,теперь понял эту неуловимую разницу smile.gif
А по коду ничего никто не знает?
Особенно про мачту меня очень интересуе,т.к. в коде ни примера ни объяснения как этим пользоваться...
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
navy
сообщение Jun 16 2010, 06:53
Сообщение #438


Hagane no Renkinjutsushi
*******

Seaward TeamВетеран ФорумаЗаслуженный Корсар

Группа: Seaward.Ru Team
Сообщений: 5,973
Регистрация: 15-March 05
Из: Волгоград
Пользователь №: 578



попробуй поставить так
PostEvent(SHIP_ACTIVATE_FIRE_PLACE, rand(10), "ialsfl", rCharacter, rCharacter, 1, "ship_onfire", 330, -1);
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Black Angel
сообщение Jun 16 2010, 12:16
Сообщение #439


боцман
****


Группа: форумчанин
Сообщений: 256
Регистрация: 19-August 06
Из: Нижний Новгород
Пользователь №: 3,985



Цитата(navy @ Jun 16 2010, 07:53) *

попробуй поставить так
PostEvent(SHIP_ACTIVATE_FIRE_PLACE, rand(10), "ialsfl", rCharacter, rCharacter, 1, "ship_onfire", 330, -1);

на выходе вылет без ошибок.Просто вылет и все.
Применяя на ГГ все нормально работает,а как применяю на НПС падает.Причем сразу после закрытия окошечка абордаж падает.
Для того чтобы было ясно чего я хочу добиться в конечном результате -тонущий взрывающийся и горящий корабль с рандомно падающей мачтой после абордажа.Судно топят подрывом порохового погреба.
У меня судно тонет,взрывается,но почему то не горит.Ну и с мачтой я не знаю вообще ничего что да как с ней.
Кто подскажет?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
navy
сообщение Jun 17 2010, 06:48
Сообщение #440


Hagane no Renkinjutsushi
*******

Seaward TeamВетеран ФорумаЗаслуженный Корсар

Группа: Seaward.Ru Team
Сообщений: 5,973
Регистрация: 15-March 05
Из: Волгоград
Пользователь №: 578



Ну значит ищи рабочие варианты... Смотри готовые вызовы, анализируй. Скорее всего ты вызываешь этот метод не там или не на того чара.
Вылет без ошибок? А систем лог что говорит?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

36 страниц V « < 20 21 22 23 24 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 16th September 2025 - 13:59

Блок рекламы
Яндекс цитирования Rambler's Top100
Rambler's Top100