[Pedido] Salvamento de Carros
#1

Iae Galera do SA-MP bem eu queria Ajuda de vocкs para um sistema de carros que ele funciona assim:
o player digita o comando e tal ai cria o veiculo quando ele sai do veiculo cria uma texto com o nome e o id
do player sу que quando eu dou /gmx o carro nгo salva e desaparece e queria ajuda de vocкs ^^
ai vai o Code Ps:Vou da des da public Ps2:Nao Mechi em nada do FS! Ps3:Sou novo no Pawn!


Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
   	new
		cmd[128], idx, tmp[128];

	cmd = strtok(cmdtext, idx);
	
	GetPlayerPos(playerid, PlayerGetPos[0], PlayerGetPos[1], PlayerGetPos[2]);
	new
		Float:iAngulo
	;
	GetPlayerFacingAngle(playerid, iAngulo);

	if(strcmp(cmd, "/veh", true) == 0 || strcmp(cmd, "/criarveiculo", true) == 0)
	{
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
		    SendClientMessage(playerid, 0xFF3300AA, "| ERRO | Uso correto: /CriarVeiculo [Veнculo ID / Nome] [Cor 1] [Cor 2]");
			return 1;
		}
		new veiculo = GetVehicleModelID(tmp);
		if(veiculo == -1)
		{
			veiculo = strval(tmp);
           	if(veiculo < 400 || veiculo > 611)
         	{
  				SendClientMessage(playerid, 0xFF3300AA, "| ERRO | Uso correto: /CriarVeiculo [Veнculo ID / Nome] [Cor 1] [Cor 2]");
				return 1;
			}
 		}
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
		    SendClientMessage(playerid, 0xFF3300AA, "| ERRO | Uso correto: /CriarVeiculo [Veнculo ID / Nome] [Cor 1] [Cor 2]");
		 	return 1;
		}
		new color1 = strval(tmp);
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
		    SendClientMessage(playerid, 0xFF3300AA, "| ERRO | Uso correto: /CriarVeiculo [Veнculo ID / Nome] [Cor 1] [Cor 2]");
			return 1;
		}
		new color2 = strval(tmp);
		if(veiculo < 400 || veiculo > 611)
		{
		    SendClientMessage(playerid, 0xFF3300AA, "| ERRO | Somente veнculos entre 400 б 611!");
			return 1;
		}
		DestroyVehicle(VeiculoID[playerid]);
		PutPlayerInVehicle(playerid, Modelo[ playerid ] = CreateVehicle(veiculo, PlayerGetPos[0], PlayerGetPos[1], PlayerGetPos[2], iAngulo, color1, color2, -1), 0);
		VeiculoID[playerid] = GetPlayerVehicleID(playerid);
		CriouVeiculo[playerid] = true;
		format(g_string, sizeof(g_string), "| INFO | %s criado com sucesso! (Somente vocк pode dirigi-lo)", Veiculos[GetVehicleModel(Modelo[ playerid ])-400]);
		SendClientMessage(playerid, 0xFFFF33AA, g_string);
		format(g_string, sizeof(g_string), "%s [%d]", PlayerName(playerid), playerid);
		VLabel3D[playerid] = Create3DTextLabel(g_string, 0x00FF00AA, 0.0, 0.0, 0.0, 40.0, 0, 1);
		Attach3DTextLabelToVehicle(VLabel3D[playerid], Modelo[ playerid ], 0.0, -2.5, 0.5);
        format(Veiculopp[VeiculoID[playerid]][Nome], 20, PlayerName(playerid));
		return 1;
	}
Reply
#2

pawn Код:
CMD:carro(playerid, params[])
{
    new id, cid, Float:c[5], cor1, cor2, nome[24], string[128], Text3D:carro, carroid;
    if(sscanf(params, "dddd", id, cid, cor1, cor2)) return SendClientMessage(playerid, BRANCO, "[INFO] /carro [id] [carid] [cor1] [cor2]");
    {
        if(!IsPlayerConnected(id)) return SendClientMessage(playerid, VERMELHO, "[INFO]: Jogador invбlido!");
        {
            GetPlayerName(id, nome, 24);
            format(string,sizeof(string), "[INFO]: Vocк deu um carro para %s", nome);
            SendClientMessage(playerid, AZUL, string);
            SendClientMessage(id, AMARELO, "[INFO]: Parabйns! Vocк ganhou um carro!");
            GetPlayerPos(id, c[0], c[1], c[2]);
            carroid = CreateVehicle(cid, c[0]+2, c[1]+2, c[2]+2, c[2], cor1, cor2, -1);
            GetPlayerName(id, nome, 24);
            format(string, sizeof(string), "Carro de: %s", nome);
            carro = Create3DTextLabel(string, 0xFF0000AA, 0.0, 0.0, 0.0, 50.0, 0, 1 );
            Attach3DTextLabelToVehicle(carro, carroid, 0.0, -2.9, 0.0);
        }
    }
    return 1;
}
Use este como base!
Reply
#3

