Szerző Téma: Játékos beír egy parancsot-Admin láthassa  (Megtekintve 1071 alkalommal)

Játékos beír egy parancsot-Admin láthassa
« Dátum: 2015. január 28. - 15:08:32 »
0 Show voters
Sziasztok. Azt hogyan lehetne megcsinálni, hogy pl egy cmds-parancsot beír egy játékos, és akkor azt egy admin lássa hogy \"Jozsi beírt egy parancsot. (/cmds).\" Előre köszönöm.:)
« Utoljára szerkesztve: 2015. január 28. - 21:13:33 írta RusH. »

Játékos beír egy parancsot-Admin láthassa
« Válasz #1 Dátum: 2015. január 28. - 16:00:34 »
0 Show voters
mit használsz?

Játékos beír egy parancsot-Admin láthassa
« Válasz #2 Dátum: 2015. január 28. - 17:26:17 »
0 Show voters
Idézetet írta: TengeriMalac date=1422457234\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"52336\" data-ipsquote-contentclass=\"forums_Topic
mit használsz?
 
ZCMD-t használok. :)

Nem elérhető skyLine

  • Globális moderátor
  • 2171
  • 2020
  • Vaterán
    • Profil megtekintése
Játékos beír egy parancsot-Admin láthassa
« Válasz #3 Dátum: 2015. január 28. - 18:13:53 »
0 Show voters
Mindegyik parancshoz oda kell írnod egyesével. Most hirtelen erre tudok gondolni, de tuti van másik megoldás.
 
for(new i; i < MAX_PLAYERS; i ++)
{
if(IsPlayerAdmin(i))
{
new string[256];
format(string,sizeof(string),\"%s a következő parancsot használta: /cmds\",Neve(playerid));
SendClientMessage(i,-1,string);
}
}
stock Neve(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
for(new i = 0; i < MAX_PLAYER_NAME; i++)
{
         if(name == \'_\')
         {
           name = \' \';
         }
}
return name;
}

 
Valami ilyesmi. Ezt most böngészőben írtam szóval nem 100%, hogy jó lesz. (A stock neve részt meg kicopyztam, de beleírhatod külön külön is, de így szerintem egyszerűbb)

Nem elérhető AnthonyGates

  • 546
  • AnthonyGates
    • Profil megtekintése
Játékos beír egy parancsot-Admin láthassa
« Válasz #4 Dátum: 2015. január 28. - 19:02:29 »
0 Show voters
stock Hasznalta(playerid, string[])
{
        new neve[MAX_PLAYER_NAME], str[128], i=0; //létrehozzuk a változókat
        GetPlayerName(playerid, neve, sizeof(neve)); // lekérjük a játékos nevét
        format(str,sizeof(str), \"Szerver: %s [iD:%d] használta a \'/%s\' parancsot.\", neve, playerid, string); //formázzuk a kimenő stringet
        for(; i<MAX_PLAYERS; i++) // végigmegyünk a játékoson
        {
                if(IsPlayerAdmin(i)) //ha a játékos admin, akkor
                {
                        SendClientMessage(i, -1, str);                  //elküldjük az üzenetet
                }
                else return 0; //egyébként visszatérünk nullával
        }
        return 1;
}

 
Használata:
 

Hasznalta(playerid, \"parancsneve\"); // /jel nélkül!

Nem elérhető gbr333

  • 670
    • Profil megtekintése
Játékos beír egy parancsot-Admin láthassa
« Válasz #5 Dátum: 2015. január 28. - 19:15:57 »
0 Show voters

public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
    if(!success)
    {
        new neve[MAX_PLAYER_NAME], str[128], i=0; //létrehozzuk a változókat
        GetPlayerName(playerid, neve, sizeof(neve)); // lekérjük a játékos nevét
        format(str,sizeof(str), \"Szerver: %s [iD:%d] használta a \'/%s\' parancsot.\", neve, playerid, cmdtext); //formázzuk a kimenő stringet
        for(; i<MAX_PLAYERS; i++) // végigmegyünk a játékoson
        {
                if(IsPlayerAdmin(i)) //ha a játékos admin, akkor
                {
                        SendClientMessage(i, -1, str);                  //elküldjük az üzenetet
                }
                else return 0; //egyébként visszatérünk nullával
        }
    }
    return 1;
}

Játékos beír egy parancsot-Admin láthassa
« Válasz #6 Dátum: 2015. január 28. - 19:38:20 »
0 Show voters
Idézetet írta: Rolux date=1422468957\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"52336\" data-ipsquote-contentclass=\"forums_Topic


public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
    if(!success)
    {
        new neve[MAX_PLAYER_NAME], str[128], i=0; //létrehozzuk a változókat
        GetPlayerName(playerid, neve, sizeof(neve)); // lekérjük a játékos nevét
        format(str,sizeof(str), \"Szerver: %s [iD:%d] használta a \'/%s\' parancsot.\", neve, playerid, cmdtext); //formázzuk a kimenő stringet
        for(; i<MAX_PLAYERS; i++) // végigmegyünk a játékoson
        {
                if(IsPlayerAdmin(i)) //ha a játékos admin, akkor
                {
                        SendClientMessage(i, -1, str);                  //elküldjük az üzenetet
                }
                else return 0; //egyébként visszatérünk nullával
        }
    }
    return 1;
}

 

Ez nem megy :S Nem ír ki semmit, ha valaki be ír valami parancsot.

Játékos beír egy parancsot-Admin láthassa
« Válasz #7 Dátum: 2015. január 28. - 19:45:35 »
0 Show voters
if(!success)

 
helyett...
 
if(success)
« Utoljára szerkesztve: 2015. január 28. - 19:58:52 írta .RäNÐoM. »

Játékos beír egy parancsot-Admin láthassa
« Válasz #8 Dátum: 2015. január 29. - 06:47:16 »
0 Show voters
Idézetet írta: .RäNÐoM. date=1422470735\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"52336\" data-ipsquote-contentclass=\"forums_Topic

if(!success)

 
helyett...
 
if(success)

 

vagy egyik se, és akkor azt is látod ha jót, és ha hülyeséget ír be.
illetve a CMDTEXT slpit vagy sscanf függvénnyel szétdarabolható, hogy csak a parancsot lásd, a paramétereket ne, mert elég hossszú parancs jönne ki egy PMből vagy akármi másból

Játékos beír egy parancsot-Admin láthassa
« Válasz #9 Dátum: 2015. január 29. - 17:00:10 »
0 Show voters
Értem. Köszönöm mindenkinek. MEGOLDVA :D

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal