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.

[Tutorial NTs#1] Proibir magias em certo mapa

2 participantes

Ir para baixo

[Tutorial NTs#1] Proibir magias em certo mapa Empty [Tutorial NTs#1] Proibir magias em certo mapa

Mensagem por RenanR Sáb 06 Jul 2013, 18:58

Nice Tutos #1
Atenção!
Antes de continuar a fazer este tutorial, devo avisar que ele requer a exclusão de todos os seus mapas e suas magias!

Funcionalidade
Esse tutorial adiciona a função Proibir Magias, que é um objeto que pode ser marcado nas propriedades do mapa, se marcado, ninguém poderá utilizar nenhuma magia naquele mapa.




Cliente-Side

Abra a frmMapProperties e crie um checkbox com a propriedade Name de chkProibir
E caption de Proibir Magias (ou edite como quiser)

Agora de dois cliques na form e procure por:
Código:
chkIndoors.Value = STR(Map(GetPlayerMap(MyIndex)).Indoors)

Abaixo coloque:
Código:
chkProibir.Value = STR(Map(GetPlayerMap(MyIndex)).Proibir)

Na mesma form procure:
Código:
Map(GetPlayerMap(MyIndex)).Indoors = Val(chkIndoors.Value)

Abaixo coloque:
Código:
Map(GetPlayerMap(MyIndex)).Proibir = Val(chkProibir.Value)

Agora procure por:
Código:
Packet = "MAPDATA" & SEP_CHAR & MapNum & SEP_CHAR & Trim(Map(MapNum).Name) & SEP_CHAR & Map(MapNum).Revision & SEP_CHAR & Map(MapNum).Moral & SEP_CHAR & Map(MapNum).Up & SEP_CHAR & Map(MapNum).Down & SEP_CHAR & Map(MapNum).Left & SEP_CHAR & Map(MapNum).Right & SEP_CHAR & Map(MapNum).Music & SEP_CHAR & Map(MapNum).BootMap & SEP_CHAR & Map(MapNum).BootX & SEP_CHAR & Map(MapNum).BootY & SEP_CHAR & Map(MapNum).Indoors & SEP_CHAR

Mude para:
Código:
Packet = "MAPDATA" & SEP_CHAR & MapNum & SEP_CHAR & Trim(Map(MapNum).Name) & SEP_CHAR & Map(MapNum).Revision & SEP_CHAR & Map(MapNum).Moral & SEP_CHAR & Map(MapNum).Up & SEP_CHAR & Map(MapNum).Down & SEP_CHAR & Map(MapNum).Left & SEP_CHAR & Map(MapNum).Right & SEP_CHAR & Map(MapNum).Music & SEP_CHAR & Map(MapNum).BootMap & SEP_CHAR & Map(MapNum).BootX & SEP_CHAR & Map(MapNum).BootY & SEP_CHAR & Map(MapNum).Indoors & SEP_CHAR & Map(MapNum).Proibir & SEP_CHAR

Procure por:
Código:
If Parse(0) = "mapdata" Then
        n = 1
        I = Val(Parse(1))
        
        Call ClearMap(I)
        
        Map(I).Name = Parse(n + 1)
        Map(I).Revision = Val(Parse(n + 2))
        Map(I).Moral = Val(Parse(n + 3))
        Map(I).Up = Val(Parse(n + 4))
        Map(I).Down = Val(Parse(n + 5))
        Map(I).Left = Val(Parse(n + 6))
        Map(I).Right = Val(Parse(n + 7))
        Map(I).Music = Parse(n +
       Map(I).BootMap = Val(Parse(n + 9))
        Map(I).BootX = Val(Parse(n + 10))
        Map(I).BootY = Val(Parse(n + 11))
        Map(I).Indoors = Val(Parse(n + 12))

Abaixo ponha:
Código:
Map(I).Proibir = Val(Parse(n + 13))

Logo abaixo terá:
Código:
n = n + 13

Mude para:
Código:
n = n + 14

Procure:
Código:
Indoors As Byte

Abaixo coloque:
Código:
Proibir As Byte

Server-Side


Procure por:
Código:
Case "mapdata"

            ' Proteção
            If GetPlayerAccess(Index) < ADMIN_MAPPER Then
                Call HackingAttempt(Index, "Admin Cloning")
                Exit Sub
            End If

            N = 1
            MapNum = GetPlayerMap(Index)
            Call ClearMap(MapNum)
            Map(MapNum).Name = Parse(N + 1)
            Map(MapNum).Revision = Val(Parse(N + 2)) + 1
            Map(MapNum).Moral = Val(Parse(N + 3))
            Map(MapNum).Up = Val(Parse(N + 4))
            Map(MapNum).Down = Val(Parse(N + 5))
            Map(MapNum).Left = Val(Parse(N + 6))
            Map(MapNum).Right = Val(Parse(N + 7))
            Map(MapNum).Music = Parse(N +
           Map(MapNum).BootMap = Val(Parse(N + 9))
            Map(MapNum).BootX = Val(Parse(N + 10))
            Map(MapNum).BootY = Val(Parse(N + 11))
            Map(MapNum).Indoors = Val(Parse(N + 12))

Abaixo coloque:
Código:
Map(MapNum).Proibir = Val(Parse(N + 13))

Logo abaixo terá:
Código:
N = N + 13

Mude para:
Código:
N = N + 14

Na Sub ClearMap procure:
Código:
Map(MapNum).Indoors = 0

Abaixo coloque:
Código:
Map(MapNum).Proibir = 0

Procure:
Código:
Indoors As Byte

Abaixo ponha:
Código:
Proibir As Byte

Procure por:
Código:
Packet = "MAPDATA" & SEP_CHAR & MapNum & SEP_CHAR & Trim$(Map(MapNum).Name) & SEP_CHAR & Map(MapNum).Revision & SEP_CHAR & Map(MapNum).Moral & SEP_CHAR & Map(MapNum).Up & SEP_CHAR & Map(MapNum).Down & SEP_CHAR & Map(MapNum).Left & SEP_CHAR & Map(MapNum).Right & SEP_CHAR & Map(MapNum).Music & SEP_CHAR & Map(MapNum).BootMap & SEP_CHAR & Map(MapNum).BootX & SEP_CHAR & Map(MapNum).BootY & SEP_CHAR & Map(MapNum).Indoors & SEP_CHAR

Mude para:
Código:
Packet = "MAPDATA" & SEP_CHAR & MapNum & SEP_CHAR & Trim$(Map(MapNum).Name) & SEP_CHAR & Map(MapNum).Revision & SEP_CHAR & Map(MapNum).Moral & SEP_CHAR & Map(MapNum).Up & SEP_CHAR & Map(MapNum).Down & SEP_CHAR & Map(MapNum).Left & SEP_CHAR & Map(MapNum).Right & SEP_CHAR & Map(MapNum).Music & SEP_CHAR & Map(MapNum).BootMap & SEP_CHAR & Map(MapNum).BootX & SEP_CHAR & Map(MapNum).BootY & SEP_CHAR & Map(MapNum).Indoors & SEP_CHAR & Map(MapNum).Proibir & SEP_CHAR

Procure:
Código:
' Make sure player has the spell
    If Not HasSpell(Index, SpellNum) Then
        Call BattleMsg(Index, "Você não possui esta magia!", BrightRed, 0)
        Exit Sub
    End If

Abaixo coloque:
Código:
If Map(GetPlayerMap(Index)).Proibir = 1 Then
        Call BattleMsg(Index, "É proibido utilizar magias aqui!", BrightRed, 0)
        Exit Sub
    End If


Manual


Agora vá até a pasta do seu servidor e exclua as pastas Mapas e Magias.
Faça o mesmo com os mapas na pasta do cliente.

FIM
Espero não ter esquecido de algo, erros e dúvidas poste aqui.
  

 Créditos


Renan Henrique (RenanR)
 


Última edição por RenanR em Qui 25 Jul 2013, 22:42, editado 2 vez(es)
RenanR
RenanR
Membro Veterano
Membro Veterano

Mensagens : 1048

Ir para o topo Ir para baixo

[Tutorial NTs#1] Proibir magias em certo mapa Empty Re: [Tutorial NTs#1] Proibir magias em certo mapa

Mensagem por Leonard Sáb 06 Jul 2013, 19:16

mt bom cara , pena q exclui os mapa tudo Smile  +1
avatar
Leonard
Membro
Membro

Mensagens : 146

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