Sziasztok!
Van 1 admin duty scriptem és azt szereném megcsinálni hogy az admin csak dutyban tudjon parancsokat használni.
1 admin command:
COMMAND:repair(playerid, params[])
{
// Send the command to all admins so they can see it
SendAdminText(playerid, \"/repair\", params);
// Check if the player has logged in
if (APlayerData[playerid][LoggedIn] == true)
{
// Check if the player\'s admin-level is at least 1
if (APlayerData[playerid][PlayerLevel] >= 1)
{
// Check if the player is inside a vehicle
if(!IsPlayerInAnyVehicle(playerid))
return SendClientMessage(playerid, 0xFF0000FF, \"You are not in a vehicle!\"); // Let the player know he\'s not inside a vehicle and let the server know that this was a valid command
// Fully repair the vehicle (damage value and bodywork)
RepairVehicle(GetPlayerVehicleID(playerid));
// Send the player a message to inform him that his vehicle has been repaired
SendClientMessage(playerid, 0x00FF00FF, \"Your vehicle has been successfully repaired!\");
}
else
return 0;
}
else
return 0;
// Let the server know that this was a valid command
return 1;
}
és az admin duty script:
//----------------------
#include <a_samp>
#include <IsPlayerLAdmin>
//----------------------
#define COLOR_RED 0xFF0000FF
#define COLOR_GREEN 0x008000FF
#define COLOR_YELLOW 0xFFFF00FF
//----------------------
new Text3D: ASZ;
new bool: Adminszolgalat[MAX_PLAYERS];
//----------------------
#include < dini >
#include < zcmd >
public OnPlayerCommandText(playerid, cmdtext[])
{
new sendername[MAX_PLAYER_NAME];
new string[128];
if (strcmp(\"/aduty\", cmdtext, true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(IsPlayerLAdmin(playerid))
{
if(Adminszolgalat[playerid] == false)
{
ASZ = Create3DTextLabel(\"Admin Szolgálatban\", COLOR_RED, 0.0, 0.0, 2.0, 40, 0, 0);
Attach3DTextLabelToPlayer(ASZ, playerid, 0.0, 0.0, 0.4);
ShowNameTags( 0 );
GetPlayerName(playerid, sendername, sizeof(sendername));
SendClientMessageToAll(COLOR_GREEN, \"-------------------------------\");
format(string, sizeof(string), \"Admin %s szolgálatba lépett most fogad üzeneteket!\", sendername);
SendClientMessageToAll(COLOR_YELLOW,string);
SendClientMessageToAll(COLOR_GREEN, \"-------------------------------\");
Adminszolgalat[playerid] = true;
SetPlayerSkin(playerid, 0);
}
else if(Adminszolgalat[playerid] == true)
{
Delete3DTextLabel(ASZ);
ShowNameTags( 1 );
GetPlayerName(playerid, sendername, sizeof(sendername));
SendClientMessageToAll(COLOR_GREEN, \"-------------------------------\");
format(string, sizeof(string), \"Admin %s kilépett a szolgálatból most már csak játékos a szerveren!\", sendername);
SendClientMessageToAll(COLOR_YELLOW,string);
SendClientMessageToAll(COLOR_GREEN, \"-------------------------------\");
Adminszolgalat[playerid] = false;
SetPlayerSkin(playerid, 46);
}
}
else return SendClientMessage(playerid, COLOR_RED, \"Nem vagy Admin!\");
}
return 1;
}
return 0;
}
if(Adminszolgalat[playerid] == true )
return SendClientMessage( playerid, -1, \"Csak adminiszolgálatban használható!\");
new file[128]; // Létrehozzuk a file nevû tárolót (ebbe tároljuk a fájlok elérési útját)
new jatekosnev[24]; // Ebbe tároljuk a nevünket
new szint[MAX_PLAYERS]; // Ebbe tároljuk a fájlból kiolvasott szintet
public OnPlayerConnect(playerid) // Amikor csatlakozol
{
GetPlayerName(playerid, jatekosnev, 24); // Lekérjük a nevünket, és elmentjük a jatekosnev tárolóba
format(file, sizeof(file), \"/Szintek/%s.ini\", jatekosnev); // Megadjuk hogy a file = \\Szintek\\te neved.ini
if(fexist(file)) // Ha létezik a Szintek mappába a \"te neved.ini\"
{
szint[playerid] = dini_Int(file, \"Szint\"); // kiolvassuk a fájlból a \"Szint\" értékét és elmentjük a \"szint\" tárolóba
SetPlayerScore(playerid, szint[playerid]); // Annyi pontot kapsz amennyi a \"szint\" tárolóba van
SendClientMessage(playerid, -1, \"Szinted betöltve!\"); // szöveg
} else { // ha nem létezik a fájl
dini_Create(file); // létrehozzuk
dini_IntSet(file, \"Szint\", GetPlayerScore(playerid)); // Írunk bele \"Szint\" szöveget, és az értéke annyi lesz amennyi pontod van(szinted)
}
return 1;
}
public OnPlayerDisconnect(playerid, reason) // Amikor lelépsz
{
GetPlayerName(playerid, jatekosnev, 24); // Lekérjük a nevünket és tároljuk a jatekosnev tárolóba
format(file, sizeof(file), \"/Szintek/%s.ini\", jatekosnev); // Megadjuk hogy a file = \\Szintek\\te neved.ini
dini_IntSet(file, \"Szint\", GetPlayerScore(playerid)); // a szint értéket átírjuk a fájlunkba annyira ahány pontunk van
return 1;
}
ha megoldható pls segítsen valaki! elõre is köszi.