Varriable Bugt

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
  • Hei, Ich kann meinen bug Nicht nachvolziehen bei Anderen dingen Klappt Es Also:


    ich habe oben Im Script
    SkinAuswahl[MAX_PLAYERS];
    gemacht doch wenn ich es nun bei einem Befehl Setze mit
    SkinAuswahl[playerid] = 1;


    Denselben bug habe ich auch In Meinem Fraktion-Auto haus in einem Enum
    Der Verstellt sich in einer Anderen Funktion auch gern...

  • Habe ich

    #include <a_samp>
    #include <dini>
    #include <ocmd>
    #include <streamer>
    #include <scmex>



    #define BLAU 0x0087FFFF
    #define ROT 0xE10000FF
    #define ORANGE 0xFF6E00FF
    #define GELB 0xFFE600FF
    #define HELLBLAU 0x00D7FFFF
    #define GRUEN 0x00FF00C7
    #define WEISS 0xFFFFFFFF


    #define TACHOTIMER 1000
    #define DIALOG_TUTORIAL 100
    #define DIALOG_REGISTER 102
    #define DIALOG_LOGIN 103
    #define DIALOG_FKASSE 104
    #define DIALOG_FKASSELEADER 105
    #define DIALOG_FKASSENSTAND 106
    #define DIALOG_FKASSEEINZAHLEN 107
    #define DIALOG_FKASSEAUSZAHLEN 108
    #define DIALOG_REPORTEINGABE 109
    #define MAX_HAUS 400
    #define MAX_BIZZ 75
    #define MAX_FRAKCARS 35
    #define MAX_FRAKS 24
    #define MAX_INTERRIORS 200
    #define SCM SendClientMessage



    new inBizz[MAX_PLAYERS] = -1;
    new inHaus[MAX_PLAYERS] = -1;


    forward PayDay(playerid);
    forward ServerNachricht();
    forward Tankupdate();
    forward Uhr();
    forward TachoTimer();


    new Freewayevent;


    new Mapteleport[MAX_PLAYERS];
    new superspeed[MAX_PLAYERS];
    new SkinAuswahl[MAX_PLAYERS];


    new PlayerText:Tacho0[MAX_PLAYERS];
    new PlayerText:Tacho1[MAX_PLAYERS];
    new PlayerText:Tacho2[MAX_PLAYERS];
    new PlayerText:Tacho3[MAX_PLAYERS];
    new PlayerText:Tacho4[MAX_PLAYERS];


    new FreewayEventCar[12];
    new FreewayEventObject[53];



    //Fraktion-Kassen


    new Fraktionkasse[MAX_FRAKS];
    new Fraktioncar[MAX_FRAKS];


    new engine,lights,alarm,doors,bonnet,boot,objective;
    new bool:Motor[MAX_VEHICLES]=false;
    new Tank[MAX_VEHICLES];
    new Float:X1[MAX_PLAYERS], Float:Y1[MAX_PLAYERS], Float:Z1[MAX_PLAYERS];
    new Float:X2[MAX_PLAYERS], Float:Y2[MAX_PLAYERS], Float:Z2[MAX_PLAYERS];



    Bei z.B Mapteleport klappt es

  • Danke habe es bisher bei allem ohne anfangs-Varriable doch jezt wird die nicht erhöht...

    if(newkeys == KEY_ACTION && SkinAuswahl[playerid] >= 1)
    {
    SetCameraBehindPlayer(playerid);
    }
    if(newkeys == KEY_RIGHT)
    {
    new FrakPfad[64];
    format(FrakPfad,64,"/Fraktionen/%d/Allgemein.ini",PlayerInfo[playerid][pMember]);
    {
    if(SkinAuswahl[playerid] == 1)
    {
    SkinAuswahl[playerid] = 2;
    }
    if(SkinAuswahl[playerid] == 2)
    {
    SendClientMessage(playerid,ROT,"Beenden sie Die Auswahl mit Enter/F");
    SetPlayerSkin(playerid, 200);
    SkinAuswahl[playerid] = 3;
    }
    else if(SkinAuswahl[playerid] == 1)
    {
    SetPlayerSkin(playerid, 0);
    SkinAuswahl[playerid] = 4;
    }
    else if(SkinAuswahl[playerid] == 3)
    {
    SetPlayerSkin(playerid, 1);
    SkinAuswahl[playerid] = 5;
    }
    else if(SkinAuswahl[playerid] == 4)
    {
    SetPlayerSkin(playerid, 1);
    SkinAuswahl[playerid] = 1;
    }
    else if(SkinAuswahl[playerid] == 5)
    {
    SetPlayerSkin(playerid, 5);
    SkinAuswahl[playerid] = 1;
    }
    }
    }


    Kommt jetzt bissle scheisse aber ich check net was falsch ist...

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Ne, irdgendwie nicht als ob es garnicht reagiert xD Es wird alles Geprintet ABER es printet die ID sei immer 1 aber die abfragen
    reagieren woll auch nicht... Habe Print funktion probiert keine Auswirkung ich sehe selber danach ;)

  • Ne, irdgendwie nicht als ob es garnicht reagiert xD Es wird alles Geprintet ABER es printet die ID sei immer 1 aber die abfragen
    reagieren woll auch nicht... Habe Print funktion probiert keine Auswirkung ich sehe selber danach ;)


    Du weisst aber wofür man sowas z.b. setzt?
    if(pInfo[player][SkinAuswahl] == 1)
    {
    //TU das und das
    } else
    {
    //Führe das und das aus
    }
    Nur mal nen kleines Beispiel^^


    Engelsflügel am Astonkühler, als Schutz vor dem Teufel!

  • Also der bug ist ziemlich komisch den du da hast.


    grundsetzlich gibst du der variabel den wert in dem diese gleichsetzt.


    Also du kennst das ja


    Beispiel:

    new test[MAX_PLAYERS];
    standartsweise ist der wert der variabel 0
    setzt man sie mit ihrgend einem Wert gleich
    so wird der wert an die variabel weiter gegeben und übernommen.


    test[playerid] = 1;


    nehmen wir dazu noch die id 5 des Spielers


    test[5] = 1;


    aber bei dem codeschnipsel


    bei deinem Codeschnipsel wird die nicht gesetzt
    jedoch ist dein aufbau etwas komisch also umständlich.
    //edit


    was ich empfehle ist die skins in ein array zu setzen


    new skin[6] = {1,200,1,1,1,5};


    dann natürlich eine wo wir die position des skin fest setzen welcher der Spielr auswählt

    new wahl[MAX_PLAYERS];




    if(newkeys == KEY_RIGHT){
    wahl[playerid]-=1;
    if(wahl[playerid] == -1){ wahl[playerid] = 5;}
    SetPlayerSkin(playerid,array[wahl[playerid]]);
    }


    dann kannst du das ganz einfach runter setzen und beim hoch gehen ist es halt das gegenteil
    der variabel wird ein wert addiert


    das ist jetzt grobflächig angespielt.

    Einmal editiert, zuletzt von IPrototypeI ()

  • Die Varriable Buggt Ja Nichtmehr Sondern der KEY Hier male Der Komplette Teil der nicht Reagiert: ( IPrototypeI: )

    if(newkeys == KEY_ACTION)
    {
    if(SkinAuswahl[playerid] >= 1)
    {
    SetCameraBehindPlayer(playerid);
    }
    }
    if(newkeys == 10)
    {
    new FrakPfad[64];
    format(FrakPfad,64,"/Fraktionen/%d/Allgemein.ini",PlayerInfo[playerid][pMember]);


    if(SkinAuswahl[playerid] == 1)
    {
    SetPlayerSkin(playerid, 201);
    SkinAuswahl[playerid] += 1;
    }
    if(SkinAuswahl[playerid] == 2)
    {
    SendClientMessage(playerid,ROT,"Beenden sie Die Auswahl mit Enter/F");
    SetPlayerSkin(playerid, 200);
    SkinAuswahl[playerid] += 1;
    }
    else if(SkinAuswahl[playerid] == 1)
    {
    SetPlayerSkin(playerid, 0);
    SkinAuswahl[playerid] += 1;
    }
    else if(SkinAuswahl[playerid] == 3)
    {
    SetPlayerSkin(playerid, 1);
    SkinAuswahl[playerid] += 1;
    }
    else if(SkinAuswahl[playerid] == 4)
    {
    SetPlayerSkin(playerid, 1);
    SkinAuswahl[playerid] = 1;
    }
    else if(SkinAuswahl[playerid] == 5)
    {
    SetPlayerSkin(playerid, 5);
    SkinAuswahl[playerid] -= 4;
    }
    }

    76ul4ppd4lmb.png

    2 Mal editiert, zuletzt von Mr.Soap ()

  • Das Problem ist das es die schusstaste ist , naja da failt samp ihrgend wie ganz da zum ersten das ganze nicht aufgerufen wird also
    die w , a , s ,d tasten und down, right, left und up.


    Du kannst es mit dem Numpad lösen das wäre auch ein möglichkeit oder du haust das ganze in onplayerupdate.
    Beispiel:
    welches du auch hier findest http://wiki.sa-mp.com/wiki/GetPlayerKeys
    public OnPlayerUpdate(playerid)
    {
    new Keys,ud,lr;
    GetPlayerKeys(playerid,Keys,ud,lr);

    if(ud > 0) SendClientMessage(playerid, 0xFFFFFFFF, "DOWN");
    else if(ud < 0) SendClientMessage(playerid, 0xFFFFFFFF, "UP");

    if(lr > 0) SendClientMessage(playerid, 0xFFFFFFFF, "RIGHT");
    else if(lr < 0) SendClientMessage(playerid, 0xFFFFFFFF, "LEFT");

    return 1;
    }