Ir para conteúdo

allan1001

Campones
  • Total de itens

    46
  • Registro em

  • Última visita

Sobre allan1001

Informações

  • Char no Tibia
    Sonnyxz
  • Forma que conheci o xTibia
    Sites de Busca
  • Sou
    OT-Admin

allan1001's Achievements

  1. o manow na magia la exevo san condition ela heala tbm como tira ?
  2. tem que mudar no items.xml tambem. <attribute key="shootType" value="holy"/>
  3. Veja se a port 80 está na lista de exceções no firewall do seu windows ou tente mudar a port do seu xamp de 80 para 8090.
  4. Adicione isso depois do code do Kimoszin em movements.xml: <movevent type="DeEquip" itemid="2656" slot="armor" event="function" value="onDeEquipItem"/>
  5. Então cara exori san é Holy, você deve tar confundindo com outro. Não Seria do Exori con que você quer ?
  6. Tem que colocar o item que você quer no movements.xml tambem, fala qual item você quer e o tanto de ml que vai aumentar , que eu te ajudo a fazer.
  7. Sobre a Poison Arrow Remova a Seguinte linha em weapons.xml: <distance id="2545" event="script" value="poison_arrow.lua"/> Sobre a Wand Deixe Assim: <wand id="12648" level="10" mana="100" min="600" max="900" type="holy" event="function" value="default"> <!-- Snake God's Sceptre --> <vocation id="2"/> <vocation id="1"/> </wand> Ate Mais
  8. Tente desse jeito. Obs: Usei o Script do small201 como exemplo. <item id="7464" article="a" name="Dust shorts"> <attribute key="weight" value="150" /> <attribute key="slotType" value="legs" /> <attribute key="absorbPercentall" value="10" /> <attribute key="description" value="Absorve 10% de todos os danos." /> <attribute key="decayTo" value="0"/> <attribute key="duration" value="600"/> <attribute key="showduration" value="1"/> </item>
  9. Bom as sources do TFS 0.3.6pl1 você esta baixando elas nesse link Clique aqui, e podera editar oque quiser...agora sobre como editar e compilar o server procure em Tutoriais de Programação aqui mesmo no Xtibia. Flw
  10. Testado no TFS 0.4 e 0.3.6pl1 Para arruma o AutoStatacking é preciso mexer nas sources do server. Ache as fuções e modifique. Em container.cpp Cylinder* Container::__queryDestination(int32_t& index, const Thing* thing, Item** destItem, uint32_t&) { if(index == 254 /*move up*/) { index = INDEX_WHEREEVER; *destItem = NULL; Container* parentContainer = dynamic_cast<Container*>(getParent()); if(parentContainer) return parentContainer; return this; } else if(index == 255 /*add wherever*/){ index = INDEX_WHEREEVER; *destItem = NULL; } else if(index >= (int32_t)capacity()){ /* if you have a container, maximize it to show all 20 slots then you open a bag that is inside the container you will have a bag with 8 slots and a "grey" area where the other 12 slots where from the container if you drop the item on that grey area the client calculates the slot position as if the bag has 20 slots */ index = INDEX_WHEREEVER; *destItem = NULL; } const Item* item = thing->getItem(); if(item == NULL){ return this; } if(item->isStackable()){ if(item->getParent() != this){ //try find a suitable item to stack with uint32_t n = 0; for(ItemList::iterator cit = itemlist.begin(); cit != itemlist.end(); ++cit){ if((*cit) != item && (*cit)->getID() == item->getID() && (*cit)->getItemCount() < 100){ *destItem = (*cit); index = n; return this; } ++n; } } } if(index != INDEX_WHEREEVER){ Thing* destThing = __getThing(index); if(destThing) *destItem = destThing->getItem(); Cylinder* subCylinder = dynamic_cast<Cylinder*>(*destItem); if(subCylinder){ index = INDEX_WHEREEVER; *destItem = NULL; return subCylinder; } } return this; } Em item.cpp void Item::setDefaultSubtype() { setItemCount(1); const ItemType& it = items[id]; if(it.charges) setCharges(it.charges); } Em player.cpp Cylinder* Player::__queryDestination(int32_t& index, const Thing* thing, Item** destItem, uint32_t& flags) { if(index == 0 /*drop to capacity window*/ || index == INDEX_WHEREEVER){ *destItem = NULL; const Item* item = thing->getItem(); if(item == NULL){ return this; } //find an appropiate slot std::list<Container*> containerList; for(int i = SLOT_FIRST; i < SLOT_LAST; ++i){ Item* inventoryItem = inventory[i]; if(inventoryItem == tradeItem){ continue; } if(inventoryItem == tradeItem){ continue; } if(inventoryItem){ //try find an already existing item to stack with if(inventoryItem != item && item->isStackable() && inventoryItem->getID() == item->getID() && inventoryItem->getItemCount() < 100){ *destItem = inventoryItem; index = i; return this; } //check sub-containers else if(Container* subContainer = inventoryItem->getContainer()){ Cylinder* tmpCylinder = NULL; int32_t tmpIndex = INDEX_WHEREEVER; Item* tmpDestItem = NULL; tmpCylinder = subContainer->__queryDestination(tmpIndex, item, &tmpDestItem, flags); if(tmpCylinder && tmpCylinder->__queryAdd(tmpIndex, item, item->getItemCount(), flags) == RET_NOERROR){ index = tmpIndex; *destItem = tmpDestItem; return tmpCylinder; } containerList.push_back(subContainer); } } //empty slot else if(__queryAdd(i, item, item->getItemCount(), flags) == RET_NOERROR){ index = i; *destItem = NULL; return this; } } //check deeper in the containers for(std::list<Container*>::iterator it = containerList.begin(); it != containerList.end(); ++it){ for(ContainerIterator iit = (*it)->begin(); iit != (*it)->end(); ++iit){ if(Container* subContainer = (*iit)->getContainer()){ if(subContainer == tradeItem){ continue; } Cylinder* tmpCylinder = NULL; int32_t tmpIndex = INDEX_WHEREEVER; Item* tmpDestItem = NULL; tmpCylinder = subContainer->__queryDestination(tmpIndex, item, &tmpDestItem, flags); if(tmpCylinder && tmpCylinder->__queryAdd(tmpIndex, item, item->getItemCount(), flags) == RET_NOERROR){ index = tmpIndex; *destItem = tmpDestItem; return tmpCylinder; } } } } return this; } Thing* destThing = __getThing(index); if(destThing) *destItem = destThing->getItem(); Cylinder* subCylinder = dynamic_cast<Cylinder*>(destThing); if(subCylinder){ index = INDEX_WHEREEVER; *destItem = NULL; return subCylinder; } else return this; } Créditos: Exedion e kwovan
  11. Ta ae do jeito que você pediu...só ganha promotion se o jogador for premiun. --- Created by Allan. --[inicio das Configurações]-- local config = { level = 20, -- Level que o player vai ser promovido. storage = 2020, -- Storage Value que vai ser usado. msg = "Parabéns, você foi promovido com sucesso!", -- Mensagem enviada quando atingir o level necessário. msgtype = MESSAGE_EVENT_ADVANCE -- Tipo da mensagem enviada. } --[Fim das Configurações]-- function onAdvance(cid, oldLevel, newLevel) if getPlayerStorageValue(cid, config.storage) == -1 and getPlayerLevel(cid) >= config.level and isPremium(cid) == TRUE then setPlayerPromotionLevel(cid, 1) doPlayerSendTextMessage(cid, config.msgtype, config.msg) setPlayerStorageValue(cid, config.storage, 1) end return TRUE end
  12. Dúvida resolvida, tarei reportando para o tópico ser fechado.
  13. vai no mapa editor e aperta Crtl + F e procure pelo id 8047, esse é os brilho no qual voce citou a cima, basta você colocar ele por cima dos itens que desejar e pronto Flw
  14. Creio essa não seja a sessão correta, mais explique melhor sobre a action que você precisa.
  15. Vou reportar o tópico para ser fechado então ja que sua duvida foi resolvida.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...