Ir para conteúdo

Summ

Membro
  • Registro em

  • Última visita

Tudo que Summ postou

  1. local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if not npcHandler:isFocused(cid) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local config = { strg1 = 200201, -- storage começando a task strg2 = 91001, -- storage finalizou a task (ganha qnd matar os monstros) idiom = 8971 } if msgcontains(msg:lower(),'task') then if getPlayerStorageValue(cid, config.strg2) < 1 then if getPlayerStorageValue(cid, config.strg1) < 1 then if getPlayerStorageValue(cid, config.idiom) == 1 then selfSay('Good one more coming soul of {portal}! Welcome, I hope you can help!', cid) talkState[talkUser] = 1 elseif getPlayerStorageValue(cid, config.idiom) == 2 then selfSay('Que bom mais uma alma vinda do {portal}! Seja bem vindo, espero que possa nos ajudar!.', cid) talkState[talkUser] = 1 end else selfSay('you have to finish the task', cid) talkState[talkUser] = 0 end else selfSay('Voce concluiu a missao, tome aqui um Sabre, use ele ate chegar no nivel 8 e fale com o Oraculo no templo!', cid) selfSay('Ele ira te mandar para Aurea, la fale com !', cid) doPlayerAddItem(cid, 2385, 1) talkState[talkUser] = 0 end elseif msgcontains(msg:lower(), 'portal') and talkState[talkUser] == 1 then if getPlayerStorageValue(cid, config.idiom) == 1 then selfSay('Crystal angel one came down here and Aurea and opened a portal of humans who comes from another dimension for us {save}.', cid) talkState[talkUser] = 2 elseif getPlayerStorageValue(cid, config.idiom) == 2 then selfSay('Crystal uma anja desceu até aqui e em Aurea e abriu um portal de humanos que vem de outra dimensão para nós {salvar}.', cid) talkState[talkUser] = 2 end elseif msgcontains(msg:lower(), 'salvar') or msgcontains(msg:lower(), 'save') and talkState[talkUser] == 2 then if getPlayerStorageValue(cid, config.idiom) == 1 then selfSay('We are in an apocalyptic world, at war with several races. And you can be! {the chosen}', cid) talkState[talkUser] = 3 elseif getPlayerStorageValue(cid, config.idiom) == 2 then selfSay('Estamos em um mundo apocalíptico, em guerra com varias raças. E voce pode ser o {escolhido}!', cid) talkState[talkUser] = 3 end elseif msgcontains(msg:lower(), 'escolhido') or msgcontains(msg:lower(), 'the chosen') and talkState[talkUser] == 3 then if getPlayerStorageValue(cid, config.idiom) == 1 then selfSay('Congratulations, now with permission.', cid) selfSay('Such as our plague of {rats} in the city that are climbing down the drain!', cid) talkState[talkUser] = 4 elseif getPlayerStorageValue(cid, config.idiom) == 2 then selfSay('Calma primeiro precisamos treinar, voce deve nos ajudar com coisas {simples}, ate estar bem treinado!', cid) selfSay('Como por exemplo a nossa praga de {rats} na cidade que estão subindo pelos bueiros!', cid) talkState[talkUser] = 4 end elseif msgcontains(msg:lower(), 'rats') and talkState[talkUser] == 4 then if getPlayerStorageValue(cid, config.idiom) == 1 then selfSay('Okay, so help us get this over with and kill 10 rats in the gutter in front here.', cid) setPlayerStorageValue(cid, strg1, 1) talkState[talkUser] = 0 elseif getPlayerStorageValue(cid, config.idiom) == 2 then selfSay('Ok, então ajuda-nos a acabar com isso e mate 10 ratos no bueiro aqui na frente.', cid) setPlayerStorageValue(cid, strg1, 1) talkState[talkUser] = 0 end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  2. local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end if not npcHandler:isFocused(cid) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local config = { strg1 = 200201, -- storage começando a task strg2 = 91001, -- storage finalizou a task (ganha qnd matar os monstros) idiom = 8971 } if msgcontains(msg:lower(),'task') then if getPlayerStorageValue(cid, config.strg2) < 1 then if getPlayerStorageValue(cid, config.strg1) < 1 then if getPlayerStorageValue(cid, config.idiom) == 1 then selfSay('Good one more coming soul of {portal}! Welcome, I hope you can help!', cid) talkState[talkUser] = 1 elseif getPlayerStorageValue(cid, config.idiom) == 2 then selfSay('Que bom mais uma alma vinda do {portal}! Seja bem vindo, espero que possa nos ajudar!.', cid) talkState[talkUser] = 1 end else selfSay('you have to finish the task', cid) talkState[talkUser] = 0 end else selfSay('Voce concluiu a missao, tome aqui um Sabre, use ele ate chegar no nivel 8 e fale com o Oraculo no templo!', cid) selfSay('Ele ira te mandar para Aurea, la fale com !', cid) doPlayerAddItem(cid, 2385, 1) talkState[talkUser] = 0 end elseif msgcontains(msg:lower(), 'portal') and talkState[talkUser] == 1 then if getPlayerStorageValue(cid, config.idiom) == 1 then selfSay('Crystal angel one came down here and Aurea and opened a portal of humans who comes from another dimension for us {save}.', cid) talkState[talkUser] = 2 elseif getPlayerStorageValue(cid, config.idiom) == 2 then selfSay('Crystal uma anja desceu até aqui e em Aurea e abriu um portal de humanos que vem de outra dimensão para nós {salvar}.', cid) talkState[talkUser] = 2 end elseif msgcontains(msg:lower(), 'salvar') or msgcontains(msg:lower(), 'save') and talkState[talkUser] == 2 then if getPlayerStorageValue(cid, config.idiom) == 1 then selfSay('We are in an apocalyptic world, at war with several races. And you can be! {the chosen}', cid) talkState[talkUser] = 3 elseif getPlayerStorageValue(cid, config.idiom) == 2 then selfSay('Estamos em um mundo apocalíptico, em guerra com varias raças. E voce pode ser o {escolhido}!', cid) talkState[talkUser] = 3 end elseif msgcontains(msg:lower(), 'escolhido') or msgcontains(msg:lower(), 'the chosen') and talkState[talkUser] == 3 then if getPlayerStorageValue(cid, config.idiom) == 1 then selfSay('Congratulations, now with permission.', cid) selfSay('Such as our plague of {rats} in the city that are climbing down the drain!', cid) talkState[talkUser] = 4 elseif getPlayerStorageValue(cid, config.idiom) == 2 then selfSay('Calma primeiro precisamos treinar, voce deve nos ajudar com coisas {simples}, ate estar bem treinado!', cid) selfSay('Como por exemplo a nossa praga de {rats} na cidade que estão subindo pelos bueiros!', cid) talkState[talkUser] = 4 end elseif msgcontains(msg:lower(), 'rats') and talkState[talkUser] == 4 then if getPlayerStorageValue(cid, config.idiom) == 1 then selfSay('Okay, so help us get this over with and kill 10 rats in the gutter in front here.', cid) setPlayerStorageValue(cid, strg1, 1) talkState[talkUser] = 0 elseif getPlayerStorageValue(cid, config.idiom) == 2 then selfSay('Ok, então ajuda-nos a acabar com isso e mate 10 ratos no bueiro aqui na frente.', cid) setPlayerStorageValue(cid, strg1, 1) talkState[talkUser] = 0 end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  3. Summ postou uma resposta no tópico em Playground (Off-topic)
    eu já tive esse problema é só comprar gasolina jogar em cima do pc e dps acender um fósforo e jogar em cima, problema resolvido
  4. Tentei compreender o que tu tava tentando fazer no script e fiz esse : local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) npcHandler.topic = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if not npcHandler:isFocused(cid) then return false end local msg = msg:lower() local config = { strg1 = 200201, -- storage começando a task strg2 = 91001, -- storage finalizou a task (ganha qnd matar os monstros) strg3 = 8971 } if msgcontains(msg, "task") then if getPlayerStorageValue(cid, config.strg2) < 1 then if getPlayerStorageValue(cid, config.strg1) < 1 then if getPlayerStorageValue(cid, config.strg3) == 1 then npcHandler:say("Good one more coming soul of {portal}! Welcome, I hope you can help!", cid) npcHandler.topic[cid] = 1 elseif getPlayerStorageValue(cid, config.strg3) == 2 then npcHandler:say("Que bom mais uma alma vinda do {portal}! Seja bem vindo, espero que possa nos ajudar!.", cid) npcHandler.topic[cid] = 1 end else npcHandler:say("you have to finish the task", cid) npcHandler.topic[cid] = 0 end else npcHandler:say("Voce concluiu a missao, tome aqui um Sabre, use ele ate chegar no nivel 8 e fale com o Oraculo no templo!", cid) npcHandler:say("Ele ira te mandar para Aurea, la fale com !", cid) doPlayerAddItem(cid, 2385, 1) npcHandler.topic[cid] = 0 end elseif msgcontains(msg, "portal") and npcHandler.topic[cid] == 1 then if getPlayerStorageValue(cid, config.strg3) == 1 then npcHandler:say("Crystal angel one came down here and Aurea and opened a portal of humans who comes from another dimension for us {save}.", cid) npcHandler.topic[cid] = 2 elseif getPlayerStorageValue(cid, config.strg3) == 2 then npcHandler:say("Crystal uma anja desceu até aqui e em Aurea e abriu um portal de humanos que vem de outra dimensão para nós {salvar}.", cid) npcHandler.topic[cid] = 2 end elseif msgcontains(msg, "salvar") or msgcontains(msg, "save") and npcHandler.topic[cid] == 2 then if getPlayerStorageValue(cid, config.strg3) == 1 then npcHandler:say("We are in an apocalyptic world, at war with several races. And you can be! {the chosen}", cid) npcHandler.topic[cid] = 3 elseif getPlayerStorageValue(cid, config.strg3) == 2 then npcHandler:say("Estamos em um mundo apocalíptico, em guerra com varias raças. E voce pode ser o {escolhido}!", cid) npcHandler.topic[cid] = 3 end elseif msgcontains(msg, "escolhido") or msgcontains(msg, "the chosen") and npcHandler.topic[cid] == 3 then if getPlayerStorageValue(cid, config.strg3) == 1 then npcHandler:say("Congratulations, now with permission.", cid) npcHandler:say("Such as our plague of {rats} in the city that are climbing down the drain!", cid) npcHandler.topic[cid] = 4 elseif getPlayerStorageValue(cid, config.strg3) == 2 then npcHandler:say("Calma primeiro precisamos treinar, voce deve nos ajudar com coisas {simples}, ate estar bem treinado!", cid) npcHandler:say("Como por exemplo a nossa praga de {rats} na cidade que estão subindo pelos bueiros!", cid) npcHandler.topic[cid] = 4 end elseif msgcontains(msg, "rats") and npcHandler.topic[cid] == 4 then if getPlayerStorageValue(cid, config.strg3) == 1 then npcHandler:say("Okay, so help us get this over with and kill 10 rats in the gutter in front here.", cid) setPlayerStorageValue(cid, strg1, 1) npcHandler.topic[cid] = 0 elseif getPlayerStorageValue(cid, config.strg3) == 2 then npcHandler:say("Ok, então ajuda-nos a acabar com isso e mate 10 ratos no bueiro aqui na frente.", cid) setPlayerStorageValue(cid, strg1, 1) npcHandler.topic[cid] = 0 end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  5. Primeiramente o artigo não é meu só achei interessante e pensei em compartilhar com vocês, o autor se chama William Bruno. Link Original : http://wbruno.com.br/opiniao/diferenca-entre-cara-programa-um-programador/ O ato de escrever códigos te faz ser um cara que programa, mas não necessariamente um programador. Okay, eu “inventei” agora a diferença entre esses termos. Digamos que ambos cumprem o papel e resolvem o problema. A diferença está na forma de pensar deles. Existem diversas maneiras de se chegar a um mesmo resultado. Umas mais claras, diretas, outras mais bonitas, elegantes, as vezes nebulosas, cheias de voltas e emaranhados, boas ou ruins. Apesar do peso de subjetividade que esses termos carregam. Na minha opinião, um bom código é aquele que, chega onde deve chegar, sendo este legível aos envolvidos, e aqueles que não sabem do que se trata. -> Bom em performance; -> Sem rotinas confusas ou desnecessárias(as famosas gorduras); -> Bem indentado e organizado. Apenas isso. Simples e objetivo. Toda a comunidade, conhece ou deveria conhecer os conceitos que citei. (Keep It Simple, Faça o Simples que Funcione, Você não vai precisar disso, Don’t Repeat Yourself…) Não quero me alongar sobre cada um deles. O meu ponto é: “Um CQP [Cara Que Programa], não leva ou nem sempre leva em consideração estas ‘máximas’.” Já um VP [Verdadeiro Programador], possui esses conceitos incorporados a ele. Na forma de pensar, na maneira de codificar. Para um Programador, é natural, para o CQP, ainda não é. Todos sofremos pressão, temos prazos apertados, situações difíceis… Este é o nosso mundo. A agência ou empresa, pode lhe dizer que é tranquilo, que são pacientes, que os prazos são legais, e tudo mais.. Porém faz parte da arte de programar. Cedo ou tarde, mais ou menos vezes, nos deparamos com algo urgente e impossível, para ontem. Um programador resolve da melhor forma possível, enxergando na frente, o outro faz apenas para se ver livre, e entregar logo. O erro aqui, é que depois aquele monstrinho volta, e nem sempre podemos ou temos tempo de refazer ou corrigir. Dai surgem as cabeças dos nossos monstros. Duas, Três, Sete… a tendência é piorar. Começou errado, por preguiça, falta de conhecimento, mal planejamento, ego… Um CQP, acha que sabe tudo, ou não se importa de não saber, e nem tenta. Um VP, tenta saber, sempre busca melhorar, aceita analisando as críticas recebidas, e gosta do que faz. Fazer bem feito lhe deixa feliz, o contrário lhe incomoda. O melhor programador não é aquele que complica mais. Códigos de linguagens alto nível, devem ser escritos por humanos e para humanos. As máquinas entendem, tanto códigos bem escritos, quanto códigos ruins, mas e você no futuro ? e o outro programador ? Acho que todos nós já demos continuidade no trabalho de alguém. Já vimos scripts porcos, e outros bem feitos. Quando alguém pegar um trabalho nosso, vamos tentar ser aquele que não será xingado, e nem fez o outro programador perder horas e horas, entendendo as loucuras que fizemos. Se faça essa pergunta. O que você é? Qual dos dois?
  6. local config = { daily = "no", MinLevel = 20, MaxLevel = 30, storage = 7007 } function onUse(cid, item, frompos, item2, topos) if item.uid == 7007 and item.itemid == 1945 then player1pos = {x=1104, y=1054, z=8, stackpos=253} player1 = getThingfromPos(player1pos) player2pos = {x=1105, y=1054, z=8, stackpos=253} player2 = getThingfromPos(player2pos) player3pos = {x=1106, y=1054, z=8, stackpos=253} player3 = getThingfromPos(player3pos) player4pos = {x=1107, y=1054, z=8, stackpos=253} player4 = getThingfromPos(player4pos) if player1.itemid > 0 and player2.itemid > 0 and player3.itemid > 0 and player4.itemid > 0 then if getPlayerLevel(cid) >= config.MinLevel and getPlayerLevel(cid) <= config.MaxLevel then queststatus1 = getPlayerStorageValue(player1.uid,7007) queststatus2 = getPlayerStorageValue(player2.uid,7007) queststatus3 = getPlayerStorageValue(player3.uid,7007) queststatus4 = getPlayerStorageValue(player4.uid,7007) if queststatus1 == -1 and queststatus2 == -1 and queststatus3 == -1 and queststatus4 == -1 then nplayer1pos = {x=1146, y=1228, z=8} nplayer2pos = {x=1147, y=1228, z=8} nplayer3pos = {x=1149, y=1228, z=8} nplayer4pos = {x=1150, y=1228, z=8} doSendMagicEffect(player1pos,2) doSendMagicEffect(player2pos,2) doSendMagicEffect(player3pos,2) doSendMagicEffect(player4pos,2) doTeleportThing(player1.uid,nplayer1pos) doTeleportThing(player2.uid,nplayer2pos) doTeleportThing(player3.uid,nplayer3pos) doTeleportThing(player4.uid,nplayer4pos) doSendMagicEffect(nplayer1pos,10) doSendMagicEffect(nplayer2pos,10) doSendMagicEffect(nplayer3pos,10) doSendMagicEffect(nplayer4pos,10) doTransformItem(item.uid,item.itemid+1) else doPlayerSendCancel(cid,"Alguém em sua equipe já fez essa quest.") end else doPlayerSendTextMessage(cid, 19, "You no have level") end else doPlayerSendCancel(cid,"Você precisa de quatro jogadores para esta quest.") end elseif item.uid ==7007 and item.itemid == 1946 then if getPlayerAccess(cid) > 0 then doTransformItem(item.uid,item.itemid-1) else doPlayerSendCancel(cid,"Desculpe, não é possível.") end else return 0 end return 1 end Foi um erro bobo HAUSHAU, quando eu fui perceber o que tinha feito e vim corrigir tu já tinha postado.
  7. local config = { daily = "no", MinLevel = 20, MaxLevel = 30, storage = 7007 } function onUse(cid, item, frompos, item2, topos) if item.uid == 7007 and item.itemid == 1945 then player1pos = {x=1104, y=1054, z=8, stackpos=253} player1 = getThingfromPos(player1pos) player2pos = {x=1105, y=1054, z=8, stackpos=253} player2 = getThingfromPos(player2pos) player3pos = {x=1106, y=1054, z=8, stackpos=253} player3 = getThingfromPos(player3pos) player4pos = {x=1107, y=1054, z=8, stackpos=253} player4 = getThingfromPos(player4pos) if player1.itemid > 0 and player2.itemid > 0 and player3.itemid > 0 and player4.itemid > 0 then if getPlayerLevel(cid) >= config.MinLevel or getPlayerLevel(cid) <= config.MaxLevel then queststatus1 = getPlayerStorageValue(player1.uid,7007) queststatus2 = getPlayerStorageValue(player2.uid,7007) queststatus3 = getPlayerStorageValue(player3.uid,7007) queststatus4 = getPlayerStorageValue(player4.uid,7007) if queststatus1 == -1 and queststatus2 == -1 and queststatus3 == -1 and queststatus4 == -1 then nplayer1pos = {x=1146, y=1228, z=8} nplayer2pos = {x=1147, y=1228, z=8} nplayer3pos = {x=1149, y=1228, z=8} nplayer4pos = {x=1150, y=1228, z=8} doSendMagicEffect(player1pos,2) doSendMagicEffect(player2pos,2) doSendMagicEffect(player3pos,2) doSendMagicEffect(player4pos,2) doTeleportThing(player1.uid,nplayer1pos) doTeleportThing(player2.uid,nplayer2pos) doTeleportThing(player3.uid,nplayer3pos) doTeleportThing(player4.uid,nplayer4pos) doSendMagicEffect(nplayer1pos,10) doSendMagicEffect(nplayer2pos,10) doSendMagicEffect(nplayer3pos,10) doSendMagicEffect(nplayer4pos,10) doTransformItem(item.uid,item.itemid+1) else doPlayerSendCancel(cid,"Alguém em sua equipe já fez essa quest.") end else doPlayerSendTextMessage(cid, 19, "You no have level") end else doPlayerSendCancel(cid,"Você precisa de quatro jogadores para esta quest.") end elseif item.uid ==7007 and item.itemid == 1946 then if getPlayerAccess(cid) > 0 then doTransformItem(item.uid,item.itemid-1) else doPlayerSendCancel(cid,"Desculpe, não é possível.") end else return 0 end return 1 end
  8. Summ postou uma resposta no tópico em Suporte & Pedidos
    Versão 8.6 ? Acompanhando o projeto
  9. if tempo == '50' then aqui você disse que se tempo for igual a string/texto '50' então ele iria executar uma ação, mas ... tu usou uma variável "tempo" e não definiu o valor dela. tempo = '50' -- Entre aspas simples '' ou aspas duplas "" o valor se torna um string/texto ... tempo = '50' -- Valor da variável ... lembre-se por estar entre aspas ela é uma string/texto if tempo == '50' then assim seria o modo correto. tempo = '50' if tempo == '50' then print('Congratulations') else print('Sorry hold up '.. tempo ..'s') end tempo = 1 repeat print(tempo) tempo = tempo + 1 until tempo == 50 Recomendo ver esses vídeos são 17 no total : https://www.youtube.com/playlist?list=PLqYboeh3Jru55Yq4J08zsBoOwwwjUtZNA O cara explica muito bem, ficando assim mais fácil de entender, após ver os 17 vídeos você vai ter uma noção básica pra começar a brincar com lua.
  10. Recomendo voltar um pouco e ler sobre os if , else, then, não vi sentido no seu código mas imaginei o que tu tava tentando fazer : tempo = 5 if tempo == 5 then print('boa cara') else print('você não chegou a o tempo exato') end while tempo < 50 do tempo = tempo + 1 print(tempo) end repeat tempo = tempo + 1 print(tempo) until tempo == 50
  11. am ? como assim os criadores não recomenda ? o tfs tem seu melhor desempenho em Debian, não vou citar quais são os pontos positivos porque 5 minutos de google basta pra ver isso. o melhor tutorial de debian que tem no fórum é esse http://www.tibiaking.com/forum/topic/44389-linux-montando-otserver-em-debian-perfeito/pode seguir os passos normalmente que ira funcionar na versão debian 6 também.
  12. Summ postou uma resposta no tópico em Playground (Off-topic)
    @Bruno Minervino
  13. ALTER TABLE guilds ADD checkdata INT(11) NOT NULL DEFAULT 0;
  14. Summ postou uma resposta no tópico em Playground (Off-topic)
    Só uma dica na próxima vez tu cria o tópico na area de programação porque se criar aqui no playground nego só vai levar na zoera e assim evita os comentários desnecessários das crianças
  15. arrumado : http://pastebin.com/rGZ6qPnD se funcionar marque como melhor resposta pro tópico ficar como resolvido.
  16. Arquivo editado... falta de atenção minha http://pastebin.com/rGZ6qPnD
  17. Não sei o porque de não funcionar com o for sendo que o valor retorna normal aqui no meu scite, então fiz o npc sem o uso do for (do jeito que eu não queria) ... mas pelo menos vai funcionar 100%. Coloquei o código no pastebin por motivos de organização. http://pastebin.com/rGZ6qPnD é o mesmo código só que no hastebin. http://hastebin.com/gademoyuka.vhd
  18. Summ postou uma resposta no tópico em Ouvidoria
    up
  19. ALTER TABLE players ADD frags_all INT(11) NOT NULL DEFAULT 0;
  20. Summ postou uma resposta no tópico em Eventos de Mapping
    seria bom falar de quem era o mapa 1 e o 2 ... se bem que acho que o 1 é do daniel rsrsrsr
  21. Summ postou uma resposta no tópico em Suporte Tibia OTServer
    Palavras do elwyn : Antes de usar o math.random() usa o math.randomseed(os.time()). Sobre o porquê de ser assim: Computadores não geram nada realmente aleatório. O que o math.random faz é pegar um numero para usar como base para gerar outros números. Se o número que ele pega, o chamado seed, for sempre igual, então ele vai gerar números sempre iguais. if getCreatureOutfit(cid).lookType == 511 then roupas = {437, 438, 439, 440} else roupas = {43, 43, 49, 40} end math.randomseed(os.time()) doCreatureChangeOutfit(pk[a], {lookType = roupas[math.random(#roupas)]})
  22. usa seus contatos Robert Downey Jr. que talvez tu descubra HAUSHUAHSUAUHS heuheuheuhe
  23. seu avatar ? HAUSHUAHSUAHUSHAUHAHSUAHUSHAUSHUAHSUAHUSHAUSHUAHSUAHUSHAUSHUAHSUAHUSHAUSHUAHSUAHUSHAUSH desculpa aew Robert Downey Jr.
  24. Boa comedinhas muito boa a entrevista lobão = @xWhiteWolf Entrevista o lobão agr.

Informação Importante

Confirmação de Termo