Ir para conteúdo

[Talkactions] Sistema Ditto


Daimonium

Posts Recomendados

Olha, primeiro de tudo nao esta perfeito o sistema, pois nao esta pelo order e sim por magia, e da para usar em pokemons com um nivel maior que voce.

 

Voce vai ter que colocar em cada arquivo do talkaction (move1,move2,move3,etc...(até o move9))isso:

 

 

 

A baixo de qual quer outra magia EX: embaixo de:

[80] = {x = {

pok = pidgeot,

spell = "Quick Attack",

minLv = 1,

ex = 1800001,

base1 = 200,

base2 = 201,

dista = 1,

bonus = 3,

type = "normal",

cd = 7

}

},

Adicione:

[28] = {x = {

pok = ditto,

spell = "Transform",

minLv = 40,

ex = 140001,

base1 = 0,

base2 = 0,

dista = 7,

bonus = 0,

type = "normal",

cd = 15

}

},

 

Ficando:

[80] = {x = {

pok = pidgeot,

spell = "Quick Attack",

minLv = 1,

ex = 1800001,

base1 = 200,

base2 = 201,

dista = 1,

bonus = 3,

type = "normal",

cd = 7

}

},

[28] = {x = {

pok = ditto,

spell = "Transform",

minLv = 1,

ex = 140001,

base1 = 0,

base2 = 0,

dista = 7,

bonus = 0,

type = "normal",

cd = 15

}

},

 

Voce tambem tera que adicionar o pokemon ditto, no pokeis( CTRL+F local pokeis = ) do move2,move3,etc...(até o move9) vou dar um exemplo:

 

No move2.lua tera uma linha assim:

local pokeis = {'Pidgey', 'Pidgeotto', 'Pidgeot', 'Rattata', 'Raticate', 'Zubat', 'Golbat',
'Bellsprout', 'Weepinbell', 'Victreebel', 'Poliwag', 'Poliwhirl', 'Poliwrath', 'Abra', 'Oddish',
'Gloom', 'Vileplume', 'Horsea', 'Seadra', 'Grimer', 'Muk', 'Weedle', 'Kakuna', 'Beedrill',
'Doduo', 'Dodrio', 'Magnemite', 'Magneton', 'Voltorb', 'Electrode', 'Geodude', 'Graveler', 'Golem', 'Sandshrew',
'Sandslash', 'Charmander', 'Charmeleon', 'Charizard', 'Kadabra', 'Alakazam'}

 

Depois do ultimo pokemon que é o Alakazam voce adiciona o Ditto, EX: 'Alakazam', 'Ditto'}

 

Ficando assim:

local pokeis = {'Pidgey', 'Pidgeotto', 'Pidgeot', 'Rattata', 'Raticate', 'Zubat', 'Golbat',
'Bellsprout', 'Weepinbell', 'Victreebel', 'Poliwag', 'Poliwhirl', 'Poliwrath', 'Abra', 'Oddish',
'Gloom', 'Vileplume', 'Horsea', 'Seadra', 'Grimer', 'Muk', 'Weedle', 'Kakuna', 'Beedrill',
'Doduo', 'Dodrio', 'Magnemite', 'Magneton', 'Voltorb', 'Electrode', 'Geodude', 'Graveler', 'Golem', 'Sandshrew',
'Sandslash', 'Charmander', 'Charmeleon', 'Charizard', 'Kadabra', 'Alakazam', 'Ditto'}

 

E agora em cada Move, voce vai la no final para adicionar isso:

elseif pokemon.x.spell == "Transform" then

doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)

doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)

exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)

doSetCreatureOutfit(getCreatureSummons(cid)[1], getCreatureOutfit(getCreatureTarget(cid)), 10000)

return 0

 

EX: no move1.lua, final do arquivo esta isso:

elseif pokemon.x.spell == "Fury Attack" then

doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)

doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)

exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)

local namezito = getCreatureName(getCreatureSummons(cid)[1])

local namezin = getCreatureName(getCreatureTarget(cid))

local function pee(params)

if isCreature(getCreatureSummons(params.cid)[1]) then

if isCreature(getCreatureTarget(params.cid)) then

if getCreatureName(getCreatureSummons(params.cid)[1]) == namezito then

if getCreatureName(getCreatureTarget(params.cid)) == namezin then

doSendDistanceShoot(getThingPos(getCreatureSummons(params.cid)[1]), getThingPos(getCreatureTarget(params.cid)), 15)

doAreaCombatHealth(getCreatureSummons(params.cid)[1], element, getThingPos(getCreatureTarget(params.cid)), 0, -((num1)+(getPlayerLevel(params.cid)*(num3))), -((num2)+(getPlayerLevel(params.cid)*(num3))), 3)

end

end

end

end

end

local delay = 200

randnee = math.random(1,100)

if randnee >= 1 and randnee <= 37 then

a = 2

elseif randnee >= 38 and randnee <= 74 then

a = 3

elseif randnee >= 75 and randnee <= 88 then

a = 4

else

a = 5

end

local times = a

for i = 1,a do

addEvent(pee, delay, {cid = cid})

delay = delay + 600

end

local function msg(params)

if #getCreatureSummons(params.cid) >= 1 then

doSendAnimatedText(getThingPos(getCreatureSummons(params.cid)[1]), ""..times.." HITS", 35)

end

end

addEvent(msg, 580*a, {cid = cid})

return 0

end

return 0

end

Embaixo de onde esta Laranja voce tem que adicionar o que falei, ficando assim:

elseif pokemon.x.spell == "Fury Attack" then

doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)

doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)

exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)

local namezito = getCreatureName(getCreatureSummons(cid)[1])

local namezin = getCreatureName(getCreatureTarget(cid))

local function pee(params)

if isCreature(getCreatureSummons(params.cid)[1]) then

if isCreature(getCreatureTarget(params.cid)) then

if getCreatureName(getCreatureSummons(params.cid)[1]) == namezito then

if getCreatureName(getCreatureTarget(params.cid)) == namezin then

doSendDistanceShoot(getThingPos(getCreatureSummons(params.cid)[1]), getThingPos(getCreatureTarget(params.cid)), 15)

doAreaCombatHealth(getCreatureSummons(params.cid)[1], element, getThingPos(getCreatureTarget(params.cid)), 0, -((num1)+(getPlayerLevel(params.cid)*(num3))), -((num2)+(getPlayerLevel(params.cid)*(num3))), 3)

end

end

end

end

end

local delay = 200

randnee = math.random(1,100)

if randnee >= 1 and randnee <= 37 then

a = 2

elseif randnee >= 38 and randnee <= 74 then

a = 3

elseif randnee >= 75 and randnee <= 88 then

a = 4

else

a = 5

end

local times = a

for i = 1,a do

addEvent(pee, delay, {cid = cid})

delay = delay + 600

end

local function msg(params)

if #getCreatureSummons(params.cid) >= 1 then

doSendAnimatedText(getThingPos(getCreatureSummons(params.cid)[1]), ""..times.." HITS", 35)

end

end

addEvent(msg, 580*a, {cid = cid})

return 0

elseif pokemon.x.spell == "Transform" then

doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)

doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)

exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)

doSetCreatureOutfit(getCreatureSummons(cid)[1], getCreatureOutfit(getCreatureTarget(cid)), 10000)

return 0

end

return 0

end

 

 

Explicando um pouco:

Onde esta em Azul mude para que seja o cooldown da magia em segundos.

Onde esta em Vermelho mude para que seja o tempo que o Ditto fique transformado em milesegundos, 10000 = 10 sec.

 

Se voce nao adicionar em cada move isso, se voce copiar um monstro com 9 spells, voce nao conseguira usar todas.

 

PS: se voce puxar para sua pokebola ele vai voltar a ser o Ditto.

PS2: Tive que user quote, por que com

 nao ficava a cor.
Editado por Daimonium
Link para o comentário
Compartilhar em outros sites

 

 

Olha, primeiro de tudo nao esta perfeito o sistema, pois nao esta pelo order e sim por magia, e da para usar em pokemons com um nivel maior que voce.

 

Voce vai ter que colocar em cada arquivo do talkaction (move1,move2,move3,etc...(até o move9))isso:

 

 

 

A baixo de qual quer outra magia EX: embaixo de:

[80] = {x = {

pok = pidgeot,

spell = "Quick Attack",

minLv = 1,

ex = 1800001,

base1 = 200,

base2 = 201,

dista = 1,

bonus = 3,

type = "normal",

cd = 7

}

},

Adicione:

[28] = {x = {

pok = ditto,

spell = "Transform",

minLv = 40,

ex = 140001,

base1 = 0,

base2 = 0,

dista = 7,

bonus = 0,

type = "normal",

cd = 15

}

},

 

Ficando:

[80] = {x = {

pok = pidgeot,

spell = "Quick Attack",

minLv = 1,

ex = 1800001,

base1 = 200,

base2 = 201,

dista = 1,

bonus = 3,

type = "normal",

cd = 7

}

},

[28] = {x = {

pok = ditto,

spell = "Transform",

minLv = 1,

ex = 140001,

base1 = 0,

base2 = 0,

dista = 7,

bonus = 0,

type = "normal",

cd = 15

}

},

 

 

E agora em cada Move, voce vai la no final para adicionar isso:

elseif pokemon.x.spell == "Transform" then

doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)

doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)

exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)

doSetCreatureOutfit(getCreatureSummons(cid)[1], getCreatureOutfit(getCreatureTarget(cid)), 10000)

return 0

 

EX: no move1.lua, final do arquivo esta isso:

elseif pokemon.x.spell == "Fury Attack" then

doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)

doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)

exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)

local namezito = getCreatureName(getCreatureSummons(cid)[1])

local namezin = getCreatureName(getCreatureTarget(cid))

local function pee(params)

if isCreature(getCreatureSummons(params.cid)[1]) then

if isCreature(getCreatureTarget(params.cid)) then

if getCreatureName(getCreatureSummons(params.cid)[1]) == namezito then

if getCreatureName(getCreatureTarget(params.cid)) == namezin then

doSendDistanceShoot(getThingPos(getCreatureSummons(params.cid)[1]), getThingPos(getCreatureTarget(params.cid)), 15)

doAreaCombatHealth(getCreatureSummons(params.cid)[1], element, getThingPos(getCreatureTarget(params.cid)), 0, -((num1)+(getPlayerLevel(params.cid)*(num3))), -((num2)+(getPlayerLevel(params.cid)*(num3))), 3)

end

end

end

end

end

local delay = 200

randnee = math.random(1,100)

if randnee >= 1 and randnee <= 37 then

a = 2

elseif randnee >= 38 and randnee <= 74 then

a = 3

elseif randnee >= 75 and randnee <= 88 then

a = 4

else

a = 5

end

local times = a

for i = 1,a do

addEvent(pee, delay, {cid = cid})

delay = delay + 600

end

local function msg(params)

if #getCreatureSummons(params.cid) >= 1 then

doSendAnimatedText(getThingPos(getCreatureSummons(params.cid)[1]), ""..times.." HITS", 35)

end

end

addEvent(msg, 580*a, {cid = cid})

return 0

end

return 0

end

Embaixo de onde esta Laranja voce tem que adicionar o que falei, ficando assim:

elseif pokemon.x.spell == "Fury Attack" then

doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)

doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)

exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)

local namezito = getCreatureName(getCreatureSummons(cid)[1])

local namezin = getCreatureName(getCreatureTarget(cid))

local function pee(params)

if isCreature(getCreatureSummons(params.cid)[1]) then

if isCreature(getCreatureTarget(params.cid)) then

if getCreatureName(getCreatureSummons(params.cid)[1]) == namezito then

if getCreatureName(getCreatureTarget(params.cid)) == namezin then

doSendDistanceShoot(getThingPos(getCreatureSummons(params.cid)[1]), getThingPos(getCreatureTarget(params.cid)), 15)

doAreaCombatHealth(getCreatureSummons(params.cid)[1], element, getThingPos(getCreatureTarget(params.cid)), 0, -((num1)+(getPlayerLevel(params.cid)*(num3))), -((num2)+(getPlayerLevel(params.cid)*(num3))), 3)

end

end

end

end

end

local delay = 200

randnee = math.random(1,100)

if randnee >= 1 and randnee <= 37 then

a = 2

elseif randnee >= 38 and randnee <= 74 then

a = 3

elseif randnee >= 75 and randnee <= 88 then

a = 4

else

a = 5

end

local times = a

for i = 1,a do

addEvent(pee, delay, {cid = cid})

delay = delay + 600

end

local function msg(params)

if #getCreatureSummons(params.cid) >= 1 then

doSendAnimatedText(getThingPos(getCreatureSummons(params.cid)[1]), ""..times.." HITS", 35)

end

end

addEvent(msg, 580*a, {cid = cid})

return 0

elseif pokemon.x.spell == "Transform" then

doCreatureSay(getCreatureSummons(cid)[1], ""..string.upper(c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell).."!", TALKTYPE_MONSTER)

doCreatureSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", "..c[getCreatureOutfit(getCreatureSummons(cid)[1]).lookType].x.spell.."!", TALKTYPE_SAY)

exhaustion.set(cid, pokemon.x.ex, pokemon.x.cd)

doSetCreatureOutfit(getCreatureSummons(cid)[1], getCreatureOutfit(getCreatureTarget(cid)), 10000)

return 0

end

return 0

end

 

 

Explicando um pouco:

Onde esta em Azul mude para que seja o cooldown da magia em segundos.

Onde esta em Vermelho mude para que seja o tempo que o Ditto fique transformado em milesegundos, 10000 = 10 sec.

 

Se voce nao adicionar em cada move isso, se voce copiar um monstro com 9 spells, voce nao conseguira usar todas.

 

PS: se voce puxar para sua pokebola ele vai voltar a ser o Ditto.

PS2: Tive que user quote, por que com

 nao ficava a cor.

 

 

 

HUaaa Boa estrutura ^^

só que noa ta muinto lgl ele ta bugando em relação as magias por manter o nome do poke as magias buga.

vc chegou a testar nesse server ??

Link para o comentário
Compartilhar em outros sites

HUaaa Boa estrutura ^^

só que noa ta muinto lgl ele ta bugando em relação as magias por manter o nome do poke as magias buga.

vc chegou a testar nesse server ??

 

Nao entendi a parte que buga as magias, mais eu testei e funciono perfeito aqui, pois o sistema de ataque do server do brun123 pega o outfit do monstro e nao o nome.

 

Edit: Desculpe, agora entendi o que voce quis dizer, é que esqueci de botar uma parte que começa do move2. Ja estou modificando o topico.

 

Edit2: Editado.

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

ow man eu butei sertinho so q so fucionacomo m1 no m2 nao fuciono nao

 

Eu editei o post para arrumar esse problema, esta ae:

 

 

 

Voce tambem tera que adicionar o pokemon ditto, no pokeis( CTRL+F local pokeis = ) do move2,move3,etc...(até o move9) vou dar um exemplo:

 

No move2.lua tera uma linha assim:

local pokeis = {'Pidgey', 'Pidgeotto', 'Pidgeot', 'Rattata', 'Raticate', 'Zubat', 'Golbat',
'Bellsprout', 'Weepinbell', 'Victreebel', 'Poliwag', 'Poliwhirl', 'Poliwrath', 'Abra', 'Oddish',
'Gloom', 'Vileplume', 'Horsea', 'Seadra', 'Grimer', 'Muk', 'Weedle', 'Kakuna', 'Beedrill',
'Doduo', 'Dodrio', 'Magnemite', 'Magneton', 'Voltorb', 'Electrode', 'Geodude', 'Graveler', 'Golem', 'Sandshrew',
'Sandslash', 'Charmander', 'Charmeleon', 'Charizard', 'Kadabra', 'Alakazam'}

 

Depois do ultimo pokemon que é o Alakazam voce adiciona o Ditto, EX: 'Alakazam', 'Ditto'}

 

Ficando assim:

local pokeis = {'Pidgey', 'Pidgeotto', 'Pidgeot', 'Rattata', 'Raticate', 'Zubat', 'Golbat',
'Bellsprout', 'Weepinbell', 'Victreebel', 'Poliwag', 'Poliwhirl', 'Poliwrath', 'Abra', 'Oddish',
'Gloom', 'Vileplume', 'Horsea', 'Seadra', 'Grimer', 'Muk', 'Weedle', 'Kakuna', 'Beedrill',
'Doduo', 'Dodrio', 'Magnemite', 'Magneton', 'Voltorb', 'Electrode', 'Geodude', 'Graveler', 'Golem', 'Sandshrew',
'Sandslash', 'Charmander', 'Charmeleon', 'Charizard', 'Kadabra', 'Alakazam', 'Ditto'}

 

 

Link para o comentário
Compartilhar em outros sites

Sim adicionei la tudo mas nada mano

 

Edit :

 

Aqui pegou agora so q quando transformo o ditto ele so consegue fazer o m1 quando vou dar m2 a m9 aparece Your pokemon doesn't recognize this move. :worriedsmiley:

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

Sim adicionei la tudo mas nada mano

 

Edit :

 

Aqui pegou agora so q quando transformo o ditto ele so consegue fazer o m1 quando vou dar m2 a m9 aparece Your pokemon doesn't recognize this move. :worriedsmiley:

 

Cara, esse erro do m2 ao m9, é por causa que voce nao adicionou a parte que editei:

 

 

 

Voce tambem tera que adicionar o pokemon ditto, no pokeis( CTRL+F local pokeis = ) do move2,move3,etc...(até o move9) vou dar um exemplo:

 

No move2.lua tera uma linha assim:

local pokeis = {'Pidgey', 'Pidgeotto', 'Pidgeot', 'Rattata', 'Raticate', 'Zubat', 'Golbat',
'Bellsprout', 'Weepinbell', 'Victreebel', 'Poliwag', 'Poliwhirl', 'Poliwrath', 'Abra', 'Oddish',
'Gloom', 'Vileplume', 'Horsea', 'Seadra', 'Grimer', 'Muk', 'Weedle', 'Kakuna', 'Beedrill',
'Doduo', 'Dodrio', 'Magnemite', 'Magneton', 'Voltorb', 'Electrode', 'Geodude', 'Graveler', 'Golem', 'Sandshrew',
'Sandslash', 'Charmander', 'Charmeleon', 'Charizard', 'Kadabra', 'Alakazam'}

 

Depois do ultimo pokemon que é o Alakazam voce adiciona o Ditto, EX: 'Alakazam', 'Ditto'}

 

Ficando assim:

local pokeis = {'Pidgey', 'Pidgeotto', 'Pidgeot', 'Rattata', 'Raticate', 'Zubat', 'Golbat',
'Bellsprout', 'Weepinbell', 'Victreebel', 'Poliwag', 'Poliwhirl', 'Poliwrath', 'Abra', 'Oddish',
'Gloom', 'Vileplume', 'Horsea', 'Seadra', 'Grimer', 'Muk', 'Weedle', 'Kakuna', 'Beedrill',
'Doduo', 'Dodrio', 'Magnemite', 'Magneton', 'Voltorb', 'Electrode', 'Geodude', 'Graveler', 'Golem', 'Sandshrew',
'Sandslash', 'Charmander', 'Charmeleon', 'Charizard', 'Kadabra', 'Alakazam', 'Ditto'}

 

 

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

  • 2 weeks later...

[19/02/2011 09:54:33] [Error - LuaScriptInterface::loadFile] data/talkactions/scripts/move1.lua:681: unexpected symbol near '}'

[19/02/2011 09:54:33] [Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/move1.lua)

[19/02/2011 09:54:33] data/talkactions/scripts/move1.lua:681: unexpected symbol near '}'

 

 

 

POR QUE DEU ESSE ERRO?

 

[19/02/2011 10:09:04] [Error - TalkAction Interface]

[19/02/2011 10:09:04] data/talkactions/scripts/move1.lua:onSay

[19/02/2011 10:09:04] Description:

[19/02/2011 10:09:04] data/talkactions/scripts/move1.lua:689: attempt to index field '?' (a nil value)

[19/02/2011 10:09:04] stack traceback:

[19/02/2011 10:09:04] data/talkactions/scripts/move1.lua:689: in function <data/talkactions/scripts/move1.lua:682>

 

 

 

 

 

TA DANDO ESSE AGORA

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...