Форум сайта 'Гавань Корсаров'
 

Вернуться   Форум сайта 'Гавань Корсаров' > Верфь модостроения «Бермуды» > Мастерская модостроения > Модификации для ПКМ

Важная информация


  Информационный центр
Последние важные новости
 
 
 
 
 
Ответ
 
Опции темы Опции просмотра
Старый 08.11.2010, 17:29   #1
Лобстер1000
Матрос
 
Регистрация: 28.10.2010
Сообщений: 37
Нация: Пираты
Пол: Мужской
Офицеры Корабли
Репутация: 1
Смущение Уроки по кодингу ПКМ

  • FAQ от Кулаева Алексея aka Lesha [Для просмотра данной ссылки нужно зарегистрироваться]
    Содержит уроки по коддингу, урок по работе с TX Converter, а так же небольшой урок по работе с 3D-редактором Maya 4.0. Насколько мне известно, интерфейс в Maya 4 не отличается от Maya 5. В Maya 5 лишь добавились новые функции и возможности.
  • Уроки по созданию модификаций от Flint’а, Mett’а, и других авторов [Для просмотра данной ссылки нужно зарегистрироваться]

Итак, задача которая перед нами стоит – создать новый предмет на основе имеющейся модели рисунка:
Спойлер:

Во-первых, откроем файл PROGRAM\Items\initItems.c
А теперь рассмотрим особенности создания каждого типа предметов в отдельности:

1. Мешочки с золотом.

makeref(itm,Items[n]);
itm.id = "100gp"; - ID предмета в игре, его идентификатор.
itm.name = "itmname_100gp"; - Имя предмета в файле RESOURCE\INI\TEXTS\RUSSIAN\ItemsDescribe.txt
itm.model = "purse"; - 3D модель предмета.
itm.minlevel = 0; - Минимальный уровень для нахождения персонажем предмета.
itm.rare = 0.3; - Редкость появления предмета, чем больше значение, тем чаще встречается.
itm.gold = 100; - Сколько денег добавляется персонажу при нахождении данного предмета, т.е. персонажу добавляется не сам предмет, а деньги.

n++;

2. Пистолеты.

makeref(itm,Items[n]);
itm.id = "pistol1"; - ID предмета в игре, его идентификатор.
itm.groupID = GUN_ITEM_TYPE; - ID группы предметов в игре.
itm.name = "itmname_pistol1"; - Имя предмета в файле RESOURCE\INI\TEXTS\RUSSIAN\ItemsDescribe.txt
itm.describe = "itmdescr_pistol1"; - Имя предмета в файле RESOURCE\INI\TEXTS\RUSSIAN\ItemsDescribe.txt
itm.folder = "items";
itm.model = "pistol1"; - 3D модель предмета.
itm.picIndex = 1; - № картинки в файле с изображениями предметов.
itm.picTexture = "ITEMS_6"; - Имя файла с изображением предмета RESOURCE\TEXTURES\INTERFACES
itm.price = 1500; - Среднестатистическая цена предмета.
itm.chargeQ = 1; - Кол-во зарядов в пистолете
itm.chargespeed = 8; - Скорость перезарядки
itm.dmg_min = 30.0; - Минимальный урон.
itm.dmg_max = 45.0; - Максимальный урон.
itm.accuracy = 30; - Точность
itm.minlevel = 2; - Минимальный уровень для нахождения\покупки персонажем предмета.
itm.rare = 0.1; - Редкость появления предмета, чем больше значение, тем чаще встречается.

n++;

3. Сабли.

makeref(itm,Items[n]);
itm.id = "blade1"; - ID предмета в игре, его идентификатор.
itm.groupID = BLADE_ITEM_TYPE; - ID группы предметов в игре.
itm.name = "itmname_blade1"; - Имя предмета в файле RESOURCE\INI\TEXTS\RUSSIAN\ItemsDescribe.txt
itm.describe = "itmdescr_blade1"; - Имя предмета в файле RESOURCE\INI\TEXTS\RUSSIAN\ItemsDescribe.txt
itm.model = "blade1"; - 3D модель предмета.
itm.folder = "items";
itm.picIndex = 11; - № картинки в файле с изображениями предметов.
itm.picTexture = "ITEMS_6"; - Имя файла с изображением предмета в папке RESOURCE\TEXTURES\INTERFACES
itm.price = 500; - Среднестатистическая цена предмета.
itm.dmg_min = 10.0; - Минимальный урон.
itm.dmg_max = 15.0; - Максимальный урон.
itm.piercing = 10; - Пробой брони
itm.minlevel = 0; - Минимальный уровень для нахождения\покупки персонажем предмета.
itm.rare = 0.1; - Редкость появления предмета, чем больше значение, тем чаще встречается.
itm.block = 10; - Блок сабли.
itm.param.time = 0.05;
itm.param.colorstart = argb(64, 64, 64, 64); - Яркость цвета в начале сабли (собственно клинок) a - ?, r - красный, g - зелёный, b - синий.
itm.param.colorend = argb(0, 32, 32, 32); - Яркость цвета в конце сабли (ручка) a - ?, r - красный, g - зелёный, b - синий.

n++;

4. Подзорные трубы.

makeref(itm,Items[n]);
itm.id = "spyglass1"; - ID предмета в игре, его идентификатор.
itm.groupID = SPYGLASS_ITEM_TYPE; - ID группы предметов в игре.
itm.name = "itmname_spyglass1"; - Имя предмета в файле RESOURCE\INI\TEXTS\RUSSIAN\ItemsDescribe.txt
itm.describe = "itmdescr_spyglass1"; - Имя предмета в файле RESOURCE\INI\TEXTS\RUSSIAN\ItemsDescribe.txt
itm.picIndex = 14;- № картинки в файле с изображениями предметов.
itm.picTexture = "ITEMS_6"; - Имя файла с изображением предметаRESOURCE\TEXTURES\INTERFACES
itm.price = 300; - Среднестатистическая цена предмета.
itm.folder = "items";
itm.scope.texture = "eye_BadTub.tga"; - Текстура с изображением вида из подзорной трубы в папке RESOURCE\TEXTURES
itm.scope.zoom = 2.5; - Увеличение масштаба подзорной трубой
itm.scope.time_activate = 500; - Время действия подзорной трубы
itm.scope.time_update = 150; - Время до следующего обновления вида из подзорной трубы
itm.scope.show.nation = 1; - Показ нации корабля/форта (0-выкл. 1-вкл.)
itm.scope.show.cannons = 0; - Показ количества пушек на корабле/в форте (0-выкл. 1-вкл.)
itm.scope.show.ship_name = 1; - Показ имени корабля/форта (0-выкл. 1-вкл.)
itm.scope.show.ship_type = 1; - Показ типа корабля/форта (0-выкл. 1-вкл.)
itm.scope.show.hull = 0; - Показ состояния корпуса у корабля/форта (0-выкл. 1-вкл.)
itm.scope.show.sail = 0; - Показ состояния парусов у корабля (0-выкл. 1-вкл.)
itm.scope.show.crew = 0; - Показ количества команды на корабле/в форте (0-выкл. 1-вкл.)
itm.scope.show.speed = 1; - Показ скорости корабля/форта (0-выкл. 1-вкл.)
itm.scope.show.charge = 0;
itm.minlevel = 1; - Минимальный уровень для нахождения\покупки персонажем предмета.
itm.rare = 0.1; - Редкость появления предмета, чем больше значение, тем чаще встречается.


n++;

Далее идём в самый низ файла и пишем следущее:

makeref(rnditem,RandItems[51]); - Порядковый номер предмета, если в предыдущем написано 51, в "своём" пишем 52 и т.п.
rnditem.id = "spyglass4"; - ID предмета, тот который Вы указали выше.
rnditem.maxQuantity = 1; - Максимальное количество данных предметов в локаторах randitems.

Сохраняем изменения. Далее открываем файл RESOURCE/INI/TEXTS/RUSSIAN/ItemsDescribe.txt

itmname_coins - То, что Вы написали в itm.name (см.выше)
{Проклятые монеты} - Название предмета.
itmdescr_coins - То, что Вы написали в itm.describe (см. выше)
{ Широкие золотые монеты с изображенным на них черепом. Улыбочка у него та еще. } - Описание предмета.

Сохраняем изменения. Далее открываем файл PROGRAM\ITEMS\Items.c

Ищем строку #define ITEMS_QUANTITY 128 - Меняем 128 на то число предметов, к-рые Вы добавили, т.е. если добавили 1 - пишете 129 и т.п.
Ищем строку #define RANDITEMS_QUANTITY 52 - Меняем 52, если написали makeref(rnditem,RandItems[51]);(см. выше), причём пишем значение на 1 больше, чем в файлеPROGRAM\Items\initItems.c, т.е. если у вас в вышеназванном файле последний предмет имеет ID 52, здесь пишем 53 и т.п.



Затем открываем RESOURCE\INI\INTERFACES\pictures.ini
Там ищем примерно это

[ITEMS_10] –ищем последнюю цифру и ниже добавляем(путём копирования)
sTextureName = items10.tga – вместо десяти следующая цифра, если последняя 11 то 12 и т.д…***
wTextureWidth = 512
wTextureHeight = 512

picture = itm1,0,0,128,128
picture = itm2,128,0,256,128
picture = itm3,256,0,384,128
picture = itm4,384,0,512,128
picture = itm5,0,128,128,256
picture = itm6,128,128,256,256
picture = itm7,256,128,384,256
picture = itm8,384,128,512,256
picture = itm9,0,256,128,384
picture = itm10,128,256,256,384
picture = itm11,256,256,384,384
picture = itm12,384,256,512,384
picture = itm13,0,384,128,512
picture = itm14,128,384,256,512
picture = itm15,256,384,384,512
picture = itm16,384,384,512,512

Теперь копируем в текстурах файл = items10.tga и вставляем с вашим номером = items*.tga – имя должно соответствовать 2 строчке выше(там значки «***»).
Это мы сделали картинку, квадрат описания, их там 16. Соответственно ставите номер квадрата, в котором ваша сабля, счёт с лева на право.
КВ( 1 )КВ( 2 )КВ( 3 )КВ( 4 ) - КВ - квадрат
КВ( 5 )КВ( 6 )КВ( 7 )КВ( 8 )
КВ( 9 )КВ(10)КВ(11)КВ(12) - схема items*.tga
КВ(13)КВ(14)КВ(15)КВ(16)
Всё! Идём дальше открываем: RESOURCE\INI\TEXTS\RUSSIAN\ItemsDescribe.txt
В нём описание сабли:

itmname_blade* {Имя сабли} // - itmdescr_blade* - помним да!
itmdescr_blade*
{
Непосредственно само описание.
}

Можно как шаблон это брать.
Теперь самая плюха, открываем PROGRAM\QUESTS\quests_reaction.с
Там прописывается добавка предмета на прилавки.
В нём ищем void GiveItemToTrader(aref ch)
Затем добавляем строки

if (makeint(pchar.rank) >=*) //ставим какой хотим уровень, т.е поставили 5 то //как только уровень будет больше 5 то сабля будет на прилавке.
{
irand = rand(*); //- по порядку смотрим в файле выше и ниже
if (irand == 1) { TakeNItems(ch,"blade*", Rand(1)+1);}
}

Если всё ОК то игра запустится, сначала лучше if (makeint(pchar.rank) >=*)
Поставить на «1» и проверить…


