Новости сайта

Программа для создания ганг зон без захвата

Краткая информация:
Имя файлаИмя файла: Программа для создания ганг зон без захвата
ПопулярностьРейтинг: ЗвездаЗвездаЗвездаЗвезда
ПользовательАвтор: n-holodowa
ДатаОбновлено: Сегодня
КатегорияКатегория: Горячие новинки
ИнформацияПросмотров: 876
Количество скачиванийЗагрузок: 368
БлагодарностиСказали спасибо: button-koshka, sirilla, lerachemodanova, kukulja2008
Проверено антивирусамиПроверено: Norton Internet SecurityKaspersky Anti-VirusDr. WebESET NOD32

И так начнем: Для начала надо сделать команду или так сказать ТИМ. В самое начало вписываем:

200?’200px’:»+(this.scrollHeight+5)+’px’);»> new gTeamMAX_PLAYERS];//Это для различия тим или банд. #define TEAM_BALLA_COLOR 0x80008096 //цвет для вашей тим команды или банды #define TEAM_GROVE 1//название тим команды или банды! обязатльно указывайте при создании новой банды ее номер если хотите создать еще 1 банду допустим баласов пишите так #define TEAM_BALLA 2 //обязательно перенумеровывайте.

Теперь для вашей банды или тим нужно при выборе сделать скины (какие скины относится к какой банде) В паблик суем.


Подробнее о программе для создания ганг зон без захвата

200?’200px’:»+(this.scrollHeight+5)+’px’);»> public OnPlayerRequestClass(playerid, classid) if(classid == 5)//5 номер скина! Но считать надо от нуля gTeam[playerid] = TEAM_GROVE;//Здесь указываем для какой тим скин GameTextForPlayer(playerid, «GROVE», 1000, 3);//Ну и тексдрав для различия > retirn 1; >

Также повторяем с остальными тимами или бандами как вам удобно.

Теперь приступим делать ганг зоны! Допустим сделаем зону для грув стрит.

В самое начало пихаем это:

200?’200px’:»+(this.scrollHeight+5)+’px’);»> new taketurfbackcount[MAX_PLAYERS]; new gangkillcount[MAX_PLAYERS]; #define REOWN_TURF 4 #define GANGAREA_WARNINGS 2 #define GANGAREA_TAKE 4 new grove;//название зоны или территории для захвата.

Теперь вставляем ниже указанное. public OnGameModeInit()

200?’200px’:»+(this.scrollHeight+5)+’px’);»> grove = GangZoneCreate(2197.193,-1887.144,2630.716,-1381.833);//grove- это название ваше зоны в создании мы указывали ее название. В скобках указано(2197.193,-1887.144,2630.716,-1381.833)

2197.193 — минимум по Х -1887.144 — ганг по У 2630.716 — захват по Х -1381.833 — максимум по У Для этого я использую удобную программами Xtreme Vehicle Plotter. Для того чтоб на зоне были видны зоны в ниже указанный паблик пихаем: GangZoneShowForPlayer(playerid,grove, 0x24FF0AB9);

200?’200px’:»+(this.scrollHeight+5)+’px’);»> public OnPlayerConnect(playerid) GangZoneShowForPlayer(playerid,grove, COLOR_GREEN);//Чтоб на карте были видны зоны.grove — создание программы в даный момент мы делаем грув. и соответственно ее ганг.Желательно указывать захват вашей банды для которой вы это делаете в данный момент грув. return 1; >

Для того чтобы когда другие захваты захватывают зоны «захватываемая зона» мигала, делаем ниже указанное.

программе для создания ганг зон без захвата

200?’200px’:»+(this.scrollHeight+5)+’px’);»> public OnPlayerDeath(playerid, killerid, reason) if(gTeam[killerid] == TEAM_GROVE) taketurfbackcount[killerid]++; if(taketurfbackcount[killerid] == REOWN_TURF) GangZoneStopFlashForAll(grove);//указываем в скобках название зоны которая будет мигать в данный момент это grove GangZoneHideForAll(grove);//Вставляем в скобки название зоны в данный момент грув grove GangZoneShowForAll(grove, GetPlayerColor(killerid) );//Это когда игрок захватил зону! будет перекрашиваться в его цвет, вставляем в скобки название зоны в данный момент grove. taketurfbackcount[killerid]=0; > >

Теперь сделаем чтоб писало то что зона захватывается или захвачена! Для этого в этом же паблики пишем.

