Korisne komande

Započeo Correlli, Maj 28, 2010, 16:52:57 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Correlli

U ovom topiku možete staviti vaše korisne komande.
Poslednja Izmena: Jul 08, 2017, 17:49:11 POSLE PODNE od MEDO

Correlli

Pobrisao sam sve postove u ovoj temi, jer 99% njih su bili za Godfather skriptu, a onaj 1% su bile komande koje se nisu vrijedne nazivati "korisnim".

Od sad naprijed kad budete postali korisne komande u ovu temu, onda gledajte da komanda stvarno bude korisna, a ne komanda kao iz Godfather skripte do koje može svako doći i izvaditi tu komandu sa malo znanja.
Znači da Godfather komande nisu korisne, jedino ako ste napravili svoju komandu za Godfather/Godfather edit i da je stvarno korisna za tu skriptu, ali onda morate napisati da je ta komanda SAMO za tu skriptu.


Ako komanda izgleda ovako (PRIMJER):
/* zcmd. */
command(mojakomanda, playerid, params[])
{
        #pragma unused playerid
        new
                    mojVarijabl[2];
        mojVarijabl[0] = strval(params);
        mojVarijabl[1] = izracunajFunkcija(mojVarijabl[0]);
        return mojVarijabl[1];
}


Znači u ovoj komandi nepoznata je command() (zcmd procesor) funkcija i izracunajFunkcija (naša funkcija) i to morate navesti, jer za početnika ta komanda ništa ne znači ako ne zna koje su to funkcije i gdje ih treba tražiti.

Morate staviti link do funkcije ako nije vaša, ali ako je vaša, onda je stavite u post:
/* moja funkcija. */
stock izracunajFunkcija(vrijednost)
{
        new
                    ukupno;
        ukupno = ((vrijednost + 5) * 10);
        return ukupno;
}


Link do zcmd procesora - http://zeex.pastebin.ca/1650602
Korištenje:
Stavite zcmd.inc fajl u vašu mapu \pawno\include\ i ubacite ovo na početak vaše skripte (najbolje je odma iza #include <a_samp>):
#include <zcmd>


Tako nekako bi to trebalo izgledati.

Pozdrav,
   Correlli

nastoe

Evo jedna moja komanda za busenje guma na autu, znaci sve sta trebate je biti RCON administrator ili jednostavno maknuti iz skripte "if(IsPlayerAdmin(playerid))" Jako jednostavna komanda a opet mozete malo zezati igrace s njom, /busi [ID]

Napravio sam je u DCMD-u evo define od DCMD-a


#define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1

Evo komande


dcmd_busi (playerid,params[])
{
   new id;
   if(strlen(params))
   {
  id = strval(params);
  if(IsPlayerConnected(id))
  {
if(IsPlayerInAnyVehicle(id))
{
               
        new panels, doors, lights, tires;
  new carid = GetPlayerVehicleID(id);
  GetVehicleDamageStatus(carid, panels, doors, lights, tires);
  UpdateVehicleDamageStatus(carid, panels, doors, lights, 15);
}
else
{
          SendClientMessage(playerid, 0x00FF00AA, "Igrac nije u vozilu.");
}
      }
      else
      {
         SendClientMessage(playerid, 0x00FF00AA, "Igrac nije online.");
      }
    }
    else
    {
        SendClientMessage(playerid, 0x00FF00AA, "/izbusi [ID]");
    }
    return 1;
}
Ovo morate staviti ispod OnPlayerCommand

dcmd(busi,4,cmdtext);

Evo da se izljecite tu imate komandu /bolnicar koju ja koristim za svoj TDM server :)
Kako bi ste se izljecili treba vam 300$
Komandu moze iskoristiti svako ko ima 300$ te ce mu se SET [ ne GIVE ] health na 100!



if(strcmp(cmdtext, "/bolnicar", true) == 0)//Rocket Buy
{
   if (GetPlayerMoney(playerid) >= 300)
   {
SetPlayerHealth(playerid, 100);
GivePlayerMoney(playerid, -300);
SendClientMessage(playerid,COLOR_GREEN,"Bonicar vas je izljecio za 300$");
PlayerPlaySound(playerid, 1150, 0.0, 0.0, 0.0);
}
else
  {
SendClientMessage(playerid,COLOR_RED,"Nemate dovoljno novca! [Ljecenje = 300$]");
}
return 1;
}



A ovdje imate komandu za samoubistvo :

if(strcmp(cmdtext,"/ubijse",true)==0)//Parachute
{
SendClientMessage(playerid, COLOR_GREEN,"Ubili ste se");
SetPlayerHealth(playerid, 0);
return 1;
}
Poslednja Izmena: Septembar 19, 2010, 22:42:24 POSLE PODNE od Miralem

Jao gluposti od komande onda si bar mogo napraviti /bolnicar [ID] a ne ovo -.-"


COMMAND:bolnicar(playerid,params[])
{
      new
      id;
      if(sscanf(params, "u", id)) return SendClientMessage(playerid, BOJA, "Koristi: /bolnicar [ID]");
      else if (id == INVALID_PLAYER_ID) SendClientMessage(playerid, BOJA, "ERROR: Igrac nije online.");
      else
      {
            SetPlayerHealth(id,100);
      }
      return true;
}
Kristijan Stipić

Bilo mi je dosadno dok nisam imao net pa sam napravio jednostavne komande ... :

    dcmd(ubij,4,cmdtext);
    dcmd(givehealth,4,cmdtext);
    dcmd(setint0,4,cmdtext);


dcmd_ubij (playerid,params[])
{
new igrac;
if (PlayerInfo[playerid][pAdminLevel] <2)
{
    SendClientMessage(playerid, COLOR_GRAD1, " Nisi Admin !");
}
if(strlen(params))
{
igrac = strval(params);
if(IsPlayerConnected(igrac))
{
    SetPlayerHealth(playerid, 0);
    SendClientMessage(playerid, 0x00FF00AA, " Ubio si igraca.");
}
    else
{
    SendClientMessage(playerid, 0x00FF00AA, " Igrac nije online.");
}
}
return 1;
}

dcmd_givehealth (playerid,params[])
{
new igrac2;
if (PlayerInfo[playerid][pAdminLevel] <2)
{
SendClientMessage(playerid, COLOR_GRAD1, " Nisi  Admin !");
}
if(strlen(params))
{
    igrac2 = strval(params);
    if(IsPlayerConnected(igrac2))
    {
        SetPlayerHealth(playerid, 100);
        SendClientMessage(playerid, 0x00FF00AA, " Izljecio si igraca.");
}
    else
    {
        SendClientMessage(playerid, 0x00FF00AA, " Igrac nije online.");
      }
}
return 1;
}

dcmd_setint0 (playerid,params[])
{
new igrac3;
if (PlayerInfo[playerid][pAdminLevel] <2)
{
SendClientMessage(playerid, COLOR_GRAD1, " Nisi  Admin !");
}
if(strlen(params))
{
    igrac3 = strval(params);
    if(IsPlayerConnected(igrac3))
    {
        SetPlayerInterior(playerid, 100);
        SendClientMessage(playerid, 0x00FF00AA, " Postavio si int igracu na 0.");
}
    else
    {
        SendClientMessage(playerid, 0x00FF00AA, " Igrac nije online.");
      }
}
return 1;
}



Nije nis posebno al mozda nekome posluzi.
Mape:

))-((

Filescripte:

Dexy's Speedo/Fuel

Gamemodes:

))-((




SampArena FOREVER <3


Correlli

Citat: [SampArena]Deo poslato Oktobar 21, 2010, 20:26:06 POSLE PODNE
Nije nis posebno al mozda nekome posluzi.
Mislim da neće nikome.

Komanda "givehealth" ima 10 znakova, a ne 4, i komanda "setint0" ima 7 znakova, a ne 4. I ne samo da je tu greška, nego je vrlo slabo optimizirana skripta i zaboravio si spomenuti da za ovo treba dcmd procesor + zašto bi imao komandu "/setint0" samo za interiorID 0 kad možeš imati "/setint [ID]"? I da si stavio pravi broj znakova komanda bi svejedno radila za sve igrače, i one koji nisu admini jer nisi zaustavio procesa (koristio bi return statement).
I komanda "/ubij" će ubiti onoga tko je bude koristio, isto tako će ostale komande raditi na onome tko ih bude koristio.
I sve u svemu, komanda je za Godfather / Godfather edit skriptu.
Poslednja Izmena: Oktobar 21, 2010, 20:35:27 POSLE PODNE od Don Correlli

Evo jedna jednostavna /eject [ID] komanda

Ova komanda se moze koristiti za bilo koju skriptu ne samo GF i njevove edite

Za rad ove komande potrebno je:


  • ZCMD procesor komandi > ZEEX
  • SCCANF 2 - string splitter > Y_LESS
  • GetName funkcija > ExtremePower

Na vrh skrive staviti:

#define SCM SendClientMessage
#define siva 0xAAAAAAFF
#define zuta 0xFFFF00FF



COMMAND:eject(playerid,params[])
{
new
id,
string[128];
if(sscanf(params, "u", id)) return SCM(playerid, siva, "Koristi: /eject [ID]");
    else if (id == INVALID_PLAYER_ID) SCM(playerid, siva, "ERROR: Igrac nije online.");
    else
    {
if( id == playerid ) return SCM(playerid,siva,"ERROR: Nemozes sam sebe izbaciti iz vozila.");
if(IsPlayerInAnyVehicle(playerid))
{
if(GetPlayerVehicleSeat(playerid) == 0)
{
              if(!IsPlayerInAnyVehicle(id)) return SCM(playerid,siva,"ERROR: Taj igrac nije u vozilu.");
              if(GetPlayerVehicleSeat(id) != 0) {
  RemovePlayerFromVehicle(id);
  format(string,sizeof string,"INFO: %s vas je izbacio iz vozila.",GetName(playerid));
  SCM(id,zuta,string);
  format(string,sizeof string,"INFO: Izbacio si %s van vaseg vozila.",GetName(id));
  SCM(playerid,zuta,string); }
  else
  {
  SCM(playerid,siva,"ERROR: Nemozes izbaciti vozaca van vozila.");
  }
}
else
{
  SCM(playerid,siva,"ERROR: Samo vozac ovog vozila moze izbacivati igrace van vozila.");
}
}
else
{
SCM(playerid,siva,"ERROR: Niste u vozilu.");
}
    }
return true;
}


GetName(id)

stock GetName(id)
{
     new
     ime[MAX_PLAYER_NAME];
     GetPlayerName(id,ime, MAX_PLAYER_NAME);
     return ime;
}
Poslednja Izmena: Oktobar 28, 2010, 15:12:00 POSLE PODNE od χ-яαу
Kristijan Stipić

Jednostavna /me komanda.
public OnPlayerCommandText(playerid, cmdtext[])
{
    if(!strcmp(cmdtext, "/me", true, 3))
    {
        if(cmdtext[3] == 0) {
            SendClientMessage(playerid, 0xFF0000FF, "USAGE: /me [radnja]");
            return 1;
        }
        new str[128];
        GetPlayerName(playerid, str, sizeof(str));
        format(str, sizeof(str), "* %s %s", str, cmdtext[4]);
        SendClientMessageToAll(0xFFFF00AA, str);
        return 1;
    }
  return 0;
}

Evo da se počisti chat:


#define ClearChat(%1,%2) for(new c; c < %2; c++) SendClientMessage(%1,0xFFFFFFAA,"   ") // Koristi: ClearChat(playerid, broj redova)

/* Primjer uporabe */
public OnPlayerConnect(playerid)
{
ClearChat(playerid, 15);
return true;
}

Last nick: Paradox

black_dota

Citat: mafica .pwn poslato Januar 23, 2011, 17:10:10 POSLE PODNE
Jednostavna /me komanda.
public OnPlayerCommandText(playerid, cmdtext[])
{
    if(!strcmp(cmdtext, "/me", true, 3))
    {
        if(cmdtext[3] == 0) {
            SendClientMessage(playerid, 0xFF0000FF, "USAGE: /me [radnja]");
            return 1;
        }
        new str[128];
        GetPlayerName(playerid, str, sizeof(str));
        format(str, sizeof(str), "* %s %s", str, cmdtext[4]);
        SendClientMessageToAll(0xFFFF00AA, str);
        return 1;
    }
  return 0;
}

ovo je samo kad pises na obicnom chatu samo bez :
ako si hteo ovo za dm/stunt ili nesto slicno uredu je
ali za rp server moras koristiti ono ako je igrac blizu tog igraca da vidi to sto ovaj radi
npr da koristis ProxDetector iz GF

Citat: [IG]black_dota poslato Januar 25, 2011, 01:47:19 PRE PODNE
Citat: mafica .pwn poslato Januar 23, 2011, 17:10:10 POSLE PODNE
Jednostavna /me komanda.
public OnPlayerCommandText(playerid, cmdtext[])
{
    if(!strcmp(cmdtext, "/me", true, 3))
    {
        if(cmdtext[3] == 0) {
            SendClientMessage(playerid, 0xFF0000FF, "USAGE: /me [radnja]");
            return 1;
        }
        new str[128];
        GetPlayerName(playerid, str, sizeof(str));
        format(str, sizeof(str), "* %s %s", str, cmdtext[4]);
        SendClientMessageToAll(0xFFFF00AA, str);
        return 1;
    }
  return 0;
}

ovo je samo kad pises na obicnom chatu samo bez :
ako si hteo ovo za dm/stunt ili nesto slicno uredu je
ali za rp server moras koristiti ono ako je igrac blizu tog igraca da vidi to sto ovaj radi
npr da koristis ProxDetector iz GF
nestvaraj komplikacije bezveze.
postavio sam komandu a nisam neki PRO scripter,tako da  8)

Citat: mafica .pwn poslato Januar 23, 2011, 17:10:10 POSLE PODNE
Jednostavna /me komanda.
public OnPlayerCommandText(playerid, cmdtext[])
{
    if(!strcmp(cmdtext, "/me", true, 3))
    {
        if(cmdtext[3] == 0) {
            SendClientMessage(playerid, 0xFF0000FF, "USAGE: /me [radnja]");
            return 1;
        }
        new str[128];
        GetPlayerName(playerid, str, sizeof(str));
        format(str, sizeof(str), "* %s %s", str, cmdtext[4]);
        SendClientMessageToAll(0xFFFF00AA, str);
        return 1;
    }
  return 0;
}


Komanda:

    CMD:me(playerid, params[])
    {
        if(IsPlayerConnected(playerid))
      {
      new
      MeTxT,
      string[180],
      Ime[MAX_PLAYER_NAME];
      GetPlayerName(playerid, Ime, sizeof(Ime));
      if(sscanf(params, "s", MeTxT)) return SendClientMessage(playerid, 0xFFFFFFFF, "@ /me <TxT> @");
      format(string, sizeof(string), "* %s %s", Ime, MeTxT);
        ProxDetector(30, playerid, string, 0xFFFFFFFF, 0xEFEFEFFF, 0xDFDFDFFF, 0xCFCFCFFF, 0xBFBFBFFF);
        }
        return false;
    }


Napomena: ZCMD i SSCANF :)

ProxDetector:

stock ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
{
    if(IsPlayerConnected(playerid))
    {
        new Float:posx, Float:posy, Float:posz;
        new Float:oldposx, Float:oldposy, Float:oldposz;
        new Float:tempposx, Float:tempposy, Float:tempposz;
        GetPlayerPos(playerid, oldposx, oldposy, oldposz);
        for(new i=0; i<MAX_PLAYERS; i++)
        {
            if(IsPlayerConnected(i) && (GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i)))
            {
                GetPlayerPos(i, posx, posy, posz);
                tempposx = (oldposx -posx);
                tempposy = (oldposy -posy);
                tempposz = (oldposz -posz);
                if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
                {
                    SendClientMessage(i, col1, string);
                }
                else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
                {
                    SendClientMessage(i, col2, string);
                }
                else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
                {
                    SendClientMessage(i, col3, string);
                }
                else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
                {
                    SendClientMessage(i, col4, string);
                }
                else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
                {
                    SendClientMessage(i, col5, string);
                }
            }
        }
    }
    return 1;
}   

black_dota

to vec valja

#define IncreasePVarInt(%0,%1,%2) SetPVarInt(%0, %1, GetPVarInt(%0, %1) + %2) 
 
IncreasePVarInt(playerid, "Respekti", 1);


Credits: Correlli

Ovo je za povecavanje PVarova

CMD:b(playerid, params[])
{
new BChat[128], pName[MAX_PLAYER_NAME], Text[128];
if(sscanf(params, "s[128]", Text)) return SendClientMessage(playerid, 0xFFFFFFFF, "{76EC00}Koristi |{FFFFFF} /b <txt>");
GetPlayerName(playerid, pName, sizeof(pName));
format(BChat, sizeof(BChat), "%s govori: (( %s ))", pName, params);
ProxDetector(30.0, playerid, BChat, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4, COLOR_FADE5);
return 1;
}

Evo jednostavna /b komanda koju sam ja koristio.. :)
NAPOMENA: Trebate imati ZCMD i SSCANF :)
Poslednja Izmena: Januar 26, 2011, 19:02:38 POSLE PODNE od RedMan