ptask Timer_XP[XP_TIME](playerid) { GivePlayerXP(playerid, XP_VALUE); return 1; } ptask Timer_Hunger[18000](playerid) // 1sec - 1000, 1min - 60000, 3min - 180000 { if(!Spawned[playerid]) return 1; if(PlayerInfo[playerid][pThirst] <= 0 || PlayerInfo[playerid][pHunger] <= 0) { new Float:health, Float:damage = float(5 + random(5)); GetPlayerHealth(playerid, health); if(health <= damage) { // dabar nuimsim jau visas HP SendClientMessage(playerid, 0xBABABAFF, "Mirėte dėl troškulio arba alkio."); } SetPlayerHealth(playerid, health - damage); } if(PlayerInfo[playerid][pHunger] > 0) SetHungerLevel(playerid, PlayerInfo[playerid][pHunger] - 1 + random(2)); if(PlayerInfo[playerid][pThirst] > 0) SetThirstLevel(playerid, PlayerInfo[playerid][pThirst] - 1 + random(2)); return 1; } stock UpdateXPString(playerid) { new string[42]; format(string, sizeof string, "XP:_%d/%d___LYGIS:_%d", PlayerInfo[playerid][pXP], (PlayerInfo[playerid][pLevel] + 1) * XP_DIFFERENCE_PER_LEVEL, PlayerInfo[playerid][pLevel]); PlayerTextDrawSetString(playerid, Player_HUD_Txd[playerid][0], string); return 1; } stock UpdateHungerBar(playerid) { PlayerTextDrawHide(playerid, Player_HUD_Txd[playerid][1]); PlayerTextDrawTextSize(playerid, Player_HUD_Txd[playerid][1], 0.61 * PlayerInfo[playerid][pHunger], 4.730); PlayerTextDrawShow(playerid, Player_HUD_Txd[playerid][1]); return 1; } stock UpdateThirstBar(playerid) { PlayerTextDrawHide(playerid, Player_HUD_Txd[playerid][2]); PlayerTextDrawTextSize(playerid, Player_HUD_Txd[playerid][2], 0.61 * PlayerInfo[playerid][pThirst], 4.730); PlayerTextDrawShow(playerid, Player_HUD_Txd[playerid][2]); return 1; } stock GivePlayerXP(playerid, value, bool:update_txd = true) { if(!Spawned[playerid]) return 1; new next_level = (PlayerInfo[playerid][pLevel] + 1) * XP_DIFFERENCE_PER_LEVEL; PlayerInfo[playerid][pXP] += value; if(PlayerInfo[playerid][pXP] > next_level) { AddPlayerLevel(playerid); } if(update_txd) { UpdateXPString(playerid); } return 1; } stock AddPlayerLevel(playerid) { SendClientMessage(playerid, 0xBABABAFF, "Pasiekėte naują lygį!"); PlayerInfo[playerid][pLevel] ++ ; PlayerInfo[playerid][pXP] = 0; SetPlayerScore(playerid, PlayerInfo[playerid][pLevel]); return 1; } stock GetPlayerNameEx(playerid) { new name[24]; GetPlayerName(playerid, name, sizeof name); return name; }