[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
  • Kannst da einen Trick nutzen:


    ast2ufdyxkb1.png


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

  • Dir ist klar, dass er dafür den String splitten müsste und dann das einzeln in mehreren Variablen speichern müsste.
    Das ist natürlich viel weniger aufwändig, als den ganzen String direkt zu speichern :)

    Wenn er es unbedingt mit Punkten haben möchte? :D aber ja keine ahnung, war nur nh idee, wie gesagt, schon lange nicht mehr gescriptet -_(^-^)_-
    I just wanted to help :love:

    Ich bin wieder da, MoFogga


    You're not completely useless. You can always serve as a bad example!

  • Wieso wird der Text so komisch angezeigt? Sonst wurde er immer richtig angezeigt, habe nur einen neuen schöneren Textdraw gemacht.
    Ingame:

    Code:
    format(string, sizeof(string), "Begib dich zum naechsten Checkpoint!~n~Der weg bis San Fierro ist noch weit.~n~Falls dein Tank leer gehen sollte,~n~fahr zur Tankstelle und druecke die Taste 'Z'"); PlayerTextDrawSetString(playerid,InfoText[playerid],string);



    Die heutigen Noobs, sind die Profis von morgen! :thumbup:


    Danke an Jeffry für seine ständige Hilfsbereitschaft und freundliche Art. 8)


  • InfoText[playerid] = CreatePlayerTextDraw(playerid, 1.411764, 138.833435, "");
    PlayerTextDrawLetterSize(playerid, InfoText[playerid], 0.148352, 0.911666);
    PlayerTextDrawTextSize(playerid, InfoText[playerid], 2.500000, 0.000000);
    PlayerTextDrawAlignment(playerid, InfoText[playerid], 1);
    PlayerTextDrawColor(playerid, InfoText[playerid], -1);
    PlayerTextDrawSetShadow(playerid, InfoText[playerid], 0);
    PlayerTextDrawSetOutline(playerid, InfoText[playerid], 1);
    PlayerTextDrawBackgroundColor(playerid, InfoText[playerid], 51);
    PlayerTextDrawFont(playerid, InfoText[playerid], 2);
    PlayerTextDrawSetProportional(playerid, InfoText[playerid], 1);


    Das ist der Textdraw mit dem Text



    Die heutigen Noobs, sind die Profis von morgen! :thumbup:


    Danke an Jeffry für seine ständige Hilfsbereitschaft und freundliche Art. 8)

  • Hey, ich würde gerne ein System machen, bei dem mit dem Start eines Jobs, zufällige Checkpoints gesetzt werden, dies funktioniert auch sehr gut.
    Dennoch möchte ich das für jeden Checkpoint, eine entsprechende Aufgabe im Chat angezeigt wird.
    Also im Prinzip, wenn random der Checkpoint 1 kommt soll im Chat kommen: Checkpoint 1, bei 2 dann 2, bei 3...


    Wie stelle ich dies nun am geschicktesten an?


    Vielen Dank!

  • Hey,


    kann mir wer helfen? Bin noch nicht so ganz durchgedrungen mit MySQL. Mir wird gelegentlich dabei geholfen, jedenfalls wollte ich fragen was am folgenden Code falsch ist:


    Sofern der Name in der Tabelle gefunden wird, sollte man diesen Namen nicht setzen können, klappt aber nicht so ganz.
    Beispiel: Ich heiße Alex auf dem Server, jedoch gibt es schon einen Günther. Ich möchte mich Günther nennen, was ich auch per diesem Befehl dann kann.
    Es wird also nicht geblockt, wenn dieser Name schon existiert.


    Thx 4 Help.

  • Wie stelle ich dies nun am geschicktesten an?

    Also du musst irgendwie setzen, dass er jetzt auf dieser Route ist.


    Also zum Beispiel mit einem PVar oder global mit einem Player Array.


    Da du nur anzeigen willst im wie vielten Checkpoint der Spieler ist, kannst du das dann einfach hochzählen:


    Ich zeige es mal mit einem PVar:


    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

  • Nein, so meine ich das nicht ^^


    Wenn der Spieler den Job beginnt, dann bekommt er einen zufälligen Checkpoint, jeder Checkpoint ist eine andere Aufgabe, z.B an einem soll er eine Wasserprobe nehmen, am anderen eine Bodenprobe oder so etwas.


    Sprich, CP 1 ist z.B bodenprobe, cp2 eine wasserprobe,


    Dann soll er angezeigt bekommen, wenn random der cp1 kommt, sendclientmessage(.......“nimm eine bodenprobe“)
    Bei cp2, sendclientmessage(.......“wasserprobe“)


    Sodass jeder Checkpoint eine Aufgabe hat, welche dem spieler gezeigt wird, wenn der checkpoint erscheint.


    Hoffe es ist verständlich :D

  • Syntax Problem aber wo ?



    [17:48:54] [ERROR] error #1064 while executing query "UPDATE Accounts SET Pos_X = '708.469849', Pos_Y = '389.677765', Pos_Z = '1023.593933', Pos_R = '198.637726', Interior = '0', VirtuelleWorld = '1', Skin = '6', Admin = '6', Fraktion = '0', Rang = '6', Level = '2', Money = '45', Perso = '0',Alter = '18', Geburtstag = '05.12.1998', Geschlecht = '2', Bank = '0', Persot = '1509814432' WHERE ID = '4'": You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Alter = '18', Geburtstag = '05.12.1998', Geschlecht = '2', Bank = '0', Persot = ' at line 1


    https://pastebin.com/LmjvEqc8

  • Problem: Möchte von einem Input Dialog 3 Zeilen Textdraw ausfüllen. Für jede Zeile öffnet sich ein neues Dialogfenster.
    Am Ende möchte ich es in einer MSG Box anzeigen lassen(zur kontrolle) also hab ich versucht den Inputtext in einem string zu speichern aber das klappt irgendwie 0^^


    Oben im Script hab ich natürlich
    new werbung1[60];


    und für den Dialogcode


    Dann gibt er mit den Error ?
    C:\Users\ENEF\Desktop\SA-MP\samp037_svr_R2-1-1_win32\gamemodes\newrl.pwn(5570) : error 033: array must be indexed (variable "werbung1")



    Die heutigen Noobs, sind die Profis von morgen! :thumbup:


    Danke an Jeffry für seine ständige Hilfsbereitschaft und freundliche Art. 8)

  • strval konvertiert einen String in einen Integer.


    Du willst aber keinen Integer, sondern den String logischerweise behalten, also musst du ihn 1:1 übertragen:


    werbung1 = strval(inputtext);

    Also anstatt dieser Zeile, folgendes:


    format(werbung1,sizeof(werbung1), inputtext);

    ast2ufdyxkb1.png


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

  • Danke hat funktioniert! Nun ein neues Problem.
    Möchte ja die 3 Zeilen vorher kontrollieren und in einer MSGBOX anzeigen lassen.
    Ich dachte es wäre so eine gute Option, jedoch bekomme ich 1 Warn, Debugg Meldungen und das Dialog öffnet sich nicht.


    Debug:


    Warn: C:\Users\ENEF\Desktop\SA-MP\samp037_svr_R2-1-1_win32\gamemodes\newrl.pwn(5596) : warning 202: number of arguments does not match definition


    Code:



    Die heutigen Noobs, sind die Profis von morgen! :thumbup:


    Danke an Jeffry für seine ständige Hilfsbereitschaft und freundliche Art. 8)

  • 1. Es fehlt der Titel vom Dialog, vor dem stringwerbung pack ein "Werbung", davor.


    2. Du formatierst stringwerbung nachdem du es nutzt?! Das ist ein bisschen dämlich ^^

    ast2ufdyxkb1.png


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