Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Arrow com custo de MP

Ir para baixo

Arrow com custo de MP Empty Arrow com custo de MP

Mensagem  Pablo Qua Set 19, 2012 6:18 pm

Esse Tutorial Serve Para As Balls(Arrows) Gastarem Sua MP
Utilize o Head "ArrowMPCost" do arquivo anexado Extras.ini como base para isso.
Agora No Server Procure

Código:
' Número de classes
Public Max_Classes As Byte
Public Map() As MapRec
Public TempTile() As TempTileRec
Public PlayersOnMap() As Long
Public Player() As AccountRec
Public Class() As ClassRec
Public Item() As ItemRec
Public Npc() As NpcRec
Public MapItem() As MapItemRec
Public MapNpc() As MapNpcRec
Public Grid() As GridRec
Public Shop() As ShopRec
Public Spell() As SpellRec
Public Guild() As GuildRec
Public Party() As PartyRec
Public Emoticons() As EmoRec
Public Experience() As Long
Public CMessages(1 To 6) As CMRec
Public Speech() As SpeechRec

Abaixo Add

Código:
Public ArrowMPCost(1 To 50) As Long 'Mude 50 para o número máximo de itens, caso contrário estará dar erro!

Procure

Código: [Selecionar]
Código:
Sub LoadExps()
    Dim FileName As String
    Dim i As Long

    Call CheckExps
    FileName = App.Path & "\Experiência.ini"

    For i = 1 To MAX_LEVEL
        Call SetStatus("Carregando experiência... " & Int((i / MAX_LEVEL) * 100) & "%")
        Experience(i) = GetVar(FileName, "EXPERIENCE", "Exp" & i)

        DoEvents
    Next

End Sub
Abaixo Add

Código:
Sub LoadArrowCost()
    Dim i As Integer
    For i = 1 To MAX_ITEMS
        ArrowMPCost(i) = Val(GetVar(App.Path & "\Extras.ini", "ArrowMPCost", Trim$(i)))
    Next
End Sub
Agora Procure Por

Código:
Call SetStatus("Carregando itens...")
    Call LoadItems

Abaixo Add

Código:
Call SetStatus("Carregando custo de flechas...")
    Call LoadArrowCost

Procure

Código:
Case "attack"

            If GetPlayerWeaponSlot(Index) > 0 Then
                If Item(GetPlayerInvItemNum(Index, GetPlayerWeaponSlot(Index))).Data3 > 0 Then
                    Call SendDataToMap(GetPlayerMap(Index), "checkarrows" & SEP_CHAR & Index & SEP_CHAR & Item(GetPlayerInvItemNum(Index, GetPlayerWeaponSlot(Index))).Data3 & SEP_CHAR & GetPlayerDir(Index) & END_CHAR)
                    Exit Sub
                End If
            End If
Substitua Isso Por

Código:
Case "attack"

            If GetPlayerWeaponSlot(Index) > 0 Then
                If Item(GetPlayerInvItemNum(Index, GetPlayerWeaponSlot(Index))).Data3 > 0 Then
                    If GetPlayerMP(Index) >= ArrowMPCost(GetPlayerInvItemNum(Index, GetPlayerWeaponSlot(Index))) Then
                        Call SetPlayerMP(Index, GetPlayerMP(Index) - ArrowMPCost(GetPlayerInvItemNum(Index, GetPlayerWeaponSlot(Index))))
                        Call SendDataToMap(GetPlayerMap(Index), "checkarrows" & SEP_CHAR & Index & SEP_CHAR & Item(GetPlayerInvItemNum(Index, GetPlayerWeaponSlot(Index))).Data3 & SEP_CHAR & GetPlayerDir(Index) & END_CHAR)
                        Call SendPlayerData(Index)
                        Exit Sub
                    Else
                        Call PlayerMsg(Index, "Você precisa de " & ArrowMPCost(GetPlayerInvItemNum(Index, GetPlayerWeaponSlot(Index))) & " pontos de mana para isto!", 5)
                        Call SendPlayerData(Index)
                    End If
                End If
            End If

Creditos: Drumond(PRODEV)
Pablo
Pablo
Admin

Mensagens : 1
Agradecimentos : 1
Data de inscrição : 21/08/2012

http://worldrpgbr.ativoforum.com

Ir para o topo Ir para baixo

Ir para o topo


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