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

Scott

Members
  • Posts

    428
  • Joined

  • Last visited

    Never

Everything posted by Scott

  1. Scott

    [EO 2.0/3.0] Guilds

    Link to EO2.0 [Here](http://www.eclipseorigins.com/community/index.php?/topic/104386-eclipse-origins-v2-beta/). **Bugs** **[1.Important Bug Fix (Link)](http://www.touchofdeathforums.com/community/index.php?/topic/124848-eo-2030-guilds/page__st__60#entry809002)** 1* 1- This bug fix is now included in the tutorial, it is still here for those who may not have seen this bug fix and still is using the affected version. If your using Eclipse Origins 3.0 make sure you skip the 3 steps(They are Marked) that are now found [HERE](http://www.touchofdeathforums.com/community/index.php?/topic/124848-eo-2030-guilds/page__st__180#entry835804) **Additions** 1.Special thanks to **[Deathbeam](http://www.touchofdeathforums.com/community/index.php?/user/54531-deathbeam/)** for **visual menu addition**! [Thread Link](http://www.touchofdeathforums.com/community/index.php?/topic/126795-eo-guild-menu-update/) 2\. Special thanks to **[Sherwin](http://www.touchofdeathforums.com/community/index.php?/user/75020-sherwin/)** for **Level Required on guild creation**! [Thread Link](http://www.touchofdeathforums.com/community/index.php?/topic/129257-all-version-level-required-on-creating-guild/) 3\. **Cost for guild creation**. [Thread Link](http://www.touchofdeathforums.com/community/index.php?/topic/124848-eo-2030-guilds/page__st__60#entry808765) 4\. Special thanks to **[GoldSide](http://www.touchofdeathforums.com/community/index.php?/user/65994-goldside/)** for **Random Guild Logos**! [Thread Link](http://www.touchofdeathforums.com/community/index.php?/topic/131561-eo-30random-logo-guild-systemv02/#entry876954) 5\. Special thanks to **[ranslsad](http://www.touchofdeathforums.com/community/index.php?/user/59762-ranslsad/)** for **[EA] Guild Invitation Dialog** [Thread Link](http://www.touchofdeathforums.com/community/index.php?/topic/132753-ea-guild-invitation-dialog/) 6. **Duplicate Guild Name Check**(Because I forgot it in the release) [Thread Link](http://www.eclipseorigins.com/community/index.php?/topic/124848-eo-2030-guilds/?p=904482) After seeing many requests for a stable guild system I decided to take it on as my first feature for eclipse. You can try out a pre-compiled version here:[attachment=69:GuildCompiled.zip] Some highlight features: _Invites_- When a player sends an invite to another player, they will have 2 minutes to accept/decline or it will auto decline players can only have 1 invite at a time. _Founder_- There can only be 1 founder at a time in a guild they can't be kicked and can't have restricted privileges(Can do anything period). You may transfer the founder status to another player with the /founder (name) command. _Guild Ranks_- Each guild can have its own guild ranks(custom names), each guild also has its own set of guild permission(see below). _Guild Permission_- Guild leaders can set what each rank can do, these include: Open Admin Panel, Edit Options/Ranks/Users, Recruit Users, Kick Users. _Guild name over head_ **Guild Commands:** _Make Guild: /guild make To transfer founder status use /guild founder (name) Invite to Guild: /guild invite (name) Leave Guild: /guild leave Open Guild Admin: /guild admin Guild kick: /guild kick (name) Guild disband: /guild disband yes View Guild: /guild view (online/all/offline) ^Default is online, example: /guild view would display all online users. You can talk in guild chat with: ;Message_ Please keep all help/bug reports to this topic, I will look into every single post and do my best to help you. Post in this topic before you PM me, if you don't get a responce within a few days than feel free to PM me. **Download GuildFiles.zip, and follow these steps if your are installing this!** [attachment=16:GuildFiles.zip] Server 1.Place modGuild.bas from the server_files directory into server/src 2.Inside VB6 right click where it displays all the files -> Add -> Module 3.Inside the popup click the existing tab -> Select the src folder -> Select modGuild.bas Client 1.Place modGuild.bas from the client_files directory into client/src 2.Place the 2 frmGuildAdmin files from the client_files directory into client/src 3.Inside VB6 right click where it displays all the files -> Add -> Module 4.Inside the popup click the existing tab -> Select the src folder -> Select modGuild.bas 5.Inside VB6 right click where it displays all the files -> Add -> Form 6.Inside the popup click the existing tab -> Select the src folder -> Select frmGuildAdmin.frm **If a step lists a specific location, this means that it might be confusing to try searching for them.** **!STOP!- Make a backup before you start!** ****************************************************************************** **SERVER** FIND: ``` Call SetStatus("Clearing animations...") Call ClearAnimations ``` UNDER ADD: ``` Call SetStatus("Clearing guilds...") Call ClearGuilds ``` –------------------------------------------------------------ FIND: ``` ChkDir App.Path & "\Data\", "spells" ``` UNDER ADD: ``` ChkDir App.Path & "\Data\", "guilds" ``` –------------------------------------------------------------ FIND: ``` HandleDataSub(CPartyLeave) = GetAddress(AddressOf HandlePartyLeave) ``` UNDER ADD: ``` HandleDataSub(CSayGuild) = GetAddress(AddressOf HandleGuildMsg) HandleDataSub(CGuildCommand) = GetAddress(AddressOf HandleGuildCommands) HandleDataSub(CSaveGuild) = GetAddress(AddressOf HandleGuildSave) ``` –------------------------------------------------------------ FIND(Find in Function PlayerData): ``` Buffer.WriteLong GetPlayerX(index) Buffer.WriteLong GetPlayerY(index) Buffer.WriteLong GetPlayerDir(index) Buffer.WriteLong GetPlayerAccess(index) Buffer.WriteLong GetPlayerPK(index) For i = 1 To Stats.Stat_Count - 1 Buffer.WriteLong GetPlayerStat(index, i) Next ``` UNDER ADD: ``` If Player(index).GuildFileId > 0 Then If TempPlayer(index).tmpGuildSlot > 0 Then Buffer.WriteByte 1 Buffer.WriteString GuildData(TempPlayer(index).tmpGuildSlot).Guild_Name End If Else Buffer.WriteByte 0 End If ``` –------------------------------------------------------------ FIND: ``` ' General Name As String * ACCOUNT_LENGTH poontang As Byte Class As Long Sprite As Long Level As Byte exp As Long Access As Byte PK As Byte ``` UNDER ADD: ``` GuildFileId As Long GuildMemberId As Long ``` –----------------------------------------------------------- FIND: ``` Public Type TempPlayerRec ``` UNDER ADD: ``` tmpGuildSlot As Long tmpGuildInviteSlot As Long tmpGuildInviteTimer As Long tmpGuildInviteId As Long ``` –------------------------------------------------------------ FIND: ``` ' Checks to save players every 5 minutes - Can be tweaked If Tick > LastUpdateSavePlayers Then UpdateSavePlayers LastUpdateSavePlayers = GetTickCount + 300000 End If ``` UNDER ADD: ``` 'Handles Guild Invites For i = 1 To Player_HighIndex If IsPlaying(i) Then If TempPlayer(i).tmpGuildInviteSlot > 0 Then If Tick > TempPlayer(i).tmpGuildInviteTimer Then If GuildData(TempPlayer(i).tmpGuildInviteSlot).In_Use = True Then PlayerMsg i, "Time ran out to join " & GuildData(TempPlayer(i).tmpGuildInviteSlot).Guild_Name & ".", BrightRed TempPlayer(i).tmpGuildInviteSlot = 0 TempPlayer(i).tmpGuildInviteTimer = 0 Else 'Just remove this guild has been unloaded TempPlayer(i).tmpGuildInviteSlot = 0 TempPlayer(i).tmpGuildInviteTimer = 0 End If End If End If End If Next i ``` –------------------------------------------------------------ FIND(Find in modEnumerations): ``` SPartyInvite SPartyUpdate SPartyVitals ``` UNDER ADD: ``` SSendGuild SAdminGuild SGuildAdminSwitchTab ``` –------------------------------------------------------------ FIND(Find in modEnumerations): ``` CDeclineParty CPartyLeave ``` UNDER ADD: ``` CGuildCommand CSayGuild CSaveGuild CRequestGuildAdminTabSwitch ``` –------------------------------------------------------------ FIND: ``` ' Send welcome messages Call SendWelcome(index) ``` UNDER ADD: ``` 'Do all the guild start up checks Call GuildLoginCheck(index) ``` –------------------------------------------------------------ FIND(Find in sub LeftGame): ``` ' leave party. Party_PlayerLeave index ``` UNDER ADD: ``` If Player(index).GuildFileId > 0 Then 'Set player online flag off GuildData(TempPlayer(index).tmpGuildSlot).Guild_Members(Player(index).GuildMemberId).Online = False Call CheckUnloadGuild(TempPlayer(index).tmpGuildSlot) End If ``` –------------------------------------------------------------ FIND: ``` ' Check if the master charlist file exists for checking duplicate names, and if it doesnt make it If Not FileExist("data\accounts\charlist.txt") Then F = FreeFile Open App.Path & "\data\accounts\charlist.txt" For Output As #F Close #F End If ``` UNDER ADD: ``` Call Set_Default_Guild_Ranks ``` –------------------------------------------------------------- FIND: ``` ChkDir App.Path & "\Data\", "spells" ``` UNDER Add: ``` ChkDir App.Path & "\Data\", "guilds" ``` **CLIENT** FIND: ``` Public Sub DrawPlayerName(ByVal Index As Long) Dim TextX As Long Dim TextY As Long Dim color As Long Dim Name As String ``` UNDER ADD: ``` Dim Text2X As Long Dim Text2Y As Long Dim GuildString As String ``` –------------------------------------------------------------ (Using EO 3.0? [Click Here](http://www.touchofdeathforums.com/community/index.php?/topic/124848-eo-2030-guilds/page__st__180#entry835804) and skip these steps ) (This step works for eo2.0/2.3 ) FIND: ``` Name = Trim$(Player(Index).Name) ' calc pos TextX = ConvertMapX(GetPlayerX(Index) * PIC_X) + Player(Index).XOffset + (PIC_X \ 2) - getWidth(TexthDC, (Trim$(Name))) ``` UNDER ADD: ``` GuildString = Player(Index).GuildName Text2X = ConvertMapX(GetPlayerX(Index) * PIC_X) + Player(Index).XOffset + (PIC_X \ 2) - getWidth(TexthDC, (Trim$(GuildString))) ``` –------------------------------------------------------------ (Using EO 3.0? [Click Here](http://www.touchofdeathforums.com/community/index.php?/topic/124848-eo-2030-guilds/page__st__180#entry835804) and skip these steps ) (This step works for eo2.0/2.3 ) FIND: ``` If GetPlayerSprite(Index) < 1 Or GetPlayerSprite(Index) > NumCharacters Then TextY = ConvertMapY(GetPlayerY(Index) * PIC_Y) + Player(Index).YOffset - 16 Else ' Determine location for text TextY = ConvertMapY(GetPlayerY(Index) * PIC_Y) + Player(Index).YOffset - (DDSD_Character(GetPlayerSprite(Index)).lHeight / 4) + 16 End If ``` **REPLACE WITH:** ``` If GetPlayerSprite(Index) < 1 Or GetPlayerSprite(Index) > NumCharacters Then TextY = ConvertMapY(GetPlayerY(Index) * PIC_Y) + Player(Index).YOffset - 16 Text2Y = ConvertMapY(GetPlayerY(Index) * PIC_Y) + Player(Index).YOffset Else ' Determine location for text TextY = ConvertMapY(GetPlayerY(Index) * PIC_Y) + Player(Index).YOffset - (DDSD_Character(GetPlayerSprite(Index)).lHeight / 4) + 16 Text2Y = ConvertMapY(GetPlayerY(Index) * PIC_Y) + Player(Index).YOffset - (DDSD_Character(GetPlayerSprite(Index)).lHeight / 4) + 4 End If ``` –------------------------------------------------------------ (Using EO 3.0? [Click Here](http://www.touchofdeathforums.com/community/index.php?/topic/124848-eo-2030-guilds/page__st__180#entry835804) and skip these steps ) (This step works for eo2.0/2.3 ) FIND: ``` ' Draw name Call DrawText(TexthDC, TextX, TextY, Name, color) ``` UNDER ADD: ``` If Not Player(Index).GuildName = vbNullString Then Call DrawText(TexthDC, Text2X, Text2Y, GuildString, color) End If ``` –------------------------------------------------------------ FIND: ``` ' Vitals Vital(1 To Vitals.Vital_Count - 1) As Long MaxVital(1 To Vitals.Vital_Count - 1) As Long ' Stats Stat(1 To Stats.Stat_Count - 1) As Byte POINTS As Long ' Worn equipment Equipment(1 To Equipment.Equipment_Count - 1) As Long ' Position Map As Long x As Byte y As Byte Dir As Byte ' Client use only XOffset As Integer YOffset As Integer Moving As Byte Attacking As Byte AttackTimer As Long MapGetTimer As Long Step As Byte ``` UNDER ADD: ``` GuildName As String ``` –------------------------------------------------------------ FIND(Find in modEnumerations): ``` STradeRequest SPartyInvite SPartyUpdate SPartyVitals ``` UNDER ADD: ``` SSendGuild SAdminGuild SGuildAdminSwitchTab ``` –------------------------------------------------------------ FIND(Find in modEnumerations): ``` CPartyRequest CAcceptParty CDeclineParty CPartyLeave ``` UNDER ADD: ``` CGuildCommand CSayGuild CSaveGuild CRequestGuildAdminTabSwitch ``` –------------------------------------------------------------ FIND: ``` HandleDataSub(SPartyUpdate) = GetAddress(AddressOf HandlePartyUpdate) HandleDataSub(SPartyVitals) = GetAddress(AddressOf HandlePartyVitals) ``` UNDER ADD: ``` HandleDataSub(SSendGuild) = GetAddress(AddressOf HandleSendGuild) HandleDataSub(SAdminGuild) = GetAddress(AddressOf HandleAdminGuild) ``` –------------------------------------------------------------ FIND: ``` Call SetPlayerDir(i, Buffer.ReadLong) Call SetPlayerAccess(i, Buffer.ReadLong) Call SetPlayerPK(i, Buffer.ReadLong) For x = 1 To Stats.Stat_Count - 1 SetPlayerStat i, x, Buffer.ReadLong Next ``` UNDER ADD: ``` If Buffer.ReadByte = 1 Then Player(i).GuildName = Buffer.ReadString Else Player(i).GuildName = vbNullString End If ``` –------------------------------------------------------------ FIND: ``` If LenB(ChatText) = 0 Then Exit Sub MyText = LCase$(ChatText) ' Handle when the player presses the return key If KeyAscii = vbKeyReturn Then ``` UNDER ADD: ``` 'Guild Message If Left$(ChatText, 1) = ";" Then ChatText = Mid$(ChatText, 2, Len(ChatText) - 1) If Len(ChatText) > 0 Then Call GuildMsg(ChatText) End If MyText = vbNullString frmMain.txtMyChat.text = vbNullString Exit Sub End If ``` –------------------------------------------------------------ FNID: ``` Case "/help" Call AddText("Social Commands:", HelpColor) Call AddText("'msghere = Broadcast Message", HelpColor) Call AddText("-msghere = Emote Message", HelpColor) Call AddText("!namehere msghere = Player Message", HelpColor) Call AddText("Available Commands: /info, /who, /fps, /fpslock", HelpColor) ``` UNDER ADD: ``` Case "/guild" If UBound(Command) < 1 Then Call AddText("Guild Commands:", HelpColor) Call AddText("Make Guild: /guild make (GuildName)", HelpColor) Call AddText("To transfer founder status use /guild founder (name)", HelpColor) Call AddText("Invite to Guild: /guild invite (name)", HelpColor) Call AddText("Leave Guild: /guild leave", HelpColor) Call AddText("Open Guild Admin: /guild admin", HelpColor) Call AddText("Guild kick: /guild kick (name)", HelpColor) Call AddText("Guild disband: /guild disband yes", HelpColor) Call AddText("View Guild: /guild view (online/all/offline)", HelpColor) Call AddText("^Default is online, example: /guild view would display all online users.", HelpColor) Call AddText("You can talk in guild chat with: ;Message ", HelpColor) GoTo Continue End If Select Case Command(1) Case "make" If UBound(Command) = 2 Then Call GuildCommand(1, Command(2)) Else Call AddText("Must have a name, use format /guild make (name)", BrightRed) End If Case "invite" If UBound(Command) = 2 Then Call GuildCommand(2, Command(2)) Else Call AddText("Must select user, use format /guild invite (name)", BrightRed) End If Case "leave" Call GuildCommand(3, "") Case "admin" Call GuildCommand(4, "") Case "view" If UBound(Command) = 2 Then Call GuildCommand(5, Command(2)) Else Call GuildCommand(5, "") End If Case "accept" Call GuildCommand(6, "") Case "decline" Call GuildCommand(7, "") Case "founder" If UBound(Command) = 2 Then Call GuildCommand(8, Command(2)) Else Call AddText("Must select user, use format /guild founder (name)", BrightRed) End If Case "kick" If UBound(Command) = 2 Then Call GuildCommand(9, Command(2)) Else Call AddText("Must select user, use format /guild kick (name)", BrightRed) End If Case "disband" If UBound(Command) = 2 Then If LCase(Command(2)) = LCase("yes") Then Call GuildCommand(10, "") Else Call AddText("Type like /guild disband yes (This is to help prevent an accident!)", BrightRed) End If Else Call AddText("Type like /guild disband yes (This is to help prevent an accident!)", BrightRed) End If End Select ``` **Delete any accounts made before you installed this!** **(Requested by Captain Obvious)** [attachment=16:GuildFiles.zip] [attachment=69:GuildCompiled.zip]
  2. Scott

    SQL Support

    @BK201: > OK in terms of efficiency it's not better here. I wasn't paying attention to what SJR. Blah I'm sorry. Though, you still have the advantage of queries, running a wesbite. > > Sorry for the triple post. It is a nice tool to have, but only if your going to use it. If you want a website/forum login to be integrated or some sort of high scores its a great idea, otherwise its a waste. Not to mention you need to host that mysql database on a server that will let you install the files you need to let vb6 connect to it. Than on top of that you need to set up a login server to handle logins because the mysql connection can lag the server loop a ton.
  3. I put max items to 300, but how do i make it show in item editor? **Compile it.** How can i make a consume have a max of 400, for example, to heal instead of a max of 255? **Change the data type from a byte to integer.** And lastly, how can i make an item have a value of 50k for example. I tried on frmEditor_item on the client side, but all i get when i change the max is Invalid Property Value. **Edit the max field on the slider, make sure the data type associated with it is big enough for the new max. If not, change it.**
  4. Scott

    Ace of Spades

    What happens when you try to run it? No it's an application, you need to install it first. When you click one of those links on the website it launches the application which is an exe on your computer.
  5. Scott

    Ace of Spades

    What browser are you using?
  6. @Wyz: > I think the text and the icons on the buttons are too dark. I think I will change them to white and add a shadow instead of an inset look. Ya that would be my only complaint, they look great!
  7. All the code outside the 2 modGuild(client/server) files are marked with``` 'Guild TUT ```There isn't much though I tried to keep it inside those files as much as possible to make for a small tutorial.
  8. http://www.touchofdeathforums.com/smf/index.php/topic,76765.msg836349.html#msg836349, only a few small bugs in that release I plan on releasing a tutorial for it mid-next week.
  9. Most routers I have seen have 2 port fields, the incoming and outgoing place your server port in both those fields. You don't need to use port range forwarding for eclipse routers have single port forwarding.
  10. Yes, and in the port fields put your server port in both.
  11. @Growlith1223: > dude just goto google and type in What's my ip > > The first thing that pops up should be something like 75.83.115.xxx The xxx is numbers also, i am not giving out my ip like that XD He's looking for his network ip, its the ip his router assigns to his computer while its on the network. You need to tell the router what computer it needs to forward those ports to. You should put``` 106 ```in the ip box in your router control panel then. Take a note of where that is for the next time you need to do this.
  12. That's to far down, need the top section silly, that's why I said all.
  13. Paste it all here, ill tell you what you need.
  14. ``` If Map(GetPlayerMap(index)).Tile(GetPlayerX(index), GetPlayerY(index)).Type = TILE_TYPE_BLOCKED then ``` For moving Down: -1 from y Up: +1 from y Left -1 from x Right:+1 from x Warp: ``` PlayerWarp(index, mapnum, x, y) ```
  15. Make sure your forwarding it to the right ip, if your using windows you can find this by typing ipconfig in the cmd prompt. Put the last 1-3 digits of the ip in the ip field, and the game port in both port fields.
  16. @Rithy58: > It's either I'm terrible at math or that came out to be -1 > > Sincerely, > Rithy [http://www.wolframalpha.com/input/?i=%28%281*9%29%2F3%29-2+](http://www.wolframalpha.com/input/?i=%28%281*9%29%2F3%29-2+)
  17. Scott

    Guys help

    @Aeri: > Yes, but very, very advanced. Hardly very very advanced, look up "vb6 mysql ado", its really really easy actually if you know how to work with mysql which is pretty easy in its self.
  18. Scott

    Ace of Spades

    I'm pretty addicted been playing like 6 hours a day, been hosting my own server now to prevent all the hackers. They make it really easy to host your own server and be found, auto lists you on the website when you start a server. If you do play, find a server with the Anti Aimbot script or every 10 mins some sciddy hops in and thinks hes the shit cause he downloaded some program and clears the server with his haxz.
  19. Scott

    Ace of Spades

    Waaay to many hackers, when I read this topic I tried the game out. Great game, but I never went a round with out some one using a mod. Other than all the cheaters, its a fucking awesome game I love it glad I tried it out spent at least 3 hours playing even with the cheaters.
  20. By cutting of the sub before it displays your message really simple stuff.
  21. Scott

    Okay, Yes, No

    ![](http://www.freemmorpgmaker.com/files/imagehost/pics/0d22a65273f757ea461f1a3fd026347c.png)
  22. Scott

    Okay, Yes, No

    It's there I found it like the day I opened EO2.0, its hidden currently you need to drag the form(not the window the form is in) there are little blue squares find the one on the bottom and drag it down.
  23. Scott

    Okay, Yes, No

    Make sure you expand the form, not the window.
×
×
  • Create New...