MMORPG Brasil
Ola, visitante! Agradecemos sua visita, para ter acesso a todo nosso conteúdo recomendamos que faça um cadastro no fórum, com ele você pode participar de tópicos e ter acesso a todas áreas da comunidade!

Participe do fórum, é rápido e fácil

MMORPG Brasil
Ola, visitante! Agradecemos sua visita, para ter acesso a todo nosso conteúdo recomendamos que faça um cadastro no fórum, com ele você pode participar de tópicos e ter acesso a todas áreas da comunidade!
MMORPG Brasil
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Adicionando Spells legais

+11
Rio Absolut
klinton-1234
robsonbda
Karlos
Lucas Lôpo
Rai Tavares
bykass
xandmaxis
Zeus
Lendário
Grilox
15 participantes

Página 1 de 2 1, 2  Seguinte

Ir para baixo

Adicionando Spells legais Empty Adicionando Spells legais

Mensagem por Grilox Sáb 31 Out 2009, 00:59

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 Very Happy



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 Very Happy




Espero ter ajudado alguem! :lol!:


Apenas fiz o tutorial o Script não é meu.

Adicionando Spells legais Win2[By: P-]
Grilox
Grilox
Membro Junior
Membro Junior

Mensagens : 87

Ir para o topo Ir para baixo

Adicionando Spells legais Empty Re: Adicionando Spells legais

Mensagem por Lendário Sáb 31 Out 2009, 06:26

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.
Lendário
Lendário
Administrador Lendário
Administrador Lendário

Mensagens : 1958

Ir para o topo Ir para baixo

Adicionando Spells legais Empty Re: Adicionando Spells legais

Mensagem por Zeus Sáb 31 Out 2009, 13:27

Muito bom mesmo ! Parabéns e +1 crédito.
Zeus
Zeus
Membro Vitalicio
Membro Vitalicio

Mensagens : 711

Ir para o topo Ir para baixo

Adicionando Spells legais Empty Re: Adicionando Spells legais

Mensagem por xandmaxis Ter 03 Nov 2009, 09:28

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.
avatar
xandmaxis
Novato
Novato

Mensagens : 47

Ir para o topo Ir para baixo

Adicionando Spells legais Empty Re: Adicionando Spells legais

Mensagem por bykass Ter 10 Nov 2009, 18:10

um erro é o 9; Está dando com a Riple;. Só pode ser usado 5 Vezes até o erro; sabem como solucionar?
avatar
bykass
Novato
Novato

Mensagens : 35

Ir para o topo Ir para baixo

Adicionando Spells legais Empty Re: Adicionando Spells legais

Mensagem por Rai Tavares Ter 10 Nov 2009, 18:54

Ele ta dando no server ou no client? ta usando pelo vb?
Rai Tavares
Rai Tavares
Membro Vitalicio
Membro Vitalicio

Mensagens : 725

http://xstrond.blogspot.com

Ir para o topo Ir para baixo

Adicionando Spells legais Empty Re: Adicionando Spells legais

Mensagem por bykass Ter 10 Nov 2009, 19:02

bom aparece no sv, logo em seguida o sv é desligado; Sim falo pelo VB
avatar
bykass
Novato
Novato

Mensagens : 35

Ir para o topo Ir para baixo

Adicionando Spells legais Empty Re: Adicionando Spells legais

Mensagem por Rai Tavares Ter 10 Nov 2009, 19:13

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
Rai Tavares
Rai Tavares
Membro Vitalicio
Membro Vitalicio

Mensagens : 725

http://xstrond.blogspot.com

Ir para o topo Ir para baixo

Adicionando Spells legais Empty Re: Adicionando Spells legais

Mensagem por bykass Ter 10 Nov 2009, 19:37

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)
avatar
bykass
Novato
Novato

Mensagens : 35

Ir para o topo Ir para baixo

Adicionando Spells legais Empty Re: Adicionando Spells legais

Mensagem por Rai Tavares Ter 10 Nov 2009, 19:50

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 ^^...
Rai Tavares
Rai Tavares
Membro Vitalicio
Membro Vitalicio

Mensagens : 725

http://xstrond.blogspot.com

Ir para o topo Ir para baixo

Adicionando Spells legais Empty Re: Adicionando Spells legais

Mensagem por bykass Ter 10 Nov 2009, 19:53

é possível dividir e multiplicar depois? moderadores, apaguem depois para deixar o tópico limpo;
avatar
bykass
Novato
Novato

Mensagens : 35

Ir para o topo Ir para baixo

Adicionando Spells legais Empty Re: Adicionando Spells legais

Mensagem por bykass Ter 10 Nov 2009, 19:56

desculpa o comentário noob kkk.... estava boiando aki.
avatar
bykass
Novato
Novato

