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

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => A témát indította: Benceee - 2012. Március 31. - 11:15:05

Cím: Adminszolgálat
Írta: Benceee - 2012. Március 31. - 11:15:05
Sziasztok.

Készítettem egy adminszolgálat scriptet. RCON adminisztrátor használhatja.


Parancs(ok):


-/duty - Ezzel állsz szolgálatba.


Ha ki szeretnél lépni a szolgálatból, akkor írd be: /duty 0


A /duty parancs után 6 számot lehet beírni. < 0-5 > Mindegyik szám, külön szín. Például /duty 1 - Akkor citromsárgával a fejed fölé írja, hogy Admin szolgálatban.


http://dreamssite.atw.hu/SAMP/asz.pwn
 
/*
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 < sscanf >
#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;
}
Cím: Adminszolgálat
Írta: emu420 - 2012. Március 31. - 11:18:27
Jó lett, mentha +. :D

Üdv. Nyui
Cím: Adminszolgálat
Írta: Benceee - 2012. Március 31. - 11:19:08
Idézetet írta: nyui date=1333185507\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"19351\" data-ipsquote-contentclass=\"forums_Topic
Jó lett, mentha +. :D

Üdv. Nyui

 
Köszönöm.
Cím: Adminszolgálat
Írta: 1ST_Chr - 2012. Március 31. - 11:26:32
Jó lett, bár a sok elágazás helyett használhattál volna switch-et is :D
Cím: Adminszolgálat
Írta: Benceee - 2012. Március 31. - 11:54:45
Idézetet írta: 1ST_Chr date=1333185992\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"19351\" data-ipsquote-contentclass=\"forums_Topic
Jó lett, bár a sok elágazás helyett használhattál volna switch-et is :D
 
Köszi. Most, hogy mondod.:D
Cím: Adminszolgálat
Írta: Tumite - 2012. Március 31. - 11:58:50
Men t a +.:)
Nem tudtok ilyet sima, adminnak is?Ami múködik is...:D
Cím: Adminszolgálat
Írta: Benceee - 2012. Március 31. - 12:00:43
Idézetet írta: Tumite date=1333187930\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"19351\" data-ipsquote-contentclass=\"forums_Topic
Men t a +.:)
Nem tudtok ilyet sima, adminnak is?Ami múködik is...:D
 
Hogy értve sima adminnak? Ezt beágyazod az adminscriptedbe, és az if(IsPlayerAdmin(playerid))-et átírod a saját adminscripted változójára. Pl. Info[playerid][Admin] != 0
Cím: Adminszolgálat
Írta: Tumite - 2012. Március 31. - 12:02:24
ÉÉÉrtem, köszi.:D
Cím: Adminszolgálat
Írta: Benceee - 2012. Március 31. - 12:45:18
Nincsmit.:D
Cím: Adminszolgálat
Írta: The - 2012. Március 31. - 13:13:25
Jó lett.
Cím: Adminszolgálat
Írta: Benceee - 2012. Március 31. - 13:21:15
Idézetet írta: Daviid date=1333192405\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"19351\" data-ipsquote-contentclass=\"forums_Topic
Jó lett.
 
Köszönöm szépen.

Tény, hogy switch-el jobb lenne, majd át írom egyszer. :)
Cím: Adminszolgálat
Írta: SaVage96 - 2012. Március 31. - 13:23:28
Egszerü és nagyszerü,kezdöknek hasznos lehet
Cím: Adminszolgálat
Írta: halaloszto100 - 2012. Március 31. - 13:25:54
Ngayon jó lett grat. :) Ment a + :)
Cím: Adminszolgálat
Írta: Benceee - 2012. Március 31. - 21:07:38
Köszi.
Cím: Adminszolgálat
Írta: DJтoυcн - 2012. Március 31. - 21:12:38
szép kis script lett grat..$
kezdõknek segít.. ;)
Cím: Adminszolgálat
Írta: Benceee - 2012. Március 31. - 21:21:43
Idézetet írta: DJтoυcн date=1333221158\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"19351\" data-ipsquote-contentclass=\"forums_Topic
szép kis script lett grat..$
kezdõknek segít.. ;)
 
Köszi.
Cím: Adminszolgálat
Írta: Sramm - 2012. Április 01. - 00:02:47
Hello!
Azt vettem észre, hogy sok helyen bugos, ill. laggot okoz az OnPlayerUpdate miatt. Íme egy egyszerûbb megoldás, laggmentes, és remélhetõleg nem bugos.
 
/*
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 Text3D:at[MAX_PLAYERS];
stock ASZ(playerid,ertek)
{
new str[30],str2[128];
asz[playerid] = ertek;
if(ertek == 0) return SendClientMessage(playerid, COLOR_WHITE, \"Adminszolgálat kikapcsolva.\") , Delete3DTextLabel(at[playerid]);
if(ertek == 1) return SendClientMessage(playerid, COLOR_WHITE, \"Adminszolgálat bekapcsolva. (Citromsárga)\"), Update3DTextLabelText(at[playerid],COLOR_YELLOW,\"Admin szolgálatban\");
if(ertek == 2) return SendClientMessage(playerid, COLOR_WHITE, \"Adminszolgálat bekapcsolva. (Piros)\"), Update3DTextLabelText(at[playerid],COLOR_RED,\"Admin szolgálatban\");
if(ertek == 3) return SendClientMessage(playerid, COLOR_WHITE, \"Adminszolgálat bekapcsolva. (Kék)\") , Update3DTextLabelText(at[playerid],COLOR_BLUE,\"Admin szolgálatban\");
if(ertek == 4) return SendClientMessage(playerid, COLOR_WHITE, \"Adminszolgálat bekapcsolva. (Zöld)\") , Update3DTextLabelText(at[playerid],COLOR_GREEN,\"Admin szolgálatban\");
if(ertek == 5) return SendClientMessage(playerid, COLOR_WHITE, \"Adminszolgálat bekapcsolva. (Fehér)\"), Update3DTextLabelText(at[playerid],COLOR_WHITE,\"Admin szolgálatban\");
GetPlayerName(playerid, str,30);
if(ertek != 0) return format(str2,128,\"%s adminszolgálatba lépett.\",str), SendClientMessageToAll(COLOR_RED,str2);
if(ertek == 0) return format(str2,128,\"%s kilépett az adminszolgálatból.\",str),SendClientMessageToAll(COLOR_RED,str2) ;
Attach3DTextLabelToPlayer(at[playerid], playerid, 0.0, 0.0, 0.5);
return 1;
}
CMD:duty(playerid,params[])
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, \"Nem vagy admin...\");
new szin;
if(sscanf(params,\"d\",szin)) return SendClientMessage(playerid, COLOR_RED, \"Használat: /duty < 0-5 >\");
if(szin <= 1|| szin >= 6) return SendClientMessage(playerid, COLOR_WHITE,\"Minimum: 0 - Max: 5.\");
if(szin == 0) return ASZ(playerid,0);
if(asz[playerid] == 0)
{
if(szin == 1) return ASZ(playerid,1);
if(szin == 2) return ASZ(playerid,2);
if(szin == 3) return ASZ(playerid,3);
if(szin == 4) return ASZ(playerid,4);
if(szin == 5) return ASZ(playerid,5);
}
else return SendClientMessage(playerid, COLOR_RED,\"Már szolgálatban vagy...\");
return 1;
}
public OnPlayerConnect(playerid)
{
asz[playerid] = 0;
at[playerid] = Create3DTextLabel(\"-\", 0xFF0000FF, 0.0, 0.0, 0.0, 20, 0, 1);
return 1;
}
public OnPlayerDisconnect(playerid)
{
Delete3DTextLabel(at[playerid]);
return 1;
}
public OnFilterScriptInit()
{
print(\"Bence adminszolgálat script betöltve.\");
return 0;
}
Cím: Adminszolgálat
Írta: Striker - 2012. Április 20. - 14:04:32
Ment a + nekem ez a script sokat segített nagyon hálás vagyok ;D :shifty: