[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
  • Das heißt um das zu umgehen ist es richtig, dass für den Server der Motor aus ist.



    Will das bei dem starten eines Motors abfragen, geht so nicht.
    Ich kann den GetLKWIndex so nicht abfragen, kann ich irgendwie anders abfragen, ob derjenige in einem der TransportLKW sitzt und dann halt ob der index von dem auf 1 ist?


    i ist der stock GetLKWIndex.

    C
    if(vehicleid == TransportLKW[i])
    	{
    		if(LKWIndex1[i] == 1) return SCM(playerid,-1,"Stell den Index auf 0 bevor du den Motor an machst");
    	}
    C
    stock GetLKWIndex(playerid)
    {
        for(new i; i<sizeof(TransportLKW); i++) if(IsPlayerInVehicle(playerid,TransportLKW[i])) return i;
        return -1;
    }

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Ich weiss nicht, was Du machen willst. Aber um Dir kurz ein Beispiel zu erlaeutern was moeglich ist:


    Angenommen ich habe den Motor-Hack aktiviert und setze mich in ein Auto. Fuer mich ist der Motor an aber nur fuer mich und das clientseitig. Der Server bekommt erstmal davon nichts mit. Ich kann das Auto fahren und alles machen was ich will (auch fliegen). Ich kann auch schiessen (sofern das Auto das zulaesst) es wird aber nur bei mir angezeigt und Damage bekommt erstmal keiner. Das heisst, wenn Du eine Abfrage hast, wo zwingend der Motor an sein muss, dann wird der Server dir sagen "Fuer mich ist der Motor aus" auch wenn fuer den einzelnen Spieler der Motor an ist.


    Das sollte Dir ggf. schon alles beantworten. Ansonsten bitte das Problem genauer beschreiben.

  • Das andere Problem bezieht sich nicht drauf ^^. Danke dir.
    ich weiß halt nicht wie ich den GetLKWIndex abfragen kann ohne in dem Fahrzeug zu sein.

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Wenn du das, was du möchtest, in einem nicht so sehr abstrakten Satz mit vielen Variablen verstrickst, dann kann man dir bestimmt ziemlich einfach helfen.
    Aber ohne weitere Informationen und dem nötigen Wissen was genau du umsetzen möchtest, ist es kaum möglich dir eine vernünftige und befriedigende Antwort zu geben. ^^

  • @Andosius die Informationen reichen doch aus?
    Ich erkläre es mal, da Code nicht so leicht zu verstehen ist ohne eine genaue Erklärung.


    C
    stock GetLKWIndex(playerid)
    {
        for(new i; i<sizeof(TransportLKW); i++) if(IsPlayerInVehicle(playerid,TransportLKW[i])) return i;
        return -1;
    }


    Hiermit hole ich mir ein Index damit ich jedem Fahrzeug eine Variable aus dem Array zuordnen kann. LkwIndex["GetLKWIndex"]



    Jetzt will ich aber, dass wenn ich den Motor einschalte ich hier eine kleine Abfrage zu meinem Index mache. Ich kann es nicht machen, da ich den Stock nicht anwenden kann und ich jetzt nicht weiß,
    wie ich sonst den Index herausfinden kann.
    Ich kann ihn nicht anwenden, da gefragt wird ob ich in einen der Transport Fahrzeuge sitze.


    C
    if(vehicleid == TransportLKW[i])
    	{
    		if(LKWIndex1[i] == 1) return SCM(playerid,-1,"Stell den Index auf 0 bevor du den Motor an machst");
    	}

    Und wenn man genau hinschaut sieht man, dass ich im stock nachfrage ob der Spieler in einem der Transport Fahrzeuge sitzt. Heißt es geht nicht.


    i steht für den stock im ersten Quellcode

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • C
    MoveDynamicObjectRot(ZollMaut[i], 0.0, -90.0+90, 155.199981, true);

    dies funktioniert nicht.



    Dies funktioniert nicht, nichts passiert.


    C
    MoveDynamicObjectRot(ZollMaut[i], 0.0, 90.0-90, 8.800008, true);


    Alle Objekte mit dem - bewegen sich. die mit dem + nicht.
    Kann man kein + benutzen?

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Nein nicht wtf :(
    Das sind zwei verschiedene, sorry habe ich nicht angegeben :D . 2 verschiedene beim Öffnen. Also sollte es sonst gehen oder wie?
    Exact 90-90 soll 0 ergeben. :D

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Ja, aber das eine Objekt will sich nicht bewegen, habe es mit verschiedenen Testen versucht.


    Das Objekt kann ich bewegen.

    Code
    ZollMaut[7] = CreateDynamicObject(968, X,Y, Z, 0.000000, -90.000000, 155.199981, -1, -1, -1, 300.00, 300.00);


    Dieses aber nicht.

    Code
    ZollMaut[8] = CreateDynamicObject(968, X, Y, Z, 0.000000, 90.000000, -11.400006, -1, -1, -1, 300.00, 300.00);

    Das kann doch nicht sein?
    Wenn ich das Objekt ...[7] bewege, geht es. Bewege ich ...[8] geht es nicht? Ich habe sogar komplett andere Koordinaten angegeben.




    C
    ocmd:ttt(playerid,params[])
    {
        MoveDynamicObjectRot(ZollMaut[8], 0.0, 100, -24.800008, true);
        return 1;
    }

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Habe ich von den lieben @Kaliber

    C
    stock MoveDynamicObjectRot(obj, Float:rX, Float:rY, Float:rZ, bool:open)
    {
    	new Float:x,Float:y,Float:z;
    	GetDynamicObjectPos(obj,x,y,z);
    	MoveDynamicObject(obj,x,y,z+((open)?(0.0001):(-0.0001)),0.0001,rX,rY,rZ);
    	return 1;
    }

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Bist du dir 100%ig sicher, dass das Objekt, was du bewegen willst auch das Objekt ist, was du via Script ansteuerst ?


    Vergleich mal die ObjektIDs der Objekte.
    Lass dir die ID mal ausgeben. Einmal wenn du es erstellst und einmal wenn du es bewegen willst.

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Also du erstellst das object so ?
    CreateDynamicObject(968, X, Y, Z, 0.000000, 90.000000, -11.400006, -1, -1, -1, 300.00, 300.00); ?


    und du willst das die schranke zu geht nh ?


    MoveDynamicObjectRot(ZollMaut[8], 0, 0, -11.400006, true);

    Du willst mich kennenlernen? Kauf mein Buch, Bia*ch!


  • Also wie gesagt. Die gehen z.B

    Code
    ZollMaut[4] = CreateDynamicObject(968, X,Y,Z, 0.000000, 90.0, 489.600006, -1, -1, -1, 300.00, 300.00);
        ZollMaut[5] = CreateDynamicObject(968,X,Y,Z, 0.000000, 90.0, 669.599975, -1, -1, -1, 300.00, 300.00);


    die aber nicht

    Code
    ZollMaut[8] = CreateDynamicObject(968, X,Y,Z, 0.000000, 90.000000, -11.400006, -1, -1, -1, 300.00, 300.00); 
        ZollMaut[9] = CreateDynamicObject(968, X,Y,Z, 0.000000, 88.000000, 168.599990, -1, -1, -1, 300.00, 300.00);


    Und so bewege ich sie, ich habe sogar getestet z.b case 8: haut noch mal einen print raus, dass er es überhaupt durchführt.


    Code
    case 4: MoveDynamicObjectRot(ZollMaut[i], 0.0, 90.0-90, 489.600006, true);
            case 5: MoveDynamicObjectRot(ZollMaut[i], 0.0, 90.0-90, 669.599975, true);
    
    
    		case 8: MoveDynamicObjectRot(ZollMaut[i], 0.0, 90.0-90, -11.400006, true);
    		case 9: MoveDynamicObjectRot(ZollMaut[i], 0.0, 88.0-90, 168.599990, true);


    Ich vermute, dass die Rotation sehr sehr langsam verläuft, bei den Testversuchen habe ich mich mal rausgetabt und später als ich drin war waren diese verschoben.
    Ich entfern die letzen beiden einfach, dann können die mir auch keine Kopfschmerzen machen. Scheint zu komisch zu sein.

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Ich vermute, dass die Rotation sehr sehr langsam verläuft, bei den Testversuchen habe ich mich mal rausgetabt und später als ich drin war waren diese verschoben.

    Ja Teste das mal bitte also tab mal nicht raus währe gut es zu wissen
    //edit ich habe gerade nochmal getestet ich habe mit 10 Schranken kein Problem.


    Externer Inhalt youtu.be
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Du willst mich kennenlernen? Kauf mein Buch, Bia*ch!


    Einmal editiert, zuletzt von Maho ()

  • Yip, wie ich es geahnt habe.
    Neue Schranken gesetzt, mal ausprobiert geht wieder nicht, dein Beitrag gesehen. Wieder reingetabbt sie sind auf.
    Heißt es kann nur daran liegen, dass sie sich richtig langsam öffnen, anders kann ich mir das nicht erklären?


    Komisch ist, dass ich es nicht beobachten kann, es bewegt sich gar nicht. Habe es mal versucht zu beobachten, scheint so zu sein, dass es 20 Sekunden dauert, dass sich das teil 15 Grad bewegt.
    Die 15 Grad (geschätzt) werden sofort bewegt und in keiner smoothen Animation.


    Tab ich mich rein und raus scheint es halb zu gehen, woran liegt das?

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • Mahlzeit und zwar hab ich folgendes Problem bei der Registrierung. Man gibt sein Passwort sein beim Registrierpanel und dann kommt ein neues Fenster für das Einloggen, das klappt auch alles so. Anschließend kommt nix mehr man sieht nur noch den Strand von LS und die zwei Pfeile und der Spawn Button, eigentlich muss dann die Skinauswahl kommen was aber nicht passiert und wenn man auf Spawn drückt fliegt man aus der Welt, woran könnte das liegen? und aus welcher Zeile muss ich den Code schicken damit ihr den fehler sehen könnt.

  • Schick mal die MySQL LOG, vielleicht kann er irgendwas nicht Laden ?


    Und Zeig mal den Code, wo er auf den Public Aufruft wo die Daten aus der Datenbank geladen werden.


    "mysql_format(...);" *
    "mysql_tquery(..., "OnPlayerLoad", "d", playerid);" *



    * Nur Beispiele, so könnte es aussehen.

    Bestes Zitat des Jahres von Max Jackson!
    Vertrauen kann man mir auch, ich bin hier auf Breadfish schon sehr lange Aktiv und das sollte schon auf einer gewissen Weise, eine Vertrauensbasis schaffen. Ich meine, meine schlimmste Verwarnung war lediglich eine Morddrohung - Is ja nix.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen