Postado Junho 30, 2015 9 anos Pessoal, estou com um problema no castle, por favor me ajudem =[ _ queria uma script que se a guild do player tiver a storage ele passe pelo piso sem problemas, se NÃO tiver a storage e nenhuma guild ele vai pro templo - oque está acontecendo: os players tao levando maker pros trainer do castle e dao exit. quando perdem o castle usam esses char pra ir matar quem está upando nos tps do castle... Ai eu pensei em por essa script um sqm ao lado do piso onde eles treinam, no caso, se deslogarem quando logar pode acontecer 2 coisas 1 - Se tiver alguém treinando, ele loga no piso de trás e a script aje.... se a guild dele for vencedora do castle ele fica no piso de boa. Se não for = vai pro templo 2 - Se não tiver ninguém treinando ele consegue treinar de boa ainda, mas pra sair vai ter que pisar no piso e a script entra em ação denovo se for ajudar tá aqui embaixo o meu castledoor.lua (porta onde só passa a guild vencedora) .... puxei até uma foto na net pra mostrar como o castle é, se servir tbm function onUse(cid, item, frompos, item2, topos) -------------------------Config----------------------------------------------------------------- door_opened = 9182 -- ID da porta aberta storage_guild = getGlobalStorageValue(123123) -- A 3ª storage configurada em Castle.lua guarda_ativ = 0 -- Caso um invasor tente abrir a porta, sumonar o Monstro "Guarda"?? | (1) = SIM (0) = NAO guarda_cont = 2 -- Caso ativo: a quantidade de guardas a sumonar guarda_pos = {x=123,y=123,y=7} -- Posiçao a ser sumonada os guardas! -------------------------Fim de Config----------------------------------------------------------- if getPlayerGuildId(cid) == storage_guild then doTeleportThing(cid,getThingPos(item.uid)) doTransformItem(item.uid, door_opened) doPlayerSendTextMessage(cid, 22, "Seja bem vindo a vosso castelo!") return TRUE else if guarda_ativ == 1 then doPlayerSendTextMessage(cid, 22, "Guaaaardas, tirem esses invasores daqui!!") for i=1, guarda_cont do doSummonCreature("Guarda", guarda_pos) end return FALSE else doPlayerSendTextMessage(cid, 22, "Este castelo nao pertence a sua guild") return FALSE end end end Editado Junho 30, 2015 9 anos por Mdcrf (veja o histórico de edições)
Postado Junho 30, 2015 9 anos Solução Crie um arquivo chamado castleLogin.lua na pasta data/movements/scripts e cole isso: function onStepIn(cid, item, position, fromPosition) if getPlayerStorageValue(cid, 123123) <= 0 then doTeleportThing(cid, getPlayerMasterPos(cid)) doPlayerSendTextMessage(cid, 22, "Sua guild não domina mais o castelo por isso foi teletransportado para o templo.") end return TRUE end Agora adicione a seguinte linha no arquivo movements.xml: <movevent type="StepIn" actionid="43020" event="script" value="castleLogin.lua"/> No map editor coloque actionID do tile 43020. Editado Junho 30, 2015 9 anos por nookia (veja o histórico de edições) The medieval RpG Server [RpG] OLDWORLD OPEN TIBIA
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.