Essa nгo e a questгo pois quero que vocкs me ajudem a criar veнculos com salvamento!
Reply
#4

Ah entendi, desculpa ja dou edit aki! kkk desculpe-me pela minha nubi-se!
Reply
#5

Fiz um bбaaaaaaaaasico do bбsico, adapte para o seu sistema, e caso ocorra bugs, corrija por sн sу, assim vocк aprenderб, analise o cуdigo !
pawn Код:
new vhs;
enum _v {
    vModel,
    Float:vPosX,
    Float:vPosY,
    Float:vPosZ,
    vOwner[24]    
}
new vehicles[MAX_VEHICLES][_v];

// Deixe essa stock ser a primeira a carregar.
stock loadCarros(){
    new string[128];
    for( new i = 0; i < dini_Int("carros.ini", "vhs") ) {
        format(string, 128, "Veiculos/%d.ini", i);
        if(dini_Exists(string)) {
            vehicles[i][vModel] = dini_Int(string, "modelo");
            vehicles[i][vPosX] = dini_Float(string, "posx");
            vehicles[i][vPosY] = dini_Float(string, "posy");
            vehicles[i][vPosZ] = dini_Float(string, "posz");
            format(vehicles[i][vOwner], 24, dini_Get(string, "dono"));
            new carro = CreateVehicle(vehicles[i][vModel], vehicles[i][vPosX],  vehicles[i][vPosY],  vehicles[i][vPosZ], 180.0, -1, -1, -1);
        }
    }
}

stock saveCarro(carro){
    new string[128];
    format(string, 128, "Veiculos/%d.ini", carro);
    if(!dini_Exists(string)) {
        dini_Create(string);
                dini_IntSet("carros.ini", "vhs", vhs++);
    }
    dini_IntSet(string, "modelo", vehicles[i][vModel]);
    dini_FloatSet(string, "posx", vehicles[i][vPosX]);
    dini_FloatSet(string, "posy", vehicles[i][vPosY]);
    dini_FloatSet(string, "posz", vehicles[i][vPosZ]);
    dini_Set(string, "dono", vehicles[i][vOwner]);
           
    return 1;
}
Boa sorte
Reply
#6

Tentei Adicionar em tipo de um FS e deu erros

Код:
C:\Users\Cliente\Desktop\.....\SistemaDeCarrosCompleto.pwn(217) : error 017: undefined symbol "carid"
C:\Users\Cliente\Desktop\.....\SistemaDeCarrosCompleto.pwn(223) : error 017: undefined symbol "ang"
C:\Users\Cliente\Desktop\.....\SistemaDeCarrosCompleto.pwn(224) : error 017: undefined symbol "string"
C:\Users\Cliente\Desktop\.....\SistemaDeCarrosCompleto.pwn(224) : error 017: undefined symbol "string"
C:\Users\Cliente\Desktop\.....\SistemaDeCarrosCompleto.pwn(224) : error 029: invalid expression, assumed zero
Reply
#7

Quote:
Originally Posted by Ricop522
Посмотреть сообщение
Fiz um bбaaaaaaaaasico do bбsico, adapte para o seu sistema, e caso ocorra bugs, corrija por sн sу, assim vocк aprenderб, analise o cуdigo !
pawn Код:
new vhs;
enum _v {
    vModel,
    Float:vPosX,
    Float:vPosY,
    Float:vPosZ,
    vOwner[24]    
}
new vehicles[MAX_VEHICLES][_v];

// Deixe essa stock ser a primeira a carregar.
stock loadCarros(){
    new string[128];
    for( new i = 0; i < dini_Int("carros.ini", "vhs") ) {
        format(string, 128, "Veiculos/%d.ini", i);
        if(dini_Exists(string)) {
            vehicles[i][vModel] = dini_Int(string, "modelo");
            vehicles[i][vPosX] = dini_Float(string, "posx");
            vehicles[i][vPosY] = dini_Float(string, "posy");
            vehicles[i][vPosZ] = dini_Float(string, "posz");
            format(vehicles[i][vOwner], 24, dini_Get(string, "dono"));
            new carro = CreateVehicle(vehicles[i][vModel], vehicles[i][vPosX],  vehicles[i][vPosY],  vehicles[i][vPosZ], 180.0, -1, -1, -1);
        }
    }
}

stock saveCarro(carro){
    new string[128];
    format(string, 128, "Veiculos/%d.ini", carro);
    if(!dini_Exists(string)) {
        dini_Create(string);
                dini_IntSet("carros.ini", "vhs", vhs++);
    }
    dini_IntSet(string, "modelo", vehicles[i][vModel]);
    dini_FloatSet(string, "posx", vehicles[i][vPosX]);
    dini_FloatSet(string, "posy", vehicles[i][vPosY]);
    dini_FloatSet(string, "posz", vehicles[i][vPosZ]);
    dini_Set(string, "dono", vehicles[i][vOwner]);
           
    return 1;
}
Boa sorte
O Cуdigo nгo foi pra min mais vai me ajudar linda .
Reply
#8

Mais algem?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)