Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

My Brave Shine

Members
  • Posts

    111
  • Joined

  • Last visited

Posts posted by My Brave Shine

  1. Hi @Lulux , the load of Font's are made by Direct3DTexture8.

    So it is basically an instantiation of directX8 on your machine. If the problem persists and you have not yet done the test on virtual machines (even within your system.) I advise you to downgrade DirectX8 and re-register even if it is done in another folder.

    If the problem persists, analyze issues related to the resolution of your machine.

    Persisting even more, I would then recommend you to encrypt a chat system via render texture instead of making use of the standard chat engine, this would allow you in DX8 to work up to several additional factors such as color changes and scales.
     

    att, with love; My Brave Shine ~

  2. @'James':

    > The UI could use some work, it's a bit strange for the hp mp being bottom right (Unless you can move the UI around)

    Thx 
    It is in production the possibility of custom a whole screen of the form that the player prefers. About Ui we get a designer now has a few days, and we are working on the new standard!
  3. ![](http://i.imgur.com/yZdSlSD.png)

     † About the Developer  †

    Hello, I spent a lot of time outside the community, away from the Eclipse world by these lands. But now I'm back with a new project that is in Test Alpha.

    The Game is set in PT-BR, but I intend to select the language option or create a server for English.

    My English is very weak, so be patient and try to understand if you wish.

    † The Project Resume  - WIP †

    Grimgard online now has about 2 to 3 months of life, where it already has about 1 month in tests and updates, changes and improvements.

    He seeks to retrace the Diablo, Final Fantasy, Zelda and many other retro games and mixed with Hack's Slash.

    Your access is free, just download and play. You will be warmly welcomed by me, and by the staff. We have an average of online players that varies from 5 to 25 players, depending on the time of day, or if it is weekend. 

    Remembering we are in ALPHA.

    ![](http://i.imgur.com/V3rKwEi.png)

    ![](http://i.imgur.com/jjtLSGa.png)

     † About the Game †

    In relation to the game, available so far we have 4 classes, which will soon be 6\. Each one calculated and having an excellent function in game and different mechanics.

    Are they:

    - Warrior

    - Mage

    - Priest

    - Ladino

    Still to come:
    - Black Knight
    - Hunter

    The game features unique mechanics, for style, an EO rendering replay, login lobby, and more.

    The focus is on group work to advance it, but it's obvious that solitary wolves who love to play alone make excellent progress.

    Structured, I come to bring hours of a possible good game that every week will reveal more ways to entertain you and take you to a new world.

    ![](http://i.imgur.com/OIUIuEM.png)

     † Videos †
    In case you are interested, you can see development videos here in these links:

    Links:
    [](https://www.youtube.com/watch?v=7S0Pnw-kM-g&t[/url) [https://www.youtube.com/watch?v=lcrCa3Y5UUY&t](https://www.youtube.com/watch?v=lcrCa3Y5UUY&t)
    [https://www.youtube.com/watch?v=BT4aBvAeWmA&t](https://www.youtube.com/watch?v=BT4aBvAeWmA&t)
    [https://www.youtube.com/watch?v=6SeMrgW64cc](https://www.youtube.com/watch?v=6SeMrgW64cc)
    [https://www.youtube.com/watch?v=gtBMs3au4yM](https://www.youtube.com/watch?v=gtBMs3au4yM)

    † Download † - 47mb
    Actual Version - v3.9.8 - 12.04.17
    [Download - Grimgard Online - v3.9.8 - Mega](https://mega.nz/#!U6432BRD!r4d3k0psbgKIvI-FufmcKTc8aq_crIcFV8jHPaGGVnk)
    [](https://mega.nz/#!U6432BRD!r4d3k0psbgKIvI-FufmcKTc8aq_crIcFV8jHPaGGVnk)

    Grateful! < 3
  4. LoL, he is new in engine.
    Need explain better u.u

    Download the Visual Basic 6 to edit source of engine. In codes u can acess all side and edit "msg" and "actiontxt's", just change the names. Players no need understand the diference with Spell <-> Skill <-> Ability? <-> Magic?

    Just change the msgs of server and client. Ex:

    Player use spell running … the server send one msg to he...
    "You cannot cast spell walking.. "

    Change to other msg...
    "You cannot cast ability walking.."

    Have a too extensive line to change the "msg", u need look for "PlayerMsg" in VisualBasic using Crtl + F to search in forms and modules.

    Att
  5. Hello Darling's Eclipsians. 

    I Have one trouble, in Serve Side.

    What Happens?!

    I create one Spell and set she in one Npc // The Npc cast good, animations and damage work Fine. But, have case when Player has Killed to one Npc Nomal Damage or Spell  :s , he broken the server, and this is constant.

    The error says Number 9 , and appoint this Line : 

    ```
    ' Spell Types

    Select Case Spell(spellnum).Type
    ```
    Inside of PlayerSpellNpc // ModCombat.

    Above one image of line and sub.

    ```
     [img]http://i.imgur.com/xpbk3qv.png[/img]
    ```
    All Sub:

    ```
    Sub NpcSpellPlayer(ByVal MapNpcNum As Long, ByVal victim As Long, SpellSlotNum As Long)

    Dim mapNum As Long
    Dim i As Long
    Dim n As Long
    Dim spellnum As Long
    Dim buffer As clsBuffer
    Dim InitDamage As Long
    Dim Damage As Long
    Dim MaxHeals As Long
    Dim HPCost As Long
    Dim DidCast As Boolean

    ' Check for subscript out of range
    If MapNpcNum <= 0 Or MapNpcNum > MAX_MAP_NPCS Or isPlaying(victim) = False Then
    Exit Sub
    End If

    ' Check for subscript out of range
    If MapNpc(GetPlayerMap(victim)).NPC(MapNpcNum).num <= 0 Then
    Exit Sub
    End If

    If SpellSlotNum <= 0 Or SpellSlotNum > MAX_NPC_SPELLS Then Exit Sub

    ' The Variables
    mapNum = GetPlayerMap(victim)
    spellnum = NPC(MapNpc(mapNum).NPC(MapNpcNum).num).Spell(SpellSlotNum)

    ' Send this packet so they can see the person attacking
    Set buffer = New clsBuffer
    buffer.WriteLong SNpcAttack
    buffer.WriteLong MapNpcNum
    SendDataToMap mapNum, buffer.ToArray()
    Set buffer = Nothing

    ' CoolDown Time
    If MapNpc(mapNum).NPC(MapNpcNum).SpellTimer(SpellSlotNum) > GetTickCount Then Exit Sub

    ' Spell Types
    Select Case Spell(spellnum).Type
    ' AOE Healing Spells
    Case SPELL_TYPE_HEALHP
    ' Make sure an npc waits for the spell to cooldown
    MaxHeals = 1 + NPC(MapNpc(mapNum).NPC(MapNpcNum).num).stat(Stats.Intelligence) \ 25
    If MapNpc(mapNum).NPC(MapNpcNum).Heals >= MaxHeals Then Exit Sub
    If MapNpc(mapNum).NPC(MapNpcNum).Vital(Vitals.HP) <= NPC(MapNpc(mapNum).NPC(MapNpcNum).num).HP * 0.3 Then
    If Spell(spellnum).IsAoE Then
    For i = 1 To MAX_MAP_NPCS
    If MapNpc(mapNum).NPC(i).num > 0 Then
    If MapNpc(mapNum).NPC(i).Vital(Vitals.HP) > 0 Then
    If isInRange(Spell(spellnum).AoE, MapNpc(mapNum).NPC(MapNpcNum).x, MapNpc(mapNum).NPC(MapNpcNum).y, MapNpc(mapNum).NPC(i).x, MapNpc(mapNum).NPC(i).y) Then
    InitDamage = Spell(spellnum).Vital + (NPC(MapNpc(mapNum).NPC(MapNpcNum).num).stat(Stats.Intelligence) / 2)

    MapNpc(mapNum).NPC(i).Vital(Vitals.HP) = MapNpc(mapNum).NPC(i).Vital(Vitals.HP) + InitDamage
    SendActionMsg mapNum, "+" & InitDamage, BrightGreen, 1, (MapNpc(mapNum).NPC(i).x * 32), (MapNpc(mapNum).NPC(i).y * 32)
    Call SendAnimation(mapNum, Spell(spellnum).SpellAnim, 0, 0, TARGET_TYPE_NPC, MapNpcNum)

    If MapNpc(mapNum).NPC(i).Vital(Vitals.HP) > NPC(MapNpc(mapNum).NPC(i).num).HP Then
    MapNpc(mapNum).NPC(i).Vital(Vitals.HP) = NPC(MapNpc(mapNum).NPC(i).num).HP
    End If

    MapNpc(mapNum).NPC(MapNpcNum).Heals = MapNpc(mapNum).NPC(MapNpcNum).Heals + 1

    MapNpc(mapNum).NPC(MapNpcNum).SpellTimer(SpellSlotNum) = GetTickCount + Spell(spellnum).CDTime * 1000
    Exit Sub
    End If
    End If
    End If
    Next
    Else
    ' Non AOE Healing Spells
    InitDamage = Spell(spellnum).Vital + (NPC(MapNpc(mapNum).NPC(MapNpcNum).num).stat(Stats.Intelligence) / 2)

    MapNpc(mapNum).NPC(MapNpcNum).Vital(Vitals.HP) = MapNpc(mapNum).NPC(MapNpcNum).Vital(Vitals.HP) + InitDamage
    SendActionMsg mapNum, "+" & InitDamage, BrightGreen, 1, (MapNpc(mapNum).NPC(MapNpcNum).x * 32), (MapNpc(mapNum).NPC(MapNpcNum).y * 32)
    Call SendAnimation(mapNum, Spell(spellnum).SpellAnim, 0, 0, TARGET_TYPE_NPC, MapNpcNum)

    If MapNpc(mapNum).NPC(MapNpcNum).Vital(Vitals.HP) > NPC(MapNpc(mapNum).NPC(MapNpcNum).num).HP Then
    MapNpc(mapNum).NPC(MapNpcNum).Vital(Vitals.HP) = NPC(MapNpc(mapNum).NPC(MapNpcNum).num).HP
    End If

    MapNpc(mapNum).NPC(MapNpcNum).Heals = MapNpc(mapNum).NPC(MapNpcNum).Heals + 1

    MapNpc(mapNum).NPC(MapNpcNum).SpellTimer(SpellSlotNum) = GetTickCount + Spell(spellnum).CDTime * 1000
    Exit Sub
    End If
    End If

    ' AOE Damaging Spells
    Case SPELL_TYPE_DAMAGEHP
    ' Make sure an npc waits for the spell to cooldown
    If Spell(spellnum).IsAoE Then
    For i = 1 To Player_HighIndex
    If isPlaying(i) Then
    If GetPlayerMap(i) = mapNum Then
    InUseArea2 i, MapNpcNum, spellnum
    If isInRange(Spell(spellnum).AoE, MapNpc(mapNum).NPC(MapNpcNum).x, MapNpc(mapNum).NPC(MapNpcNum).y, GetPlayerX(i), GetPlayerY(i)) Then
           If Spell(spellnum).IsAoE = True Then
               InUseArea i, spellnum
               DidCast = True
           End If
       End If
    InitDamage = Spell(spellnum).Vital + (NPC(MapNpc(mapNum).NPC(MapNpcNum).num).stat(Stats.Intelligence) / 2)
    Damage = InitDamage - Player(i).stat(Stats.Willpower)
    If Damage <= 0 Then
    SendActionMsg GetPlayerMap(i), "RESIST!", Pink, 1, (GetPlayerX(i) * 32), (GetPlayerY(i) * 32)
    Exit Sub
    Else

    If Spell(spellnum).StunDuration > 0 Then
    StunPlayer victim, spellnum
    End If

    NpcAttackPlayer MapNpcNum, i, Damage
    SendAnimation mapNum, Spell(spellnum).SpellAnim, 0, 0, TARGET_TYPE_PLAYER, MapNpcNum
    MapNpc(mapNum).NPC(MapNpcNum).SpellTimer(SpellSlotNum) = GetTickCount + Spell(spellnum).CDTime * 1000
    Exit Sub
    End If
    End If
    End If
    Next
    ' Non AoE Damaging Spells
    Else
    If isInRange(Spell(spellnum).Range, MapNpc(mapNum).NPC(MapNpcNum).x, MapNpc(mapNum).NPC(MapNpcNum).y, GetPlayerX(victim), GetPlayerY(victim)) Then
    InitDamage = Spell(spellnum).Vital + (NPC(MapNpc(mapNum).NPC(MapNpcNum).num).stat(Stats.Intelligence) / 2)
    Damage = InitDamage - Player(victim).stat(Stats.Willpower)
    If Damage <= 0 Then
    SendActionMsg GetPlayerMap(victim), "RESIST!", Pink, 1, (GetPlayerX(victim) * 32), (GetPlayerY(victim) * 32)
    Exit Sub
    Else

    If Spell(spellnum).StunDuration > 0 Then
    StunPlayer victim, spellnum
    End If

    NpcAttackPlayer MapNpcNum, victim, Damage
    SendAnimation mapNum, Spell(spellnum).SpellAnim, 0, 0, TARGET_TYPE_PLAYER, victim
    MapNpc(mapNum).NPC(MapNpcNum).SpellTimer(SpellSlotNum) = GetTickCount + Spell(spellnum).CDTime * 1000
    Exit Sub
    End If
    End If
    End If
    End Select
    End Sub

    ```

    I shall be grateful if someone get help , even if you try ! (Sorry my bad english : / )
  6. Hello Darling's Eclipsians. 

    I Have one trouble, in Serve Side.

    What Happens?!

    I create one Spell and set she in one Npc // The Npc cast good, animations and damage work Fine. But, have case when Player has Killed to one Npc Nomal Damage or Spell  :s , he broken the server, and this is constant.

    The error says Number 9 , and appoint this Line : 

    ```
    ' Spell Types

    Select Case Spell(spellnum).Type
    ```
    Inside of PlayerSpellNpc // ModCombat.

    Above one image of line and sub.

    ```
     [img]http://i.imgur.com/xpbk3qv.png[/img]
    ```
    All Sub:

    ```
    Sub NpcSpellPlayer(ByVal MapNpcNum As Long, ByVal victim As Long, SpellSlotNum As Long)

    Dim mapNum As Long
    Dim i As Long
    Dim n As Long
    Dim spellnum As Long
    Dim buffer As clsBuffer
    Dim InitDamage As Long
    Dim Damage As Long
    Dim MaxHeals As Long
    Dim HPCost As Long
    Dim DidCast As Boolean

    ' Check for subscript out of range
    If MapNpcNum <= 0 Or MapNpcNum > MAX_MAP_NPCS Or isPlaying(victim) = False Then
    Exit Sub
    End If

    ' Check for subscript out of range
    If MapNpc(GetPlayerMap(victim)).NPC(MapNpcNum).num <= 0 Then
    Exit Sub
    End If

    If SpellSlotNum <= 0 Or SpellSlotNum > MAX_NPC_SPELLS Then Exit Sub

    ' The Variables
    mapNum = GetPlayerMap(victim)
    spellnum = NPC(MapNpc(mapNum).NPC(MapNpcNum).num).Spell(SpellSlotNum)

    ' Send this packet so they can see the person attacking
    Set buffer = New clsBuffer
    buffer.WriteLong SNpcAttack
    buffer.WriteLong MapNpcNum
    SendDataToMap mapNum, buffer.ToArray()
    Set buffer = Nothing

    ' CoolDown Time
    If MapNpc(mapNum).NPC(MapNpcNum).SpellTimer(SpellSlotNum) > GetTickCount Then Exit Sub

    ' Spell Types
    Select Case Spell(spellnum).Type
    ' AOE Healing Spells
    Case SPELL_TYPE_HEALHP
    ' Make sure an npc waits for the spell to cooldown
    MaxHeals = 1 + NPC(MapNpc(mapNum).NPC(MapNpcNum).num).stat(Stats.Intelligence) \ 25
    If MapNpc(mapNum).NPC(MapNpcNum).Heals >= MaxHeals Then Exit Sub
    If MapNpc(mapNum).NPC(MapNpcNum).Vital(Vitals.HP) <= NPC(MapNpc(mapNum).NPC(MapNpcNum).num).HP * 0.3 Then
    If Spell(spellnum).IsAoE Then
    For i = 1 To MAX_MAP_NPCS
    If MapNpc(mapNum).NPC(i).num > 0 Then
    If MapNpc(mapNum).NPC(i).Vital(Vitals.HP) > 0 Then
    If isInRange(Spell(spellnum).AoE, MapNpc(mapNum).NPC(MapNpcNum).x, MapNpc(mapNum).NPC(MapNpcNum).y, MapNpc(mapNum).NPC(i).x, MapNpc(mapNum).NPC(i).y) Then
    InitDamage = Spell(spellnum).Vital + (NPC(MapNpc(mapNum).NPC(MapNpcNum).num).stat(Stats.Intelligence) / 2)

    MapNpc(mapNum).NPC(i).Vital(Vitals.HP) = MapNpc(mapNum).NPC(i).Vital(Vitals.HP) + InitDamage
    SendActionMsg mapNum, "+" & InitDamage, BrightGreen, 1, (MapNpc(mapNum).NPC(i).x * 32), (MapNpc(mapNum).NPC(i).y * 32)
    Call SendAnimation(mapNum, Spell(spellnum).SpellAnim, 0, 0, TARGET_TYPE_NPC, MapNpcNum)

    If MapNpc(mapNum).NPC(i).Vital(Vitals.HP) > NPC(MapNpc(mapNum).NPC(i).num).HP Then
    MapNpc(mapNum).NPC(i).Vital(Vitals.HP) = NPC(MapNpc(mapNum).NPC(i).num).HP
    End If

    MapNpc(mapNum).NPC(MapNpcNum).Heals = MapNpc(mapNum).NPC(MapNpcNum).Heals + 1

    MapNpc(mapNum).NPC(MapNpcNum).SpellTimer(SpellSlotNum) = GetTickCount + Spell(spellnum).CDTime * 1000
    Exit Sub
    End If
    End If
    End If
    Next
    Else
    ' Non AOE Healing Spells
    InitDamage = Spell(spellnum).Vital + (NPC(MapNpc(mapNum).NPC(MapNpcNum).num).stat(Stats.Intelligence) / 2)

    MapNpc(mapNum).NPC(MapNpcNum).Vital(Vitals.HP) = MapNpc(mapNum).NPC(MapNpcNum).Vital(Vitals.HP) + InitDamage
    SendActionMsg mapNum, "+" & InitDamage, BrightGreen, 1, (MapNpc(mapNum).NPC(MapNpcNum).x * 32), (MapNpc(mapNum).NPC(MapNpcNum).y * 32)
    Call SendAnimation(mapNum, Spell(spellnum).SpellAnim, 0, 0, TARGET_TYPE_NPC, MapNpcNum)

    If MapNpc(mapNum).NPC(MapNpcNum).Vital(Vitals.HP) > NPC(MapNpc(mapNum).NPC(MapNpcNum).num).HP Then
    MapNpc(mapNum).NPC(MapNpcNum).Vital(Vitals.HP) = NPC(MapNpc(mapNum).NPC(MapNpcNum).num).HP
    End If

    MapNpc(mapNum).NPC(MapNpcNum).Heals = MapNpc(mapNum).NPC(MapNpcNum).Heals + 1

    MapNpc(mapNum).NPC(MapNpcNum).SpellTimer(SpellSlotNum) = GetTickCount + Spell(spellnum).CDTime * 1000
    Exit Sub
    End If
    End If

    ' AOE Damaging Spells
    Case SPELL_TYPE_DAMAGEHP
    ' Make sure an npc waits for the spell to cooldown
    If Spell(spellnum).IsAoE Then
    For i = 1 To Player_HighIndex
    If isPlaying(i) Then
    If GetPlayerMap(i) = mapNum Then
    InUseArea2 i, MapNpcNum, spellnum
    If isInRange(Spell(spellnum).AoE, MapNpc(mapNum).NPC(MapNpcNum).x, MapNpc(mapNum).NPC(MapNpcNum).y, GetPlayerX(i), GetPlayerY(i)) Then
           If Spell(spellnum).IsAoE = True Then
               InUseArea i, spellnum
               DidCast = True
           End If
       End If
    InitDamage = Spell(spellnum).Vital + (NPC(MapNpc(mapNum).NPC(MapNpcNum).num).stat(Stats.Intelligence) / 2)
    Damage = InitDamage - Player(i).stat(Stats.Willpower)
    If Damage <= 0 Then
    SendActionMsg GetPlayerMap(i), "RESIST!", Pink, 1, (GetPlayerX(i) * 32), (GetPlayerY(i) * 32)
    Exit Sub
    Else

    If Spell(spellnum).StunDuration > 0 Then
    StunPlayer victim, spellnum
    End If

    NpcAttackPlayer MapNpcNum, i, Damage
    SendAnimation mapNum, Spell(spellnum).SpellAnim, 0, 0, TARGET_TYPE_PLAYER, MapNpcNum
    MapNpc(mapNum).NPC(MapNpcNum).SpellTimer(SpellSlotNum) = GetTickCount + Spell(spellnum).CDTime * 1000
    Exit Sub
    End If
    End If
    End If
    Next
    ' Non AoE Damaging Spells
    Else
    If isInRange(Spell(spellnum).Range, MapNpc(mapNum).NPC(MapNpcNum).x, MapNpc(mapNum).NPC(MapNpcNum).y, GetPlayerX(victim), GetPlayerY(victim)) Then
    InitDamage = Spell(spellnum).Vital + (NPC(MapNpc(mapNum).NPC(MapNpcNum).num).stat(Stats.Intelligence) / 2)
    Damage = InitDamage - Player(victim).stat(Stats.Willpower)
    If Damage <= 0 Then
    SendActionMsg GetPlayerMap(victim), "RESIST!", Pink, 1, (GetPlayerX(victim) * 32), (GetPlayerY(victim) * 32)
    Exit Sub
    Else

    If Spell(spellnum).StunDuration > 0 Then
    StunPlayer victim, spellnum
    End If

    NpcAttackPlayer MapNpcNum, victim, Damage
    SendAnimation mapNum, Spell(spellnum).SpellAnim, 0, 0, TARGET_TYPE_PLAYER, victim
    MapNpc(mapNum).NPC(MapNpcNum).SpellTimer(SpellSlotNum) = GetTickCount + Spell(spellnum).CDTime * 1000
    Exit Sub
    End If
    End If
    End If
    End Select
    End Sub

    ```

    I shall be grateful if someone get help , even if you try ! (Sorry my bad english : / )
  7. I would say to do something related to Eclipse, a short story where players would make a scenario within the game = P

    Ex: A noble marriage; A meeting of war.

    Only with player's.. As a theater players. 

    xD
  8. ##ServerSide

    [ModCombat] - Sub CanPlayerAttackPlayer

    Search for.. "' Make sure they have more then 0 hp"

    after this add:

          If TempPlayer(attacker).inParty = TempPlayer(victim).inParty And TempPlayer(attacker).inParty > 0 Then
        Call PlayerMsg(attacker, GetPlayerName(victim) & " is member of your Party.", BrightRed)
        Exit Function
        End If

    In the second Case e.e

    i cant solve fast =P Need made a variable. 

    ATT <3
  9. Sorry revive this topic haha…

    But i have a same problem in my engine. But if you deleted all Spells in Server Data, and reopen the server this solve '-' 

    Is bug in Serverloop or any Mod to load spells  e.e 

    (well, my error solve when delete this arquives... )

    ##Sorry my bad english haha
  10. Yes, No matter Member que use this item , it will bring the All Other party members When Call locations.

    If you want you can add easily an implement that allows only the Leader , make that call .

    :3

    No matter Member que use this item , it will bring the All Other party members When Call locations.

    No matter Member que use this item , it will bring the All Other party members When Call locations.No matter Member que use this item , it will bring the All Other party members When Call locations.

    No matter Member que use this item , it will bring the All Other party members When Call locations.
    No matter Member que use this item , it will bring the All Other party members When Call locations.
  11. Hi There!

    This is the first tutorial I do, I hope you approve, is very simple, I know many here with a supreme capacity and would think of a better and more appropriately. But tutorial is tutorial.

    ### What does this do?

    It is an item that can be used only if you are in Party, and the function is to call all party members no matter where they are.

    ###What is needed to be able to do this?

     - Visual Basic 6

     - Sourcer of you Engine =P

    **Lets Work!**

    **### Cliente and Server Side ###**

    **01\. [Mod Constants]**

      Search for 

    ```
    ' Item constants

    ```
    This area will be similar to this:

    ```
    Public Const ITEM_TYPE_NONE As Byte = 0
    Public Const ITEM_TYPE_WEAPON As Byte = 1
    Public Const ITEM_TYPE_ARMOR As Byte = 2
    Public Const ITEM_TYPE_HELMET As Byte = 3
    Public Const ITEM_TYPE_LEG As Byte = 4
    Public Const ITEM_TYPE_GLOVES As Byte = 5
    Public Const ITEM_TYPE_BOOTS As Byte = 6
    Public Const ITEM_TYPE_RING As Byte = 7
    Public Const ITEM_TYPE_SHIELD As Byte = 8
    Public Const ITEM_TYPE_CONSUME As Byte = 9
    Public Const ITEM_TYPE_KEY As Byte = 10
    Public Const ITEM_TYPE_CURRENCY As Byte = 11
    Public Const ITEM_TYPE_SPELL As Byte = 12
    Public Const ITEM_TYPE_LOGO_GUILD As Byte = 13
    Public Const ITEM_TYPE_STAT_RESET As Byte = 14
    Public Const ITEM_TYPE_AUTOHEAL As Byte = 15
    Public Const ITEM_TYPE_RECIPE As Byte = 16

    ```
    **Add this** (Remember to add this in your Sequence.)

    ```
    Public Const ITEM_TYPE_PARTYCALL As Byte = 17

    ```
    **### Client Side ###**

    **2\. [frmEditor_Item]**

    In cmbType, add the "Party Call" in the Property List;

    ** - Client Done =P**

    **### Server Side ###**

    **3\. [ModPlayer]**

    Search for this Sub

    ```
    Public Sub UseItem(ByVal Index As Long, ByVal invNum As Long)

    ```
    Now, go to end of sub.

    Before of **End Select ** - ADD this:

    ```
    Case ITEM_TYPE_PARTYCALL

    If TempPlayer(Index).inParty > 0 Then
    Call SendAnimation(GetPlayerMap(Index), 1, GetPlayerX(Index), GetPlayerY(Index))
    Call PartyWarp(Index, Player(Index).Map, Player(Index).x, Player(Index).y)
    Else
    Call PlayerMsg(Index, " You need stay in Party to use this.", Pink)
    Exit Sub
    End If

    Call TakeInvItem(Index, Player(Index).Inv(invNum).num, 0)

    ' send the sound
    SendPlayerSound Index, GetPlayerX(Index), GetPlayerY(Index), SoundEntity.seItem, ItemNum
    Call PlayerMsg(Index, "You party have recalled!", BrightRed)

    ```
    **4\. [ModPlayer]**

    In end of this Module, ADD This:

    ```
    Sub PartyWarp(ByVal Index As Long, ByVal mapNum As Long, ByVal x As Long, ByVal y As Long)
    Dim i As Long

    If TempPlayer(Index).inParty > 0 Then
    For i = 1 To Party(TempPlayer(Index).inParty).MemberCount
    Call PlayerWarp(Party(TempPlayer(Index).inParty).Member(i), mapNum, x, y)
    Next
    End If
    End Sub

    ```
    **~ Done s2**

    **Now, Compile and Test. **

    **Sorry for my bad English, if there is any failure to contact that help solve!**
  12. Hhihi, u can made that, Using a Event System…

    Learn how to use a Player's Variable and made xD

    Make 25 same Npc's, and each you add a quest.. And randomizes the respawn them using the event as a trigger.

    It is not so much work , in a few seconds you do this.
  13. haha, i 'm back now . I think it would be interesting one equipment and weapons upgrade system .

    Opening a new box where the Player drag the item that you want to upgrade and put together the catalyst item.

    Transforming the item at +1 / +2 / +3 … Etc. In each command Upgrade give an improvement of for example ... 10% more attributes and status. Getting to +10 with double the original status = P

    But u engine is a nice engine. Promising!

    Ur Lovelly : )
  14. Possible? I think not. 

    For this have one tutorial.. is no one DLC or Upgrade to put in you engine.. all need study and prepair. There are many engines , in addition to a variety of custom , which ultimately modify packages, modules and subs . Each individual should examine his own engine and make the appropriate changes .

    Of course you can pay someone to do it, but I believe that a " Applicator " systems would be something useless. After much of the forum is made up of programmers, it's something that lend would have been done.

    =P
  15. Entei, you need go to ModTypes, Client and Server…

     PlayerSpellRec, and add you new type here. 

    You need too declare the function of you combobox in Spell Editor ~ in modEditor. 

    AND, in modconstants if you use this in sub.

    "ex: Spell_Type_STR.. "

    case counter,you's modifications do not enougth nothing.

    I think, you no need declare the Dim of the combobox in sub castspell.
×
×
  • Create New...