Tupi Posted November 10, 2020 Share Posted November 10, 2020 (edited) ~ Kill Player ~ Î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 Acum vom crea o comanda prin care vom omorâ un jucător folosindu-ne de: SetPlayerHealth(playerid, 0.0); CMD:kill(playerid, params[]) { new id, string[128], sendername[16], receivername[16]; //ne cream variabilele de care avem nevoie if(sscanf(params, "u", id)) return SCM(playerid, -1, "Use: /kill <Name/Playerid>"); //verificam daca in sintaxa comenzii s-a folosit un Nume/ID if(!IsPlayerConnected(id) || id == INVALID_PLAYER_ID) return SCM(playerid, -1, "Error: Player not connected!"); GetPlayerName(playerid, sendername, 16); //luam numele celui care foloseste comanda GetPlayerName(id, receivername, 16); //luam numele celui pe care se foloseste comanda SetPlayerHealth(id, 0.0); //setam viata jucatorului pe 0 format(string, sizeof(string), "%s te-a omorat.", sendername); //formatam string-ul in felul urmator SCM(id, -1, string); //il trimitem celui pe care se foloseste comanda format(string, sizeof(string), "L-ai omorat pe %s", receivername); //formatam string-ul in felul urmator SCM(playerid, -1, string); //il trimitem celui care foloseste comanda return 1; } Nota: Această metoda poate fi folosită și în callback-uri care sunt apelate de timere sau de alte callback-uri. forward KillPlayer(playerid); public KillPlayer(playerid) { if(IsPlayerConnected(playerid) { SetPlayerHealth(playerid, 0.0); SCM(playerid, -1, "Player is now death"); } return 1; } * De fiecare data când callback-ul KillPlayer este apelat acesta seteaza jucătorului cu id-ul pe care îl conține HP-ul la 0.0 dacă acesta este conectat. public OnPlayerDeath(playerid, killerid, reason) { if(killerid != INVALID_PLAYER_ID) { SetTimerEx("RegenKiller", 5000, false, "%d" killerid); } return 1; } forward KillKiller(playerid); public KillKiller(playerid) { SetPlayerHealth(playerid, 0.0); SCM(playerid, -1, "You died beacause killed someone"); return 1; } * În momentul în care un jucător este omorât de alt jucător jucătorul care îl omoară este și el omorât după 5 secunde o singură dată. * Cum spuneam, poate fi folosită î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 21, 2021 by Tupi Update Link to comment Share on other sites More sharing options...
Tupi Posted November 15, 2020 Author Share Posted November 15, 2020 Link to comment Share on other sites More sharing options...
Recommended Posts