Mensagens : 35

Ir para o topo Ir para baixo

Adicionando Spells legais Empty Re: Adicionando Spells legais

Mensagem por Rai Tavares Ter 10 Nov 2009, 19:58

sim
dim dano
dano = getplayerstr(index) *2 MULTIPLICANDO
dano = getplayerstr(index) /3 DIVIDINDO

Call StartRipple(index, 10, dano, 6, 500)
Rai Tavares
Rai Tavares
Membro Vitalicio
Membro Vitalicio

Mensagens : 725

http://xstrond.blogspot.com

Ir para o topo Ir para baixo

Adicionando Spells legais Empty Re: Adicionando Spells legais

Mensagem por bykass Ter 10 Nov 2009, 20:09

ta foda cara, a spell não ta aceitando nada que não seja número; Não sai nada dai..
avatar
bykass
Novato
Novato

Mensagens : 35

Ir para o topo Ir para baixo

Adicionando Spells legais Empty Re: Adicionando Spells legais

Mensagem por Rai Tavares Ter 10 Nov 2009, 20:26

Já tentou isso?

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)
Rai Tavares
Rai Tavares
Membro Vitalicio
Membro Vitalicio

Mensagens : 725

http://xstrond.blogspot.com

Ir para o topo Ir para baixo

Adicionando Spells legais Empty Re: Adicionando Spells legais

Mensagem por bykass Ter 10 Nov 2009, 20:39

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]
avatar
bykass
Novato
Novato

Mensagens : 35

Ir para o topo Ir para baixo

Adicionando Spells legais Empty Re: Adicionando Spells legais

Mensagem por Lucas Lôpo Ter 10 Nov 2009, 20:42

Proibido a postagem de msn se quizer mande uma MP para a pessoa com seu msn.
Lucas Lôpo
Lucas Lôpo
Membro Veterano
Membro Veterano

Mensagens : 833

Ir para o topo Ir para baixo

Adicionando Spells legais Empty Re: Adicionando Spells legais

Mensagem por Rai Tavares Ter 10 Nov 2009, 21:37

Tenta denovo champz certeza q vc ta errando em besteira...

Call StartRipple(index, 10,getplayerstr(index)*2, 6, 500)

Aqui funcionou! ^^
Rai Tavares
Rai Tavares
Membro Vitalicio
Membro Vitalicio

Mensagens : 725

http://xstrond.blogspot.com

Ir para o topo Ir para baixo

Adicionando Spells legais Empty Re: Adicionando Spells legais

Mensagem por bykass Qua 11 Nov 2009, 17:04

agora deu vários jeitos. ex: getplayerSTR(index) + getplayerMAGI(index), mais a divido por 2 ainda não está dando; tenta ae... ^^
avatar
bykass
Novato
Novato

Mensagens : 35

Ir para o topo Ir para baixo

Adicionando Spells legais Empty Re: Adicionando Spells legais

Mensagem por Rai Tavares Qua 11 Nov 2009, 20:56

Faz assim

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...
Rai Tavares
Rai Tavares
Membro Vitalicio
Membro Vitalicio

Mensagens : 725

http://xstrond.blogspot.com

Ir para o topo Ir para baixo

Adicionando Spells legais Empty Re: Adicionando Spells legais

Mensagem por Karlos Ter 08 Dez 2009, 18:20

perfect + 1 de cred.
Karlos
Karlos
Membro Veterano
Membro Veterano

Mensagens : 2851

http://www.talack.com.br

Ir para o topo Ir para baixo

Adicionando Spells legais Empty Re: Adicionando Spells legais

Mensagem por robsonbda Ter 08 Dez 2009, 21:50

mt bom +1 credito
avatar
robsonbda
Novato
Novato

Mensagens : 10

Ir para o topo Ir para baixo

Adicionando Spells legais Empty Re: Adicionando Spells legais

Mensagem por robsonbda Ter 08 Dez 2009, 21:50

mt bom +1 credito
avatar
robsonbda
Novato
Novato

Mensagens : 10

Ir para o topo Ir para baixo

Adicionando Spells legais Empty Re: Adicionando Spells legais

Mensagem por robsonbda Ter 08 Dez 2009, 21:51

mt bom +1 credito
avatar
robsonbda
Novato
Novato

Mensagens : 10

Ir para o topo Ir para baixo

Adicionando Spells legais Empty Re: Adicionando Spells legais

Mensagem por klinton-1234 Sex 05 Fev 2010, 15:20

que pena que nao da pra usar isso no chaos engine
avatar
klinton-1234
Membro
Membro

Mensagens : 220

Ir para o topo Ir para baixo

Adicionando Spells legais Empty Re: Adicionando Spells legais

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Página 1 de 2 1, 2  Seguinte

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos