Nikita_Rellex
Умник
Уважаемые скриптеры такая у меня проблема, Прописываю команду /capture у меня начинает мигать другая gangzona не в том квадрате где я стою а выше и хочу добавить что у меня еще баг когда идёт капт другие банды не могут каптиться и у них появляется тот же текстдрав что и у тех кто начал капт. ( Отредактировал думаю так подробнее описал свой вопрос. )
Я не правильно оформил вопрос? Вы скажите я оформлю лучше если надо. не молчите помогите пожалуйста.
PHP:
CMD:capture(playerid)
{
if(!IsAGang(playerid)) return SendClientMessage(playerid, COLOR_GREY, "Вам не доступна эта функция");
if(zahvat == true) return SendClientMessage(playerid, COLOR_GREY, "В данный момент идёт захват территории");
if(PlayerInfo[playerid][pRank] < 9) return SendClientMessage(playerid, COLOR_GREY, "Доступно с 9 ранга");
new h, m, s; gettime(h,m,s);
//if(h < 14 || h >= 23) return SendClientMessage(playerid, COLOR_GREY, "Использовать команду можно только с 14:00 до 23:00");
new string[244];
//if(RecoveryTime == PlayerInfo[playerid][pMember]) return SendClientMessage(playerid, COLOR_GREY, "Ваша банда может начать захват только через капт");
if(capture_kd[PlayerInfo[playerid][pMember]] > unix) {
new year, month, day, hour, minute, second;
timestamp_to_date(capture_kd[PlayerInfo[playerid][pMember]] - unix, year, month, day, hour, minute, second);
format(string,128,"Таймер до следующего захвата {AFAFAF}[%02d:%02d:%02d]", hour, minute, second);
SendClientMessage(playerid, COLOR_GREY, string);
return 1;
}
new gang1 = -1;
switch(PlayerInfo[playerid][pMember]) {
case fBALLAS: gang1 = MOROZ_BALLAS;
case fVAGOS: gang1 = MOROZ_VAGOS;
case fGROVE: gang1 = MOROZ_GROVE;
case fAZTEC: gang1 = MOROZ_AZTECAS;
case fRIFA: gang1 = MOROZ_RIFA;
}
if(gang1 != -1) {
if(fracmoroz[gang1] > unix) {
SendClientMessage(playerid, COLOR_GREY,"Ваша банда заморожена");
return 1;
}
}
IDGZ[playerid] = GetIDGZ(playerid);
if(IDGZ[playerid] != -1) {
new i = IDGZ[playerid];
if(capture_kd[GZInfo[i][gFrakVlad]] > unix) {
new year, month, day, hour, minute, second;
timestamp_to_date(capture_kd[GZInfo[i][gFrakVlad]] - unix, year, month, day, hour, minute, second);
format(string,128,"Таймер до следующего захвата данной банды {AFAFAF}[%02d:%02d:%02d]", hour, minute, second);
SendClientMessage(playerid, COLOR_GREY, string);
return 1;
}
if(PlayerInfo[playerid][pMember] == GZInfo[i][gFrakVlad]) return SendClientMessage(playerid, COLOR_GREY,"Вы не можете захватить собственную территорию");
if(i == 90 && black_prods[9] > unix) return SendClientMessage(playerid, COLOR_GREY,"В данный момент борьба за чёрный рынок недоступна");
if(i == 97 || i == 93 || i == 41 || i == 0 || i == 24) return SendClientMessage(playerid, COLOR_GREY,"Нельзя закаптить спавн банды");
if(f_diplomacy[PlayerInfo[playerid][pMember] - 15][GZInfo[i][gFrakVlad] - 15] == dip_status_alliance) return SendClientMessage(playerid, COLOR_GREY,"С данной бандой заключен союз");
//if(!IsPlayerInBandOnline(GZInfo[i][gFrakVlad])) return SendClientMessage(playerid, COLOR_GREY, "Банда на которую вы собираетесь напасть нет в сети / Меньше трёх человек");
new gang = -1;
switch(GZInfo[i][gFrakVlad]) {
case fBALLAS: gang = MOROZ_BALLAS;
case fVAGOS: gang = MOROZ_VAGOS;
case fGROVE: gang = MOROZ_GROVE;
case fAZTEC: gang = MOROZ_AZTECAS;
case fRIFA: gang = MOROZ_RIFA;
}
if(gang != -1) {
if(fracmoroz[gang] > unix) {
SendClientMessage(playerid, COLOR_GREY,"Банду которую вы хотите захватить невозможно");
SendClientMessage(playerid, COLOR_GREY,"Она заморожена администратором, ожидайте сообщения в чате когда заморозка будет снята");
return 1;
}
}
new attemptslot= -1;
switch(PlayerInfo[playerid][pMember]) {
case fVAGOS: attemptslot = 0;
case fBALLAS: attemptslot = 1;
case fGROVE: attemptslot = 2;
case fRIFA: attemptslot = 3;
case fAZTEC: attemptslot = 4;
}
if(attemptslot != -1) {
if(CaptureAttempt[attemptslot] >= MAX_ATTEMPT_GANG) {
format(string, 128, "Ваша банда уже воевала более %i раз", MAX_ATTEMPT_GANG);
SendClientMessage(playerid, COLOR_GREY, string);
return 1;
}
}
zahvat = true;
//RecoveryTime = PlayerInfo[playerid][pMember];
GZInfo[i][gTime] = 60*15;
GZInfo[i][gNapad] = PlayerInfo[playerid][pMember];
format(string, 112, "%s(%s) начал(a) захват территории банды %s",GFrac(PlayerInfo[playerid][pMember]),player_name[playerid],GFrac(GZInfo[i][gFrakVlad]));
SendBand(COLOR_LIGHTRED,string);
format(string, 144, "[A] Начался капт между бандой %s и %s",GFrac(PlayerInfo[playerid][pMember]),GFrac(GZInfo[i][gFrakVlad]));
AdmMSG(COLOR_YELLOW, string, 1);
GangZoneFlashForAll(GZInfo[i][gID],GetGangColor(GZInfo[i][gNapad]));
GZInfo[i][ZoneOnBattle] = 1;
new Float:x_pos,Float:y_pos,Float:z_pos;
GetPlayerPos(playerid, x_pos,y_pos,z_pos);
gz_area = CreateDynamicSphere(x_pos,y_pos,z_pos, 170, 0,0);
GZInfo[i][gzTimer] = SetTimerEx("GzCheck",1000,1,"iii",i, PlayerInfo[playerid][pMember], GZInfo[i][gFrakVlad]);
if(attemptslot != -1) CaptureAttempt[attemptslot] ++;
if(QuestProgress[playerid][9] < 1 && AcceptQuest[playerid][9] != 0) QuestProgress[playerid][9] ++;
if(QuestProgress[playerid][9] == 1 && AcceptQuest[playerid][9] != 0) {
D(playerid,DIALOG_NONE,DSM, ""P"Квест",""W"Вы успешно спровоцировали войну. Данное задание можно завершить и забрать за него награду","Закрыть","");
NextStapQI(playerid,9);
}
return 1;
}
else SendClientMessage(playerid, COLOR_GREY, "Необходимо находится на территории которую хотите завоевать");
return 1;
}
Последнее редактирование:
