My tuned cars won't spawn correctly. -
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.
Код:
#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;
}
Re: My tuned cars won't spawn correctly. -
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.
Re: My tuned cars won't spawn correctly. -
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.