Haha, muito legal, amigo, parabéns!
info
Grupo: Visconde
Registrado: 27/01/13
Posts: 443
Reputação: +83
Gênero: Masculino

Gostei do script, só tente dar uma explicada melhor no início ou colocar esses prints de explicação no inicio do tópico.
Reputado! ![]()
info
Grupo: Marquês
Registrado: 24/12/09
Posts: 1k
Reputação: +326
Gênero: Masculino
Char no Tibia: Necromanser

Obrigado, assim que tiver um tempinho arrumo rsrsr
info
Grupo: Conde
Registrado: 07/04/15
Posts: 962
Reputação: +258
Gênero: Masculino

Bom script, se o script não for de sua autoria, lembre-se de colocar os devidos créditos, pois já vi esse script em um outro fórum, criado por um colega meu.
[error type=failure' code='404]
Editado Abril 21 por david0703
info
Grupo: Marquês
Registrado: 25/09/10
Posts: 1.3k
Reputação: +446
Gênero: Masculino

Bom script, se o script não for de sua autoria, lembre-se de colocar os devidos créditos, pois já vi esse script em um outro fórum, criado por um colega meu.
Foi eu quem fez...
Editado Abril 21 por Krhiegen
info
Grupo: Conde
Registrado: 16/06/08
Posts: 998
Reputação: +185
Gênero: Masculino

Créditos ao Caronte...
info
Grupo: Marquês
Registrado: 24/12/09
Posts: 1k
Reputação: +326
Gênero: Masculino
Char no Tibia: Necromanser

Créditos no tópico, caso alguem mais tenha ajudado por favor me passar o nome para ser adicionado
info
Grupo: Marquês
Registrado: 25/09/10
Posts: 1.3k
Reputação: +446
Gênero: Masculino

Créditos no tópico, caso alguem mais tenha ajudado por favor me passar o nome para ser adicionado
Não, foi só eu mesmo...![]()
Obrigado por ter trazido o conteúdo...
Ahh...
esqueci de por talkaction log = "no"
fica mais bonita a talkaction, não aparece /checkpoint toda hora que fala...
info
Grupo: Conde
Registrado: 07/04/15
Posts: 962
Reputação: +258
Gênero: Masculino

Não, foi só eu mesmo...
Obrigado por ter trazido o conteúdo...
Ahh...
esqueci de por talkaction log = "no"
fica mais bonita a talkaction, não aparece /checkpoint toda hora que fala...
return false, tb faz isso ![]()
info
Grupo: Campones
Registrado: 30/04/15
Posts: 10
Reputação: 0
Char no Tibia: Kiara Dragon

não entendi a para que tipo de coisa isso serve.
não entendi a para que tipo de coisa isso serve.
Serve pra salvar um local... Aí, quando o player quiser voltar pra onde salvou, basta dizer /checkpoint
info
Grupo: Visconde
Registrado: 24/07/09
Posts: 356
Reputação: +28
Gênero: Masculino

Como funciona: Bom, basicamente, é um comando sem parâmetros, que marca um lugar na zona de proteção e volta para esse lugar depois que usa o comando pela segunda vez,
Em caso de
local parceiro = true
deixando um portal que some em aproximadamente 3 segundos, para que possam seguir ele...
Caso não queira isso, coloque false.
Bom, o script é esse:
depois irei adicionar mais coisas
(talkactions/scripts/checkpoint.lua)
local parceiro = true -- false vai tirar o teleporte que o player deixa de rastro function onSay(cid, words, param) if param == "" then local cidpos = getThingPos(cid) if not getTileInfo(cidpos).protection then return doPlayerSendCancel(cid,"You need stay in a protect zone ( PZ ). ") end if(tonumber(getPlayerStorageValue(cid,"Checkpoint"))) then setPlayerStorageValue(cid,"Checkpoint", "{x = "..cidpos.x..", y = "..cidpos.y..", z = "..cidpos.z..", stackpos = "..cidpos.stackpos.."}") doPlayerSendTextMessage(cid, 27, "You put a checkpoint here.") doSendMagicEffect(cidpos, 9) else local str = "return "..getPlayerStorageValue(cid, "Checkpoint") local pos = loadstring(str)() doTeleportThing(cid, pos, TRUE) if "{x = "..cidpos.x..", y = "..cidpos.y..", z = "..cidpos.z..", stackpos = "..cidpos.stackpos.."}" == "{x = "..pos.x..", y = "..pos.y..", z = "..pos.z..", stackpos = "..pos.stackpos.."}" then return doPlayerSendCancel(cid,"You can't do this, please choose another position to come back") and doSendMagicEffect(cidpos, 2) end if parceiro then doCreateTeleport(1387, pos, cidpos) doSendAnimatedText(cidpos, "Removing", 221) local t = { [500] = "in", [1000] = "3", [1500] = "2", [2000] = "1", } for q, w in pairs(t) do addEvent(doSendAnimatedText,q,cidpos, w, 221) end addEvent(function() doRemoveItem(getTileItemById(cidpos, 1387).uid) doSendMagicEffect(cidpos, 2) end,2700) end doCreatureSay(cid, "You reached your destiny.", MESSAGE_EVENT_ORANGE) doPlayerSendTextMessage(cid, 27, "You reached your destiny.") setPlayerStorageValue(cid,"Checkpoint", 0) doSendMagicEffect(cidpos, 67) end end return true endEm (talkactions.xml)
<talkaction log="yes" words="/checkpoint" event="script" value="Xcriptis/checkpoint.lua"/>Ao usar o comando para fixar o checkpoint:
Ao usar o mesmo comando para voltar ao checkpoint no mesmo lugar:
Escolhendo uma nova posição
Usando o comando na nova posição:
Sugestão: O jogador só pode usar o comando a cada 24 horas, e o tempo é sincronizado com o tempo real (horário real fora do jogo).
CASO QUEIRAM COM EXHAUST EM SEGUNDOS, CONFIGURÁVEL !!!, AQUI ESTÁ:
local parceiro = true -- false vai tirar o teleporte que o player deixa de rastro local tempo = 24*60*60 -- 24 h em segundos function onSay(cid, words, param) if param == "" then local cidpos = getThingPos(cid) if not getTileInfo(cidpos).protection then return doPlayerSendCancel(cid,"You need stay in a protect zone ( PZ ). ") end if(tonumber(getPlayerStorageValue(cid,"Checkpoint"))) then setPlayerStorageValue(cid,"Checkpoint", "{x = "..cidpos.x..", y = "..cidpos.y..", z = "..cidpos.z..", stackpos = "..cidpos.stackpos.."}") doPlayerSendTextMessage(cid, 27, "You put a checkpoint here.") doSendMagicEffect(cidpos, 9) else local str = "return "..getPlayerStorageValue(cid, "Checkpoint") local pos = loadstring(str)() if not (tonumber(getPlayerStorageValue(cid,"Checkpoint"))) and getCreatureStorage(cid, 10001) - os.time() < 0 then setPlayerStorageValue(cid,10001, os.time() + tempo) else return doPlayerSendCancel(cid,"You can't do this, please wait " .. getCreatureStorage(cid, 10001) - os.time() .." seconds.") end doTeleportThing(cid, pos, TRUE) if "{x = "..cidpos.x..", y = "..cidpos.y..", z = "..cidpos.z..", stackpos = "..cidpos.stackpos.."}" == "{x = "..pos.x..", y = "..pos.y..", z = "..pos.z..", stackpos = "..pos.stackpos.."}" then return doPlayerSendCancel(cid,"You can't do this, please choose another position to come back") and doSendMagicEffect(cidpos, 2) end if parceiro then doCreateTeleport(1387, pos, cidpos) doSendAnimatedText(cidpos, "Removing", 221) local t = { [500] = "in", [1000] = "3", [1500] = "2", [2000] = "1", } for q, w in pairs(t) do addEvent(doSendAnimatedText,q,cidpos, w, 221) end addEvent(function() doRemoveItem(getTileItemById(cidpos, 1387).uid) doSendMagicEffect(cidpos, 2) end,2700) end doCreatureSay(cid, "You reached your destiny.", MESSAGE_EVENT_ORANGE) doPlayerSendTextMessage(cid, 27, "You reached your destiny.") setPlayerStorageValue(cid,"Checkpoint", 0) doSendMagicEffect(cidpos, 67) end end return true endCréditos
Funfa em tfs 1.2 ?










