skins für Fraktionen

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 Tag Community,


    Ich habe ein skinauswahl system gemacht für die die sich registrieren.


    So nun jetzt meine frage und zwar möchte ich sowas auch für Fraktionen für jeweillige Frak soll es immer skins geben die man auswählen kann hier meine cods:


    new SkinAuswahl[MAX_PLAYERS] = 1;


    if(SkinAuswahl[playerid] >= 1)
    {
    new pID;
    SetPlayerCameraPos(pID, -1771.9491,581.3073,335.4853);
    SetPlayerCameraLookAt(pID, -1792.5695,567.3070,336.6637);
    SetPlayerPos(pID, -1790.8938,567.6432,332.8019);
    SetPlayerFacingAngle(pID,270.00);
    SendClientMessage(pID,ROT,"Benutzen sie NUMPAD-4 (NUMPAD-RECHTS) Um zwischen den Skins zu Schalten");
    SendClientMessage(pID,ROT,"Mit Der Taste Enter bzw. F können sie die Auswahl Beenden!");
    TogglePlayerControllable(playerid, 0);
    }


    if(newkeys == KEY_SECONDARY_ATTACK)
    {
    if(SkinAuswahl[playerid] >= 1)
    {
    SetCameraBehindPlayer(playerid);
    SendClientMessage(playerid,ROT,"Skin erfolgreich Gewechselt!");
    TogglePlayerControllable(playerid, true);
    SpawnPlayer(playerid);
    SkinAuswahl[playerid] = 0;
    }
    }
    if(newkeys == KEY_ANALOG_RIGHT)
    {
    if(SkinAuswahl[playerid] == 1)
    {
    SetPlayerSkin(playerid, 0);
    SkinAuswahl[playerid] += 1;
    }
    else if(SkinAuswahl[playerid] == 2)
    {
    SetPlayerSkin(playerid, 1);
    SkinAuswahl[playerid] += 1;
    }
    else if(SkinAuswahl[playerid] == 3)
    {
    SetPlayerSkin(playerid, 2);
    SkinAuswahl[playerid] += 1;
    }
    else if(SkinAuswahl[playerid] == 4)
    {
    SetPlayerSkin(playerid, 3);
    SkinAuswahl[playerid] += 1;
    }
    else if(SkinAuswahl[playerid] == 5)
    {
    SetPlayerSkin(playerid, 200);
    SkinAuswahl[playerid] = 1;
    }
    else if(SkinAuswahl[playerid] == 6)
    {
    SetPlayerSkin(playerid, 5);
    SkinAuswahl[playerid] = 2;
    }
    }


    Meine Abfrage:


    if(isPlayerInFrakt(playerid,fID);

  • Deins ist es ja nicht ^^ ist meins Hast sogar noch mein Schreibfehler ist eig. Numpad 6 ^^ Also du machst eine Abfrage z.B so:


    if(isPlayerInFrakt(playerid,fID); { /*Hier den Skin für die Fraktion (skin1)*/ }
    else if(isPlayerInFrakt(playerid,fID) { /*Hier den Skin für die Fraktion (skin1)*/ }


    Und so bei jedem SkinAuswahl teil...

  • Da ist noch so einiges mehr falsch ^^


    new SkinAuswahl[MAX_PLAYERS] = 1;


    So kannst du das nicht schreiben und wirst zu 100% auch einen Warning oder Error bekommen...


    So muss das aussehen:


    new SkinAuswahl[MAX_PLAYERS];
    //irgendwo, wo der Parameter playerid übergeben wird
    SkinAuswahl[playerid] = 1;


    //Edit: Die anderen Fehler:

    Zitat

    if(SkinAuswahl[playerid] >= 1)
    {
    new pID;


    pID bekommt keinen Wert Initialisiert, also ist der Wert 0.
    d.h. Die Kamera Pos wird immer vom Spieler 0 gesetzt, aber von keinem anderen !


    Zitat

    else if(SkinAuswahl[playerid] == 5)
    {
    SetPlayerSkin(playerid, 200);
    SkinAuswahl[playerid] = 1;
    }


    Wenn du das so machst, wird der Spieler nie zu == 6 kommen und somit wird das ganze System buggen !


    (noch ein Verbesserungsvorschlag:)
    anstatt:

    Zitat

    SkinAuswahl[playerid] += 1;


    schreibe es so:


    SkinAuswahl[playerid]++;


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S