[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
  • C
    public OnPlayerClickTextDraw(playerid, Text:clickedid)
    {
      if(_:clickedid == INVALID_TEXT_DRAW)
      {
        /*
          -- dein Hide Code hier --
        */
        CancelSelectTextDraw(playerid);
      }
    }

    //Edit:



    ast2ufdyxkb1.png


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

  • Kaliber: Danke, werde ich austesten :)


    Edit:


    Das mit den Koordinaten funktioniert gut, danke. Nur mit den Textdraws nicht so gewollt:




    Ist if(_:clickedid == INVALID_TEXT_DRAW) eine Art Standart Definierung oder muss ich da meine Definition angeben, sprich alle Textdraws von 0-6?


    Mit freundlichen Grüßen
    JustMe.77 8)

    Einmal editiert, zuletzt von JustMe.77 ()

  • Beitrag von Syno ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Problem gelöst. Lösung hier: KLICK


    Arbeite jetzt mit Dialogen und wollte fragen wie ich abfrage was ich ins Dialog eingetippt habe.


    Befehl:



    OnDialogResponse



    Benötige das damit ich den Spieler anzeigen kann für wie viel $ er sich ein Ticket gekauft hat.


    Mit freundlichen Grüßen
    JustMe.77 8)

    2 Mal editiert, zuletzt von JustMe.77 ()

  • Funktioniert super :)! @Jeffry


    Wollte ein Limit einfügen, habe es so gemacht bekomme aber Errors. (Ist glaube ich komplett falsch)



    Mit freundlichen Grüßen
    JustMe.77 8)

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Bisschen schwer xD Hab's so versucht bekomme aber unreachable Code Error.



    Mit freundlichen Grüßen
    JustMe.77 8)

  • Danke 8o


    So eine Nebenfrage:


    Ich habe einen PickUp erstellt und lasse per Dialog MSGBox Style immer eine Nachicht anzeigen. Das Problem nur ist das wenn man auf dem PickUp steht der Dialog die Ganze Zeit erscheint.


    Ich weiß selbst das ich das lösen könnte wenn ich ein anderen PickUpStyle verwende, z.B. jede 15 Sekunden Respawnen lassen aber das möchte ich nicht wirklich. Kann ich eine Art "Sperre" einfügen die das nur 1 mal anzeigt bei jedem betreten?


    Schaut so aus:


    Unter OnFilterScriptInit


    //Info PickUp InfoPickUp = CreatePickup(1239,1,1412.7090,-1464.9568,106.6032, -1); //Info PickUp


    Und der Public (Habe mal die restlichen Nachichten entfernt weils zu lang ist)



    Mit freundlichen Grüßen
    JustMe.77 8)

  • Du setzt beim reingehen einen Wert auf 1 und fragst vorher ab, ob der Wert auf 1 oder 0 ist. Wenn du das Pickup wieder verlässt, packst du es auf 0.


    Ich glaube du setzt mehr Zeit in diesen Sammelthread, als dich mit dem Scripten zu befassen. Tut mir leid für diese Aussage, aber so scheint es mir.

  • Ich bin kein Scripter, das einzige was ich gut kann ist Mappen. Bevor ich irgendwelche Fragen stelle versuche ich es so gut wie möglich selbst zu lösen, doch das gelingt mir nicht oft da ich nicht die besten Kentnisse habe. Wenn Jeffry oder auch andere Leute keine Lust haben mir eine Frage zu beantworten dann machen sie es halt nicht und ich akzeptiere das auch. Du musst mir ja auch nicht helfen, wird keiner gezwungen. Was ich aber sagen kann ist das ich Fehler die ich öfters mache durch Fragen die ich stelle gar nicht oder seltener mache, also bringt das ja schon etwas :)


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Eben. Wer nicht helfen will, muss ja nicht helfen.


    Du kannst das so machen:
    Unter den Includes:

    C
    new pickedUp[MAX_PLAYERS];


    Beim OnPlayerPickUpPickup:

    C
    if(pickupid == deinPickup) //ändern
    {
    	if(pickedUp[playerid] != -1 && pickedUp[playerid] < gettime())
    	{
    		pickedUp[playerid] = -1;
    		//Hier den Dialog anzeigen
    	}
    }


    Und bei OnDialogResponse, von dem Dialog:

    C
    pickedUp[playerid] = gettime() + 3;


    So hat man noch drei Sekunden Zeit, um das Pickup zu verlassen, wenn der Dialog geschlossen wurde.