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

Project Angels 2D side-scrolling ORPG engine v8


Zopto
 Share

Recommended Posts

  • Replies 121
  • Created
  • Last Reply

Top Posters In This Topic

I like what your doing with this engine, truly amazing to finally see someone take what Mr. Miguu's made and make it even better. Seems like you have EVERYTHING you need from the event system, to buffs/debuffs to even the quest system. Great job, man.
Link to comment
Share on other sites

**[ramoneknot](http://www.touchofdeathforums.com/community/index.php?/user/36946-ramoneknot/)**

Attack animations does not work zopto?

i just change to 3 frames but shows only frame when attack

attack animation is same like Eo just 1 frame…

and here is litl fix for running and faill animations

![](http://img194.imageshack.us/img194/4071/122233.png)

but you can chage that in client :

Find :

```
Public Const FRAMES_ATTACKING As Byte = 2
```

and chage it to 3,4 frames

ps: i am not shure how mrmiguu coded animations things but i think that wold work

**[aksakan](http://www.touchofdeathforums.com/community/index.php?/user/78691-aksakan/)**

V7 NPC EXP NOT Working

open server>control tab >chage exp rate to 1.2.3.4 whatever number you want

**[Calypsis](http://www.touchofdeathforums.com/community/index.php?/user/83142-calypsis/)**

I like what your doing with this engine, truly amazing to finally see someone take what Mr. Miguu's made and make it even better. Seems like you have EVERYTHING you need from the event system, to buffs/debuffs to even the quest system. Great job, man.

tnx alot ^^
Link to comment
Share on other sites

will you fix the attack animation? it only plays the 1st frame when standing still then it spazzes between frame 1 and 2 while moving

also will you give weapons & armor durability?

also is it possible to make spells fire projectiles? im no coder but should be easy to take the projectile system from the weapon editor and put it into the spell editor. so it fires in the direction your facing with out targeting a mob also is it possible to add an animation on the hit target like a fireball explosion.
Link to comment
Share on other sites

1\. it is not a bug it use 1 new frame for attack and one walking frame…. like e.o (but i am not shure how mrmiguu make attack animationsi will look into)

2.maybe in some other updates

3.yes it possible (soon)
Link to comment
Share on other sites

**Soon**

**in v8:**

**Projectile(Linear) Type Spell** (full working)

![](http://img560.imageshack.us/img560/539/346345354.png)

(i made that fireball(thing that looks like) fast just to show how spell work)

ok here is better picture

![](http://img29.imageshack.us/img29/539/346345354.png)

some-bugfix

litl gui edite

hope you like it ^^
Link to comment
Share on other sites

sweet, next I'd like to see item durability, also could you add more tool types?

shovel for digging up treasures

sickle for herb/plant gathering

Shears for collecting wool off sheep and or other creatures (a sheep sprite with and without wool so players can sheer them and wait for em to regrow)

Arcane Tool for gathering magical items such as dust, souls or magical crystals.
Link to comment
Share on other sites

sry i was offline 4 days….my pc blow up so i buyed new laptop today now i can work agen....and [Urimas Ebonheart](http://www.touchofdeathforums.com/community/index.php?/user/36312-urimas-ebonheart/) tnx but i will not going to add soo much staff in engine fo now ![:mellow:](http://www.touchofdeathforums.com/community/public/style_emoticons/<#EMO_DIR#>/mellow.png) i will just try to fix some bugs and make it more stable…but you got nice ideas there ^^ anyway update **pa v8 ** soon as posoable
Link to comment
Share on other sites

**Update Project Angels v8 :**

**Chage Log:
>! Add Projectile Type Spell
>! Add some chages to chatbox
>! Resized
>! Screen(Agen)**

New Fixed v8

**Download Link:
>! **[http://www.sendspace.com/file/zp9aox](http://www.sendspace.com/file/zp9aox)**
>! **How to use Projectile Type Spell:
>! Frst go to spell editor
>! Then chose Type:Projectile
>! New window will
>! open whit
>! Pic,Range,Dmg and speed scrl bars
>! note (it use projectile pic
>! from projectile folder)
>! after that make item type spell
>! lern spell
>! and cast it ^^**
>! ps:i forgot to resize background picture(need to be same size like game screen)**
Link to comment
Share on other sites

Zopto this Miggu Code will not work coz this is only a condition for a packet flooding

and in that case client is sending 25 - 27 packets for only one attack

Edit : i was checking this, Client sending and receive many packets for an attack , example for one attack they send 15 packets and receive 15 packets from server
Link to comment
Share on other sites

hmm I am not good whit that packet tings if you found out how to fix pm me I will keep looking…what version you trayed?can you pls look v1 if it is there it is not my fault :S?i look in attack sub and chek attack all look ok...... idk if this going to work but try raplace all Public Sub BltPlayer(ByVal Index As Long) whit this```
Public Sub BltPlayer(ByVal Index As Long)

Dim i As Long, x As Long, y As Long

Dim Sprite As Long, spriteleft As Long

Dim rec As DxVBLib.RECT

Dim attackspeed As Long

Dim TempOnGround As Boolean

' 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

CharacterTimer(Sprite) = GetTickCount + SurfaceTimerMax

Call InitDDSurf("characters\" & Sprite, DDSD_Character(Sprite), DDS_Character(Sprite))

If (FRAMES_STANDING >= FRAMES_WALKING Or FRAMES_STANDING >= FRAMES_RUNNING Or FRAMES_STANDING >= FRAMES_ATTACKING Or FRAMES_STANDING >= FRAMES_JUMPING Or FRAMES_STANDING >= FRAMES_FALLING) Then

HighestFrame = FRAMES_STANDING

ElseIf (FRAMES_WALKING >= FRAMES_STANDING Or FRAMES_WALKING >= FRAMES_RUNNING Or FRAMES_WALKING >= FRAMES_ATTACKING Or FRAMES_WALKING >= FRAMES_JUMPING Or FRAMES_WALKING >= FRAMES_FALLING) Then

HighestFrame = FRAMES_WALKING

ElseIf (FRAMES_RUNNING >= FRAMES_STANDING Or FRAMES_RUNNING >= FRAMES_WALKING Or FRAMES_RUNNING >= FRAMES_ATTACKING Or FRAMES_RUNNING >= FRAMES_JUMPING Or FRAMES_RUNNING >= FRAMES_FALLING) Then

HighestFrame = FRAMES_RUNNING

ElseIf (FRAMES_ATTACKING >= FRAMES_STANDING Or FRAMES_ATTACKING >= FRAMES_WALKING Or FRAMES_ATTACKING >= FRAMES_RUNNING Or FRAMES_ATTACKING >= FRAMES_JUMPING Or FRAMES_ATTACKING >= FRAMES_FALLING) Then

HighestFrame = FRAMES_ATTACKING

ElseIf (FRAMES_JUMPING >= FRAMES_STANDING Or FRAMES_JUMPING >= FRAMES_WALKING Or FRAMES_JUMPING >= FRAMES_RUNNING Or FRAMES_JUMPING >= FRAMES_ATTACKING Or FRAMES_JUMPING >= FRAMES_FALLING) Then

HighestFrame = FRAMES_JUMPING

ElseIf (FRAMES_FALLING >= FRAMES_STANDING Or FRAMES_FALLING >= FRAMES_WALKING Or FRAMES_FALLING >= FRAMES_RUNNING Or FRAMES_FALLING >= FRAMES_ATTACKING Or FRAMES_FALLING >= FRAMES_JUMPING) Then

HighestFrame = FRAMES_FALLING

End If

' if we're in water, slow us down

If Map.tile(GetPlayerX(Index), GetPlayerY(Index)).Type <> TILE_TYPE_WATER Then

WaterVelocity = 1

Else

WaterVelocity = 0.5

End If

' speed from weapon

If GetPlayerEquipment(Index, Weapon) > 0 Then

attackspeed = Item(GetPlayerEquipment(Index, Weapon)).Speed

Else

attackspeed = 1500

End If

If GetPlayerY(Index) < Map.MaxY Then

TempOnGround = CheckDirection(DIR_DOWN, Index)

Else

TempOnGround = Not Map.Down > 0

End If

' Check for attacking animation

If Player(Index).AttackTimer + (attackspeed / 3) > GetTickCount Then

If Player(Index).Attacking = 1 Then

If Player(Index).state <> 3 Then Player(Index).Anim = 0

Player(Index).state = 3

End If

Else

' If not attacking, jump/fall normally

If Not TempOnGround Then

Select Case GetPlayerInertia(Index)

Case DIR_UP

If Player(Index).state <> 4 Then Player(Index).Anim = 0

Player(Index).state = 4

Case DIR_DOWN

If Player(Index).state <> 5 Then Player(Index).Anim = 0

Player(Index).state = 5

End Select

End If

End If

With Player(Index)

If .AttackTimer + (attackspeed / WaterVelocity) < GetTickCount Then

.Attacking = 0

.AttackTimer = 0

End If

End With

' Set the left

Select Case GetPlayerDir(Index)

Case DIR_LEFT

spriteleft = 1

Case DIR_RIGHT

spriteleft = 0

End Select

If HighestFrame > 0 Then Frames_Width = (DDSD_Character(Sprite).lWidth / 2) / HighestFrame

With rec

.top = Player(Index).state * (DDSD_Character(Sprite).lHeight / 6) ' 6 animation states

.Bottom = .top + (DDSD_Character(Sprite).lHeight / 6)

.Left = (spriteleft * (DDSD_Character(Sprite).lWidth / 2)) + (Player(Index).Anim * Frames_Width)

.Right = .Left + Frames_Width

End With

' Calculate the X

x = GetPlayerX(Index) * PIC_X + Player(Index).XOffset - ((Frames_Width - 32) / 2)

' Is the player's height more than 32..?

If (DDSD_Character(Sprite).lHeight) > 32 Then

' Create a 32 pixel offset for larger sprites

y = GetPlayerY(Index) * PIC_Y + Player(Index).YOffset - ((DDSD_Character(Sprite).lHeight / 6) - 32)

Else

' Proceed as normal

y = GetPlayerY(Index) * PIC_Y + Player(Index).YOffset

End If

' render the actual sprite

Call BltSprite(Sprite, x, y, rec)

Select Case Player(Index).state

Case 0 ' standing

If Player(Index).AnimTimer + (FRAMES_STANDING_LENGTH / WaterVelocity) < GetTickCount Then

If Player(Index).Anim < (FRAMES_STANDING - 1) Then

Player(Index).Anim = Player(Index).Anim + 1

Else

Player(Index).Anim = 0

End If

Player(Index).AnimTimer = GetTickCount

End If

Case 1 ' walking

If Player(Index).AnimTimer + (FRAMES_WALKING_LENGTH / WaterVelocity) < GetTickCount Then

If Player(Index).Anim < (FRAMES_WALKING - 1) Then

Player(Index).Anim = Player(Index).Anim + 1

Else

Player(Index).Anim = 0

End If

Player(Index).AnimTimer = GetTickCount

End If

Case 2 ' running

If Player(Index).AnimTimer + (FRAMES_RUNNING_LENGTH / WaterVelocity) < GetTickCount Then

If Player(Index).Anim < (FRAMES_RUNNING - 1) Then

Player(Index).Anim = Player(Index).Anim + 1

Else

Player(Index).Anim = 0

End If

Player(Index).AnimTimer = GetTickCount

End If

Case 3 ' attacking

If Player(Index).AttackTimer + ((attackspeed / FRAMES_ATTACKING) / WaterVelocity) < GetTickCount Then

If Player(Index).Anim < (FRAMES_ATTACKING - 1) Then

Player(Index).Anim = Player(Index).Anim + 1

Else

Player(Index).Attacking = 0

Player(Index).AttackTimer = 0

End If

End If

Case 4 ' jumping

If Player(Index).AnimTimer + (FRAMES_JUMPING_LENGTH / WaterVelocity) < GetTickCount Then

If Player(Index).Anim < (FRAMES_JUMPING - 1) Then

Player(Index).Anim = Player(Index).Anim + 1

Else

Player(Index).Anim = 0

End If

Player(Index).AnimTimer = GetTickCount

End If

Case 5 ' falling

If Player(Index).AnimTimer + (FRAMES_FALLING_LENGTH / WaterVelocity) < GetTickCount Then

If Player(Index).Anim < (FRAMES_FALLING - 1) Then

Player(Index).Anim = Player(Index).Anim + 1

Else

Player(Index).Anim = 0

End If

Player(Index).AnimTimer = GetTickCount

End If

End Select

' 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 BltPaperdoll(x, y, Item(GetPlayerEquipment(Index, PaperdollOrder(i))).Paperdoll, Player(Index).state, Player(Index).Anim, spriteleft)

End If

End If

Next

' Error handler

Exit Sub

errorhandler:

HandleError "BltPlayer", "modDirectDraw7", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub
```anyway how you check that O.o?
Link to comment
Share on other sites

did not work

what version you trayed?

I tested V7 and V8 same problem

anyway how you check that O.o?

i can check that with a packet sniffer

I was watching this project since the beginning with older versions of Miguu, before was the same problem but with all animations even standing, now its better but continues with attack packet.

Srry for my english….
Link to comment
Share on other sites

…can you make Sonic Games with this? ![:huh:](http://www.touchofdeathforums.com/community/public/style_emoticons/<#EMO_DIR#>/huh.png)
Link to comment
Share on other sites

> …can you make Sonic Games with this? ![:huh:](http://www.touchofdeathforums.com/community/public/style_emoticons/<#EMO_DIR#>/huh.png)

It would take some additional modding to create a _spin_ effect while sprinting, hurdling down onto enemies to cause damage etc. However a "sonic" style game is much closer with this source than any other (eclipse wise).
Link to comment
Share on other sites

> It would take some additional modding to create a _spin_ effect while sprinting, hurdling down onto enemies to cause damage etc. However a "sonic" style game is much closer with this source than any other (eclipse wise).

…so...yes?
Link to comment
Share on other sites

> ![](http://i3.kym-cdn.com/entries/icons/original/000/006/026/futuramafry.jpg)

…er...I'll take that as a yes then. ^^;
Link to comment
Share on other sites

yes you can make sonic game whit this. ^^

but if you want spin effect when runing

![](http://img194.imageshack.us/img194/4071/122233.png)

your characters animations need to look like this

like vortigem said

v8 download link removed (uploading new fixed v8)

edite: add new fixed v8
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share


×
×
  • Create New...