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

[EO 2.0/3.0] Guilds


Scott
 Share

Recommended Posts

I had intended it to be used to change the color of the guild name over the head, but you can use it for anything really. I do have plans to release my next version with more features in it some time just not sure when I'll get around to finishing it and checking it over for bugs(I obsess over checking my work).
Link to comment
Share on other sites

  • Replies 328
  • Created
  • Last Reply

Top Posters In This Topic

I'm using Dragon eclipse (a nightly custom release based on Dx8) and I have followed these directions and have been getting a compile error on compile of the server :

Variable not defined - in modHandleData:

HandleDataSub(SSendGuild) = GetAddress(AddressOf HandleSendGuild)
Link to comment
Share on other sites

> I'm using Dragon eclipse (a nightly custom release based on Dx8) and I have followed these directions and have been getting a compile error on compile of the server :
>
> Variable not defined - in modHandleData:
>
> HandleDataSub(SSendGuild) = GetAddress(AddressOf HandleSendGuild)

Well for one, the SSendGuild handler is client side, not server side….. So either you put it in the wrong sore, or wrote the one one when posting this.

Client side SSendGuild is done from this part....

FIND(Find in modEnumerations):

```

STradeRequest

SPartyInvite

SPartyUpdate

SPartyVitals

```

UNDER ADD:

```

SSendGuild

SAdminGuild

SGuildAdminSwitchTab

```
Link to comment
Share on other sites

> Well for one, the SSendGuild handler is client side, not server side….. So either you put it in the wrong sore, or wrote the one one when posting this.
>
> Client side SSendGuild is done from this part....
>
> FIND(Find in modEnumerations):
>
> ```
>
> STradeRequest
>
> SPartyInvite
>
> SPartyUpdate
>
> SPartyVitals
>
> ```
>
> UNDER ADD:
>
> ```
>
> SSendGuild
>
> SAdminGuild
>
> SGuildAdminSwitchTab
>
> ```

yea, i meant client =P , my bad.
Link to comment
Share on other sites

> Well for one, the SSendGuild handler is client side, not server side….. So either you put it in the wrong sore, or wrote the one one when posting this.
>
> Client side SSendGuild is done from this part....
>
> FIND(Find in modEnumerations):
>
> ```
>
> STradeRequest
>
> SPartyInvite
>
> SPartyUpdate
>
> SPartyVitals
>
> ```
>
> UNDER ADD:
>
> ```
>
> SSendGuild
>
> SAdminGuild
>
> SGuildAdminSwitchTab
>
> ```

Still no luck on my end though, I -did- have it setup like you showed in the quote above - still getting said error though. =[.

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

:: POST MOVED HERE : [http://www.touchofde…ds/#entry852155](http://www.touchofdeathforums.com/community/index.php?/topic/129434-runtime-error-424-object-required-guilds/#entry852155) ::

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

> ![](http://i1127.photobucket.com/albums/l632/EsoGuildPB/debugerror.png)
>
> (above: debug report of ModGuild).
>
> (below: actual code of ModGuild).
>
> **ModGuild**
>
> ```
>
> Public Const MAX_GUILD_MEMBERS As Long = 50
>
> Public Const MAX_GUILD_RANKS As Long = 6
>
> Public Const MAX_GUILD_RANKS_PERMISSION As Long = 6
>
> Public GuildData As GuildRec
>
> Public Type GuildRanksRec
>
> 'General variables
>
> Used As Boolean
>
> Name As String
>
> 'Rank Variables
>
> RankPermission(1 To MAX_GUILD_RANKS_PERMISSION) As Byte
>
> RankPermissionName(1 To MAX_GUILD_RANKS_PERMISSION) As String
>
> End Type
>
> Public Type GuildMemberRec
>
> 'User login/name
>
> Used As Boolean
>
> User_Login As String
>
> User_Name As String
>
> Founder As Boolean
>
> 'Guild Variables
>
> Rank As Integer
>
> Comment As String * 300
>
>
>
> End Type
>
> Public Type GuildRec
>
> In_Use As Boolean
>
> Guild_Name As String
>
> 'Guild file number for saving
>
> Guild_Fileid As Long
>
> Guild_Members(1 To MAX_GUILD_MEMBERS) As GuildMemberRec
>
> Guild_Ranks(1 To MAX_GUILD_RANKS) As GuildRanksRec
>
> 'Message of the day
>
> Guild_MOTD As String * 100
>
> 'The rank recruits start at
>
> Guild_RecruitRank As Integer
>
> Guild_Color As Integer
>
> End Type
>
> Public Sub HandleAdminGuild(ByVal Index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long)
>
> Dim Buffer As clsBuffer
>
> Dim i As Integer
>
> Dim b As Integer
>
> If Options.Debug = 1 Then On Error GoTo errorhandler
>
> Set Buffer = New clsBuffer
>
> Buffer.WriteBytes Data()
>
> If Buffer.ReadByte = 1 Then
>
> frmGuildAdmin.Visible = True
>
> Else
>
> frmGuildAdmin.Visible = False
>
> End If
>
> Set Buffer = Nothing
>
> ' Error handler
>
> Exit Sub
>
> errorhandler:
>
> HandleError "HandleAdminGuild", "modGuild", Err.Number, Err.Description, Err.Source, Err.HelpContext
>
> Err.Clear
>
> End Sub
>
> Public Sub HandleSendGuild(ByVal Index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long)
>
> Dim Buffer As clsBuffer
>
> Dim i As Integer
>
> Dim b As Integer
>
> If Options.Debug = 1 Then On Error GoTo errorhandler
>
> Set Buffer = New clsBuffer
>
> Buffer.WriteBytes Data()
>
> GuildData.Guild_Name = Buffer.ReadString
>
> GuildData.Guild_Color = Buffer.ReadInteger
>
> GuildData.Guild_MOTD = Buffer.ReadString
>
> GuildData.Guild_RecruitRank = Buffer.ReadInteger
>
> 'Get Members
>
> For i = 1 To MAX_GUILD_MEMBERS
>
> GuildData.Guild_Members(i).User_Name = Buffer.ReadString
>
> GuildData.Guild_Members(i).Rank = Buffer.ReadInteger
>
> GuildData.Guild_Members(i).Comment = Buffer.ReadString
>
> Next i
>
> 'Get Ranks
>
> For i = 1 To MAX_GUILD_RANKS
>
> GuildData.Guild_Ranks(i).Name = Buffer.ReadString
>
> For b = 1 To MAX_GUILD_RANKS_PERMISSION
>
> GuildData.Guild_Ranks(i).RankPermission(![B)](http://www.touchofdeathforums.com/community/public/style_emoticons/<#EMO_DIR#>/cool.png) = Buffer.ReadByte
>
> GuildData.Guild_Ranks(i).RankPermissionName(![B)](http://www.touchofdeathforums.com/community/public/style_emoticons/<#EMO_DIR#>/cool.png) = Buffer.ReadString
>
> Next b
>
> Next i
>
> 'Update Guildadmin data
>
> Call frmGuildAdmin.Load_Guild_Admin
>
> Set Buffer = Nothing
>
> ' Error handler
>
> Exit Sub
>
> errorhandler:
>
> HandleError "HandleSendGuild", "modGuild", Err.Number, Err.Description, Err.Source, Err.HelpContext
>
> Err.Clear
>
> End Sub
>
> Public Sub GuildMsg(ByVal text As String)
>
> Dim Buffer As clsBuffer
>
> ' If debug mode, handle error then exit out
>
> If Options.Debug = 1 Then On Error GoTo errorhandler
>
> Set Buffer = New clsBuffer
>
> Buffer.WriteLong CSayGuild
>
> Buffer.WriteString text
>
> SendData Buffer.ToArray()
>
> Set Buffer = Nothing
>
> ' Error handler
>
> Exit Sub
>
> errorhandler:
>
> HandleError "GuildMsg", "modGuild", Err.Number, Err.Description, Err.Source, Err.HelpContext
>
> Err.Clear
>
> Exit Sub
>
> End Sub
>
> Public Sub GuildCommand(ByVal Command As Integer, ByVal SendText As String)
>
> Dim Buffer As clsBuffer
>
> ' If debug mode, handle error then exit out
>
> If Options.Debug = 1 Then On Error GoTo errorhandler
>
> Set Buffer = New clsBuffer
>
> Buffer.WriteLong CGuildCommand
>
> Buffer.WriteInteger Command
>
> Buffer.WriteString SendText
>
> SendData Buffer.ToArray()
>
> Set Buffer = Nothing
>
> ' Error handler
>
> Exit Sub
>
> errorhandler:
>
> HandleError "GuildMsg", "modGuild", Err.Number, Err.Description, Err.Source, Err.HelpContext
>
> Err.Clear
>
> Exit Sub
>
> End Sub
>
> Public Sub GuildSave(ByVal SaveType As Integer, ByVal Index As Integer)
>
> Dim Buffer As clsBuffer
>
> Dim i As Integer
>
> Dim b As Integer
>
> 'SaveType
>
> '1=options
>
> '2=users
>
> '3=ranks
>
> If Index = 0 Then Exit Sub
>
> ' If debug mode, handle error then exit out
>
> If Options.Debug = 1 Then On Error GoTo errorhandler
>
> Set Buffer = New clsBuffer
>
> Buffer.WriteLong CSaveGuild
>
> Buffer.WriteInteger SaveType
>
> Buffer.WriteInteger Index
>
> Select Case SaveType
>
> Case 1
>
> 'options
>
> Buffer.WriteInteger GuildData.Guild_Color
>
> Buffer.WriteInteger GuildData.Guild_RecruitRank
>
> Buffer.WriteString GuildData.Guild_MOTD
>
> Case 2
>
> 'users
>
> Buffer.WriteInteger GuildData.Guild_Members(Index).Rank
>
> Buffer.WriteString GuildData.Guild_Members(Index).Comment
>
> Case 3
>
> 'ranks
>
> Buffer.WriteString GuildData.Guild_Ranks(Index).Name
>
> For i = 1 To MAX_GUILD_RANKS_PERMISSION
>
> Buffer.WriteByte GuildData.Guild_Ranks(Index).RankPermission(i)
>
> Next i
>
> End Select
>
> SendData Buffer.ToArray()
>
> Set Buffer = Nothing
>
> ' Error handler
>
> Exit Sub
>
> errorhandler:
>
> HandleError "GuildMsg", "modGuild", Err.Number, Err.Description, Err.Source, Err.HelpContext
>
> Err.Clear
>
> Exit Sub
>
> End Sub
>
> ```
Link to comment
Share on other sites

  • 1 month later...
Works fine on **eclipse advanced 3.0.7** with a few changes

When opening the client on vb6 I recieved an error message when I wanted to open the chat, to fix that

[background=rgb(250, 251, 252)]Replace (client side):[/background]

[background=rgb(250, 251, 252)]```
frmMain.txtMyChat.text = vbNullString
```[/background]

[background=rgb(250, 251, 252)]with:[/background]

[background=rgb(250, 251, 252)]```
UpdateShowChatText
```[/background]

[background=rgb(250, 251, 252)]Also when I relogged after creating the guild, the MOTD was a bunch of strange characters for me. Probably because it's an empty MOTD. I have the same issue with NPCs. To make the starting MOTD less ugly I added this server side in [/background][background=rgb(250, 251, 252)]sub MakeGuild[/background]

[background=rgb(250, 251, 252)]Find:[/background]

[background=rgb(250, 251, 252)]```
GuildData(GuildSlot).Guild_Members(1).Online = True
```[/background]

[background=rgb(250, 251, 252)]Under it add:[/background]

[background=rgb(250, 251, 252)]```
GuildData(GuildSlot).Guild_MOTD = "Welcome"
```[/background]

Thank you!
Link to comment
Share on other sites

> so all works fine exept kick option i put rank1 cannot kick player from guild
>
> but it can…...cannot/can option for kick dont work

I'll look into this, probly an issue from when I changed how the permission system worked.

Edit: If you are trying this on the guild creator they are marked as the founder, and there is an override that lets them do anything even if it's marked off limits did this so you can't accidently lock your self out of the admin stuff.
Link to comment
Share on other sites

anyway tnx for answer i will wait for fix! ![:)](http://www.touchofdeathforums.com/community/public/style_emoticons/<#EMO_DIR#>/smile.png) ![:)](http://www.touchofdeathforums.com/community/public/style_emoticons/<#EMO_DIR#>/smile.png)
Link to comment
Share on other sites

  • 3 weeks later...
  • 2 weeks later...
I'll look into it, I've tested that to make sure it worked before not sure why it's not working.

Edit: Works fine for me try re-installing it.

![](http://www.freemmorpgmaker.com/files/imagehost/pics/3188ea5f790fa98c92e7ae33fadf3d00.png)
Link to comment
Share on other sites

I'm getting A Method or data member not found compile error on the client

And this part seems to be the problem

```

'guild

GuildString = Player(Index).GuildName

Text2X = ConvertMapX(GetPlayerX(Index) * PIC_X) + Player(Index).XOffset + (PIC_X \ 2) - (getWidth(Font_Default, (Trim$(GuildString))) / 2)

```
I'm using Eclipse Advance
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...