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

Dynamic Crafting System


Justn
 Share

Recommended Posts

  • Replies 54
  • Created
  • Last Reply

Top Posters In This Topic

Hey i have a question. if your making something that uses like 3 iron bars is it possible to check and make sure all three of em are in your inventory? the was i understand it now is if it finds one of them then the recipe will work even if you dont have the amount the recipe calls for. thanks for takin the time to read this lol.
Link to comment
Share on other sites

  • 1 month later...
I get a Syntax Error upon signing into the client after installing dynamic crafting system, although I know this works

on this setup for-sure. Its the same as last time - except this time its on a fresh version of Dragon Eclipse.

![](http://i1127.photobucket.com/albums/l632/EsoGuildPB/syntaxerror.png)
Link to comment
Share on other sites

> change the & to just the & sign ._.

Though I am new - I actually considered doing that. I'll give it a shot.

[Update 2 -> still needs to be fixed - it says : "SUBSCRIPT OUT OF RANGE" ]

![](http://i1127.photobucket.com/albums/l632/EsoGuildPB/editoroutofrange.png)

[Update 1 -> resolved- i think]:

It worked and I can get in, Now i get this error when opening the map editor:

![](http://i1127.photobucket.com/albums/l632/EsoGuildPB/afterclckingmap.png)
Link to comment
Share on other sites

I am going to upload the project (all it is is a brand new dragon eclipse + Mini Map + the Dynamic Crafting System) - Sign in and go into admin panel and then check out :

Frmeditor_ map / item / main. (Both code AND window - Open it in VB6 and launch from VB6 (debug as needed):

It will temporarily be at : 68.43.175.133/decraft

(on a private server - no worries - Re-uploaded it to INCLUDE the minimap (which works perfectly) at 11:04 pm on 11/13/2012 - DO NOT

download this thinking this is a working version - once soe one can help me fix the crafting system I will add some more

functions and stuff and probably put an extended version of dragon eclipse up sometime-)

If you can show me what I'm doing wrong I would be ever so appreciative. =P
Link to comment
Share on other sites

> Will it work with EA?
>
> It looks like code will be fine fine, but what about form work?

I tried this in EA i believe and got some errors, I DID have this work in dragon eclipse 3.0 Dx8 perfectly but when i tried a second time it didn't work right either, Justn actually teamviewed me and got it to work but i lost that copy somehow - Not sure if they updated the tutorial to fix all of the bugs they worked out on the copy I had.

IF anyone figures out how to get this working properly and/or even manages to get it to work alil faster and/or more efficiently or adds new features, they should definitely include tutorial(s) on the implementation process as well as any updates so that folks who already have it can just make the needed changes and folks who get bugs can work them out.
Link to comment
Share on other sites

I am getting an crash and unrecoverable Dx8 Error when trying to place a crafting tile, but **I got it to compile and start up in Dragon Eclipse [Nightly Dx8]**. UPDATE: found another bug: the crafting window (in picattributes… frarecipe in particular stands in the way of ALL other attribute windows and pops up even if i click arena, etc - to top things off the scroll bar there DOES NOT work and the command button that says "ok" does not work either" its stuck open.

I did go into modText and FIND```

Case TILE_TYPE_CRAFT

DrawText TexthDC, tx, ty, "CR", QBColor(White)

```

and change out Drawtext to Rendertext and TextTHdc to font_default.

Not sure if that could be causing the conflict. [This](http://i1127.photobucket.com/albums/l632/EsoGuildPB/errorcraft.png) is the error I was getting before I did this.

**NOTES in General:**

There is also some typo's, anywhere you see a "&" and the text is red make it "&"

'Nyan says:

```
You must add Public Const TILE_TYPE_CRAFT as Byte = under other TILE_TYPE constants
```
'Nyan says:

```
Add RecipeIndex as Long to modGlobals
```
Link to comment
Share on other sites

**UPDATE: THIS OFFICIALLY WORKS WITH DRAGON ECLIPSE 3.0 NIGHTLY Dx8.**

the information below is unsorted

**Justn should update the tutorial** to include the changes indicated throughout these posts and in this thread to:http://www.touchofdeathforums.com/community/index.php?/topic/130669-dynamic-crafting-system-on-dragon-eclipse/ . (not sure if i missed any but hes sure to have caught them since half of the collaboration took place among like 3 or 4 of us in pm to make this happen. Thanks guys!!!!

In terms of my last error i just forgot to add the code to the

bottom of frmEditor_Map.

Gen. General General General General General General General General Pony said too: (for Dragon Eclipse Nightly Dx8)

go into modText and FIND

```

DrawText TexthDC, tx, ty, "CR", QBColor(White)
```

Replace with

> RenderText Font_Default, "CR", tx, ty, White, 0

Okay, I got the tiles working with the above post by Gen. Generalpony ~~General General General General General General General General General General General Pony, now my last issuebefore wehave a fully working version of Dynamic Crafting System for Dragon Eclipse Dx8 Nightly is to work out a bug with frarecipe (which is located in picattributes) - when i click "crafting" in attributes it just lets me place the crafting tile-type, it doesnt

bring up another window for me to choose which type of crafting tile to choose/command button/etc, when i click another attribute type (such as arena) which does prompt the window i can see the crafting frarecipe and it isnt functional, however whichever other thing i clicked (such as arena or whatnot) works fine, though frarecipe shouldnt be visible.~~

![](http://i1127.photobucket.com/albums/l632/EsoGuildPB/esocraft1.png)
Link to comment
Share on other sites

  • 2 weeks later...
just found out why i might be having a hard time figuring out this mod,

the window (fraRecipe in frmeditor_item) **does -not- show up when it is in game**,

how can i address this? for reference here is my **fraRecipe**. Thanks for reading, all advice is appreciated.

```

Option Explicit

Private LastIndex As Long

Private Sub ChkTwoh_Click()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If ChkTwoh.Value = 0 Then

Item(EditorIndex).istwohander = False

Else

Item(EditorIndex).istwohander = True

End If

' Error handler

Exit Sub

errorhandler:

HandleError "chkTwoh", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub cmbBind_Click()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

Item(EditorIndex).BindType = cmbBind.ListIndex

' Error handler

Exit Sub

errorhandler:

HandleError "cmbBind_Click", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub cmbClassReq_Click()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

Item(EditorIndex).ClassReq = cmbClassReq.ListIndex

' Error handler

Exit Sub

errorhandler:

HandleError "cmbClassReq_Click", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub cmbSound_Click()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If cmbSound.ListIndex >= 0 Then

Item(EditorIndex).sound = cmbSound.List(cmbSound.ListIndex)

Else

Item(EditorIndex).sound = "None."

End If

' Error handler

Exit Sub

errorhandler:

HandleError "cmdSound_Click", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub cmbTool_Click()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

Item(EditorIndex).Data3 = cmbTool.ListIndex

' Error handler

Exit Sub

errorhandler:

HandleError "cmbTool_Click", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub cmdDelete_Click()

Dim tmpIndex As Long

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

ClearItem EditorIndex

tmpIndex = lstIndex.ListIndex

lstIndex.RemoveItem EditorIndex - 1

lstIndex.AddItem EditorIndex & ": " & Item(EditorIndex).Name, EditorIndex - 1

lstIndex.ListIndex = tmpIndex

ItemEditorInit

' Error handler

Exit Sub

errorhandler:

HandleError "cmdDelete_Click", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub Form_Load()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

scrlPic.max = numitems

scrlAnim.max = MAX_ANIMATIONS

scrlPaperdoll.max = NumPaperdolls

' Error handler

Exit Sub

errorhandler:

HandleError "Form_Load", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub cmdSave_Click()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

Call ItemEditorOk

' Error handler

Exit Sub

errorhandler:

HandleError "cmdSave_Click", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub cmdCancel_Click()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

Call ItemEditorCancel

' Error handler

Exit Sub

errorhandler:

HandleError "cmdCancel_Click", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub cmbType_Click()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

If (cmbType.ListIndex >= ITEM_TYPE_WEAPON) And (cmbType.ListIndex <= ITEM_TYPE_SHIELD) Then

fraEquipment.Visible = True

'scrlDamage_Change

Else

fraEquipment.Visible = False

End If

If cmbType.ListIndex = ITEM_TYPE_CONSUME Then

fraVitals.Visible = True

'scrlVitalMod_Change

Else

fraVitals.Visible = False

End If

If (cmbType.ListIndex = ITEM_TYPE_SPELL) Then

fraSpell.Visible = True

Else

fraSpell.Visible = False

End If

If (cmbType.ListIndex = ITEM_TYPE_RECIPE) Then

fraRecipe.Visible = True

Else

fraRecipe.Visible = False

End If

Item(EditorIndex).Type = cmbType.ListIndex

' Error handler

Exit Sub

errorhandler:

HandleError "cmbType_Click", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub lstIndex_Click()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

ItemEditorInit

' Error handler

Exit Sub

errorhandler:

HandleError "lstIndex_Click", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlAccessReq_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

lblAccessReq.Caption = "Access Req: " & scrlAccessReq.Value

Item(EditorIndex).AccessReq = scrlAccessReq.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlAccessReq_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlAddHp_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

lblAddHP.Caption = "Add HP: " & scrlAddHp.Value

Item(EditorIndex).AddHP = scrlAddHp.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlAddHP_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlAddMp_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

lblAddMP.Caption = "Add MP: " & scrlAddMP.Value

Item(EditorIndex).AddMP = scrlAddMP.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlAddMP_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlAddExp_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

lblAddExp.Caption = "Add Exp: " & scrlAddExp.Value

Item(EditorIndex).AddEXP = scrlAddExp.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlAddExp_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlAnim_Change()

Dim sString As String

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

If scrlAnim.Value = 0 Then

sString = "None"

Else

sString = Trim$(Animation(scrlAnim.Value).Name)

End If

lblAnim.Caption = "Anim: " & sString

Item(EditorIndex).Animation = scrlAnim.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlAnim_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlDamage_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

lblDamage.Caption = "Damage: " & scrlDamage.Value

Item(EditorIndex).Data2 = scrlDamage.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlDamage_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlFishing_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

lblFishing.Caption = "Fishing: " & scrlFishing.Value

Item(EditorIndex).FXP = scrlFishing.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlFishing_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlLevelReq_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

lblLevelReq.Caption = "Level req: " & scrlLevelReq

Item(EditorIndex).LevelReq = scrlLevelReq.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlLevelReq_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlMining_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

lblMining.Caption = "Mining: " & scrlMining.Value

Item(EditorIndex).MXP = scrlMining.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlMining_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlPaperdoll_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

lblPaperdoll.Caption = "Paperdoll: " & scrlPaperdoll.Value

Item(EditorIndex).Paperdoll = scrlPaperdoll.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlPaperdoll_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlPic_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

lblPic.Caption = "Pic: " & scrlPic.Value

Item(EditorIndex).Pic = scrlPic.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlPic_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlPrice_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

lblPrice.Caption = "Price: " & scrlPrice.Value

Item(EditorIndex).Price = scrlPrice.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlPrice_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlRarity_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

lblRarity.Caption = "Rarity: " & scrlRarity.Value

Item(EditorIndex).Rarity = scrlRarity.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlRarity_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlSpeed_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

lblSpeed.Caption = "Speed: " & scrlSpeed.Value / 1000 & " sec"

Item(EditorIndex).Speed = scrlSpeed.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlSpeed_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlStatBonus_Change(Index As Integer)

Dim text As String

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

Select Case Index

Case 1

text = "+ Str: "

Case 2

text = "+ End: "

Case 3

text = "+ Int: "

Case 4

text = "+ Agi: "

Case 5

text = "+ Will: "

End Select

lblStatBonus(Index).Caption = text & scrlStatBonus(Index).Value

Item(EditorIndex).Add_Stat(Index) = scrlStatBonus(Index).Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlStatBonus_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlStatReq_Change(Index As Integer)

Dim text As String

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

Select Case Index

Case 1

text = "Str: "

Case 2

text = "End: "

Case 3

text = "Int: "

Case 4

text = "Agi: "

Case 5

text = "Will: "

End Select

lblStatReq(Index).Caption = text & scrlStatReq(Index).Value

Item(EditorIndex).Stat_Req(Index) = scrlStatReq(Index).Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlStatReq_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlSpell_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

If Len(Trim$(Spell(scrlSpell.Value).Name)) > 0 Then

lblSpellName.Caption = "Name: " & Trim$(Spell(scrlSpell.Value).Name)

Else

lblSpellName.Caption = "Name: None"

End If

lblSpell.Caption = "Spell: " & scrlSpell.Value

Item(EditorIndex).Data1 = scrlSpell.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlSpell_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlWoodcutting_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

lblWoodcutting.Caption = "Woodcuting: " & scrlWoodcutting.Value

Item(EditorIndex).WcXP = scrlWoodcutting.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlWoodcutting_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub txtDesc_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

Item(EditorIndex).Desc = txtDesc.text

' Error handler

Exit Sub

errorhandler:

HandleError "txtDesc_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub txtName_Validate(Cancel As Boolean)

Dim tmpIndex As Long

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

tmpIndex = lstIndex.ListIndex

Item(EditorIndex).Name = Trim$(txtName.text)

lstIndex.RemoveItem EditorIndex - 1

lstIndex.AddItem EditorIndex & ": " & Item(EditorIndex).Name, EditorIndex - 1

lstIndex.ListIndex = tmpIndex

' Error handler

Exit Sub

errorhandler:

HandleError "txtName_Validate", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

' projectile

Private Sub scrlProjectileDamage_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

lblProjectileDamage.Caption = "Damage: " & scrlProjectileDamage.Value

Item(EditorIndex).ProjecTile.Damage = scrlProjectileDamage.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlProjectilePic_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

' projectile

Private Sub scrlProjectilePic_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

lblProjectilePic.Caption = "Pic: " & scrlProjectilePic.Value

Item(EditorIndex).ProjecTile.Pic = scrlProjectilePic.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlProjectilePic_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

' ProjecTile

Private Sub scrlProjectileRange_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

lblProjectileRange.Caption = "Range: " & scrlProjectileRange.Value

Item(EditorIndex).ProjecTile.Range = scrlProjectileRange.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlProjectileRange_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

' projectile

Private Sub scrlProjectileSpeed_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

lblProjectileSpeed.Caption = "Speed: " & scrlProjectileSpeed.Value

Item(EditorIndex).ProjecTile.Speed = scrlProjectileSpeed.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlRarity_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlItem1_Change()

If scrlItem1.Value > 0 Then

lblItem1.Caption = "Item: " & Trim$(Item(scrlItem1.Value).Name)

Else

lblItem1.Caption = "Item: None"

End If

Item(EditorIndex).Recipe(RecipeIndex) = scrlItem1.Value

End Sub

Private Sub scrlItemNum_Change()

RecipeIndex = scrlItemNum.Value

lblItemNum.Caption = "Item: " & RecipeIndex

scrlItem1.Value = Item(EditorIndex).Recipe(RecipeIndex)

End Sub

Private Sub scrlResult_Change()

If scrlResult.Value > 0 Then

lblResult.Caption = "Result: " & Trim$(Item(scrlResult.Value).Name)

Else

lblResult.Caption = "Result: None"

End If

Item(EditorIndex).Data3 = scrlResult.Value

End Sub

Private Sub scrlSmithReq_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

lblSmith.Caption = "SM: " & scrlSmithReq

Item(EditorIndex).SmithReq = scrlSmithReq.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlSmithReq_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlEnchantReq_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

lblEnchants.Caption = "EN: " & scrlEnchantReq

Item(EditorIndex).EnchantReq = scrlEnchantReq.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlSwordReq_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlAlchemyReq_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

lblAlchemy.Caption = "Cook: " & scrlAlchemyReq

Item(EditorIndex).AlchemyReq = scrlAlchemyReq.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlAlchemyReq_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub chkAL_Click()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

Item(EditorIndex).Alchemist = chkAL.Value

' Error handler

Exit Sub

errorhandler:

HandleError "chkAL_Click", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub chkEN_Click()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

Item(EditorIndex).Enchanter = chkEN.Value

' Error handler

Exit Sub

errorhandler:

HandleError "chkEN_Click", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub chkSM_Click()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

Item(EditorIndex).Smithy = chkSM.Value

' Error handler

Exit Sub

errorhandler:

HandleError "chkSM_Click", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub cmbCTool_Click()

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

Item(EditorIndex).Tool = cmbCTool.ListIndex

End Sub

```
Link to comment
Share on other sites

I think the problem is that (i could be wrong) "recipe" should be appearing in CmbType in Item Editor (though i could be wrong) - its just not appearing (in game) in the drop down list and hence i dont see part of the mod as i should.

UPDATE: My Projectiles window isn't showing up as it should either (like the frarecipe, it just isn't there when in game). any ideas?

UPDATE 2: Accidently double posted this when trying to paste this into a PM. sorry about that :'(

HOW IT SHOULD LOOK:

![](http://i1127.photobucket.com/albums/l632/EsoGuildPB/howitshouldlook.png)

HOW IT -DOES- LOOK:

![](http://i1127.photobucket.com/albums/l632/EsoGuildPB/isthisnormal.png)

Frm_Item_Editor (Client)

```

Option Explicit

Private LastIndex As Long

Private Sub ChkTwoh_Click()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If ChkTwoh.Value = 0 Then

Item(EditorIndex).istwohander = False

Else

Item(EditorIndex).istwohander = True

End If

' Error handler

Exit Sub

errorhandler:

HandleError "chkTwoh", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub cmbBind_Click()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

Item(EditorIndex).BindType = cmbBind.ListIndex

' Error handler

Exit Sub

errorhandler:

HandleError "cmbBind_Click", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub cmbClassReq_Click()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

Item(EditorIndex).ClassReq = cmbClassReq.ListIndex

' Error handler

Exit Sub

errorhandler:

HandleError "cmbClassReq_Click", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub cmbSound_Click()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If cmbSound.ListIndex >= 0 Then

Item(EditorIndex).sound = cmbSound.List(cmbSound.ListIndex)

Else

Item(EditorIndex).sound = "None."

End If

' Error handler

Exit Sub

errorhandler:

HandleError "cmdSound_Click", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub cmbTool_Click()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

Item(EditorIndex).Data3 = cmbTool.ListIndex

' Error handler

Exit Sub

errorhandler:

HandleError "cmbTool_Click", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub cmdDelete_Click()

Dim tmpIndex As Long

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

ClearItem EditorIndex

tmpIndex = lstIndex.ListIndex

lstIndex.RemoveItem EditorIndex - 1

lstIndex.AddItem EditorIndex & ": " & Item(EditorIndex).Name, EditorIndex - 1

lstIndex.ListIndex = tmpIndex

ItemEditorInit

' Error handler

Exit Sub

errorhandler:

HandleError "cmdDelete_Click", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub Form_Load()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

scrlPic.max = numitems

scrlAnim.max = MAX_ANIMATIONS

scrlPaperdoll.max = NumPaperdolls

' Error handler

Exit Sub

errorhandler:

HandleError "Form_Load", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub cmdSave_Click()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

Call ItemEditorOk

' Error handler

Exit Sub

errorhandler:

HandleError "cmdSave_Click", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub cmdCancel_Click()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

Call ItemEditorCancel

' Error handler

Exit Sub

errorhandler:

HandleError "cmdCancel_Click", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub cmbType_Click()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

If (cmbType.ListIndex >= ITEM_TYPE_WEAPON) And (cmbType.ListIndex <= ITEM_TYPE_SHIELD) Then

fraEquipment.Visible = True

'scrlDamage_Change

Else

fraEquipment.Visible = False

End If

If cmbType.ListIndex = ITEM_TYPE_CONSUME Then

fraVitals.Visible = True

'scrlVitalMod_Change

Else

fraVitals.Visible = False

End If

If (cmbType.ListIndex = ITEM_TYPE_SPELL) Then

fraSpell.Visible = True

Else

fraSpell.Visible = False

End If

If (cmbType.ListIndex = ITEM_TYPE_RECIPE) Then

fraRecipe.Visible = True

Else

fraRecipe.Visible = False

End If

Item(EditorIndex).Type = cmbType.ListIndex

' Error handler

Exit Sub

errorhandler:

HandleError "cmbType_Click", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub lstIndex_Click()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

ItemEditorInit

' Error handler

Exit Sub

errorhandler:

HandleError "lstIndex_Click", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlAccessReq_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

lblAccessReq.Caption = "Access Req: " & scrlAccessReq.Value

Item(EditorIndex).AccessReq = scrlAccessReq.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlAccessReq_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlAddHp_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

lblAddHP.Caption = "Add HP: " & scrlAddHp.Value

Item(EditorIndex).AddHP = scrlAddHp.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlAddHP_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlAddMp_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

lblAddMP.Caption = "Add MP: " & scrlAddMP.Value

Item(EditorIndex).AddMP = scrlAddMP.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlAddMP_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlAddExp_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

lblAddExp.Caption = "Add Exp: " & scrlAddExp.Value

Item(EditorIndex).AddEXP = scrlAddExp.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlAddExp_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlAnim_Change()

Dim sString As String

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

If scrlAnim.Value = 0 Then

sString = "None"

Else

sString = Trim$(Animation(scrlAnim.Value).Name)

End If

lblAnim.Caption = "Anim: " & sString

Item(EditorIndex).Animation = scrlAnim.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlAnim_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlDamage_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

lblDamage.Caption = "Damage: " & scrlDamage.Value

Item(EditorIndex).Data2 = scrlDamage.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlDamage_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlFishing_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

lblFishing.Caption = "Fishing: " & scrlFishing.Value

Item(EditorIndex).FXP = scrlFishing.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlFishing_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlLevelReq_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

lblLevelReq.Caption = "Level req: " & scrlLevelReq

Item(EditorIndex).LevelReq = scrlLevelReq.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlLevelReq_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlMining_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

lblMining.Caption = "Mining: " & scrlMining.Value

Item(EditorIndex).MXP = scrlMining.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlMining_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlPaperdoll_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

lblPaperdoll.Caption = "Paperdoll: " & scrlPaperdoll.Value

Item(EditorIndex).Paperdoll = scrlPaperdoll.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlPaperdoll_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlPic_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

lblPic.Caption = "Pic: " & scrlPic.Value

Item(EditorIndex).Pic = scrlPic.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlPic_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlPrice_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

lblPrice.Caption = "Price: " & scrlPrice.Value

Item(EditorIndex).Price = scrlPrice.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlPrice_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlRarity_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

lblRarity.Caption = "Rarity: " & scrlRarity.Value

Item(EditorIndex).Rarity = scrlRarity.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlRarity_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlSpeed_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

lblSpeed.Caption = "Speed: " & scrlSpeed.Value / 1000 & " sec"

Item(EditorIndex).speed = scrlSpeed.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlSpeed_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlStatBonus_Change(Index As Integer)

Dim text As String

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

Select Case Index

Case 1

text = "+ Str: "

Case 2

text = "+ End: "

Case 3

text = "+ Int: "

Case 4

text = "+ Agi: "

Case 5

text = "+ Will: "

End Select

lblStatBonus(Index).Caption = text & scrlStatBonus(Index).Value

Item(EditorIndex).Add_Stat(Index) = scrlStatBonus(Index).Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlStatBonus_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlStatReq_Change(Index As Integer)

Dim text As String

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

Select Case Index

Case 1

text = "Str: "

Case 2

text = "End: "

Case 3

text = "Int: "

Case 4

text = "Agi: "

Case 5

text = "Will: "

End Select

lblStatReq(Index).Caption = text & scrlStatReq(Index).Value

Item(EditorIndex).Stat_Req(Index) = scrlStatReq(Index).Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlStatReq_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlSpell_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

If Len(Trim$(Spell(scrlSpell.Value).Name)) > 0 Then

lblSpellName.Caption = "Name: " & Trim$(Spell(scrlSpell.Value).Name)

Else

lblSpellName.Caption = "Name: None"

End If

lblSpell.Caption = "Spell: " & scrlSpell.Value

Item(EditorIndex).Data1 = scrlSpell.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlSpell_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlWoodcutting_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

lblWoodcutting.Caption = "Woodcuting: " & scrlWoodcutting.Value

Item(EditorIndex).WcXP = scrlWoodcutting.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlWoodcutting_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub txtDesc_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

Item(EditorIndex).Desc = txtDesc.text

' Error handler

Exit Sub

errorhandler:

HandleError "txtDesc_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub txtName_Validate(Cancel As Boolean)

Dim tmpIndex As Long

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

tmpIndex = lstIndex.ListIndex

Item(EditorIndex).Name = Trim$(txtName.text)

lstIndex.RemoveItem EditorIndex - 1

lstIndex.AddItem EditorIndex & ": " & Item(EditorIndex).Name, EditorIndex - 1

lstIndex.ListIndex = tmpIndex

' Error handler

Exit Sub

errorhandler:

HandleError "txtName_Validate", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

' projectile

Private Sub scrlProjectileDamage_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

lblProjectileDamage.Caption = "Damage: " & scrlProjectileDamage.Value

Item(EditorIndex).ProjecTile.Damage = scrlProjectileDamage.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlProjectilePic_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

' projectile

Private Sub scrlProjectilePic_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

lblProjectilePic.Caption = "Pic: " & scrlProjectilePic.Value

Item(EditorIndex).ProjecTile.Pic = scrlProjectilePic.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlProjectilePic_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

' ProjecTile

Private Sub scrlProjectileRange_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

lblProjectileRange.Caption = "Range: " & scrlProjectileRange.Value

Item(EditorIndex).ProjecTile.Range = scrlProjectileRange.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlProjectileRange_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

' projectile

Private Sub scrlProjectileSpeed_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

lblProjectileSpeed.Caption = "Speed: " & scrlProjectileSpeed.Value

Item(EditorIndex).ProjecTile.speed = scrlProjectileSpeed.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlRarity_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlItem1_Change()

If scrlItem1.Value > 0 Then

lblItem1.Caption = "Item: " & Trim$(Item(scrlItem1.Value).Name)

Else

lblItem1.Caption = "Item: None"

End If

Item(EditorIndex).Recipe(RecipeIndex) = scrlItem1.Value

End Sub

Private Sub scrlItemNum_Change()

RecipeIndex = scrlItemNum.Value

lblItemNum.Caption = "Item: " & RecipeIndex

scrlItem1.Value = Item(EditorIndex).Recipe(RecipeIndex)

End Sub

Private Sub scrlResult_Change()

If scrlResult.Value > 0 Then

lblResult.Caption = "Result: " & Trim$(Item(scrlResult.Value).Name)

Else

lblResult.Caption = "Result: None"

End If

Item(EditorIndex).Data3 = scrlResult.Value

End Sub

Private Sub scrlSmithReq_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

lblSmith.Caption = "SM: " & scrlSmithReq

Item(EditorIndex).SmithReq = scrlSmithReq.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlSmithReq_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlEnchantReq_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

lblEnchants.Caption = "EN: " & scrlEnchantReq

Item(EditorIndex).EnchantReq = scrlEnchantReq.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlSwordReq_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub scrlAlchemyReq_Change()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

lblAlchemy.Caption = "Cook: " & scrlAlchemyReq

Item(EditorIndex).AlchemyReq = scrlAlchemyReq.Value

' Error handler

Exit Sub

errorhandler:

HandleError "scrlAlchemyReq_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub chkAL_Click()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

Item(EditorIndex).Alchemist = chkAL.Value

' Error handler

Exit Sub

errorhandler:

HandleError "chkAL_Click", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub chkEN_Click()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

Item(EditorIndex).Enchanter = chkEN.Value

' Error handler

Exit Sub

errorhandler:

HandleError "chkEN_Click", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub chkSM_Click()

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

Item(EditorIndex).Smithy = chkSM.Value

' Error handler

Exit Sub

errorhandler:

HandleError "chkSM_Click", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

Private Sub cmbCTool_Click()

If EditorIndex = 0 Or EditorIndex > MAX_ITEMS Then Exit Sub

Item(EditorIndex).Tool = cmbCTool.ListIndex

End Sub

```

and becuase i feel like folks might wanna see my modconstants too (client):

```

Option Explicit

' API Declares

Public Declare Sub CopyMemory Lib "kernel32.dll" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)

Public Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByRef msg() As Byte, ByVal wParam As Long, ByVal lParam As Long) As Long

Public Declare Function GetForegroundWindow Lib "user32" () As Long

' animated buttons

Public Const MAX_MENUBUTTONS As Long = 4

Public Const MAX_MAINBUTTONS As Long = 9

Public Const MENUBUTTON_PATH As String = "\Data Files\graphics\gui\menu\buttons\"

Public Const MAINBUTTON_PATH As String = "\Data Files\graphics\gui\main\buttons\"

' Hotbar

Public Const HotbarTop As Long = 2

Public Const HotbarLeft As Long = 2

Public Const HotbarOffsetX As Long = 8

' Inventory constants

Public Const InvTop As Long = 24

Public Const InvLeft As Long = 12

Public Const InvOffsetY As Long = 3

Public Const InvOffsetX As Long = 3

Public Const InvColumns As Long = 5

' Bank constants

Public Const BankTop As Long = 38

Public Const BankLeft As Long = 42

Public Const BankOffsetY As Long = 3

Public Const BankOffsetX As Long = 4

Public Const BankColumns As Long = 11

' spells constants

Public Const SpellTop As Long = 24

Public Const SpellLeft As Long = 12

Public Const SpellOffsetY As Long = 3

Public Const SpellOffsetX As Long = 3

Public Const SpellColumns As Long = 5

' shop constants

Public Const ShopTop As Long = 6

Public Const ShopLeft As Long = 8

Public Const ShopOffsetY As Long = 2

Public Const ShopOffsetX As Long = 4

Public Const ShopColumns As Long = 5

' Character consts

Public Const EqTop As Long = 224

Public Const EqLeft As Long = 18

Public Const EqOffsetX As Long = 10

Public Const EqColumns As Long = 4

' values

Public Const MAX_BYTE As Byte = 255

Public Const MAX_INTEGER As Integer = 32767

Public Const MAX_LONG As Long = 2147483647

' path constants

Public Const SOUND_PATH As String = "\Data Files\sound\"

Public Const MUSIC_PATH As String = "\Data Files\music\"

' Font variables

Public Const FONT_NAME As String = "Georgia"

Public Const FONT_SIZE As Byte = 14

' Log Path and variables

Public Const LOG_DEBUG As String = "debug.txt"

Public Const LOG_PATH As String = "\Data Files\logs\"

' Map Path and variables

Public Const MAP_PATH As String = "\Data Files\maps\"

Public Const MAP_EXT As String = ".map"

' Gfx Path and variables

Public Const GFX_PATH As String = "\Data Files\graphics\"

Public Const GFX_EXT As String = ".png"

Public Const FONT_PATH As String = "\data files\graphics\fonts\"

' Key constants

Public Const VK_UP As Long = &H26

Public Const VK_DOWN As Long = &H28

Public Const VK_LEFT As Long = &H25

Public Const VK_RIGHT As Long = &H27

Public Const VK_SHIFT As Long = &H10

Public Const VK_RETURN As Long = &HD

Public Const VK_CONTROL As Long = &H11

' Menu states

Public Const MENU_STATE_NEWACCOUNT As Byte = 0

Public Const MENU_STATE_DELACCOUNT As Byte = 1

Public Const MENU_STATE_LOGIN As Byte = 2

Public Const MENU_STATE_GETCHARS As Byte = 3

Public Const MENU_STATE_NEWCHAR As Byte = 4

Public Const MENU_STATE_ADDCHAR As Byte = 5

Public Const MENU_STATE_DELCHAR As Byte = 6

Public Const MENU_STATE_USECHAR As Byte = 7

Public Const MENU_STATE_INIT As Byte = 8

' Speed moving vars

Public Const WALK_SPEED As Byte = 4

Public Const RUN_SPEED As Byte = 6

Public Const ADMIN_SPEED As Byte = 18

' Tile size constants

Public Const PIC_X As Long = 32

Public Const PIC_Y As Long = 32

' Sprite, item, spell size constants

Public Const SIZE_X As Long = 32

Public Const SIZE_Y As Long = 32

' ********************************************************

' * The values below must match with the server's values *

' ********************************************************

' General constants

Public Const MAX_PLAYERS As Long = 70

Public Const MAX_ITEMS As Long = 255

Public Const MAX_NPCS As Long = 255

Public Const MAX_ANIMATIONS As Long = 255

Public Const MAX_INV As Long = 35

Public Const MAX_MAP_ITEMS As Long = 255

Public Const MAX_MAP_NPCS As Long = 100

Public Const MAX_SHOPS As Long = 50

Public Const MAX_PLAYER_SPELLS As Long = 35

Public Const MAX_SPELLS As Long = 255

Public Const MAX_TRADES As Long = 30

Public Const MAX_RESOURCES As Long = 100

Public Const MAX_LEVELS As Long = 100

Public Const MAX_BANK As Long = 99

Public Const MAX_HOTBAR As Long = 12

Public Const MAX_PARTYS As Long = 35

Public Const MAX_PARTY_MEMBERS As Long = 4

Public Const MAX_SWITCHES As Long = 1000

Public Const MAX_VARIABLES As Long = 1000

Public Const MAX_WEATHER_PARTICLES As Long = 250

Public Const MAX_PLAYER_PROJECTILES As Long = 20

' Website

Public Const GAME_WEBSITE As String = "http://www.touchofdeathforums.com"

' text color constants

Public Const Black As Byte = 0

Public Const Blue As Byte = 1

Public Const Green As Byte = 2

Public Const Cyan As Byte = 3

Public Const Red As Byte = 4

Public Const Magenta As Byte = 5

Public Const Brown As Byte = 6

Public Const Grey As Byte = 7

Public Const DarkGrey As Byte = 8

Public Const BrightBlue As Byte = 9

Public Const BrightGreen As Byte = 10

Public Const BrightCyan As Byte = 11

Public Const BrightRed As Byte = 12

Public Const Pink As Byte = 13

Public Const Yellow As Byte = 14

Public Const White As Byte = 15

Public Const DarkBrown As Byte = 16

Public Const Orange As Byte = 17

Public Const GoldenYellow As Byte = 18

Public Const Capri As Byte = 19

Public Const SayColor As Byte = White

Public Const GlobalColor As Byte = Cyan

Public Const BroadcastColor As Byte = White

Public Const TellColor As Byte = BrightGreen

Public Const EmoteColor As Byte = BrightCyan

Public Const AdminColor As Byte = BrightCyan

Public Const HelpColor As Byte = Cyan

Public Const WhoColor As Byte = BrightGreen

Public Const JoinLeftColor As Byte = DarkGrey

Public Const NpcColor As Byte = Brown

Public Const AlertColor As Byte = Red

Public Const NewMapColor As Byte = BrightGreen

' Boolean constants

Public Const NO As Byte = 0

Public Const YES As Byte = 1

' String constants

Public Const NAME_LENGTH As Byte = 20

Public Const MUSIC_LENGTH As Byte = 40

Public Const ACCOUNT_LENGTH As Byte = 12

' Sex constants

Public Const SEX_MALE As Byte = 0

Public Const SEX_FEMALE As Byte = 1

' Map constants

Public Const MAX_MAPS As Long = 100

Public MAX_MAPX As Byte

Public MAX_MAPY As Byte

Public Const MAP_MORAL_NONE As Byte = 0

Public Const MAP_MORAL_SAFE As Byte = 1

' Tile constants

Public Const TILE_TYPE_WALKABLE As Byte = 0

Public Const TILE_TYPE_BLOCKED As Byte = 1

Public Const TILE_TYPE_WARP As Byte = 2

Public Const TILE_TYPE_ITEM As Byte = 3

Public Const TILE_TYPE_NPCAVOID As Byte = 4

Public Const TILE_TYPE_KEY As Byte = 5

Public Const TILE_TYPE_KEYOPEN As Byte = 6

Public Const TILE_TYPE_RESOURCE As Byte = 7

Public Const TILE_TYPE_DOOR As Byte = 8

Public Const TILE_TYPE_NPCSPAWN As Byte = 9

Public Const TILE_TYPE_SHOP As Byte = 10

Public Const TILE_TYPE_BANK As Byte = 11

Public Const TILE_TYPE_HEAL As Byte = 12

Public Const TILE_TYPE_TRAP As Byte = 13

Public Const TILE_TYPE_SLIDE As Byte = 14

Public Const TILE_TYPE_SOUND As Byte = 15

Public Const TILE_TYPE_CHECKPOINT As Byte = 16

Public Const TILE_TYPE_ARENA As Byte = 17

Public Const TILE_TYPE_CRAFT As Byte = 18

' max number of crafting items

Public Const MAX_RECIPE_ITEMS As Long = 5

'Weather Type Constants

Public Const WEATHER_TYPE_NONE As Byte = 0

Public Const WEATHER_TYPE_RAIN As Byte = 1

Public Const WEATHER_TYPE_SNOW As Byte = 2

Public Const WEATHER_TYPE_HAIL As Byte = 3

Public Const WEATHER_TYPE_SANDSTORM As Byte = 4

Public Const WEATHER_TYPE_STORM As Byte = 5

' Item constants

Public Const ITEM_TYPE_NONE As Byte = 0

Public Const ITEM_TYPE_WEAPON As Byte = 1

Public Const ITEM_TYPE_ARMOR As Byte = 2

Public Const ITEM_TYPE_HELMET As Byte = 3

Public Const ITEM_TYPE_SHIELD As Byte = 4

Public Const ITEM_TYPE_CONSUME As Byte = 5

Public Const ITEM_TYPE_KEY As Byte = 6

Public Const ITEM_TYPE_CURRENCY As Byte = 7

Public Const ITEM_TYPE_SPELL As Byte = 8

Public Const ITEM_TYPE_RECIPE As Byte = 10

Public Const ITEM_TYPE_SUMMON As Byte = 9

' Direction constants

Public Const DIR_UP As Byte = 0

Public Const DIR_DOWN As Byte = 1

Public Const DIR_LEFT As Byte = 2

Public Const DIR_RIGHT As Byte = 3

' Constants for player movement: Tiles per Second

Public Const MOVING_WALKING As Byte = 1

Public Const MOVING_RUNNING As Byte = 2

' Admin constants

Public Const ADMIN_MONITOR As Byte = 1

Public Const ADMIN_MAPPER As Byte = 2

Public Const ADMIN_DEVELOPER As Byte = 3

Public Const ADMIN_CREATOR As Byte = 4

' NPC constants

Public Const NPC_BEHAVIOUR_ATTACKONSIGHT As Byte = 0

Public Const NPC_BEHAVIOUR_ATTACKWHENATTACKED As Byte = 1

Public Const NPC_BEHAVIOUR_FRIENDLY As Byte = 2

Public Const NPC_BEHAVIOUR_SHOPKEEPER As Byte = 3

Public Const NPC_BEHAVIOUR_GUARD As Byte = 4

' Spell constants

Public Const SPELL_TYPE_DAMAGEHP As Byte = 0

Public Const SPELL_TYPE_DAMAGEMP As Byte = 1

Public Const SPELL_TYPE_HEALHP As Byte = 2

Public Const SPELL_TYPE_HEALMP As Byte = 3

Public Const SPELL_TYPE_WARP As Byte = 4

' Game editor constants

Public Const EDITOR_ITEM As Byte = 1

Public Const EDITOR_NPC As Byte = 2

Public Const EDITOR_SPELL As Byte = 3

Public Const EDITOR_SHOP As Byte = 4

Public Const EDITOR_RESOURCE As Byte = 5

Public Const EDITOR_ANIMATION As Byte = 6

' Target type constants

Public Const TARGET_TYPE_NONE As Byte = 0

Public Const TARGET_TYPE_PLAYER As Byte = 1

Public Const TARGET_TYPE_NPC As Byte = 2

Public Const TARGET_TYPE_EVENT As Byte = 4

' Dialogue box constants

Public Const DIALOGUE_TYPE_NONE As Byte = 0

Public Const DIALOGUE_TYPE_TRADE As Byte = 1

Public Const DIALOGUE_TYPE_FORGET As Byte = 2

Public Const DIALOGUE_TYPE_PARTY As Byte = 3

' Do Events

Public Const nLng As Long = (&H80 Or &H1 Or &H4 Or &H20) + (&H8 Or &H40)

' Scrolling action message constants

Public Const ACTIONMSG_STATIC As Long = 0

Public Const ACTIONMSG_SCROLL As Long = 1

Public Const ACTIONMSG_SCREEN As Long = 2

' stuffs

Public HalfX As Integer

Public HalfY As Integer

Public ScreenX As Integer

Public ScreenY As Integer

Public StartXValue As Integer

Public StartYValue As Integer

Public EndXValue As Integer

Public EndYValue As Integer

' Autotiles

Public Const AUTO_INNER As Byte = 1

Public Const AUTO_OUTER As Byte = 2

Public Const AUTO_HORIZONTAL As Byte = 3

Public Const AUTO_VERTICAL As Byte = 4

Public Const AUTO_FILL As Byte = 5

' Autotile types

Public Const AUTOTILE_NONE As Byte = 0

Public Const AUTOTILE_NORMAL As Byte = 1

Public Const AUTOTILE_FAKE As Byte = 2

Public Const AUTOTILE_ANIM As Byte = 3

Public Const AUTOTILE_CLIFF As Byte = 4

Public Const AUTOTILE_WATERFALL As Byte = 5

' Rendering

Public Const RENDER_STATE_NONE As Long = 0

Public Const RENDER_STATE_NORMAL As Long = 1

Public Const RENDER_STATE_AUTOTILE As Long = 2

'Chatbubble

Public Const ChatBubbleWidth As Long = 200

Public Const EFFECT_TYPE_FADEIN As Long = 1

Public Const EFFECT_TYPE_FADEOUT As Long = 2

Public Const EFFECT_TYPE_FLASH As Long = 3

Public Const EFFECT_TYPE_FOG As Long = 4

Public Const EFFECT_TYPE_WEATHER As Long = 5

Public Const EFFECT_TYPE_TINT As Long = 6

Public Const cmbCTool As Long = 1

```
Link to comment
Share on other sites

Not sure if there is supposed to be a 'Recipe" selection in drop-down (cmbtype) that makes frarecipe visable but:

Found out I could at least get frarecipe visable (if i so much as use the dropdown menu that is cmbtype after switching the below

'frarecipe.visable=false' to true and it will become visable but it will subscript out of range if i (i think) try to ask it to do something its not supposed to since it doesnt go away even after clicking "none" in cmbtype, i turned it back to normal and decided to post here. projectiles is still missing in action but i can see it in VB6.

Sorry to post so much on this topic, I -do- still plan on releasing a working version of eclipse with this feature on it in its working form as soon as I can figure out A) how it works and ![B)](http://www.touchofdeathforums.com/community/public/style_emoticons/<#EMO_DIR#>/cool.png) how to get it working -

![](http://i1127.photobucket.com/albums/l632/EsoGuildPB/crafting2.png)

Also: The 'Crafting Tool:' dropdown reads correctly but it doesn't stick (i dont think) when i return to item editor it just says "Combo1".

Below is the part of Frm_Editor_Item (in cmbType) which talks about Item_Type_Recipe

```

If (cmbType.ListIndex = ITEM_TYPE_RECIPE) Then

fraRecipe.Visible = True

Else

fraRecipe.Visible = False

End If

Item(EditorIndex).Type = cmbType.ListIndex

```

Below is the part that (as ar as I know) works. Lets get this whole entire thing working so we can put it out for the entire

community to utilize.

![](http://i1127.photobucket.com/albums/l632/EsoGuildPB/crafting.png)

![](http://i1127.photobucket.com/albums/l632/EsoGuildPB/crafting3.png)![](http://i1127.photobucket.com/albums/l632/EsoGuildPB/craft4.png)

UPDATE: -Matthew- took a look at my project and fixed the Projectiles window (it wsnt popping up at the right time)

but we still need to figure out why/how to get the crafting area (fraRecipe) to pop up at the right time as well as

figuring out how to get cmbCTool functional - currently it reads and shows up right but if you set an item with cmbCTool

(to say "dwarf hammer" for example) it just goes back to "none" when i reload the item editor.
Link to comment
Share on other sites

  • 1 month later...

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...