Você está desconectado.

Conecte-se e veja nossos conteúdos exclusivos!
 

  



Curta-nos: Curtir

Catching System por Skill

Compartilhe

GOD Vitor
Administrador
Administrador

King Coin(s) King Coin(s) : 32
Reputação : 13014
Facebook : Facebook.com/Vitor.Eduardo.5567
OTServ Favorito : Pokémon Paraíso V3 - O Retorno
Meu Char : Zed Stars
Seção Favorita : Spriting
Eu sou : Scripter
Tópicos : 250
Data de Cadastro : 27/09/2015
Idade : 18
Localização : Florianópolis - SC

Catching System por Skill

Mensagem por GOD Vitor em Dom Nov 15, 2015 2:46 am

Hoje irei postar um Script de Catch Por Skill Configurado No "Sword Fighting" do Seu OLDC/OTC, por NextBr vamos lá:

Resumo: Quanto Maior o Skill "Catching" Maior a chance de Captura do Pokémon!

OBS: Eu nao Vou Postar o Script Completo Pois de Cada (PDA) ou (PDA - COM PokeLevel) é Diferente um do Outro, Eu So vou Ensinar a Voces a como Adicionar o Sistema em Seus Servidores!

Primeiro Vai em Data/Lib/catchsystem.lua e Procure por essa Função:
Spoiler:
function doCapturePokemon(cid, poke, ballid, status, typeee)

Na Parte aonde manda a MSG de que Voce "capturou um Pokemon" e "Capturou um Pokemon e Foi para o CP" add Isso Abaixo dessas Msg:
Spoiler:
doPlayerAddSkillTry(cid,2,10)

- Resumo: doPlayerAddSkillTry(cid,2,10) --- Quando Capturar um Pokemon vai Ganhar 10% de Skill "2".
- Obs: No meu Client o Skill Catching Esta no Skill "Sword Fighting"

Bom logo após você vai em data/actions/catch.lua e no começo do Script adiciona isto:
Spoiler:
local skill20 = 10 -- Mude aqui a chance de capiturar


local skill30 = 15 -- Mude aqui a chance de capturar
local skill40 = 20 -- Mude aqui a chance de capturar
local skill50 = 25 -- Mude aqui a chance de capturar
local skill60 = 30-- Mude aqui a chance de capturar
local skill70 = 35 -- Mude aqui a chance de capturar
local skill80 = 40-- Mude aqui a chance de capturar
local skill90 = 45-- Mude aqui a chance de capturar
local skill100 = 50-- Mude aqui a chance de capturar
local skill150 = 75 -- Mude aqui a chance de capturar

Agora Procure essa Função:
Spoiler:
local catchinfo = {}

E troca por isso:
Spoiler:
local catchinfo = {}


if getPlayerSkillLevel(cid, 2) <= 20 then ---- Skill Cathing 0 a 25
catchinfo.rate = ballcatch[item.itemid].cr + skill20
doPlayerSendTextMessage(cid, 19, "Catch Rate: [BallName: "..ballcatch[item.itemid].typeee.."] [BallRate: "..ballcatch[item.itemid].cr.."x + BonusRate: "..skill20.."x]")

else
if getPlayerSkillLevel(cid, 2) >= 30 then ---- Skill Cathing 0 a 25
catchinfo.rate = ballcatch[item.itemid].cr + skill30
doPlayerSendTextMessage(cid, 19, "Catch Rate: [BallName: "..ballcatch[item.itemid].typeee.."] [BallRate: "..ballcatch[item.itemid].cr.."x + BonusRate: "..skill30.."x]")

else
if getPlayerSkillLevel(cid, 2) >= 40 then ---- Skill Cathing 0 a 25
catchinfo.rate = ballcatch[item.itemid].cr + skill40
doPlayerSendTextMessage(cid, 19, "Catch Rate: [BallName: "..ballcatch[item.itemid].typeee.."] [BallRate: "..ballcatch[item.itemid].cr.."x + BonusRate: "..skill40.."x]")

else
if getPlayerSkillLevel(cid, 2) >= 50 then ---- Skill Cathing 0 a 25
catchinfo.rate = ballcatch[item.itemid].cr + skill50
doPlayerSendTextMessage(cid, 19, "Catch Rate: [BallName: "..ballcatch[item.itemid].typeee.."] [BallRate: "..ballcatch[item.itemid].cr.."x + BonusRate:"..skill50.."x]")

else
if getPlayerSkillLevel(cid, 2) >= 60 then ---- Skill Cathing 0 a 25
catchinfo.rate = ballcatch[item.itemid].cr + skill60
doPlayerSendTextMessage(cid, 19, "Catch Rate: [BallName: "..ballcatch[item.itemid].typeee.."] [BallRate: "..ballcatch[item.itemid].cr.."x + BonusRate:"..skill60.."x]")

else
if getPlayerSkillLevel(cid, 2) >= 70 then ---- Skill Cathing 0 a 25
catchinfo.rate = ballcatch[item.itemid].cr + skill70
doPlayerSendTextMessage(cid, 19, "Catch Rate: [BallName: "..ballcatch[item.itemid].typeee.."] [BallRate: "..ballcatch[item.itemid].cr.."x + BonusRate:"..skill70.."x]")

else
if getPlayerSkillLevel(cid, 2) >= 80 then ---- Skill Cathing 0 a 25
catchinfo.rate = ballcatch[item.itemid].cr + skill80
doPlayerSendTextMessage(cid, 19, "Catch Rate: [BallName: "..ballcatch[item.itemid].typeee.."] [BallRate: "..ballcatch[item.itemid].cr.."x + BonusRate:"..skill80.."x]")

else
if getPlayerSkillLevel(cid, 2) >= 90 then ---- Skill Cathing 26 a 50
catchinfo.rate = ballcatch[item.itemid].cr + skill90
doPlayerSendTextMessage(cid, 19, "Catch Rate: [BallName: "..ballcatch[item.itemid].typeee.."] [BallRate: "..ballcatch[item.itemid].cr.."x + BonusRate:"..skill90.."x]")
else
if getPlayerSkillLevel(cid, 2) >= 100 then ---- Skill Cathing 51 a 75
catchinfo.rate = ballcatch[item.itemid].cr + skill100
doPlayerSendTextMessage(cid, 19, "Catch Rate: [BallName: "..ballcatch[item.itemid].typeee.."] [BallRate: "..ballcatch[item.itemid].cr.."x + BonusRate:"..skill100.."x]")
else
if getPlayerSkillLevel(cid, 2) >= 150 then ---- Skill Cathing 76 a 100......
catchinfo.rate = ballcatch[item.itemid].cr + skill150
doPlayerSendTextMessage(cid, 19, "Catch Rate: [BallName: "..ballcatch[item.itemid].typeee.."] [BallRate: "..ballcatch[item.itemid].cr.."x + BonusRate:"..skill150.."x]")
else
catchinfo.rate = ballcatch[item.itemid].cr
end
end
end
end
end
end
end
end
end
end

catchinfo.catch = ballcatch[item.itemid].on
catchinfo.fail = ballcatch[item.itemid].off
catchinfo.newid = newidd
catchinfo.name = doCorrectPokemonName(name)
catchinfo.topos = topos
catchinfo.chance = x.chance


doSendDistanceShoot(getThingPos(cid), topos, ballcatch[item.itemid].send)
doRemoveItem(item.uid, 1)

local d = getDistanceBetween(getThingPos(cid), topos)


addEvent(doSendPokeBall, d * 70 + 100 - (d * 14) , cid, catchinfo, false, false, typeee)
addEvent(doSendMagicEffect, (d * 70 + 100 - (d * 14)) - 100, topos, 3)
return true
end


-OBS: O Script é Bem básico. Dar Para adicionar vários Coisas Como (Ganhar EXP Dependendo do Skill/Almentar Chance de Catch para Premium Account e etc...)

Screenshot:
Spoiler:


OBS: Só vai ganhar Skill se você Capturar o Pokemon e Recomendo á vocês Deixar o catch BAIXO! Por que o script faz a soma de rate um Exemplo:
Pokeball Rate: 50
Skill Cathing Rate (com 25 de Skill Cathing) : 100
Somar: 50+100 = 150 de Rate o Jogador vai ter.



    Data/hora atual: Seg Jan 16, 2017 10:43 pm