Ir para conteúdo

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


DevilMoon

Posts Recomendados

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..

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

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]

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

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"

Link para o comentário
Compartilhar em outros sites

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.

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

[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".

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

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

Link para o comentário
Compartilhar em outros sites

@paulincarvalhoo22

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

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

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

é 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!!!!

Link para o comentário
Compartilhar em outros sites

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

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...