Jump to content
  • 0

pomoc Zakázání příkazu


Tedy

Dotaz

Ahoj,

chtěl jsem se zeptat zda nevíte,jak udělat příkaz,který by zakázal uvedené příkazy. Například u povolání dozorce - chtěl bych zakázat příkaz na otevření cely,jenže nevím jak :( Díky za pomoc :)

Link to comment
Share on other sites

12 odpovědí na tuto otázku

Recommended Posts

  • 0
  • Globální moderátor

Nechápem aký zmysel má spraviť príkaz ktorý nebude nič robiť...... Myslel som že chceš niečo také ako že to admin nastavi či sa dá použiť alebo nie.....

Link to comment
Share on other sites

  • 0

Nechápem aký zmysel má spraviť príkaz ktorý nebude nič robiť...... Myslel som že chceš niečo také ako že to admin nastavi či sa dá použiť alebo nie.....

Najlepšie je používať ZCMD

 

#include ZCMD

CMD:TVOJPRIKAZ(playerid,params[])
{
//Sem si daj čo chceš
    return 1;
}
Link to comment
Share on other sites

  • 0

a nebo taky slo:

new bool:povol;

 

if(strcmp("/tvujprikaz", cmdtext, true, 10) == 0)
{

        if(povol == true)

        {

           return 0; nebo SCM Ze je prikaz zakazany

        }

        //funkce prikazu
        return 1;

}

 

 

if(strcmp("/povol", cmdtext, true, 10) == 0)
{

       if(!IsPlayerAdmin(playerid)) return 0;

       if(povol == false) { povol = true;  } //prikaz /tvujprikaz zakazany
       else if(povol == true) { portys = povol;  } //prikaz /tvujprikaz povoleny
       return 1;

}

Link to comment
Share on other sites

  • 0

 

Čo tak toto ? :)

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

#include <a_samp>

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

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

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

public OnPlayerCommandText(playerid, cmdtext[])
{
	dcmd(tvojprikaz,10,cmdtext);

	return 0;
}

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

dcmd_tvojprikaz (playerid,params[])
{
	#pragma unused params

	SendClientMessage(playerid,0xff9900,"{FFFFFF}SERVER: Zadaný príkaz neexistuje !");

	return 1;
}

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Nefunguje :(

 

Já jsem chtěl ten příkaz,který chci z MODU zakázat dát do toho KODU,aby ten příkaz nevykonal tu jeho danou funkci a místo toho,aby to napsalo napříkladt " Příkaz by zrušen!"

Link to comment
Share on other sites

  • 0

Mne to funguje :) a ak si všimneš vypíše ti toto SendClientMessage(playerid,0xff9900,"{FFFFFF}SERVER: Zadaný príkaz neexistuje !"); stačí si iba zmeniť ten text "SERVER: Zadaný príkaz neexistuje !" na čo potrebuješ :)  či ako to myslíš presnejšie ? 

on to myslel asi takto 

 

Do new:

new povol[MAX_PLAYERS];
  if (strcmp("/dozorce", cmdtext, true, 10) == 0)
	{
		if(povol[playerid] == 0) return SendClientMessage(playerid,0x008000AA ,"Nejsi dozorce, nemůžeš použit, tento příkaz"); //pokud se promená rovná 0, tak příkaz je zakazaný 
		return 1;
	}
  return 0;
}

Pak si to dál nastavíš podle sebe 

Link to comment
Share on other sites

  • 0
C:\Users\Pc\Desktop\Zakazan.pwn(1) : error 017: undefined symbol "MAX_PLAYERS"

C:\Users\Pc\Desktop\Zakazan.pwn(2) : error 010: invalid function or declaration

C:\Users\Pc\Desktop\Zakazan.pwn(4) : error 010: invalid function or declaration

C:\Users\Pc\Desktop\Zakazan.pwn(5) : error 010: invalid function or declaration

C:\Users\Pc\Desktop\Zakazan.pwn(7) : error 010: invalid function or declaration

C:\Users\Pc\Desktop\Zakazan.pwn(10) : warning 203: symbol is never used: "povol"

C:\Users\Pc\Desktop\Zakazan.pwn(10) : error 013: no entry point (no public functions)

 

:(

Link to comment
Share on other sites

  • 0

Tedy, nemyslíš toto ??

 

#include a_samp

public OnPlayerCommandText(playerid, cmdtext[])
{
    if(!strcmp(cmdtext, "/prikaz", true))
    {

        SCM(playerid,-1,"Příkaz neexistuje, použij /help");
        return 1;
    }
    
    return 0;
}

Link to comment
Share on other sites

  • 0

Ne, prostě chci udělat příkaz,který by zamezil používat určitý příkaz - například /job ,jelikož se to zneužívá ( je to jen příklad)

 

Hráč by napsal /job

a nic by se nevykonalo,jen by se v chatu napsalo například [ ! ] Příkaz s Vaší viny zrušen!

 

:) 

Link to comment
Share on other sites

  • 0

No tak třeba

Nahoru:

new zakaz;

public OnPlayerCommandText(playerid, cmdtext[])
{
    if(!strcmp(cmdtext, "/zakaz", true))
    {
        if(!IsPlayerAdmin(playerid)) return  SCM(playerid, -1, "Nejsi Admin")
        {
        if(zakaz == 0)
        {
        SCMTA(-1,"Příkaz /job byl zakázán adminem");
        zakaz = 1;
        }
        else if(zakaz == 1)
        {
        SCMTA(-1,"Příkaz /job byl povolen adminem");
        zakaz = 0;
        }
        }
        return 1;
    }

    if(!strcmp(cmdtext, "/job", true))
    {
        if(zakaz == 1) return SCM(playerid, -1, "Příkaz /job je zakázán adminem")
        SCM(playerid, -1, ""); 
        return 1;
    }  
    return 0;
}

Doufám že jsem problém pochopil správně :) Už to psal i CJ2o14

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...