Features:
Invites- Quando um jogador envia um convite para outro jogador, que terá 2 minutos para aceitar / rejeitar ou ele irá automaticamente diminuir os jogadores só podem ter um convite de uma vez.
Founder- Só pode haver um fundador de uma vez em uma guilda que não pode ser expulso e não pode ter privilégios restritos (pode fazer período de nada). Você pode transferir o status de fundador para outro jogador com o /founder (nome) comando.
Guild Ranks- Cada guild pode ter suas fileiras guilda próprios (nomes personalizados), cada guild também tem seu próprio conjunto de permissão guild (veja abaixo).
Guild Permission- Os líderes da guilda pode definir o que cada categoria pode fazer, que incluem: Kickar membros, dar acessos, recrutar úsuarios, editar opções de úsuarios e ranks... etc.
Nome da Guild sobre a cabeça do player.
Comandos da Guild:
Criar Guild: /guild make
Para transferir o acesso de fundador, use /guild founder (nome)
Invitar para Guild: /guild invite (name)
Sair da Guild: /guild leave
Abrir Painel de Adm da Guild: /guild admin
Kickar da Guild: /guild kick (name)
Deletar a Guild: /guild disband yes
Ver Úsuarios Online da Guild: /guild view (online/all/offline)
Você também pode falar com o chat da guild com o comando: ( ;mensagem )
Baixe os Download dos arquivos para por nas pastas,para que você possa instalar com sucesso o sistema de guild em sua engine.!
Server
1.Coloque o modGuild.bas na pasta de onde fica as sourcers.
2.No VB6, arraste as mods do server pra dentro do projeto.
3.Certifique-se de colocar os arquivos .bas na pasta "src", e depois arrastalos para dentro do vb6 do projeto.
Client
- Faça o mesmo processo que no Server, coloque os arquivos da guild na pasta src, e depois arraste para dentro do projeto
Faça um backup antes de adicionar o sistema, para previnir-se
******************************************************************************
SERVER
Procure por:
Abaixo add:
--------------------------------------------------------------
Procure por:
Abaixo Add:
--------------------------------------------------------------
Procure por:(Function PlayerData):
Abaixo Add:
--------------------------------------------------------------
Procure por:
Abaixo Add:
-------------------------------------------------------------
Procure por:
Abaixo add
--------------------------------------------------------------
Procure por:
Abaixo Add:
--------------------------------------------------------------
Procure por:(modEnumerations):
Abaixo add:
--------------------------------------------------------------
Procure por:(modEnumerations):
Abaixo Add:
--------------------------------------------------------------
Procure por:
Abaixo Add
--------------------------------------------------------------
Procure por:(sub LeftGame):
Abaixo Add:
--------------------------------------------------------------
Procure por:
Abaixo Add:
---------------------------------------------------------------
Procure por:
Abaixo Add:
CLIENT
Procure por:
Abaixo Add:
--------------------------------------------------------------
Procure por:
Abaixo Add:
--------------------------------------------------------------
Procure por:
Substitua por:
--------------------------------------------------------------
Procure por:
Abaixo Add:
--------------------------------------------------------------
Procure por:
Abaixo Add:
--------------------------------------------------------------
Procure por:(modEnumerations):
Abaixo Add:
--------------------------------------------------------------
Procure por:(modEnumerations):
Abaixo Add:
--------------------------------------------------------------
Procure por:
Abaixo Add:
--------------------------------------------------------------
Procure por:
Abaixo Add:
--------------------------------------------------------------
Procure por:
Abaixo Add:
--------------------------------------------------------------
Procure por:
Abaixo Add:
Download dos arquivos para por nas pastas:
Clique Aqui
Download do sistema já adicionado em um Eclipse Origins vazio:
Clique Aqui
Delete as contas após instalar o sistema.
Créditos:
- Føx por postar
- Scott por fazer
Invites- Quando um jogador envia um convite para outro jogador, que terá 2 minutos para aceitar / rejeitar ou ele irá automaticamente diminuir os jogadores só podem ter um convite de uma vez.
Founder- Só pode haver um fundador de uma vez em uma guilda que não pode ser expulso e não pode ter privilégios restritos (pode fazer período de nada). Você pode transferir o status de fundador para outro jogador com o /founder (nome) comando.
Guild Ranks- Cada guild pode ter suas fileiras guilda próprios (nomes personalizados), cada guild também tem seu próprio conjunto de permissão guild (veja abaixo).
Guild Permission- Os líderes da guilda pode definir o que cada categoria pode fazer, que incluem: Kickar membros, dar acessos, recrutar úsuarios, editar opções de úsuarios e ranks... etc.
Nome da Guild sobre a cabeça do player.
Comandos da Guild:
Criar Guild: /guild make
Para transferir o acesso de fundador, use /guild founder (nome)
Invitar para Guild: /guild invite (name)
Sair da Guild: /guild leave
Abrir Painel de Adm da Guild: /guild admin
Kickar da Guild: /guild kick (name)
Deletar a Guild: /guild disband yes
Ver Úsuarios Online da Guild: /guild view (online/all/offline)
Você também pode falar com o chat da guild com o comando: ( ;mensagem )
Baixe os Download dos arquivos para por nas pastas,para que você possa instalar com sucesso o sistema de guild em sua engine.!
Server
1.Coloque o modGuild.bas na pasta de onde fica as sourcers.
2.No VB6, arraste as mods do server pra dentro do projeto.
3.Certifique-se de colocar os arquivos .bas na pasta "src", e depois arrastalos para dentro do vb6 do projeto.
Client
- Faça o mesmo processo que no Server, coloque os arquivos da guild na pasta src, e depois arraste para dentro do projeto
Faça um backup antes de adicionar o sistema, para previnir-se
******************************************************************************
SERVER
Procure por:
Código:
Call SetStatus("Clearing animations...")
Call ClearAnimations
Abaixo add:
Código:
Call SetStatus("Clearing guilds...")
Call ClearGuilds
--------------------------------------------------------------
Procure por:
Código:
HandleDataSub(CPartyLeave) = GetAddress(AddressOf HandlePartyLeave)
Abaixo Add:
Código:
HandleDataSub(CSayGuild) = GetAddress(AddressOf HandleGuildMsg)
HandleDataSub(CGuildCommand) = GetAddress(AddressOf HandleGuildCommands)
HandleDataSub(CSaveGuild) = GetAddress(AddressOf HandleGuildSave)
--------------------------------------------------------------
Procure por:(Function PlayerData):
Código:
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
Abaixo Add:
Código:
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
--------------------------------------------------------------
Procure por:
Código:
' General
Name As String * ACCOUNT_LENGTH
Sex As Byte
Class As Long
Sprite As Long
Level As Byte
exp As Long
Access As Byte
PK As Byte
Abaixo Add:
Código:
GuildFileId As Long
GuildMemberId As Long
-------------------------------------------------------------
Procure por:
Código:
Public Type TempPlayerRec
Abaixo add
Código:
tmpGuildSlot As Long
tmpGuildInviteSlot As Long
tmpGuildInviteTimer As Long
--------------------------------------------------------------
Procure por:
Código:
' Checks to save players every 5 minutes - Can be tweaked
If Tick > LastUpdateSavePlayers Then
UpdateSavePlayers
LastUpdateSavePlayers = GetTickCount 300000
End If
Abaixo Add:
Código:
'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
--------------------------------------------------------------
Procure por:(modEnumerations):
Código:
SPartyInvite
SPartyUpdate
SPartyVitals
Abaixo add:
Código:
SSendGuild
SAdminGuild
SGuildAdminSwitchTab
--------------------------------------------------------------
Procure por:(modEnumerations):
Código:
CDeclineParty
CPartyLeave
Abaixo Add:
Código:
CGuildCommand
CSayGuild
CSaveGuild
CRequestGuildAdminTabSwitch
--------------------------------------------------------------
Procure por:
Código:
' Send welcome messages
Call SendWelcome(index)
Abaixo Add
Código:
'Do all the guild start up checks
Call GuildLoginCheck(index)
--------------------------------------------------------------
Procure por:(sub LeftGame):
Código:
' leave party.
Party_PlayerLeave index
Abaixo Add:
Código:
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
--------------------------------------------------------------
Procure por:
Código:
' 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
Abaixo Add:
Código:
Call Set_Default_Guild_Ranks
---------------------------------------------------------------
Procure por:
Código:
ChkDir App.Path & "\Data", "spells"
Abaixo Add:
Código:
ChkDir App.Path & "\Data", "guilds"
CLIENT
Procure por:
Código:
Public Sub DrawPlayerName(ByVal Index As Long)
Dim TextX As Long
Dim TextY As Long
Dim color As Long
Dim Name As String
Abaixo Add:
Código:
Dim Text2X As Long
Dim Text2Y As Long
Dim GuildString As String
--------------------------------------------------------------
Procure por:
Código:
Name = Trim$(Player(Index).Name)
' calc pos
TextX = ConvertMapX(GetPlayerX(Index) * PIC_X) Player(Index).XOffset (PIC_X \ 2) - getWidth(TexthDC, (Trim$(Name)))
Abaixo Add:
Código:
GuildString = Player(Index).GuildName
Text2X = ConvertMapX(GetPlayerX(Index) * PIC_X) Player(Index).XOffset (PIC_X \ 2) - getWidth(TexthDC, (Trim$(GuildString)))
--------------------------------------------------------------
Procure por:
Código:
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
Substitua por:
Código:
If GetPlayerSprite(Index) < 1 Or GetPlayerSprite(Index) > NumCharacters Then
TextY = ConvertMapY(GetPlayerY(Index) * PIC_Y) Player(Index).YOffset - 16
'Guild TUT
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
'Guild TUT
Text2Y = ConvertMapY(GetPlayerY(Index) * PIC_Y) Player(Index).YOffset - (DDSD_Character(GetPlayerSprite(Index)).lHeight / 4) 4
End If
--------------------------------------------------------------
Procure por:
Código:
' Draw name
Call DrawText(TexthDC, TextX, TextY, Name, color)
Abaixo Add:
Código:
If Not Player(Index).GuildName = vbNullString Then
Call DrawText(TexthDC, Text2X, Text2Y, GuildString, color)
End If
--------------------------------------------------------------
Procure por:
Código:
' 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
Abaixo Add:
Código:
GuildName As String
--------------------------------------------------------------
Procure por:(modEnumerations):
Código:
STradeRequest
SPartyInvite
SPartyUpdate
SPartyVitals
Abaixo Add:
Código:
SSendGuild
SAdminGuild
SGuildAdminSwitchTab
--------------------------------------------------------------
Procure por:(modEnumerations):
Código:
CPartyRequest
CAcceptParty
CDeclineParty
CPartyLeave
Abaixo Add:
Código:
CGuildCommand
CSayGuild
CSaveGuild
CRequestGuildAdminTabSwitch
--------------------------------------------------------------
Procure por:
Código:
HandleDataSub(SPartyUpdate) = GetAddress(AddressOf HandlePartyUpdate)
HandleDataSub(SPartyVitals) = GetAddress(AddressOf HandlePartyVitals)
Abaixo Add:
Código:
HandleDataSub(SSendGuild) = GetAddress(AddressOf HandleSendGuild)
HandleDataSub(SAdminGuild) = GetAddress(AddressOf HandleAdminGuild)
--------------------------------------------------------------
Procure por:
Código:
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
Abaixo Add:
Código:
If Buffer.ReadByte = 1 Then
Player(i).GuildName = Buffer.ReadString
Else
Player(i).GuildName = vbNullString
End If
--------------------------------------------------------------
Procure por:
Código:
If LenB(ChatText) = 0 Then Exit Sub
MyText = LCase$(ChatText)
' Handle when the player presses the return key
If KeyAscii = vbKeyReturn Then
Abaixo Add:
Código:
'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
--------------------------------------------------------------
Procure por:
Código:
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)
Abaixo Add:
Código:
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
Download dos arquivos para por nas pastas:
Clique Aqui
Download do sistema já adicionado em um Eclipse Origins vazio:
Clique Aqui
Delete as contas após instalar o sistema.
Créditos:
- Føx por postar
- Scott por fazer