Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Boa tarde galera do tk, estou precisando de uma ajuda, o sistema funciona da seguinte forma é uma estatua que voce clica e é teleportado pra x local para fazer a quest em 3 sqm só na vertical, ai ao clicar você é teleportado nasce um monstro na sua frente ( obs: caso alguem tente entrar na quest não vai conseguir, caso tente aparece uma mensagem na parte de baixo ( nao no chat ) avisando que tem jogador la dentro. )

Ai apos matar o monstro atras dele tem outra estatua que quando vc clica vc ganha x item e é teleportado para cima novamente!

Esta quest é possivel entrar sempre porém o item só ganha uma vez!

 

TFS 0.3.6

Editado por Straikar (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 2 weeks later...
Em 06/02/2023 em 17:21, Straikar disse:

Boa tarde galera do tk, estou precisando de uma ajuda, o sistema funciona da seguinte forma é uma estatua que voce clica e é teleportado pra x local para fazer a quest em 3 sqm só na vertical, ai ao clicar você é teleportado nasce um monstro na sua frente ( obs: caso alguem tente entrar na quest não vai conseguir, caso tente aparece uma mensagem na parte de baixo ( nao no chat ) avisando que tem jogador la dentro. )

Ai apos matar o monstro atras dele tem outra estatua que quando vc clica vc ganha x item e é teleportado para cima novamente!

Esta quest é possivel entrar sempre porém o item só ganha uma vez!

 

TFS 0.3.6


fiz um script que da pra colocar mais de um monstro e recompensas pra cada um no mesmo script

vá em:
data/actions/actions.xml
 

<action actionid="ACTIOND-ID-DA-ESTATUA;ACTIONID;ACTIONID" script="questVertical.lua" />

INSIRA TODOS os actions ID das estatus, tanto das de entrada (clica pra entrar na sala), como as de recompensa
ps: se for em sequencia, tipo 5001,5002,5003... só é necessário colocar o primeiro e o ultimo, ex: 5001-5003, porém PRESTE BASTANTE ATENÇÃO!


Agora vá em:
data/actions/scripts/questVertical.lua  (caso não exista pode criar e excluir os scripts antigos dessa quest)
e copie esse código dentro:
 

--[[ SCRIPT FEITO POR FEETADS - TIBIAKING ]]--
		--[[straikar - 15/02/23]]--			/ discord: FeeTads#0246



local config = {
	-- actions ID da estatua da entrada
	[25486] = {storage_timer = 5341352, posPlayer = {x = 1000, y = 1000, z = 7}, monster_name = "Papao", posMonstro = {x = 1000, y = 1000, z = 7}, posSaida = {x = 1000, y = 1000, z = 7}, fromP={x = 931, y = 1270, z = 9}, toP={x = 936, y = 1276, z = 9}},
	[25487] = {storage_timer = 5341353, posPlayer = {x = 1001, y = 1001, z = 7}, monster_name = "Papao2", posMonstro = {x = 1001, y = 1001, z = 7}, posSaida = {x = 1001, y = 1001, z = 7}, fromP={x = 931, y = 1270, z = 9}, toP={x = 936, y = 1276, z = 9}},
	-- caso queira colocar outros, só repetir ^ e mudar a storage, o action id e as posições etc..
	
	
	use_cooldown_global = false,		-- se vc colocar true aqui, TODAS as salas de quest onde o player tentar entrar, vão ter o mesmo cooldown ou seja 1 sala a cada 5 mins, se for false, pode entrar em outra sala logo em seguida
	storage_timer_global = 5341350,		-- storage de exaust pra entrar de novo
	exaust_entrar_denovo = 5 * 60,	 	-- 5*60 = 5 minutos
	need_level = 100,					-- level necessário para entrar / caso não precise coloque 1 ou 8
	remover_player_tempo = true,		-- remover o player depois de tanto tempo la dentro? / evita o player ficar la trapando o dia todo
	remover_timer = 10*60,				-- quando tempo la dentro pra remover? / 10*60 = 10 minutos
}

local REWARD = {

	--[action id] = {rewards = {{item, quantidade}, {item, quantidade}}},		-- pode colocar quantas rewards quiser
	[5032] = {storage_reward = 5441400, rewards = {{2160, 1}, {2148, 100}, {2152, 50}}},
	[5033] = {storage_reward = 5441401, rewards = {{2160, 1}}},		-- quando diminuir a quantidadede recompensa, ceritifique que deixou certo a quantidade de {} pra n bugar o script

	repetir_reward = false,    					-- ganhar a recompensa sempre que fizer a quest?
	teleportar_final = {x=1000,y=1000,z=7},		-- pra onde teleportar quando ele clicar na estatua de recompensa? (normalmente eh o templo)
}


-- função de tempo
local function getTimeString(self)
    local format = {
        {'dia', self / 60 / 60 / 24},
        {'hora', self / 60 / 60 % 24},
        {'minuto', self / 60 % 60},
        {'segundo', self % 60}
    }
    
    local out = {}
    for k, t in ipairs(format) do
        local v = math.floor(t[2])
        if(v > 0) then
            table.insert(out, (k < #format and (#out > 0 and ', ' or '') or ' e ') .. v .. ' ' .. t[1] .. (v ~= 1 and 's' or ''))
        end
    end
    local ret = table.concat(out)
    if ret:len() < 16 and ret:find('segundo') then
        local a, b = ret:find(' e ')
        ret = ret:sub(b+1)
    end
    return ret
end

-- FUNÇÃO PARA KICKAR O PLAYER DA SALA APÓS TANTO TEMPO
local function removePlayersTime(frompos, topos)
	for x = frompos.x, topos.x  do
		for y = frompos.y, topos.y do
			local remove, clean = true, true
			local pos = {x = x, y = y, z = frompos.z}
			local m = getTopCreature(pos).uid
			if m ~= 0 and isPlayer(m) then
				doTeleportThing(m, getTownTemplePosition(1))
			end
		end
	end
	return true
end

-- FUNÇÃO PARA REMOVER O BOSS AO KICKAR O PLAYER DA SALA
local function verificaBoss(frompos, topos)
	for x = frompos.x, topos.x  do
		for y = frompos.y, topos.y do
			if isMonster(getThingFromPos({x = x, y = y, z = frompos.z, stackpos = 253}).uid) then
				doRemoveCreature(getThingFromPos({x = x, y = y, z = frompos.z, stackpos = 253}).uid)
			end
		end
	end
end

local function give_reward(cid, entregar)
	
	local text = 'você recebeu '			-- string que salvará o nome das recompensas
	if entregar then				-- existe as rewards?
		for i=1, #entregar do
			doPlayerAddItem(cid, entregar[i][1], entregar[i][2])		-- adiciona os item ao player
			text = text..entregar[i][2]..getItemNameById(entregar[i][1])..entregar[i][1] > 1 and "s" or ""
			if i == #entregar then
				text = text.."."	-- caso seja o ultimo coloca ponto final
			else
				text = text..", "	-- se não, bota virgula
			end
		end
		doPlayerSendTextMessage(cid, 22, text)
	end
	
	return true
end

local saveEvent = {}   -- evento pra checkar o player na sala de espera

function onUse(cid, item, frompos, itemEx, topos)
	
	local check = {}
	local actionID = item.actionid
	if config[actionID] then
		-- checa o cooldown e se pode entrar na sala
		if config.use_cooldown_global then
			if getPlayerStorageValue(cid, config.storage_timer_global) - os.time() > 0 then
				doPlayerSendCancel(cid, 'Aguarde, você ainda não pode entrar, está com cooldown de'..getTimeString(getPlayerStorageValue(cid, config.storage_timer_global) - os.time())..'.') 
				return true
			end
		else
			if getPlayerStorageValue(cid, config[actionID].storage_timer) > 0 then
				doPlayerSendCancel(cid, 'Aguarde, você ainda não pode entrar, está com cooldown de'..getTimeString(getPlayerStorageValue(cid, config[actionID].storage_timer) - os.time())..'.') 
				return true
			end
		end
		if #getPlayersInArea(config.[actionID].fromP, config.[actionID].toP) > 0 then
			doPlayerSendCancel(cid, 'Aguarde, tem jogadores la dentro.') 
			return true
		end
		if getPlayerLevel(cid) < config.need_level then
			doPlayerSendCancel(cid, 'Você não tem o level necessário.') 
			return true
		end
		-- caso tenha o level, e não tenha player la dentro, então faz a quest acontecer
		verificaBoss(config.[actionID].fromP, config.[actionID].to)		-- remove o boss do antigo player caso haja
		doTeleportThing(cid, config[actionID].posPlayer)			-- teleporta o player pra posição
		doCreateMonster(config[actionID].monster_name, config[actionID].posMonstro, false, true)		-- cria o monstro na posição
		if config.remover_player_tempo then			-- se remover o player depois de tanto tempo for true
			saveEvent[getPlayerGUID(cid)] = addEvent(function() 
				removePlayersTime(config.[actionID].fromP, config.[actionID].toP) 
			end, config.remover_timer * 1000) -- remover o player depois do tempo
		end
		if config.use_cooldown_global then
			setPlayerStorageValue(cid, config.storage_timer_global, os.time() + config.exaust_entrar_denovo)	-- cooldown caso seja de todas as salas / n mexer
		else
			setPlayerStorageValue(cid, config[actionID].storage_timer, os.time() + config.exaust_entrar_denovo)		-- cooldown pra entrar de novo / n mexer
		end
		return true
	end


	-- ESTATUA DE RECOMPENSA
	if REWARD[actionID] then					-- caso tenha clicado na estatua de recompensa
		local entregar = REWARD[actionID].rewards
		if getPlayerStorageValue(cid, REWARD[actionID].storage_reward) == -1 then				-- caso nunca tenha recebido a recompensa
			give_reward(cid, entregar)
		else									-- caso ja tenha recebido
			if REWARD.repetir_reward then		-- checa se pode repetir a recompensa
				give_reward(cid, entregar)
			else								-- se não só da a mensagem q ja recebeu
				doPlayerSendTextMessage(cid, 22, "Você já recebeu sua recompensa.")
			end
		end
	doTeleportThing(cid, REWARD.teleportar_final) 	-- teleporta o player pra posição quando clicar na estatua de recompensa
	stopEvent(saveEvent[getPlayerGUID(cid)])		-- para o evento de jogar ele pro templo
    saveEvent[getPlayerGUID(cid)] = nil
	end

return true
end

 

Link para o post
Compartilhar em outros sites

Não deu certo

 

image.thumb.png.cd7dbc4b7ae9726e9ddd70e7bbc539f8.png

 

no actions.xml esta assim        <action actionid="5001;5002" script="desafio2.lua" />

e na script assim

 

local config = {
    -- actions ID da estatua da entrada
    [25486] = {storage_timer = 5341352, posPlayer = {x = 940, y = 1274, z = 9}, monster_name = "Papao", posMonstro = {x = 940, y = 1273, z = 9}, posSaida = {x = 941, y = 1277, z = 9}, fromP={x = 938, y = 1270, z = 9}, toP={x = 942, y = 1276, z = 9}},
    [25487] = {storage_timer = 5341353, posPlayer = {x = 1001, y = 1001, z = 7}, monster_name = "Papao2", posMonstro = {x = 1001, y = 1001, z = 7}, posSaida = {x = 1001, y = 1001, z = 7}, fromP={x = 931, y = 1270, z = 9}, toP={x = 936, y = 1276, z = 9}},
    -- caso queira colocar outros, só repetir ^ e mudar a storage, o action id e as posições etc..
    
    
    use_cooldown_global = false,        -- se vc colocar true aqui, TODAS as salas de quest onde o player tentar entrar, vão ter o mesmo cooldown ou seja 1 sala a cada 5 mins, se for false, pode entrar em outra sala logo em seguida
    storage_timer_global = 5341350,        -- storage de exaust pra entrar de novo
    exaust_entrar_denovo = 5 * 60,         -- 5*60 = 5 minutos
    need_level = 100,                    -- level necessário para entrar / caso não precise coloque 1 ou 8
    remover_player_tempo = true,        -- remover o player depois de tanto tempo la dentro? / evita o player ficar la trapando o dia todo
    remover_timer = 10*60,                -- quando tempo la dentro pra remover? / 10*60 = 10 minutos
}

local REWARD = {

    --[action id] = {rewards = {{item, quantidade}, {item, quantidade}}},        -- pode colocar quantas rewards quiser
    [5002] = {storage_reward = 5441400, rewards = {{2160, 1}}},
    [5033] = {storage_reward = 5441401, rewards = {{2160, 1}}},        -- quando diminuir a quantidadede recompensa, ceritifique que deixou certo a quantidade de {} pra n bugar o script

    repetir_reward = false,                        -- ganhar a recompensa sempre que fizer a quest?
    teleportar_final = {x=1000,y=1000,z=7},        -- pra onde teleportar quando ele clicar na estatua de recompensa? (normalmente eh o templo)
}


-- função de tempo
local function getTimeString(self)
    local format = {
        {'dia', self / 60 / 60 / 24},
        {'hora', self / 60 / 60 % 24},
        {'minuto', self / 60 % 60},
        {'segundo', self % 60}
    }
    
    local out = {}
    for k, t in ipairs(format) do
        local v = math.floor(t[2])
        if(v > 0) then
            table.insert(out, (k < #format and (#out > 0 and ', ' or '') or ' e ') .. v .. ' ' .. t[1] .. (v ~= 1 and 's' or ''))
        end
    end
    local ret = table.concat(out)
    if ret:len() < 16 and ret:find('segundo') then
        local a, b = ret:find(' e ')
        ret = ret:sub(b+1)
    end
    return ret
end

-- FUNÇÃO PARA KICKAR O PLAYER DA SALA APÓS TANTO TEMPO
local function removePlayersTime(frompos, topos)
    for x = frompos.x, topos.x  do
        for y = frompos.y, topos.y do
            local remove, clean = true, true
            local pos = {x = x, y = y, z = frompos.z}
            local m = getTopCreature(pos).uid
            if m ~= 0 and isPlayer(m) then
                doTeleportThing(m, getTownTemplePosition(1))
            end
        end
    end
    return true
end

-- FUNÇÃO PARA REMOVER O BOSS AO KICKAR O PLAYER DA SALA
local function verificaBoss(frompos, topos)
    for x = frompos.x, topos.x  do
        for y = frompos.y, topos.y do
            if isMonster(getThingFromPos({x = x, y = y, z = frompos.z, stackpos = 253}).uid) then
                doRemoveCreature(getThingFromPos({x = x, y = y, z = frompos.z, stackpos = 253}).uid)
            end
        end
    end
end

local function give_reward(cid, entregar)
    
    local text = 'você recebeu '            -- string que salvará o nome das recompensas
    if entregar then                -- existe as rewards?
        for i=1, #entregar do
            doPlayerAddItem(cid, entregar[i][1], entregar[i][2])        -- adiciona os item ao player
            text = text..entregar[i][2]..getItemNameById(entregar[i][1])..entregar[i][1] > 1 and "s" or ""
            if i == #entregar then
                text = text.."."    -- caso seja o ultimo coloca ponto final
            else
                text = text..", "    -- se não, bota virgula
            end
        end
        doPlayerSendTextMessage(cid, 22, text)
    end
    
    return true
end

local saveEvent = {}   -- evento pra checkar o player na sala de espera

function onUse(cid, item, frompos, itemEx, topos)
    
    local check = {}
    local actionID = item.actionid
    if config[actionID] then
        -- checa o cooldown e se pode entrar na sala
        if config.use_cooldown_global then
            if getPlayerStorageValue(cid, config.storage_timer_global) - os.time() > 0 then
                doPlayerSendCancel(cid, 'Aguarde, você ainda não pode entrar, está com cooldown de'..getTimeString(getPlayerStorageValue(cid, config.storage_timer_global) - os.time())..'.') 
                return true
            end
        else
            if getPlayerStorageValue(cid, config[actionID].storage_timer) > 0 then
                doPlayerSendCancel(cid, 'Aguarde, você ainda não pode entrar, está com cooldown de'..getTimeString(getPlayerStorageValue(cid, config[actionID].storage_timer) - os.time())..'.') 
                return true
            end
        end
        if #getPlayersInArea(config.[actionID].fromP, config.[actionID].toP) > 0 then
            doPlayerSendCancel(cid, 'Aguarde, tem jogadores la dentro.') 
            return true
        end
        if getPlayerLevel(cid) < config.need_level then
            doPlayerSendCancel(cid, 'Você não tem o level necessário.') 
            return true
        end
        -- caso tenha o level, e não tenha player la dentro, então faz a quest acontecer
        verificaBoss(config.[actionID].fromP, config.[actionID].to)        -- remove o boss do antigo player caso haja
        doTeleportThing(cid, config[actionID].posPlayer)            -- teleporta o player pra posição
        doCreateMonster(config[actionID].monster_name, config[actionID].posMonstro, false, true)        -- cria o monstro na posição
        if config.remover_player_tempo then            -- se remover o player depois de tanto tempo for true
            saveEvent[getPlayerGUID(cid)] = addEvent(function() 
                removePlayersTime(config.[actionID].fromP, config.[actionID].toP) 
            end, config.remover_timer * 1000) -- remover o player depois do tempo
        end
        if config.use_cooldown_global then
            setPlayerStorageValue(cid, config.storage_timer_global, os.time() + config.exaust_entrar_denovo)    -- cooldown caso seja de todas as salas / n mexer
        else
            setPlayerStorageValue(cid, config[actionID].storage_timer, os.time() + config.exaust_entrar_denovo)        -- cooldown pra entrar de novo / n mexer
        end
        return true
    end


    -- ESTATUA DE RECOMPENSA
    if REWARD[actionID] then                    -- caso tenha clicado na estatua de recompensa
        local entregar = REWARD[actionID].rewards
        if getPlayerStorageValue(cid, REWARD[actionID].storage_reward) == -1 then                -- caso nunca tenha recebido a recompensa
            give_reward(cid, entregar)
        else                                    -- caso ja tenha recebido
            if REWARD.repetir_reward then        -- checa se pode repetir a recompensa
                give_reward(cid, entregar)
            else                                -- se não só da a mensagem q ja recebeu
                doPlayerSendTextMessage(cid, 22, "Você já recebeu sua recompensa.")
            end
        end
    doTeleportThing(cid, REWARD.teleportar_final)     -- teleporta o player pra posição quando clicar na estatua de recompensa
    stopEvent(saveEvent[getPlayerGUID(cid)])        -- para o evento de jogar ele pro templo
    saveEvent[getPlayerGUID(cid)] = nil
    end

return true
end

Link para o post
Compartilhar em outros sites
Em 15/02/2023 em 21:22, Straikar disse:

Não deu certo

Não deu certo pq vc botou nome errado ou o arquivo no lugar errado, o próprio erro te falou isso.
"no such file or directory"
vc colocou no XML que o arquivo ta na raiz do actions
data/actions/scripts/desafio2.lua < ele ta exatamente nesse diretório? pq a distro falou que não, se tiver dentro de pasta coloque o diretório correto

<action actionid="5001;5002" script="PASTA/desafio2.lua" /> << caso esteja dentro de alguma pasta

se atente a arrumar os action ID dentro do arquivo pois vai dar erro caso você n arrume.

como esta no script 
-- actions ID da estatua da entrada
    [25486] = {...},
    [25487]  = {...},
mude esse action pro action da primeira estatua
SE ATENTE BEM AOS ACTIONS

Link para o post
Compartilhar em outros sites
--[[
    Observação:
    No mapa colocar o uid 5032 na estátua que dará recompensa
    No mapa colocar o uid 5033 na estátua que teleportará o jogador para dentro da sala
]]
local config = {
    reward = { id = 2152, amount = 50 },
    playerLevel = 100,
    playerTeleportTo = { x = 100, y = 100, z = 7 },
    checkArea = { fromPosition = { x = 100, y = 100, z = 7 }, toPosition = { x = 100, y = 100, z = 7 } },
    monsterName = "Papao",
    monsterSpawnPosition = { x = 100, y = 100, z = 7 },
    exitPosition = { x = 100, y = 100, z = 7 },
    time = 5,
}

function onUse(cid, item, frompos, item2, topos)
    if item.uid == 5032 then
        local storage = 1164372809
        if getPlayerStorageValue(cid, storage) < 1 then
            setPlayerStorageValue(cid, storage, 1)
            doPlayerAddItem(cid, config.reward.id, config.reward.amount)
            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Voce foi recompensado com 5000 gold coins.")
        end
        doTeleportThing(cid, config.exitPosition, false)
    end

    if item.uid == 5033 then
        local storage, fromPos, toPos, summon = 6431953401, config.checkArea.fromPosition, config.checkArea.toPosition, 0
        local now = os.time()
        local check = (now - getPlayerStorageValue(cid, storage))
        for x = fromPos.x, toPos.x do
            for y = fromPos.y, toPos.y do
                for z = fromPos.z, toPos.z do
                    local monster = getTopCreature({ x = x, y = y, z = z }).uid
                    if ((isMonster(monster)) and (getCreatureName(monster) == config.monsterName)) then
                        summon = summon + 1
                    end
                end
            end
        end

        if ((getPlayerLevel(cid) < config.playerLevel) and (getPlayerAccess(cid) < 3)) then
            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Precisa ter pelo menos nivel " .. config.playerLevel)
            return true
        end

        if ((check < 0) and (getPlayerAccess(cid) < 3)) then
            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE,
                "Faz menos de " .. config.time .. " minutos que voce enfrentou o monstro.")
            return true
        end

        if summon < 1 then
            doSummonCreature(config.monsterName, config.monsterSpawnPosition)
        end

        doTeleportThing(cid, config.playerTeleportTo, false)
        setPlayerStorageValue(cid, storage, (now + (60 * config.time)))
    end

    return true
end

 

Editado por Anderson Sacani
Remoção de bugs (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
--[[
    Observação:
    No mapa colocar o uid 5032 na estátua que dará recompensa
    No mapa colocar o uid 5033 na estátua que teleportará o jogador para dentro da sala
]]
local config = {
    reward = { id = 2152, amount = 50 },
    playerLevel = 100,
    playerTeleportTo = { x = 100, y = 100, z = 7 },
    checkArea = { fromPosition = { x = 100, y = 100, z = 7 }, toPosition = { x = 100, y = 100, z = 7 } },
    monsterName = "Papao",
    monsterSpawnPosition = { x = 100, y = 100, z = 7 },
    exitPosition = { x = 100, y = 100, z = 7 },
    time = 5,
}

function onUse(cid, item, frompos, item2, topos)
    if item.uid == 5032 then
        local storage = 1164372809
        if getPlayerStorageValue(cid, storage) < 1 then
            setPlayerStorageValue(cid, storage, 1)
            doPlayerAddItem(cid, config.reward.id, config.reward.amount)
            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Voce foi recompensado com 5000 gold coins.")
        end
        doTeleportThing(cid, config.exitPosition, false)
    end

    if item.uid == 5033 then
        local storage, fromPos, toPos = 6431953401, config.checkArea.fromPosition, config.checkArea.toPosition
        local now = os.time()
        local check = (now - getPlayerStorageValue(cid, storage))

        local monster_, player_ = 0, 0
        for x = fromPos.x, toPos.x do
            for y = fromPos.y, toPos.y do
                for z = fromPos.z, toPos.z do
                    local pid = getTopCreature({ x = x, y = y, z = z }).uid
                    if ((isMonster(pid)) and (getCreatureName(pid) == config.monsterName)) then
                        monster_ = monster_ + 1
                    end
                    if isPlayer(pid) then
                        player_ = player_ + 1
                    end
                end
            end
        end

        if ((getPlayerLevel(cid) < config.playerLevel) and (getPlayerAccess(cid) < 3)) then
            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Precisa ter pelo menos nivel " .. config.playerLevel)
            return true
        end

        if ((check < 0) and (getPlayerAccess(cid) < 3)) then
            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE,
                "Faz menos de " .. config.time .. " minutos que voce enfrentou o monstro.")
            return true
        end

        if ((player_ > 0) and (getPlayerAccess(cid) < 3)) then
            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Alguem esta na sala!")
            return true
        end

        if monster_ < 1 then
            doSummonCreature(config.monsterName, config.monsterSpawnPosition)
        end

        doTeleportThing(cid, config.playerTeleportTo, false)
        setPlayerStorageValue(cid, storage, (now + (60 * config.time)))
    end

    return true
end

 

Link para o post
Compartilhar em outros sites
  • Moderador

 

29 minutos atrás, Straikar disse:

Tudo certo, resolvemos por discord, obrigado a força 

Se puder, coloca o script por gentileza, que ficou certinho, pois também pode ser que alguma outra pessoa precise também, e já ajudaria  a comunidade

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por LasseXeterno
      Então, estou tentando adicionar uma nova "race" no meu Ot de base Cyan, tentei seguir 3 tutoriais aqui do tibiaking, um sobre race, porém nos códigos do meu servidor não tem o constant.h e nem o monster.cpp. E o outro tutorial, eu fiz tudo que ele pediu e quando entrei no game para testar, funcionava os golpes e as imunidades, porém não aparecia o número do dano e nem a cor.  Usei esse tutorial como base: 
      Pois ele é derivado. E o outro tutorial que usei foi: 
      Porém nesse, não consegui achar a const.h, e quando fui nos arquivos do creaturescript e adicionei uma cor nova a "COLOR_FAIRY", quando abro o jogo, os pokemons que seriam teoricamente "fada", o que eu usei de teste foi a Clefable. A Clefable tomava IK e dava IK no seu atk do tipo fada. 
      Além de que, o meu erro principal é esse: Warning - Monsters::loadMonster] Unknown race type fairy. (data/monster/pokes/geracao 1/Clefable.xml)
       Pois como eu já disse, não consigo achar onde adicionar uma nova race.

    • Por yuriowns
      Salve rapazes, tranquilo? Preciso de ajuda pra colocar para os npc's que vendem pots verificarem quantos itens possuem no tile em que o player está e se tiver com +80 itens no sqm, o npc avisa e não vende nada até o player ir em um sqm com menos de 80 itens no chão.
       
    • Por A.Mokk
      .Qual servidor ou website você utiliza como base? 
      TFS 0.4
      Qual o motivo deste tópico? 
      Bom pessoal, a algumas semanas atras eu joguei um servidor que havia sistema de imbuimento sendo 8.60, no servidor se utilizava a spellwand para encantar as armas, os comandos eram dado no canal Imbuiment... Gostaria de saber se alguém teria como disponibilizar algum sistema de imbuimento, já procurei pra caramba aqui no fórum mas tudo que encontro é pra versões acima da que eu uso.
       
    • Por Mateus Robeerto
      Não sei se aqui é a área ou algum local para solicitar a alteração do email antigo... Não lembro mais a senha dele, nem a resposta secreta para acessar. Peço a algum administrador ou moderador para, por favor, alterar o email para o novo.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo