Adicionando Spells legais
+11
Rio Absolut
klinton-1234
robsonbda
Karlos
Lucas Lôpo
Rai Tavares
bykass
xandmaxis
Zeus
Lendário
Grilox
15 participantes
MMORPG Brasil :: OPEN SOURCE ENGINES :: Eclipse :: Tutoriais
Página 1 de 2
Página 1 de 2 • 1, 2
Adicionando Spells legais
Bom esse é o primeiro "tutorial" que eu faço, ele serve pra adicionar os Spell Legais no main das pessoas que não querem substituir o main pelo que foi disponibilizado em outro topico.
Vamos Começar
Adicione isso no final do seu main.txt
Coloque isso na Sub OnArrowHit
Na sub ScriptedSpell:
Escolha uma case # e adicione o spell desejado.
Exemplo Case 0
Fire wall
Riple
Seguidora
Configurando:
Call StartWall(index, Distancia, Dano, Nº da Animaçao, Velocidade)
O mesmo vale para os outros
Espero ter ajudado alguem! :lol!:
Apenas fiz o tutorial o Script não é meu.
[By: P-]
Vamos Começar
Adicione isso no final do seu main.txt
- Código:
Sub StartWall(index, Dist, Damage, SpellNo, Speed)
Call SetTimer("FireWall " & index & "," & Dist & "," & Damage & "," & GetPlayerMap(index) & "," & GetPlayerDirX(index) & "," & GetPlayerDirY(index) & "," & GetPlayerDir(index) & "," & SpellNo, Speed)
end sub
Sub StartHoming(index, Dist, Damage, SpellNo, Speed)
if getplayertarget(index) > 0 then
Call SetTimer("HomingPlayer " & index & "," & Dist & "," & Damage & "," & GetPlayerMap(index) & "," & getplayerdirx(index) & "," & getplayerdiry(index) & "," & GetPlayertarget(index) & "," & SpellNo, Speed)
elseif getplayertargetnpc(index) > 0 then
Call SetTimer("HomingNPC " & index & "," & Dist & "," & Damage & "," & GetPlayerMap(index) & "," & getplayerdirx(index) & "," & getplayerdiry(index) & "," & GetPlayertargetNPC(index) & "," & SpellNo, Speed)
else
Call PlayerMSG(index, "No Target Selected!", 4)
end if
End Sub
Sub StartRipple(index, range, damage, spell, timer)
Call lockplayer(index, 1)
call spellanim(spell, getplayermap(index), getplayerx(index), getplayery(index))
call settimer("Ripple " & index & "," & range & "," & "1" & "," & damage & "," & spell & "," & timer, timer)
End Sub
Sub Ripple(index, range, dist, damage, spell, timer)
dim x
dim y
dim map
call removetimer("Ripple " & index & "," & range & "," & dist & "," & damage & "," & spell & "," & timer)
if dist > range then
call lockplayer(index, 0)
exit sub
end if
map = getplayermap(index)
y = getplayery(index) - dist
x = getplayerx(index) - dist
do while y <= getplayery(index) + dist
call spellanim(spell, map, x, y)
call checkattacknpc(index, map, x, y, damage)
call checkattackplayer(index, map, x, y, damage)
y = y + 1
loop
y = getplayery(index) + dist
x = getplayerx(index) - dist
do while x <= getplayerx(index) + dist
call spellanim(spell, map, x, y)
call checkattacknpc(index, map, x, y, damage)
call checkattackplayer(index, map, x, y, damage)
x = x + 1
loop
y = getplayery(index) + dist
x = getplayerx(index) + dist
do while y >= getplayery(index) - dist
call spellanim(spell, map, x, y)
call checkattacknpc(index, map, x, y, damage)
call checkattackplayer(index, map, x, y, damage)
y = y - 1
loop
y = getplayery(index) - dist
x = getplayerx(index) + dist
do while x >= getplayerx(index) - dist
call spellanim(spell, map, x, y)
call checkattacknpc(index, map, x, y, damage)
call checkattackplayer(index, map, x, y, damage)
x = x - 1
loop
dist = dist + 1
call settimer("Ripple " & index & "," & range & "," & dist & "," & damage & "," & spell & "," & timer, timer)
End Sub
Sub FireWall(index, Dist, Damage, map, x, y, Dir, Spell)
if Dist = 0 then
Call RemoveTimer("FireWall " & index & "," & Dist & "," & Damage & "," & map & "," & x & "," & y & "," & Dir & "," & Spell)
else
Call RemoveTimer("FireWall " & index & "," & Dist & "," & Damage & "," & map & "," & x & "," & y & "," & Dir & "," & Spell)
Call SpellAnim(Spell, map, x, y)
Call CheckAttackNPC(index, map, x, y, Damage)
Call CheckAttackPlayer(index, map, x, y, Damage)
select case Dir
case 0
y = int(y) - 1
case 1
y = int(y) + 1
case 2
x = int(x) - 1
case 3
x = int(x) + 1
end select
Dist = int(Dist) - 1
Call SetTimer("FireWall " & index & "," & Dist & "," & Damage & "," & map & "," & x & "," & y & "," & Dir & "," & Spell, 75)
end if
End Sub
Sub CheckAttackNPC(index, map, x, y, Damage)
dim count
count = 1
do while count < 16
if getnpcx(map, count) = x AND getnpcy(map, count) = y then
Call DamageNPC(index, count, Damage)
exit sub
end if
count = count + 1
loop
End Sub
Sub CheckAttackPlayer(index, map, x, y, Damage)
dim count
count = 1
do while count < 51
if count <> index then
if isplaying(count) then
if getplayermap(count) = map AND getplayerx(count) = x AND getplayery(count) = y then
Call DamagePlayer(index, count, Damage)
end if
end if
end if
count = count + 1
loop
End Sub
Sub CheckAnimNPC(index, map, x, y, Spell)
dim count
count = 1
do while count < 16
if getnpcx(map, count) = x AND getnpcy(map, count) = y then
Call SpellAnim(Spell, map, x, y)
exit sub
end if
count = count + 1
loop
End Sub
Sub CheckAnimPlayer(index, map, x, y, Spell)
dim count
count = 1
do while count < 51
if count <> index then
if isplaying(count) then
if getplayermap(count) = map AND getplayerx(count) = x AND getplayery(count) = y then
Call SpellAnim(Spell, map, x, y)
end if
end if
end if
count = count + 1
loop
End Sub
Sub MagicArrowDamage(index)
Dim Range
Dim Damage
Dim SpellNo
Dim Effect
Dim Target
Dim OriginX
Dim OriginY
Dim Map
Dim SelX
Dim SelY
Dim Multiple
Dim XMax
Dim YMax
Call PutVar("Scripts\MagicArrows\Users.ini", "" & GetPlayerName(index), "Firing", "")
Effect = GetVar("Scripts\MagicArrows\Users.ini", "" & GetPlayerName(index), "Effect")
Call PutVar("Scripts\MagicArrows\Users.ini", "" & GetPlayerName(index), "Effect", "")
Range = GetVar("Scripts\MagicArrows\Arrows.ini", "" & Effect, "Range")
Damage = GetVar("Scripts\MagicArrows\Arrows.ini", "" & Effect, "Damage")
SpellNo = GetVar("Scripts\MagicArrows\Arrows.ini", "" & Effect, "SpellNo")
Multiple = GetVar("Scripts\MagicArrows\Arrows.ini", "" & Effect, "Multiple")
Damage = int(damage) + (GetPlayerMAGI(index) * 2)
Map = GetPlayerMap(index)
if GetPlayerTarget(index) > 0 then
Target = GetPlayerTarget(index)
OriginX = GetPlayerX(Target)
OriginY = GetPlayerY(Target)
Call DamagePlayer(index, Target, Damage)
else
Target = GetPlayerTargetNPC(index)
OriginX = GetNPCX(Map, Target)
OriginY = GetNPCY(Map, Target)
Call DamageNPC(index, Target, Damage)
end if
Call SpellAnim(SpellNo, Map, OriginX, OriginY)
if int(Range) > 0 then
SelX = int(OriginX) - int(Range)
XMax = int(OriginX) + int(Range)
YMax = int(OriginY) + int(Range)
do while int(SelX) <= int(XMax)
SelY = int(OriginY) - int(Range)
do while int(SelY) <= int(YMax)
if SelY = OriginY AND SelX = OriginX then
else
Call CheckAttackNPC(index, map, selx, sely, damage)
Call CheckAttackPlayer(index, map, selx, sely, damage)
if Multiple = "1" then
Call CheckAnimNPC(index, map, selx, sely, SpellNo)
Call CheckAnimPlayer(index, map, selx, sely, SpellNo)
elseif multiple = "2" then
Call SpellAnim(SpellNo, map, SelX, SelY)
end if
end if
SelY = SelY + 1
loop
SelX = SelX + 1
loop
end if
End Sub
Sub HomingPlayer(index, Dist, Damage, map, x, y, target, Spell)
if Dist = 0 then
Call RemoveTimer("HomingPlayer " & index & "," & Dist & "," & Damage & "," & map & "," & x & "," & y & "," & Target & "," & Spell)
else
if isplaying(target) = false then
Call RemoveTimer("HomingPlayer " & index & "," & Dist & "," & Damage & "," & map & "," & x & "," & y & "," & Target & "," & Spell)
exit sub
end if
Call RemoveTimer("HomingPlayer " & index & "," & Dist & "," & Damage & "," & map & "," & x & "," & y & "," & Target & "," & Spell)
Call SpellAnim(Spell, map, x, y)
if StandingHere(map, x, y) <> "0" then
Call CheckAttackNPC(index, map, x, y, Damage)
Call CheckAttackPlayer(index, map, x, y, Damage)
exit sub
end if
if map <> getplayermap(target) then
exit sub
end if
if x > getplayerx(target) then
x = int(x) - 1
end if
if x < getplayerx(target) then
x = int(x) + 1
end if
if int(y) > getplayery(target) then
y = int(y) - 1
end if
if int(y) < getplayery(target) then
y = int(y) + 1
end if
Dist = int(Dist) - 1
Call SetTimer("HomingPlayer " & index & "," & Dist & "," & Damage & "," & map & "," & x & "," & y & "," & Target & "," & Spell, 75)
end if
End Sub
Sub HomingNPC(index, Dist, Damage, map, x, y, target, Spell)
if Dist = 0 then
Call RemoveTimer("HomingNPC " & index & "," & Dist & "," & Damage & "," & map & "," & x & "," & y & "," & Target & "," & Spell)
else
Call RemoveTimer("HomingNPC " & index & "," & Dist & "," & Damage & "," & map & "," & x & "," & y & "," & Target & "," & Spell)
Call SpellAnim(Spell, map, x, y)
if StandingHere(map, x, y) > 0 then
Call CheckAttackNPC(index, map, x, y, Damage)
Call CheckAttackPlayer(index, map, x, y, Damage)
exit sub
end if
if x > getnpcx(map, target) then
x = x - 1
elseif x < getnpcx(map, target) then
x = x + 1
end if
if y > getnpcy(map, target) then
y = y - 1
elseif y < getnpcy(map, target) then
y = y + 1
end if
Dist = int(Dist) - 1
Call SetTimer("HomingNPC " & index & "," & Dist & "," & Damage & "," & map & "," & x & "," & y & "," &Target & "," & Spell, 75)
end if
End Sub
Function StandingHere(map, x, y)
dim count
count = 1
do while count < 51
if isplaying(count) then
if getplayermap(count) = map AND getplayerx(count) = x AND getplayery(count) = y then
StandingHere = 1
exit function
end if
end if
count = count + 1
loop
count = 1
do while count < 16
if getnpcx(map, count) = x AND getnpcy(map, count) = y then
StandingHere = 2
exit function
end if
count = count + 1
loop
standinghere = 0
End Function
Coloque isso na Sub OnArrowHit
- Código:
if GetVar("Scripts\MagicArrows\Users.ini", "" & GetPlayerName(index), "Firing") = "1" then
Call MagicArrowDamage(index)
exit sub
end if
Na sub ScriptedSpell:
Escolha uma case # e adicione o spell desejado.
Exemplo Case 0
Fire wall
- Código:
Case 0
Call StartWall(index, 10, 10, 1, 100)
Exit Sub
Riple
- Código:
Case 0
Call StartRipple(index, 10, 10, 1, 100)
Exist Sub
Seguidora
- Código:
Case 0
Call StartHoming(index, 10, 10, 1, 100)
Exit Sub
Configurando:
Call StartWall(index, Distancia, Dano, Nº da Animaçao, Velocidade)
O mesmo vale para os outros
Espero ter ajudado alguem! :lol!:
Apenas fiz o tutorial o Script não é meu.
[By: P-]
Grilox- Membro Junior
- Mensagens : 87
Re: Adicionando Spells legais
Muito bom tutorial pq vc não se escreve para o concurso de tutoriais diversos daqui do fórum ?
Ta la na categoria eventos.
+1 de CRED pela colaboração.
Continue assim.
Ta la na categoria eventos.
+1 de CRED pela colaboração.
Continue assim.
Lendário- Administrador Lendário
- Mensagens : 1958
Re: Adicionando Spells legais
Muito bom mesmo ! Parabéns e +1 crédito.
Zeus- Membro Vitalicio
- Mensagens : 711
Re: Adicionando Spells legais
Não encontrei onde mudar essas informações na sub OnArrowHit...
Tem que editar algum arquivo font e compilar ? se sim poderia me indicar o nome do arquivo ?
Estou começando agora com edição de scripts, e esse tutorial pelo jeito é pra quem já manja bem de eclipse.
Bom fico no aguardo, desde já agradeço.
Tem que editar algum arquivo font e compilar ? se sim poderia me indicar o nome do arquivo ?
Estou começando agora com edição de scripts, e esse tutorial pelo jeito é pra quem já manja bem de eclipse.
Bom fico no aguardo, desde já agradeço.
xandmaxis- Novato
- Mensagens : 47
Re: Adicionando Spells legais
um erro é o 9; Está dando com a Riple;. Só pode ser usado 5 Vezes até o erro; sabem como solucionar?
bykass- Novato
- Mensagens : 35
Re: Adicionando Spells legais
bom aparece no sv, logo em seguida o sv é desligado; Sim falo pelo VB
bykass- Novato
- Mensagens : 35
Re: Adicionando Spells legais
O erro no servidor rola pq vc deve ta aberto com source, transforme ele em (.exe)
e abra o servidor (pela executavel).
Para inserir custo de mana insira na case
If getplayermp(index) > 20 then
call getplayermp(index, getplayermp(index) -20)
AQUI INSIRA A MAGIA
end if
e abra o servidor (pela executavel).
Para inserir custo de mana insira na case
If getplayermp(index) > 20 then
call getplayermp(index, getplayermp(index) -20)
AQUI INSIRA A MAGIA
end if
Re: Adicionando Spells legais
e para fazer a base do damage? por exemplo;
Call StartRipple(index, 10, 20, 6, 500)
Assim a base do dano está 20;
para aumentar eu devo fazer isso? (vo coloca em negrito)
Call StartRipple(index, 10, 20+(int/2), 6, 500)
Call StartRipple(index, 10, 20, 6, 500)
Assim a base do dano está 20;
para aumentar eu devo fazer isso? (vo coloca em negrito)
Call StartRipple(index, 10, 20+(int/2), 6, 500)
bykass- Novato
- Mensagens : 35
Re: Adicionando Spells legais
por que não coloca logo:
Call StartRipple(index, 10, getplayerstr(index), 6, 500)
assim dependendo da sua str vc tira de dano, a magia nunca ficará ruim, sempre melhor ^^...
Call StartRipple(index, 10, getplayerstr(index), 6, 500)
assim dependendo da sua str vc tira de dano, a magia nunca ficará ruim, sempre melhor ^^...
Re: Adicionando Spells legais
é possível dividir e multiplicar depois? moderadores, apaguem depois para deixar o tópico limpo;
bykass- Novato
- Mensagens : 35
Re: Adicionando Spells legais
desculpa o comentário noob kkk.... estava boiando aki.
bykass- Novato
- Mensagens : 35
Re: Adicionando Spells legais
sim
dim dano
dano = getplayerstr(index) *2 MULTIPLICANDO
dano = getplayerstr(index) /3 DIVIDINDO
Call StartRipple(index, 10, dano, 6, 500)
dim dano
dano = getplayerstr(index) *2 MULTIPLICANDO
dano = getplayerstr(index) /3 DIVIDINDO
Call StartRipple(index, 10, dano, 6, 500)
Re: Adicionando Spells legais
ta foda cara, a spell não ta aceitando nada que não seja número; Não sai nada dai..
bykass- Novato
- Mensagens : 35
Re: Adicionando Spells legais
Já tentou isso?
Call StartRipple(index, 10,getplayerstr(index)*2, 6, 500)
Aqui funcionou! ^^
Call StartRipple(index, 10,getplayerstr(index)*2, 6, 500)
Aqui funcionou! ^^
Última edição por Rai Tavares em Qua 11 Nov 2009, 14:31, editado 2 vez(es)
Re: Adicionando Spells legais
sim não vai.... tentei de varias formas, além de o vb dar um toque e separar o getplayerstr(index) * 2to tentando resolver alguns trecos; se poder me add msn, aih não atrapalha o forum! [Conteúdo removido]
bykass- Novato
- Mensagens : 35
Re: Adicionando Spells legais
Proibido a postagem de msn se quizer mande uma MP para a pessoa com seu msn.
Lucas Lôpo- Membro Veterano
- Mensagens : 833
Re: Adicionando Spells legais
Tenta denovo champz certeza q vc ta errando em besteira...
Call StartRipple(index, 10,getplayerstr(index)*2, 6, 500)
Aqui funcionou! ^^
Call StartRipple(index, 10,getplayerstr(index)*2, 6, 500)
Aqui funcionou! ^^
Re: Adicionando Spells legais
agora deu vários jeitos. ex: getplayerSTR(index) + getplayerMAGI(index), mais a divido por 2 ainda não está dando; tenta ae... ^^
bykass- Novato
- Mensagens : 35
Re: Adicionando Spells legais
Faz assim
Cria a DIM no inicio da sub
e no lugar q deveria colocar o dano usa a palavra dano.
Se não funcionar Ferroosii...
Cria a DIM no inicio da sub
- Código:
Dim dano
- Código:
dano = Getplayerstr(index) / 2
e no lugar q deveria colocar o dano usa a palavra dano.
Se não funcionar Ferroosii...
Re: Adicionando Spells legais
que pena que nao da pra usar isso no chaos engine
klinton-1234- Membro
- Mensagens : 220
Página 1 de 2 • 1, 2
Tópicos semelhantes
» [ALL]Adicionando uma tag ao lado do nome
» Adicionando Musica
» Adicionando MP3 ao cliente
» [ALL]Adicionando mais Tiles
» Adicionando pontos por Comando
» Adicionando Musica
» Adicionando MP3 ao cliente
» [ALL]Adicionando mais Tiles
» Adicionando pontos por Comando
MMORPG Brasil :: OPEN SOURCE ENGINES :: Eclipse :: Tutoriais
Página 1 de 2
Permissões neste sub-fórum
Não podes responder a tópicos
Dom 08 Abr 2018, 18:40 por JorgeZinhoo002
» Ojkjeeeee
Seg 10 Out 2016, 23:19 por Frozen
» Naruto Great Ninja Batle
Dom 09 Out 2016, 14:29 por GuiinhoLP
» Recrutamento de um Designer para jogo de CDZ.
Sex 23 Set 2016, 18:37 por newbie123
» Serviços de suporte maker( Programação , Design , PixelArt ) E Vendas de Jogos
Qui 22 Set 2016, 20:11 por Eduardo
» Serviços de suporte maker( Programação , Design , PixelArt ) E Vendas de Jogos
Qui 22 Set 2016, 20:11 por Eduardo
» Serviços de suporte maker( Programação , Design , PixelArt ) E Vendas de Jogos
Qui 22 Set 2016, 20:09 por Eduardo
» Projeto Dbz
Qua 31 Ago 2016, 23:46 por 157
» Avaliação - Sprites Naruto
Qua 31 Ago 2016, 17:09 por 157
» [Sprites] DBZ (Plix)
Qua 31 Ago 2016, 14:13 por 157
» Super Pack - Bleach V.2
Qua 31 Ago 2016, 13:02 por 157
» [PEDIDO][PROJETO][RECRUTAMENTO] DYNISTYGAMES
Ter 30 Ago 2016, 10:04 por 157
» [PEDIDO][PROJETO][RECRUTAMENTO] DYNISTYGAMES
Ter 30 Ago 2016, 10:03 por 157
» [PEDIDO][PROJETO][RECRUTAMENTO] DYNISTYGAMES
Ter 30 Ago 2016, 10:02 por 157
» [Pedido] Contador de resets na FrmMain
Sáb 13 Ago 2016, 17:45 por killers97
» [Recrutamento]
Qua 10 Ago 2016, 23:09 por Monsters
» Ajuda erro no Cliente e Servidor do EEB 2.6!
Qua 20 Jul 2016, 19:53 por Binholx
» Como criar tilesets para Eclipse Origins 3.0 (POKÉMON)
Qua 29 Jun 2016, 19:46 por Sir Aaron
» Recursos Pokemons
Qua 29 Jun 2016, 19:34 por Sir Aaron
» erro frm flash
Qua 25 maio 2016, 13:51 por vava123
» Pedido - Pack de star wars
Qui 19 maio 2016, 05:06 por edsonpet
» [Ajuda] Sobre como por o servidor on por ip fixo
Ter 17 maio 2016, 16:14 por vava123
» Illusion Dimension - O Misterio do ID: BETA TESTE ONLINE
Sex 06 maio 2016, 20:02 por LksFlorencio
» [NSME] Naruto Shinobi Maker Engine
Qua 23 Mar 2016, 15:11 por luana1457
» Script /base,/casa Igual DBZ Forces
Dom 21 Fev 2016, 07:34 por JorgeZinhoo002
» [Pedido]Colar Tsunade item sprite eclipse origin
Qui 21 Jan 2016, 07:38 por lawllietbr
» [Pedido] Elysium
Sáb 19 Dez 2015, 11:31 por luana1457
» Naruto - Recruta
Ter 15 Dez 2015, 18:40 por Uchiha ~
» [Avaliação] - Kirito from Sword Art Online; Red and Pikachu from Pokemon.
Qua 25 Nov 2015, 13:43 por Thanakii
» [Avaliação] - Kenpachi Zaraki from Bleach; Libra Shiryu From Saint Seiya.
Qua 25 Nov 2015, 12:55 por Thanakii
» Demonstração de Sprites (Á VENDA!)
Qua 25 Nov 2015, 12:40 por Thanakii
» [Sistema de Reset]Para Eclipse .
Ter 24 Nov 2015, 16:51 por VithorUchi
» Cada Guild Nascer em Certo Mapa
Qui 12 Nov 2015, 06:13 por fabiofeijó_HIT
» Dragon Ball z Fusion A Grande Volta
Qui 29 Out 2015, 15:17 por fabiofeijó_HIT
» Ajuda com Ip fixo
Seg 26 Out 2015, 16:07 por GalaxyHells15
» Como Fazer um GUI no Eclipse Origins
Dom 18 Out 2015, 22:10 por Jeanleee
» Shisui Susanoo
Dom 18 Out 2015, 20:23 por Jeanleee
» Fantasy Art Online
Dom 18 Out 2015, 16:41 por daviih123
» Ajuda !!
Seg 05 Out 2015, 12:13 por andersonzika
» como passar o usuário e senha para o MainMenu?
Seg 28 Set 2015, 22:03 por Bëzerk
» Ru time ero 13 Type mismatch
Seg 28 Set 2015, 09:08 por andredarle
» Jarvis 1.3 Download
Qua 23 Set 2015, 18:42 por soares125
» [Avaliação/Disponibilização]Árvore 64x64
Qua 23 Set 2015, 15:15 por Over~
» Mlk's Zikas Signatures
Ter 22 Set 2015, 21:15 por Aikawa Reborn'
» Pedido de Sistemas
Dom 20 Set 2015, 18:05 por cleyton_05
» [AjudaEEB]Gerador de EXP
Qua 16 Set 2015, 14:04 por Over~
» [Avaliar] Base, Humano e Goblin.
Seg 14 Set 2015, 22:51 por .iBlaz3.
» Fabrica do Tio Cronos!
Dom 13 Set 2015, 21:31 por [ADM]Cronos
» [PixelArt] Minion - Meu malvado favorito
Dom 13 Set 2015, 12:51 por [ADM]Cronos
» [Avaliar] Goku Dragon Ball Z
Qua 05 Ago 2015, 21:36 por Setrux