Wie kann ich die Distanz des Pickups anpassen?
CreatePickup(1240, 2, -1675.1643,414.1799,7.1797,-1);
[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
-
-
Distanz?
Du kannst weder den "Aufnehmradius" noch die "Anzeigeweite" anpassen. Für Letzteres kannst du jedoch das Streamer Plugin nutzen. -
Wie kann ich Farbcodes (im Hex Format) in einer MySQL Datenbank speichern, sodass ich diese wieder auslesen kann?
-
Was genau hast du denn vor, nachdem es gespeicher worden ist? Wird der HEX Wert in einem String verwendet (also muss er genau in dem Format ausgegeben werden), oder willst du es zum Beispiel für SetPlayerColor verwenden?
Wenn du es als String haben willst, dann kannst du es mit "%x" formatieren (format) und als VARCHAR in der Tabelle speichern. Und wenn du es nur für eine Anweisung wie SetPlayerColor (o.ä.) speichern willst, dann reicht es, wenn du es wie eine Ganzzahl (Integer) behandelst, sprich du speicherst den HEX Wert einfach als Integer ("%d" bzw. "%i") und in der Datenbank als INT, und liest ihn so auch aus. Es ist bei solchen Funktionen (SetPlayerColor) egal, ob du beispielsweise "-1" oder "0xFFFFFFFF" verwendest, da beides das Gleiche ist. -
Kann mir einer sagen, wie ich sowas hinbekomme? es soll auf beiden Seiten Supporter stehen. Also wie bekomme ich die Koordinaten herraus, und was muss ich genau machen?

So wie auf diesem Bild: http://picapple.de/image/bGH
Q:
-
Du erstellst ein Objekt und verwendest SetObjectMaterialText um den Hintergrund transparent zu machen und die Schrift zu erstellen.
Dann attachst du das Objekt an das Fahrzeug.
Um die Koordinaten dafür herauszufinden hab es mal ein Filterscript - Du kannst es aber auch per Hand ausprobieren. Allerdings werde ich das Filterscipt gleich mal suchen und reineditieren. -
Ich habe das jetzt so, aber das Objekt wird nicht an das Vehicle attached. Und es wird in der mitte des Sultans gespawnt, weil ich noch nicht die Koordniaten der Türen habe.
Spoiler anzeigen ocmd:supcar(playerid,params[])Spoiler anzeigen if(!IsPlayerAnAdmin(playerid,1)) return SendClientMessage(playerid,0xFF3C3CFF,"AdmCmd: Sie besitzen nicht die nötigen Rechte um diesen Befehl zu nutzen!");Spoiler anzeigen if(HatSupmobil[playerid] == 1) return SendClientMessage(playerid,0x00D2D2FF,"Du hast bereits ein Supporter Fahrzeug erstellt! Lösche es bevor du dir ein neues erstellst.");Spoiler anzeigen new Float:X, Float:Y, Float:Z, SupText;Spoiler anzeigen GetPlayerPos(playerid,X,Y,Z);Spoiler anzeigen SupMobil[playerid] = CreateVehicle(560,X,Y,Z,3,165,165,-1);Spoiler anzeigen SetVehicleNumberPlate(SupMobil[playerid],"Supporter");Spoiler anzeigen PutPlayerInVehicle(playerid, SupMobil[playerid], 0);Spoiler anzeigen Support3DText[playerid] = Create3DTextLabel("Supporter im Dienst",0xFFFFFF,0.0,0.0,0.0,50.0,0,0);Spoiler anzeigen Attach3DTextLabelToVehicle(Support3DText[playerid],SupMobil[playerid],0.0,0.0,1.0);Spoiler anzeigen new objfont = CreateObject(19483,X,Y,Z,0,0,0,300.0);Spoiler anzeigen AttachObjectToVehicle(objfont,SupText,0.0, 0.0, 1.0, 0.0, 0.0, 0.0);Spoiler anzeigen SetObjectMaterialText(objfont,"Supporter",0,90,"Arial", 28, 0, 0xFFFF8200, 0xFF000000,1);Spoiler anzeigen HatSupmobil[playerid] = 1;Spoiler anzeigen SendClientMessage(playerid,0xFFFFFF,"Du hast ein Supporter Fahrzeug erstellt! Benutze /delscar um das Fahrzeug zu Entfernen.");Spoiler anzeigen return 1; -
Du kannst die Offsets zur Seite (damit es an der Türe ist) hiermit berechnen:
http://wiki.sa-mp.com/wiki/GetVehicleModelInfoDie Hälfte der Breite zur Position hinzufügen (vielleicht muss man es noch etwas justieren), dann sollte es passen.
Oder du probierst es einfach aus, wie weit du es verschieben musst (0.1'er Schritte), bis es passt. -
Das Objekt wird leider nicht Attached, und ich kann damit leider nichts anfangen. habe das geprintet bekommen. Wo muss jetzt die Länge rein?
[18:33:30] Der Sultan ist 2.3m Breit, 5.4m Lang und 1.6m Hoch//Edit
Ich habe es hinbekommen, Danke

-
Ist es möglich, in irgendeiner Art & Weise die "Strcat" Funktion mit einem Format zu belegen?
Mein Fehlversuch
CMD:admins(playerid, params[])
{
new stringfull[524], string[128], count = 0;
foreach (new i : Player) if (PlayerData[i][pAdmin] > 0 && PlayerData[i][pAdminHide] < 1)
{
if (PlayerData[i][pAdminDuty])
format(string,sizeof(string), "%s {33CC33}(%s (%d)) {33CC33}(Im Support-Dienst)\n", ReturnName(i, 0), adminname(i), PlayerData[i][pAdmin]);
strcat(stringfull,string);Mein Fehlversuch else
format(string,sizeof(string), "%s {33CC33}(%s (%d)) {FF6347}(Nicht im Dienst)\n", ReturnName(i, 0), adminname(i), PlayerData[i][pAdmin]);
strcat(stringfull,string);Mein Fehlversuch count++;
}
if (!count) {
strcat(stringfull,"Kein Administrator online.");
}
Dialog_Show(playerid, AdminList, DIALOG_STYLE_MSGBOX, "Administratoren", string, "Schließen", "");
return 1;
}
-
-
Dialog_Show(playerid, AdminList, DIALOG_STYLE_MSGBOX, "Administratoren", string, "Schließen", "");
Wenn stringfull dein Endergebnis ist, solltest du es auch nutzen

-
Das strcat kannst du dir sparen, so ist es besser:
CMD:admins(playerid, params[])
{
new stringfull[524], count = 0;
foreach (new i : Player) if (PlayerData[i][pAdmin] > 0 && PlayerData[i][pAdminHide] < 1)
{
if(PlayerData[i][pAdminDuty]) format(stringfull,sizeof(stringfull), "%s%s {33CC33}(%s (%d)) {33CC33}(Im Support-Dienst)\n", stringfull, ReturnName(i, 0), adminname(i), PlayerData[i][pAdmin]);
else format(stringfull,sizeof(stringfull), "%s%s {33CC33}(%s (%d)) {FF6347}(Nicht im Dienst)\n", stringfull, ReturnName(i, 0), adminname(i), PlayerData[i][pAdmin]);
count++;
}
if (!count)
{
format(stringfull,sizeof(stringfull), "Kein Administrator online.");
}
Dialog_Show(playerid, AdminList, DIALOG_STYLE_MSGBOX, "Administratoren", stringfull, "Schließen", "");
return 1;
} -
@BlackAce: Jap, ist mir erst im Nachhinein auch nochmal aufgefallen. Wäre so oder so aber falsch.

Danke danke. Ich dachte nur, dass man eventuell irgendwie die Strcat-Funktion als Format machen könnte.
Aber wenn es so auch möglich ist, dann ist's ja gut.
-
-
Falschherum, oder wie meinst du es?
Wenn ja, dann sollte es (je nach Objekt) eigentlich reichen, wenn du die Drehung (Rotation) um 180 änderst, also einmal um die eigene Achse drehen. -
-
Jeffry: Wie es es am besten, das Geburtsdatum zu Speichern? ist es möglich, dies in das Alter umzuwandeln? Also dass das Geburtsdatum sowie das Alter gespeichert werden?

Das Prinzip haben wir hier schon mal durchgearbeitet: http://forum.sa-mp.de/gta-mult…er-abfragen-2#post1991628 Ich denke damit kommst du klar.Geburtsdatum als VARCHAR speichern (String) und Alter als INT (Integer). Achte aber darauf, die Spalte nicht unbedingt "Alter" zu nennen, da dies ein MySQL Befehl ist. Nenn es lieber "Age" oder "pAlter", dann passieren dir keine unerklärlichen Fehler.
-
Geburtsdatum als VARCHAR speichern (String)
Mit einem Timestamp wäre es aber viel universeller und dynamischer.
Man müsse sonst erst das Geburtsdatum dann splitten (z.B. mit sscanf) und dann die einzelnen Glieder vergleichen.
Wieso bitte den Umstand machen, wenn man es direkt in einen Timestamp umwandelt?
Zum Umrechnen gibt es ja schließlich dieses Include:
http://samp-scripts.com/post/T…ochemd-other_include-195/ -
Wieso bitte den Umstand machen, wenn man es direkt in einen Timestamp umwandelt?
So musste halte den Timestamp wieder zu einem Datum konvertieren, das kommt auf's gleiche raus.
Beim Timestamp musste halt auch immer das Schaltjahr beachten, da geht es mit dem split leichter, das Alter herauszufinden.Außerdem gibt ja keiner einen Timestamp ein, sprich du musst das Geburtsdatum erst splitten und konvertieren, das ist im Endeffekt mehr Aufwand.

-
Beim Timestamp musste halt auch immer das Schaltjahr beachten
Nein, das macht das Include selbst schon.Außerdem gibt ja keiner einen Timestamp ein, sprich du musst das Geburtsdatum erst splitten und konvertieren, das ist im Endeffekt mehr Aufwand.

Schau doch mal ins Include, man gibt lediglich das Datum als String an die Funktion, sie macht das alles schon selber.
Wäre ja sonst auch eine schwachsinnige Funktion.
-