Transformaçao Animada

    Compartilhe
    avatar
    FuckStyle
    Membro Ativo

    Mensagens : 49
    Level : 3
    Data de inscrição : 02/11/2011

    default Transformaçao Animada

    Mensagem por FuckStyle em Qui Nov 03, 2011 5:05 pm

    Server:

    Na ClsCommands add:


    Código:
    Sub SendTransAnime(index, sprite1, sprite2, sprite3, antiga)
    'enviar a pack para o cliente
    Call SendDataTo(index, "transanime" & SEP_CHAR & sprite1 & SEP_CHAR & sprite2 & SEP_CHAR & sprite3 & SEP_CHAR & antiga & END_CHAR)
    End Sub

    Isso faz com que o comando sendtransanime possa see usado no SadScript, isso é pra quem usa as sprites no SadScript.

    Agora para quem usa no Vb mesmo:

    Código:
    Sub SendTransAnime(byval index as long,byval sprite1 as long, byval sprite2 as long,byval sprite3 as  long, Byval antiga as long)
    'enviar a pack para o cliente
    Call SendDataTo(index, "transanime" & SEP_CHAR & sprite1 & SEP_CHAR & sprite2 & SEP_CHAR & sprite3 & SEP_CHAR & antiga & END_CHAR)
    End Sub

    Agora no cliente:

    Add 4 timer na frmMirage com as propriedades:

    Código:


    Name= tmr1
    Enabled = False



    Name= tmr2
    Enabled = False



    Name= tmr3
    Enabled = False



    Name= tmr4
    Enabled = False

    add esse code no ModTypes:

    Código:
    Sub RecebeTrans(ByVal sprite1 As String, ByVal sprite2 As String, ByVal sprite3 As String, ByVal antiga As String)
    PutVar App.Path & "\trans.ini", "TRANS", "sprite1", sprite1
    PutVar App.Path & "\trans.ini", "TRANS", "sprite2", sprite2
    PutVar App.Path & "\trans.ini", "TRANS", "sprite3", sprite3
    PutVar App.Path & "\trans.ini", "TRANS", "spriteA", antiga
    frmMirage.tmr1.Enabled = True
    frmMirage.tmr1.Interval = 1000 '1000 =1 seg
    frmMirage.tmr2.Interval = 1000
    frmMirage.tmr3.Interval = 1000
    frmMirage.tmr4.Interval = 1000
    End Sub


    agora procure:

    Código:
    If Parse(0) = "ingame" Then
            InGame = True
            Call GameInit
            Call GameLoop
            If Parse(1) = END_CHAR Then
                MsgBox ("here")
                End
            End If
            Exit Sub
        End If

    Todos os codes In Game devem ser colocados abaixo desse code!

    add:

    Código:
     If Parse(0) = "transanime" Then
            Dim sprite1 As String
            Dim sprite2 As String
            Dim sprite3 As String
            Dim antiga As String
            sprite1 = Parse(1)
            sprite2 = Parse(2)
            sprite3 = Parse(3)
            antiga = Parse(4)
            Call RecebeTrans(sprite1, sprite2, sprite3, antiga)
            Exit Sub
        End If

    Vamos para os timers:

    Add isso nos codes da FrmMirage:

    Código:

    Código:
    Private Sub tmr1_Timer()
    Dim sprite1 As Long
    sprite1 = Val(GetVar(App.Path & "\trans.ini", "TRANS", "sprite1"))
    Call SetPlayerSprite(MyIndex, sprite1)
    tmr1.Enabled = False
    tmr2.Enabled = True
    Call AddText(1, Red)
    End Sub

    Private Sub tmr2_Timer()
    Dim sprite2 As Long
    sprite2 = Val(GetVar(App.Path & "\trans.ini", "TRANS", "sprite2"))
    Call SetPlayerSprite(MyIndex, sprite2)
    tmr2.Enabled = False
    tmr3.Enabled = True
    Call AddText(2, Red)
    End Sub

    Private Sub tmr3_Timer()
    Dim sprite3 As Long
    sprite3 = Val(GetVar(App.Path & "\trans.ini", "TRANS", "sprite3"))
    Call SetPlayerSprite(MyIndex, sprite3)
    tmr3.Enabled = False
    tmr4.Enabled = True
    Call AddText(3, Red)
    End Sub

    Private Sub tmr4_Timer()
    Dim antiga As Long
    antiga = Val(GetVar(App.Path & "\trans.ini", "TRANS", "spriteA"))
    Call SetPlayerSprite(MyIndex, antiga)
    tmr4.Enabled = False
    Kill App.Path & "\trans.ini"
    Call AddText(4, Red)
    End Sub

    Pronto termino.

    Como Se Usa?? ¬¬'

    Esse code vai no lugar do Call SetPlayerSprite, no code da transformação.

    exemplo antes:

    Código:
    If getplayerlevel = 1> then
    call setplayersprite(index,1)
    end if

    agora :

    If getplayerlevel = 1> then
    call sendtransanime(index,sprite1,sprite2,sprite3,spritefixa)
    end if


    -------------------------------------------------------------------

    Explicando o sistema:

    Assim quando você for se transformar fará uma .ini com os valores, mas depois ele será automaticamente, e esses valores são dados pelo codigo sendtransanime.
    As sprites mudarão de 1 em 1 segundo.


    La no seu Main.txt ou Principal.txt (Dentro da pasta Server/Scripts) Abaixo de :

    procure por:

    Código:
    Sub Commands(index)
    On Error Resume Next
    Dim Portal
    Dim mapnum
    Dim x
    Dim y
    Dim i
    Dim TextSay
    Dim n
    Dim m
    Dim C   
    m = GetVar("Dados.ini", "MAX", "MAX_MAPS")
    TextSay = GetVar("Scripts\Comandos.ini", "TEMP", "Text" & index)

    em baixo adicione:

    Código:
    If LCase(Trim(TextSay)) = "/nomedatrans" Then
    If GetPlayerLevel(index) >= 50 Then    ' level necessario
    If GetPlayerAcess(Index) >= 0 Then      'Aqui é o acess do player, geralmente o 1 é o vip e 0 é free mas ai varia no seu jogo
    If GetPlayerSprite(Index) = 1 Then      'A sprite do player
    If GetPlayerClass(Index) = 3 Then    'A classe do player
    call sendtransanime(index,sprite1,sprite2,sprite3,spritefixa)    ' Aqui você vai por a sprite1, sprite2, sprite3, Lembrando que essas 3 são as q vão trocar, e depois vem a fixa, basta substituir o nome pelo número da sprite.
    Call SetPlayerSTR(index, GetPlayerSTR(index) + 100) ' aki os pontos q ele vai ganhar.
    End If
    End If
    End If
    End If
    End If

    Créditos: Alef

    Creditos:Thales12

    Creditos:FuckStyle

      Data/hora atual: Dom Nov 18, 2018 11:08 pm