Beiträge von TheStorm941

    Hey Goldkiller :)


    Danke dass du dir das Ganze mal angeschaut hast!


    Mit dem "MyTextDraw4" hast recht, hab ich irgendwie die Funktion ein wenig verpeilt - Problem fällt ja mit deiner Countdown-Methode eh weg ;)


    Die Rechnung ist logisch, dachte ich machs mir mit zwei Countdowns leichter, da ich einfach mit dem Ablaufen des Sekunden-Countdowns eif immer die Minuten
    eins runter setzen wollte. War dann doch aufwendiger als gedacht :P Werde ich ändern!


    Zum Bitshiften - ist schon bewusst so, hab immer gedacht doppelt würde die Sache sicherer machen(hatte ich glaub irgendwo aus nem MrMonat TuT) - habs schon normal mit einem versucht ">" versucht, Folge: Fehlermeldung in Pawno, mit zwei war der Fehler weg?!


    Was ändert "SetTimerEx"? Funkt doch mit "SetTimer".


    Zu den Checkpoints, mit denen hab ich eigentlich keinerlei Probleme & FSCPa[i] wird auch nicht als 0 oder 1 erkannt, sondern tut schön was es soll & gibt den jeweiligen GameText aus & setzt FS1[playerid] auf den nächsten Wert. FS1 wird in "OnPlayerLeaveCheckpoint" sauber ausgelesen & der richtige CP wird gesetzt.
    Das ganze Fahrschulsystem hat - ohne den Countdown/Zeitlimit - optimal funktioniert, nur bekomm ich den verflixten Countdown nicht richtig eingebunden.


    Danke dir, der Countdown ist mit der Rechnung um einiges einfacher gestaltet!
    Nur das Problem, dass er schneller abläuft mit jedem CP den man durchfährt ist noch da. Meinst du deine Version CPs abzufahren ändert da was?



    public Pruefung(playerid)
    {
    new countdownFS = 180;


    new minuten = countdownFS / 60;
    new sekunden = countdownFS % 60;


    MyTextDraw4(playerid);
    new CountItDown;

    if(countdownFS > 0)
    {
    new pruefstring[128];
    format(pruefstring,sizeof(pruefstring),"Verbleibende~n~Zeit:~n~~r~%d:%02d",minuten,sekunden);
    TextDrawSetString(PRUEF,pruefstring);
    TextDrawShowForPlayer(playerid,PRUEF);
    CountItDown = SetTimerEx("Pruefung", 1000, false, "i", playerid);
    countdownFS --;
    }
    if(countdownFS < 1)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    TextDrawHideForPlayer(playerid,PRUEF);
    TextDrawDestroy(PRUEF);

    KillTimer(CountItDown);


    if(bool:dini_Bool(Spielerdatei,"FSauto")==true)
    {//... siehe oben, bleibt gleich


    Gruß & vielen Dank nochmal Goldkiller

    Hey Leute :D


    Also, heut hab ich ein doch ziemlich 'vielseitiges' Problem.
    Es betrifft die Fahrprüfung der Fahrschule auf meinem Server, an dem ich ab & zu ein wenig herumbastle ;)
    Folgendes:
    Ich habe für den Spieler einen Kurs erstellt, welcher ihn auf verschiedene Fahrfertigkeiten testet. Dieser besteht aus simplen aufeinander folgenden Checkpoints, welche der Player in einer Zeit von 3:00min abfahren muss. Dabei darf er am Auto so wenig wie möglich Schaden verursachen.
    Problem:
    Das System funktioniert einwandfrei, außer dem Countdown, der läuft wenn man ihn zum Test auserhalb einer Fahrprüfung startet ganz normal & alles
    passt, nur nicht wenn ich ihn dann in die Fahrprüfung einbindet. Mit jedem Checkpoint den ich mit dem Fahrzeug durchfahre wird er schneller - mit dem ersten CP doppelt so schnell, dann dreimal so schnell, usw.
    Wechselwirkt der vllt irgendwie mit meinen GameTextForPlayer-Befehlen? Die haben ja auch eine Zeitangabe...
    Zweites, eher nebensächlicheres Problem:
    Der vorherigen Zahlen des Countdowns bleiben alle im Textdraw stehen, er legt also nur die neuen Zahlen drüber? Kann ich da irgendwas dagegen tun?


    Da ich in meinem Script Wert darauf lege meine Funktionen selbst zu programmieren bin ich nicht der Typ, der einfach Scripte kopiert, heißt, was ich hier programmiert habe könnte für den einen oder anderen evtl. etwas primitiv wirken ;)


    Zum Script:


    1. Der Countdown



    new countdown1 = 60;//Sekunden-Anzeige
    new countdown2 = 2;//Minuten-Anzeige


    forward Pruefung(playerid);


    public Pruefung(playerid)
    {
    if(countdown1 > 0)//Starten des Countdowns
    {
    new pruefstring[128];
    format(pruefstring,sizeof(pruefstring),"Verbleibende~n~Zeit:~n~~b~%d:d",countdown2,countdown1);
    TextDrawSetString(PRUEF,pruefstring);//Textdraw Code findet ihr unten
    MyTextDraw4(playerid);
    TextDrawShowForPlayer(playerid,PRUEF);
    SetTimerEx("Pruefung", 1000, false, "i", playerid);
    countdown1 --;
    }
    else if(countdown1 == 0 && countdown2 == 2)//wenn die erste Minute um ist, muss manuell der Wert 2:00min
    //angezeigt werden, da eine Variable in samp nicht den Wert
    //null annehmen kann
    {
    countdown2 --;//Minuten eins zurückstellen
    countdown1 = 60;//Sekunden wieder hoch auf 60
    new pruefstring[128];
    format(pruefstring,sizeof(pruefstring),"Verbleibende~n~Zeit:~n~~b~2:00");//Kurze manuelle Ausgabe
    TextDrawSetString(PRUEF,pruefstring);
    MyTextDraw4(playerid);
    TextDrawShowForPlayer(playerid,PRUEF);
    SetTimerEx("Pruefung", 1000, false, "i", playerid);
    countdown1 --;

    }
    else if(countdown1 == 59 && countdown2 == 1)//Selbe Funktion wie am Anfang nur jetzt eben für die 2. Minute
    {
    new pruefstring[128];
    format(pruefstring,sizeof(pruefstring),"Verbleibende~n~Zeit:~n~~y~%d:d",countdown2,countdown1);
    TextDrawSetString(PRUEF,pruefstring);
    MyTextDraw4(playerid);
    TextDrawShowForPlayer(playerid,PRUEF);
    SetTimerEx("Pruefung", 1000, false, "i", playerid);
    countdown1 --;
    }
    else if(countdown1 == 0 && countdown2 == 1)//wieder manuelle Ausgabe des Wertes 1:00
    {
    countdown2 --;
    countdown1 = 60;
    new pruefstring[128];
    format(pruefstring,sizeof(pruefstring),"Verbleibende~n~Zeit:~n~~y~1:00");
    TextDrawSetString(PRUEF,pruefstring);
    MyTextDraw4(playerid);
    TextDrawShowForPlayer(playerid,PRUEF);
    SetTimerEx("Pruefung", 1000, false, "i", playerid);
    countdown1 --;


    }
    else if(countdown1 == 0 && countdown2 == 1)
    {
    countdown2 --;
    countdown1 = 59;
    new pruefstring[128];
    format(pruefstring,sizeof(pruefstring),"Verbleibende~n~Zeit:~n~~r~%d:d",countdown2,countdown1);
    TextDrawSetString(PRUEF,pruefstring);
    MyTextDraw4(playerid);
    TextDrawShowForPlayer(playerid,PRUEF);
    SetTimerEx("Pruefung", 1000, false, "i", playerid);
    countdown1 --;
    }
    else if(countdown1 >> 1 && countdown2 >> 1)//sollte der Countdown durch sein bevor entsprechende Variable
    //true ist(also die Fahrprüfung noch nicht beendet wurde)
    //werden die Bedingungen für eine nicht bestandene Fahrprüfung ausgeführt
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);


    if(Auto[playerid] == 1)// wenn der Spieler sich in der Fahrprüfung für den Auto-Führerschein befindet(habe
    //auch noch das selbe für Motorrad & LKW)
    {
    new Float:vHealth;
    new Float:vSchaden;
    new string[126];
    GetVehicleHealth(GetPlayerVehicleID(playerid),vHealth);
    vSchaden = 1000 - vHealth;
    GameTextForPlayer(playerid,"~r~Durchgefallen~n~~y~Zeitlimit ueberschritten...",5000,3);
    SendClientMessage(playerid,GELB,"*'___})Fahrschule({___'*");
    SendClientMessage(playerid,ROT,"TUT UNS LEID");
    SendClientMessage(playerid,ROT,"Du hast die Fahrprüfung leider nicht bestanden!");
    //Fahrzeug Schaden
    format(string,sizeof(string),"Fahrzeugschaden: %.1f/1000.0",vSchaden);
    SendClientMessage(playerid,GRAU,string);
    SendClientMessage(playerid,ROT2,"Geh zurück in die Fahrschule & melde dich für die nächste Prüfung an...");
    dini_BoolSet(Spielerdatei,"Bfailed",true);
    FS1[playerid] = 0;//Checkpoint werden 'resettet'
    Auto[playerid] = 0;//Fahrprüfungsvariable = 0(nicht in der Prüfung)


    DisablePlayerCheckpoint(playerid);
    SetTimer("Fahrschule",15,false);//Fahrzeug respawnen
    new vehicle;
    vehicle = GetPlayerVehicleID(playerid);
    SetVehicleToRespawn(vehicle);


    TextDrawHideForPlayer(playerid,PRUEF);
    }
    if(LKW[playerid] == 1)
    {
    new Float:vHealth;
    new Float:vSchaden;
    new string[126];
    GetVehicleHealth(GetPlayerVehicleID(playerid),vHealth);
    vSchaden = 1000 - vHealth;
    GameTextForPlayer(playerid,"~r~Durchgefallen~n~~y~Zeitlimit ueberschritten...",5000,3);
    SendClientMessage(playerid,GELB,"*'___})Fahrschule({___'*");
    SendClientMessage(playerid,ROT,"TUT UNS LEID");
    SendClientMessage(playerid,ROT,"Du hast die Fahrprüfung leider nicht bestanden!");
    //Fahrzeug Schaden
    format(string,sizeof(string),"Fahrzeugschaden: %.1f/1000.0",vSchaden);
    SendClientMessage(playerid,GRAU,string);
    SendClientMessage(playerid,ROT2,"Geh zurück in die Fahrschule & melde dich für die nächste Prüfung an...");
    dini_BoolSet(Spielerdatei,"CDfailed",true);
    FS2[playerid] = 0;
    LKW[playerid] = 0;


    DisablePlayerCheckpoint(playerid);
    SetTimer("Fahrschule",15,false);
    //Fahrzeug respawnen
    new vehicle;
    vehicle = GetPlayerVehicleID(playerid);
    SetVehicleToRespawn(vehicle);

    TextDrawHideForPlayer(playerid,PRUEF);
    }
    if(Motorrad[playerid] == 1)
    {
    new Float:vHealth;
    new Float:vSchaden;
    new string[126];
    GetVehicleHealth(GetPlayerVehicleID(playerid),vHealth);
    vSchaden = 1000 - vHealth;
    GameTextForPlayer(playerid,"~r~Durchgefallen~n~~y~Zeitlimit ueberschritten...",5000,3);
    SendClientMessage(playerid,GELB,"*'___})Fahrschule({___'*");
    SendClientMessage(playerid,ROT,"TUT UNS LEID");
    SendClientMessage(playerid,ROT,"Du hast die Fahrprüfung leider nicht bestanden!");
    //Fahrzeug Schaden
    format(string,sizeof(string),"Fahrzeugschaden: %.1f/1000.0",vSchaden);
    SendClientMessage(playerid,GRAU,string);
    SendClientMessage(playerid,ROT2,"Geh zurück in die Fahrschule & melde dich für die nächste Prüfung an...");
    dini_BoolSet(Spielerdatei,"Afailed",true);
    FS3[playerid] = 0;
    Motorrad[playerid] = 0;


    DisablePlayerCheckpoint(playerid);
    SetTimer("Fahrschule",15,false);
    //Fahrzeug respawnen
    new vehicle;
    vehicle = GetPlayerVehicleID(playerid);
    SetVehicleToRespawn(vehicle);

    TextDrawHideForPlayer(playerid,PRUEF);
    }
    }
    return 1;
    }


    So viel zum Countdown...


    2. Der TextDraw



    MyTextDraw4(playerid)
    {
    new pruefstring[128];
    PRUEF = TextDrawCreate(10.0,275.0,pruefstring);
    TextDrawColor(PRUEF,GRÜN);
    TextDrawSetOutline(PRUEF,1);
    TextDrawSetShadow(PRUEF,0);
    TextDrawFont(PRUEF,1);
    TextDrawLetterSize(PRUEF,0.6,1.2);
    TextDrawShowForPlayer(playerid,PRUEF);
    }


    3. Die Checkpoints & Bedingungen für den Erhalt des Führerscheins



    new FS1[MAX_PLAYERS];//Auto
    new Auto[MAX_PLAYERS];
    new FSauto[8];//verfügbare Fahrschulautos
    new FSCPa[19];//Checkpoints

    Nach Auswahl der Prüfung für den Auto-Führerschein durch einen DIALOG werden folgende Variablen gesetzt:
    (Zeig euch jetz nicht den ganzen Code, zu verwirrend & tut auch nix zur sache ;)

    FSCPa[0] = SetPlayerCheckpoint(playerid,-2055.2590,-126.5977,35.3067,3.0);
    FS1[playerid] = 1;
    Auto[playerid] = 1;


    public OnPlayerEnterCheckpoint(playerid)
    {
    //////SPIELERDATEI
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    //-> Fahrschule
    //AUTO
    new vehicleid;
    vehicleid = GetPlayerVehicleID(playerid);
    if(Auto[playerid]==1)//wenn der Spieler sich in der Prüfung befindet
    {
    if(IsPlayerInVehicle(playerid, vehicleid))//ist er in einem Fahrzeug(Wenn nicht wird die unten angegeben
    // Nachricht ausgegeben)
    {
    if(vehicleid >= FSauto[0] && vehicleid <= FSauto[7])//ist er in einem Fahrschulauto
    {
    if(IsPlayerInCheckpoint(playerid)==FSCPa[0])//ist er im ersten Checkpoint
    {
    GameTextForPlayer(playerid,"~g~START~n~~r~Schaden am Wagen gibt Abzug~n~~y~3 Minuten Zeit",3000,3);
    FS1[playerid] = 2;//Checkpointvariable eins hoch
    Pruefung(playerid);//Countdown starten
    //In "OnPlayerLeaveCheckpoint(playerid)" wird der nächste CP erstellt
    }
    if(IsPlayerInCheckpoint(playerid)==FSCPa[1])
    {
    GameTextForPlayer(playerid,"~r~Checkpoint (1/18)",1000,3);
    FS1[playerid] = 3;
    }
    if(IsPlayerInCheckpoint(playerid)==FSCPa[2])
    {
    GameTextForPlayer(playerid,"~g~Slalom (2/18)",2000,3);
    FS1[playerid] = 4;
    }
    if(IsPlayerInCheckpoint(playerid)==FSCPa[3])
    {
    GameTextForPlayer(playerid,"~g~Rueckwaerts Einparken (3/18)",2000,3);
    FS1[playerid] = 5;
    }
    if(IsPlayerInCheckpoint(playerid)==FSCPa[4])
    {
    GameTextForPlayer(playerid,"~g~Vorwaerts Einparken (4/18)",2000,3);
    FS1[playerid] = 6;
    }
    if(IsPlayerInCheckpoint(playerid)==FSCPa[5])
    {
    GameTextForPlayer(playerid,"~r~Checkpoint (5/18)",1000,3);
    FS1[playerid] = 7;
    }
    if(IsPlayerInCheckpoint(playerid)==FSCPa[6])
    {
    GameTextForPlayer(playerid,"~g~Seitlich Einparken (6/18)",2000,3);
    FS1[playerid] = 8;
    }
    if(IsPlayerInCheckpoint(playerid)==FSCPa[7])
    {
    GameTextForPlayer(playerid,"~r~Checkpoint (7/18)",1000,3);
    FS1[playerid] = 9;
    }
    if(IsPlayerInCheckpoint(playerid)==FSCPa[8])
    {
    GameTextForPlayer(playerid,"~r~Checkpoint (8/18)",1000,3);
    FS1[playerid] = 10;
    }
    if(IsPlayerInCheckpoint(playerid)==FSCPa[9])
    {
    GameTextForPlayer(playerid,"~g~Vollbremsung im naechsten Checkpoint (9/18)",3000,3);
    FS1[playerid] = 11;
    }
    if(IsPlayerInCheckpoint(playerid)==FSCPa[10])
    {
    GameTextForPlayer(playerid,"~y~BREMSEN (10/18)",1000,3);
    FS1[playerid] = 12;
    }
    if(IsPlayerInCheckpoint(playerid)==FSCPa[11])
    {
    GameTextForPlayer(playerid,"~r~Checkpoint (11/18)",1000,3);
    FS1[playerid] = 13;
    }
    if(IsPlayerInCheckpoint(playerid)==FSCPa[12])
    {
    GameTextForPlayer(playerid,"~r~Wenden in einem Zug (12/18)",2000,3);
    FS1[playerid] = 14;
    }
    if(IsPlayerInCheckpoint(playerid)==FSCPa[13])
    {
    GameTextForPlayer(playerid,"~g~Runkurs (13/18)~n~~r~Vorne LINKS",3000,3);
    FS1[playerid] = 15;
    }
    if(IsPlayerInCheckpoint(playerid)==FSCPa[14])
    {
    GameTextForPlayer(playerid,"~r~<--~n~Checkpoint (14/18)",1000,3);
    FS1[playerid] = 16;
    }
    if(IsPlayerInCheckpoint(playerid)==FSCPa[15])
    {
    GameTextForPlayer(playerid,"~r~<--~n~Checkpoint (15/18)",1000,3);
    FS1[playerid] = 17;
    }
    if(IsPlayerInCheckpoint(playerid)==FSCPa[16])
    {
    GameTextForPlayer(playerid,"~r~<--~n~Checkpoint (16/18)",1000,3);
    FS1[playerid] = 18;
    }
    if(IsPlayerInCheckpoint(playerid)==FSCPa[17])
    {
    GameTextForPlayer(playerid,"~r~<--~n~Checkpoint (17/18)",1000,3);
    FS1[playerid] = 19;
    }
    if(IsPlayerInCheckpoint(playerid)==FSCPa[18])//Ist der Spieler im Ziel(natürlich nur wenn der
    // Countdown vorher nicht abläuft)
    {
    FS1[playerid] = 20;


    new Float:vHealth;
    new Float:vSchaden;
    new string[126];
    GetVehicleHealth(GetPlayerVehicleID(playerid),vHealth);
    vSchaden = 1000 - vHealth;
    if(vHealth >= 900)//Fahrzeug-Schaden im Rahmen?
    {
    GameTextForPlayer(playerid,"~g~Bestanden",5000,3);
    SendClientMessage(playerid,GELB,"*'___})Fahrschule({___'*");
    SendClientMessage(playerid,GRÜN,"*** GLÜCKWUNSCH ****");
    SendClientMessage(playerid,GRÜN,"Du hast die Fahrprüfung erfolgreich bestanden!");
    //Fahrzeug Schaden
    format(string,sizeof(string),"Fahrzeugschaden: %.1f/1000.0",vSchaden);
    SendClientMessage(playerid,GRAU,string);
    dini_BoolSet(Spielerdatei,"FüB",true);//bekommt den Fürherschein
    dini_BoolSet(Spielerdatei,"FSauto",false);
    FS1[playerid] = 0;//Variablen wieder auf 0
    Auto[playerid] = 0;


    DisablePlayerCheckpoint(playerid);
    SetTimer("Fahrschule",15,false);
    countdown = 0;
    //Fahrzeug respawnen
    new vehicle;
    vehicle = GetPlayerVehicleID(playerid);
    SetVehicleToRespawn(vehicle);
    TextDrawHideForPlayer(playerid,PRUEF);
    return 1;
    }
    if(vHealth <= 899)//Fahrzeug-Schaden nicht im Rahmen
    {
    GameTextForPlayer(playerid,"~r~Durchgefallen",5000,3);
    SendClientMessage(playerid,GELB,"*'___})Fahrschule({___'*");
    SendClientMessage(playerid,ROT,"TUT UNS LEID");
    SendClientMessage(playerid,ROT,"Du hast die Fahrprüfung leider nicht bestanden!");
    //Fahrzeug Schaden
    format(string,sizeof(string),"Fahrzeugschaden: %.1f/1000.0",vSchaden);
    SendClientMessage(playerid,GRAU,string);
    SendClientMessage(playerid,ROT2,"Geh zurück in die Fahrschule & melde dich für die nächste Prüfung an...");
    dini_BoolSet(Spielerdatei,"Bfailed",true);//Einmal durchgefallen wird vermerkt
    //(da nun niedrigere Gebühren beim nächsten Versuch)
    dini_BoolSet(Spielerdatei,"FSauto",false);
    FS1[playerid] = 0;
    Auto[playerid] = 0;


    DisablePlayerCheckpoint(playerid);
    SetTimer("Fahrschule",15,false);
    countdown = 0;
    //Fahrzeug respawnen
    new vehicle;
    vehicle = GetPlayerVehicleID(playerid);
    SetVehicleToRespawn(vehicle);
    TextDrawHideForPlayer(playerid,PRUEF);
    return 1;
    }
    }
    }
    }
    else
    {
    SendClientMessage(playerid,GELB,"*'___})Fahrschule({___'*");
    SendClientMessage(playerid,ROT2,"Steig in ein Fahrschul-AUTO um die Prüfung zu machen...");
    //Besagte Nachricht wenn der Spieler ohne Fahrzeug in den CP geht
    }
    }




    public OnPlayerLeaveCheckpoint(playerid)
    {
    //AUTO
    new vehicleid;
    vehicleid = GetPlayerVehicleID(playerid);
    if(Auto[playerid]==1)
    {
    if(IsPlayerInVehicle(playerid, vehicleid))
    {
    if(vehicleid >= FSauto[0] && vehicleid <= FSauto[7])
    {
    if(FS1[playerid]==2)//Ist Spieler im ersten Checkpoint & verlässt ihn
    {
    FSCPa[1] = SetPlayerCheckpoint(playerid,-2090.0313,-142.8927,35.3203,3.0);//p1
    }
    if(FS1[playerid]==3)
    {
    FSCPa[2] = SetPlayerCheckpoint(playerid,-2085.2576,-164.2339,35.3203,3.0);//p2(slalom)
    }
    if(FS1[playerid]==4)
    {
    FSCPa[3] = SetPlayerCheckpoint(playerid,-2084.8738,-259.3287,35.3203,3.0);//p3(parken)
    }
    if(FS1[playerid]==5)
    {
    FSCPa[4] = SetPlayerCheckpoint(playerid,-2088.5686,-278.3327,35.3203,3.0);//p4
    }
    if(FS1[playerid]==6)
    {
    FSCPa[5] = SetPlayerCheckpoint(playerid,-2079.7358,-278.3954,35.3203,3.0);//p5
    }
    if(FS1[playerid]==7)
    {
    FSCPa[6] = SetPlayerCheckpoint(playerid,-2066.9626,-262.5959,35.3274,3.0);//p6
    }
    if(FS1[playerid]==8)
    {
    FSCPa[7] = SetPlayerCheckpoint(playerid,-2052.7097,-278.0153,35.3274,2.0);//p7
    }
    if(FS1[playerid]==9)
    {
    FSCPa[8] = SetPlayerCheckpoint(playerid,-2025.1770,-270.6463,35.327,3.0);//p8
    }
    if(FS1[playerid]==10)
    {
    FSCPa[9] = SetPlayerCheckpoint(playerid,-2057.9827,-245.1774,35.3203,3.0);//p9
    }
    if(FS1[playerid]==11)
    {
    FSCPa[10] = SetPlayerCheckpoint(playerid,-2057.7407,-165.9292,35.3203,3.0);//p10
    }
    if(FS1[playerid]==12)
    {
    FSCPa[11] = SetPlayerCheckpoint(playerid,-2044.2831,-172.5241,35.3274,3.0);//p11
    }
    if(FS1[playerid]==13)
    {
    FSCPa[12] = SetPlayerCheckpoint(playerid,-2045.1210,-221.3237,35.3274,3.0);//p12
    }
    if(FS1[playerid]==14)
    {
    FSCPa[13] = SetPlayerCheckpoint(playerid,-2034.0541,-209.9391,35.3203,3.0);//p13
    }
    if(FS1[playerid]==15)
    {
    FSCPa[14] = SetPlayerCheckpoint(playerid,-2038.9460,-153.4344,35.3203,3.0);//p15
    }
    if(FS1[playerid]==16)
    {
    FSCPa[15] = SetPlayerCheckpoint(playerid,-2038.9485,-215.7825,35.3203,3.0);//p14
    }
    if(FS1[playerid]==17)
    {
    FSCPa[16] = SetPlayerCheckpoint(playerid,-2038.9460,-153.4344,35.3203,3.0);//p15(wiederholen)
    }
    if(FS1[playerid]==18)
    {
    FSCPa[17] = SetPlayerCheckpoint(playerid,-2038.9485,-215.7825,35.3203,3.0);//p14(wiederholen)
    }
    if(FS1[playerid]==19)
    {
    FSCPa[18] = SetPlayerCheckpoint(playerid,-2044.5792,-126.9101,35.2586,3.0);//p16
    }
    }
    }
    }



    /edit


    Hab herausgefunden, dass der Countdown nicht mit den GameText-Anweisungen zusammen hängt.
    Hab die GameTexte mal als TextDraws erstellt ohne bestimmte Anzeigedauer & es gab immer noch das selbe Problem,
    der Countdown wird immer schneller mit jedem Checkpoint den ich durchfahre!
    Daraus schließe ich, dass es mit den Checkpoints zusammenhängen muss.


    Was könnte der Fehler sein?


    Gruß

    Leute Danke an alle die mir helfen wollten!!


    Hab den fehler glaube ich gefunden :DD - kennt ihr dass wenn er immer dieses "ÿ" einfach in die Spielerdatei vor die erste Variable/Integer/String einfügt??
    Ich glaube das war tatsächlich der Fehler, hab mal gelesen dass es daran liegen könnte aber ich wusste nicht wie ich es abstellen sollte -
    Lösung:
    In den "Register-Stock" als ersten String nicht das Passwort setzen lassen sondern irgendeinen unnötigen String einfügen der keinen interessiert:


    z.B.:

    dini_Set(Spielerdatei,"LogIn","möglich");

    Das ist aus dem Tutorial ;) also nix copyright - wenn ers als Youtube-Video zur Verfügung stellt & sogar auf seiner Homepage zum Download freigibt ist da nix mit Copyright ...
    Außerdem hab ich nie geläugnet dass es von ihm ist^^
    Egal - ich kuck mir die neuen videos mal an
    Aber warum funktioniert dini_Get da nicht??

    Hey Leute


    Ihr kennt sicher das LogIn-System, welches auch MRMonat publiziert hat(weis nicht ob es auf seinem Mist gewachsen ist :P), das mit Hilfe von dini unter "scriptfiles" in einem Ordner("Accounts") Spielerdateien mit Daten wie Passwort, Fraktion, Spielerlevel,... füllt & ausliest.
    Das ganze sieht als "LogIn - Stock" so aus:



    stock Login(playerid,key[])
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);

    if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
    {
    LoadAccount(playerid);
    SendClientMessage(playerid,DUNKELGRÜN,"Erfolgreich eingeloggt!");
    SetCameraBehindPlayer(playerid);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,ROT3,"Das Passwort ist falsch...");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"{FF0000}Login","{AAAAAA}Dein Account wurde gefunden.\n\
    Bitte {00CDFF}Passwort {AAAAAA}eingeben:","Login","Abbrechen");
    return 1;
    }
    }


    stock LoadAccount(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Spielerlevel"));
    GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
    SetPlayerSkin(playerid,dini_Int(Spielerdatei,"Skin"));
    SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
    SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
    SetPVarInt(playerid,"Arbeitsplatz",dini_Int(Spielerdatei,"Arbeitsplatz"));
    SetPVarInt(playerid,"online",1);
    return 1;
    }


    Hab mir im Forum mehrere Beiträge dazu durchgelesen, in welchen mein Problem auch teilweise kurz angesprochen aber nie beantwortet wird.
    Wenn man den LogIn so aufzieht, kann man als Passwort eingeben was man will, man kommt mit jedem Passwort in jeden Account.
    Ich vermute es liegt daran, dass dini den String "Passwort" in der Spielerdatei nicht auslesen kann.
    Meine Vermutung begründet sich darauf, dass ich folgendes im "LogIn-Stock" eingefügt habe:



    new string4[128];
    format(string4,sizeof(string4),"Passwort:%s Eingabe:%s",dini_Get(Spielerdatei,"Passwort"),key);
    SendClientMessage(playerid,ROT,string4);


    Resultat: "Passwort: Eingabe:"eingegebenes Passwort"


    Manche von euch müssten das Problem doch auch haben?
    Ich kann alles auslesen außer Strings?!
    Könnt ihr mir helfen oder eventuell ein anderes LogIn-System empfehlen, dass auch funktioniert?


    Gruß Storm

    Danke für die Antwort IPrototypeI !!


    Bin mit den Grundlagen der Programmier-Sprachen(logische Operatoren, Variablen & son zeug) recht gut vertraut als TG schüler mit Profilfach Informationstechnik, aber manche Programmier-Sprachen haben so Ihre Eigenarten die manchmal etwas gewöhnungsbedürftig sind :DD


    Da ich mit dini & nicht mit "enum" arbeite werde ich wohl noch etwas tüfteln müssen, aber ich denk, dass ich das auch irgendwie hinbekomme ;)


    Also Danke nochmal


    Mfg


    //EDIT


    sobald ich einfüge:
    #define MAX_DSPOINTS 10
    stürzt Pawno ab ...

    Hey Leute :D


    Hab wieder ein Problemchen :) Folgendes: Ich versuche einen Kurs für eine Fahrprüfung auf nem ReallifeServer zu erstellen.
    Hab alle Checkpoint Coords & kenn auch die drei Befehle, die man verwendet wenn man nicht mit einem Streamer(Wie dann zB SetPlayerDynamicCP)
    arbeitet:



    SetPlayerCheckpoint(playerid,-2044.5792,-126.9101,35.2586,3.0);
    IsPlayerInCheckpoint(playerid)
    DisablePlayerCheckpoint(playerid)

    (RaceCPs ausgeschlossen)


    Hab schon relativ erfolglos versucht diese Befehle richtig in Szene zu setzen & auch tutorials angeschaut in denen die Verwendung dieser Befehle erklärt wird -> Folge, es funktioniert trotzdem nicht so wie ich das will


    Hab mal angefangen und eine Variable gemacht, die mit jedem CP erhöht wird:

    new FS1[MAX_PLAYERS];


    Dann hab ich in dem Befehl den man für den start der Fahrprüfung verwendet diese Variable auf "1" gesetzt & einen CP erstellt:

    SetPlayerCheckpoint(playerid,-2055.2590,-126.5977,35.3067,3.0);
    FS1[playerid] = 1;


    So weit so gut, nun hab ich eif bei
    public OnPlayerEnterCheckpoint(playerid)
    folgendes gemacht(hab ich aus diversen Tutorials):

    //->Fahrschule
    if(FS1[playerid] == 1)
    {
    SetPlayerCheckpoint(playerid,-2090.0313,-142.8927,35.3203,3.0);//p1
    FS1[playerid] = 2;
    }
    if(FS1[playerid] == 2)
    {
    SetPlayerCheckpoint(playerid,-2085.2576,-164.2339,35.3203,3.0);//p2
    FS1[playerid] = 3;
    }
    if(FS1[playerid] == 3)
    {
    SetPlayerCheckpoint(playerid,-2084.8738,-259.3287,35.3203,3.0);//p3
    FS1[playerid] = 4;
    }
    if(FS1[playerid] == 4)
    {
    SetPlayerCheckpoint(playerid,-2088.5686,-278.3327,35.3203,3.0);//p4
    FS1[playerid] = 5;
    }
    if(FS1[playerid] == 5)
    {
    SetPlayerCheckpoint(playerid,-2079.7358,-278.3954,35.3203,3.0);//p5
    FS1[playerid] = 6;
    }
    if(FS1[playerid] == 6)
    {
    SetPlayerCheckpoint(playerid,-2066.9626,-262.5959,35.3274,3.0);//p6
    FS1[playerid] = 7;
    }
    if(FS1[playerid] == 7)
    {
    SetPlayerCheckpoint(playerid,-2054.5481,-278.3344,35.3274,3.0);//p7.1
    SetPlayerCheckpoint(playerid,-2050.3645,-278.4077,35.3274,3.0);//p7.2
    FS1[playerid] = 8;
    }
    if(FS1[playerid] == 8)
    {
    SetPlayerCheckpoint(playerid,-2025.1770,-270.6463,35.3274,3.0);//p8
    FS1[playerid] = 9;
    }
    if(FS1[playerid] == 9)
    {
    SetPlayerCheckpoint(playerid,-2057.9827,-245.1774,35.3203,3.0);//p9
    FS1[playerid] = 10;
    }
    if(FS1[playerid] == 10)
    {
    SetPlayerCheckpoint(playerid,-2057.7407,-165.9292,35.3203,3.0);//p10
    FS1[playerid] = 11;
    }
    if(FS1[playerid] == 11)
    {
    SetPlayerCheckpoint(playerid,-2044.2831,-172.5241,35.3274,3.0);//p11
    FS1[playerid] = 12;
    }
    if(FS1[playerid] == 12)
    {
    SetPlayerCheckpoint(playerid,-2045.1210,-221.3237,35.3274,3.0);//p12
    FS1[playerid] = 13;
    }
    if(FS1[playerid] == 13)
    {
    SetPlayerCheckpoint(playerid,-2034.0541,-209.9391,35.3203,3.0);//p13
    FS1[playerid] = 14;
    }
    if(FS1[playerid] == 14)
    {
    SetPlayerCheckpoint(playerid,-2038.9460,-153.4344,35.3203,3.0);//p14
    FS1[playerid] = 15;
    }
    if(FS1[playerid] == 15)
    {
    SetPlayerCheckpoint(playerid,-2038.9485,-215.7825,35.3203,3.0);//p15
    FS1[playerid] = 16;
    }
    if(FS1[playerid] == 16)
    {
    SetPlayerCheckpoint(playerid,-2044.5792,-126.9101,35.2586,3.0);//p16
    FS1[playerid] = 17;
    }
    if(FS1[playerid] == 17)
    {
    //if Führerschein bestanden
    }
    return 1;


    Problem: Er springt eif durch bis zu letzten CP - hab auch schon einige andere Wege erfolglos getestet, aber da diesen hier wohl die meisten kennen hab ich den für mein Problem genommen.


    Was muss ich anders machen bzw. verbessern?
    Danke für eure Hilfe & fürs Lesen :DD


    Mfg

    Danke euch beiden DraloX & 123marvin123 !!
    Und auch danke an Trailerpark für die Mithilfe


    Marvons Methode ist einfacher und schneller zu realisieren, aber auch Dralos Methode hat etwas für sich vor allem weil man eben im kompletten Interior den Befehl nutzen kann - sonst kommt die Nachricht so blöd "Du bist nicht im Rathaus..." obwohl eig nur der Radius des Ausgangspunktes zu klein ist ;D & man vllt noch im Rathaus ist


    Danke


    Mfg

    Hey Leute ! :D


    Hätte da ein paar Schwierigkeiten mit dem im Thema genannten Problem - hab schon im Forum gekuckt aber nix gefunden dass so richtig gepasst hat
    (vllt hab ich au was überlesen).
    Mein Problem besteht darin, dass ich auf meinem Server Befehle wie "/fuehrerschein" oder "/rathaus" habe & die Dialoge dazu nur angezeigt werden sollen wenn der Spieler in der Fahrschule oder im Rathaus ist ... wenn er dort nicht ist soll einfach kommen:


    SendClientMessage(playerid,ROT2,"Du befindest dich nicht in der Fahrschule...");


    Hab das schon so weit hinbekommen, dass die Befehle nur in einem Interior funktionieren:



    if (strcmp(cmdtext,"/fuehrerschein",true)==0)
    {
    if(GetPlayerInterior(playerid)==3)
    {
    ShowPlayerDialog(playerid,DIALOG_FS,DIALOG_STYLE_LIST,"{FF8C00}Fahrschule", "Auto - Führerschein\nLKW - Führerschein\nMotorrad - Führerschein","Auswählen","Abbrechen");
    }
    else
    {
    SendClientMessage(playerid,ROT2,"Du befindest dich nicht in der Fahrschule...");
    }
    return 1;
    }


    Ich will das ganze aber noch genauer hinbekommen, denn mein Rathaus-Interior & der Fahrschul-Interior haben die selbe Interior-ID (3)
    Hat einer ne Idee wie ich das hinbekomme?
    Kann man vllt einen Bereich auf der Map definieren in dem der Befehl funktioniert & wenn man nicht dort ist die obige Nachricht kommt?


    Danke schon mal fürs Lesen ;D


    Mfg

    Hei Leute :D


    Hab ein Problem mit meinen Text-Draws.
    Ich hab eine SKIN-Beschreibung für jeden verfügbaren SKIN im "OnPlayerRequestClass" -Menü gemacht, als Text-Draw.


    Mein Problem:


    Wenn ich auf den Server connecte und im Menü bin wird mir die Beschreibung des ersten SKINS einmal angezeigt & sobald ich auf den nächsten SKIN
    wechsle kommt kein einziger Text-Draw mehr, auch nicht der des ersten SKINS.


    Hier das Script:
    (natürlich habe ich die Abkürzungen für die Text-Draws am Anfang meines Scripts deviniert)



    public OnPlayerRequestClass(playerid, classid)
    {
    SetPlayerPos(playerid,-2681.4756,1594.1466,181.5822);
    SetPlayerFacingAngle(playerid,182.8592);
    SetPlayerCameraPos(playerid,-2680.6953,1578.0773,189.0479);
    SetPlayerCameraLookAt(playerid,-2681.4756,1594.1466,181.5822);


    if(classid == 0)
    {
    CarlJohnson(playerid);
    TextDrawShowForPlayer(playerid,CJ);
    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DRINK_BEER);
    TextDrawHideForPlayer(playerid,CV);
    TextDrawDestroy(CV);
    TextDrawHideForPlayer(playerid,DD);
    TextDrawDestroy(DD);
    }
    if(classid == 1)
    {
    CesarVialpando(playerid);
    TextDrawShowForPlayer(playerid,CV);
    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DRINK_BEER);
    TextDrawHideForPlayer(playerid,CJ);
    TextDrawDestroy(CJ);
    TextDrawHideForPlayer(playerid,Cl);
    TextDrawDestroy(Cl);
    }
    if(classid == 2)
    {
    Claude(playerid);
    TextDrawShowForPlayer(playerid,Cl);
    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_SMOKE_CIGGY);
    TextDrawHideForPlayer(playerid,CV);
    TextDrawDestroy(CV);
    TextDrawHideForPlayer(playerid,MB);
    TextDrawDestroy(MB);
    }
    if(classid == 3)
    {
    MafiaBoss(playerid);
    TextDrawShowForPlayer(playerid,MB);
    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_SMOKE_CIGGY);
    TextDrawHideForPlayer(playerid,Cl);
    TextDrawDestroy(Cl);
    TextDrawHideForPlayer(playerid,OT);
    TextDrawDestroy(OT);
    }
    if(classid == 4)
    {
    OfficerTenpenny(playerid);
    TextDrawShowForPlayer(playerid,OT);
    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DRINK_WINE);
    TextDrawHideForPlayer(playerid,MB);
    TextDrawDestroy(MB);
    TextDrawHideForPlayer(playerid,OG);
    TextDrawDestroy(OG);

    }
    if(classid == 5)
    {
    OGLoc(playerid);
    TextDrawShowForPlayer(playerid,OG);
    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DRINK_BEER);
    TextDrawHideForPlayer(playerid,OT);
    TextDrawDestroy(OT);
    TextDrawHideForPlayer(playerid,TT);
    TextDrawDestroy(TT);
    }
    if(classid == 6)
    {
    TheTruth(playerid);
    TextDrawShowForPlayer(playerid,TT);
    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_SMOKE_CIGGY);
    TextDrawHideForPlayer(playerid,OG);
    TextDrawDestroy(OG);
    TextDrawHideForPlayer(playerid,Ma);
    TextDrawDestroy(Ma);
    }
    if(classid == 7)
    {


    Maccer(playerid);
    TextDrawShowForPlayer(playerid,Ma);
    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_HANDSUP);
    TextDrawHideForPlayer(playerid,TT);
    TextDrawDestroy(TT);
    TextDrawHideForPlayer(playerid,BX);
    TextDrawDestroy(BX);
    }
    if(classid == 8)
    {
    Boxer(playerid);
    TextDrawShowForPlayer(playerid,BX);
    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DRINK_BEER);
    TextDrawHideForPlayer(playerid,Ma);
    TextDrawDestroy(Ma);
    TextDrawHideForPlayer(playerid,BB);
    TextDrawDestroy(BB);
    }
    if(classid == 9)
    {
    BeachBoy(playerid);
    TextDrawShowForPlayer(playerid,BB);
    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DRINK_BEER);
    TextDrawHideForPlayer(playerid,BX);
    TextDrawDestroy(BX);
    TextDrawHideForPlayer(playerid,BA);
    TextDrawDestroy(BA);
    }
    if(classid == 10)
    {
    Bauarbeiter(playerid);
    TextDrawShowForPlayer(playerid,BA);
    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DRINK_BEER);
    TextDrawHideForPlayer(playerid,BB);
    TextDrawDestroy(BB);
    TextDrawHideForPlayer(playerid,DD);
    TextDrawDestroy(DD);
    }
    if(classid == 11)
    {
    DrogenDealer(playerid);
    TextDrawShowForPlayer(playerid,DD);
    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_SMOKE_CIGGY);
    TextDrawHideForPlayer(playerid,BA);
    TextDrawDestroy(BA);
    TextDrawHideForPlayer(playerid,CJ);
    TextDrawDestroy(CJ);
    }
    return 1;
    }


    "CarlJohnson(playerid);"


    -> einfach ins Script geschrieben

    CarlJohnson(playerid)
    {
    CJ = TextDrawCreate(129.0,300.0,"~r~Carl Johnson~n~~g~WAFFEN:~n~~y~ *MP5~n~~y~ *Sniper~n~~y~ *Minigun");
    TextDrawSetOutline(CJ,1);
    TextDrawSetShadow(CJ,0);
    TextDrawFont(CJ,1);
    TextDrawLetterSize(CJ,1,2);
    TextDrawShowForPlayer(playerid,CJ);
    }


    Kann mir jemand helfen? Oder hatte jemand schon einmal das selbe Problem?


    Danke schon mal fürs Lesen :D


    Gruß TheStorm941


    //EDIT


    Sorry hab vergessen zu sagen, dass ich noch mit SA:MP 0.3c arbeite.

    Du meinst ich könnte den ganzen Aufzug als Filterscript mit MoveObject statt MoveDynamicObject einbinden?
    Das könnte gehen - versuch ich gleich mal danke!


    //EDIT


    Es funktioniert leider nicht - hab alles was ich brauche in ein Filterscript ohne Objectstreamer gepackt, ohne Erfolg
    -> Die Platform des Aufzugs wird nichtmehr angezeigt


    Hat noch jemand eine Idee?


    LG TheStorm941


    //EDIT


    Stellt nie die Geschwindigkeit des MovePbjects zu schnell ein sonst fallen alle Autos runter - Player bleibt allerdins verschont :D

    Hey Leute!


    Hab wieder ein kleines Problem für euch :D
    Und zwar folgendes:


    Ich hab auf meinem Server ein wenig gemapped und ein Autoparkhaus in einem Wolkenkratzer erstellt.
    Das besondere daran ist(soll sein), dass man mit dem Fahrzeug auf eine Platform fährt und dann
    durch mehrere Befehle auswählen kann in welche Etage man fahren möchte(0 - 3).


    Das Problem:
    Wenn ich mit einem Fahrzeug(egal welches) auf die Platform fahre und z.B. Befehl /etage1 eingebe fährt die
    Platform einfach ohne das Auto nach oben!! - dieses fällt dann einfach runter oder bleibt stehen?!


    Script:



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/etage0", cmdtext, true, 10) == 0)
    {
    MoveDynamicObject(CarPark,-1284.54150391,-434.07904053,12.86226559,15);
    SendClientMessage(playerid,ROT2,"{FF8C00}[ ! ] {CD0000}AUFZUG fährt in {00FF00}ETAGE 0");
    SetPlayerScore(playerid, GetPlayerScore(playerid) + 10);
    return 1;
    }


    if (strcmp("/etage1", cmdtext, true, 10) == 0)
    {
    MoveDynamicObject(CarPark,-1284.54101562,-434.07812500,115.31722260,15);
    SendClientMessage(playerid,ROT2,"{FF8C00}[ ! ] {CD0000}AUFZUG fährt in {00FF00}ETAGE 1");
    SetPlayerScore(playerid, GetPlayerScore(playerid) + 10);
    return 1;
    }

    if (strcmp("/etage2", cmdtext, true, 10) == 0)
    {
    MoveDynamicObject(CarPark,-1284.54101562,-434.07812500,187.81745911,15);
    SendClientMessage(playerid,ROT2,"{FF8C00}[ ! ] {CD0000}AUFZUG fährt in {00FF00}ETAGE 2");
    SetPlayerScore(playerid, GetPlayerScore(playerid) + 10);
    return 1;
    }

    if (strcmp("/etage3", cmdtext, true, 10) == 0)
    {
    MoveDynamicObject(CarPark,-1284.54101562,-434.07812500,260.36730957,15);
    SendClientMessage(playerid,ROT2,"{FF8C00}[ ! ] {CD0000}AUFZUG fährt in {00FF00}ETAGE 3");
    SetPlayerScore(playerid, GetPlayerScore(playerid) + 10);
    return 1;
    }
    return 0;
    }


    -> es werden keine Fehler/Errors angezeigt
    Hab schon Aufzüge gemacht bei denen das problemlos geklappt hat - genau gleich


    Kann mir jemand helfen


    lg TheStorm941

    Hey Leute


    Ich möchte gerne, dass bei public OnRconLoginAttempt() - wenn sich jemand im Server mit /rcon login [passwort] als Admin einloggt
    dieser eine bestimmt Farbe zugeteilt bekommt.
    Sprich: Egal als wievielter ich auf den Server connecte & egal welche ID ich auf dem Server dann habe
    -> wenn ich mich mit meinem Name als Admin anmelde will ich immer z.B. die Farbe ROT bekommen, wenn sich noch einer als Admin einloggt soll er diese nicht bekommen sondern z.B. GRÜN


    Ich habs so versucht:



    public OnRconLoginAttempt(ip[], password[], success)
    {
    if(success == 1)
    {
    new name[MAX_PLAYER_NAME], Storm941;
    new PlayerName = GetPlayerName(playerid, name, sizeof(name));
    if(PlayerName == Storm941)
    {
    SetPlayerColor(playerid,ROT);
    }
    else
    {
    SetPlayerColor(playerid,GRÜN);
    }
    return 0;
    }
    return 1;
    }


    So irgendwie soll das aussehen :D


    Kann mir jemand helfen??

    Ne das ist nur bei der Skinauswahl so. also da wo man alle verfügbaren Skins des Servers durchsehen kann.
    Wenn ich dann Spawne ist der Skin wieder 100% normal. Auch wenn ich während dem Spiel "F4" drücke und den Player dann töte,
    ist das Skinauswahl-Menü wieder normal - die Skins sind wieder "hell"?!


    Ich hab auch mal während der Skinauswahl ESC gedrückt aber da tut sich ja nix man kann ja auch nicht ins Menü.


    Das komische ist halt folgendes:


    Ich hab den Ort an dem die Skins stehen wenn man sie in der Skinauswahl ansieht in Las Venturas
    & den Ort an dem der Spieler gespawnt wird so ziemlich auf der Mitte der Karte an dem großen Haus
    des FBI-Agenten(oder was auch immer das für ein Typ in der Story ist), in dem es auch die Karte mit den
    "mystischen Plätzen" in San Andreas gibt.
    Folge -> Skins sind beim ersten mal Auswählen dunkel


    Wenn ich den Ort an dem die Skins stehen wenn man sie in der Skinauswahl ansieht an die selbe
    Stelle mache an der der Spieler gespawnt wird ist die
    Folge -> Skins sind wieder ganz normal?!


    Hatte dieses Problem noch niemand von euch?
    Kann mir noch jemand helfen?


    Danke an Schtän
    für die Antwort!



    Gruß


    TheStorm941


    //EDIT


    Kann man einstellen, dass eine bestimmte Koordinate auf dem Server als erstes gestreamt wird??

    Danke -Viper- echt guter Tip! Aber leider funktioniert auch das nicht hab min. 10 neonleuchten genau drübergemacht & es geht nicht?!


    Trotzdem Danke


    Irgendwann verzweifel ich hier noch :D




    Gruß


    TheStorm941


    //EDIT


    Kann es sein dass es daran liegt, dass der Ort an dem man den Skin auswählt zu weit von dem entfernt ist an dem der Spieler gespawnt wird??
    Kann man irgendwie durch einen Befehl einstellen, dass der Ort an dem man den Skin auswählt zuerst vom Server gestreamt wird??

    Also ich hab das so gemacht:



    public OnPlayerRequestClass(playerid, classid)
    {
    SetPlayerPos(playerid,2077.6938,1901.0961,17.7447);
    SetPlayerFacingAngle(playerid,312.5007);
    SetPlayerCameraPos(playerid,2079.8638,1901.6849,17.7447);
    SetPlayerCameraLookAt(playerid,2077.6938,1901.0961,17.7447);
    return 1;
    }


    public OnPlayerSpawn(playerid)
    {
    SetPlayerPos(playerid,-718.0468,959.7916,12.1328);
    SetPlayerFacingAngle(playerid,62.6464);
    return 1;
    }


    Ich lad gleich mal noch ein Bild hoch ;)


    //EDIT


    @ Meta:
    Ne wenn ich rumlaufe bin ich wieder ganz normal dass ist nur beim ersten mal der Skinauswahl so - bei den anderen Malen,
    also wenn ich auf dem Server F4 drücke & der Player dann stirbt ist die Auswahl wieder "hell" !


    Hab die Screenshots hier gemacht: