Ir para conteúdo

[Encerrado] [POKETIBIA] FIGHTING PESCANDO


Posts Recomendados

Olá xTibia,

 

Gostaria de saber se algum de vocês poderiam me dizer como faço para quando eu pescar um pokemon dar battle para o meu summon sem eu dar target no pokemon pescado?

 

Grato desde já!

up

Link para o comentário
Compartilhar em outros sites

5 horas atrás, Bluester disse:

Poderia postar seu fishing.lua da pasta actions ?

 

aqui está meu caro:

 

local fishing = {["Magikarp"] = {skill = 0, level = -2},["Poliwag"] = {skill = 10, level = 20},["Horsea"] = {skill = 10, level = 24},["Goldeen"] = {skill = 15, level = 24},["Krabby"] = {skill = 20, level = 28},["Tentacool"] = {skill = 20, level = 35},["Poliwhirl"] = {skill = 40, level = 40},["Seaking"] = {skill = 40, level = 40},["Kingler"] = {skill = 45, level = 50},["Seadra"] = {skill = 45, level = 55},["Poliwrath"] = {skill = 52, level = 80},["Kingdra"] = {skill = 52, level = 85},["Gyarados"] = {skill = 180, level = 95},["Tentacruel"] = {skill = 190, level = 95},}local storage = 15496local bonus = 40local limite = 80local 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 = 0local playerpos = getClosestFreeTile(cid, getThingPos(cid))local fishes = {}local randomfish = ""                                                                  --alterado!! if getPlayerSkillLevel(cid, 6) < limite then doPlayerAddSkillTry(cid, 6, 100)--- 100 endfor a, b in pairs (fishing) do if getPlayerSkillLevel(cid, 6) >= b.skill then  table.insert(fishes, a) endend 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  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  doCreatureSetNoMove(cid, false)  doRemoveCondition(cid, CONDITION_OUTFIT) return true endaddEvent(doFish, interval, cid, pos, ppos, chance, interval, number)doCreatureSetNoMove(cid, true)return trueendlocal 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 thenreturn trueendlocal checkPos = toPoscheckPos.stackpos = 0if getTileThingByPos(checkPos).itemid <= 0 thendoPlayerSendCancel(cid, '!')return trueendif not isInArray(waters, getTileInfo(toPos).itemid) thenreturn trueendif (getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 63215) >= 1) and not canFishWhileSurfingOrFlying thendoPlayerSendCancel(cid, "You can't fish while surfing/flying.")return trueendif isInArray(waters, getTileInfo(getThingPos(cid)).itemid) thendoPlayerSendCancel(cid, "You can\'t fish while surfing neither flying above water.")return trueendif 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 trueend 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)endsetPlayerStorageValue(cid, storage, getPlayerStorageValue(cid, storage) + 1) if getPlayerStorageValue(cid, storage) >= 800 then  setPlayerStorageValue(cid, storage, 1) endlocal delay = 1500 - getPlayerSkillLevel(cid, 6) * 50local chance = 7 + getPlayerSkillLevel(cid, 6) / 6.5outfit = getCreatureOutfit(cid)if getPlayerSex(cid) == 0 then out = 1467else out = 1468enddoSetCreatureOutfit(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 trueend

 

Link para o comentário
Compartilhar em outros sites

  • 4 weeks later...
1 hora atrás, lucasmourahere disse:

 

Base: Pokemon Dash Advanced

TFS: 0.3.6

 

Sim, o servidor possui pokemons poassivos.

Ta ai

Spoiler
local fishing = {	["Magikarp"] = {skill = 0, level = -2},	["Poliwag"] = {skill = 10, level = 20},	["Horsea"] = {skill = 10, level = 24},	["Goldeen"] = {skill = 15, level = 24},	["Krabby"] = {skill = 20, level = 28},	["Tentacool"] = {skill = 20, level = 35},	["Poliwhirl"] = {skill = 40, level = 40},	["Seaking"] = {skill = 40, level = 40},	["Kingler"] = {skill = 45, level = 50},	["Seadra"] = {skill = 45, level = 55},	["Poliwrath"] = {skill = 52, level = 80},	["Kingdra"] = {skill = 52, level = 85},	["Gyarados"] = {skill = 180, level = 95},	["Tentacruel"] = {skill = 190, level = 95},}local storage = 15496local bonus = 40local limite = 80local 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, 100)--- 100	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)		doCreatureSetLookDir(cid, getDirectionTo(getThingPos(cid), getThingPos(peixe)))		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		doCreatureSetNoMove(cid, false)		doRemoveCondition(cid, CONDITION_OUTFIT)		return true	end	addEvent(doFish, interval, cid, pos, ppos, chance, interval, number)	doCreatureSetNoMove(cid, true)	return trueendlocal 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 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 = 1500 - getPlayerSkillLevel(cid, 6) * 50	local chance = 7 + getPlayerSkillLevel(cid, 6) / 6.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 trueend

 

 

