Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado

 

Salveeee, ó eu aqui de novo com mais um problema kk... sem enrolação segue aí,

troquei o sistema do meu PDA, para o sistema do DXP, aquele que fica com a vara na mão enquanto pesca e tals, mas me encontro com erros,  e n acontece nada no servidor, segue o erro

[05/05/2020 23:59:44] [Error - Action Interface] 
[05/05/2020 23:59:44] data/actions/scripts/Fishing_System/fishing.lua:onUse
[05/05/2020 23:59:44] Description: 
[05/05/2020 23:59:44] data/actions/scripts/Fishing_System/fishing.lua:108: attempt to call global 'isWatchingTv' (a nil value)
[05/05/2020 23:59:44] stack traceback:
[05/05/2020 23:59:44] 	data/actions/scripts/Fishing_System/fishing.lua:108: in function <data/actions/scripts/Fishing_System/fishing.lua:99>

o meu script está assim

local fishing = {
	[-1] = { segs = 5, pokes = {{"Magikarp", 5}}, hoeen = {{"Magikarp", 1}}},
	
	[3976] = { segs = 5, pokes = {{"Horsea", 5}, {"Goldeen", 3}, {"Poliwag", 2}, {"Remoraid", 2}}, hoeen = {{"Carvanha", 3}, {"Surskit", 2}}}, 
	
	[12855] = { segs = 5, pokes = {{"Tentacool", 3}, {"Staryu", 2}, {"Krabby", 3}, {"Shellder", 2}}, hoeen = {{"Corphish", 2}, {"Barboach", 2}, {"Luvdisc", 2}}},
	
	[12854] = { segs = 5, pokes = {{"Seel", 2}, {"Squirtle", 2}, {"Seaking", 1}, {"Chinchou", 2}}, hoeen = {{"Spheal", 2}, {"Clamperl", 3}}},
	
	[12858] = { segs = 5, pokes = {{"Seaking", 2}, {"Seadra", 2}, {"Poliwhirl", 2}}, hoeen = {{"Marshtomp", 3}, {"Relicanth", 3}}},
	
	[12857] = { segs = 6, pokes = {{"Kingler", 2}, {"Wartortle", 2}, {"Slowbro", 2}, {"Corsola", 2}, {"Qwilfish", 2}}, hoeen = {{"Sealeo", 4}}},
	
	[12860] = { segs = 6, pokes = {{"Starmie", 1}, {"Dewgong", 2}, {"Cloyster", 2}, {"Lanturn", 2}}, hoeen = {{"Whiscash", 2}, {"Sharpedo", 3}}},
	
	[12859] = { segs = 7, pokes = {{"Cloyster", 2}, {"Poliwrath", 2}, {"Politoed", 2}, {"Octillery", 2}}, hoeen = {{"Huntail", 2}, {"Gorebyss", 2}}},
	
	[12856] = { segs = 7, pokes = {{"Dratini", 3}, {"Dragonair", 2}}, hoeen = {{"Wailmer", 1}}},
	
	[12853] = { segs = 7, pokes = {{"Gyarados", 1}, {"Kingdra", 1}, {"Mantine", 1}, {"Tentacruel", 1}, {"Giant Magikarp", 1}, {"Lapras", 1}}, hoeen = {{"Wailord", 1}, {"Wailrein", 1}, {"Swampert", 1}}},
}

local storageP = 154585
local sto_iscas = 5648454 --muda aki pra sto q ta no script da isca
local bonus = 30
local limite = 100
local storageTime = 174529

