Ist es so schwer mit anzugeben ob eine neue Fehlermeldung auftrat?
Beiträge von Akuba
-
-
Gibts irgendeine Fehlermeldung aus der mysql_log.txt?
-
So wie du das fragst wirkst du als ob du heute erst angefangen hast mit scripten:
Das kommt unverändert ins Script:
stock IsPlayerInArea(playerid,Float:minX,Float:minY,Float:maxX,Float:maxY)
{
new Float:pX,Float:pY,Float:pZ;
GetPlayerPos(playerid,pX,pY,pZ);
if(pX >= minX && pX <= maxX && pY >= minY && pY <= maxY) return 1;
else return 0;
}forward braucht man bei stock nicht.
Irgendwo im script dann das:
IsPlayerInArea(playerid,1549.7704,-1603.0498,1607.3401,-1636.7924);
so sollte das dann klappen
-
Satzbaufehler \o/
Wollte eig schreiben: Der Fehler sagt aus das ein fehler mit den ' vorlag, Bei Motorradschein Fehlte am ende ein ', diesen habe ich gesetzt.
-
public SavePlayer(playerid)
{
new query[1024];
format(query,sizeof(query),"UPDATE user SET Admin='%i',Supporter='%i',Level='%i',Geld='%i',Skin='%i',Fahndungslevel='%i',Fraktion='%i',Leader='%i',Rang='%i',Job='%i',Drogen='%i',Zigaretten='%i',Materialen='%i',Autoschein='%i',Motorradschein='%i',Flugschein='%i',Bootschein='%i',Lkwschein='%i',Waffenschein='%i',Haftzeit='%i',Adminprison='%i',Timeban='%i',Gebannt='%i' WHERE id='%i'",
pInfo[playerid][pAdmin],pInfo[playerid][pSupporter],GetPlayerScore(playerid),GetPlayerMoney(playerid),GetPlayerSkin(playerid),GetPlayerWantedLevel(playerid),pInfo[playerid][pFraktion],pInfo[playerid][pLeader],pInfo[playerid][pRang],pInfo[playerid][pJob],pInfo[playerid][pDrogen],pInfo[playerid][pZigaretten],pInfo[playerid][pMaterialen],
pInfo[playerid][pAutoschein],pInfo[playerid][pMotorradschein],pInfo[playerid][pFlugschein],pInfo[playerid][pBootschein],pInfo[playerid][pLkwschein],pInfo[playerid][pWaffenschein],pInfo[playerid][pJailTime],pInfo[playerid][pAdminPrison],pInfo[playerid][pTimeban],pInfo[playerid][pGebannt],pInfo[playerid][dbID]);
mysql_function_query(dbhandle,query,false,"","");
return 1;
}Der fehler sagte aus das ein Fehler mit den ' vorlag, da fehler einer bei Motorradschein
-
im MySQL Log wird am ende dieses Query wohl auftauchen, schaue mal ob da steht das es Erfolgreich ausgeführt (Successfully executed.) wurde oder ob da etwas anderes kommt.
-
bleibt die Fehlermeldung gleich? Es bringt nicht viel wenn nur als Rückmeldung "Geht nicht! HILFE!" kommt ohne zusätzliche Informationen

