script de ataque
2 participantes
MMORPG Brasil :: OPEN SOURCE ENGINES :: Eclipse :: Tutoriais
Página 1 de 1
script de ataque
Ei, isso é muito uma versão mais avançada do sistema de batalha padrão para eclipse. Há muitos recursos para isso que são muito úteis.
veja como usa-lo:
Copie e cole este na parte inferior do seu main.txt:
Agora faça um arquivo ini chamado "Damage.ini" e coloque isto nele.:
Ok e isso é tudo que você precisa fazer. Você pode chamá-lo assim:
index = número índice do índice do jogador
high = dano que você pode fazer (sem redução de defesa)
low = menor quantidade de dano que você pode fazer (sem redução de defesa)
hitrate = que você vai acertar o alvo (de 100)
critrate = que você vai fazer um acerto crítico em seu alvo (de 100)
hitanimation = que será usado quando você atingiu seu alvo
missanimation = que será usado quando você perder o seu alvo, ou não estão suficientemente perto do alvo
critanimation = que será usado quando você faz um acerto crítico em seu alvo
hitsound = som que serão usados quando você atingiu seu alvo
misssound = som que serão usados quando você perder o seu alvo, ou estão muito longe
critsound = som que será usado quando você tem um acerto crítico em seu alvo
características:
3 diferentes efeitos sonoros e animações para acertar, perder e crítica
danos ao acaso por isso não é sempre os mesmos danos
ataques críticos
você pode perder
defesa do alvo tira danos
golpes críticos ignoram a defesa do alvo
Eu tive um parâmetro de velocidade de ataque, mas eu achei-o apenas para ficar no meu caminho, então eu o levei out.if que quiser, com a velocidade de ataque me perguntar e eu vou publicá-la. Espero que gostem deste script.
Creditos: touch of death e eu por traduzi
veja como usa-lo:
Copie e cole este na parte inferior do seu main.txt:
- Código:
'Advanced Attack Command
sub damagecommand(index, high, low, hitrate, critrate, hitanimation, missanimation, critanimation, hitsound, misssound, critsound)
dim str
dim dmg
dim playerdef
dim npcdef
dim critdmg
dim hitchance
dim critchance
dim target
dim npcnum
dim playerx
dim playery
dim npcx
dim npcy
dim dir
dim targettype
dim playertargetx
dim playertargety
str = getplayerstr(index)
if low < 0 then
low = 0
end if
if hitrate < 0 then
hitrate = 0
end if
if hitrate > 100 then
hitrate = 100
end if
critdmg = high / 4
if critrate > 100 then
critrate = 100
end if
if critrate < 0 then
critrate = 0
end if
critchance = rand(0, 100)
hitchance = rand(0, 100)
if int(getplayertarget(index)) > 0 then
target = getplayertarget(index)
targettype = 1
playertargetx = getplayerx(target)
playertargety = getplayery(target)
if hitchance <= hitrate then
playerdef = getplayerdef(target)
dmg = (rand(low, high) + (str * 2)) - (playerdef * 5)
else
dmg = 0
playertargetx = getplayerx(target)
playertargety = getplayery(target)
end if
elseif int(getplayertarget(index)) = 0 then
dmg = 0
npcx = 0
npcy = 0
npcnum = 0
npcdef = 0
playertargetx = 0
playertargety = 0
else
target = getplayertargetnpc(index)
targettype = 0
if hitchance <= hitrate then
npcnum = getplayertargetnpc(index)
npcdef = getnpcdefense(npcnum)
dmg = (rand(low, high) + (str * 2)) - (npcdef * 5)
npcx = getnpcx(getplayermap(index), npcnum)
npcy = getnpcy(getplayermap(index), npcnum)
else
dmg = 0
npcnum = getplayertargetnpc(index)
npcx = getnpcx(getplayermap(index), npcnum)
npcy = getnpcy(getplayermap(index), npcnum)
npcdef = getnpcdefense(npcnum)
end if
end if
playerx = getplayerx(index)
playery = getplayery(index)
dir = getplayerdir(index)
if dir = 0 then
if playerx = npcx or playerx = playertargetx then
if playery = npcy + 1 or playery = playertargety + 1 then
if critchance <= critrate then
call putvar("Damage.ini", "DAMAGE", getplayername(index), "2")
dmg = high + rand(0, critdmg)
else
call putvar("Damage.ini", "DAMAGE", getplayername(index), "1")
end if
if targettype = 1 then
call damageplayer(index, target, dmg)
call putvar("Damage.ini", "DAMAGE", getplayername(index), "1")
else
call damagenpc(index, target, dmg)
call putvar("Damage.ini", "DAMAGE", getplayername(index), "1")
end if
end if
end if
elseif dir = 1 then
if playerx = npcx or playerx = playertargetx then
if playery = npcy - 1 or playery = playertargety - 1 then
if critchance <= critrate then
call putvar("Damage.ini", "DAMAGE", getplayername(index), "2")
dmg = high + rand(0, critdmg)
else
call putvar("Damage.ini", "DAMAGE", getplayername(index), "1")
end if
if targettype = 1 then
call damageplayer(index, target, dmg)
else
call damagenpc(index, target, dmg)
end if
end if
end if
elseif dir = 2 then
if playerx = npcx + 1 or playerx = playertargetx + 1 then
if playery = npcy or playery = playertargety then
if critchance <= critrate then
call putvar("Damage.ini", "DAMAGE", getplayername(index), "2")
dmg = high + rand(0, critdmg)
else
call putvar("Damage.ini", "DAMAGE", getplayername(index), "1")
end if
if targettype = 1 then
call damageplayer(index, target, dmg)
else
call damagenpc(index, target, dmg)
end if
end if
end if
else
if playerx = npcx - 1 or playerx = playertargetx - 1 then
if playery = npcy or playery = playertargety then
if critchance <= critrate then
call putvar("Damage.ini", "DAMAGE", getplayername(index), "2")
dmg = high + rand(0, critdmg)
else
call putvar("Damage.ini", "DAMAGE", getplayername(index), "1")
end if
if targettype = 1 then
call damageplayer(index, target, dmg)
else
call damagenpc(index, target, dmg)
end if
end if
end if
end if
if dmg = 0 then
call putvar("Damage.ini", "DAMAGE", getplayername(index), "0")
end if
if getvar("Damage.ini", "DAMAGE", getplayername(index)) = "2" then
call attackanimation(index, critanimation)
call playsound(index, critsound)
elseif getvar("Damage.ini", "DAMAGE", getplayername(index)) = "1" then
call attackanimation(index, hitanimation)
call playsound(index, hitsound)
else
call attackanimation(index, missanimation)
call playsound(index, misssound)
end if
call putvar("Damage.ini", "DAMAGE", getplayername(index), "0")
end sub
sub attackanimation(index, animation)
dim map
dim playerx
dim playery
dim dir
map = getplayermap(index)
playerx = getplayerx(index)
playery = getplayery(index)
dir = getplayerdir(index)
if dir = 0 then
call spellanim(animation, map, playerx, playery - 1)
elseif dir = 1 then
call spellanim(animation, map, playerx, playery + 1)
elseif dir = 2 then
call spellanim(animation, map, playerx - 1, playery)
else
call spellanim(animation, map, playerx + 1, playery)
end if
end sub
Agora faça um arquivo ini chamado "Damage.ini" e coloque isto nele.:
- Código:
[DAMAGE]
Ok e isso é tudo que você precisa fazer. Você pode chamá-lo assim:
- Código:
call damagecommand(index, high, low, hitrate, critrate, hitanimation, missanimation, critanimation, hitsound, misssound, critsound)
index = número índice do índice do jogador
high = dano que você pode fazer (sem redução de defesa)
low = menor quantidade de dano que você pode fazer (sem redução de defesa)
hitrate = que você vai acertar o alvo (de 100)
critrate = que você vai fazer um acerto crítico em seu alvo (de 100)
hitanimation = que será usado quando você atingiu seu alvo
missanimation = que será usado quando você perder o seu alvo, ou não estão suficientemente perto do alvo
critanimation = que será usado quando você faz um acerto crítico em seu alvo
hitsound = som que serão usados quando você atingiu seu alvo
misssound = som que serão usados quando você perder o seu alvo, ou estão muito longe
critsound = som que será usado quando você tem um acerto crítico em seu alvo
características:
3 diferentes efeitos sonoros e animações para acertar, perder e crítica
danos ao acaso por isso não é sempre os mesmos danos
ataques críticos
você pode perder
defesa do alvo tira danos
golpes críticos ignoram a defesa do alvo
Eu tive um parâmetro de velocidade de ataque, mas eu achei-o apenas para ficar no meu caminho, então eu o levei out.if que quiser, com a velocidade de ataque me perguntar e eu vou publicá-la. Espero que gostem deste script.
Creditos: touch of death e eu por traduzi
Última edição por guuh em Qui 20 Jan 2011, 09:17, editado 1 vez(es)
guuh- Membro Veterano
- Mensagens : 1187
Re: script de ataque
hm não tem esse tuto na toucho? "forum oficial do eclipse"
bom parabéns por contribuir para o forum e,e pena que não vou usar '-'
bom parabéns por contribuir para o forum e,e pena que não vou usar '-'
Darkpeople196- Membro Vitalicio
- Mensagens : 612
Tópicos semelhantes
» Script De Teleport E Script Que Apareça Imagem - Ajuda
» Bug de Ataque
» [Correção] Ataque do NPC
» auto ataque no e.o
» [Correção] Bug de Ataque
» Bug de Ataque
» [Correção] Ataque do NPC
» auto ataque no e.o
» [Correção] Bug de Ataque
MMORPG Brasil :: OPEN SOURCE ENGINES :: Eclipse :: Tutoriais
Página 1 de 1
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