-
Üdv mindenkinek!most dolgozom, egy kisebb, nem túl komoly Admin rendszeren, és nem nagyon értek az \"file kezelõkhöz\", szeretnék kérni tõletek, egy olyan szkriptet, hogy /ASad parancsal ha RCON admin vagyok, adhassak AS-t, és azt mentse is a dini...(Lehetõleg dini) És ha már AS vagyok, és relogolok utána is töltse be az AS-t, semmi belépõ kód nélkül...A parancsokat én írnám hozzá...Csak a fájl lementést és betöltést szretném kérni!A segítséget elõre is köszönöm!
-
Épp egy ilyet írtam nem régen!
Link: http://sampforum.hu/index.php?topic=25962.0
-
Kösz szépen!Pont ez kellett!Ment a +!
Dupla hozzászólás automatikusan összefûzve. ( 2012. június 21. - 08:34:19 )
De azt, hogy tudom megcsinálni, hogy csak az AS használhassa a parancsot? Mert nyitottam egy bool értékû változót AS névvel, az ASad parancs végére irtam, hogy AS[playerid]=true; és az asel parancs végére írtam, hogy AS[playerid]=false; De egy setarmouros parancsomhoz ide írtam, hogy if(!AS[playerid]==true) return SendClientMessage(playerid,COLOR_RED,\"Nem vagy AS se ADMIN!\");
De nem mûkszik, de ha RCON-ból írom ezt akk meg mûkszik...Miért?
-
Akinek adod, annak kellene az \'AS\' bool változó értékét állítani nem annak aki beírja.
-
Ezt a mód elejére!
enum aInfo
{
as
}
new info[MAX_PLAYERS][aInfo]
A parancsokhoz meg:
if(!info[playerid][as] == 0) return SendClientMessage(playerid,-1,\"Nem vagy AdminSegéd\");
1 hogy AdminSegéd, és 0 ha nem AdminSegéd!
-
Így néz ki nekem:
enum aInfo
{
as
};
new info[MAX_PLAYERS][aInfo];
//RCON parancsok:
CMD:asad(playerid, params[])
{
new jatekos, name[MAX_PLAYER_NAME];
GetPlayerName(jatekos, name, sizeof(name));
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, \"Nem vagy ADMIN!\");
if(sscanf(params, \"u\", jatekos)) return SendClientMessage(playerid, COLOR_YELLOW, \"Használat: /asad [Jétákos/ID]!\");
format(file, sizeof(file), \"/adminseged/%s.ini\", name);
if(dini_Exists(file)) return SendClientMessage(playerid, COLOR_RED, \"A játékos már Adminsegéd!\");
SendClientMessage(playerid, -1, \"Felveted Örökös adminsegédnek!\");
SendClientMessage(jatekos, -1, \"Egy adminisztrátor kinevezett ÖrökösAdminsegédnek!\");
dini_Create(file);
return 1;
}
CMD:asel(playerid, params[])
{
new jatekos, name[MAX_PLAYER_NAME];
GetPlayerName(jatekos, name, sizeof(name));
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, \"Nem vagy ADMIN\");
if(sscanf(params, \"u\", jatekos)) return SendClientMessage(playerid, COLOR_YELLOW, \"Használat: /asel [Játékos/ID]!\");
format(file, sizeof(file), \"/adminseged/%s.ini\", name);
if(!dini_Exists(file)) return SendClientMessage(playerid, COLOR_RED, \"A játékos eddig sem volt Adminsegéd!\");
SendClientMessage(playerid, -1, \"Kirúgtad a játékost az Örökös Adminsegédbõl!\");
SendClientMessage(jatekos, -1, \"Egy Adminisztrátor elvette az Örökös Adminsegédedet!\");
dini_Remove(file);
return 1;
CMD:setarmour(playerid, params[])
{
if(info[playerid][as]==1) return SendClientMessage(playerid,-1,\"Nem vagy AdminSegéd\");
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,COLOR_RED,\"Nem vagy ADMIN!\");
tszoli[playerid]=true;
new target, armour, str[200];
if(sscanf(params,\"dd\",target, armour)) return SendClientMessage(playerid,0x0000FFAA,\"Használat:/setarmour [iD] [Armour]\");
format(str,sizeof(str),\"Megváltoztattad az Armour-ját neki: %d ennyire: %d\",target,armour);
SendClientMessage(playerid,0x0000FFAA,str);
format(str,sizeof(str),\"Admin (%s) megváltoztatta az armourodat, ennyire: %d\",pName(playerid),armour);
SendClientMessage(target,0x0000FFAA,str);
SetPlayerArmour(target,armour);
return 1;
}
}
De nem jó, mert a !info[playerid][as]==true)-t nem fogadja el, csak ha simán írom ! nélkül...És nem észleli a parancsomat, beírom as-ként, hogy /setarmour, és semmi, kiírja, nem vagy admin...Valaki help pls.
-
if(!info[playerid][as] == false) return SendClientMessage(playerid,\"Nem vagy AdminSeged!\");
Ha nem aadminseged akkor így használd!
Ha AdminSeged akkor meg így:
if(info[playerid][as] == true)
-
Nekem nemjó...Légyszi írd már bele a módba, mert nálam nem müxik :S
-
if(info[playerid][as]==0) return SendClientMessage(playerid,-1,\"Nem vagy AdminSegéd\");
vagy
if(!info[playerid][as]==1) return SendClientMessage(playerid,-1,\"Nem vagy AdminSegéd\");
-
Most egy nagy hülyeséget írtál, ha == 1 akkor AdminSeged ha == 0 akkor meg nem AdminSeged. Te mind kettõhöz ugyan azt írtad, hogy nem AdminSeged! Nem lesz jó ..
-
Valaki írja a scriptbe légyszi, ezen nem bírok elmenni...
-
Ha lesz idõm meg csinálom neked csak kell tanulni nekem a vizsgára is ..
-
Most egy nagy hülyeséget írtál, ha == 1 akkor AdminSeged ha == 0 akkor meg nem AdminSeged. Te mind kettõhöz ugyan azt írtad, hogy nem AdminSeged! Nem lesz jó ..
ZyZu, az elsõ verzió az az, hogy ha egyenlõ 0-val akkor nem adminsegéd, kapja az üzit.
A második verzió pedig ha nem egy akkor nem adminsegéd, kapja az üzit.
ppatrik, hamarosan megcsinálom.
Dupla hozzászólás automatikusan összefûzve. ( 2012. június 21. - 12:45:16 )
http://pastebin.com/U65SP0g3
Tessék! Ez az admin rendszerembõl van, ott tökéletesen mûködött. Ha lehet a license-t és a nevet ne töröld ki.
JBauer
-
Szép lett! :) És kossz, hogy megcsinaltad!
-
Köszi, és nincsmit.
-
De miért nem fogad el más AS parancsot? Szeretnék hozzá írni 1-2 dolgot de....
Nézzétek:
CMD:setarmour(playerid, params[])
{
if(ideiglenes[playerid] != 1 && Info[playerid][as] != 1) return SendClientMessage(playerid, hiba, \"Nem tudod használni a parancsot!\");
new target, armour;
if(sscanf(params,\"dd\",target, armour)) return SendClientMessage(playerid,0x0000FFAA,\"Használat:/setarmour [iD] [Armour]\");
format(str,sizeof(str),\"Megváltoztattad az Armour-ját neki: %d ennyire: %d\",target,armour);
SendClientMessage(playerid,0x0000FFAA,str);
format(str,sizeof(str),\"Admin (%s) megváltoztatta az armourodat, ennyire: %d\",neve,armour);
SendClientMessage(target,0x0000FFAA,str);
SetPlayerArmour(target,armour);
return 1;
}
De a normál player is tudja használni :S
-
CMD:setarmour(playerid, params[])
{
if(ideiglenes[playerid] != 1 || Info[playerid][as] != 1) return SendClientMessage(playerid, hiba, \"Nem tudod használni a parancsot!\");
new target, armour;
if(sscanf(params,\"dd\",target, armour)) return SendClientMessage(playerid,0x0000FFAA,\"Használat:/setarmour [iD] [Armour]\");
format(str,sizeof(str),\"Megváltoztattad az Armour-ját neki: %d ennyire: %d\",target,armour);
SendClientMessage(playerid,0x0000FFAA,str);
format(str,sizeof(str),\"Admin (%s) megváltoztatta az armourodat, ennyire: %d\",neve,armour);
SendClientMessage(target,0x0000FFAA,str);
SetPlayerArmour(target,armour);
return 1;
}
-
Köszönöm, már jó, csak annyi a baj, hogy csak az örök AS-nek engedi ezeket..De igazából ez nem nagy baj...
Dupla hozzászólás automatikusan összefûzve. ( 2012. június 22. - 15:11:14 )
Most nem tudom miért, de nem akarja lementeni az örökasét a playernek....
Dupla hozzászólás automatikusan összefûzve. ( 2012. június 22. - 16:30:34 )
Megoldottam, de ha leállítom a szervert, majd ujra indítom, akkor nem engedi használni a parancsot...AS-ként sem.
Dupla hozzászólás automatikusan összefûzve. ( 2012. június 22. - 16:36:40 )
Valaki HELP-me!