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
Abaixo Add
Procure
Abaixo Add
Agora Procure Por
Abaixo Add
Procure
Substitua Isso ^ Por
Creditos: Drumond(PRODEV)
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:
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)