GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: takehun - 2010. január 05. - 19:27:48

Cím: Admin Skinek
Írta: takehun - 2010. január 05. - 19:27:48
Ü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!
Cím: Admin Skinek
Írta: kurta999 - 2010. január 05. - 19:30:38
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);
}
Cím: Admin Skinek
Írta: TriPod92 - 2010. január 05. - 20:00:47
Miért nyitottál 3 topicot?
Cím: Admin Skinek
Írta: takehun - 2010. január 05. - 20:07:11
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
Cím: Admin Skinek
Írta: Csabesz - 2010. január 05. - 20:15:26
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
Cím: Admin Skinek
Írta: takehun - 2010. január 05. - 20:49:43
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?
Cím: Admin Skinek
Írta: Iceaac - 2010. január 05. - 20:57:26
OnPlayerCommandText alá írd be csak ne parancsba:
 
dcmd(pd,2,cmdtext);
Cím: Admin Skinek
Írta: Csabesz - 2010. január 05. - 21:03:20
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
Cím: Admin Skinek
Írta: ZeRo - 2010. január 05. - 21:23:02
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
Cím: Admin Skinek
Írta: takehun - 2010. január 05. - 21:31:12
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 !   :)
Cím: Admin Skinek
Írta: Csabesz - 2010. január 06. - 17:31:16
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