Szerző Téma: Setlevel hiba? vagy más a probléma?  (Megtekintve 1029 alkalommal)

Setlevel hiba? vagy más a probléma?
« Dátum: 2015. Március 22. - 20:19:08 »
0 Show voters
Sziasztok! Lenne egy scriptem amit nem nagyon értek, mert megadom magamnak az 5-ös admint, vagy 1-est, tök mindegy de nem használhatom a parancsokat. Valaki segítene? Előre is köszönöm!
 
#include <a_samp>
#include <dini>
#include <sscanf2>
#include <zcmd>
#define MAX_SZINT 5
enum pdata //az adattároló neve
{
       Level,// A szint értéke
       Death,//A halálok száma
       Money,//A pénz értéke
       Score //A pont értéke
}
new PlayerInfo[MAX_PLAYERS][pdata];
public OnFilterScriptInit()
{
        return 1;
}
public OnFilterScriptExit()
{
        return 1;
}
public OnPlayerConnect(playerid)
{
        new string[128],name[MAX_PLAYER_NAME];
        GetPlayerName(playerid,name,sizeof(name));
        format(string,sizeof(string),\"/nAdmin/%s.ini\",name);
        if(dini_Exists(string))
        {
                PlayerInfo[playerid][Level] = dini_Int(string,\"Level\");
                PlayerInfo[playerid][Death] = dini_Int(string,\"Halalok\");
                GivePlayerMoney(playerid,dini_Int(string,\"Penz\"));
                SetPlayerScore(playerid,dini_Int(string,\"Pont\"));
        }
        else
        {
            dini_Create(string);
        }
        return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
        new string[128],name[MAX_PLAYER_NAME];
        GetPlayerName(playerid,name,sizeof(name));
        format(string,sizeof(string),\"%s.ini\",name);
        if(dini_Exists(string))
        {
            dini_IntSet(string,\"Szint\",PlayerInfo[playerid][Level]);
            dini_IntSet(string,\"Halalok\",PlayerInfo[playerid][Death]);
            dini_IntSet(string,\"Penz\",GetPlayerMoney(playerid));
            dini_IntSet(string,\"Pont\",GetPlayerScore(playerid));
        }
        return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
        PlayerInfo[playerid][Death]++; //növeltük az értéket 1-el.
        return 1;
}
CMD:setlevel(playerid, params[])
{
new id, szint, nev[MAX_PLAYER_NAME], nev2[MAX_PLAYER_NAME], string[128];
if(sscanf(params, \"dd\", id, szint)) return SendClientMessage(playerid, -1, \"Használat: /setlevel [playerid] [szint]\");
if(PlayerInfo[playerid][Level] < MAX_SZINT && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, \"Nincs elég szinted a parancs használatához!\");
GetPlayerName(playerid, nev, sizeof(nev));
GetPlayerName(id, nev2, sizeof(nev2));
PlayerInfo[id][Level] = szint;
format(string, sizeof(string), \"Adminisztrátor %s megváltoztatta az adminszintedet erre: %d\", nev, szint);
SendClientMessage(id, -1, string);
format(string, sizeof(string), \"Adminisztrátor %s megváltoztatta %s adminszintjét erre: %d\", nev, nev2, szint);
SendClientMessageToAll(-1, string);
return 1;
}
CMD:cc(playerid)
{
for(new i; i<50; i++)
{
SendClientMessageToAll(-1,\"\");
}
SendClientMessageToAll(-1,\"Adminisztrátor megtisztította a chatet!\");
return 1;
}

 


Bocsánat, a cc parancshoz nem tettem hozzá, hogy hanyas adminnak kellene lennie, de szerintem ki tudjátok lesni a setlevelből, hogy hogyan is van.
[gmod]Pawn code kirakva, illetve legközelebb használd a módosítás gombot.[/gmod]
« Utoljára szerkesztve: 2015. Március 22. - 21:02:24 írta ƒlaﻛh »

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
Setlevel hiba? vagy más a probléma?
« Válasz #1 Dátum: 2015. Március 22. - 21:02:02 »
0 Show voters
Ha a parancs 1-es admin szinttől használható akkor írd a parancs elejére:
 
if(PlayerInfo[playerid][Level] < 1)) return SendClientMessage(playerid, -1, \"Te nem használhatod ezt a parancsot!\");

Setlevel hiba? vagy más a probléma?
« Válasz #2 Dátum: 2015. Március 23. - 12:40:59 »
0 Show voters
if(PlayerInfo[playerid][Level] < MAX_SZINT && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, \"Nincs elég szinted a parancs használatához!\");

 
magyarul ha nem vagy maximum szintű, és nem vagy RCON akkor nem használhatod.
« Utoljára szerkesztve: 2015. Március 24. - 17:53:28 írta anGeL »

Nem elérhető Blez

  • 202
    • Profil megtekintése
Setlevel hiba? vagy más a probléma?
« Válasz #3 Dátum: 2015. Március 24. - 14:58:17 »
0 Show voters
Véletlenül ezt a kódot nem Booy rakta ki tutorial céljából még régebben ?  :D
http://sampforum.hu/index.php?topic=46830.0

Setlevel hiba? vagy más a probléma?
« Válasz #4 Dátum: 2015. Március 25. - 15:01:36 »
0 Show voters
inkább csinálj rá egy stock-ot.
azzal lekérdezed h megfelel-e.
ha nem akkor return SendClientMessage(...);
ha még akarsz vagy 50-100 sort spórolni a mode-odból, akkor már a stock-on belül defináld. (csak akkor tudsz spórolni ha még más is van ott: pl admin duty)
én amikor csináltam az adminrendszerembe akkor do-while -al csináltam.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal