[Ajuda] System Gang
#1

Mulequada alguem poderia ver o que estб acontecendo com este fs, quando morre sai da gang automaticamente, queria tirar este bug se alguem pude-se me ajudar.

Код:
#include    <   a_samp  >
#include    <   dof2    >
#include    <   zcmd    >
#include    <   sscanf2 >

#define MAX_GANGS               100

#define VERMELHO                0xFF030FFF
#define VERMELHO_CLARO          0xFB0000FF
#define AMARELO                 0xFFFF00FF
#define AZUL_CLARO              0x00C2ECFF
#define ROXO                    0xB360FDFF
#define VERDE_CLARO             0x38FF06FF
#define CINZA                   0xCECECEFF

//dialogs do lider
#define DIALOG_CRIAR            4518
#define DIALOG_INFO             4519
#define DIALOG_NOMEG            4520
#define DIALOG_SKIN             4521
#define DIALOG_CONVIDAR         4522
#define DIALOG_PROMOVER         4524
#define DIALOG_PROMOVER2        4525
#define DIALOG_DEMITIR          4526
#define DIALOG_CARROS           4527
#define DIALOG_SPAWN            4528
#define DIALOG_COR              4529
#define DIALOG_TAG              4530
#define DIALOG_ENCERRAR         4531

#define DIALOG_CONVIDADO        4523

enum Dados
{
	Lider,
	Membro,
	Cargo,
	bool:CCarro1,
	bool:CCarro2,
	bool:CCarro3,
	bool:LocalSpawn
}

new PlayerDados[MAX_PLAYERS][Dados];

enum GangsInfo
{
	ID,
	Nomeg,
	Cor,
	Skin,
	SpawnX,
	SpawnY,
	SpawnZ,
	Carro1,
	Carro2,
	Carro3,
	Tag
}

new GangInfo[MAX_GANGS][GangsInfo];
new String[256];
new StringGang[256];
new Gang[MAX_GANGS];
new gangs;
new IdConvidou;
new IdGangC;
new IdPromovido;
new CargoNome[128];

forward SpawnGang(playerid);

public OnFilterScriptInit()
{
	print("\n\n");
	print("-------------------------------------------------------------------------");
	print("    §§§§     §§     §§§§§ §§§§     §§§§     §§§§     §§§§§§§  §§  §§§§§§");
	print("   §§  §§    §§     §     §§ §§   §§ §§    §§  §§    §§   §§   §  §§");
	print("  §§§§§§§§   §§     §§§§§ §§  §§ §§  §§   §§§§§§§§   §§   §§  §   §§§§§§");
	print(" §§      §§  §§     §     §§   §§§   §§  §§      §§  §§   §§          §§");
	print("§§        §§ §§§§§§ §§§§§ §§         §§ §§        §§ §§§§§§§      §§§§§§");
	print("\n");
	print("                  §§§§§       §§§§     §§§§    §§   §§§§§");
	print("                 §§          §§  §§    §§ §§   §§  §§");
	print("                §§  §§§§    §§    §§   §§  §§  §§ §§  §§§§");
	print("                §§     §§  §§§§§§§§§§  §§   §§ §§ §§     §§");
	print("                 §§§§§§§  §§        §§ §§    §§§§  §§§§§§§");
	print("\n");
	print("     	          FS DE CRIACAO DE GANGS BY LUCAS_ALEMAO");
	print("-------------------------------------------------------------------------");
	print("\n\n");
	return 1;
}

public OnFilterScriptExit()
{
	DOF2_Exit();
	return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
	SalvarDados(playerid);
	DOF2_Exit();
	return 1;
}

public OnPlayerSpawn(playerid)
{
    format(String, sizeof(String), "LAGANGS/Players/%s.ini", Nome(playerid));
	PlayerDados[playerid][Membro] = DOF2_GetInt(String, "Membro");
	PlayerDados[playerid][Lider] = DOF2_GetInt(String, "Lider");
	PlayerDados[playerid][Cargo] = DOF2_GetInt(String, "Cargo");
	if(ContaExiste(playerid))
	{
	    format(String, sizeof(String), "LAGANGS/Players/%s.ini", Nome(playerid));
	    PlayerDados[playerid][Lider] = DOF2_GetInt(String, "Lider");
	    PlayerDados[playerid][Membro] = DOF2_GetInt(String, "Membro");
	    PlayerDados[playerid][Cargo] = DOF2_GetInt(String, "Cargo");
	    format(String, sizeof(String), "LAGANGS/Gangs/%d.ini", PlayerDados[playerid][Membro]);
	    if(!DOF2_FileExists(String))
	    {
	        PlayerDados[playerid][Membro] = 0;
	        PlayerDados[playerid][Cargo] = 0;
 		}
		SetTimerEx("SpawnGang", 10, false, "i", playerid);
	}
	if(!ContaExiste(playerid))
	{
	    format(String, sizeof(String), "LAGANGS/Players/%s.ini", Nome(playerid));
		DOF2_CreateFile(String);
		DOF2_SetInt(String, "Lider", PlayerDados[playerid][Lider]);
		DOF2_SetInt(String, "Membro", PlayerDados[playerid][Membro]);
		DOF2_SetInt(String, "Cargo", PlayerDados[playerid][Cargo]);
	}
	if(PlayerDados[playerid][Membro] == 1) return CargoNome = "Recruta";
	if(PlayerDados[playerid][Membro] == 2) return CargoNome = "Aprendiz";
	if(PlayerDados[playerid][Membro] == 3) return CargoNome = "Matador";
	if(PlayerDados[playerid][Membro] == 4) return CargoNome = "Profissional";
	if(PlayerDados[playerid][Membro] == 5) return CargoNome = "Poderoso Chefгo";
	return 1;
}

public SpawnGang(playerid)
{
    format(String, sizeof(String), "LAGANGS/Gangs/%d.ini", PlayerDados[playerid][Membro]);
    if(DOF2_FileExists(String))
 	{
 	    new str[100];
		format(str, sizeof(str), "LAGANGS/Gangs/%d.ini", PlayerDados[playerid][Membro]);
 	    if(DOF2_IsSet(String, "Skin")) SetPlayerSkin(playerid, ArquivoGangInt(playerid, "Skin"));
 	    if(DOF2_IsSet(String, "SpawnX") && DOF2_IsSet(String, "SpawnY") && DOF2_IsSet(String, "SpawnZ")) SetPlayerPos(playerid, ArquivoGangInt(playerid, "SpawnX"), ArquivoGangInt(playerid, "SpawnY"), ArquivoGangInt(playerid, "SpawnZ"));
		if(DOF2_IsSet(String, "Cor")) SetPlayerColor(playerid, ArquivoGangHex(playerid, "Cor"));
		format(String, sizeof(String), "Vocк й da gang '%s'", DOF2_GetString(str, "Nome"));
		SendClientMessage(playerid, ArquivoGangHex(playerid, "Cor"), String);
	}
	return 1;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
	if(vehicleid == GangInfo[gangs][Carro1])
	{
		if(PlayerDados[playerid][Membro] != GangInfo[gangs][Carro1])
		{
		    RemovePlayerFromVehicle(playerid);
		    SendClientMessage(playerid, AZUL_CLARO, "Vocк nгo й dessa gang!");
		}
		return 1;
	}
	if(vehicleid == GangInfo[gangs][Carro2])
	{
		if(PlayerDados[playerid][Membro] != GangInfo[gangs][Carro2])
		{
		    RemovePlayerFromVehicle(playerid);
		    SendClientMessage(playerid, AZUL_CLARO, "Vocк nгo й dessa gang!");
		}
		return 1;
	}
	if(vehicleid == GangInfo[gangs][Carro3])
	{
		if(PlayerDados[playerid][Membro] != GangInfo[gangs][Carro3])
		{
		    RemovePlayerFromVehicle(playerid);
		    SendClientMessage(playerid, AZUL_CLARO, "Vocк nгo й dessa gang!");
		}
		return 1;
	}
	return 1;
}

public OnPlayerText(playerid, text[])
{
	if(PlayerDados[playerid][CCarro1] == true)
	{
	    if(strlen(text) == strlen("aqui"))
	    {
	        DestroyVehicle(GangInfo[playerid][Carro1]);
	    	new Float:X,
				Float:Y,
				Float:Z,
				Float:A;
			GetPlayerPos(playerid, X, Y, Z);
			GetPlayerFacingAngle(playerid, A);
			format(String, sizeof(String), "LAGANGS/Players/%s.ini", Nome(playerid));
			GangInfo[DOF2_GetInt(String, "Lider")][Carro1] = CreateVehicle(562, X, Y, Z, A, -1, -1, 15);
			PlayerDados[playerid][CCarro1] = false;
			SendClientMessage(playerid, VERDE_CLARO, "Carro criado com sucesso");
			DialogGang(playerid);
			return 0;
		}
		if(strlen(text) == strlen("cancelar"))
		{
		    PlayerDados[playerid][CCarro1] = false;
		    DialogGang(playerid);
		    return 0;
		}
		SendClientMessage(playerid, AMARELO, "Use 'aqui' ou 'cancelar' para criar o carro");
		return 0;
	}
	if(PlayerDados[playerid][CCarro2] == true)
	{
	    if(strlen(text) == strlen("aqui"))
	    {
	        DestroyVehicle(GangInfo[playerid][Carro2]);
	    	new Float:X,
				Float:Y,
				Float:Z,
				Float:A;
			GetPlayerPos(playerid, X, Y, Z);
			GetPlayerFacingAngle(playerid, A);
			format(String, sizeof(String), "LAGANGS/Players/%s.ini", Nome(playerid));
			GangInfo[DOF2_GetInt(String, "Lider")][Carro2] = CreateVehicle(562, X, Y, Z, A, -1, -1, 15);
			PlayerDados[playerid][CCarro2] = false;
			SendClientMessage(playerid, VERDE_CLARO, "Carro criado com sucesso");
			DialogGang(playerid);
			return 0;
		}
		if(strlen(text) == strlen("cancelar"))
		{
		    PlayerDados[playerid][CCarro2] = false;
		    DialogGang(playerid);
		    return 0;
		}
		SendClientMessage(playerid, AMARELO, "Use 'aqui' ou 'cancelar' para criar o carro");
		return 0;
	}
	if(PlayerDados[playerid][CCarro3] == true)
	{
	    if(strlen(text) == strlen("aqui"))
	    {
	        DestroyVehicle(GangInfo[playerid][Carro3]);
	    	new Float:X,
				Float:Y,
				Float:Z,
				Float:A;
			GetPlayerPos(playerid, X, Y, Z);
			GetPlayerFacingAngle(playerid, A);
			format(String, sizeof(String), "LAGANGS/Players/%s.ini", Nome(playerid));
			GangInfo[DOF2_GetInt(String, "Lider")][Carro3] = CreateVehicle(562, X, Y, Z, A, -1, -1, 15);
			PlayerDados[playerid][CCarro3] = false;
			SendClientMessage(playerid, VERDE_CLARO, "Carro criado com sucesso");
			DialogGang(playerid);
			return 0;
		}
		if(strlen(text) == strlen("cancelar"))
		{
		    PlayerDados[playerid][CCarro3] = false;
		    DialogGang(playerid);
		    return 0;
		}
		SendClientMessage(playerid, AMARELO, "Use 'aqui' ou 'cancelar' para criar o carro");
		return 0;
	}
	if(PlayerDados[playerid][LocalSpawn] == true)
	{
	    if(strlen(text) == strlen("aqui"))
	    {
	    	new Float:X,
				Float:Y,
				Float:Z;
			GetPlayerPos(playerid, X, Y, Z);
			format(String, sizeof(String), "LAGANGS/Players/%s.ini", Nome(playerid));
			format(String, sizeof(String), "LAGANGS/Gangs/%d.ini", DOF2_GetInt(String, "Lider"));
			DOF2_SetFloat(String, "SpawnX", X);
			DOF2_SetFloat(String, "SpawnY", Y);
			DOF2_SetFloat(String, "SpawnZ", Z);
			DOF2_SaveFile();
			PlayerDados[playerid][LocalSpawn] = false;
			DialogGang(playerid);
			SendClientMessage(playerid, VERDE_CLARO, "Local do Spawn setado com sucesso!");
			return 0;
		}
		if(strlen(text) == strlen("cancelar"))
		{
		    PlayerDados[playerid][LocalSpawn] = false;
		    DialogGang(playerid);
		    return 0;
		}
		SendClientMessage(playerid, AMARELO, "Use 'aqui' ou 'cancelar' para selecionar o local de spawn");
		return 0;
	}
	return 1;
}
		

CMD:gangcriar(playerid, params[])
{
	if(PlayerDados[playerid][Lider] > 0 || PlayerDados[playerid][Membro] > 0) return SendClientMessage(playerid, CINZA, "Vocк ja й de uma gang, use /gangsair para sair dela");
	ShowPlayerDialog(playerid, DIALOG_CRIAR, DIALOG_STYLE_INPUT, "{22750B}Criando uma gang", "{3BE60B}Escreva abaixo o Nome da\nGang que vocк deseja criar", "Criar", "Cancelar");
	return 1;
}

CMD:gangsair(playerid, params[])
{
	if(PlayerDados[playerid][Lider] > 0) return SendClientMessage(playerid, CINZA, "Vocк й lider de uma Gang, para encerra-la use /infogang!");
	if(PlayerDados[playerid][Membro] == 0) return SendClientMessage(playerid, CINZA, "Vocк nгo faz parte de nenhuma gang!");
	PlayerDados[playerid][Membro] = 0;
	return 1;
}

CMD:infogang(playerid, params[])
{
	if(PlayerDados[playerid][Lider] == 0) return SendClientMessage(playerid, CINZA, "Vocк nгo й lider de uma gang!");
	format(String, sizeof(String), "LAGANGS/Gangs/%d.ini", PlayerDados[playerid][Lider]);
	format(String, sizeof(String), "{0DD0DE}Menu da Gang %s", DOF2_GetString(String, "Nome"));
	ShowPlayerDialog(playerid, DIALOG_INFO, DIALOG_STYLE_LIST, String,"{25E01B}Nome da Gang\n{157310}Skin da Gang\n{34B8C7}Convidar\n{0DE4FC}Promover\n{FF0019}Demitir\n{FFEE00}Carro 1\n{FFEE00}Carro 2\n{FFEE00}Carro 3\n{FF00FF}Spawn\n{FFFFFF}Cor\n{FA460A}Tag\n{FA0A0A}Encerrar gang", "Ver", "Cancelar");
	return 1;
}

CMD:ga(playerid, params[])
{
	new Texto[128];
	if(sscanf(params, "s", Texto)) return SendClientMessage(playerid, CINZA, "Use /ga [texto] para mandar uma mensagem para todos da gang.");
    if(PlayerDados[playerid][Cargo] == 1) CargoNome = "Recruta";
	if(PlayerDados[playerid][Cargo] == 2) CargoNome = "Aprendiz";
	if(PlayerDados[playerid][Cargo] == 3) CargoNome = "Matador";
	if(PlayerDados[playerid][Cargo] == 4) CargoNome = "Profissional";
	if(PlayerDados[playerid][Cargo] == 5) CargoNome = "Poderoso Chefгo";
	for(new i = 0; i < MAX_PLAYERS; i++)
	{
	    if(PlayerDados[i][Membro] == PlayerDados[playerid][Membro])
	    {
			format(String, sizeof(String), "%s %s: %s", CargoNome, Nome(playerid), Texto);
			SendClientMessage(i, ArquivoGangHex(playerid, "Cor"), String);
		}
	}
	return 1;
}

CMD:membros(playerid, params[])
{
	SendClientMessage(playerid, ROXO, "Membros da Gang Online:");
	for(new i = 0; i < MAX_PLAYERS; i ++)
	{
	    if(PlayerDados[i][Membro] == PlayerDados[playerid][Membro])
	    {
	        if(PlayerDados[i][Cargo] == 1) CargoNome = "Recruta";
			if(PlayerDados[i][Cargo] == 2) CargoNome = "Aprendiz";
			if(PlayerDados[i][Cargo] == 3) CargoNome = "Matador";
			if(PlayerDados[i][Cargo] == 4) CargoNome = "Profissional";
			if(PlayerDados[i][Cargo] == 5) CargoNome = "Poderoso Chefгo";
	        format(String, sizeof(String), "%s | %s (Cargo %d)", Nome(i), CargoNome, PlayerDados[i][Cargo]);
	        SendClientMessage(playerid, ArquivoGangHex(playerid, "Cor"), String);
		}
	}
	return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	if(dialogid == DIALOG_CRIAR)
	{
		if(response)
		{
		    if(!strlen(inputtext))
				return SendClientMessage(playerid, VERMELHO_CLARO, "Vocк tem que digitar uma porra de um nome!"), ShowPlayerDialog(playerid, DIALOG_CRIAR, DIALOG_STYLE_INPUT, "{22750B}Criando uma gang", "{3BE60B}Escreva abaixo o Nome da\nGang que vocк deseja criar", "Criar", "Cancelar");
			format(String, sizeof(String), "{0DD0DE}Menu da Gang %s", inputtext);
			ShowPlayerDialog(playerid, DIALOG_INFO, DIALOG_STYLE_LIST, String, "{25E01B}Nome da Gang\n{157310}Skin da Gang\n{34B8C7}Convidar\n{0DE4FC}Promover\n{FF0019}Demitir\n{FFEE00}Carro 1\n{FFEE00}Carro 2\n{FFEE00}Carro 3\n{FF00FF}Spawn\n{FFFFFF}Cor\n{FA460A}Tag\n{FA0A0A}Encerrar gang", "Ver", "Cancelar");
			format(String, sizeof(String), "O Jogador {1B42E0}%s{00C2EC} Criou a Gang {1B42E0}%s{00C2EC}", Nome(playerid), inputtext);
			SendClientMessageToAll(AZUL_CLARO, String);
			gangs++;
			if(gangs > MAX_GANGS)
			{
			    format(String, sizeof(String), "O servidor ja possui o maximo de gangs ( %d ), Cominique um Admin.", MAX_GANGS);
			    SendClientMessage(playerid, CINZA, String);
			    return 0;
			}
            for(new t = 0; t < MAX_GANGS; t++)
            {
                format(String, sizeof(String), "LAGANGS/Gangs/%d.ini", gangs);
                if(DOF2_FileExists(String))
                gangs++;
			}
			GangInfo[gangs][ID] = Gang[gangs];
			PlayerDados[playerid][Lider] = GangInfo[playerid][ID];
			format(StringGang, sizeof(StringGang), "LAGANGS/Gangs/%d.ini", gangs);
			DOF2_CreateFile(StringGang);
			DOF2_SetInt(StringGang, "ID", gangs);
			DOF2_SetString(StringGang, "Nome", inputtext);
			format(String, sizeof(String), "LAGANGS/Players/%s.ini", Nome(playerid));
			DOF2_SetInt(String, "Lider", gangs);
			DOF2_SetInt(String, "Membro", gangs);
			PlayerDados[playerid][Lider] = gangs;
			PlayerDados[playerid][Membro] = gangs;
			DOF2_SaveFile();
			SendClientMessage(playerid, AZUL_CLARO, "Lembre-se de alterar a COR da gang, caso contrario os membros ficaram da cor preta");
		}
		return 1;
	}
	if(dialogid == DIALOG_INFO)
	{
	    if(response)
	    {
	        if(listitem == 0)
	        {
				format(String, sizeof(String), "LAGANGS/Gangs/%d.ini", PlayerDados[playerid][Lider]);
	            format(String, sizeof(String), "{FFFFFF}O Atual nome da Gang й {1BE032}%s{FFFFFF}\n\nEscreva o novo nome", DOF2_GetString(String, "Nome"));
	            ShowPlayerDialog(playerid, DIALOG_NOMEG, DIALOG_STYLE_INPUT, "Nome da Gang", String, "Mudar", "Cancelar");
	            return 1;
			}
			if(listitem == 1)
			{
			    format(String, sizeof(String), "LAGANGS/Gangs/%d.ini", PlayerDados[playerid][Lider]);
			    if(!DOF2_IsSet(String, "Skin"))
				{
					ShowPlayerDialog(playerid, DIALOG_SKIN, DIALOG_STYLE_INPUT, "Skin da Gang", "{FFFFFF}O Skin da gang ainda nгo Estб Definido\n\nDigite o ID da skin para defini-lo", "Definir", "Cancelar");
					return 1;
				}
				format(String, sizeof(String), "{FFFFFF}O Atual Skin da Gang й o {1BE032}%d{FFFFFF}\n\nColoque o novo ID abaixo", ArquivoGangInt(playerid, "Skin"));
				ShowPlayerDialog(playerid, DIALOG_SKIN, DIALOG_STYLE_INPUT, "Skin da Gang", String, "Definir", "Cancelar");
				return 1;
			}
			if(listitem == 2)
			{
			    ShowPlayerDialog(playerid, DIALOG_CONVIDAR, DIALOG_STYLE_INPUT, "Convidando um jogador", "{FFFFFF}Digite abaixo o ID do jogador\nPara Convida-lo para sua Gang", "Convidar", "Cancelar");
			    return 1;
			}
			if(listitem == 3)
			{
			    ShowPlayerDialog(playerid, DIALOG_PROMOVER, DIALOG_STYLE_INPUT, "Promovendo um jogador", "{FFFFFF}Digite abaixo o ID do Jogador\nQue deseja promover", "Avancar", "Cancelar");
			    return 1;
			}
			if(listitem == 4)
			{
			    ShowPlayerDialog(playerid, DIALOG_DEMITIR, DIALOG_STYLE_INPUT, "Demitindo um Membro", "{FFFFFF}Digite abaixo o ID do jogador que\ndeseja demitir", "Demitir", "Cancelar");
			    return 1;
			}
			if(listitem == 5)
			{
			    ShowPlayerDialog(playerid, DIALOG_CARROS, DIALOG_STYLE_MSGBOX, "Criando Carro 1", "{FFDD00}Vб atй o local que vocк deseja criar o\nVeнculo e digite 'aqui' sem aspas", "Ok", "Cancelar");
				PlayerDados[playerid][CCarro1] = true;
				return 1;
			}
			if(listitem == 6)
			{
			    ShowPlayerDialog(playerid, DIALOG_CARROS, DIALOG_STYLE_MSGBOX, "Criando Carro 2", "{FFDD00}Vб atй o local que vocк deseja criar o\nVeнculo e digite 'aqui' sem aspas", "Ok", "Cancelar");
				PlayerDados[playerid][CCarro2] = true;
				return 1;
			}
			if(listitem == 7)
			{
			    ShowPlayerDialog(playerid, DIALOG_CARROS, DIALOG_STYLE_MSGBOX, "Criando Carro 3", "{FFDD00}Vб atй o local que vocк deseja criar o\nVeнculo e digite 'aqui' sem aspas", "Ok", "Cancelar");
				PlayerDados[playerid][CCarro3] = true;
				return 1;
			}
			if(listitem == 8)
			{
			    ShowPlayerDialog(playerid, DIALOG_SPAWN, DIALOG_STYLE_MSGBOX, "Local do Spawn", "{FF00E1}Vб atй o local onde vocк deseja\nque seja o Spawn da sua gang e\ndigite 'aqui' sem aspas", "Ok", "Cancelar");
				PlayerDados[playerid][LocalSpawn] = true;
				return 1;
			}
			if(listitem == 9)
			{
			    ShowPlayerDialog(playerid, DIALOG_COR, DIALOG_STYLE_LIST, "{FFFFFF}Cor do Nick dos Membros", "{FF0505}Vermelho \n{FF05FB}Rosa \n{0D05FF}Azul \n{05FFE2}Azul Claro \n{048706}Verde \n{0DFF05}Verde Claro \n{FFFF05}Amarelo \n{FF9705}Laranjado \n{000000}Preto \n{FFFFFF}Branco", "Mudar", "Cancelar");
			    return 1;
			}
			if(listitem == 10)
			{
			    ShowPlayerDialog(playerid, DIALOG_TAG, DIALOG_STYLE_INPUT,"Tag da Gang", "{37C90E}Digite Abaixo a tag da sua gang\nLembre-se de utilizar as chaves []\n\nEx: [LA]\n", "Setar", "Cancelar");
			    return 1;
			}
			if(listitem == 11)
			{
			    ShowPlayerDialog(playerid, DIALOG_ENCERRAR, DIALOG_STYLE_MSGBOX, "{FFFFFF}Encerrando a gang", "{FC3236}Tem certeza que deseja acabar\ncom a sua Gang?", "Sim", "Nгo");
			    return 1;
			}
		}
	}
	if(dialogid == DIALOG_ENCERRAR)
	{
	    if(response)
	    {
	        format(String, sizeof(String), "LAGANGS/Gangs/%d.ini", GangPlayer(playerid));
	        DOF2_RemoveFile(String);
	        for(new i = 0; i < MAX_PLAYERS; i++)
	        {
	            if(PlayerDados[i][Membro] == PlayerDados[playerid][Lider])
	            {
	            	new str[100];
					format(str, sizeof(str), "LAGANGS/Gangs/%d.ini", PlayerDados[playerid][Membro]);
	            	format(String, sizeof(String), "O Lider {048706}%s{0DFF05} encerrou a Gang {048706}%s{0DFF05}, Boa sorte na Vida a todos.", Nome(playerid), DOF2_GetString(str, "Nome"));
	            	AvisoLider(playerid, String);
	            	DOF2_RemoveFile(str);
	            	format(str, sizeof(str), "LAGANGS/Players/%s.ini", Nome(i));
                    PlayerDados[i][Membro] = 0;
                    PlayerDados[i][Lider] = 0;
	            	DOF2_SetInt(str, "Lider", 0);
	            	DOF2_SetInt(str, "Membro", 0);
	            	DOF2_SetInt(str, "Cargo", 0);
				}
			}
		}
		if(!response) DialogGang(playerid);
	}
	if(dialogid == DIALOG_TAG)
	{
	    if(response)
	    {
	        if(!strlen(inputtext))
	        {
	            ShowPlayerDialog(playerid, DIALOG_TAG, DIALOG_STYLE_INPUT,"Tag da Gang", "{FFFFFF}Digite Abaixo a tag da sua gang\nLembre-se de utilizar as chaves []\n\nEx: [LA]\n", "Setar", "Cancelar");
	            SendClientMessage(playerid, CINZA, "Escreva alguma coisa ou clique em cancelar");
	            return 0;
			}
			for(new i = 0; i < MAX_PLAYERS; i++)
			{
			    if(PlayerDados[i][Membro] == PlayerDados[playerid][Lider])
			    {
					new NomeA[24];
					GetPlayerName(i, NomeA, 24);
					format(String, sizeof(String), "LAGANGS/Players/%s.ini", NomeA);
					DOF2_RemoveFile(String);
					format(String, sizeof(String), "%s%s", inputtext, NomeA);
					SetPlayerName(i, String);
					format(String, sizeof(String), "LAGANGS/Players/%s.ini", NomeA);
					DOF2_CreateFile(String);
					DOF2_SetInt(String, "Lider", PlayerDados[playerid][Lider]);
					DOF2_SetInt(String, "Membro", PlayerDados[playerid][Membro]);
					DOF2_SetInt(String, "Cargo", PlayerDados[playerid][Cargo]);
					format(String, sizeof(String), "O Lider da Gang {048706}%s{0DFF05} Mudou a tag dos membros da gang para {048706}%s{0DFF05}", Nome(playerid), inputtext);
					SendClientMessage(i, VERDE_CLARO, String);
				}
			}
			format(String, sizeof(String), "LAGANGS/Gangs/%d.ini", GangPlayer(playerid));
			DOF2_SetString(String, "Tag", inputtext);
		}
		if(!response) DialogGang(playerid);
	}
	if(dialogid == DIALOG_COR)
	{
	    if(response)
	    {
	        if(listitem == 0) return SetarCor(playerid, 0xFF050596, "O Lider da gang alterou a cor de todos os Membros para Vermelho");
	        if(listitem == 1) return SetarCor(playerid, 0xFF05FB96, "O Lider da gang alterou a cor de todos os Membros para Rosa");
	        if(listitem == 2) return SetarCor(playerid, 0x0D05FF96, "O Lider da gang alterou a cor de todos os Membros para Azul");
	        if(listitem == 3) return SetarCor(playerid, 0x05FFE296, "O Lider da gang alterou a cor de todos os Membros para Azul Claro");
	        if(listitem == 4) return SetarCor(playerid, 0x04870696, "O Lider da gang alterou a cor de todos os Membros para Verde");
	        if(listitem == 5) return SetarCor(playerid, 0x0DFF0596, "O Lider da gang alterou a cor de todos os Membros para Verde Claro");
	        if(listitem == 6) return SetarCor(playerid, 0xFFFF0596, "O Lider da gang alterou a cor de todos os Membros para Amarelo");
	        if(listitem == 7) return SetarCor(playerid, 0xFF970596, "O Lider da gang alterou a cor de todos os Membros para Laranjado");
	        if(listitem == 8) return SetarCor(playerid, 0x00000096, "O Lider da gang alterou a cor de todos os Membros para Preto");
	        if(listitem == 9) return SetarCor(playerid, 0xFFFFFF96, "O Lider da gang alterou a cor de todos os Membros para Branco");
		}
		if(!response) DialogGang(playerid);
	}
	if(dialogid == DIALOG_CARROS)
	{
	    if(!response)
		{
			DialogGang(playerid);
			PlayerDados[playerid][CCarro1] = false;
			PlayerDados[playerid][CCarro2] = false;
			PlayerDados[playerid][CCarro3] = false;
		}
	}
	if(dialogid == DIALOG_SPAWN)
	{
	    if(!response)
	    {
	        DialogGang(playerid);
	        PlayerDados[playerid][LocalSpawn] = false;
		}
	}
	if(dialogid == DIALOG_DEMITIR)
	{
	    if(response)
	    {
            new str1[128];
	        format(String, sizeof(String), "LAGANGS/Players/%s.ini", Nome(playerid));
	        format(str1, sizeof(str1), "LAGANGS/Players/%s.ini", Nome(strval(inputtext)));
	        if(!IsPlayerConnected(strval(inputtext)))
	        {
	            SendClientMessage(playerid, CINZA, "Jogador Offline!");
	            ShowPlayerDialog(playerid, DIALOG_PROMOVER, DIALOG_STYLE_INPUT, "Demitindo um Membro", "{FFFFFF}Digite abaixo o ID do jogador que\ndeseja demitir", "Demitir", "Cancelar");
				return 1;
			}
	        if(DOF2_GetInt(str1, "Membro") != DOF2_GetInt(String, "Lider"))
	        {
	            SendClientMessage(playerid, VERMELHO, "Vocк sу pode demitir um jogador da sua gang!");
	            ShowPlayerDialog(playerid, DIALOG_DEMITIR, DIALOG_STYLE_INPUT, "Demitindo um Membro", "{FFFFFF}Digite abaixo o ID do jogador que\ndeseja demitir", "Demitir", "Cancelar");
	            return 1;
			}
	        format(String, sizeof(String), "O Lider Demitiu o Jogador {3BEDC7}%s{008040} da Gang!", Nome(strval(inputtext)));
			AvisoLider(playerid, String);
	        PlayerDados[strval(inputtext)][Membro] = 0;
	        PlayerDados[strval(inputtext)][Lider] = 0;
	        PlayerDados[strval(inputtext)][Cargo] = 0;
	        SetPlayerSkin(strval(inputtext), 0);
		}
		if(!response) return DialogGang(playerid);
	}
	if(dialogid == DIALOG_PROMOVER)
	{
	    if(response)
	    {
	        new str1[128];
	        format(String, sizeof(String), "LAGANGS/Players/%s.ini", Nome(playerid));
	        format(str1, sizeof(str1), "LAGANGS/Players/%s.ini", Nome(strval(inputtext)));
	        if(!IsPlayerConnected(strval(inputtext)))
	        {
	            SendClientMessage(playerid, CINZA, "Jogador Offline!");
	            ShowPlayerDialog(playerid, DIALOG_PROMOVER, DIALOG_STYLE_INPUT, "Promovendo um jogador", "Digite abaixo o ID do Jogador\nQue deseja promover", "Avancar", "Cancelar");
				return 1;
			}
	        if(DOF2_GetInt(str1, "Membro") != DOF2_GetInt(String, "Lider"))
	        {
	            SendClientMessage(playerid, VERMELHO, "Vocк sу pode promover um jogador da sua gang!");
	            ShowPlayerDialog(playerid, DIALOG_PROMOVER, DIALOG_STYLE_INPUT, "Promovendo um jogador", "Digite abaixo o ID do Jogador\nQue deseja promover", "Avancar", "Cancelar");
	            return 1;
			}
			IdPromovido = strval(inputtext);
			format(String, sizeof(String), "{FFFFFF}Digite abaixo o cargo que\nvocк deseja dar ao jogador {3BEDC7}ID %d", IdPromovido);
			ShowPlayerDialog(playerid, DIALOG_PROMOVER2, DIALOG_STYLE_INPUT, "Promovendo um Jogador", String, "Promover", "Voltar");
		}
		if(!response) return DialogGang(playerid);
		return 1;
	}
	if(dialogid == DIALOG_PROMOVER2)
	{
	    if(response)
	    {
	        if(strval(inputtext) > 5 || strval(inputtext) < 1)
	        {
	            SendClientMessage(playerid, VERMELHO, "O cargo Mбximo й 5 e o mнnimo й 1!");
	            format(String, sizeof(String), "Digite abaixo o cargo que\nvocк deseja dar ao jogador ID {3BEDC7}%d", IdPromovido);
				ShowPlayerDialog(playerid, DIALOG_PROMOVER2, DIALOG_STYLE_INPUT, "Promovendo um Jogador", String, "Promover", "Voltar");
				return 0;
			}
			for(new i = 0; i < MAX_PLAYERS; i++)
	        {
	            if(PlayerDados[i][Membro] == PlayerDados[playerid][Membro])
	            {
	                format(String, sizeof(String), "O Lider Promoveu o jogador {3BEDC7}%s{38FF06} para Cargo {3BEDC7}%d", Nome(IdPromovido), strval(inputtext));
	                SendClientMessage(i, VERDE_CLARO, String);
				}
			}
			PlayerDados[IdPromovido][Cargo] = strval(inputtext);
			SalvarDados(IdPromovido);
		}
		if(!response) return DialogGang(playerid);
	}
	if(dialogid == DIALOG_CONVIDAR)
	{
	    if(response)
	    {
	        if(!strlen(inputtext))
	        {
	            SendClientMessage(playerid, VERMELHO_CLARO, "Digite um ID Vбlido!");
	            ShowPlayerDialog(playerid, DIALOG_CONVIDAR, DIALOG_STYLE_INPUT, "Convidando um jogador", "Digite abaixo o ID do jogador\nPara Convida-lo para sua Gang", "Convidar", "Cancelar");
				return 1;
			}
		 	if(!IsPlayerConnected(strval(inputtext)))
		 	{
				SendClientMessage(playerid, VERMELHO_CLARO, "Jogador Offline");
				ShowPlayerDialog(playerid, DIALOG_CONVIDAR, DIALOG_STYLE_INPUT, "Convidando um jogador", "Digite abaixo o ID do jogador\nPara Convida-lo para sua Gang", "Convidar", "Cancelar");
				return 1;
			}
			new str[256];
			format(str, sizeof(str), "LAGANGS/Gangs/%d.ini", PlayerDados[playerid][Lider]);
			format(String, sizeof(String), "{FFFFFF}Vocк estб sendo convidado pelo Lider {3BEDC7}%s{FFFFFF}\nPara participar da gang {3BEDC7}%s", Nome(playerid), DOF2_GetString(str, "Nome"));
			ShowPlayerDialog(strval(inputtext), DIALOG_CONVIDADO, DIALOG_STYLE_MSGBOX, "Convidado para Gang", String, "Aceitar", "Recusar");
			format(String, sizeof(String), "Jogador %s [ID: %d] Convidado, aguarde a resposta", Nome(strval(inputtext)), strval(inputtext));
			SendClientMessage(playerid, AZUL_CLARO, String);
			IdConvidou = playerid;
			IdGangC = DOF2_GetInt(str, "ID");
		}
		if(!response) return DialogGang(playerid);
		return 1;
	}
	if(dialogid == DIALOG_CONVIDADO)
	{
	    if(response)
	    {
	        PlayerDados[playerid][Membro] = IdGangC;
			for(new i; i < MAX_PLAYERS; i++)
			{
			    if(PlayerDados[i][Membro] == PlayerDados[playerid][Membro])
			    {
			        format(String, sizeof(String), "{3BED3E}O Jogador {3BEDC7}%s{3BED3E} aceitou o convite de {3BEDC7}%s{3BED3E} e й o mais novo membro da gang", Nome(playerid), Nome(IdConvidou));
			        SendClientMessage(i, VERDE_CLARO, String);
				}
			}
		}
		if(!response)
		{
			format(String, sizeof(String), "O Jogador {3BEDC7}%s{3BED3E} Recusou seu convite", Nome(playerid));
			SendClientMessage(IdConvidou, VERDE_CLARO, String);
		}
	}
	if(dialogid == DIALOG_SKIN)
	{
	    if(response)
	    {
			if(!strlen(inputtext))
			{
			    SendClientMessage(playerid, VERMELHO_CLARO, "Digite um numero vбlido!");
                format(String, sizeof(String), "LAGANGS/Gangs/%d.ini", PlayerDados[playerid][Lider]);
			    if(!DOF2_IsSet(String, "Skin"))
				{
					ShowPlayerDialog(playerid, DIALOG_SKIN, DIALOG_STYLE_INPUT, "Skin da Gang", "O Skin da gang ainda nгo Estб Definido\n\nDigite o ID da skin para defini-lo", "Definir", "Cancelar");
					return 1;
				}
				format(String, sizeof(String), "{FFFFFF}O Atual Skin da Gang й o {1BE032}%d{FFFFFF}\n\nColoque o novo ID abaixo",ArquivoGangInt(playerid, "Skin"));
				ShowPlayerDialog(playerid, DIALOG_SKIN, DIALOG_STYLE_INPUT, "Skin da Gang", String, "Definir", "Cancelar");
				return 1;
			}
			if(strval(inputtext) > 299)
			{
			    SendClientMessage(playerid, VERMELHO_CLARO, "Numero maximo й 299!");
                format(String, sizeof(String), "LAGANGS/Gangs/%d.ini", PlayerDados[playerid][Lider]);
			    if(!DOF2_IsSet(String, "Skin"))
				{
					ShowPlayerDialog(playerid, DIALOG_SKIN, DIALOG_STYLE_INPUT, "Skin da Gang", "O Skin da gang ainda nгo Estб Definido\n\nDigite o ID da skin para defini-lo", "Definir", "Cancelar");
					return 1;
				}
				format(String, sizeof(String), "{FFFFFF}O Atual Skin da Gang й o {1BE032}%d{FFFFFF}\n\nColoque o novo ID abaixo",ArquivoGangInt(playerid, "Skin"));
				ShowPlayerDialog(playerid, DIALOG_SKIN, DIALOG_STYLE_INPUT, "Skin da Gang", String, "Definir", "Cancelar");
				return 1;
			}
	        format(String, sizeof(String), "O Lider da Gang Mudou a Skin De todos os membros para a {1BE032}%d{FFFFFF}", strval(inputtext));
	        AvisoLider(playerid, String);
	        DOF2_SetInt(IdGang(playerid), "Skin", strval(inputtext));
	        for(new i = 0; i < MAX_PLAYERS; i++)
	        {
				if(PlayerDados[i][Membro] == PlayerDados[playerid][Lider])
				{
				    SetPlayerSkin(i, strval(inputtext));
				}
			}
			DialogGang(playerid);
		}
		if(!response)
		{
		    format(String, sizeof(String), "LAGANGS/Gangs/%d.ini", PlayerDados[playerid][Lider]);
			format(String, sizeof(String), "{0DD0DE}Menu da Gang %s", DOF2_GetString(String, "Nome"));
			ShowPlayerDialog(playerid, DIALOG_INFO, DIALOG_STYLE_LIST, String,"{25E01B}Nome da Gang\n{157310}Skin da Gang\n{34B8C7}Convidar\n{0DE4FC}Promover\n{FF0019}Demitir\n{FFEE00}Carro 1\nCarro 2\nCarro 3\n{FF00FF}Spawn\n{FFFFFF}Cor\n{FA460A}Tag\n{FA0A0A}Encerrar gang", "Ver", "Cancelar");
	    }
	}
	if(dialogid == DIALOG_NOMEG)
	{
	    if(response)
	    {
	        if(!strlen(inputtext))
			{
				SendClientMessage(playerid, VERMELHO_CLARO, "Nome Invalido");
				format(String, sizeof(String), "LAGANGS/Gangs/%d.ini", PlayerDados[playerid][Lider]);
				format(String, sizeof(String), "{FFFFFF}O Atual nome da Gang й {1BE032}%s{FFFFFF}\n\nEscreva o novo nome", DOF2_GetString(String, "Nome"));
	            ShowPlayerDialog(playerid, DIALOG_NOMEG, DIALOG_STYLE_INPUT, "Nome da Gang", String, "Mudar", "Cancelar");
	            return 0;
			}
	        format(String, sizeof(String), "LAGANGS/Gangs/%d.ini", PlayerDados[playerid][Lider]);
	        DOF2_SetString(String, "Nome", inputtext);
			for(new i = 0; i < MAX_PLAYERS; i++)
			{
			    if(PlayerDados[i][Membro] == PlayerDados[playerid][Lider])
			    {
			        format(String, sizeof(String), "O Lider {3B65ED}%s{38FF06} Mudou o nome da Gang para {3B65ED}%s", Nome(playerid), inputtext);
			        SendClientMessage(i, VERDE_CLARO, String);
				}
			}
			format(String, sizeof(String), "LAGANGS/Gangs/%d.ini", PlayerDados[playerid][Lider]);
			format(String, sizeof(String), "{0DD0DE}Menu da Gang %s", DOF2_GetString(String, "Nome"));
			ShowPlayerDialog(playerid, DIALOG_INFO, DIALOG_STYLE_LIST, String,"{25E01B}Nome da Gang\n{157310}Skin da Gang\n{34B8C7}Convidar\n{0DE4FC}Promover\n{FF0019}Demitir\n{FFEE00}Carro 1\n{FFEE00}Carro 2\n{FFEE00}Carro 3\n{FF00FF}Spawn\n{FFFFFF}Cor\n{FA460A}Tag\n{FA0A0A}Encerrar gang", "Ver", "Cancelar");
		}
		if(!response)
		{
		    format(String, sizeof(String), "LAGANGS/Gangs/%d.ini", PlayerDados[playerid][Lider]);
			format(String, sizeof(String), "{0DD0DE}Menu da Gang %s", DOF2_GetString(String, "Nome"));
			ShowPlayerDialog(playerid, DIALOG_INFO, DIALOG_STYLE_LIST, String,"{25E01B}Nome da Gang\n{157310}Skin da Gang\n{34B8C7}Convidar\n{0DE4FC}Promover\n{FF0019}Demitir\n{FFEE00}Carro 1\n{FFEE00}Carro 2\n{FFEE00}Carro 3\n{FF00FF}Spawn\n{FFFFFF}Cor\n{FA460A}Tag\n{FA0A0A}Encerrar gang", "Ver", "Cancelar");
		}
	}
	return 1;
}

stock Nome(playerid)
{
	new pname[24];
	GetPlayerName(playerid, pname, 24);
	return pname;
}

stock ContaExiste(playerid)
{
	format(String, sizeof(String), "LAGANGS/Players/%s.ini", Nome(playerid));
	return DOF2_FileExists(String);
}
	
stock IdGang(playerid)
{
	new StringNome[100];
    format(StringNome, sizeof(StringNome), "LAGANGS/Gangs/%d.ini", PlayerDados[playerid][Lider]);
    return StringNome;
}

stock ArquivoGangInt(playerid, linha[])
{
 	new str[100];
	format(str, sizeof(str), "LAGANGS/Gangs/%d.ini", PlayerDados[playerid][Membro]);
	return DOF2_GetInt(str, linha);
}

stock ArquivoGangHex(playerid, linha[])
{
 	new str[100];
	format(str, sizeof(str), "LAGANGS/Gangs/%d.ini", PlayerDados[playerid][Membro]);
	return DOF2_GetHex(str, linha);
}

stock AvisoLider(playerid, mensagem[])
{
	for(new i = 0; i < MAX_PLAYERS; i++)
	{
	    if(PlayerDados[i][Membro] == PlayerDados[playerid][Lider] || PlayerDados[i][Lider] == PlayerDados[playerid][Lider])
	    {
	    	SendClientMessage(i, VERDE_CLARO, mensagem);
		}
	}
	return 1;
}

stock DialogGang(playerid)
{
    format(String, sizeof(String), "LAGANGS/Gangs/%d.ini", PlayerDados[playerid][Lider]);
	format(String, sizeof(String), "{0DD0DE}Menu da Gang %s", DOF2_GetString(String, "Nome"));
	ShowPlayerDialog(playerid, DIALOG_INFO, DIALOG_STYLE_LIST, String,"{25E01B}Nome da Gang\n{157310}Skin da Gang\n{34B8C7}Convidar\n{0DE4FC}Promover\n{FF0019}Demitir\n{FFEE00}Carro 1\n{FFEE00}Carro 2\n{FFEE00}Carro 3\n{FF00FF}Spawn\n{FFFFFF}Cor\n{FA460A}Tag\n{FA0A0A}Encerrar gang", "Ver", "Cancelar");
	return 1;
}

stock SalvarDados(playerid)
{
    format(String, sizeof(String), "LAGANGS/Players/%s.ini", Nome(playerid));
	DOF2_SetInt(String, "Lider", PlayerDados[playerid][Lider]);
	DOF2_SetInt(String, "Membro", PlayerDados[playerid][Membro]);
	DOF2_SetInt(String, "Cargo", PlayerDados[playerid][Cargo]);
	return 1;
}

stock SetarCor(playerid, cor, mensagem[])
{
	for(new i = 0; i < MAX_PLAYERS; i++)
	{
	    if(PlayerDados[i][Membro] == PlayerDados[playerid][Lider])
	    {
	        SetPlayerColor(i, cor);
	        SendClientMessage(i, cor, mensagem);
		}
	}
	format(String, sizeof(String), "LAGANGS/Gangs/%d.ini", GangPlayer(playerid));
	DOF2_SetHex(String, "Cor", cor);
	return 1;
}

stock GangPlayer(playerid)
{
	new str[128];
	format(str, sizeof(str), "LAGANGS/Players/%s.ini", Nome(playerid));
	return DOF2_GetInt(str, "Membro");
}
Reply
#2



Se ja ta definido de outro geito pra que utilizar isto?
pawn Код:
if(!DOF2_FileExists(String))
        {
            PlayerDados[playerid][Membro] = 0;
            PlayerDados[playerid][Cargo] = 0;
        }
Reply
#3

/\ Na onde?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)