200?’200px’:»+(this.scrollHeight+5)+’px’);»> new str[256]; if(gTeam[killerid] == TEAM_GROVE) taketurfbackcount[killerid]++; if(taketurfbackcount[killerid] == REOWN_TURF) GangZoneStopFlashForAll(grove);//название захвачеемой территории в данный момент grove GangZoneHideForAll(grove);//название захвачеемой территории в данный момент grove GangZoneShowForAll(grove,GetPlayerColor(killerid));//название захвачеемой территории в данный момент grove taketurfbackcount[killerid]=0; > > if(IsPlayerInArea(playerid,2383.532, -1748.974, 2543.251, -1618.698))//Координаты зоны в даный момент зоны grove if((gTeam[playerid] == TEAM_GROVE) && (gTeam[killerid] != TEAM_GROVE) && (killerid != INVALID_PLAYER_ID))//Указываем название тим или банды в данный момент TEAM_GROVE gangkillcount[playerid]++; if(gangkillcount[playerid] == GANGAREA_WARNINGS) SendClientMessageToAll(COLOR_RED,»Бандит: Территория банды Grove атакована!»);//Сообщение в общ. чат то что база атакована GangZoneFlashForAll(grove,GetPlayerColor(killerid) );//Указываем название зоны в данный момент grove > if(gangkillcount[playerid] == GANGAREA_TAKE) new KillerName[30]; GetPlayerName(killerid, KillerName, 30); format(str, 256, «Бандит: %s Захватил территорию банды Grove!», KillerName);//Пишется игрокам то что определеный игрок захватил зону SendClientMessageToAll(GetPlayerColor(killerid), str); GangZoneStopFlashForAll(grove);//Указываем захватываемую зону в данный момент grove GangZoneHideForAll(grove);//Указываем захватываемую зону в данный момент grove GangZoneShowForAll(grove, GetPlayerColor(killerid) );//Указываем захватываемую зону в данный момент grove gangkillcount[playerid]=0; > > > return 1; >

ну и в свободное место пихаем

200?’200px’:»+(this.scrollHeight+5)+’px’);»> stock IsPlayerInArea(playerid, Float:min_x, Float:min_y ,Float:max_x, Float:max_y) new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid, X, Y, Z); if(X <= max_x && X >= min_x && Y <= max_y && Y >= min_y) return 1; return 0; >

Думаю ваша бандиты со своими ганг зонами готовы.

Дополнительно: Если хотите чтоб у вашей банды был закрытый чат только для нее тогда делаем ниже указаное.

200?’200px’:»+(this.scrollHeight+5)+’px’);»> public OnPlayerText(playerid, text[]) if(text[0] == ‘!’) new name[24], string[256]; GetPlayerName(playerid, name, 24); strdel(text,0,1); format(string, sizeof(string), «*Чат банды %s: %s», name, text); printf(«%s», string); for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) if(gTeam[i] == gTeam[playerid]) SendClientMessage(i, GetPlayerColor(playerid), string); > > return 0; > return 1; >

Теперь у вас есть тим чат для каждой команды, чтобы в него писать всего лиш стоит поставить в начале текста «!» восклицательный знак идалее пишите что хотите.

Если хотите чтоб игроки одной банды за убийство своего дружественого бандита соответствено наказывались делаем так.

В самое начало пихаем

200?’200px’:»+(this.scrollHeight+5)+’px’);»> #define COLOR_RED 0xAA3333AA // RED #define COLOR_GREEN 0x33AA33FF // GREEN new tk[MAX_PLAYERS];

200?’200px’:»+(this.scrollHeight+5)+’px’);»> public OnPlayerDeath(playerid, killerid, reason) if(killerid == INVALID_PLAYER_ID) SendDeathMessage(INVALID_PLAYER_ID,playerid,reason); > else if(gTeam[killerid] != gTeam[playerid]) SendDeathMessage(killerid,playerid,reason); SetPlayerScore(killerid,GetPlayerScore(killerid)+1); GivePlayerMoney(killerid, 1000); > //TEAM KILL else SendClientMessage(killerid, COLOR_RED, «Не убивай своих!В следущий раз будь окуратнее!»); SendDeathMessage(killerid,playerid,reason); SetPlayerScore(killerid,GetPlayerScore(killerid)-1); GivePlayerMoney(killerid, -2000); SetPlayerHealth(killerid,0); tk[killerid] ++; if(tk[killerid] == 2) SendClientMessage(killerid, COLOR_RED, «еще раз убеш своего и тебя кикнут!»); > if(tk[killerid] >= 3) new string[256]; new name[MAX_PLAYER_NAME]; GetPlayerName(killerid,name, sizeof(name)); printf(» -A.T.K Script-: %s kicked for teamkilling»,name); Kick(killerid); format(string, sizeof(string), «АнтиТимКилл кикнула %s за убийство своих бандитов!»,name); SendClientMessageToAll(COLOR_GREEN, string); > > > return 1; >

Все готово система анти тим килл!

И так, как же пользыватся программой! Чтобы сделать координаты для ганг зоны делаем следующие Заходим в программу, выбераем нужный город где будете создавать ганг зону, с верху выбираем Draw Config, отмечаем на карте зону, вам вылазит окошко! выбираем там Gang Zones & World Boundaries! выбераем пункт Use Gang Zone в окошко вписываем название зоны и выбираем ее цвет Вот у вас получилось vagos = GangZoneCreate(1147,61, -1863,458, 1626,767, -1346,304); тут есть одно неудобство это запятые вместо точек! заменяем некоторые запятые на точки (1147.61, -1863.458, 1626.767, -1346.304); И еще то что там типо надо писать в public OnPlayerSpawn(playerid) пишем в public OnPlayerConnect(playerid)! собствено урок дан.

Утилита для произведения ганг районов без захвата

Случайные статьи: