Hilfe mit MoveObjekt

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
  • Guten tag ich habe da mal eine frage ich habe eine fläsche gemappt mit mehreren platten die jetzt alle mit hilfe von /lift nach oben bzw unten fahren sollen


    es soll also nur die höhe geändert werden sprich die Z achse das problem ist das es 61 platten sind und wenich jetzt bei jedeseinzelnt moven lasseist dercode viel zulang xd gibs dane einverrache lösung ??

  • Du könntest es so machen


    oben


    new deinobject[62];//Anzahl der Objecte



    //vor dem CreateObject


    deinobject[0] = CreateObject(....
    deinobject[1] = CreateObject(.....
    //und so weiter



    //Befehl


    cmd: lift(playerid,params[])
    {
    for(new i = 0; i < sizeof (deinobject); i++)
    {
    new Float:x,Float:y,Float:z;
    GetObjectPos( deinobject[i], x,y,z);
    MoveObject( deinobject[i], x,y,z+10);
    }
    return 1;
    }


    //Müsste so eigentlich klappen weis es aber nicht zu 100%

    [tabmenu][tab='Angebote','http://cdn3.iconfinder.com/data/icons/glyph/227/Tag-48.png']

    + Die Preise liegen bei 5-100+€ Ablauf:
    + Entweder ihr addet mich in Skype (PN vorher Schreiben) oder Ihr schreibt eine PN an mich (Betreff - Euer Wunsch z.B. Filterscript)
    + So nun schreibt ihr mir was ihr alles in dem Script haben wollt ich werd euch dann sagen ob ich es hinbekomme.
    + Dann machen wir ein groben Preis aus. Ich werde das Script erstellen und es zusammen mit dem Kunden Testen.



    [tab='Kontakt','http://cdn3.iconfinder.com/data/icons/line/36/person_add-48.png']
    edmix23

    + Bitte beim Adden angeben wer ihr seit oder per PN bescheid sagen!
    [tab='Zahlungs Methoden','https://cdn3.iconfinder.com/data/icons/line/36/check_money-32.png']
    +Paypal!
    +Direkte Banküberweisung

  • Es muss noch ein var rein, damit sich der Lift auch wieder senken lässt ;)



    new deinobject[62];//Anzahl der Objecte
    new liftvar = 0;



    //vor dem CreateObject


    deinobject[0] = CreateObject(....
    deinobject[1] = CreateObject(.....
    //und so weiter



    //Befehl


    cmd: lift(playerid,params[])
    {
    for(new i = 0; i < sizeof (deinobject); i++)
    {
    if(liftvar == 0)
    {
    new Float:x,Float:y,Float:z;
    GetObjectPos( deinobject[i], x,y,z);
    MoveObject( deinobject[i], x,y,z+10);
    liftvar = 1;
    }
    if(liftvar == 1)
    {
    new Float:x,Float:y,Float:z;
    GetObjectPos( deinobject[i], x,y,z);
    MoveObject( deinobject[i], x,y,z-10);
    liftvar = 0;
    }
    }
    return 1;
    }

  • also ich habe das hier jetzt so drinne


    //Ganz Oben
    new flaechetanz = 0;
    //und das bei on Player command text
    if (strcmp("/disco", cmdtext, true, 10) == 0)
    {
    for(new i = 0; i < sizeof (tanzflaeche); i++)// das ist zeile 775
    {
    if(flaechetanz == 0)
    {
    new Float:x,Float:y,Float:z;
    GetObjectPos( tanzflaeche[i], x,y,z);
    MoveObject( tanzflaeche[i], x,y,z+1,2);
    flaechetanz = 1;
    }
    if(flaechetanz == 1)
    {
    new Float:x,Float:y,Float:z;
    GetObjectPos( tanzflaeche[i], x,y,z);
    MoveObject( tanzflaeche[i], x,y,z-1,2);
    flaechetanz = 0;
    }
    }
    return 1;
    }



    und bekomme diese errors


    Zitat

    C:\Users\D.Fence\Desktop\gamemode.pwn(775) : error 017: undefined symbol "tanzflaeche"

    Zitat

    C:\Users\D.Fence\Desktop\gamemode.pwn(775) : error 036: empty statement

    Zitat

    C:\Users\D.Fence\Desktop\gamemode.pwn(775) : error 017: undefined symbol "i"

    Zitat

    C:\Users\D.Fence\Desktop\gamemode.pwn(775) : fatal error 107: too many error messages on one line

  • sizeof (tanzflaeche)
    Sicher ?
    Ich sehe nämlich bei dir nur :
    new deinobject[62];
    Demnach wäre es dann sizeof(deinobject).


    Dennoch bin ich mir nicht sicher ob von der Logik her es funktionieren wird.
    flaechetanz wird bei jedem Durchgang der Schleife immer geändert.
    Von 0 auf 1, von 1 auf 0,von 0 auf 1, 1 auf 0 usw.

  • sizeof (tanzflaeche)
    Sicher ?
    Ich sehe nämlich bei dir nur :
    new deinobject[62];
    Demnach wäre es dann sizeof(deinobject).


    soory ganz vergesssen habe dasja noch drin


    new tanzflaeche[131];
    tanzflaeche[0] = CreateObject(19128, -2055.19, 1653.23, 6.10, 0.00, 0.00, 0.00);
    //usw


    Dennoch bin ich mir nicht sicher ob von der Logik her es funktionieren wird.
    flaechetanz wird bei jedem Durchgang der Schleife immer geändert.
    Von 0 auf 1, von 1 auf 0,von 0 auf 1, 1 auf 0 usw.


    ja is klar muss ja auch der fagt dan ja ab ob oben oder unnten ist xd

  • ok habe esjetzt ganznachoben gemacht warbei on gamemode init


    jetzt bekomeichdirse errors


    Zitat

    C:\Users\D.Fence\Desktop\gamemode.pwn(43) : error 017: undefined symbol "tanzflaeche"
    C:\Users\D.Fence\Desktop\gamemode.pwn(43) : warning 215: expression has no effect
    C:\Users\D.Fence\Desktop\gamemode.pwn(43) : error 001: expected token: ";", but found "]"
    C:\Users\D.Fence\Desktop\gamemode.pwn(43) : error 029: invalid expression, assumed zero
    C:\Users\D.Fence\Desktop\gamemode.pwn(43) : fatal error 107: too many error messages on one line


    //edit


    Zeile 43
    tanzflaeche[0] = CreateObject(19128, -2055.19, 1653.23, 6.10, 0.00, 0.00, 0.00);

    Einmal editiert, zuletzt von D.Fence ()

  • Also hier der Code


    GanzOben Steht
    new flaechetanz = 0;
    new tanzflaeche[131];


    Bei OnGameModeInit


    tanzflaeche[0] = CreateObject(19128, -2055.19, 1653.23, 6.10, 0.00, 0.00, 0.00);
    //..........
    tanzflaeche[130] = CreateObject(19128, -2067.11, 1657.22, 6.10, 0.00, 0.00, 0.00);


    und bei OnPlayerCommandText


    if (strcmp("/disco", cmdtext, true, 10) == 0)
    {
    for(new i = 0; i < sizeof (tanzflaeche); i++)
    {
    if(flaechetanz == 0)
    {
    new Float:x,Float:y,Float:z;
    GetObjectPos( tanzflaeche[i], x,y,z);
    MoveObject( tanzflaeche[i], x,y,z+1);
    flaechetanz = 1;
    }
    if(flaechetanz == 1)
    {
    new Float:x,Float:y,Float:z;
    GetObjectPos( tanzflaeche[i], x,y,z);
    MoveObject( tanzflaeche[i], x,y,z-1);
    flaechetanz = 0;
    }
    }
    return 1;
    }


    so nochmehr habe ichnicht drin

  • Und was kommen für errors?

    [tabmenu][tab='Angebote','http://cdn3.iconfinder.com/data/icons/glyph/227/Tag-48.png']

    + Die Preise liegen bei 5-100+€ Ablauf:
    + Entweder ihr addet mich in Skype (PN vorher Schreiben) oder Ihr schreibt eine PN an mich (Betreff - Euer Wunsch z.B. Filterscript)
    + So nun schreibt ihr mir was ihr alles in dem Script haben wollt ich werd euch dann sagen ob ich es hinbekomme.
    + Dann machen wir ein groben Preis aus. Ich werde das Script erstellen und es zusammen mit dem Kunden Testen.



    [tab='Kontakt','http://cdn3.iconfinder.com/data/icons/line/36/person_add-48.png']
    edmix23

    + Bitte beim Adden angeben wer ihr seit oder per PN bescheid sagen!
    [tab='Zahlungs Methoden','https://cdn3.iconfinder.com/data/icons/line/36/check_money-32.png']
    +Paypal!
    +Direkte Banküberweisung

  • diese errors


    Zitat

    C:\Users\D.Fence\Desktop\gamemode.pwn(43) : error 017: undefined symbol "tanzflaeche"
    C:\Users\D.Fence\Desktop\gamemode.pwn(43) : warning 215: expression has no effect
    C:\Users\D.Fence\Desktop\gamemode.pwn(43) : error 001: expected token: ";", but found "]"
    C:\Users\D.Fence\Desktop\gamemode.pwn(43) : error 029: invalid expression, assumed zero
    C:\Users\D.Fence\Desktop\gamemode.pwn(43) : fatal error 107: too many error messages on one line


    eine kleine fragenochhab gerade gesehen dasoben
    #if defined FILTERSCRIPT


    steht soll abe nen gamemode sein was muss ich da machen??

  • WEnn ich es so mache, bekomme ich keine Errors ;)
    Also versuch es mal so


    #include <a_samp>


    new tanzflaeche[131];
    new flaechetanz = 0;


    public OnGameModeInit()
    {
    tanzflaeche[0] = CreateObject(19128, -2055.19, 1653.23, 6.10, 0.00, 0.00, 0.00);
    //..........
    tanzflaeche[130] = CreateObject(19128, -2067.11, 1657.22, 6.10, 0.00, 0.00, 0.00);
    }


    public OnPlayerCommandText(playerid,cmdtext[])
    {
    if (strcmp("/disco", cmdtext, true, 10) == 0)
    {
    for(new i = 0; i < sizeof (tanzflaeche); i++)
    {
    if(flaechetanz == 0)
    {
    new Float:x,Float:y,Float:z;
    GetObjectPos( tanzflaeche[i], x,y,z);
    MoveObject( tanzflaeche[i], x,y,z+1,2);
    flaechetanz = 1;
    }
    if(flaechetanz == 1)
    {
    new Float:x,Float:y,Float:z;
    GetObjectPos( tanzflaeche[i], x,y,z);
    MoveObject( tanzflaeche[i], x,y,z-1,2);
    flaechetanz = 0;
    }
    }
    return 1;
    }
    return 0;
    }

  • also ich habs jetzt so drinne und bekommekeine erros aber es bewegt sich auch nichts xd ich habe mal ne Send Client Message miteingebaut um zu gucken ob er überhabut was macht und ich werdenur vollgespamt mehrnicht

  • if(flaechetanz == 0)
    {
    new Float:x,Float:y,Float:z;
    GetObjectPos( tanzflaeche[i], x,y,z);
    MoveObject( tanzflaeche[i], x,y,z+10,2);//Mach mal +10 um zu gucken kann sein das bei der Höhe sich nix bewegt
    flaechetanz = 1;
    return 1; //Dann spammt er nicht mehr kannst auch break; um die schleife abzubrechen
    }
    if(flaechetanz == 1)
    {
    new Float:x,Float:y,Float:z;
    GetObjectPos( tanzflaeche[i], x,y,z);
    MoveObject( tanzflaeche[i], x,y,z-1,2);
    flaechetanz = 0;
    return 1;
    }
    }

    [tabmenu][tab='Angebote','http://cdn3.iconfinder.com/data/icons/glyph/227/Tag-48.png']

    + Die Preise liegen bei 5-100+€ Ablauf:
    + Entweder ihr addet mich in Skype (PN vorher Schreiben) oder Ihr schreibt eine PN an mich (Betreff - Euer Wunsch z.B. Filterscript)
    + So nun schreibt ihr mir was ihr alles in dem Script haben wollt ich werd euch dann sagen ob ich es hinbekomme.
    + Dann machen wir ein groben Preis aus. Ich werde das Script erstellen und es zusammen mit dem Kunden Testen.



    [tab='Kontakt','http://cdn3.iconfinder.com/data/icons/line/36/person_add-48.png']
    edmix23

    + Bitte beim Adden angeben wer ihr seit oder per PN bescheid sagen!
    [tab='Zahlungs Methoden','https://cdn3.iconfinder.com/data/icons/line/36/check_money-32.png']
    +Paypal!
    +Direkte Banküberweisung