[Ajuda] Sistema de organizaзхes com InfoOrg
#1

Boa noite, eu procurei em diversas publicaзхes aqui no Fуrum e as que eu encontrei nгo eram assim, tentei fazer vбrias vezes e nгo consegui finalizar, agora, como ъltimo recurso venho pedir ajuda diretamente no fуrum em como eu poderia criar um sistema de organizaзхes com InfoOrg, o link de como eu planejava criar й este, agradeзo a compreensгo de todos.
Reply
#2

Quote:
Originally Posted by Raayzeck
Посмотреть сообщение
como ъltimo recurso venho pedir ajuda diretamente no fуrum em como eu poderia criar um sistema de organizaзхes com InfoOrg
Eu pedi ajuda, nгo que criassem um para mim.
Reply
#3

Bom imagino que й mais ou menos isso que vocк queria, nгo fiz completo pois como pediu ajuda queria apenas lhe dar uma base. Para os comandos eu utilizei o Programa SAMP TOOL MAKER V2(https://sampforum.blast.hk/showthread.php?tid=479742) e joguei os comandos em dialogs. O cуdigo que lhe darei como base pode conter algum erro que nгo percebi pois fiz na pressa espero que entenda...
PHP код:
CMD:org
{
    if(
IsPlayerInRangeOfPoint(playerid1.01732.5751,522.7391,28.0498)) //Verifica se o Player estб perto das coordenadas
    
{
    
ShowPlayerDialog(playeridMenuOrgDIALOG_STYLE_LIST"Menu Org""Membros Onlines\nConvidar\nDemitir\n""Selecionar""Cancelar"); //Se ele estiver peto aparece esse Dialog.
    
return 1;
    }
}    
public 
OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    if(
dialogid == MenuOrg)
    {
        if(
response//Ao Clickar no primeiro botгo
        
{
            if(
listitem == 0//Ao clickar no primeiro item
            
{
                new 
playername[MAX_PLAYER_NAME], string[128]; //Criamos variaveis que irгo armazenar o nome e mensganes formatadas
                
if(pDados[playerid][Organizacao] >= 1)
                {
                    
SendClientMessage(playerid0xBFC0C2FF"(=-=-=-=-=-=-=({FFD700}Membros Online{BFC0C2})=-=-=-=-=-=-=)");
                    for(new 
0MAX_PLAYERSi++) //Criamos um loop de acordo com o MAX_PLAYERS
                    
{
                        if(
IsPlayerConnected(i)) //Verifica se o "i" (player) do loop estб online
                        
{
                            if(
pDados[i][Organizacao] == pDados[playerid][Organizacao]) //Verifica se a organizaзгo do player (do loop) й igual a do player que digitou o comando
                            
{
                                
GetPlayerName(iplayernamesizeof(playername)); //Geta o nome do player(loop)...
                                
if(pDados[i][Cargo] <= 4//Verifica se o player do loop e cargo 4 ou menos
                                
{
                                    
format(stringsizeof(string), "Membro: %s, Cargo: %d"playernamepDados[i][Cargo]); //Formata uma mensagem com o nome e cargo do player (loop)
                                    
SendClientMessage(playeridGetPlayerColor(playerid), string); //Envia a mensagem do player que digitou o comando
                                
}
                                else
                                {
                                    if(
pDados[i][Cargo] == 6//Verifica se o player й Lнder e formata/envia uma mensagem diferente/destacada
                                    
{
                                        
format(stringsizeof(string), "Membro: %s, Cargo: Lнder"playername);
                                        
SendClientMessage(playeridGetPlayerColor(playerid), string);
                                    }
                                    else if(
pDados[i][Cargo] == 5//Verifica se o player й Lнder e formata/envia uma mensagem diferente/destacada
                                    
{
                                        
format(stringsizeof(string), "Membro: %s, Cargo: Sub-Lнder"playername);
                                        
SendClientMessage(playeridGetPlayerColor(playerid), string);
                                    }
                                }
                            }
                        }
                    }
                }
            }
            if(
listitem == 1//Ao clickar no segundo item
            
{
                
ShowPlayerDialog(playeridConvidarOrgDIALOG_STYLE_INPUT"Menu Org""Insira o inputtext do jogador que vocк quer convidar.""Confirmar""Cancelar");
            }
        }
    }
}    
    if(
dialogid == ConvidarOrg)
    {
        if(
response//Se apertar no primeiro botгo...
        
{
            new 
playername[MAX_PLAYER_NAME], string[128]; //Cria variaveis que irгo armazenar inputtext, nome e string
            
if(pDados[playerid][Cargo] != 6) return SendClientMessage(playerid0xAD0000AA"Vocк nгo й lider!"); //Vк se quem digitou o comando й lнder, se nгo, returna a mensagem
            
if(pDados[inputtext][Organizacao] != 0) return SendClientMessage(playerid0xAD0000AA"Este jogador jб estб em uma Organizaзгo."); //Verifica se o player jб estб em alguma organizaзгo, se estiver, returna a mensagem
            
if(playerid == inputtext) return SendClientMessage(playerid0xAD0000AA"Vocк nгo pode convidar a vocк mesmo."); //Verifica se o lнder = lнder de quem digitou (playerid)
            
if(inputtext == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1"Jogador invбlido")
            
GetPlayerName(inputtextidnamesizeof(idname)); //Geta o nome do "inputtext"
            
format(stringsizeof(string), "Vocк convidou %s para sua Organizaзгo."inputtext); //Formata a mensagem com que foi convidado
            
SendClientMessage(playeridGetPlayerColor(playerid), string); //Envia a mensagem ao lнder
            
GetPlayerName(playeridplayernamesizeof(playername)); //Geta o nome de quem digitou o comando
            
format(stringsizeof(string), "%s estб lhe Convidando para fazer parte da Organizaзгo: %s \nDeseja aceitar?"playernameGetOrgName(pDados[playerid][Organizacao])); //Formata um dialog com o nome de que convidou e o nome da organizaзгo
            
ShowPlayerDialog(inputtext666DIALOG_STYLE_MSGBOX"Convite para organizaзгo"string"Sim""Nгo");
            
SetPVarInt(inputtext"OrgConvidado"pDados[playerid][Organizacao]); //Setando PVarInt que serб usar no OnDialogResponse
            
SetPVarInt(inputtext"QuemConvidou"playerid); //Setando PVarInt que serб usar no OnDialogResponse
        
}
        else 
//Se apertar no segundo botгo...
        
{
            
//Funзгo ao apertar o segundo botгo
        
}
    } 
Reply
#4

Agradeзo @Malandrin, era de algo assim que eu precisava, agora sу uma dъvida, como eu poderia criar um limite de membros em cada organizaзгo?
Reply
#5

cria uma variavel com para armazenar o numero de membros ai faz assim if(membros <= 20) se membros for menor que vinte ainda da pra recrutar ai assim: if(membro >= 20) ai nгo da mais pra recrutar, isso й uma base, nгo testei, nгo sei se vai funcionar, mas й mais ou menos assim
Reply
#6

Olб segue link uteis para vocк !
https://sampforum.blast.hk/showthread.php?tid=481480
https://sampforum.blast.hk/showthread.php?tid=641383

Obrigado pela atenзгo .
Reply
#7

Quote:
Originally Posted by Santso
Посмотреть сообщение
cria uma variavel com para armazenar o numero de membros ai faz assim if(membros <= 20) se membros for menor que vinte ainda da pra recrutar ai assim: if(membro >= 20) ai nгo da mais pra recrutar, isso й uma base, nгo testei, nгo sei se vai funcionar, mas й mais ou menos assim
Nгo, variбvel nгo serve para esse sistema pois se o servidor for reiniciado as variбveis serгo resetadas. O melhor para ser feito й ela criar um arquivo na scriptfiles contendo por exemplo: VAGA1: , VAGA2: , e quando essas vagas estiverem preenchidas o recrutamento serб abortado atй que alguйm seja expulso ou saia da organizaзгo, esse FS irб ajudar vocк, ele estб em DINI mas й quase igual a DOF2 e darб uma boa base.: https://sampforum.blast.hk/showthread.php?tid=292200
Reply
#8

Quote:
Originally Posted by Malandrin
Посмотреть сообщение
Nгo, variбvel nгo serve para esse sistema pois se o servidor for reiniciado as variбveis serгo resetadas. O melhor para ser feito й ela criar um arquivo na scriptfiles contendo por exemplo: VAGA1: , VAGA2: , e quando essas vagas estiverem preenchidas o recrutamento serб abortado atй que alguйm seja expulso ou saia da organizaзгo, esse FS irб ajudar vocк, ele estб em DINI mas й quase igual a DOF2 e darб uma boa base.: https://sampforum.blast.hk/showthread.php?tid=292200
й sу ele salvar essa variavel e carregala quando ele logar
Reply
#9

Quote:
Originally Posted by Santso
Посмотреть сообщение
й sу ele salvar essa variavel e carregala quando ele logar
Talvez, mas com o sistema que eu mandei servirб tambйm para ver todos os membros da organizaзгo mesmo se eles estiverem offline e isso й bom para o lнder manter o controle.
Reply
#10

@Don

Utilizarei esses seus sistemas para criar o meu como base.

@Malandrin

Esse sistema que vocк me mandou й perfeito, lhe agradeзo.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)