Ouh ja habs jetzt auch gesehen 
Habe zuerst nur auf den dritten Fehler geachtet D:
 
			
									
		[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				
		
		- 
			
- 
			Gibt es dafür auch eine Variante für INT(eger) ? mysql_real_escape_string(carid,carid); - Tomsen 
- 
			Beschreibe den Vorfall bitte genauer . 
 Mit einem Codeschnipsel kann keiner was anfangen 
- 
			Ich will die CarID in der Datenbank setten. Da carid aber ja schon sagt das es ne zahl ist, geht 
 mysql_real_escape_string(carid,carid);nicht. Was muss ich für Integer nehmen? mysql_real_escape_integer(carid,carid); gibts nicht bzw. geht nicht. - Tomsen 
- 
			Soweit ich weis kannst du einen Integer verwenden .... 
 Probiers mal einfach aus und sage Bescheid ob es funkt .
- 
			Hab schon probiert. Weder int noch integer geht. - Tomsen 
- 
			Alles anzeigenIch will die CarID in der Datenbank setten. Da carid aber ja schon sagt das es ne zahl ist, geht 
 mysql_real_escape_string(carid,carid);nicht. Was muss ich für Integer nehmen? mysql_real_escape_integer(carid,carid); gibts nicht bzw. geht nicht. - Tomsen mysql_query("SELECT ID FROM Vehicles WHERE Besitzer='Tomsen'"); 
 mysql_store_result();
 new row[32], id;
 mysql_fetch_row(row);
 id = strval(row);mysql_free_result(); Probier das mal  
- 
			Ich zeig mal den public dann versteht ihr villt. mehr was ich meine.  Es wird eine komplett neue Zeile erstellt. Es wird eine komplett neue Zeile erstellt.stock CreateCar(playerid) 
 {
 new query[256],Name[MAX_PLAYER_NAME];
 new carid = GetPVarInt(playerid,"CarID");
 GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
 mysql_real_escape_string(Name,Name);
 mysql_real_escape_integer(carid,carid);
 format(query, sizeof(query), "INSERT INTO `autos` (`Besitzer`, `CarID`) VALUES ('%s', '%d')", Name, carid);
 mysql_query(query);
 return 1;
 }- Tomsen 
- 
			Zitatmysql_real_escape_string(Name,Name); 
 mysql_real_escape_integer(carid,carid);
 Das ist unnötig 
- 
			"!" bedeutet "not", also "nicht". 
 Dies bezeichnet in einer if-Abfrage, ob etwas nicht stattgefunden hat.
 Das kommt aber immer auf den Sachverhalt an!Mit freundlichen Grüßen 
 Saitek | Timo
 Du redest hier eindeutig quatsch.
 ! bedeutet zwar als Vergleichsoperator ungleich,
 aber hier hat das eine vollkommende andere Bedeutung (in der If-Abfrage).
 Das ! vor der Abfrage sagt hier aus, dass der return Wert 0 sein soll, weil strcmp eben 0 returnt, wenn die Strings stimmen.
 Wenn du jetzt jedoch das ! bei strcmp weglässt, ist die Bedingung, dass der Return Wert 1 ist, aber was bei strcmp ja das Ergebnis verfälschen würde.LG 
- 
						
- 
			Geht nur für Strings da es nur dazu gebraucht wird um SQL Injections zu verhindern.. (http://de.wikipedia.org/wiki/SQL-Injection) 
- 
			mysql_real_escape_integer(carid,carid); 
 Sowas gibts nicht ! !
- 
			mysql_real_escape_integer(carid,carid); 
 Sowas gibts nicht ! !
 Warum sollte es auch so etwas geben ?
 Die o.g. Funktion benutzt man um SQL Injections zu verhindern, und eine Zahlwert kann wohl schlecht ein String sein :OEdit: Dann schreib das per Aussagesatz und nicht per oO, kann man leicht falsch verstehen  LG 
- 
			Deswegen meine Reaktion  
- 
			if(PlayerInfo[playerid][pJob] == 1) { 
 SendClientMessage(playerid,COLOR_LIGHTRED,"*** Job *** Befehle_ID1"); }
 else if(PlayerInfo[playerid][pJob] == 0) {
 SendClientMessage(playerid, COLOR_LIGHTRED,"*** Arbeitslos ***"); }
 else if(PlayerInfo[playerid][pJob] == 2) {
 SendClientMessage(playerid,COLOR_LIGHTRED,"*** Job *** Befehle_ID2"); }
 else if(PlayerInfo[playerid][pJob] == 3) {
 SendClientMessage(playerid,COLOR_LIGHTRED,"*** Job *** Befehle_ID3"); }
 else if(PlayerInfo[playerid][pJob] == 4) {
 SendClientMessage(playerid,COLOR_LIGHTRED,"*** Job *** Befehle_ID4"); }
 else if(PlayerInfo[playerid][pJob] == 5) {
 SendClientMessage(playerid,COLOR_LIGHTRED,"*** Job *** Befehle_ID5"); }
 else if(PlayerInfo[playerid][pJob] == 7) {
 SendClientMessage(playerid,COLOR_LIGHTRED,"*** Job *** Befehle_ID7"); }
 else if(PlayerInfo[playerid][pJob] == 8) {
 SendClientMessage(playerid,COLOR_LIGHTRED,"*** Job *** Befehle_ID8"); }
 else if(PlayerInfo[playerid][pJob] == 9) {
 SendClientMessage(playerid,COLOR_LIGHTRED,"*** Job *** Befehle_ID9"); }
 else if(PlayerInfo[playerid][pJob] == 10) {
 SendClientMessage(playerid,COLOR_LIGHTRED,"*** Job *** Befehle_ID10"); }
 else if(PlayerInfo[playerid][pJob] == 12) {
 SendClientMessage(playerid,COLOR_LIGHTRED,"*** Job *** Befehle_ID12"); }
 else if(PlayerInfo[playerid][pJob] == 14) {
 SendClientMessage(playerid,COLOR_LIGHTRED,"*** Job *** Befehle_ID14"); }
 else if(PlayerInfo[playerid][pJob] == 16) {
 SendClientMessage(playerid,COLOR_LIGHTRED,"*** Job *** Befehle_ID16"); }
 else if(PlayerInfo[playerid][pJob] == 17) {
 SendClientMessage(playerid,COLOR_LIGHTRED,"*** Job *** Befehle_ID17"); }
 else if(PlayerInfo[playerid][pJob] == 20) {
 SendClientMessage(playerid,COLOR_LIGHTRED,"*** Job *** Befehle_ID20"); }1. Frage: Wie kann ich das kürzer fassen? 
 2. Frage: Wie packe ich das nun in einen Befehle-Dialog? - Ohne immer einen neuen Dialog zu definieren. (Habe bereits alle anderen Befehle drin, nur die mit den Jobs fehlen noch^^)
- 
			
- 
			Alles anzeigenRandom: So hier evtl.? 
 if(PlayerInfo[playerid][pJob] == 0)
 {
 SendClientMessage(playerid, COLOR_LIGHTRED,"*** Arbeitslos ***");
 }
 else
 {
 new string[64];
 format(string, sizeof(string), "*** Job *** Befehle_ID%d", PlayerInfo[playerid][pJob]);
 SendClientMessage(playerid, COLOR_LIGHTRED, string);
 }Das "Befehle_ID1" habe ich nur durch die Befehle ersetzt, da ich hier keinen unendslangen Code einfügen wollte.   
- 
			ganz einfach als array new JobStrings[][] = { 
 {"*** Arbeitslos ***"},
 {"*** Job *** Befehle_ID1"},
 {"*** Job *** Befehle_ID2"},
 {"*** Job *** Befehle_ID3"},
 {"*** Job *** Befehle_ID4"},
 {"*** Job *** Befehle_ID5"},
 {"*** Job *** Befehle_ID6"}
 };SendClientMessage(playerid, COLOR_LIGHTRED,JobStrings[PlayerInfo[playerid][pJob]]); 
- 
			Alles anzeigenganz einfach als array 
 new JobStrings[][] = {
 {"*** Arbeitslos ***"},
 {"*** Job *** Befehle_ID1"},
 {"*** Job *** Befehle_ID2"},
 {"*** Job *** Befehle_ID3"},
 {"*** Job *** Befehle_ID4"},
 {"*** Job *** Befehle_ID5"},
 {"*** Job *** Befehle_ID6"}
 };SendClientMessage(playerid, COLOR_LIGHTRED,JobStrings[PlayerInfo[playerid][pJob]]); Statt SendClientMessage kann ich es im Dialog bspw. so machen?: 
 ShowPlayerDialog(playerid, DIALOGID, DIALOG_STYLE_LIST, "Jobs", JobStrings[PlayerInfo[playerid][pJob]], "OK", "");Und.. 
 new JobStrings[][]Was kommt nun in die jeweiligen Klammern? Leer lassen? 
- 
			Alles anzeigenStatt SendClientMessage kann ich es im Dialog bspw. so machen?: 
 ShowPlayerDialog(playerid, DIALOGID, DIALOG_STYLE_LIST, "Jobs", JobStrings[PlayerInfo[playerid][pJob]], "OK", "");Und.. 
 new JobStrings[][]Was kommt nun in die jeweiligen Klammern? Leer lassen? Alles anzeigenStatt SendClientMessage kann ich es im Dialog bspw. so machen?: 
 ShowPlayerDialog(playerid, DIALOGID, DIALOG_STYLE_LIST, "Jobs", JobStrings[PlayerInfo[playerid][pJob]], "OK", "");Und.. 
 new JobStrings[][]Was kommt nun in die jeweiligen Klammern? Leer lassen? 
 Die kannst du ausfüllen oder leer lassen.
 Wenn du diese leer lässt wird das ganze automatisch angepasst kannst auch selbst testen in dem du das ganze mit definierung compilst und einmal ohne. //edit zu deiner ersten Frage ja 
 da
 JobStrings[PlayerInfo[playerid][pJob]] ein string ausgibtwenn PlayerInfo[playerid][pJob] den wert 2 hätte so würde dies in der msgbox stehen 
 *** Job *** Befehle_ID2
 
		 
		
		
	




