[Ajuda] Banco de Dador para Organizaзхes!
#1

Fala rapaziada, tudo bem com vocкs?
Gente estou com a seguinte situaзгo.
Lendo tutoriais e tudo mais consegui montar um sisteminha de organizaзхes, porem eu salvo na pasta contas o seguintes dados:

PHP код:
pLiderpMembro e pCargo 
Ou seja Salvo se й Lider de uma Org e qual a org, caso seja membro salva cargo e qual a org.
Atй ai blz, vou deixar o comando logo abaixo:

PHP код:
CMD:convidar(playeridparams[])
{
    new 
IDstring[128];
    if(
PlayerInfo[playerid][pCargo] != 6) return SendClientMessage(playerid0xFF6347FF"[SERVER] Vocк nгo o Lнder de uma Organizaзгo!");
    if(
sscanf(params"u"ID)) return SendClientMessage(playeridCINZA"[SERVER] USE: /convidar [ID]");
    if(!
IsPlayerConnected(ID)) return SendClientMessage(playerid0xFF6347FF "[SERVER] Este jogador nгo estб online.");
    if(
PlayerInfo[ID][pMembro] != CIVIL) return SendClientMessage(playerid0xFF6347FF "[SERVER] Este jogador jб estб em uma Organizaзгo.");
    if(
playerid == ID) return SendClientMessage(playerid0xFF6347FF "[SERVER] Vocк nгo pode convidar si mesmo.");
    
format(stringsizeof(string), "[SERVER] Vocк convidou %s para a sua Organizaзгo."PlayerName(ID));
    
SendClientMessage(playerid0x00BFFFFF string);
    
format(stringsizeof(string), "[SERVER] %s estб lhe Convidando para fazer parte da Organizaзгo: %s \nDeseja aceitar?"PlayerName(playerid), NomeORG(playerid)); //Formata um dialog com o nome de que convidou e o nome da organizaзгo
    
ShowPlayerDialog(IDDIALOG_CONVITEDIALOG_STYLE_MSGBOX"Convite para organizaзгo"string"Confirmar""Cancelar");
    
SetPVarInt(ID"Convidado"PlayerInfo[playerid][pMembro]);
    
SetPVarInt(ID"Convidou"playerid);
    
Roupa_Farda[0][ID] = false;
    
Roupa_Farda[1][ID] = false;
    
PlayerInfo[ID][pSpawn] = 2;
    
SendClientMessage(ID, %s convidou %para sua organizaзгoOrganizaзгo: %s", PlayerName(playerid), PlayerName(ID), NomeORG(playerid));
    return true;
}
CMD:promover(playerid, params[])
{
    new string[128];
    new ID, cargo;
    if(PlayerInfo[playerid][pCargo] != 6) return SendClientMessage(playerid, CINZA, "
Vocк nгo o Lнder de uma Organizaзгo!");
    if(sscanf(params, "
ud", ID, cargo)) return SendClientMessage(playerid, CINZA, "USE: /promover [ID] [CARGO]");
    if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, 0xFF6347FF , "
Este jogador nгo estб online.");
    if(PlayerInfo[ID][pMembro] != PlayerInfo[playerid][pMembro]) return SendClientMessage(playerid, 0xFF6347FF , "
Este jogador nгo faz parte da sua organizaзгo");
    if(playerid == ID) return SendClientMessage(playerid, 0xFF6347FF , "
Vocк nгo pode promover a vocк mesmo.");
    if(cargo < 1 || cargo > 5) return SendClientMessage(playerid, 0xFF6347FF , "
Cargo deve estar entre 1 e 5 || SubLнderes444 e 555");
    PlayerInfo[ID][pCargo] = cargo;
    format(string, sizeof(string), "
%s promoveu o membro %s para o Cargo %d.", PlayerName(playerid), PlayerName(ID), cargo);
    ChatOrganizacao(PlayerInfo[playerid][pMembro], 0x00BFFFFF , string);
    format(string, sizeof(string), "
%s te promoveu para o Cargo %d.", PlayerName(playerid), cargo);
    SendClientMessage(ID, 0x00BFFFFF , string);
    return true;
}
CMD:demitir(playerid, params[])
{
    new ID, string[128], Texto[30];
    if(PlayerInfo[playerid][pCargo] != 6) return SendClientMessage(playerid, CINZA, "
Vocк nгo o Lнder de uma Organizaзгo!");
    if(sscanf(params, "
us[128]", ID, Texto)) return SendClientMessage(playerid, CINZA, "USE: /demitir [ID] [MOTIVO]");
    if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, 0xFF6347FF , "
Este jogador nгo estб online.");
    if(PlayerInfo[ID][pMembro] != PlayerInfo[playerid][pMembro]) return SendClientMessage(playerid, 0xFF6347FF , "
Este jogador nгo й da mesma Organizaзгo que vocк.");
    if(playerid == ID) return SendClientMessage(playerid, 0xFF6347FF , "
Vocк nгo pode demitir a vocк mesmo.");
    PlayerInfo[ID][pMembro] = CIVIL;
    PlayerInfo[ID][pCargo] = 0;
    format(string, sizeof(string), "
%s demitiu o membro %s da Organizaзгo.", PlayerName(playerid), 
    PlayerName(ID));
    ChatOrganizacao(PlayerInfo[playerid][pMembro], 0xFF6347FF , string);
    format(string, sizeof(string), "
%s te demitiu da OrganizaзгoMotivo: %s.", PlayerName(playerid), Texto);
    SendClientMessage(ID, 0xFF6347FF , string);
    Skin_Farda[0][ID] = false;
    Skin_Farda[1][ID] = false;
    PlayerInfo[ID][pSpawn] = 0;
    SpawnPlayer(ID);
    return true;

Atй ai beleza, salvou tudo certinho, porem eu gostaria de alem disso tambйm criar um sistema de banco de dados, onde vou poder armazenas nome do Lнder, Sub Lнder, Membros etc.
Para que apareзa os nomes quando eu clicar por exemplo no menu da org em Membros.

A forma de armazenamento seria desta maneira por exemplo:
PHP код:
Lider Ninguйm
SubLider 
Ninguem
SubLider2 
Ninguem
Membro1 
Ninguйm
Membro2 
Ninguйm
Membro3 
Ninguйm
Membro4 
Ninguйm
Membro5 
Ninguйm
Membro6 
Ninguйm
Membro7 
Ninguйm
Membro8 
Ninguйm
Membro9 
Ninguйm
Membro10 
Ninguйm
Membro11 
Ninguйm
Membro12 
Ninguйm
Membro13 
Ninguйm
Membro14 
Ninguйm
Membro15 
Ninguйm
Membro16 
Ninguйm 
Desta maneira eu acredito que com a mesma tecnica para armazenar os membros da Org eu talvez consiga criar um sisteminha de solicitar teste, onde armazenaria o nome do player.

Й possнvel criar este banco de dados para o comando que montei logo a cima?

Desde jб agradeзo a cada um por dedicar um minuto da sua atenзгo.
Fiquem com Deus, um forte abraзo.
Aguardo vocкs, atй logo amigos.
Reply
#2

Up Up
Alguйm por favor?
Reply
#3

Bom armazenar daquela maneira йs horrenda! estude sobre banco de relacionamentos!

crie tabelas como:
PHP код:
userid orgid cargo |
    
53        21       0
    12        21       1
     1        21       0
----------------------------
cargos
0-> membro
1
-> Lider
---------------------------
orgid:
21->balas
---------------------------
//userid й o id da conta do jogador de seu servidor!
--------------------------
//o resto da tabela vai de acordo com a funcionalidade do seu sistema! 
caso nгo conheзa arrays, estude elas tambem!
crie variantes mais intuitivas, melhoradas e otimizadas como:
PHP код:
enum ORG_INFO
{
    
OrgID,
    
bool:Cargo
}
new 
PlayerOrg[MAX_PLAYERS][ORG_INFO]; 
Reply
#4

Quote:
Originally Posted by RazorGuigo
Посмотреть сообщение
Bom armazenar daquela maneira йs horrenda! estude sobre banco de relacionamentos!

crie tabelas como:
PHP код:
userid orgid cargo |
    
53        21       0
    12        21       1
     1        21       0
----------------------------
cargos
0-> membro
1
-> Lider
---------------------------
orgid:
21->balas
---------------------------
//userid й o id da conta do jogador de seu servidor!
--------------------------
//o resto da tabela vai de acordo com a funcionalidade do seu sistema! 
caso nгo conheзa arrays, estude elas tambem!
crie variantes mais intuitivas, melhoradas e otimizadas como:
PHP код:
enum ORG_INFO
{
    
OrgID,
    
bool:Cargo
}
new 
PlayerOrg[MAX_PLAYERS][ORG_INFO]; 
Opa lega, obrigado pelas sacadas, uma pergunta pode me ajudar ir mais a fundo? Tirar algumas duvidas via MP etc? Ou qualquer meio de comunicaзгo que vocк estiver mais apto.
Desde jб agradeзo sua atenзгo cara.
Fica com Deus, um forte abraзo.
Vlw atй
Reply
#5

Quote:
Originally Posted by matheusdorado
Посмотреть сообщение
Opa lega, obrigado pelas sacadas, uma pergunta pode me ajudar ir mais a fundo? Tirar algumas duvidas via MP etc? Ou qualquer meio de comunicaзгo que vocк estiver mais apto.
Desde jб agradeзo sua atenзгo cara.
Fica com Deus, um forte abraзo.
Vlw atй
Chame PV no discord! eu ajudo sempre que estou online!
PHP код:
Razor Guigo#9812 
tambem, sou admin lб no grupo da board pt do discord, pode chamar lб q vou PV!
https://discord.gg/cfVwtC3
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)