Ir para conteúdo

Conde Sapo

Visconde
  • Total de itens

    322
  • Registro em

  • Última visita

Tudo que Conde Sapo postou

  1. Raids Criando E Entendendo As Tags Invasao, Clicando Em Item
  2. Gostei. Puz até um trampolim no meu. Pena que fica o buraco no meio da água. Aprovado. Ps.: Não cabe a nós julgar a utilidade. A função de um tutorial é ensinar a fazer algo. A utilidade fica a critério de quem vai brincar no seu OT.
  3. NussaSinto-me honrado. Brigadúúúúú.
  4. Boa sugestão de vocação. @capeta7 vai ficar orgulhoso em saber que o tutorial dele teve serventia. [ ]s
  5. Adorei o Tutorial Tirei alguns errinhos e diminui o tamanho : -- Trofeu com inscrição (By Arkdumm) function onSay(cid, words, param) acessoGM = 3 acessoCID = getPlayerAccess(cid) nome = getPlayerName(cid) pos = getPlayerPosition(cid) if acessoCID >= acessoGM then if words == '/gold' then item = 5805 material = 'ouro' elseif words == '/silver' then item = 5806 material = 'prata' elseif words == '/bronze' then item = 5807 material = 'bronze' end if param == '' then doPlayerAddItem(cid,item,1) else trofeu = doPlayerAddItem(cid,item,1) doSetItemSpecialDescription(trofeu,param ..'\nAssinado: '.. nome) doPlayerSendTextMessage(cid, 24, nome .. ', você criou um troféu de ' .. material .. ' com a inscrição: "' .. param ..'"') end doSendMagicEffect(pos,10) else doPlayerSendCancel(cid,'Desculpe, você não pode criar troféus') doSendMagicEffect(pos,2) end end Testei aqui Mandei o comando /gold "Para Conde Sapo, por sua bravura neste server. o comando some mas vem o texto do script. Look do troféu : 00:57 You see a golden goblet. Para Conde Sapo, por sua bravura neste server. Assinado: GOD Sapo Só tenho uma coisa a dizer sobre esse tutorial
  6. Forum extrangeiro não explica nos minimos detalhes. Supõe-se que quem tá lendo é uma pessoa que tem um minimo de conhecimento. Os IDs pra colocar no actions.xml estão : nesta linha aqui if item.itemid == 1857 or item.itemid == 1860 or item.itemid == 1863 or item.itemid == 1866 or item.itemid == 1869 or item.itemid == 1872 or item.itemid == 1880 or item.itemid == 5616 then nesta linha aqui elseif item.itemid == 1856 or item.itemid == 1859 or item.itemid == 1862 or item.itemid == 1865 or item.itemid == 1868 or item.itemid == 1871 or item.itemid == 1879 or item.itemid == 5615 then nesta linha aqui elseif item.itemid == 1855 or item.itemid == 1858 or item.itemid == 1861 or item.itemid == 1864 or item.itemid == 1867 or item.itemid == 1870 or item.itemid == 1878 or item.itemid == 5614 then fica assim no actions.xml <action itemid="1857" script="tapestries.lua" /> <action itemid="1860" script="tapestries.lua" /> <action itemid="1863" script="tapestries.lua" /> <action itemid="1866" script="tapestries.lua" /> <action itemid="1869" script="tapestries.lua" /> <action itemid="1872" script="tapestries.lua" /> <action itemid="1880" script="tapestries.lua" /> <action itemid="5616" script="tapestries.lua" /> <action itemid="1855" script="tapestries.lua" /> <action itemid="1858" script="tapestries.lua" /> <action itemid="1861" script="tapestries.lua" /> <action itemid="1864" script="tapestries.lua" /> <action itemid="1867" script="tapestries.lua" /> <action itemid="1870" script="tapestries.lua" /> <action itemid="1878" script="tapestries.lua" /> <action itemid="5614" script="tapestries.lua" /> <action itemid="1856" script="tapestries.lua" /> <action itemid="1859" script="tapestries.lua" /> <action itemid="1862" script="tapestries.lua" /> <action itemid="1865" script="tapestries.lua" /> <action itemid="1868" script="tapestries.lua" /> <action itemid="1871" script="tapestries.lua" /> <action itemid="1879" script="tapestries.lua" /> <action itemid="5615" script="tapestries.lua" /> Acho que não esqueci nenhum.
  7. procurei a resposta em site americano achei isto aqui (não testei) Put the tapestry in front of the wall that you want to put the tapestry on ------------------------------ tradução ------------------------------------------------- (Arraste o tapestry na parede que você deseja decorar) tapestries.lua function onUse(cid, item, frompos, item2, pos) wall1 = {x=pos.x-1, y=pos.y, z=pos.z, stackpos=1} wall1s1 = {x=pos.x-1, y=pos.y, z=pos.z, stackpos=2} getwall1 = getThingfromPos(wall1) getwall1s1 = getThingfromPos(wall1s1) wall2 = {x=pos.x, y=pos.y-1, z=pos.z, stackpos=1} wall2s1 = {x=pos.x, y=pos.y-1, z=pos.z, stackpos=2} getwall2 = getThingfromPos(wall2) getwall2s1 = getThingfromPos(wall2s1) player = getPlayerPosition(cid) if item.itemid == 1857 or item.itemid == 1860 or item.itemid == 1863 or item.itemid == 1866 or item.itemid == 1869 or item.itemid == 1872 or item.itemid == 1880 or item.itemid == 5616 then --flat tapestry if getwall1.itemid == 1036 or getwall1.itemid == 1040 or getwall1.itemid == 1041 or getwall1.itemid == 1042 or getwall1.itemid == 1043 or getwall1.itemid == 1044 or getwall1.itemid == 1046 or getwall1.itemid == 1049 or getwall1.itemid == 1053 or getwall1.itemid == 1054 or getwall1.itemid == 1055 or getwall1.itemid == 1056 or getwall1.itemid == 1057 or getwall1.itemid == 1059 or getwall1.itemid == 1100 or getwall1.itemid == 1104 or getwall1.itemid == 1105 or getwall1.itemid == 1106 or getwall1.itemid == 1107 or getwall1.itemid == 1108 or getwall1.itemid == 1110 or getwall1.itemid == 1111 or getwall1.itemid == 1115 or getwall1.itemid == 1116 or getwall1.itemid == 1117 or getwall1.itemid == 1119 or getwall1.itemid == 3361 or getwall1.itemid == 3365 or getwall1.itemid == 3366 or getwall1.itemid == 3367 or getwall1.itemid == 3369 or getwall1.itemid == 5261 or getwall1.itemid == 5265 or getwall1.itemid == 5266 or getwall1.itemid == 5267 or getwall1.itemid == 5268 or getwall1.itemid == 5269 or getwall1.itemid == 5271 then --west facing if getwall1s1.itemid > 0 then if getwall2.itemid == 1037 or getwall2.itemid == 1039 or getwall2.itemid == 1040 or getwall2.itemid == 1042 or getwall2.itemid == 1044 or getwall2.itemid == 1045 or getwall2.itemid == 1046 or getwall2.itemid == 1050 or getwall2.itemid == 1052 or getwall2.itemid == 1053 or getwall2.itemid == 1055 or getwall2.itemid == 1057 or getwall2.itemid == 1058 or getwall2.itemid == 1059 or getwall2.itemid == 1061 or getwall2.itemid == 1064 or getwall2.itemid == 1066 or getwall2.itemid == 1068 or getwall2.itemid == 1069 or getwall2.itemid == 1070 or getwall2.itemid == 1039 or getwall2.itemid == 1101 or getwall2.itemid == 1103 or getwall2.itemid == 1104 or getwall2.itemid == 1106 or getwall2.itemid == 1108 or getwall2.itemid == 1109 or getwall2.itemid == 1110 or getwall2.itemid == 1112 or getwall2.itemid == 1114 or getwall2.itemid == 1115 or getwall2.itemid == 1117 or getwall2.itemid == 1118 or getwall2.itemid == 1119 or getwall2.itemid == 3362 or getwall2.itemid == 3364 or getwall2.itemid == 3365 or getwall2.itemid == 3367 or getwall2.itemid == 3368 or getwall2.itemid == 3369 or getwall2.itemid == 5262 or getwall2.itemid == 5264 or getwall2.itemid == 5265 or getwall2.itemid == 5267 or getwall2.itemid == 5269 or getwall2.itemid == 5270 or getwall2.itemid == 5271 then --south facing if getwall2s1.itemid > 0 then else doRemoveItem(item.uid,1) doCreateItem(item.itemid-2,1,wall2) end end else doRemoveItem(item.uid,1) doCreateItem(item.itemid-1,1,wall1) end elseif getwall2.itemid == 1037 or getwall2.itemid == 1039 or getwall2.itemid == 1040 or getwall2.itemid == 1042 or getwall2.itemid == 1044 or getwall2.itemid == 1045 or getwall2.itemid == 1046 or getwall2.itemid == 1050 or getwall2.itemid == 1052 or getwall2.itemid == 1053 or getwall2.itemid == 1055 or getwall2.itemid == 1057 or getwall2.itemid == 1058 or getwall2.itemid == 1059 or getwall2.itemid == 1061 or getwall2.itemid == 1064 or getwall2.itemid == 1066 or getwall2.itemid == 1068 or getwall2.itemid == 1069 or getwall2.itemid == 1070 or getwall2.itemid == 1039 or getwall2.itemid == 1101 or getwall2.itemid == 1103 or getwall2.itemid == 1104 or getwall2.itemid == 1106 or getwall2.itemid == 1108 or getwall2.itemid == 1109 or getwall2.itemid == 1110 or getwall2.itemid == 1112 or getwall2.itemid == 1114 or getwall2.itemid == 1115 or getwall2.itemid == 1117 or getwall2.itemid == 1118 or getwall2.itemid == 1119 or getwall2.itemid == 3362 or getwall2.itemid == 3364 or getwall2.itemid == 3365 or getwall2.itemid == 3367 or getwall2.itemid == 3368 or getwall2.itemid == 3369 or getwall2.itemid == 5262 or getwall2.itemid == 5264 or getwall2.itemid == 5265 or getwall2.itemid == 5267 or getwall2.itemid == 5269 or getwall2.itemid == 5270 or getwall2.itemid == 5271 then --south facing if getwall2s1.itemid > 0 then else doRemoveItem(item.uid,1) doCreateItem(item.itemid-2,1,wall2) end end elseif item.itemid == 1856 or item.itemid == 1859 or item.itemid == 1862 or item.itemid == 1865 or item.itemid == 1868 or item.itemid == 1871 or item.itemid == 1879 or item.itemid == 5615 then --west facing if (player.x == pos.x+1) then doPlayerAddItem(cid, item.itemid+1, 1) doRemoveItem(item.uid,1) end elseif item.itemid == 1855 or item.itemid == 1858 or item.itemid == 1861 or item.itemid == 1864 or item.itemid == 1867 or item.itemid == 1870 or item.itemid == 1878 or item.itemid == 5614 then --south facing if (player.y == pos.y+1) then doRemoveItem(item.uid,1) doPlayerAddItem(cid, item.itemid+2, 1) end end end This was done for 7.81, also if you have a place where u have two walls next to each other to form a corner, it will go on the east facing wall first. ------------------------------ tradução ------------------------------------------------- (funciona pra 7.81 , entretanto se você tiver um lugar com duas paredes fazendo uma quina , o deco vai colar na parede virada pra leste) Aguardo cobaias e comentarios.
  8. @riky Gostei da sua aula Até valeria um tutorial a parte mas o titulo do topico é outro : Mudando O Ataque Das Armas @4gruiutreo Simples mas eficiente. Com certeza vai ser uma decisão dificil para a equipte XTibia. Aprovar ou Reprovar ??? Não enriquece muito o forum por outro lado cumpre com a proposta do titulo.
  9. Vou te contar um segredo.Não conta pra mais ninguém PLX autowalk="200" speed="200"> autowalk é a velocidade da decisão de andar (fica parado pensando pra qual direção ir) 25 ele fica quase sempre parado. 200 ele se mexe muito. speed é a velocidade que ele move entre os SQM (andar de cá pra lá) se não informar , assume 100 (velocidade de RookGard) 200 é quase uma BOH
  10. Acho que todos meus projetos já estão aqui (em tutoriais) mas penso em algo até lá. Pela iniciativa do projeto só posso dizer isso :
  11. @FrozenMapper @SirAlquati Brigadúúúúú pelo carinho. Eu que agradeço.A duvida era sua. Mas TODOS tiraram proveito disso.
  12. @Dias OTonwer @Venonzinho @SirAlquati Brigaúúúúú pelo carinho.
  13. no Evolutions 792 O engine (tibia.exe) cai Essa é a mensagem quando entra. Não acusa nenhum erro no OT Não é pra versões "idosas" Snif
  14. O script procura por objetos nos 2 tiles.Se os 2 objetos estiverem em 1 só dos tiles , não vai acontecer nada. Não vai fundir e nem vai perder os objetos também. [ ]s
  15. As vezes , uma dúvida no forum Suporte/Dúvidas sobre Scripts me leva a criar um Tutorial. Esse é um arquivo que NÂO PODE MEXER vou explicar mas deixa ele ae quetinho. Vamos pegar este Spawn simples como exemplo : <spawn centerx="349" centery="368" centerz="6" radius="5"> <npc name="Maya" x="2" y="-1"/> </spawn> Explicando : Spaw é a função do seu MapEditor que cria uma área pra por NPC ou Monstros. Fica representado como um foguinho roxo. E a área desse Spaw (no MapEditor) deixa o chão com cor diferente. (ver explicação de radius pra frente) centerx="349" centery="368" centerz="6" Aqui fica a coordenada exata desse Spawn no mapa. Coordenada Vertical 349 Coordenava Horizontal 368 Andar 6 (7 é o térreo) radius="5" Radius é a área (quadrada) que abrange esse Spawn (no nosso caso é uma área de 5x5) Você pode mudar isso nas propriedades do Spawn na edição do mapa. um Player pisando em qualquer SQM do radius desse Spawn , vai blocar respaw de todos os bichos. Se algum bicho nascer e vier atacar , é porque o bicho é de outro Spawn perto. npc name="Maya" o NPC/Monstro que tá nesse Spawn. (No nosso caso é só um NPC) Tudo que você puzer no Spawn vai ficar entre o <spawn> e </spawn> x="2" y="-1" Aqui monstra o lugar que o NPC tá em relação ao Spawn. x=2 ele tá 2 sqms 'a direita do Spawn y="-1" ele tá 1 sqms acima do Spawn spawntime="60" No nosso exemplo não tem (só aparece pra Monstros) É o tempo pra nascer outro bicho nesse Spawn. o número entre parenteses é o tempo em segundos pra um ReSpawn do Monstro. Nosso NPC tá muito solitário. Vamos fazer uma festa e chamar alguns convidados. Agora vamos ver como ficaria um Spawn com várias coisas <spawn centerx="54" centery="21" centerz="7" radius="7"> <npc name="Maya" x="2" y="-1"/> <npc name="Garçon" x="2" y="-2"/> <monster name="Skeleton" x="-1" y="0" spawntime="60"/> <monster name="Swamp Troll" x="1" y="0" spawntime="60"/> <monster name="Vampire" x="3" y="0" spawntime="60"/> </spawn> Olha ae nosso NPC com alguns monstros do lado dele agora. Todos no mesmo Spawn (no mesmo foguinho roxo) E aqui eu puz um radius maior 7x7 (senão o Garçon não tem espaço pra passar e servir os convidados) E olha o SpawnTime ae... 60 segundos pra nascer outro bicho. (se não tiver ninguem pisando na area do radius ) Acho que é isso. Fonde -> Dicionário Michaelis. Exclusivo para XTibia Denunciar aqui se encontrar em outro forum.
  16. você é feio mas eu te amuuuuuuuuuu
  17. AhuHuehA e põe idoso nisso... quase 1/2 século Conde Sapo (Por Mostrar Como Colocar Mais de Um Item Por alavanca) Brigadúúúú pelo carinho. Eu achei uma ótima forma de fundir itens. Mais util que falar com NPC.Sem contar qué só a IDEIA já vale muito. Pode-se colocar espaço pra mais itens... (fuzão de 4 , 5 , 6 etc) Não é só Diablo II que tem Horadric Cube Agora OT também tem.
  18. Pelo que eu ví , a unica diferença é esse doTransformItem que o meu não tem.Nem achei uma utilidade real pra ter IDs diferentes. Olha este IF elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then selfSay('Sorry, ' .. creatureGetName(cid) .. '! I talk to you in a minute.') Este IF tá presente em TODOS NPC Ele previne que a conversa seja só com o CID Qualquer mensagem vinda de OUTRO cid será ignorada. Sendo assim , só o dado rolado pelo CID vai valer. (me corrija se eu estiver enganado) É só por um dice no jogo.Dentro de uma Quest , no chão , NPC que venda o dice , etc. Existem 6 IDs de dice... qualquer 1 deles vai funcionar. Pra usar , é só usar. ahuehauheua clica com o botão direito nele. da mesma forma que você usaria qualquer outro item.
  19. Como eu disse , é só um exemplo. minha intenção na imagem , era só pra ajudar a entender oque o sprite faz. Cada um que faça do seu jeito. As unicas coisas realmente importantes são os 3 tiles da roleta e a alavanca. o player pode até estar pisando nos tiles. Tile1Pos = {x=46, y=42, z=7, stackpos=0} stackpos=0 lê o chão não importando oque está em cima. o balcão , o banquinho , as placas , são só detalhes. As placas ao lado dos 3 tiles especiais (abaixo) é só uma ideia de como explicar o valor de cada 1 dos tiles especiais pro player que tá indo jogar. Estou aberto a sugestões.
  20. AFFFFFQue criancice... Só porque OFICIALMENTE já era segunda feira pois o relogio passou da 1/2 noite ??? Me economize... Desmerecer e/ou duvidar do minino por um detalhe besta desse... @FrozenMapper Hoje logo que liguei meu PC (08:15) eu vi seu trabalho... Não tive tempo de responder pois já tava saindo pro trampo. ÓTIMO TUTORIAL o melhor que eu já ví no genero. SUPER APROVADO
  21. Até minha vó de 80+ anos saberia responder isso... Facil d+ o TUTO tá muito bem explicado e cheio de corezinhas como você gosta.
  22. Exclusivo para XTibia favor não postar em outro forum ------------------------------------------------------------------------------------------ Cansei de ver tutoriais de CASSINO que não funcionam ou são incompletos. Vai aqui um CAÇA NIQUEIS que eu garanto que funciona. Imagem pra exempo da área do Caça Niqueis 1° Passo Fazer a chamada do script no arquivo data\actions\actions.xml <action uniqueid="1313" script="Cassino.lua" /> -- Sorte ou Azar... Puxe a alavanca 2° Passo Criar o script data\actions\scripts\Cassino.lua -- Sorte/Azar (By Conde Sapo) function onUse(cid, item, frompos, item2, topos) Aposta = getPlayerSlotItem(cid, 10) if Aposta.itemid == 2148 then Tipo = " gp" elseif Aposta.itemid == 2152 then Tipo = " platinum" elseif Aposta.itemid == 2160 then Tipo = " crystal" else doPlayerSay(cid,"You need a BET on your BELT",1) -- Voce precisa uma APOSTA no seu CINTO return 0 end Tile1Pos = {x=46, y=42, z=7, stackpos=0} Tile2Pos = {x=47, y=42, z=7, stackpos=0} Tile3Pos = {x=48, y=42, z=7, stackpos=0} Tile1 = getThingfromPos(Tile1Pos) Tile2 = getThingfromPos(Tile2Pos) Tile3 = getThingfromPos(Tile3Pos) Sorte1 = math.random(1, 20) Sorte2 = math.random(1, 20) Sorte3 = math.random(1, 20) NovoTile1 = 3165 +Sorte1 NovoTile2 = 3165 +Sorte2 NovoTile3 = 3165 +Sorte3 if item.itemid == 1946 then doTransformItem(1313,1945) else doTransformItem(1313,1946) end doTransformItem(Tile1.uid,NovoTile1) doTransformItem(Tile2.uid,NovoTile2) doTransformItem(Tile3.uid,NovoTile3) Premio = 0 Ganhou = FALSE if NovoTile1 == 3166 then Ganhou = TRUE Premio = Premio + 2 end if NovoTile2 == 3166 then Ganhou = TRUE Premio = Premio + 2 end if NovoTile3 == 3166 then Ganhou = TRUE Premio = Premio + 2 end if NovoTile1 == 3167 then Ganhou = TRUE Premio = Premio + 3 end if NovoTile2 == 3167 then Ganhou = TRUE Premio = Premio + 3 end if NovoTile3 == 3167 then Ganhou = TRUE Premio = Premio + 3 end if NovoTile1 == 3168 then Ganhou = TRUE Premio = Premio + 4 end if NovoTile2 == 3168 then Ganhou = TRUE Premio = Premio + 4 end if NovoTile3 == 3168 then Ganhou = TRUE Premio = Premio + 4 end doPlayerRemoveItem(cid,Aposta.itemid,1) -- Sempre remove a aposta if Ganhou == TRUE then doPlayerAddItem(cid, Aposta.itemid, Premio) doPlayerSendCancel(cid,"Congratulations. Get your prize!!!!!") doPlayerSay(cid,"Aew... " .. Premio .. Tipo .. "s.",1) elseif NovoTile1 ~= NovoTile2 and NovoTile1 ~= NovoTile3 and NovoTile2 ~= NovoTile3 then doPlayerSendCancel(cid,"Sorry!!!") else if NovoTile1 == NovoTile2 and NovoTile1 == NovoTile3 and NovoTile2 == NovoTile3 then doPlayerAddItem(cid, Aposta.itemid, 2) doPlayerSendCancel(cid,"Gratz!!! 3 Tiles. Get your premium!") doPlayerSay(cid,"Aew... " .. Premio .. Tipo .. "s.",1) else doPlayerAddItem(cid, Aposta.itemid, 1) doPlayerSendCancel(cid,"Luck!! 2 Tiles. Get your reward!") doPlayerSay(cid,"Aew... 1" .. Tipo .. ".",1) end end return 1 end Explicando : Aposta Você precisa colocar moeda(s) no cinto. Aceita Gold , Platinum e Crystal COINS Cada vez que perde a aposta , some só 1 moeda. Sendo assim pode deixar varias no cinto que não tem perigo. Tiles Gostei dos Tiles ID 3166 a 3188 (20 Tiles) 3 Tiles são especiais 3166 , 3167 , 3168 (os Tiles que aparecem ao lado de cada quadro e no fundo do cassino) 3166 Cada vez que vem esse Tile , a aposta cresce 2 moedas. 3167 Cada vez que vem esse Tile , a aposta cresce 3 moedas. 3168 Cada vez que vem esse Tile , a aposta cresce 4 moedas. Qualquer outro Tile Se aparecerem 2 Tiles iguais , a aposta cresce 2 moedas. Se aparecerem 3 Tiles iguais , a aposta cresce 3 moedas. Se forem 3 Tiles diferentes , você perde a aposta. (Some 1 moeda do cinto) Sorte Um número randônico que vai de 1 a 20 (pra cada Tile) 1 a 10 seria uma change BOA pra ganhar 1 a 20 é uma chance MEDIA pra guanhar 1 a 40 seria POUCA chance de ganhar Sorte1 , Sorte2 e Sorte3 Número randônico pro Tile1 , Tile2 e Tile3 Usar tabela de chances acima. Alavanca Cada puchada da alavanca dispara uma nova seqüência de 3 Tiles. Vem a mensagem SORRY se você perde. Se você ganha , o player fica feliz e diz quanto ganhou. UID Usei o UID 1313 na alavanca (13 é sorte ou azar ???) o Tile da esquerda tem o UID 1301 (Tile1) o Tile central tem o UID 1302 (Tile2) o Tile da direita tem o UID 1303 (Tile3) Mudar a vontade bastando sincronizar o UID no Mapa com o UID no Script Placas Na entrada do Caça Niqueis eu coloquei os 3 Tiles especiais e uma Placa ao lado de cada um deles Colocar a mensagem em cada uma das Placas explicando o premio quando sai esse Tile Ao lado da Alavanca também tem uma Placa. Colocar mensagem que precisa ter moeda no cinto , que aceita Gold, Platinum ou Crystal , etc,etc,etc (só uma sugestão pro conteudo da placa) Acho que isso é tudo............... denunciar aqui se encontrar em outro Forum.
  23. Meu amiguinho Dias OTonwer Dado só tem UMA função BRINCAR mas ae você pode usar sua criatividade. conheço gente que definiu 6 lugares de HUNT e o dado decide pra ele QUAL hunt ele vai 2 players podem fazer apostas (o outro player vê o numero que você rolou) um NPC vai "ouvir" a mensagem do dado se o player já falou "HI" Exmplo de linha do NPC "ouvindo" o dado : if string.find(msg, '(%a*)rolled a 6(%a*)') then o NPC vai fazer algo se o player rolou um "6" Divirta-se rolando o DADO
  24. Conde Sapo

    Voodoo Skull

    exclusivo para o XTibia denunciar se aparecer em outro forum Pra quem não sabe , a Voodoo Skull é uma caveira que diz a "sorte" do dia. Uma "sorte" que na realidade é mais uma piada do que sorte mesmo. primeiro precisamos acertar o item voodoo skull editar o arquivo data\items\items.xml <item id="5669" name="voodoo skull"> <attribute key="weight" value="1000"/> </item> <item id="5670" name="voodoo skull"> <attribute key="weight" value="1000"/> <attribute key="decayTo" value="5669"/> <attribute key="duration" value="3600"/> </item> duration value="3600" = 1 hora (3600 segundos) No Tibia Geral o tempo da previsão é 1 dia. incluir a chamada do script em data\actions\actions.xml <action itemid="5669" script="Voodoo_Skull.lua" /> <action itemid="5670" script="Voodoo_Skull.lua" /> e finalmente o script em data\actions\scripts\Voodoo_Skull.lua -- Voodoo Skull - Le uma Sorte (By Conde Sapo) function onUse(cid, item, frompos, item2, topos) if item.itemid == 5669 then rand = math.random(1, 9) if rand == 1 then doPlayerSay(cid, "It's not winning that matters, but winning in style." ,16) elseif rand == 2 then doPlayerSay(cid, "Today's your lucky day. Probably." ,16) elseif rand == 3 then doPlayerSay(cid, "Do not meddle in the affairs of dragons, for you are crunchy and taste good with ketchup.",16) elseif rand == 4 then doPlayerSay(cid,"That is one stupid question." ,16) elseif rand == 5 then doPlayerSay(cid, "You'll need more rum for that.",16) elseif rand == 6 then doPlayerSay(cid, "Do or do not. There is no try." ,16) elseif rand == 7 then doPlayerSay(cid, "You should do something you always wanted to." ,16) elseif rand == 8 then doPlayerSay(cid, "Never say 'Oops', always say 'Ah, interesting!'" ,16) elseif rand == 9 then doPlayerSay(cid, "If you walk under a ladder and it falls down on you it probably means bad luck.",16) end doSendMagicEffect(cid, frompos, 1) doTransformItem(item.uid, 5670) else doPlayerSendTextMessage(cid,16,"It's not time yet.") -- Cor Verde doPlayerSendCancel(cid,"It's not time yet.") end doDecayItem(item.uid) return 1 end O Item que vai prever a "sorte" é 5669 Dando o use nesse item , ele diz uma "sorte" aleatoria e transforma no item 5670 (Decay de 1 hora) Se clicar no item 5670 só vem a mensagem "It's not time yet." (não é a hora ainda) Após 1 hora o item 5670 se transforma de novo no item 5669 e permite uma nova "sorte" Ps1.: Essas são as previsões de "sorte" originais. Substituir a gosto. Ps2.: doPlayerSendTextMessage(cid,16,"It's not time yet.") -- Cor Verde doPlayerSendCancel(cid,"It's not time yet.") Não há necessidade das 2 mensagens. Pode-se optar por apenas 1 delas. Divirtam-se com as previsões.
  • Quem Está Navegando   0 membros estão online

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