Szia!
Én ezt ajánlom, nálam mûködik:
/*
Adminszolgálat színek:
- 0. Kikapcsolva
- 1. Citromsárga
- 2. Piros
- 3. Kék
- 4. Zöld
- 5. Fehér
*/
#include < a_samp >
#include < zcmd >
#include < sscanf2 >
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_RED 0xFF0000AA
#define COLOR_BLUE 0x0037ffAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_WHITE 0xFFFFFFAA
#undef MAX_PLAYERS
#define MAX_PLAYERS 30 // Szerver férõhelye
new asz[MAX_PLAYERS];
new str[64];
CMD:duty(playerid,params[])
{
if(IsPlayerAdmin(playerid))
{
new szin;
if(sscanf(params,\"d\",szin)) return SendClientMessage(playerid, COLOR_RED, \"Használat: /duty < 0-5 >\");
if(szin == 0 || szin == 1 || szin == 2 || szin == 3 || szin == 4 || szin == 5)
{
if(szin == 0)
{
asz[playerid] = 0;
SendClientMessage(playerid, COLOR_WHITE, \"Adminszolgálat kikapcsolva.\");
GetPlayerName(playerid, str,sizeof(str));
format(str,128,\"%s kilépett az adminszolgálatból.\",str);
SendClientMessageToAll(COLOR_RED,str);
}
else if(szin == 1)
{
asz[playerid] = 1;
SendClientMessage(playerid, COLOR_WHITE, \"Adminszolgálat bekapcsolva. ( Citromsárga )\");
GetPlayerName(playerid, str,sizeof(str));
format(str,128,\"%s adminszolgálatba lépett.\",str);
SendClientMessageToAll(COLOR_RED,str);
}
else if(szin == 2)
{
asz[playerid] = 2;
SendClientMessage(playerid, COLOR_WHITE, \"Adminszolgálat bekapcsolva. ( Piros )\");
GetPlayerName(playerid, str,sizeof(str));
format(str,128,\"%s adminszolgálatba lépett.\",str);
SendClientMessageToAll(COLOR_RED,str);
}
else if(szin == 3)
{
asz[playerid] = 3;
SendClientMessage(playerid, COLOR_WHITE, \"Adminszolgálat bekapcsolva. ( Kék )\");
GetPlayerName(playerid, str,sizeof(str));
format(str,128,\"%s adminszolgálatba lépett.\",str);
SendClientMessageToAll(COLOR_RED,str);
}
else if(szin == 4)
{
asz[playerid] = 4;
SendClientMessage(playerid, COLOR_WHITE, \"Adminszolgálat bekapcsolva. ( Zöld )\");
GetPlayerName(playerid, str,sizeof(str));
format(str,128,\"%s adminszolgálatba lépett.\",str);
SendClientMessageToAll(COLOR_RED,str);
}
else if(szin == 5)
{
asz[playerid] = 5;
SendClientMessage(playerid, COLOR_WHITE, \"Adminszolgálat bekapcsolva. ( Fehér )\");
GetPlayerName(playerid, str,sizeof(str));
format(str,128,\"%s adminszolgálatba lépett.\",str);
SendClientMessageToAll(COLOR_RED,str);
}
} else { SendClientMessage(playerid, COLOR_RED, \"A színek 0 és 5 között lehetnek.\"); }
} else { SendClientMessage(playerid, COLOR_RED, \"Nem vagy adminisztrátor.\"); }
return 1;
}
public OnPlayerConnect(playerid)
{
asz[playerid] = 0;
return 1;
}
public OnPlayerUpdate(playerid)
{
if(asz[playerid] == 1)
{
SetPlayerChatBubble(playerid, \"Admin szolgálatban\",COLOR_YELLOW,40.0,1000);
}
else if(asz[playerid] == 2)
{
SetPlayerChatBubble(playerid, \"Admin szolgálatban\",COLOR_RED,40.0,1000);
}
else if(asz[playerid] == 3)
{
SetPlayerChatBubble(playerid, \"Admin szolgálatban\",COLOR_BLUE,40.0,1000);
}
else if(asz[playerid] == 4)
{
SetPlayerChatBubble(playerid, \"Admin szolgálatban\",COLOR_GREEN,40.0,1000);
}
else if(asz[playerid] == 5)
{
SetPlayerChatBubble(playerid, \"Admin szolgálatban\",COLOR_WHITE,40.0,1000);
}
return 1;
}
public OnFilterScriptInit()
{
print(\"Bence adminszolgálat script betöltve.\");
return 0;
}
(RCON Adminnal mûködik)
DumBasS a NevekBe(); NevekKi(); -el nem ér sokat, és hozzá se írtad az örök életet.
(Kicsit le egyszerûsítettem a parancsot)
Tessék:
if(strcmp(cmdtext, \"/adminszolgálat\", true) == 0)
{
new Text3D: Asz[MAX_PLAYERS], n[24];
GetPlayerName(playerid, n, 24);
printf(\"%s beírta a /adminszolgálat parancsot\\r\\n\", n);
if(Info[playerid][admin] < 1) return msg(playerid, \"Nem vagy admin!\");
if(adminszolg[playerid] == 0)
{
msg(playerid, \"Adminszolgálat bekapcsolva!\");
SetPlayerSkin(playerid,217);
SetPlayerHealth(playerid, 99999);
Info[playerid][szolgalat] = 0;
adminszolg[playerid] = 1;
format(str, sizeof(str), \"%s szolgálatban!\", n);
Asz[playerid] = Create3DTextLabel(str, 0x33AAFFFF, 30, 40, 50, 40, 0);
return 1;
} else {
msg(playerid, \"Adminszolgálat kikapcsolva!\");
SetPlayerSkin(playerid,Info[playerid][skin]);
SetPlayerHealth(playerid, 100);
adminszolg[playerid] = 0;
Delete3DTextLabel(Asz[playerid]);
}
return 1;
}
Nincs tesztelve!
Kösz ment a plusz,még nem teszteltem le de biztos jó lesz!
Szia!
Én ezt ajánlom, nálam mûködik:
/*
Adminszolgálat színek:
- 0. Kikapcsolva
- 1. Citromsárga
- 2. Piros
- 3. Kék
- 4. Zöld
- 5. Fehér
*/
#include < a_samp >
#include < zcmd >
#include < sscanf2 >
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_RED 0xFF0000AA
#define COLOR_BLUE 0x0037ffAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_WHITE 0xFFFFFFAA
#undef MAX_PLAYERS
#define MAX_PLAYERS 30 // Szerver férõhelye
new asz[MAX_PLAYERS];
new str[64];
CMD:duty(playerid,params[])
{
if(IsPlayerAdmin(playerid))
{
new szin;
if(sscanf(params,\"d\",szin)) return SendClientMessage(playerid, COLOR_RED, \"Használat: /duty < 0-5 >\");
if(szin == 0 || szin == 1 || szin == 2 || szin == 3 || szin == 4 || szin == 5)
{
if(szin == 0)
{
asz[playerid] = 0;
SendClientMessage(playerid, COLOR_WHITE, \"Adminszolgálat kikapcsolva.\");
GetPlayerName(playerid, str,sizeof(str));
format(str,128,\"%s kilépett az adminszolgálatból.\",str);
SendClientMessageToAll(COLOR_RED,str);
}
else if(szin == 1)
{
asz[playerid] = 1;
SendClientMessage(playerid, COLOR_WHITE, \"Adminszolgálat bekapcsolva. ( Citromsárga )\");
GetPlayerName(playerid, str,sizeof(str));
format(str,128,\"%s adminszolgálatba lépett.\",str);
SendClientMessageToAll(COLOR_RED,str);
}
else if(szin == 2)
{
asz[playerid] = 2;
SendClientMessage(playerid, COLOR_WHITE, \"Adminszolgálat bekapcsolva. ( Piros )\");
GetPlayerName(playerid, str,sizeof(str));
format(str,128,\"%s adminszolgálatba lépett.\",str);
SendClientMessageToAll(COLOR_RED,str);
}
else if(szin == 3)
{
asz[playerid] = 3;
SendClientMessage(playerid, COLOR_WHITE, \"Adminszolgálat bekapcsolva. ( Kék )\");
GetPlayerName(playerid, str,sizeof(str));
format(str,128,\"%s adminszolgálatba lépett.\",str);
SendClientMessageToAll(COLOR_RED,str);
}
else if(szin == 4)
{
asz[playerid] = 4;
SendClientMessage(playerid, COLOR_WHITE, \"Adminszolgálat bekapcsolva. ( Zöld )\");
GetPlayerName(playerid, str,sizeof(str));
format(str,128,\"%s adminszolgálatba lépett.\",str);
SendClientMessageToAll(COLOR_RED,str);
}
else if(szin == 5)
{
asz[playerid] = 5;
SendClientMessage(playerid, COLOR_WHITE, \"Adminszolgálat bekapcsolva. ( Fehér )\");
GetPlayerName(playerid, str,sizeof(str));
format(str,128,\"%s adminszolgálatba lépett.\",str);
SendClientMessageToAll(COLOR_RED,str);
}
} else { SendClientMessage(playerid, COLOR_RED, \"A színek 0 és 5 között lehetnek.\"); }
} else { SendClientMessage(playerid, COLOR_RED, \"Nem vagy adminisztrátor.\"); }
return 1;
}
public OnPlayerConnect(playerid)
{
asz[playerid] = 0;
return 1;
}
public OnPlayerUpdate(playerid)
{
if(asz[playerid] == 1)
{
SetPlayerChatBubble(playerid, \"Admin szolgálatban\",COLOR_YELLOW,40.0,1000);
}
else if(asz[playerid] == 2)
{
SetPlayerChatBubble(playerid, \"Admin szolgálatban\",COLOR_RED,40.0,1000);
}
else if(asz[playerid] == 3)
{
SetPlayerChatBubble(playerid, \"Admin szolgálatban\",COLOR_BLUE,40.0,1000);
}
else if(asz[playerid] == 4)
{
SetPlayerChatBubble(playerid, \"Admin szolgálatban\",COLOR_GREEN,40.0,1000);
}
else if(asz[playerid] == 5)
{
SetPlayerChatBubble(playerid, \"Admin szolgálatban\",COLOR_WHITE,40.0,1000);
}
return 1;
}
public OnFilterScriptInit()
{
print(\"Bence adminszolgálat script betöltve.\");
return 0;
}
(RCON Adminnal mûködik)
[/quote]
Nem zcmd-s kell! De azért köszi,zártam!