MatheusGlad 424 Postado Junho 28, 2011 Share Postado Junho 28, 2011 (editado) Preview: Va na pasta mod crie um arquivo XML com o nome de boatsystem e bote isso: <?xml version="1.0" encoding="UTF-8"?> <mod name="BoatSystem" enabled="yes" author="MatheusMkalo" forum="XTibia.com"> <config name="BoatSystemLib"><![CDATA[ mydirs= { [1] = {type = 1, ids = {3587, 3590, 3591}, xy = {0, -1}}, [2] = {type = 2, ids = {3592, 3595, 3596}, xy = {1, 0}}, [3] = {type = 1, ids = {3587, 3590, 3591}, xy = {0, 1}}, [4] = {type = 2, ids = {3592, 3595, 3596}, xy = {-1, 0}} } allids = {3587, 3590, 3591, 3592, 3595, 3596} function newEndb(endb, dir) local xx = endb.x local yy = endb.y for i = 1, #dir do xx = xx+mydirs[dir[i]].xy[1] yy = yy+mydirs[dir[i]].xy[2] end return {x=xx, y=yy, z=endb.z} end function doMoveBoat(post, dir, cid) local newboat = {} for i,s in ipairs(post) do local backu = getThingPos(s) doRemoveItem(s, 1) doCreateItem(mydirs[dir].ids[i], 1, {x=backu.x+mydirs[dir].xy[1], y=backu.y+mydirs[dir].xy[2], z=backu.z}) table.insert(newboat, getThingFromPos({x=backu.x+mydirs[dir].xy[1], y=backu.y+mydirs[dir].xy[2], z=backu.z, stackpos=1}).uid) end if mydirs[dir].type ~= post.type and mydirs[dir].type == 1 then doCreateItem(getThing(newboat[1]).itemid, 1, {x=getThingPos(newboat[1]).x+1, y=getThingPos(newboat[1]).y-1, z=getThingPos(newboat[1]).z}) doRemoveItem(newboat[1], 1) doCreateItem(getThing(newboat[3]).itemid, 1, {x=getThingPos(newboat[3]).x-1, y=getThingPos(newboat[3]).y+1, z=getThingPos(newboat[3]).z}) doRemoveItem(newboat[3], 1) elseif mydirs[dir].type ~= post.type and mydirs[dir].type == 2 then doCreateItem(getThing(newboat[1]).itemid, 1, {x=getThingPos(newboat[1]).x-1, y=getThingPos(newboat[1]).y+1, z=getThingPos(newboat[1]).z}) doRemoveItem(newboat[1], 1) doCreateItem(getThing(newboat[3]).itemid, 1, {x=getThingPos(newboat[3]).x+1, y=getThingPos(newboat[3]).y-1, z=getThingPos(newboat[3]).z}) doRemoveItem(newboat[3], 1) end if cid then doTeleportThing(cid, {x=getCreaturePosition(cid).x+mydirs[dir].xy[1], y=getCreaturePosition(cid).y+mydirs[dir].xy[2], z=getCreaturePosition(cid).z}, false) end end function getPosBoat(cid, pos) local pcid = not pos and getCreaturePosition(cid) or pos local check = getThingFromPos({x=pcid.x, y=pcid.y, z=pcid.z, stackpos=1}).itemid == mydirs[1].ids[2] and 1 or 2 if check == 1 then return {getThingFromPos({x=pcid.x, y=pcid.y-1, z=pcid.z, stackpos=1}).uid, getThingFromPos({x=pcid.x, y=pcid.y, z=pcid.z, stackpos=1}).uid, getThingFromPos({x=pcid.x, y=pcid.y+1, z=pcid.z, stackpos=1}).uid, type = check} elseif check == 2 then return {getThingFromPos({x=pcid.x-1, y=pcid.y, z=pcid.z, stackpos=1}).uid, getThingFromPos({x=pcid.x, y=pcid.y, z=pcid.z, stackpos=1}).uid, getThingFromPos({x=pcid.x+1, y=pcid.y, z=pcid.z, stackpos=1}).uid, type = check} end return false end function reverse(t) local result = {} for i = #t, 1, -1 do table.insert(result, t[i] == 1 and 3 or t[i] == 2 and 4 or t[i] == 3 and 1 or t[i] == 4 and 2) end return result end ]]></config> <movevent type="StepIn" actionid="6616" event="script"><![CDATA[ domodlib("BoatSystemLib") local t = {4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2} local postart = {x=968, y=1001, z=7, stackpos=1} local posback = {x=994, y=978, z=7, stackpos=1} local delay = 350 if toPosition.x == posback.x and toPosition.y == posback.y then doCreatureSetNoMove(cid, true) for i = 1, #reverse(t) do addEvent(function() doMoveBoat(getPosBoat(cid), reverse(t)[i], cid) end, i*delay) end addEvent(doCreatureSetNoMove, delay*#reverse(t)+100, cid, false) addEvent(function() doItemSetAttribute(getThingFromPos(postart).uid, "aid", 6616) end, delay*#t+100) elseif toPosition.x == postart.x and toPosition.y == postart.y then doCreatureSetNoMove(cid, true) for i = 1, #t do addEvent(function() doMoveBoat(getPosBoat(cid), t[i], cid) end, i*delay) end addEvent(doCreatureSetNoMove, delay*#t+100, cid, false) addEvent(function() doItemSetAttribute(getThingFromPos(posback).uid, "aid", 6616) end, delay*#t+100) end ]]></movevent> <movevent type="StepIn" actionid="6617" event="script"><![CDATA[ domodlib("BoatSystemLib") if not isInArray(allids, getThingFromPos({x=toPosition.x, y=toPosition.y, z=toPosition.z, stackpos=1}).itemid) then doTeleportThing(cid, fromPosition, false) end ]]></movevent> </mod> Agora configurando o script: local t = {4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2} local postart = {x=968, y=1001, z=7, stackpos=1} local posback = {x=994, y=978, z=7, stackpos=1} local delay = 350 No local t, sao todas as direçoes que o barco vai andar, em sentido horario: 1 = norte 2 = leste 3 = sul 4 = oeste No local postart eh a posiçao que o meio do barco vai estar quando ele estiver indo para algum lugar. No local posback eh a posiçao que o meio do barco vai estar quando ele estiver voltando. O delay eh o tempo em milesegundos que demora pra o barco andar. Adicionando no Map editor: Faça 3 sqms do id 4820. Adicione o actionid 6617 nesses sqms. Faça 3 ids de barco, voce escolhe se eh o virado para cima ou para o lado. Bote o actionid 6616 no meio do barco. Fica assim: O vermemlho indica que tem o id 4820 e o actionid 6617. O verde indica o actionid 6616 Na pos que ele vai chegar soh faça o negocio na agua, nao precisa fazer outro bote. OBS: PONHA OS SQMS DA ROTA PARA NAO PODER LOGA SE ALGUEM LOGA NO BARCO VAI DAR BUG Editado Junho 29, 2011 por MatheusMkalo Link para o comentário https://xtibia.com/forum/topic/159879-barco-que-anda-por-uma-rota/ Compartilhar em outros sites More sharing options...
joao33 29 Postado Junho 28, 2011 Share Postado Junho 28, 2011 Kct mano vlw rep+ pra vc vo fazer issu no meu ot Link para o comentário https://xtibia.com/forum/topic/159879-barco-que-anda-por-uma-rota/#findComment-1054278 Compartilhar em outros sites More sharing options...
dayvidfigueira 2 Postado Junho 29, 2011 Share Postado Junho 29, 2011 Ótimo script estou precisando de um desses a tempos! Teria como deixar o script desta forma: Seguinte o barco teria que movimentar-se num determinado tempo, ou seja: A cada 20 minutos o barco vai mover-se para determinado local, chegando lá ele irá esperar mais 20 minutos para mover-se para o local de partida. Agradeço desde já. Link para o comentário https://xtibia.com/forum/topic/159879-barco-que-anda-por-uma-rota/#findComment-1054427 Compartilhar em outros sites More sharing options...
othereality 46 Postado Junho 29, 2011 Share Postado Junho 29, 2011 ushaush demais, eu ja tinha tentado fazer mas n deu certo =/ mas tem uma coisa, o barco fica do outra lado dai? Link para o comentário https://xtibia.com/forum/topic/159879-barco-que-anda-por-uma-rota/#findComment-1054600 Compartilhar em outros sites More sharing options...
renato95loko 0 Postado Junho 29, 2011 Share Postado Junho 29, 2011 Eu não entendi a parte dos 1,2,3,4,e quando eu fui fazer o barco lá no mapa, o meio dele é de teleporte, ai me confundi todo, pode me ajuda? Link para o comentário https://xtibia.com/forum/topic/159879-barco-que-anda-por-uma-rota/#findComment-1054617 Compartilhar em outros sites More sharing options...
PsyMcKenzie 150 Postado Junho 29, 2011 Share Postado Junho 29, 2011 (editado) que pasta eh essa ?? Mod's ?? Valew em !! Funciona 8.70 ?? MatheusMkalo Foda demais, um dos melhores scripters que ja vi Editado Junho 29, 2011 por PsyMcKenzie Link para o comentário https://xtibia.com/forum/topic/159879-barco-que-anda-por-uma-rota/#findComment-1054633 Compartilhar em outros sites More sharing options...
MatheusGlad 424 Postado Junho 29, 2011 Autor Share Postado Junho 29, 2011 Gente peçam coisas adicionais baseadas no meu sistema no topico de pedidos de scripts porfavor. Link para o comentário https://xtibia.com/forum/topic/159879-barco-que-anda-por-uma-rota/#findComment-1054639 Compartilhar em outros sites More sharing options...
PsyMcKenzie 150 Postado Junho 29, 2011 Share Postado Junho 29, 2011 ja pedi la, se tiver como ajudar :] Ei cara faz um sistema de trem agora =D ia ajudar muita gente Link para o comentário https://xtibia.com/forum/topic/159879-barco-que-anda-por-uma-rota/#findComment-1054704 Compartilhar em outros sites More sharing options...
ultimate1996 102 Postado Junho 29, 2011 Share Postado Junho 29, 2011 Acabo de testar.. e não acontece nada, é como se o script não estivesse funcionando, e não aparece nenhum erro no TFS. Uso TFS 0.4 e tibia 8.60. Link para o comentário https://xtibia.com/forum/topic/159879-barco-que-anda-por-uma-rota/#findComment-1054713 Compartilhar em outros sites More sharing options...
superdrako 10 Postado Junho 29, 2011 Share Postado Junho 29, 2011 Eu testei aqui , funcionou normal. So que quando o barco é usado pelo jogador o server fica travando direto ai o server cai .. Tem como ageitar isso , é algum bug ou erro no script ? Vlw ae REP + Link para o comentário https://xtibia.com/forum/topic/159879-barco-que-anda-por-uma-rota/#findComment-1054850 Compartilhar em outros sites More sharing options...
PsyMcKenzie 150 Postado Julho 2, 2011 Share Postado Julho 2, 2011 qual é a pasta mod's ?? Tem Como Fazer Sem Ser Por Mod's ?? Link para o comentário https://xtibia.com/forum/topic/159879-barco-que-anda-por-uma-rota/#findComment-1056039 Compartilhar em outros sites More sharing options...
u n d e r 110 Postado Julho 3, 2011 Share Postado Julho 3, 2011 Como eu havia dito pra você no g-talk, achei o script muito louco! =p Parabéns! Link para o comentário https://xtibia.com/forum/topic/159879-barco-que-anda-por-uma-rota/#findComment-1056920 Compartilhar em outros sites More sharing options...
mrfmarcelo 0 Postado Julho 3, 2011 Share Postado Julho 3, 2011 Cara teria como fazer tipo, o barco leva até um lugar x, quando chega neste local, o player é teleportado para um lugar y e o barco teleporta para seu local de origem? agradeço desde já Link para o comentário https://xtibia.com/forum/topic/159879-barco-que-anda-por-uma-rota/#findComment-1056971 Compartilhar em outros sites More sharing options...
aspratextibia 3 Postado Julho 4, 2011 Share Postado Julho 4, 2011 (editado) ainda ñ entendi alguem pode me esclarecer? tipo oq é sqms? è alguem pode fazer para poketibia? se puder fala cmg pelo msn aew plix Editado Julho 4, 2011 por christianpatodu Link para o comentário https://xtibia.com/forum/topic/159879-barco-que-anda-por-uma-rota/#findComment-1057738 Compartilhar em outros sites More sharing options...
Speakx 0 Postado Julho 4, 2011 Share Postado Julho 4, 2011 SQM's é o piso, onde o character caminha, e faiz suas coisas. Link para o comentário https://xtibia.com/forum/topic/159879-barco-que-anda-por-uma-rota/#findComment-1057747 Compartilhar em outros sites More sharing options...
Posts Recomendados