Ir para conteúdo

Featured Replies

Postado

ALO COM QUE EU FALO?

 

Gente meu Script Fishing System do meu server de PokeTibia com Level System é para fazer com que o Player só possa pescar com a X outfit, porem isso não ocorre ele diz: You are already fishing (Você já está pescando) e nem apareçe animação de pesca ou nada do tipo e com qualquer outfit... pf me ajudem

 

Arquivo encontrado em: Server\data\actions\scripts\tools\fishing.lua

 

local fishing = {
["Magikarp"] = {skill = 0, level = -2},
["Horsea"] = {skill = 20, level = 2},
["Poliwag"] = {skill = 20, level = 2},
["Krabby"] = {skill = 20, level = 2},
["Goldeen"] = {skill = 20, level = 5},
["Tentacool"] = {skill = 35, level = 2},
["Staryu"] = {skill = 60, level = 6},
["Kingler"] = {skill = 75, level = 14},
["Seaking"] = {skill = 50, level = 11},
["Starmie"] = {skill = 60, level = 20},
["Poliwhirl"] = {skill = 60, level = 9},
["Seadra"] = {skill = 70, level = 15},
["Gyarados"] = {skill = 100, level = 5},
["Tentacruel"] = {skill = 100, level = 5},
["Blastoise"] = {skill = 100, level = 5},
}

local storage = 15458
local storageP = 154580
local bonus = 1
local limite = 80

local function doFish(cid, pos, ppos, chance, interval, number)
        if not isCreature(cid) then return false end

        if getThingPos(cid).x ~= ppos.x or getThingPos(cid).y ~= ppos.y then
        return false end

        if getPlayerStorageValue(cid, storage) ~= number then return false end

        doSendMagicEffect(pos, CONST_ME_LOSEENERGY)

local peixe = 0
local playerpos = getClosestFreeTile(cid, getThingPos(cid))
local fishes = {}
local randomfish = ""

                                                                  --alterado!!
	if getPlayerSkillLevel(cid, 6) < limite then
	doPlayerAddSkillTry(cid, 6, 20)
	end

for a, b in pairs (fishing) do
	if getPlayerSkillLevel(cid, 6) >= b.skill then
		table.insert(fishes, a)
	end
end

	if math.random(1, 100) <= chance then
		if getPlayerSkillLevel(cid, 6) < limite then
		doPlayerAddSkillTry(cid, 6, bonus)
		end
		randomfish = fishes[math.random(#fishes)]
	    peixe = doSummonCreature(randomfish, playerpos)
		if not isCreature(peixe) then
			addEvent(doFish, interval, cid, pos, ppos, chance, interval, number)
		return true
		end
	doSetMonsterPassive(peixe)
	doWildAttackPlayer(peixe, cid)
		if #getCreatureSummons(cid) >= 1 then
        		doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 173)
			doChallengeCreature(getCreatureSummons(cid)[1], peixe)
        	else
			doSendMagicEffect(getThingPos(cid), 173)
			doChallengeCreature(cid, peixe)
        	end
		setPlayerStorageValue(cid, storageP, -1)
		doCreatureSetNoMove(cid, false)
		doRemoveCondition(cid, CONDITION_OUTFIT)
	return true
	end
addEvent(doFish, interval, cid, pos, ppos, chance, interval, number)
setPlayerStorageValue(cid, storageP, 1)
doCreatureSetNoMove(cid, true)
return true
end

local waters = {4614, 4615, 4616, 4617, 4618, 4619, 4608, 4609, 4610, 4611, 4612, 4613, 7236, 4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625, 4665, 4666, 4820, 4821, 4822, 4823, 4824, 4825}

function onUse(cid, item, fromPos, itemEx, toPos)

if getPlayerGroupId(cid) == 11 then
return true
end

local checkPos = toPos
checkPos.stackpos = 0

if getTileThingByPos(checkPos).itemid <= 0 then
doPlayerSendCancel(cid, '!')
return true
end

if not isInArray(waters, getTileInfo(toPos).itemid) then
return true
end

if (getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 63215) >= 1) and not canFishWhileSurfingOrFlying then
doPlayerSendCancel(cid, "You can't fish while surfing/flying.")
return true
end

if isInArray(waters, getTileInfo(getThingPos(cid)).itemid) then
doPlayerSendCancel(cid, "You can\'t fish while surfing neither flying above water.")
return true
end

if getTileInfo(getThingPos(getCreatureSummons(cid)[1] or cid)).protection then
	doPlayerSendCancel(cid, "You can't fish pokémons if you or your pokémon is in protection zone.")
return true
end



if getPlayerStorageValue(cid, storageP) > 0 then
doPlayerSendTextMessage(cid, 27, "You are already fishing.")
return true
end
if getPlayerSex(cid) == 1 then
	if getCreatureOutfit(cid).lookType ~= 520 then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "'You need fisher outfit for fishing'/'Você precisa da outfit 'Fisher' para pescar'")
	return false
	end
else
	if getCreatureOutfit(cid).lookType ~= 521 then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need fisher outfit for fishing.")
	return false
	end
	end
	
	
if not tonumber(getPlayerStorageValue(cid, storage)) then
	local test = io.open("data/sendtobrun123.txt", "a+")
	local read = ""
	if test then
		read = test:read("*all")
		test:close()
	end
	read = read.."\n[fishing.lua] "..getCreatureName(cid).." - "..getPlayerStorageValue(cid, storage)..""
	local reopen = io.open("data/sendtobrun123.txt", "w")
	reopen:write(read)
	reopen:close()
	setPlayerStorageValue(cid, storage, 1)
end

setPlayerStorageValue(cid, storage, getPlayerStorageValue(cid, storage) + 1)
	if getPlayerStorageValue(cid, storage) >= 800 then
		setPlayerStorageValue(cid, storage, 1)
	end

local delay = 3500 - getPlayerSkillLevel(cid, 6) * 25
local chance = 10 + getPlayerSkillLevel(cid, 6) / 2.5
outfit = getCreatureOutfit(cid)
if getPlayerSex(cid) == 0 then
	out = 1467
else
	out = 1468
end
doSetCreatureOutfit(cid, {lookType = out, lookHead = outfit.lookHead, lookBody = outfit.lookBody, lookLegs = outfit.lookLegs, lookFeet = outfit.lookFeet}, -1)
doFish(cid, toPos, getThingPos(cid), chance, delay, getPlayerStorageValue(cid, storage))

return true
end

REP+ E VLW

Editado por TsplayerT (veja o histórico de edições)

Resolvido por Fir3element

Ir para solução
Postado
  • Solução

Tenta ai:

local fishing = {
    ["Magikarp"] = {skill = 0, level = -2},
    ["Horsea"] = {skill = 20, level = 2},
    ["Poliwag"] = {skill = 20, level = 2},
    ["Krabby"] = {skill = 20, level = 2},
    ["Goldeen"] = {skill = 20, level = 5},
    ["Tentacool"] = {skill = 35, level = 2},
    ["Staryu"] = {skill = 60, level = 6},
    ["Kingler"] = {skill = 75, level = 14},
    ["Seaking"] = {skill = 50, level = 11},
    ["Starmie"] = {skill = 60, level = 20},
    ["Poliwhirl"] = {skill = 60, level = 9},
    ["Seadra"] = {skill = 70, level = 15},
    ["Gyarados"] = {skill = 100, level = 5},
    ["Tentacruel"] = {skill = 100, level = 5},
    ["Blastoise"] = {skill = 100, level = 5},
}

local storage = 15458
local storageP = 154581
local bonus = 1
local limite = 80

local function doFish(cid, pos, ppos, chance, interval, number)
    if not isCreature(cid) then
        return false
    end
    
    if getThingPos(cid).x ~= ppos.x or getThingPos(cid).y ~= ppos.y then
        return false
    end
    
    if getPlayerStorageValue(cid, storage) ~= number then
        return false
    end
    
    doSendMagicEffect(pos, CONST_ME_LOSEENERGY)
    
    local peixe = 0
    local playerpos = getClosestFreeTile(cid, getThingPos(cid))
    local fishes = {}
    local randomfish = ""
    
    --alterado!!
    if getPlayerSkillLevel(cid, 6) < limite then
        doPlayerAddSkillTry(cid, 6, 20)
    end
    
    for a, b in pairs (fishing) do
        if getPlayerSkillLevel(cid, 6) >= b.skill then
            table.insert(fishes, a)
        end
    end
    
    if math.random(1, 100) <= chance then
        if getPlayerSkillLevel(cid, 6) < limite then
            doPlayerAddSkillTry(cid, 6, bonus)
        end
        randomfish = fishes[math.random(#fishes)]
        peixe = doSummonCreature(randomfish, playerpos)
        if not isCreature(peixe) then
            addEvent(doFish, interval, cid, pos, ppos, chance, interval, number)
            return true
        end
        doSetMonsterPassive(peixe)
        doWildAttackPlayer(peixe, cid)
        if #getCreatureSummons(cid) >= 1 then
            doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 173)
            doChallengeCreature(getCreatureSummons(cid)[1], peixe)
        else
            doSendMagicEffect(getThingPos(cid), 173)
            doChallengeCreature(cid, peixe)
        end
        setPlayerStorageValue(cid, storageP, -1)
        doCreatureSetNoMove(cid, false)
        doRemoveCondition(cid, CONDITION_OUTFIT)
        return true
    end
    addEvent(doFish, interval, cid, pos, ppos, chance, interval, number)
    setPlayerStorageValue(cid, storageP, 1)
    doCreatureSetNoMove(cid, true)
    return true
end

local waters = {4614, 4615, 4616, 4617, 4618, 4619, 4608, 4609, 4610, 4611, 4612, 4613, 7236, 4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625, 4665, 4666, 4820, 4821, 4822, 4823, 4824, 4825}

function onUse(cid, item, fromPos, itemEx, toPos)
    if getPlayerGroupId(cid) == 11 then
        return true
    end
    
    local checkPos = toPos
    checkPos.stackpos = 0
    
    if getTileThingByPos(checkPos).itemid <= 0 then
        doPlayerSendCancel(cid, '!')
        return true
    end
    
    if not isInArray(waters, getTileInfo(toPos).itemid) then
        return true
    end
    
    if (getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 63215) >= 1) and not canFishWhileSurfingOrFlying then
        doPlayerSendCancel(cid, "You can't fish while surfing/flying.")
        return true
    end
    
    if isInArray(waters, getTileInfo(getThingPos(cid)).itemid) then
        doPlayerSendCancel(cid, "You can\'t fish while surfing neither flying above water.")
        return true
    end
    
    if getTileInfo(getThingPos(getCreatureSummons(cid)[1] or cid)).protection then
        doPlayerSendCancel(cid, "You can't fish pokémons if you or your pokémon is in protection zone.")
        return true
    end

    if getPlayerSex(cid) == 1 then
        if getCreatureOutfit(cid).lookType ~= 520 then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "'You need fisher outfit for fishing'/'Você precisa da outfit 'Fisher' para pescar'")
            return false
        end
    else
        if getCreatureOutfit(cid).lookType ~= 521 then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need fisher outfit for fishing.")
            return false
        end
    end
    
    if getPlayerStorageValue(cid, storageP) > 0 then
        doPlayerSendTextMessage(cid, 27, "You are already fishing.")
        return true
    end
    
    if not tonumber(getPlayerStorageValue(cid, storage)) then
        local test = io.open("data/sendtobrun123.txt", "a+")
        local read = ""
        if test then
            read = test:read("*all")
            test:close()
        end
        read = read.."\n[fishing.lua] "..getCreatureName(cid).." - "..getPlayerStorageValue(cid, storage)..""
        local reopen = io.open("data/sendtobrun123.txt", "w")
        reopen:write(read)
        reopen:close()
        setPlayerStorageValue(cid, storage, 1)
    end
    
    setPlayerStorageValue(cid, storage, getPlayerStorageValue(cid, storage) + 1)
    if getPlayerStorageValue(cid, storage) >= 800 then
        setPlayerStorageValue(cid, storage, 1)
    end
    
    local delay = 3500 - getPlayerSkillLevel(cid, 6) * 25
    local chance = 10 + getPlayerSkillLevel(cid, 6) / 2.5
    outfit = getCreatureOutfit(cid)
    if getPlayerSex(cid) == 0 then
        out = 1467
    else
        out = 1468
    end

    doSetCreatureOutfit(cid, {lookType = out, lookHead = outfit.lookHead, lookBody = outfit.lookBody, lookLegs = outfit.lookLegs, lookFeet = outfit.lookFeet}, -1)
    doFish(cid, toPos, getThingPos(cid), chance, delay, getPlayerStorageValue(cid, storage))
    return true
end

 

O tópico foi movido para a área correta, preste mais atenção da próxima vez!
Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680

Este tópico foi movido:
De: "OTServAprovação de Tópicos de Conteúdos"
Para: "OTServSuporte OTServSuporte de Scripts"

Postado
  • Autor

@TsplayerT, negativado por postar na area errado. Um dia você aprende! (ou toma ban antes) 

¬¬ como quer que eu aprenda se quando eu posto coisas de PokeTibia no Suporte de Script movem de volta pra outro lugar?

Tenta ai:

local fishing = {
    ["Magikarp"] = {skill = 0, level = -2},
    ["Horsea"] = {skill = 20, level = 2},
    ["Poliwag"] = {skill = 20, level = 2},
    ["Krabby"] = {skill = 20, level = 2},
    ["Goldeen"] = {skill = 20, level = 5},
    ["Tentacool"] = {skill = 35, level = 2},
    ["Staryu"] = {skill = 60, level = 6},
    ["Kingler"] = {skill = 75, level = 14},
    ["Seaking"] = {skill = 50, level = 11},
    ["Starmie"] = {skill = 60, level = 20},
    ["Poliwhirl"] = {skill = 60, level = 9},
    ["Seadra"] = {skill = 70, level = 15},
    ["Gyarados"] = {skill = 100, level = 5},
    ["Tentacruel"] = {skill = 100, level = 5},
    ["Blastoise"] = {skill = 100, level = 5},
}

local storage = 15458
local storageP = 154581
local bonus = 1
local limite = 80

local function doFish(cid, pos, ppos, chance, interval, number)
    if not isCreature(cid) then
        return false
    end
    
    if getThingPos(cid).x ~= ppos.x or getThingPos(cid).y ~= ppos.y then
        return false
    end
    
    if getPlayerStorageValue(cid, storage) ~= number then
        return false
    end
    
    doSendMagicEffect(pos, CONST_ME_LOSEENERGY)
    
    local peixe = 0
    local playerpos = getClosestFreeTile(cid, getThingPos(cid))
    local fishes = {}
    local randomfish = ""
    
    --alterado!!
    if getPlayerSkillLevel(cid, 6) < limite then
        doPlayerAddSkillTry(cid, 6, 20)
    end
    
    for a, b in pairs (fishing) do
        if getPlayerSkillLevel(cid, 6) >= b.skill then
            table.insert(fishes, a)
        end
    end
    
    if math.random(1, 100) <= chance then
        if getPlayerSkillLevel(cid, 6) < limite then
            doPlayerAddSkillTry(cid, 6, bonus)
        end
        randomfish = fishes[math.random(#fishes)]
        peixe = doSummonCreature(randomfish, playerpos)
        if not isCreature(peixe) then
            addEvent(doFish, interval, cid, pos, ppos, chance, interval, number)
            return true
        end
        doSetMonsterPassive(peixe)
        doWildAttackPlayer(peixe, cid)
        if #getCreatureSummons(cid) >= 1 then
            doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 173)
            doChallengeCreature(getCreatureSummons(cid)[1], peixe)
        else
            doSendMagicEffect(getThingPos(cid), 173)
            doChallengeCreature(cid, peixe)
        end
        setPlayerStorageValue(cid, storageP, -1)
        doCreatureSetNoMove(cid, false)
        doRemoveCondition(cid, CONDITION_OUTFIT)
        return true
    end
    addEvent(doFish, interval, cid, pos, ppos, chance, interval, number)
    setPlayerStorageValue(cid, storageP, 1)
    doCreatureSetNoMove(cid, true)
    return true
end

local waters = {4614, 4615, 4616, 4617, 4618, 4619, 4608, 4609, 4610, 4611, 4612, 4613, 7236, 4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625, 4665, 4666, 4820, 4821, 4822, 4823, 4824, 4825}

function onUse(cid, item, fromPos, itemEx, toPos)
    if getPlayerGroupId(cid) == 11 then
        return true
    end
    
    local checkPos = toPos
    checkPos.stackpos = 0
    
    if getTileThingByPos(checkPos).itemid <= 0 then
        doPlayerSendCancel(cid, '!')
        return true
    end
    
    if not isInArray(waters, getTileInfo(toPos).itemid) then
        return true
    end
    
    if (getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 63215) >= 1) and not canFishWhileSurfingOrFlying then
        doPlayerSendCancel(cid, "You can't fish while surfing/flying.")
        return true
    end
    
    if isInArray(waters, getTileInfo(getThingPos(cid)).itemid) then
        doPlayerSendCancel(cid, "You can\'t fish while surfing neither flying above water.")
        return true
    end
    
    if getTileInfo(getThingPos(getCreatureSummons(cid)[1] or cid)).protection then
        doPlayerSendCancel(cid, "You can't fish pokémons if you or your pokémon is in protection zone.")
        return true
    end

    if getPlayerSex(cid) == 1 then
        if getCreatureOutfit(cid).lookType ~= 520 then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "'You need fisher outfit for fishing'/'Você precisa da outfit 'Fisher' para pescar'")
            return false
        end
    else
        if getCreatureOutfit(cid).lookType ~= 521 then
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need fisher outfit for fishing.")
            return false
        end
    end
    
    if getPlayerStorageValue(cid, storageP) > 0 then
        doPlayerSendTextMessage(cid, 27, "You are already fishing.")
        return true
    end
    
    if not tonumber(getPlayerStorageValue(cid, storage)) then
        local test = io.open("data/sendtobrun123.txt", "a+")
        local read = ""
        if test then
            read = test:read("*all")
            test:close()
        end
        read = read.."\n[fishing.lua] "..getCreatureName(cid).." - "..getPlayerStorageValue(cid, storage)..""
        local reopen = io.open("data/sendtobrun123.txt", "w")
        reopen:write(read)
        reopen:close()
        setPlayerStorageValue(cid, storage, 1)
    end
    
    setPlayerStorageValue(cid, storage, getPlayerStorageValue(cid, storage) + 1)
    if getPlayerStorageValue(cid, storage) >= 800 then
        setPlayerStorageValue(cid, storage, 1)
    end
    
    local delay = 3500 - getPlayerSkillLevel(cid, 6) * 25
    local chance = 10 + getPlayerSkillLevel(cid, 6) / 2.5
    outfit = getCreatureOutfit(cid)
    if getPlayerSex(cid) == 0 then
        out = 1467
    else
        out = 1468
    end

    doSetCreatureOutfit(cid, {lookType = out, lookHead = outfit.lookHead, lookBody = outfit.lookBody, lookLegs = outfit.lookLegs, lookFeet = outfit.lookFeet}, -1)
    doFish(cid, toPos, getThingPos(cid), chance, delay, getPlayerStorageValue(cid, storage))
    return true
end

 

O tópico foi movido para a área correta, preste mais atenção da próxima vez!

Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680

Este tópico foi movido:

De: "OTServAprovação de Tópicos de Conteúdos"

Para: "OTServSuporte OTServSuporte de Scripts"

'GG IZI' mt obrg te dou mais REPs amanha :D

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.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo