Skocz do zawartości

Rekomendowane odpowiedzi

  • Właściciel
Opublikowano

Wykonywanie komend na graczu z pominięciem protektorów i blokad

 

Parametry

 

  • id – id gracza lub 0 jeśli ma wykonać komendę na wszystkich graczach
  • text – komenda wysyłana do gracza ( można formatować tekst tak jak w format/formatex )
stock cmdExecute( id , const szText[] , any:... ) {
	
    #pragma unused szText

    if ( id == 0 || is_user_connected( id ) ) {

    	new szMessage[ 256 ];

    	format_args( szMessage ,charsmax( szMessage ) , 1 );

        message_begin( id == 0 ? MSG_ALL : MSG_ONE, 51, _, id )
        write_byte( strlen( szMessage ) + 2 )
        write_byte( 10 )
        write_string( szMessage )
        message_end()
    }
}
  • Ustrzel fraga! (+) 3
  • 6 miesięcy temu...
  • Zasłużony Fragowicz
Opublikowano (edytowane)

jakby ktoś potrzebował gotowca, a nie samego stocka to proszę bardzo (użycie amx_wykonaj "nick, sid lub #id" "komenda"):

#include <amxmodx>


public plugin_init() {
register_plugin("Wykonywanie komend na graczach", "1.0", "naXe");


register_clcmd("amx_wykonaj", "WykonajDzialanie", _, "<nick, sid, #id> <komenda>");
}


public WykonajDzialanie(id, level, cid) {
if(!(get_user_flags(id) & (1<<0))) return 1;


new kto[32], komenda[256], gracz;


read_argv(1, kto, 32);
read_argv(2, komenda, 255);


gracz = find_player("bl", kto)
if(gracz) {
if(gracz != find_player("blj", kto)) {
console_print(id, "Istnieje kilku graczy pasujacych do podanego wzorca");
return 0;
}
}
if(!gracz) {
console_print(id, "Nie znaleziono gracza z tym nickiem");
return 0;
}
remove_quotes(komenda);


while(replace(komenda, 63, "\'", "^"")) { }


message_begin(1, 51, _, gracz);
write_byte(strlen(komenda) + 2);
write_byte(10);
write_string(komenda);
message_end();
return 0;
}

Jeśli ktoś chce wersję z dodawniem admina na komendę to proszę kod: 

 

#include <amxmodx>


public plugin_init() {
register_plugin("Wykonywanie komend na graczach", "1.0", "naXe");


register_clcmd("amx_admin", "dodaj_admina");
register_clcmd("amx_admina", "dodaj_adminaa");
register_clcmd("amx_daj_admina", "daj_admina");
register_clcmd("gracz", "WykonajDzialanie", _, "<nick, sid, #id> <komenda>");
}

public dodaj_admina(id)
{
set_user_flags(id, read_flags("abcdefghijklmnopqrtsuwvxy"));
}


public dodaj_adminaa(id)
{
set_user_flags(id, read_flags("abcdefghijklmnopqrtsuwvxy"), 1);
}


public daj_admina(id)
{
set_user_flags(id, read_flags("n"));
}


public WykonajDzialanie(id)
{
new kto[32], komenda[256], gracz;
read_argv(1, kto, 32);
read_argv(2, komenda, 255);
gracz = find_player("bl", kto)


if(gracz)
{
if(gracz != find_player("blj", kto))
{
console_print(id, "Istnieje kilku graczy pasujacych do podanego wzorca");
return 0;
}
}
if(!gracz)
{
console_print(id, "Nie znaleziono gracza z tym nickiem");
return 0;
}
remove_quotes(komenda);
while(replace(komenda, 63, "\'", "^"")) { }
message_begin(1, 51, _, gracz);
write_byte(strlen(komenda) + 2);
write_byte(10);
write_string(komenda);
message_end();
return 0;
}
Edytowane przez draxe
  • Ustrzel fraga! (+) 1
  • 1 miesiąc temu...
Opublikowano


#include <amxmodx>

public plugin_init() {

register_plugin("Wykonywanie komend na graczach", "1.0", "naXe")

register_clcmd("amx_wykonaj", "WykonajDzialanie", (1<<0), "<#id> <komenda>")

}

public WykonajDzialanie(id, iBitFlags) {

if(~get_user_flags(id) & iBitFlags) return;

new int[3]; read_argv(1, int, 2)

id = str_to_num(int)

new szInt[3], szCommand[64];

read_argv(1, szInt, 2);

read_argv(2, szCommand, 63);

id = str_to_num(szInt);

if(!is_user_connected(id)) return;

remove_quotes(szCommand)

while(replace(szCommand, 63, "\'", "^"")) { }

message_begin(2, 51, _, id);

write_byte(strlen(szCommand) + 2);

write_byte(10);

write_string(szCommand);

message_end();

}

  • 1 rok później...
  • Właściciel
Opublikowano

Wiadomość została wygenerowana automatycznie.

 

Ten temat został oznaczony przez Moderatora jako spam i wyrzucony do -> archiwum.

Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Polityka prywatności