GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Szkript kérések => A témát indította: dawee0101 - 2014. június 23. - 14:50:27

Cím: /asay
Írta: dawee0101 - 2014. június 23. - 14:50:27
Sziasztok! Olyan /asay parancsra lenne szükségem hogy ha 1-es admin valaki akkor Adminsegéd ha 2-es akkor Admin és amilyen adminszintje van azt a szintjét kiírja asayba. PL: 1*es admin vagyok /Adminsegéd/ \"Adminsegéd %s: ...\"
Elõre is köszönöm.
 
JatekosInfo[playerid][AdminSzint] = 1 //1-4ig vannak a szintek!
Cím: /asay
Írta: KovaNovik - 2014. június 24. - 15:53:53
new ASZN[][] = {\"Nem Admin\", \"Adminsegéd\", \"Admin\", \"Fõadmin\", \"Tulaj\"}; //1 = Adminsegéd, 2 = Admin, 3 = Tulaj.
CMD:asay(playerid, params[]) {
    if(JatekosInfo[playerid][AdminSzint] == 0) return 0;
    new name[25], text[140], msg[144];
    if(sscanf(params, \"s[144]\", text)) return SendClientMessage(playerid, 0xFF0000FF, \"Használat: /asay [szöveg]\");
    GetPlayerName(playerid, name, sizeof(name));
    format(msg, sizeof(msg), \"*%s %s: %s\", ASZN[JatekosInfo[playerid][AdminSzint]], name, text);
    SendClientMessageToAll(0xFF0000FF, msg);
    return 1;
}
Cím: /asay
Írta: dawee0101 - 2014. június 24. - 16:15:28
Valami nem stimmel :S Beírom hogy \'/asay asd\' erre eztírja: \"Unknown server command\"
Cím: /asay
Írta: Mate. - 2014. június 24. - 18:35:32
Cseréld ki a te változóidra:
 
dcmd_asay(playerid,params[]) {
#pragma unused params
if(PlayerInfo[playerid][Level] >= 1) {
   if(!strlen(params)) return SendClientMessage(playerid, red, \"Használat: /asay [szöveg]\");
      new sLevel[][]=
   {
       \"Adminsegéd\",
       \"Moderátor\",
       \"Fõ Moderátor\",
       \"Admin\",
\"Szerver Felügyelõ\",
       \"Mapper / Scripter\",
       \"Globális Moderátor\",
       \"Fõadmin\",
       \"Szerver Tulajdonos\"
   };
        for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i))
  {
        if(PlayerInfo[playerid][Level] > 0 || IsPlayerAdmin(playerid))
        {
        }
        }
  new istring[150]; format(istring, sizeof(istring), \"{FF0000}*** [%s] {00FF00}%s: {FFFF00} %s\",sLevel[PlayerInfo[playerid][Level]],PlayerName2(playerid), params[0]);//  );
  return SendClientMessageToAll(blue,istring);
} else return SendClientMessage(playerid,red,\"HIBA: Ehez a parancshoz legalább 1-es szintû adminnak kéne lenned!\");
}

 


Hozzá, ha dcmd-vel:
 
public OnPlayerCommandText(playerid, cmdtext[])
{
dcmd(asay,4,cmdtext);

 
Zcmd-s parancsfeldolgozóval:
 
CMD:asay(playerid, params[])
{
Cím: /asay
Írta: KovaNovik - 2014. június 24. - 19:45:56
A return 0-t kicserélheted egy üzenetre, (return SendClientMessage), pl. hogy nem vagy admin. Egyébként az a gond, hogy nem vagy admin!
Cím: /asay
Írta: TengeriMalac - 2014. június 25. - 10:21:31
CMD:asay(playerid, params[]) {
    if(JatekosInfo[playerid][AdminSzint] == 0) return 0;
    new lvl[][] = { \"\", \"szint1\", \"szint2\", \"szint3\", \"szint4\" };
    new name[MAX_PLAYER_NAME],
string[144];
    if(strlen(params) < 2) return SendClientMessage(playerid, -1, \"Használat: /asay [szöveg]\");
    GetPlayerName(playerid, name, sizeof(name));
    format(string, sizeof(string), \"*%s %s: %s\", lvl[JatekosInfo[playerid][AdminSzint]], name, params);
    SendClientMessageToAll(-1, string);
    return 1;
}
Cím: /asay
Írta: dawee0101 - 2014. június 25. - 14:41:15
Jó minden mûködik, csak annyi a baj hogy 1 = Adminsegéd 2 = Admin 3 = Tulaj és a 4?? az miért maradt ki?  :hmmm:
Cím: /asay
Írta: Mate. - 2014. június 25. - 16:08:09
Ha a Malacéra gondolsz:
 
new lvl[][] = { \"\", \"szint1\", \"szint2\", \"szint3\", \"szint4\" };[/quote]
Szerinted ez mire van? :D