Catch System + Go/back + Evolution System? O.o

DevilMoon
em Actions e Talkactions

DevilMoon

@leonartei
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 30/01/10Posts: 706Gênero: MasculinoChar no Tibia: Bakwin

Galerinha Galerinha, Kydrai grande mestre Salvou nossa Terra hehehe e Conseguiu Fazer um Evolution System!!

Porem eu e o Vodkart Fizemos Um System de Pokeball, Acho que mais Perfeitinho!! Que Dando use num Item Sumona um Monstro,

Dando use nele Retira Ele :)

 

O Script foi Arrumado, Porque Antes quando Tirava o Monstro e Colocava ele Devolta Voltava com Life Full!!

 

Bom Vamos ao Script..

 

 

Vá em Data>Actions.xml Adicione Estas Tags:

 

<action itemid="XXXX" script="catchsystem.lua" />
<action itemid="XXXX" event="script" value="dragpoke.lua"/>
<action itemid="XXXX" event="script" value="evolution.lua"/>

 

 

Agora vá em Data>Actions>Scripts crie uma pasta.lua chamada dragpoke e coloque isto:

 

-- { By DevilMoon and Kydrai } --
-- { Update By: Vodkart, Oneshot and DevilMoon } --

local config = {
monsterName = "Dragon", -- Nome do Monstro
maxSummon = 1, -- Max De Summona no caso ele so poder sumonar 1
storageHealth = 1000 -- Vida Max do Dragon
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
local summon = getCreatureSummons(cid)
if(table.maxn(summon) < config.maxSummon) then
local p = doCreateMonster(config.monsterName, getThingPosition(cid))
doConvinceCreature(cid, p)
doCreatureAddHealth(p, -(getCreatureMaxHealth(p)-getPlayerStorageValue(cid, config.storageHealth)))
doCreatureSay(cid, "Go, ".. config.monsterName .."", TALKTYPE_SAY)
doSendMagicEffect(getThingPosition(cid), 10) -- efeito quando ele sumonara o monstro
else
for _, pid in pairs(summon) do
doRemoveCreature(pid)
setPlayerStorageValue(cid, config.storageHealth, getCreatureHealth(pid))
doCreatureSay(cid, "Back, ".. config.monsterName .."", TALKTYPE_SAY)
end
end
return TRUE
end

 

Agora vá denovo em Data>Actions>Scripts crie uma pasta.lua chamada evolution e coloque isto:

 

-- { By Kydrai } --

local evo = {
       ["Dragon"] = "Dragon Lord",
       ["Rat"] = "Cave Rat",
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
       if isMonster(itemEx.uid) and getCreatureMaster(itemEx.uid) == cid then
               local monster  = getCreatureName(itemEx.uid)
               if evo[monster] then
                       local health, maxHealth = getCreatureHealth(itemEx.uid), getCreatureMaxHealth(itemEx.uid)
                       doRemoveCreature(itemEx.uid)
                       local summon = doCreateMonster(evo[monster], toPosition)
                       doConvinceCreature(cid, summon)
                       doCreatureAddHealth(summon, health-maxHealth)
                       doSendMagicEffect(getThingPos(summon), CONST_ME_FIREWORK_RED)
                       return TRUE
               end
       end
       return FALSE
end

 

Agora vá em Data>Actions>Scripts crie uma pasta.lua chamada catchsystem e coloque isto:

 

function onUse(cid, item, fromPosition, itemEx, toPosition) 
if itemEx.itemid == 6008 then
if math.random(1,100) >= 1 then
doRemoveItem(itemEx.uid)
doDecayItem(itemEx.uid)
doSendMagicEffect(toPosition, 24)
doRemoveItem(item.uid, 1)
doPlayerAddItem(cid, 2147,1)              
else
doRemoveItem(itemEx.uid)
doRemoveItem(item.uid, 1)
doSendMagicEffect(toPosition, 23)
end
elseif itemEx.itemid == 3013 then
if math.random(1,100) >= 99 then
doRemoveItem(itemEx.uid)
doDecayItem(itemEx.uid)
doSendMagicEffect(toPosition, 24)
doRemoveItem(item.uid, 1)
doPlayerAddItem(cid, 2487,1)              
else
doRemoveItem(itemEx.uid)
doRemoveItem(item.uid, 1)
doSendMagicEffect(toPosition, 23)
end
end
return TRUE
end

 

Agora Vejá a Legenda para Saber como Editar o Catch.

 

function onUse(cid, item, fromPosition, itemEx, toPosition)

if itemEx.itemid == 6008 then

if math.random(1,100) >= 1 then

doRemoveItem(itemEx.uid)

doDecayItem(itemEx.uid)

doSendMagicEffect(toPosition, 24)

doRemoveItem(item.uid, 1)

doPlayerAddItem(cid, 2147,1)

else

doRemoveItem(itemEx.uid)

doRemoveItem(item.uid, 1)

doSendMagicEffect(toPosition, 23)

end

 

Legenda:

Vermelho - ID do Corpse do monster

Rosa - ID do item que vai adicionar ao player quando capturar

Azul - Número do magiceffect que vai ser enviado quando falhar na captura

Laranja - Número do magiceffect que vai ser enviado quando capturar o monster

Verde - Chance de captura

 

Peguei Este Catch do Outro Topico, Postaram na OtLand Achei o Mais Perfeitinho.

 

Feche e Salve tudo e Seja Feliz.

 

Obs: Estamos na Versao 2.0 o Script sera + Evoluido enquanto Isso vai esta versao Para voces!!

 

Obs²: Lembrando se For Mudar de Monstro ache ele no Data>Monsters e veja a life max dele e coloque no script ali no storage health.

 

Obs³: Se Der Algum Erro Tente Tirar o Event Script das Tags. Se O Erro Continuar Aparecendo Poste o Erro do Distro no Topico.

 

Sugestoes e Duvidas Somente neste Topico

 

Abraços..

Contato: DevilMoon@Xtibia.com

paulocesar0102

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 12/09/08Posts: 14Char no Tibia: Junior do Gueto

Boaa otimo pra quem tem otserv em estilo pokemon

Abraços REP+

'Mesmo Na Alegria Ou Na Tristeza

Na Dor Ou No Amor

Na Vítoria Ou Na Derrota

Estarei Contigo Senhor

E Sei Que Tu Estarás Comigo

Peço Encarecidamente Sua Benção

E Perdão Por Mim E Pelos Meus Irmãos

Que Se Encontram Desprovidos De Fé

Soldado Guerreiro A Seu Favor Ainda Está De Pé

Orando Para Que A Paz

Chegue Aos Quatro Cantos Do Mundo

Para Que O Amor Vença A Inveja E A Traição

E Que Nesse Momento Quem Me Escuta

Seja Irradiado Com Sua Luz'

 

Rezando pro ladrão ter pena que pena



Seu herói pede socorro nessa cena ♫

s25.gif

DevilMoon

@leonartei
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 30/01/10Posts: 706Gênero: MasculinoChar no Tibia: Bakwin

opa vlw pelo elogio e pelo rep+ fazendo + algumas modificaçoes..

Contato: DevilMoon@Xtibia.com

Noobao02

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 22/08/10Posts: 24

ow fazenu um favor, explique melhor os 2 sistemas, estou com uma duvida, no 1 sistema do dragon quando eu pego ele tudo bem , mais como eu faço pra solta-ló? eu já tentei clica no item e no chão mas não acontece nada !

 

tá dando um erro tamém no script do dragon :

[07/09/2010 15:19:19] Lua Script Error: [Action Interface]

[07/09/2010 15:19:19] data/actions/scripts/dragpoke.lua:onUse

 

[07/09/2010 15:19:19] data/actions/scripts/dragpoke.lua:13: attempt to call global 'getThingPosition' (a nil value)

[07/09/2010 15:19:19] stack traceback:

[07/09/2010 15:19:19] data/actions/scripts/dragpoke.lua:13: in function <data/actions/scripts/dragpoke.lua:10>

 

[07/09/2010 15:19:36] Lua Script Error: [Action Interface]

[07/09/2010 15:19:36] data/actions/scripts/dragpoke.lua:onUse

 

[07/09/2010 15:19:36] luaGetCreatureHealth(). Creature not found

 

e o script de evoluir não tá pegando, mais tamém num ta aparecendo nada . [nemhum erro]

Kydrai

"Keep Your Mind Wide Open"
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 21/08/06Posts: 250

No script da evolução precisa remover o o item.

doRemoveItem(item.uid)

 

O primeiro script não é catch e sim go/back :p

~ Kydrai
Programador / Scripter

 

sign.png

Noobao02

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 22/08/10Posts: 24
No script da evolução precisa remover o o item.

 

doRemoveItem(item.uid)

como assim?

quando eu pego o item que eu puis no 'xxxx' e clico no moster aparece assim "you cannot use this obcjet"

DevilMoon

@leonartei
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 30/01/10Posts: 706Gênero: MasculinoChar no Tibia: Bakwin

cara o XXXX é o Numero do id do item que voce qyer 2168 etc..

 

 

Tente Trocas as Funçoes getThingPosition por getMonsterPosition..

Contato: DevilMoon@Xtibia.com

ewertonkpv

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 07/09/10Posts: 5Char no Tibia: Artrozis

Muito bom, ótima oportunidade pros projetos de pokemon!!

 

Boto fé continue assim!

Bleach I: War of the Souls.

Em breve.

Visite nosso tópico de formação de equipe.

Clique aqui

paulincarvalhoo22

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 06/11/09Posts: 17

Aqui o de evolução funcionou, o outro não,

 

tá assim o 1º :

ivyt.png

 

2º:

leafstone.png

 

3º :

venun.png

 

tá ai tranforma certinho!

o outro qlq pokemon que for sumonado, ele puxa pra pb, mais não manda de volta se clicar.

e mesmo quando evolui, ele continua com o mesmo nome quando manda, 21:08 Pauliin Carvalho: Back, Ivysaur.

sendo que já era um venu.

ajuda ae!

 

edit:

outro detalhe, tem que ficar perto pra evoluir, tpw vc aqui > || < pokemon,

se tiver 1 sqm de distancia não evolui.

victorbeico

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 10/11/07Posts: 21

[07/09/2010 22:47:53] [Error - Action Interface] 
[07/09/2010 22:47:53] data/actions/scripts/dragpoke.lua:onUse
[07/09/2010 22:47:53] Description: 
[07/09/2010 22:47:53] data/actions/scripts/dragpoke.lua:15: attempt to perform arithmetic on a string value
[07/09/2010 22:47:53] stack traceback:
[07/09/2010 22:47:53] 	data/actions/scripts/dragpoke.lua:15: in function <data/actions/scripts/dragpoke.lua:10>

Ele só fala back ;s

E ainda ta voltando com o life full, o que pode ser?

 

Testei o de evouçao tbm, ele nao pode estar a 1sqm de distancia [2]...

A pedra de evoluçao nao some, e ao voltar pra pokebola ele volta a ser "dragon".

pikiman

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 18/08/10Posts: 5Char no Tibia: Tiraix

Aqui pegou o de Go e Back certinho :s o outro não

seria mais facil , vc pega toda as mudanças ou scripts que vc ja fez, e coloca todas em Otserver já feito e coloca pra download ia facilitar nossas vidas e iamos parar de enxer vc!

 

mais gtzz! ficou bem legal, so falta agora vc fazer tudo pra pokemon...vc entende muito e ajudaria varios projetos como vem ajudando, mais quando fizer algo faz + pra pokemon totalmente :x

 

vlw mano

Kydrai

"Keep Your Mind Wide Open"
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 21/08/06Posts: 250

@paulincarvalhoo22

Para poder usar a distância deixa a tag do xml assim:

<action itemid="xxxx" event="script" value="evolution.lua" allowfaruse="1"/>

~ Kydrai
Programador / Scripter

 

sign.png

sloanbr

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 29/06/10Posts: 28Char no Tibia: Legendary math

ake nao funfo porra nenhuma tnc >:(

lucas2941

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 19/07/09Posts: 3Char no Tibia: GM Dark Lucas

é bom porém pouco funcional =d

seria preciso 1 script por pokemon..

pa quem nao sabe sou um dos donos do Pokeland.. quem ja jogou sabe =D

o evolve eu peguei desse dae (no tópico de pedidos la) e refiz com algumas alterações, pois esse ele simplismente evolui e o meu ele tem que muda atributos de itens etc.. colocar levle tal.. ai fiz uma configuraçao extra kkk

 

 

dica: para um bom servidor, o catch / go / back tem que ser englobalizado, o meu catch ele tem uma funçao pa setar atributos no item (uma ufnction que ja srta todos d euma vez de acordo com o catch) e o go/back funciona atravez desses atributos ai é necessario sómente 1 script por pokeball pa catch e 1 unico script po go/back...

 

=D

 

dica2: previna bugs =d

 

.. =D..

esse evolution system irá ajudar varios projetos, me ajudou mto pq eu tb nem sabia que tinha como remover e colcoar criatura numa msma posiçao no msmo sec =d.. vivendo e aprendendo

 

 

Para ser um bom scripter, é necessário correr atraz, eu com um mês de scripting to manjando de mais a ponto de fazer um servidor excelente com coisas únicas. FORÇA DE VONTADE É UM DOM, SABER UTILIZA-LO É UM OBJETIVO!!!!

pikiman

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 18/08/10Posts: 5Char no Tibia: Tiraix

O Problema de tudo isso são as pessoas que conseguem algo e não divulgam, e maioria abandona o projeto e mesmo assim guarda pra si

se todo mundo fosse igual Devil não existiria somento Svke! existiria varios e acabaria logo com o poder do SvkeTeam

 

em quanto todo mundo guarda seus projetos e suas scripts para se, ninguem vai conseguir fazer muito coisa sozinho

como diz o ditado uniao faz a força, se todos postassem seus projetos ate outras pessoas iram baixar iriam concerteza e no final colocariam pra download tb! rapidamente existiria varios servidores de Pokemon Online :D

 

Espero que pelo menos o Devil continue assim pra mim, ele é o cara faz tudo em troca de nada apenas pra ajudar

se ele fizer um server de pokemon basico vai ficar MUITO PIKA

 

Boa sorte a todos flw galera