Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //by Proff116
- #include <a_samp>
- // Ïàðàìåòðû ñòîèìîñòè çàòðàò âûíîñëèâîñòè
- #define COST_STAMINA1 -5 // óñêîðåíèå íà âåëèêå (ïîñòîÿííîå íàæàòèå W)
- #define COST_STAMINA2 -15 // ïðûæîê íà âåëèêå
- #define COST_STAMINA3 -5 // îáû÷íîå óñêîðåíèå íà âåëèêå
- #define COST_STAMINA4 -5 //ñïðèíò (áûñòðûé áåã) ñ óñêîðåíèåì
- #define COST_STAMINA5 -5 //ïîñòîÿííûé ñïðèíò
- #define COST_STAMINA6 -10 //ïðûæîê
- #define COST_STAMINA7 -5 //áëèæíèé óäàð
- #define REG_STAMINA 5 //âîññòàíîâëåíèå âûíîñëèâîñòè â ñåêóíäó
- new
- timer,
- PlayerStamina[MAX_PLAYERS],
- PlayerText: StaminaTD[3][MAX_PLAYERS];
- public OnFilterScriptInit()
- {
- for(new i, j = GetMaxPlayers(); i < j; i++)
- {
- if(!IsPlayerConnected(i)) continue;
- PlayerStamina[i] = 100;
- CreatePlayerTD(i);
- }
- timer = SetTimer("Timer", 1000, 1);
- return 1;
- }
- public OnFilterScriptExit()
- {
- for(new i, j = GetMaxPlayers(); i < j; i++)
- {
- if(!IsPlayerConnected(i)) continue;
- DestroyPlayerTD(i);
- }
- KillTimer(timer);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- PlayerStamina[playerid] = 100;
- CreatePlayerTD(playerid);
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if (newkeys & KEY_SPRINT)
- {
- if(IsPlayerByBicycle(playerid))
- {
- GivePlayerStamina(playerid, COST_STAMINA1);
- if(PlayerStamina[playerid] < 1) RemovePlayerFromVehicle(playerid);
- return 1;
- }
- if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
- {
- GivePlayerStamina(playerid, COST_STAMINA4);
- if(PlayerStamina[playerid] < 1) ApplyAnimation(playerid,"PED","IDLE_TIRED",4.0, 0, 1, 0, 0, 2000, 1);
- return 1;
- }
- }
- else if (oldkeys & KEY_ACTION)
- {
- if(IsPlayerByBicycle(playerid))
- {
- GivePlayerStamina(playerid, COST_STAMINA2);
- if(PlayerStamina[playerid] < 1) RemovePlayerFromVehicle(playerid);
- return 1;
- }
- }
- else if(newkeys & KEY_JUMP)
- {
- if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
- {
- GivePlayerStamina(playerid, COST_STAMINA6);
- if(PlayerStamina[playerid] < 1) ApplyAnimation(playerid,"PED","KO_SKID_BACK",4.0, 0, 1, 0, 0, 0, 1);
- return 1;
- }
- }
- else if(newkeys & KEY_FIRE || newkeys == 144)
- {
- if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
- {
- if(IsPlayerMeleeWeapon(playerid))
- {
- GivePlayerStamina(playerid, COST_STAMINA7);
- if(PlayerStamina[playerid] < 1) ApplyAnimation(playerid,"PED","HIT_WALL",4.0, 0, 1, 0, 0, 0, 1);
- return 1;
- }
- }
- }
- return 1;
- }
- forward Timer();
- public Timer()
- {
- for(new i, j = GetMaxPlayers(); i < j; i++)
- {
- if(!IsPlayerConnected(i)) continue;
- new key[3]; GetPlayerKeys(i,key[0],key[1],key[2]);
- if(key[0] == KEY_SPRINT)
- {
- if(IsPlayerByBicycle(i))
- {
- GivePlayerStamina(i, COST_STAMINA3);
- if(PlayerStamina[i] < 1) RemovePlayerFromVehicle(i);
- continue;
- }
- if(GetPlayerState(i) == PLAYER_STATE_ONFOOT)
- {
- GivePlayerStamina(i, COST_STAMINA5);
- if(PlayerStamina[i] < 1) ApplyAnimation(i,"PED","IDLE_TIRED",4.0, 0, 1, 0, 0, 2000, 1);
- continue;
- }
- }
- GivePlayerStamina(i, REG_STAMINA);
- }
- return 1;
- }
- stock IsPlayerMeleeWeapon(playerid)
- {
- switch(GetPlayerWeapon(playerid))
- {
- case 0..15, 43, 46: return 1;
- }
- return 0;
- }
- stock IsPlayerByBicycle(playerid)
- {
- switch(GetVehicleModel(GetPlayerVehicleID(playerid)))
- {
- case 509, 481, 510: return 1;
- }
- return 0;
- }
- stock GivePlayerStamina(playerid, stamina)
- {
- PlayerStamina[playerid] += stamina;
- if(PlayerStamina[playerid] < 0) PlayerStamina[playerid] = 0;
- else if(PlayerStamina[playerid] > 100) PlayerStamina[playerid] = 100;
- PlayerTextDrawHide(playerid,StaminaTD[2][playerid]);
- PlayerTextDrawTextSize(playerid,StaminaTD[2][playerid], 545.500000 + 0.58 * PlayerStamina[playerid], 0.000000);
- PlayerTextDrawShow(playerid,StaminaTD[2][playerid]);
- return 1;
- }
- stock CreatePlayerTD(playerid)
- {
- StaminaTD[0][playerid] = CreatePlayerTextDraw(playerid,547.500000, 58.000000, "_");
- PlayerTextDrawBackgroundColor(playerid,StaminaTD[0][playerid], 255);
- PlayerTextDrawFont(playerid,StaminaTD[0][playerid], 1);
- PlayerTextDrawLetterSize(playerid,StaminaTD[0][playerid], 0.500000, 0.449999);
- PlayerTextDrawColor(playerid,StaminaTD[0][playerid], -1);
- PlayerTextDrawSetOutline(playerid,StaminaTD[0][playerid], 0);
- PlayerTextDrawSetProportional(playerid,StaminaTD[0][playerid], 1);
- PlayerTextDrawSetShadow(playerid,StaminaTD[0][playerid], 1);
- PlayerTextDrawUseBox(playerid,StaminaTD[0][playerid], 1);
- PlayerTextDrawBoxColor(playerid,StaminaTD[0][playerid], 255);
- PlayerTextDrawTextSize(playerid,StaminaTD[0][playerid], 605.500000, 0.000000);
- PlayerTextDrawSetSelectable(playerid,StaminaTD[0][playerid], 0);
- StaminaTD[1][playerid] = CreatePlayerTextDraw(playerid,549.500000, 60.500000, "_");
- PlayerTextDrawBackgroundColor(playerid,StaminaTD[1][playerid], 255);
- PlayerTextDrawFont(playerid,StaminaTD[1][playerid], 1);
- PlayerTextDrawLetterSize(playerid,StaminaTD[1][playerid], 0.500000, 0.000000);
- PlayerTextDrawColor(playerid,StaminaTD[1][playerid], -1);
- PlayerTextDrawSetOutline(playerid,StaminaTD[1][playerid], 0);
- PlayerTextDrawSetProportional(playerid,StaminaTD[1][playerid], 1);
- PlayerTextDrawSetShadow(playerid,StaminaTD[1][playerid], 1);
- PlayerTextDrawUseBox(playerid,StaminaTD[1][playerid], 1);
- PlayerTextDrawBoxColor(playerid,StaminaTD[1][playerid], 33023);
- PlayerTextDrawTextSize(playerid,StaminaTD[1][playerid], 603.500000, 0.000000);
- PlayerTextDrawSetSelectable(playerid,StaminaTD[1][playerid], 0);
- StaminaTD[2][playerid] = CreatePlayerTextDraw(playerid,549.500000, 60.500000, "_");
- PlayerTextDrawBackgroundColor(playerid,StaminaTD[2][playerid], 255);
- PlayerTextDrawFont(playerid,StaminaTD[2][playerid], 1);
- PlayerTextDrawLetterSize(playerid,StaminaTD[2][playerid], 0.500000, 0.000000);
- PlayerTextDrawColor(playerid,StaminaTD[2][playerid], -1);
- PlayerTextDrawSetOutline(playerid,StaminaTD[2][playerid], 0);
- PlayerTextDrawSetProportional(playerid,StaminaTD[2][playerid], 1);
- PlayerTextDrawSetShadow(playerid,StaminaTD[2][playerid], 1);
- PlayerTextDrawUseBox(playerid,StaminaTD[2][playerid], 1);
- PlayerTextDrawBoxColor(playerid,StaminaTD[2][playerid], 65535);
- PlayerTextDrawTextSize(playerid,StaminaTD[2][playerid], 545.500000, 0.000000);
- PlayerTextDrawSetSelectable(playerid,StaminaTD[2][playerid], 0);
- for(new i; i < sizeof(StaminaTD); i++) PlayerTextDrawShow(playerid,StaminaTD[i][playerid]);
- return 1;
- }
- stock DestroyPlayerTD(playerid)
- {
- for(new i; i < sizeof(StaminaTD); i++) PlayerTextDrawDestroy(playerid, StaminaTD[i][playerid]);
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement