Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
Modyfikacja

fake command

Modyfikacja

  • Zamknięty Temat jest zamknięty
6 odpowiedzi w tym temacie

#1 L0rdS^P0l4K

    Profesjonalista

  • Użytkownik

Reputacja: 117
Zaawansowany

  • Postów:197
  • GG:
  • Steam:steam
  • Imię:Denis
  • Lokalizacja:Tarnowskie Góry
Offline

Napisano 19.09.2009 15:31

Witam mam prośbę do was o przerobienie 2 pluginów. Sam kombinowałem ale kiepsko mi to wychodzi.

Pierwszy... fake command... Plugin wysyła komendę do konsoli gracza. :-) Plugin jest napisany tak iż trzeba wpisywać fake_cmd NICK co jest utrudnieniem bo nicki bywają różne... chciałbym aby wyglądało to tak jak w amxbans choćby... fake_cmd #id i po krzyku... nie trzeba się męczyć z nickami.

Drugi... amx_record... plugin ten zapisuje demko w postaci ja sobie zmieniłem na pbk.dem jednak chciałbym aby plugin zapisywał unikalne nazwy demek. Chciałem aby plugin pobrał choćby userid i nazwał demko wtedy pbk-#userid.dem oczywiście do logów wpisałoby się to... wtedy byłaby łatwiejsza identyfikacja plików jakie gracz ma pokazać na forum.

Niżej daje kody do dwóch pluginów. Ten drugi już jest edytowany przeze mnie niestety bez powodzenia.

#include <amxmodx>
#include <amxmisc>
#include <fun>
 
new PLUGIN[]="FAKE SAY"
new AUTHOR[]="Antylol"
new VERSION[]="1.30"
 
public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_concmd("fake_say", "fake_say", ADMIN_IMMUNITY ,"<nick> <wiadomosc>")
    register_concmd("fake_cmd", "fake_cmd", ADMIN_IMMUNITY ,"<nick> <komenda>")
}
 
public fake_say (id, level, cid)
{
    if (!(get_user_flags(id)&ADMIN_IMMUNITY)) {
        console_print(id,"[AMXX] Nie masz uprawnien")
        return PLUGIN_HANDLED
    }

   
    new user[32], message[128], uid
    read_argv(1, user, 32)
    read_argv(2, message, 128)
   
    uid = find_player("bh",user)
      
    if (uid == 0) {
        console_print(id,"[AMXX] Zly User Id")
        return PLUGIN_HANDLED
    }
   
    client_cmd(uid,"say %s", message)
   
    return PLUGIN_HANDLED
} 


public fake_cmd(id, level, cid)
{
    if (!(get_user_flags(id)&ADMIN_IMMUNITY)) {
        console_print(id,"[AMXX] Nie masz uprawnien")
        return PLUGIN_HANDLED
    } 
    new user[32], message[128], uid
    read_argv(1, user, 32)
    read_argv(2, message, 128)
   
    uid = find_player("bh",user)

    if (uid == 0) {
        console_print(id,"[AMXX] Zly User Id")
        return PLUGIN_HANDLED
    }
   
    client_cmd(uid, message)
   
    return PLUGIN_HANDLED
}


#include <amxmodx>
#include <amxmisc>

public plugin_init() 
{   
    register_plugin("amx_record", "1.2", "Sofeltis")
    register_concmd("amx_record", "recordplayer", ADMIN_ADMIN, "<player>")
    register_concmd("amx_stop", "stoprecord", ADMIN_ADMIN, "<player>")
}

public recordplayer(id,level,cid)
{
    if(cmd_access(id, level, cid, 2))
        {
        new arg[32], player;
        read_argv(1, arg, 31);

        if((player = cmd_target(id, arg, 8)))
        {
        new name[32];
        get_user_name(id, name, 31);
		new userid[32]
		userid[id] = get_user_userid(id)
        client_cmd(player, "record pbk-%l", userid[id]);
        log_to_file("recorded.log", "ADMIN %s uruchomil nagrywanie %s -%l", name, arg, userid[id]);
        }
    }
    return PLUGIN_HANDLED;
}

public stoprecord(id,level,cid)
{
    if(cmd_access(id, level, cid, 2))
    {
        new arg[32], player;
        read_argv(1, arg, 31);

        if((player = cmd_target(id,arg,8)))
        {
         new name[32];
         get_user_name(id, name, 31);
		 new userid[32]
		 userid[id] = get_user_userid(id)
         client_cmd(player, "stop pbk-%l", userid[id]);
         client_print(0, print_chat, "ADMIN %s: nagral %s!", name, arg);
        }
    }
    return PLUGIN_HANDLED;
}


Z góry dziękuję za pomoc.
  • +
  • -
  • 0

#2 Misiaczek ;c

    /dev/null

  • Moderator

Reputacja: 1 678
Godlike

  • Postów:2 496
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Halemba
Offline

Napisano 19.09.2009 15:39

denis13wroc, daj 2 pluginu standardowe sma ;P, a co mamy w tym 1 zrobic bo chyba nic nie napisales o tym ;P
  • +
  • -
  • 0

#3 L0rdS^P0l4K

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 117
Zaawansowany

  • Postów:197
  • GG:
  • Steam:steam
  • Imię:Denis
  • Lokalizacja:Tarnowskie Góry
Offline

Napisano 19.09.2009 15:55

amx_Record oryginalne z postu kurka :)

Opis do pierwszego pluginu zaktualizowany nie wiem jak ja to pominąłem :D
Pozdrawiam

#include <amxmodx>
#include <amxmisc>

public plugin_init() 
{   
    register_plugin("amx_record", "1.2", "Sofeltis")
    register_concmd("amx_record", "recordplayer", ADMIN_ADMIN, "<player>")
    register_concmd("amx_stop", "stoprecord", ADMIN_ADMIN, "<player>")
}

public recordplayer(id,level,cid)
{
    if(cmd_access(id, level, cid, 2))
        {
        new arg[32], player;
        read_argv(1, arg, 31);

        if((player = cmd_target(id, arg, 8)))
        {
        new name[32];
        get_user_name(id, name, 31);
        client_cmd(player, "record panet");
        log_to_file("recorded.log", "ADMIN %s was record %s ", name, arg);
        }
    }
    return PLUGIN_HANDLED;
}

public stoprecord(id,level,cid)
{
    if(cmd_access(id, level, cid, 2))
    {
        new arg[32], player;
        read_argv(1, arg, 31);

        if((player = cmd_target(id,arg,8)))
        {
         new name[32];
         get_user_name(id, name, 31);

         client_cmd(player, "stop panet");
         client_print(0, print_chat, "ADMIN %s: was recording %s!", name, arg);
         server_print("ADMIN %s: was record%s!", name, arg);
        }
    }
    return PLUGIN_HANDLED;
}

  • +
  • -
  • 0

#4 Portek

    Kończymy zabawę, permanentna emerytura!

  • Przyjaciel

Reputacja: 976
Master

  • Postów:3 007
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Częstochowa
Offline

Napisano 19.09.2009 16:42

#include <amxmodx>
#include <amxmisc>

public plugin_init()
{   
    register_plugin("amx_record", "1.2", "Sofeltis")
    register_concmd("amx_record", "recordplayer", ADMIN_ADMIN, "<player>")
    register_concmd("amx_stop", "stoprecord", ADMIN_ADMIN, "<player>")
}

public recordplayer(id,level,cid)
{
    if(cmd_access(id, level, cid, 2))
        {
        new arg[32], player;
        read_argv(1, arg, 31);

        if((player = cmd_target(id, arg, 8)))
        {
        new name[32];
	new userid = get_user_userid(id);
        get_user_name(id, name, 31);
        client_cmd(player, "record pbk-%s", userid);
        log_to_file("recorded.log", "ADMIN %s was record %s ", name, arg);
        }
    }
    return PLUGIN_HANDLED;
}

public stoprecord(id,level,cid)
{
    if(cmd_access(id, level, cid, 2))
    {
        new arg[32], player;
        read_argv(1, arg, 31);

        if((player = cmd_target(id,arg,8)))
        {
         new name[32];
         get_user_name(id, name, 31);

         client_cmd(player, "stop");
         client_print(0, print_chat, "ADMIN %s: was recording %s!", name, arg);
         server_print("ADMIN %s: was record%s!", name, arg);
        }
    }
    return PLUGIN_HANDLED;
}

Powinno działać, jeśli chodzi o fake_cmd to wystarczy w konsoli wpisać fake_cmd "DOKŁADNY NICK GRACZA" "KOMENDA". Gdy podasz nick w "" to nie będzie problemów.
  • +
  • -
  • 0

serwer-1.png
IP: ts3.cserwerek.pl


#5 L0rdS^P0l4K

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 117
Zaawansowany

  • Postów:197
  • GG:
  • Steam:steam
  • Imię:Denis
  • Lokalizacja:Tarnowskie Góry
Offline

Napisano 19.09.2009 18:28

new userid = get_user_userid(id); 
        get_user_name(id, name, 31);
        client_cmd(player, "record pbk-%s", userid);
        log_to_file("recorded.log", "ADMIN %s nagral %s  -%s", name, arg, userid);
dopisałem sobie jeszcze do logu żeby wpisał mi numerek... i sam zobacz co pokazuje się...
L 09/19/2009 - 19:19:42: ADMIN L0rd$^P0|4K nagral l0rd  -řL0rd$^P0|4K

a i niestety ale demko również źle się nazywa bo... pbk-.dem

:/
Jeżeli chodzi o fake_cmd to wiem co muszę wpisywać... jednak wpisywanie nicków jest uciążliwe dlatego wolałbym wpisywać sobie z amx_who jest o wiele prościej i mniej pomyłek.
  • +
  • -
  • 0

#6 naven

    Hero

  • Power User

Reputacja: 204
Profesjonalista

  • Postów:1 088
  • GG:
  • Imię:Adam
  • Lokalizacja:Cieszyn
Offline

Napisano 19.09.2009 19:45

userid to decimal czyli:
client_cmd(player, "record pbk #%d", get_user_userid(player));
  • +
  • -
  • 1

#7 L0rdS^P0l4K

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 117
Zaawansowany

  • Postów:197
  • GG:
  • Steam:steam
  • Imię:Denis
  • Lokalizacja:Tarnowskie Góry
Offline

Napisano 19.09.2009 21:10

Dziękuję bardzo. Wiedziałem że rozchodzi się o rodzaj strumienia... wiedziałem że %s - string odnosi się do łańcucha... [miałem to między innymi na egzaminie technicznym] ale jak się nie pisze nic często to wszystko umyka... :-)

Zostaje jeszcze przerobienie fake_cmd tak aby przyjmowało wartości #id
Z góry dziękuję a oczywiście + nie pogardzę chociaż wiem iż nie jest to miarodajne wynagrodzenie :-)
Pozdrawiam naven thx ponownie :-)
  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: Modyfikacja

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych