I have wasted my 1 hour on how to fix this script (I added a lot thigs at the end so I am confused what I need
Код:
#include <a_samp>
#include <dini>
#include <dudb>
#pragma unused ret_memcpy
#define FILTERSCRIPT
#define IsPlayerInArea
#define COLOR_RED 0xAA3333AA
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_RED 0xAA3333AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_SPAWN 0xFF8C55FF
#define COLOR_LIGHTBLUE 0x6DC5F3FF
#define COLOR_ADMIN 0xFF0000FF
#define COLOR_SAY 0x2986CEFF
#define COLOR_SYSGREY 0xC6BEBDFF
#define COLOR_BLACK 0x000000FF
#define COLOR_JOIN 0x74E80099
#define COLOR_WARN 0xBE615099
#define COLOR_RACE 0x00BBBB99
#define COLOR_KRED 0xFF0000FF
#define MAX_PING 600
#define CASH 1000
#define GRAVITY 0.0075
#define TIME_BOOM 60
#define VEHICLES 212
#define TIGER_DIST 8.0
#define NAME_TAG_DIST 600
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
#define MIN_VEHI_ID 400
#define MAX_VEHI_ID 611
#define VEHI_DIS 5.0
new Text:Textdraw0;
new Text:Textdraw1;
new curPlayerVehM[MAX_PLAYERS] = {MIN_VEHI_ID, ...}; // Current Player Vehicle ID
new curPlayerVehI[MAX_PLAYERS] = {-1, ...};
enum CURVEHICLE {
bool:spawn,
vmodel,
vInt
};
new curServerVehP[MAX_VEHICLES][CURVEHICLE];
new PlayerVehI[MAX_PLAYERS];
new gSpectateID[MAX_PLAYERS];
new gSpectateType[MAX_PLAYERS];
new rampid[MAX_PLAYERS] = {-1, ...};
forward RemoveRamp(playerid);
forward Float:GetOptimumRampDistance(playerid);
forward Float:GetXYInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance);
forward ScanVehicleHealth();
forward CountDown();
forward Bum(playerid);
forward Pingkick();
forward Guns();
forward Planes();
forward Tele(playerid);
forward CheckTime();
forward PlayerObjectUpdate(playerid);
forward TigerDeath(playerid);
new ramptypes[] = {
1503, // curvy normal one
1660, // concrete one with pipes
1245, // plank of wood against a box
1631, // water ramp with rocks
1632, // normal water ramp
1655, // wide water ramp
};
new playerramptypes[MAX_PLAYERS] = {0, ...};
public OnFilterScriptInit()
{
SetTimer("ScanVehicleHealth", 99999, 0);
print("\n--------------------------------------");
print(" Blank Filterscript by your name here");
print("--------------------------------------\n");
return 1;
}
// ------ fix -----------------------------------------------------------------
dcmd_fix(playerid, params[]) {
#pragma unused params
if(IsPlayerInAnyVehicle(playerid)) {
SetVehicleHealth(GetPlayerVehicleID(playerid),1000.0);
SendClientMessageLang(playerid, COLOR_ORANGE,"Vehicle fixed.","Pojazd naprawiony.");
}
else
{
SendClientMessageLang(playerid, COLOR_WARN,"You must be in vehicle!","Musisz byж w pojeџdzie!");
}
return 1;
}
dcmd_repair(playerid, params[]) { dcmd_fix(playerid, params); return 1; }
//-----------------------------------------------------------------------------
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
new Float:x;
new Float:y;
new Float:z;
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 564)
{
if(IsKeyJustDown(KEY_FIRE,newkeys,oldkeys))
{
if(!IsPlayerInArea(playerid, 2089.4050, -2639.0991, 2145.3472, -2588.6860))
{
GetPlayerPos(playerid, x, y, z);
GetXYInFrontOfPlayer(playerid, x, y, TIGER_DIST);
CreateExplosion(x,y,z,11, 0.0);
tiger[playerid] = 1;
SetTimerEx("TigerDeath", 2000, 0, "d", playerid);
}
}
}
if(IsKeyJustDown(KEY_SECONDARY_ATTACK,newkeys,oldkeys)){
for(new j = 0; j < MAX_VEHICLES; j++)
{
switch(GetVehicleModel(j))
{
case 564,501,464,441,449:
{
if(GetDistancePlayerToVehicle(playerid,j) <= 3)
{
PutPlayerInVehicle(playerid, j, 0);
}
}
}
}
}
if(IsKeyJustDown(KEY_ACTION,newkeys,oldkeys) && IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
if (rampid[playerid] == -1)
{
new Float:angle;
GetPlayerPos(playerid, x, y, z);
angle = GetXYInFrontOfPlayer(playerid, x, y, GetOptimumRampDistance(playerid));
switch (playerramptypes[playerid])
{
case 2:
{
angle -= 90.0;
if (angle < 0.0) angle += 360.0;
z += 0.5;
}
case 1:
{
z -= 0.5;
}
}
rampid[playerid] = CreateObject(ramptypes[playerramptypes[playerid]], x, y, z - 0.5, 0.0, 0.0, angle);
SetTimerEx("RemoveRamp", 2000, 0, "d", playerid);
}
}
if ((newkeys==KEY_ACTION)&&(IsPlayerInAnyVehicle(playerid))&&(GetPlayerState(playerid)==PLAYER_STATE_DRIVER))
{
if (GetVehicleModel(GetPlayerVehicleID(playerid)) == 525 || GetVehicleModel(GetPlayerVehicleID(playerid)) == 531)
{
new Float:pX,Float:pY,Float:pZ;
GetPlayerPos(playerid,pX,pY,pZ);
new Float:vX,Float:vY,Float:vZ;
new Found=0;
new vid=0;
while((vid<MAX_VEHICLES)&&(!Found))
{
vid++;
GetVehiclePos(vid,vX,vY,vZ);
if ((floatabs(pX-vX)<7.0)&&(floatabs(pY-vY)<7.0)&&(floatabs(pZ-vZ)<7.0)&&(vid!=GetPlayerVehicleID(playerid)))
{
Found=1;
if (IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid)))
{
DetachTrailerFromVehicle(GetPlayerVehicleID(playerid));
}
AttachTrailerToVehicle(vid,GetPlayerVehicleID(playerid));
}
}
}
}
return 1;
}
IsKeyJustDown(key, newkeys, oldkeys)
{
if((newkeys & key) && !(oldkeys & key)) return 1;
return 0;
}
dcmd(ramp, 4, cmdtext);
dcmd(setramp, 7, cmdtext);
// ------ setramp -----------------------------------------------------------------
dcmd_setramp(playerid, cmdtext[]) {
new tmp[256],idx;
tmp = strtok(cmdtext, idx);
new ramp = strval(tmp);
if(!strlen(tmp))
{
SendClientMessageLang(playerid, COLOR_ORANGE,"USAGE: /setramp [0-5]","WPISZ: /setramp [0-5]");
return 1;
}
if (ramp < 0 || ramp >= sizeof(ramptypes)) {
SendClientMessageLang(playerid, COLOR_WARN,"Invalid ID.","Zіe ID rampy.");
} else {
playerramptypes[playerid] = ramp;
SendClientMessageLang(playerid, COLOR_ORANGE,"Ramp changed.","Rampa zmieniona.");
}
return 1;
}
// ------ ramp -----------------------------------------------------------------
dcmd_ramp(playerid, cmdtext[]) {
new tmp[256],idx;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessageLang(playerid, COLOR_ORANGE,"USAGE: /ramp [on/off]","WPISZ: /ramp [on/off]");
return 1;
}
if(!strcmp(tmp, "off", true)){
playerramptypes[playerid] = -1;
SendClientMessageLang(playerid, COLOR_WARN,"* Ramp off!","* Rampa wyі№czona!");
}
if(!strcmp(tmp, "on", true)){
playerramptypes[playerid] = 1;
SendClientMessageLang(playerid, COLOR_ORANGE,"* Ramp ON!","* Rampy wі№czone!");
}
return 1;
}
public RemoveRamp(playerid)
{
if (rampid[playerid] != -1)
{
DestroyObject(rampid[playerid]);
rampid[playerid] = -1;
}
}
public CheckTime()
{
minuty++;
if(minuty == 60){
h++;
minuty=0;
}
if(h == 24){
h=0;
}
return 1;
}
Float:GetOptimumRampDistance(playerid)
{
new ping = GetPlayerPing(playerid), Float:dist;
dist = floatpower(ping, 0.25);
dist = dist*4.0;
dist = dist+5.0;
return dist;
}