-
Total de itens
88 -
Registro em
-
Última visita
Tudo que WillOliveira postou
-
Coloquei uniqueid 4012 no itemid 1724 pelo map editor e fiz o seguinte script: function onUse(cid, item, fromPosition, itemEx, toPosition) if itemEx.uid == 4012 then if getPlayerStorageValue(cid, 8999) >= 1 then doPlayerSendTextMessage(cid, 22, "Você já fez essa quest.") return true end doSendMagicEffect(toPosition, 2) doTransformItem(4012, 2255) doCreateItem(2553, 1, toPosition) doPlayerSetStorageValue(cid, 8999, 1) addEvent(doTransformItem, 180000, 4012, 1724) end end Tag actions.xml: <action itemid="7242" script="quests/pickqom.lua" /> Quando uso o itemid 7242 no item de uid 4012 o item não transforma. O itemid 2553 que coloquei pra ser criado e o effect que coloquei no script funcionam, mas a função doTransformItem não, por que será? Eu pesquisei na otland e alguns usuários de lá tem o mesmo problema, testei o script no TFS 0.3.6 pl1 e no TFS 0.4 A1 e não funcionou em nenhum dos dois. Eu li na otland que em algumas distros a função só transforma paredes e tiles, outros tipos de item não, mas testei a função até no TFS 0.4 A1 e não funcionou, por que será? Rep+ pra quem me ajudar.
-
Como faço pra criar um item que venha com um unique id? Por exemplo: local pos = {x = 94, y = 129, z = 7} function onUse(cid, item, fromPosition, itemEx, toPosition) doCreateItem(1491, 1, pos) end Queria que ao criar o itemid 1491 ele viesse com um unique id que eu estabelecerei, pensei em usar a função doItemSetAttribute, será que dá certo? Se sim, que parâmetros uso nela? Rep+ pra quem ajudar.
-
Se quiser me adicionar no skype, eu tiro as duvidas que você tiver: willians.oliveira@live.com
-
Acho que não tem necessidade de você contratar um professor, leia e estude as aulas da Escolinha de Script aqui do fórum e o resto é só praticando mesmo, testando as funções etc
-
Não é o tempo desde que o script foi iniciado?
- 9 respostas
-
- explicação da função os.clock
- resolvido
- (e 1 mais)
-
Retorna esse tempo em segundos?
- 9 respostas
-
- explicação da função os.clock
- resolvido
- (e 1 mais)
-
Bem criativo...
-
Alguém pode explicar o que a função os.clock() faz e dar um exemplo de algum script que usa ela? rep+
- 9 respostas
-
- explicação da função os.clock
- resolvido
- (e 1 mais)
-
Esse tutorial não ensina como transformar x quantidade de um item em y quantidade de outro item
-
Eu sei fazer transformar x quantidade de um item em x quantidade de outro item, não sei fazer transformar x quantidade de um item em y quantidade de outro item
-
Tonynh Alexclusive Mophus
-
pedido Arrumar script stone life/stone mana
pergunta respondeu ao luccagomes de WillOliveira em Scripts
Ta ai: lifestone.lua: function onUse(cid, item, frompos, item2, topos) local cargas = 50 -- Aqui você coloca quantas vezes o player pode usar a pedra local bonus = 10 -- Aqui você coloca quanto de life o player vai ter a mais quando usar a pedra if getPlayerStorageValue(cid, 8085) >= cargas then doPlayerSendTextMessage(cid,26,"Você não pode mais usar este item.") return true end if getPlayerStorageValue(cid, 8085) == -1 then doPlayerSetStorageValue(cid, 8085, 0) end if getPlayerStorageValue(cid, 8085) >= 0 and getPlayerStorageValue(cid, 8085) < cargas-2 then doPlayerSetStorageValue(cid, 8085, getPlayerStorageValue(cid, 8085)+1) doPlayerSendTextMessage(cid, 22, "Você pode usar este item mais "..math.abs(getPlayerStorageValue(cid, 8085)-cargas).." vezes.") setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+bonus) doPlayerSendTextMessage(cid,22,"Você ganhou mais "..bonus.." de vida.") doSendMagicEffect(topos,35) doRemoveItem(item.uid) elseif getPlayerStorageValue(cid, 8085) == cargas-2 then doPlayerSetStorageValue(cid, 8085, getPlayerStorageValue(cid, 8085)+1) doPlayerSendTextMessage(cid, 22, "Você pode usar este item mais "..math.abs(getPlayerStorageValue(cid, 8085)-cargas).." vez.") setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+bonus) doPlayerSendTextMessage(cid,22,"Você ganhou mais "..bonus.." de vida.") doSendMagicEffect(topos,35) doRemoveItem(item.uid) else doPlayerSetStorageValue(cid, 8085, getPlayerStorageValue(cid, 8085)+1) setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+bonus) doPlayerSendTextMessage(cid,22,"Você ganhou mais "..bonus.." de vida.") doSendMagicEffect(topos,35) doRemoveItem(item.uid) end end manastone.lua: function onUse(cid, item, frompos, item2, topos) local cargas = 50 -- Aqui você coloca quantas vezes o player pode usar a pedra local bonus = 10 -- Aqui você coloca quanto de mana o player vai ter a mais quando usar a pedra if getPlayerStorageValue(cid, 8086) >= cargas then doPlayerSendTextMessage(cid,26,"Você não pode mais usar este item.") return true end if getPlayerStorageValue(cid, 8086) == -1 then doPlayerSetStorageValue(cid, 8086, 0) end if getPlayerStorageValue(cid, 8086) >= 0 and getPlayerStorageValue(cid, 8086) < cargas-2 then doPlayerSetStorageValue(cid, 8086, getPlayerStorageValue(cid, 8086)+1) doPlayerSendTextMessage(cid, 22, "Você pode usar este item mais "..math.abs(getPlayerStorageValue(cid, 8086)-cargas).." vezes.") setCreatureMaxMana(cid, getCreatureMaxMana(cid)+bonus) doPlayerSendTextMessage(cid,22,"Você ganhou mais "..bonus.." de mana.") doSendMagicEffect(topos,1) doRemoveItem(item.uid) elseif getPlayerStorageValue(cid, 8086) == cargas-2 then doPlayerSetStorageValue(cid, 8086, getPlayerStorageValue(cid, 8086)+1) doPlayerSendTextMessage(cid, 22, "Você pode usar este item mais "..math.abs(getPlayerStorageValue(cid, 8086)-cargas).." vez.") setCreatureMaxMana(cid, getCreatureMaxMana(cid)+bonus) doPlayerSendTextMessage(cid,22,"Você ganhou mais "..bonus.." de mana.") doSendMagicEffect(topos,1) doRemoveItem(item.uid) else doPlayerSetStorageValue(cid, 8086, getPlayerStorageValue(cid, 8086)+1) setCreatureMaxMana(cid, getCreatureMaxMana(cid)+bonus) doPlayerSendTextMessage(cid,22,"Você ganhou mais "..bonus.." de mana.") doSendMagicEffect(topos,1) doRemoveItem(item.uid) end end Da proxima vez detalhe melhor seu pedido... Espero ter ajudado -
Obrigado Roksas, duvida sanada, rep+
- 3 respostas
-
- explicação da função addevent
- resolvido
- (e 1 mais)
-
Gostaria de uma explicação da função addEvent, pra que ela serve, quais parâmetros devo usar nela, e um exemplo de um script em que eu poderia usar ela, gostaria de uma explicação detalhada, rep+ pra quem tirar todas essas duvidas
- 3 respostas
-
- explicação da função addevent
- resolvido
- (e 1 mais)
-
Tony e Omega
-
Fiz o script do jeito que você pediu. Para abrir o evento digite !opensurvivor e para fechar digite !closesurvivor (apenas o god pode abrir/fechar o evento). Quando o evento é aberto aparece uma mensagem em vermelho na tela avisando que o evento foi aberto. Em talkactions.xml adicione essas 3 tags: <talkaction log="yes" access="5" words="!opensurvivor" event="script" value="opensurvivor.lua"/> <talkaction log="yes" access="5" words="!closesurvivor" event="script" value="closesurvivor.lua"/> <talkaction words="!survivor" hide="yes" event="script" value="survivor.lua"/> Na pasta talkactions/scripts adicione os seguintes scripts com os respectivos nomes: opensurvivor.lua function onSay(cid, words, param, channel) setGlobalStorageValue(9085, 1) doBroadcastMessage("O evento Survivor foi aberto! Para participar digite !survivor") return true end closesurvivor.lua function onSay(cid, words, param, channel) setGlobalStorageValue(9085, 0) return true end survivor.lua local pos = { A = {x = 1, y = 2, z = 7}, B = {x = 3, y = 4, z = 7}, C = {x = 5, y = 6, z = 7}, D = {x = 7, y = 8, z = 7} } function onSay(cid, words, param, channel) if getGlobalStorageValue(9085) ~= 1 then doPlayerSendTextMessage(cid, 19, "O evento Survivor não está aberto.") return true end if getPlayerLevel(cid) < 80 then doPlayerSendTextMessage(cid, 19, "Você precisa de level 80 para participar deste evento.") elseif getPlayerLevel(cid) >= 80 and getPlayerLevel(cid) <= 150 then doTeleportThing(cid, pos.A) doSendMagicEffect(pos.A, 10) elseif getPlayerLevel(cid) >= 151 and getPlayerLevel(cid) <= 220 then doTeleportThing(cid, pos.B) doSendMagicEffect(pos.B, 10) elseif getPlayerLevel(cid) >= 221 and getPlayerLevel(cid) <= 320 then doTeleportThing(cid, pos.C) doSendMagicEffect(pos.C, 10) else doTeleportThing(cid, pos.D) doSendMagicEffect(pos.D, 10) end end Em local pos você coloca as posições das arenas. Espero ter ajudado
-
pedido Arrumar script stone life/stone mana
pergunta respondeu ao luccagomes de WillOliveira em Scripts
@Seagull Scripts das pedras finitas: lifestone.lua: function onUse(cid, item, frompos, item2, topos) local cargas = 50 -- Aqui você coloca quantas vezes o player pode usar a pedra local bonus = 10 -- Aqui você coloca quanto de life o player vai ter a mais quando usar a pedra if getPlayerStorageValue(cid, 8085) >= cargas then doPlayerSendTextMessage(cid,26,"Você não pode mais usar este item.") return true end if getPlayerStorageValue(cid, 8085) == -1 then doPlayerSetStorageValue(cid, 8085, 0) end if getPlayerStorageValue(cid, 8085) >= 0 and getPlayerStorageValue(cid, 8085) < cargas-2 then doPlayerSetStorageValue(cid, 8085, getPlayerStorageValue(cid, 8085)+1) doPlayerSendTextMessage(cid, 22, "Você pode usar este item mais "..math.abs(getPlayerStorageValue(cid, 8085)-cargas).." vezes.") setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+bonus) doPlayerSendTextMessage(cid,22,"Você ganhou mais "..bonus.." de vida.") doSendMagicEffect(topos,35) elseif getPlayerStorageValue(cid, 8085) == cargas-2 then doPlayerSetStorageValue(cid, 8085, getPlayerStorageValue(cid, 8085)+1) doPlayerSendTextMessage(cid, 22, "Você pode usar este item mais "..math.abs(getPlayerStorageValue(cid, 8085)-cargas).." vez.") setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+bonus) doPlayerSendTextMessage(cid,22,"Você ganhou mais "..bonus.." de vida.") doSendMagicEffect(topos,35) else doPlayerSetStorageValue(cid, 8085, getPlayerStorageValue(cid, 8085)+1) setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+bonus) doPlayerSendTextMessage(cid,22,"Você ganhou mais "..bonus.." de vida.") doSendMagicEffect(topos,35) doRemoveItem(item.uid) end end manastone.lua: function onUse(cid, item, frompos, item2, topos) local cargas = 50 -- Aqui você coloca quantas vezes o player pode usar a pedra local bonus = 10 -- Aqui você coloca quanto de mana o player vai ter a mais quando usar a pedra if getPlayerStorageValue(cid, 8086) >= cargas then doPlayerSendTextMessage(cid,26,"Você não pode mais usar este item.") return true end if getPlayerStorageValue(cid, 8086) == -1 then doPlayerSetStorageValue(cid, 8086, 0) end if getPlayerStorageValue(cid, 8086) >= 0 and getPlayerStorageValue(cid, 8086) < cargas-2 then doPlayerSetStorageValue(cid, 8086, getPlayerStorageValue(cid, 8086)+1) doPlayerSendTextMessage(cid, 22, "Você pode usar este item mais "..math.abs(getPlayerStorageValue(cid, 8086)-cargas).." vezes.") setCreatureMaxMana(cid, getCreatureMaxMana(cid)+bonus) doPlayerSendTextMessage(cid,22,"Você ganhou mais "..bonus.." de mana.") doSendMagicEffect(topos,1) elseif getPlayerStorageValue(cid, 8086) == cargas-2 then doPlayerSetStorageValue(cid, 8086, getPlayerStorageValue(cid, 8086)+1) doPlayerSendTextMessage(cid, 22, "Você pode usar este item mais "..math.abs(getPlayerStorageValue(cid, 8086)-cargas).." vez.") setCreatureMaxMana(cid, getCreatureMaxMana(cid)+bonus) doPlayerSendTextMessage(cid,22,"Você ganhou mais "..bonus.." de mana.") doSendMagicEffect(topos,1) else doPlayerSetStorageValue(cid, 8086, getPlayerStorageValue(cid, 8086)+1) setCreatureMaxMana(cid, getCreatureMaxMana(cid)+bonus) doPlayerSendTextMessage(cid,22,"Você ganhou mais "..bonus.." de mana.") doSendMagicEffect(topos,1) doRemoveItem(item.uid) end end -
Da uma olhada no meu posta la: http://www.xtibia.com/forum/topic/221570-arrumar-script-stone-lifestone-mana/?p=1564768
-
pedido Arrumar script stone life/stone mana
pergunta respondeu ao luccagomes de WillOliveira em Scripts
Fiz o script com contagem, quando o player usa a pedra mostra uma msg de mais quantas vezes ele pode usar, testei aqui e ta funcionando perfeitamente. Com esse script se o player usar 50 vezes a pedra e depois adquirir ela novamente, ele poderá usar mais 50 vezes e assim infinitamente. Se você quiser que seja impossivel usar a pedra depois que acabar a primeira, é só falar que eu edito o script. lifestone.lua: function onUse(cid, item, frompos, item2, topos) local cargas = 50 -- Aqui você coloca quantas vezes o player pode usar a pedra local bonus = 10 -- Aqui você coloca quanto de life o player vai ter a mais quando usar a pedra if getPlayerStorageValue(cid, 8085) == -1 then doPlayerSetStorageValue(cid, 8085, 0) end if getPlayerStorageValue(cid, 8085) >= 0 and getPlayerStorageValue(cid, 8085) < cargas-2 then doPlayerSetStorageValue(cid, 8085, getPlayerStorageValue(cid, 8085)+1) doPlayerSendTextMessage(cid, 22, "Você pode usar este item mais "..math.abs(getPlayerStorageValue(cid, 8085)-cargas).." vezes.") setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+bonus) doPlayerSendTextMessage(cid,22,"Você ganhou mais "..bonus.." de vida.") doSendMagicEffect(topos,35) elseif getPlayerStorageValue(cid, 8085) == cargas-2 then doPlayerSetStorageValue(cid, 8085, getPlayerStorageValue(cid, 8085)+1) doPlayerSendTextMessage(cid, 22, "Você pode usar este item mais "..math.abs(getPlayerStorageValue(cid, 8085)-cargas).." vez.") setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+bonus) doPlayerSendTextMessage(cid,22,"Você ganhou mais "..bonus.." de vida.") doSendMagicEffect(topos,35) else setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+bonus) doPlayerSendTextMessage(cid,22,"Você ganhou mais "..bonus.." de vida.") doSendMagicEffect(topos,35) doRemoveItem(item.uid) doPlayerSetStorageValue(cid, 8085, 0) end end manastone.lua: function onUse(cid, item, frompos, item2, topos) local cargas = 50 -- Aqui você coloca quantas vezes o player pode usar a pedra local bonus = 10 -- Aqui você coloca quanto de mana o player vai ter a mais quando usar a pedra if getPlayerStorageValue(cid, 8086) == -1 then doPlayerSetStorageValue(cid, 8086, 0) end if getPlayerStorageValue(cid, 8086) >= 0 and getPlayerStorageValue(cid, 8086) < cargas-2 then doPlayerSetStorageValue(cid, 8086, getPlayerStorageValue(cid, 8086)+1) doPlayerSendTextMessage(cid, 22, "Você pode usar este item mais "..math.abs(getPlayerStorageValue(cid, 8086)-cargas).." vezes.") setCreatureMaxMana(cid, getCreatureMaxMana(cid)+bonus) doPlayerSendTextMessage(cid,22,"Você ganhou mais "..bonus.." de mana.") doSendMagicEffect(topos,1) elseif getPlayerStorageValue(cid, 8086) == cargas-2 then doPlayerSetStorageValue(cid, 8086, getPlayerStorageValue(cid, 8086)+1) doPlayerSendTextMessage(cid, 22, "Você pode usar este item mais "..math.abs(getPlayerStorageValue(cid, 8086)-cargas).." vez.") setCreatureMaxMana(cid, getCreatureMaxMana(cid)+bonus) doPlayerSendTextMessage(cid,22,"Você ganhou mais "..bonus.." de mana.") doSendMagicEffect(topos,1) else setCreatureMaxMana(cid, getCreatureMaxMana(cid)+bonus) doPlayerSendTextMessage(cid,22,"Você ganhou mais "..bonus.." de mana.") doSendMagicEffect(topos,1) doRemoveItem(item.uid) doPlayerSetStorageValue(cid, 8086, 0) end end -
pedido Adicionar maximo de vezes de usar life e mana stone
pergunta respondeu ao luccagomes de WillOliveira em Scripts
Coloquei uma contagem, a cada vez que o player usa o item aparece uma msg de quantas cargas restam, pode usar que funciona sim: lifestone.lua: function onUse(cid, item, frompos, item2, topos) local cargas = 100 -- Aqui você coloca quantas vezes o player pode usar o item local sg = cargas+1 -- Não mecha aqui if getPlayerStorageValue(cid, 8085) == sg then doRemoveItem(item.uid) doPlayerSetStorageValue(cid, 8085, -1) end setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+10) -- Troque aqui a quantidade de sangue que vai adicionar doPlayerSendTextMessage(cid,22,"Você ganhou mais 10 de vida.") -- Entre as "" vc muda a msg doSendMagicEffect(topos,35) doPlayerSetStorageValue(cid, 8085, getPlayerStorageValue(cid, 8085)+1) doPlayerSendTextMessage(cid, 22, "Você pode usar este item mais "..math.abs(getPlayerStorageValue(cid, 8085)-cargas).." vezes.") end manastone.lua: function onUse(cid, item, frompos, item2, topos) local cargas = 100 -- Aqui você coloca quantas vezes o player pode usar o item local sg = cargas+1 -- Não mecha aqui if getPlayerStorageValue(cid, 8086) == sg then doRemoveItem(item.uid) doPlayerSetStorageValue(cid, 8086, -1) end setCreatureMaxMana(cid, getCreatureMaxMana(cid)+10) -- Troque aqui a quantidade de sangue que vai adicionar doPlayerSendTextMessage(cid,22,"Você ganhou mais 10 de mana.") -- Entre as "" vc muda a msg doSendMagicEffect(topos,1) doPlayerSetStorageValue(cid, 8086, getPlayerStorageValue(cid, 8086)+1) doPlayerSendTextMessage(cid, 22, "Você pode usar este item mais "..math.abs(getPlayerStorageValue(cid, 8086)-cargas).." vezes.") end -
Tenho mais um pedido, referente à essas funções que você já fez (http://pastebin.com/wkEREEHK) quero uma função nova que sorteie posições fixas e diferentes pra cada um dos players da tabela e teleporte eles pra essa posição.
-
pedido Só passar pelo tile se tiver storage
pergunta respondeu ao warriorfrog de WillOliveira em Scripts
@warriorfrog Usa assim que funciona: function onStepIn(cid, item, position, fromPosition) local storage = 666 if getPlayerStorageValue(cid, storage) <= 0 or not isPremium(cid) then doPlayerSendCancel(cid, 'n pode passa.') doTeleportThing(cid, fromPosition) end return true end @KennyxD Usa esse: function onStepIn(cid, item, position, fromPosition) local storage = 666 if getPlayerStorageValue(cid, storage) <= 0 then doPlayerSendCancel(cid, 'n pode passa.') doTeleportThing(cid, fromPosition) end return true end -
pedido Adicionar maximo de vezes de usar life e mana stone
pergunta respondeu ao luccagomes de WillOliveira em Scripts
lifestone.lua: function onUse(cid, item, frompos, item2, topos) local cargas = 100 -- Aqui você coloca quantas vezes o player pode usar o item local sg = cargas+1 -- Não mecha aqui if getPlayerStorageValue(cid, 8085) == sg then doRemoveItem(item.uid) doPlayerSetStorageValue(cid, 8085, -1) end setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+10) -- Troque aqui a quantidade de sangue que vai adicionar doPlayerSendTextMessage(cid,22,"Você ganhou mais 10 de vida.") -- Entre as "" vc muda a msg doSendMagicEffect(topos,35) doPlayerSetStorageValue(cid, 8085, getPlayerStorageValue(cid, 8085)+1) end manastone.lua: function onUse(cid, item, frompos, item2, topos) local cargas = 100 -- Aqui você coloca quantas vezes o player pode usar o item local sg = cargas+1 -- Não mecha aqui if getPlayerStorageValue(cid, 8086) == sg then doRemoveItem(item.uid) doPlayerSetStorageValue(cid, 8086, -1) end setCreatureMaxMana(cid, getCreatureMaxMana(cid)+10) -- Troque aqui a quantidade de sangue que vai adicionar doPlayerSendTextMessage(cid,22,"Você ganhou mais 10 de mana.") -- Entre as "" vc muda a msg doSendMagicEffect(topos,1) doPlayerSetStorageValue(cid, 8086, getPlayerStorageValue(cid, 8086)+1) end -
pedido Só passar pelo tile se tiver storage
pergunta respondeu ao warriorfrog de WillOliveira em Scripts
Coloca uniqueid 4339 no piso pelo map editor e tenta assim: Tag movements.xml: <movevent type="StepIn" itemid="293" event="script" value="666tile.lua"/> em itemid você coloca o id do piso movements/scripts/666tile.lua: function onStepIn(cid, item, position, fromPosition) if item.uid ~= 4339 then return true end local storageValue = 1 -- Valor do storage necessário para que o jogador possa passar if not getPlayerStorageValue(cid, 666) == storageValue or not isPremium(cid) then doPlayerSendCancel(cid, 'You need premium account or the 666 storage to pass!.') doTeleportThing(cid, fromPosition) end return true end -
Obrigado rep+
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.