Ir para conteúdo

Featured Replies

Postado

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 por Leo Zanin (veja o histórico de edições)

Postado

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()"

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Postado
  • 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
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 por Vodkart (veja o histórico de edições)

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Postado
  • 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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 520.1k

Informação Importante

Confirmação de Termo