SA-MP Forums Archive
[Ajuda] errinho - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] errinho (/showthread.php?tid=660000)



errinho - Duun - 22.10.2018

Код:
public OnPlayerStateChange(playerid, newstate, oldstate) // Nгo ta funcionando
{
	if (newstate == PLAYER_STATE_DRIVER)
	{
	    new carro = GetPlayerVehicleID(playerid);

	 	for(new i = 0; i < MAX_HOUSES; ++i)
	    {
		    if(carro == HInfo[i][hCarro]) // verificar se o player entrou em um carro de casas
		    {
//  				if(HInfo[i][hDono] != HInfo[playerid][hDono]) // verificar se o player й dono do carro
  				if(HInfo[i][hDono] !=  GetNome(playerid)) // verificar se o player й dono do carro // LINHA DO ERRO
    			{
					RemovePlayerFromVehicle(playerid);
					SendClientMessage(playerid, -1, "Vocк nгo й o dono deste carro");
   				}
		    }
		}
	}
    return 1;
}
Код:
C:\Users\Lucas\Desktop\samp037_svr_R2-1-1_win32\gamemodes\HS.pwn(377) : error 033: array must be indexed (variable "GetNome")
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


1 Error.
Код:
stock GetNome(playerid)
{
    new pNome[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pNome, 24);
    return pNome;
}
Код:
variavel     hDono[25], fica no enum



Re: errinho - ipsLuan - 22.10.2018

Tente retirar o stock do GetNome.


Re: errinho - Duun - 22.10.2018

Entгo maninho, eu ja fiz assim mas o cуdigo nгo funcionou


Re: errinho - Duun - 22.10.2018

Код:
public OnPlayerStateChange(playerid, newstate, oldstate) // Nгo ta funcionando
{
	if (newstate == PLAYER_STATE_DRIVER)
	{
	    new carro = GetPlayerVehicleID(playerid);

	 	for(new i = 0; i < MAX_HOUSES; ++i)
	    {
		    if(carro == HInfo[i][hCarro]) // verificar se o player entrou em um carro de casas
		    {
      			new pNome[25];
         		GetPlayerName(playerid, pNome, 25);

//  				if(HInfo[i][hDono] != HInfo[playerid][hDono]) // verificar se o player й dono do carro
  				if(HInfo[i][hDono] !=  pNome) // verificar se o player й dono do carro
    			{
					RemovePlayerFromVehicle(playerid);
					SendClientMessage(playerid, -1, "Vocк nгo й o dono deste carro");
   				}
		    }
		}
	}
    return 1;
}
Код:
C:\Users\Lucas\Desktop\samp037_svr_R2-1-1_win32\gamemodes\HS.pwn(380) : error 033: array must be indexed (variable "pNome")
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


1 Error.



Re: errinho - FerrariL - 22.10.2018

Quote:
Originally Posted by Duun
Посмотреть сообщение
Код:
public OnPlayerStateChange(playerid, newstate, oldstate) // Nгo ta funcionando
{
	if (newstate == PLAYER_STATE_DRIVER)
	{
	    new carro = GetPlayerVehicleID(playerid);

	 	for(new i = 0; i < MAX_HOUSES; ++i)
	    {
		    if(carro == HInfo[i][hCarro]) // verificar se o player entrou em um carro de casas
		    {
      			new pNome[25];
         		GetPlayerName(playerid, pNome, 25);

//  				if(HInfo[i][hDono] != HInfo[playerid][hDono]) // verificar se o player й dono do carro
  				if(HInfo[i][hDono] !=  pNome) // verificar se o player й dono do carro
    			{
					RemovePlayerFromVehicle(playerid);
					SendClientMessage(playerid, -1, "Vocк nгo й o dono deste carro");
   				}
		    }
		}
	}
    return 1;
}
Код:
C:\Users\Lucas\Desktop\samp037_svr_R2-1-1_win32\gamemodes\HS.pwn(380) : error 033: array must be indexed (variable "pNome")
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


1 Error.
pawn Код:
if(HInfo[i][hDono] != HInfo[playerid][hDono]) // verificar se o player й dono do carro
                if(HInfo[i][hDono] !=  pNome) // verificar se o player й dono do carro
Nгo й assim que se compara strings em pawn, use a funзгo strcmp.


Re: errinho - Ermanhaut - 22.10.2018

Vocк ta comparando duas strings mano.
Pra isso vocк tem que usar strcmp.

pawn Код:
if(strcmp(HInfo[i][hDono], HInfo[playerid][hDono]) || strcmp(HInfo[i][hDono], GetNome(playerid)))



Re: errinho - Duun - 22.10.2018

o amigo poderia me ensinar como seria em strcmp ?
vou usar esta lуgica em outras partes do sistema


Re: errinho - Ermanhaut - 22.10.2018

Quote:
Originally Posted by Duun
Посмотреть сообщение
o amigo poderia me ensinar como seria em strcmp ?
vou usar esta lуgica em outras partes do sistema
Para tudo que existe em pawn, tem uma pбgina na Wiki.
https://sampwiki.blast.hk/wiki/Strcmp_PT


Re: errinho - Duun - 22.10.2018

Quote:
Originally Posted by Ermanhaut
Посмотреть сообщение
Vocк ta comparando duas strings mano.
Pra isso vocк tem que usar strcmp.

pawn Код:
if(strcmp(HInfo[i][hDono], HInfo[playerid][hDono]) || strcmp(HInfo[i][hDono], GetNome(playerid)))
Nгo entendo, existe comparaзгo de informaзхes ai ?


Re: errinho - ipsLuan - 22.10.2018

Quote:
Originally Posted by Duun
Посмотреть сообщение
Nгo entendo, existe comparaзгo de informaзхes ai ?
Sim, estб comparado se o nome que tem no salvamento corresponde ao nome do jogador.