[Ajuda] errinho
#1

Код:
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
Reply
#2

Tente retirar o stock do GetNome.
Reply
#3

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

Код:
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.
Reply
#5

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.
Reply
#6

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)))
Reply
#7

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

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
Reply
#9

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 ?
Reply
#10

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.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)