Jump to content

Quest Unirea Principatelor Romane. Detalii aici

Recrutăm designeri audio și video. Aplicați aici

Sign in to follow this  
Tupi

[PAWN] PlayersDisarmCommand

Recommended Posts

În acest tutorial vă voi prezenta cum se poate realiza comanda prin care puteți să dezarmați jucătorii pe o anumită rază

 

Înainte de toate eu am folosit include-ul: a_samp, sscanf2, zcmd, foreach și am definit SCM-ul

#include <a_samp>
#include <zcmd>
#include <sscanf2>
#include <foreach>
  
#define SCM SendClientMessage

 

Acum vom crea comanda în sine prin care vom dezama jucători de pe o anumită rază.

CMD:disarmall(playerid, params[])
{
    new range, Float: Pos[3], string[128], sendername[16]; //ne cream variabilele de care avem nevoie
    //eu verificarea pentru admin o voi face in felul urmator, adica daca este logat cu parola RCON
    if(!IsPlayerAdmin(playerid)) return SCM(playerid, -1, "Eroare: Nu ai acces la aceasta comanda!");
    //insa voi o puteti face in functie de enum-ul pe care il aveti in gamemode (ex: if(PlayerInfo[playerid][pAdmin] < 1) )
    if(sscanf(params, "i", range)) return SCM(playerid, -1, "Use: /disarmall <Range>"); //verificam daca in sintaxa comenzii s-a folosit o valoare
    if(range < 1 || range > 10000) return SCM(playerid, -1, "Error: Invalid range (1 - 10.000)!"); //daca arma folosita este mai mica de 1 sau mai mare de 10.000 returnam un mesaj informativ
  
    GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]); //salvam coordonatele celui care foloseste comanda
    GetPlayerName(playerid, sendername, 16); //salvam numele celui care foloseste comanda
  
    foreach(Player, i) { //scanam toti jucatorii de pe server
     	if(IsPlayerConnected(i) && IsPlayerInRangeOfPoint(i, range, Pos[0], Pos[1], Pos[2])) { //verificam daca jucatorul este conectat si daca este in apropierea celui care foloseste comanda pe raza folosita
          ResetPlayerWeapons(i);
          GetPlayerName(playerid, sendername, 16);
          
          format(string, sizeof(string), "Ai fost dezarmat de catre adminul %s", sendername); //formatam un mesaj in felul urmator pentru informarea jucatorilor
          SCM(i, -1, string); //le trimitem mesajul formatat
        }
    }
      
    return 1;
}

 

Cam aceasta este comanda prin care un admin de nivel X sau X+ poate să dezarmeze jucătorii de pe o anumită rază. Sper că v-a fost de ajutor acest tutorial. 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.

Share this post


Link to post
Share on other sites

:topic_closed:

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.