Вот глянул, вытащил из пена, но я не понимаю как давление моно поймать скриптом, когда уже машина на игроке или когда сбили?) [pwn]//------------------------------------------------------------------------------
stock DrivebyProtection(killerid){
new string[64];
if(gDrivebyCount[killerid][0] == 0) { gDrivebyCount[killerid][1] = TimeStamp(); }
gDrivebyCount[killerid][0]++;
if(TimeStamp() - gDrivebyCount[killerid][1] > DRIVEBY_TIMELIMIT) {
gDrivebyCount[killerid][1] = TimeStamp();
gDrivebyCount[killerid][0] = 1;}
else if(gDrivebyCount[killerid][0] == DRIVEBY_MAX_KILLS) {
format(string,sizeof(string),"[AntiDriveBy]: %s Has Been Kicked",GetName(killerid));
SendClientMessageToAll(0xC8BEBEAA,string);
Kick(killerid);}
else if(gDrivebyCount[killerid][0] == DRIVEBY_MAX_KILLS-1) {
SendClientMessage(killerid,COLOR_RED,"[AntiDriveBy]: Åù¸ ðàç è êèê");
}return 1;}
//------------------------------------------------------------------------------[/pwn]
Добавлено (07.11.2009, 08:34)
---------------------------------------------
Вот ещё, это вроде бы получше! Замути его фс
Anti-Drive-By - это когда игрок сидя в машине стреляет из машины в другого игрока (это называется ещё каркилером и ламерством). Этот скрипт сажает игроков в тюрьму за Anti-Drive-By.
+ сажает на время
+ за драку в тюрьме даётся срок (время)
СКРИПТ НИЖЕ:
[pwn]#include
new Passenger[MAX_PLAYERS];
new Prisoned[MAX_PLAYERS];
new PrisonTime[MAX_PLAYERS];
#define COLOR_YELLOW 0xFFFF00AA
public Timer()
{
new i;
for(i=0;i
{
if (IsPlayerConnected(i))
{
if (Prisoned[i])
{
if (PrisonTime[i]>0)
{
JailTime(i);
}
else
{
GameTextForPlayer(i, "You unjail", 1000, 6);
UnJail(i);
}
}
}
}
SetTimer("Timer",1000,0);
}
public JailTime(playerid)
{
new msg[256];
new m,s;
m=PrisonTime[playerid]/60;
s=PrisonTime[playerid]%60;
format(msg, sizeof(msg), "~y~%d:%d",m,s);
GameTextForPlayer(playerid, msg, 1500, 3);
PrisonTime[playerid]--;
}
public UnJail(playerid)
{
Prisoned[playerid]=0;
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,1544.319,-1672.961,13.5581);
}
public Jail(playerid,srok)
{
Prisoned[playerid]=1;
SetPlayerInterior(playerid,6);
SetPlayerPos(playerid,265.4426, 79.16441, 1001.039);
PrisonTime[playerid]=srok;
}
main()
{
print("\n----------------------------------");
print(" This is a blank GameModeScript");
print("----------------------------------\n");
}
public OnGameModeInit()
{
print("GameModeInit()");
Timer();
SetGameModeText("Blank Script");
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 29, 600, 0, 0, 0, 0);
AddStaticVehicle(560,2039.5729,1345.9653,10.6719,181.7215,0,0);
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
printf("OnPlayerRequestClass(%d, %d)", playerid, classid);
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
return 1;
}
public OnGameModeExit()
{
print("GameModeExit()");
return 1;
}
public OnPlayerConnect(playerid)
{
printf("OnPlayerConnect(%d)", playerid);
return 1;
}
public OnPlayerDisconnect(playerid)
{
printf("OnPlayerDisconnect(%d)", playerid);
Passenger[playerid]=0;
Prisoned[playerid]=0;
PrisonTime[playerid]=0;
return 1;
}
public OnPlayerSpawn(playerid)
{
printf("OnPlayerSpawn(%d)", playerid);
if (Prisoned[playerid]==1)
{
Jail(playerid,PrisonTime[playerid]);
}
else
{
Passenger[playerid]=0;
}
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
SendDeathMessage(killerid,playerid,reason);
if (Prisoned[killerid])
{
PrisonTime[killerid]+=20;
SendClientMessage(playerid,COLOR_YELLOW,"*** За убийство в тюрьме вашему убийце увеличили срок.");
SendClientMessage(killerid,COLOR_YELLOW,"*** За убийство в тюрьме тебе увеличили срок.");
}
if (IsPlayerInAnyVehicle(killerid))
{
if (Passenger[killerid]==0)
{
Jail(killerid,40);
SendClientMessage(playerid,COLOR_YELLOW,"*** Убийцу посадили в тбрьму за drive-by");
SendClientMessage(killerid,COLOR_YELLOW,"*** Вас посадили в тюрьму за drive-by");
}
}
return 1;
}
public OnVehicleSpawn(vehicleid)
{
printf("OnVehicleSpawn(%d)", vehicleid);
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
printf("OnVehicleDeath(%d, %d)", vehicleid, killerid);
return 1;
}
public OnPlayerText(playerid)
{
printf("OnPlayerText(%d)", playerid);
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(cmdtext, "/mycommand", true)==0)
{
/* Do something here */
return 1;
}
return 0;
}
public OnPlayerInfoChange(playerid)
{
printf("OnPlayerInfoChange(%d)");
return 1;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
printf("OnPlayerEnterVehicle(%d, %d, %d)", playerid, vehicleid,ispassenger);
if (ispassenger==1)
{
Passenger[playerid]=1;
}
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
printf("OnPlayerExitVehicle(%d, %d)", playerid, vehicleid);
Passenger[playerid]=0;
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
printf("OnPlayerStateChange(%d, %d, %d)", playerid, newstate, oldstate);
return 1;
}[/pwn]