SAMP Gitlab CI Test
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

161 lines
4.7 KiB

//-------------------------------------------------
//
// NPC initialisation for Grand Larceny
//
//-------------------------------------------------
#pragma tabsize 0
#include <a_samp>
//-------------------------------------------------
public OnFilterScriptInit()
{
ConnectNPC("TrainDriverLV","train_lv");
ConnectNPC("TrainDriverLS","train_ls");
ConnectNPC("TrainDriverSF","train_sf");
ConnectNPC("PilotLV","at400_lv");
ConnectNPC("PilotSF","at400_sf");
ConnectNPC("PilotLS","at400_ls");
// Testing
//ConnectNPC("OnfootTest","onfoot_test");
//ConnectNPC("DriverTest","mat_test2");
//ConnectNPC("DriverTest2","driver_test2");
return 1;
}
//-------------------------------------------------
// IMPORTANT: This restricts NPCs connecting from
// an IP address outside this server. If you need
// to connect NPCs externally you will need to modify
// the code in this callback.
public OnPlayerConnect(playerid)
{
if(IsPlayerNPC(playerid)) {
new ip_addr_npc[64+1];
new ip_addr_server[64+1];
GetServerVarAsString("bind",ip_addr_server,64);
GetPlayerIp(playerid,ip_addr_npc,64);
if(!strlen(ip_addr_server)) {
ip_addr_server = "127.0.0.1";
}
if(strcmp(ip_addr_npc,ip_addr_server,true) != 0) {
// this bot is remote connecting
printf("NPC: Got a remote NPC connecting from %s and I'm kicking it.",ip_addr_npc);
Kick(playerid);
return 0;
}
printf("NPC: Connection from %s is allowed.",ip_addr_npc);
}
return 1;
}
//-------------------------------------------------
public OnPlayerRequestClass(playerid, classid)
{
if(!IsPlayerNPC(playerid)) return 0; // We only deal with NPC players in this script
new playername[64];
GetPlayerName(playerid,playername,64);
if(!strcmp(playername,"TrainDriverLV",true)) {
SetSpawnInfo(playerid,69,255,1462.0745,2630.8787,10.8203,0.0,-1,-1,-1,-1,-1,-1);
}
else if(!strcmp(playername,"TrainDriverSF",true)) {
SetSpawnInfo(playerid,69,255,-1942.7950,168.4164,27.0006,0.0,-1,-1,-1,-1,-1,-1);
}
else if(!strcmp(playername,"TrainDriverLS",true)) {
SetSpawnInfo(playerid,69,255,1700.7551,-1953.6531,14.8756,0.0,-1,-1,-1,-1,-1,-1);
}
else if(!strcmp(playername,"PilotLV",true)) {
SetSpawnInfo(playerid,69,61,0.0,0.0,0.0,0.0,-1,-1,-1,-1,-1,-1);
}
else if(!strcmp(playername,"PilotSF",true)) {
SetSpawnInfo(playerid,69,61,0.0,0.0,0.0,0.0,-1,-1,-1,-1,-1,-1);
}
else if(!strcmp(playername,"PilotLS",true)) {
SetSpawnInfo(playerid,69,61,0.0,0.0,0.0,0.0,-1,-1,-1,-1,-1,-1);
}
else if(!strcmp(playername,"OnfootTest",true)) {
SetSpawnInfo(playerid,69,61,2388.1003,-1279.8933,25.1291,94.3321,-1,-1,-1,-1,-1,-1);
}
else if(!strcmp(playername,"DriverTest",true)) {
SetSpawnInfo(playerid,69,61,2388.1003,-1279.8933,25.1291,94.3321,-1,-1,-1,-1,-1,-1);
}
else if(!strcmp(playername,"DriverTest2",true)) {
SetSpawnInfo(playerid,69,61,2388.1003,-1279.8933,25.1291,94.3321,-1,-1,-1,-1,-1,-1);
}
return 0;
}
//-------------------------------------------------
stock SetVehicleTireStatus(vehicleid, tirestatus)
{
new panels, doors, lights, tires;
GetVehicleDamageStatus(vehicleid, panels, doors, lights, tires);
UpdateVehicleDamageStatus(vehicleid, panels, doors, lights, tirestatus);
}
//-------------------------------------------------
public OnPlayerSpawn(playerid)
{
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)) {
PutPlayerInVehicle(playerid,1,0);
SetPlayerColor(playerid,0xFFFFFFFF);
}
else if(!strcmp(playername,"TrainDriverSF",true)) {
PutPlayerInVehicle(playerid,5,0);
SetPlayerColor(playerid,0xFFFFFFFF);
}
else if(!strcmp(playername,"TrainDriverLS",true)) {
PutPlayerInVehicle(playerid,9,0);
SetPlayerColor(playerid,0xFFFFFFFF);
}
else if(!strcmp(playername,"PilotLV",true)) {
PutPlayerInVehicle(playerid,13,0);
SetPlayerColor(playerid,0xFFFFFFFF);
}
else if(!strcmp(playername,"PilotSF",true)) {
PutPlayerInVehicle(playerid,14,0);
SetPlayerColor(playerid,0xFFFFFFFF);
}
else if(!strcmp(playername,"PilotLS",true)) {
PutPlayerInVehicle(playerid,15,0);
SetPlayerColor(playerid,0xFFFFFFFF);
}
else if(!strcmp(playername,"OnfootTest",true)) {
//PutPlayerInVehicle(playerid,876,0);
SetPlayerColor(playerid,0xFFFFFFFF);
}
else if(!strcmp(playername,"DriverTest",true)) {
PutPlayerInVehicle(playerid,376,0);
SetPlayerColor(playerid,0xFFFFFFFF);
}
else if(!strcmp(playername,"DriverTest2",true)) {
//SetVehicleTireStatus(876,0xFF);
PutPlayerInVehicle(playerid,875,0);
SetPlayerColor(playerid,0xFFFFFFFF);
}
return 1;
}
//-------------------------------------------------
// EOF