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

iHero

Members
  • Posts

    207
  • Joined

  • Last visited

    Never

Everything posted by iHero

  1. I'm just planning a new autotile a faster I'm just trying to adjust on my calculations here ![:P](http://www.touchofdeathforums.com/community/public/style_emoticons//tongue.png)
  2. ![](http://img202.imageshack.us/img202/7357/dreamworldr.png) _New Version!! 0.0.7 Beta_ **Download** * [Version 0.0.7 - Beta](http://www.mediafire.com/?cttqy3hw5e5wsi1) **_Notes_** * This is only a beta version, some things I have not finished * _ScreenShot map don't work_ **_ChangeLog_** v0.0.7 _Editions_ * Edited some functions * Removed some useless functions and variables * Faster server * Do not clean the chat server when it has 500 lines. * Server debug * Edited various functions and subs of the server * Removed friend system * Form Load, Main and Menu caption for label * Removed auto tile * Created a new way to measure the stability of the client (TCI (Tick count interval)) * DirectX8 _Systems_ * Title _Corrections_ * My - Clear the target after leaving game * My - Reset attack timer * My - Add the door attribute on map * My - Load texture of door * My - ScreenShot resource cache * My - ScreenShot resource and door * My - Moving in directional * My - Add door in map * My - Change number and value of quest task * Send packet of player * Can player block * Can npc block * Reset attack timer on attack player * Clear the target after leaving map * Regeneration of npc * Damage to Npc of DoT and HoT * Close the shop, trade and bank after death * Function TakeInvItem * Take and give various items * Subscript out range in some functions and subs * Render items of bank * Clear the hotbar after take items or spells * Grey screen in shop, bank and trade * Display the amount of currency in inventory when in trade * Various others bugs **Special thanks** * Robin Perris * Mark Morris * Google * Gustavo (My friend, he is Brazilian)
  3. > Please refrain from using Integersā€¦use a Long instead for the UpdateSavePlayers(ByVal Index As Integer) > > Sincerely, > > Growlith1223 No. It is recommended to use Bytes, since the maximum number of player hardly will pass of 255 (Maximum byte value). And it is impossible to pass of 32767 (Maximum integer value)
  4. Sorry, did not need this scandal, but here's the code to fix: (I tested) Find in Sub ServerLoop ``` ' Checks to update player vitals every 5 seconds - Can be tweaked If Tick > LastUpdatePlayerVitals Then UpdatePlayerVitals LastUpdatePlayerVitals = GetTickCount + 5000 End If ' Checks to spawn map items every 5 minutes - Can be tweaked If Tick > LastUpdateMapSpawnItems Then UpdateMapSpawnItems LastUpdateMapSpawnItems = GetTickCount + 300000 End If ' Checks to save players every 5 minutes - Can be tweaked If Tick > LastUpdateSavePlayers Then UpdateSavePlayers LastUpdateSavePlayers = GetTickCount + 300000 End If ``` And delete Replace _Sub UpdateSavePlayers_ for: ``` Private Sub UpdatePlayerVitals(ByVal index As Integer) If Not TempPlayer(index).stopRegen Then If GetPlayerVital(index, Vitals.HP) GetPlayerMaxVital(index, Vitals.HP) Then Call SetPlayerVital(index, Vitals.HP, GetPlayerVital(index, Vitals.HP) + GetPlayerVitalRegen(index, Vitals.HP)) Call SendVital(index, Vitals.HP) ' send vitals to party if in one If TempPlayer(index).inParty > 0 Then SendPartyVitals TempPlayer(index).inParty, index End If If GetPlayerVital(index, Vitals.MP) GetPlayerMaxVital(index, Vitals.MP) Then Call SetPlayerVital(index, Vitals.MP, GetPlayerVital(index, Vitals.MP) + GetPlayerVitalRegen(index, Vitals.MP)) Call SendVital(index, Vitals.MP) ' send vitals to party if in one If TempPlayer(index).inParty > 0 Then SendPartyVitals TempPlayer(index).inParty, index End If End If End Sub ``` Replace _Sub UpdateSavePlayers_ for: ``` Private Sub UpdateSavePlayers(ByVal index As Integer) Dim i As Long ' Prevent subscript out range If Not IsPlaying(index) Then Exit Sub ' Save player Call TextAdd("Saving all online players...") Call SavePlayer(index) Call SaveBank(index) End Sub ```
  5. ![](http://img202.imageshack.us/img202/7357/dreamworldr.png) **News** Today I finished the sound and text rendering using pure DirectX8 (Thank Mark Morris and Robin Perris) and I changed the texture rendering using vertex for 2D sprite (Thank Gustavo) **Question** > There's a MSCOMCTL.OCX error when opening the server Side Source, any fixes? > > EDIT: > > Nevermind I forgot to check page 6. > > EDIT 2: It says I need to install VB6 SP6 to install it, but I already did. The next version will try to fix this problem.
  6. > Dont forgot Multi Characters xDDDD > > anyway good job take your time !!!!! Oh yes. But I am lazy to edit most of the engine to add multiple chararacters ![:P](http://www.touchofdeathforums.com/community/public/style_emoticons//tongue.png)
  7. > In EO 2.0, you don't need to have the changes you made to _Sub SendResourceCacheToMap._ It already has mapnum in the sub itself. > > I haven't said it yet, though, so I wanted to say THANK YOU. This is fantastic. Thank you
  8. Here are the fixes for bugs reported. Thanks to lel and Anxoni for finding errors. **Resource cache** **Client~Side** > modHandleData In _Sub HandleResourceCache_ bellow of: ``` MapResource(Resource_Num).x = Buffer.ReadLong ``` Add: ``` MapResource(Resource_Num).Y = Buffer.ReadLong ``` **ScreenShot map** **Client~Side** > modDirectDraw7 In Sub ScreenshotResource find: ``` Call RenderSurface(Surf_Resource(Resource), x, y, Rec) ``` Replace for: ``` Surf_Map.Surf.BltFast x, y, Surface(Surf_Resource(Resource)).Surf, Rec, CONST_DDBLTFASTFLAGS.DDBLTFAST_SRCCOLORKEY ``` In _Sub ScreenshotDoor_ find: ``` Call RenderSurface(Surf_Door(Door), x, y, Rec) ``` Replace for: ``` Surf_Map.Surf.BltFast x, y, Surface(Surf_Door(Door)).Surf, Rec, CONST_DDBLTFASTFLAGS.DDBLTFAST_SRCCOLORKEY ``` Player attack npc **Server~Side** > modCombat In _Function CanPlayerAttackNpc_ find: ``` ' Reset attack timer TempPlayer(attacker).AttackTimer = GetTickCount ``` And delete
  9. > Eclipse is way more important right now then anything going on in your life man. Come on "Lets get'er done!" > > J/K for anyone thinking I'm seriousā€¦... > > RL problems always suck far worse than Internet. I think we all feel the same way, we want you to make sure you are ok, and we all understand. We hope you don't stop all together and at least give us an up-date about everything in general. > > Good luck! Oh, thank you. Now I have a some free time to continue the engine. Soon I will post the fixes for the bugs reported.
  10. The fix (In topic is already tidy) > In _Sub SendResourceCacheToMap_ above of: > > ``` > Set Buffer = New clsBuffer > ``` > > Add: > > ``` > ' Check if have player on map > > If PlayersOnMap(GetPlayerMap(index)) = NO Then Exit Sub > ``` > > In _Sub SendMapSound_ above of: > > ``` > Set Buffer = New clsBuffer > ``` > > Add: > > ``` > ' Check if have player on map > > If PlayersOnMap(GetPlayerMap(index)) = NO Then Exit Sub > ```
  11. > Actually, question. > > It won't compile because the variable mapnum isn't defined. Do I need to add mapNum as long in every sub that we added > > ' Check if have player on map > > If PlayersOnMap(MapNum) = NO Then Exit Sub > > ? Sorry, I'll fix it. Wait a few seconds
  12. **Client~Side** > modGameLogic In _Sub GameLoop_ find: ``` ' Lock fps If Not FPS_Lock Then Do While GetTickCount < Tick + 15 Sleep 1 Loop End If ``` Replace for: ``` ' Lock fps If Not FPS_Lock Then Do While GetTickCount < Tick + 10 Sleep 1 Loop End If ``` **Server~Side** > modServerLoop At the beginning of the Sub ServerLoop add: ``` Dim MapNum as Integer, LastUpdateMapLogic As Long ``` Find: ``` If Tick > tmr25 Then For i = 1 To Player_HighIndex If IsPlaying(i) Then ' check if they've completed casting, and if so set the actual spell going ``` Replace for: ``` ' Player loop For i = 1 To Player_HighIndex If IsPlaying(i) Then If Tick > tmr25 Then ' check if they've completed casting, and if so set the actual Spell going ``` Find: ``` ' Checks to update player vitals every 5 seconds - Can be tweaked If Tick > LastUpdatePlayerVitals Then UpdatePlayerVitals LastUpdatePlayerVitals = GetTickCount + 5000 End If ' Checks to spawn map items every 5 minutes - Can be tweaked If Tick > LastUpdateMapSpawnItems Then UpdateMapSpawnItems LastUpdateMapSpawnItems = GetTickCount + 300000 End If ' Checks to save players every 5 minutes - Can be tweaked If Tick > LastUpdateSavePlayers Then UpdateSavePlayers LastUpdateSavePlayers = GetTickCount + 300000 End If ``` And delete Find: ``` End If Next frmServer.lblCPS.Caption = "CPS: " & Format$(GameCPS, "#,###,###,###") tmr25 = GetTickCount + 25 End If ``` Replace for: ``` tmr25 = GetTickCount + 25 End If ' Checks to update player vitals every 5 seconds - Can be tweaked If Tick > LastUpdatePlayerVitals Then UpdatePlayerVitals i LastUpdatePlayerVitals = GetTickCount + 5000 End If ' Checks to save players every 5 minutes - Can be tweaked If Tick > LastUpdateSavePlayers Then UpdateSavePlayers i LastUpdateSavePlayers = GetTickCount + 300000 End If End If Next ``` Find: ``` ' Check for disconnections every half second If Tick > tmr500 Then For i = 1 To MAX_PLAYERS If frmServer.Socket(i).State > sckConnected Then Call CloseSocket(i) End If Next UpdateMapLogic tmr500 = GetTickCount + 500 End If ``` Replace for: ``` ' Check for disconnections every half second If Tick > tmr500 Then For i = 1 To MAX_PLAYERS If frmServer.Socket(i).State > sckConnected Then Call CloseSocket(i) End If Next tmr500 = GetTickCount + 500 End If ``` Find: ``` If Tick > tmr1000 Then If isShuttingDown Then Call HandleShutdown End If tmr1000 = GetTickCount + 1000 End If ``` Below add: ``` For MapNum = 1 To MAX_MAPS ' Checks to spawn map items every 5 minutes - Can be tweaked If Tick > LastUpdateMapSpawnItems Then UpdateMapSpawnItems MapNum LastUpdateMapSpawnItems = GetTickCount + 300000 End If ' update map logic If Tick > LastUpdateMapLogic Then UpdateMapLogic MapNum LastUpdateMapLogic = GetTickCount + 500 End If Next ``` Find: ``` ' Calculate CPS If TickCPS < Tick Then GameCPS = CPS TickCPS = Tick + 1000 CPS = 0 Else CPS = CPS + 1 End If ``` Below add: ``` ' Set server CPS on label frmServer.lblCPS.Caption = "CPS: " & Format$(GameCPS, "#,###,###,###") ``` Replace _Sub UpdateSavePlayers_ for: ``` Private Sub UpdatePlayerVitals(ByVal index As Integer) If Not TempPlayer(index).stopRegen Then If GetPlayerVital(index, Vitals.HP) GetPlayerMaxVital(index, Vitals.HP) Then Call SetPlayerVital(index, Vitals.HP, GetPlayerVital(index, Vitals.HP) + GetPlayerVitalRegen(index, Vitals.HP)) Call SendVital(index, Vitals.HP) ' send vitals to party if in one If TempPlayer(index).inParty > 0 Then SendPartyVitals TempPlayer(index).inParty, index End If If GetPlayerVital(index, Vitals.MP) GetPlayerMaxVital(index, Vitals.MP) Then Call SetPlayerVital(index, Vitals.MP, GetPlayerVital(index, Vitals.MP) + GetPlayerVitalRegen(index, Vitals.MP)) Call SendVital(index, Vitals.MP) ' send vitals to party if in one If TempPlayer(index).inParty > 0 Then SendPartyVitals TempPlayer(index).inParty, index End If End If End Sub ``` Replace _Sub UpdateSavePlayers_ for: ``` Private Sub UpdateSavePlayers(ByVal index As Integer) Dim i As Long ' Prevent subscript out range If Not IsPlaying(index) Then Exit Sub ' Save player Call TextAdd("Saving all online players...") Call SavePlayer(index) Call SaveBank(index) End Sub ``` Find: ``` Private Sub UpdateMapSpawnItems() ``` Replace for: ``` Private Sub UpdateMapSpawnItems(Y As Integer) ``` Find: ``` Dim Y As Long ' /////////////////////////////////////////// ' // This is used for respawning map items // ' /////////////////////////////////////////// For Y = 1 To MAX_MAPS ' Make sure no one is on the map when it respawns If Not PlayersOnMap(Y) Then ``` And delete. At the end of the sub find: ``` End If DoEvents Next ``` And delete. Find: ``` Private Sub UpdateMapLogic() ``` Replace for: ``` Private Sub UpdateMapLogic(MapNum As Integer) ``` Find: ``` , mapNum As Long ``` And delete. Find: ``` For mapNum = 1 To MAX_MAPS ``` And delete. Find: ``` If PlayersOnMap(mapnum) = YES Then ``` And delete. Find: ``` End If DoEvents Next ' Make sure we reset the timer for npc hp regeneration If GetTickCount > GiveNPCHPTimer + 10000 Then GiveNPCHPTimer = GetTickCount End If ' Make sure we reset the timer for door closing If GetTickCount > KeyTimer + 15000 Then KeyTimer = GetTickCount End If ``` Replace for: ``` DoEvents ' Make sure we reset the timer for npc hp regeneration If GetTickCount > GiveNPCHPTimer + 10000 Then GiveNPCHPTimer = GetTickCount End If ``` In _Sub NpcDir_ above of: ``` Set Buffer = New clsBuffer ``` Add: ``` ' Check if have player on map If PlayersOnMap(MapNum) = NO Then Exit Sub ``` In _Sub SendMapItemsToAll_ above of: ``` Set Buffer = New clsBuffer ``` Add: ``` ' Check if have player on map If PlayersOnMap(MapNum) = NO Then Exit Sub ``` In _Sub SendMapNpcVitals_ above of: ``` Set Buffer = New clsBuffer ``` Add: ``` ' Check if have player on map If PlayersOnMap(MapNum) = NO Then Exit Sub ``` In _Sub SendMapNpcsTo_ above of: ``` Set Buffer = New clsBuffer ``` Add: ``` ' Check if have player on map If PlayersOnMap(MapNum) = NO Then Exit Sub ``` In _Sub SendMapNpcsToMap_ above of: ``` Set Buffer = New clsBuffer ``` Add: ``` ' Check if have player on map If PlayersOnMap(MapNum) = NO Then Exit Sub ``` In _Sub SendResourceCacheToMap_ above of: ``` Set Buffer = New clsBuffer ``` Add: ``` ' Check if have player on map If PlayersOnMap(GetPlayerMap(index)) = NO Then Exit Sub ``` In _Sub SendMapSound_ above of: ``` Set Buffer = New clsBuffer ``` Add: ``` ' Check if have player on map If PlayersOnMap(GetPlayerMap(index)) = NO Then Exit Sub ``` In _Sub SendSpawnItemToMap_ above of: ``` Set Buffer = New clsBuffer ``` Add: ``` ' Check if have player on map If PlayersOnMap(MapNum) = NO Then Exit Sub ``` In _Sub SendNpcXY_ above of: ``` Set Buffer = New clsBuffer ``` Add: ``` ' Check if have player on map If PlayersOnMap(MapNum) = NO Then Exit Sub ``` **Credits** Ricardo
  13. Great job (There is only bug fixes of Brazilian people). It has almost as many corrections as in my engine
  14. I've got some family problems, so it may take a while before I release the next version
  15. ![](http://img202.imageshack.us/img202/7357/dreamworldr.png) **News** Today I finished draw text using pure DirectX8, now I get to some of the sound. **ScreenShots** **![](http://img837.imageshack.us/img837/5682/semttulovgf.png)** **Question** > the engine looks good ![:)](http://www.touchofdeathforums.com/community/public/style_emoticons//smile.png) and it is more convinient to use. BTW could you post a Tut on how to Make a Quest? > > Looking forward for more Updates Yes I do, but when I finish DirectX8 > THIS LOOKS **AWESOME!!** ![:D](http://www.touchofdeathforums.com/community/public/style_emoticons//biggrin.png) I wonder what it'll look like in the future ![:o](http://www.touchofdeathforums.com/community/public/style_emoticons//ohmy.png) *-* Thank you
  16. iHero

    Donate to Eclipse

    I would donate if I did not live in Brazil :/
  17. ![](http://img202.imageshack.us/img202/7357/dreamworldr.png) **News** Yesterday I finished all the graphics part of DirectX 8, today I get to part of the sound and the render text. **ScreenShots** **![](http://img515.imageshack.us/img515/847/79830177.png)** **![](http://img213.imageshack.us/img213/708/29242618.png)** **![](http://img208.imageshack.us/img208/3152/semttulopzp.png)** **Question** > This looks really good! I can't wait to see future updates. > > Also, quick question. Could you add MP3 support to this? Yes, I'm adding DirectX 8, so will support MP3.
  18. Support, but you will have to change the way load and render textures
  19. iHero

    [EO] Minimap 1.3

    Thank to all > Maybe it's possible to make scrolling minimap? Maybe I can make a change in minimap, I can add this ![:D](http://www.touchofdeathforums.com/community/public/style_emoticons//biggrin.png) > Does this work for Nightly and/or Dx8? - If not, how could one have it work in such a setting? I think someone turned this minimap to DirectX8, find in tutorials>source
  20. iHero

    NeoBux

    > Can you get prizes like steam license, minecraft licenseā€¦. > > And you are Zeref from Fairy Tail? ![:)](http://www.touchofdeathforums.com/community/public/style_emoticons//smile.png) Yes ![:D](http://www.touchofdeathforums.com/community/public/style_emoticons//biggrin.png)
  21. iHero

    NeoBux

    [![](http://images.neobux.com/imagens/banner9.gif)](http://www.google.com) Click on the logo to be directed to the site At NeoBux you get paid just by browsing our sponsor's ads. Unlike many other PTC sites, our goal is to innovate and reach the needs of our users as well as our advertisers. Our site is being completely designed from scratch because, as users of other PTC sites we were sure that, besides many offers, none could give us what we wanted as users or advertisers. We will be glad to receive your feedback. Worth checking out, my brother has won $ 200
  22. After editing the engine, to improve its stability and correct their bugs, I begin the DirectX8\. Wait For news
  23. > I just tested this, I like how smooth it runs; however, there is a small bug I noticed. > > When an NPC tries to follow you going to the right/downward it skips frames, jumps around, and stop much more often. Thanks, the next version has corrected this
  24. To correct these errors is so download it: http://www.microsoft.com/en-us/download/details.aspx?id=30505
  25. > How to make Quest and what code to make it work? I'll make a tutorial teaching how to work with it
×
×
  • Create New...