SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese

Reply
 
Thread Tools Display Modes
Old 15/01/2020, 11:48 PM   #1
odinwest
Little Clucker
 
Join Date: Dec 2019
Posts: 1
Reputation: 0
Question Comando /mudarnick bugado

Olá meus queridos, tudo bem? Fiquei um tempo usando o Search para ver se achava algo como isso porém não encontrei exatamente o que precisava.
Vamos direto ao problema, criei um sistema de mudança de nick para os players, porém quando usam ele retira todos os adms na /scriptfiles/Configs/Admins e assume todas as linhas (fazendo que ao reiniciar percam vossos cargos) e alguma das vezes todas as Empresas ficam no nome de quem o mudou...
Alguém poderia me ajudar? Sou muito noob com banco de dados :/

PHP Code:
CMD:mudarnick(playeridparams[])
    {
        if(
IsPlayerConnected(playerid))
        {
            if(
PodeMudarNick[playerid] == && MudarNick[playerid] == 0)
                return 
SendClientMessage(playeridCOR_GRAD1"Você não tem troca de nick disponível, adquina no /menuvip.");
              new 
x_Nick[128];
             if(
sscanf(params"s[24]"x_Nick))
                return 
SendClientMessage(playeridCOR_BRANCO"{0099ff}×{ffffff} USE: /mudarnick [nome]");
                
format(stringZCMDsizeof(stringZCMD), "SELECT * FROM `contas` WHERE `Nome` = '%s'"DB_Escape(PlayerName(playerid)));
                
Resultado db_query(Conexao,stringZCMD);
            if(
db_num_rows(Resultado) > 1)
                return 
SendClientMessage(playeridCOR_GREY,"Este nick ja está sendo usado!");

            if(
mudandonick[playerid] == 1)
                return 
SendClientMessage(playeridCOR_GREY,"Espere terminar de mudar seu nick!");

            
mudandonick[playerid] = 1;
                
format(stringZCMDsizeof(stringZCMD), "UPDATE `contas` SET `Nome` = '%s' WHERE `Nome` = '%s'"DB_Escape(x_Nick), DB_Escape(PlayerName(playerid)));
                
Resultado db_query(Conexao,stringZCMD);
            
//mysql_store_result(); 
odinwest is offline   Reply With Quote
Old 21/01/2020, 02:32 PM   #2
MasterWinX
Little Clucker
 
MasterWinX's Avatar
 
Join Date: Mar 2019
Location: San Fierro
Posts: 35
Reputation: 1
Default Re: Comando /mudarnick bugado

Up up
__________________
Olá, Tudo bem?
MasterWinX is online now   Reply With Quote
Old 21/01/2020, 05:37 PM   #3
Gguiz
Huge Clucker
 
Join Date: Dec 2015
Location: Brazil
Posts: 354
Reputation: 20
Default Re: Comando /mudarnick bugado

Olá,

Com qualquer player? Ou apenas quando administradores trocam seus nicks.
__________________
Realidades do Brasil - Server SA-MP
Jogar - Site - Fórum
Gguiz is offline   Reply With Quote
Old 21/01/2020, 06:45 PM   #4
MasterWinX
Little Clucker
 
MasterWinX's Avatar
 
Join Date: Mar 2019
Location: San Fierro
Posts: 35
Reputation: 1
Default Re: Comando /mudarnick bugado

Code:
	CMD:mudarnick(playerid, params[])
    {
		if(IsPlayerConnected(playerid))
	    {
			if(PodeMudarNick[playerid] == 0 && MudarNick[playerid] == 0)
				return SendClientMessage(playerid, COR_GRAD1, "Você não tem troca de nick disponível, adquina no /menuvip.");
  			new x_Nick[128];
	     	if(sscanf(params, "s[24]", x_Nick))
				return SendClientMessage(playerid, COR_BRANCO, "{0099ff}×{ffffff} USE: /mudarnick [nome]");
   	 		format(stringZCMD, sizeof(stringZCMD), "SELECT * FROM `contas` WHERE `Nome` = '%s'", DB_Escape(PlayerName(playerid)));
   	 		Resultado = db_query(Conexao,stringZCMD);

			if(mudandonick[playerid] == 1)
				return SendClientMessage(playerid, COR_GREY,"Espere terminar de mudar seu nick!");

			mudandonick[playerid] = 1;
   	 		format(stringZCMD, sizeof(stringZCMD), "UPDATE `contas` SET `Nome` = '%s' WHERE `Nome` = '%s'", DB_Escape(x_Nick), DB_Escape(PlayerName(playerid)));
   	 		Resultado = db_query(Conexao,stringZCMD);
    		//mysql_store_result();
            for(new i = 0; i < sizeof(BizzInfo); ++i)
			{
	        	if(strcmp(playernameZCMD,BizzInfo[i][bOwner],true)==0)
	        	{
              		new emp[255];
              		format(emp, sizeof(emp), Pasta_Empresas, i);
              		if(DOF2_FileExists(emp))
              		{
              		    DOF2_SetString(emp, "Dono", x_Nick);
              		    DOF2_SaveFile();
              		    strmid(BizzInfo[i][bOwner],DOF2_GetString(emp, "Dono"),0, strlen(DOF2_GetString(emp, "Dono")), 255);
              		    Delete3DTextLabel(BizzLabel[i]);
              		    format(gstring, sizeof(gstring), TextEmpresa,BizzInfo[i][bMessage],x_Nick,BizzInfo[i][bExtortion],BizzInfo[i][bEntranceCost]);
	        			BizzLabel[i] = Create3DTextLabel(gstring,0x00FF00FF,BizzInfo[i][bEntranceX], BizzInfo[i][bEntranceY], BizzInfo[i][bEntranceZ]+0.5,20.0, 0);
              		}
	        	}
			}
			for(new i = 0; i < sizeof(SBizzInfo); ++i)
			{
          		if(strcmp(playernameZCMD,SBizzInfo[i][sbOwner],true)==0)
	        	{
	        	    new semp[255];
              		format(semp, sizeof(semp), Pasta_SEmpresas, i);
              		if(DOF2_FileExists(semp))
              		{
              		    DOF2_SetString(semp, "Dono", x_Nick);
              		    DOF2_SaveFile();
              		    strmid(SBizzInfo[i][sbOwner],DOF2_GetString(semp, "Dono"),0, strlen(DOF2_GetString(semp, "Dono")), 255);
              		    Delete3DTextLabel(SBizzLabel[i]);
              		    format(gstring, sizeof(gstring), TextMEmpresa,SBizzInfo[i][sbMessage],x_Nick,SBizzInfo[i][sbExtortion],SBizzInfo[i][sbEntranceCost]);
	        			SBizzLabel[i] = Create3DTextLabel(gstring,0x00FF00FF,SBizzInfo[i][sbEntranceX], SBizzInfo[i][sbEntranceY], SBizzInfo[i][sbEntranceZ]+0.5,20.0, 0);
              		}
	        	}
			}
			for(new h = 0; h < sizeof(HouseInfo); h++)
			{
	        	if(strcmp(playernameZCMD,HouseInfo[h][hOwner],true)==0)
	        	{
	        	    new house[255];
              		format(house, sizeof(house), Pasta_Casas, h);
              		if(DOF2_FileExists(house))
              		{
              		    DOF2_SetString(house, "Dono", x_Nick);
              		    DOF2_SaveFile();
              		    strmid(HouseInfo[h][hOwner],DOF2_GetString(house, "Dono"),0, strlen(DOF2_GetString(house, "Dono")), 255);
              		    Delete3DTextLabel(HouseLabel[h]);
              		    format(gstring, sizeof(gstring), TextCasa,x_Nick,HouseInfo[h][hRentabil],HouseInfo[h][hDiscription]);
	            		HouseLabel[h] = Create3DTextLabel(gstring,0x00FF00FF,HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]+0.5,13.0, 0);
              		}
	        	}
			}
			for(new h = 0; h < sizeof(HouseInfo); h++)
			{
	        	if(strcmp(playernameZCMD,HouseInfo[h][hOwner],true)==0)
	        	{
	        	    new house[255];
              		format(house, sizeof(house), Pasta_Casas, h);
              		if(DOF2_FileExists(house))
              		{
              		    DOF2_SetString(house, "Dono", x_Nick);
              		    DOF2_SaveFile();
              		    strmid(HouseInfo[h][hOwner],DOF2_GetString(house, "Dono"),0, strlen(DOF2_GetString(house, "Dono")), 255);
              		    Delete3DTextLabel(HouseLabel[h]);
              		    format(gstring, sizeof(gstring), TextCasa,x_Nick,HouseInfo[h][hRentabil],HouseInfo[h][hDiscription]);
	            		HouseLabel[h] = Create3DTextLabel(gstring,0x00FF00FF,HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]+0.5,13.0, 0);
              		}
	        	}
			}
			new novo[255];
            new borse = PlayerInfo[playerid][pPFazkey];
			format(novo, sizeof(novo), Pasta_FEmpresas, borse);
			if(PlayerInfo[playerid][pPFazkey] < 255)
			{
				strmid(FBizzInfo[borse][fbOwner], novo, 0, strlen(novo), 255);
				Atualizar3Dtexts();
				SalvarFEmpresa(borse);
			}
			for(new i = 0; i < sizeof(AdmInfo); ++i)
	    	{
	        	if(strcmp(playernameZCMD,AdmInfo[i][AdminNick],true)==0)
				{
	        	    strmid(AdmInfo[i][AdminNick], x_Nick, 0, strlen(x_Nick), 999);
		        }
 			}
	        if(GetPlayerOrg(playerid) != 0)
	        {
                 RemoveGangue(playerid);
                 RemoveBloqueio(playerid);
                 RemoveBarreira(playerid);
                 RemoveParedao(playerid);
                 RemoveBarraca(playerid);
		         ResetPlayerWeaponsEx(playerid);
		         SetPlayerArmour(playerid, 0);
                 DemitirInfoOrg(PlayerName(playerid));
		         gTeam[playerid] = 3;
		         DeslogandoSocio[playerid] = 0;
		         PlayerInfo[playerid][pTeam] = 3;
	             PlayerInfo[playerid][pMembro] = 0;
		         PlayerInfo[playerid][pLider] = 0;
		         PlayerInfo[playerid][pCargo] = 0;
		         PlayerInfo[playerid][pEmprego] = 0;
		         PlayerInfo[playerid][pSpawn] = 0;
                 SetSpawnInfo(playerid, gTeam[playerid], PlayerInfo[playerid][pSkin],0.0,0.0,0.0,0,0,0,0,0,0,0);
		         MedicBill[playerid] = 0;
		         MedicBill[playerid] = 0;
		         SetPlayerToTeamColor(playerid);
		         if(PlayerInfo[playerid][pSex] == 1)
				 {
				      SetPlayerSkin(playerid, 23);
					  PlayerInfo[playerid][pSkin] = 23;
				 }
				 else
				 {
				      SetPlayerSkin(playerid, 41);
					  PlayerInfo[playerid][pSkin] = 41;
				 }
	        }
	        if(PlayerInfo[playerid][pCarKey] > 0)
 			{
 			    new arquivo[64];
 			    format(arquivo, sizeof(arquivo), Pasta_CarrosVIP, PlayerInfo[playerid][pOldCarKey]);
	            if(DOF2_FileExists(arquivo))
	            {
	            	DOF2_SetString(arquivo, "Dono", x_Nick);
	            	DOF2_SaveFile();
	            }
 			}
    		if(PlayerInfo[playerid][pCarFixo] > 0)
 			{
 			    new arquivo[64];
 			    format(arquivo, sizeof(arquivo), Pasta_CarrosFixo, PlayerInfo[playerid][pOldCarFixo]);
	            if(DOF2_FileExists(arquivo))
	            {
	            	DOF2_SetString(arquivo, "Dono", x_Nick);
	            	DOF2_SaveFile();
	            }
 			}
			getdate(year, month, day);
			gettime(hour,minute);
			GetPlayerName(playerid, sendername, sizeof(sendername));
   			format(stringZCMD, sizeof(stringZCMD), "[Mudar Nick] %s mudou o nick para %s (%d/%d/%d - %d:%d)",sendername,x_Nick, day, month, year,hour, minute);
   			SendClientMessageToAll(COR_LIGHTRED,stringZCMD);
   			NickLog(stringZCMD);
   			SetPlayerName(playerid,x_Nick);
   			SendClientMessage(playerid, COR_LIGHTBLUE, "Você pediu contas, agora você é um Civil novamente!");
   			format(stringZCMD, sizeof(stringZCMD), "Você mudou seu nick para %s",x_Nick );
   			SendClientMessage(playerid, COR_LIGHTBLUE, stringZCMD);
   			SendClientMessage(playerid, COR_AMARELO,"Tire uma SS(Aperte F8) para não esquecer o novo nick!");
   			mudandonick[playerid] = 0;
		    SalvarAdmins();
		    OnPlayerSave(playerid);
		    if(PodeMudarNick[playerid] == 1) return PodeMudarNick[playerid] = 0;
		    if(MudarNick[playerid] > 0) MudarNick[playerid] -= 1;
		    else MudarNick[playerid] = 0;
   			return 1;
        }
		return 1;
	}
o comando em questão é esse, o que ta bugado é tudo tipo as empresas, casas, fazendas, administradores que quando mudar o nick que mudou não so muda pra casa dele muda pra todas e mesmo com os admins não muda o nome dele, muda todo slot.
__________________
Olá, Tudo bem?
MasterWinX is online now   Reply With Quote
Old 23/01/2020, 11:38 AM   #5
MasterWinX
Little Clucker
 
MasterWinX's Avatar
 
Join Date: Mar 2019
Location: San Fierro
Posts: 35
Reputation: 1
Default Re: Comando /mudarnick bugado

Up up
__________________
Olá, Tudo bem?
MasterWinX is online now   Reply With Quote
Old 23/01/2020, 12:28 PM   #6
Ever_SH
Gangsta
 
Ever_SH's Avatar
 
Join Date: Sep 2012
Location: RS
Posts: 576
Reputation: 19
Default Re: Comando /mudarnick bugado

Cara, primeiramente, esse código é bem ruim. Variáveis sem nomes intuitivos e etc.
Eu acredito que o erro esteja nos strcmp. Pois de acordo com a Wiki, se uma das strings estiver vazias, vai retornar 0. Fazendo com que passe pela verificação.
Ever_SH is online now   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[Ajuda] /MudarNick cria novo arquivo (conta) bugado Psicotico Português/Portuguese 7 25/09/2017 05:25 PM
[Ajuda] Comando bugado caoraivoso3 Português/Portuguese 8 25/07/2013 10:30 AM
[Ajuda] Comando BUGADO caoraivoso3 Português/Portuguese 1 01/02/2013 06:10 PM
[Ajuda] Comando /MudarNick Gabriel Santana Português/Portuguese 5 29/07/2012 05:45 PM
[Ajuda] Comando /mudarnick Luciano* Português/Portuguese 7 09/06/2012 01:34 AM


All times are GMT. The time now is 09:29 PM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.