NekiT33RUS
Ученик
Доброго времени суток.
Делаю работу грузчика, такой баг появился: даже если нет мешка в руках и начинаешь прыгать, в чат пишет что уронил его, и так до бесконечности
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
public OnGameModeInit()
public OnPlayerStateChange(playerid, newstate, oldstate)
public OnPlayerEnterCheckpoint(playerid)
public OnPlayerPickUpPickup(playerid, pickupid)
Делаю работу грузчика, такой баг появился: даже если нет мешка в руках и начинаешь прыгать, в чат пишет что уронил его, и так до бесконечности
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
PHP:
{
if(newkeys & KEY_JUMP || newkeys & KEY_FIRE || newkeys & KEY_SECONDARY_ATTACK) // при нажатии выполняется действие
{
if(GetPVarInt(playerid, "load_bags_in_hands") > 0)
{
SendClientMessage(playerid, COLOR_RED, "Вы уронили мешок!");
RemovePlayerAttachedObject(playerid, 2);
ApplyAnimation(playerid, "PED", "IDLE_tired", 4.1,0,1,1,0,1);
return DeletePVar(playerid, "loader_bags_in_hands");
}
}
return true;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
PHP:
case 100:
{
if(!response)
{
if(GetPVarInt(playerid, "loader_job") < 1)
{
SendClientMessage(playerid, COLOR_GREY, "[Ошибка] Вы не начинали работу");
return true;
}
else
{
if(GetPVarInt(playerid, "loader_money") > 0) return SCM(playerid,COLOR_WHITE, "Вы должны получить зарплату в офисе");
else
{
SendClientMessage(playerid, COLOR_GREEN, "Рабочий день окончен");
SetPlayerSkin(playerid, player[playerid][pSkin]);
DeletePVar(playerid, "loader_job");
DeletePVar(playerid, "loader_bags");
DeletePVar(playerid, "loader_money");
DisablePlayerCheckpoint(playerid);
}
return true;
}
}
if(GetPVarInt(playerid, "loader_job") > 0)
{
SendClientMessage(playerid, COLOR_GREY, "[Ошибка] Вы уже начали работу");
return true;
}
else
{
SetPVarInt(playerid, "loader_job", 1);
SetPlayerSkin(playerid, 260);
SendClientMessage(playerid, COLOR_GREEN, "Рабочий день начат. (( На радаре помечены места загрузки и разгрузки ))");
SetPVarInt(playerid, "load_bags_in_hands", 1);
return true;
}
}
public OnGameModeInit()
PHP:
gruz_pick[0] = CreatePickup(1275, 23, 2137.7915,-2282.3511,20.6719, 0);
gruz_pick[1] = CreatePickup(1274, 23, 2127.6316,-2275.5657,20.6719, 0);
gruz_pick[2] = CreatePickup(1240, 23, 2131.6370,-2283.1619,20.6719, 0);
gruz_pick[3] = CreatePickup(2060, 23, 2224.3311,-2277.6963,14.7647, 0);
public OnPlayerStateChange(playerid, newstate, oldstate)
PHP:
{
//================================= Грузчики ===================================
if(newstate == PLAYER_STATE_DRIVER)
{
if(GetPVarInt(playerid, "load_bags_in_hands") > 0)
{
SendClientMessage(playerid, COLOR_RED, "Вы уронили мешок!");
RemovePlayerAttachedObject(playerid, 2);
ApplyAnimation(playerid, "PED", "IDLE_tired", 4.1,0,1,1,0,1);
return DeletePVar(playerid, "loader_bags_in_hands");
}
}
//==============================================================================
return true;
}
public OnPlayerEnterCheckpoint(playerid)
PHP:
{
//================================= Грузчики ===================================
if(IsPlayerInRangeOfPoint(playerid, 2.0, 2224.3311,-2277.6963,14.7647))
{
if(GetPVarInt(playerid, "loader_job") > 0)
{
SetPlayerCheckpoint(playerid, 2171.8792,-2255.2795,13.3039, 2.0);
ApplyAnimation(playerid, "CARRY", "crry_prtial", 4.1,0,1,1,1,1);
SetPlayerAttachedObject(playerid, 2, 2060, 5, 0.01, 0.1, 0.2, 100, 10, 85);
SetPVarInt(playerid, "loader_bags_in_hands", 1);
return true;
}
}
if(IsPlayerInRangeOfPoint(playerid, 2.0, 2171.8792,-2255.2795,13.3039))
{
if(GetPVarInt(playerid, "loader_job") > 0)
{
static const fmt_str[] = "Мешков перетащено: %d";
new str[sizeof(fmt_str) + (-2+5)];
DeletePVar(playerid, "loader_bags_in_hands");
DisablePlayerCheckpoint(playerid);
SetPVarInt(playerid, "loader_bags", GetPVarInt(playerid, "loader_bags")+1);
SetPVarInt(playerid, "loader_money", GetPVarInt(playerid, "loader_money")+35);
RemovePlayerAttachedObject(playerid, 2);
ApplyAnimation(playerid, "PED", "IDLE_tired", 4.1,0,1,1,0,1);
format(str, sizeof(str), fmt_str, GetPVarInt(playerid, "loader_bags"));
SendClientMessage(playerid, COLOR_GREEN, str);
return true;
}
}
//==============================================================================
return true;
}
public OnPlayerPickUpPickup(playerid, pickupid)
PHP:
{
//================================== Грузчики ==================================
if(pickupid == gruz_pick[0])
{
ShowPlayerDialog(playerid, 100, DIALOG_STYLE_MSGBOX, "Раздевалка", "Вы хотите начать рабочий день, или завершить?", "Начать", "Завершить");
}
if(pickupid == gruz_pick[1])
{
if(GetPVarInt(playerid, "loader_job") < 1)
{
SendClientMessage(playerid, COLOR_GREY, "[Ошибка] Вы не начинали работу");
return true;
}
if(GetPVarInt(playerid, "loader_money") < 35)
{
SendClientMessage(playerid, COLOR_GREY, "[Ошибка] Вы ничего не заработали");
return true;
}
else
{
static const fmt_str[] = "~g~+%d$";
new str[sizeof(fmt_str) + (-2+10)];
SendClientMessage(playerid, COLOR_GREEN, "Спасибо за работу, приходите ещё");
format(str, sizeof(str), fmt_str, GetPVarInt(playerid, "loader_money"));
GameTextForPlayer(playerid, str, 2000, 1);
player[playerid][pMoney] += GetPVarInt(playerid, "loader_money");
DeletePVar(playerid, "loader_job");
DeletePVar(playerid, "loader_bags");
DeletePVar(playerid, "loader_money");
SetPlayerSkin(playerid, player[playerid][pSkin]);
DisablePlayerCheckpoint(playerid);
return true;
}
}
if(pickupid == gruz_pick[2])
{
if(player[playerid][pLevel] > 1) return SendClientMessage(playerid, COLOR_RED, "Только для новичков(1 лвл)");
SetPlayerHealth(playerid, 100.0);
return true;
}
if(pickupid == gruz_pick[3])
{
if(GetPVarInt(playerid, "loader_job") > 0)
{
SetPlayerCheckpoint(playerid, 2171.8792,-2255.2795,13.3039, 2.0);
ApplyAnimation(playerid, "CARRY", "crry_prtial", 4.1,0,1,1,1,1);
SetPlayerAttachedObject(playerid, 2, 2060, 5, 0.01, 0.1, 0.2, 100, 10, 85);
SetPVarInt(playerid, "load_bags_in_hands", 1);
return true;
}
}
//==============================================================================
return true;
}
