Postado Agosto 4, 2016 9 anos Opa, tranquilo? Então, eu estou tentando aprender a fazer scripts TFS 1.2, acontece que sou novato na área e queria ajuda de alguém mais experiente kkkk Bom, o sistema se resume em usar um item onde é atribuido um storage, e com esse storage você pode entrar num teleport e caçar la por 3 horas.. Depois dessas 3 horas o player é teletransportado para o templo e terá que usar o item de novo caso queira novamente caçar naquela área... (lembrando que o player poderá sair e entrar no teleport até que seu tempo acabe. Segue o script: Action: (funcionando, atribui storage por 3 horas) local scroll = 16105 local level = 800 function onUse(cid, item, frompos, item2, topos) local player = Player(cid) if player:getStorageValue(11223) >= os.time() then player:say('Você já está com acesso à Exclusive hunt!', TALKTYPE_MONSTER_SAY) return true end player:setStorageValue(11223, os.time() + 10800) Item(item.uid):remove(1) player:say('Você ganhou 3 horas de Exclusive hunt!', TALKTYPE_MONSTER_SAY) if item.itemid == scroll and getPlayerLevel(cid) >= level then doTeleportThing(cid, temple, TRUE) doSendMagicEffect(temple,10) else doPlayerSendCancel(cid, "Desculpa, apenas level 800 ou mais poderão acessar sua área!") end return 1 end Creaturescript: (não está transportando o player pro templo) local config = { toKnow = 123456, storage = 11223, pos = {x = 32369, y = 32241, z = 7}, -- para onde o jogador será teleportado caso o tempo tenha acabado. } function onKill(cid, target, lastHit) if getPlayerStorageValue (cid, config.toKnow) == 1 then if getPlayerStorageValue (cid, config.storage) < os.time () then doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT) doRemoveCreature (cid) end end return true end function onLogin(cid) if getPlayerStorageValue (cid, config.toKnow) == 1 then if getPlayerStorageValue (cid, config.storage) < os.time () then doTeleportThing (cid, config.pos) setPlayerStorageValue (cid, config.toKnow, 0) end end return true end Login.lua player:registerEvent("timeAcess") player:registerEvent("timeAcessKill") Movements: (dando erro na distro linha 12 e 19 quando o player tenta entrar no teleport, até entra a primeira vez mas depois não da mais para entrar) function onStepIn(cid, item, position, fromPosition) local config = { storage = 11223, from = {x = 31719, y = 32978, z = 7}, -- coordenada do canto superior esquerdo da área. to = {x = 31760, y = 33050, z = 7}, -- coordenada do canto inferior direito da área. maxPlayers = 1, -- quantos jogadores poderão entrar na área ao mesmo tempo. pos = {x = 31722, y = 32982, z = 7}, -- para onde o jogador será teleportado. } local function getPlayersInArea(left, right) local playersInArea = {} for _, cid in ipairs(getPlayersOnline()) do if isInRange(getThingPos(cid), left, right) then table.insert(playersInArea, cid) end end return playersInArea end if isPlayer(cid) then if getPlayerStorageValue (cid, config.storage) < os.time() then doPlayerSendTextMessage(cid, 19, "Você não tem acesso a Exclusive Hunt. ") doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT) doTeleportThing(cid, fromPosition, true) else doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT) end if table.getn(getPlayersInArea(config.from, config.to)) < config.maxPlayers and getPlayerStorageValue (cid, config.storage) > os.time() then doSendMagicEffect(fromPosition, CONST_ME_TELEPORT) doTeleportThing (cid, config.pos) doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT) elseif table.getn(getPlayersInArea(config.from, config.to)) >= config.maxPlayers and getPlayerStorageValue (cid, config.storage) > os.time() then doPlayerSendTextMessage (cid, 19, "Você não pode acessar essa área pois já tem alguém caçando nela!") doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT) doTeleportThing(cid, fromPosition, true) end end return true end Bom, eu peguei essas funções de um tfs 0.4 e fui tentando atualizar, quase que consegui kkkkk, alguém me ajuda por favor? REP+ @Kemmlly Editado Agosto 4, 2016 9 anos por Leo Zanin (veja o histórico de edições)
Postado Agosto 4, 2016 9 anos eu aconselho a repassar todos os script desses citados para o tfs 1.2 no tile mesmo, refazer desde a função primaria... bom, só para constar, a função "getPlayersOnline()" não existe mais, no lugar dela use --> "Game.getPlayers()" [*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*] DISCORD: vodkart#6090
Postado Agosto 4, 2016 9 anos Autor @Vodkart, obrigado pelo comentário! Então, acontece que não sei as funções do TFS 1.2 e gostaria da ajuda de alguém para "fazer" meu primeiro script, no caso, este...
Postado Agosto 4, 2016 9 anos function onStepIn(creature, item, position, fromPosition) local player = creature:getPlayer() if player == nil then return false end local config = { storage = 11223, from = {x = 31719, y = 32978, z = 7}, -- coordenada do canto superior esquerdo da área. to = {x = 31760, y = 33050, z = 7}, -- coordenada do canto inferior direito da área. maxPlayers = 1, -- quantos jogadores poderão entrar na área ao mesmo tempo. pos = {x = 31722, y = 32982, z = 7} -- para onde o jogador será teleportado. } local function getPlayersInArea(from, to) local c = 0 for _, cid in pairs(Game.getPlayers()) do if isInRange(Player(cid):getPosition(), from, to) then c = c + 1 end end return c end if player:getStorageValue(config.storage) <= os.time() or getPlayersInArea(config.from, config.to) >= config.maxPlayers then player:teleportTo(fromPosition) player:sendTextMessage(MESSAGE_INFO_DESCR,player:getStorageValue(config.storage) <= os.time() and "Voce nao tem acesso a Exclusive Hunt!" or "Voce nao pode acessar essa area pois ja tem alguem caçando nela!") return true end player:teleportTo(config.pos) player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) return true end Editado Agosto 4, 2016 9 anos por Vodkart (veja o histórico de edições) [*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*] DISCORD: vodkart#6090
Postado Agosto 4, 2016 9 anos Autor @Vodkart, simplesmente incrível! O creaturescripts você consegue atualizar? Pois não está mandando o player para o templo depois de 3 horas... Outra coisa, você gostaria de dar um curso para mim? Estou disposto a pagar pelas aulas... Obrigado!
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.