local function doFish(cid, pos, ppos, interval)
	
	if not isCreature(cid) then return false end
	
	if getPlayerStorageValue(cid, 55006) >= 1 then 
		doPlayerSendCancel(cid, "Você não pode pescar enquanto está em duel.")
		return true
	end
	
	if getThingPos(cid).x ~= ppos.x or getThingPos(cid).y ~= ppos.y then
		return false 
	end
	
	doSendMagicEffect(pos, CONST_ME_LOSEENERGY)
	
	if interval > 0 then
		addEvent(doFish, 1000, cid, pos, ppos, interval-1)
		return true
	end 
	
	local peixe = 0
	local playerpos = getClosestFreeTile(cid, getThingPos(cid))
	local fishes = fishing[getPlayerStorageValue(cid, sto_iscas)]
	local random = {} 
	
	if getPlayerSkillLevel(cid, 6) < limite then 
		local pesca = getPlayerSkillLevel(cid, 6)
		
		if pesca >= 1 and pesca <= 20 then
			doPlayerAddSkillTry(cid, 6, bonus * 15)
		elseif pesca >= 21 and pesca <= 26 then
			doPlayerAddSkillTry(cid, 6, bonus * 35)	
		elseif pesca >= 27 and pesca <= 30 then
			doPlayerAddSkillTry(cid, 6, bonus * 50)
		elseif pesca >= 31 and pesca <= 33 then
			doPlayerAddSkillTry(cid, 6, bonus * 186)	
		elseif pesca >= 34 and pesca <= 37 then
			doPlayerAddSkillTry(cid, 6, bonus * 266)	
		elseif pesca >= 38 and pesca <= 41 then
			doPlayerAddSkillTry(cid, 6, bonus * 380)	
		elseif pesca >= 42 and pesca <= 46 then
			doPlayerAddSkillTry(cid, 6, bonus * 413)	
		elseif pesca >= 47 and pesca <= 50 then
			doPlayerAddSkillTry(cid, 6, bonus * 555)			
		else	 
			doPlayerAddSkillTry(cid, 6, bonus * 290)
		end 
	end
	
	--[[if math.random(1, 100) <= chance then
	if getPlayerSkillLevel(cid, 6) < limite then
		doPlayerAddSkillTry(cid, 6, bonus * 5)
	end]]
	
	if getPlayerStorageValue(cid, 123124) >= 1 then
		random = fishes.hoeen[math.random(#fishes.hoeen)]
	else
		random = fishes.pokes[math.random(#fishes.pokes)]
	end
	
	for i = 1, math.random(random[2]) do
		peixe = doSummonCreature(random[1], playerpos)
		if not isCreature(peixe) then
			setPlayerStorageValue(cid, storageP, -1)
			setPlayerStorageValue(cid, storageTime, -1)
			doRemoveCondition(cid, CONDITION_OUTFIT)
			mayNotMove(cid, false)		
			return true
		end
		
		setPlayerStorageValue(peixe, storageP, 1)
		setPlayerStorageValue(peixe, storageTime, 1)
		if #getCreatureSummons(cid) >= 1 then
			doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 0)
			doChallengeCreature(getCreatureSummons(cid)[1], peixe)
		else	
			doSendMagicEffect(getThingPos(cid), 0)
			doChallengeCreature(cid, peixe)
		end
	end
	
	addEvent(setPlayerStorageValue, 100, cid, storageP, -1)
	addEvent(setPlayerStorageValue, 200, cid, storageTime, -1) -- 800
	doRemoveCondition(cid, CONDITION_OUTFIT)
	mayNotMove(cid, false)		
	return true
end

local waters = {11756, 4821, 4820, 4822, 4825}

function onUse(cid, item, fromPos, itemEx, toPos)
	local time = getPlayerStorageValue(cid, 188728) - os.time()
	if time < 1 then
		setPlayerStorageValue(cid, 188728,os.time() + 3)
		
		if isWatchingTv(cid) then
			return true
		end
		
		local checkPos = toPos
		checkPos.stackpos = 0
		
		if getTileThingByPos(checkPos).itemid <= 0 then
			return true
		end
		
		if not isInArray(waters, getTileInfo(toPos).itemid) then
			return true
		end

		if isBiking(cid) then
			doSendMsg(cid, "Você não pode pescar enquanto estiver de bike.")
			return true
		end
		
		if getPlayerStorageValue(cid, storageP) == 1 then 
			doSendMsg(cid, "Aguarde! Você já está pescando.")
			return true
		end
		
		if getPlayerStorageValue(cid, storageTime) == 1 then 
			--if getPlayerStorageValue(cid, storageP) == 1 then
			doSendMsg(cid, "Aguarde! Espere alguns segundos antes de pescar novamente.")
			addEvent(setPlayerStorageValue, 100, cid, storageTime, -1) -- 400
			--else
			-- setPlayerStorageValue(cid, storageTime, -1)
			--end	
			return true
		end
		
		if isRiderOrFlyOrSurf(cid) then
			doPlayerSendCancel(cid, "You can't fish while surfing/flying.")
			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
		
		local delay = fishing[getPlayerStorageValue(cid, sto_iscas)].segs
		
		if getPlayerStorageValue(cid, sto_iscas) ~= -1 then
			if getPlayerItemCount(cid, getPlayerStorageValue(cid, sto_iscas)) >= 1 then
				doPlayerRemoveItem(cid, getPlayerStorageValue(cid, sto_iscas), 1)
			else
				setPlayerStorageValue(cid, sto_iscas, -1)
			end
		end
		
		local outfit = getCreatureOutfit(cid)
		local out = getPlayerSex(cid) == 0 and 1467 or 1468
		
		doSetCreatureOutfit(cid, {lookType = out, lookHead = outfit.lookHead, lookBody = outfit.lookBody, lookLegs = outfit.lookLegs, lookFeet = outfit.lookFeet}, -1)
		setPlayerStorageValue(cid, storageP, 1) --alterei looktype
		setPlayerStorageValue(cid, storageTime, 1)
		mayNotMove(cid, true)		
		local pos2 = getThingPos(itemEx.uid)
		doCreatureSetLookDir(cid, getLookToFish(getThingPos(cid), pos2)) --alterado ver depois
		doFish(cid, toPos, getThingPos(cid), math.random(3, delay))
		
	end
	
	return true
end

function getLookToFish(pos, pos2)
	local x1, y1 = pos.x, pos.y
	local x2, y2 = pos2.x, pos2.y
	
	if x1-x2 <= 0 and y1-y2 > 0 then
		return NORTH
	elseif x1-x2 < 0 and y1-y2 == 0 then
		return EAST
	elseif x1-x2 < 0 and y1-y2 < 0 then
		return EAST
	elseif x1-x2 > 0 and y1-y2 < 0 then
		return SOUTH
	elseif x1-x2 > 0 and y1-y2 <= 0 then
		return WEST
	elseif x1-x2 > 0 and y1-y2 >= 0 then
		return WEST
	elseif x1-x2 < 0 and y1-y2 < 0 then
		return EAST
	elseif x1-x2 == 0 and y1-y2 < 0 then
		return SOUTH
	end
	return WEST
end

 

Postado
  • Autor
16 horas atrás, Storm disse:

@GaspaR1 A função isWatchingTv não foi encontrada no seu servidor, é o mesmo caso do outro tópico que você criou.

 

mano, eu mexendo aqui consegui fazer funcionar, mas agora tá com um pequeno erro olha só vou te explicar, eu equipo a roupa do ~fisher ~ , e começo a pescar normal, mas depois que ele pesca o primeiro pokemon ele n pesca mais, e quando eu tento pescar de novo fala que preciso por a roupa do fisher dnv, sendo que já estou, segui a imagem.

e esse é o script 

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

 

Sem título.png

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.7k

Informação Importante

Confirmação de Termo