EliteSilyx 0 Postado Fevereiro 15, 2013 Share Postado Fevereiro 15, 2013 Eu preciso uma talkaction que quando eu fale, por ex: !go depot, eu sou teletransportado para o depot mas se eu tiver pz battle ela não me teletransporta. Alguém me ajude sff. Link para o comentário https://xtibia.com/forum/topic/207694-go-talkaction/ Compartilhar em outros sites More sharing options...
0 StyloMaldoso 330 Postado Fevereiro 15, 2013 Share Postado Fevereiro 15, 2013 n é mais facil teleporta pra x position ñ ? ;x Link para o comentário https://xtibia.com/forum/topic/207694-go-talkaction/#findComment-1469480 Compartilhar em outros sites More sharing options...
0 EliteSilyx 0 Postado Fevereiro 15, 2013 Autor Share Postado Fevereiro 15, 2013 Pode ser para uma posição qualquer, eu depois mudo para a posição que precisar, eu disse !go depot como exemplo, eu preciso é que me limite a não poder usar quando tiver pz battle (atacado players com ou sem skull) Link para o comentário https://xtibia.com/forum/topic/207694-go-talkaction/#findComment-1469482 Compartilhar em outros sites More sharing options...
0 20cm 70 Postado Fevereiro 15, 2013 Share Postado Fevereiro 15, 2013 (editado) script.lua: local to = { ['depot'] = {x=1058,y=1066,z=7}, ['templo'] = {x=1063,y=1067,z=7}, } function onSay(cid, words, param, channel) local p = param:lower() if getCreatureCondition(cid,CONDITION_INFIGHT) == false then if to[p] ~= nil then doTeleportThing(cid,to[p]) doSendMagicEffect(to[p],10) doPlayerSendTextMessage(cid,4,"Teleportado ao "..p..".") else doPlayerSendTextMessage(cid,4,"Local inválido.") end else doPlayerSendTextMessage(cid,4,"Use sem battle.") end return true end <talkaction words="!go" event="script" value="script.lua"/> Assim? Editado Fevereiro 15, 2013 por 20cm Link para o comentário https://xtibia.com/forum/topic/207694-go-talkaction/#findComment-1469486 Compartilhar em outros sites More sharing options...
0 Slicer 1070 Postado Fevereiro 15, 2013 Share Postado Fevereiro 15, 2013 doPlayerSendTextMessage(cid,4,"Teleportado ao "..to[p]..".") isso n vai dar nil? -ou vai retornar o id da tabela- Link para o comentário https://xtibia.com/forum/topic/207694-go-talkaction/#findComment-1469498 Compartilhar em outros sites More sharing options...
0 20cm 70 Postado Fevereiro 15, 2013 Share Postado Fevereiro 15, 2013 doPlayerSendTextMessage(cid,4,"Teleportado ao "..to[p]..".") isso n vai dar nil? -ou vai retornar o id da tabela- Boa, arrumei. Link para o comentário https://xtibia.com/forum/topic/207694-go-talkaction/#findComment-1469558 Compartilhar em outros sites More sharing options...
0 EliteSilyx 0 Postado Fevereiro 15, 2013 Autor Share Postado Fevereiro 15, 2013 Não entendi o que estava mal Link para o comentário https://xtibia.com/forum/topic/207694-go-talkaction/#findComment-1469649 Compartilhar em outros sites More sharing options...
0 20cm 70 Postado Fevereiro 15, 2013 Share Postado Fevereiro 15, 2013 (editado) Como assim? Usa esse script: local to = { ['depot'] = {x=1058,y=1066,z=7}, ['templo'] = {x=1063,y=1067,z=7}, } function onSay(cid, words, param, channel) local p = param:lower() if getCreatureCondition(cid,CONDITION_INFIGHT) == false then if to[p] ~= nil then doTeleportThing(cid,to[p]) doSendMagicEffect(to[p],10) doPlayerSendTextMessage(cid,4,"Teleportado ao "..p..".") else doPlayerSendTextMessage(cid,4,"Local inválido.") end else doPlayerSendTextMessage(cid,4,"Use sem battle.") end return true end se funcionou avisa e da rep+ por recompensa... Editado Fevereiro 15, 2013 por 20cm Link para o comentário https://xtibia.com/forum/topic/207694-go-talkaction/#findComment-1469677 Compartilhar em outros sites More sharing options...
0 EliteSilyx 0 Postado Fevereiro 15, 2013 Autor Share Postado Fevereiro 15, 2013 Funcionou, muito obrigado!!!! Link para o comentário https://xtibia.com/forum/topic/207694-go-talkaction/#findComment-1469884 Compartilhar em outros sites More sharing options...
0 SkyLigh 453 Postado Fevereiro 18, 2013 Share Postado Fevereiro 18, 2013 reportado para ser movido. Link para o comentário https://xtibia.com/forum/topic/207694-go-talkaction/#findComment-1471726 Compartilhar em outros sites More sharing options...
0 Lucasyeah 2 Postado Fevereiro 18, 2013 Share Postado Fevereiro 18, 2013 (editado) Oooi me ajuda aki pf... Tem como colocar um "wait" de 10 segundos para poder usar essa talkactions novamente? function onSay(cid, words, param) local config = { pz = false, -- players precisam estar em protection zone para usar? (true or false) battle = true, -- players deve estar sem battle (true or false) custo = true, -- se os teleport irão custa (true or false) need_level = true, -- se os teleport irão precisar de level (true or false) premium = true -- se precisa ser premium account (true or false) } --[[ Config lugares]]-- local lugar = { ["templo"] = { -- nome do lugar pos = {x = 7999, y = 7992, z = 7},level = 10, price = 000}, ["arena"] = { -- nome do lugar pos = {x=24900, y=24965, z=7},level = 15,price = 000}, ["tps"] = { -- nome do lugar pos = {x=24992, y=24829, z=5},level = 15,price = 000}, ["vip"] = { -- nome do lugar pos = {x=25089, y=25362, z=7},level = 15,price = 000}, ["treiner"] = { -- nome do lugar pos = {x=24999, y=25383, z=6},level = 15,price = 000}, ["quests"] = { -- nome do lugar pos = {x=25024, y=24852, z=7},level = 15,price = 000}, } --[[ Lista de Viagem (Não mexa) ]]-- if (param == "lista") then local str = "" str = str .. "lista de viagem :\n\n" for name, pos in pairs(lugar) do str = str..name.."\n" end str = str .. "" doShowTextDialog(cid, 6579, str) return TRUE end local a = lugar[param] if not(a) then doPlayerSendTextMessage(cid, 22, "desculpe,este lugar não existe") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return TRUE elseif config.pz == true and getTilePzInfo(getCreaturePosition(cid)) == FALSE then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"você precisa estar em protection zone pra poder teleportar.") return TRUE elseif config.premium == true and not isPremium(cid) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Apenas players com premium account podem teleportar.") return TRUE elseif config.battle == true and getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você precisa estar sem battler pra poder teleportar.") return TRUE elseif config.need_level == true and getPlayerLevel(cid) < a.level then doPlayerSendTextMessage(cid, 22, "Desculpe,Voce não tem level. voce precisa "..a.level.." level ou mais para ser teleportado.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return TRUE elseif config.custo == true and doPlayerRemoveMoney(cid, a.price) == FALSE then doPlayerSendTextMessage(cid, 22, "Desculpe,voce nao tem dinheiro suficiente. Voce precisa "..a.price.." gp para ser teleportado.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return TRUE end doTeleportThing(cid, a.pos) doSendMagicEffect(a.pos, CONST_ME_TELEPORT) doBroadcastMessage("" .. getPlayerName(cid) .. " foi teleportado para: " .. param .. ".Usando /fly", 25) return TRUE end Editado Fevereiro 18, 2013 por Lucasyeah Link para o comentário https://xtibia.com/forum/topic/207694-go-talkaction/#findComment-1471955 Compartilhar em outros sites More sharing options...
0 caotic 393 Postado Fevereiro 18, 2013 Share Postado Fevereiro 18, 2013 Tópico movido para a seção de dúvidas e pedidos resolvidos. Link para o comentário https://xtibia.com/forum/topic/207694-go-talkaction/#findComment-1471984 Compartilhar em outros sites More sharing options...
0 SkyLigh 453 Postado Fevereiro 18, 2013 Share Postado Fevereiro 18, 2013 (editado) @Lucas . function onSay(cid, words, param) local config = { pz = false, -- players precisam estar em protection zone para usar? (true or false) battle = true, -- players deve estar sem battle (true or false) custo = true, -- se os teleport irão custa (true or false) need_level = true, -- se os teleport irão precisar de level (true or false) premium = true, -- se precisa ser premium account (true or false) s = 11548, -- n mexa exhau = 10 -- tempo em seegundos para salvar denovo } --[[ Config lugares]]-- local lugar = { ["templo"] = { -- nome do lugar pos = {x = 7999, y = 7992, z = 7},level = 10, price = 000}, ["arena"] = { -- nome do lugar pos = {x=24900, y=24965, z=7},level = 15,price = 000}, ["tps"] = { -- nome do lugar pos = {x=24992, y=24829, z=5},level = 15,price = 000}, ["vip"] = { -- nome do lugar pos = {x=25089, y=25362, z=7},level = 15,price = 000}, ["treiner"] = { -- nome do lugar pos = {x=24999, y=25383, z=6},level = 15,price = 000}, ["quests"] = { -- nome do lugar pos = {x=25024, y=24852, z=7},level = 15,price = 000}, } --[[ Lista de Viagem (Não mexa) ]]-- if (param == "lista") then local str = "" str = str .. "lista de viagem :\n\n" for name, pos in pairs(lugar) do str = str..name.."\n" end str = str .. "" doShowTextDialog(cid, 6579, str) return TRUE end local a = lugar[param] if not(a) then doPlayerSendTextMessage(cid, 22, "desculpe,este lugar não existe") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return TRUE elseif config.pz == true and getTilePzInfo(getCreaturePosition(cid)) == FALSE then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"você precisa estar em protection zone pra poder teleportar.") return TRUE elseif config.premium == true and not isPremium(cid) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Apenas players com premium account podem teleportar.") return TRUE elseif config.battle == true and getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você precisa estar sem battler pra poder teleportar.") return TRUE elseif config.need_level == true and getPlayerLevel(cid) < a.level then doPlayerSendTextMessage(cid, 22, "Desculpe,Voce não tem level. voce precisa "..a.level.." level ou mais para ser teleportado.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return TRUE elseif config.custo == true and doPlayerRemoveMoney(cid, a.price) == FALSE then doPlayerSendTextMessage(cid, 22, "Desculpe,voce nao tem dinheiro suficiente. Voce precisa "..a.price.." gp para ser teleportado.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return TRUE elseif getPlayerStorageValue(cid, config.s) > os.time() then doPlayerSendCancel(cid, "Você tem que esperar " .. config.exhau .. " segundos para usar o comando novamente.") return TRUE end setPlayerStorageValue(cid, config.s, config.exhau + os.time()) doTeleportThing(cid, a.pos) doSendMagicEffect(a.pos, CONST_ME_TELEPORT) doBroadcastMessage("" .. getPlayerName(cid) .. " foi teleportado para: " .. param .. ".Usando /fly", 25) return TRUE end Editado Fevereiro 18, 2013 por SkyLigh Link para o comentário https://xtibia.com/forum/topic/207694-go-talkaction/#findComment-1472033 Compartilhar em outros sites More sharing options...
0 Slicer 1070 Postado Fevereiro 18, 2013 Share Postado Fevereiro 18, 2013 isso ta errado n? elseif (getPlayerStorageValue(cid, config.s) <= os.time()) then setPlayerStorageValue(cid,config.s,os.time()+config.exhau) doPlayerSendCancel(cid, "Você tem que esperar " .. config.exhau .. " segundos para usar o comando novamente.") return TRUE end certo seria algu como... elseif getPlayerStorageValue(cid, config.s) > os.time() then doPlayerSendCancel(cid, "Você tem que esperar " .. config.exhau .. " segundos para usar o comando novamente.") return TRUE end setPlayerStorageValue(cid, config.s, config.exhau + os.time()) Link para o comentário https://xtibia.com/forum/topic/207694-go-talkaction/#findComment-1472036 Compartilhar em outros sites More sharing options...
0 SkyLigh 453 Postado Fevereiro 18, 2013 Share Postado Fevereiro 18, 2013 pronto arrumado . Link para o comentário https://xtibia.com/forum/topic/207694-go-talkaction/#findComment-1472051 Compartilhar em outros sites More sharing options...
0 Lucasyeah 2 Postado Fevereiro 18, 2013 Share Postado Fevereiro 18, 2013 Obrigado, coloquei assim .. function onSay(cid, words, param) local config = { pz = false, -- players precisam estar em protection zone para usar? (true or false) battle = true, -- players deve estar sem battle (true or false) custo = true, -- se os teleport irão custa (true or false) need_level = true, -- se os teleport irão precisar de level (true or false) premium = true, -- se precisa ser premium account (true or false) s = 11548, -- n mexa exhau = 10 -- tempo em seegundos para salvar denovo } --[[ Config lugares]]-- local lugar = { ["templo"] = { -- nome do lugar pos = {x = 7999, y = 7992, z = 7},level = 10, price = 000}, ["arena"] = { -- nome do lugar pos = {x=24900, y=24965, z=7},level = 15,price = 000}, ["tps"] = { -- nome do lugar pos = {x=24992, y=24829, z=5},level = 15,price = 000}, ["vip"] = { -- nome do lugar pos = {x=25089, y=25362, z=7},level = 15,price = 000}, ["treiner"] = { -- nome do lugar pos = {x=24999, y=25383, z=6},level = 15,price = 000}, ["quests"] = { -- nome do lugar pos = {x=25024, y=24852, z=7},level = 15,price = 000}, } --[[ Lista de Viagem (Não mexa) ]]-- if (param == "lista") then local str = "" str = str .. "lista de viagem :\n\n" for name, pos in pairs(lugar) do str = str..name.."\n" end str = str .. "" doShowTextDialog(cid, 6579, str) return TRUE end local a = lugar[param] if not(a) then doPlayerSendTextMessage(cid, 22, "desculpe,este lugar não existe") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return TRUE elseif config.pz == true and getTilePzInfo(getCreaturePosition(cid)) == FALSE then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"você precisa estar em protection zone pra poder teleportar.") return TRUE elseif config.premium == true and not isPremium(cid) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Apenas players com premium account podem teleportar.") return TRUE elseif config.battle == true and getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você precisa estar sem battler pra poder teleportar.") return TRUE elseif config.need_level == true and getPlayerLevel(cid) < a.level then doPlayerSendTextMessage(cid, 22, "Desculpe,Voce não tem level. voce precisa "..a.level.." level ou mais para ser teleportado.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return TRUE elseif config.custo == true and doPlayerRemoveMoney(cid, a.price) == FALSE then doPlayerSendTextMessage(cid, 22, "Desculpe,voce nao tem dinheiro suficiente. Voce precisa "..a.price.." gp para ser teleportado.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return TRUE elseif getPlayerStorageValue(cid, config.s) > os.time() then doPlayerSendCancel(cid, "Você tem que esperar " .. config.exhau .. " segundos para usar o comando novamente.") return TRUE end setPlayerStorageValue(cid, config.s, config.exhau + os.time()) doTeleportThing(cid, a.pos) doSendMagicEffect(a.pos, CONST_ME_TELEPORT) doBroadcastMessage("" .. getPlayerName(cid) .. " foi teleportado para: " .. param .. ".Usando /fly", 25) return TRUE end Só pra constar esse sistema de fly é usado para o perfectvip system do Vodkart ;D Quem precisar usa ae REP+ Sky~ Link para o comentário https://xtibia.com/forum/topic/207694-go-talkaction/#findComment-1472141 Compartilhar em outros sites More sharing options...
Pergunta
EliteSilyx 0
Eu preciso uma talkaction que quando eu fale, por ex: !go depot, eu sou teletransportado para o depot mas se eu tiver pz battle ela não me teletransporta. Alguém me ajude sff.
Link para o comentário
https://xtibia.com/forum/topic/207694-go-talkaction/Compartilhar em outros sites
15 respostass a esta questão
Posts Recomendados