Posta o seu sistema de fishing ai .
Alguem pode me ajudar em alguns sistemas...
Por Fearlet155, 01 de dez. de 2013 em Scripts
info
Grupo: Visconde
Registrado: 27/02/13
Posts: 446
Reputação: +282
Gênero: Masculino

info
Grupo: Artesão
Registrado: 27/09/10
Posts: 108
Reputação: +8
Gênero: Masculino
Char no Tibia: Felguk

local fishing = {
[-1] = { segs = 10, pokes = {{"Magikarp", 5}} },
[3976] = { segs = 20, pokes = {{"Horsea", 5}, {"Remoraid", 3}, {"Goldeen", 3}, {"Poliwag", 2}} }, -- pega no client da pxg
[14055] = { segs = 10, pokes = {{"Tentacool", 3}, {"Staryu", 2}, {"Krabby", 3}, {"Shellder", 2}} },
[14052] = { segs = 10, pokes = {{"Seel", 2}, {"Chinchou", 2}} },
[14056] = { segs = 10, pokes = {{"Seaking", 2}, {"Seadra", 2}, {"Poliwhirl", 2}} },
[14053] = { segs = 10, pokes = {{"Starmie", 2}, {"Kingler", 1}, {"Corsola", 2}, {"Qwilfish", 1}} }, -- pega no client da pxg
[14058] = { segs = 20, pokes = {{"Lanturn", 2}, {"Dewgong", 2}} },
[14057] = { segs = 20, pokes = {{"Cloyster", 2}, {"Poliwrath", 1}, {"Politoed", 1}, {"Octillery", 1}} },
[14054] = { segs = 20, pokes = {{"Dratini", 2}, {"Dragonair", 2}} },
[14051] = { segs = 20, 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)
end
--[[if getPlayerSkillLevel(cid, 6) < limite then
doPlayerAddSkillTry(cid, 6, 20)
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)
doCreatureSetNoMove(cid, false) --alterei aki
doRemoveCondition(cid, CONDITION_OUTFIT)
return true
end
doSetMonsterPassive(peixe)
doWildAttackPlayer(peixe, cid)
doCreatureSetLookDir(cid, getDirectionTo(getThingPos(cid), getThingPos(peixe))) --alterado ver depois
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
end
setPlayerStorageValue(cid, storageP, -1)
doCreatureSetNoMove(cid, false)
doRemoveCondition(cid, CONDITION_OUTFIT)
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 not isInArray({520, 521}, getCreatureOutfit(cid).lookType) then
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need fisher outfit for fishing.")
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, true)
doFish(cid, toPos, getThingPos(cid), math.random(5, delay))
return true
end
Sobre o fishing, tenta fazer uma proteção ao logar, como, por exemplo
function onLogin(cid)
if getPlayerStorageValue(cid, 154585) >= 1 then
setPlayerStorageValue(cid, 154585, -1)
end
return true
end




info
Grupo: Artesão
Registrado: 27/09/10
Posts: 108
Reputação: +8
Gênero: Masculino
Char no Tibia: Felguk
O sistema de fishing do meu pokémon está bugado pois se um player deslogar pescando quando ele loga denovo , aparece uma msg para ele 00:31 You are already fishing. ai o player nao pesca mais
- Preciso de um script pra main quest que tipo são 8 ou 9 clans sei la ai o orebound quando clica no quadrado todos players são teleportados pra room 1
- Preciso de um sistema de cartão de crédito que tipo tera o bank ai se vc deposita o seu dinheiro no banco vc ganha um cartão que usara aquilo e podera compra itens no mark com aquele cartão onde esse cartão será unique item
PRA QUEM AJUDAR GANHARÁ REP++
REP+ PRA QUEM AJUDAR