Ir para conteúdo
  • 0

Ajuda com script de pesca


Furyox

Pergunta

Gostaria de modificar um script mas não sei como! queria que ao pescar os pokemon sumonado aparecesse em volta do meu pokemon,

creio eu que deve se modificar nessa linha em negrito porém não tenho muito conhecimento com script... se alguem puder me ajudar ficaria muito grato!!!

 

random = fishes.pokes[math.random(#fishes.pokes)]
      
      for i = 1, math.random(random[2]) do
          peixe = doSummonCreature(random[1], playerpos)
          if not isCreature(peixe) then
             setPlayerStorageValue(cid, storageP, -1)
             doRemoveCondition(cid, CONDITION_OUTFIT)
             return true
          end
          setPokemonPassive(peixe, true)
          doSetPokemonAgressiveToPlayer(peixe, cid)
          setPlayerStorageValue(peixe, storageP, 1)
          fightCondic(cid)
          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
       setPlayerStorageValue(cid, storageP, -1)
       doRemoveCondition(cid, CONDITION_OUTFIT)

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 1

so testando tenta essas

 

peixe = doSummonCreature(random[1], CreatureSummonpos)

ou

peixe = doSummonCreature(random[1], CreatureSummonspos)

ou

peixe = doSummonCreature(random[1], Summonpos)

ou 

peixe = doSummonCreature(random[1], Summonspos)

 

n tenho certesa se vai dar certo


 

Editado por wevertonvrb
Link para o comentário
Compartilhar em outros sites

  • 1
22 horas atrás, Furyox disse:
Versão do Servidor: TFS - 0.3.4
Tipo de Script: actions
Código:
  Mostrar conteúdo oculto


local fishing = {
[-1] = { segs = 5, pokes = {{"Magikarp", 5}} },

[3976] = { segs = 5, pokes = {{"Horsea", 5}, {"Remoraid", 3}, {"Goldeen", 3}, {"Poliwag", 2}} },  -- pega no client da pxg

[12855] = { segs = 5, pokes = {{"Tentacool", 3}, {"Staryu", 2}, {"Krabby", 3}, {"Shellder", 2} } },

[12854] = { segs = 5, pokes = {{"Seel", 2}, {"Chinchou", 2} } },

[12858] = { segs = 5, pokes = {{"Seaking", 2}, {"Seadra", 2}, {"Poliwhirl", 2}} },

[12857] = { segs = 5, pokes = {{"Starmie", 2}, {"Kingler", 2}, {"Corsola", 2}, {"Qwilfish", 2}} },  -- pega no client da pxg

[12860] = { segs = 5, pokes = {{"Lanturn", 2}, {"Dewgong", 2}}},

[12859] = { segs = 5, pokes = {{"Cloyster", 2}, {"Poliwrath", 2}, {"Politoed", 2}, {"Octillery", 2}} },

[12856] = { segs = 5, pokes = {{"Dratini", 3}, {"Dragonair", 2} }},

[12853] = { segs = 5, pokes = {{"Gyarados", 1}, {"Mantine", 1}, {"Tentacruel", 1}, {"Kingdra", 1}} },
}

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

local fightcondition = createConditionObject(CONDITION_INFIGHT)
setConditionParam(fightcondition, CONDITION_PARAM_TICKS, 5 * 1000)

function fightCondic(cid)
	if not isCreature(cid) then return true end
	if not isCreature(getCreatureTarget(cid)) then return true end
	doAddCondition(cid, fightcondition)
addEvent(fightCondic, 1000, cid)
end


local function doFish(cid, pos, ppos, interval)
      if not isCreature(cid) then return false 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 
         doPlayerAddSkillTry(cid, 6, bonus * 5)
      end
	  
	     --[[if math.random(1, 100) <= chance then
		if getPlayerSkillLevel(cid, 6) < limite then
		doPlayerAddSkillTry(cid, 6, bonus * 5)
		end]]
	  
      random = fishes.pokes[math.random(#fishes.pokes)]
	  
      for i = 1, math.random(random[2]) do
          peixe = doSummonCreature(random[1], playerpos)
          if not isCreature(peixe) then
             setPlayerStorageValue(cid, storageP, -1)
             doRemoveCondition(cid, CONDITION_OUTFIT)
             return true
          end
          setPokemonPassive(peixe, true)
		  doSetPokemonAgressiveToPlayer(peixe, cid)
		  setPlayerStorageValue(peixe, storageP, 1)
		  fightCondic(cid)
	      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
       setPlayerStorageValue(cid, storageP, -1)
       doRemoveCondition(cid, CONDITION_OUTFIT)
return true
end

local waters = {11756}

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

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 getPlayerStorageValue(cid, storageP) == 1 then 
	doSendMsg(cid, "Aguarde! Você já está pescando.")
	return true
end

if isRiderOrFlyOrSurf(cid) and not canFishWhileSurfingOrFlying 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
doCreatureSetNoMove(cid, false)
local pos2 = getThingPos(itemEx.uid)
doCreatureSetLookDir(cid, getLookToFish(getThingPos(cid), pos2))  --alterado ver depois
doFish(cid, toPos, getThingPos(cid), math.random(5, delay))

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

--[[-- resulatados em linha reta(exatos)
if x1 == x2 then -- virar para norte
	if (y1 - y2) > 0 then -- virar para cima
	    return NORTH
	elseif (y1 - y2) < 0 then -- virar para baixo
		return SOUTH
	end
elseif y1 == y2 then
	if (x1 - x2) > 0 then -- virar para OESTE <<
	    return WEST
	elseif (x1 - x2) < 0 then -- virar para LESTE >>
		return EAST
	end
end
-- resulatados em linha reta(exatos)

if (x1 ~= x2) or (y1 ~= y2) then
	if (x1 - x2) < 0 then
	   return EAST -- virar para LESTE >>
	elseif (x1 - x2) > 0 then
	   return WEST
	end
end]]

Gostaria de modificar um script mas não sei como! queria que ao pescar os pokemon sumonado aparecesse em volta do meu pokemon,

creio eu que deve se modificar nessa linha em negrito porém não tenho muito conhecimento com script... se alguem puder me ajudar ficaria muito grato!!!

 

random = fishes.pokes[math.random(#fishes.pokes)]
      
      for i = 1, math.random(random[2]) do
          peixe = doSummonCreature(random[1], playerpos)
          if not isCreature(peixe) then
             setPlayerStorageValue(cid, storageP, -1)
             doRemoveCondition(cid, CONDITION_OUTFIT)
             return true
          end
          setPokemonPassive(peixe, true)
          doSetPokemonAgressiveToPlayer(peixe, cid)
          setPlayerStorageValue(peixe, storageP, 1)
          fightCondic(cid)
          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
       setPlayerStorageValue(cid, storageP, -1)
       doRemoveCondition(cid, CONDITION_OUTFIT)

Esse é o script original? Se não for..coloque!

As funções que o @wevertonvrb colocou estão incompletas, é necessário criar um "ranger" seguro  usando a posição do seu pokemon como parâmetro. Evitando o bug que você encontrou.
 

Editado por Rayo
Link para o comentário
Compartilhar em outros sites

  • 1
2 minutos atrás, Furyox disse:

CARALHO MAN SOU TAPADO MESMO KKKK

Tu é o cara mano, deu certo agora, eu tava substituindo em outro lugar ("Server-V3\data\actions\scripts\fishing_system\pesca") por isso não dava certo...

so foi substituir nesse caminho que me passou agora e funcional...

 

MUITOOOO OBRIGADO... 

PODEM FECHAR O TOPICO, GRAÇAS AO RAYO FOI RESOLVIDO...

 

kkkkkk,antes que eu me esqueça.. se o jogador não tiver invocado nenhum pokemon,ele vai pegar a posição do jogador como referência.

 

Da um rep ai XD

Link para o comentário
Compartilhar em outros sites

  • 0
7 horas atrás, wevertonvrb disse:

so testando tenta essas

 

peixe = doSummonCreature(random[1], CreatureSummonpos)

ou

peixe = doSummonCreature(random[1], CreatureSummonspos)

ou

peixe = doSummonCreature(random[1], Summonpos)

ou 

peixe = doSummonCreature(random[1], Summonspos)

 

n tenho certesa se vai dar certo


 

Testei todos porém continua pescando e os pokes aparecem perto do char e alguns fica preso no barranco não podendo mover...

mas obrigado...

No caso esse CreatureSummonspos e summonpos seria a declaração dos poke que estou pescando? ou do meu pokemon fora da ball?

pois acho que teria que ser declarado ai a posição do meu poke... 

 

Caso tenha mais alguma idea e puder me ajudar ficaria grato.

Editado por Furyox
Link para o comentário
Compartilhar em outros sites

  • 0
1 hora atrás, Rayo disse:

Esse é o script original? Se não for..coloque!

As funções que o @wevertonvrb colocou estão incompletas, é necessário criar um "ranger" seguro  usando a posição do seu pokemon como parâmetro. Evitando o bug que você encontrou.
 

Não esse ai é apenas um pedaço do script... será que você poderia fazer esse ranger pra mim, estou começando agora com script ainda não aprendi nem o basico direito. mas devagar e com ajuda e um pouco de paciência um dia chego lá.

 

Esse é o script original e completo.

Citar

local fishing = {
["Magikarp"] = {skill = 0, level = -2},
["Remoraid"] = {skill = 13, level = 10},
["Poliwag"] = {skill = 13, level = 20},
["Krabby"] = {skill = 22, level = 20},
["Goldeen"] = {skill = 13, level = 20},
["Horsea"] = {skill = 22, level = 20},
["Staryu"] = {skill = 13, level = 15},
["Tentacool"] = {skill = 22, level = 7},
}

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) "comando original"
        peixe = doSummonCreature(random[1], Summonpos)
        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

 

Link para o comentário
Compartilhar em outros sites

  • 0

Sim,eu estou dando uma olhada aqui... nunca mexi com ot pokemon,você tem o link para eu baixar a versão que você utiliza? e poder testar.

Link para o comentário
Compartilhar em outros sites

  • 0
2 horas atrás, Rayo disse:

Sim,eu estou dando uma olhada aqui... nunca mexi com ot pokemon,você tem o link para eu baixar a versão que você utiliza? e poder testar.

Opa desculpa a demora!

esta a versão que utilizo é a v3

 

Link para o comentário
Compartilhar em outros sites

  • 0

Ok, baixei aqui, vou estudar os scripts e as funções e trago a solução!

 

@Furyox

Amigo, eu fiz aqui a modificação mas ainda não tive como testar(estou sem banco de dados na maquina para poder iniciar o servidor).

Segue o código:

    local function doFish(cid, pos, ppos, interval)
          if not isCreature(cid) then return false 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 
             doPlayerAddSkillTry(cid, 6, bonus * 5)
          end
         
            --[[if math.random(1, 100) <= chance then
          if getPlayerSkillLevel(cid, 6) < limite then
          doPlayerAddSkillTry(cid, 6, bonus * 5)
          end]]
         
          random = fishes.pokes[math.random(#fishes.pokes)]
         
          for i = 1, math.random(random[2]) do
             --local pokepos = getClosestFreeTile(cid, getThingPos(getCreatureSummons(cid)[1]))
    
              if #getCreatureSummons(cid) >= 1 
                -- se o jogador tiver sumonado algum pokemon,pegará a posição do pokemon
                    then peixe = doSummonCreature(random[1], getClosestFreeTile(cid, getThingPos(getCreatureSummons(cid)[1])))
                        -- se não pegará a do jogador
                        else peixe = doSummonCreature(random[1],playerpos)
              end

              if not isCreature(peixe) then
                 setPlayerStorageValue(cid, storageP, -1)
                 doRemoveCondition(cid, CONDITION_OUTFIT)
                 return true
              end
              setPokemonPassive(peixe, true)
            doSetPokemonAgressiveToPlayer(peixe, cid)
            setPlayerStorageValue(peixe, storageP, 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
           setPlayerStorageValue(cid, storageP, -1)
           doRemoveCondition(cid, CONDITION_OUTFIT)
    return true
    end

Substitua a função doFish original por essa e realize o teste e veja se funciona!

Editado por Rayo
Link para o comentário
Compartilhar em outros sites

  • 0
2 horas atrás, Rayo disse:

Ok, baixei aqui, vou estudar os scripts e as funções e trago a solução!

 

@Furyox

Amigo, eu fiz aqui a modificação mas ainda não tive como testar(estou sem banco de dados na maquina para poder iniciar o servidor).

Segue o código:


    local function doFish(cid, pos, ppos, interval)
          if not isCreature(cid) then return false 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 
             doPlayerAddSkillTry(cid, 6, bonus * 5)
          end
         
            --[[if math.random(1, 100) <= chance then
          if getPlayerSkillLevel(cid, 6) < limite then
          doPlayerAddSkillTry(cid, 6, bonus * 5)
          end]]
         
          random = fishes.pokes[math.random(#fishes.pokes)]
         
          for i = 1, math.random(random[2]) do
             --local pokepos = getClosestFreeTile(cid, getThingPos(getCreatureSummons(cid)[1]))
    
              if #getCreatureSummons(cid) >= 1 
                -- se o jogador tiver sumonado algum pokemon,pegará a posição do pokemon
                    then peixe = doSummonCreature(random[1], getClosestFreeTile(cid, getThingPos(getCreatureSummons(cid)[1])))
                        -- se não pegará a do jogador
                        else peixe = doSummonCreature(random[1],playerpos)
              end

              if not isCreature(peixe) then
                 setPlayerStorageValue(cid, storageP, -1)
                 doRemoveCondition(cid, CONDITION_OUTFIT)
                 return true
              end
              setPokemonPassive(peixe, true)
            doSetPokemonAgressiveToPlayer(peixe, cid)
            setPlayerStorageValue(peixe, storageP, 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
           setPlayerStorageValue(cid, storageP, -1)
           doRemoveCondition(cid, CONDITION_OUTFIT)
    return true
    end

Substitua a função doFish original por essa e realize o teste e veja se funciona!

ok irei testar aqui e já retorno um feedback!! muito obrigado desde já!

 

--------------------------------------------------------------------------------------------

Acabei de testar eles ainda estão sendo sumonado em volta do player e alguns estão

ficando na margem da agua e não mexe. segue print:

http://prntscr.com/o2p7oj

Editado por Furyox
Feedback
Link para o comentário
Compartilhar em outros sites

  • 0

É o arquivo Pesca.lua

local fishing = {
   [-1] = { segs = 5, pokes = {{"Magikarp", 5}} },
   
   [3976] = { segs = 5, pokes = {{"Horsea", 5}, {"Remoraid", 3}, {"Goldeen", 3}, {"Poliwag", 2}} },  -- pega no client da pxg
   
   [12855] = { segs = 5, pokes = {{"Tentacool", 3}, {"Staryu", 2}, {"Krabby", 3}, {"Shellder", 2} } },
   
   [12854] = { segs = 5, pokes = {{"Seel", 2}, {"Chinchou", 2} } },
   
   [12858] = { segs = 5, pokes = {{"Seaking", 2}, {"Seadra", 2}, {"Poliwhirl", 2}} },
   
   [12857] = { segs = 5, pokes = {{"Starmie", 2}, {"Kingler", 2}, {"Corsola", 2}, {"Qwilfish", 2}} },  -- pega no client da pxg
   
   [12860] = { segs = 5, pokes = {{"Lanturn", 2}, {"Dewgong", 2}}},
   
   [12859] = { segs = 5, pokes = {{"Cloyster", 2}, {"Poliwrath", 2}, {"Politoed", 2}, {"Octillery", 2}} },
   
   [12856] = { segs = 5, pokes = {{"Dratini", 3}, {"Dragonair", 2} }},
   
   [12853] = { segs = 5, pokes = {{"Gyarados", 1}, {"Mantine", 1}, {"Tentacruel", 1}, {"Kingdra", 1}} },
   }
   
   local storageP = 154585
   local sto_iscas = 5648454 --muda aki pra sto q ta no script da isca
   local bonus = 15
   local limite = 100
   
   
   local function doFish(cid, pos, ppos, interval)
         if not isCreature(cid) then return false 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 
            doPlayerAddSkillTry(cid, 6, bonus * 5)
         end
        
           --[[if math.random(1, 100) <= chance then
         if getPlayerSkillLevel(cid, 6) < limite then
         doPlayerAddSkillTry(cid, 6, bonus * 5)
         end]]
        
         random = fishes.pokes[math.random(#fishes.pokes)]
        
         for i = 1, math.random(random[2]) do
            --local pokepos = getClosestFreeTile(cid, getThingPos(getCreatureSummons(cid)[1]))
   
             if #getCreatureSummons(cid) >= 1 
               -- se o jogador tiver sumonado algum pokemon,pegará a posição do pokemon
                   then peixe = doSummonCreature(random[1], getClosestFreeTile(cid, getThingPos(getCreatureSummons(cid)[1])))
                       -- se não pegará a do jogador
                       else peixe = doSummonCreature(random[1],playerpos)
             end

             if not isCreature(peixe) then
                setPlayerStorageValue(cid, storageP, -1)
                doRemoveCondition(cid, CONDITION_OUTFIT)
                return true
             end
             setPokemonPassive(peixe, true)
           doSetPokemonAgressiveToPlayer(peixe, cid)
           setPlayerStorageValue(peixe, storageP, 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
          setPlayerStorageValue(cid, storageP, -1)
          doRemoveCondition(cid, CONDITION_OUTFIT)
   return true
   end
   
   local waters = {11756}
   
   function onUse(cid, item, fromPos, itemEx, toPos)
   
   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 getPlayerStorageValue(cid, storageP) == 1 then 
      doSendMsg(cid, "Aguarde! Voc� j� est� pescando.")
      return true
   end
   
   if isRiderOrFlyOrSurf(cid) and not canFishWhileSurfingOrFlying 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
   doCreatureSetNoMove(cid, false)
   local pos2 = getThingPos(itemEx.uid)
   doCreatureSetLookDir(cid, getLookToFish(getThingPos(cid), pos2))  --alterado ver depois
   doFish(cid, toPos, getThingPos(cid), math.random(5, delay))
   
   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
   
   --[[-- resulatados em linha reta(exatos)
   if x1 == x2 then -- virar para norte
      if (y1 - y2) > 0 then -- virar para cima
          return NORTH
      elseif (y1 - y2) < 0 then -- virar para baixo
         return SOUTH
      end
   elseif y1 == y2 then
      if (x1 - x2) > 0 then -- virar para OESTE <<
          return WEST
      elseif (x1 - x2) < 0 then -- virar para LESTE >>
         return EAST
      end
   end
   -- resulatados em linha reta(exatos)
   
   if (x1 ~= x2) or (y1 ~= y2) then
      if (x1 - x2) < 0 then
         return EAST -- virar para LESTE >>
      elseif (x1 - x2) > 0 then
         return WEST
      end
   end]]

 

Link para o comentário
Compartilhar em outros sites

  • 0

Sim subistitui ele mesmo,("Server-V3\data\actions\scripts\fishing_system\pesca") mas aqui ta continuando do mesmo jeito... estranho né.

esses que nascem sobre a agua não estão movendo. Tipo ja jogo o pzw? nele os pokes ja são sumonando em volta do meu oddish... e 

aqui eles são sumonados em volta do meu char pra depois mover para o oddish... creio que se tivesse como colocar pra aparecer diretamente

em volta do oddish não bugaria sobre a agua...

 

Desculpe por estar ocupando seu tempo meu brother!

image.png.f96102b5815d4bd893cd5fdf1010d5a0.png

Link para o comentário
Compartilhar em outros sites

  • 0

Aqui aparece em volta do pokemon... você sabe como faço para gravar animação?eu posso provar

Editado por Rayo
Link para o comentário
Compartilhar em outros sites

  • 0
18 minutos atrás, Rayo disse:

Aqui aparece em volta do pokemon... você sabe como faço para gravar animação?eu posso provar

uso o oCam..

 

Editado por Furyox
Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...