if(stunde < 8)
Reicht schon.
if(stunde < 8)
Reicht schon.
Schärfer machen: Nein.
Farbe der Box: http://wiki.sa-mp.com/wiki/PlayerTextDrawBoxColor -> 0x000000AA zum Beispiel, das wäre ein durchsichtiges Schwarz. Ansonsten eben: http://www.colorpicker.com/
hast du ein Tutorial für ein Fraktionssystem auf MySQL Basis?
Nein, aber du kannst ja hier abgucken, das sieht ziemlich gut aus:
[ FILTERSCRIPT ] Dynamisches Fraktionssystem V1 | SQLite
@[GeD]Max: Hast du mal versucht, nach PlayerTextDrawSetPreviewModel nochmal PlayerTextDrawShow aufzurufen? Bei manchen TextDraw-Anweisungen muss man das machen.
Da gibt es das u nicht, und auch keine Längenangabe bei Strings.
if(sscanf(params,"us[64]",pID,grund))return SendClientMessage(playerid,-1,"Tippe: /ban [spieler] [grund]");
zu:
if(sscanf(params,"ds",pID,grund))return SendClientMessage(playerid,-1,"Tippe: /ban [spieler] [grund]");
Nutzt du das Plugin oder die stock Funktion von sscanf?
Deine Angaben passen nicht.
In sscanf, für ein int in der Datenbank ein "d" oder ein "i", float ein f, varchar ein s[länge].
Das {d} am Anfang heißt, dass die ID ignoriert wird, das {d} damit der Slot ignoriert wird.
sscanf(resultline,"p<|>{d}s[25]{d}dfffffd ...",
Ab dem ... bitte selber weitermachen.
Besser wäre es natürlich, es direkt in das enum zu splitten, aber dazu müsste dein enum 1:1 wie die Datenbank aufgebaut sein, das ist es leider nicht.
Dann musst du in der Berechnung anstatt y das z nehmen.
Du musst dann natürlich auch die richtige Rotation (als nicht die Z-Rot) nehmen.
Prinzipiell kommt es aufs gleiche raus, ob es an der Wand hängt oder am Boden ist, außer dass du eben z anstatt x oder y nimmst, je nach dem in Welche Himmelsrichtung die Wand steht, das weiß ich ja nicht, in Welche Richtung die geht.
Du hast das eingefügt:
mysql_query(mysqlHandle, query, "CheckBanned", "%s", NamePlayer(pID));
ich hab das geschrieben:
mysql_tquery(mysqlHandle, query, "CheckBanned", "d", pID);
Du hättest den Code einfach nur kopieren müssen...
mysql_tquery(mysqlHandle, query, "CheckBanned", "d", pID);
if(strval(inputtext) > 12 && strval(inputtext) <= 60)
Schau dir mal meinen Post an:
http://forum.sa-mp.de/gta-mult…ng-fragen-732#post2011091
Da ist ein Beispielcode dabei, den kannst du einfach übernehmen.
Nicht ganz.
Schau mal hier, das hast du ein gutes Beispiel:
http://wiki.sa-mp.com/wiki/MySQL/R33#mysql_tquery
Du musst nach dem tquery nämlich ein callback aufrufen, um das Ergebnis aus dem Cache auslesen zu können.
EDIT:
Beispiel für dich:
format(query, sizeof(query), "SELECT Banned FORM accounts WHERE Name='%s'", NamePlayer(pID));
mysql_tquery(mysqlHandle, query, "CheckBanned", "d", pID);
//Callback: Ganz unten im Code.
forward CheckBanned(playerid);
public CheckBanned(playerid)
{
new NumRows = cache_num_rows();
if(NumRows)
{
Kick(playerid);
}
return 1;
}
Außerdem fehlt nach dem ersten Query das Absenden des Queries.
Schreibe es so:
ocmd:ban(playerid, params[])
{
new query[128], string[128], pID, grund[64];
if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,-1,"Du brauchst Adminlevel 2");
if(sscanf(params,"us[64]",pID,grund))return SendClientMessage(playerid,-1,"Tippe: /ban [spieler] [grund]");
format(string, sizeof(string),"Du wurdest von %s gebannt. Grund: %s",NamePlayer(playerid),grund);
SendClientMessage(pID,ROT,string);
format(query, sizeof(query), "UPDATE accounts SET Banned ='1' WHERE name = '%s'", NamePlayer(pID));
mysql_tquery(mysqlHandle, query, "", "");
format(query, sizeof(query), "UPDATE accounts SET Bangrund ='%s' WHERE name = '%s'",grund, NamePlayer(pID));
mysql_tquery(mysqlHandle, query, "", "");
Kick(pID);
return 1;
}
@[GeD]Max: Wenn du Skin 287 angibst, dann sollte der auch angezeigt werden. Außer du zeigst woanders noch was anderes an. Bei mir hat es wie gesagt funktioniert. Wenn du den Skin siehst, und dann das PreviewModel zu 287 setzt, siehst du dann den richtigen Skin? Wenn ja, dann überschreibst du die 287 vor dem ersten Mal anzeigen.
Ok, dann so:
new Float:x=PosX, Float:y=PosY, Float:z=PosZ;
Dort jeweils die Koordinate eintragen, an der Position es sich drehen soll.
Dann hiermit eine Schleife von a=0 bis 359 machen:
x += (dist * floatsin(-a, degrees));
y += (dist * floatcos(-a, degrees));
Es kommt jeweils die Position raus (z bleibt ja gleich) an die das Objekt gesetzt werden muss. Die Rotation ist a.
Bei dist musst du die Distanz vom Mittelpunkt zum Ende des Objektes eintragen.
Also bei mir hat es den richtigen Skin angezeigt. Wie siehst denn dein kompletter dazugehöriger Code jetzt aus?
PlayerTextDrawFont(playerid, Textdraw3[playerid], TEXT_DRAW_FONT_MODEL_PREVIEW);
TEXT_DRAW_FONT_MODEL_PREVIEW ist 5, du hast 4 angegeben, das ist für Sprites.
Das muss
new sInfo[MAX_PLAYERS][playerInfo];
heißen.
Wie hast du sInfo deklariert?