info
Grupo: Marquês
Registrado: 24/12/09
Posts: 1k
Reputação: +326
Gênero: Masculino
Char no Tibia: Necromanser
Como funciona: Bom, basicamente, é um comando sem parâmetros, que marca um lugar na zona de proteção e volta para esse lugar depois que usa o comando pela segunda vez,
Em caso de
local parceiro = true
deixando um portal que some em aproximadamente 3 segundos, para que possam seguir ele...
Caso não queira isso, coloque false.
Bom, o script é esse:
depois irei adicionar mais coisas
(talkactions/scripts/checkpoint.lua)
local parceiro = true -- false vai tirar o teleporte que o player deixa de rastro function onSay(cid, words, param) if param == "" then local cidpos = getThingPos(cid) if not getTileInfo(cidpos).protection then return doPlayerSendCancel(cid,"You need stay in a protect zone ( PZ ). ") end if(tonumber(getPlayerStorageValue(cid,"Checkpoint"))) then setPlayerStorageValue(cid,"Checkpoint", "{x = "..cidpos.x..", y = "..cidpos.y..", z = "..cidpos.z..", stackpos = "..cidpos.stackpos.."}") doPlayerSendTextMessage(cid, 27, "You put a checkpoint here.") doSendMagicEffect(cidpos, 9) else local str = "return "..getPlayerStorageValue(cid, "Checkpoint") local pos = loadstring(str)() doTeleportThing(cid, pos, TRUE) if "{x = "..cidpos.x..", y = "..cidpos.y..", z = "..cidpos.z..", stackpos = "..cidpos.stackpos.."}" == "{x = "..pos.x..", y = "..pos.y..", z = "..pos.z..", stackpos = "..pos.stackpos.."}" then return doPlayerSendCancel(cid,"You can't do this, please choose another position to come back") and doSendMagicEffect(cidpos, 2) end if parceiro then doCreateTeleport(1387, pos, cidpos) doSendAnimatedText(cidpos, "Removing", 221) local t = { [500] = "in", [1000] = "3", [1500] = "2", [2000] = "1", } for q, w in pairs(t) do addEvent(doSendAnimatedText,q,cidpos, w, 221) end addEvent(function() doRemoveItem(getTileItemById(cidpos, 1387).uid) doSendMagicEffect(cidpos, 2) end,2700) end doCreatureSay(cid, "You reached your destiny.", MESSAGE_EVENT_ORANGE) doPlayerSendTextMessage(cid, 27, "You reached your destiny.") setPlayerStorageValue(cid,"Checkpoint", 0) doSendMagicEffect(cidpos, 67) end end return true endEm (talkactions.xml)
Ao usar o comando para fixar o checkpoint:
Ao usar o mesmo comando para voltar ao checkpoint no mesmo lugar:
Escolhendo uma nova posição
Usando o comando na nova posição:
Sugestão: O jogador só pode usar o comando a cada 24 horas, e o tempo é sincronizado com o tempo real (horário real fora do jogo).
CASO QUEIRAM COM EXHAUST EM SEGUNDOS, CONFIGURÁVEL !!!, AQUI ESTÁ:
local parceiro = true -- false vai tirar o teleporte que o player deixa de rastro local tempo = 24*60*60 -- 24 h em segundos function onSay(cid, words, param) if param == "" then local cidpos = getThingPos(cid) if not getTileInfo(cidpos).protection then return doPlayerSendCancel(cid,"You need stay in a protect zone ( PZ ). ") end if(tonumber(getPlayerStorageValue(cid,"Checkpoint"))) then setPlayerStorageValue(cid,"Checkpoint", "{x = "..cidpos.x..", y = "..cidpos.y..", z = "..cidpos.z..", stackpos = "..cidpos.stackpos.."}") doPlayerSendTextMessage(cid, 27, "You put a checkpoint here.") doSendMagicEffect(cidpos, 9) else local str = "return "..getPlayerStorageValue(cid, "Checkpoint") local pos = loadstring(str)() if not (tonumber(getPlayerStorageValue(cid,"Checkpoint"))) and getCreatureStorage(cid, 10001) - os.time() < 0 then setPlayerStorageValue(cid,10001, os.time() + tempo) else return doPlayerSendCancel(cid,"You can't do this, please wait " .. getCreatureStorage(cid, 10001) - os.time() .." seconds.") end doTeleportThing(cid, pos, TRUE) if "{x = "..cidpos.x..", y = "..cidpos.y..", z = "..cidpos.z..", stackpos = "..cidpos.stackpos.."}" == "{x = "..pos.x..", y = "..pos.y..", z = "..pos.z..", stackpos = "..pos.stackpos.."}" then return doPlayerSendCancel(cid,"You can't do this, please choose another position to come back") and doSendMagicEffect(cidpos, 2) end if parceiro then doCreateTeleport(1387, pos, cidpos) doSendAnimatedText(cidpos, "Removing", 221) local t = { [500] = "in", [1000] = "3", [1500] = "2", [2000] = "1", } for q, w in pairs(t) do addEvent(doSendAnimatedText,q,cidpos, w, 221) end addEvent(function() doRemoveItem(getTileItemById(cidpos, 1387).uid) doSendMagicEffect(cidpos, 2) end,2700) end doCreatureSay(cid, "You reached your destiny.", MESSAGE_EVENT_ORANGE) doPlayerSendTextMessage(cid, 27, "You reached your destiny.") setPlayerStorageValue(cid,"Checkpoint", 0) doSendMagicEffect(cidpos, 67) end end return true endCréditos
@@Caronte
Editado Outubro 9 por Daniel