RickGol 0 Postado Julho 15, 2010 Share Postado Julho 15, 2010 Nome: Pac man system envolve: actions, monsters, creaturescriptsTestado em: The forgotten server 0.3.1Créditos: Mock o Urso Script muito legal especialmente para servers "ForFun" Não é meu só to trazendo aqui pro xTibia pq não achei em nosso forum Pac Man System? : Um sistema para garantir a diversão dos player em seu server, o pacman sistem ficou bem parecido com o real (Come-Come)xD. Para começar temos que seguir alguns passos.O primeiro é definir os scripts entao vamos até actions.xml e adcionamos isso: <action actionid="7070" script="pacman.lua"/> Aqui esta sendo usado o actionid 7070 verifique se nao esta em uso. Depois na pasta scripts de actions crie o pacman.lua e adcione isto: local player_start_pos = {x=3122,y=2741,z=7} e isso: local arena_up = {x=3130,y=2731,z=7}local arena_down = {x=3114,y=2749,z=7} local monsterpos = {x=3122,y=2739,z=7} local ponsts_storage = 7071 -- Será configurado mais tarde local function criar(posbaxo,poscima) pos2 = posbaxo pos1 = poscima for x = 0, math.abs(pos1.x-pos2.x) do for y = 0, math.abs(pos1.y-pos2.y) do pos3 = {x = pos1.x+x, y = pos1.y-y, z = pos1.z, stackpos = 0} --doSendMagicEffect(pos3, 3) local coisa = getThingfromPos(pos3) if coisa.itemid == 407 and coisa.actionid ~= 100 then doSendMagicEffect(pos3, 1) pos3.stackpos = 1 local coisaa = getThingfromPos(pos3) if coisaa.itemid == 1502 or coisaa.itemid == 8058 then doRemoveItem(coisaa.uid,1) end if coisa.actionid == 7071 then doCreateItem(8058, 1, pos3) else doCreateItem(1502, 1, pos3) end end end end end function onUse(cid, item, frompos, item2, topos) if getGlobalStorageValue(7071) == -1 then doTeleportThing(cid,player_start_pos) setPlayerStorageValue(cid,ponsts_storage, 0) criar(arena_up,arena_down) local m1 = doSummonCreature('monster',{x=monsterpos.x-1,y=monsterpos.y,z=monsterpos.z}) local m2 = doSummonCreature('monster',{x=monsterpos.x,y=monsterpos.y,z=monsterpos.z}) local m3 = doSummonCreature('monster',{x=monsterpos.x+1,y=monsterpos.y,z=monsterpos.z}) setGlobalStorageValue(7071, m1) setGlobalStorageValue(7072, m2) setGlobalStorageValue(7073, m3) return TRUE else return TRUE end end Salve e deiche o arquivo aberto.Abra o seu map editor escolha uma area GRANDE e siga a foto juntamente com a esplicação da config e cores Você notou que do canto de > da foto tem uma coisa com molas, você pode por o item que quiser porem ele DEVE estar com actionid 7070 Agora...local player_start_pos = {x=1,y=2,z=7}Você deve preencher a tabela com as posições X,Y,Z na tabela vendo pelo seu map editor onde indica o ponto vermelho.-----------------------------------------------local arena_up = {x=3130,y=2731,z=7}local arena_down = {x=3114,y=2749,z=7}Obviamente é a posição indicada pelos pontos pretos (bolas) na foto e boviamente down e bacho entao e a bola de baicho e up a de cima , preencha a tabela com os devidos valores de posição x y z.-----------------------------------local ponsts_storage = 7071ISSO NAO PRESISA MECHER-------------------------------Você deve estar vendo alguns sqms roxos na foto nesses sqms você deve por NO CHAO actionid 100----------------------------------Ja nos verdes você deve por actionic 7071 neles.---------------------------------local monsterpos = {x=3122,y=2739,z=7}Essa é a posição da bolinha laranja.-------------------------------------------------------Bom agora tenho 99.9% de certeza que seu servidor nao usa o itemid 1502 esse é o itemid usado para simular as bolinhas que o pacman come esse id e o do firefield que nao casa dano ao player (o pequeno) quaso você notar que ele some você deve ir em itens.xml procurar o id 1502 e tirar as linhas que informan duração.Agora vamos adcionar os movements.Vá ate movements.xml ponha esta tag <movevent event="StepIn" itemid="1502" script="pacman.lua"/> <movevent event="StepIn" itemid="8058" script="pacman.lua"/> Em scripts de movements crie outro pacman.lua e ponha isso dentro: local ponsts_storage = 7071 local exti_pos = {x=3134,y=2741,z=7}---local function transfMonst()local m1 = getGlobalStorageValue(7071) local m2 = getGlobalStorageValue(7072) local m3 = getGlobalStorageValue(7073) local p1 = getThingPos(m1) local p2 = getThingPos(m2) local p3 = getThingPos(m3) doRemoveCreature(m1) doRemoveCreature(m2) doRemoveCreature(m3) m1 = doSummonCreature('monster', p1) m2 = doSummonCreature('monster', p2) m3 = doSummonCreature('monster', p3) setGlobalStorageValue(7071, m1) setGlobalStorageValue(7072, m2) setGlobalStorageValue(7073, m3)endfunction onStepIn(cid, item, pos)if isMonster(cid) == TRUE thenreturn TRUEend if item.itemid == 8058 then local m1 = getGlobalStorageValue(7071) local m2 = getGlobalStorageValue(7072) local m3 = getGlobalStorageValue(7073) local p1 = getThingPos(m1) local p2 = getThingPos(m2) local p3 = getThingPos(m3) doRemoveCreature(m1) doRemoveCreature(m2) doRemoveCreature(m3) doRemoveItem(item.uid,1) m1 = doSummonCreature('monster2', p1) m2 = doSummonCreature('monster2', p2) m3 = doSummonCreature('monster2', p3) setGlobalStorageValue(7071, m1) setGlobalStorageValue(7072, m2) setGlobalStorageValue(7073, m3) addEvent(transfMonst,20000,1) else doRemoveItem(item.uid,1) setPlayerStorageValue(cid,ponsts_storage, getPlayerStorageValue(cid, ponsts_storage)+1) doSendAnimatedText(pos, getPlayerStorageValue(cid, ponsts_storage).." pts", math.random(1,255)) end if getPlayerStorageValue(cid, ponsts_storage) >= 170 then doTeleportThing(cid,exti_pos) local m1 = getGlobalStorageValue(7071) local m2 = getGlobalStorageValue(7072) local m3 = getGlobalStorageValue(7073) doRemoveCreature(m1) doRemoveCreature(m2) doRemoveCreature(m3) setGlobalStorageValue(7071,-1) setGlobalStorageValue(7072,-1) setGlobalStorageValue(7073,-1) endend -------------------------------------Configure:local exti_pos = {x=3134,y=2741,z=7}é a posição de qual o player quando perder ou ganhar vai ir. ----------------------------------Agora vamos a creaturescriptsAdcione estas tags: <event type="death" name="nodie2" script="imorrivel2.lua"/><event type="attack" name="atk" script="move.lua"/> Em inmorrivel2.lua coloque isto: function onDeath(cid, corpse, killer,killer2) local m1 = getGlobalStorageValue(7071)local m2 = getGlobalStorageValue(7072)local m3 = getGlobalStorageValue(7073)local ce = {x=3122,y=2739,z=7} --- mesma posição da bolinah laranja na foto!if cid == m1 thenm1 = doSummonCreature("monster2", ce)setGlobalStorageValue(7071, m1)elseif cid == m2 thenm2 = doSummonCreature("monster2", ce)setGlobalStorageValue(7072, m2)elseif cid == m3 thenm3 = doSummonCreature("monster2", ce)setGlobalStorageValue(7073, m3)endreturn TRUEend Em move.lua basta por isto: local exti_pos = {x=3134,y=2741,z=7}function getDistanceToCreature(cid,cre) local c = getCreaturePosition(cid) local s = getCreaturePosition(cre) return math.max(math.abs(s.x - c.x), math.abs(s.y - c.y))end function onAttack(cid, target) if getCreatureName(cid) == "monstro" and getDistanceToCreature(cid,target) == 1 then doTeleportThing(target,exti_pos) local m1 = getGlobalStorageValue(7071) local m2 = getGlobalStorageValue(7072) local m3 = getGlobalStorageValue(7073) addEvent(doRemoveCreature,300,m1) addEvent(doRemoveCreature,300,m2) addEvent(doRemoveCreature,300,m3) setGlobalStorageValue(7071,-1) setGlobalStorageValue(7072,-1) setGlobalStorageValue(7073,-1) return FALSE end return TRUEend ------------------ainda falta 1 parteos monstersBasta criar 2 monsters.crie um XML chamado monstro.xml e um chamado monster2.xml Agora em monstro.xml ponha: <?xml version="1.0" encoding="UTF-8"?><monster name="monstro" nameDescription="a monstro" race="UNDEAD" experience="60" speed="60" manacost="100"><health now="999" max="999"/><look type="48" head="20" body="30" legs="40" feet="50" corpse="5993"/><targetchange interval="5000" chance="8"/><strategy attack="100" defense="0"/><flags><flag summonable="0"/><flag attackable="0"/><flag hostile="1"/><flag illusionable="0"/><flag convinceable="0"/><flag pushable="1"/><flag canpushitems="1"/><flag canpushcreatures="0"/><flag targetdistance="1"/><flag staticattack="90"/><flag runonhealth="0"/></flags><attacks><attack name="melee" interval="2000" skill="1" attack="1"/></attacks><defenses armor="10" defense="10"/><elements><element physicalPercent="100"/><element earthPercent="100"/><element deathPercent="100"/></elements><immunities><immunity lifedrain="1"/><immunity fire="1"/><immunity paralyze="1"/></immunities><voices interval="5000" chance="10"><voice sentence="Huh!"/><voice sentence="Shhhhhh"/><voice sentence="Buuuuuh"/></voices><script><event name="atk"/> </script></monster> monster2.xml: <?xml version="1.0" encoding="UTF-8"?><monster name="monstro" nameDescription="a monstro" race="UNDEAD" experience="1" speed="30" manacost="100"><health now="1" max="1"/><look type="319" head="20" body="30" legs="40" feet="50" corpse="0"/><targetchange interval="5000" chance="8"/><strategy attack="100" defense="0"/><flags><flag summonable="0"/><flag attackable="1"/><flag hostile="0"/><flag illusionable="0"/><flag convinceable="0"/><flag pushable="1"/><flag canpushitems="1"/><flag canpushcreatures="0"/><flag targetdistance="9"/><flag staticattack="90"/><flag runonhealth="0"/></flags><attacks><attack name="melee" interval="2000" skill="1" attack="1"/></attacks><defenses armor="10" defense="10"/><immunities><immunity invisible="1"/><immunity fire="1"/></immunities><voices interval="5000" chance="10"><voice sentence="AHHHH!"/></voices><script><event name="nodie2"/> </script></monster> Agora para acabar vá ate monsters.xml e adcione 2 tags: <monster name="monster" file="monstro.xml"/> <monster name="monster2" file="monster2.xml"/> salva e fecha tudo e abra seu otprovavelmente como o script tem muitos passos algo pode nao funcionar corretamente na hora entao revise os passos um por um com atenção. Comentem Link para o comentário https://xtibia.com/forum/topic/137207-pac-man-system/ Compartilhar em outros sites More sharing options...
RulezKnight 3 Postado Julho 15, 2010 Share Postado Julho 15, 2010 UAHSUASD, Não vou testa agora, mais achei bem legal! Link para o comentário https://xtibia.com/forum/topic/137207-pac-man-system/#findComment-906599 Compartilhar em outros sites More sharing options...
LeandroMenezes 1 Postado Julho 15, 2010 Share Postado Julho 15, 2010 BOM , obrigado por trazer para o XTIBIA Link para o comentário https://xtibia.com/forum/topic/137207-pac-man-system/#findComment-906611 Compartilhar em outros sites More sharing options...
ADMDragon 0 Postado Julho 15, 2010 Share Postado Julho 15, 2010 Meu deus o que mais faltam inventar?? :smile_positivo: Bom trabalho, sei que deve ter realmente dado trabalho :weight_lift: :button_ok: Aprovado Link para o comentário https://xtibia.com/forum/topic/137207-pac-man-system/#findComment-906654 Compartilhar em outros sites More sharing options...
miter 82 Postado Julho 24, 2010 Share Postado Julho 24, 2010 tá ai uma nova forma de jogar tibia, agora é só fazer um Client para ficar melhorzin! APROVADO! Link para o comentário https://xtibia.com/forum/topic/137207-pac-man-system/#findComment-911244 Compartilhar em outros sites More sharing options...
lais16gatinha 0 Postado Julho 25, 2010 Share Postado Julho 25, 2010 Como o povo gosta de modificar o Tibia, eu adoro trabalhos assim, obrigada por trazer ao :XTibia_smile: ^^ Link para o comentário https://xtibia.com/forum/topic/137207-pac-man-system/#findComment-911649 Compartilhar em outros sites More sharing options...
masterror 1 Postado Julho 30, 2010 Share Postado Julho 30, 2010 (editado) Aew mano! testando aki... vms ver se funfa... ta mt bom pra ser verdade @@EDITED mano.. entro sem bug nem um aki... mais nao acontece nada Editado Julho 30, 2010 por Masfrii Link para o comentário https://xtibia.com/forum/topic/137207-pac-man-system/#findComment-914320 Compartilhar em outros sites More sharing options...
blind92 0 Postado Agosto 26, 2010 Share Postado Agosto 26, 2010 (editado) então, eu segui os passos todos certos, e no fim deu esse erro. ja revisei, esta tudo certo, não entendi o problema :S Event onUse not found <data/actions/scripts/pacman.lua esse é meu pacman.lua local player_start_pos = {x=33207,y=32148,z=7} local arena_up = {x=33216,y=32137,z=7} local arena_down = {x=33198,y=32157,z=7} local monsterpos = {x=33207,y=32146,z=7} local ponsts_storage = 7071 -- Será configurado mais tarde local function criar(posbaxo,poscima) pos2 = posbaxo pos1 = poscima for x = 0, math.abs(pos1.x-pos2.x) do for y = 0, math.abs(pos1.y-pos2.y) do pos3 = {x = pos1.x+x, y = pos1.y-y, z = pos1.z, stackpos = 0} --doSendMagicEffect(pos3, 3) local coisa = getThingfromPos(pos3) if coisa.itemid == 407 and coisa.actionid ~= 100 then doSendMagicEffect(pos3, 1) pos3.stackpos = 1 local coisaa = getThingfromPos(pos3) if coisaa.itemid == 1502 or coisaa.itemid == 8058 then doRemoveItem(coisaa.uid,1) end if coisa.actionid == 7071 then doCreateItem(8058, 1, pos3) else doCreateItem(1502, 1, pos3) end end end end end function onUse(cid, item, frompos, item2, topos) if getGlobalStorageValue(7071) == -1 then doTeleportThing(cid,player_start_pos) setPlayerStorageValue(cid,ponsts_storage, 0) criar(arena_up,arena_down) local m1 = doSummonCreature('monster',{x=monsterpos.x-1,y=monsterpos.y,z=monsterpos.z}) local m2 = doSummonCreature('monster',{x=monsterpos.x,y=monsterpos.y,z=monsterpos.z}) local m3 = doSummonCreature('monster',{x=monsterpos.x+1,y=monsterpos.y,z=monsterpos.z}) setGlobalStorageValue(7071, m1) setGlobalStorageValue(7072, m2) setGlobalStorageValue(7073, m3) return TRUE else return TRUE end end se conseguir ajudar agradeço MUITO *-* Editado Agosto 26, 2010 por blind92 Link para o comentário https://xtibia.com/forum/topic/137207-pac-man-system/#findComment-925048 Compartilhar em outros sites More sharing options...
churupetinha 4 Postado Agosto 26, 2010 Share Postado Agosto 26, 2010 eu fiz isso tudo no meu mas nao funfo nao deu erro nem um so fala que o script nao tava terminado :S Link para o comentário https://xtibia.com/forum/topic/137207-pac-man-system/#findComment-925067 Compartilhar em outros sites More sharing options...
blind92 0 Postado Agosto 28, 2010 Share Postado Agosto 28, 2010 alguem pode solucionar? esqueceram o topico, to precisando muito desse script, por favor deem essa ajudinha, é só isso que me falta Link para o comentário https://xtibia.com/forum/topic/137207-pac-man-system/#findComment-925237 Compartilhar em outros sites More sharing options...
Posts Recomendados