Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <capture>
- #define MAX_ZONES_POINTS 20//кол-во очков для захвата
- new ZoneID[2];
- new ColorZones[2] = {0xFF49BF1B,0xFFFF0808};//Цвета зонв
- new PlayersColor[2] = {0x49BF1BFF,0xFF0808FF};//цвета игроков той или иной банды?
- new PlayerGangSkin[2] = {160,284};//скины банд
- new ZonePoits[2];//кол-во очков
- new PlayerTeam[MAX_PLAYERS];//банда
- new timer_id;//таймер
- forward CheckZonePlayers();
- public OnGameModeInit()
- {
- AddPlayerClass(134,1958.3783,1343.1572,15.3746,270.1425,0,0,0,0,-1,-1);
- ZoneID[0] = CreateCaptureZone(2225.8860,-1384.8231,23.8319-0.8,5,ColorZones[0],0,1);//зона 1
- ZoneID[1] = CreateCaptureZone(2285.9993,-1383.9907,24.1097-0.8,5,ColorZones[1],1,1);//зона 2
- timer_id = SetTimer("CheckZonePlayers",1000,true);//таймер
- SetGameModeText("CZM");
- ShowPlayerMarkers(1);
- ShowNameTags(1);
- return true;
- }
- public CheckZonePlayers()
- {
- new string[144];
- for(new i; i < MAX_PLAYERS; i++)
- {
- if(!IsPlayerConnected(i))continue;//если игрок не подключен
- new zone_id = GetPlayerCaptureZoneIn(i);//получим ид зоны на который находиться игрок
- printf("playerid %d zone id %d player zone %d",i,zone_id,PlayerTeam[i]);
- if(zone_id == INVALID_CAPTURE_ZONE_ID|| GetZoneOwnerID(zone_id) == ZoneID[PlayerTeam[i]])continue;//если нет зоны, либо игрок ее владеет, то пропустим
- ZonePoits[zone_id]++;//увеличим кол-во очков на 1
- if(ZonePoits[zone_id] >= MAX_ZONES_POINTS)//если очков больше, чем надо
- {
- SendClientMessage(i,0x5CABFAFF,"Поздравляем! Вы успешно захватили зону!");
- SetCaptureZoneColor(zone_id,ColorZones[PlayerTeam[i]]);////Сменим цвет
- SetCaptureZoneOwner(zone_id,PlayerTeam[i]);//Установим нового владеьца
- ZonePoits[zone_id] = 0;//обнулим очки
- }
- else
- {
- format(string, sizeof string,"~w~CAPTURE ZONE: ]~g~%d~w~/~r~"#MAX_ZONES_POINTS"~w~]",ZonePoits[zone_id]);
- GameTextForPlayer(i,string,1000,4);//Выведем кол-во очков ввиде текста
- }
- }
- }
- public OnGameModeExit()
- {
- KillTimer(timer_id);//удаление таймера
- DeleteCaptureZone(ZoneID[0]);//зоны1
- DeleteCaptureZone(ZoneID[1]);//зоны2
- return true;
- }
- public OnPlayerConnect(playerid)
- {
- GameTextForPlayer(playerid,"~w~WELCOME TO ~n~~g~CAPTURE ~r~ZONE ~b~MOD",5000,4);
- return 1;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- return true;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- SetPlayerInterior(playerid,14);
- SetPlayerPos(playerid,258.4893,-41.4008,1002.0234);
- SetPlayerFacingAngle(playerid, 270.0);
- SetPlayerCameraPos(playerid,256.0815,-43.0475,1004.0234);
- SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234);
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- new team_id = random(2);
- PlayerTeam[playerid] = team_id;//присвоим игроку тиму
- SetPlayerColor(playerid,PlayersColor[team_id]);//установим цвет
- SetPlayerCaptureZonePos(playerid,team_id);////переместим на зону
- SetPlayerSkin(playerid,PlayerGangSkin[team_id]);//дадим скин
- TogglePlayerClock(playerid,0);
- SetPlayerInterior(playerid,0);
- SetPlayerVirtualWorld(playerid,0);
- GivePlayerWeapon(playerid,24,100);
- GivePlayerWeapon(playerid,16,3);
- GivePlayerWeapon(playerid,31,300);
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement