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

Valentine90

Members
  • Posts

    115
  • Joined

  • Last visited

    Never

Everything posted by Valentine90

  1. - Random spell damage: >! **Open Server** >! In **modCombat**, look for: >! ``` Vital = Spell(spellnum).Vital ``` >! Replace by: >! ``` Vital = RAND(1, Spell(spellnum).Vital) ``` >! - Two handed weapons >! >! [http://www.touchofde…weapon-2-hands/](http://www.touchofdeathforums.com/community/index.php?/topic/129460-creating-weapon-2-hands/)
  2. Good Guardian ![;)](http://www.touchofdeathforums.com/community/public/style_emoticons//wink.png)
  3. Very good, love it, it's always good to improve eclipse origins, avoid sending unnecessary things, congratulations, this tutorial is more valuable than many systems that have bugs around and the newbies love him.
  4. Are bugs on the version of eclipse origins v2 officer, who has the same bugs provavalmente on derivative versions as you mentioned, since these versions are just a bunch of poorly made and bugs systems, systems upon systems.
  5. This shows how vulnerable system the speed of player and NPC, any hacker can hack the game and change the speed you want, would be interesting to create something on the server that impessa high speeds ….
  6. You can improve your code, Instead of: ``` Case "/hide" If GetPlayerAccess(MyIndex) < ADMIN_CREATOR Then GoTo Continue If Player(MyIndex).Invisible = True Then Player(MyIndex).Invisible = False Else Player(MyIndex).Invisible = True End If ``` Use ``` Case "/hide" If GetPlayerAccess(MyIndex) < ADMIN_CREATOR Then GoTo Continue Player(MyIndex).Invisible = Not Player(MyIndex).Invisible ``` Never use it ``` If Player(Index).Invisible = True Then Name = "" Else Name = Trim$(Player(Index).Name) End If ``` ALWAYS use **vbNullString**, because the **""** leaves a space of 6 bytes in memory, while **vbNullString** leaves 0 bytes in memory So let the code this way ``` If Player(Index).Invisible Then Name = vbNullString Else Name = Trim$(Player(Index).Name) End If ```
  7. I expanded the tutorial covering the bank also stopping you from deposit or withdraw an amount of money 0. Any member of staff could change the topic title to: > [Bug Fix] Fixing Errors on Trade and Bank
  8. **Sorry my english** In trade you can exchange an amount of money 0\. At the bank you can deposit or withdraw an amount of money 0\. No error in the client or server, but it would not be a very good thing to let that happen. **Open Server** **1 -** In **modHandleData**, within ``` Sub HandleTradeItem ``` **2 -** Look for: ``` ' make sure they have the amount they offer If amount < 0 Or amount > GetPlayerInvItemValue(index, invSlot) Then Exit Sub End If ``` **3 -** Below add: ``` If Item(itemNum).Type = ITEM_TYPE_CURRENCY Then If amount < 1 Then Exit Sub End If ``` **4 -** In **modPlayer**, within ``` Sub GiveBankItem ``` **5 -** Look for: ``` If amount < 0 Or amount > GetPlayerInvItemValue(index, invSlot) Then Exit Sub End If ``` **6 -** Below add: ``` If Item(GetPlayerInvItemNum(index, invSlot)).Type = ITEM_TYPE_CURRENCY Then If amount < 1 Then Exit Sub End If ``` **7 -** Also in **modPlayer**, within ``` Sub TakeBankItem ``` **8 -** Look for: ``` If amount < 0 Or amount > GetPlayerBankItemValue(index, BankSlot) Then Exit Sub End If ``` **9 -** Below add: ``` If Item(GetPlayerBankItemNum(index, BankSlot)).Type = ITEM_TYPE_CURRENCY Then If amount < 1 Then Exit Sub End If ``` **Credits:** Valentine
  9. That's why I created tutorials to fix this problem http://www.touchofdeathforums.com/community/index.php?/topic/129445-bug-fix-fixing-serious-errors-in-trade/ Still, I appreciate you trying to help your shape
  10. It would be interesting to find out something that you can take to not limit the stay of DirectX8 using graphics potency of 2, I still could not do it, nor advise using GDI has loss of performance, but I know it is possible, I've seen engines that closed source creator had achieved it.
  11. Relmente I was grateful to see people interested in improving the desepenho DirectX8, is a good initiative. But this may not be the best, you'll probably have to redo, for some reason I quoted the above.
  12. Could you tell what is being corrected? I was a little confused by this code, you mainly use ``` TryCreateDirectX8Device Function () As Boolean ``` Why The Function of CS is better than this new sub it is you saying to replace, since **TryCreateDirectX8Device** is not complete. You are saying to use **CheckTilesets, CheckCharacters** … besides others, but the way it is in the CS is faster because it loads the amount and puts in the DX8 memory only once.
  13. I put this, for if the player has left the party and for some reason the server trying to divide the exp using **Party_ShareExp**, it will exit the sub.
  14. The First ``` ' send update to all - including new player SendPartyUpdate partyNum SendPartyVitals partyNum, targetPlayer ```
  15. The delay is a normal thing, this procedure may not be necessary.
  16. These corrections were made by me and Terabin long ago and are outdated, use the corrections of my new threads, I redid a better way.
  17. This fix is ​​for Eclipse Origins v2, should be adapted to derived versions such as 2.3. I have no way of knowing how the engine you're using, I work with corrections official version
  18. **Sorry my english** I realized that the client version is not sent to the record, enabling a player can register for a customer out of date. **Open Client** **1 -** In **modClientTCP**, look for: ``` Public Sub SendNewAccount ``` **2 -** Beneath: ``` Buffer.WriteString Password ``` **3 -** Add: ``` Buffer.WriteLong App.Major Buffer.WriteLong App.Minor Buffer.WriteLong App.Revision ``` **Open Server** **1 -** In **modHandleData**, look for: ``` Private Sub HandleNewAccount ``` **2 -** Beneath: ``` Password = Buffer.ReadString ``` **3 -** Below add: ``` ' Check versions If Buffer.ReadLong < CLIENT_MAJOR Or Buffer.ReadLong < CLIENT_MINOR Or Buffer.ReadLong < CLIENT_REVISION Then Call AlertMsg(index, "Version outdated, please visit " & Options.Website) Exit Sub End If ``` **Credits:** Valentine
  19. **Sorry my english** There is a simple error in the movement of the player, when the first step to player, your legs not move. **Open Client** **1 -** In **modGameLogic**, look for: ``` ' Check if player is walking, and if so process moving them over Select Case Player(Index).Moving Case MOVING_WALKING: MovementSpeed = ((ElapsedTime / 1000) * (RUN_SPEED * SIZE_X)) Case MOVING_RUNNING: MovementSpeed = ((ElapsedTime / 1000) * (WALK_SPEED * SIZE_X)) Case Else: Exit Sub End Select ``` **2 -** Below add: ``` If Player(Index).Step = 0 Then Player(Index).Step = 1 ``` The ProcessMovement not work with Step 0, works only with the number 1 on, then as it is automatically declared as 0 just going that little problem. **Credits:** Valentine
  20. **Sorry my english** There are other tutorials for the same purpose, but this is the most comprehensive, tested and approved. **Open Client** **1 -** In **modInput**, look for: ``` If left$(chatText, 1) = "!" Then ``` **2 -** On the line below where it has: ``` Exit Sub ``` **3 -** Replace with: ``` If Mid$(chatText, 1, 2) = "! " Then GoTo continue ``` **4 -** Look for: ``` ChatText = Mid$(ChatText, i, Len(ChatText) - 1) ``` **5 -** Delete this line or replace with this line: ``` 'ChatText = Mid$(ChatText, i, Len(ChatText) - 1) ``` **6 -** Look for: ``` MyText = Mid$(ChatText, i + 1, Len(ChatText) - i) ``` **7 -** Replace with: ``` chatText = Mid$(chatText, i + 1, Len(chatText) - i) ``` **8 -** In **modClientTCP**, in **Sub PlayerMsg**, look for: ``` Buffer.WriteLong CSayMsg ``` **9 -** Replace with: ``` Buffer.WriteLong CPlayerMsg ``` **Open Server** **1 -** In **modHandleData**, look for: ``` Call PlayerMsg(GetPlayerName(index), "Cannot message yourself.", BrightRed) ``` **2 -** Replace with: ``` Call PlayerMsg(index, "Cannot message yourself.", BrightRed) ``` **Credits:** Valentine Terabin
  21. **Sorry my english** At the request of a member here, I decided to create this tutorial. This is a simple tutorial that teaches you how to fix the bug of the player's current exp. When you go into an account and is the first to enter the game, no problems, however, when you are on the second into the game your exp is always ZERO, this tutorial teaches you how to fix it **Open Client** **1 -** In **modHandleData**, look for: ``` Private Sub HandlePlayerExp ``` **2 -** In this same sub search by: ``` SetPlayerExp Index, Buffer.ReadLong ``` **3 -** Replace with: ``` SetPlayerExp MyIndex, Buffer.ReadLong ``` **Credits:** Terabin Valentine
  22. **Sorry my english** The Soul created a tutorial for the same purpose, but was not complete, so I completed. **Soul:** It seems that the code for HoTs just assumes you want to heal HP. So even setting a Heal MP spell will heal the HP, regardless of the type of magic. Points are not affected by this error. Here is a fix (not elegant, but I tried to touch existing code as little as possible): **Valentine:** Besides the bug mentioned above, there is another, when the player is healed is not sent to the client the new HP or MP, then added a code to fix this. **Open Server** **Fix for players** **1 -** Search for: ``` SendActionMsg Player(index).Map, "+" & Spell(.Spell).Vital, BrightGreen, ACTIONMSG_SCROLL, Player(index).x * 32, Player(index).y * 32 Player(index).Vital(Vitals.HP) = Player(index).Vital(Vitals.HP) + Spell(.Spell).Vital ``` **2 -** Replace it: ``` If Spell(.Spell).Type = SPELL_TYPE_HEALHP Then SendActionMsg Player(Index).Map, "+" & Spell(.Spell).Vital, BrightGreen, ACTIONMSG_SCROLL, Player(Index).x * 32, Player(Index).y * 32 SetPlayerVital Index, Vitals.HP, GetPlayerVital(Index, Vitals.HP) + Spell(.Spell).Vital Call SendVital(Index, Vitals.HP) Else SendActionMsg Player(Index).Map, "+" & Spell(.Spell).Vital, BrightBlue, ACTIONMSG_SCROLL, Player(Index).x * 32, Player(Index).y * 32 SetPlayerVital Index, Vitals.MP, GetPlayerVital(Index, Vitals.MP) + Spell(.Spell).Vital Call SendVital(Index, Vitals.MP) End If ``` **Fix for NPCs** **1 -** Search for: ``` SendActionMsg mapNum, "+" & Spell(.Spell).Vital, BrightGreen, ACTIONMSG_SCROLL, MapNpc(mapNum).Npc(index).x * 32, MapNpc(mapNum).Npc(index).y * 32 MapNpc(mapNum).Npc(index).Vital(Vitals.HP) = MapNpc(mapNum).Npc(index).Vital(Vitals.HP) + Spell(.Spell).Vital ``` **2 -** Replace it: ``` If Spell(.Spell).Type = SPELL_TYPE_HEALHP Then SendActionMsg mapNum, "+" & Spell(.Spell).Vital, BrightGreen, ACTIONMSG_SCROLL, MapNpc(mapNum).Npc(index).x * 32, MapNpc(mapNum).Npc(index).y * 32 MapNpc(mapNum).Npc(index).Vital(Vitals.HP) = MapNpc(mapNum).Npc(index).Vital(Vitals.HP) + Spell(.Spell).Vital Else SendActionMsg mapNum, "+" & Spell(.Spell).Vital, BrightBlue, ACTIONMSG_SCROLL, MapNpc(mapNum).Npc(index).x * 32, MapNpc(mapNum).Npc(index).y * 32 MapNpc(mapNum).Npc(index).Vital(Vitals.MP) = MapNpc(mapNum).Npc(index).Vital(Vitals.MP) + Spell(.Spell).Vital End If ``` **Credits:** Soul Valentine
  23. **Sorry my english** The error happens when you try someone ban and happens server error saying it could not find the folder. **Open Server** **1 -** In **modDatabase**, In **Sub BanIndex** and **Sub ServerBanIndex**, look for: ``` filename = App.Path & "data\banlist.txt" ``` **2 -** Replace with: ``` filename = App.Path & "\data\banlist.txt" ``` **3 -** Look for: ``` If Not FileExist("data\banlist.txt") Then ``` **4 -** Replace with: ``` If Not FileExist(filename) Then ``` **Credits:** Valentine
  24. Good initiative, I can help in correcting the Eclipse Origins v2
  25. Congratulations, this is really useful, thanks for sharing.
×
×
  • Create New...