Okay, Problem dank IntelligenT: gelöst. Ich hätte "format" anstatt "strcat" verwenden sollen. *facepalm*
Beiträge von shoxinat0r
-
-
Alles anzeigen
Sag mal...hast du geraucht, wieso einen Array mit 1000 Cells erstellen?Das sind 1000*4 Bytes= 4kB...sag mal hallo

Mach mal ne 256 draus, dann funktioniert das evtl

mfg.

Weil das in einem stock steht, der alle Tabellen erstellen soll. Und da greifen andere Sachen auch noch auf den Array zurück
Beavis: Ich hab's genauso bei der Useraccounttabelle gemacht, wie hier. Und da klappt alles perfekt
-
new AddDatabase[1000];
strcat(AddDatabase,"CREATE TABLE IF NOT EXISTS `Teamips` (`Datum` varchar(24) NOT NULL,`Zeit` varchar(24) NOT NULL,`Name` varchar(24) NOT NULL,`IP` varchar(24) NOT NULL)");
mysql_query(AddDatabase);
Mehr Zeilen sind da nämlich nicht
-
strcat(AddDatabase,"CREATE TABLE IF NOT EXISTS `Teamips` (`Datum` varchar(24) NOT NULL,`Zeit` varchar(24) NOT NULL,`Name` varchar(24) NOT NULL,`IP` varchar(24) NOT NULL)");
Eigentlich müsste eine Tabelle erstellt werden, nur es passiert nichts - Kaliber: wusste auch nicht weiter - oder ich habe ihn falsch gefragt.
-
Wenn du wirklich Geld ausgeben möchtest, dann kann dir die Benutzer IP Log empfehlen. Sofern du natürlich Multiaccounts verbietest.
Die meisten Plugins sind nämlich Spielerei, wie fnL: bereits sagte, deswegen halt nicht alles zubomben. Aber mit der Log trifft man immer eine gute Entscheidung. -
Willst du Geld ausgeben?
-
Ohne Code nicht los. >.>
-
Perfekt, danke @d0.:

Das war es
-
ZitatAlles anzeigen
[16:49:08] >> mysql_connect( )
[16:49:08] CMySQLHandler::Connect() - Connection was successful.
[16:49:08] CMySQLHandler::Connect() - Auto-Reconnect has been enabled.
[16:49:08] >> mysql_ping( Connection handle: 1 )
[16:49:08] CMySQLHandler::Ping() - Connection is still alive.
[16:49:08] >> mysql_query( Connection handle: 1 )
[16:49:08] CMySQLHandler::Query(CREATE TABLE IF NOT EXISTS `Accounts` (`Name` varchar(24) NOT NULL,`Passwort` varchar(34) NOT NULL,`Admin` int(2) NOT NULL DEFAULT '0',`Warns` int(2) NOT NULL DEFAULT '0',`Leader` int(2) NOT NULL,`Fraktion` int(2) NOT NULL,`Rang` int(2) NOT NULL`Job` int(3) NOT NULL,`Geschlecht` int(1) NOT NULL,`Level` int(4) NOT NULL,`Geld` int(10) NOT NULL,`Wantedlevel` int(3) NOT NULL,`Fightstyle` int(2) NOT NULL,`Handy` int(2) NOT NULL, `Nummer` int(8) NOT NULL,`Biz` int(3) NOT NULL,`Haus` int(3) NOT NULL,`Living` int(1) NOT NULL,`Kills` int(5) NOT NULL,`Deaths` int(5) NOT NULL, `Partner` varchar(24) NOT NULL, `Notiz` varchar(24) NOT NULL)) - An error has occured. (Error ID: 1064, You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '`Job` int(3) NOT NULL,`Geschlecht` int(1) NOT NULL,`Level` int(4) NOT NULL,`Geld' at line 1)
[16:49:08] >> mysql_query( Connection handle: 1 )
[16:49:08] CMySQLHandler::Query(CREATE TABLE IF NOT EXISTS `Accounts` (`Name` varchar(24) NOT NULL,`Passwort` varchar(34) NOT NULL,`Admin` int(2) NOT NULL DEFAULT '0',`Warns` int(2) NOT NULL DEFAULT '0',`Leader` int(2) NOT NULL,`Fraktion` int(2) NOT NULL,`Rang` int(2) NOT NULL`Job` int(3) NOT NULL,`Geschlecht` int(1) NOT NULL,`Level` int(4) NOT NULL,`Geld` int(10) NOT NULL,`Wantedlevel` int(3) NOT NULL,`Fightstyle` int(2) NOT NULL,`Handy` int(2) NOT NULL, `Nummer` int(8) NOT NULL,`Biz` int(3) NOT NULL,`Haus` int(3) NOT NULL,`Living` int(1) NOT NULL,`Kills` int(5) NOT NULL,`Deaths` int(5) NOT NULL, `Partner` varchar(24) NOT NULL, `Notiz` varchar(24) NOT NULL)) - An error has occured. (Error ID: 1064, You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '`Job` int(3) NOT NULL,`Geschlecht` int(1) NOT NULL,`Level` int(4) NOT NULL,`Geld' at line 1)
[16:49:08]
[16:49:08] ---------------------------
[16:49:08] MySQL Debugging activated (04/23/13)
[16:49:08] ---------------------------
[16:49:08]
Aktuelle MySQL Log... also ein Fehler.
Geprintet wird das hier @d0.:ZitatTest Mysql<AddDatabase>:
Also kein Query
-
636 Zeichen passen in keinen 576 Zeichen langen array hinein
Stimmt. Hab den String mal erhöht, trotzdem wird nicht erstellt
-
gibt die mysql.log nix aus ich werde aber gleich mal kurz schauen
Es gibt keine Fehler:ZitatAlles anzeigen[15:55:53]
[15:58:26] >> mysql_connect( )
[15:58:26] CMySQLHandler::Connect() - Connection was successful.
[15:58:26] CMySQLHandler::Connect() - Auto-Reconnect has been enabled.
[15:58:26] >> mysql_ping( Connection handle: 1 )
[15:58:26] CMySQLHandler::Ping() - Connection is still alive.
[15:58:26]
[15:58:26] ---------------------------
[15:58:26] MySQL Debugging activated (04/23/13)
[15:58:26] ---------------------------
[15:58:26]
-
Mein Ausdrucksfehler. Ich wollte eine Tabelle erstellen, keine Datenbank. Sorry

-
Ich bin's nochmal
Ich möchte meine Datenbank per Script erstellen lassen, der Einfachheit halber.
So sieht der stock aus, unter OnGameModeInit() wird er angewendet:
stock aRP_Datenbank_Erstellen()
{
new AddDatabase[576];
strcat(AddDatabase,"CREATE TABLE IF NOT EXISTS `Accounts` (`Name` varchar(24) NOT NULL,`Passwort` varchar(34) NOT NULL,`Admin` int(2) NOT NULL DEFAULT '0',`Warns` int(2) NOT NULL DEFAULT '0',`Leader` int(2) NOT NULL,`Fraktion` int(2) NOT NULL,`Rang` int(2) NOT NULL");
strcat(AddDatabase,"`Job` int(3) NOT NULL,");
strcat(AddDatabase,"`Geschlecht` int(4) NOT NULL,`Geschlecht` int(1) NOT NULL,`Level` int(4) NOT NULL,`Geld` int(10) NOT NULL,");
strcat(AddDatabase,"`Wantedlevel` int(3) NOT NULL,");
strcat(AddDatabase,"`Fightstyle` int(2) NOT NULL,`Handy` int(2) NOT NULL, `Nummer` int(8) NOT NULL,");
strcat(AddDatabase,"`Biz` int(3) NOT NULL,`Haus` int(3) NOT NULL,");
strcat(AddDatabase,"`Living` int(1) NOT NULL,`Kills` int(5) NOT NULL,`Deaths` int(5) NOT NULL, `Partner` varchar(24) NOT NULL)");
mysql_query(AddDatabase);
return 1;
}
Leider passiert nichts... wo habe ich den Fehler?
P.S. Eine Verbindung zur Datenbank steht! -
Ein Freund fragte, wie man am besten MySQL lernt - ich bin mit der Frage etwas überfordert, ich hätte ihm maddin's Tutorial geraten, aber geht es auch anders oder noch besser?

Was meint ihr dazu? -
Update mal das MySQL Plugin.
-
Das ist ein Checkpoint.
-
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][pTot] == 1)
{
format(string,sizeof(string),"...");
}
}
}
Hier direkt geschrieben, funktioniert auch so. Danach einfach die Message senden. -
Hier einfach durchschmökern, da müsstest du etwas finden:
http://stackoverflow.com/quest…1585/converting-dll-to-so
-
Wenn du Lust hast, kann ich dir einen Grundkurs in Sachen Include anbieten. Danach wirst du wissen & merken, dass es einfacher ist.

-
Hast du eine Variable gesetzt, wenn ein Spieler stirbt?
Außerdem ist dein Ansatz bereits falsch.