• Уважаемые гости и новички, приветствуем Вас на нашем форуме
    Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!

Готика ½ Скрипт на Компас

Orc Hunter


Модостроитель
Регистрация
12 Окт 2013
Сообщения
1.269
Благодарности
1.667
Баллы
305
69247d6e90e9d99090591d86ea107015.jpg

Компас для Gothic I и Gothic II - Ночь Ворона.

Ссылка на скрипт и шрифт https://yadi.sk/d/WdGQB6IMfbfrr

Установка:

1. Добавить скрипт COMPASS.D в любое место проекта, но учитывая что зацикленная функция должна находится после него.
2. Создать зацикленную функцию (пример - https://worldofplayers.ru/threads/31401/) и добавить в нее строку
PrintScreen(COMPASS_FORHERO(), 70,70,"COMPASS_LINE128.TGA",1);

Огромная благодарность Saturas за помощь.
 
Последнее редактирование:

Orc Hunter


Модостроитель
Регистрация
12 Окт 2013
Сообщения
1.269
Благодарности
1.667
Баллы
305
Очень нужен человек, готовый помочь с доработкой компаса.
 

Gor

Участник форума
Регистрация
26 Дек 2009
Сообщения
977
Благодарности
547
Баллы
245
перепутаны восток и запад
Снизу South-Юг, сверху значит север North, справа East-Восток, слева West-Запад.
Что то я не пойму что перепутано. Правда судя по рисунку солнце садится на юге
 

Orc Hunter


Модостроитель
Регистрация
12 Окт 2013
Сообщения
1.269
Благодарности
1.667
Баллы
305
Когда от севера поворачиваешься в лево, стрелка вместо того чтобы сместится на север в право, тоже смещается на лево. Нужно в шрифте компаса заменить все стадии компаса при повороте на лево, на те же стадии только с поворотом на право, и наоборот.

p.s. Это трудно объяснить, нужно увидеть.
 

DenZanuda


Архивариус
Регистрация
4 Ноя 2011
Сообщения
941
Благодарности
476
Баллы
245

НастасьСанна

Участник форума
Регистрация
6 Дек 2012
Сообщения
350
Благодарности
521
Баллы
325
Проще отредактировать скрипт. За поворот вправо/влево отвечает переменная s, т.е. чтобы компас крутился в другую сторону, ее достаточно инвертировать.

Короче говоря, в строчке 240 скрипта заменить < на >=
s = z >= 0;
 

Orc Hunter


Модостроитель
Регистрация
12 Окт 2013
Сообщения
1.269
Благодарности
1.667
Баллы
305
Я уже отредактировал текстуру, позже выложу ее в теме.

Работа над компасом завершена, компас абсолютно правильно работает. Ссылку обновил.
 
Последнее редактирование модератором:

DenZanuda


Архивариус
Регистрация
4 Ноя 2011
Сообщения
941
Благодарности
476
Баллы
245

Orc Hunter


Модостроитель
Регистрация
12 Окт 2013
Сообщения
1.269
Благодарности
1.667
Баллы
305
Если в зацикленную функцию вставить
Код:
PrintScreen(COMPASS_FORHERO(), 70,70,"COMPASS_LINE128.TGA",1);
то постоянно, а если сделать какое-то условие
Код:
if(hero.aivar[AIV_WEARCOMPASS] == True)
    {
        PrintScreen(COMPASS_FORHERO(),70,70,"COMPASS_LINE128.tga",1);
    };
то только тогда когда условие выполняется.
 

DenZanuda


Архивариус
Регистрация
4 Ноя 2011
Сообщения
941
Благодарности
476
Баллы
245
Было бы здорово, чтоб он вызывался кнопкой, как карта.
 

Orc Hunter


Модостроитель
Регистрация
12 Окт 2013
Сообщения
1.269
Благодарности
1.667
Баллы
305
Насчет кнопки помочь не могу, но в моем моде он будет реализован как предмет который можно одеть и снять
Код:
instance ItMi_Compass(C_Item)
{
    name = "Компас";
    mainflag = ITEM_KAT_DOCS;
    flags = ITEM_MISSION;
    value = 30;
    visual = "ItMi_Compass.3DS";
    material = MAT_LEATHER;
    scemeName = "MAP";
    on_state[0] = UseCompass;
    description = name;
    text[5] = NAME_Value;
    count[5] = value;
};


func void UseCompass()
{
    if(self.aivar[AIV_WEARCOMPASS] == False)
    {
        self.aivar[AIV_WEARCOMPASS] = True;
    }
    else if(self.aivar[AIV_WEARCOMPASS] == True)
    {
        self.aivar[AIV_WEARCOMPASS] = False;
    };
};

Прошу прощения, вот сейчас ссылку обновил.
 
Последнее редактирование модератором:

Ur-tRall

Участник форума
Регистрация
16 Май 2009
Сообщения
4.100
Благодарности
2.123
Баллы
475
Дык компасы в модификациях уже давно существуют. Визуального вида не было, но северо-запады июго-востоки были. Почему бы не взглянуть для упрощения работы и на тот скрипт?
 

Vlad_Torop

Участник форума
Регистрация
2 Май 2014
Сообщения
872
Благодарности
501
Баллы
245
Насчет кнопки помочь не могу, но в моем моде он будет реализован как предмет который можно одеть и снять
ИМХО : Не лишним было-бы прикрутить спец.умение для использования компаса,которому ГГ обучается,и без знания которого, компас бесполезная безделушка в рюкзаке.
А вообще,морская тематика имеет право на расширение.В оригинале присутствуют и клады,и корабли,и пираты,а ни тебе подзорной трубы,ни тебе компаса,ни тебе абордажа:confused:
 

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.860
Благодарности
6.740
Баллы
1.625
Ну все..... поехали тролить...
Молодой человек старался, делал, измывался над собой, чтобы вам угодить, а вы....
Эх вы...:(
 

Vlad_Torop

Участник форума
Регистрация
2 Май 2014
Сообщения
872
Благодарности
501
Баллы
245
Ну все..... поехали тролить...
Молодой человек старался, делал, измывался над собой, чтобы вам угодить, а вы....
Эх вы...:(
Меня,увы не правильно поняли.Никакого троллинга.
 

Vlad_Torop

Участник форума
Регистрация
2 Май 2014
Сообщения
872
Благодарности
501
Баллы
245
Меня,увы не правильно поняли.Никакого троллинга.
spoiler]
Говоря о спец.навыке,я имел в виду что-то типо того :

С тех пор как разбили лагерь,прошло достаточно времени,что-бы никто не стоял на ногах крепко.Уже давно стемнело,когда над тонкой прибрежной полосой появилась темная фигура человека.Она легко варьировала между недаубаюканными скавенгерами ,и недапроснувшимися пиратами,сама слегка запинаясь об чувство собственной безнаказанности.Взор ее был замутнен,но разум был ясен,ибо за разум отвечал отнюдь не он.
В том месте где тонкая желтая струйка,пробивающая себе путь в песке,преградила ей путь,она остановилась в негодовании,в тщетной попытке проследить,кто посмел таким наглым образом нарушить ее беспечное спокойствие.
Из темноты выступила другая фигура,такая же темная как и все обычные,темные фигуры.
Между ними завязался не понятный для посторонних, диалог:

instance DIA_Дядька_(C_Info)
{
NPC = NPC_666_Дядька;
nr = 1;
condition = DIA_Дядька_condition;
information = DIA_Дядька_info;
important = true;
};


func int DIA_Дядька_condition()
{
if(Npc_HasItems(hero,ItMi_Компас) > 0)
{
return TRUE;
};
};

func void DIA_Дядька_info()
{

AI_Output(self,other,"DIA_Дядька_Ritual_04_00"); //Э,че у это у тебя болтается?
AI_Output(other,self,"DIA_Дядька_Ritual_15_00"); //Это "момпас",ик.
AI_Output(self,other,"DIA_Дядька_Ritual_04_01"); //Это не момпас-ик,это компас.Ты хоть знаешь как им пользоваться?
AI_Output(other,self,"DIA_Дядька_Ritual_15_01"); //Конечно,ептыть,я им орехи колю.
AI_Output(self,other,"DIA_Дядька_Ritual_04_02"); //Дурагон.Это ДжПиЭрЭс,я тя научу как им ептыть.
AI_Output(self,other,"DIA_Дядька_Ritual_04_03"); //Видишь букву N это север,....................
Teach_Drunken_Kompas_Teach = True;

};

далее
instance ItMi_Compass(C_Item)
{
name = "Компас";
mainflag = ITEM_KAT_DOCS;
flags = ITEM_MISSION;
value = 30;
visual = "ItMi_Compass.3DS";
material = MAT_LEATHER;
scemeName = "MAP";
on_state[0] = UseCompass;
description = name;
text[5] = NAME_Value;
count[5] = value;
};


func void UseCompass()
{
if(Teach_Drunken_Kompas_Teach == True)
{
if(self.aivar[AIV_WEARCOMPASS] == False)
{
self.aivar[AIV_WEARCOMPASS] = True;
}
else if(self.aivar[AIV_WEARCOMPASS] == True)
{
self.aivar[AIV_WEARCOMPASS] = False;
};
};
};

Что касается морской тематики:
Я искренне заинтересован в развитии этой темы.(Интересно только,заинтересован ли сам "двиг" в развитии этой темы?)
 
Последнее редактирование:
Сверху Снизу