Random mit InterpolateCameraPos - Geht das?

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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
  • Hallo,


    ich habe eine Frage und zwar ist es möglich, dass man eine Zufällig Ausgewählte Position beim Login hat.


    Also ich habe es so gemacht, das diese Funktion währendes Logins kommt:
    InterpolateCameraPos(playerid, -x, y, z, -xy, yy, yz, 30000);
    InterpolateCameraLookAt(playerid, -x, y, z, -xy, yy, yz, 30000);


    Will aber noch eine Funktion einbauen und es soll dann Zufällig eine dann gehen..


    Wie kann ich sowas machen??

    2 Mal editiert, zuletzt von Shoxx () aus folgendem Grund: Überschrift und Inhalt geändert.

  • Ist ganz einfach wenn du mit einem enum arbeitest :)


    Ganz oben über OnGameModeInit()
    new Float:LoginKamera[2][13] =
    {
    //camposx1,camposy1,camposz1,camposx2,camposy2,camposz2,camlookx1,camlooky1,camlookz1,camlookx2,camlooky2,camlookz2,zeit in sekunden
    {1337.4940, -1253.4099, 61.5061, 1404.6610, -869.5059, 76.6694,1338.4143, -1248.5130, 61.0890, 1405.2576, -864.5627, 77.1261,13000.00},
    {1784.3033,-597.3705,95.6802,1566.5531,-1458.7645,109.8957,1720.1119,-872.3080,124.4788,1650.6624,-1270.5499,167.7315,13000.00}
    };
    An der entsprechenden Stelle --> z.B. OnPlayerConnect

    new rand = random(sizeof(LoginKamera));
    TogglePlayerSpectating(playerid,1);
    SetPlayerPos(playerid,LoginKamera[rand][9],LoginKamera[rand][10],LoginKamera[rand][11]);
    InterpolateCameraPos(playerid,LoginKamera[rand][0],LoginKamera[rand][1],LoginKamera[rand][2],LoginKamera[rand][3],LoginKamera[rand][4],LoginKamera[rand][5],floatround(LoginKamera[rand][12], floatround_ceil),CAMERA_MOVE);
    InterpolateCameraLookAt(playerid,LoginKamera[rand][6],LoginKamera[rand][7],LoginKamera[rand][8],LoginKamera[rand][9],LoginKamera[rand][10],LoginKamera[rand][11],floatround(LoginKamera[rand][12], floatround_ceil),CAMERA_MOVE);



    Viel Spaß damit :)

    Nova-eSports Supporter 2012 - 2016


  • Genau!


    Danke :)


    //Edit habe doch noch ein Problem


    Und zwar wollte ich in den enum noch 3 Positionen Einbauen allerdings bekomme ich Errors:
    new Float:LoginKamera[2][16] =
    {
    //camposx1,camposy1,camposz1,camposx2,camposy2,camposz2,camlookx1,camlooky1,camlookz1,camlookx2,camlooky2,camlookz2,Position1,Position2,Position3,zeit in sekunden
    {-1621.593017, 592.038391, 63.240337, -789.955932, 1497.892578, 71.656692, -1618.410888, 595.866638, 62.772274, -789.091857, 1502.809570, 71.379493, -1231.7921, 1002.5405, 43.2678-3 ,30000.00},
    {1784.3033,-597.3705,95.6802,1566.5531,-1458.7645,109.8957,1720.1119,-872.3080,124.4788,1650.6624,-1270.5499,167.7315,1468.0011,-1184.5742,23.3808,30000.00}
    };


    new rand = random(sizeof(LoginKamera));
    SetPlayerPos(playerid,LoginKamera[rand][12],LoginKamera[rand][13],LoginKamera[rand][14]);
    InterpolateCameraPos(playerid,LoginKamera[rand][0],LoginKamera[rand][1],LoginKamera[rand][2],LoginKamera[rand][3],LoginKamera[rand][4],LoginKamera[rand][5],floatround(LoginKamera[rand][15], floatround_ceil),CAMERA_MOVE);
    InterpolateCameraLookAt(playerid,LoginKamera[rand][6],LoginKamera[rand][7],LoginKamera[rand][8],LoginKamera[rand][9],LoginKamera[rand][10],LoginKamera[rand][11],floatround(LoginKamera[rand][15], floatround_ceil),CAMERA_MOVE);


    Errors:
    must be a constant expression; assumed zero
    error 010: invalid function or declaration
    warning 203: symbol is never used: ""


    Was mach ich falsch?

    Einmal editiert, zuletzt von Shoxx () aus folgendem Grund: Problem