Im include gibt es das
native cache_insert_id(connectionHandle = 1);
aber wie nutze ich das jetzt am besten ?
Im include gibt es das
native cache_insert_id(connectionHandle = 1);
aber wie nutze ich das jetzt am besten ?
Hallo ich habe mal eine Frage zu meinem Haussystem was auf Mysql arbeitet.
ich habe erstmal ein befehl gebaut womit man ein haus erstellt.
new hpreis,query[300];
if(sscanf(params, "i", hpreis))return SendClientMessage(playerid, Gelb, "/sethaus [Preis]");
new Float:X,Float:Y,Float:Z,Float:A;
GetPlayerPos(playerid,X,Y,Z);
GetPlayerFacingAngle(playerid,A);
format(query,sizeof(query),"INSERT INTO haus (besitzer,preis,hposx,hposy,hposz,hposa) VALUES ('Statt','%i','%f','%f','%f','%f') ",hpreis,X,Y,Z,A-180);
mysql_function_query(dbhandle,query,false,"","");
so das funktioniert ja auch und in der tabelle wird dies auch angelegt.
ich habe AUTO_INCREMENT drinne damit immer eine neue Id miterstellt wird .
Meine frage ist jetzt wie finde ich heraus welche Id dieses haus jetzt belegt
Ich habe nämlich gerade keine ahnung wie ich jetzt an die id von dem Haus komme was ich jetzt zuletzt erstellt habe .
Ich hoffe ihr könnt mir folgen
Danke Jungs
Hallo ich habe mal ne frage:
Ich kann ja aus der id denn Name ableiden mit dem Stock SpielerName(playerid);
kann ich auch aus denn namen die spieler id abfragen zb ist ein spieler mit dem Namen online?
Schön peinlich
Der query war zu klein
Okay aber mich würde noch was interessieren
jetzt muss ich ja immer
fInfo[i][rang1]
oder
fInfo[i][rang2]
nutzen kann ich das nicht auch vereinfachern ?
new rang=1;
fInfo[i][rang]
und später sucht er sich denn nur denn rang raus mit der zahl die dort eingetragen wir also 1=Rang1 usw.
Ja da lag der Fehler
Wie speicher ich das am besten ?
format(query,sizeof(query),"UPDATE fraktion SET Rang1='%s' WHERE id='%i'",fInfo[fLeader][rang1],fInfo[fLeader][fraktionid]);
mysql_function_query(dbhandle,query,false,"","");
so funktioniert das nicht
Ja weiß auch nich twarum er alles aufeinmal so zusammen geschoben hat
na das problem ist das ich einen string hier reinsetzte
format(fInfo[rangwahl][rang1], 30, "%s", inputtext);
aber wenn ichj ihn auslese nix angezeigt wird
format(string,sizeof(string),"Rang 1: %s\nRang 2: %s\nRang 3: %s\nRang 4: %s\nRang 5: %s\nRang 6: %s",fInfo[i][rang1],fInfo[i][rang2],fInfo[i][rang3],fInfo[i][rang4],fInfo[i] [rang5],fInfo[i][rang6]);
Okay pass auf
if(dialogid==DIALOG_Rangnamensetzten){if(response){if(strlen(inputtext)<4||strlen(inputtext)>20){ShowPlayerDialog(playerid,DIALOG_Rangnamensetzten,DIALOG_STYLE_INPUT,"{FF9600}Rangname","{D10000}Der Rangname muss Mindestens 4 und Höchstens 20 Buchstaben haben!","Fertig","Zurück");}else{new rangwahl=GetPVarInt(playerid,"rangwahl");if(rangwahl==1){format(fInfo[rangwahl][rang1], 30, "%s", inputtext);}if(rangwahl==2){format(fInfo[rangwahl][rang2], 30, "%s", inputtext);}if(rangwahl==3){format(fInfo[rangwahl][rang3], 30, "%s", inputtext);}if(rangwahl==4){format(fInfo[rangwahl][rang4], 30, "%s", inputtext);}if(rangwahl==5){format(fInfo[rangwahl][rang5], 30, "%s", inputtext);}if(rangwahl==6){format(fInfo[rangwahl][rang6], 30, "%s", inputtext);}rangdialog(playerid);}}else{rangdialog(playerid);}}
Hier werden die nahmen denn gesetzt
if(dialogid==DIALOG_Rangnamen){if(response){SetPVarInt(playerid,"rangwahl",0);if(listitem == 0){SetPVarInt(playerid,"rangwahl",1);ShowPlayerDialog(playerid,DIALOG_Rangnamensetzten,DIALOG_STYLE_INPUT,"{FF9600}Rangname", "{FFFFFF}Wie möchtest du diesen Rang nennen? (max.20 Zeichen)", "Fertig", "Zurück");}if(listitem == 1){SetPVarInt(playerid,"rangwahl",2);}if(listitem == 2){SetPVarInt(playerid,"rangwahl",3);}if(listitem == 3){SetPVarInt(playerid,"rangwahl",4);}if(listitem == 4){SetPVarInt(playerid,"rangwahl",5);}if(listitem == 5){SetPVarInt(playerid,"rangwahl",6);}}}
Hier wähle ich aus welchen ich ändern will
stock rangdialog(playerid){new string[500],str[50];new i=sInfo[playerid][leader];if(i==1){format(str,sizeof(str),"Police Department");}if(i==2){format(str,sizeof(str),"Bundeswehr");}if(i==3){format(str,sizeof(str),"Rettungsdienst");}if(i==4){format(str,sizeof(str),"Ordungsamt");}if(i==5){format(str,sizeof(str),"Media AG");}if(i==6){format(str,sizeof(str),"Grove Street");}if(i==7){format(str,sizeof(str),"Ballas");}if(i==8){format(str,sizeof(str),"Vagos");}if(i==9){format(str,sizeof(str),"LS Biker");}if(i==10){format(str,sizeof(str),"LCN");}if(i==11){format(str,sizeof(str),"Yakuza");}if(i==12){format(str,sizeof(str),"Atztecas");}format(string,sizeof(string),"Rang 1: %s\nRang 2: %s\nRang 3: %s\nRang 4: %s\nRang 5: %s\nRang 6: %s",fInfo[i][rang1],fInfo[i][rang2],fInfo[i][rang3],fInfo[i][rang4],fInfo[i][rang5],fInfo[i][rang6]);ShowPlayerDialog(playerid,DIALOG_Rangnamen,DIALOG_STYLE_LIST,str,string,"Weiter","Beenden");}
das ist der stock wo das Dialog fenster denn aufgerufen wird wenn man den namen eingegeben hat
@Kristik47
@Jeffry kannst du helfen ?:)
Also ich möchte das für die Fraktionen haben . So das der Leader Die Rangnamen ändern kann
mann gibt /fraktion ein und denn soll der Dialog angezeigt werden wo die Namen stehen also:
format(string,sizeof(string),"Rang 1: %s\nRang 2: %s\nRang 3: %s\nRang 4: %s\nRang 5: %s\nRang 6: %s",fInfo[i][rang1],fInfo[i][rang2],fInfo[i][rang3],fInfo[i][rang4],fInfo[i][rang5],fInfo[i][rang6]);ShowPlayerDialog(playerid,DIALOG_Rangnamen,DIALOG_STYLE_LIST,str,string,"Weiter","Beenden");
wenn er jetzt zb auf Rang1 klickt im Dialog dann kommt ein Fenster wo mann den Namen eingibt und der Spieler kommt dann zurück in das Hier rüber gezeigte Dialog fenster hoffe es ist verständlich
eigentlich soll ,fInfo[i][rang1] als string dienen für denn ersten rang usw.
Später will ich das noch speichern aber dazu komme ich später
222 ist riesing setzt das mal kleiner aber eigentlich müsste er ja denn schon dein Ganzen bildschirm nehmen
Das gehört einfach nur zum Dialog
format(string,sizeof(string),"Rang 1: %s\nRang 2: %s\nRang 3: %s\nRang 4: %s\nRang 5: %s\nRang 6: %s",fInfo[i][rang1],fInfo[i][rang2],fInfo[i][rang3],fInfo[i][rang4],fInfo[i][rang5],fInfo[i][rang6]);
ShowPlayerDialog(playerid,DIALOG_Rangnamen,DIALOG_STYLE_LIST,str,string,"Weiter","Beenden");
Hier wird es ja denn gesetzt ...
format(fInfo[rangwahl][rang1], 30, "%s", inputtext);
Danke
Und denn ist es auch gleich in fInfo[rangwahl][rang1] eingesetzt?
Weil wenn ich das ausgeben möchte
format(string,sizeof(string),"Rang 1: %s\nRang 2: %s\nRang 3: %s\nRang 4: %s\nRang 5: %s\nRang 6: %s",fInfo[i][rang1]
zeigt er mir nix an
SelectTextDraw(playerid, 0xFFFFFFFF);
mach das mal noch dazu und auf was hast du die stelle wo bei mir 30.0000 steht?
Hallo ich stell mich gerade irgendwie zu blöd an
ich möchte ein string in einem enum setzten
Im enum:
rang1[30],
Im dialog:
fInfo[rangwahl][rang1]=inputtext;
und es kommt der Fehler!
error 047: array sizes do not match, or destination array is too small
wie definiert man einen string sonst in einem Enum?
Ja mit der box kannst du die länge supper bestimmen und die 30.0000 probier ich auch immer nur aus bis es passt
musst du austesten
also die 30.000000 gibt die Tiefe an also wie weit der bereich nach unten geht .
und die 550.000000 sagt aus wie weit der bereich nach links geht von deinem erstellten Textdraw aus.
ne mit
TextDrawTextSize(ThA[playerid],550.000000,30.000000);
TextDrawSetSelectable(ThA[playerid], 1);
Also kann ich dies nicht nutzen ja ?
Ach verdammt:/