Mudrock 326 Postado Abril 16, 2015 Share Postado Abril 16, 2015 (editado) 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 end Em (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 end Créditos @@Caronte Editado Outubro 9, 2015 por Daniel Link para o comentário Compartilhar em outros sites More sharing options...
ScythePhantom 83 Postado Abril 16, 2015 Share Postado Abril 16, 2015 Haha, muito legal, amigo, parabéns! Link para o comentário Compartilhar em outros sites More sharing options...
david0703 32 Postado Abril 17, 2015 Share Postado Abril 17, 2015 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! Link para o comentário Compartilhar em outros sites More sharing options...
Mudrock 326 Postado Abril 17, 2015 Autor Share Postado Abril 17, 2015 Obrigado, assim que tiver um tempinho arrumo rsrsr Link para o comentário Compartilhar em outros sites More sharing options...
Furabio 257 Postado Abril 20, 2015 Share Postado Abril 20, 2015 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. Link para o comentário Compartilhar em outros sites More sharing options...
david0703 32 Postado Abril 21, 2015 Share Postado Abril 21, 2015 (editado) [error type=failure' code='404] Editado Abril 21, 2015 por david0703 Link para o comentário Compartilhar em outros sites More sharing options...
Caronte 444 Postado Abril 21, 2015 Share Postado Abril 21, 2015 (editado) 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, 2015 por Krhiegen Link para o comentário Compartilhar em outros sites More sharing options...
Fir3element 185 Postado Abril 21, 2015 Share Postado Abril 21, 2015 Créditos ao Caronte... Link para o comentário Compartilhar em outros sites More sharing options...
Mudrock 326 Postado Abril 21, 2015 Autor Share Postado Abril 21, 2015 Créditos no tópico, caso alguem mais tenha ajudado por favor me passar o nome para ser adicionado Link para o comentário Compartilhar em outros sites More sharing options...
Caronte 444 Postado Abril 22, 2015 Share Postado Abril 22, 2015 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... Link para o comentário Compartilhar em outros sites More sharing options...
Furabio 257 Postado Abril 26, 2015 Share Postado Abril 26, 2015 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 Link para o comentário Compartilhar em outros sites More sharing options...
Gordelicious 0 Postado Abril 30, 2015 Share Postado Abril 30, 2015 não entendi a para que tipo de coisa isso serve. Link para o comentário Compartilhar em outros sites More sharing options...
david0703 32 Postado Maio 3, 2015 Share Postado Maio 3, 2015 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 Link para o comentário Compartilhar em outros sites More sharing options...
curruwilliam 28 Postado Junho 6, 2015 Share Postado Junho 6, 2015 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 end Em (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 end Créditos Funfa em tfs 1.2 ? Link para o comentário Compartilhar em outros sites More sharing options...
Caronte 444 Postado Abril 11, 2016 Share Postado Abril 11, 2016 Em 06/06/2015 at 13:51, curruwilliam disse: Funfa em tfs 1.2 ? Com uma devida tradução, se necessária. Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados