[Ajuda] Servidor reinicia com comando bugado
#1

Bom, tenho um server RPG e nele tem um sistema de Famнlias уtimo, porem bugado!

Explicaзгo
Pra criar uma famнlia o player precisa da autorizaзгo de um adminstrador
O adminstrador autoriza o player com o comando /liberarfamilia
O player cria a familia com o comando /familia criar [Nome da Famнlia]
Quando o player digita o comando depois da autorizaзгo, o servidor cai e reinicia.

Jб tentei de varias formas achar o erro, me ajudem!

/liberarfamilia
Код:
CMD:liberarfamilia(playerid, params[])
	{
    if (PlayerInfo[playerid][pAdmin] < 3000) return 1;
	    		if (!gPlayerLogged[playerid])
		return SendClientMessage(playerid, COLOR_GRAD1, "   Vocк nгo estб logado !");
			new para1;
			if(sscanf(params, "u", para1))
				{
					SendClientMessage(playerid, COLOR_GRAD1, "USE: /liberarfamilia [ID do Player]");
					return true;
				}
			GetPlayerName(para1, giveplayer, sizeof(giveplayer));
			GetPlayerName(playerid, sendername, sizeof(sendername));
		    if(IsPlayerConnected(para1))
		    {
		        if(para1 != INVALID_PLAYER_ID)
		        {
		            new string[128];
					format(string, sizeof string, "{FFD700}[Familia VIP] {FFFFFF} Admin %s te deu autorizaзгo para criar uma Famнlia", sendername);
					SendClientMessage(para1, COLOR_DBLUE, string);
     				PlayerInfo[para1][pFamiliavip] += 1;
					format(string, sizeof string, "{FFD700}[Familia VIP]: {FFFFFF} Vocк setou 1 mкs de Familia VIP para %s", giveplayer);
					SendClientMessage(playerid, COLOR_DBLUE, string);
				}
			}
			return true;
	}
/familia criar [Nome da Familia]
Код:
if(strcmp(x_nr,"criar",true) == 0){

	if (PlayerInfo[playerid][pAdmin] < 3000) return 1;
	    		if (!gPlayerLogged[playerid])
    if(PlayerInfo[playerid][pFamiliavip] < 1)
     					{
         					SendClientMessage(playerid, COLOR_GREY, "Vocк nгo tem nenhuma autorizaзгo para criar uma familia compre usando /menuvip");
       		 				return true;
	        			}
           PlayerInfo[playerid][pFamiliavip] -= 1;
        tmp = strtok(params, idx);
		if(!strlen(tmp))
		    return SendClientMessage(playerid, COLOR_GRAD1, "USE: /familia Criar [Nome da famнlia]");

        createFamilia(playerid, tmp, PlayerName(playerid));
    }
Reply
#2

Posta o comando inteiro de criar familia e oque tem nesse createFamilia
Reply
#3

Quote:
Originally Posted by [BOPE]Seu._.Madruga
Посмотреть сообщение
Posta o comando inteiro de criar familia e oque tem nesse createFamilia
Код:
CMD:familia(playerid, params[]){

    MEGAString[0] = EOS;

   	new idx,
		tmp[128],
		x_nr[76]
	;

    new string[128];

    x_nr = strtok(params, idx);
	if(isnull(x_nr)){

		if(PlayerInfo[playerid][pFamiliaLeader] != 1 || PlayerInfo[playerid][pFamiliaSubLeader] != 1)
		    return ForT:familia(playerid, "ajuda");

		SendClientMessage(playerid, COLOR_WHITE, "Comandos da familia:");
		SendClientMessage(playerid, COLOR_GREY, "/familias /familia /aceitarfamilia /sairfamilia");
		SendClientMessage(playerid, COLOR_GREY, "OBS: Para falar no chat da familia, use {FFFFFF}@ [Texto]");
		return true;
	}
    if(strcmp(x_nr,"ajuda",true) == 0){

        strcat(MEGAString, "{1E90FF}Uso correto do comando: {FFFFFF}/familia [Nome]\n\n");
        strcat(MEGAString, "{B4B5B7}Nomes disponнveis:\n");
        strcat(MEGAString, "{1E90FF}• Ajuda:	{B4B5B7}Mostra os comandos da famнlia\n");
        strcat(MEGAString, "{1E90FF}• Criar:	{B4B5B7}Usado para criar uma famнlia\n");
        strcat(MEGAString, "{1E90FF}• DarSub:	{B4B5B7}Promove alguйm para sub-lнder\n");
        strcat(MEGAString, "{1E90FF}• RetirarSub:	{B4B5B7}Remover alguйm de sub-lнder\n");
        strcat(MEGAString, "{1E90FF}• Info:		{B4B5B7}Usado para ver as informaзхes da famнlia\n");
        strcat(MEGAString, "{1E90FF}• Depositar:	{B4B5B7}Para depositar dinheiro ao cofre da famнlia\n");
        strcat(MEGAString, "{1E90FF}• Sacar:	{B4B5B7}Para sacar dinheiro do cofre da famнlia\n");
        strcat(MEGAString, "{1E90FF}• Spawn:	{B4B5B7}Setar o local de spawn da famнlia\n");
        strcat(MEGAString, "{1E90FF}• Carro:	{B4B5B7}Usado para comprar um carro para a famнlia\n");
        strcat(MEGAString, "{1E90FF}• Convidar:	{B4B5B7}Usado para convidar alguйm para a famнlia\n");
        strcat(MEGAString, "{1E90FF}• Expulsar:	{B4B5B7}Usado para expulsar alguйm da famнlia\n");
        strcat(MEGAString, "{1E90FF}• Membros:	{B4B5B7}Usado ver todos membros online da famнlia\n");
        strcat(MEGAString, "{1E90FF}• Sair:	    {B4B5B7}Usado para sair da famнlia\n");
        strcat(MEGAString, "{1E90FF}• Limpar:	{B4B5B7}Usado para limpar a vaga de um membro da famнlia\n");
        strcat(MEGAString, "{1E90FF}• Destruir:	{B4B5B7}Usado para destruir a famнlia");
        ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Comandos da famнlia", MEGAString, "Fechar", "");
    }
    if(strcmp(x_nr,"sair",true) == 0){

        if(PlayerInfo[playerid][pFamiliaID] == 0)
            return SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo й de um famнlia!");

		if(PlayerInfo[playerid][pFamiliaLeader] == 1){

			SendClientMessage(playerid, COLOR_LIGHTBLUE, #Vocк saiu da famнlia!);
			PlayerInfo[playerid][pFamiliaID] = 0;
			PlayerInfo[playerid][pFamiliaSubLeader] = 0;
		}
		return 1;
    }
    if(strcmp(x_nr,"criar",true) == 0){

	if (PlayerInfo[playerid][pAdmin] < 3000) return 1;
	    		if (!gPlayerLogged[playerid])
    if(PlayerInfo[playerid][pFamiliavip] < 1)
     					{
         					SendClientMessage(playerid, COLOR_GREY, "Vocк nгo tem nenhuma autorizaзгo para criar uma familia compre usando /menuvip");
       		 				return true;
	        			}
           PlayerInfo[playerid][pFamiliavip] -= 1;
        tmp = strtok(params, idx);
		if(!strlen(tmp))
		    return SendClientMessage(playerid, COLOR_GRAD1, "USE: /familia Criar [Nome da famнlia]");

        createFamilia(playerid, tmp, PlayerName(playerid));
    }
Reply
#4

deus o livre zcmd com strcmp :O
Reply
#5

Quote:
Originally Posted by [BOPE]Seu._.Madruga
Посмотреть сообщение
deus o livre zcmd com strcmp :O
A gm roda perfeitamente com isso.
Aliбs, vocк nгo sabe resolver?
Reply
#6

Saber resolver sei sim porйm o difнcil й ser VIDENTE, PAI DE SANTO, MANDINGUEIRO ou sei lб.
Apenas re-fiz seu comando pois nгo sei oque tem dentro de createFamilia entгo nгo tem como te ajudar muito.
E alйm do mais strcmp com ZCMD й a mais HUSAHUSA

PHP код:
#define DIALOG_FAMILIA_AJUDA                     1001
CMD:familia(playeridparams[]) {
    new 
funcao[50], nomefamilia[50];
    if(
sscanf(params"s[50]"funcao)) return SendClientMessage(playerid, -1"[ ERRO ] {FF0000}use: /familia [ajuda - criar - sair]");
    if(
strfind(funcao"ajuda"true) != -1) {
        
FamiliaAjuda(playerid);
    }
    if(
strfind(funcao"sair"true) != -1) {
        if(
PlayerInfo[playerid][pFamiliaID] == 0) return SendClientMessage(playeridCOLOR_GRAD1"Vocк nгo й de uma famнlia!");
        if(
PlayerInfo[playerid][pFamiliaLeader] == 1) {
            
SendClientMessage(playeridCOLOR_LIGHTBLUE#Vocк saiu da famнlia!);
            
PlayerInfo[playerid][pFamiliaID] = 0;
            
PlayerInfo[playerid][pFamiliaSubLeader] = 0;
        }
    }
    if(
strfind(funcao"criar"true) != -1) { 
        if(
sscanf(params"s[50]s[50]"funcaonomefamilia)) return SendClientMessage(playeridCOLOR_GRAD1"USE: /familia criar [nome da famнlia]");
        
createFamilia(playeridnomefamiliaPlayerName(playerid));
    }
    return 
1;
}
stock FamiliaAjuda(playerid) {         
    new 
bradoks[1060];
    
strcat(bradoks"{FF0000}Comandos\t{ffffff}Informaзхes\n"); 
    
strcat(bradoks"{1E90FF}• Ajuda:\t{B4B5B7}Mostra os comandos da famнlia\n"); 
    
strcat(bradoks"{1E90FF}• Criar:\t{B4B5B7}Usado para criar uma famнlia\n"); 
    
strcat(bradoks"{1E90FF}• DarSub:\t{B4B5B7}Promove alguйm para sub-lнder\n"); 
    
strcat(bradoks"{1E90FF}• RetirarSub:\t{B4B5B7}Remover alguйm de sub-lнder\n"); 
    
strcat(bradoks"{1E90FF}• Info:\t{B4B5B7}Usado para ver as informaзхes da famнlia\n"); 
    
strcat(bradoks"{1E90FF}• Depositar:\t{B4B5B7}Para depositar dinheiro ao cofre da famнlia\n"); 
    
strcat(bradoks"{1E90FF}• Sacar:\t{B4B5B7}Para sacar dinheiro do cofre da famнlia\n"); 
    
strcat(bradoks"{1E90FF}• Spawn:\t{B4B5B7}Setar o local de spawn da famнlia\n"); 
    
strcat(bradoks"{1E90FF}• Carro:\t{B4B5B7}Usado para comprar um carro para a famнlia\n"); 
    
strcat(bradoks"{1E90FF}• Convidar:\t{B4B5B7}Usado para convidar alguйm para a famнlia\n"); 
    
strcat(bradoks"{1E90FF}• Expulsar:\t{B4B5B7}Usado para expulsar alguйm da famнlia\n"); 
    
strcat(bradoks"{1E90FF}• Membros:\t{B4B5B7}Usado ver todos membros online da famнlia\n"); 
    
strcat(bradoks"{1E90FF}• Sair:\t{B4B5B7}Usado para sair da famнlia\n"); 
    
strcat(bradoks"{1E90FF}• Limpar:\t{B4B5B7}Usado para limpar a vaga de um membro da famнlia\n"); 
    
strcat(bradoks"{1E90FF}• Destruir:\t{B4B5B7}Usado para destruir a famнlia"); 
    
ShowPlayerDialog(playeridDIALOG_FAMILIA_AJUDADIALOG_STYLE_TABLIST_HEADERS"{ffffff}Comandos da {FFD700}Familia"bradoks"Fechar""");
    return 
1

Reply
#7

Quote:
Originally Posted by [BOPE]Seu._.Madruga
Посмотреть сообщение
Saber resolver sei sim porйm o difнcil й ser VIDENTE, PAI DE SANTO, MANDINGUEIRO ou sei lб.
Apenas re-fiz seu comando pois nгo sei oque tem dentro de createFamilia entгo nгo tem como te ajudar muito.
E alйm do mais strcmp com ZCMD й a mais HUSAHUSA
Код:
createFamilia(playerid, familianame[], familialeader[]){

	new
		file[78],
		Str[78],
		f = 1
	;
    while(f < MAX_FAMILIAS){

        format(file, sizeof file, "Familias/Familia%d.ini", f);
        if(!DOF2_FileExists(file)){

			DOF2_CreateFile(file);

			DOF2_SetInt(file, "ID", f);
			DOF2_SetString(file, "Name", familianame);
			DOF2_SetString(file, "Leader", familialeader);
			DOF2_SetString(file, "SubLeader", "Ninguйm");
			DOF2_SetFloat(file, "SpawnX", 0);
			DOF2_SetFloat(file, "SpawnY", 0);
			DOF2_SetFloat(file, "SpawnZ", 0);
			DOF2_SetInt(file, "Int", 0);
			DOF2_SetInt(file, "World", 0);
			DOF2_SetInt(file, "Money", 0);
			DOF2_SetInt(file, "Time", gettime() + (1 * 2592000));
			DOF2_SetInt(file, "VIP", 0);

			for(new veh; veh < 5; veh++){

				format(Str, 22, "Vehicle%d", veh);
				DOF2_SetInt(file, Str, 0);
				format(Str, 22, "VehicleX%d", veh);
				DOF2_SetFloat(file, Str, 0);
				format(Str, 22, "VehicleY%d", veh);
				DOF2_SetFloat(file, Str, 0);
				format(Str, 22, "VehicleZ%d", veh);
				DOF2_SetFloat(file, Str, 0);
				format(Str, 22, "VehicleA%d", veh);
				DOF2_SetFloat(file, Str, 0);
				format(Str, 22, "VehicleColor1%d", veh);
				DOF2_SetInt(file, Str, 0);
				format(Str, 22, "VehicleColor2%d", veh);
				DOF2_SetInt(file, Str, 0);
			}

			for(new a; a < MAX_MEMBERS; a++){

                format(Str, 25, "Membro%d", a);
				DOF2_SetString(file, Str, "Ninguйm");
			}


		    PlayerInfo[playerid][pFamiliaID] = f;
		    PlayerInfo[playerid][pFamiliaLeader] = f;

		    DOF2_SaveFile();

		    format(Str, sizeof Str, "[FAMНLIA]: {FFFFFF}%s {2641FE}criou a famнlia {FFFFFF}%s.", PlayerName(playerid), familianame);
			SendClientMessageToAll(COLOR_DBLUE, Str);
		    carregarFamilias();
		    return 1;
		}
  		f++;
	}
	return 1;
}
Reply
#8

atualizei o codigo na postagem acima, testa e verifica se esta funcionando.

Reply
#9

Irmгo, eu atualizei e deu erro no Pawno Compiler kkjkjk
Isso quer dizer que tem algum erro na script..

Vou te mandar aqui o comando inteiro de /familia

PHP код:
CMD:familia(playeridparams[]){
    
MEGAString[0] = EOS;
       new 
idx,
        
tmp[128],
        
x_nr[76]
    ;
    new 
string[128];
    
x_nr strtok(paramsidx);
    if(
isnull(x_nr)){
        if(
PlayerInfo[playerid][pFamiliaLeader] != || PlayerInfo[playerid][pFamiliaSubLeader] != 1)
            return 
ForT:familia(playerid"ajuda");
        
SendClientMessage(playeridCOLOR_WHITE"Comandos da familia:");
        
SendClientMessage(playeridCOLOR_GREY"/familias /familia /aceitarfamilia /sairfamilia");
        
SendClientMessage(playeridCOLOR_GREY"OBS: Para falar no chat da familia, use {FFFFFF}@ [Texto]");
        return 
true;
    }
    if(
strcmp(x_nr,"ajuda",true) == 0){
        
strcat(MEGAString"{1E90FF}Uso correto do comando: {FFFFFF}/familia [Nome]\n\n");
        
strcat(MEGAString"{B4B5B7}Nomes disponнveis:\n");
        
strcat(MEGAString"{1E90FF}• Ajuda:    {B4B5B7}Mostra os comandos da famнlia\n");
        
strcat(MEGAString"{1E90FF}• Criar:    {B4B5B7}Usado para criar uma famнlia\n");
        
strcat(MEGAString"{1E90FF}• DarSub:    {B4B5B7}Promove alguйm para sub-lнder\n");
        
strcat(MEGAString"{1E90FF}• RetirarSub:    {B4B5B7}Remover alguйm de sub-lнder\n");
        
strcat(MEGAString"{1E90FF}• Info:        {B4B5B7}Usado para ver as informaзхes da famнlia\n");
        
strcat(MEGAString"{1E90FF}• Depositar:    {B4B5B7}Para depositar dinheiro ao cofre da famнlia\n");
        
strcat(MEGAString"{1E90FF}• Sacar:    {B4B5B7}Para sacar dinheiro do cofre da famнlia\n");
        
strcat(MEGAString"{1E90FF}• Spawn:    {B4B5B7}Setar o local de spawn da famнlia\n");
        
strcat(MEGAString"{1E90FF}• Carro:    {B4B5B7}Usado para comprar um carro para a famнlia\n");
        
strcat(MEGAString"{1E90FF}• Convidar:    {B4B5B7}Usado para convidar alguйm para a famнlia\n");
        
strcat(MEGAString"{1E90FF}• Expulsar:    {B4B5B7}Usado para expulsar alguйm da famнlia\n");
        
strcat(MEGAString"{1E90FF}• Membros:    {B4B5B7}Usado ver todos membros online da famнlia\n");
        
strcat(MEGAString"{1E90FF}• Sair:        {B4B5B7}Usado para sair da famнlia\n");
        
strcat(MEGAString"{1E90FF}• Limpar:    {B4B5B7}Usado para limpar a vaga de um membro da famнlia\n");
        
strcat(MEGAString"{1E90FF}• Destruir:    {B4B5B7}Usado para destruir a famнlia");
        
ShowPlayerDialog(playerid0DIALOG_STYLE_MSGBOX"Comandos da famнlia"MEGAString"Fechar""");
    }
    if(
strcmp(x_nr,"sair",true) == 0){
        if(
PlayerInfo[playerid][pFamiliaID] == 0)
            return 
SendClientMessage(playeridCOLOR_GRAD1"Vocк nгo й de um famнlia!");
        if(
PlayerInfo[playerid][pFamiliaLeader] == 1){
            
SendClientMessage(playeridCOLOR_LIGHTBLUE#Vocк saiu da famнlia!);
            
PlayerInfo[playerid][pFamiliaID] = 0;
            
PlayerInfo[playerid][pFamiliaSubLeader] = 0;
        }
        return 
1;
    }
    if(
strcmp(x_nr,"criar",true) == 0){
    if (
PlayerInfo[playerid][pAdmin] < 3000) return 1;
                if (!
gPlayerLogged[playerid])
    if(
PlayerInfo[playerid][pFamiliavip] < 1)
                         {
                             
SendClientMessage(playeridCOLOR_GREY"Vocк nгo tem nenhuma autorizaзгo para criar uma familia compre usando /menuvip");
                                return 
true;
                        }
           
PlayerInfo[playerid][pFamiliavip] -= 1;
        
tmp strtok(paramsidx);
        if(!
strlen(tmp))
            return 
SendClientMessage(playeridCOLOR_GRAD1"USE: /familia Criar [Nome da famнlia]");
        
createFamilia(playeridtmpPlayerName(playerid));
    }
    if(
strcmp(x_nr,"darsub",true) == 0){
        
tmp strtok(paramsidx);
        if(!
strlen(tmp))
            return 
SendClientMessage(playeridCOLOR_GRAD1"USE: /familia DarSub [playerid]");
        if(
PlayerInfo[playerid][pFamiliaLeader] == 0)
            return 
SendClientMessage(playeridCOLOR_GRAD1"Vocк nгo й um lнder de uma famнlia!");
        new 
id strval(tmp);
        if(!
IsPlayerConnected(id))
            return 
SendClientMessage(playeridCOLOR_GRAD1"Este jogador nгo estб conectado!");
        
PlayerInfo[id][pFamiliaSubLeader] = PlayerInfo[playerid][pFamiliaLeader];
        for(new 
iMAX_MEMBERS; ++i){
            if(
strcmp(PlayerName(id), MemberList[PlayerInfo[playerid][pFamiliaLeader]][i], true) == 0){
          
//  if(PlayerInfo[id][pFamiliaID] == PlayerInfo[playerid][pFamiliaLeader]){
                
if(strcmp(FamiliaInfo[PlayerInfo[playerid][pFamiliaLeader]][fSubLeader], "Ninguйm"true) == 0){
                 
//if(strcmp(MemberList[PlayerInfo[playerid][pFamiliaLeader]][i], "Ninguйm", false)){
                    
ClearMember(PlayerName(id), PlayerInfo[playerid][pFamiliaLeader]);
                    new 
file[78];
                    
format(filesizeof file"Familias/Familia%d.ini"PlayerInfo[playerid][pFamiliaLeader]);
                    
format(FamiliaInfo[PlayerInfo[playerid][pFamiliaLeader]][fSubLeader], 25PlayerName(id));
                    
DOF2_SetString(file"SubLeader"PlayerName(id));
                    
DOF2_SaveFile();
                    
format(string256"Voce deu sub lider da sua familia para %s"PlayerName(id));
                    
SendClientMessage(playeridCOLOR_LIGHTBLUEstring);
                    
format(string256"Voce foi promovido para sub lider da familia %s"FamiliaInfo[PlayerInfo[playerid][pFamiliaLeader]][fName]);
                    
SendClientMessage(idCOLOR_LIGHTBLUEstring);
                    return 
1;
                }
                else{
                    
SendClientMessage(playerid, -1#Vocк jб tem um sub-lнder remova-o para promover outro!);
                    
return 1;
                }
            }
            else {
                
SendClientMessage(playeridCOLOR_GRAD1"Vocк sу pode dar sub-lнder para membro da sua famнlia!");
                return 
1;
            }
        }
        
//SendClientMessage(playerid, COLOR_GRAD1, "Vocк sу pode dar sub-lнder para membro da sua famнlia!");
        
return 1;
    }
    if(
strcmp(x_nr,"retirarsub",true) == 0){
        
tmp strtok(paramsidx);
        if(!
strlen(tmp))
            return 
SendClientMessage(playeridCOLOR_GRAD1"USE: /familia retirarsub [playerid]");
        if(
PlayerInfo[playerid][pFamiliaLeader] == 0)
            return 
SendClientMessage(playeridCOLOR_GRAD1"Vocк nгo й um lнder de uma famнlia!");
        new 
id strval(tmp);
        if(!
IsPlayerConnected(id))
            return 
SendClientMessage(playeridCOLOR_GRAD1"Este jogador nгo estб conectado!");
        if(
PlayerInfo[id][pFamiliaID] != PlayerInfo[playerid][pFamiliaID])
            return 
SendClientMessage(playeridCOLOR_GRAD1" Esta pessoa nгo й da sua famнlia.");
        if(
strcmp(FamiliaInfo[PlayerInfo[playerid][pFamiliaLeader]][fSubLeader], PlayerName(id), true) == 0){
            
strmid(FamiliaInfo[PlayerInfo[playerid][pFamiliaLeader]][fSubLeader], "Ninguйm"0strlen("Ninguйm"), MAX_PLAYER_NAME);
            new 
file[78];
            
format(filesizeof file"Familias/Familia%d.ini"PlayerInfo[playerid][pFamiliaLeader]);
            
DOF2_SetString(file"SubLeader""Ninguйm");
            
DOF2_SaveFile();
            
SendClientMessage(playeridCOLOR_LIGHTBLUE"Voce retirou o sub lider da sua familia");
            
format(string256"Voce foi retirado de sub lider da familia %s"FamiliaInfo[PlayerInfo[playerid][pFamiliaLeader]][fName]);
            
SendClientMessage(idCOLOR_LIGHTBLUEstring);
            
InviteFamilia(PlayerName(id), PlayerInfo[PlayerInfo[playerid][pFamiliaLeader]][pFamiliaID]);
            
PlayerInfo[id][pFamiliaSubLeader] = 0;
        }
        else{
            
SendClientMessage(playeridCOLOR_GRAD1"Este jogador nгo й Sub-Lнder da sua famнlia");
        }
        return 
1;
    }
    if(
strcmp(x_nr,"info",true) == 0){
        
ShowInfoFamilia(playeridPlayerInfo[playerid][pFamiliaID]);
    }
    if(
strcmp(x_nr,"depositar",true) == 0){
        
tmp strtok(paramsidx);
        if(!
strval(tmp))
            return 
SendClientMessage(playeridCOLOR_GRAD1"USE: /familia Depositar [Quantidade]");
        if(
strval(tmp) > PlayerInfo[playerid][pCash])
            return 
SendClientMessage(playeridCOLOR_GRAD1"Vocк nгo tem essa quantia!");
        
FamiliaInfo[PlayerInfo[playerid][pFamiliaID]][fMoney] += strval(tmp);
        
GivePlayerMoney(playerid, -strval(tmp));
        
format(stringsizeof string"Vocк depositou $%s no cofre da sua famнlia!"ConvertMoney(strval(tmp)));
        
SendClientMessage(playeridCOLOR_GRAD1string);
        
salvarFamilia(PlayerInfo[playerid][pFamiliaID]);
    }
    if(
strcmp(x_nr,"sacar",true) == 0){
        
tmp strtok(paramsidx);
        if(!
strval(tmp))
            return 
SendClientMessage(playeridCOLOR_GRAD1"USE: /familia Sacar [Quantidade]");
        if(
PlayerInfo[playerid][pFamiliaLeader] == 0)
            return 
SendClientMessage(playeridCOLOR_GRAD1"Vocк nгo й um lнder de uma famнlia!");
        if(
strval(tmp) > FamiliaInfo[PlayerInfo[playerid][pFamiliaID]][fMoney])
            return 
SendClientMessage(playeridCOLOR_GRAD1"Sua famнlia nгo tem tudo isso!");
        
FamiliaInfo[PlayerInfo[playerid][pFamiliaID]][fMoney] = FamiliaInfo[PlayerInfo[playerid][pFamiliaID]][fMoney]-strval(tmp);
        
GivePlayerMoney(playeridstrval(tmp));
        
format(stringsizeof string"Vocк sacou $%s no cofre da sua famнlia!"ConvertMoney(strval(tmp)));
        
SendClientMessage(playeridCOLOR_GRAD1string);
        
salvarFamilia(PlayerInfo[playerid][pFamiliaID]);
    }
    if(
strcmp(x_nr,"spawn",true) == 0){
        new 
PlayerInfo[playerid][pFamiliaLeader];
        if(
== 0)
            return 
SendClientMessage(playeridCOLOR_GRAD1"Vocк nгo й um lнder de uma famнlia!");
           new 
Float:XFloat:YFloat:Z;
           
GetPlayerPos(playeridXYZ);
           
FamiliaInfo[i][fSpawnX] = X;
           
FamiliaInfo[i][fSpawnY] = Y;
           
FamiliaInfo[i][fSpawnZ] = Z;
           
FamiliaInfo[i][fInt] = GetPlayerInterior(playerid);
           
FamiliaInfo[i][fWorld] = GetPlayerVirtualWorld(playerid);
        
DestroyDynamicPickup(FamiliaInfo[i][fPickup]);
        
FamiliaInfo[idx][fPickup] = CreateDynamicPickup(131423FamiliaInfo[i][fSpawnX], FamiliaInfo[i][fSpawnY], FamiliaInfo[i][fSpawnZ]);
        
DestroyDynamic3DTextLabel(FamiliaInfo[i][fText]);
        
format(string78"HQ da famнlia %s"FamiliaInfo[i][fName]);
        
FamiliaInfo[idx][fText] = CreateDynamic3DTextLabel(string0xCD853FFFFamiliaInfo[i][fSpawnX], FamiliaInfo[i][fSpawnY], FamiliaInfo[i][fSpawnZ], 15.0);
           
format(stringsizeof string"Vocк setou o spawn da sua famнlia nas posiзхes X: %f, Y: %f, Z:%f, Interior: %d, World: %d"FamiliaInfo[i][fSpawnX], FamiliaInfo[i][fSpawnY], FamiliaInfo[i][fSpawnZ], FamiliaInfo[i][fInt], FamiliaInfo[i][fWorld]);
        
SendClientMessage(playerid0x1E90FFFFstring);
        
salvarFamilia(i);
        
carregarFamilias();
    }
    if(
strcmp(x_nr,"carro",true) == 0){
        if(
IsPlayerInRangeOfPoint(playerid5.0FamiliaInfo[PlayerInfo[playerid][pFamiliaID]][fSpawnX], FamiliaInfo[PlayerInfo[playerid][pFamiliaID]][fSpawnY], FamiliaInfo[PlayerInfo[playerid][pFamiliaID]][fSpawnZ])){
            
strcat(MEGAString"Veiculo\tNome\tCusto da compra/troca\n");
            for(new 
i5i++){
                new 
text[25];
                if(
FamiliaInfo[PlayerInfo[playerid][pFamiliaID]][fVehicle][i] == 0)
                    
text "Nenhum";
                else
                    
format(text25veehName[GetVehicleModel(FamiliaInfo[PlayerInfo[playerid][pFamiliaID]][fVehicle][i])-400]);
                
format(string128"{1E90FF}Veiculo%d:\t%s\t{33AA33}$100.000\n"i+1text);
                
strcat(MEGAStringstring);
            }
            
ShowPlayerDialog(playerid25105"Escolha um slot para comprar/trocar de carro"MEGAString"Selecionar","Fechar");
        }
        else{
            
SendClientMessage(playeridCOLOR_GRAD1"Vocк nгo estб proximo a HQ da sua famнlia!");
        }
    }
    if(
strcmp(x_nr,"convidar",true) == 0){
        
tmp strtok(paramsidx);
        if(!
strlen(tmp))
            return 
SendClientMessage(playeridCOLOR_GRAD1"USE: /familia Convidar [playerid]");
        if(
PlayerInfo[playerid][pFamiliaLeader] == 0)
            return 
SendClientMessage(playeridCOLOR_GRAD1"Vocк nгo й um lнder de uma famнlia!");
        new 
id strval(tmp);
        if(
PlayerInfo[id][pFamiliaID] > || PlayerInfo[id][pFamiliaLeader] > || PlayerInfo[id][pFamiliaSubLeader] > 1)
            return 
SendClientMessage(playeridCOLOR_GRAD1" Este jogador jб й membro de uma famнlia.");
        if(!
IsPlayerConnected(id))
            return 
SendClientMessage(playeridCOLOR_GRAD1"Este jogador nгo estб conectado!");
        
format(stringsizeof(string), " Vocк convidou %s para a sua famнlia. Aguarde atй que ele aceite."PlayerName(id));
        
SendClientMessage(playeridCOLOR_LIGHTBLUEstring);
        
format(stringsizeof(string), " Vocк foi convidado por %s para a famнlia %s."PlayerName(playerid), FamiliaInfo[PlayerInfo[playerid][pFamiliaID]][fName]);
        
SendClientMessage(idCOLOR_LIGHTBLUEstring);
        
SendClientMessage(idCOLOR_LIGHTBLUE"Caso queira aceitar, digite /familia aceitar. Senгo, digite /familia recusar");
        
InviteOffer2[id] = playerid;
    }
    if(
strcmp(x_nr,"aceitar",true) == 0){
        if(
PlayerInfo[playerid][pFamiliaID] == 1)
            return 
SendClientMessage(playeridCOLOR_GRAD1" Vocк jб й de uma famнlia.");
        if(
InviteOffer2[playerid] == -1)
            return 
SendClientMessage(playeridCOLOR_GRAD1" Vocк nгo foi convidado para uma famнlia.");
        
InviteFamilia(PlayerName(playerid), PlayerInfo[InviteOffer2[playerid]][pFamiliaID]);
        
PlayerInfo[playerid][pFamiliaID] = PlayerInfo[InviteOffer2[playerid]][pFamiliaID];
        
format(stringsizeof(string), " Vocк aceitou o convite de %s para a famнlia %s. Seja bem vindo."PlayerName(InviteOffer2[playerid]), FamiliaInfo[PlayerInfo[InviteOffer2[playerid]][pFamiliaID]][fName]);
        
SendClientMessage(playeridCOLOR_LIGHTBLUEstring);
        
format(stringsizeof(string), " O player %s aceitou o seu convite para participar da sua famнlia."PlayerName(playerid));
        
SendClientMessage(InviteOffer2[playerid], COLOR_LIGHTBLUEstring);
        
InviteOffer2[playerid] = -1;
    }
    if(
strcmp(x_nr,"recusar",true) == 0){
        if(
InviteOffer2[playerid] == -1)
            return 
SendClientMessage(playeridCOLOR_GRAD1" Vocк nгo foi convidado para uma famнlia.");
        
format(stringsizeof string" O jogador %s recusou o seu convite para a sua famнlia."PlayerName(playerid));
        
SendClientMessage(InviteOffer2[playerid], COLOR_LIGHTBLUE" Vocк recusou o convite para a famнlia.");
        
SendClientMessage(playeridCOLOR_LIGHTBLUE" Vocк recusou o convite para a famнlia.");
        
InviteOffer2[playerid] = -1;
    }
    if(
strcmp(x_nr,"expulsar",true) == 0){
        
tmp strtok(paramsidx);
        if(!
strlen(tmp))
            return 
SendClientMessage(playeridCOLOR_GRAD1"USE: /familia Expulsar [playerid]");
        if(
PlayerInfo[playerid][pFamiliaLeader] == 0)
            return 
SendClientMessage(playeridCOLOR_GRAD1"Vocк nгo й um lнder de uma famнlia!");
        new 
id strval(tmp);
        if(
PlayerInfo[id][pFamiliaID] != PlayerInfo[playerid][pFamiliaID])
            return 
SendClientMessage(playeridCOLOR_GRAD1" Esta pessoa nгo й da sua famнlia.");
        new 
iString[128];
        
format(iStringsizeof(iString), " Vocк expulsou %s da sua famнlia."PlayerName(id));
        
SendClientMessage(playeridCOLOR_LIGHTBLUEiString);
        
format(iStringsizeof(iString), " Vocк foi expulso da famнlia pelo lнder %s."PlayerName(playerid));
        
SendClientMessage(idCOLOR_LIGHTBLUEiString);
        
PlayerInfo[id][pFamiliaID] = 0;
        
PlayerInfo[id][pFamiliaSubLeader] = 0;
        
PlayerInfo[id][pFamiliaLeader] = 0;
        
ClearMember(PlayerName(id), PlayerInfo[playerid][pFamiliaID]);
    }
    if(
strcmp(x_nr,"membros",true) == 0){
        if(
PlayerInfo[playerid][pFamiliaID] == 0)
            return 
SendClientMessage(playeridCOLOR_GRAD1"Vocк nгo й de uma famнlia!");
           
SendClientMessage(playerid, -1"Membros Online:");
        foreach(
Playeri){
            if(
PlayerInfo[i][pFamiliaID] == PlayerInfo[playerid][pFamiliaID]){
                new 
cargo[20];
                if(
PlayerInfo[i][pFamiliaLeader] > 1)
                    
cargo "[Lнder]";
                else if(
PlayerInfo[i][pFamiliaSubLeader] > 1)
                    
cargo "[Sub-Lнder]";
                else 
cargo " ";
                
format(stringsizeof string"%s %s"PlayerName(i), cargo);
                
SendClientMessage(playeridCOLOR_GRAD1string);
            }
        }
    }
    return 
1;

Reply
#10

Revise seu cуdigo entгo porque aqui estб funcionando.
OBS: Como eu nгo tinha os Mбximos de Famнlia e nem de Membros por Famнlia defini como:

PHP код:
#define MAX_FAMILIAS                    500
#define MAX_MEMBERS                     50 
Код:
ID = 1
Name = bradoks
Leader = Leonardo_Bradoks
SubLeader = Ninguйm
SpawnX = 0.00000000
SpawnY = 0.00000000
SpawnZ = 0.00000000
Int = 0
World = 0
Money = 0
Time = 1541387402
VIP = 0
Vehicle0 = 0
VehicleX0 = 0.00000000
VehicleY0 = 0.00000000
VehicleZ0 = 0.00000000
VehicleA0 = 0.00000000
VehicleColor10 = 0
VehicleColor20 = 0
Vehicle1 = 0
VehicleX1 = 0.00000000
VehicleY1 = 0.00000000
VehicleZ1 = 0.00000000
VehicleA1 = 0.00000000
VehicleColor11 = 0
VehicleColor21 = 0
Vehicle2 = 0
VehicleX2 = 0.00000000
VehicleY2 = 0.00000000
VehicleZ2 = 0.00000000
VehicleA2 = 0.00000000
VehicleColor12 = 0
VehicleColor22 = 0
Vehicle3 = 0
VehicleX3 = 0.00000000
VehicleY3 = 0.00000000
VehicleZ3 = 0.00000000
VehicleA3 = 0.00000000
VehicleColor13 = 0
VehicleColor23 = 0
Vehicle4 = 0
VehicleX4 = 0.00000000
VehicleY4 = 0.00000000
VehicleZ4 = 0.00000000
VehicleA4 = 0.00000000
VehicleColor14 = 0
VehicleColor24 = 0
Membro0 = Ninguйm
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
Membro17 = Ninguйm
Membro18 = Ninguйm
Membro19 = Ninguйm
Membro20 = Ninguйm
Membro21 = Ninguйm
Membro22 = Ninguйm
Membro23 = Ninguйm
Membro24 = Ninguйm
Membro25 = Ninguйm
Membro26 = Ninguйm
Membro27 = Ninguйm
Membro28 = Ninguйm
Membro29 = Ninguйm
Membro30 = Ninguйm
Membro31 = Ninguйm
Membro32 = Ninguйm
Membro33 = Ninguйm
Membro34 = Ninguйm
Membro35 = Ninguйm
Membro36 = Ninguйm
Membro37 = Ninguйm
Membro38 = Ninguйm
Membro39 = Ninguйm
Membro40 = Ninguйm
Membro41 = Ninguйm
Membro42 = Ninguйm
Membro43 = Ninguйm
Membro44 = Ninguйm
Membro45 = Ninguйm
Membro46 = Ninguйm
Membro47 = Ninguйm
Membro48 = Ninguйm
Membro49 = Ninguйm
PHP код:
#define MAX_FAMILIAS                    500
#define MAX_MEMBERS                     50
#define DIALOG_FAMILIA_AJUDA            1012
CMD:familia(playeridparams[]) {
    new 
funcao[50], nomefamilia[50];
    if(
sscanf(params"s[50]"funcao)) return SendClientMessage(playerid, -1"[ ERRO ] {FF0000}use: /familia [ajuda - criar - sair]");
    if(
strfind(funcao"ajuda"true) != -1) {
        
FamiliaAjuda(playerid);
    }
    if(
strfind(funcao"sair"true) != -1) {
        if(
PlayerInfo[playerid][pFamiliaID] == 0) return SendClientMessage(playerid, -1"Vocк nгo й de uma famнlia!");
        if(
PlayerInfo[playerid][pFamiliaLeader] == 1) {
            
SendClientMessage(playerid, -1"#Vocк saiu da famнlia!");
            
PlayerInfo[playerid][pFamiliaID] = 0;
            
PlayerInfo[playerid][pFamiliaSubLeader] = 0;
        }
    }
    if(
strfind(funcao"criar"true) != -1) {
        if(
sscanf(params"s[50]s[50]"funcaonomefamilia)) return SendClientMessage(playerid, -1"USE: /familia criar [nome da famнlia]");
        
createFamilia(playeridnomefamiliaGetPlayerNome(playerid));
    }
    return 
1;
}
stock FamiliaAjuda(playerid) {
    new 
bradoks[1060];
    
strcat(bradoks"{FF0000}Comandos\t{ffffff}Informaзхes\n");
    
strcat(bradoks"{1E90FF}• Ajuda:\t{B4B5B7}Mostra os comandos da famнlia\n");
    
strcat(bradoks"{1E90FF}• Criar:\t{B4B5B7}Usado para criar uma famнlia\n");
    
strcat(bradoks"{1E90FF}• DarSub:\t{B4B5B7}Promove alguйm para sub-lнder\n");
    
strcat(bradoks"{1E90FF}• RetirarSub:\t{B4B5B7}Remover alguйm de sub-lнder\n");
    
strcat(bradoks"{1E90FF}• Info:\t{B4B5B7}Usado para ver as informaзхes da famнlia\n");
    
strcat(bradoks"{1E90FF}• Depositar:\t{B4B5B7}Para depositar dinheiro ao cofre da famнlia\n");
    
strcat(bradoks"{1E90FF}• Sacar:\t{B4B5B7}Para sacar dinheiro do cofre da famнlia\n");
    
strcat(bradoks"{1E90FF}• Spawn:\t{B4B5B7}Setar o local de spawn da famнlia\n");
    
strcat(bradoks"{1E90FF}• Carro:\t{B4B5B7}Usado para comprar um carro para a famнlia\n");
    
strcat(bradoks"{1E90FF}• Convidar:\t{B4B5B7}Usado para convidar alguйm para a famнlia\n");
    
strcat(bradoks"{1E90FF}• Expulsar:\t{B4B5B7}Usado para expulsar alguйm da famнlia\n");
    
strcat(bradoks"{1E90FF}• Membros:\t{B4B5B7}Usado ver todos membros online da famнlia\n");
    
strcat(bradoks"{1E90FF}• Sair:\t{B4B5B7}Usado para sair da famнlia\n");
    
strcat(bradoks"{1E90FF}• Limpar:\t{B4B5B7}Usado para limpar a vaga de um membro da famнlia\n");
    
strcat(bradoks"{1E90FF}• Destruir:\t{B4B5B7}Usado para destruir a famнlia");
    
ShowPlayerDialog(playeridDIALOG_FAMILIA_AJUDADIALOG_STYLE_TABLIST_HEADERS"{ffffff}Comandos da {FFD700}Familia"bradoks"Fechar""");
    return 
1;
}
createFamilia(playeridfamilianame[], familialeader[]) {
    new 
file[78], Str[78], 1;
    while(
MAX_FAMILIAS){
        
format(filesizeof file"Familias/Familia%d.ini"f);
        if(!
DOF2_FileExists(file)) {
            
DOF2_CreateFile(file);
            
DOF2_SetInt(file"ID"f);
            
DOF2_SetString(file"Name"familianame);
            
DOF2_SetString(file"Leader"familialeader);
            
DOF2_SetString(file"SubLeader""Ninguйm");
            
DOF2_SetFloat(file"SpawnX"0);
            
DOF2_SetFloat(file"SpawnY"0);
            
DOF2_SetFloat(file"SpawnZ"0);
            
DOF2_SetInt(file"Int"0);
            
DOF2_SetInt(file"World"0);
            
DOF2_SetInt(file"Money"0);
            
DOF2_SetInt(file"Time"gettime() + (2592000));
            
DOF2_SetInt(file"VIP"0);
            for(new 
vehveh 5veh++) {
                
format(Str22"Vehicle%d"veh);
                
DOF2_SetInt(fileStr0);
                
format(Str22"VehicleX%d"veh);
                
DOF2_SetFloat(fileStr0);
                
format(Str22"VehicleY%d"veh);
                
DOF2_SetFloat(fileStr0);
                
format(Str22"VehicleZ%d"veh);
                
DOF2_SetFloat(fileStr0);
                
format(Str22"VehicleA%d"veh);
                
DOF2_SetFloat(fileStr0);
                
format(Str22"VehicleColor1%d"veh);
                
DOF2_SetInt(fileStr0);
                
format(Str22"VehicleColor2%d"veh);
                
DOF2_SetInt(fileStr0);
            }
            for(new 
aMAX_MEMBERSa++) {
                
format(Str25"Membro%d"a);
                
DOF2_SetString(fileStr"Ninguйm");
            }
            
PlayerInfo[playerid][pFamiliaID] = f;
            
PlayerInfo[playerid][pFamiliaLeader] = f;
            
DOF2_SaveFile();
            
format(Strsizeof Str"[FAMНLIA]: {FFFFFF}%s {2641FE}criou a famнlia {FFFFFF}%s."GetPlayerNome(playerid), familianame);
            
SendClientMessageToAll(-1Str);
            
carregarFamilias();
            return 
1;
        }
        
f++;
    }
    return 
1;
}
stock GetPlayerNome(playerid) {
    new 
aname[MAX_PLAYER_NAME];
    
GetPlayerName(playeridanamesizeof(aname));
    return 
aname;

PRINT 1 # https://i.imgur.com/Oy5DKED.png
PRINT 2 # https://i.imgur.com/hGcOz0S.png
PRINT 3 # https://i.imgur.com/bWudUVY.png
PRINT 4 # https://i.imgur.com/nozjBDW.png
PRINT 5 # https://i.imgur.com/M91JFZX.png
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)