My tuned cars won't spawn correctly.
#1

Hey,

I wanted to have tuned cars in Grove Str. and I think I've did everything right but it seems like some cars don't spawn at all and some cars do spawn but not at the right places. The Blade spawns in the middle of Grove Str. and the Savanna is nowhere to find but when I destroy the Blade sometimes it spawns at the right place.

There are no errors or warnings BTW.

Код:
new savanna;
new blade;
This is OnGameModeInit
Код:
	savanna = CreateVehicle(567,2509.1343,-1686.2330,13.2296,47.3679,16,16,10000);
	AddVehicleComponent(savanna,1189); //Front Bumper
	AddVehicleComponent(savanna,1187); //Rear Bumper
	AddVehicleComponent(savanna,1129); //Exhaust
	AddVehicleComponent(savanna,1102); //Left Side Skirt
	AddVehicleComponent(savanna,1133); //Right Side Skirt
	AddVehicleComponent(savanna,1078); //Wheels
	AddVehicleComponent(savanna,1010); //Nitro 10x
	AddVehicleComponent(savanna,1087); //Hydrolics

	blade = CreateVehicle(536,2509.8462,-1671.8666,13.1510,348.3512,16,16,10000);
	AddVehicleComponent(blade,1182); //Front Bumper
	AddVehicleComponent(blade,1184); //Rear Bumper
	AddVehicleComponent(blade,1104); //Exhaust
	AddVehicleComponent(blade,1108); //Left Side Skirt
	AddVehicleComponent(blade,1107); //Right Side Skirt
	AddVehicleComponent(blade,1078); //Wheels
	AddVehicleComponent(blade,1010); //Nitro 10x
	AddVehicleComponent(blade,1087); //Hydrolics
Код:
public OnVehicleSpawn(vehicleid)
{
	if (vehicleid == savanna)
	AddVehicleComponent(savanna,1189); //Front Bumper
	AddVehicleComponent(savanna,1187); //Rear Bumper
	AddVehicleComponent(savanna,1129); //Exhaust
	AddVehicleComponent(savanna,1102); //Left Side Skirt
	AddVehicleComponent(savanna,1133); //Right Side Skirt
	AddVehicleComponent(savanna,1078); //Wheels
	AddVehicleComponent(savanna,1010); //Nitro 10x
	AddVehicleComponent(savanna,1087); //Hydrolics 
	
	if (vehicleid == blade)
	AddVehicleComponent(blade,1182); //Front Bumper
	AddVehicleComponent(blade,1184); //Rear Bumper
	AddVehicleComponent(blade,1104); //Exhaust
	AddVehicleComponent(blade,1108); //Left Side Skirt
	AddVehicleComponent(blade,1107); //Right Side Skirt
	AddVehicleComponent(blade,1078); //Wheels
	AddVehicleComponent(blade,1010); //Nitro 10x
	AddVehicleComponent(blade,1087); //Hydrolics
	return 1;
}
This is the GM

Код:
#include <a_samp>

#include "../include/gl_common.inc"

static gTeam[MAX_PLAYERS]; // Tracks the team assignment for each player

new total_vehicles_from_files=0;

new gPlayerClass[MAX_PLAYERS];

new savanna;
new blade;

//Color Defines

#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_RED 0xAA3333AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_PINK 0xFF66FFAA
#define COLOR_BLUE 0x0000BBAA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_DARKRED 0x660000AA
#define COLOR_ORANGE 0xFF9900AA


//Team Defines

#define TEAM_GROVE 0
#define TEAM_BALLAS 1
#define TEAM_AZTECAS 2
#define TEAM_VAGOS 3
#define TEAM_POLICE 4

#if defined FILTERSCRIPT

public OnFilterScriptExit()
{
	return 1;
}

#else

main()
{
		print(" _______  ___   _________  ___    _______   _____   ");
		print("|  ***| |***|___ |   ***| |***|_____ |  ***|  | ***|  ");
		print("|   *| | *|***||    *| |   ***||   *|  |  *|  ");
		print("|  | *| | *| *||_    *| |    *||_______|  | |___|___ ");
		print("|  |___| |  | *| |  |___| |    *|  ______ _|____ ***|");
		print("|  |____ |    | |  **| |     | |  ***||  ***|  *|");
		print("|  | ***||    | |  __|_ |  |   | |   *||   *|  *|");
		print("|    *||  |  |_ |  | ***||  | | |_ |   *||   *|  |");
		print("|    *||  |  *||    *||  | |  *||   ||      |");
		print("|    ||  |  *||    *||  | |  *||   ||      |");
		print("|________||___|_____||________||___|__|____||______||___________|");
		print(" _______________________________________________________________ ");
		print("|  CHEMIS & RABBIT   LOS SANTOS GANGWAR SERVER     ***|");
		print("|_______________________________________________________________|");
}

