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

I don't see it either ![:(](http://www.touchofdeathforums.com/community/public/style_emoticons/<#EMO_DIR#>/sad.png)

I'll take a look at my buggy tutorial and then see if i see any difference ![:P](http://www.touchofdeathforums.com/community/public/style_emoticons/<#EMO_DIR#>/tongue.png)

Almost fixed it only one last tweak left ![;)](http://www.touchofdeathforums.com/community/public/style_emoticons/<#EMO_DIR#>/wink.png)

Then it normally works ![;)](http://www.touchofdeathforums.com/community/public/style_emoticons/<#EMO_DIR#>/wink.png)

Ok change the mapproperty ok button to:

```

Private Sub cmdOk_Click()

Dim i As Long

Dim sTemp As Long

Dim x As Long, x2 As Long

Dim y As Long, y2 As Long

Dim tempArr() As TileRec

Dim TempArr2() As AutotileRec

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If Not IsNumeric(txtMaxX.text) Then txtMaxX.text = Map.MaxX

If Val(txtMaxX.text) < MAX_MAPX Then txtMaxX.text = MAX_MAPX

If Val(txtMaxX.text) > MAX_BYTE Then txtMaxX.text = MAX_BYTE

If Not IsNumeric(txtMaxY.text) Then txtMaxY.text = Map.MaxY

If Val(txtMaxY.text) < MAX_MAPY Then txtMaxY.text = MAX_MAPY

If Val(txtMaxY.text) > MAX_BYTE Then txtMaxY.text = MAX_BYTE

With Map

.Name = Trim$(txtName.text)

If lstMusic.ListIndex >= 0 Then

.Music = lstMusic.List(lstMusic.ListIndex)

Else

.Music = vbNullString

End If

.Up = Val(txtUp.text)

.Down = Val(txtDown.text)

.Left = Val(txtLeft.text)

.Right = Val(txtRight.text)

.Moral = cmbMoral.ListIndex

.BootMap = Val(txtBootMap.text)

.BootX = Val(txtBootX.text)

.BootY = Val(txtBootY.text)

' set the data before changing it

tempArr = Map.Tile

TempArr2 = Autotile

x2 = Map.MaxX

y2 = Map.MaxY

' change the data

.MaxX = Val(txtMaxX.text)

.MaxY = Val(txtMaxY.text)

ReDim Map.Tile(0 To .MaxX, 0 To .MaxY)

ReDim Autotile(0 To .MaxX, 0 To .MaxY)

If x2 > .MaxX Then x2 = .MaxX

If y2 > .MaxY Then y2 = .MaxY

For x = 0 To x2

For y = 0 To y2

.Tile(x, y) = tempArr(x, y)

Autotile(x, y) = TempArr2(x, y)

Next

Next

ClearTempTile

End With

Call UpdateDrawMapName

Unload frmEditor_MapProperties

' Error handler

Exit Sub

errorhandler:

HandleError "cmdOk_Click", "frmEditor_MapProperties", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

```

Now you see something whit mask 1 when you use autotile but only one problem left it doesn't load an autotile it just renderes normal ![:P](http://www.touchofdeathforums.com/community/public/style_emoticons/<#EMO_DIR#>/tongue.png)

But its a start without this fix you'll get nowhere

Else look at my tutorial its not complete but the things i wrote are 100% correct ![;)](http://www.touchofdeathforums.com/community/public/style_emoticons/<#EMO_DIR#>/wink.png) (only you have to change it a little for the edits of pvo and you ![;)](http://www.touchofdeathforums.com/community/public/style_emoticons/<#EMO_DIR#>/wink.png)

[http://www.touchofde…e__hl__autotile](http://www.touchofdeathforums.com/community/index.php?/topic/127195-eo-20autotile-properly-cached-and-ripped-from-csde/page__hl__autotile)

I really can't find more bugs i'll get some sleep i need it ![:P](http://www.touchofdeathforums.com/community/public/style_emoticons/<#EMO_DIR#>/tongue.png)

I also didn't sleep much yesterday ![:P](http://www.touchofdeathforums.com/community/public/style_emoticons/<#EMO_DIR#>/tongue.png)
Link to comment
Share on other sites

  • Replies 121
  • Created
  • Last Reply

Top Posters In This Topic

same thing to v2 it reinder mask1 but it wont autotile(it autotile but wont make positions for tilsets like you said) it so for now we can use mask1 whiteout autotiles….. if you got some news about code pm me to we dont spam this topic alot ....
Link to comment
Share on other sites

**Fix for Mask1 tile**

>! Go client side find:
>! ```
Public Sub cacheRenderState(ByVal x As Long, ByVal y As Long, ByVal layerNum As Long)
```
>! chage all sub to
>! ```
>! Public Sub cacheRenderState(ByVal x As Long, ByVal y As Long, ByVal layerNum As Long)
>! Dim quarterNum As Long
>! ' exit out early
>! If x < 0 Or x > Map.MaxX Or y < 0 Or y > Map.MaxY Then Exit Sub
>! With Map.tile(x, y)
>! ' check if the tile can be rendered
>! If .layer(layerNum).Tileset <= 0 Or .layer(layerNum).Tileset > NumTileSets Then
>! Autotile(x, y).layer(layerNum).renderState = RenderStateNone
>! Exit Sub
>! End If
>! ' check if it's a key - hide mask if key is closed
>! If layerNum = MapLayer.Mask Then
>! If .Type = TILE_TYPE_KEY Then
>! If TempTile(x, y).DoorOpen = NO Then
>! Autotile(x, y).layer(layerNum).renderState = RenderStateNone
>! Exit Sub
>! Else
>! Autotile(x, y).layer(layerNum).renderState = RenderStateNormal
>! Exit Sub
>! End If
>! End If
>! End If
>! ' check if it needs to be rendered as an autotile
>! If .Autotile(layerNum) = AutoTypeNone Or .Autotile(layerNum) = AutoTypeFake Then
>! ' default to... default
>! Autotile(x, y).layer(layerNum).renderState = RenderStateNormal
>! Else
>! Autotile(x, y).layer(layerNum).renderState = RenderStateAutotile
>! ' cache tileset positioning
>! For quarterNum = 1 To 4
>! Autotile(x, y).layer(layerNum).srcX(quarterNum) = (Map.tile(x, y).layer(layerNum).x * 32) + Autotile(x, y).layer(layerNum).QuarterTile(quarterNum).x
>! Autotile(x, y).layer(layerNum).srcY(quarterNum) = (Map.tile(x, y).layer(layerNum).y * 32) + Autotile(x, y).layer(layerNum).QuarterTile(quarterNum).y
>! Next
>! End If
>! End With
>! End Sub
>! ```
>! Now find
>! ```
Public Sub BltMapTile(ByVal x As Long, ByVal y As Long)
```
>! and below
>! ```
For i = MapLayer.Ground To MapLayer.Mask2
```
add
>! ```
If Autotile(x, y).layer(i).renderState = RenderStateNormal Then
```

So now is fixed!!! for all users of v1 and v2

**Fix for Overflow 6 (****inertia )**

>! **ok so find**
>! **Client side**
>! **Find**
>! XOffset As Integer
>! YOffset As Integer
>! inerting As Byte
>! **And chage all 3x to**
>! XOffset As Long
>! YOffset As Long
>! inerting As Long
>! that should fix overflow try it

**Event bug for v4 and v5 (fix)**

>! chage all:
>! ```
Public Sub CheckAttack()
```
>! to
>! ```
Public Sub CheckAttack()
>! Dim Buffer As clsBuffer
>! Dim attackspeed As Long, X As Long, Y As Long, i As Long
>! ' If debug mode, handle error then exit out
>! If Options.Debug = 1 Then On Error GoTo errorhandler
>! If ControlDown Then
>! If InEvent = True Then Exit Sub
>! If SpellBuffer > 0 Then Exit Sub ' currently casting a spell, can't attack
>! If StunDuration > 0 Then Exit Sub ' stunned, can't attack
>! ' speed from weapon
>! If GetPlayerEquipment(MyIndex, Weapon) > 0 Then
>! attackspeed = Item(GetPlayerEquipment(MyIndex, Weapon)).Speed
>! Else
>! attackspeed = 1000
>! End If
>! If Player(MyIndex).AttackTimer + attackspeed < GetTickCount Then
>! If Player(MyIndex).Attacking = 0 Then
>! With Player(MyIndex)
>! .Attacking = 1
>! .AttackTimer = GetTickCount
>! SendAttack
>! End With
>! If GetPlayerEquipment(MyIndex, Weapon) > 0 Then
>! If Item(GetPlayerEquipment(MyIndex, Weapon)).projectile.Pic > 0 Then
>! ' projectile
>! Set Buffer = New clsBuffer
>! Buffer.WriteLong CProjecTileAttack
>! SendData Buffer.ToArray()
>! Set Buffer = Nothing
>! End If
>! End If
>! Set Buffer = New clsBuffer
>! Buffer.WriteLong CAttack
>! SendData Buffer.ToArray()
>! Set Buffer = Nothing
>! End If
>! End If
>! Select Case Player(MyIndex).Dir
>! Case DIR_UP
>! X = GetPlayerX(MyIndex)
>! Y = GetPlayerY(MyIndex) - 1
>! Case DIR_DOWN
>! X = GetPlayerX(MyIndex)
>! Y = GetPlayerY(MyIndex) + 1
>! Case DIR_LEFT
>! X = GetPlayerX(MyIndex) - 1
>! Y = GetPlayerY(MyIndex)
>! Case DIR_RIGHT
>! X = GetPlayerX(MyIndex) + 1
>! Y = GetPlayerY(MyIndex)
>! End Select
>! If GetTickCount > Player(MyIndex).EventTimer Then
>! For i = 1 To Map.CurrentEvents
>! If Map.MapEvents(i).Visible = 1 Then
>! If Map.MapEvents(i).X = X And Map.MapEvents(i).Y = Y Then
>! Set Buffer = New clsBuffer
>! Buffer.WriteLong CEvent
>! Buffer.WriteLong i
>! SendData Buffer.ToArray()
>! Set Buffer = Nothing
>! Player(MyIndex).EventTimer = GetTickCount + 200
>! End If
>! End If
>! Next
>! End If
>! End If
>! ' Error handler
>! Exit Sub
>! errorhandler:
>! HandleError "CheckAttack", "modGameLogic", Err.Number, Err.Description, Err.Source, Err.HelpContext
>! Err.Clear
>! Exit Sub
>! End Sub
```

**Weather and npc Walk fix(Just v 6):**

>! **Client Side:**
>! Find:
>! Public Sub LoadMap(ByVal MapNum As Long)
>! then find:
>! Get #f, , Map.Background
>! below that ADD:
>! Get #f, , Map.Weather
Link to comment
Share on other sites

> Are you Jesus?
>
> This is the most fantastic edit I have ever used in my life. Can you also make a converter that will convert the images of EO into the PA engine? :-D Thank you for this release man

ty! xDD about converter i am not shure…..
Link to comment
Share on other sites

**UpDate: PA v3**

**Chage Log:**

>! Autotiles works fine now :DD
>! Mask x1 Rendering autotiles fix!**(me)**
>! some autotiles fixes **(SantaClaus)**
>! [EO] Memory Leak-free Text Rendering **(Lighting)**
>! Exp Rate**..**
>! Npc Spells..
>! add questlog gui
>! add maskAnim
>! Add FringeAnim layer

**Download Link:**

>! **PA v3**
>! [http://www.sendspace.com/file/3gpfhf](http://www.sendspace.com/file/3gpfhf)

**[Zetasis](http://www.touchofdeathforums.com/community/index.php?/user/46690-zetasis/)**

Are you planning on adding any other features and if so what?

Yes my goal is to make engeine that is easy for use and to all ppl can make nice orpg whit vb6 or not…you can see list on **Features**
Link to comment
Share on other sites

> Oh wow, nice additions. It would be nice to see projectile weapons and shooting npc's.

eheh tnx xP

Projectiles nice idea for players

but i am not shure for npc and projectals if npc shoot projectile player cant escape…

but i will see
Link to comment
Share on other sites

about buttons i dont see any problem all buttons work in v3 O.o just i didnt make it whit imgButton i add pictures inside of client…

about news here is fix not big problem

**Client side:**

**Find :**

```
Call MsgBox("Sorry, the server seems to be down. Please try to reconnect in a few minutes or visit " & GAME_WEBSITE, vbOKOnly, Options.Game_Name)
```

**Above IT add**

```
frmMenu.picMain.Visible = True
```

compile client and now News will show…
Link to comment
Share on other sites

Every button works on PA just the X to close dont work and its not moveable

> buttons quest, skill and option still don't work for me and u cant move or close the inventory or other things please fix

No idea what you did wrong ? Changed something and sended them back behind the pic screen ???
Link to comment
Share on other sites

> Every button works on PA just the X to close dont work and its not moveable
>
> No idea what you did wrong ? Changed something and sended them back behind the pic screen ???

Moveable gui will be add in some other update

Update finished Projectiles (work perfect,block for arrows add on platform also)

working on other staff now
Link to comment
Share on other sites

Zopto i found a little bug :

the bug is if you register a new user and your spawn point is on a high place for example 10 blocks from the ground then the game crashes (overflow error a math error to be exact ![;)](http://www.touchofdeathforums.com/community/public/style_emoticons/<#EMO_DIR#>/wink.png)). I've made lots of screenshots handy for you ![;)](http://www.touchofdeathforums.com/community/public/style_emoticons/<#EMO_DIR#>/wink.png). Maybe you will get this working (i hope so) if you just place some blocks or platforms then it's fixed just the falling down inertia is overflowing on register if you just let it crash and restart it and login then you just normally fall down kinda weird but please fix it (i hope i gave enough information and i also hope you understand what i mean

Anyway my screenshots are in attachments

And btw tnx for fixing mask1 bug Zopto ![;)](http://www.touchofdeathforums.com/community/public/style_emoticons/<#EMO_DIR#>/wink.png)
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...