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.

Sistema Voar Completo

+16
VyNyxD
DarkninoxD
Pablo
joaofelipe_vs
Gяiммjσw'
montevechi
OIOI
Over~
Edward Icaro
Fantasy
Thales12
Guardian
teudestruidor
math320
Kooringa
Lucas Roberto
20 participantes

Página 1 de 2 1, 2  Seguinte

Ir para baixo

Sistema Voar Completo Empty Sistema Voar Completo

Mensagem por Lucas Roberto Dom 26 Fev 2012, 11:50

Nome: Sistema Voar Completo
Nivel de Dificuldade : 5/5
Utiliza: VisualBasic 6.0


Como funciona : Ao apertar F2, Seu player começa a voar. Ultrapassa tudo, não pega item no solo, não ataca Npc's no solo e também não ataca Players que não esteja voando como você.

Server ~ Side

No ModDatabase, Na Sub AddChar procure por :

Código:
Player(Index).Char(CharNum).Level = 1

Abaixo adicione :

Código:
Player(Index).Char(CharNum).Voar = 0

No ModGameLogic, Procure por :

Código:
Function CanAttackNpc(ByVal Attacker As Long, ByVal MapNpcNum As Long) As Boolean

Substitua a Function toda por :

Código:
Function CanAttackNpc(ByVal Attacker As Long, ByVal MapNpcNum As Long) As Boolean
    Dim MapNum As Long, NpcNum As Long
    Dim AttackSpeed As Long
    Dim x As Long
    Dim y As Long

    If GetPlayerWeaponSlot(Attacker) > 0 Then
        AttackSpeed = Item(GetPlayerInvItemNum(Attacker, GetPlayerWeaponSlot(Attacker))).AttackSpeed
    Else
        AttackSpeed = 0
    End If

    CanAttackNpc = False

    ' Checar por subscript out of range
    If IsPlaying(Attacker) = False Or MapNpcNum <= 0 Or MapNpcNum > MAX_MAP_NPCS Then
        Exit Function
    End If

    ' Checar por subscript out of range (de novo? aff)
    If MapNpc(GetPlayerMap(Attacker), MapNpcNum).num <= 0 Then
        Exit Function
    End If
   
    ' Checar se está voando
    If GetPlayerVoar(Attacker) = 1 Then
    Exit Function
    End If

    MapNum = GetPlayerMap(Attacker)
    NpcNum = MapNpc(MapNum, MapNpcNum).num

    ' Ter certeza que o npc não morreu
    If MapNpc(MapNum, MapNpcNum).HP <= 0 Then
        Exit Function
    End If

    ' Ter certeza que estão no mesmo mapa
    If IsPlaying(Attacker) Then
        If NpcNum > 0 And GetTickCount > Player(Attacker).AttackTimer + AttackSpeed Then

            ' Check if at same coordinates
            x = DirToX(GetPlayerX(Attacker), GetPlayerDir(Attacker))
            y = DirToY(GetPlayerY(Attacker), GetPlayerDir(Attacker))

            If (MapNpc(MapNum, MapNpcNum).y = y) And (MapNpc(MapNum, MapNpcNum).x = x) Then
                If Npc(NpcNum).Behavior <> NPC_BEHAVIOR_FRIENDLY And Npc(NpcNum).Behavior <> NPC_BEHAVIOR_SHOPKEEPER Then
                    CanAttackNpc = True
                Else

                    If Trim$(Npc(NpcNum).AttackSay) <> vbNullString Then
                        Call PlayerMsg(Attacker, Trim$(Npc(NpcNum).Name) & " : " & Trim$(Npc(NpcNum).AttackSay), Green)
                    End If

                    If Npc(NpcNum).Speech <> 0 Then
                        Call SendDataTo(Attacker, "STARTSPEECH" & SEP_CHAR & Npc(NpcNum).Speech & SEP_CHAR & 0 & SEP_CHAR & NpcNum & END_CHAR)
                    End If
                End If
            End If
        End If
    End If

End Function

Agora procure por :

Código:
Function CanAttackNpcWithArrow(ByVal Attacker As Long, ByVal MapNpcNum As Long) As Boolean

E substitua a Function toda por :

Código:
Function CanAttackNpcWithArrow(ByVal Attacker As Long, ByVal MapNpcNum As Long) As Boolean
    Dim MapNum As Long, NpcNum As Long
    Dim AttackSpeed As Long
    Dim Dir As Long

    If GetPlayerWeaponSlot(Attacker) > 0 Then
        AttackSpeed = Item(GetPlayerInvItemNum(Attacker, GetPlayerWeaponSlot(Attacker))).AttackSpeed
    Else
        AttackSpeed = 0
    End If

    CanAttackNpcWithArrow = False

    ' Checar por subscript out of range
    If IsPlaying(Attacker) = False Or MapNpcNum <= 0 Or MapNpcNum > MAX_MAP_NPCS Then
        Exit Function
    End If

    ' Checar se está voando
    If GetPlayerVoar(Attacker) = 1 Then
    Exit Function
    End If

    ' Checar por subscript out of range
    If MapNpc(GetPlayerMap(Attacker), MapNpcNum).num <= 0 Then
        Exit Function
    End If

    MapNum = GetPlayerMap(Attacker)
    NpcNum = MapNpc(MapNum, MapNpcNum).num

    ' Ter certeza que o NPC não morreu
    If MapNpc(MapNum, MapNpcNum).HP <= 0 Then
        Exit Function
    End If

    ' Ter certeza que estão no mesmo mapa
    If IsPlaying(Attacker) Then
        If NpcNum > 0 And GetTickCount > Player(Attacker).AttackTimer + AttackSpeed Then
            If Npc(NpcNum).Behavior <> NPC_BEHAVIOR_FRIENDLY And Npc(NpcNum).Behavior <> NPC_BEHAVIOR_SHOPKEEPER Then
                CanAttackNpcWithArrow = True
            Else

                If Trim$(Npc(NpcNum).AttackSay) <> vbNullString Then
                    Call PlayerMsg(Attacker, Trim$(Npc(NpcNum).Name) & " : " & Trim$(Npc(NpcNum).AttackSay), Green)
                End If

                If Npc(NpcNum).Speech <> 0 Then

                    For Dir = 0 To 3

                        If DirToX(GetPlayerX(Attacker), Dir) = MapNpc(MapNum, MapNpcNum).x And DirToY(GetPlayerY(Attacker), Dir) = MapNpc(MapNum, MapNpcNum).y Then
                            Call SendDataTo(Attacker, "STARTSPEECH" & SEP_CHAR & Npc(NpcNum).Speech & SEP_CHAR & 0 & SEP_CHAR & NpcNum & END_CHAR)
                        End If

                    Next Dir

                End If
            End If
        End If
    End If

End Function

Agora Procure por :

Código:
Function CanAttackPlayer(ByVal Attacker As Long, ByVal Victim As Long) As Boolean

Substitua a Function toda por :

Código:
Function CanAttackPlayer(ByVal Attacker As Long, ByVal Victim As Long) As Boolean
    Dim AttackSpeed As Long
    Dim x As Long
    Dim y As Long

    If GetPlayerWeaponSlot(Attacker) > 0 Then
        AttackSpeed = Item(GetPlayerInvItemNum(Attacker, GetPlayerWeaponSlot(Attacker))).AttackSpeed
    Else
        AttackSpeed = 0
    End If

    CanAttackPlayer = False

    ' Checar por Subscript out of range
    If IsPlaying(Attacker) = False Or IsPlaying(Victim) = False Then
        Exit Function
    End If

    ' Ter certeza que não tem 0 de HP
    If GetPlayerHP(Victim) <= 0 Then
        Exit Function
    End If

    ' Ter certeza que não estamos atacando enquanto ele troca de mapa
    If Player(Victim).GettingMap = YES Then
        Exit Function
    End If
   
    ' Ter certeza que os 2 estão voando ou não
    If GetPlayerVoar(Attacker) <> GetPlayerVoar(Victim) Then
    Exit Function
    End If

    ' Ter certeza que estão no mesmo mapa
    If (GetPlayerMap(Attacker) = GetPlayerMap(Victim)) And (GetTickCount > Player(Attacker).AttackTimer + AttackSpeed) Then
        x = DirToX(GetPlayerX(Attacker), GetPlayerDir(Attacker))
        y = DirToY(GetPlayerY(Attacker), GetPlayerDir(Attacker))

        If (GetPlayerY(Victim) = y) And (GetPlayerX(Victim) = x) Then
            If Map(GetPlayerMap(Victim)).Tile(x, y).Type <> TILE_TYPE_ARENA And Map(GetPlayerMap(Attacker)).Tile(GetPlayerX(Attacker), GetPlayerY(Attacker)).Type <> TILE_TYPE_ARENA Then

                ' Ter certeza que eles não tem acesso
                If GetPlayerAccess(Attacker) > ADMIN_MONITER Then
                    Call PlayerMsg(Attacker, "Você não pode atacar um jogador sendo um administrador!", BrightBlue)
                Else

                    ' Checar se a vitima não é um administrador
                    If GetPlayerAccess(Victim) > ADMIN_MONITER Then
                        Call PlayerMsg(Attacker, "Você não pode atacar " & GetPlayerName(Victim) & "!", BrightRed)
                    Else

                        ' Checar se o mapa é atacavel
                        If Map(GetPlayerMap(Attacker)).Moral = MAP_MORAL_NONE Or Map(GetPlayerMap(Attacker)).Moral = MAP_MORAL_NO_PENALTY Or GetPlayerPK(Victim) = YES Then

                            ' Ter certeza que se possui level suficiente
                            If GetPlayerLevel(Attacker) < 10 Then
                                Call PlayerMsg(Attacker, "Você está abaixo do nível 10, portanto, você não pode atacar um jogador!", BrightRed)
                            Else

                                If GetPlayerLevel(Victim) < 10 Then
                                    Call PlayerMsg(Attacker, GetPlayerName(Victim) & " está abaixo do nível 10, portanto não pode ser atacado!", BrightRed)
                                Else

                                    If Trim$(GetPlayerGuild(Attacker)) <> vbNullString And GetPlayerGuild(Victim) <> vbNullString Then
                                        If Trim$(GetPlayerGuild(Attacker)) <> Trim$(GetPlayerGuild(Victim)) Then
                                            CanAttackPlayer = True
                                        Else
                                            Call PlayerMsg(Attacker, "Você não pode atacar um jogador do seu clã!", BrightRed)
                                        End If

                                    Else
                                        CanAttackPlayer = True
                                    End If
                                End If
                            End If

                        Else
                            Call PlayerMsg(Attacker, "Esta é uma zona segura!", BrightRed)
                        End If
                    End If
                End If

            ElseIf Map(GetPlayerMap(Victim)).Tile(x, y).Type = TILE_TYPE_ARENA And Map(GetPlayerMap(Attacker)).Tile(GetPlayerX(Attacker), GetPlayerY(Attacker)).Type = TILE_TYPE_ARENA Then
                CanAttackPlayer = True
            End If
        End If
    End If

End Function

Agora procure por :

Código:
Function CanAttackPlayerWithArrow(ByVal Attacker As Long, ByVal Victim As Long) As Boolean

Substitua a Function toda por :

Código:
Function CanAttackPlayerWithArrow(ByVal Attacker As Long, ByVal Victim As Long) As Boolean
    CanAttackPlayerWithArrow = False

    ' Checar por subscript of range
    If IsPlaying(Attacker) = False Or IsPlaying(Victim) = False Then
        Exit Function
    End If

    ' Ter certeza que não se tem menos de 0 HP
    If GetPlayerHP(Victim) <= 0 Then
        Exit Function
    End If

    ' Ter certeza que não estão atacando o jogador se ele está trocando de mapas
    If Player(Victim).GettingMap = YES Then
        Exit Function
    End If

    ' Ter certeza que os 2 estão voando ou não
    If GetPlayerVoar(Attacker) <> GetPlayerVoar(Victim) Then
    Exit Function
    End If

    ' Ter certeza que estão no mesmo mapa.
    If GetPlayerMap(Attacker) = GetPlayerMap(Victim) Then
        If Map(GetPlayerMap(Victim)).Tile(GetPlayerX(Victim), GetPlayerY(Victim)).Type <> TILE_TYPE_ARENA And Map(GetPlayerMap(Attacker)).Tile(GetPlayerX(Attacker), GetPlayerY(Attacker)).Type <> TILE_TYPE_ARENA Then

            ' Ter certeza quanto ao acesso
            If GetPlayerAccess(Attacker) > ADMIN_MONITER Then
                Call PlayerMsg(Attacker, "Você não pode atacar um jogador sendo um administrador!", BrightBlue)
            Else

                ' Check to make sure the victim isn't an admin
                If GetPlayerAccess(Victim) > ADMIN_MONITER Then
                    Call PlayerMsg(Attacker, "Você não pode atacar " & GetPlayerName(Victim) & "!", BrightRed)
                Else

                    ' Check if map is attackable
                    If Map(GetPlayerMap(Attacker)).Moral = MAP_MORAL_NONE Or Map(GetPlayerMap(Attacker)).Moral = MAP_MORAL_NO_PENALTY Or GetPlayerPK(Victim) = YES Then

                        ' Make sure they are high enough level
                        If GetPlayerLevel(Attacker) < 10 Then
                            Call PlayerMsg(Attacker, "Você está abaixo do nível 10, portanto, você não pode atacar um jogador!", BrightRed)
                        Else

                            If GetPlayerLevel(Victim) < 10 Then
                                Call PlayerMsg(Attacker, GetPlayerName(Victim) & " está abaixo do nível 10, portanto não pode ser atacado!", BrightRed)
                            Else

                                If Trim$(GetPlayerGuild(Attacker)) <> vbNullString And GetPlayerGuild(Victim) <> vbNullString Then
                                    If Trim$(GetPlayerGuild(Attacker)) <> Trim$(GetPlayerGuild(Victim)) Then
                                        CanAttackPlayerWithArrow = True
                                    Else
                                        Call PlayerMsg(Attacker, "Você não pode atacar um jogador do seu clã!", BrightRed)
                                    End If

                                Else
                                    CanAttackPlayerWithArrow = True
                                End If
                            End If
                        End If

                    Else
                        Call PlayerMsg(Attacker, "Esta é uma zona segura!", BrightRed)
                    End If
                End If
            End If

        ElseIf Map(GetPlayerMap(Victim)).Tile(GetPlayerX(Victim), GetPlayerY(Victim)).Type = TILE_TYPE_ARENA And Map(GetPlayerMap(Attacker)).Tile(GetPlayerX(Attacker), GetPlayerY(Attacker)).Type = TILE_TYPE_ARENA Then
            CanAttackPlayerWithArrow = True
        End If
    End If

End Function

Agora Procure por :

Código:
Function CanNpcAttackPlayer(ByVal MapNpcNum As Long, ByVal Index As Long) As Boolean

Substitua a Function por :

Código:
Function CanNpcAttackPlayer(ByVal MapNpcNum As Long, ByVal Index As Long) As Boolean
    Dim MapNum As Long, NpcNum As Long
    Dim x As Long
    Dim y As Long

    CanNpcAttackPlayer = False

    ' Checar por subscript of range
    If MapNpcNum <= 0 Or MapNpcNum > MAX_MAP_NPCS Or IsPlaying(Index) = False Then
        Exit Function
    End If

    ' Checar por subscript of range
    If MapNpc(GetPlayerMap(Index), MapNpcNum).num <= 0 Then
        Exit Function
    End If

    MapNum = GetPlayerMap(Index)
    NpcNum = MapNpc(MapNum, MapNpcNum).num

    ' Ter certeza que o NPC morreu
    If MapNpc(MapNum, MapNpcNum).HP <= 0 Then
        Exit Function
    End If

    ' Ter certeza que os npcs não vão atacar mais de uma vez por segundo
    If GetTickCount < MapNpc(MapNum, MapNpcNum).AttackTimer + 1000 Then
        Exit Function
    End If

    ' Ter certeza que não se está trocando os mapas
    If Player(Index).GettingMap = YES Then
        Exit Function
    End If
   
    ' Ter certeza que o player não está voando
    If GetPlayerVoar(Index) = 1 Then
    Exit Function
    End If

    MapNpc(MapNum, MapNpcNum).AttackTimer = GetTickCount

    ' Ter certeza que está no mesmo mapa
    If IsPlaying(Index) Then
        If NpcNum > 0 Then
            x = DirToX(MapNpc(MapNum, MapNpcNum).x, MapNpc(MapNum, MapNpcNum).Dir)
            y = DirToY(MapNpc(MapNum, MapNpcNum).y, MapNpc(MapNum, MapNpcNum).Dir)

            ' Checar as coordenadas
            If (GetPlayerY(Index) = y) And (GetPlayerX(Index) = x) Then
                CanNpcAttackPlayer = True
            End If
        End If
    End If

End Function

Agora procure por :

Código:
Sub PlayerMove(ByVal Index As Long, _
  ByVal Dir As Long, _
  ByVal Movement As Long)

Substitua a Sub toda por :

Código:
Sub PlayerMove(ByVal Index As Long, _
  ByVal Dir As Long, _
  ByVal Movement As Long)
    Dim Packet As String
    Dim MapNum As Long
    Dim x As Long
    Dim y As Long
    Dim oldx As Long
    Dim oldy As Long
    Dim OldMap As Long
    Dim Moved As Byte

    ' Tentaram nos hackear!!!! =/
    'If Moved = NO Then
    'Call HackingAttempt(index, "Modificação de Posição")
    'Exit Sub
    'End If
    ' Checar por subscript out of range
    If IsPlaying(Index) = False Or Dir < DIR_UP Or Dir > DIR_RIGHT Or Movement < 1 Or Movement > 2 Then
        Exit Sub
    End If

    Call SetPlayerDir(Index, Dir)
    Moved = NO
    x = DirToX(GetPlayerX(Index), Dir)
    y = DirToY(GetPlayerY(Index), Dir)
    Call TakeFromGrid(GetPlayerMap(Index), GetPlayerX(Index), GetPlayerY(Index))

    ' Mover o pet do jogador se precisar
    If Player(Index).Pet.Alive = YES Then
        If Player(Index).Pet.Map = GetPlayerMap(Index) And Player(Index).Pet.x = x And Player(Index).Pet.y = y Then
            If Grid(GetPlayerMap(Index)).Loc(DirToX(x, Dir), DirToY(y, Dir)).Blocked = False Then
                Call UpdateGrid(Player(Index).Pet.Map, Player(Index).Pet.x, Player(Index).Pet.y, Player(Index).Pet.Map, DirToX(x, Dir), DirToY(y, Dir))
                Player(Index).Pet.y = DirToY(y, Dir)
                Player(Index).Pet.x = DirToX(x, Dir)
                Packet = "PETMOVE" & SEP_CHAR & Index & SEP_CHAR & DirToX(x, Dir) & SEP_CHAR & DirToY(y, Dir) & SEP_CHAR & Dir & SEP_CHAR & Movement & END_CHAR
                Call SendDataToMap(Player(Index).Pet.Map, Packet)
            End If
        End If
    End If

    ' Checar por boundries (WTF?)
    If IsValid(x, y) Then

            ' Ter certeza se a tile requer uma chave e se está aberta
            If (Map(GetPlayerMap(Index)).Tile(x, y).Type <> TILE_TYPE_KEY Or Map(GetPlayerMap(Index)).Tile(x, y).Type <> TILE_TYPE_DOOR) Or ((Map(GetPlayerMap(Index)).Tile(x, y).Type = TILE_TYPE_DOOR Or Map(GetPlayerMap(Index)).Tile(x, y).Type = TILE_TYPE_KEY) And TempTile(GetPlayerMap(Index)).DoorOpen(x, y) = YES) Then
                Call SetPlayerX(Index, x)
                Call SetPlayerY(Index, y)
                Packet = "PLAYERMOVE" & SEP_CHAR & Index & SEP_CHAR & x & SEP_CHAR & y & SEP_CHAR & Dir & SEP_CHAR & Movement & END_CHAR
                Call SendDataToMapBut(Index, GetPlayerMap(Index), Packet)
                Moved = YES
            End If
    Else

        ' Checar para ver se podemos move-la para outro mapa
        If Map(GetPlayerMap(Index)).Up > 0 And Dir = DIR_UP Then
            Call PlayerWarp(Index, Map(GetPlayerMap(Index)).Up, GetPlayerX(Index), MAX_MAPY)
            Moved = YES
        End If

        If Map(GetPlayerMap(Index)).Down > 0 And Dir = DIR_DOWN Then
            Call PlayerWarp(Index, Map(GetPlayerMap(Index)).Down, GetPlayerX(Index), 0)
            Moved = YES
        End If

        If Map(GetPlayerMap(Index)).Left > 0 And Dir = DIR_LEFT Then
            Call PlayerWarp(Index, Map(GetPlayerMap(Index)).Left, MAX_MAPX, GetPlayerY(Index))
            Moved = YES
        End If

        If Map(GetPlayerMap(Index)).Right > 0 And Dir = DIR_RIGHT Then
            Call PlayerWarp(Index, Map(GetPlayerMap(Index)).Right, 0, GetPlayerY(Index))
            Moved = YES
        End If
    End If

    If Moved = NO Then Call SendPlayerXY(Index)
    If GetPlayerX(Index) < 0 Or GetPlayerY(Index) < 0 Or GetPlayerX(Index) > MAX_MAPX Or GetPlayerY(Index) > MAX_MAPY Or GetPlayerMap(Index) <= 0 Then
        Call HackingAttempt(Index, vbNullString)
        Exit Sub
    End If

    ' Código das tiles que recuperam
    If Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).Type = TILE_TYPE_HEAL Then
        If GetPlayerHP(Index) < GetPlayerMaxHP(Index) Then
        If GetPlayerVoar(Index) = 0 Then
            Call SetPlayerHP(Index, GetPlayerMaxHP(Index))
            Call SendHP(Index)
            Call PlayerMsg(Index, "Você sente uma rejuvenação no seu corpo!", BrightGreen)
        End If
    End If
    End If

    'Check for kill tile, and if so kill them
    If Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).Type = TILE_TYPE_KILL Then
    If GetPlayerVoar(Index) = 0 Then
        Call SetPlayerHP(Index, 0)
        Call PlayerMsg(Index, "Você sente calafrios, pois a morte se aproxima. Nada pôde ser feito, agora você está morto.", BrightRed)

        ' Teleportar jogador
        If SCRIPTING = 1 Then
            MyScript.ExecuteStatement "Scripts\Principal.txt", "OnDeath " & Index
        Else
            Call PlayerWarp(Index, START_MAP, START_X, START_Y)
        End If

        Call SetPlayerHP(Index, GetPlayerMaxHP(Index))
        Call SetPlayerMP(Index, GetPlayerMaxMP(Index))
        Call SetPlayerSP(Index, GetPlayerMaxSP(Index))
        Call SendHP(Index)
        Call SendMP(Index)
        Call SendSP(Index)
        Moved = YES
    End If
    End If

    If IsValid(x, y) Then
    If GetPlayerVoar(Index) = 0 Then
        If Map(GetPlayerMap(Index)).Tile(x, y).Type = TILE_TYPE_DOOR Then
            If TempTile(GetPlayerMap(Index)).DoorOpen(x, y) = NO Then
                TempTile(GetPlayerMap(Index)).DoorOpen(x, y) = YES
                TempTile(GetPlayerMap(Index)).DoorTimer = GetTickCount
                Call SendDataToMap(GetPlayerMap(Index), "MAPKEY" & SEP_CHAR & x & SEP_CHAR & y & SEP_CHAR & 1 & END_CHAR)
                Call SendDataToMap(GetPlayerMap(Index), "sound" & SEP_CHAR & "Chave" & END_CHAR)
            End If
        End If
    End If
    End If

    ' Checar quanto às warp tiles
    If GetPlayerVoar(Index) = 0 Then
    If Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).Type = TILE_TYPE_WARP Then
        MapNum = Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).Data1
        x = Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).Data2
        y = Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).Data3
        Call PlayerWarp(Index, MapNum, x, y)
        Moved = YES
    End If
   
    Call AddToGrid(GetPlayerMap(Index), GetPlayerX(Index), GetPlayerY(Index))
    End If

    ' Checar pela Chave
    If GetPlayerVoar(Index) = 0 Then
    If Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).Type = TILE_TYPE_KEYOPEN Then
        x = Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).Data1
        y = Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).Data2

        If Map(GetPlayerMap(Index)).Tile(x, y).Type = TILE_TYPE_KEY And TempTile(GetPlayerMap(Index)).DoorOpen(x, y) = NO Then
            TempTile(GetPlayerMap(Index)).DoorOpen(x, y) = YES
            TempTile(GetPlayerMap(Index)).DoorTimer = GetTickCount
            Call SendDataToMap(GetPlayerMap(Index), "MAPKEY" & SEP_CHAR & x & SEP_CHAR & y & SEP_CHAR & 1 & END_CHAR)

            If Trim$(Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).String1) = vbNullString Then
                Call MapMsg(GetPlayerMap(Index), "Uma porta foi destrancada!", White)
            Else
                Call MapMsg(GetPlayerMap(Index), Trim$(Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).String1), White)
            End If

            Call SendDataToMap(GetPlayerMap(Index), "sound" & SEP_CHAR & "Chave" & END_CHAR)
        End If
    End If
    End If

    ' Check for shop
    If GetPlayerVoar(Index) = 0 Then
    If Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).Type = TILE_TYPE_SHOP Then
        If Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).Data1 > 0 Then
            Call SendTrade(Index, Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).Data1)
        Else
            Call PlayerMsg(Index, "Não há lojas aqui.", BrightRed)
        End If
    End If
    End If

    ' Checar se o jogador pisou nas tiles de mudança de sprite
    If GetPlayerVoar(Index) = 0 Then
    If Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).Type = TILE_TYPE_SPRITE_CHANGE Then
        If GetPlayerSprite(Index) = Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).Data1 Then
            Call PlayerMsg(Index, "Você já usa essa sprite!", BrightRed)
            Exit Sub
        Else

            If Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).Data2 = 0 Then
                Call SendDataTo(Index, "spritechange" & SEP_CHAR & 0 & END_CHAR)
            Else

                If Item(Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).Data2).Type = ITEM_TYPE_CURRENCY Then
                    Call PlayerMsg(Index, "Essa sprite irá custar " & Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).Data3 & " " & Trim$(Item(Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).Data2).Name) & "!", Yellow)
                Else
                    Call PlayerMsg(Index, "Essa sprite irá custar um(a) " & Trim$(Item(Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).Data2).Name) & "!", Yellow)
                End If

                Call SendDataTo(Index, "spritechange" & SEP_CHAR & 1 & END_CHAR)
            End If
        End If
        End If
    End If

    ' Checar se o jogador pisou nas tiles de mudança de sprite
    If GetPlayerVoar(Index) = 0 Then
    If Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).Type = TILE_TYPE_CLASS_CHANGE Then
        If Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).Data2 > 0 Then
            If GetPlayerClass(Index) <> Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).Data2 Then
                Call PlayerMsg(Index, "Você não está na classe requerida!", BrightRed)
                Exit Sub
            End If
        End If

        If GetPlayerClass(Index) = Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).Data1 Then
            Call PlayerMsg(Index, "Você já é dessa classe!", BrightRed)
        Else

            If Player(Index).Char(Player(Index).CharNum).Sex = 0 Then
                If GetPlayerSprite(Index) = Class(GetPlayerClass(Index)).MaleSprite Then
                    Call SetPlayerSprite(Index, Class(Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).Data1).MaleSprite)
                End If

            Else

                If GetPlayerSprite(Index) = Class(GetPlayerClass(Index)).FemaleSprite Then
                    Call SetPlayerSprite(Index, Class(Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).Data1).FemaleSprite)
                End If
            End If

            Call SetPlayerstr(Index, (Player(Index).Char(Player(Index).CharNum).STR - Class(GetPlayerClass(Index)).STR))
            Call SetPlayerDEF(Index, (Player(Index).Char(Player(Index).CharNum).DEF - Class(GetPlayerClass(Index)).DEF))
            Call SetPlayerMAGI(Index, (Player(Index).Char(Player(Index).CharNum).Magi - Class(GetPlayerClass(Index)).Magi))
            Call SetPlayerSPEED(Index, (Player(Index).Char(Player(Index).CharNum).Speed - Class(GetPlayerClass(Index)).Speed))
            Call SetPlayerClass(Index, Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).Data1)
            Call SetPlayerstr(Index, (Player(Index).Char(Player(Index).CharNum).STR + Class(GetPlayerClass(Index)).STR))
            Call SetPlayerDEF(Index, (Player(Index).Char(Player(Index).CharNum).DEF + Class(GetPlayerClass(Index)).DEF))
            Call SetPlayerMAGI(Index, (Player(Index).Char(Player(Index).CharNum).Magi + Class(GetPlayerClass(Index)).Magi))
            Call SetPlayerSPEED(Index, (Player(Index).Char(Player(Index).CharNum).Speed + Class(GetPlayerClass(Index)).Speed))
            Call PlayerMsg(Index, "Sua nova classe é " & Trim$(Class(GetPlayerClass(Index)).Name) & "!", BrightGreen)
            Call SendStats(Index)
            Call SendHP(Index)
            Call SendMP(Index)
            Call SendSP(Index)
            Call SendDataToMap(GetPlayerMap(Index), "checksprite" & SEP_CHAR & Index & SEP_CHAR & GetPlayerSprite(Index) & END_CHAR)
        End If
    End If
    End If

    ' Checar se o jogador pisou em uma tile de notice x_X
    If GetPlayerVoar(Index) = 0 Then
    If Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).Type = TILE_TYPE_NOTICE Then
        If Trim$(Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).String1) <> vbNullString Then
            Call PlayerMsg(Index, Trim$(Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).String1), Black)
        End If

        If Trim$(Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).String2) <> vbNullString Then
            Call PlayerMsg(Index, Trim$(Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).String2), Grey)
        End If

        Call SendDataToMap(GetPlayerMap(Index), "sound" & SEP_CHAR & Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).String3 & END_CHAR)
    End If
    End If

    ' Mesma coisa do de cima, sendo que de som
    If GetPlayerVoar(Index) = 0 Then
    If Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).Type = TILE_TYPE_SOUND Then
        Call SendDataToMap(GetPlayerMap(Index), "sound" & SEP_CHAR & Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).String1 & END_CHAR)
    End If

    If SCRIPTING = 1 Then
        If Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).Type = TILE_TYPE_SCRIPTED Then
            MyScript.ExecuteStatement "Scripts\Principal.txt", "ScriptedTile " & Index & "," & Map(GetPlayerMap(Index)).Tile(GetPlayerX(Index), GetPlayerY(Index)).Data1
        End If
    End If
    End If

End Sub
Lucas Roberto
Lucas Roberto
Membro Veterano
Membro Veterano

Mensagens : 1794

http://universogamesmmo.forumeiros.com/forum

Ir para o topo Ir para baixo

Sistema Voar Completo Empty Re: Sistema Voar Completo

Mensagem por Lucas Roberto Dom 26 Fev 2012, 11:50

Continuando...

Agora Procure por :

Código:
Sub PlayerMapGetItem(ByVal Index As Long)

E substitua a Sub toda por :

Código:
Sub PlayerMapGetItem(ByVal Index As Long)
    Dim i As Long
    Dim N As Long
    Dim MapNum As Long
    Dim Msg As String

    If IsPlaying(Index) = False Then
        Exit Sub
    End If

    MapNum = GetPlayerMap(Index)

    For i = 1 To MAX_MAP_ITEMS

        ' Ver se tem um item por aqui...
        If (MapItem(MapNum, i).num > 0) And (MapItem(MapNum, i).num <= MAX_ITEMS) Then

            ' Checar se o item está no mesmo lugar que o jogador
            If (MapItem(MapNum, i).x = GetPlayerX(Index)) And (MapItem(MapNum, i).y = GetPlayerY(Index)) Then
            If GetPlayerVoar(Index) = 1 Then Exit Sub

                ' Achar um slot aberto
                N = FindOpenInvSlot(Index, MapItem(MapNum, i).num)

                ' Slot livre?
                If N <> 0 Then

                    ' Setar item no inventário do jogador
                    Call SetPlayerInvItemNum(Index, N, MapItem(MapNum, i).num)

                    If Item(GetPlayerInvItemNum(Index, N)).Type = ITEM_TYPE_CURRENCY Then
                        Call SetPlayerInvItemValue(Index, N, GetPlayerInvItemValue(Index, N) + MapItem(MapNum, i).Value)
                        Msg = "Você pegou um(a) " & MapItem(MapNum, i).Value & " " & Trim$(Item(GetPlayerInvItemNum(Index, N)).Name) & "."
                    Else
                        Call SetPlayerInvItemValue(Index, N, 0)
                        Msg = "Você pegou um(a) " & Trim$(Item(GetPlayerInvItemNum(Index, N)).Name) & "."
                    End If

                    Call SetPlayerInvItemDur(Index, N, MapItem(MapNum, i).Dur)

                    ' Erase item from the map
                    MapItem(MapNum, i).num = 0
                    MapItem(MapNum, i).Value = 0
                    MapItem(MapNum, i).Dur = 0
                    MapItem(MapNum, i).x = 0
                    MapItem(MapNum, i).y = 0
                    Call SendInventoryUpdate(Index, N)
                    Call SpawnItemSlot(i, 0, 0, 0, GetPlayerMap(Index), GetPlayerX(Index), GetPlayerY(Index))
                    Call PlayerMsg(Index, Msg, Yellow)
                    Exit Sub
                Else
                    Call PlayerMsg(Index, "Seu inventário está cheio.", BrightRed)
                    Exit Sub
                End If
            End If
        End If

    Next

End Sub

Agora no ModServerTCP procure por :

Código:
Case "refresh"

Acima adicione :

Código:
Case "dvoar"
        Call SetPlayerVoar(Index, 0)
        Call DeixarVoar(Index)
        Exit Sub
       
        Case "avoar"
        Call SetPlayerVoar(Index, 1)
        Call InicioVoar(Index)
        Exit Sub

Agora no final do ModServerTCP adicione :

Código:
Sub DeixarVoar(ByVal Index As Long)

Select Case GetPlayerSprite(Index)

Case 2
Call SetPlayerSprite(Index, 1)
Call SendPlayerData(Index)
Exit Sub

Case 4
Call SetPlayerSprite(Index, 3)
Call SendPlayerData(Index)
Exit Sub
End Select
End Sub

Sub InicioVoar(ByVal Index As Long)

Select Case GetPlayerSprite(Index)

Case 1
Call SetPlayerSprite(Index, 2)
Call SendPlayerData(Index)
Exit Sub

Case 3
Call SetPlayerSprite(Index, 4)
Call SendPlayerData(Index)
Exit Sub
End Select
End Sub

O Número do Case é o número da Sprite que o Player vai estar... Basta Modificar ali para qual Sprite ele vai quando Inicia o Voo e qual ele deve estar, e Para qual ele vai quando Termina o Voo e qual ele deve estar.

No ModTypes procure por :

Código:
Type PlayerRec

Abaixo coloque :

Código:
Voar As Long

No final do ModTypes coloque :

Código:
Function GetPlayerVoar(ByVal Index As Long) As Long
    GetPlayerVoar = Player(Index).Char(Player(Index).CharNum).Voar
End Function

Sub SetPlayerVoar(ByVal Index As Long, _
  ByVal Voar As Long)
    Player(Index).Char(Player(Index).CharNum).Voar = Voar
End Sub

Agora no final da clsCommands adicione :

Código:
Function GetPlayerVoar(ByVal Index As Long) As Long
    GetPlayerVoar = Player(Index).Char(Player(Index).CharNum).Voar
End Function

Sub SetPlayerVoar(ByVal Index As Long, _
  ByVal Voar As Long)
    Player(Index).Char(Player(Index).CharNum).Voar = Voar
End Sub




Cliente~Side

Va no frmMirage e procure por :

Código:
If KeyCode = vbKeyF1 Then
        If Player(MyIndex).Access > 3 Then
            frmadmin.Visible = False
            frmadmin.Visible = True
        End If
    End If

Abaixo disso adicione :

Código:
If KeyCode = vbKeyF2 Then
    If GetPlayerVoar(MyIndex) = 1 Then
    Call SetPlayerVoar(MyIndex, 0)
    Call AddText("Você parou de voar!", Black)
    Call SendData("dvoar" & SEP_CHAR & END_CHAR)
    Else
    Call SetPlayerVoar(MyIndex, 1)
    Call AddText("Você está voando!", Black)
    Call SendData("avoar" & SEP_CHAR & END_CHAR)
    End If
    End If

Agora va no ModDirectX e procure por :

Código:
If x >= 0 And x <= MAX_MAPX Then
            If y >= 0 And y <= MAX_MAPY Then
                If Map(GetPlayerMap(MyIndex)).Tile(x, y).Type = TILE_TYPE_BLOCKED Then
                    Player(Index).Arrow(z).Arrow = 0
              End If
            End If
        End If

Mude isso para :

Código:
If x >= 0 And x <= MAX_MAPX Then
            If y >= 0 And y <= MAX_MAPY Then
                If Map(GetPlayerMap(MyIndex)).Tile(x, y).Type = TILE_TYPE_BLOCKED Then
                If GetPlayerVoar(Index) = 0 Then
                    Player(Index).Arrow(z).Arrow = 0
                    Else
                    Player(Index).Arrow(z).Arrow = 1
                    End If
                End If
            End If
        End If

Agora procure por :

Código:
For I = 1 To MAX_PLAYERS
          If IsPlaying(I) And GetPlayerMap(I) = GetPlayerMap(MyIndex) Then
                If GetPlayerX(I) = x And GetPlayerY(I) = y Then
                    If Index = MyIndex Then
                        Call SendData("arrowhit" & SEP_CHAR & 0 & SEP_CHAR & I & SEP_CHAR & x & SEP_CHAR & y & END_CHAR)
                    End If
                    If Index <> I Then Player(Index).Arrow(z).Arrow = 0
                    Exit Sub
                End If
            End If
        Next I

E mude para :

Código:
For I = 1 To MAX_PLAYERS
          If IsPlaying(I) And GetPlayerMap(I) = GetPlayerMap(MyIndex) Then
                If GetPlayerX(I) = x And GetPlayerY(I) = y Then
                    If Index = MyIndex Then
                        Call SendData("arrowhit" & SEP_CHAR & 0 & SEP_CHAR & I & SEP_CHAR & x & SEP_CHAR & y & END_CHAR)
                    End If
                    If GetPlayerVoar(Index) = GetPlayerVoar(I) Then
                    If Index <> I Then Player(Index).Arrow(z).Arrow = 0
                    Else
                    Player(Index).Arrow(z).Arrow = 1
                    End If
                    Exit Sub
                End If
            End If
        Next I

Agora procure por :

Código:
For I = 1 To MAX_MAP_NPCS
            If MapNpc(I).Num > 0 Then
                If MapNpc(I).x = x And MapNpc(I).y = y Then
                    If Index = MyIndex Then
                        Call SendData("arrowhit" & SEP_CHAR & 1 & SEP_CHAR & I & SEP_CHAR & x & SEP_CHAR & y & END_CHAR)
                    End If
                    Player(Index).Arrow(z).Arrow = 0
                    Exit Sub
                End If
            End If
        Next I
    End If
Next z
End Sub

E mude para :

Código:
For I = 1 To MAX_MAP_NPCS
            If MapNpc(I).Num > 0 Then
                If MapNpc(I).x = x And MapNpc(I).y = y Then
                    If Index = MyIndex Then
                        Call SendData("arrowhit" & SEP_CHAR & 1 & SEP_CHAR & I & SEP_CHAR & x & SEP_CHAR & y & END_CHAR)
                    End If
                    If GetPlayerVoar(Index) = 0 Then
                    Player(Index).Arrow(z).Arrow = 0
                    Else
                    Player(Index).Arrow(z).Arrow = 1
                    End If
                    Exit Sub
                End If
            End If
        Next I
    End If
Next z
End Sub

Agora procure por :

Código:
' Gotta check :)
                If Map(GetPlayerMap(MyIndex)).Tile(GetPlayerX(MyIndex), GetPlayerY(MyIndex)).Type = TILE_TYPE_WARP Then
GettingMap = True
End If
End If
        End If
    End If
End Sub

Substitua por :

Código:
If Map(GetPlayerMap(MyIndex)).Tile(GetPlayerX(MyIndex), GetPlayerY(MyIndex)).Type = TILE_TYPE_WARP Then
                        If GetPlayerVoar(MyIndex) = 0 Then
                    GettingMap = True
                    Else
                    GettingMap = False
                    End If
                End If
            End If
        End If
    End If
End Sub

Agora no ModTypes procure por :

Código:
Type PlayerRec

Abaixo adicione :

Código:
Voar As Long

Agora no Final do ModTypes adicione :

Código:
Function GetPlayerVoar(ByVal Index As Long) As Long
    GetPlayerVoar = Player(Index).Voar
End Function

Sub SetPlayerVoar(ByVal Index As Long, ByVal Voar As Long)
    Player(Index).Voar = Voar
End Sub

Agora no ModGameLogic Procure por :

Código:
Function CanMove() As Boolean

E Substitua a Function Toda por :

Código:
Faça o Download abaixo da Sub e Substitua.

Download Da Function CanMove : Download Aqui

Testado e Aprovado!

Créditos : Guardian
Lucas Roberto
Lucas Roberto
Membro Veterano
Membro Veterano

Mensagens : 1794

http://universogamesmmo.forumeiros.com/forum

Ir para o topo Ir para baixo

Sistema Voar Completo Empty Re: Sistema Voar Completo

Mensagem por Kooringa Qua 07 Mar 2012, 17:34

Mt bom Lucas Roberto, +1 Sistema Voar Completo 1574364447
Kooringa
Kooringa
Banido
Banido

Mensagens : 1361

Ir para o topo Ir para baixo

Sistema Voar Completo Empty Re: Sistema Voar Completo

Mensagem por math320 Qui 08 Mar 2012, 10:34

Good Guide
math320
math320
Membro Sênior
Membro Sênior

Mensagens : 255

Ir para o topo Ir para baixo

Sistema Voar Completo Empty Re: Sistema Voar Completo

Mensagem por teudestruidor Sex 06 Abr 2012, 21:37

Num postou nenhum print mais tudo bem
embreve testo.
teudestruidor
teudestruidor
Novato
Novato

Mensagens : 40

Ir para o topo Ir para baixo

Sistema Voar Completo Empty Re: Sistema Voar Completo

Mensagem por Guardian Sex 06 Abr 2012, 22:05

teudestruidor escreveu:Num postou nenhum print mais tudo bem
embreve testo.

Bom... Não precisa muito de Print. É só um sistema que aperta F2 e o cara começa a voar kkkkk'
Passa por cima de tudo, menos de fringe. (Porque neste tutorial eu havia esquecido de por...)
Mas esse tutorial é meu e eu ja testei ele umas 1000x. Funciona perfeitamente.
Guardian
Guardian
Membro de Honra
Membro de Honra

Mensagens : 781

Ir para o topo Ir para baixo

Sistema Voar Completo Empty Re: Sistema Voar Completo

Mensagem por Thales12 Sáb 07 Abr 2012, 00:09

Guardian escreveu:
teudestruidor escreveu:Num postou nenhum print mais tudo bem
embreve testo.

Bom... Não precisa muito de Print. É só um sistema que aperta F2 e o cara começa a voar kkkkk'
Passa por cima de tudo, menos de fringe. (Porque neste tutorial eu havia esquecido de por...)
Mas esse tutorial é meu e eu ja testei ele umas 1000x. Funciona perfeitamente.

Guardian.. Mentir é feio !..
( sem mais delongas.. )
Thales12
Thales12
Membro Veterano
Membro Veterano

Mensagens : 1011

http://www.rdmgames.tk

Ir para o topo Ir para baixo

Sistema Voar Completo Empty Re: Sistema Voar Completo

Mensagem por Guardian Sáb 07 Abr 2012, 12:30

Thales12 escreveu:
Guardian escreveu:
teudestruidor escreveu:Num postou nenhum print mais tudo bem
embreve testo.

Bom... Não precisa muito de Print. É só um sistema que aperta F2 e o cara começa a voar kkkkk'
Passa por cima de tudo, menos de fringe. (Porque neste tutorial eu havia esquecido de por...)
Mas esse tutorial é meu e eu ja testei ele umas 1000x. Funciona perfeitamente.

Guardian.. Mentir é feio !..
( sem mais delongas.. )

Acho que isso foi um comentário desnecessário nesse tópico Thales12. Não sei nem se pode ser considerado um comentário visto que foi mais um off topic. Mas isso um Moderador Global decide...

Primeiro : Não há mentiras no que eu disse ali, ja testei o tutorial e muitas pessoas também ja o testaram. E nenhum teve problemas...

Segundo : Foi eu que fiz o tutorial. Tanto é que tem meus créditos la no final. ¬¬'

Terceiro : Passa por cima de tudo, menos fringe.

Se você postou este comentário por outro motivo, peço que mande por MP coisas desse tipo para não encher tópicos com off topics. Só estava respondendo ao teudestruidor para ele saber que o tutorial ja funciona...

Bom... Se algum Moderador Global achar necessário, por favor delete este post junto com o do Thales12. Valeu, abraços!
Guardian
Guardian
Membro de Honra
Membro de Honra

Mensagens : 781

Ir para o topo Ir para baixo

Sistema Voar Completo Empty Re: Sistema Voar Completo

Mensagem por Fantasy Qua 07 Nov 2012, 14:56

Aii Pooow Me salvooo emm
Mtoo Bom Me Ajudoo....
;DD
Fantasy
Fantasy
Membro Vitalicio
Membro Vitalicio

Mensagens : 555

Ir para o topo Ir para baixo

Sistema Voar Completo Empty Re: Sistema Voar Completo

Mensagem por Edward Icaro Qua 07 Nov 2012, 15:03

isto não e reviver Topico ? Neutral
Edward Icaro
Edward Icaro
Membro
Membro

Mensagens : 185

https://www.facebook.com/HumorGamernoface?ref=hl

Ir para o topo Ir para baixo

Sistema Voar Completo Empty Re: Sistema Voar Completo

Mensagem por Over~ Qua 07 Nov 2012, 15:35

D Nunes Não Reviva Tópicos Olhe A Data Antes De Postar!
Você Poderá Ser Punido Por Isso.
Over~
Over~
Membro Vitalicio
Membro Vitalicio

Mensagens : 565

Ir para o topo Ir para baixo

Sistema Voar Completo Empty Re: Sistema Voar Completo

Mensagem por Guardian Qua 07 Nov 2012, 15:55

Mesmo o tutorial sendo meu e ficando feliz por vc ter falado que eu te ajudei... Sou obrigado a seguir as regras. kkkkk'
Mas como é a primeira vez, irei somente te dar um alerta. Não reviva tópicos assim, a não ser que tenha dado algum erro ou tenha problemas com o tutorial. Tranquilo ? Falou! tongue
Guardian
Guardian
Membro de Honra
Membro de Honra

Mensagens : 781

Ir para o topo Ir para baixo

Sistema Voar Completo Empty Re: Sistema Voar Completo

Mensagem por Fantasy Qua 07 Nov 2012, 20:12

Ah Foi Maal :s
Fantasy
Fantasy
Membro Vitalicio
Membro Vitalicio

Mensagens : 555

Ir para o topo Ir para baixo

Sistema Voar Completo Empty Re: Sistema Voar Completo

Mensagem por OIOI Sex 09 Nov 2012, 16:36

esse sitema e meio inutil tipo num x1 se o cara começar voar o ataque passa direto
OIOI
OIOI
Membro
Membro

Mensagens : 100

Ir para o topo Ir para baixo

Sistema Voar Completo Empty Re: Sistema Voar Completo

Mensagem por montevechi Sex 09 Nov 2012, 16:50

inutil , crie um melhor amigo , e so por pra n poder voar na arena ou tal pensa antes de criticar.
montevechi
montevechi
Membro
Membro

Mensagens : 236

http://www.dbz-caos.blogspot.com

Ir para o topo Ir para baixo

Sistema Voar Completo Empty Re: Sistema Voar Completo

Mensagem por Guardian Sex 09 Nov 2012, 17:00

OIOI escreveu:esse sitema e meio inutil tipo num x1 se o cara começar voar o ataque passa direto

Não querendo ofender nem nada do tipo... Mas você ja disse que meu sistema é meio inutil. Tenho que defendê-lo né ? Espero que entenda. tongue

Mas você considerando seu Tipo Maker como Programador deveria saber disso pro seu próprio bem. NENHUM sistema é inútil. Claro, você pode achar esse sistema inútil vendo pelo seu ponto de vista... Mas vou lhe mostrar como um Programador deveria resolver seus problemas :

Você disse : Este sistema é meio inutil tipo num x1 se o cara começar a voar o ataque passa direto

De cara eu ja te dou uma solução :

Se o mapa é "Não seguro" e o cara ta te atacando, você tem todo direito de correr (no caso, sair voando) ou de lutar. Fica a sua escolha, mas agora... Se você quer um X1 Justo. Não basta criar um simples comando de PVP entre os dois ou mais players ? '-'

Então faça com que todos que estejam no PVP, estejam proibidos de Voar. Simples assim...


Nunca mais chame os sistemas de inúteis kk' Smile
Guardian
Guardian
Membro de Honra
Membro de Honra

Mensagens : 781

Ir para o topo Ir para baixo

Sistema Voar Completo Empty Re: Sistema Voar Completo

Mensagem por OIOI Sex 09 Nov 2012, 17:36

AFF DA PROXIMA EU NEM COMENTO FICA TRANQUILO, PQ SE CHEGA UM CARA QUE NUM SABE POHA NENHUMA COMO Q ELE FAZ?
DEXA O PROJETO UMA MERDA???

FALA SERIO Neutral


Última edição por OIOI em Sex 09 Nov 2012, 17:40, editado 1 vez(es)
OIOI
OIOI
Membro
Membro

Mensagens : 100

Ir para o topo Ir para baixo

Sistema Voar Completo Empty Re: Sistema Voar Completo

Mensagem por Gяiммjσw' Sex 09 Nov 2012, 17:38

Guardian escreveu:
OIOI escreveu:esse sitema e meio inutil tipo num x1 se o cara começar voar o ataque passa direto

Não querendo ofender nem nada do tipo... Mas você ja disse que meu sistema é meio inutil. Tenho que defendê-lo né ? Espero que entenda. Sistema Voar Completo 883722

Mas você considerando seu Tipo Maker como Programador deveria saber disso pro seu próprio bem. NENHUM sistema é inútil. Claro, você pode achar esse sistema inútil vendo pelo seu ponto de vista... Mas vou lhe mostrar como um Programador deveria resolver seus problemas :

Você disse : Este sistema é meio inutil tipo num x1 se o cara começar a voar o ataque passa direto

De cara eu ja te dou uma solução :

Se o mapa é "Não seguro" e o cara ta te atacando, você tem todo direito de correr (no caso, sair voando) ou de lutar. Fica a sua escolha, mas agora... Se você quer um X1 Justo. Não basta criar um simples comando de PVP entre os dois ou mais players ? '-'

Então faça com que todos que estejam no PVP, estejam proibidos de Voar. Simples assim...


Nunca mais chame os sistemas de inúteis kk' Sistema Voar Completo 256397

Concordo plenamente com o Guardian , tanto porque no Anime/Mangá os personagens geralmente voam para fugir do ataque de seus inimigos como nos torneios Budokai !!
Este sistema só tem a ajudar os Dragon Balls a ser criado!
Gяiммjσw'
Gяiммjσw'
Membro Junior
Membro Junior

Mensagens : 70

Ir para o topo Ir para baixo

Sistema Voar Completo Empty Re: Sistema Voar Completo

Mensagem por OIOI Sex 09 Nov 2012, 17:42

Gяiммjσw' escreveu:
Guardian escreveu:
OIOI escreveu:esse sitema e meio inutil tipo num x1 se o cara começar voar o ataque passa direto

Não querendo ofender nem nada do tipo... Mas você ja disse que meu sistema é meio inutil. Tenho que defendê-lo né ? Espero que entenda. Sistema Voar Completo 883722

Mas você considerando seu Tipo Maker como Programador deveria saber disso pro seu próprio bem. NENHUM sistema é inútil. Claro, você pode achar esse sistema inútil vendo pelo seu ponto de vista... Mas vou lhe mostrar como um Programador deveria resolver seus problemas :

Você disse : Este sistema é meio inutil tipo num x1 se o cara começar a voar o ataque passa direto

De cara eu ja te dou uma solução :

Se o mapa é "Não seguro" e o cara ta te atacando, você tem todo direito de correr (no caso, sair voando) ou de lutar. Fica a sua escolha, mas agora... Se você quer um X1 Justo. Não basta criar um simples comando de PVP entre os dois ou mais players ? '-'

Então faça com que todos que estejam no PVP, estejam proibidos de Voar. Simples assim...


Nunca mais chame os sistemas de inúteis kk' Sistema Voar Completo 256397

Concordo plenamente com o Guardian , tanto porque no Anime/Mangá os personagens geralmente voam para fugir do ataque de seus inimigos como nos torneios Budokai !!
Este sistema só tem a ajudar os Dragon Balls a ser criado!

CARA SE LIGA NAO SERIA UM x1 JUSTO SE O CARA SAI VOANDO
OIOI
OIOI
Membro
Membro

Mensagens : 100

Ir para o topo Ir para baixo

Sistema Voar Completo Empty Re: Sistema Voar Completo

Mensagem por Guardian Sex 09 Nov 2012, 17:45

É exatamente o que eu falei. Smile
Suponha que esteja eu e você em uma floresta e do nada você começa a me atacar, se eu n to afim de lutar contigo. Eu simplesmente saio voando e você me perseguindo. kkk'
A famosa sede de sangue dos MMORPG's. Os famosos PK.

Agora... Se você quer um x1 justo, você cria o Comando PVP que eu falei. Que quando eles estão nesse PVP, o comando de voar se torna inútil. E os dois são obrigados a lutar até um perder. Entendeu ? tongue
Guardian
Guardian
Membro de Honra
Membro de Honra

Mensagens : 781

Ir para o topo Ir para baixo

Sistema Voar Completo Empty Re: Sistema Voar Completo

Mensagem por OIOI Sáb 10 Nov 2012, 06:00

entendi entao ne affraid
OIOI
OIOI
Membro
Membro

Mensagens : 100

Ir para o topo Ir para baixo

Sistema Voar Completo Empty Re: Sistema Voar Completo

Mensagem por joaofelipe_vs Ter 13 Nov 2012, 19:57

Mas se o player estiver preso ele pode voar?
joaofelipe_vs
joaofelipe_vs
Novato
Novato

Mensagens : 14

Ir para o topo Ir para baixo

Sistema Voar Completo Empty Re: Sistema Voar Completo

Mensagem por Pablo Ter 13 Nov 2012, 20:05

Pode sim, a menos que você bloqueie o comando em um certo mapa, pois o sistema é apenas para voar o resto é conosco.

Atenciosamente,
Pablo
Pablo
Pablo
Moderador Global
Moderador Global

Mensagens : 1371

Ir para o topo Ir para baixo

Sistema Voar Completo Empty Re: Sistema Voar Completo

Mensagem por DarkninoxD Qua 14 Nov 2012, 17:34

OH My God. Nice Sistem. + Cred Com certeza.
DarkninoxD
DarkninoxD
Membro
Membro

Mensagens : 143

http://elitegamesonline.com.br

Ir para o topo Ir para baixo

Sistema Voar Completo Empty Re: Sistema Voar Completo

Mensagem por VyNyxD Qua 30 Jan 2013, 21:12

O galera como que da o credito?
VyNyxD
VyNyxD
Novato
Novato

Mensagens : 2

Ir para o topo Ir para baixo

Sistema Voar Completo Empty Re: Sistema Voar Completo

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