Dein Array heißt supermarkt und du loopst über ticketATM. Da passt was nicht.
[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
-
-
-
Schreibe den gleichen Code bitte mal zwei mal hintereinander hin, sprich:
CreateDynamicPickup(1239,1,supermarkt[i][0],supermarkt[i][1],supermarkt[i][2]);
Create3DTextLabel("x", YELLOW,supermarkt[i][0],supermarkt[i][1],supermarkt[i][2], 9.0, 0, 0);
CreateDynamicPickup(1239,1,supermarkt[i][0],supermarkt[i][1],supermarkt[i][2]);
Create3DTextLabel("x", YELLOW,supermarkt[i][0],supermarkt[i][1],supermarkt[i][2], 9.0, 0, 0);Klappt es dann?
Wenn ja, dann ist dies das erste Label (ID 0) und du löschst das irgendwo weiter unten im Code fälschlicherweise.
-
Bist du denn auch wirklich in der virtuellen Welt 0, wenn du im Interior bist?
-
Code doppelt gepostet, geht nicht.
Ich bin nicht in der virtuellen Welt 0, wenn ich im Interior bin.
Ich benutzte ein Interior öfters und diese haben jeweils andere Welten, damit die Spieler sich nicht sehen. -
Dann musst du die Parameter Interior und Virtuelle Welt auch mit angeben
-
Aber wo?
https://wiki.sa-mp.com/wiki/CreatePlayer3DTextLabel
Da steht doch nirgends was mit der Virtuellen Welt oder Interior?
Verstehe das gerade nicht -
Wenn du CreateDynamicPickup verwendest kannste auch CreateDynamic3DTextLabel verwenden dort kannst du das
-
Das Pickup wird ja angezeigt, nur das Label nicht
- CreateDynamicPickup(modelid, type, Float:x, Float:y, Float:z, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = STREAMER_PICKUP_SD, areaid = -1, priority =
Das heißt, ich soll hier die worldid und die interiorid mit angeben heißt im array mit aufnehmen und dann wird mein 3DTextLabel funktionieren? Hängen die zusammen oder wie?
-
Du sagst ja dass du in einem Interior bist also auch in einer Vituellen Welt richtig ?
-
Ja ich bin in einem Interior mit einer anderen Virtuellen Welt in diesem Fall habe ich die 1 eingetragen, benutzte ich das Interior 2 mal werde ich die 2 benutzten usw.
-
Probiert das mal aus dem CreateDynamic3DTextLabel da brauchste ja nur zum Test die Interior ID und die Virtuelle Welt von den eintragen um zu schauen ob es geht, wenn ja dann einfach es in deinem Array mit hinterlegen.
-
Ja ich bin in einem Interior mit einer anderen Virtuellen Welt in diesem Fall habe ich die 1 eingetragen
Dann musst du bei Create3DTextLabel auch die 1 nutzen, sonst siehst du das Label nicht. Aktuell hast du dort VirtualWorld = 0 eingetragen.
-
Hoppla!
Ich habe mir die ganze Zeit die Parameter vom CreatePlayer3DTextLabel angeschaut. Mein Fehler!!!!!!Ich kann jetzt aber die Virtuelle Welt ID nicht mitnehmen, da hier ja Floats abgespeichert werden, was soll ich tun? 1.0 ?
-
Ich kann jetzt aber die Virtuelle Welt ID nicht mitnehmen, da hier ja Floats abgespeichert werden, was soll ich tun? 1.0 ?
Sauber wäre es, über ein enum zu arbeiten, dann kannst du mitgeben, welcher Wert Float und welcher Integer ist.
Ansonsten, mit 1.0 und im loop mit floatround den Wert zum Integer "runden". Das wäre die "Quick & Dirty" Lösung. -
Alles klar, danke habe es mit Floatround hinbekommen ist im Grunde leichter

Kurze Frage:
Ist es möglich ein Strip Club in SA:MP hinzubekommen mit Peds die dann rumtanzen im Stripclub Interior? -
Du kannst ein Actor erstellen der eine Animation ausführt
-----
Warum kommt die Nachricht doppelt?
public OnPlayerText(playerid, text[])
{
new Float:X, Float:Y, Float:Z, String[512];
GetPlayerPos(playerid, X, Y, Z);
for(new i=0;i<MAX_PLAYERS; i++)
{
if(IsPlayerInRangeOfPoint(i, CHAT_RADIUS, X, Y, Z))
{
format(String, sizeof(String), "%s "HTML_WEIS": %s", Spieler[playerid][pName], text);
SendClientMessage(i, GetPlayerColor(playerid), String);
return 1;
}
}
return 0;
} -
Warum kommt die Nachricht doppelt?
Wegen dem return 1; in der Schleife.
Ich empfehle es dir einfach so zu schreiben:
C
Alles anzeigenpublic OnPlayerText(playerid, text[]) { new String[144]; format(String, sizeof(String), "%s "HTML_WEIS": %s", Spieler[playerid][pName], text); SendRangeMessage(playerid, GetPlayerColor(playerid), CHAT_RADIUS, String); return 0; } stock SendRangeMessage(playerid, color, Float:range, const msg[]) { new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid, X, Y, Z); for(new i=GetPlayerPoolSize(); i!=-1; i--) { if(IsPlayerInRangeOfPoint(i, range, X, Y, Z)) SendClientMessage(i, color, msg); } return 1; } -
Hallo!
Ist es möglich, einen Korb (gemappt oder Objekt ist egal) mit einer Person darin vor einem Haus hochzufahren als wäre es ne Drehleiter ohne das die Person durch den Korb fällt? Bzw. wie bringe ich dann den Korb (mit Leiter Objekt) zum Feuer?
MfG
-
Ist es möglich, einen Korb (gemappt oder Objekt ist egal) mit einer Person darin vor einem Haus hochzufahren als wäre es ne Drehleiter ohne das die Person durch den Korb fällt? Bzw. wie bringe ich dann den Korb (mit Leiter Objekt) zum Feuer?
Ich verstehe die Frage nicht so ganz, also die Antwort ist natürlich ein einfaches Ja.
Du erstellst das Objekt mit CreateObject und dann nutzt du einfach MoveObject um zu dem Feuer zu kommen (davon hast du ja die Positionen).
PS: Ja, für alle Pedanten, natürlich sollte CreateDynamicObject und MoveDynamicObject verwendet werden.
Normalerweise, solange der Speed bei MoveObject, jetzt nicht in enorme Höhen steigt, solltest du nicht durch das Objekt fallen


