yrace teleport

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
  • Hi


    ich habe ein teleport zum race anfang gemacht
    aber man wird immer auf die Ost seite geportet


    SetVehiclePos(GetPlayerVehicleID(playerid),RaceCheckpoints[0][0]+17,RaceCheckpoints[0][1],RaceCheckpoints[0][2]);


    wie mache ich es das man immer hinter den cp hin geportet wird


    ---------------------------------------------------------------


    und dan wollte ich noch fragen wo man die größe von den cp's einstellen kann, beim yrace

    Einmal editiert, zuletzt von Markus20 ()

  • Also, wenn du das Machen willst, dann müsstest du den FacingAngle, also die Drehung des Checkpoints wissen.
    // Diese Funktion irgendwo ins Script rein. Ich bin mir nicht sicher ob sie funktioniert, da ich sie soeben von GetXYInFrontOfPlayer abgeleitet hab
    Float:GetXYInFrontOfPosition(Float:positionX, Float:positionY, &Float:X, &Float:Y, Float:distance, Float:angle)
    {
    X = positionX + (distance * floatsin(-angle, degrees));
    Y = positionY + (distance * floatcos(-angle, degrees));
    return 1;
    }


    // Beim Teleport:
    new Float:racex, Float:racey;
    GetXYInFrontofPosition(RaceCheckpoints[0][0],RaceCheckpoints[0][1],racex,racey,-10.0,/*ANGLE*/); // Drehung des Checkpoints eintragen
    SetVehiclePos(GetPlayerVehicleID(playerid),racex,racey,RaceCheckpoints[0][2]);
    SetVehicleZAngle(GetPlayerVehicleID(playerid),/*ANGLE*/); // Drehung des Checkpoints eintragen


    Die Drehung steht übrigens nirgends geschrieben, wenn dann müsstest du dich in den Start des Checkpoint in die richtige Richtung reinstellen, Position speichern und davon dann die Angle-Kommazahl nehmen.


    Ich scripte NICHT mehr, ich möchte mit NIEMANDEM einen Server aufmachen habe auch NICHTS mehr mit LoH zu tun, also lasst es mit den PNs!

  • Ach weist du was, mach es einfach so:
    new vehicleid = GetPlayerVehicleID(playerid);
    switch(race) // anstatt race deine variable eintragen, mit der die "Rennennummer" gespeichert wird
    {
    case 0: SetVehiclePosEx(vehicleid,x,y,z,a); // Koordinaten für Spawn von Rennen 0 eintragen
    case 1: SetVehiclePosEx(vehicleid,x,y,z,a); // Koordinaten für Spawn von Rennen 1 eintragen
    case 2: SetVehiclePosEx(vehicleid,x,y,z,a); // Koordinaten für Spawn von Rennen 2 eintragen
    // usw.
    }


    // Irgendwo ins script:
    stock SetVehiclePosEx(vehicleid,x,y,z,a)
    {
    SetVehiclePos(vehicleid,x,y,z);
    SetVehicleZAngle(vehicleid,a);
    return 1;
    }


    Dann musst du zwar für jedes Rennen den Spawn /saven, aber es ist einfach einfach.


    Ich scripte NICHT mehr, ich möchte mit NIEMANDEM einen Server aufmachen habe auch NICHTS mehr mit LoH zu tun, also lasst es mit den PNs!

  • (792) : error 033: array must be indexed (variable "-unknown-")
    (794) : warning 213: tag mismatch
    (794) : warning 213: tag mismatch
    (794) : warning 213: tag mismatch
    (794) : warning 213: tag mismatch
    (795) : warning 213: tag mismatch
    (795) : warning 213: tag mismatch
    (795) : warning 213: tag mismatch
    (795) : warning 213: tag mismatch
    (796) : warning 213: tag mismatch
    (796) : warning 213: tag mismatch
    (796) : warning 213: tag mismatch
    (796) : warning 213: tag mismatch
    (797) : warning 213: tag mismatch
    (797) : warning 213: tag mismatch
    (797) : warning 213: tag mismatch
    (797) : warning 213: tag mismatch
    (798) : warning 213: tag mismatch
    (798) : warning 213: tag mismatch
    (798) : warning 213: tag mismatch
    (798) : warning 213: tag mismatch
    (799) : warning 213: tag mismatch
    (799) : warning 213: tag mismatch
    (799) : warning 213: tag mismatch
    (799) : warning 213: tag mismatch
    (800) : warning 213: tag mismatch
    (800) : warning 213: tag mismatch
    (800) : warning 213: tag mismatch
    (800) : warning 213: tag mismatch

  • Denk bitte mal nach, bevor du was postest. Wenn ich das jetzt les, schließe ich daraus: In den Zeilen 792-800 sind Fehler... Kann ich nun telepathisch in deinen Script schauen?
    Also wenn schon, dann bitte mit den dazugehörigen Zeilen 790-805.


    PS: Sorry, soll jetzt nicht beleidigend klingen, ich will eig nur helfen.


    Ich scripte NICHT mehr, ich möchte mit NIEMANDEM einen Server aufmachen habe auch NICHTS mehr mit LoH zu tun, also lasst es mit den PNs!

  • sry, hab nicht nachgedacht xD



    // Zeile 790
    new vehicleid = GetPlayerVehicleID(playerid); // Zeile 791
    switch(RaceNamen) // anstatt race deine variable eintragen, mit der die "Rennennummer" gespeichert wird // Zeile 792
    {
    case 0: SetVehiclePosEx(vehicleid,1366.5903,-2348.5315,13.2030,32.0206); // Koordinaten für Spawn von Rennen 0 eintragen
    case 1: SetVehiclePosEx(vehicleid,2072.0156,831.1820,6.3907,91.3348); // Koordinaten für Spawn von Rennen 1 eintragen
    case 3: SetVehiclePosEx(vehicleid,1740.0524,1472.1533,10.4766,139.7019); // Koordinaten für Spawn von Rennen 2 eintragen
    case 4: SetVehiclePosEx(vehicleid,-2003.9486,402.1968,34.6795,358.6169); // Koordinaten für Spawn von Rennen 0 eintragen
    case 5: SetVehiclePosEx(vehicleid,-2256.2832,-186.4434,34.8410,0.8064); // Koordinaten für Spawn von Rennen 1 eintragen
    case 6: SetVehiclePosEx(vehicleid,-2456.1660,2226.7944,4.8438,10.8670); // Koordinaten für Spawn von Rennen 2 eintragen
    case 7: SetVehiclePosEx(vehicleid,-436.3571,1426.8827,32.6109,197.5779); // Koordinaten für Spawn von Rennen 0 eintragen
    }


    }
    else if (!IsPlayerInAnyVehicle(playerid))
    { //Zeile 805

  • stock SetVehiclePosEx(vehicleid,x,y,z,a)


    zu


    stock SetVehiclePosEx(vehicleid,Float:x,Float:y,Float:z,Float:a)


    machen :D

  • Ahh...kleiner Leichtsinnsfehler von mir. Ändere die Funktion von
    stock SetVehiclePosEx(vehicleid,x,y,z,a)
    in
    stock SetVehiclePosEx(vehicleid,Float:x,Float:y,Float:z,Float:a)


    Bei Zeile 792 ist RaceNamen wahrscheinliche ein String/Zeichenkette. Das muss aber ein Integer/Ganzzahl sein. Die Variable muss irgendwie anders heißen.


    Ich scripte NICHT mehr, ich möchte mit NIEMANDEM einen Server aufmachen habe auch NICHTS mehr mit LoH zu tun, also lasst es mit den PNs!

  • das sind meine rennen, die immer geladen werden

    new RaceNamen[][] = {
    "1","2","3","4","5","6","7"
    };


    dan muss ich doch bei switch den namen einfügen
    switch(RaceNamen)



    kann mir einer sagen wo man die größe von den checkpoints einstellt, bei yrace

    2 Mal editiert, zuletzt von Markus20 ()