Jump to content
  • 0

Help Car Spawn


Fanta

Question

Problema intalnita (descriere): Buna Seara. Am un gamemode Saint's Edit la care am pastrat baza sql si am schimbat toate sistemele insa sistemul de vehicule m-a dat peste cap de tot. La acest gamemode daca un player achizitioneaza o masina trebuie sa dea /vehspawn pentru ca masina sa i se spawneze pe server. Daca playerul detine 2 masini trebuie sa dea /vehspawn cand se afla in prima masina pentru ca a 2-a sa apara pe server si sa dispara prima. As vrea ca sa nu mai fie nevoie sa se foloseasca /vehspawn. Adica toate 3 masinile sa ramana pe server fara a fi necesara vreo comanda ca acestea sa fie spawnate.
Ero(area / rile) / warning-(ul / urile): -

Liniile de cod / sursa / script-ul(obligatoriu): 

#define DIALOG_VEHSPAWN 100


CMD:vehspawn(playerid, params[])
{
	if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "Trebuie sa te loghezi  mai intai.");
	new getcarid = GetPlayerVehicleID(playerid);
	if(getcarid != personalcar[playerid]) return SCM(playerid,COLOR_DS,"Trebuie sa fii in vehiculul tau personal!Pentru a spawna alt vehicul personal!");
	{
		ShowPlayerDialog(playerid, DIALOG_VEHSPAWN , DIALOG_STYLE_LIST , "Personal Cars","Car\nMoto|Bike\nHeli\nPremium Car" , "Spawn" , "Exit");
	}
	return 1;
}







	if(dialogid == DIALOG_VEHSPAWN)
	{
	    if(response)
		{
	    	if(listitem == 0)
			{
			   new getcarid = GetPlayerVehicleID(playerid);
			   {
					if(PlayerInfo[playerid][pPcarkey] == 0) return SCM(playerid,COLOR_DS,"{37B9C8}Nu detii o masina.");
					if(OwnedVeh(getcarid) == PlayerInfo[playerid][pPcarkey]) return SCM(playerid,COLOR_DS,"Ai deja o masina spawnata!");
					if(personalcar[playerid] != 0)
					{
						if(CarInfo[OwnedVeh(personalcar[playerid])][cNeon] != 0)
						{
							DestroyObject(Neon1[personalcar[playerid]]);
							DestroyObject(Neon2[personalcar[playerid]]);
							Neon1[personalcar[playerid]] = 0;
							Neon2[personalcar[playerid]] = 0;
						}
						vUpdate(OwnedVeh(personalcar[playerid]), cKMx);
						DestroyVehicle(personalcar[playerid]);
						OwnedVeh(personalcar[playerid]) = 0;
						personalcar[playerid] = 0;
					}
					new carid = PlayerInfo[playerid][pPcarkey];
					new car = CreateVehicle(CarInfo[carid][cModel],CarInfo[carid][cLocationx],CarInfo[carid][cLocationy],CarInfo[carid][cLocationz],CarInfo[carid][cAngle],CarInfo[carid][cColorOne],CarInfo[carid][cColorTwo],500000);
					SetVehicleNumberPlate(car, CarInfo[carid][cLicense]);
					new engine,lights,alarm,doors,bonnet,boot,objective;
					if(CarInfo[carid][cLock] == 1)
					{
						GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
						SetVehicleParamsEx(car,engine,lights,alarm,1,bonnet,boot,objective);
					}
					if(CarInfo[carid][cLock] == 0)
					{
						GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
						SetVehicleParamsEx(car,engine,lights,alarm,0,bonnet,boot,objective);
					}
					OwnedVeh(car) = carid;
					personalcar[playerid] = car;
					format(string,sizeof(string),"{37B9C8}You spawned your %s.",CarInfo[carid][cDescription]);
					SCM(playerid,COLOR_DS,string);
					SwitchKey[playerid] = 1;
					ModVehicle(car);
					if(CarInfo[carid][cNeon] != 0)
					{
						if(CarInfo[carid][cNeon] == 1)
						{
							Neon1[personalcar[playerid]] = CreateObject(18648,0,0,0,0,0,0);
							Neon2[personalcar[playerid]] = CreateObject(18648,0,0,0,0,0,0);
							AttachObjectToVehicle(Neon1[personalcar[playerid]], car, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
							AttachObjectToVehicle(Neon2[personalcar[playerid]], car, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
						}
						else if(CarInfo[carid][cNeon] == 2)
						{
							Neon1[personalcar[playerid]] = CreateObject(18647,0,0,0,0,0,0);
							Neon2[personalcar[playerid]] = CreateObject(18647,0,0,0,0,0,0);
							AttachObjectToVehicle(Neon1[personalcar[playerid]], car, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
							AttachObjectToVehicle(Neon2[personalcar[playerid]], car, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
						}
						else if(CarInfo[carid][cNeon] == 3)
						{
							Neon1[personalcar[playerid]] = CreateObject(18649,0,0,0,0,0,0);
							Neon2[personalcar[playerid]] = CreateObject(18649,0,0,0,0,0,0);
							AttachObjectToVehicle(Neon1[personalcar[playerid]], car, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
							AttachObjectToVehicle(Neon2[personalcar[playerid]], car, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
						}
						else if(CarInfo[carid][cNeon] == 4)
						{
							Neon1[personalcar[playerid]] = CreateObject(18652,0,0,0,0,0,0);
							Neon2[personalcar[playerid]] = CreateObject(18652,0,0,0,0,0,0);
							AttachObjectToVehicle(Neon1[personalcar[playerid]], car, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
							AttachObjectToVehicle(Neon2[personalcar[playerid]], car, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
						}
						else if(CarInfo[carid][cNeon] == 5)
						{
							Neon1[personalcar[playerid]] = CreateObject(18651,0,0,0,0,0,0);
							Neon2[personalcar[playerid]] = CreateObject(18651,0,0,0,0,0,0);
							AttachObjectToVehicle(Neon1[personalcar[playerid]], car, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
							AttachObjectToVehicle(Neon2[personalcar[playerid]], car, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
						}
						else if(CarInfo[carid][cNeon] == 6)
						{
							Neon1[personalcar[playerid]] = CreateObject(18650,0,0,0,0,0,0);
							Neon2[personalcar[playerid]] = CreateObject(18650,0,0,0,0,0,0);
							AttachObjectToVehicle(Neon1[personalcar[playerid]], car, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
							AttachObjectToVehicle(Neon2[personalcar[playerid]], car, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
						}
					}
				}
			}
      if(listitem == 1)
			{
				new getcarid = GetPlayerVehicleID(playerid);
				{
					if(PlayerInfo[playerid][pmotokey] == 0) return SCM(playerid,COLOR_DS,"{37B9C8}Nu detii un motor sau o bicicleta.");
					if(OwnedVeh(getcarid) == PlayerInfo[playerid][pmotokey]) return SCM(playerid,COLOR_DS,"{37B9C8}Ai deja o bicicleta sau un motor spawnat.");
					if(personalcar[playerid] != 0)
					{
						if(CarInfo[OwnedVeh(personalcar[playerid])][cNeon] != 0)
						{
							DestroyObject(Neon1[personalcar[playerid]]);
							DestroyObject(Neon2[personalcar[playerid]]);
							Neon1[personalcar[playerid]] = 0;
							Neon2[personalcar[playerid]] = 0;
						}
						vUpdate(OwnedVeh(personalcar[playerid]), cKMx);
						DestroyVehicle(personalcar[playerid]);
						OwnedVeh(personalcar[playerid]) = 0;
						personalcar[playerid] = 0;
					}
					new carid = PlayerInfo[playerid][pmotokey];
					new car = CreateVehicle(CarInfo[carid][cModel],CarInfo[carid][cLocationx],CarInfo[carid][cLocationy],CarInfo[carid][cLocationz],CarInfo[carid][cAngle],CarInfo[carid][cColorOne],CarInfo[carid][cColorTwo],500000);
					SetVehicleNumberPlate(car, CarInfo[carid][cLicense]);
					new engine,lights,alarm,doors,bonnet,boot,objective;
					if(CarInfo[carid][cLock] == 1)
					{
						GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
						SetVehicleParamsEx(car,engine,lights,alarm,1,bonnet,boot,objective);
					}
					if(CarInfo[carid][cLock] == 0)
					{
						GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
						SetVehicleParamsEx(car,engine,lights,alarm,0,bonnet,boot,objective);
					}
					OwnedVeh(car) = PlayerInfo[playerid][pmotokey];
					personalcar[playerid] = car;
					format(string,sizeof(string),"{37B9C8}You spawned your %s.",CarInfo[carid][cDescription]);
					SCM(playerid,COLOR_DS,string);
					SwitchKey[playerid] = 1;
					ModVehicle(car);
					return 1;
				}
			}
      if(listitem == 2)
			{
				new getcarid = GetPlayerVehicleID(playerid);
				{
					if(PlayerInfo[playerid][phelikey] == 0) return SCM(playerid,COLOR_DS,"{37B9C8}Nu detii un elicopter.");
					if(OwnedVeh(getcarid) == PlayerInfo[playerid][phelikey]) return SCM(playerid,COLOR_DS,"{37B9C8}Ai deja un elicopter spawnat.");
					if(personalcar[playerid] != 0)
					{
						if(CarInfo[OwnedVeh(personalcar[playerid])][cNeon] != 0)
						{
							DestroyObject(Neon1[personalcar[playerid]]);
							DestroyObject(Neon2[personalcar[playerid]]);
							Neon1[personalcar[playerid]] = 0;
							Neon2[personalcar[playerid]] = 0;
						}
						vUpdate(OwnedVeh(personalcar[playerid]), cKMx);
						DestroyVehicle(personalcar[playerid]);
						OwnedVeh(personalcar[playerid]) = 0;
						personalcar[playerid] = 0;
					}
					new carid = PlayerInfo[playerid][phelikey];
					new car = CreateVehicle(CarInfo[carid][cModel],CarInfo[carid][cLocationx],CarInfo[carid][cLocationy],CarInfo[carid][cLocationz],CarInfo[carid][cAngle],CarInfo[carid][cColorOne],CarInfo[carid][cColorTwo],500000);
					SetVehicleNumberPlate(car, CarInfo[carid][cLicense]);
					new engine,lights,alarm,doors,bonnet,boot,objective;
					if(CarInfo[carid][cLock] == 1)
					{
						GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
						SetVehicleParamsEx(car,engine,lights,alarm,1,bonnet,boot,objective);
					}
					if(CarInfo[carid][cLock] == 0)
					{
						GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
						SetVehicleParamsEx(car,engine,lights,alarm,0,bonnet,boot,objective);
					}
					OwnedVeh(car) = carid;
					personalcar[playerid] = car;
					format(string,sizeof(string),"{37B9C8}You spawned your %s.",CarInfo[carid][cDescription]);
					SCM(playerid,COLOR_DS,string);
					SwitchKey[playerid] = 1;
					ModVehicle(car);
					return 1;
				}
			}
	    	if(listitem == 3)
			{
				new getcarid = GetPlayerVehicleID(playerid);
				{
					if(PlayerInfo[playerid][pprcarkey] == 0) return SCM(playerid,COLOR_DS,"{37B9C8}Nu detii o masina premium.");
					if(OwnedVeh(getcarid) == PlayerInfo[playerid][pprcarkey]) return SCM(playerid,COLOR_DS,"{37B9C8}Ai deja masina premium spawnata.");
					if(personalcar[playerid] != 0)
					{
						if(CarInfo[OwnedVeh(personalcar[playerid])][cNeon] != 0)
						{
							DestroyObject(Neon1[personalcar[playerid]]);
							DestroyObject(Neon2[personalcar[playerid]]);
							Neon1[personalcar[playerid]] = 0;
							Neon2[personalcar[playerid]] = 0;
						}
						vUpdate(OwnedVeh(personalcar[playerid]), cKMx);
						DestroyVehicle(personalcar[playerid]);
						OwnedVeh(personalcar[playerid]) = 0;
						personalcar[playerid] = 0;
					}
					new carid = PlayerInfo[playerid][pprcarkey];
					new car = CreateVehicle(CarInfo[carid][cModel],CarInfo[carid][cLocationx],CarInfo[carid][cLocationy],CarInfo[carid][cLocationz],CarInfo[carid][cAngle],CarInfo[carid][cColorOne],CarInfo[carid][cColorTwo],500000);
					SetVehicleNumberPlate(car, CarInfo[carid][cLicense]);
					new engine,lights,alarm,doors,bonnet,boot,objective;
					if(CarInfo[carid][cLock] == 1)
					{
						GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
						SetVehicleParamsEx(car,engine,lights,alarm,1,bonnet,boot,objective);
					}
					if(CarInfo[carid][cLock] == 0)
					{
						GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
						SetVehicleParamsEx(car,engine,lights,alarm,0,bonnet,boot,objective);
					}
					OwnedVeh(car) = carid;
					personalcar[playerid] = car;
					format(string,sizeof(string),"{37B9C8}You spawned your %s.",CarInfo[carid][cDescription]);
					SCM(playerid,COLOR_DS,string);
					SwitchKey[playerid] = 1;
					ModVehicle(car);
					if(CarInfo[carid][cNeon] != 0)
					{
						if(CarInfo[carid][cNeon] == 1)
						{
							Neon1[personalcar[playerid]] = CreateObject(18648,0,0,0,0,0,0);
							Neon2[personalcar[playerid]] = CreateObject(18648,0,0,0,0,0,0);
							AttachObjectToVehicle(Neon1[personalcar[playerid]], car, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
							AttachObjectToVehicle(Neon2[personalcar[playerid]], car, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
						}
						else if(CarInfo[carid][cNeon] == 2)
						{
							Neon1[personalcar[playerid]] = CreateObject(18647,0,0,0,0,0,0);
							Neon2[personalcar[playerid]] = CreateObject(18647,0,0,0,0,0,0);
							AttachObjectToVehicle(Neon1[personalcar[playerid]], car, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
							AttachObjectToVehicle(Neon2[personalcar[playerid]], car, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
						}
						else if(CarInfo[carid][cNeon] == 3)
						{
							Neon1[personalcar[playerid]] = CreateObject(18649,0,0,0,0,0,0);
							Neon2[personalcar[playerid]] = CreateObject(18649,0,0,0,0,0,0);
							AttachObjectToVehicle(Neon1[personalcar[playerid]], car, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
							AttachObjectToVehicle(Neon2[personalcar[playerid]], car, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
						}
						else if(CarInfo[carid][cNeon] == 4)
						{
							Neon1[personalcar[playerid]] = CreateObject(18652,0,0,0,0,0,0);
							Neon2[personalcar[playerid]] = CreateObject(18652,0,0,0,0,0,0);
							AttachObjectToVehicle(Neon1[personalcar[playerid]], car, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
							AttachObjectToVehicle(Neon2[personalcar[playerid]], car, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
						}
						else if(CarInfo[carid][cNeon] == 5)
						{
							Neon1[personalcar[playerid]] = CreateObject(18651,0,0,0,0,0,0);
							Neon2[personalcar[playerid]] = CreateObject(18651,0,0,0,0,0,0);
							AttachObjectToVehicle(Neon1[personalcar[playerid]], car, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
							AttachObjectToVehicle(Neon2[personalcar[playerid]], car, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
						}
						else if(CarInfo[carid][cNeon] == 6)
						{
							Neon1[personalcar[playerid]] = CreateObject(18650,0,0,0,0,0,0);
							Neon2[personalcar[playerid]] = CreateObject(18650,0,0,0,0,0,0);
							AttachObjectToVehicle(Neon1[personalcar[playerid]], car, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
							AttachObjectToVehicle(Neon2[personalcar[playerid]], car, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
						}
					}
				}

			}
	    }
	    return 1;
	}


Imagini / Video (optional):
Ati incercat sa rezolvati singur?: Da..

Am scos toata comanda de /vehspawn si funcatia de Dialog_VehSpawn si degeaba masinile nu au mai aparut deloc...

Pentru cei care vor sa ajute cu un sfat. VA ROG FITI MAI EXPLICITI.

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Revin cu edit

La OnPlayerLogin, te folosesti de variabila pentru masina ca sa verifici daca player-ul are masina personala pe slot .

pentru a verifica daca player-ul are masina personala pe acel slot , si daca are , iei datele de la dialogul de la vehspawn si le pui la acea verificare .

De exemplu :

if(PlayerInfo[playerid][pPcarkey] > 0)
{

  new carid = PlayerInfo[playerid][pprcarkey];
  new car = CreateVehicle(CarInfo[carid][cModel],CarInfo[carid][cLocationx],CarInfo[carid][cLocationy],CarInfo[carid][cLocationz],CarInfo[carid][cAngle],CarInfo[carid][cColorOne],CarInfo[carid][cColorTwo],500000);
  SetVehicleNumberPlate(car, CarInfo[carid][cLicense]);
  new engine,lights,alarm,doors,bonnet,boot,objective;
  if(CarInfo[carid][cLock] == 1)
  {
  GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
  SetVehicleParamsEx(car,engine,lights,alarm,1,bonnet,boot,objective);
  }
  if(CarInfo[carid][cLock] == 0)
  {
  GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
  SetVehicleParamsEx(car,engine,lights,alarm,0,bonnet,boot,objective);
  }
  OwnedVeh(car) = carid;
  personalcar[playerid] = car;
  format(string,sizeof(string),"{37B9C8}You spawned your %s.",CarInfo[carid][cDescription]);
  SCM(playerid,COLOR_DS,string);
  SwitchKey[playerid] = 1;
  ModVehicle(car);
  if(CarInfo[carid][cNeon] != 0)
  {
  if(CarInfo[carid][cNeon] == 1)
  {
  Neon1[personalcar[playerid]] = CreateObject(18648,0,0,0,0,0,0);
  Neon2[personalcar[playerid]] = CreateObject(18648,0,0,0,0,0,0);
  AttachObjectToVehicle(Neon1[personalcar[playerid]], car, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
  AttachObjectToVehicle(Neon2[personalcar[playerid]], car, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
  }
  else if(CarInfo[carid][cNeon] == 2)
  {
  Neon1[personalcar[playerid]] = CreateObject(18647,0,0,0,0,0,0);
  Neon2[personalcar[playerid]] = CreateObject(18647,0,0,0,0,0,0);
  AttachObjectToVehicle(Neon1[personalcar[playerid]], car, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
  AttachObjectToVehicle(Neon2[personalcar[playerid]], car, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
  }
  else if(CarInfo[carid][cNeon] == 3)
  {
  Neon1[personalcar[playerid]] = CreateObject(18649,0,0,0,0,0,0);
  Neon2[personalcar[playerid]] = CreateObject(18649,0,0,0,0,0,0);
  AttachObjectToVehicle(Neon1[personalcar[playerid]], car, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
  AttachObjectToVehicle(Neon2[personalcar[playerid]], car, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
  }
  else if(CarInfo[carid][cNeon] == 4)
  {
  Neon1[personalcar[playerid]] = CreateObject(18652,0,0,0,0,0,0);
  Neon2[personalcar[playerid]] = CreateObject(18652,0,0,0,0,0,0);
  AttachObjectToVehicle(Neon1[personalcar[playerid]], car, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
  AttachObjectToVehicle(Neon2[personalcar[playerid]], car, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
  }
  else if(CarInfo[carid][cNeon] == 5)
  {
  Neon1[personalcar[playerid]] = CreateObject(18651,0,0,0,0,0,0);
  Neon2[personalcar[playerid]] = CreateObject(18651,0,0,0,0,0,0);
  AttachObjectToVehicle(Neon1[personalcar[playerid]], car, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
  AttachObjectToVehicle(Neon2[personalcar[playerid]], car, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
  }
  else if(CarInfo[carid][cNeon] == 6)
  {
  Neon1[personalcar[playerid]] = CreateObject(18650,0,0,0,0,0,0);
  Neon2[personalcar[playerid]] = CreateObject(18650,0,0,0,0,0,0);
  AttachObjectToVehicle(Neon1[personalcar[playerid]], car, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
  AttachObjectToVehicle(Neon2[personalcar[playerid]], car, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
  }
  }
}

Ma rog , iti asezi tu codul, mie mi s-a deformat ... Succes , sper ca ai inteles .

Edited by NoNamed
Link to comment
Share on other sites

  • 0
3 hours ago, Fanta said:

NoNamed am pus ce mi-ai dat tu la OnPlayerLogin insa se inchide pawno de la prea multe errori. Please da-mi exact ce trebuie sa adaug. Ms frumos de raspuns

Se inchide de la acolade . Aseaza tu codul cum trebuie  si  vezi ce acolada lipseste si pune-o . Codul cam ala e, dar  trebuie sa pui pentru fiecare dintre masini .

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.