Addon Maker. Урок № 1. Добавить новый предмет в игру. 
				  
Отшельник Дата: Суббота, 27.02.2010, 21:11 | Сообщение # 21   
Пороховая обезьяна
Группа: Корсар
Сообщений: 14 
Награды: 
3   
Репутация: 
0   
Статус: В открытом море 
 
 Приветстую!   Попробовал, по описанию, добавить Картографический Атлас, но нигде не видно.  
Мои действия. 
 1)	Проклятые Судьбой\Resourse\Textures\INTERFACES\items17.tga.tx 
 добавил картинку в существующий items17.tga.tx под номером 13: 
 2)	Проклятые Судьбой\PROGRAM\ITEMS\initItems.c 
 после   // КАРТЫ //////////////////////////////////////////////////   добавил: 
 //Картографический Атлас   makeref(itm,Items[n]);   	itm.id = "MapsAtlas";   itm.groupID = MAPS_ITEM_TYPE;   	itm.name = "itmname_MapsAtlas";   	itm.describe = "itmdescr_MapsAtlas";   	itm.model = "";   	itm.picIndex = 13;   	itm.picTexture = "ITEMS_17";   //	itm.shown = 0;   	itm.price = 1000;   	// boal 19.01.2004 -->   	itm.Weight = 0.2;   	// boal 19.01.2004 <--   	itm.ItemType = "MAP";   	itm.mapSpecial = "";   	n++;   
 -------------------------------------------------------------------   3) Проклятые Судьбой\PROGRAM\characters\RPGUtilite.c   добавил:   ...   // boal Вес предметов 19.01.2004 -->   float GetItemsWeight(ref _chref)   {   float Amount = 0;   int j;   string itemID;   ref itm; 
 if (bCabinStarted || bAbordageStarted || !bSeaActive || !CheckAttribute(_chref, "ItemsWeight"))   {   for (j=0; j<TOTAL_ITEMS; j++)   	{   		makeref(itm,Items[j]);   			   			if(CheckAttribute(itm, "ID"))   			{   				itemID = itm.id;   				if (CheckAttribute(_chref, "items."+itemID)&& itemID != "MapsAtlas"  ) // ugeen - атлас карт не учитываем !!     				{   					Amount += sti(_chref.items.(itemID))*stf(itm.Weight);   				}   			}   }   _chref.ItemsWeight = Amount; // оптимицация тормозов в бою на море   }   else   ...   -------------------------------------------------------------------   4) Проклятые Судьбой\PROGRAM\ITEMS\items.h   добавил: 
 ...   // items group id   #define MAPS_ITEM_TYPE		 "maps"//Добавлена новая группа 
 // indexes for items` array   #define ITEMS_QUANTITY			 359   // не забываем менять номер (358+1)   ...   #define MAPS_IN_ATLAS			 25 // ugeen 21.06.09 -не забываем увеличивать при появлении новых карт  	 
 -------------------------------------------------------------------   5) Проклятые Судьбой\Resourse\INI\texts\russian\ItemsDescribe.txt   добавил: 
 itmname_MapsAtlas {Картографический Атлас}   itmdescr_MapsAtlas   {   Собрание карт отдельных территорий Карибского бассейна. Без этих клочков пергамента путешествие по архипелагу может оказаться весьма затруднительным.   }     -------------------------------------------------------------------
 
 
 
korsary4 Дата: Воскресенье, 28.02.2010, 01:23 | Сообщение # 22   
Адмирал
Группа: Администратор
Сообщений: 5204 
Награды: 
496   
Репутация: 
1941   
Статус: В открытом море 
 
 Quote  (Morgan0406 )
А можешь скинуть папку PROGRAM 
    нет  
Quote  (Отшельник )
Проклятые Судьбой\PROGRAM
    в Проклятые Судьбой код закрыт, как там может быть папка PROGRAM?  
Quote  (Отшельник )
но нигде не видно
    предмет не появился в игре? в продаже нет? 
    Единственное, что можно сказать об удаче с уверенностью — она изменит.    --------    
 
 
Отшельник Дата: Воскресенье, 28.02.2010, 10:36 | Сообщение # 23   
Пороховая обезьяна
Группа: Корсар
Сообщений: 14 
Награды: 
3   
Репутация: 
0   
Статус: В открытом море 
 
 После установки NODVD появилась папка PROGRAM, но игра не идет, зависает. Я вернул стандартые protect.dll и ENGINE.exe назад, папка осталась, а игра идет с диском.Добавлено  (28.02.2010, 10:36) --------------------------------------------- Предмет не появился в игре и в продаже тоже нет, проверил на Невисе, Тортуге, Мартинике, Антигуа и Барбадосе.
 
 
 
Jack-sparrow Дата: Воскресенье, 28.02.2010, 10:50 | Сообщение # 24   
Мичман
Группа: Корсар
Сообщений: 168 
Награды: 
4   
Репутация: 
10   
Статус: В открытом море 
 
 Отшельник Скинь папочку Program Плиз!!!!!!!!!!!!!!!!!!!!!! 
 
 
korsary4 Дата: Воскресенье, 28.02.2010, 11:33 | Сообщение # 25   
Адмирал
Группа: Администратор
Сообщений: 5204 
Награды: 
496   
Репутация: 
1941   
Статус: В открытом море 
 
 Quote  (Отшельник )
Я вернул стандартые protect.dll и ENGINE.exe назад, папка осталась,
    от папки теперь толка нет, вернув стандартые protect.dll и ENGINE.exe теперь игра читает закрытые скрипты. В КПС никак нельзя скрипты править. Поставь кряк лучше на ГПК 1.2. 
    Единственное, что можно сказать об удаче с уверенностью — она изменит.    --------    
 
 
Отшельник Дата: Воскресенье, 28.02.2010, 14:19 | Сообщение # 26   
Пороховая обезьяна
Группа: Корсар
Сообщений: 14 
Награды: 
3   
Репутация: 
0   
Статус: В открытом море 
 
 Morgan0406 ,   Папку "PROGRAM" сбросить с ГПК 1.2.4 или с ПСДобавлено  (28.02.2010, 14:19) --------------------------------------------- Сбросил на E-mail, помогло?
 
 
 
Rinat@korsar Дата: Понедельник, 01.03.2010, 20:26 | Сообщение # 27   
Капитан II ранга
Группа: Пират
Сообщений: 461 
Награды: 
11   
Статус: В открытом море 
 
 спасибо очень интересно.  
 
 
Сумрак Дата: Среда, 10.03.2010, 19:23 | Сообщение # 28   
Мичман
Группа: Корсар
Сообщений: 169 
Награды: 
6   
Репутация: 
3   
Статус: В открытом море 
 
 Меня тоже интересует как добавлять предметы в продажу. задал вопрос в теме "Вопросы по созданию модификаций" 
 
 
korsary4 Дата: Среда, 10.03.2010, 20:32 | Сообщение # 29   
Адмирал
Группа: Администратор
Сообщений: 5204 
Награды: 
496   
Репутация: 
1941   
Статус: В открытом море 
 
 Да... я забыл в статье про это написать, позже нормально дополню.  Сумрак , в файле PROGRAM\scripts\utils.c 
 Найди функцию 
Code
void GiveItemToTrader
   там прописано добавление предметов торговцам, на примере каком-нибудь разберись.
 
    Единственное, что можно сказать об удаче с уверенностью — она изменит.    --------    
 
 
ded Дата: Среда, 10.03.2010, 20:41 | Сообщение # 30   
Лейтенант
Группа: Пират
Сообщений: 291 
Награды: 
5   
Репутация: 
2   
Статус: В открытом море 
 
 я слишком туп для модинга! и т.п 
 
 
 
Jack-sparrow Дата: Воскресенье, 14.03.2010, 18:27 | Сообщение # 31   
Мичман
Группа: Корсар
Сообщений: 168 
Награды: 
4   
Репутация: 
10   
Статус: В открытом море 
 
 ded зчем ты тогда сюда зашёл 
 
 
Dufrein Дата: Воскресенье, 14.03.2010, 21:17 | Сообщение # 32   
Капитан II ранга
Группа: Корсар
Сообщений: 436 
Награды: 
14   
Репутация: 
93   
Статус: В открытом море 
 
 Quote  (ded )
я слишком туп для модинга! и т.п 
    Хочешь я тебя научу музыку в игре менять?) Поставишь свой рэп и будешь кайфовать=) 
     
 
 
