-
Total de itens
1339 -
Registro em
-
Última visita
-
Dias Ganhos
21
Tudo que Caronte postou
-
,
-
Claro. O for um pairs() desmembra uma tabela através de duas variáveis, no caso K e V, eu tô acostumado a usar K e V porque elas dizem o que são (KEY e VALUE) no caso KEY seria o índice, VALUE seria o que está dentro do índice. Exemplo: local t = {[1] = {1, 2, 3}, [2] = {4, 5, 6} } for k, v in pairs(t) do print(k, v) end Aqui será retornado os seguintes elementos: 1 e {1, 2, 3} 2 e {4, 5, 6} No caso do getOnlinePlayers, eu fiz isso porque essa função retorna uma tabela, com índices númericos que representam o Id de cada player online, que seria o K do for. Já o V, se não me engano é o nome. Logo a tabela seria algo assim Online = {[173726437] = "Caronte"} Tem o ipairs também, que em vez de retornar o índice, retorna a posição se não me engano. Qualquer dúvida só perguntar de novo
-
pedido Magia que invoca monstros por 5 segundos.
pergunta respondeu ao ShinySprite de Caronte em Scripts
function onCastSpell(cid, var) local tempo = 5 local monstro1 = doSummonCreature("Demon", getThingPos(cid)) local monstro2 = doSummonCreature("Demon", getThingPos(cid)) local monstro3 = doSummonCreature("Demon", getThingPos(cid)) doConvinceCreature(cid, monstro1) doConvinceCreature(cid, monstro2) doConvinceCreature(cid, monstro3) addEvent( function() doRemoveCreature(monstro1) doRemoveCreature(monstro2) doRemoveCreature(monstro3) end, 1000 * tempo) return true end <instant name="Summon Monster" words="xtibia" lvl="8" mana="20" prem="0" exhaustion="2000" event="script" value="attack/test.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="5"/> <vocation id="6"/> </instant> -
function onThink() local tab {-- Siga o exemplo: --[hora] = {[itemid] = quantidade}, [1] = {[2160] = 10, [2161] = 20}, [2] = {[2162] = 30, [2163] = 40}, } for k, v in pairs(getOnlinePlayers()) do for i = #tab, 0 in pairs(tab) do -- 1 = hora inicial para receber, caso mudar acima, mudar aqui também if tab[i] and (os.time() - getCreatureStorage(cid, 5412) / 360000) > i then for item, count in pairs(tab[i]) doPlayerAddItem(k, item, count) end if tab[i] == tab[#tab] and (os.time() - getCreatureStorage(cid, 5412) / 360000) > i then doCreatureSetStorage(cid, 5412, 0) end break return true end end end return true end aaa só adicionando: doCreatureSetStorage(cid, 5412, 0) vai fazer ele parar de receber, até logar novamente. doCreatureSetStorage(cid, 5412, os.time()) vai fazer ele voltar do inicio da tabela de prêmios, ou seja, se ele chegar ao 500 e 500 for o último, ele vai voltar ao 1...
-
Eu até jogaria, mas meu PC tá com placa de vídeo fudida, aí fica dando quebra de frame, é quase nada, mas faz uma baita diferença na hora da mira, toda vez que fica sem a quebra, eu tiro top 3...
-
Acho que sim, se acontecer, você manda uma resposta, eu dou umas editadas.
-
Vá em seu login.lua, e em baixo de: if(lastLogin > 0) then adicione: doCreatureSetStorage(cid, 5412, os.time()) agora crie um arquivo.lua na mesma pasta do login.lua, e adicione isto dentro: function onLogout(cid) doCreatureSetStorage(cid, 5412, 0) return true end vá em data/creaturescripts/creaturescripts.xml adicione esta tag: <!-- nao se esqueca de colocar o nome do seu arquivo --> <event type="logout" name="ResetTime" event="script" value="arquivo.lua"/> Agora vá para pasta globalevents/scripts e crie um arquivo.lua adicione dentro: function onThink() local tab {-- Siga o exemplo: --[hora] = {id do item, quantidade}, [1] = {2160, 10}, [2] = {2160, 20}, } for k, v in pairs(getOnlinePlayers()) do for i = #tab, 0 do -- 1 = hora inicial para receber, caso mudar acima, mudar aqui também if tab[i] and (os.time() - getCreatureStorage(cid, 5412) / 60*60) > i then doPlayerAddItem(k, tab[i][1], tab[i][2]) if tab[i] == tab[#tab] and (os.time() - getCreatureStorage(cid, 5412) / 60*60) > i then doCreatureSetStorage(cid, 5412, os.time()) end break return true end end end return true end em globalevents.xml adicione: globalevent name="CheckTimePrize" interval="60000" event="script" value="arquivo.lua"/> PS: editei umas coisinhas, que adicionei.
-
Show Off Jeer Pokémon Perspective 45º
tópico respondeu ao jeerenato de Caronte em Exposições (Show Off)
Gostei.. porém o Machamp ficou magrelo e raquítico. -
Poste seu tools/rope.lua
-
Não sei para que isso tudo, o player que deslogar não tem nenhuma intenção em fazer a hunt. se ele clicou no item é porque ele quer fazer a hunt..., fiz isso só para ninguém burlar. @@Danihcv, não se esqueça que a variável tempo não está no login.lua huehehueehu, já ia falar. Bom como meu nome é Daniel, vou responder essa: o os.time() é uma função que quando você chama ela sem parametros ela retornar números que significam uma data, só que codificados, e mudam a cada segundo... Veja aqui: http://www.lua.org/pil/22.1.html
-
local storage = 79845 --storage para o exhaustion local tempo = 5 --em segundos local monsters = { [1] = {summons = {["rat"] = {level = 10, mana = 20}, ["dragon"] = {level = 100, mana = 200} }, maxSummons = 2 }, [2] = {summons = {["rat"] = {level = 10, mana = 20}, ["dragon"] = {level = 100, mana = 200} }, maxSummons = 4 }, [5] = {summons = {["rat"] = {level = 10, mana = 20}, ["dragon"] = {level = 100, mana = 200} }, maxSummons = 4 }, [6] = {summons = {["rat"] = {level = 10, mana = 20}, ["dragon"] = {level = 100, mana = 200} }, maxSummons = 6 }, } function onSay(cid, words, param, channel) if exhaustion.check(cid, storage) then doPlayerSendTextMessage(cid, 22, "You are exhausted.") return true end --Player Status local playerpos = getPlayerPosition(cid) param = string.lower(param) local loop = 0 function checkSummon() for k, v in pairs(monsters[getPlayerVocation(cid)].summons) do if param == k then return true end end return false end if not checkSummon() then doPlayerSendCancel(cid, "You can't summon this monster.") return true end for k, v in pairs(monsters[getPlayerVocation(cid)].summons) do loop = loop + 1 if (param == k) then if (monsters[getPlayerVocation(cid)]) and #getCreatureSummons(cid) >= monsters[getPlayerVocation(cid)].maxSummons then return doPlayerSendCancel(cid, "Você já tem sumons demais.") else --Summon if getPlayerLevel(cid) < v.level then return doPlayerSendCancel(cid, "Level insuficiente.") elseif getCreatureMana(cid) < v.mana then return doPlayerSendCancel(cid, "Mana insuficiente.") end doConvinceCreature(cid, doCreateMonster(param, playerpos)) doPlayerAddMana(cid, -v.mana, false) exhaustion.set(cid, storage, tempo) doSendMagicEffect(playerpos, 2) return true end end end return true end
-
é só colocar assim: local tempo = 10 * 60 os 10 são os minutos.
-
Sim, levará. o tempo eu tinha esquecido de colocar ali em cima, mas já editei, é só configurar os segundos lá.
-
Vá em actions/scripts e adicione isto: local position = {x = 123, y = 456, z = 7} local templepos = {x = 123, y = 456, z = 7} local tempo = 10 function onUse(cid) doTeleportThing(cid, position) doCreatureSetStorage(cid, 5834, 1) addEvent( function() doTeleportThing(cid, templepos) doPlayerSendTextMessage(cid, 22, "Seu tempo acabou, e foi transportado de volta ao templo!") doCreatureSetStorage(cid, 5834, -1) end, 1000 * tempo) return true end agora vá em actions.xml e adicione isto: <action itemid="1234" event="script" value="arquivo.lua"/> mude o itemid, para o id do seu item... Importante, para que os players não desloguem e deixem de ser teleportados: vá em creaturescripts/scripts/login.lua Abra o arquivo e depois de: function onLogin(cid) adicione: if getCreatureStorage(cid, 5834) == 1 then doCreatureSetStorage(cid, 5834, -1) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) end
-
games Por quê o Tibia (CipSoft) nunca cresceu?
tópico respondeu ao SkyDangerous de Caronte em Notícias e Discussões - Tibia Global
Cresceu até certo ponto né. O que ele quis dizer é: Porque tibia não tem futuro? kkkkkk -
Sim, só copiar a tabela do monstro, e colocar no final, com uma vírgula separando: {["rat"] = {level = 10, mana = 20}, é só colocar dentro da tabela summons. vou editar um negócio no meu post, é que o script só vai funcionar se o parametro estiver em minúsculo. quando eu editar você substitui lá.
-
local storage = 79845 --storage para o exhaustion local tempo = 5 --em segundos local monsters = { [1] = {summons = {["rat"] = {level = 10, mana = 20}, ["dragon"] = {level = 100, mana = 200} }, maxSummons = 2 }, [2] = {summons = {["rat"] = {level = 10, mana = 20}, ["dragon"] = {level = 100, mana = 200} }, maxSummons = 4 }, [5] = {summons = {["rat"] = {level = 10, mana = 20}, ["dragon"] = {level = 100, mana = 200} }, maxSummons = 4 }, [6] = {summons = {["rat"] = {level = 10, mana = 20}, ["dragon"] = {level = 100, mana = 200} }, maxSummons = 6 }, } function onSay(cid, words, param, channel) if exhaustion.check(cid, storage) then doPlayerSendTextMessage(cid, 22, "You are exhausted.") return true end --Player Status local playerpos = getPlayerPosition(cid) param = string.lower(param) for k, v in pairs(monsters[getPlayerVocation(cid)].summons) do if (param == k)then if (monsters[getPlayerVocation(cid)]) and #getCreatureSummons(cid) >= monsters[getPlayerVocation(cid)].maxSummons then return doPlayerSendCancel(cid, "Você já tem sumons demais.") else --Summon if getPlayerLevel(cid) < v.level then return doPlayerSendCancel(cid, "Level insuficiente.") elseif getCreatureMana(cid) < k.mana then return doPlayerSendCancel(cid, "Mana insuficiente.") end doConvinceCreature(cid, doCreateMonster(param, playerpos)) doPlayerAddMana(cid, -k.mana, false) exhaustion.set(cid, storage, tempo) doSendMagicEffect(playerpos, 2) return true end else doPlayerSendCancel(cid, "You can't summon this monster.") end end return true end
-
grátis?? kkkkkkk
-
tibia global Gabknight e Thyn Zare
tópico respondeu ao Gabriel Couto de Caronte em Exposições de Characters
Pô, @@Gabriel Couto, maneiro, só não vou poder ver porque estou sem caixa de som aqui. (achei o fone) mas apoio e gostaria de assistir depois... kkkkk, o cara não sabe nem pronunciar o nome do próprio character.... vou dar like lá no youtube pesquisei sobre aquela porra nova que você viu.... são vários ranks... http://www.tibiabr.com/2015-01-27-apresentando-o-sistema-de-lealdade-tibiano +1 nota: não é spider sword, e sim, serpent sword kkkkk -
@, coloque no seu título o que seu tópico trata, porque assim dificulta o entendimento dos usuários, e consequentemente, dificulta a resolução do seu problema...
-
Só para dar um up. não é a melhor música, mas para mim, qualquer música que eu gosto é muito boa, música é a melhor coisa que o homi inventou...
-
Seria lindo tudo voltar como era antes... só que não temos ainda uma maquina do tempo. Antes era muuuuuito bom jogar tibia.
-
@@valakas, aqui não é área para suporte, por favor, poste na área correta, vou mover para ela. Tópico Movido Este tópico foi movido de "OTServ → Scripting → Downloads Scripts → Globalevents, spells e creatureevents" para "OTServ → Scripting → Suporte Scripting".
-
Bom, próximo de vinte, fazendo uma regra de três é 66, então: é só você fazer um script onEquip e outro onDeEquip. no onEquip, coloca isto: function onEquip(player) player:setDodgeLevel(player:getDodgeLevel() + 66) return true end no onDeEquip, coloca isto: function onDeEquip(player) player:setDodgeLevel(player:getDodgeLevel() - 66) return true end Ambos os scripts devem se colocados na pasta scripts, da pasta movements, e devem conter extensão .lua agora abra o movements.xml na pasta movements e adicione duas tags: <movevent type="Equip" itemid="ID_DA_BOTA_AQUI" slot="feet" event="script" value="nome do arquivo.lua"/> <movevent type="DeEquip" itemid="ID_DA_BOTA_AQUI" slot="feet" event="script" value="nome do arquivo.lua"/> Em lugar nenhum, você tem que criar... [titulo][/titulo] @Tópico: Bom script @Bruno, parabéns.
-
:drunk: Feliz ano novo, que esse ano seja tão produtivo que 2015 fique no chinelo. são os meus votos para toda comunidade XTibia!
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.