Link para o comentário
Compartilhar em outros sites

2 horas atrás, Drakopoulos disse:

Ta ai

  Ocultar conteúdo
local fishing = {	["Magikarp"] = {skill = 0, level = -2},	["Poliwag"] = {skill = 10, level = 20},	["Horsea"] = {skill = 10, level = 24},	["Goldeen"] = {skill = 15, level = 24},	["Krabby"] = {skill = 20, level = 28},	["Tentacool"] = {skill = 20, level = 35},	["Poliwhirl"] = {skill = 40, level = 40},	["Seaking"] = {skill = 40, level = 40},	["Kingler"] = {skill = 45, level = 50},	["Seadra"] = {skill = 45, level = 55},	["Poliwrath"] = {skill = 52, level = 80},	["Kingdra"] = {skill = 52, level = 85},	["Gyarados"] = {skill = 180, level = 95},	["Tentacruel"] = {skill = 190, level = 95},}local storage = 15496local bonus = 40local limite = 80local 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, 100)--- 100	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)		doCreatureSetLookDir(cid, getDirectionTo(getThingPos(cid), getThingPos(peixe)))		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		doCreatureSetNoMove(cid, false)		doRemoveCondition(cid, CONDITION_OUTFIT)		return true	end	addEvent(doFish, interval, cid, pos, ppos, chance, interval, number)	doCreatureSetNoMove(cid, true)	return trueendlocal 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 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 = 1500 - getPlayerSkillLevel(cid, 6) * 50	local chance = 7 + getPlayerSkillLevel(cid, 6) / 6.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 trueend

 

 

 

 

Obrigado cara!!! *-*

Saberia fazer também com que o selvagem focasse o Summon para dar battle? porque ele apenas da condição de fight para o jogador em si, mas não para o summon, saberia como faço isso?

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

15 minutos atrás, lucasmourahere disse:

 

 

Obrigado cara!!! *-*

Saberia fazer também com que o selvagem focasse o Summon para dar battle? porque ele apenas da condição de fight para o jogador em si, mas não para o summon, saberia como faço isso?

Ao pescar os selvagens tão focando o player e não o summon?

Link para o comentário
Compartilhar em outros sites

2 horas atrás, Drakopoulos disse:

Ta ai

  Ocultar conteúdo
local fishing = {	["Magikarp"] = {skill = 0, level = -2},	["Poliwag"] = {skill = 10, level = 20},	["Horsea"] = {skill = 10, level = 24},	["Goldeen"] = {skill = 15, level = 24},	["Krabby"] = {skill = 20, level = 28},	["Tentacool"] = {skill = 20, level = 35},	["Poliwhirl"] = {skill = 40, level = 40},	["Seaking"] = {skill = 40, level = 40},	["Kingler"] = {skill = 45, level = 50},	["Seadra"] = {skill = 45, level = 55},	["Poliwrath"] = {skill = 52, level = 80},	["Kingdra"] = {skill = 52, level = 85},	["Gyarados"] = {skill = 180, level = 95},	["Tentacruel"] = {skill = 190, level = 95},}local storage = 15496local bonus = 40local limite = 80local 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, 100)--- 100	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)		doCreatureSetLookDir(cid, getDirectionTo(getThingPos(cid), getThingPos(peixe)))		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		doCreatureSetNoMove(cid, false)		doRemoveCondition(cid, CONDITION_OUTFIT)		return true	end	addEvent(doFish, interval, cid, pos, ppos, chance, interval, number)	doCreatureSetNoMove(cid, true)	return trueendlocal 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 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 = 1500 - getPlayerSkillLevel(cid, 6) * 50	local chance = 7 + getPlayerSkillLevel(cid, 6) / 6.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 trueend

 

 

 

 

Está normal, eu pesco e o selvagem foca o summon. O Problema é, se eu não der target no pokemon selvagem, não da battle, precisaria que o pokemon sumonado pegasse battle primeiro que o char.

Link para o comentário
Compartilhar em outros sites

