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

pastornater

Members
  • Posts

    24
  • Joined

  • Last visited

    Never

Everything posted by pastornater

  1. Constant "knockbacking" might be annoying. Maybe have an option to do it OnCrit? Could be amazing. Altogether very well done. Very organized. I love your style.
  2. 1\. I thought particle effects was a stupid idea… I saw your screenies. I was wrong. well done! 2\. Frame rates can be a factor of many things. - ram: does one version use more -processor: same as above -vid card: -is one doing software and hardware rendering at the same time. -different os might handle the program differently -different gpus might handle some draws better... Lots to consider
  3. I'm assuming I gotta play with this snippet: >! ' If not attacking, walk normally >! Select Case GetPlayerDir(Index) >! Case DIR_UP >! If (Player(Index).yOffset > 8) Then anim = Player(Index).Step >! Case DIR_DOWN >! If (Player(Index).yOffset < -8) Then anim = Player(Index).Step >! Case DIR_LEFT >! If (Player(Index).xOffset > 8) Then anim = Player(Index).Step >! Case DIR_RIGHT >! If (Player(Index).xOffset < -8) Then anim = Player(Index).Step >! End Select >! End If This is in modgraphics draw player. EA
  4. Instanced maps. Copy paste feature for entire events. A+ work sir.
  5. Hey a great feature would be the ability to copy a whole event. Maybe a boolean shift + right click would copy an event on the map and the next left click would place a duplicate of it. Yet another idea, maybe a different boolean could make a reference copy. If you made 5 reference copies then decided to change one, all the others would change as well. I do think the first one I mentioned that just duplicates would be far more useful. Thanks for your great work!
  6. Good Day, I am trying to get my anims to cycle 2x faster than the default. Normally it changes animations once per tile as you are walking. Can anyone help me get it to change anims twice per tile? I have messed with the source extensively and cant seem to pull this off. I dont want the character to travel faster just have his feet move faster. Im using eclipse Advanced Thanks
  7. Modify event system. There is no point creating a new system that has duplicate abilities to the event system. However it might make the people that are demanding a quest system learn more of the functionality of the event system. Maybe make a tick for events that flags them as QUEST. Then have a new editor tab on the admin panel called Quest, it opens a list of all the events in the game that are flagged as QUEST. You can edit them directly from there…. maybe that will make them happy lol
  8. I have put the alpha channels to use heavily in EA. In my opinion its a waste of time developing an engine without the alpha channel. Please no offence to those that have developed solid enigines in dx7
  9. So I fixed the above problem last night. Now I just gotta get the frames to cycle twice as fast. Maybe mess with xoffset and yoffset?
  10. Spend a few hours searching and reading the wealth of knowledge that is already present in these forums. Nobody is gonna build your game for you
  11. I will always be an advocate of Dx8, if for no other reason than the alpha channel. I am much more capable with art and composition than I am with coding. I would take a performance hit, especially a 4% one, for alpha channels because that opens millions of doors of what is possible.
  12. Also the tests show two different games. The actual viewable world resolution prolly would have something to do with both as well
  13. I see you are planning a housing system. I was planning on writing my own, but I was waiting on some folks to finish fine tuning the Instance Map thing found here: [http://www.touchofdeathforums.com/community/index.php?/topic/129648-eclipse-instancing-mappacks-style/page__hl__instance](http://www.touchofdeathforums.com/community/index.php?/topic/129648-eclipse-instancing-mappacks-style/page__hl__instance) I think you will want to wait for that as well, rather than try to reinvent the wheel. Anyway Good luck, and good build, Im downloading it now ![:)](http://www.touchofdeathforums.com/community/public/style_emoticons//smile.png)
  14. The two variables that seem to affect the viwable frames are anim player(index).step I did a project search on those and cannot find where anything is causing those to get set to "0" between each frame.
  15. Ok here's my code. I almost have it working Except the animation is always flickering the Idle player frame in between the walk animation frames, Example Of what i want, numbers are character animation frames from left to Right. Not moving: 1 Moving: 2, 3, 4, 5, 2, 3, 4, 5… This is what I get: Not moving 1 Moving 2, quick 1, 3, quick 1, 4, etc All of This is Client Side This is Under ModGraphics: >! Public Sub DrawPlayer(ByVal Index As Long) >! Dim anim As Byte, i As Long, x As Long, y As Long >! Dim Sprite As Long, spritetop As Long >! Dim rec As RECT >! Dim attackspeed As Long >! ' If debug mode, handle error then exit out >! If Options.Debug = 1 Then On Error GoTo errorhandler >! Sprite = GetPlayerSprite(Index) >! If Sprite < 1 Or Sprite > NumCharacters Then Exit Sub >! ' speed from weapon >! If GetPlayerEquipment(Index, Weapon) > 0 Then >! attackspeed = Item(GetPlayerEquipment(Index, Weapon)).speed >! Else >! attackspeed = 1000 >! End If >! If VXFRAME = False Then >! ' Reset frame >! ' If Player(Index).Step = 3 Then >! ' anim = 0 >! ' ElseIf Player(Index).Step = 1 Then >! ' anim = 2 >! ' End If >! ' anim = Player(Index).Step >! ' Resets Character to Pose Frame when not moving >! If DirUp = False And DirDown = False And DirLeft = False And DirRight = False And Player(Index).Moving = 0 Then >! Player(Index).Step = 0 >! ElseIf Player(Index).Moving > 0 And Player(Index).Step = 0 Then ' This makes character play next animation frame immediately when you press key. >! Player(Index).Step = 1 >! anim = 1 >! End If >! Else >! anim = 1 >! End If >! ' Check for attacking animation >! If Player(Index).AttackTimer + (attackspeed / 2) > GetTickCount Then >! If Player(Index).Attacking = 1 Then >! If VXFRAME = False Then >! anim = 5 >! Else >! anim = 2 >! End If >! End If >! Else >! ' If not attacking, walk normally >! Select Case GetPlayerDir(Index) >! Case DIR_UP >! If (Player(Index).yOffset > 8) Then anim = Player(Index).Step >! Case DIR_DOWN >! If (Player(Index).yOffset < -8) Then anim = Player(Index).Step >! Case DIR_LEFT >! If (Player(Index).xOffset > 8) Then anim = Player(Index).Step >! Case DIR_RIGHT >! If (Player(Index).xOffset < -8) Then anim = Player(Index).Step >! End Select >! End If >! ' Check to see if we want to stop making him attack >! With Player(Index) >! If .AttackTimer + attackspeed < GetTickCount Then >! .Attacking = 0 >! .AttackTimer = 0 >! End If >! End With >! ' Set the left >! Select Case GetPlayerDir(Index) >! Case DIR_UP >! spritetop = 3 >! Case DIR_RIGHT >! spritetop = 2 >! Case DIR_DOWN >! spritetop = 0 >! Case DIR_LEFT >! spritetop = 1 >! End Select >! With rec >! .Top = spritetop * (Tex_Character(Sprite).Height / 4) >! .Bottom = .Top + (Tex_Character(Sprite).Height / 4) >! If VXFRAME = False Then >! .Left = anim * (Tex_Character(Sprite).Width / 8) >! .Right = .Left + (Tex_Character(Sprite).Width / 8) >! Else >! .Left = anim * (Tex_Character(Sprite).Width / 3) >! .Right = .Left + (Tex_Character(Sprite).Width / 3) >! End If >! End With >! ' Calculate the X >! If VXFRAME = False Then >! x = GetPlayerX(Index) * PIC_X + Player(Index).xOffset - ((Tex_Character(Sprite).Width / 5 - 32) / 2) >! Else >! x = GetPlayerX(Index) * PIC_X + Player(Index).xOffset - ((Tex_Character(Sprite).Width / 3 - 32) / 2) >! End If >! ' Is the player's height more than 32..? >! If (Tex_Character(Sprite).Height) > 32 Then >! ' Create a 32 pixel offset for larger sprites >! y = GetPlayerY(Index) * PIC_Y + Player(Index).yOffset - ((Tex_Character(Sprite).Height / 4) - 32) >! Else >! ' Proceed as normal >! y = GetPlayerY(Index) * PIC_Y + Player(Index).yOffset >! End If >! ' render player shadow >! RenderTexture Tex_Shadow, ConvertMapX(x + 32), ConvertMapY(y + 18), 0, 0, 32, 32, 32, 32, D3DColorRGBA(255, 255, 255, 200) >! ' render the actual sprite >! If GetTickCount > Player(Index).StartFlash Then >! Call DrawSprite(Sprite, x, y, rec) >! Player(Index).StartFlash = 0 >! Else >! Call DrawSprite(Sprite, x, y, rec, True) >! End If >! ' check for paperdolling >! For i = 1 To UBound(PaperdollOrder) >! If GetPlayerEquipment(Index, PaperdollOrder(i)) > 0 Then >! If Item(GetPlayerEquipment(Index, PaperdollOrder(i))).Paperdoll > 0 Then >! Call DrawPaperdoll(x, y, Item(GetPlayerEquipment(Index, PaperdollOrder(i))).Paperdoll, anim, spritetop) >! End If >! End If >! Next >! ' Error handler >! Exit Sub >! errorhandler: >! HandleError "DrawPlayer", "modGraphics", Err.Number, Err.Description, Err.Source, Err.HelpContext >! Err.Clear >! Exit Sub >! End Sub This is the other Sub I edited. It is Under ModGameLogic: >! Sub ProcessMovement(ByVal Index As Long) >! Dim MovementSpeed As Long >! ' If debug mode, handle error then exit out >! If Options.Debug = 1 Then On Error GoTo errorhandler >! ' Check if player is walking, and if so process moving them over >! Select Case Player(Index).Moving >! Case MOVING_WALKING: MovementSpeed = ((ElapsedTime / 1000) * (WALK_SPEED * SIZE_X)) >! Case MOVING_RUNNING: MovementSpeed = ((ElapsedTime / 1000) * (RUN_SPEED * SIZE_X)) >! Case Else: Exit Sub >! End Select >! Select Case GetPlayerDir(Index) >! Case DIR_UP >! Player(Index).yOffset = Player(Index).yOffset - MovementSpeed >! If Player(Index).yOffset < 0 Then Player(Index).yOffset = 0 >! Case DIR_DOWN >! Player(Index).yOffset = Player(Index).yOffset + MovementSpeed >! If Player(Index).yOffset > 0 Then Player(Index).yOffset = 0 >! Case DIR_LEFT >! Player(Index).xOffset = Player(Index).xOffset - MovementSpeed >! If Player(Index).xOffset < 0 Then Player(Index).xOffset = 0 >! Case DIR_RIGHT >! Player(Index).xOffset = Player(Index).xOffset + MovementSpeed >! If Player(Index).xOffset > 0 Then Player(Index).xOffset = 0 >! End Select >! ' Check if completed walking over to the next tile >! If Player(Index).Moving > 0 Then >! If GetPlayerDir(Index) = DIR_RIGHT Or GetPlayerDir(Index) = DIR_DOWN Then >! If (Player(Index).xOffset >= 0) And (Player(Index).yOffset >= 0) Then >! Player(Index).Moving = 0 >! If VXFRAME = False Then >! If Player(Index).Step = 4 Then ' Cycles progressive 4 frame animation >! Player(Index).Step = 1 >! Else: Player(Index).Step = Player(Index).Step + 1 >! End If >! ' Player(Index).Moving = 0 >! Else >! If Player(Index).Step = 0 Then >! Player(Index).Step = 2 >! Else >! Player(Index).Step = 0 >! End If >! End If >! End If >! Else >! If (Player(Index).xOffset ! If VXFRAME = False Then >! If Player(Index).Step = 4 Then >! Player(Index).Step = 1 >! Else: Player(Index).Step = Player(Index).Step + 1 >! End If >! ' Player(Index).Moving = 0 >! Else >! If Player(Index).Step = 0 Then >! Player(Index).Step = 2 >! Else >! Player(Index).Step = 0 >! End If >! End If >! End If >! End If >! ' Else: Player(Index).Moving = 0 >! End If >! ' Error handler >! Exit Sub >! errorhandler: >! HandleError "ProcessMovement", "modGameLogic", Err.Number, Err.Description, Err.Source, Err.HelpContext >! Err.Clear >! Exit Sub >! End Sub >! Sub ProcessNpcMovement(ByVal MapNpcNum As Long) >! ' If debug mode, handle error then exit out >! If Options.Debug = 1 Then On Error GoTo errorhandler >! ' Check if NPC is walking, and if so process moving them over >! If MapNpc(MapNpcNum).Moving = MOVING_WALKING Then >! Select Case MapNpc(MapNpcNum).Dir >! Case DIR_UP >! MapNpc(MapNpcNum).yOffset = MapNpc(MapNpcNum).yOffset - ((ElapsedTime / 1000) * (Npc(MapNpc(MapNpcNum).num).speed * SIZE_X)) >! If MapNpc(MapNpcNum).yOffset < 0 Then MapNpc(MapNpcNum).yOffset = 0 >! Case DIR_DOWN >! MapNpc(MapNpcNum).yOffset = MapNpc(MapNpcNum).yOffset + ((ElapsedTime / 1000) * (Npc(MapNpc(MapNpcNum).num).speed * SIZE_X)) >! If MapNpc(MapNpcNum).yOffset > 0 Then MapNpc(MapNpcNum).yOffset = 0 >! Case DIR_LEFT >! MapNpc(MapNpcNum).xOffset = MapNpc(MapNpcNum).xOffset - ((ElapsedTime / 1000) * (Npc(MapNpc(MapNpcNum).num).speed * SIZE_X)) >! If MapNpc(MapNpcNum).xOffset < 0 Then MapNpc(MapNpcNum).xOffset = 0 >! Case DIR_RIGHT >! MapNpc(MapNpcNum).xOffset = MapNpc(MapNpcNum).xOffset + ((ElapsedTime / 1000) * (Npc(MapNpc(MapNpcNum).num).speed * SIZE_X)) >! If MapNpc(MapNpcNum).xOffset > 0 Then MapNpc(MapNpcNum).xOffset = 0 >! End Select >! ' Check if completed walking over to the next tile >! If MapNpc(MapNpcNum).Moving > 0 Then >! If MapNpc(MapNpcNum).Dir = DIR_RIGHT Or MapNpc(MapNpcNum).Dir = DIR_DOWN Then >! If (MapNpc(MapNpcNum).xOffset >= 0) And (MapNpc(MapNpcNum).yOffset >= 0) Then >! MapNpc(MapNpcNum).Moving = 0 >! If VXFRAME = False Then >! If MapNpc(MapNpcNum).Step = 1 Then >! MapNpc(MapNpcNum).Step = 3 >! Else >! MapNpc(MapNpcNum).Step = 1 >! End If >! Else >! If MapNpc(MapNpcNum).Step = 0 Then >! MapNpc(MapNpcNum).Step = 2 >! Else >! MapNpc(MapNpcNum).Step = 0 >! End If >! End If >! End If >! Else >! If (MapNpc(MapNpcNum).xOffset ! If VXFRAME = False Then >! If MapNpc(MapNpcNum).Step = 1 Then >! MapNpc(MapNpcNum).Step = 3 >! Else >! MapNpc(MapNpcNum).Step = 1 >! End If >! Else >! If MapNpc(MapNpcNum).Step = 0 Then >! MapNpc(MapNpcNum).Step = 2 >! Else >! MapNpc(MapNpcNum).Step = 0 >! End If >! End If >! End If >! End If >! End If >! End If >! ' Error handler >! Exit Sub >! errorhandler: >! HandleError "ProcessNpcMovement", "modGameLogic", Err.Number, Err.Description, Err.Source, Err.HelpContext >! Err.Clear >! Exit Sub >! End Sub Thanks for looking. Not Sure why formatting disappeared in the spoiler drop downs…
  16. So I have been pickin apart the source to see how the player anims work and I found that in the 4 frame animation type the player cycles through frames 2 and 4 with the potential to stop on either 1 or 3\. I have been trying some different tweaks and I can't seem to get it to cycle progressively through frames 1,2,3,4 yet not stopping on any of those but stop on 5\. I got it to easily stop on 5 but then the walk order is 2,5,4,5, etc. Any ideas thanks? Btw I'm at work so I'm unable to post my code untill later
  17. I recently modifed the source to allow for 2 extra anim columns in the PNG. These are for attack anims. Then I modified the PNGs accordingly. My Question is if I wanted to add a dozen more anim columns for other attacks and emotes would it drastically affect the framerates?
  18. Hey I know this isn't quite the right place but the context here helps me explain. If you were to make a character bigger than the 32x48 sprites… say 100x100, you would have to stand inside them to attack right? Or does the engine handle that too?
  19. Ok There are a lot of posts about this problem, non of them quite get to the fine details so let me help. Also this tutorial will work for dx7vb.dll as well, you just type in dx7vb.dll instead of dx8vb.dll when you register the files I have been trying this for hours and finally got it. -You must first download the runtimes from this site. -Go into start menu and type UAC, this will let you disable User account control settings. do it. -Right Click on eo_runtimes and pick troubleshoot compatibility. -Pick troubleshoot program -pick It ran on a different version of windows -WindowsXP SP3 -Start program -next -Yes save these settings -close -Right click on the eo_runtimes file and click run as administrator. It will install to windows\system32\. It will probably error a short while after. -repeat last step but install it in windows\sysWOW64\ again…. just to be safe. -Go to start menu again and type CMD, then STOP. This is the key. You must right click on command prompt and Run as administrator. -Now use you mad MSDOS skills and navigate to C:\Windows\sysWOW64\regsvr32 dx8vb.dll (C:\Windows\sysWOW64\regsvr32 dx7vb.dll if thats what you need for your eclipse version) this should properly register the dll. -restart pc. I got all sorts of DX errors... they all went away with a simple computer reboot Client should work *********************************************************************************************************************************** Please let me know if this worked for you, or post what errors you got only after you followed this exactly ***********************************************************************************************************************************
  20. ~~I was trying to have some friends log in. They both have win7 and were having trouble with the runtimes install. I followed the instructions and it didn't work. Then I looked it up in Q&A and they said to manually install the dll. Both Win7 PCs were missing the dx8vb.dll in the system32 folder. I gave them a copy of mine but it was incompatible (I have winxp) I wonder if the newer OS' directx install (DX11) doesn't have that particular library in the install anymore? Also Im not dumb enough to download a dll off a google search… Maybe someone here with win7 could send that dll to me? Any case I dont know how to fix this one.~~ EDIT ~~I got the dx8vb.dll it wanted in but now the clients is throwing up a Runtime error 429 Activex component cannot create object~~ EDIT I figured it out and wrote a tutorial. We should look into making a new runtime.
  21. Slight oversight? Or perhaps only so many hours in a day? Hey folks I was messing with the new events stuff and found that you can check if the player has an item, but it doesn't check for a quantity of that item. It would be a small update and add quite a bit of power to those conditions. Both the "Has Item in inventory" ticker, and the "has item" ticker under "conditional branch" could use this tweak. I would look into it myself but am having a hard time getting my hands on VB6… not sure I trust torrents, and my bro has the copy I used. The other thing, and I wouldn't know how to begin on this, is a way to copy and past whole events... I have made some very complicated events already that work well, but need to be repeated... that would be hell for anyone lol... still beats coding each one directly I suppose. Thanks guys and great job on these projects to everyone involved, I look forward to contributing where I can.
×
×
  • Create New...