MMORPG Brasil
Ola, visitante! Agradecemos sua visita, para ter acesso a todo nosso conteúdo recomendamos que faça um cadastro no fórum, com ele você pode participar de tópicos e ter acesso a todas áreas da comunidade!

Participe do fórum, é rápido e fácil

MMORPG Brasil
Ola, visitante! Agradecemos sua visita, para ter acesso a todo nosso conteúdo recomendamos que faça um cadastro no fórum, com ele você pode participar de tópicos e ter acesso a todas áreas da comunidade!
MMORPG Brasil
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Sistema de Guild

+4
ExecutionS
Valentine
TheKirin
rpgtiberian
8 participantes

Ir para baixo

Sistema de Guild Empty Sistema de Guild

Mensagem por rpgtiberian Sex 24 Ago 2012, 15:14

Download dos arquivos para por nas pastas:
touchofdeathforums.com/smf2/index.php?action=dlattach;topic=78441.0;attach=20452

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:

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 do sistema já adicionado em um Eclipse Origins vazio:
touchofdeathforums.com/smf2/index.php?action=dlattach;topic=78441.0;attach=20454

Delete as contas após instalar o sistema.

Créditos:
- Scott por fazer
- rpgtiberian por postar
rpgtiberian
rpgtiberian
Membro Junior
Membro Junior

Mensagens : 93

Ir para o topo Ir para baixo

Sistema de Guild Empty Re: Sistema de Guild

Mensagem por TheKirin Sex 24 Ago 2012, 15:19

Caraiiiiiooooooooooooooooo q issooooo?????? Ta toda desorganizada bota em spolier n da pra entender nada Suspect
TheKirin
TheKirin
Membro Vitalicio
Membro Vitalicio

Mensagens : 561

Ir para o topo Ir para baixo

Sistema de Guild Empty Re: Sistema de Guild

Mensagem por rpgtiberian Sex 24 Ago 2012, 15:21

O que tiver em negrito é codigos, mas vou ficar ajeitando, to fazendo um sistema só postei isso aqui por que percebir que o que tinha, tiraram. ^^
rpgtiberian
rpgtiberian
Membro Junior
Membro Junior

Mensagens : 93

Ir para o topo Ir para baixo

Sistema de Guild Empty Re: Sistema de Guild

Mensagem por TheKirin Sex 24 Ago 2012, 15:27

Vlw agro to entendendo se funcionar +1

Se der erro vou mostrar

Edit eu fiu nesse site q tu falou mas ta no inicio pq?


Última edição por TheKirin em Sex 24 Ago 2012, 15:31, editado 1 vez(es)
TheKirin
TheKirin
Membro Vitalicio
Membro Vitalicio

Mensagens : 561

Ir para o topo Ir para baixo

Sistema de Guild Empty Re: Sistema de Guild

Mensagem por rpgtiberian Sex 24 Ago 2012, 15:29

ok se der erro só falar. ^^
rpgtiberian
rpgtiberian
Membro Junior
Membro Junior

Mensagens : 93

Ir para o topo Ir para baixo

Sistema de Guild Empty Re: Sistema de Guild

Mensagem por Valentine Sex 24 Ago 2012, 15:46

Use a ferramenta
Código:
[code][/code]
e coloque o código no meio para ficar mais organizando.
avatar
Valentine
Membro de Honra
Membro de Honra

Mensagens : 472

http://www.aldeiarpgbr.com

Ir para o topo Ir para baixo

Sistema de Guild Empty Re: Sistema de Guild

Mensagem por ExecutionS Sáb 25 Ago 2012, 11:29

Link corrompido ? KK'
ExecutionS
ExecutionS
Membro
Membro

Mensagens : 140

Ir para o topo Ir para baixo

Sistema de Guild Empty Re: Sistema de Guild

Mensagem por Moph Dom 26 Ago 2012, 11:59

Link corrompido ? KK' ²
Moph
Moph
Novato
Novato

Mensagens : 20

Ir para o topo Ir para baixo

Sistema de Guild Empty Re: Sistema de Guild

Mensagem por KiraKai Dom 26 Ago 2012, 20:01

que preguiça em? nem usou os code no tópico, ficou bem mal organizado.
KiraKai
KiraKai
Novato
Novato

Mensagens : 25

Ir para o topo Ir para baixo

Sistema de Guild Empty Re: Sistema de Guild

Mensagem por rpgtiberian Qua 29 Ago 2012, 13:10

foi mesmo ó foi mal galera, o sistema completo agora dei um jeito de conseguir o download dos arquivos e tals, mas encontra-se no meu forum, quem quiser descobrir só entrar e se cadastrar http://tutorpg.forumeiro.com/ caso o download suma e vocÊ ainda quiserem saber o download por favor me mandar MP.
rpgtiberian
rpgtiberian
Membro Junior
Membro Junior

Mensagens : 93

Ir para o topo Ir para baixo

Sistema de Guild Empty Re: Sistema de Guild

Mensagem por xicra Sáb 01 Set 2012, 15:14

alguem testou se isso pega de verdade? tou loco pra bota no meu jogo
xicra
xicra
Novato
Novato

Mensagens : 9

Ir para o topo Ir para baixo

Sistema de Guild Empty Re: Sistema de Guild

Mensagem por rpgtiberian Sáb 01 Set 2012, 15:31

xicra veja o meu post acima do seu, entre nesse link ai, e la daremos todo o apoio caso não preste em seu pc.
rpgtiberian
rpgtiberian
Membro Junior
Membro Junior

Mensagens : 93

Ir para o topo Ir para baixo

Sistema de Guild Empty Re: Sistema de Guild

Mensagem por Fogomax Sáb 01 Set 2012, 23:14

Cara, melhora esse tópico, coloca pelo menos uma screenshot para eu ver o resultado final.
Quando colocar um código use as tags
Código:
[code][/code]
E não faça divulgações de outros fóruns.
Gostei do sistema!
Fogomax
Fogomax
Membro Veterano
Membro Veterano

Mensagens : 1167

Ir para o topo Ir para baixo

Sistema de Guild Empty Re: Sistema de Guild

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos