Aha ... das habe ich bis jetzt nicht gewusst.
Danke
[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
-
-
Jo wusste ich auch noch nicht Danke
-
klar immer gern
-
Hey ich möchte, dass nach dem Tutorial man nur einmal den Skin auswählt und nicht bei jedem login
Kann mir da jemand helfen ?
(Falls das hilft ich arbeite mit DINI) -
Hi, bin neu in SAMP.
Wollte mal fragen ob es in SAMP so etwas wie in MTA gibt, mit dem man einem Spieler einzelne Daten geben kann also Zum Beispiel: solche if Abfragen auch damit also, wenn er Data1 hat soll er dass machen und wenn er Data2 hat soll er das machen wie geht das?Hoffe mir kann da wer helfen.
#TRiX
-
@NeonReflexe:
Du setzt eine Variable, die auf 0 ist, frägst sie dann vor dem spawn ab, wenn sie auf 0 ist lässt ihn in die skin auswahl, wenn nicht spawnen lassen, nach der auswahl setzt du die vari auf 1.TRiXMaSTeR:
Das geht nicht aber dafür gibt es Variablen -
Hi, bin neu in SAMP.
Wollte mal fragen ob es in SAMP so etwas wie in MTA gibt, mit dem man einem Spieler einzelne Daten geben kann also Zum Beispiel: solche if Abfragen auch damit also, wenn er Data1 hat soll er dass machen und wenn er Data2 hat soll er das machen wie geht das?Hoffe mir kann da wer helfen.
#TRiX
Jop Sowas gibt es. Ich mache dir mal ein Beispiel
if(/*Bedingung zb:*/Data1 == 1)
{ //<- Kann auch oben gemacht werden
//Soll folgen
}
else if(Data2 == 2)
{
//Soll folgen
}
//Und natürlich das bekannte else (restliche abfragen)
else
{
//Soll folgen
}Zu Erklärung:
- /* HALLO */ <- Die beiden Zeichen kennzeichnen einen Bereich der nicht beachtet werden soll
- Das gleiche gilt für // Das ist aber nur Zeilen bedingt
- '==' Ist zur Überprüfung eines Wertes, wo wiederum '=' Etwas besetzt
- Wenn du etwas gleichzeitig Abfragen willst also OR... Dann machst du einfach in die if Abfrage ein
-> So ähnlich wie, wenn etwas gleich sein sollte. Dann machst du &&.Ich hoffe ich konnte dir damit deine Frage beantworten.
L.G.
heyho -
Moinsen,
Ich habe mir das neuste Mysql Plugin draufgeladen (r34).
Mir wurde gesagt, dass ich Mysql_Ping einfach mit Mysql_erno ersetzen muss, wenn er halt überprüft ob es eine Verbindung mit der Datenbank gibt.
Das habe ich getan auch ohne Errors.
Nun kann mein Server nicht mehr starten und zeigt mir das in der log:
[16:56:03] Loaded 0 filterscripts.
[16:56:03] ... GamemodeInit
[16:56:04] SERVER: Es konnte keine Verbindung zur Datenbank hergestellt werden!
[16:56:04] Es wird erneut versucht eine Verbindung zur Datenbank herzustellen.
[16:56:04] Host: localhost,User: root,Datanbank: Lan,Passwort: (privat)
[16:56:04] SERVER: Es konnte keine Verbindung zur Datenbank hergestellt werden!
[16:56:04] Server wird heruntergefahren ...
[16:56:04] --------------------------------Muss ich noch was beachten, wenn ich von R7 auf r34 umsteige?
Mfg -
root benutzer hat kein passwort standart gemäß
-
Wisst ihr woran das Liegt?
Habe alles die Aktuellen Versionen...
Spoiler anzeigen *** Streamer Plugin v2.6.1 by Incognito loaded ***Spoiler anzeigen [17:06:10] Loaded.
[17:06:10] Loading plugin: sscanf.so
[17:06:10]Spoiler anzeigen [17:06:10] ===============================Spoiler anzeigen [17:06:10] sscanf plugin loaded.Spoiler anzeigen [17:06:10] Version: 2.8.1Spoiler anzeigen [17:06:10] (c) 2012 Alex "Y_Less" ColeSpoiler anzeigen [17:06:10] ===============================Spoiler anzeigen [17:06:10] Loaded.
[17:06:10] Loading plugin: nativechecker.so
[17:06:10] Loaded.
[17:06:10] Loaded 4 plugins.Spoiler anzeigen [17:06:10]
[17:06:10] Ban list
[17:06:10] --------
[17:06:10] Loaded: samp.ban
[17:06:10]
[17:06:10]
[17:06:10] Filterscripts
[17:06:10] ---------------
[17:06:10] Loaded 0 filterscripts.Spoiler anzeigen [17:06:10] Error: Function not registered: 'mysql_debug'
[17:06:10] Error: Function not registered: 'mysql_function_query'
[17:06:10] Error: Function not registered: 'cache_get_data'
[17:06:10] Error: Function not registered: 'cache_get_field_content'
[17:06:10] Script[gamemodes/selfmade.amx]: Run time error 19: "File or function is not found"
[17:06:10] Number of vehicle models: 0
-
MySQL R7 oder R8+
aktuell kanns ja nich sein^^ compile dein script auch noch mit der include neu -
root benutzer hat kein passwort standart gemäß
Aber davor ging es ja hier der Code mal wo ich Mysql_Ping ersetz habe:
MySqlConnection = mysql_connect(SQL_HOST,SQL_USER,SQL_DATA,SQL_PASS); if(mysql_errno() == 1) { print("SERVER: Verbindung zur Datenbank wurde erfolgreich hergestellt."); printf("Host: %s,User: %s,Datanbank: %s,Passwort: %s",SQL_HOST,SQL_USER,SQL_DATA,SQL_PASS); } else { print("SERVER: Es konnte keine Verbindung zur Datenbank hergestellt werden!"); print(" Es wird erneut versucht eine Verbindung zur Datenbank herzustellen."); printf("Host: %s,User: %s,Datanbank: %s,Passwort: %s",SQL_HOST,SQL_USER,SQL_DATA,SQL_PASS); MySqlConnection = mysql_connect(SQL_HOST,SQL_USER,SQL_DATA,SQL_PASS); if(mysql_errno() == 1) { print("SERVER: Es konnte im 2 Versuch eine Verbindung hergestellt werden!"); printf("Host: %s,User: %s,Datanbank: %s,Passwort: %s",SQL_HOST,SQL_USER,SQL_DATA,SQL_PASS); }if(mysql_errno() == 0) { getdate(tag,monat,jahr); gettime(stunde,minute,sekunde); ForEachPlayer(i) { if(IsPlayerConnected(i) && !IsPlayerNPC(i) && GetPVarInt(i,"Eingeloggt") == 1) { SaveAccount(i); } } Log("Restartssqllog","Admin: System hat den Server gerestartet(Dead MySql Connection)!"); OnGameModeSave(); GameModeExit(); return 1; } cache_get_data(rows,fields); if(rows) { if(passwortstate == 1) { cache_get_field_content(0,"Passwort",result); if(!strcmp(MD5_Hash(pass),result,true)) { format(query,sizeof(query),"SELECT * FROM "#DATENBANKTAG"_account_main WHERE Name='%s'",SpielerName(playerid)); mysql_function_query(MySqlConnection,query,true,"LoadAccount","isi",playerid," ",0); return 1; } format(query,sizeof(query),"{C9C9C9}Willkommen zurück "#SERVERFARBE"%s {C9C9C9}!\n{C9C9C9}Dein Account ist registriert.\nBitte Logge dich mit deinem entsprechendem Passwort ein.\n\n"#SERVERFARBE"** "#SERVERNAME" **{C9C9C9}",SpielerName(playerid)); ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,""#SERVERFARBE""#SERVERNAME"{FFFFFF}: Login",query,"Login","Abbrechen"); return 1; } cache_get_field_content(0,"Tutorial",result); Spieler[playerid][pViewTutorial] = strval(result); strdel(result,0,sizeof(result)); etc.....
if(SconnectionHandle != MySqlConnection || mysql_errno() == 0) { getdate(tag,monat,jahr); gettime(stunde,minute,sekunde); ForEachPlayer(i) { if(IsPlayerConnected(i) && !IsPlayerNPC(i) && GetPVarInt(i,"Eingeloggt") == 1) { SaveAccount(i); } } Log("Restartssqllog","Admin: System hat den Server gerestartet(Dead MySql Connection)!"); OnGameModeSave(); GameModeExit(); return 1; }
if(SconnectionHandle != MySqlConnection || mysql_errno() == 0) { getdate(tag,monat,jahr); gettime(stunde,minute,sekunde); ForEachPlayer(i) { if(IsPlayerConnected(i) && !IsPlayerNPC(i) && GetPVarInt(i,"Eingeloggt") == 1) { SaveAccount(i); } } Log("Restartssqllog","Admin: System hat den Server gerestartet(Dead MySql Connection)!"); OnGameModeSave(); GameModeExit(); return 1; }
-
Aber davor ging es ja hier der Code mal wo ich Mysql_Ping ersetz habe:
MySqlConnection = mysql_connect(SQL_HOST,SQL_USER,SQL_DATA,SQL_PASS); if(mysql_errno() == 1) { print("SERVER: Verbindung zur Datenbank wurde erfolgreich hergestellt."); printf("Host: %s,User: %s,Datanbank: %s,Passwort: %s",SQL_HOST,SQL_USER,SQL_DATA,SQL_PASS); } else { print("SERVER: Es konnte keine Verbindung zur Datenbank hergestellt werden!"); print(" Es wird erneut versucht eine Verbindung zur Datenbank herzustellen."); printf("Host: %s,User: %s,Datanbank: %s,Passwort: %s",SQL_HOST,SQL_USER,SQL_DATA,SQL_PASS); MySqlConnection = mysql_connect(SQL_HOST,SQL_USER,SQL_DATA,SQL_PASS); if(mysql_errno() == 1) { print("SERVER: Es konnte im 2 Versuch eine Verbindung hergestellt werden!"); printf("Host: %s,User: %s,Datanbank: %s,Passwort: %s",SQL_HOST,SQL_USER,SQL_DATA,SQL_PASS); }if(mysql_errno() == 0) { getdate(tag,monat,jahr); gettime(stunde,minute,sekunde); ForEachPlayer(i) { if(IsPlayerConnected(i) && !IsPlayerNPC(i) && GetPVarInt(i,"Eingeloggt") == 1) { SaveAccount(i); } } Log("Restartssqllog","Admin: System hat den Server gerestartet(Dead MySql Connection)!"); OnGameModeSave(); GameModeExit(); return 1; } cache_get_data(rows,fields); if(rows) { if(passwortstate == 1) { cache_get_field_content(0,"Passwort",result); if(!strcmp(MD5_Hash(pass),result,true)) { format(query,sizeof(query),"SELECT * FROM "#DATENBANKTAG"_account_main WHERE Name='%s'",SpielerName(playerid)); mysql_function_query(MySqlConnection,query,true,"LoadAccount","isi",playerid," ",0); return 1; } format(query,sizeof(query),"{C9C9C9}Willkommen zurück "#SERVERFARBE"%s {C9C9C9}!\n{C9C9C9}Dein Account ist registriert.\nBitte Logge dich mit deinem entsprechendem Passwort ein.\n\n"#SERVERFARBE"** "#SERVERNAME" **{C9C9C9}",SpielerName(playerid)); ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,""#SERVERFARBE""#SERVERNAME"{FFFFFF}: Login",query,"Login","Abbrechen"); return 1; } cache_get_field_content(0,"Tutorial",result); Spieler[playerid][pViewTutorial] = strval(result); strdel(result,0,sizeof(result)); etc.....
if(SconnectionHandle != MySqlConnection || mysql_errno() == 0) { getdate(tag,monat,jahr); gettime(stunde,minute,sekunde); ForEachPlayer(i) { if(IsPlayerConnected(i) && !IsPlayerNPC(i) && GetPVarInt(i,"Eingeloggt") == 1) { SaveAccount(i); } } Log("Restartssqllog","Admin: System hat den Server gerestartet(Dead MySql Connection)!"); OnGameModeSave(); GameModeExit(); return 1; }
if(SconnectionHandle != MySqlConnection || mysql_errno() == 0) { getdate(tag,monat,jahr); gettime(stunde,minute,sekunde); ForEachPlayer(i) { if(IsPlayerConnected(i) && !IsPlayerNPC(i) && GetPVarInt(i,"Eingeloggt") == 1) { SaveAccount(i); } } Log("Restartssqllog","Admin: System hat den Server gerestartet(Dead MySql Connection)!"); OnGameModeSave(); GameModeExit(); return 1; }
Wenn mysql_errno 0 zurueckgibt, heißt das, dass kein Error auftrat. Ansonsten returnt es eine Error-Nummer.
In deinem Code ueberpruefst du, ob ob mysql_errno 1 zurueckgibt, von daher ist hier der Fehler. -
Hey Leute habe eine kurze Frage.
Ich habe bis jetzt diesen Code:
//oben im Code
#define MAX_GARAGEN 20
new Garagen[MAX_GARAGEN][G]; //G ist noch das Garagen enum.if (strcmp("/garagen", cmdtext, true, 10) == 0)
{
for(new i = 0; i <MAX_GARAGEN; i++)
{
if(Garagen[Gcreated]==1)
{
if(Garagen[Buy]==0)
{}
}
}
return 1;
}Ich moechte jetzt in einer SendClientMessage alle Garagen anzeigen Lassen die diese 2 Anforderungen erfuellen.
Kann mir da einer weiterhelfen?
-
Hey Leute habe eine kurze Frage.
Ich habe bis jetzt diesen Code:
//oben im Code
#define MAX_GARAGEN 20
new Garagen[MAX_GARAGEN][G]; //G ist noch das Garagen enum.if (strcmp("/garagen", cmdtext, true, 10) == 0)
{
for(new i = 0; i <max_garagen; i++)
{
if(Garagen[Gcreated]==1)
{
if(Garagen[Buy]==0)
{}
}
}
return 1;
}Ich moechte jetzt in einer SendClientMessage alle Garagen anzeigen Lassen die diese 2 Anforderungen erfuellen.
Kann mir da einer weiterhelfen?
Hier bitteif (strcmp("/garagen", cmdtext, true, 10) == 0){
new string[30];
for(new i = 0; i <MAX_GARAGEN; i++){
if(Garagen[i][Gcreated] && !Garagen[i][Buy]){
format(string,30,"Garage %d ist frei",i);
SendClientMessage(playerid,-1,string);
}
}
return 1;
} -
Hier bitteif (strcmp("/garagen", cmdtext, true, 10) == 0){
new string[30];
for(new i = 0; i <MAX_GARAGEN; i++){
if(Garagen[i][Gcreated] && !Garagen[i][Buy]){
format(string,30,"Garage %d ist frei",i);
SendClientMessage(playerid,-1,string);
}
}
return 1;
}Hört sich vielleicht jetzt ein bischen blöd an aber wie kann ich jetzt machen das ich wenn ich zb /garage buy eingebe.
Das dann nur 1ne garage gekauft wird? Hab da jetzt irgendwie ein Denkfehler -
Wenn mysql_errno 0 zurueckgibt, heißt das, dass kein Error auftrat. Ansonsten returnt es eine Error-Nummer.
In deinem Code ueberpruefst du, ob ob mysql_errno 1 zurueckgibt, von daher ist hier der Fehler.Habe es auf 1 Gesetzt und es kamen immer noch keine Errors
-
Hier bitte
ich würde dir raten ein break zu nehmen da sonst gespamme entsteht sobald mehrere frei sind -
ich würde dir raten ein break zu nehmen da sonst gespamme entsteht sobald mehrere frei sind
Warum überhaupt? Es soll nicht eine Garage angezeigt werden, sondern alle.ZitatIch moechte jetzt in einer SendClientMessage alle Garagen anzeigen Lassen die diese 2 Anforderungen erfuellen.
Kann mir da einer weiterhelfen?
//edit
@TheBlueFireKingPoste mal dein enum "G"
-
Habe es auf 1 Gesetzt und es kamen immer noch keine Errors ?
MySqlConnection = mysql_connect(SQL_HOST, SQL_USER, SQL_DATA, SQL_PASS);
if (mysql_errno(MySqlConnection) == 0)
{
printf("SERVER: Verbindung zur Datenbank wurde erfolgreich hergestellt.");
//printf("Host: %s,User: %s,Datanbank: %s,Passwort: %s", SQL_HOST, SQL_USER, SQL_DATA, SQL_PASS);
}
else
{
print("SERVER: Es konnte keine Verbindung zur Datenbank hergestellt werden!");
print(" Es wird erneut versucht eine Verbindung zur Datenbank herzustellen.");
//printf("Host: %s,User: %s,Datanbank: %s,Passwort: %s", SQL_HOST, SQL_USER, SQL_DATA, SQL_PASS);
mysql_reconnect(MySqlConnection);
if (mysql_errno(MySqlConnection) == 0) {
print("SERVER: Es konnte im 2. Versuch eine Verbindung hergestellt werden!");
//printf("Host: %s,User: %s,Datanbank: %s,Passwort: %s", SQL_HOST, SQL_USER, SQL_DATA, SQL_PASS);
}
}
So sollte das aussehen.