#endif

public OnGameModeInit()
{
	ShowPlayerMarkers(1);
	ShowNameTags(1);
	SetGameModeText("Gangwar");
	
	//Grove Street Families
	AddPlayerClass(105,2496.1636,-1702.5219,1014.7422,0.4582,0,0,5,0,28,350);
	AddPlayerClass(106,2496.1636,-1702.5219,1014.7422,0.4582,0,0,5,0,28,350);
	AddPlayerClass(107,2496.1636,-1702.5219,1014.7422,0.4582,0,0,5,0,28,350);
	
	//Ballas
	AddPlayerClass(102,1938.9695,-1114.7136,27.4523,185.0861,0,0,4,1,29,350);
	AddPlayerClass(103,1938.9695,-1114.7136,27.4523,185.0861,0,0,4,1,29,350);
  AddPlayerClass(104,1938.9695,-1114.7136,27.4523,185.0861,0,0,4,1,29,350);
	
	//Varios Los Aztecas
	AddPlayerClass(114,1777.2328,-1937.6224,13.5533,355.1273,0,0,1,1,28,350);
	AddPlayerClass(115,1777.2328,-1937.6224,13.5533,355.1273,0,0,1,1,28,350);
  AddPlayerClass(116,1777.2328,-1937.6224,13.5533,355.1273,0,0,1,1,28,350);
  
 	//Los Santos Vagos
	AddPlayerClass(108,2807.3569,-1167.2382,1025.5703,175.1315,0,0,7,1,29,350);
	AddPlayerClass(109,2807.3569,-1167.2382,1025.5703,175.1315,0,0,7,1,29,350);
  AddPlayerClass(110,2807.3569,-1167.2382,1025.5703,175.1315,0,0,7,1,29,350);
  
 	//Police
	AddPlayerClass(281,246.3915,86.9963,1003.6406,177.9516,0,0,3,1,27,150);
	AddPlayerClass(284,246.3915,86.9963,1003.6406,177.9516,0,0,3,1,27,150);
  AddPlayerClass(285,246.3915,86.9963,1003.6406,177.9516,3,1,27,150,17,3);
  
	savanna = CreateVehicle(567,2509.1343,-1686.2330,13.2296,47.3679,16,16,10000);
	AddVehicleComponent(savanna,1189); //Front Bumper
	AddVehicleComponent(savanna,1187); //Rear Bumper
	AddVehicleComponent(savanna,1129); //Exhaust
	AddVehicleComponent(savanna,1102); //Left Side Skirt
	AddVehicleComponent(savanna,1133); //Right Side Skirt
	AddVehicleComponent(savanna,1078); //Wheels
	AddVehicleComponent(savanna,1010); //Nitro 10x
	AddVehicleComponent(savanna,1087); //Hydrolics

	blade = CreateVehicle(536,2509.8462,-1671.8666,13.1510,348.3512,16,16,10000);
	AddVehicleComponent(blade,1182); //Front Bumper
	AddVehicleComponent(blade,1184); //Rear Bumper
	AddVehicleComponent(blade,1104); //Exhaust
	AddVehicleComponent(blade,1108); //Left Side Skirt
	AddVehicleComponent(blade,1107); //Right Side Skirt
	AddVehicleComponent(blade,1078); //Wheels
	AddVehicleComponent(blade,1010); //Nitro 10x
	AddVehicleComponent(blade,1087); //Hydrolics

	// SPECIAL
	total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/trains.txt");
	total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/pilots.txt");
	
 	// LOS SANTOS
  total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_law.txt");
  total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_airport.txt");
  total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_gen_inner.txt");
  total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_gen_outer.txt");

  // OTHER AREAS
  total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/whetstone.txt");
  total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/bone.txt");
  total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/flint.txt");
  total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/tierra.txt");
  total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/red_county.txt");

  printf("Total vehicles from files: %d",total_vehicles_from_files);

	return 1;
}

