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: Spirit - 2015. Július 29. - 23:06:37

Cím: Adminskin bug
Írta: Spirit - 2015. Július 29. - 23:06:37
Sziasztok!
 
public OnPlayerRequestSpawn(playerid)
{
    new SkinID = GetPlayerSkin(playerid);
    if(SkinID == 282 || 288 || 281 || 280 || 267 || 266 || 265 || 283)
    {
        if(IsPlayerLAdmin(playerid) == 1)
        {
        SpawnPlayer(playerid);
        }
}
    else if(IsPlayerLAdmin(playerid) == 0)
    {
        SendClientMessage(playerid, 0xFF0000FF, \"{ff0000}.::[Hiba]::. {ffffff}Rendőr karaktert csak Admin használhat!\");
        SetPlayerHealth(playerid, 0);
        ForceClassSelection(playerid);
}
return 1;
}

 
Ez egyáltalán nem működik, mintha nem is lenne a szkriptben. Bárhogy le lehet spawnolni az adminskinekkel...
Mi lehet a baj?
Cím: Adminskin bug
Írta: Fred[HUN] - 2015. Július 29. - 23:33:21
Próbáld így:
if(GetPlayerSkin(playerid) == 282) stb.. Nálam is volt már ilyen probléma, pont kocsival, így nem működött ha változóval nézem az idjét.
Cím: Adminskin bug
Írta: lackos888 - 2015. Július 29. - 23:35:38
A || jel csak vagy kapcsolo rakj oda is teljes egyenlo vizsgalatot a skinhez.
Cím: Adminskin bug
Írta: huhboy - 2015. Július 30. - 09:32:12
a kód jó. csak ha nem admin, return 0-val térjen vissza. amíg return 1 van, addig tovább fogja engedni.
megírnám neked helyesen, de telórol bajos. :/
Cím: Adminskin bug
Írta: Kovacs_Richard - 2015. Július 30. - 09:41:38
if(SkinID == 282 || 288 || 281 || 280 || 267 || 266 || 265 || 283)

 
ez nem jó...
|| 288 és a többi rész megfelel ennek:
 
if(288)

 
a 288 megfelel TRUE értéknek...tehát:
 
if(true)

 
tehát mindig igaz lesz a feltétel...
 
if(SkinID == 288)

 
ez lenne megfelelő ugye, tehát a SkinID == rész kell elé...minden szám elé!
Cím: Adminskin bug
Írta: .random. - 2015. Július 30. - 16:49:16
public OnPlayerRequestSpawn(playerid)
{
new SkinID = GetPlayerSkin(playerid);
if(SkinID == 282 || SkinID == 288 || SkinID == 281 || SkinID == 280 || SkinID == 267 || SkinID == 266 || SkinID == 265 || SkinID == 283)
{
if(IsPlayerLAdmin(playerid) == 1) return SpawnPlayer(playerid);
else
{
SendClientMessage(playerid, 0xFF0000FF, \"{ff0000}.::[Hiba]::. {ffffff}Rendőr karaktert csak Admin használhat!\");
SetPlayerHealth(playerid, 0);
ForceClassSelection(playerid);
return 1;
}
}
return 1;
}
Cím: Adminskin bug
Írta: TengeriMalac - 2015. Július 30. - 20:55:00
a sok || meg hasonlók helyett szerintem egyszerűbb egy switch használata.
Cím: Adminskin bug
Írta: Kovacs_Richard - 2015. Július 31. - 08:19:58
if(SkinID == 282 || 288 || 281 || 280 || 267 || 266 || 265 || 283)
    {
        if(IsPlayerLAdmin(playerid) == 1)
        {
        SpawnPlayer(playerid);
        }
        }
    else if(IsPlayerLAdmin(playerid) == 0)
    {
        SendClientMessage(playerid, 0xFF0000FF, \"{ff0000}.::[Hiba]::. {ffffff}Rendőr karaktert csak Admin használhat!\");

 
am most nézem van benne még egy hiba...
HA SkinID 282 VAGY 288 VAGY 281 VAGY 280 VAGY 267 VAGY 266 VAGY 265 VAGY 283
    HA a játékos admin
        Spawn
VAGY HA a játékos NEM admin
    Üzenet küldése (Rendőr karaktert csak Admin használhat!)
Tehát ha nem admin a játékos akkor mindig fog kapni üzenetet ha nem a felső skinek egyikével akar spawnolni, ha meg azok közül 1-el akkor meg nem spawnolja le, mert nem admin...
egy }-el több van ezért az else if más ágban fut le...