Tupi Posted November 15, 2020 Share Posted November 15, 2020 (edited) ~ GetPlayerHealth & SetPlayerHealth ~ Înainte de toate eu am folosit include-ul: a_samp, sscanf2, zcmd și am definit SCM-ul #include <a_samp> #include <zcmd> #include <sscanf2> #define SCM SendClientMessage Putem crea o comandă prin care să aflăm nivelul de viață a unui jucător folosindu-ne de: GetPlayerHealth(playerid, Float:Health) CMD:gethp(playerid, params[]) { new id, Float: health, string[128], sendername[16], receivername[16]; if(sscanf(params, "u", id)) return SCM(playerid, -1, "Use: /gethp <Name/Playerid>") if(!IsPlayerConnected(id) || id == INVALID_PLAYER_ID) return SCM(playerid, -1, "Error: Player not connected!"); GetPlayerName(id, receivername, 16); GetPlayerHealth(id, health); format(string, sizeof(string), "%s are %0.2f viata.", receivername, health); SCM(playerid, -1, string); return 1; } Putem crea o comandă prin care să setăm nivelul de viață a unui jucător folosindu-ne de: SetPlayerHealth(playerid, Float:health) CMD:sethp(playerid, params[]) { new id, string[128], sendername[16], receivername[16]; if(sscanf(params, "ui", id, health)) return SCM(playerid, -1, "Use: /gethp <Name/Playerid> <Health>") if(!IsPlayerConnected(id) || id == INVALID_PLAYER_ID) return SCM(playerid, -1, "Error: Player not connected!"); if(health < 0 || health > 100) return SCM(playerid, -1, "Invalid health); GetPlayerName(playerid, sendername, 16); GetPlayerName(id, receivername, 16); SetPlayerHealth(id, health); format(string, sizeof(string), "I-ai setat viata lui %s la %d.", receivername, health); SCM(playerid, -1, string); format(string, sizeof(string), "%s ti-a setat viata la %d.", sendername, health); SCM(id, -1, string); return 1; } Nota: Această metoda poate fi folosită și în callback-uri care sunt apelate de timere sau de alte callback-uri. forward RegenMe(playerid); public RegenMe(playerid) { new Float: health; GetPlayerHealth(playerid, health); SetPlayerHealth(playerid, health+2.0); return 1; } * În momentul în care callback-ul RegenMe este apelat jucătorul cu ID-ul pe care îl conține primeste +2 viață. public OnPlayerDeath(playerid, killerid, reason) { if(killerid != INVALID_PLAYER_ID) { new Float: health, string[128], name[16]; GetPlayerHealth(killerid, health); SetPlayerHealth(killerid, health+25.0); if(health+25.0 > 100.0) SetPlayerHealth(playerid, 100.0); GetPlayerName(playerid, name, 16); format(string, 128, "* You received 25.0 HP for killing %s.", name); SendClientMessage(killerid, -1, string); } return 1; } * În momentul în care un jucător este omorât de alt jucător jucătorul care îl omoară primeste +25 HP. * Cum spuneam, pot fi folosite în mai multe feluri, nu doar în comenzile simple. * Pentru orice întrebare/nelămurire puteți trimite un PM la un Programmer sau să deschideți un topic in secțiunea Help and Discussions. Edited January 28, 2021 by Tupi 1 Link to comment Share on other sites More sharing options...
Tupi Posted November 18, 2020 Author Share Posted November 18, 2020 Link to comment Share on other sites More sharing options...
Recommended Posts