-
Olyan kód kéne amibe belehet lépni adminszolgálatba és ki lehet lépni! de a 5 os szintû alattiak ne tudjanak adminszolgálatba lépni! ladmin4v2 adminrendszert használok! és itt egy if hát ha kell segítségre! és /adminsz legyen a parancs! :D
[pawn]if(IsPlayerAdminLevel(playerid, 5))[/pawn]
Köszi! más már nem kell csak ez!
-
Gyorsan összedobtam :D
ZCMD szükséges: (nem feltétlen, de így egyszerûbb a parancskezelés)
#include <zcmd>
Ha tárolod valamiben a játékos adatait, (pl. ha úgy hívod meg hogy pInfo[playerid][pIP] esetleg, akkor abba csinálj egy olyat, hogy \"bool:Aszoli\". A scriptben erre fogok hivatkozni.
Csinálok egy ellenõrzõ stockot, hogy könnyû legyen neked a felhasználása:
stock AdminSzolgalat(playerid) {
return pInfo[playerid][Aszoli];
}
CMD:adminsz(playerid) {
if(!IsPlayerAdminLevel(playerid, 5)) return SendClientMessage(playerid,0xff0000ff,\"A parancsot csak 5-ös adminszinttõl lehet használni!\");
if(AdminSzolgalat(playerid) == true) {
pInfo[playerid][Aszoli] = false;
SendClientMessage(playerid,-1,\"Sikeresen kiléptél az adminszolgálatból!\");
} else {
pInfo[playerid][Aszoli] = true;
SendClientMessage(playerid,-1,\"Sikeresen adminszolgálatba léptél!\");
}
return 1;
}
-
[pawn]E:\\cucc,server\\igazi szerver\\filterscripts\\adminszolgalat.pwn(7) : error 017: undefined symbol \"pInfo\"
E:\\cucc,server\\igazi szerver\\filterscripts\\adminszolgalat.pwn(7) : warning 215: expression has no effect
E:\\cucc,server\\igazi szerver\\filterscripts\\adminszolgalat.pwn(7) : error 001: expected token: \";\", but found \"]\"
E:\\cucc,server\\igazi szerver\\filterscripts\\adminszolgalat.pwn(7) : error 029: invalid expression, assumed zero
E:\\cucc,server\\igazi szerver\\filterscripts\\adminszolgalat.pwn(7) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
4 Errors.[/pawn]
[pawn]#include <a_samp>
#include <zcmd>
#endif
stock AdminSzolgalat(playerid) {
return pInfo[playerid][Aszoli];
}
public OnPlayerCommandText(playerid, cmdtext[])
{
CMD:adminsz(playerid) {
if(!IsPlayerAdminLevel(playerid, 5)) return SendClientMessage(playerid,0xff0000ff,\"A parancsot csak 5-ös adminszinttõl lehet használni!\");
if(AdminSzolgalat(playerid) == true) {
pInfo[playerid][Aszoli] = false;
SendClientMessage(playerid,-1,\"Sikeresen kiléptél az adminszolgálatból!\");
} else {
pInfo[playerid][Aszoli] = true;
SendClientMessage(playerid,-1,\"Sikeresen adminszolgálatba léptél!\");
}
return 1;
}
return 0;
}
[/pawn]
miért nem jó? :/
-
olvass angolul mert nincs definniálva a pInfo és vedd ki az #endif-et
enum pInfo
{
Aszoli;
}
new PlayerInfo[MAX_PLAYERS][pInfo];
-
Semmi ugyan az!
-
ZCMD:
CMD:adminsz(playerid)
{
if(!IsPlayerAdminLevel(playerid, 5)) return 1;
if(AdminSzolgalat[playerid])
{
AdminSzolgalat[playerid] = false;
SendClientMessage(playerid, -1, \"Kiléptél az adminszolgálatból!\");
}
else
{
AdminSzolgalat[playerid] = true;
SendClientMessage(playerid, -1, \"Adminszolgálatba léptél!\");
}
return 1;
}
Alap parancsfeldolgozó:
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(cmdtext, \"/adminsz\", true))
{
if(!IsPlayerAdminLevel(playerid, 5)) return 1;
if(AdminSzolgalat[playerid])
{
AdminSzolgalat[playerid] = false;
SendClientMessage(playerid, -1, \"Kiléptél az adminszolgálatból!\");
}
else
{
AdminSzolgalat[playerid] = true;
SendClientMessage(playerid, -1, \"Adminszolgálatba léptél!\");
}
return 1;
}
}
-
E:\\cucc,server\\igazi szerver\\filterscripts\\adminszolgalat.pwn(13) : error 028: invalid subscript (not an array or too many subscripts): \"AdminSzolgalat\"
E:\\cucc,server\\igazi szerver\\filterscripts\\adminszolgalat.pwn(13) : warning 215: expression has no effect
E:\\cucc,server\\igazi szerver\\filterscripts\\adminszolgalat.pwn(13) : error 001: expected token: \";\", but found \"]\"
E:\\cucc,server\\igazi szerver\\filterscripts\\adminszolgalat.pwn(13) : error 029: invalid expression, assumed zero
E:\\cucc,server\\igazi szerver\\filterscripts\\adminszolgalat.pwn(13) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
-
Gondoltam berakod a módodba.
Bele kellene.. de amúgy akkor átírom, de rakd bele. Amúgy nem hiszem hogy ezt nagyon nehéz lenne. Csupán egyetlen egy változó, és az értékét változtatjuk
[pawn]
new bool:Aszolgalat[MAX_PLAYERS];
stock Aszoli(playerid) {
return Aszolgalat[playerid];
}
CMD:adminsz(playerid) {
if(!IsPlayerAdminLevel(playerid, 5)) return SendClientMessage(playerid,0xff0000ff,\"A parancsot csak 5-ös adminszinttõl lehet használni!\");
if(Aszoli(playerid) == true) {
Aszolgalat[playerid] = false;
SendClientMessage(playerid,-1,\"Sikeresen kiléptél az adminszolgálatból!\");
} else {
Aszolgalat[playerid] = true;
SendClientMessage(playerid,-1,\"Sikeresen adminszolgálatba léptél!\");
}
return 1;
}
[/pawn]
Fordítva kellett volna :D
[pawn]
enum PlayerInfo
{
Aszoli;
}
new pInfo[MAX_PLAYERS][PlayerInfo];[/pawn]
E: rayle megelõzött :D amúgy nincs neki még ilyen változója
-
Tessék:
[pawn]#include a_samp
#include zcmd
#define ASzolgalat(%0) GetPVarInt(playerid, \"adminsz\")
CMD:adminszolgalat(playerid) {
if(!IsPlayerAdminLevel(playerid, 5)) return SendClientMessage(playerid,0xff0000ff,\"A parancsot csak 5-ös adminszinttõl lehet használni!\");
SetPVarInt(playerid, \"adminsz\", !ASzolgalat(playerid));
SendClientMessage(playerid, -1, ASzolgalat(playerid)?(\"Adminszolgálatba léptél!\"):(\"Elhagytad az adminszolgálatot!\"));
return 1;
}
[/pawn]
Lekérdezés hogy a playerid admin szolgálatban van-e:
[pawn]ASzolgalat(playerid)[/pawn]
-
A Flashé kisebb volt de az õvé mûködik! köszi flash!