-
Üdv!
Lenne egy fontos kérdésem: Google-n találtam meg egy Epsilon AdminSkin munkát és nem muködik mert ha LVDM gammemodes-ba bemásolom ezt az AdminSkin parancsot, akkor nem történik semmi...:
public OnPlayerRequestSpawn(playerid)
{
new SkinID = GetPlayerSkin(playerid);
if(SkinID == 280 || SkinID == 281 || SkinID == 282 || SkinID == 283 || SkinID == 265 || SkinID == 266 || SkinID == 288)
{
if(IsPlayerAdmin(playerid) == 1)
{
GameTextForPlayer(playerid, \"~r~Csak Adminoknak Engedelyezett!\",2000,3);
return 0;
}
}
//printf(\"OnPlayerRequestSpawn(%d)\",playerid);
return 1;
}
Na már most így meg nem jelenik meg a képernyon a szöveg és maga a tiltás sem, mivel legfelül nincs beírva ez: #include <IsPlayerLAdmin> Ám ha ezt beírom, akkor kiír ilyet:
C:\\Documents and Settings\\levi\\Asztal\\Küldésre Kész\\gamemodes\\lvdm.pwn(816) : error 021: symbol already defined: \"strtok\"
C:\\Documents and Settings\\levi\\Asztal\\Küldésre Kész\\gamemodes\\lvdm.pwn(831) : error 047: array sizes do not match, or destination array is too small
C:\\Documents and Settings\\levi\\Asztal\\Küldésre Kész\\gamemodes\\lvdm.pwn(834) : warning 203: symbol is never used: \"ret_memcpy\"
Utána megpróbáltam e helyett if(IsPlayerAdmin(playerid) == 1) beírni ezt: if(!IsPlayerAdmin(playerid)) ám ekkor meg adminként nem tudom választani a skint.
Na már most hogy lehetne normálisan megoldani, hogy ne írjon ki strtok hibát és level1-tol lehessen használni az admin skineket? Légyszíves Help Valaki !
Köszönöm Elore!
-
lvdm be így, de csak lvdm el jó ez az összeállítás (nem teszteltem nem bitos h megy)
public OnPlayerRequestClass(playerid, classid)
{
iSpawnSet[playerid] = 0;
SetupPlayerForClassSelection(playerid);
return 1;
}
public SetupPlayerForClassSelection(playerid)
{
new SkinID = GetPlayerSkin(playerid);
if(SkinID == 280 || SkinID == 281 || SkinID == 282 || SkinID == 283 || SkinID == 265 || SkinID == 266 || SkinID == 288)
{
if(IsPlayerAdmin(playerid) == 1)
{
GameTextForPlayer(playerid, \"~r~Csak Adminoknak Enged3lyezett!\",2000,3);
}
}
SetPlayerInterior(playerid,14);
SetPlayerPos(playerid,258.4893,-41.4008,1002.0234);
SetPlayerFacingAngle(playerid, 270.0);
SetPlayerCameraPos(playerid,256.0815,-43.0475,1004.0234);
SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234);
}
-
Miért nyitottál 3 topicot?
-
Hát bemásoltam elvileg jó helyre de továbbra is az a baj, hogy így: \"f(IsPlayerAdmin(playerid) == 1)\" nem látni se szöveget és enged admin skinnel belépni, mégis 0 a levelem.
Szerintem csak akkor muködne ha felülre beírnánk az include-t, de ugye akkor meg az említett hibakódok jönnének fel. Nem tudom mit kellene még csinálni sajnos... :-X
-
Ezt érdemesebb lenne az adminscriptbe írni, mivel az IsPlayerAdmin nem határozza meg a játékos admin szintjét.
Tehát ha if(IsPlayerAdmin(playerid) == 1) írsz nem tesz semmit itt csak simán IsPlayerAdmin(playerid) kell használni.
A te esetedbe:
public SetupPlayerForClassSelection(playerid)
{
new SkinID = GetPlayerSkin(playerid);
if(SkinID == 280 || SkinID == 281 || SkinID == 282 || SkinID == 283 || SkinID == 265 || SkinID == 266 || SkinID == 288)
{
if(!IsPlayerAdmin(playerid))
{
GameTextForPlayer(playerid, \"~r~Csak Adminoknak Enged3lyezett!\",2000,3);
}
else
{
GameTextForPlayer(playerid, \"~r~Admin vagy, ~w~jo jatekot!\",2000,3);
}
}
return 1;
}
De mondom, ezt adminscriptbe kéne írni.
Csabesz
-
Bemásoltam a Ladmin0.3.a filterscript-be a parancsodat és nem nagyon akar muködni és ez a Warning jött ki
...\\Asztal\\Küldésre Kész\\filterscripts\\ladmin0.3a.pwn(6832) : warning 203: symbol is never used: \"dcmd_pd\"
Utolsó sornál van valami?
-
OnPlayerCommandText alá írd be csak ne parancsba:
dcmd(pd,2,cmdtext);
-
Na várj... Megcsinálom neked!
Szerk.:
public OnPlayerRequestSpawn(playerid)
{
new SkinID = GetPlayerSkin(playerid);
if(SkinID == 280 || SkinID == 281 || SkinID == 282 || SkinID == 283 || SkinID == 265 || SkinID == 266 || SkinID == 288)
{
if(PlayerInfo[playerid][Level] >= 1)
{
GameTextForPlayer(playerid, \"~r~Admin vagy!\",2000,3);
} else {
GameTextForPlayer(playerid, \"~r~Nem vagy Admin!\",2000,3);
ForceClassSelection(playerid);
SetPlayerHealth(playerid,0.0);
}
}
return 1;
}
Ez úgy muködik, hogy lekérdezi a játékos SkinID-jét majd azt, hogy az Admin szintje 1 vagy annál nagyobb ha igen akkor spawnolhat ha nem akkor megöli és vissza dobja a karakter választóba.
U.I.: Másold be a ladminba valahova ahol nincs zavaró tényezo. ( Akár az utolsó sorba is. )
Csabesz
-
Az IsPlayerAdmin függvény csak arra vonatkozik, hogy az adott játékos bejelentkezett RCON adminisztrátor, avagy sem.
Szerintem te az IsPlayerLAdmin függvényre gondolsz, az ennek a módosított változata ahhoz a filterszkripthez.
ZeRo
-
Köszönöm Köszönöm Köszönöm Mindenkinek de legfoképp Csabesz -nak ;D Muködik !!!!!!!
Szerintem ki is rakhatod, hátha kell másnak is.
Még egyszer köszönöm a gyors és nagyszeru megoldásod ! :)
-
Nagyon szívesen. ;)
OFF: Nem szoktam publikálni mert mindig akad olyan, aki beleköt, hogy \'ezt nem te írtad\' - \'ez így nem jó\'...
Szal az ilyen helyzeteket szeretném elkerülni. :)
De ha valaki segítségre szorul annak szívesen segítek.
+ a Topicot zárd! ;)
Csabesz