Xxxtreton
Умник
Всем здравствуйте, система не работает сейчас скажу в чем проблема, при смерти оппонента, ничего не происходит хотя спарринг начинается
команда чтобы начать спарринг:
команда чтобы предложить спарринг:
public onplayerdeath:
команда чтобы начать спарринг:
Код:
CMD:gofight(playerid, params[])
{
if(IsPlayerInRangeOfPoint(playerid, 25.0, 765.0000, 5.5000, 1000.0000) == 0) return SendClientMessage(playerid, 0xCCCCCCFF, "Необходимо находиться в спортзале") & 0x1;
new sport_count = -1;
if(SportData[State] != -1) return SendClientMessage(playerid, 0xCCCCCCFF, "Сейчас ринг занят");
for(new i = 0; i != 10; i ++)
{
if(SportData[Give][i] == playerid || SportData[Take][i] == playerid) sport_count = i;
}
if(sport_count == -1) return SendClientMessage(playerid, 0xCCCCCCFF, "Вас нет в списке на участие в бою") & 0x1;
new playerid_0 = SportData[Give][sport_count];
new playerid_1 = SportData[Take][sport_count];
if(GetPlayerSkin(playerid_0) != 80 && GetPlayerSkin(playerid_0) != 81 && GetPlayerSkin(playerid_0) != 192) return SendClientMessage(playerid, 0xCCCCCCFF, "Для начала нужно одеть спортивную форму") & 0x1;
if(GetPlayerSkin(playerid_1) != 80 && GetPlayerSkin(playerid_1) != 81 && GetPlayerSkin(playerid_1) != 192) return SendClientMessage(playerid, 0xCCCCCCFF, "Ваш соперник не в спортивной форме") & 0x1;
if(GetPlayerDistanceToPlayer(playerid, playerid_1) > 10.0) return ErrorMessage(playerid, "Игрок слишком далеко") & 0x1;
switch(random(2))
{
case 0: {
SetPlayerPosAC(playerid_0, 763.1276, -1.9598, 1001.5942, 0, 5);
SetPlayerFacingAngle(playerid_0, 46.0000);
SetCameraBehindPlayer(playerid_0);
SetPlayerPosAC(playerid_1, 758.6279, 2.4567, 1001.5942, 0, 5);
SetPlayerFacingAngle(playerid_1, 219.0000);
SetCameraBehindPlayer(playerid_1);
}
case 1: {
SetPlayerPosAC(playerid_1, 763.1276, -1.9598, 1001.5942, 0, 5);
SetPlayerFacingAngle(playerid_1, 46.0000);
SetCameraBehindPlayer(playerid_1);
SetPlayerPosAC(playerid_0, 758.6279, 2.4567, 1001.5942, 0, 5);
SetPlayerFacingAngle(playerid_0, 219.0000);
SetCameraBehindPlayer(playerid_0);
}
}
PlayerBoxTime[playerid_0] = 3;
PlayerBoxTime[playerid_1] = 3;
FreezePlayerForTime(playerid_0, 4);
FreezePlayerForTime(playerid_1, 4);
SetPlayerHealth(playerid_0, 100.0);
SetPlayerHealth(playerid_1, 100.0);
SportData[State] = sport_count;
return 0x1;
}
PHP:
CMD:fight(playerid, params[])
{
if(IsPlayerInRangeOfPoint(playerid, 25.0, 765.0000, 5.5000, 1000.0000) == 0) return SendClientMessage(playerid, 0xCCCCCCFF, "Необходимо находиться в спортзале") & 0x1;
if(GetPlayerSkin(playerid) != 80 && GetPlayerSkin(playerid) != 81 && GetPlayerSkin(playerid) != 192) return SendClientMessage(playerid, 0xCCCCCCFF, "Для начала нужно одеть спортивную форму") & 0x1;
if(sscanf(params, "id", params[0], params[1])) return SendClientMessage(playerid, 0xFFFFFFFF, "Введите: /fight [id] [ставка]") & 0x1;
if(GetPlayerSkin(params[0]) != 80 && GetPlayerSkin(params[0]) != 81 && GetPlayerSkin(params[0]) != 192) return SendClientMessage(playerid, 0xCCCCCCFF, "Данный игрок не в спортивной форме") & 0x1;
if(IsPlayerConnected(params[0]) == 0) return SendClientMessage(playerid, 0xCCCCCCFF, "Данный игрок оффлайн") & 0x1;
if(PlayerBoxContract[params[0]] != 0xFFFF) return SendClientMessage(playerid, 0xCCCCCCFF, "Данный игрок уже заявлен с кем то на бой") & 0x1;
if(GetPlayerDistanceToPlayer(playerid, params[0]) > 10.0) return ErrorMessage(playerid, "Игрок слишком далеко") & 0x1;
if(params[1] < 1000 || params[1] > 100000) return SendClientMessage(playerid, 0xCCCCCCFF, "Ставка не может быть менее 1.000 и более 100.000 вирт") & 0x1;
if(GetPlayerMoneyEx(playerid) < params[1])
return SendClientMessage(playerid, 0xCCCCCCFF, "У вас недостаточно денежный средств") & 0x1;
new sport_coint = 0;
for(new i = 0; i != 10; i ++) if(SportData[Give][i] == 0xFFFF && SportData[Take][i] == 0xFFFF) sport_coint ++;
if(sport_coint == 0) return SendClientMessage(playerid, 0xCCCCCCFF, "Все места на участие в поединках заняты") & 0x1;
PlayerBoxBank[playerid] = params[1];
PlayerBoxBank[params[0]] = params[1];
PlayerBoxContract[playerid] = params[0];
PlayerBoxContract[params[0]] = playerid;
new string[512];
format(string, sizeof(string), "Вы предложили участие в поединке "P"%s"G" за "ORANGE"$%d", player_name[params[0]], params[1]);
SendUse(playerid, string);
format(string, sizeof(string), ""P"%s"G" предложил Вам участие в поединке за "ORANGE"$%d", player_name[playerid], params[1]);
SendUse(params[0], string);
SendClientMessage(params[0], COLOR_BLUE, "Нажмите "YES"Y "BLUE"чтобы согласиться "NO"N "BLUE"для отказа");
return 0x1;
}
Код:
if(UsePlayerSportBox[playerid] != 0 && killerid)
{
for(new i = 0; i != 10; i ++)
{
if(SportData[State] == SportData[Give][i] || SportData[State] == SportData[Take][i])
{
new SlotID = SportData[State];
if(SportData[Give][SlotID] == playerid || SportData[Take][SlotID] == playerid)
{
SendClientMessage(playerid, 0x00FF00FF, "Бой окончен, вы проиграли");
}
if(SportData[Give][SlotID] == killerid || SportData[Take][SlotID] == killerid)
{
SendClientMessage(killerid, 0x00FF00FF, "Бой окончен, вы победили");
}
SportData[State] = -1;
PlayerBoxBank[playerid] = 0;
PlayerBoxBank[killerid] = 0;
SportData[Give][SlotID] = 0xFFFF;
SportData[Take][SlotID] = 0xFFFF;
GiveMoney(killerid, SportData[Bank][SlotID], "Победа в бою в спортзале");
SetPlayerPosAC(killerid, 770.7805, 5.3604, 1000.7148, 0, 5);
SetPlayerFacingAngle(killerid, 90.0000);
}
}
}
}
