[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
-
-
ja ich habe dem eine Virtuelle Welt zugewiesen weil ich die drawdistanz hoch gesetzt habe muss ich die jetze für die virtuelle Welt nochmal machen wo der Spieler das tutorial macht ?
Nein, wenn du die Objekte nicht explizit einer virtuellen Welt zugewiesen hast, dann musst du gar nichts machen. Die Objekte werden standardmäßig in jeder virtuellen Welt gleich angezeigt. -
-
ocmd:createbiz(playerid,params[])
{
if(IsPlayerAdmin(playerid))
{
new bizname[30],bizwert,query[200];
new Float:posx,Float:posy,Float:posz;
if(sscanf(params,"sd",bizname,bizwert))return SCM(playerid,frot,"[BENUTZUNG]: /createbiz [Bizname][Bizwert]");
GetPlayerPos(playerid,posx,posy,posz);
mysql_format(as_db_handle,query,sizeof(query),"INSERT INTO aktien (bizname,bizwert,bizposx,bizposy,bizposz) VALUES ('%e','%d','%f','%f','%f')",bizname,bizwert,posx,posy,posz);
mysql_tquery(as_db_handle,query);
SCM(playerid,iblau,"[INFO]: Du hast ein Business mit dem Namen %s und dem Wert %d erstellt!",bizname,bizwert);
return 1;
}
return 1;
}Dabei stürzt mir der Compiler immer ab... Wenn ich das raus nehme gehts ... Ich weiß aber nicht warum..
-
so hab ich das bei den objecten die in der virtuellen Welt 0 sind und da einfach -1 bei den beiden 0 0 ?
Ja.Simon2202: Entferne mal Schritt für Schritt eine Zeile nach der anderen, damit du herausfindest, an welcher Zeile es liegt.
-
Sobald ich eine Komme wert 1.5 abziehe kommen massenhaft zahlen warum (Textdraw)
-
Sobald ich eine Komme wert 1.5 abziehe kommen massenhaft zahlen warum (Textdraw)
Weil du dir eine Kommazahl nicht dezimal anzeigen lassen kannst.Du musst diese dir dann auch mit %f anzeigen lassen.
PS: Wenn du die Kommastellen auf 2 reduzieren willst, nutze: %.02f
mfg.
-
PS: Wenn du die Kommastellen auf 2 reduzieren willst, nutze: %.02f
War das nicht %0.2f?? -
War das nicht
Beide Varianten sind äquivalent -
Wenn ich bestimmte Daten an ein Filterscript senden möchte, muss ich dann die Public Funktion im Gamemode oder im Filterscript erstellen? xD
public OnPlayerSpawn(playerid)
{
if(SpielerDaten[playerid][ID] == INVALID_PLAYER_ID){CallRemoteFunction("UebertrageDaten","dddd",SpielerDaten[playerid][ID],SpielerDaten[playerid][Level],SpielerDaten[playerid][Admin],SpielerDaten[playerid][Geld]);}
return 1;
}und...
public UebertrageDaten(playerid,level,admin,geld)
{
level = SpielerDaten[playerid][Level];
admin = SpielerDaten[playerid][Admin];
geld = SpielerDaten[playerid][Geld];
return 1;
} -
-
public OnPlayerSpawn(playerid)
{
if(SpielerDaten[playerid][ID] == INVALID_PLAYER_ID){CallRemoteFunction("UebertrageDaten","dddd",SpielerDaten[playerid][ID],SpielerDaten[playerid][Level],SpielerDaten[playerid][Admin],SpielerDaten[playerid][Geld]);}
return 1;
}
Wenn du Daten vom Gamemode zum Filterscript senden willst, dann muss das ins Gamemode.Und ins FilterScript das hier:
//Enum Definierung und Variablen deklaration müssen halt auch im FS vorhanden sein!
enum s_Enum
{
Level,Admin,Geld
};
new SpielerDaten[MAX_PLAYERS][s_Enum];public UebertrageDaten(playerid,level,admin,geld)
{
SpielerDaten[playerid][Level] = level;
SpielerDaten[playerid][Admin] = admin;
SpielerDaten[playerid][Geld] = geld;
return 1;
}mfg.
-
Wie erstelle ich am besten eine NoDmZone?
An allen vier ecken die Pos speichern und weiter?MFG
-
Wie erstelle ich am besten eine NoDmZone?
Hiermit: [INCLUDE] Templer´s NoDM-ZoneOder generell:
Timer erstellen (SetTimer)
Loop durch alle Spieler
IsPlayerInArea (http://forum.sa-mp.com/showthread.php?t=222283)
Wenn der Spieler jemanden attackiert hat: StrafeHerausfinden ob jemand jemanden attackiert:
OnPlayerGiveDamage => SpielerVariable zu 1 setzen. -
Beitrag von Andosius ()
Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar. -
Thx
-
Oder generell:
Timer erstellen (SetTimer)
Loop durch alle Spieler
IsPlayerInArea (http://forum.sa-mp.com/showthread.php?t=222283)
Wenn der Spieler jemanden attackiert hat: Strafe
Sollte er aber das Streamerplugin nutzen, könnte er sich den ganzen Kram auch sparenSchließlich besitzt das Plugin neben 2 wunderschönen Callbacks auch die IsPlayerIn(Dynamic)Area. @leader_king:
Nutzt er es allerdings nicht, kann man natürlich auch auf deine Variante zurückgreifen
-
Sollte er aber das Streamerplugin nutzen, könnte er sich den ganzen Kram auch sparen
Schließlich besitzt das Plugin neben 2 wunderschönen Callbacks auch die IsPlayerIn(Dynamic)Area. @leader_king:
Was soll ihm das sparen, wenn er anstatt IsPlayerInArea eben IsPlayerInDynamicArea verwendet? Den Timer braucht er trotzdem und abfragen ob der Spieler jemanden attackiert muss er ebenfalls.
Mit den zwei Callbacks wird nur getriggert ob der Spieler die Zone betritt oder verlässt, das bringt hier aber relativ wenig.Sparen kann er sich da gar nichts.
-
warum wurde das nicht texturiert?:
shint = CreateObject(19377, 231.98621, 1812.54163, 1023.92413, 0.00000, 0.00000, 0.00000);
new shint;
SetObjectMaterial(shint, 0, 4981, "wiresetc2_las", "lasunion7", 0xFFFFFFFF);Danke im vorraus.
-
Unter die Includes:
new shint;OnGameModeInit:
shint = CreateObject(19377, 231.98621, 1812.54163, 1023.92413, 0.00000, 0.00000, 0.00000);Dort wo du das Objekt texturieren willst:
SetObjectMaterial(shint, 0, 4981, "wiresetc2_las", "lasunion7", 0xFFFFFFFF);Oder wenn es alles bei OnGameModeInit stattfinden soll:
new shint;
shint = CreateObject(19377, 231.98621, 1812.54163, 1023.92413, 0.00000, 0.00000, 0.00000);
SetObjectMaterial(shint, 0, 4981, "wiresetc2_las", "lasunion7", 0xFFFFFFFF);Falls das nicht klappt, versuche mal einen anderen Index (die 0 vor 4981 bei SetObjectMaterial zu 1/2/... ändern).
-
Unter die Includes:
new shint;OnGameModeInit:
shint = CreateObject(19377, 231.98621, 1812.54163, 1023.92413, 0.00000, 0.00000, 0.00000);Dort wo du das Objekt texturieren willst:
SetObjectMaterial(shint, 0, 4981, "wiresetc2_las", "lasunion7", 0xFFFFFFFF);Oder wenn es alles bei OnGameModeInit stattfinden soll:
new shint;
shint = CreateObject(19377, 231.98621, 1812.54163, 1023.92413, 0.00000, 0.00000, 0.00000);
SetObjectMaterial(shint, 0, 4981, "wiresetc2_las", "lasunion7", 0xFFFFFFFF);Falls das nicht klappt, versuche mal einen anderen Index (die 0 vor 4981 bei SetObjectMaterial zu 1/2/... ändern).
Hatte alles schon unter OnGamemodeinit will immer noch nicht gehen -