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 « < 19 20 21 22 23 > »   
Reply to this topicStart new topic
Ответов(400 - 419)
silenthunter
сообщение May 20 2010, 12:02
Сообщение #401


новичок
*


Группа: Members
Сообщений: 3
Регистрация: 19-May 10
Пользователь №: 22,774



подскажите, пожалуйста, можно ли скормить тексты(диалоги, интерфейс, описания предметов) с кириллицей буржуйской версии К:ГПК (age of pirates 2 city of abandoned ships)? если да, то в какой кодировке?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
dolphin_sv
сообщение May 20 2010, 14:39
Сообщение #402


матрос
***


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



Собственно не понятна суть проблемы... Я делаю Историю пирата на age of pirates 2 city of abandoned ships, проблем с кирилицей никаких проблем нет. Вместо английскиого текста пиши русский и все.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
silenthunter
сообщение May 20 2010, 14:57
Сообщение #403


новичок
*


Группа: Members
Сообщений: 3
Регистрация: 19-May 10
Пользователь №: 22,774



Цитата(dolphin_sv @ May 20 2010, 14:39) *

Собственно не понятна суть проблемы... Я делаю Историю пирата на age of pirates 2 city of abandoned ships, проблем с кирилицей никаких проблем нет. Вместо английскиого текста пиши русский и все.

а я вот пробовал не меняя кодировки файла - в игре кракозябры вместо кириллицы. впрочем с другими (UTF-8, UTF-8 без BOM, 1251 и еще парой) кодировками тоже самое.
может в редакторе дело? редактировал в Notepad++, в PSPad, в редакторе, прилепленом к ТоталКоммандеру(AkelPad кажется называется).
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
dolphin_sv
сообщение May 20 2010, 15:27
Сообщение #404


матрос
***


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



Не знаю, пользовался и Notepad++ и AkelPad и Notepad и SynPlus - проблем не было. Сейчас ползуюсь в Visual Studio 2008, т.к. с ним привычнее... Кодировку никогда не менял.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
silenthunter
сообщение May 20 2010, 19:52
Сообщение #405


новичок
*


Группа: Members
Сообщений: 3
Регистрация: 19-May 10
Пользователь №: 22,774



разобрался таки. собака зарыта в текстурах и инихах шрифтов в ресурсах. Если кто-то на эти же грабли попадется. нужны инихи
resource/ini/fonts_rus.ini
resource/ini/fonts.ini
и текстуры
resource/textures/fonts/
из русской версии игры.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
dolphin_sv
сообщение May 20 2010, 19:57
Сообщение #406


матрос
***


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



Ну так это ж само собой, первым делом надо было сделать... Я думал у тебя после этого неверно отображались шрифты, почему и удивился.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Black Angel
сообщение May 29 2010, 21:51
Сообщение #407


боцман
****


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



Подскажите пожалуйста как записать в коде проверку на то что идет битва в море или на нас напали?на суше это аларм,а вот в море как?Проще говоря как определить в бою ли я или нет?Не на суше,а в море.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
ugeen
сообщение May 30 2010, 05:52
Сообщение #408


боцман
****

Заслуженный КорсарСоздатель Модов к ГПК
Группа: форумчанин
Сообщений: 133
Регистрация: 12-January 06
Из: 105-ый элемент таблицы Менделеева
Пользователь №: 2,269



Проверяй возможен или нет выход на глобальную карту. Если невозможен - то в бою
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
dolphin_sv
сообщение May 30 2010, 12:46
Сообщение #409


матрос
***


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



Хм... Вообще-то - если не возможен выход, значит рядом где-то есть вражеские корабли или вражеский форт, а это еще не значит, что корабль с кем-то воюет.

Можно попробовать проверить залогиненых капитанов, если у одного из них lastballcharacter - это ГГ или его компаньон и наоборот, если у ГГ или его компаньона есть кто-то в lastballcharacter - значит ГГ с кем-то воюет.

lastballcharacter очищается при логине корабля в море.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Black Angel
сообщение May 30 2010, 12:51
Сообщение #410


боцман
****


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



это не мой случай чтобы так делать.У меня при переходе из глобалки в море bDisableMapEnter не хочет работать правильно.
Для примера,вот кусок кода
Код

int i = sti(ch.ship.crew.quantity);
bool ok = Whr_IsNight() && !bDisableMapEnter;
if(i <= 2 || ok)
{
}
else
{
SendMessage(&Sailors, "lis", AI_MESSAGE_ADD_SHIP, ship,RealShips[Index].name);
}

Из кода видно, что если команды меньше 2 человек людишек с корабля убрать(те которые по вантам ползают),ночью если нет битвы они спят,а если есть битва то бегают и выпоняют свои действия.У меня выходит вот что: при малой команде человечков нет(как и должно быть),ночью добросовестно спят,а вот во время ночного боя появляться не хотят.В чем косяк?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Warship
сообщение May 31 2010, 07:24
Сообщение #411


Гроза морей
*****

Ветеран ФорумаЗаслуженный КорсарСоздатель Модов к ГПК
Создатель Модов к КВЛ
Группа: бета-тестер
Сообщений: 441
Регистрация: 29-April 07
Из: Прим. край г. Находка
Пользователь №: 9,103



Переменной bDisableMapEnter значение присваивается в обработчике события SHIP_CHECK_RELOAD_ENABLE - Ship_CheckMainCharacter(), т.е. обновления корабля ГГ.

А Вы, насколько я понял, юзаете это значение в обработчике события SHIP_CREATE - Ship_Walk_Create(), т.е. при создании корабля, когда игра понятия не имеет, что там у Вас в этой переменной содержится (значение в ней не актуально, ибо осталось с "прошлого" раза).

Вот и лезут непонятки smile.gif

Как тут реализовать - хз. Можно было бы попробовать пройтись по всем залогиненным кораблям, определить, кто точит на нас зубы, вычислить минимальное расстояние между кораблем ГГ и кораблем противника и сравнить его с необходимым расстоянием для выхода в море (константа).
Но так тоже не выйдет: координаты кораблям ставятся тоже явно после их создания (т.е. после рассылки и обработки события SHIP_CREATE, от которого мы крутимся).

Можно проверить, сработает-ли сообщение
SendMessage(&Sailors, "lis", AI_MESSAGE_ADD_SHIP, ship, RealShips[Index].name);
Когда корабли уже залогинены (что-то мне подсказывает, что не сработает), и вот тогда уже и проверять и посылать его, если нужно.

Но в любом случае, Вам не удастся таким-же макаром "выгнать" матросов на палубу, если вдруг ночью к вашему кораблю подойдет корабль противника.

Имхо, лучше отложить до лучших времен, без двига - нереализуемо.

P.S. Ваш код плохо читаем.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Black Angel
сообщение May 31 2010, 10:36
Сообщение #412


боцман
****


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



хочется всего лишь на всего чтобы если на глобалки сторожевой патруль напал и мы переходим в море - матросы появились бы(это я про ночное время суток говорю).Влюбом случае сцена перегружается а значит должно и обновиться все окружаещее.А вот корабль перегрузился а мотросов не выставил.Он загружает старое значение переменой(тогдашней когда было до военых действий?)?
Пока Акелла выдаст двиг(она колдует уже 2 месяца над этим мероприятием) мои дети в универ поступят,а интерес к даному двигу пропадет, тк есть пару интересных двигов с графикой по лучше.
P.S.В смысле плохо читаем?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
navy
сообщение May 31 2010, 11:10
Сообщение #413


Hagane no Renkinjutsushi
*******

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

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



Посмотри файл shipWalk.с попробуй или поискать где вызываются его методы, или вручную вызывай их когда тебе надо.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Warship
сообщение May 31 2010, 11:18
Сообщение #414


Гроза морей
*****

Ветеран ФорумаЗаслуженный КорсарСоздатель Модов к ГПК
Создатель Модов к КВЛ
Группа: бета-тестер
Сообщений: 441
Регистрация: 29-April 07
Из: Прим. край г. Находка
Пользователь №: 9,103



Нави, он, насколько я понял, и смотрит как-раз shipWalk.c smile.gif
Но другое дело, что там обработчики событий просто не знают, кто там для ГГ враг, кто друг.

Поэтому да, только вызывать вручную (даже не вызывать - вначале логику придется переписать, там ж на событиях все), где-нить в процедуре Ship_Add2Sea().

===

Цитата(Black Angel @ May 31 2010, 18:36) *

P.S.В смысле плохо читаем?

Ваш код легко можно заменить на:
Код
int crewQty = sti(ch.ship.crew.quantity);
bool ok = !Whr_IsNight() || bDisableMapEnter;
if(crewQty > 2 && ok)
{
    SendMessage(&Sailors, "lis", AI_MESSAGE_ADD_SHIP, ship,RealShips[Index].name);
}


Где на первую строку можно вообще не смотреть, ибо из названия переменной все понятно. Вот это и имел ввиду.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Black Angel
сообщение May 31 2010, 19:33
Сообщение #415


боцман
****


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



Цитата(Warship @ May 31 2010, 12:18) *

Нави, он, насколько я понял, и смотрит как-раз shipWalk.c smile.gif
Но другое дело, что там обработчики событий просто не знают, кто там для ГГ враг, кто друг.
Поэтому да, только вызывать вручную (даже не вызывать - вначале логику придется переписать, там ж на событиях все), где-нить в процедуре Ship_Add2Sea().
===
Ваш код легко можно заменить на:
Код
int crewQty = sti(ch.ship.crew.quantity);
bool ok = !Whr_IsNight() || bDisableMapEnter;
if(crewQty > 2 && ok)
{
    SendMessage(&Sailors, "lis", AI_MESSAGE_ADD_SHIP, ship,RealShips[Index].name);
}

Где на первую строку можно вообще не смотреть, ибо из названия переменной все понятно. Вот это и имел ввиду.

Ну да,я и имел в виду shipWalk.c и функцию в этом файле Ship_Walk_Create().
Ааа! А я думал про другое.Каждый задает название переменой как ему удобно.
а если AIsea.c подинклудить?
а почему там обработчики событий не знают, кто там для ГГ враг, кто друг?
А в sea.c этот обработчики событий есть?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Warship
сообщение Jun 1 2010, 01:19
Сообщение #416


Гроза морей
*****

Ветеран ФорумаЗаслуженный КорсарСоздатель Модов к ГПК
Создатель Модов к КВЛ
Группа: бета-тестер
Сообщений: 441
Регистрация: 29-April 07
Из: Прим. край г. Находка
Пользователь №: 9,103



Цитата(Black Angel @ Jun 1 2010, 03:33) *

а почему там обработчики событий не знают, кто там для ГГ враг, кто друг?

Сори, я не это хотел сказать. Имел ввиду, что именно значение bDisableMapEnter не актуально.

Почему:
Значение этой переменной обновляется (1 раз в секунду, вроде) когда ГГ уже в море, когда оно прогружено.
А матросы на палубе создаются во время прогрузки. Т.е. раньше того, как значение переменной изменится.

Вообще, использование bDisableMapEnter при загрузке тебе ничего не даст.
Нужно копать в сторону обхода всех кораблей (когда они созданы и у них уже есть координаты, но когда еще не вышли с фэйдера) и проверять на врага и расстояние и посылать вот это сообщение на создание матросов на палубе (в Ship_Walk_Create() только закомментить).
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Black Angel
сообщение Jun 1 2010, 02:01
Сообщение #417


боцман
****


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



Цитата(Warship @ Jun 1 2010, 02:19) *

Сори, я не это хотел сказать. Имел ввиду, что именно значение bDisableMapEnter не актуально.

Почему:
Значение этой переменной обновляется (1 раз в секунду, вроде) когда ГГ уже в море, когда оно прогружено.
А матросы на палубе создаются во время прогрузки. Т.е. раньше того, как значение переменной изменится.

Вообще, использование bDisableMapEnter при загрузке тебе ничего не даст.
Нужно копать в сторону обхода всех кораблей (когда они созданы и у них уже есть координаты, но когда еще не вышли с фэйдера) и проверять на врага и расстояние и посылать вот это сообщение на создание матросов на палубе (в Ship_Walk_Create() только закомментить).

А если проверить на отношение к игроку это прокатить должно(чисто теоретически)?А то я во многих местах идет толька эта единственая проверка bDisableMapEnter и больше других почему то нет...
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Warship
сообщение Jun 1 2010, 05:58
Сообщение #418


Гроза морей
*****

Ветеран ФорумаЗаслуженный КорсарСоздатель Модов к ГПК
Создатель Модов к КВЛ
Группа: бета-тестер
Сообщений: 441
Регистрация: 29-April 07
Из: Прим. край г. Находка
Пользователь №: 9,103



Я ж и говорю, проверять нужно все корабли на отношение (и расстояние). smile.gif И проверять нужно уже после прогрузки кораблей. Хотя, можно попробовать проверять и в Ship_Walk_Create(), но там на расстояние не проверить точно, ибо не инициализировано оно еще тогда.

Если враг и близко - посылать вот энто сообщение, чтобы матросня на палубу вылезла.

Сама по себе проверка if(bDisableMapEnter) {} вполне нормальная, просто именно в этом случае она не поможет.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
navy
сообщение Jun 1 2010, 11:39
Сообщение #419


Hagane no Renkinjutsushi
*******

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

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



Цитата
Сори, я не это хотел сказать. Имел ввиду, что именно значение bDisableMapEnter не актуально.

да это нафиг не надо smile.gif человек хочет чтобы они всегда бегали... а следовательно пусть принудительно вызывает эти методы... или смотрит шип_логин... там возможно условие стоит, выставлять команду или нет.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Black Angel
сообщение Jun 1 2010, 17:49
Сообщение #420


боцман
****


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



2 Warship после загрузки кораблей бесполезно ставить проверку,они загрузятся без матросни тк ночь и все спокойно.Проверку надо делать до загрузки но после инициализации.
В sеа.с тоже не знает что такое бдисайблмапентер.Где ж это ставить в каком файле?
2 navvy как раз надо чтобы в мирное время суток ночью их не было а в военое время были всегда.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

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

 



Текстовая версия Сейчас: 30th April 2026 - 05:23

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