TI

Hangable System

Por tibiaa4e, 13 de fev. de 2007 em Linguagens de Programação

10
3.1k
tibiaa4eT
13 de fevereiro de 2007 às 11:30

Sistema para poder colocar tapetes nas paredes,balões,etc...

 

 

em cylinder.h apos outras frag add :

 

FLAG_FROMSOUTH = 8,
   FLAG_FROMEAST = 16,

 

em game.cpp troque :

ret = internalMoveItem(fromCylinder, toCylinder, index, item, count);

 

por:

int flags = 0;
       if(playerPos.x >= toPos.x)
           flags |= FLAG_FROMEAST;
       if(playerPos.y >= toPos.y)
           flags |= FLAG_FROMSOUTH;
       
       ret = internalMoveItem(fromCylinder, toCylinder, index, item, count, flags);

 

em tile.cpp antes de:

for(uint32_t i = 0; i < getThingCount(); ++i){

 

add :

bool supportsHangableItems = false;
       bool hasHangable = false;

 

embaixo de:

const ItemType& iiType = Item::items[iitem->getID()];

 

add :

if(item->isHangable() && iiType.isHangable){
                   hasHangable = true;
               }

 

depois de :

if(iiType.blockSolid){

 

add:

if(item->isHangable() && iiType.blockProjectile && (iiType.isHorizontal || iiType.isVertical)){
                       supportsHangableItems = true;
                       if(iiType.isHorizontal && !(flags & FLAG_FROMSOUTH))
                           return RET_NOTPOSSIBLE;
                       else if(iiType.isVertical && !(flags & FLAG_FROMEAST))
                           return RET_NOTPOSSIBLE;
                       else
                           continue;
                   }

 

e depois do loop

add

if(item->isHangable() && supportsHangableItems && hasHangable){
           return RET_NOTENOUGHROOM;
       }

 

é isso

 

flws :hi:

lithiumL
13 de fevereiro de 2007 às 11:40

code muito bom o Jiddo sempre faz codes muito interresantes ^^

ClaudiooC
13 de fevereiro de 2007 às 16:30

o que seria esse:

 

Outras frags?

 

e loop eh o }?

 

:p

1 mês depois...
LordfireL
05 de março de 2007 às 15:49

o que seriam "outras frags"

pois é tudo em ingles

other frags?

Dr0pD
07 de março de 2007 às 10:57

bom code =]

3 meses depois...
Lord_XL
24 de junho de 2007 às 17:25

Não entendi bem. Dá pra explicar melhor? Onde e o que é esse loop? Existem vários "if(iiType.blockSolid){" no meu tiles.cpp. Embaixo de qual devo botar a outra parte?

 

Valeu!

1 mês depois...
GM VolcanoG
13 de julho de 2007 às 16:51

Em quais versões que roda??

7.92?!

jongaJ
16 de julho de 2007 às 10:02

Eu intendi bem

tava doidin atras disso

to fazendo um mapa proprio

xD

8 meses depois...
darkmale157D
11 de março de 2008 às 19:26

Muito Boomm... Mais Tipo os Players nem liga pra isso ne OT Server =D mais para o OT Fica bonito...

 

ASSINADO: GM SPEEDY

MecFlayM
14 de março de 2008 às 12:07

como diz o forum

> Atenção !

 

Caro Usuário,

 

 

Está Seção de Programação serve para postar tudo relacionado à códigos, ou seja, programação de OT em Geral.

 

Esperamos que esteja ciente disto.

 

 

Procure sempre especificar o código que irá postar, por exemplo:

 

 

 

- [7.8] Título

 

- [7.7] Título

 

- [7.6] Título

 

não e só impressão? ou esse post não especifica ??