ded Дата: Понедельник, 15.03.2010, 08:54 | Сообщение # 33   
Лейтенант
Группа: Пират
Сообщений: 291 
Награды: 
5   
Репутация: 
2   
Статус: В открытом море 
 
 Corss , давай только на вл (меня гпк бесит)   Jack-sparrow , ну может чёнить научусь сделать 
 
 
 
Skat Дата: Суббота, 20.03.2010, 22:41 | Сообщение # 34   
Мичман
Группа: Пират
Сообщений: 197 
Награды: 
8   
Репутация: 
10   
Статус: В открытом море 
 
 Нееее это не для меня я лентяй но может че нибудь сделать попробую 
 
 
Отшельник Дата: Вторник, 23.03.2010, 17:47 | Сообщение # 35   
Пороховая обезьяна
Группа: Корсар
Сообщений: 14 
Награды: 
3   
Репутация: 
0   
Статус: В открытом море 
 
 Jack-sparrow  писал(а):   зачем тогда смотришь   Я скажу по себе. Прошел "Корсары", но что-то не хватает, стал заниматься изменением цвета одежды, пробовать добавлять новые предметы и т.д. и т.п. и появился интерес к жизни(пиратской) снова. Если что-то не получается то сижу ломаю мозги или как пишет ded  пытаю мозги. Как говорится Если я думаю, я существую  .
Добавлено  (23.03.2010, 17:47) --------------------------------------------- Спасибо korsary4  за учебное пособие, жду продолжение уроков!
 
 
 
korvet Дата: Среда, 24.03.2010, 08:15 | Сообщение # 36   
Лейтенант
Группа: Корсар
Сообщений: 340 
Награды: 
18   
Репутация: 
50   
Статус: В открытом море 
 
 korsary4 , Кэп,а ты можешь сделать подборку програм для изготовления Аддонов,убирания багов ,вообще по работе с играми,для обучения,книгу эту туда по майя вложить,короче сделать свой курс обучения по начальному програмированию?Можешь не в смысле умеешь,а в смысле время позволяет?И зарядить ее через торент раздачу,а то с моей скоростью я тут ни одно пособие в жизни не скачаю(три раза пытался,при малейшем разрыве скорости все надо снова начинать).А хочется попробовать полазить в каталогах поучиться.Добавлено  (24.03.2010, 08:15) --------------------------------------------- Да кстати,а нельзя отдельный раздел создать на сайте именно для торрет раздачи?В тем оставлю пожелание.
 
    Piligrim 
 
 
Bpu Дата: Понедельник, 29.03.2010, 09:25 | Сообщение # 37   
Боцман
Группа: Пират
Сообщений: 249 
Награды: 
24   
Репутация: 
26   
Статус: В открытом море 
 
 А как добавить рюкзак. 
 
Сообщение отредактировал Bpu  - Понедельник, 29.03.2010, 09:26 
 
 
korsary4 Дата: Понедельник, 29.03.2010, 21:04 | Сообщение # 38   
Адмирал
Группа: Администратор
Сообщений: 5204 
Награды: 
496   
Репутация: 
1941   
Статус: В открытом море 
 
 Quote  (Bpu )
А как добавить рюкзак. 
    Первое. В файле characterUtilite.c добавить:    
Code
    // Рюкзаки -->     if (groupID == BACKPACK_ITEM_TYPE)     {      if(!CheckAttribute(refItm, "BackPackWeight"))      {       continue;      }            if(sti(refItm.BackPackWeight) >= 30)      {       return refItm.id;      }      else      {       if(sti(refItm.BackPackWeight) >= 25)       {        return refItm.id;       }       else       {        if(sti(refItm.BackPackWeight) >= 20)        {         return refItm.id;        }        else        {         if(sti(refItm.BackPackWeight) >= 15)         {          return refItm.id;         }         else         {          if(sti(refItm.BackPackWeight) >= 10)          {           return refItm.id;          }          else          {           continue;          }         }        }       }      }                      continue;     }     // Рюкзаки <--
   Примерно после   
Code
  // boal 08.10.04 броню офицерам -->     if (groupID == CIRASS_ITEM_TYPE)     {              if( IsCharacterPerkOn(chref, "Ciras") )    {return refItm.id;}              continue;     }     // boal 08.10.04 броню офицерам <--
      Второе. В файле utilite.c найти     
Quote 
string GetItemDescribe(int iGoodIndex)
   вставить это, куда? скин ниже 
 
Code
  if(arItm.groupID == BACKPACK_ITEM_TYPE)     {       float fBackPackWeight = stf(arItm.BackPackWeight);      string sBackPackWeight = FloatToString(fBackPackWeight, 1);      describeStr += GetAssembledString(LanguageConvertString(lngFileID,"BackPackWeight"), arItm) + newStr();     }    
     
 Третье. в файле items.h после     
Code
#define MAPS_ITEM_TYPE      "maps"
    добавить строчку   Code
#define BACKPACK_ITEM_TYPE      "BackPack"  //рюкзаки
   Теперь в файле initItems.c можно добавлять рюкзаки:     
 
Code
    // Рюкзаки        makeref(itm,Items[n]);    itm.id = "BackPack1";    itm.groupID = BACKPACK_ITEM_TYPE;    itm.name = "itmname_BackPack1";    itm.describe = "itmdescr_BackPack1";    itm.folder = "items";    itm.model = "1";    itm.picIndex = 1;    itm.picTexture = "ITEMS_17";    itm.price = 5000;    itm.Weight = 1.0;    itm.BackPackWeight = 10;    itm.minlevel = 1;    itm.rare = 0.01;    itm.ItemType = "WEAPON";    n++;
   
Code
    makeref(itm,Items[n]);    itm.id = "BackPack2";    itm.groupID = BACKPACK_ITEM_TYPE;    itm.name = "itmname_BackPack2";    itm.describe = "itmdescr_BackPack2";    itm.folder = "items";    itm.model = "1";    itm.picIndex = 2;    itm.picTexture = "ITEMS_17";    itm.price = 7500;    itm.Weight = 1.5;    itm.BackPackWeight = 15;    itm.minlevel = 1;    itm.rare = 0.01;    itm.ItemType = "WEAPON";    n++;
   
Code
   makeref(itm,Items[n]);    itm.id = "BackPack3";    itm.groupID = BACKPACK_ITEM_TYPE;    itm.name = "itmname_BackPack3";    itm.describe = "itmdescr_BackPack3";    itm.folder = "items";    itm.model = "1";    itm.picIndex = 3;    itm.picTexture = "ITEMS_17";    itm.price = 10000;    itm.Weight = 2.0;    itm.BackPackWeight = 20;    itm.minlevel = 1;    itm.rare = 0.01;    itm.ItemType = "WEAPON";    n++;
   
Code
   makeref(itm,Items[n]);    itm.id = "BackPack4";    itm.groupID = BACKPACK_ITEM_TYPE;    itm.name = "itmname_BackPack4";    itm.describe = "itmdescr_BackPack4";    itm.folder = "items";    itm.model = "1";    itm.picIndex = 4;    itm.picTexture = "ITEMS_17";    itm.price = 12500;    itm.Weight = 2.5;    itm.BackPackWeight = 25;    itm.minlevel = 1;    itm.rare = 0.01;    itm.ItemType = "WEAPON";    n++;   
    Code
    makeref(itm,Items[n]);    itm.id = "BackPack5";    itm.groupID = BACKPACK_ITEM_TYPE;    itm.name = "itmname_BackPack5";    itm.describe = "itmdescr_BackPack5";    itm.folder = "items";    itm.model = "1";    itm.picIndex = 5;    itm.picTexture = "ITEMS_17";    itm.price = 20000;    itm.Weight = 3;    itm.BackPackWeight = 30;    itm.minlevel = 1;    itm.rare = 0.01;    itm.ItemType = "WEAPON";    n++;    
 
  
    Единственное, что можно сказать об удаче с уверенностью — она изменит.    --------    
 
 
Jack-sparrow Дата: Воскресенье, 25.04.2010, 12:21 | Сообщение # 39   
Мичман
Группа: Корсар
Сообщений: 168 
Награды: 
4   
Репутация: 
10   
Статус: В открытом море 
 
 для тех у кого виста:файл ENGINE не замените ,а скапируйте как ENGINE (2).Тогда всё запустится!!!Добавлено  (25.04.2010, 12:21) ---------------------------------------------korsary4  korvet  прав!
 
 
 
diversant Дата: Воскресенье, 16.05.2010, 13:53 | Сообщение # 40   
Капитан II ранга
Группа: Корсар
Сообщений: 372 
Награды: 
6   
Репутация: 
5   
Статус: В открытом море 
 
 кстати если создать копас как у Джека его можно какнибуть на пояс вешать ? 
Лучше иметь повернутую психику, безумные идеи, быть непонятным и немного странным, чем не отличаться от тумбочки, что стоит возле постели....