.

Последний раз редактировалось Yukon; 02.01.2016 в 18:46.
Лобстер1000 вне форума Ответить с цитированием
5 пользователя(ей) сказали cпасибо:
dem0n1c (18.09.2013), Fredster (18.03.2014), mcleod-s (13.05.2019), Profit (05.05.2013), shum0k (08.11.2010)
Реклама
Старый 08.11.2010, 18:05   #2
Лобстер1000
Матрос
 
Регистрация: 28.10.2010
Сообщений: 37
Нация: Пираты
Пол: Мужской
Офицеры Корабли
Репутация: 1
По умолчанию Урок №2: Создание Пушки

Итак наша Задача Создать Новые Орудия В игре.
Для начала идём в папку PROGRAM\CANNONS там есть файл Cannons_init.c заходим и добавляем орудие например 44 калибр пушка

makeref(rCannon,Cannon[CANNON_TYPE_CANNON_LBS32]);
rCannon.type = CANNON_NAME_SPECIAL_CANNON;
rCannon.caliber = 32; - калибр
rCannon.ReloadTime = 80; - перезарядка // boal 40
rCannon.Cost = 3500; - цена 1 пушки
rCannon.Weight = 72; - размер (в игре пушки увеличиваться не будут)
rCannon.FireAngMax = 0.60;
rCannon.FireAngMin = -0.35;
rCannon.DamageMultiply = 3.0;
rCannon.TradeOff = true; - пушка не продаётся
InitBaseCannons_CalcSpeedV0(&rCannon,600.0); - Дальность

Если Кулеврина изменяем следующее:

makeref(rCannon,Cannon[CANNON_TYPE_CULVERINE_LBS44]);
rCannon.type = CANNON_NAME_CULVERINE;

Далее в этой же папке заходим в файл Cannons.h и пишем следующее:

#define CANNON_TYPES_QUANTITY 7 (изменяем число на Кол-во созданных пушек)

#define CANNON_TYPE_CULVERINE_LBS12 0
#define CANNON_TYPE_CULVERINE_LBS16 1
#define CANNON_TYPE_CULVERINE_LBS24 2
#define CANNON_TYPE_CANNON_LBS12 3
#define CANNON_TYPE_CANNON_LBS16 4
#define CANNON_TYPE_CANNON_LBS24 5
#define CANNON_TYPE_CANNON_LBS32 6

И пишем по образцу свою пушку допустим
#define CANNON_TYPE_CULVERINE_LBS44 7
или
CANNON
В этом же файле находим строки:
case CANNON_TYPE_CULVERINE_LBS12:
return 12;
break;
case CANNON_TYPE_CANNON_LBS12:
return 12;
break;
case CANNON_TYPE_CULVERINE_LBS16:
return 16;
break;
case CANNON_TYPE_CANNON_LBS16:
return 16;
break;
case CANNON_TYPE_CULVERINE_LBS24:
return 24;
break;
case CANNON_TYPE_CANNON_LBS24:
return 24;
break;
case CANNON_TYPE_CANNON_LBS32:
return 32;
break;

и пишем по образцу к примеру

case CANNON_TYPE_CANNON_LBS44:
return 44;
break;

Далее в этой же папке заходим в файл Cannons.c и находим
если пушки

case 12:
return CANNON_TYPE_CANNON_LBS12;
break;
case 16:
return CANNON_TYPE_CANNON_LBS16;
break;
case 24:
return CANNON_TYPE_CANNON_LBS24;
break;
case 32:
return CANNON_TYPE_CANNON_LBS32;
break;

и вставляем свою

case 44:
return CANNON_TYPE_CANNON_LBS44
break;

С этой папкой закончили теперь идём в папку
RESOURCE\INI\TEXTS\RUSSIAN и заходим в файл common.ini
и находим
string = caliber12,"12фунт."
string = caliber16,"16фунт."
string = caliber24,"24фунт."
string = caliber32,"32фунт."
и добавляем калибр той пушки которую вы создали
string = caliber44,''44фунт."

теперь последнее картинка на интерфейсе. заходим в INI\INTERFACE И открываем файл pictures.ini находим строки:

picture = culverine12,640,0,768,128
picture = culverine16,512,0,640,128
picture = culverine24,384,0,512,128
picture = cannon12,256,0,384,128
picture = cannon16,128,0,256,128
picture = cannon24,0,0,128,128
picture = cannon32,0,0,128,128
и вставляем своё:

picture = cannon44,0,0,128,128

Всё!

Последний раз редактировалось Flibustier; 08.11.2010 в 22:09.
Лобстер1000 вне форума Ответить с цитированием
3 пользователя(ей) сказали cпасибо:
mcleod-s (13.05.2019), samovar (08.11.2010), shum0k (08.11.2010)
Реклама

Зарегистрированным пользователям показывается меньше рекламы!

Старый 08.11.2010, 18:15   #3
Лобстер1000
Матрос
 
Регистрация: 28.10.2010
Сообщений: 37
Нация: Пираты
Пол: Мужской
Офицеры Корабли
Репутация: 1
По умолчанию Урок №3: Создание Корабля

Откроем файл Programs/ships/ships_init.c.
Найдите корабль, который наиболее похож на ваш новый корабль(по характеристикам) и скопируйте код в конец описания кораблей. ДО описания фортов!
//-------------------------------------------------------------------------
// VON !<-------- названия корабля, не играет никакой роли, может быть любым.
//-------------------------------------------------------------------------
makeref(refShip,Ships Types[SHIP_VON]); <- формат массива - SHIP_названия корабля
refShip.Name = "Xebec 1"; <-Может быть любой из существующих кораблей или ваше собственное имя.
refShip.Class = 1; <- Класс корабля. Может принимать значения от 1 до 7.
refShip.Cannon = CANNON_TYPE_CANNON_LBS32; <-тип установленных орудий.
refShip.MaxCaliber = 32; <-максимальный калибр
refShip.Weight = Tonnes2CWT(2200);<-масса корабля
refShip.Capacity = 3500;<-грузоподъемность
refShip.CannonsQuantity = 44;<-количество орудий
refShip.MaxCrew = 600;<-максимальная команда
refShip.MinCrew = 150;<-минимальная команда
refShip.SpeedRate = 17.2;<-скорость
refShip.TurnRate = 26;<-маневренность
refShip.Price = 50000;<-цена(средняя)
refShip.HP = 15000;<-жизни
refShip.SP = 100;<-жизни парусов
refShip.AbordageLocation = "BOARDING_XEBEC"; <- Локация абордажа. Можно плавать на тартане и поставить локацию абордажа от мановара..
refShip.EmblemedSails.normalTex = "ships\sail_Pirates.tga";<-Текстура парусов
refship.WaterLine = 0.0; <- Секция описаний для реалистичного режима плавания.
refship.SpeedDependWeight = 0.3;
refship.SubSeaDependWeight = 0.9;
refship.TurnDependWeight = 0.8;

refShip.CanEncounter = false; <- Это делает корабль уникальным. Т.е. в море его встретить нельзя.
refship.InertiaAccelerationX = 3.0;
refship.InertiaBrakingX = 2.0;
refship.InertiaAccelerationY = 14;
refship.InertiaBrakingY = 5;
refship.InertiaAccelerationZ = 5.0;
refship.InertiaBrakingZ = 3.0;
refShip.Height.Bombs.Y = 1.0;
refShip.Height.Bombs.DY = 0.5;
refShip.Height.Grapes.Y = 2.0;
refShip.Height.Grapes.DY = 1.0;
refShip.Height.Knippels.Y = 10.0;
refShip.Height.Knippels.DY = 8.0;
refShip.Height.Balls.Y = 1.0;
refShip.Height.Balls.DY = 0.5;

теперь у нас есть корабль, далее откройте файл ship.h в этой же директории.
В первой строке замените
#define SHIP_TYPES_QUANTITY 166
На
#define SHIP_TYPES_QUANTITY 167
Теперь прокрутите ниже, до описания последнего корабля:
#define SHIP_FEARLESS 165
И допишите строку:
#define SHIP_VON 165, где SHIP_VON - SHIP_+название вашего корабля.

Теперь наш корабль доступен как SHIP_имя_нация.

Далее Идём в директорию RESOURCE\MODELS\Ships и вставляем папку с названием нашего Корабля
допустим (писать с большой буквы ОБЯЗАТЕЛЬНО!)
Von

в эту папку вставляем модели нашего корабля и переименовываем ТОЛЬКО НАЗВАНИЕ! Допустим:

было: Frigate.gm должно быть: von.gm
или допустим
было: Frigate_mast3.gm должно быть: von_mast3.gm

А потом в папку RESOURCE\Textures\Ships обавляем текстуры
корабля который вы создали.

ВСЁ!
Лобстер1000 вне форума Ответить с цитированием
3 пользователя(ей) сказали cпасибо:
mcleod-s (13.05.2019), Profit (05.05.2013), shum0k (08.11.2010)
Старый 08.11.2010, 19:20   #4
Лобстер1000
Матрос
 
Регистрация: 28.10.2010
Сообщений: 37
Нация: Пираты
Пол: Мужской
Офицеры Корабли
Репутация: 1
По умолчанию Урок №4: Создание Локации

Итак, задача не из лёгких – добавить новую локацию. А поэтому без лишних слов приступим к делу.

Для начала изучим что же такое локация и из чего она состоит.

Для примера откроем любой файл из папки PROGRAM\Locations\init\

Locations[n].filespath.models = "locations\town_Douwesen\port";<--Это указатель на модель, используемую для внутренней части.

Locations[n].image = "loading\Douwesen_Port.tga";<--Это картинка загрузки в локацию, распологаютсья в папке \RESOURCE\Textures\Loading\

locations[n].worldmap = "Douwesen";

Locations[n].id = "Douwesen_port";<--Это ID особых локаций

locations[n].id.label = "Douwesen port";<--Метка



Locations[n].townsack = "Douwesen";



locations[n].type = "port";<--

locations[n].fastreload = "Douwesen";



Locations[n].models.always.locators = "DouPort_l";<--Перегружаем локаторы

Locations[n].models.always.seabed = "DouPort_sb";<--Загружаем карту морского дня

Locations[n].models.always.seabed.foam = "1";<-- разрешаем пену

Locations[n].models.always.l1 = "DouPort";

Locations[n].models.always.l1.foam = "1";

Locations[n].models.always.grasspatch = "DouPort_g";



Locations[n].models.day.rinok = "DouPort_e01";

Locations[n].models.day.charactersPatch = "DouPort_pd";

Locations[n].models.day.fonar = "DouPort_fd";



Locations[n].models.night.fonar = "DouPort_fn";

Locations[n].models.night.charactersPatch = "DouPort_pn";



Locations[n].environment.weather = "true";<--Разрешаем или запрещаем действие погоды в локации

Locations[n].environment.sea = "true";<--Разрешаем или запрещаем море в данной локации



Locations[n].reload.l1.name = "reload3";<--Локатор перехода в следующую локацию

Locations[n].reload.l1.go = "Douwesen_town";<--ID следующей локации

Locations[n].reload.l1.emerge = "reload9";<--Имя локатора где появимся

Locations[n].reload.l1.autoreload = "0";

Locations[n].reload.l1.label = "Douwesen.";<--Этот текст показывается когда вы смотрите на дверь.



Locations[n].reload.l2.name = "reload2";

Locations[n].reload.l2.go = "Douwesen";

Locations[n].reload.l2.emerge = "reload_1";

Locations[n].reload.l2.autoreload = "0";

Locations[n].locators_radius.reload.reload2 = 3;

Locations[n].reload.l2.label = "Sea.";



Locations[n].reload.l3.name = "reload1_back";

Locations[n].reload.l3.go = "Douwesen";

Locations[n].reload.l3.emerge = "reload_1";

Locations[n].reload.l3.autoreload = "0";

Locations[n].reload.l3.label = "Sea.";

Locations[n].locators_radius.reload.reload1_back = 3;



Locations[n].reload.l4.name = "reload2_back";

Locations[n].reload.l4.go = "Douwesen";

Locations[n].reload.l4.emerge = "reload_1";

Locations[n].reload.l4.autoreload = "0";

Locations[n].locators_radius.reload.reload2_back = 3;

Locations[n].reload.l4.label = "Sea.";



Locations[n].reload.l5.name = "reload1";

Locations[n].reload.l5.go = "Douwesen";

Locations[n].reload.l5.emerge = "reload_1";

Locations[n].reload.l5.autoreload = "0";

Locations[n].reload.l5.label = "Sea.";

Locations[n].locators_radius.reload.reload1 = 3;



n = n + 1;


А теперь найдите дом который хотели изменить, смените ID, после чего замените в городе, где хотите свой дом ID перехода.

Последний раз редактировалось Flibustier; 08.11.2010 в 22:11. Причина: Добавлено сообщение
Лобстер1000 вне форума Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
Profit (05.05.2013), shum0k (08.11.2010)
Старый 08.11.2010, 19:31   #5
samovar
Старший матрос
 
Аватар для samovar
 
Регистрация: 26.09.2007
Адрес: КАРЕЛИЯ
Сообщений: 71
Нация: Франция
Пол: Мужской
Офицеры Корабли
Репутация: 3
По умолчанию Ответ: Урок №2: Создание Пушки

Пробовал давненько гарпун установить - не получилось

кроме того не знаю как линь создать - может кто знает ???
__________________
Алчных на рею !!!

Лучшая игра пиратской тематики: Легенды моря 1996г.
samovar вне форума Ответить с цитированием
Старый 08.11.2010, 20:41   #6
MONBAR
Основатель
Corsairs-Harbour.Ru WastelandMutants.Ru
Губернатор
 
Аватар для MONBAR
 
Регистрация: 13.08.2007
Сообщений: 8,378
Нация: Пираты
Пол: Мужской
Офицеры Корабли
Репутация: 1110

Награды пользователя:

По умолчанию Ответ: Уроки по кодингу

Все очень хорошо, а автора материала указывать не надо?
__________________
Гимн Гавани Корсаров




Лучшая игра пиратской тематики: Корсары: Проклятие дальних морей
MONBAR вне форума Ответить с цитированием
Старый 08.11.2010, 23:01   #7
Лобстер1000
Матрос
 
Регистрация: 28.10.2010
Сообщений: 37
Нация: Пираты
Пол: Мужской
Офицеры Корабли
Репутация: 1
По умолчанию Ответ: Уроки по кодингу

А как редактировать сообщение? нету кнопки правка!

Замечание модератора:
Сам править можешь только определенное время и только, если это последнее сообщение. За всем остальным, плиз - в ЛС или асю.

Последний раз редактировалось Flibustier; 08.11.2010 в 23:09.
Лобстер1000 вне форума Ответить с цитированием
Старый 12.11.2010, 18:10   #8
Лобстер1000
Матрос
 
Регистрация: 28.10.2010
Сообщений: 37
Нация: Пираты
Пол: Мужской
Офицеры Корабли
Репутация: 1
Радость Ответ: Уроки по кодингу

Урок №5: Создание Корабельного товара.
Рассмотрим, как создать новый корабельный товар.

Для начала открываем файл PROGRAM\STORE\initGoods.c
И пишем Внизу свой товар допустим my11

Goods[GOOD_WHEAT].Name = "my11"; ID товара(обязательно включите в " ")
Goods[GOOD_WHEAT].Weight = 1; вес одной единицы товара
Goods[GOOD_WHEAT].Cost = 100; цена
Goods[GOOD_WHEAT].Units = 1; кол-во в пачке
Goods[GOOD_WHEAT].Swim.Model = "sack"; модель предмета
Goods[GOOD_WHEAT].Swim.Time = 50; время плаванья

далее открываем файл PROGRAM\STORE\goods.h

изменяем #define GOODS_QUANTITY 27 // boal
на
#define GOODS_QUANTITY 28 после каждого нового добавленного товара увеличиваем число на 1
и в этом же файле внизу
пишем следующие:
#define GOOD_my11 27

Далее расмотрим описание товара.
Открываем файл RESOURCE\INI\TEXTS\RUSSIAN\GoodsDescribe.txt
и пишем свой

my11 {Мой товар} -здесь вписываете название
my11_descr
{
Мой товар. Его найдешь по всем карибам.-здесь описание
}

открываем файл common.ini
и находим

string = Balls,"Ядра"
string = Grapes,"Картечь"
string = Knippels,"Книппели"
string = Bombs,"Бомбы"
string = Sailcloth,"Парусина"
string = Planks,"Доски"
string = Wheat,"Пшеница"
string = Ebony,"Черное дерево"
string = Chocolate,"Какао"
string = Sugar,"Сахар"
string = Wine,"Вино"
string = Linen,"Полотно"
string = Rum,"Ром"
string = Tobacco,"Табак"
string = Coffee,"Кофе"
string = Mahogany,"Красное дерево"
string = Cinnamon,"Корица"
string = Copra,"Копра"
string = Paprika,"Паприка"
string = Fruits,"Фрукты"
string = Ale,"Эль"
string = Silk,"Шелк"
string = Clothes,"Одежда"
string = Cotton,"Хлопок"
string = Sandal,"Сандал"
string = Leather,"Кожа"
string = Oil,"Масло"

и пишем своё

string = My11,"Мой товар"

теперь пропишем слова, которые будут вылезать при съедании крысами или поднятии на борт:
открываем в этой же папке файл ShipEatGood.txt

и на примере любого товара вставляем:
seg_my11 {моего товара}-любое название(только чтобы соответствовало названию из описания!

в файле SeaSection.txt находящимся в этой же папке прописываем тоже самое.

Все,товар создан! Осталась-иконка.
открываем файл RESOURCE\INI\INTERFACES\pictures.ini
находим строки:

picture = Balls,128,256,256,384
picture = Grapes,256,256,384,384
picture = Knippels,512,256,640,384
picture = Bombs,384,256,512,384
picture = Sailcloth,256,128,384,256
picture = Planks,384,384,512,512
picture = Wheat,0,128,128,256
picture = Ebony,896,256,1024,384
picture = Chocolate,512,0,640,128
picture = Sugar,384,128,512,256
picture = Wine,768,0,896,128
picture = Linen,640,0,768,128
picture = Rum,128,128,256,256
picture = Tobacco,512,128,640,256
picture = Coffee,0,384,128,512
picture = Mahogany,768,256,896,384
picture = Cinnamon,640,256,768,384
picture = Copra,768,128,896,256
picture = Paprika,0,256,128,384
picture = Fruits,384,0,512,128
picture = Ale,128,0,256,128
picture = Oil,256,0,384,128
picture = Silk,896,0,1024,128
picture = Clothes,896,128,1024,256
picture = Cotton,0,0,128,128
picture = Sandal,128,384,256,512
picture = Leather,640,128,768,256

и на основе присутствующих вставляем свое.
пример:

picture = Rum,128,128,256,256
picture = Tobacco,512,128,640,256
picture = my11,512,128,640,256
picture = Coffee,0,384,128,512

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

Товар создан! Он сам появится на прилавках!
Лобстер1000 вне форума Ответить с цитированием
Пользователь сказал cпасибо:
Profit (05.05.2013)
Старый 06.04.2011, 07:24   #9
Джеймс Норрингтон
Матрос
 
Аватар для Джеймс Норрингтон
 
Регистрация: 26.02.2011
Адрес: Тайник Дейви Джоунса
Сообщений: 45
Нация: Англия
Пол: Мужской
Офицеры Корабли
Репутация: 2
По умолчанию Re: Уроки по кодингу

Создал саблю, пистоль, зелье, сделал так, чтобы при взятии мешочков с золотом добавлялось 100000000. Теперь мешочки с золотом вообще не попадаются!!! Сабли нет, пистоля нет, зелья нет, всего что я создал нет!!!
Джеймс Норрингтон вне форума Ответить с цитированием
Старый 06.04.2011, 18:12   #10
Лобстер1000
Матрос
 
Регистрация: 28.10.2010
Сообщений: 37
Нация: Пираты
Пол: Мужской
Офицеры Корабли
Репутация: 1
По умолчанию Re: Уроки по кодингу

у меня получалось.
__________________
Если Когда-нибудь Ты Захватишь Вражеский
Корабль Не Думай Что с Ним Далеко Уплывёшь...

Лучшая игра пиратской тематики: Корсары 2: Пираты Карибского Моря
Лобстер1000 вне форума Ответить с цитированием
Старый 06.04.2011, 18:28   #11
Tymofei
Старожил
Капитан-лейтенант
BlackMark Studio
 
Аватар для Tymofei
 
Регистрация: 14.02.2008
Адрес: Москва
Сообщений: 3,355
Нация: Франция
Пол: Мужской
Офицеры Корабли
Репутация: 751

Награды пользователя:

По умолчанию Re: Уроки по кодингу

Джеймс Норрингтон, а новую игру начали?
__________________
[Для просмотра данной ссылки нужно зарегистрироваться]

Лучшая игра пиратской тематики: Преферанс вживую))
Tymofei вне форума Ответить с цитированием
Старый 09.07.2011, 16:20   #12
GreenBustard
Матрос
 
Аватар для GreenBustard
 
Регистрация: 14.04.2011
Адрес: Ярославль
Сообщений: 32
Нация: Пираты
Пол: Мужской
Офицеры Корабли
Репутация: 0
По умолчанию Re: Уроки по кодингу

да я попробовал локацию на дувезен добавить(мост)
GreenBustard вне форума Ответить с цитированием
Старый 01.10.2011, 19:33   #13
ALEKC777
Салага
 
Регистрация: 01.10.2011
Сообщений: 1
Нация: Англия
Пол: Мужской
Офицеры Корабли
Репутация: 0
По умолчанию Re: Уроки по кодингу

работает все, кроме создания корабля. там по любому какая то ошибка

Добавлено через 3 часа 51 минуту
а можете пожалста выложить как создать своего персоонажа! в порту оксбэя например. чтоб просто стоял.
ALEKC777 вне форума Ответить с цитированием
Старый 02.10.2011, 10:39   #14
Babb
Мичман
 
Аватар для Babb
 
Регистрация: 19.08.2011
Адрес: в деревне
Сообщений: 546
Нация: Голландия
Пол: Женский
Офицеры Корабли
Репутация: 136

Награды пользователя:

По умолчанию Re: Урок №3: Создание Корабля

Цитата:
Сообщение от Лобстер1000 Посмотреть сообщение
теперь у нас есть корабль, далее откройте файл ship.h в этой же директории.
В первой строке замените
#define SHIP_TYPES_QUANTITY 166
На
#define SHIP_TYPES_QUANTITY 167
Строку #define SHIP_TYPES_QUANTITY_WITH_FORT тоже надо увеличить на 1.

Допишите в урок как добавить корабль в верфь и как назначить иконку.
__________________
Истина где-то рядом, а молчание-золото за которое отрубают голову.

Лучшая игра пиратской тематики: ГПК
Babb вне форума Ответить с цитированием
Старый 22.10.2011, 10:44   #15
Лобстер1000
Матрос
 
Регистрация: 28.10.2010
Сообщений: 37
Нация: Пираты
Пол: Мужской
Офицеры Корабли
Репутация: 1
По умолчанию Re: Урок №3: Создание Корабля

Цитата:
Сообщение от Babb Посмотреть сообщение
Строку #define SHIP_TYPES_QUANTITY_WITH_FORT тоже надо увеличить на 1.

Допишите в урок как добавить корабль в верфь и как назначить иконку.
Знал бы я как его на верфь добавить. А иконку надо добавлять в папку textures я уже не помню.
Его можно вообще сделать уникальным чтобы он не попадался даже в море
Т.е. refShip.CanEncounter = false; поменять false на true.
__________________
Если Когда-нибудь Ты Захватишь Вражеский
Корабль Не Думай Что с Ним Далеко Уплывёшь...

Лучшая игра пиратской тематики: Корсары 2: Пираты Карибского Моря
Лобстер1000 вне форума Ответить с цитированием
Старый 25.10.2011, 13:41   #16
Babb
Мичман
 
Аватар для Babb
 
Регистрация: 19.08.2011
Адрес: в деревне
Сообщений: 546
Нация: Голландия
Пол: Женский
Офицеры Корабли
Репутация: 136

Награды пользователя:

По умолчанию Re: Урок №3: Создание Корабля

Цитата:
Сообщение от Лобстер1000 Посмотреть сообщение
Знал бы я как его на верфь добавить
Уточните свою мысль пожалуйста, если вы хотите сказать что не знаете как в верфь добавлять, то он автоматически появляется как только попадает в ships.h, а цена на него указывается в ships_init.c, вот здесь.

refShip.CannonerCrew = 204; - канониры
refShip.SailorCrew = 800; - матросы
refShip.SpeedRate = 14.2; - скорость
refShip.TurnRate = 30.0; - маневреность
refShip.Price = 750000; - цена

Добавлено через 13 часов 13 минут
Добавляю не хватающие инсрукции к уроку как создать корабль, ( автор Mett)

Спойлер:
Все корабль в море встретить можно, но мы идем сюда: PROGRAM/battle_interface/BattleInterface и ищим там такие строки (они где-то в центре):

case "brig":
BI_intNRetValue[0] = 2+2*8;
BI_intNRetValue[1] = 2+2*8 + 1;
BI_intNRetValue[2] = BI_ICONS_TEXTURE_SHIP1;
break;

Там много кейсов но нам нужен этот. Просто копируем эти строки и пишем так:

case "brig":
BI_intNRetValue[0] = 2+2*8;
BI_intNRetValue[1] = 2+2*8 + 1;
BI_intNRetValue[2] = BI_ICONS_TEXTURE_SHIP1;
break;

case "brig_h":
BI_intNRetValue[0] = 2+2*8;
BI_intNRetValue[1] = 2+2*8 + 1;
BI_intNRetValue[2] = BI_ICONS_TEXTURE_SHIP1;
break;

Т.е под бригом делаем новый кейс. Для чего это нужно, чтобы в левом углу экрана была картинка брига. А если это не прописать, то картинка будет меняться.

Все со скриптами закончили. Теперь переходим сюда: RESOURCE/INI/interface. и открываем там файл pictures. Чуть выше серидине есть такие строчки:

[SHIPS_brig]
sTextureName = ships\brig.tga
wTextureWidth = 128
wTextureHeight = 128
picture = ship,0,0,128,128

Копируем их и называем так:

[SHIPS_brig_h]
sTextureName = ships\brig.tga
wTextureWidth = 128
wTextureHeight = 128
picture = ship,0,0,128,128

Добавляем под бригом эту строку. Тут закончили, идем сюда: RESOURCE/INI/texts/russian. Там есть файл cammon. Листаем в низ и видим это:

string = Boat,"Лодка"
string = Fort,"Форт"
string = Tartane,"Тартана"
string = WarTartane,"Боевая тартана"
string = Lugger,"Люгер"
string = Sloop,"Шлюп"
string = Schooner,"Шхуна"
string = Barque,"Барк"
string = Caravel,"Каравелла"
string = Fleut,"Флейт"
string = Brig,"Бриг"
string = Galeon_l,"Галеон"
string = Corvette,"Корвет"
string = Galeon_h,"Тяж. Галеон"
string = Pinnace,"Пинас"
string = Frigate,"Фрегат"
string = LineShip,"Линкор"
string = WarShip,"Варшип"
string = Battleship,"Бэттлшип"
string = Manowar,"Мановар"

Добавляем строчку:

string = Boat,"Лодка"
string = Fort,"Форт"
string = Tartane,"Тартана"
string = WarTartane,"Боевая тартана"
string = Lugger,"Люгер"
string = Sloop,"Шлюп"
string = Schooner,"Шхуна"
string = Barque,"Барк"
string = Caravel,"Каравелла"
string = Fleut,"Флейт"
string = Brig,"Бриг"
string = Brig_h,"Тяж. Бриг" - вот он, красавец.
string = Galeon_l,"Галеон"
string = Corvette,"Корвет"
string = Galeon_h,"Тяж. Галеон"
string = Pinnace,"Пинас"
string = Frigate,"Фрегат"
string = LineShip,"Линкор"
string = WarShip,"Варшип"
string = Battleship,"Бэттлшип"
string = Manowar,"Мановар"

Дальше описание. Проматали немного вниз и видим это:

string = Lugger_descr,"Как один из самых быстрых кораблей 16-го века, люгер пользовался большой популярностью среди берегового братства, контрабандистов и военных, использовавших его в качестве быстрого курьерского или разведывательского судна."
string = Sloop_descr,"Используя небольшую осадку шлюпа и его великолепные ходовые качества за образец, конструкторы создали быстрый шлюп как высокоэффективный разведывательный корабль, пригодный для берегового патрулирования и торговли."
string = Schooner_descr,"Хорошие ходовые качества этого корабля, вкупе с вместительным трюмом сделали его одним из самых привлекательных в качестве торгового судна у торговцев средней руки, которые не могут позволить себе приобрести флейт."
string = Barque_descr,"Барк был создан в качестве универсального судна, способного на длительные переходы при минимуме команды. Его вместительный трюм позволял ему совершать длительные путешествия, и истории известно много случаев, когда именно на барках отважные путешественники открывали новые земли."
string = Caravel_descr,"Необычная форма палубы каравеллы позволяет легко опознать этот корабль с большого расстояния по его очертаниям. Каравеллы использовались, в основном, испанскими и португальскими путешественниками. Все главные географические открытия 15-16 веков были сделаны именно на каравеллах. Устаревшая конструкция не позволяет ей на равных сражаться с более новыми кораблями."
string = Fleut_descr,"Изначально флейт был датским торговым судном, ценимым за свою прочность и надежность. Датские мореплаватели часто посещали на этих кораблях Индию и Японию. Несмотря на то, что корабль был достаточно прочным и большим для дальних плаваний, использовать его в военных целях неразумно, но в качестве торгового корабля соперника флейту в его классе найти трудно."
string = Brig_descr,"Сфера использования бригов чрезвычайно широка. Бриги очень часто используют в качестве исследовательских и торговых судов, а иногда и качестве боевых кораблей. Обладая высокими скоростью и маневренностью бриги были одними из самых гармоничных кораблей того времени."

Перечислил ни все корабли. Берем описаниние брига, копиреем и обзываем brig_h т.е. делаем так:

string = brig_h_descr,"Сфера использования бригов чрезвычайно широка. Бриги очень часто используют в качестве исследовательских и торговых судов, а иногда и качестве боевых кораблей. Обладая высокими скоростью и маневренностью бриги были одними из самых гармоничных кораблей того времени."

Можно поменять описание если захотите
__________________
Истина где-то рядом, а молчание-золото за которое отрубают голову.

Лучшая игра пиратской тематики: ГПК
Babb вне форума Ответить с цитированием
Пользователь сказал cпасибо:
Flibustier (25.10.2011)
Старый 27.10.2011, 14:10   #17
Mett
Старожил
Старшина
 
Аватар для Mett
 
Регистрация: 16.01.2010
Сообщений: 177
Нация: Пираты
Пол: Мужской
Офицеры Корабли
Репутация: 34
По умолчанию Re: Урок №3: Создание Корабля

Цитата:
Сообщение от Лобстер1000 Посмотреть сообщение
Знал бы я как его на верфь добавить.
в ПКМ, чтобы корабли появились в продаже их надо прописывать в диалогах верфистов.
__________________
Что толку, если не можешь сделать мир лучше.

Лучшая игра пиратской тематики: Корсары 3: Сундук Мертвеца
Mett вне форума Ответить с цитированием
Старый 13.12.2011, 16:43   #18
nikolay11
Салага
 
Регистрация: 13.12.2011
Сообщений: 1
Нация: Пираты
Пол: Мужской
Офицеры Корабли
Репутация: 0
По умолчанию Re: Урок №3: Создание Корабля

Цитата:
Сообщение от Mett Посмотреть сообщение
в ПКМ, чтобы корабли появились в продаже их надо прописывать в диалогах верфистов.
А в каком файле и где именно прописывать?
nikolay11 вне форума Ответить с цитированием
Старый 07.05.2012, 17:59   #19
efich45
Старшина
 
Аватар для efich45
 
Регистрация: 08.04.2012
Адрес: ЯНАО г.Губкинский
Сообщений: 146
Нация: Испания
Пол: Мужской
Офицеры Корабли
Репутация: 13
Плохо Re: Уроки по кодингу

кто нибудь напишите как сделать так чтобы Черная Жемчужина у меня по морям плавала. А то в конце линейки её встретить можно

Добавлено через 22 часа 29 минут
я попытался создать пушки, сделал все как надо. сохранил своё творчество , захожу в игру а он пишет что ошибка. что делать?

Добавлено через 1 минуту
я попытался создать пушки, сделал все как надо. сохранил своё творчество , захожу в игру а он пишет что ошибка. что делать?
efich45 вне форума Ответить с цитированием
Старый 24.06.2012, 14:13   #20
Шаканад
Салага
 
Регистрация: 28.05.2012
Сообщений: 2
Нация: Испания
Пол: Мужской
Офицеры Корабли
Репутация: 0
По умолчанию Re: Уроки по кодингу

подскажите пожалуста что надо сделать чтоб чёрная жемчужина в верфи появилась, (я нуб)
Шаканад вне форума Ответить с цитированием
Реклама
Ответ


Метки
пираты карибского моря, пкм, уроки по кодингу


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 01:36. Часовой пояс GMT +3.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
© MONBAR, 2007-2024
Corsairs-Harbour.Ru
Скин форума создан эксклюзивно для сайта Corsairs-Harbour.Ru
Все выше представленные материалы являются собственностью сайта.
Копирование материалов без разрешения администрации запрещено!
Рейтинг@Mail.ru Яндекс.Метрика Яндекс цитирования