Die IDEE: Baggersystem mit Seil und Bauträger

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
  • Hey...
    Ich habe mal ne Frage...
    Kann das einer so scripten:
    Man macht /addbagger
    und dann wird ein Bagger* erstellt, das habe ich auch schon mit GetPLayerPos etc.
    Aber 1. Frage:
    Wie mache ich das, dass die Rotation des Objektes zum Facing-Angle oder zu der 4. Gruppe bei AddPlayerClass (AddPlayerClass(x,y,z,Hier das,waffe1,...)
    zusammenbringe ?


    2. Frage:
    Kann einer für mich so ein System machen mit Camera, dass ich gefreezt werde und mit /baggereditor den Bagger, also die Rotation und die Position (+Höhe) ändern kann indem ich die Tasten hoch runter links rechts und für Rotation Numpad benutze, oder für Rotation ich erst auf Tab drücke, und dann mit hoch runter links rechts mache ?


    3. Frage
    Wie mache ich dass, dass ich wenn ich den Bagger richtig gemacht habe, mit /savebagger speichern kann.
    Und das in scriptfiles/bagger.ini ist.
    Und beim OnGameModeInit aufgerufen wird bzw. geladen wird. und die Bagger mit Rotation, Position, und Höhe erstellt werden, wie sie bei /savebagger waren ?


    4. Frage(Nur für welche, die sich echt viel Mühe machen würden)
    Ein System, wenn man am Bagger ist und Enter drückt, wird abgefragt ob er am Bagger ist,
    und er wird gefreezt, und die Camera geht an den Bagger bzw. dahinter.
    Wenn man den Bagger bewegt, (drückt man nach links) kommt die Rotation nach links, bei rechts nach rechts.
    Wenn man Hoch drückt, kommt vorne, wo die Bagga"schaufel" ist, ein Seil** raus, nach unten, und die Camera wird geändert nach da, dass man das Seil gut sieht.
    Und wenn man dann Leertaste drückt, wird abgefragt ob das Seil unten ist, wenn ja, soll so ein Bauträger*** dran gemacht werden, wenn amn dann wieder nach rechts drückt, soll rotation, position vom Seil und Position vom Bauträger nach rechts gehen.


    Es soll den sinn machen, dass es wie Reallife ist.


    * ID vom Bagger = 18248
    ** ID vom Seil, weiß net gerade, ist bei den neuen 0.3c Objekten dabei
    *** ID vom Bauträger = 2960


    Ich habe hier schon einiges gemacht.:

    #define MAX_BAGGER 5 // Maximale Bagger4


    forward AddBagger(Float:x, Float:y, Float:z, Float:rX, Float:rY, Float:rZ);
    forward AddPlayerBagger(playerid);


    enum eBagger
    {
    ID, Float:BaggerX, Float:BaggerY, Float:BaggerZ, Float:BaggerrX, Float:BaggerrY, Float:BaggerrZ, Erstellt
    };
    new Bagger[MAX_BAGGER][eBagger];



    public OnGameModeInit()
    {
    //....
    AddBagger(1189.7380,-918.4663,43.2251,0.0,0.0,0.0);
    //....
    return 1;
    }



    if(strcmp(cmd, "/addbagger", true) == 0)
    {
    AddPlayerBagger(playerid);
    return 1;
    }



    public AddBagger(Float:x, Float:y, Float:z, Float:rX, Float:rY, Float:rZ)
    {
    for(new i = 0; i < sizeof(Bagger); i++)
    {
    //if(Bagger[i][Erstellt] == 0)
    {
    Bagger[i][BaggerX] = x;
    Bagger[i][BaggerY] = y;
    Bagger[i][BaggerZ] = z;
    Bagger[i][BaggerrX] = rX;
    Bagger[i][BaggerrY] = rY;
    Bagger[i][BaggerrZ] = rZ;
    //Bagger[i][Erstellt] = 1;
    Bagger[i][ID] = CreateObject(18248, x, y, z, rX, rY, rZ);
    return 1;
    }
    }
    return 0;
    }
    public AddPlayerBagger(playerid)
    {
    /*for(new i = 0; i < sizeof(Bagger); i++)
    {
    //if(Bagger[i][Erstellt] == 0)
    {
    Bagger[i][BaggerX] = x;
    Bagger[i][BaggerY] = y;
    Bagger[i][BaggerZ] = z;
    Bagger[i][BaggerrX] = rX;
    Bagger[i][BaggerrY] = rY;
    Bagger[i][BaggerrZ] = rZ;
    //Bagger[i][Erstellt] = 1;
    Bagger[i][ID] = CreateObject(18248, x, y, z, rX, rY, rZ);
    return 1;
    }
    }*/
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid,x,y,z);
    new Bagger2[MAX_PLAYERS];
    for(new i = 0; i < sizeof(Bagger); i++)
    {
    Bagger[i][BaggerX] = x;
    Bagger[i][BaggerY] = y;
    Bagger[i][BaggerZ] = z;
    Bagger2[playerid] = CreateObject(18248, x, y, z+7.0, 0.0, 0.0, 0.0);
    SendClientMessage(playerid,COLOR_YELLOW2,"Bagger erfolgreich erstellt, zum speichern /savebagger (/save).");
    }
    return 0;
    }

    ACHTUNG: Könnte sein, dass die Klammern ein wenig durcheinander sind, aber liegt am Forum ;)


    Ich würde mich RIESIG freuen, wenn das einer hingekommt.



    MfG
    Atta(Oo);

  • Kann das dingen nicht downloaden Oo
    Bin registriert und bin aktiviert (per E-Mail)


    Zitat

    AttachObject(Oo), Du hast keine Rechte, um auf diese Seite zuzugreifen. Folgende Gründe könnten z.B. dafür verantwortlich sein:

    • Du versuchst, den Beitrag eines anderen Benutzers zu ändern oder auf administrative Funktionen zuzugreifen. Überprüfe bitte in den Forenregeln, ob du diese Aktion ausführen darfst.
    • Wenn du versucht hast, einen Beitrag zu schreiben, kann es sein, dass dein Benutzerkonto deaktiviert wurde oder noch aktiviert werden muss.

    Könnte jemmand das downloaden, der schon sehr lange dort registriert ist ?
    Vllt. muss man so und so viel wochen registriert sein, oder muss mindestens 5 Beiträge geschrieben haben oder so.
    Also kann dass pls jemmand downloaden und bei solidfiles o. ä. hochladen und link schicken ?


    MfG
    Atta(Oo);