Hali!
Nemrég, hogy sokadszorra végigjátszottam a Vice City-t, eszembe ötlött a gondolat, hogy milyen jól is nézne ki
a SAMP-ban is a fedett rendőrautó. Nos, pár perces munka volt.
5000 dolcsiért lehet venni egy autót a /undercover paranccsal.
Az összegért a játékos kap egy piros Cheetah tipusú autót Access felnivel,
mellé pedig egy UZI-t 5000 tölténnyel.
Y megnyomásakor a szélvédőnél megjelenik a megkülönböztető jelzés.
http://www.kepfeltoltes.hu/141221/1406362499sa-mp-044_www.kepfeltoltes.hu_.png[/img]
#include <a_samp>
#include <zcmd>
new UndercoverCar[MAX_PLAYERS];
new SirenObject[MAX_VEHICLES];
public OnFilterScriptExit()
{
for(new i; i < MAX_VEHICLES; i++)
{
DestroyObject(SirenObject);
}
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
#define PRESSED(%0) \\
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
if (PRESSED(KEY_YES))
{
if (IsPlayerInAnyVehicle(playerid))
{
if(SirenObject[GetPlayerVehicleID(playerid)] == 0)
{
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 415)
{
SirenObject[GetPlayerVehicleID(playerid)] = CreateObject(18646, 10.0, 10.0, 10.0, 0, 0, 0);
AttachObjectToVehicle(SirenObject[GetPlayerVehicleID(playerid)], GetPlayerVehicleID(playerid), 0.0, 0.75, 0.275, 0.0, 0.1, 0.0);
}
}
else if(SirenObject[GetPlayerVehicleID(playerid)] != 0)
{
DestroyObject(SirenObject[GetPlayerVehicleID(playerid)]);
SirenObject[GetPlayerVehicleID(playerid)] = 0;
}
}
}
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
DestroyObject(SirenObject[vehicleid]);
return 1;
}
CMD:undercover(playerid,params[])
{
if(GetPlayerMoney(playerid) >= 5000)
{
if (UndercoverCar[playerid] != 0)
{
DestroyVehicle(UndercoverCar[playerid]);
}
new Float:x,Float:y,Float:z;
GivePlayerMoney(playerid,-5000);
GetPlayerPos(playerid,x,y,z);
UndercoverCar[playerid] = CreateVehicle(415,x,y,z,0,003,003,-1);
PutPlayerInVehicle(playerid,UndercoverCar[playerid],0);
GivePlayerWeapon(playerid,28,5000);
AddVehicleComponent(UndercoverCar[playerid], 1098);
SendClientMessage(playerid,-1,\"Vettél egy SAPD álcázott rendőrautót!\");
SendClientMessage(playerid,-1,\"Kaptál mellé egy UZI-t 5000 tölténnyel!\");
SendClientMessage(playerid,-1,\"A sziréna használatához nyomj \'Y\' gombot!\");
}
else SendClientMessage(playerid,-1,\"Erre sajnos nincs pénzed!\");
return 1;
}
Külön köszönet Flash-nek, amiért észrevette a hiányosságot a scriptben!
Észlelt hibák:
- Ha a játékosnak rengeteg pénze van, akármennyi autót lekérhet és mind a pályán marad
Javitva:
- Egy személyre egy autó jut, amint lekéri a másikat, az előző eltűnik.
Tageket javítottam: Flash!