I need help changing car Model.
#1

Edited.

Includes included in the code below,
Dini
ZCMD
sscanf2

Код:
CMD:setcar(playerid, params[])
{
	if(Player[playerid][pAdminLevel] >= 5)
	{
		if(IsPlayerInAnyVehicle(playerid) == 0)
		{
			SendClientMessage(playerid, -1, ""#YELLOW"[Server]["#RED"Error!"#YELLOW"]: You must be in a vehicle!");
		} else {
			new
				Usage[128],
				Value[128];
			if(sscanf(params, "ss", Usage, Value))
			{
				SendClientMessage(playerid, -1, ""#YELLOW"[Server]: /setcar [Usage] [Value]");
				SendClientMessage(playerid, -1, ""#YELLOW"[Server]: Usages: Enabled Model SpawnLoc Color1 Color2 Target SaveMod UnMod Health");
				SendClientMessage(playerid, -1, ""#YELLOW"[Server]: Note: Some don't need a [Value].");
			} else {
				if(strlen(Usage) >= 1)
				{
					new
						VehID,
						MsgStr[128];
					VehID = GetPlayerVehicleID(playerid);
					if(strcmp(Usage, "Model", true) == 0)
					{
						Vehicle[VehID][vModelID] = strval(Value);

						format(MsgStr, sizeof(MsgStr), ""#YELLOW"[Server]: You succesfully changed this vehicle model to %d!", Vehicle[VehID][vModelID]);
						SendClientMessage(playerid, -1, MsgStr);

						SpawnVehicle(VehID);

						SaveVehicle(VehID);
					}
				} else {
					SendClientMessage(playerid, -1, ""#YELLOW"[Server]: /setcar [Usage] [Value]");
					SendClientMessage(playerid, -1, ""#YELLOW"[Server]: Usages: Enabled Model SpawnLoc Color1 Color2 Target SaveMod UnMod Health");
					SendClientMessage(playerid, -1, ""#YELLOW"[Server]: Note: Some don't need a [Value].");
				}
			}
		}
	}
	return 1;
}

stock SpawnVehicle(VehID)
{
	DestroyVehicle(Vehicle[VehID][vGameID]);

	if(Vehicle[VehID][vEnabled] == 1)
	{
	    Vehicle[VehID][vGameID] = CreateVehicle(Vehicle[VehID][vModelID], Vehicle[VehID][vSpawnX], Vehicle[VehID][vSpawnY], Vehicle[VehID][vSpawnZ], Vehicle[VehID][vSpawnA], Vehicle[VehID][vColor1], Vehicle[VehID][vColor2], -1);

	    SetVehicleVirtualWorld(Vehicle[VehID][vGameID], Vehicle[VehID][vSpawnWorld]);
	    SetVehiclePos(Vehicle[VehID][vGameID], Vehicle[VehID][vSpawnX], Vehicle[VehID][vSpawnY], Vehicle[VehID][vSpawnZ]);
	    SetVehicleZAngle(Vehicle[VehID][vGameID], Vehicle[VehID][vSpawnA]);

	    ChangeVehicleColor(Vehicle[VehID][vGameID], Vehicle[VehID][vColor1], Vehicle[VehID][vColor2]);

	    SetVehicleParamsEx(Vehicle[VehID][vGameID], Vehicle[VehID][vEngine], Vehicle[VehID][vLights], Vehicle[VehID][vAlarm], Vehicle[VehID][vDoors], Vehicle[VehID][vBonnet], Vehicle[VehID][vBoot], Vehicle[VehID][vTargeted]);

	    for(new i = 0; i < 14; i++)
	    {
	        if(Vehicle[VehID][vMod][i] > 0)
	        {
	            AddVehicleComponent(Vehicle[VehID][vGameID], Vehicle[VehID][vMod][i]);
	        }
	    }

	    SetVehicleHealth(Vehicle[VehID][vGameID], Vehicle[VehID][vHealth]);
	    SetVehicleNumberPlate(Vehicle[VehID][vGameID], Vehicle[VehID][vLicense]);
		print("A Vehicle has been spawned!");
	}
	return 1;
}

stock SaveVehicle(VehID)
{
	new
	    VehicleFile[128];
	format(VehicleFile, sizeof(VehicleFile), VehicleFiles, VehID);

	if(!dini_Exists(VehicleFile))
	{
	    dini_Create(VehicleFile);
	}

	dini_IntSet(VehicleFile, "GameID", Vehicle[VehID][vGameID]);
	dini_IntSet(VehicleFile, "Enabled", Vehicle[VehID][vEnabled]);
	dini_IntSet(VehicleFile, "ModelID", Vehicle[VehID][vModelID]);
	dini_IntSet(VehicleFile, "SpawnWorld", Vehicle[VehID][vSpawnWorld]);
	dini_FloatSet(VehicleFile, "SpawnX", Vehicle[VehID][vSpawnX]);
	dini_FloatSet(VehicleFile, "SpawnY", Vehicle[VehID][vSpawnY]);
	dini_FloatSet(VehicleFile, "SpawnZ", Vehicle[VehID][vSpawnZ]);
	dini_FloatSet(VehicleFile, "SpawnA", Vehicle[VehID][vSpawnA]);
	dini_IntSet(VehicleFile, "PosWorld", Vehicle[VehID][vPosWorld]);
	dini_FloatSet(VehicleFile, "PosX", Vehicle[VehID][vPosX]);
	dini_FloatSet(VehicleFile, "PosY", Vehicle[VehID][vPosY]);
	dini_FloatSet(VehicleFile, "PosZ", Vehicle[VehID][vPosZ]);
	dini_FloatSet(VehicleFile, "PosA", Vehicle[VehID][vPosA]);
	dini_IntSet(VehicleFile, "Color1", Vehicle[VehID][vColor1]);
	dini_IntSet(VehicleFile, "Color2", Vehicle[VehID][vColor2]);
	dini_IntSet(VehicleFile, "Engine", Vehicle[VehID][vEngine]);
	dini_IntSet(VehicleFile, "EngineEx", Vehicle[VehID][vEngineEx]);
	dini_IntSet(VehicleFile, "Lights", Vehicle[VehID][vLights]);
	dini_IntSet(VehicleFile, "LightsEx", Vehicle[VehID][vLightsEx]);
	dini_IntSet(VehicleFile, "Alarm", Vehicle[VehID][vAlarm]);
	dini_IntSet(VehicleFile, "AlarmEx", Vehicle[VehID][vAlarmEx]);
	dini_IntSet(VehicleFile, "Doors", Vehicle[VehID][vDoors]);
	dini_IntSet(VehicleFile, "Bonnet", Vehicle[VehID][vBonnet]);
	dini_IntSet(VehicleFile, "Boot", Vehicle[VehID][vBoot]);
	dini_IntSet(VehicleFile, "Targeted", Vehicle[VehID][vTargeted]);
	dini_IntSet(VehicleFile, "Mod0", Vehicle[VehID][vMod][0]);
	dini_IntSet(VehicleFile, "Mod1", Vehicle[VehID][vMod][1]);
	dini_IntSet(VehicleFile, "Mod2", Vehicle[VehID][vMod][2]);
	dini_IntSet(VehicleFile, "Mod3", Vehicle[VehID][vMod][3]);
	dini_IntSet(VehicleFile, "Mod4", Vehicle[VehID][vMod][4]);
	dini_IntSet(VehicleFile, "Mod5", Vehicle[VehID][vMod][5]);
	dini_IntSet(VehicleFile, "Mod6", Vehicle[VehID][vMod][6]);
	dini_IntSet(VehicleFile, "Mod7", Vehicle[VehID][vMod][7]);
	dini_IntSet(VehicleFile, "Mod8", Vehicle[VehID][vMod][8]);
	dini_IntSet(VehicleFile, "Mod9", Vehicle[VehID][vMod][9]);
	dini_IntSet(VehicleFile, "Mod10", Vehicle[VehID][vMod][10]);
	dini_IntSet(VehicleFile, "Mod11", Vehicle[VehID][vMod][11]);
	dini_IntSet(VehicleFile, "Mod12", Vehicle[VehID][vMod][12]);
	dini_IntSet(VehicleFile, "Mod13", Vehicle[VehID][vMod][13]);
	dini_FloatSet(VehicleFile, "Health", Vehicle[VehID][vHealth]);
	dini_Set(VehicleFile, "License", Vehicle[VehID][vLicense]);
	dini_IntSet(VehicleFile, "GroupID", Vehicle[VehID][vGroupID]);
	dini_IntSet(VehicleFile, "GroupRank", Vehicle[VehID][vGroupRank]);
	return 1;
}
I get a problem with my command,
/setcar [Usage] [Value]

When I type it in-game it doesn't change the Model ID of the car at all.

Right after I type the command, only the message appears but the car doesnt change.
When I look in the samp-server.exe, it doesnt say the SpawnVehicle or SaveVehicle message.
So I'm guessing that the problem is before that? How would I fix this issue?

I'll +rep the person who helps fix it.
Reply
#2

mvm...
Reply
#3

cmon help hem pleas !
Reply
#4

You should add some more debugging to see from which point it actually stops doing what you want it to do. But most simple right now: make sure Vehicle[VehID][vEnabled] is true!
Reply
#5

For the Vehicle[VehID][vEnabled]
1 = Enable
0 = Disable

When I put print("Debug001"); - print("Debug164"); it stopped at these lines.
Код:
stock SaveVehicle(VehID)
{
	new
	    VehicleFile[128];
	format(VehicleFile, sizeof(VehicleFile), VehicleFiles, VehID);

	if(!dini_Exists(VehicleFile)) // It stopped right here.
	{
	    dini_Create(VehicleFile);
	}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)