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

[EO Dx8] Alatar's Quest System v1.2


Draco.exe
 Share

Recommended Posts

Hello all, i edited the Alatar's Quest System to work in Dx8 Eclipse (nightly eclipse), there are few edits, but the code is basically the same so **all credits are for Alatar and for jcsnider** (because he helped me with some hints for text rendering in Dx8).

**This is the original source tutorial made for EO 2.0: [http://www.touchofde…est-system-v12/](http://www.touchofdeathforums.com/community/index.php?/topic/117080-eo-alatars-quest-system-v12/)**

_To open the quest editor type **/editquest**_

**You can download a version with the Quest System already integrated to Nightly Eclipse here:**

**[http://www.mediafire…209v4kuht4tdntb](http://www.mediafire.com/?209v4kuht4tdntb)**

**Or add the quest system manually following this guide:**

(Sorry if my english isn't the best)

First of all, download the extra files here and add them to your project (make a backup of frmMain and frmEditor_Npc): [http://www.freemmorp…6a525aca133.zip](http://www.freemmorpgmaker.com/files/imagehost/pics/348f7ef9ec49d17664f196a525aca133.zip)

**Server side:**

**Add modSvQuests.bas to your project**

**modCombat**

find:

```
If Len(Trim$(NPC(npcNum).AttackSay)) > 0 Then
```

add above, after the else:

```

If NPC(npcNum).Behaviour = NPC_BEHAVIOUR_FRIENDLY Or NPC(npcNum).Behaviour = NPC_BEHAVIOUR_SHOPKEEPER Then

Call CheckTasks(attacker, QUEST_TYPE_GOTALK, npcNum)

Call CheckTasks(attacker, QUEST_TYPE_GOGIVE, npcNum)

Call CheckTasks(attacker, QUEST_TYPE_GOGET, npcNum)

If NPC(npcNum).Quest = YES Then

If Player(attacker).PlayerQuest(NPC(npcNum).Quest).Status = QUEST_COMPLETED Then

If Quest(NPC(npcNum).Quest).Repeat = YES Then

Player(attacker).PlayerQuest(NPC(npcNum).Quest).Status = QUEST_COMPLETED_BUT

Exit Function

End If

End If

If CanStartQuest(attacker, NPC(npcNum).QuestNum) Then

'if can start show the request message (speech1)

QuestMessage attacker, NPC(npcNum).QuestNum, Trim$(Quest(NPC(npcNum).QuestNum).Speech(1)), NPC(npcNum).QuestNum

Exit Function

End If

If QuestInProgress(attacker, NPC(npcNum).QuestNum) Then

'if the quest is in progress show the meanwhile message (speech2)

QuestMessage attacker, NPC(npcNum).QuestNum, Trim$(Quest(NPC(npcNum).QuestNum).Speech(2)), 0

Exit Function

End If

End If

End If

```

in Sub PlayerAttackNpc find

```
' send death to the map
```

add this above:

```
Call CheckTasks(attacker, QUEST_TYPE_GOSLAY, npcNum)
```

in the same sub, find

```
Call OnDeath(victim)
```

and add this above:

```
Call CheckTasks(attacker, QUEST_TYPE_GOKILL, victim)
```

**modGeneral**

in InitServer find

```
ChkDir App.Path & "\Data\", "spells"
```

add below:

```
ChkDir App.Path & "\Data\", "quests"
```

In ClearGameData find:

```
Call ClearAnimations
```

add this below:

```
Call SetStatus("Clearing quests...")

Call ClearQuests
```

In LoadGameData find:

```
Call LoadAnimations
```

then add this below:

```
Call SetStatus("Loading quests...")

Call LoadQuests
```

**modHandleData**

Find:

```
HandleDataSub(CPartyLeave) = GetAddress(AddressOf HandlePartyLeave)
```

under that add:

```

HandleDataSub(CRequestEditQuest) = GetAddress(AddressOf HandleRequestEditQuest)

HandleDataSub(CSaveQuest) = GetAddress(AddressOf HandleSaveQuest)

HandleDataSub(CRequestQuests) = GetAddress(AddressOf HandleRequestQuests)

HandleDataSub(CPlayerHandleQuest) = GetAddress(AddressOf HandlePlayerHandleQuest)

HandleDataSub(CQuestLogUpdate) = GetAddress(AddressOf HandleQuestLogUpdate)

```

and at the end of the module add this:

```
Sub HandleRequestEditQuest(ByVal Index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long)

Dim Buffer As clsBuffer

' Prevent hacking

If GetPlayerAccess(Index) < ADMIN_DEVELOPER Then

Exit Sub

End If

Set Buffer = New clsBuffer

Buffer.WriteLong SQuestEditor

SendDataTo Index, Buffer.ToArray()

Set Buffer = Nothing

End Sub

Sub HandleSaveQuest(ByVal Index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long)

Dim n As Long

Dim Buffer As clsBuffer

Dim QuestSize As Long

Dim QuestData() As Byte

Set Buffer = New clsBuffer

Buffer.WriteBytes Data()

' Prevent hacking

If GetPlayerAccess(Index) < ADMIN_DEVELOPER Then

Exit Sub

End If

n = Buffer.ReadLong 'CLng(Parse(1))

If n < 0 Or n > MAX_QUESTS Then

Exit Sub

End If

' Update the Quest

QuestSize = LenB(Quest(n))

ReDim QuestData(QuestSize - 1)

QuestData = Buffer.ReadBytes(QuestSize)

CopyMemory ByVal VarPtr(Quest(n)), ByVal VarPtr(QuestData(0)), QuestSize

Set Buffer = Nothing

' Save it

Call SendUpdateQuestToAll(n)

Call SaveQuest(n)

Call AddLog(GetPlayerName(Index) & " saved Quest #" & n & ".", ADMIN_LOG)

End Sub

Sub HandleRequestQuests(ByVal Index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long)

SendQuests Index

End Sub

Sub HandlePlayerHandleQuest(ByVal Index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long)

Dim Buffer As clsBuffer

Dim QuestNum As Long, Order As Long, i As Long, n As Long

Dim RemoveStartItems As Boolean

Set Buffer = New clsBuffer

Buffer.WriteBytes Data()

QuestNum = Buffer.ReadLong

Order = Buffer.ReadLong '1 = accept quest, 2 = cancel quest

If Order = 1 Then

RemoveStartItems = False

'Alatar v1.2

For i = 1 To MAX_QUESTS_ITEMS

If Quest(QuestNum).GiveItem(i).Item > 0 Then

If FindOpenInvSlot(Index, Quest(QuestNum).RewardItem(i).Item) = 0 Then

PlayerMsg Index, "You have no inventory space. Please delete something to take the quest.", BrightRed

RemoveStartItems = True

Exit For

Else

If Item(Quest(QuestNum).GiveItem(i).Item).Type = ITEM_TYPE_CURRENCY Then

GiveInvItem Index, Quest(QuestNum).GiveItem(i).Item, Quest(QuestNum).GiveItem(i).Value

Else

For n = 1 To Quest(QuestNum).GiveItem(i).Value

If FindOpenInvSlot(Index, Quest(QuestNum).GiveItem(i).Item) = 0 Then

PlayerMsg Index, "You have no inventory space. Please delete something to take the quest.", BrightRed

RemoveStartItems = True

Exit For

Else

GiveInvItem Index, Quest(QuestNum).GiveItem(i).Item, 1

End If

Next

End If

End If

End If

Next

If RemoveStartItems = False Then 'this means everything went ok

Player(Index).PlayerQuest(QuestNum).Status = QUEST_STARTED '1

Player(Index).PlayerQuest(QuestNum).ActualTask = 1

Player(Index).PlayerQuest(QuestNum).CurrentCount = 0

PlayerMsg Index, "New quest accepted: " & Trim$(Quest(QuestNum).Name) & "!", BrightGreen

End If

'/alatar v1.2

ElseIf Order = 2 Then

Player(Index).PlayerQuest(QuestNum).Status = QUEST_NOT_STARTED '2

Player(Index).PlayerQuest(QuestNum).ActualTask = 1

Player(Index).PlayerQuest(QuestNum).CurrentCount = 0

RemoveStartItems = True 'avoid exploits

PlayerMsg Index, Trim$(Quest(QuestNum).Name) & " has been canceled!", BrightGreen

End If

If RemoveStartItems = True Then

For i = 1 To MAX_QUESTS_ITEMS

If Quest(QuestNum).GiveItem(i).Item > 0 Then

If HasItem(Index, Quest(QuestNum).GiveItem(i).Item) > 0 Then

If Item(Quest(QuestNum).GiveItem(i).Item).Type = ITEM_TYPE_CURRENCY Then

TakeInvItem Index, Quest(QuestNum).GiveItem(i).Item, Quest(QuestNum).GiveItem(i).Value

Else

For n = 1 To Quest(QuestNum).GiveItem(i).Value

TakeInvItem Index, Quest(QuestNum).GiveItem(i).Item, 1

Next

End If

End If

End If

Next

End If

SavePlayer Index

SendPlayerData Index

SendPlayerQuests Index

Set Buffer = Nothing

End Sub

Sub HandleQuestLogUpdate(ByVal Index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long)

SendPlayerQuests Index

End Sub
```

**modTypes**

In Private Type PlayerRec, find:

```
Dir As Byte
```

paste this under that:

```
PlayerQuest(1 To MAX_QUESTS) As PlayerQuestRec
```

In Private Type NpcRec, find:

```
Level As Long
```

paste:

```

Quest As Byte

QuestNum As Long
```

**modEnumerations**

find:

```
SPartyVitals
```

paste:

```

SQuestEditor

SUpdateQuest

SPlayerQuest

SQuestMessage
```

find:

```
CPartyLeave
```

paste:

```

CRequestEditQuest

CSaveQuest

CRequestQuests

CPlayerHandleQuest

CQuestLogUpdate
```

**modPlayer**

find:

```
Call SendHotbar(Index)
```

paste:

```
Call SendQuests(Index)
```

In PlayerWarp, find:

```

' if same map then just send their co-ordinates

If mapNum = GetPlayerMap(Index) Then

SendPlayerXYToMap Index
```

paste above the End If:

```
Call CheckTasks(Index, QUEST_TYPE_GOREACH, mapNum)
```

then in the same sub find:

```
TempPlayer(Index).GettingMap = YES
```

paste:

```
Call CheckTasks(Index, QUEST_TYPE_GOREACH, mapNum)
```

In PlayerMapGetItem, find:

```
SendActionMsg GetPlayerMap(Index), Msg, White, 1, (GetPlayerX(Index) * 32), (GetPlayerY(Index) * 32)
```

paste:

```
Call CheckTasks(Index, QUEST_TYPE_GOGATHER, GetItemNum(Trim$(Item(GetPlayerInvItemNum(Index, n)).Name)))
```

In CheckResource find:

```
SendMapSound Index, rX, rY, SoundEntity.seResource, Resource_index
```

paste:

```
Call CheckTasks(Index, QUEST_TYPE_GOTRAIN, Resource_index)
```

**Client side:**

**Add the modQuests and frmEditor_Quest to your project.

Replace frmMain and frmEditor_NPC with the new ones. (First make a backup of the Main form and NPC form!!)** _If you don't want to change this forms, go to the end of this message._

**Add the graphics files inside the main GUI folder (the buttons inside the buttons folder)**

**modGameEditors**

In NpcEditorInit find:

```
.txtDamage.text = NPC(EditorIndex).Damage
```

add:

```

.chkQuest.Value = NPC(EditorIndex).Quest

.scrlQuest.Value = NPC(EditorIndex).QuestNum
```

**modEnumerations**

find:

```
SPartyVitals
```

paste:

```

SQuestEditor

SUpdateQuest

SPlayerQuest

SQuestMessage
```

find:

```
CPartyLeave
```

add:

```

CRequestEditQuest

CSaveQuest

CRequestQuests

CPlayerHandleQuest

CQuestLogUpdate
```

**modHandleData**

find:

```
HandleDataSub(SPartyVitals) = GetAddress(AddressOf HandlePartyVitals)
```

add:

```

HandleDataSub(SQuestEditor) = GetAddress(AddressOf HandleQuestEditor)

HandleDataSub(SUpdateQuest) = GetAddress(AddressOf HandleUpdateQuest)

HandleDataSub(SPlayerQuest) = GetAddress(AddressOf HandlePlayerQuest)

HandleDataSub(SQuestMessage) = GetAddress(AddressOf HandleQuestMessage)
```

at the end of the module, paste this:

```
Private Sub HandleQuestEditor()

Dim i As Long

With frmEditor_Quest

Editor = EDITOR_TASKS

.lstIndex.Clear

' Add the names

For i = 1 To MAX_QUESTS

.lstIndex.AddItem i & ": " & Trim$(Quest(i).Name)

Next

.Show

.lstIndex.ListIndex = 0

QuestEditorInit

End With

End Sub

Private Sub HandleUpdateQuest(ByVal Index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long)

Dim n As Long

Dim Buffer As clsBuffer

Dim QuestSize As Long

Dim QuestData() As Byte

Set Buffer = New clsBuffer

Buffer.WriteBytes Data()

n = Buffer.ReadLong

' Update the Quest

QuestSize = LenB(Quest(n))

ReDim QuestData(QuestSize - 1)

QuestData = Buffer.ReadBytes(QuestSize)

CopyMemory ByVal VarPtr(Quest(n)), ByVal VarPtr(QuestData(0)), QuestSize

Set Buffer = Nothing

End Sub

Private Sub HandlePlayerQuest(ByVal Index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long)

Dim Buffer As clsBuffer

Dim i As Long

Set Buffer = New clsBuffer

Buffer.WriteBytes Data()

For i = 1 To MAX_QUESTS

Player(MyIndex).PlayerQuest(i).Status = Buffer.ReadLong

Player(MyIndex).PlayerQuest(i).ActualTask = Buffer.ReadLong

Player(MyIndex).PlayerQuest(i).CurrentCount = Buffer.ReadLong

Next

RefreshQuestLog

Set Buffer = Nothing

End Sub

Private Sub HandleQuestMessage(ByVal Index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long)

Dim Buffer As clsBuffer

Dim i As Long, QuestNum As Long, QuestNumForStart As Long

Dim Message As String

Set Buffer = New clsBuffer

Buffer.WriteBytes Data()

QuestNum = Buffer.ReadLong

Message = Trim$(Buffer.ReadString)

QuestNumForStart = Buffer.ReadLong

frmMain.lblQuestName = Trim$(Quest(QuestNum).Name)

frmMain.lblQuestSay = Message

frmMain.lblQuestSubtitle = "Info:"

frmMain.picQuestDialogue.Visible = True

If QuestNumForStart > 0 And QuestNumForStart <= MAX_QUESTS Then

frmMain.lblQuestAccept.Visible = True

frmMain.lblQuestAccept.Tag = QuestNumForStart

End If

Set Buffer = Nothing

End Sub
```

**modInput**

find:

```
SendRequestEditSpell
```

paste below:

```
Case "/editquest"

If GetPlayerAccess(MyIndex) < ADMIN_DEVELOPER Then GoTo Continue

SendRequestEditQuest
```

**modTypes**

In Private Type PlayerRec, find:

```
Step As Byte
```

Paste:

```
PlayerQuest(1 To MAX_QUESTS) As PlayerQuestRec
```

In Private Type NpcRec, find:

```
Level As Long
```

paste:

```
Quest As Byte

QuestNum As Long
```

**modText**

In DrawNpcName find this:

```
RenderText Font_Default, Name, TextX, TextY, color, 0
```

paste this below:

```
Dim i As Long

For i = 1 To MAX_QUESTS

'check if the npc is the next task to any quest: [?] symbol

If Quest(i).Name <> "" Then

If Player(MyIndex).PlayerQuest(i).Status = QUEST_STARTED Then

If Quest(i).Task(Player(MyIndex).PlayerQuest(i).ActualTask).NPC = npcNum Then

Name = "[?]"

TextX = ConvertMapX(MapNpc(Index).x * PIC_X) + MapNpc(Index).xOffset + (PIC_X \ 2) - getWidth(Font_Default, (Trim$(Name)))

If NPC(npcNum).Sprite < 1 Or NPC(npcNum).Sprite > NumCharacters Then

TextY = ConvertMapY(MapNpc(Index).y * PIC_Y) + MapNpc(Index).yOffset - 16

Else

TextY = ConvertMapY(MapNpc(Index).y * PIC_Y) + MapNpc(Index).yOffset - (Tex_Character(NPC(npcNum).Sprite).Height / 4)

End If

RenderText Font_Default, Name, TextX, TextY, Yellow

Exit For

End If

End If

'check if the npc is the starter to any quest: [!] symbol

'can accept the quest as a new one?

If Player(MyIndex).PlayerQuest(i).Status = QUEST_NOT_STARTED Or Player(MyIndex).PlayerQuest(i).Status = QUEST_COMPLETED_BUT Then

'the npc gives this quest?

If NPC(npcNum).QuestNum = i Then

Name = "[!]"

TextX = ConvertMapX(MapNpc(Index).x * PIC_X) + MapNpc(Index).xOffset + (PIC_X \ 2) - getWidth(Font_Default, (Trim$(Name)))

If NPC(npcNum).Sprite < 1 Or NPC(npcNum).Sprite > NumCharacters Then

TextY = ConvertMapY(MapNpc(Index).y * PIC_Y) + MapNpc(Index).yOffset - 16

Else

TextY = ConvertMapY(MapNpc(Index).y * PIC_Y) + MapNpc(Index).yOffset - (Tex_Character(NPC(npcNum).Sprite).Height / 4)

End If

RenderText Font_Default, Name, TextX, TextY, Yellow

Exit For

End If

End If

End If

Next

```

**modConstants**

find:

```
Public Const MAX_MAINBUTTONS As Long = 6
```

change the 6 for 7 (if you added more buttons you need to change it to the next one)

**modGeneral**

In LoadGUI find:

```
frmMain.picHotbar.Picture = LoadPicture(App.Path & "\data files\graphics\gui\main\hotbar.jpg")
```

add below:

```
frmMain.picQuestLog.Picture = LoadPicture(App.Path & "\data files\graphics\gui\main\questlog.jpg")

frmMain.picQuestDialogue.Picture = LoadPicture(App.Path & "\data files\graphics\gui\main\questdialogue.jpg")

```

In cacheButtons find:

```

' main - party

With MainButton(6)

.fileName = "party"

.state = 0 ' normal

End With
```

add below:

```

' main - quest

With MainButton(7)

.fileName = "quest"

.state = 0 ' normal

End With
```

**Form Work (only if you don't want to add the frmMain and/or the frmEditor_Npc)**

**frmEditor_Npc**

Add a checkbox (chkQuest), a scrollbar (scrlQuest) and a label (lblQuest). They should look like this. I added a frame (called fraQuest) but is not nescesary :

![](http://www.freemmorpgmaker.com/files/imagehost/pics/1b3406580141a06f9341a3b4321307cc.png)

then paste this inside the code of the form:

```
'ALATAR

Private Sub chkQuest_Click()

NPC(EditorIndex).Quest = chkQuest.Value

End Sub

Private Sub scrlQuest_Change()

lblQuest = scrlQuest.Value

NPC(EditorIndex).QuestNum = scrlQuest.Value

End Sub

'/ALATAR
```

**frmMain**

add to your project the two pictureboxes added to the attachments and add this subs anywhere in frmMain:

```

'ALATAR

'QuestDialogue:

Private Sub lblQuestAccept_Click()

PlayerHandleQuest CLng(lblQuestAccept.Tag), 1

picQuestDialogue.Visible = False

lblQuestAccept.Visible = False

lblQuestAccept.Tag = vbNullString

lblQuestSay = "-"

RefreshQuestLog

End Sub

Private Sub lblQuestExtra_Click()

RunQuestDialogueExtraLabel

End Sub

Private Sub lblQuestClose_Click()

picQuestDialogue.Visible = False

lblQuestExtra.Visible = False

lblQuestAccept.Visible = False

lblQuestAccept.Tag = vbNullString

lblQuestSay = "-"

End Sub

'QuestLog:

'Private Sub picQuestButton_Click()

' 'Need to be replaced with imgButton(X) and a proper image

' UpdateQuestLog

' picQuestLog.Visible = Not picQuestLog.Visible

' PlaySound Sound_Buttonclick

'End Sub

Private Sub imgQuestButton_Click(Index As Integer)

If Trim$(lstQuestLog.Text) = vbNullString Then Exit Sub

LoadQuestlogBox Index

End Sub

'/ALATAR

```

Then create a new imgButton (copy and paste any of the others) and set the index to 7 (only if you didn't added new buttons), then replace the Private Sub imgButton_Click with this…again this will work ONLY if you have 7 buttons (the 6 originals and the Quest button)

```
Private Sub imgButton_Click(Index As Integer)

Dim Buffer As clsBuffer

Dim i As Long

' If debug mode, handle error then exit out

If Options.Debug = 1 Then On Error GoTo errorhandler

Select Case Index

Case 1

If Not picInventory.Visible Then

' show the window

picInventory.Visible = True

picCharacter.Visible = False

picSpells.Visible = False

picOptions.Visible = False

picParty.Visible = False

frmMain.picInventory.Refresh

picQuestLog.Visible = False

' play sound

PlaySound Sound_Buttonclick, -1, -1

End If

Case 2

If Not picSpells.Visible Then

' send packet

Set Buffer = New clsBuffer

Buffer.WriteLong CSpells

SendData Buffer.ToArray()

Set Buffer = Nothing

' show the window

picSpells.Visible = True

picInventory.Visible = False

picCharacter.Visible = False

picOptions.Visible = False

picParty.Visible = False

picQuestLog.Visible = False

' play sound

PlaySound Sound_Buttonclick, -1, -1

End If

Case 3

If Not picCharacter.Visible Then

' send packet

SendRequestPlayerData

' show the window

picCharacter.Visible = True

picInventory.Visible = False

picSpells.Visible = False

picOptions.Visible = False

picParty.Visible = False

picQuestLog.Visible = False

' play sound

PlaySound Sound_Buttonclick, -1, -1

' Render

frmMain.picCharacter.Refresh

frmMain.picFace.Refresh

End If

Case 4

If Not picOptions.Visible Then

' show the window

picCharacter.Visible = False

picInventory.Visible = False

picSpells.Visible = False

picOptions.Visible = True

picParty.Visible = False

picQuestLog.Visible = False

' play sound

PlaySound Sound_Buttonclick, -1, -1

End If

Case 5

If myTargetType = TARGET_TYPE_PLAYER And myTarget <> MyIndex Then

SendTradeRequest

' play sound

PlaySound Sound_Buttonclick, -1, -1

Else

AddText "Invalid trade target.", BrightRed

End If

Case 6

' show the window

picCharacter.Visible = False

picInventory.Visible = False

picSpells.Visible = False

picOptions.Visible = False

picParty.Visible = True

picQuestLog.Visible = False

' play sound

PlaySound Sound_Buttonclick, -1, -1

'Alatar v1.2

Case 7 'QuestLog

picCharacter.Visible = False

picInventory.Visible = False

picSpells.Visible = False

picOptions.Visible = False

picParty.Visible = False

picQuestLog.Visible = True

UpdateQuestLog

PlaySound Sound_Buttonclick, -1, -1

'/Alatar v1.2

End Select

' Error handler

Exit Sub

errorhandler:

HandleError "imgButton_Click", "frmMain", Err.Number, Err.Description, Err.Source, Err.HelpContext

Err.Clear

Exit Sub

End Sub

```

I think that's all, please tell me if you find some bugs or something is missing.
Link to comment
Share on other sites

well, idk how to do that, i'm not very skilled with vb6, but i'll check that and try to figure it out

**Update: Added a new part for the tutorial if you don't want to replace the frmMain and/or the frmEditor_NPC (i think i didn't missed nothing about the form work)**
Link to comment
Share on other sites

ES = Event System, and v3.0 is just jcsnider Nightly Eclipse: http://www.touchofdeathforums.com/smf2/index.php/topic,80930.0.html

you added old quests or accounts to the game? maybe that's causing the error. I have no errors in my game (i'll upload a version with the quest system if you want to download)
Link to comment
Share on other sites

Um, I'm have a RTE 9 Subscript out of range; I deleted all the server files (accounts, shops, ect.)and I still get this error. BTW I downloaded the already integrated version and I still get the same error. Help will be very appreciated. Thanks in advance!
Link to comment
Share on other sites

@Lazlike:

> Are work for Dragon Eclipse???

Nope, for Dragon Eclipse you need to use the original Quest System (my custom engine still works with Dx7…but the next version will work with Directx8)

* * *

@Ace:

> Um, I'm have a RTE 9 Subscript out of range; I deleted all the server files (accounts, shops, ect.)and I still get this error. BTW I downloaded the already integrated version and I still get the same error. Help will be very appreciated. Thanks in advance!

when you debug in VB which line is highlighted?

(oops, srry for the doublepost, can any1 join the two messages or delete one?)
Link to comment
Share on other sites

  • 2 months 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...