Unfreezing stuff and changing model preview id on playertextdraw
#1

So first problem i have is that after player buys vehicle he just sits in it and cant move, probably engine turned off or somewhere i have TogglePlayerControllable(playerid, 0); but no, he just wont move and thats it, lights arent turned on when i go into that car maybe that helps you idk ...

Код:
			SCM(playerid, -1, "{FF0000}Cestitamo na kupovini. Za vise informacija koristite /veh.");
			PlayerInfo[playerid][pVeh1] = VehInfo[id][vID];
			new imeigraca[MAX_PLAYER_NAME];
			GetPlayerName(playerid, imeigraca, sizeof(imeigraca));
			strmid(VehInfo[id][vVlasnik], imeigraca, 0, strlen(imeigraca), 150);
			VehInfo[id][vCreated] = 2;
			UpdateVeh(id, 0);
			SaveVeh(id);
			CancelSelectTextDraw(playerid);
			PlayerTextDrawHide(playerid, TDCoS0[playerid]);
			PlayerTextDrawHide(playerid, TDCoS1[playerid]);
			PlayerTextDrawHide(playerid, TDCoS2[playerid]);
			PlayerTextDrawHide(playerid, TDCoS3[playerid]);
			PlayerTextDrawHide(playerid, TDCoS4[playerid]);
			PlayerTextDrawHide(playerid, TDCoS5[playerid]);
			PlayerTextDrawHide(playerid, TDCoS6[playerid]);
			PlayerTextDrawHide(playerid, TDCoS7[playerid]);
			PlayerTextDrawHide(playerid, TDCoS8[playerid]);
			SetTimerEx("Unfreezetimer", 100, false, "i", playerid);
and unfreezetimer is just toggleplayercontrollable to 1 cuz i thought that might fix it ...

second problem i have is that this :
PlayerTextDrawSetPreviewModel(playerid, TDCoS6[playerid], GetVehicleModel(GetPlayerVehicleID(playerid)));
When i enter a vehicle shows model of the past vehicle ive been into like the one before and when i re-enter that vehicle it shows it right so idk whats the problem ? also i put this under onplayerstatechange and newstate == player_state_driver. Thanks for reading
Reply
#2

https://sampwiki.blast.hk/wiki/SetVehicleParamsEx

You are probably using
PlayerTextDrawSetPreviewModel(playerid, TDCoS6[playerid], GetVehicleModel(GetPlayerVehicleID(playerid)));
in the wrong callback or something like that.

Can you show where you use that function?
Reply
#3

Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
	if(newstate == PLAYER_STATE_DRIVER)
	{
		new id = GetVehicleID(GetPlayerVehicleID(playerid));
		if(IsVeh(id))
		{
			if(VehInfo[id][vCreated] == 1)
			{
			    TogglePlayerControllable(playerid, 0);
				PlayerTextDrawShow(playerid, TDCoS0[playerid]);
				PlayerTextDrawShow(playerid, TDCoS1[playerid]);
				PlayerTextDrawShow(playerid, TDCoS2[playerid]);
				PlayerTextDrawShow(playerid, TDCoS3[playerid]);
				PlayerTextDrawShow(playerid, TDCoS4[playerid]);
				PlayerTextDrawShow(playerid, TDCoS5[playerid]);
				PlayerTextDrawShow(playerid, TDCoS6[playerid]);
				PlayerTextDrawShow(playerid, TDCoS7[playerid]);
				PlayerTextDrawShow(playerid, TDCoS8[playerid]);
				new imevozila[10];
				if(VehInfo[id][vVrsta] == 1) { imevozila = "Automobil"; }
				if(VehInfo[id][vVrsta] == 2) { imevozila = "Motor"; }
				if(VehInfo[id][vVrsta] == 3) { imevozila = "Letelicu"; }
				if(VehInfo[id][vVrsta] == 4) { imevozila = "Brod"; }
				new cenaa[50], imea[50], markaa[50], ida[50], vlasnika[50];
    			format(cenaa, sizeof(cenaa), "CENA: ~w~%d $", VehInfo[id][vCena]);
    			format(markaa, sizeof(markaa), "MARKA: ~w~%s", VehicleNames[VehInfo[id][vModel]-400]);
    			format(vlasnika, sizeof(vlasnika), "VLASNIK: ~w~%s", VehInfo[id][vVlasnik]);
    			format(ida, sizeof(ida), "ID: ~w~%d", VehInfo[id][vID]);
    			format(imea, sizeof(imea), "KUPI %s", imevozila);
    			PlayerTextDrawSetString(playerid, TDCoS1[playerid], imea);
    			PlayerTextDrawSetString(playerid, TDCoS2[playerid], markaa);
    			PlayerTextDrawSetString(playerid, TDCoS3[playerid], cenaa);
    			PlayerTextDrawSetString(playerid, TDCoS4[playerid], ida);
    			PlayerTextDrawSetString(playerid, TDCoS5[playerid], vlasnika);
			    SetTimerEx("Bleja", 100, false, "i", playerid);
				SelectTextDraw(playerid, 0x4665ffff);
				return 1;
			}
			if(VehInfo[id][vCreated] == 2)
			{
			    new strica[128];
			    new imeigraca[MAX_PLAYER_NAME];
			    GetPlayerName(playerid, imeigraca, sizeof(imeigraca));
			    if(!strcmp(imeigraca, VehInfo[id][vVlasnik], false))
			    {
				    format(strica,sizeof(strica),"~R~VLASNIK: ~W~%s", VehInfo[id][vVlasnik]);
					GameTextForPlayer(playerid, strica, 3000, 3);
				}
				else
				{
				    format(strica,sizeof(strica),"~R~VLASNIK: ~W~%s", VehInfo[id][vVlasnik]);
					GameTextForPlayer(playerid, strica, 3000, 3);
					SCM(playerid, -1, "{FF0000}Nemate kljuceve od ovog vozila.");
					RemovePlayerFromVehicle(playerid);
				}
			}
		}
	}
there you go fam
Reply
#4

I dont see you changing the previewmodel in that code.
So try this:
Код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
	if(newstate == PLAYER_STATE_DRIVER)
	{
		new id = GetVehicleID(GetPlayerVehicleID(playerid));
		if(IsVeh(id))
		{
			if(VehInfo[id][vCreated] == 1)
			{
			    TogglePlayerControllable(playerid, 0);
				PlayerTextDrawShow(playerid, TDCoS0[playerid]);
				PlayerTextDrawShow(playerid, TDCoS1[playerid]);
				PlayerTextDrawShow(playerid, TDCoS2[playerid]);
				PlayerTextDrawShow(playerid, TDCoS3[playerid]);
				PlayerTextDrawShow(playerid, TDCoS4[playerid]);
				PlayerTextDrawShow(playerid, TDCoS5[playerid]);
				PlayerTextDrawSetPreviewModel(playerid, TDCoS6[playerid], GetVehicleModel(GetPlayerVehicleID(playerid))); 
				PlayerTextDrawShow(playerid, TDCoS6[playerid]);
				PlayerTextDrawShow(playerid, TDCoS7[playerid]);
				PlayerTextDrawShow(playerid, TDCoS8[playerid]);
				new imevozila[10];
				if(VehInfo[id][vVrsta] == 1) { imevozila = "Automobil"; }
				if(VehInfo[id][vVrsta] == 2) { imevozila = "Motor"; }
				if(VehInfo[id][vVrsta] == 3) { imevozila = "Letelicu"; }
				if(VehInfo[id][vVrsta] == 4) { imevozila = "Brod"; }
				new cenaa[50], imea[50], markaa[50], ida[50], vlasnika[50];
    			format(cenaa, sizeof(cenaa), "CENA: ~w~%d $", VehInfo[id][vCena]);
    			format(markaa, sizeof(markaa), "MARKA: ~w~%s", VehicleNames[VehInfo[id][vModel]-400]);
    			format(vlasnika, sizeof(vlasnika), "VLASNIK: ~w~%s", VehInfo[id][vVlasnik]);
    			format(ida, sizeof(ida), "ID: ~w~%d", VehInfo[id][vID]);
    			format(imea, sizeof(imea), "KUPI %s", imevozila);
    			PlayerTextDrawSetString(playerid, TDCoS1[playerid], imea);
    			PlayerTextDrawSetString(playerid, TDCoS2[playerid], markaa);
    			PlayerTextDrawSetString(playerid, TDCoS3[playerid], cenaa);
    			PlayerTextDrawSetString(playerid, TDCoS4[playerid], ida);
    			PlayerTextDrawSetString(playerid, TDCoS5[playerid], vlasnika);
			    SetTimerEx("Bleja", 100, false, "i", playerid);
				SelectTextDraw(playerid, 0x4665ffff);
				return 1;
			}
			if(VehInfo[id][vCreated] == 2)
			{
			    new strica[128];
			    new imeigraca[MAX_PLAYER_NAME];
			    GetPlayerName(playerid, imeigraca, sizeof(imeigraca));
			    if(!strcmp(imeigraca, VehInfo[id][vVlasnik], false))
			    {
				    format(strica,sizeof(strica),"~R~VLASNIK: ~W~%s", VehInfo[id][vVlasnik]);
					GameTextForPlayer(playerid, strica, 3000, 3);
				}
				else
				{
				    format(strica,sizeof(strica),"~R~VLASNIK: ~W~%s", VehInfo[id][vVlasnik]);
					GameTextForPlayer(playerid, strica, 3000, 3);
					SCM(playerid, -1, "{FF0000}Nemate kljuceve od ovog vozila.");
					RemovePlayerFromVehicle(playerid);
				}
			}
		}
	}
Reply
#5

im such a retard thanks bro +rep but still didnt fix the engine problem i put this in the part where hes buying the car
Код:
			new engine, lights, alarm, doors, bonnet, boot, objective;
			GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights, alarm, doors, bonnet, boot, objective);
			SetVehicleParamsEx(GetPlayerVehicleID(playerid), VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);
still nothing
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)