Angepinnt [SAMMELTHREAD] Kleine Scripting Fragen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • @Dr. Frauenarzt

    Beispiel:

    Du fährst 136 Kmh, erlaubt sind aber 80 (+3 Toleranz). Demnach ziehst du von deiner Geschwindigkeit die 83 Kmh ab.
    136 - 83 sind demnach 53 Kmh, die du zuschnell gefahren bist. Um so die Punktevergabe zu errechnen musst durch erst einmal schauen ab wie viele kmh jedes Mal ein Punkt dazu kommen soll.
    Beispielsweise man soll immer ab 6 kmh einen neuen Punkt bekommen, teilst du die 53 kmh durch 6.

    53 / 6 = 8.8

    dabei würde ich an deiner Stelle noch einen Grenzwert festlegen, nicht wenn du mit Shamal durch nen Blitzer mit ~ 300 kmh rast, dass du 20 Punkte oder so bekommst.

    Quellcode

    1. yourSpeed = GetOwnSpeed(playerid);
    2. allowedSpeed = MAX_BLITZER_SPEED + TOLERANZ;
    3. difference = yourSpeed - allowedSpeed;
    4. points = (difference / 6);
    5. if (points >= 4) {
    6. points = 4;
    7. }
  • reaL. schrieb:

    format(string, sizeof(string), "%s\n%s\t%s\t%s", string, Name, GetFrakRangName(Rang, fID), (IsPlayerConnected(playerid))?("Online"):("Offline"));
    Da packst dann einfach Farben mit in die Fallunterscheidung:

    PAWN-Quellcode

    1. format(string, sizeof(string), "%s\n%s\t%s\t%s", string, Name, GetFrakRangName(Rang, fID), (IsPlayerConnected(playerid))?("{00FF00}Online"):("{FF0000}Offline"));


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

    Beitrag von Janes ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: nvm ().
  • @Janes


    Quellcode

    1. DeineGeschwindigkeit = GetVehicleSpeed(GetPlayerVehicleID(playerid));
    2. ErlaubteGeschwindigkeit = Blitzer[BlitzerObj][BlitzerGeschwindigkeit] + Others[BlitzerToleranz];
    3. Differenz = DeineGeschwindigkeit - ErlaubteGeschwindigkeit;
    4. Punkte = (Differenz / 6);
    5. if (Punkte >= 4) {
    6. Punkte = 4;
    7. }
    Hab mal eine frage,

    Wen er sogar 80 km/h zu schnell ist kriegt er trotz allem nur eine Punkt da ich es bei Punkte auf 1 Gesetzt habe.
    Wen ich es bei 4 Lasse und er 80 km/h zu schnell fährt kriegt er 8 Punkte?
  • Mahlzeit,

    ich habe gerade ein Führerscheinsystem eingebaut und grundsätzlich funktioniert alles, jedoch stört es mich, dass die Fehlermeldung dreimal angezeigt wird:
    s15.directupload.net/images/181206/bigqta9r.png


    Der Code: Ich habe bei OnPlayerUpdate mit PLAYER_STATE_DRIVER gearbeitet.

    PAWN-Quellcode

    1. //Führerscheinabfrage
    2. if(sInfo[playerid][drivlic]==0)
    3. {
    4. for(new i=0; i<sizeof(autosOhneMotor); i++)
    5. {
    6. if(autosOhneMotor[i]==vModel)
    7. {
    8. continue;
    9. }
    10. else
    11. {
    12. SendClientMessage(playerid,Kaminrot,"Du hat noch keinen Führerschein!");
    13. RemovePlayerFromVehicle(playerid);
    14. }
    Alles anzeigen



    EDIT: Auch bei Autos ohne Motor (beim BMX beispielweise) werde ich removed und erhalte die Fehlermeldung, woran liegt das?

  • iceberq schrieb:

    Mahlzeit,

    ich habe gerade ein Führerscheinsystem eingebaut und grundsätzlich funktioniert alles, jedoch stört es mich, dass die Fehlermeldung dreimal angezeigt wird:
    s15.directupload.net/images/181206/bigqta9r.png


    Der Code: Ich habe bei OnPlayerUpdate mit PLAYER_STATE_DRIVER gearbeitet.

    PAWN-Quellcode

    1. //Führerscheinabfrageif(sInfo[playerid][drivlic]==0){for(new i=0; i<sizeof(autosOhneMotor); i++){if(autosOhneMotor[i]==vModel){continue;}else{SendClientMessage(playerid,Kaminrot,"Du hat noch keinen Führerschein!");RemovePlayerFromVehicle(playerid);}



    EDIT: Auch bei Autos ohne Motor (beim BMX beispielweise) werde ich removed und erhalte die Fehlermeldung, woran liegt das?
    Probier mal


    Quellcode

    1. if(sInfo[playerid][drivlic]==0)
    2. {
    3. for(new i=0; i<sizeof(autosOhneMotor); i++)
    4. {
    5. if(autosOhneMotor[i]==vModel)
    6. {
    7. SendClientMessage(playerid,Kaminrot,"Das ist ein Fahrzeug ohne Motor!");
    8. return 1;
    9. }
    10. else
    11. {
    12. SendClientMessage(playerid,Kaminrot,"Du hat noch keinen Führerschein!");
    13. RemovePlayerFromVehicle(playerid);
    14. }
    Alles anzeigen
  • Da ist ein Klammerfehler drinnen, das müsste eigentlich so aussehen:

    C-Quellcode

    1. //Führerscheinabfrage
    2. if(sInfo[playerid][drivlic]==0)
    3. {
    4. for(new i; i<sizeof(autosOhneMotor); i++)
    5. {
    6. if(autosOhneMotor[i]==vModel) return 1;
    7. }
    8. SendClientMessage(playerid,Kaminrot,"Du hat noch keinen Führerschein!");
    9. RemovePlayerFromVehicle(playerid);
    10. }


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. X/
  • Kaliber schrieb:

    Da ist ein Klammerfehler drinnen, das müsste eigentlich so aussehen:

    C-Quellcode

    1. //Führerscheinabfrage
    2. if(sInfo[playerid][drivlic]==0)
    3. {
    4. for(new i; i<sizeof(autosOhneMotor); i++)
    5. {
    6. if(autosOhneMotor[i]==vModel) return 1;
    7. }
    8. SendClientMessage(playerid,Kaminrot,"Du hat noch keinen Führerschein!");
    9. RemovePlayerFromVehicle(playerid);
    10. }
    Vielen Dank das geht jetzt... aber nun ist es so, dass wenn ich auf ein Fahrzeug(welches ich als autoOhneMotor definiert habe also beispielsweise ein bmx) steige, man dieses nicht fahren, da wahrscheinlich die engine auf 0 bleibt...
  • Kaliber schrieb:

    iceberq schrieb:

    man dieses nicht fahren, da wahrscheinlich die engine auf 0 bleibt...
    Sehr richtig ;)
    Dann schau mal in deinen Engine Befehl, wo SetVehicleParams für den Motor auf ON gesetzt werden und füge das dort ein :D
    Also ich bedanke mich vorerst für deine große Hilfe. Aber ich verstehe nicht genau was du meinst -sorry :S
    Die "Engine" des Fahrrads muss ich auf 1 setzen, habe es gerade probiert und ganz schön verkackt..


    EDIT: habe es hinbekommen - vielen Dank :)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von iceberq ()