Ir para conteúdo

[7.9] Decorar As Paredes Com Items De Natal


Zorzin

Posts Recomendados

Oi gente... Esse código é o seguinte... No config.lua, vc escolhe se quer abilitar a decoração de Natal ou não, e escolhe quantos % vai ser decorado... Ele funciona desta forma:

Quando vc liga o ot, as PAREDES são decoradas com items de Natal de acordo com o config.lua... :icon1:

---------

Screenshots:

feliznatalfb7.jpg

merrychristmasov9.jpg

Nesses dois casos eu usei 40% de decoracao pelo config.lua ;]

--------

Bom.. Vamos começar?! =):

Configmanager.cpp

Antes de:

 

m_confString[LOGIN_MSG] = getGlobalString(L, "loginmsg", "Welcome.");

 

Adicione:

 

#ifdef ZORZIN_CHRISTMAS	m_confString[CHRISTMAS_DECO] = getGlobalString(L, "christmas_deco", "yes");	m_confInteger[CHRISTMAS_PERCENT] = getGlobalNumber(L, "christmas_percent", 50);	#endif

 

----------------------------------------------

Configmanager.h

Depois de:

 

CONFIG_FILE = 0,

 

Aficione:

 

#ifdef ZORZIN_CHRISTMAS  CHRISTMAS_DECO,  #endif

 

---

Depois de:

 

LOGIN_TRIES = 0,

 

Adicione:

 

#ifdef ZORZIN_CHRISTMAS  CHRISTMAS_PERCENT,  #endif

 

----------------------------------------------

No final do Game.cpp adicione:

 

#ifdef ZORZIN_CHRISTMASint Game::IsWall(int ItemID){if(ItemID == 1025 || ItemID == 1030 || ItemID == 1032 || ItemID == 1036 || ItemID == 1041 || ItemID == 1043 || ItemID == 1049 || ItemID == 1054 || ItemID == 1056 || ItemID == 1060 || ItemID == 1065 || ItemID == 1067 || ItemID == 1100 || ItemID == 1105 || ItemID == 1107 || ItemID == 1111 || ItemID == 1116 || ItemID == 5010 || ItemID == 3463)return 1;else if(ItemID == 1026 || ItemID == 1028 || ItemID == 1034 || ItemID == 1037 || ItemID == 1039 || ItemID == 1045 || ItemID == 1050 || ItemID == 1052 || ItemID == 1058 || ItemID == 1061 || ItemID == 1063 || ItemID == 1069 || ItemID == 1101 || ItemID == 1103 || ItemID == 1109 || ItemID == 1112 || ItemID == 1114 || ItemID == 1118 || ItemID == 3454)return 2;elsereturn 0;}#endif

 

----------------------------------------------

Game.h

Depois de:

 

int loadMap(std::string filename, std::string filekind);

 

Adicione:

 

#ifdef ZORZIN_CHRISTMAS    int IsWall(int ItemID);    #endif

 

----------------------------------------------

IOMapOtbm.cpp

Depois de:

 

#include "house.h"

 

Adicione:

 

#include "configmanager.h"extern ConfigManager g_config;

 

---

Depois de:

 

if(!item){        map->setLastError(LOADMAPERROR_FAILEDTOCREATEITEM, nodeItem);        return false;     	 }

 

Adicione:

 

#ifdef ZORZIN_CHRISTMAS                short iswall = g_game.IsWall(item->getID());                  if(g_config.getString(ConfigManager::CHRISTMAS_DECO) == "yes" && (iswall == 1 || iswall == 2))                   addChristmasDecoration(iswall, tile);                   #endif

 

---

No final do IOMapOtbm.cpp adicione:

 

#ifdef ZORZIN_CHRISTMASvoid IOMapOTBM::addChristmasDecoration(short IsWALL, Tile* tile){    int percent = 100/g_config.getNumber(ConfigManager::CHRISTMAS_PERCENT);    int x = random_range(1,percent);    short itemtype = random_range(1,3);    int item_id = 0;        switch(IsWALL)        {            case 1:                if(x == 1 && itemtype == 1)                item_id = 6517;                else if(x == 1 && itemtype == 2)                item_id = 6518;                else if(x == 1 && itemtype == 3)                item_id = 6519;                break;            case 2:                if(x == 1 && itemtype == 1)                item_id = 6513;                else if(x == 1 && itemtype == 2)                item_id = 6514;                else if(x == 1 && itemtype == 3)                item_id = 6515;                break;            default:                break;        }             if(item_id != 0)       tile->__internalAddThing(Item::CreateItem(item_id));    }#endif

 

----------------------------------------------

IoMapOtbm.h

Depois de:

 

~IOMapOTBM(){};

 

Adicione:

 

#ifdef ZORZIN_CHRISTMAS    void addChristmasDecoration(short IsWALL, Tile* tile);    #endif

 

----------------------------------------------

Vai em Project Options(Alt+P) e em Parameters -> C++ Compiler adiciona:

 

-DZORZIN_CHRISTMAS

 

----------------------------------------------

Por último, adicione isso no config.lua:

 

--------------------------------------------- Decoração de Natal by Zorzin  ----------------------------------------------- Decorar as paredes com items de natal? christmas_deco = "yes"-- Quantos % decorar? (pode ser de 1 a 100)christmas_percent = 20-----------------------------------------

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Credits: Zorzin

Se quiserem que as paredes sejam decoradas 100% (todas) coloque christmas_percent = 100, e por ai vai....

Se quiser desativar a decoração, coloque christmas_deco = "no"... :bigsmile:

É isso ae :D

Espero que tenham gostado =D

Qualquer coisa se quiser algum code, podem pedir pra mim :D

OBS: Vocês precisam de um items.otb do tibia 7.9 e de um ot 7.9 pra funcionar esse código.. Caso precisarem do items.otb pra 7.9, ai vai o link:

http://rapidshare.com/files/8080914/items_otb.zip.html

Obrigado,

Zorzin

Link para o comentário
Compartilhar em outros sites

@tibia4e

Sei sim =)

Com o tempo vou criando codes e postando eles aqui...

Vou ver se faço o próximo code: Bed System pra New SVN ;D

@Todos

Muito Obrigado pelos comments e que vocês tenham um FELIZ NATAL! Ho Ho HO ehuasiehoehe =)

Obrigado,

Zorzin

Link para o comentário
Compartilhar em outros sites

Show de bola porem meio complicado se tivesse uma ss ja seria bem melhor hehe

nem vo tentar por aki senao sei la da um bug ainda eheh

 

 

 

Oi, tipo... Tem 2 Screenshots lá emcima do post, depois você da uma olhada lá.. =)

E outra... o code num tem bug nenhum ;D

Ah uma coisa.... Esse codigo funciona soh em Ots 7.9, por exemplo: XikeOTS, New SVN, etc... =)

@Todos,

Obrigado pelos comments, depois irei criar mais alguns codes e postar aqui pra vocês x)

Obrigado,

Zorzin

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...