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: RightonTime - 2014. augusztus 13. - 21:44:15

Cím: AdminSzolgálat
Írta: RightonTime - 2014. augusztus 13. - 21:44:15
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!
Cím: AdminSzolgálat
Írta: blackdog476 - 2014. augusztus 13. - 22:08:10
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;
}
Cím: AdminSzolgálat
Írta: RightonTime - 2014. augusztus 13. - 22:41:57
[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ó? :/
Cím: AdminSzolgálat
Írta: ROOCK - 2014. augusztus 13. - 22:59:35
olvass angolul mert nincs definniálva a pInfo és vedd ki az #endif-et
 
enum pInfo
{
Aszoli;
}
new PlayerInfo[MAX_PLAYERS][pInfo];
Cím: AdminSzolgálat
Írta: RightonTime - 2014. augusztus 13. - 23:12:46
Semmi ugyan az!
Cím: AdminSzolgálat
Írta: rayle - 2014. augusztus 13. - 23:22:22
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;
    }
}
Cím: AdminSzolgálat
Írta: RightonTime - 2014. augusztus 13. - 23:25:14
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.
Cím: AdminSzolgálat
Írta: blackdog476 - 2014. augusztus 13. - 23:29:54
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
Cím: AdminSzolgálat
Írta: Flash - 2014. augusztus 13. - 23:39:38
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]
Cím: AdminSzolgálat
Írta: RightonTime - 2014. augusztus 13. - 23:58:26
A Flashé kisebb volt de az õvé mûködik! köszi flash!