Problem mit OnPlayerRequestClass

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Guten Abend,
    Ich habe folgendes Problem mit OnPlayerRequestClass,
    Ich möchte das man den Skin z.B Classid 1 nur als Cop (SpielerStats[playerid][frak]==1) annehmen kann.
    Aber ich kann trotz abfrage (SpielerStats[playerid][frak]==1) und else die Skins der frak (SpielerStats[playerid][frak]==2) annehmen.
    Villeicht kann mir hier jemand helfen :)


    Code:

    public OnGameModeInit()
    {
    //-|FCSD
    AddPlayerClassEx(FCSD, 282, 1567.8646,-1672.1388,1723.1050, 269.1425, 0, 0, 0, 0, 0, 0);
    AddPlayerClassEx(FCSD, 288, 1567.8646,-1672.1388,1723.1050, 269.1425, 0, 0, 0, 0, 0, 0);
    AddPlayerClassEx(FCSD, 192, 1567.8646,-1672.1388,1723.1050, 269.1425, 0, 0, 0, 0, 0, 0);
    //-|BBSD
    AddPlayerClassEx(BBSD, 281, 220.4992,-28.6804,584.3296,2.0607, 0, 0, 0, 0, 0, 0);
    AddPlayerClassEx(BBSD, 283, 220.4992,-28.6804,584.3296,2.0607, 0, 0, 0, 0, 0, 0);
    AddPlayerClassEx(BBSD, 93, 220.4992,-28.6804,584.3296,2.0607, 0, 0, 0, 0, 0, 0);
    return 1;
    }


    public OnPlayerRequestClass(playerid, classid)
    {
    if(classid == 0 || classid == 1 || classid == 2)
    {
    if(SpielerStats[playerid][frak] == 1)
    {
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,168.0476,1217.5947,25.1546);
    SetPlayerFacingAngle(playerid, 175.0);
    SetPlayerCameraPos(playerid,167.6115,1213.0305,27.238);
    SetPlayerCameraLookAt(playerid,168.0476,1217.5947,25.1546);
    format(s_string, sizeof(s_string), "~h~~b~-~y~FortCarson~b~-~n~~w~-Sheriff Department-");
    GameTextForPlayer(playerid,s_string,3500,4);
    }
    else
    {
    ForceClassSelection(playerid);
    GameTextForPlayer(playerid,"~r~Du darfst diesen Skin nicht benutzen",3500,4);
    }
    }
    if(classid == 3 || classid == 4 || classid == 5)
    {
    if(SpielerStats[playerid][frak] == 2)
    {
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,168.0476,1217.5947,25.1546);
    SetPlayerFacingAngle(playerid, 175.0);
    SetPlayerCameraPos(playerid,167.6115,1213.0305,27.238);
    SetPlayerCameraLookAt(playerid,168.0476,1217.5947,25.1546);
    format(s_string, sizeof(s_string), "~h~~b~-~y~BlueBerry~b~-~n~~w~-Sheriff Department-");
    GameTextForPlayer(playerid,s_string,3500,4);
    }
    else
    {
    ForceClassSelection(playerid);
    GameTextForPlayer(playerid,"~r~Du darfst diesen Skin nicht benutzen",3500,4);
    }
    }
    return 1;
    }

    (Nicht richtig eingereiht da man hier kein Tab benutzen kann :D)


    MFG Yodi


    Vielen Dank für eure Hilfe :)

  • public OnPlayerRequestClass(playerid, classid)
    {
    if(classid == 0 || classid == 1 || classid == 2)
    {
    if(SpielerStats[playerid][frak] == 1)
    {
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,168.0476,1217.5947,25.1546);
    SetPlayerFacingAngle(playerid, 175.0);
    SetPlayerCameraPos(playerid,167.6115,1213.0305,27.238);
    SetPlayerCameraLookAt(playerid,168.0476,1217.5947,25.1546);
    format(s_string, sizeof(s_string), "~h~~b~-~y~FortCarson~b~-~n~~w~-Sheriff Department-");
    GameTextForPlayer(playerid,s_string,3500,4);
    }
    else
    {
    ForceClassSelection(playerid);
    GameTextForPlayer(playerid,"~r~Du darfst diesen Skin nicht benutzen",3500,4);
    }
    }
    else if(classid == 3 || classid == 4 || classid == 5)
    {
    if(SpielerStats[playerid][frak] == 2)
    {
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,168.0476,1217.5947,25.1546);
    SetPlayerFacingAngle(playerid, 175.0);
    SetPlayerCameraPos(playerid,167.6115,1213.0305,27.238);
    SetPlayerCameraLookAt(playerid,168.0476,1217.5947,25.1546);
    format(s_string, sizeof(s_string), "~h~~b~-~y~BlueBerry~b~-~n~~w~-Sheriff Department-");
    GameTextForPlayer(playerid,s_string,3500,4);
    }
    else
    {
    ForceClassSelection(playerid);
    GameTextForPlayer(playerid,"~r~Du darfst diesen Skin nicht benutzen",3500,4);
    }
    }
    return 1;
    }


    Oder du returnst einfach nach den GamemodeTexten

    Miete mich (nicht) :love:

  • (Nicht richtig eingereiht da man hier kein Tab benutzen kann :D)


    Auf die Quellcode ansicht und dann einfügen ;)


    RequestClass wird doch nur dann aufgerufen wenn hin und her geklickt wird, setz dann doch einfach eine Variable z.B. "ClassID"
    Und beim Spawn Fragste die dann ab und machst weitere Abfragen, wenn er sie nicht nehmen darf dann Hauste ihn wieder zurück mit
    ForceClassSelection(playerid);
    TogglePlayerSpecating(playerid,0);


    Das der Spieler Spawnt, da kommste nicht drum rum, oder du scriptest deine eigene Class Selection

  • Einfach bei OnPlayerRequest Spawn eine If-Abfrage einfügen im Schema:
    if(classid == 1 && team[playerid] != 3) //Skin 1, aber nicht Team 3)
    {
    SendClientMessage(playerid,0xAFAFAFFF,"Skin 1 darf man nur in Team 3 benutzen!
    return 1;
    }


    Advertising has us chasing cars and clothes, working jobs we hate so we can buy shit we don’t need.
    – Tyler Durden


    Sobald Werbung im Spiel ist, bist du, die Nutzerin, der Nutzer, das Produkt.