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(
) 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(playerid, 1.0, 1732.5751,522.7391,28.0498)) //Verifica se o Player estб perto das coordenadas
{
ShowPlayerDialog(playerid, MenuOrg, DIALOG_STYLE_LIST, "Menu Org", "Membros Onlines\nConvidar\nDemitir\n", "Selecionar", "Cancelar"); //Se ele estiver peto aparece esse Dialog.
return 1;
}
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
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(playerid, 0xBFC0C2FF, "(=-=-=-=-=-=-=({FFD700}Membros Online{BFC0C2})=-=-=-=-=-=-=)");
for(new i = 0; i < MAX_PLAYERS; i++) //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(i, playername, sizeof(playername)); //Geta o nome do player(loop)...
if(pDados[i][Cargo] <= 4) //Verifica se o player do loop e cargo 4 ou menos
{
format(string, sizeof(string), "Membro: %s, Cargo: %d", playername, pDados[i][Cargo]); //Formata uma mensagem com o nome e cargo do player (loop)
SendClientMessage(playerid, GetPlayerColor(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(string, sizeof(string), "Membro: %s, Cargo: Lнder", playername);
SendClientMessage(playerid, GetPlayerColor(playerid), string);
}
else if(pDados[i][Cargo] == 5) //Verifica se o player й Lнder e formata/envia uma mensagem diferente/destacada
{
format(string, sizeof(string), "Membro: %s, Cargo: Sub-Lнder", playername);
SendClientMessage(playerid, GetPlayerColor(playerid), string);
}
}
}
}
}
}
}
if(listitem == 1) //Ao clickar no segundo item
{
ShowPlayerDialog(playerid, ConvidarOrg, DIALOG_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(playerid, 0xAD0000AA, "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(playerid, 0xAD0000AA, "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(playerid, 0xAD0000AA, "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(inputtext, idname, sizeof(idname)); //Geta o nome do "inputtext"
format(string, sizeof(string), "Vocк convidou %s para sua Organizaзгo.", inputtext); //Formata a mensagem com que foi convidado
SendClientMessage(playerid, GetPlayerColor(playerid), string); //Envia a mensagem ao lнder
GetPlayerName(playerid, playername, sizeof(playername)); //Geta o nome de quem digitou o comando
format(string, sizeof(string), "%s estб lhe Convidando para fazer parte da Organizaзгo: %s \nDeseja aceitar?", playername, GetOrgName(pDados[playerid][Organizacao])); //Formata um dialog com o nome de que convidou e o nome da organizaзгo
ShowPlayerDialog(inputtext, 666, DIALOG_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
}
}