2 minutos atrás, lucasmourahere disse:

 

 

Está normal, eu pesco e o selvagem foca o summon. O Problema é, se eu não der target no pokemon selvagem, não da battle, precisaria que o pokemon sumonado pegasse battle primeiro que o char.

Ah sim, entendi. Tenta assim para ver.

 

Spoiler
local fishing = {	["Magikarp"] = {skill = 0, level = -2},	["Poliwag"] = {skill = 10, level = 20},	["Horsea"] = {skill = 10, level = 24},	["Goldeen"] = {skill = 15, level = 24},	["Krabby"] = {skill = 20, level = 28},	["Tentacool"] = {skill = 20, level = 35},	["Poliwhirl"] = {skill = 40, level = 40},	["Seaking"] = {skill = 40, level = 40},	["Kingler"] = {skill = 45, level = 50},	["Seadra"] = {skill = 45, level = 55},	["Poliwrath"] = {skill = 52, level = 80},	["Kingdra"] = {skill = 52, level = 85},	["Gyarados"] = {skill = 180, level = 95},	["Tentacruel"] = {skill = 190, level = 95},}local storage = 15496local bonus = 40local limite = 80local 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, 100)--- 100	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)		doCreatureSetLookDir(cid, getDirectionTo(getThingPos(cid), getThingPos(peixe)))		if #getCreatureSummons(cid) >= 1 then			doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 173)			doMonsterSetTarget(getCreatureSummons(cid)[1], peixe)		else			doSendMagicEffect(getThingPos(cid), 173)			doMonsterSetTarget(cid, peixe)		end		doCreatureSetNoMove(cid, false)		doRemoveCondition(cid, CONDITION_OUTFIT)		return true	end	addEvent(doFish, interval, cid, pos, ppos, chance, interval, number)	doCreatureSetNoMove(cid, true)	return trueendlocal 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 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 = 1500 - getPlayerSkillLevel(cid, 6) * 50	local chance = 7 + getPlayerSkillLevel(cid, 6) / 6.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 trueend

 

 

Link para o comentário
Compartilhar em outros sites

1 minuto atrás, Drakopoulos disse:

Ah sim, entendi. Tenta assim para ver.

 

  Mostrar conteúdo oculto
local fishing = {	["Magikarp"] = {skill = 0, level = -2},	["Poliwag"] = {skill = 10, level = 20},	["Horsea"] = {skill = 10, level = 24},	["Goldeen"] = {skill = 15, level = 24},	["Krabby"] = {skill = 20, level = 28},	["Tentacool"] = {skill = 20, level = 35},	["Poliwhirl"] = {skill = 40, level = 40},	["Seaking"] = {skill = 40, level = 40},	["Kingler"] = {skill = 45, level = 50},	["Seadra"] = {skill = 45, level = 55},	["Poliwrath"] = {skill = 52, level = 80},	["Kingdra"] = {skill = 52, level = 85},	["Gyarados"] = {skill = 180, level = 95},	["Tentacruel"] = {skill = 190, level = 95},}local storage = 15496local bonus = 40local limite = 80local 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, 100)--- 100	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)		doCreatureSetLookDir(cid, getDirectionTo(getThingPos(cid), getThingPos(peixe)))		if #getCreatureSummons(cid) >= 1 then			doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 173)			doMonsterSetTarget(getCreatureSummons(cid)[1], peixe)		else			doSendMagicEffect(getThingPos(cid), 173)			doMonsterSetTarget(cid, peixe)		end		doCreatureSetNoMove(cid, false)		doRemoveCondition(cid, CONDITION_OUTFIT)		return true	end	addEvent(doFish, interval, cid, pos, ppos, chance, interval, number)	doCreatureSetNoMove(cid, true)	return trueendlocal 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 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 = 1500 - getPlayerSkillLevel(cid, 6) * 50	local chance = 7 + getPlayerSkillLevel(cid, 6) / 6.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 trueend

 

 

 

O da pesca funcionou, digo em geral.. o summon pegar battle primeiro que o char, será que teria como fazer isso?

Exemplo: pego um player(NÃO COM GM), desço em um bueiro de rattata, da battle normal, mas se eu ficar parado no bueiro sem dar target no rattata, o battle some, ou seja, não é o summon que está pegando battle e sim o char. Gostaria que fosse primeiro o summon e depois o char, ou os dois juntos.. enfim, alguma maneira que não precise dar target para pegar battle, entende?

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...