Qwerty +
Новичок
Здравствуйте ув. форумчане pawno-info.ru
Написал работу с нуля, все хорошо, то есть без ошибок.
Алгоритм вроде бы правильный.
Суть проблемы в том что когда получил форму и встал на чекпоинт, то анимация по таймеру не срабатывает. Дальше сами понимаете что нечего уже не работает.
Код(без лесенки, на самом деле у меня код построен лесенкой(в public'е OnDialogResponse)) - когда игрок начинает работу:
Код(без лесенки(в public OnPlayerEnterCheckpoint)) - сердце работы:
Код(без лесенки) - таймер для анимации:
Помогите пожалуйста. :bh:
Написал работу с нуля, все хорошо, то есть без ошибок.
Алгоритм вроде бы правильный.
Суть проблемы в том что когда получил форму и встал на чекпоинт, то анимация по таймеру не срабатывает. Дальше сами понимаете что нечего уже не работает.
Код(без лесенки, на самом деле у меня код построен лесенкой(в public'е OnDialogResponse)) - когда игрок начинает работу:
PHP:
if(dialogid == 16)
{
if(response)
{
sk[playerid] = 1;
if(sk[playerid] == 1)
{
SendClientMessage(playerid, COLOR_GREEN, "Вы начали работу сбор кирпичей!");
new skin = random(2);
if(skin == 1) SetPlayerSkin(playerid,260);
else SetPlayerSkin(playerid,16);
skAmmount[playerid] = 0; skCP[playerid] = 1;
SendClientMessage(playerid,COLOR_WHITE, "Отправляйтесь собирать кирпичи!");
new chskk = random(2);
switch(chskk)
{
case 0: SetPlayerCheckpoint(playerid, 1335.6125,276.7443,18.5085, 10.0);
case 1: SetPlayerCheckpoint(playerid, 1326.3602,290.1780,18.1451, 10.0);
}
}
}
else
{
if(sk[playerid] == 0) return SendClientMessage(playerid, COLOR_WHITE, "Вы отказались от подработки сбор кирпичей!");
return true;
}
}
PHP:
if(sk[playerid] == 1 && skCP[playerid] == 1)
{
if(IsPlayerInRangeOfPoint(playerid, 4.0, 1335.6125,276.7443,21.5085) || IsPlayerInRangeOfPoint(playerid, 4.0, 1326.3602,290.1780,21.1451))
{
DisablePlayerCheckpoint(playerid);
skCP[playerid] = 2;
SetTimer("vosk",1000*6,1);
if(skCP[playerid] == 3)
{
SetPlayerCheckpoint(playerid, 1324.5862,263.7035,18.8099, 1.5);
SetPlayerAttachedObject(playerid, 1, 905, 5, 0.020944, 0.039285, -0.035010, 0.000000, 0.000000, 0.000000, 0.301603, 0.125763, 0.233199 ); // Дали кирпич
SetPlayerAttachedObject(playerid, 2, 906, 6, -0.032336, 0.111448, 0.001745, 0.000000, 0.000000, 0.000000, 0.026124, 0.048238, 0.048593); // Дали кирпич
skCP[playerid] = 4;
}
if(skCP[playerid] == 4 && IsPlayerInRangeOfPoint(playerid, 1.0, 1324.5862,263.7035,19.8099))
{
new string[128];
ApplyAnimation(playerid, "WEAPONS", "SHP_1H_RET",4.0,0,0,0,0,0,1);
skAmmount[playerid] ++;
skAmmount[playerid] ++;
format(string, sizeof(string), "Количество принесённых кирпичей на склад: {33AA33}%d", skAmmount[playerid]);
SendClientMessage(playerid, COLOR_WHITE, string);
DisablePlayerCheckpoint(playerid);
if(IsPlayerAttachedObjectSlotUsed(playerid, 1)) RemovePlayerAttachedObject(playerid, 1);
if(IsPlayerAttachedObjectSlotUsed(playerid, 2)) RemovePlayerAttachedObject(playerid, 2);
skCP[playerid] = 1;
}
}
}
PHP:
forward vosk();
public vosk()
{
foreach(new i : Player)
{
if(skCP[i] == 2)
{
if(IsPlayerInRangeOfPoint(i, 4.0, 1335.6125,276.7443,21.5085) || IsPlayerInRangeOfPoint(i, 4.0, 1326.3602,290.1780,21.1451))
{
ApplyAnimation(i, "BOMBER", "BOM_Plant",4.0,1,0,0,0,0,0);
}
skCP[i] = 3;
}
}
return true;
}
Последнее редактирование:
