Ja habe es gerade ausprobiert, bringt leider nichts. IsNull prüft ja auch lediglich ob params vorhanden sind, hat ja eigentl. an sich nichts mit der string-formatierung zu tun
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
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
-
-
Wenn wir die Datenbank vom Script ändern Laden die Objekte von den Arenen
nicht wieso?
-
Ja habe es gerade ausprobiert, bringt leider nichts. IsNull prüft ja auch lediglich ob params vorhanden sind, hat ja eigentl. an sich nichts mit der string-formatierung zu tun
Doch, da bei dir vorher sscanf das nochmal konvertiert, und du so direkt die Params nutzt.
Schreib mal aus Spaß ein print(params); wird das denn richtig ausgegeben, was du eingibst?
Wenn wir die Datenbank vom Script ändern Laden die Objekte von den Arenen
nicht wieso?
Mal Crashdetect geladen?
-
Hab mein Problem gefunden und gelöst, eine stock-Funktion hat im Hintergrund mein Komma entfernt.
Danke trotzdem für die Antworten und die IsNull-Erklärung, werde ich ab jetzt nutzen!
-
Beitrag von Safi ()
Dieser Beitrag wurde von shoxinat0r gelöscht (). -
#0xFF1400FFSobald du auf Registrieren klickst, wird deine IP temporär gesichert! ","Registrieren","Abbrechen");
Kann man das so machen für farbe ist für ein Login Dialog.
-
Kann man das so machen für farbe ist für ein Login Dialog.
Nein, dafür musst du sowas nutzen: https://wiki.sa-mp.com/wiki/Colors_List#Color_embedding
Ergo:
"{FF1400}Sobald du auf Registrieren klickst, wird deine IP temporär gesichert! ","Registrieren","Abbrechen");
-
Wie kann ich den Serverspawn ändern SetPlayerPos geht nicht?
-
Wie kann ich den Serverspawn ändern SetPlayerPos geht nicht?
Was meinst du denn mit Serverspawn?
Wo sich der Spieler befindet, nachdem er gespawnt wurde?
Oder die Position wo er den Skin wechselt?
Zeig uns evtl mal dein OnPlayerSpawn und was du versucht hast zu ändern

-
Wie kann ich den Serverspawn ändern SetPlayerPos geht nicht?
Wieder I Love DM denke ich mal.
Such unter OnPlayerSpawn folgendes:
NICHT EINFÜGEN SONDERN NUR DIE COORDS UMÄNDERN.
-
Guten Abend,
wenn mir jemand ne PM sendet mit folgendem Befehl kommt PM an [65355]. Ich bin ID0.
Woran kann das liegen?
Code
Alles anzeigenocmd:pm(playerid, params[]) { new str[256], str2[256], id, Name1[MAX_PLAYER_NAME], Name2[MAX_PLAYER_NAME], pID; if(sscanf(params, "us[256]", id, str2)) { SendFehler(playerid,"/pm [Name/ID] [Nachricht]"); return 1; } if(pID >= MAX_PLAYERS) return SendFehler(playerid,"Der angegebene Spieler ist nicht online"); if(!AccountInfo[pID][account_Eingeloggt] == false) return SendFehler(playerid,"Der angegebene Spieler ist nicht online"); //if(CharacterInfo[pID][character_Eingeloggt] == false) return SendFehler(playerid,"Der angegebene Spieler ist nicht online"); if(playerid == id) return SendFehler(playerid,"Du kannst dir nicht selber eine PM senden"); { GetPlayerName(playerid, Name1, sizeof(Name1)); GetPlayerName(id, Name2, sizeof(Name2)); //if(GetPVarInt(playerid,"aduty") == 1) format(str, sizeof(str), "(( PM an %s[%d]: %s ))", Name2, id, str2); //SetPlayerName(playerid,str); SendClientMessage(playerid, ORANGE, str); format(str, sizeof(str), "(( PM von %s[%d]: %s ))", Name1, playerid, str2); SendClientMessage(id, ORANGE, str); } return 1; }Danke im Voraus.
MfG
Allrounder18
-
Woran kann das liegen?
Du bringst id und pID durcheinander.
Du solltest wirklich mehr Ordnung in deinen Code bringen, dann hast du es generell auch viel einfacher...
C
Alles anzeigen//Oben im Skript #define IsNotConnected(%0) (!IsPlayerConnected(%0) || !AccountInfo[%0][account_Eingeloggt]) #define SCME(%0,%1,%2,%3) format(string,sizeof(string),%2,%3),SendClientMessage(%0,%1,string) #define GetName(%0) global_names[%0] new global_names[MAX_PLAYERS][MAX_PLAYER_NAME]; //Unter OnPlayerConnect GetPlayerName(playerid, GetName(playerid), MAX_PLAYER_NAME); //Der Befehl ocmd:pm(playerid, params[]) { new string[256], msg[145], pID; if(sscanf(params, "us[145]", pID, msg)) return SendFehler(playerid,"/pm [Name/ID] [Nachricht]"),1; if(IsNotConnected(pID)) return SendFehler(playerid,"Der angegebene Spieler ist nicht online"); if(playerid == pID) return SendFehler(playerid,"Du kannst dir nicht selber eine PM senden"); SCME(playerid, ORANGE, "(( PM an %s[%d]: %s ))", GetName(pID), pID, msg); SCME(pID, ORANGE, "(( PM von %s[%d]: %s ))", GetName(playerid), playerid, msg); return 1; }Dann sieht man auch, was Sache ist...
-
Du bringst id und pID durcheinander.
Du solltest wirklich mehr Ordnung in deinen Code bringen, dann hast du es generell auch viel einfacher...
C
Alles anzeigen//Oben im Skript #define IsNotConnected(%0) (!IsPlayerConnected(%0) || !AccountInfo[%0][account_Eingeloggt]) #define SCME(%0,%1,%2,%3) format(string,sizeof(string),%2,%3),SendClientMessage(%0,%1,string) #define GetName(%0) global_names[%0] new global_names[MAX_PLAYERS][MAX_PLAYER_NAME]; //Unter OnPlayerConnect GetPlayerName(playerid, GetName(playerid), MAX_PLAYER_NAME); //Der Befehl ocmd:pm(playerid, params[]) { new string[256], msg[145], pID; if(sscanf(params, "us[145]", pID, msg)) return SendFehler(playerid,"/pm [Name/ID] [Nachricht]"),1; if(IsNotConnected(pID)) return SendFehler(playerid,"Der angegebene Spieler ist nicht online"); if(playerid == pID) return SendFehler(playerid,"Du kannst dir nicht selber eine PM senden"); SCME(playerid, ORANGE, "(( PM an %s[%d]: %s ))", GetName(pID), pID, msg); SCME(pID, ORANGE, "(( PM von %s[%d]: %s ))", GetName(playerid), playerid, msg); return 1; }Dann sieht man auch, was Sache ist...
Danke, nun steht wenn man mir (ID 0) eine PM schreiben will "Der angegebene Spieler ist nicht online."
Edit: Auszug aus dem Enum: bool:account_Eingeloggt,
-
Setzt du denn, wenn der Spieler sich eingeloggt hat das account_Eingeloggt auch auf true?
oder soll das auf false bleiben?
Kannst ja mal das Makro so schreiben:
#define IsNotConnected(%0) (!IsPlayerConnected(%0) || AccountInfo[%0][account_Eingeloggt])
-
Hat jemand die Coords wo ich
die Uhrzeit nach geschrieben habe.
CodeClock[playerid] = CreatePlayerTextDraw(playerid, 548.750000, 65.333332, "00:00"); PlayerTextDrawLetterSize(playerid, Clock[playerid], 0.326875, 1.308333); PlayerTextDrawAlignment(playerid, Clock[playerid], 1); PlayerTextDrawColor(playerid, Clock[playerid], -1); PlayerTextDrawSetShadow(playerid, Clock[playerid], 0); PlayerTextDrawSetOutline(playerid, Clock[playerid], 1); PlayerTextDrawBackgroundColor(playerid, Clock[playerid], 51); PlayerTextDrawFont(playerid, Clock[playerid], 3); PlayerTextDrawSetProportional(playerid, Clock[playerid], 1); -
SAMP Textdraw Studio nutzen. Keiner weiß dir Coords auswendig.
-
SAMP Textdraw Studio nutzen. Keiner weiß dir Coords auswendig.
Man kann sowas im eigenen Script finden
-
Man kann sowas im eigenen Script finden
Nein ist im ILoveDm Script nicht drinne.
-
Hat jemand die Coords wo ich
die Uhrzeit nach geschrieben habe.
Keiner weiß dir Coords auswendig
Das ist zwar korrekt, aber man kann sie ja versuchen zu raten.
Alsooo wir wissen, dass das Feld max 640x448 groß ist.
CreatePlayerTextDraw(playerid, 548.750000, 65.333332, "00:00");
Seine aktuelle Position: 548.75 und 65.333
Wollen wir es also weiter nach oben verschieben, muss Y kleiner werden und ein stück nach rechts, also X ein wenig erhöhen.
CreatePlayerTextDraw(playerid, 570, 45, "00:00");
Wäre so ein guess hahaha xD
Aber natürlich wäre es 1000x einfacher einfach einen TextDraw Editor zu nutzen, gerade dann, wenn du auch noch die Größe etc anpassen magst

-
Hat jemand die Coords wo ich
die Uhrzeit nach geschrieben habe.
CodeClock[playerid] = CreatePlayerTextDraw(playerid, 548.750000, 65.333332, "00:00"); PlayerTextDrawLetterSize(playerid, Clock[playerid], 0.326875, 1.308333); PlayerTextDrawAlignment(playerid, Clock[playerid], 1); PlayerTextDrawColor(playerid, Clock[playerid], -1); PlayerTextDrawSetShadow(playerid, Clock[playerid], 0); PlayerTextDrawSetOutline(playerid, Clock[playerid], 1); PlayerTextDrawBackgroundColor(playerid, Clock[playerid], 51); PlayerTextDrawFont(playerid, Clock[playerid], 3); PlayerTextDrawSetProportional(playerid, Clock[playerid], 1);Würde dir empfehlen, dass mit einen TextDraw-Editor zu machen (Zum Beispiel den: https://forum.sa-mp.com/showthread.php?t=641085).
Aber wieso PlayerTextDraw bei der Uhrzeit? Globales wäre da besser meiner Meinung nach.
