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.

[EE][ES]Sistema de Buff por tempo

4 participantes

Ir para baixo

[EE][ES]Sistema de Buff por tempo Empty [EE][ES]Sistema de Buff por tempo

Mensagem por DshFox Seg 11 Out 2010, 20:57

Precisa ter o TransUp e transDown ,se você não têm,Implemente

1°- Crie uma Pasta chamada BUFF dentro da pasta SERVER
2°- Na sub JoinGame antes do END SUB
coloque o seguite código :
Código:

if GetVar("scripts\buff" & trim(GetPlayerName(index)) & ".ini", "Buff", "buff1") = "" then
Call PutVar("scripts\buff" & trim(GetPlayerName(index)) & ".ini", "Buff", "buff1", 0)
Call PutVar("scripts\buff" & trim(GetPlayerName(index)) & ".ini", "Buff", "buff2", 0)
Call PutVar("scripts\buff" & trim(GetPlayerName(index)) & ".ini", "Buff", "buff3", 0)
Call PutVar("scripts\buff" & trim(GetPlayerName(index)) & ".ini", "Buff", "buff4", 0)
Call PutVar("scripts\buff" & trim(GetPlayerName(index)) & ".ini", "Buff", "buff5", 0)
Call PutVar("scripts\buff" & trim(GetPlayerName(index)) & ".ini", "Buff", "buff6", 0)
Call PutVar("scripts\buff" & trim(GetPlayerName(index)) & ".ini", "Buff", "buff7", 0)
Call PutVar("scripts\buff" & trim(GetPlayerName(index)) & ".ini", "Buff", "buff8", 0)
Call PutVar("scripts\buff" & trim(GetPlayerName(index)) & ".ini", "Buff", "buff9", 0)
Call PutVar("scripts\buff" & trim(GetPlayerName(index)) & ".ini", "Buff", "buff10", 0)
end if

Ok,agora vamos criar as subs(que são os buffs e os debuffs)
É um exemplo.
Vou criar 2 buffs. Se já existe um Buff(buff1) para aquele sprite,você vai fazer o buff2 e assim vai..

Sub Trans1(index) ' Ele precisa ser lvl 10 e ter a sprite numero 1,vai virar sprite numero 2 e ter 20 em kd stat
'Ele ficara buffado por 10 segundos(10000)
On Error Resume Next
' checa se o buff ja não tá ativado
If GetVar("scripts\buff" & trim(GetPlayerName(index)) & ".ini", "Buff", "buff1") = 0 Then
Call BattleMsg(index, "1 Um poder estranho surge",blue,0)
Call SpellAnim(1, GetPlayerMap(index), GetPlayerX(index), GetPlayerY(index))
Call PlaySound(index,"miss.wav")
Call TransUp(index,10,20,20,20,1,2)
Call SetTimer("tmrTest " & index & ",1", 10000)
call sendstats(index)
call sendplayerdata(index)
call sendhp(index)
call sendmp(index)
Call PutVar("scripts\buff" & trim(GetPlayerName(index)) & ".ini", "Buff", "buff1", 1) ' buffado
end if
exit sub
end sub

sub DesTrans1(index)
If GetVar("scripts\buff" & trim(GetPlayerName(index)) & ".ini", "Buff", "buff1") = 1 Then
call transDown(index,20,20,20,2,1)
Call BattleMsg(index, "1 Seu poder oculto desapareceu",blue,0)
Call PutVar("scripts\buff" & trim(GetPlayerName(index)) & ".ini", "Buff", "buff1", 0)
Call SendPlayerData(index)
Call SendStats(index)
Call SendMP(index)
Call SendHP(index)
End If

'====
'Fim do 1° Buff~ai ta a Transformação e a Destransformação
'====

'Buff2
Sub Trans2(index)
On Error Resume Next
' checa se o buff ja não tá ativado
If GetVar("scripts\buff" & trim(GetPlayerName(index)) & ".ini", "Buff", "buff2") = 0 Then
Call BattleMsg(index, "Um poder estranho surge",yellow,0)
Call SpellAnim(1, GetPlayerMap(index), GetPlayerX(index), GetPlayerY(index))
Call PlaySound(index,"miss.wav")
Call TransUp(index,10,20,20,20,1,2)
Call SetTimer("tmrTest " & index & ",2", 10000)
call sendstats(index)
call sendplayerdata(index)
call sendhp(index)
call sendmp(index)
Call PutVar("scripts\buff" & trim(GetPlayerName(index)) & ".ini", "Buff", "buff2", 1)
end if
exit sub
end sub

sub DesTrans2(index)
If GetVar("scripts\buff" & trim(GetPlayerName(index)) & ".ini", "Buff", "buff2") = 1 Then
call transDown(index,20,20,20,2,1)
Call BattleMsg(index, "2 Seu poder oculto desapareceu",yellow,0)
Call PutVar("scripts\buff" & trim(GetPlayerName(index)) & ".ini", "Buff", "buff2", 0)
Call SendPlayerData(index)
Call SendStats(index)
Call SendMP(index)
Call SendHP(index)
End If

'----
'Fim do BUFF2
'========

Atenção nos números em negrito dentro do código. Depois do buff2 é buff3 e depois do 2(setTimmer) é 3 e assim vai..

Ok,agora vamos adicionar a sub TmrTest(é a sub onde tu executa oque programou no setTimmer)
no final do main add:

Sub tmrTest(index, script)
'********************************
Call CustomMenuClose(index)
Select Case script

Case 1
Call DesTrans1(index)
Call RemoveTimer("tmrTest " & index & ",1") ' Destrans 1
Exit Sub

Case 2
Call DesTrans2(index)
Call RemoveTimer("tmrTest " & index & ",2") 'DesTrans2
Exit Sub

case 3
Call RemoveTimer("tmrTest " & index & ",3")
' e assim vai..
exit sub

end select
end sub

Agora,Chamando o BUFF
Vá na sub ScriptedSpell
e add numa case livre(vo dá exemplo 1 e 2)

Código:
case 1
If getplayermp(index) > 10 then ' se ele tem mais de 10 em mp
call Trans1(index) 'ativa buff1
call setplayermp(index,getplayermp(index) - 10)
else
call playermsg(index,"Sem mp",blue)
end if
exit sub

case 2
If getplayermp(index) > 10 then ' se ele tem mais de 20 em mp
call Trans2(index) 'ativa buff2
call setplayermp(index,getplayermp(index) - 20)
else
call playermsg(index,"Sem mp",blue)
end if
exit sub

Pronto.
Agora,pra evitar bugs,player sair transformado e tal

vá na sub JoinGame e também LeftGame
add o seguinte codigo(pra cada buff que tu fazer ..)

Código:
If GetVar("scripts\buff" & trim(GetPlayerName(index)) & ".ini", "Buff", "buff1") = 1 Then
Call desTrans1(index)
elseif GetVar("scripts\buff" & trim(GetPlayerName(index)) & ".ini", "Buff", "buff2") = 1 Then
call Destrans2(index)

'elseif GetVar("scripts\buff" & trim(GetPlayerName(index)) & ".ini", "Buff", "buff3") = 1 Then
'call destrans3..

end if

Créditos : OhYehBeibi
DshFox
DshFox
Membro Vitalicio
Membro Vitalicio

Mensagens : 614

Ir para o topo Ir para baixo

[EE][ES]Sistema de Buff por tempo Empty Re: [EE][ES]Sistema de Buff por tempo

Mensagem por Karlos Seg 11 Out 2010, 22:08

muito bom [EE][ES]Sistema de Buff por tempo 256397 , achei interesante pq que vc fez no mesmo estilo do eclipse stable [EE][ES]Sistema de Buff por tempo 535201
Karlos
Karlos
Membro Veterano
Membro Veterano

Mensagens : 2851

http://www.talack.com.br

Ir para o topo Ir para baixo

[EE][ES]Sistema de Buff por tempo Empty Re: [EE][ES]Sistema de Buff por tempo

Mensagem por DshFox Seg 11 Out 2010, 22:18

vlw

como assim "tipo o stable" ? '-'

eu fiz no stable esse ai. Na época foi uma alegria q soh \O
mas eh mto grande,fica bagunçado ;s
DshFox
DshFox
Membro Vitalicio
Membro Vitalicio

Mensagens : 614

Ir para o topo Ir para baixo

[EE][ES]Sistema de Buff por tempo Empty Re: [EE][ES]Sistema de Buff por tempo

Mensagem por Karlos Seg 11 Out 2010, 23:21

exatamente isso que eu quis dizer :d, no stable os scripts são mais organizado Very Happy
Karlos
Karlos
Membro Veterano
Membro Veterano

Mensagens : 2851

http://www.talack.com.br

Ir para o topo Ir para baixo

[EE][ES]Sistema de Buff por tempo Empty Re: [EE][ES]Sistema de Buff por tempo

Mensagem por igorfla10 Ter 12 Out 2010, 16:13

sistema de buff é...
o personagem ter +30% de defesa por 30min?(exemplo)
avatar
igorfla10
Membro
Membro

Mensagens : 161

Ir para o topo Ir para baixo

[EE][ES]Sistema de Buff por tempo Empty Re: [EE][ES]Sistema de Buff por tempo

Mensagem por DshFox Ter 12 Out 2010, 18:53

30 minutos?Nem tanto AOIHSOIEHNAWE

mas eh sim

ele adiciona Stats(força,defesa,magic) e uma sprite nova por determinado Tempo

tipo

Call SetTimer("tmrTest " & index & ",1", 10000)
aqui é onde liga o timer e destacado é o tempo 10000= 10 segundos.

5000=5 seg etc..
DshFox
DshFox
Membro Vitalicio
Membro Vitalicio

Mensagens : 614

Ir para o topo Ir para baixo

[EE][ES]Sistema de Buff por tempo Empty Re: [EE][ES]Sistema de Buff por tempo

Mensagem por V-Force Ter 12 Out 2010, 20:13

acho q da ateh 999999 ja que até 100000 da pra por =)
V-Force
V-Force
Administrador V-Force
Administrador V-Force

Mensagens : 933

Ir para o topo Ir para baixo

[EE][ES]Sistema de Buff por tempo Empty Re: [EE][ES]Sistema de Buff por tempo

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

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