[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
  • Funktioniert nicht.
    Was mache ich falsch?


    Mache es einfach so:


    Funktioniert nicht.
    Ich will es halt so machen, dass ich /create eingebe, dann stehen mir auswahlmöglichkeiten zur verfügung (Haus, Pickup, etc.)
    Wenn ich dann Pickup eingegeben hab, sollte eine neue Message kommen, für die entsprechenden Parameter

  • 3HZXdYd.png

    Einmal editiert, zuletzt von Jeffry () aus folgendem Grund: Ausgebessert.

  • Danke an euch beiden :)


    Habe noch ein Countdown Befehl hier rumliegen, der benutzt aber selbsterstelle Textdraws, möchte lieber einen haben der mit GameTextStyles arbeitet.


    Sieht zurzeit so aus:


    C
    CMD:ecountdown(playerid,params[]) //Starts a countdown, after the countdown the Doors will be locked.
    {
    	if(countTimer != -1) return SendClientMessage(playerid, RED, "ERROR: Countdown is already enabled.");
    	if(!params[0]) return SendClientMessage(playerid, 0xFF0055FF, "Type in a time.");
    	new time = strval(params);
    	if(time < 10 || time > 500) return SendClientMessage(playerid, RED, "Type in a time from 10 to 500..");
    	countTimer = SetTimerEx("CountDownObjekte", 1000, false, "dd", playerid, time);
    	return 1;
    }



    Mit freundlichen Grüßen
    JustMe.77 8)

  • [wiki]GameTextForAll[/wiki]

  • Wenn ich nur "/create pickup" eingebe, dann zeigt der mir trotzdem noch "Benutze: /create [Pickup]" an.

  • Ah, stimmt, sorry. Optionale Parameter sind ja groß.

    Versuche es so.

  • Kann mir jemand sagen wieso der Sound immer nur bei jedem zweiten mal ertönt?



    Mit freundlichen Grüßen
    JustMe.77 8)

  • Weil du es so gemacht hast.
    So würde es immer kommen:

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


    Ich habe ja beim Countdown die Funktion dass wenn der Countdown vorbei ist, sich 2 Objekte erstellen welche die Türen schließen. Wenn ich aber danach den Befehl nochmal benutze, kann ich die nicht mehr entfernen.


    Also benötige ich Hilfe in entweder A) Eine Funktion erstellen welche mir nicht erlaubt den Befehl zu benutzen bis ich die nächste Runde gestartet habe, oder B) ein Befehl womit ich notfalls die Objekte löschen kann.



    Der Befehl womit ich den Countdown starte sieht immer noch so aus:


    C
    CMD:ecountdown(playerid,params[]) //Starts a countdown, after the countdown the Doors will be locked. (There is no command yet to unlock the doors).
    {
    	if(countTimer != -1) return SendClientMessage(playerid, RED, "ERROR: Countdown is already enabled.");
    	if(!params[0]) return SendClientMessage(playerid, 0xFF0055FF, "Type in a time.");
    	new time = strval(params);
    	if(time < 10 || time > 500) return SendClientMessage(playerid, RED, "Type in a time from 10 to 500..");
    	countTimer = SetTimerEx("CountDownObjekte", 1000, false, "dd", playerid, time);
    	return 1;
    }





    Die Funktionen die dazu gehören





    Und den Befehl womit ich die Objekte manuell erstellen und löschen kann, aber wenn ich die Objekte mit dem Countdown erstelle, kann ich sie nicht mit /elock löschen..


    Edit: Vergessen die Funktion zu posten für die nächste Runde.



    Mit freundlichen Grüßen
    JustMe.77 8)

  • Nimm das hier aus dem elock Befehl raus:
    static bool:status;
    und schreibe es unter die Includes als:
    new bool:status;


    Dann kannst du in dem countdown Befehl abfragen:

    Code
    if(!status) return SendClientMessage(playerid, 0xFF0000FF, "Error: Nicht unlocked.");


    PS: Es wäre wesentlich sinnvoller, wenn du einen eigenen Thread erstellst, weil das keine kleinen Fragen mehr sind, mit so viel Code.

  • Jeffry:


    Ich habe das jetzt so gemacht wie du gesagt hast, nun treten 2 Fehler auf:


    1) Die Türen sind von Anfang an schon geschlossen.
    2) /ecountdown funktioniert nicht, sagt mir immer: ERROR: Nicht unlocked.


    C
    CMD:ecountdown(playerid,params[]) //Starts a countdown, after the countdown the Doors will be locked. (There is no command yet to unlock the doors).
    {
    	if(countTimer != -1) return SendClientMessage(playerid, RED, "ERROR: Countdown is already enabled.");
    	if(!params[0]) return SendClientMessage(playerid, 0xFF0055FF, "Type in a time.");
     	if(!status) return SendClientMessage(playerid, 0xFF0000FF, "Error: Nicht unlocked.");
    	new time = strval(params);
    	if(time < 10 || time > 500) return SendClientMessage(playerid, RED, "Type in a time from 10 to 500..");
    	countTimer = SetTimerEx("CountDownObjekte", 1000, false, "dd", playerid, time);
    	return 1;
    }


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Bekomme den Fehler:


    Code
    error 017: undefined symbol "SetVehicleNumberplate"


    In der Zeile:



    Code
    SetVehicleNumberplate(pCar[playerid][t][pc_vID],inputtext);
    
    
    Aber die Funktion gibt es doch? Mir wird ja sogar angezeigt was ich einfügen muss.
  • Die Fahrzeuge der Spieler werden nach dem Disconnect nicht gespeichert.
    Es wird nur Step 1 & 2 geprintet.


    Falls die Frage kommt: VehicleInfo[i][v_XID] = CreateVehicle(...


    OnPlayerDisconnect

  • Das kein nicht sein, denn ich habe 2 Fahrzeuge z.B die mir gehören.
    Habe auch schon einmal die Abfrage ausgeklammert, dann wurde Step 1 bis 3 geprintet.
    --
    Wenn ich die beiden Abfragen ausklammere, wird die Speicherung ausgeführt. -> Ergo: Es muss irgendetwas an den Abfragen falsch sein?
    Dabei taucht aber das Problem auf das, dass selbe Fahrzeug mehrmals entfernt wird, was nicht gewollt ist.
    Und es wird auch nur das erste Spieler-Fahrzeug gespeichert.


  • Was ist die beste Methode um ShowPlayerDialog Msgstylebox so übersichtlich wie Möglich zu gestalten? Möchte viel reinschreiben doch in eine Ganze Zeile passt das nicht. Wenn ich das alles in eine Zeile reinpacke sieht das nicht schön aus und ist unübersichtlich..


    Mit freundlichen Grüßen
    JustMe.77 8)