Anti-Drive-By - это когда игрок сидя в машине стреляет из машины в другого игрока (это называется ещё каркилером и ламерством). Этот скрипт сажает игроков в тюрьму за Anti-Drive-By. Согласитесь - ведь неприятно когда вас так убивают! раньше я за это всегда кикал но теперь есть более гуманные способы! Итак открываем наш gamemode 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; }
|