03.09.2009, 11:18
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.
This is OnGameModeInit
This is the GM
Thanks for helping!
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;
Код:
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;
}
Код:
#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;
}