-
public SavePlayer(playerid)
{
new query[1024];
format(query,sizeof(query),"UPDATE user SET Admin='%i',Supporter='%i',Level='%i',Geld='%i',Skin='%i',Fahndungslevel='%i',Fraktion='%i',Leader='%i',Rang='%i',Job='%i',Drogen='%i',Zigaretten='%i',Materialen='%i',Autoschein='%i',Motorradschein='%i,Flugschein='%i',Bootschein='%i',Lkwschein='%i',Waffenschein='%i',Haftzeit='%i',Adminprison='%i',Timeban='%i',Gebannt='%i' WHERE id='%i'",
pInfo[playerid][pAdmin],pInfo[playerid][pSupporter],GetPlayerScore(playerid),GetPlayerMoney(playerid),GetPlayerSkin(playerid),GetPlayerWantedLevel(playerid),pInfo[playerid][pFraktion],pInfo[playerid][pLeader],pInfo[playerid][pRang],pInfo[playerid][pJob],pInfo[playerid][pDrogen],pInfo[playerid][pZigaretten],pInfo[playerid][pMaterialen],
pInfo[playerid][pAutoschein],pInfo[playerid][pMotorradschein],pInfo[playerid][pFlugschein],pInfo[playerid][pBootschein],pInfo[playerid][pLkwschein],pInfo[playerid][pWaffenschein],pInfo[playerid][pJailTime],pInfo[playerid][pAdminPrison],pInfo[playerid][pTimeban],pInfo[playerid][pGebannt],pInfo[playerid][dbID]);
mysql_function_query(dbhandle,query,false,"","");
return 1;
}zwichen Level='%i' und Geld='%i' fehlte ein ,
zudem war dein String zu klein.
-
Starte mal deinen PC Neu oder schließe jeden MySQL prozess im Task Manager
der Fehler sagt aus der der Port (3306) schon belegt ist und mysql dadurch nicht starten kann.
-
Das ist wie ich finde schon eigenartig geschrieben. das würde sich mit einen einzigen Query wunderbar lösen lassen.
stock CreateSektor()
{
new Query[128], i = 0;
format(Query, sizeof(Query), "SELECT * FROM `sektor`");
mysql_query(Query);
mysql_store_result();
printf("%d Sektoren gelesen.", mysql_num_rows());
while(mysql_fetch_row(Query))
{
sscanf(str, "e<p<|>{i}is[16]ffffd>",SektorInfo[i]);
Sektor[i] = GangZoneCreate(SektorInfo[i][sX1],SektorInfo[i][sY1],SektorInfo[i][sX2],SektorInfo[i][sY2]);
System[SektorOnline] += 1;
printf("Sektor %s[%d] geladen.\n%s", SektorInfo[i][sName],System[SektorOnline],str);
i++;
}
mysql_free_result();
}Ungetestet, sollte aber das gewünschte ergebniss bringen.
-
Prüfen ob die Commands klammerfehler haben würde ich sagen.
Falls du keinen Fehler findest kannst du sie auch gerne mal Posten, dann können wir ja mal drüberschauen.
-
am einfachsten: mach dir einen Timer der den Server z.b. nach 10 minuten einmal anpingt:
forward CheckMySQL();
// OnGameModeInit nachdem MySWL gesdtartet wurde:
SetTimer("CheckMySQL",600000, true);public CheckMySQL()
{
mysql_reload();
return 1;
}Ungetestet.
-
von MySQL seite aus fällt mir im Log kein Fehler auf.
Eigendlich sollte alles Funktionieren.
-
-
anscheined habt ihr ein falsches mysql include
error 017: undefined symbol "mysql_function_query" heißt nichts anderes als das die function mysql_function_query nicht vorhanden ist.
weiß leider nicht welches MySQL plugin so aufgebaut ist, daher kann ich leider keinen link dazu hergeben

-
Kannst das über 2 Strings machen, kannst aber auch 2 Query's nehmen, ist halt aber nicht so effizient wie ein Query dann.
-
Kann mich meinen vorrednern nur anschließen. Auf nummer sicher gehen und durchchecken lassen. Man weiß nie ob vllt doch innere Blutungen sind. Bin mir gerade nicht sicher, aber nicht immer ist sowas dann mit schmerzen verbunden. Besonders beim Kopf würde ich lieber einmal mehr gehen als das ein Bleibender schaden bleibt.
-
Ist eig ganz einfach: PAWN bricht nach einer gewissen zeilenlänge mit einer Fehlermeldung ab.
um das zu umgehen macht man es halt so:
new Query[2000], mehr[3] = "MEHR";
// folgendes würde nicht gehen:
format (Query, sizeof Query, "HIER STEHEN %s ALS 500 ZEICHEN IN DER ZEILE (vorstellen)", mehr); // würde einen fehler ausgeben weil die zeile zu lang ist.// folgendes würde gehen:
new Query[2000], Temp[200], mehr[3] = "MEHR", hun = 500;
format (Temp, sizeof Temp, "HIER STEHEN %s ALS ", mehr);
strcat(Query, Temp);format(Temp, sizeof Temp, "%i ZEICHEN AUF 2 ZEILEN (vorstellen)", hun);
strcat(Query, Temp);// Ausgabe: HIER STEHEN MEHR ALS 500 ZEICHEN AUF 2 ZEILEN (vorstellen.)
kurz gesagt: strcat fügt einen string am ende eines Vorhanden strings an.
-
Ob jemand im Fahrzeug ist lässt sich meines wissens nach nur mit einen stock lösen:
stock IsSomeOneInCar (vehicleid)
{
new i;
for(i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerInVehicle(i, vehicleid)) return 1;
}
return 0;
}Gibt 1 aus wenn ein Spieler im Fahrzeug ist und 0 wenn es leer ist.
-
nach neuer Arbeit fragen ist doof.
Wenn du so weiterarbeitest hast du wohl bald keine Arbeit mehr. Nach neuer Arbeit fragen zeigt vorallen dem Chef das du arbeiten willst. Niemand braucht jemanden der seine 5 Minuten aufgabe am Morgen macht und den Restlichen Tag nichts mehr. (Das war etwas übertrieben und soll niemanden angreifen, soll nur verdeutlichen!)