public OnVehicleSpawn(vehicleid)
{
	if (vehicleid == savanna)
	AddVehicleComponent(savanna,1189); //Front Bumper
	AddVehicleComponent(savanna,1187); //Rear Bumper
	AddVehicleComponent(savanna,1129); //Exhaust
	AddVehicleComponent(savanna,1102); //Left Side Skirt
	AddVehicleComponent(savanna,1133); //Right Side Skirt
	AddVehicleComponent(savanna,1078); //Wheels
	AddVehicleComponent(savanna,1010); //Nitro 10x
	AddVehicleComponent(savanna,1087); //Hydrolics 
	
	if (vehicleid == blade)
	AddVehicleComponent(blade,1182); //Front Bumper
	AddVehicleComponent(blade,1184); //Rear Bumper
	AddVehicleComponent(blade,1104); //Exhaust
	AddVehicleComponent(blade,1108); //Left Side Skirt
	AddVehicleComponent(blade,1107); //Right Side Skirt
	AddVehicleComponent(blade,1078); //Wheels
	AddVehicleComponent(blade,1010); //Nitro 10x
	AddVehicleComponent(blade,1087); //Hydrolics
	return 1;
}

public OnGameModeExit()
{
	return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
	SetPlayerInterior(playerid,14);

	SetPlayerPos(playerid,258.4893,-41.4008,1002.0234);

	SetPlayerFacingAngle(playerid, 90.0);

	SetPlayerCameraPos(playerid,256.0815,-43.0475,1003.0234);

	SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234);
	
	SetPlayerClass(playerid, classid);

	gPlayerClass[playerid] = classid;

	switch (classid) {

	  case 0:

	    {

				GameTextForPlayer(playerid, "~g~Grove Street Families", 175, 1);

			}

		case 1:

		  {

				GameTextForPlayer(playerid, "~g~Grove Street Families", 175, 1);

			}

		case 2:

	    {

				GameTextForPlayer(playerid, "~g~Grove Street Families", 175, 1);

			}
		case 3:
		
		  {
		    GameTextForPlayer(playerid, "~r~Ballas", 175,1);
		    
			}
		case 4:
		
		  {
		    GameTextForPlayer(playerid, "~r~Ballas", 175,1);
		    
			}
		case 5:
		  {
			  GameTextForPlayer(playerid, "~r~Ballas", 175,1);
			  
			}
		case 6:

		  {
		    GameTextForPlayer(playerid, "~b~Varios Los Aztecas", 175,1);

			}
		case 7:

		  {
		    GameTextForPlayer(playerid, "~b~Varios Los Aztecas", 175,1);

			}
		case 8:

		  {
		    GameTextForPlayer(playerid, "~b~Varios Los Aztecas", 175,1);

			}
		case 9:

		  {
		    GameTextForPlayer(playerid, "~y~Los Santos Vagos", 175,1);

			}
		case 10:
		  {
		    GameTextForPlayer(playerid, "~y~Los Santos Vagos", 175,1);

			}
		case 11:

		  {
		    GameTextForPlayer(playerid, "~y~Los Santos Vagos", 175,1);

			}
}
	
	return 1;
}

public OnPlayerRequestSpawn(playerid)
{
	return 1;
}

public OnPlayerConnect(playerid)
{
	GameTextForPlayer(playerid,"~w~Chemis Gangwar",2500,5);
	SetPlayerColor(playerid, COLOR_GREY); // Set the player's color to inactive
	return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
	return 1;
}

public OnPlayerSpawn(playerid)

{
	GivePlayerMoney(playerid, 750);

	if(gTeam[playerid] == TEAM_GROVE) {

	SetPlayerColor(playerid,COLOR_GREEN); // Green
	SetPlayerInterior(playerid,3);

		}

	else if(gTeam[playerid] == TEAM_BALLAS) {

	SetPlayerColor(playerid,COLOR_PINK); // Pink
	SetPlayerInterior(playerid,0);

		}

	else if(gTeam[playerid] == TEAM_AZTECAS) {

	SetPlayerColor(playerid,COLOR_LIGHTBLUE); // Light Blue
	SetPlayerInterior(playerid,0);

		}

	else if(gTeam[playerid] == TEAM_VAGOS) {

	SetPlayerColor(playerid,COLOR_YELLOW); // Yellow
	SetPlayerInterior(playerid,8);

		}

	else if(gTeam[playerid] == TEAM_POLICE) {

	SetPlayerColor(playerid,COLOR_BLUE); // Blue
	SetPlayerInterior(playerid,6);

		}
		
	if(!IsPlayerNPC(playerid)) return 1; // We only deal with NPC players in this script

	new playername[64];
	GetPlayerName(playerid,playername,64);

	if(!strcmp(playername,"TrainDriverLV",true)) {
    SetPlayerColor(playerid,0xFFFFFFFF);
 	}
	else if(!strcmp(playername,"TrainDriverSF",true)) {
	  SetPlayerColor(playerid,0xFFFFFFFF);
	}
	else if(!strcmp(playername,"TrainDriverLS",true)) {
	  SetPlayerColor(playerid,0xFFFFFFFF);
	}
	else if(!strcmp(playername,"PilotLV",true)) {
	  SetPlayerColor(playerid,0xFFFFFFFF);
	}
	else if(!strcmp(playername,"PilotSF",true)) {
	  SetPlayerColor(playerid,0xFFFFFFFF);
	}
	else if(!strcmp(playername,"PilotLS",true)) {
	  SetPlayerColor(playerid,0xFFFFFFFF);
	}
	else if(!strcmp(playername,"TestIdleDriver",true)) {
	  SetPlayerColor(playerid,0xFFFFFFFF);
	}
	else if(!strcmp(playername,"TaxiTest",true)) {
	  SetPlayerColor(playerid,0xFFFFFFFF);
	}

	return 1;

}

SetPlayerClass(playerid, classid) {

	if(classid == 0) {

	gTeam[playerid] = TEAM_GROVE;

	} else if(classid == 1) {

	gTeam[playerid] = TEAM_GROVE;

	} else if(classid == 2) {

	gTeam[playerid] = TEAM_GROVE;

	} else if(classid == 3) {

	gTeam[playerid] = TEAM_BALLAS;

	} else if(classid == 4) {

	gTeam[playerid] = TEAM_BALLAS;

	} else if(classid == 5) {

 	gTeam[playerid] = TEAM_BALLAS;
 	
	} else if(classid == 6) {

	gTeam[playerid] = TEAM_AZTECAS;
	
	} else if(classid == 7) {

	gTeam[playerid] = TEAM_AZTECAS;
	
	} else if(classid == 8) {

	gTeam[playerid] = TEAM_AZTECAS;
	
	} else if(classid == 9) {

	gTeam[playerid] = TEAM_VAGOS;

	} else if(classid == 10) {

	gTeam[playerid] = TEAM_VAGOS;

	} else if(classid == 11) {

	gTeam[playerid] = TEAM_VAGOS;

	}

}

public OnPlayerDeath(playerid, killerid, reason)
{
	return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
	return 1;
}

public OnPlayerText(playerid, text[])
{
	return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
	new cmd[256];
	new	tmp[256];
	new Message[256];
	new gMessage[256];
	new pName[MAX_PLAYER_NAME+1];
	new iName[MAX_PLAYER_NAME+1];
	new	idx;
	
	cmd = strtok(cmdtext, idx);

	if (strcmp("/help", cmdtext, true, 10) == 0)
	{
		SendClientMessage(playerid, COLOR_WHITE, "-Chemis Gangwar Server-");
 		SendClientMessage(playerid, COLOR_WHITE, "-----------------------");
		SendClientMessage(playerid, COLOR_WHITE, "Hello, Welcome to Chemis' Gangwar.");
		SendClientMessage(playerid, COLOR_WHITE, "If you are new to Gangwars -- /new");
 		SendClientMessage(playerid, COLOR_WHITE, "Further commands are coming.");
		return 1;
	}
	if (strcmp("/new", cmdtext, true, 10) == 0)
	{
		SendClientMessage(playerid, COLOR_WHITE, "-New player introduction-");
		SendClientMessage(playerid, COLOR_WHITE, "------------------------");
 		SendClientMessage(playerid, COLOR_WHITE, "First time to a gangwar server?");
  		SendClientMessage(playerid, COLOR_WHITE, "Or just looking for some info?");
 		SendClientMessage(playerid, COLOR_WHITE, "Well Good job typing /new!");
 		SendClientMessage(playerid, COLOR_WHITE, "The main objective of gangwars,");
 		SendClientMessage(playerid, COLOR_WHITE, "Is to kill the enemy.");
 		SendClientMessage(playerid, COLOR_WHITE, "The best thing to do if you are not skilled");
  		SendClientMessage(playerid, COLOR_WHITE, "is to roll with other gang members.Simply ask them");
 		SendClientMessage(playerid, COLOR_WHITE, "well, That info should get you started.");
 		SendClientMessage(playerid, COLOR_WHITE, "Ask a Moderator or admin for further info.");
 		return 1;
  }
  	// PM Command
	if(strcmp("/pm", cmd, true) == 0)
	{
		tmp = strtok(cmdtext,idx);

		if(!strlen(tmp) || strlen(tmp) > 5) {
			SendClientMessage(playerid,COLOR_WHITE,"Usage: /pm (id) (message)");
			return 1;
		}

		new id = strval(tmp);
    gMessage = strrest(cmdtext,idx);

		if(!strlen(gMessage)) {
			SendClientMessage(playerid,COLOR_WHITE,"Usage: /pm (id) (message)");
			return 1;
		}

		if(!IsPlayerConnected(id)) {
			SendClientMessage(playerid,COLOR_WHITE,"/pm : Bad player ID");
		}

		if(playerid != id) {
			GetPlayerName(id,iName,sizeof(iName));
			GetPlayerName(playerid,pName,sizeof(pName));
			format(Message,sizeof(Message),">> %s(%d): %s",iName,id,gMessage);
			SendClientMessage(playerid,COLOR_YELLOW,Message);
			format(Message,sizeof(Message),"** %s(%d): %s",pName,playerid,gMessage);
			SendClientMessage(id,COLOR_YELLOW,Message);
			PlayerPlaySound(id,1085,0.0,0.0,0.0);

			printf("PM: %s",Message);

		}
		else {
			SendClientMessage(playerid,COLOR_WHITE,"You cannot PM yourself");
		}
		return 1;
	}

	//Kick Command
	if(strcmp("/kick", cmd, true) == 0)
	{
	  if(IsPlayerAdmin(playerid)) {
			tmp = strtok(cmdtext,idx);
			if(!strlen(tmp) || strlen(tmp) > 5) {
				return SendClientMessage(playerid,COLOR_WHITE,"Usage: /kick (id) [reason]");
			}

			new id = strval(tmp);

			if(!IsPlayerConnected(id)) {
				SendClientMessage(playerid,COLOR_WHITE,"/kick : Bad player ID");
				return 1;
			}

			gMessage = strrest(cmdtext,idx);

			GetPlayerName(id,iName,sizeof(iName));
			SendClientMessage(id,COLOR_YELLOW,"-- You have been kicked from the server.");

			if(strlen(gMessage) > 0) {
				format(Message,sizeof(Message),"Reason: %s",gMessage);
				SendClientMessage(id,COLOR_YELLOW,Message);
			}

			format(Message,sizeof(Message),">> %s(%d) has been kicked.",iName,id);
			SendClientMessage(playerid,COLOR_YELLOW,Message);

			Kick(id);
			return 1;
		} else {
      SendClientMessage(playerid,COLOR_WHITE,"/kick : You are not an admin");
			return 1;
		}
	}

	//Ban Command
	if(strcmp("/ban", cmd, true) == 0)
	{
	  if(IsPlayerAdmin(playerid)) {
			tmp = strtok(cmdtext,idx);
			if(!strlen(tmp) || strlen(tmp) > 5) {
				return SendClientMessage(playerid,COLOR_WHITE,"Usage: /ban (id) [reason]");
			}

			new id = strval(tmp);

			if(!IsPlayerConnected(id)) {
				SendClientMessage(playerid,COLOR_WHITE,"/ban : Bad player ID");
				return 1;
			}

			gMessage = strrest(cmdtext,idx);

			GetPlayerName(id,iName,sizeof(iName));
			SendClientMessage(id,COLOR_YELLOW,"-- You have been banned from the server.");

			if(strlen(gMessage) > 0) {
				format(Message,sizeof(Message),"Reason: %s",gMessage);
				SendClientMessage(id,COLOR_YELLOW,Message);
			}

			format(Message,sizeof(Message),">> %s(%d) has been banned.",iName,id);
			SendClientMessage(playerid,COLOR_YELLOW,Message);

			Ban(id);
			return 1;
		} else {
      SendClientMessage(playerid,COLOR_WHITE,"/ban : You are not an admin");
			return 1;
		}
	}
	return 0;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
	return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
	return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
	return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
	return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
	return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
	return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
	return 1;
}

public OnRconCommand(cmd[])
{
	return 1;
}

public OnObjectMoved(objectid)
{
	return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
	return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
	return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
	return 1;
}

public OnPlayerExitedMenu(playerid)
{
	return 1;
}
Thanks for helping!
Reply
#2

You can't use CreateVehicle for trains. They're fine for other vehicles. You're not meant to use AddStaticVehicle to get the vehicleid. You should be using CreateVehicle.
Reply
#3

I changed it, and still the same problem.

EDIT: It isn't caused by the tuned cars, I used all the cars from scriptfiles/vehicles and most of them spawn correct but alot spawn wrong, on the highway are vehicles, in the middle of roads, etc. etc.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)