PDA

Просмотр полной версии : [Вопрос] По /capture.



Jacob1997
28.06.2014, 22:21
Возник такой вопрос как сделать так что бы можно было убивать не только в квадрате ( Капт по фрагам ) т.е как на Advance-Rp.

Команда:


else if(!strcmp(cmd,"/capture",true))//GzCheck
{
if(PlayerInfo[playerid][pMemberop] == 12 || PlayerInfo[playerid][pMemberop] == 13 || PlayerInfo[playerid][pMemberop] == 15 || PlayerInfo[playerid][pMemberop] == 17 || PlayerInfo[playerid][pMemberop] == 18)
{
if(PlayerInfo[playerid][pRank] < 7) return SendClientMessage(playerid,COLOR_GREY,"Команда доступна с 7 ранга и выше.");
if(capt == 1) return SendClientMessage(playerid,COLOR_GRAD1,"В Данное время, капт запрещен.");
new tmphour, tmpminute, tmpsecond;
gettime(tmphour, tmpminute, tmpsecond);
tmphour = shifthour;
switch(tmpminute)
{
case 0..10:
{
for(new i = 0;i<130;i++)
{
if(PlayerToKvadrat(playerid,GZInfo[i][gCoords][0], GZInfo[i][gCoords][1],GZInfo[i][gCoords][2],GZInfo[i][gCoords][3]) && GZInfo[i][gFrakVlad] != PlayerInfo[playerid][pMemberop])
{
new namegang[24],namegangv[24];
switch(PlayerInfo[playerid][pMemberop])
{

case 15: namegang = "Groove Street Gang";
case 17: namegang = "Aztecas Gang";
case 12: namegang = "Ballas Gang";
case 18: namegang = "Rifa Gang";
case 13: namegang = "Vagos Gang";
}
switch(GZInfo[i][gFrakVlad])
{
case 15: namegangv = "Groove Street Gang";
case 17: namegangv = "Aztecas Gang";
case 12: namegangv = "Ballas Gang";
case 18: namegangv = "Rifa Gang";
case 13: namegangv = "Vagos Gang";
}
if(FrakCD[GZInfo[i][gFrakVlad]] == 1 || FrakCD[PlayerInfo[playerid][pMemberop]] == 1) return SendClientMessage(playerid,COLOR_GREY,"Банда уже воюет за территорию");
if(!IsPlayerInBandOnline(GZInfo[i][gFrakVlad])) return SendClientMessage(playerid,COLOR_GREY, "Банда на которую вы собираетесь напасть нет в сети!");
if(IsATerra(playerid)) return SendClientMessage(playerid,COLOR_GREY,"Нельзя захватить эту территорию");
format(stringer,sizeof(stringer),"Банда {4169E1}%s{FFFFFF} напала на вашу территорию.",namegang);
SendFamilyMessage(GZInfo[i][gFrakVlad],COLOR_WHITE,stringer);
format(stringer,sizeof(stringer),"Член вашей банды {4169E1}%s{FFFFFF} напал на территорию {4169E1}%s{FFFFFF}.",PlayerInfo[playerid][pNames],namegangv);
SendFamilyMessage(PlayerInfo[playerid][pMemberop],COLOR_WHITE,stringer);
SendMes(playerid,COLOR_WHITE,"Территория будет мигать 10 минут.");
GangZoneFlashForAll(GZInfo[i][gID],COLOR_REDD);
GZInfo[i][gNapad] = PlayerInfo[playerid][pMemberop];
GZInfo[i][gTime] = 600;
ScoreZahvat[PlayerInfo[playerid][pMemberop]] = 0;
ScoreZahvat[GZInfo[i][gFrakVlad]] = 0;
capture[PlayerInfo[playerid][pMemberop]] = 1;
FrakCD[PlayerInfo[playerid][pMemberop]] = 1;
FrakCD[GZInfo[i][gFrakVlad]] = 1;
return true;
}
}
}
default: SendClientMessage(playerid,COLOR_GRAD1,"Каптить доступно только 10 минут после нового часа.");
}
}
}

underwoker
29.06.2014, 01:07
Зачеееееем, Зачееем копировать другие проекты, уж лучше бы написали суть, но не писали "как на Advance RP".

Скидывайте кусок кода отвечающий за капт в OnPlayerDeath.

Jacob1997
29.06.2014, 01:38
Зачеееееем, Зачееем копировать другие проекты, уж лучше бы написали суть, но не писали "как на Advance RP".

Скидывайте кусок кода отвечающий за капт в OnPlayerDeath.

Да не я не копирую просто я привёл пример как на там проекте , сам там не разу не играл видел капты понравилось то что можно убивать не за квадратом.

Jacob1997
29.06.2014, 14:24
if(PlayerInfo[playerid][pMemberop] == 12 || PlayerInfo[playerid][pMemberop] == 13 || PlayerInfo[playerid][pMemberop] == 15 || PlayerInfo[playerid][pMemberop] == 17 || PlayerInfo[playerid][pMemberop] == 18)
{
new namegang[24],namegangv[24];
if(FrakCD[PlayerInfo[playerid][pMemberop]])
{
for(new i = 0;i<130;i++)
{
if(PlayerToKvadrat(playerid,GZInfo[i][gCoords][0], GZInfo[i][gCoords][1],GZInfo[i][gCoords][2],GZInfo[i][gCoords][3]))
{
if(GZInfo[i][gFrakVlad] == PlayerInfo[playerid][pMemberop] && GZInfo[i][gNapad] == PlayerInfo[killerid][pMemberop]) ScoreZahvat[GZInfo[i][gNapad]]++;
else if(GZInfo[i][gNapad] == PlayerInfo[playerid][pMemberop] && GZInfo[i][gFrakVlad] == PlayerInfo[killerid][pMemberop]) ScoreZahvat[GZInfo[i][gFrakVlad]]++;
else return true;
switch(GZInfo[i][gNapad])
{
case 15: namegang = "Grove Street";
case 17: namegang = "Aztecas Gang";
case 12: namegang = "Ballas Gang";
case 18: namegang = "Rifa Gang";
case 13: namegang = "Vagos Gang";
}
switch(GZInfo[i][gFrakVlad])
{
case 15: namegangv = "Grove Street";
case 17: namegangv = "Aztecas Gang";
case 12: namegangv = "Ballas Gang";
case 18: namegangv = "Rifa Gang";
case 13: namegangv = "Vagos Gang";
}
if(PlayerInfo[playerid][pMemberop] == 12 || PlayerInfo[playerid][pMemberop] == 13 || PlayerInfo[playerid][pMemberop] == 15 || PlayerInfo[playerid][pMemberop] == 17 || PlayerInfo[playerid][pMemberop] == 18)
{
format(stringer,100,"[Capture] {FFFFFF}%s - {FFEE00}%d{4169E1} | {FFFFFF}%s - {FFEE00}%d",namegangv,ScoreZahvat[GZInfo[i][gFrakVlad]],namegang,ScoreZahvat[GZInfo[i][gNapad]]);
SendFamilyMessage(GZInfo[i][gNapad],0x4169E1FF,stringer);
SendFamilyMessage(GZInfo[i][gFrakVlad],0x4169E1FF,stringer);
}
}
}
}
}

Jacob1997
29.06.2014, 15:44
Help!!

underwoker
29.06.2014, 17:19
Убери просто проверку на координаты гангзоны.
В данном случае это -

if(PlayerToKvadrat(playerid,GZInfo[i][gCoords][0], GZInfo[i][gCoords][1],GZInfo[i][gCoords][2],GZInfo[i][gCoords][3]))
{
И все.

Jacob1997
29.06.2014, 18:24
т.е убить смогут вообще везде? даже в другом городе SF LV?

DeimoS
29.06.2014, 18:28
т.е убить смогут вообще везде? даже в другом городе SF LV?

Да. Если надо в определённых местах, ставьте проверку на нужные координаты

Jacob1997
30.06.2014, 02:14
Удалил теперь вообще не показывает сколько убил даже в квадрате.

DeimoS
30.06.2014, 10:01
Естественно. Потому что раньше проверкой на координаты находилась нужная зона, статистика которой должна быть показана игроку. Сейчас же придётся делать новый цикл. Код будет такой структуры:

Цикл, который прогонит все гангзоны
{
если гангзона не активна (нет боя) - пропускаем.
иначе
{
если игрок находится во фракции, которая владела гангзоной
{
// Тут весь остальной код
}

}

}

Jacob1997
30.06.2014, 16:20
ууу не судьба значит(

underwoker
30.06.2014, 16:35
ууу не судьба значит(
Вам уже можно сказать готовый код дали. А вы ленитесь, чуток пораскинуть мозгами и смогли бы реализовать...

Jacob1997
30.06.2014, 17:45
Цикл, который прогонит все гангзоны
{
если гангзона не активна (нет боя) - пропускаем.
иначе
{
если игрок находится во фракции, которая владела гангзоной
{
// Тут весь остальной код
}

}

}


Я не знаю какой цикл гангзон который всех прогонит
если гангзона не активна (нет боя) - пропускаем.
иначе - не знаю что значит это

и не знаю что вставить суда Тут весь остальной код

underwoker
30.06.2014, 18:19
ууу не судьба значит(



Цикл, который прогонит все гангзоны
{
если гангзона не активна (нет боя) - пропускаем.
иначе
{
если игрок находится во фракции, которая владела гангзоной
{
// Тут весь остальной код
}

}

}


Я не знаю какой цикл гангзон который всех прогонит
если гангзона не активна (нет боя) - пропускаем.
иначе - не знаю что значит это

и не знаю что вставить суда Тут весь остальной код

Раз вы ничего не знаете, зачем задаете вопросы о которых совсем ничего не знаете? Учите теоретическую часть. Хотите чтобы сделали вам готовое - в стол заказов. Pawn да и любой ЯП, это вам не вот я хочу чтоб было, а ты само появись.