[Ajuda] OnPlayerConnect - OnGameModeInt
#1

Olб pessoal! boa tarde e daqui apouco "Boa Noite", tipo pessoal.. tenho um cуdigo aqui e o mesmo desejo mudar, tipo й assim, a pessoa loga e o veiculo nasce.. nгo quero assim.. quero que na hora que o servidor liga o carro do mesmo й criado.. mais deste seguinte modo abaixo й criando apenas caso a pessoa loga(me corrija caso esteja errado).

Код HTML:
public OnPlayerConnect(playerid)
{
	LoadVehicleForPlayer(playerid);
    return 1;
}

stock LoadVehicleForPlayer(playerid)
{
	new name[MAX_PLAYER_NAME], file[50];
	GetPlayerName(playerid, name, sizeof(name));
	format(file, sizeof(file), "Vehicles/%s.ini", name);
	if(fexist(file))
	{
		VehicleInfo[vid][vID] = dini_Int(file, "Vehicle ID");
		VehicleInfo[vid][vColor1] = dini_Int(file, "Color 1");
		VehicleInfo[vid][vColor2] = dini_Int(file, "Color 2");
		VehicleInfo[vid][vX] = dini_Float(file, "Position X");
		VehicleInfo[vid][vY] = dini_Float(file, "Position Y");
		VehicleInfo[vid][vZ] = dini_Float(file, "Position Z");
		VehicleInfo[vid][vA] = dini_Float(file, "Facing Angle");
		AddStaticVehicle(VehicleInfo[vid][vID], VehicleInfo[vid][vX], VehicleInfo[vid][vY], VehicleInfo[vid][vZ], VehicleInfo[vid][vA], VehicleInfo[vid][vColor1], VehicleInfo[vid][vColor2]);
		printf("%s's vehicle ID: %d - LOADED", name, VehicleInfo[vid][vID]);
		strmid(VehicleInfo[vid][vOwner], dini_Get(file, "Owner"), false, strlen(dini_Get(file, "Owner")), MAX_PLAYER_NAME);
	}
}
Sei lб queria colocar no GameModeInt.. mais nгo sei como.. pois tentei e bugou tudo e perdi o codigo entгo apelei para os profissionais do fуrum SA-MP! por favor galera.. alguйm.
Reply
#2

Deste modo й impossнvel, pois os veнculos sгo salvos com o nome do player.
E o samp nгo fornece funзгo de pegar nome de arquivos.

Vocк teria que refazer seu sistema para trabalhar com ids nos veнculos e carregar eles por esse id, e atribuir o dono do veiculo salvando o nome do proprietбrio ou o id do veiculo na conta do proprietбrio.
Reply
#3

Como posso fazer amigo? me de alguns exemplos baseado em meu cуdigo que fiz acima?
Reply
#4

Quote:

#define MAX_VEHICLES 100

procura por essa linha :
Quote:

new VehicleInfo[MAX_PLAYERS]...

e troque por:
Quote:

new VehicleInfo[MAX_VEHICLES]...

No OnGameModeInit:
Код:
new file[50];
	 for(new car = 0; car < sizeof(MAX_VEHICLES) ; car++)
	 {
		format(file, sizeof(file), "Veiculos/%d.ini", car);
		if(fexist(file))
		{
			VehicleInfo[car][vID] = dini_Int(file, "Vehicle ID");
			VehicleInfo[car][vColor1] = dini_Int(file, "Color 1");
			VehicleInfo[car][vColor2] = dini_Int(file, "Color 2");
			VehicleInfo[car][vX] = dini_Float(file, "Position X");
			VehicleInfo[car][vY] = dini_Float(file, "Position Y");
			VehicleInfo[car][vZ] = dini_Float(file, "Position Z");
			VehicleInfo[car][vA] = dini_Float(file, "Facing Angle");
			AddStaticVehicle(VehicleInfo[car][vID], VehicleInfo[car][vX], VehicleInfo[car][vY], VehicleInfo[car][vZ], VehicleInfo[car][vA], VehicleInfo[car][vColor1], VehicleInfo[car][vColor2]);
			printf("vehicle ID: %d - LOADED", VehicleInfo[car][vID]);
		}
	}
nao testei so copiei de um sistema q eu tinha aqui q funciona, testa ai '-'

@Edit
Troque o nome dos carro por numero, Exemplo: 1 2 3 atй 99
Reply
#5

Quote:
Originally Posted by maikonk
Посмотреть сообщение
procura por essa linha :


e troque por:


No OnGameModeInit:
Код:
new file[50];
	 for(new car = 0; car < sizeof(MAX_VEHICLES) ; car++)
	 {
		format(file, sizeof(file), "Veiculos/%d.ini", car);
		if(fexist(file))
		{
			VehicleInfo[car][vID] = dini_Int(file, "Vehicle ID");
			VehicleInfo[car][vColor1] = dini_Int(file, "Color 1");
			VehicleInfo[car][vColor2] = dini_Int(file, "Color 2");
			VehicleInfo[car][vX] = dini_Float(file, "Position X");
			VehicleInfo[car][vY] = dini_Float(file, "Position Y");
			VehicleInfo[car][vZ] = dini_Float(file, "Position Z");
			VehicleInfo[car][vA] = dini_Float(file, "Facing Angle");
			AddStaticVehicle(VehicleInfo[car][vID], VehicleInfo[car][vX], VehicleInfo[car][vY], VehicleInfo[car][vZ], VehicleInfo[car][vA], VehicleInfo[car][vColor1], VehicleInfo[car][vColor2]);
			printf("vehicle ID: %d - LOADED", VehicleInfo[car][vID]);
		}
	}
nao testei so copiei de um sistema q eu tinha aqui q funciona, testa ai '-'

@Edit
Troque o nome dos carro por numero, Exemplo: 1 2 3 atй 99
Код HTML:
enum vInfo
{
	vOwner[MAX_PLAYER_NAME],
	vID,
	vColor1,
	vColor2,
	Float:vX,
	Float:vY,
	Float:vZ,
	Float:vA
}

new VehicleInfo[MAX_VEHICLES][vInfo], vid;
Uma amigo.. aqui tem isso..

Код HTML:
#define MAX_CARS 1000 //Serб que compensa deixar 1000 ou deixar 100 e posso colocar a variбvel CARS para VEHICLES?
 e o que muda?

#define MAX_VEHICLES 100
@Edit
Quote:
Originally Posted by maikonk
Посмотреть сообщение
@Edit
Troque o nome dos carro por numero, Exemplo: 1 2 3 atй 99
Nгo entendi.. vc diz, 1 й o primeiro veiculo da wiki, 2 segundo e assim por diante?
Код:
C:\Users\Administrador PC\Desktop\Nova pasta (2)\filterscripts\Concessonaria.pwn(10) : warning 201: redefinition of constant/macro (symbol "MAX_VEHICLES")
C:\Users\Administrador PC\Desktop\Nova pasta (2)\filterscripts\Concessonaria.pwn(33) : error 025: function heading differs from prototype
C:\Users\Administrador PC\Desktop\Nova pasta (2)\filterscripts\Concessonaria.pwn(36) : error 020: invalid symbol name ""
C:\Users\Administrador PC\Desktop\Nova pasta (2)\filterscripts\Concessonaria.pwn(36) : error 036: empty statement
C:\Users\Administrador PC\Desktop\Nova pasta (2)\filterscripts\Concessonaria.pwn(36) : error 017: undefined symbol "car"
C:\Users\Administrador PC\Desktop\Nova pasta (2)\filterscripts\Concessonaria.pwn(36) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


5 Errors.
erro:
Код HTML:
	 for(new car = 0; car < sizeof(MAX_VEHICLES) ; car++) //linha 36
vlw! reputado!
Reply
#6

PHP код:
public OnGameModeInit()
{
    for(new 
0MAX_PLAYERSi++)
    {
        new 
name[MAX_PLAYER_NAME], file[50];
        
GetPlayerName(inamesizeof(name));
        
        
format(filesizeof(file), "Vehicles/%s.ini"name);
        if(
fexist(file))
        {
            
VehicleInfo[i][vID] = dini_Int(file"Vehicle ID");
            
VehicleInfo[i][vColor1] = dini_Int(file"Color 1");
            
VehicleInfo[i][vColor2] = dini_Int(file"Color 2");
            
VehicleInfo[i][vX] = dini_Float(file"Position X");
            
VehicleInfo[i][vY] = dini_Float(file"Position Y");
            
VehicleInfo[i][vZ] = dini_Float(file"Position Z");
            
VehicleInfo[i][vA] = dini_Float(file"Facing Angle");
            
AddStaticVehicle(VehicleInfo[i][vID], VehicleInfo[i][vX], VehicleInfo[i][vY], VehicleInfo[i][vZ], VehicleInfo[i][vA], VehicleInfo[i][vColor1], VehicleInfo[i][vColor2]);
            
printf("%s's vehicle ID: %d - LOADED"nameVehicleInfo[i][vID]);
            
strmid(VehicleInfo[i][vOwner], dini_Get(file"Owner"), falsestrlen(dini_Get(file"Owner")), MAX_PLAYER_NAME);
        }
    }
    return 
1;

Reply
#7

Quote:
Originally Posted by Cleyson
Посмотреть сообщение
PHP код:
public OnGameModeInit()
{
    for(new 
0MAX_PLAYERSi++)
    {
        new 
name[MAX_PLAYER_NAME], file[50];
        
GetPlayerName(inamesizeof(name));
        
        
format(filesizeof(file), "Vehicles/%s.ini"i);
        if(
fexist(file))
        {
            
VehicleInfo[i][vID] = dini_Int(file"Vehicle ID");
            
VehicleInfo[i][vColor1] = dini_Int(file"Color 1");
            
VehicleInfo[i][vColor2] = dini_Int(file"Color 2");
            
VehicleInfo[i][vX] = dini_Float(file"Position X");
            
VehicleInfo[i][vY] = dini_Float(file"Position Y");
            
VehicleInfo[i][vZ] = dini_Float(file"Position Z");
            
VehicleInfo[i][vA] = dini_Float(file"Facing Angle");
            
AddStaticVehicle(VehicleInfo[i][vID], VehicleInfo[i][vX], VehicleInfo[i][vY], VehicleInfo[i][vZ], VehicleInfo[i][vA], VehicleInfo[i][vColor1], VehicleInfo[i][vColor2]);
            
printf("%s's vehicle ID: %d - LOADED"nameVehicleInfo[i][vID]);
            
strmid(VehicleInfo[i][vOwner], dini_Get(file"Owner"), falsestrlen(dini_Get(file"Owner")), MAX_PLAYER_NAME);
        }
    }
    return 
1;

Vlw cara! vc й esperto! reputado!

@edit
Esse codigo й funcional? deu esse erro.. no codigo..

Код:
C:\Users\Administrador PC\Desktop\Nova pasta (2)\filterscripts\Concessonaria.pwn(10) : warning 201: redefinition of constant/macro (symbol "MAX_VEHICLES")
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


1 Warning.
Linha do erro й

Код HTML:
#define MAX_VEHICLES 100
Reply
#8

Coloca isso em cima dessa define:

pawn Код:
#undef MAX_VEHICLES
Reply
#9

Esse daqui atй tendei resolver mais n deu..

Код HTML:
enum vInfo
{
	vOwner[MAX_PLAYER_NAME],
	vID,
	vColor1,
	vColor2,
	Float:vX,
	Float:vY,
	Float:vZ,
	Float:vA
}

new VehicleInfo[MAX_VEHICLES][vInfo], vid; //erro aqui afs
o que faзo? por favor..
Reply
#10

Quote:
Originally Posted by HardWar
Посмотреть сообщение
Coloca isso em cima dessa define:
pawn Код:
#undef MAX_VEHICLES
#define MAX_VEHICLES 100
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)