[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
  • Hey,


    Kurze frage habe mir ein Filterscript für admins runtergeladen für mein Mapping Server


    Jetzt wollte ich noch ein unbann befehl machen da ich die SQL Format 3 Datei nicht bearbeiten kann warum auch immer.


    Siehe hier:


    C
    CMD:unban(playerid,params[])
    {
    	new NameString[64], GrundString[64], string[128];
      	if(sscanf(params,"s[64]s[64]", NameString, GrundString))return SendClientMessage(playerid, red, "[INFO]: /unban [Spieler Name] [Grund]");
        if(strlen(GrundString) > 30)return SendClientMessage(playerid, red, "[INFO]: /unban [Spieler Name] [Grund darf maximal 30 Zeichen haben]");
    	format(string, sizeof(string), "%s hat den Spieler %s entbannt, Grund: %s", pName(playerid), pName(NameString), GrundString);
    	SendClientMessageToAll(grey, string); //3618
        PlayerInfo[NameString][Banned] = 0; //3620
     	return 1;
    }

    C:\Users\Patrik\Desktop\Allgemein\Mapping Server\filterscripts\ladmin.pwn(3618) : error 035: argument type mismatch (argument 1)C:\Users\Patrik\Desktop\Allgemein\Mapping Server\filterscripts\ladmin.pwn(3620) : error 033: array must be indexed (variable "NameString")

  • pName(NameString) zu NameString

  • E:


    Habe nun das ganze umgeschrieben siehe hier:


    [16:59:16] UPDATE `users` SET `banned` = '0' WHERE `username` = -


    username bleibt geheim^^
    Aber er stimmt aufjedenfall.


    Also es setzt sich nichts auf 0 es bleibt gleich...

  • Hello,
    so guys i need you to help me... Spaß bei Seite :D


    Bin gerade dabei ein wenig Ordnung in mein Script zu bringen.
    Hier habe ich die X, Y, Z, RZ Positionen von dem Objekt gelagert.
    Ich möchte das Objekt gerne erstellen OBJID: 963
    Aber so kann ich es ja nicht benutzten, da die Reihenfolge ja nicht stimmt da ich nach der Z Koordinate ja die RX kommt.

    C
    stock const Float:ticketATM[][] =
    {
    	{1148.9121,-1464.1848,18.5138,270.0000}, //1
    	{1609.9197,-524.0646,15.5138,450.0000}, //2
    	{1910.7603,-751.3950,19.5138,270.0000}, //3
    	{9951.0599,-150.2548,21.5138,450.0000}  //4
    };


    Code
    CreateDynamicObject (ItemID, X, Y, Z, RX, RY, RZ, world);

    Jemand eine Idee, wird es dazwischen bei RX, RY, ein 0, 0 tun? Und kann ich dann die Zeile beim Erstellen einzeln so lassen?

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

  • Kann ich ein Fahhrad drosseln von der Geschwindigkeit her, wen es keinen Tacho hat?

    Jaa...das hat nix mit dem Tacho zu tun...könntest einfach das nutzen: https://forum.sa-mp.com/showthread.php?t=179089



    Und kann ich dann die Zeile beim Erstellen einzeln so lassen?

    Du kannst die 0,0 doch einfach setzen:


    C
    for(new i; i<sizeof(ticketATM); i++)
    {
        CreateDynamicObject (963, ticketATM[i][0], ticketATM[i][1], ticketATM[i][2], 0, 0, ticketATM[i][3]);
    }

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Also dass der Hubschrauber Wasser rausspritzen kann unten.

    Kloar, musste mal experimentieren mit ein paar Objekten :)


    Wenn halt eine Taste gedrückt wurde im Heli, wird das Objekt erstellt (einfach die Z-Achse vom Heli nehmen und ein wenig nach unten setzen) und dann prüfen, ob das über einem Feuer war und das dann mit einem Timer (halt zeitversetzt) löschen :)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Objekt wird erstellt, das Textlabel nicht.
    Ich komme einfach nicht darauf woran es liegt.

    C
    stock const Float:ticketATM[][] =
    {
    	{1148.9121,-1464.1848,18.5138,270.0000}, //1
    	{1609.9197,-524.0646,15.5138,450.0000}, //2
    	{1910.7603,-751.3950,19.5138,270.0000}, //3
    	{9951.0599,-150.2548,21.5138,450.0000}  //4
    };
    C
    for(new i; i<sizeof(ticketATM); i++) //Parkschein Automat
    	{
    	    CreateDynamicObject (963, ticketATM[i][0], ticketATM[i][1], ticketATM[i][2], 90, 0, ticketATM[i][3]);
         	Create3DTextLabel("X", YELLOW,ticketATM[i][0],ticketATM[i][1],ticketATM[i][2], 15.0, 0, -1);
    	}

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

  • Wie kann ich de am besten mit ocmd einen Befehl machen der mir den Chat löscht?


    Edit: So hab ichs getestet, jedoch gehts net.

  • So zum Beispiel:


    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Danke, der Befehl hat geklappt.

    Kloar, musste mal experimentieren mit ein paar Objekten :)
    Wenn halt eine Taste gedrückt wurde im Heli, wird das Objekt erstellt (einfach die Z-Achse vom Heli nehmen und ein wenig nach unten setzen) und dann prüfen, ob das über einem Feuer war und das dann mit einem Timer (halt zeitversetzt) löschen :)

    Also, es sollte funktionieren, aber man kanndas Feuer damit nicht wirklich löschen, sondern es geht mit nem Timer aus wenn man drüber fliegt oder wie?

  • Also, es sollte funktionieren, aber man kanndas Feuer damit nicht wirklich löschen, sondern es geht mit nem Timer aus wenn man drüber fliegt oder wie?

    Feuer ist nur ein Objekt.


    Und wie soll ein Objekt ein anderes Objekt einfach so eliminieren? :D


    Du musst checken, ob das Wasser-Objekt bei dem Feuer-Objekt ist und das Feuer-Objekt dann halt eben zerstören.


    Da gibt es bestimmt eine Funktion für...je nachdem, welches System du dafür nutzt um das Feuer zu erstellen :)


    Der Timer dient nur als Zeitverzögern, nicht dass das Wasser Objekt erstellt wird und dann das Feuer sofort aus geht..das macht ja keinen Sinn..das Wasser-Objekt muss natürlich erstmal beim Feuer ankommen :D

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Beitrag von Allrounder18 ()

    Dieser Beitrag wurde von Canna aus folgendem Grund gelöscht: Like Button! ().
  • Erstmal danke noch einmal @Kaliber.

    Code
    stock const Float:ticketATM[][] =
    {
    	{1148.9121,-1464.1848,18.5138,270.0000}, //1
    	{1609.9197,-524.0646,15.5138,450.0000}, //2
    	{1910.7603,-751.3950,19.5138,270.0000}, //3
    	{9951.0599,-150.2548,21.5138,450.0000}  //4
    };


    Bin gerade an einem Punkt angelangt wo ich nicht mehr weiter komme :D
    Will die nähsten Koordinaten herausfinden und dort soll ein Checkpoint erstellt werden.
    Freue mich über jegliche Hilfe :)

    C
    ocmd:findnearestcords(playerid,params[])
    {
        for(new b;b<sizeof(bInfo);b++)
        {
    	}
    	return 1;
    }

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

  • Benutze das Include ja schon, den Checkpoint zu erstellen sollte kein Problem sein ^^
    Nur verstehe ich nicht wie ich ein Checkpoint an die nähste Koordinate setzte.


    Heißt in diesem Fall ich will ein Automat auffinden aber weiß nicht wo einer steht.
    Benutze den Befehl und ein Checkpoint wird dort erstellt wo es am nähsten dran ist.


    Kurze Frage noch dazu:
    Finde gerade auf die Schnelle nicht wie ich eine randomzahl von 100-300 generiere und nicht von 0-300


    Dazu, würde es mit dem  if else Abfragen klappen? Oder wird es so nicht funktionieren?

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

  • Nur verstehe ich nicht wie ich ein Checkpoint an die nähste Koordinate setzte.

    Dann frag das doch :D


    Du willst also nur wissen, wie du den nähsten Automaten findest :D



    wie ich eine randomzahl von 100-300 generiere und nicht von 0-300

    new r = random(200)+100;
    Würde jetzt von 100 - 299 gehen.


    Oder willst du wirklich bis 300?


    Dann einfach im random 201 verwenden :)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

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