Beiträge von _AEROX_
-
-
Habe grade im anderem SAMP forum gesehen das das script jemand dort zum download stellt
Link : http://gta-sa-mp.de/forum/3-sa…ket-inkl-npc-s/#post27764
-
Hast du das Spiel als Administrator gestartet?
War bei mir auch mal deshalb so, dass ich immer extra ins Teamspeak Fenster switchen musste zum reden. (Windows 8.1)
ja klar habe ich samp & gta.exe als administrator ausgeführt aber dies hat ja nichts damit zu tun das ich im Spiel nicht im Ts reden kann -
habe derzeit da mein richtiges Headset kaputt ist nur das vom Laptop und es muss ja auch so gehen wen man eine Taste drückt.
-
Hey seit dem ich Windows 10 habe funktioniert mein Teamspeak ingame nicht mehr sprich wen ich die taste drücke wo man das Mikro an hat geht ingame nicht mehr jetz muss ich jedes mal auf den Desktop gehen um zu reden woran könnte das liegen ?
-
@RayZerHD:
So falls mich jemand verbessern kann gerneDatenbankErstellen()
{
mysql_query(g_SQL, "CREATE TABLE IF NOT EXISTS `accounts` (`id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `username` varchar(30), `password` varchar(130) NOT NULL, `admin` int(10), `member` int(10), `leader` int(10), `rank` int(10),`fraktion` int(11),`skin` int(11),`level` int(11),`money` int(10),`autoschein` int(11),`perso` int(11),`waffenschein` int(11)\
NOT NULL default '0')", false);
return 1;
} -
Hey.
Wie lasse ich eine MySQLDatenbank vom Script aus anlegen?
Ich habe z.b eine Tabelle namens "user" mit den Spalten Level, Money & id.
ID wird dabei bei jedem Eintrag 1 hochgezählt also Auto Increment.
Wie setze ich das um?
Beispiel:Ongamemodeinit:
DatebankErstellen();Ganz Unten bei deinen stocks & publics
DatebankErstellen()
{
mysql_query(g_SQL, "CREATE TABLE IF NOT EXISTS `players` (`id` int(11) NOT NULL auto_increment PRIMARY KEY,`username` varchar(30) NOT NULL,`password` varchar(130) NOT NULL,`money` int(10) NOT NULL default '0')", false);
return 1;
} -
Hat jemand noch den download Link? Der jetzige was drinnen steht funktioniert nicht mehr kann mir das jemand bitte per pn senden?
Vielen Dank
der Letzte link funktioniert noch
Würde auch gerne den Link wissen.
Aber vielen Dank für den Release auch wenn ich es nicht habe.
Würded ihr euch mal Beiträge durchlesen wüsstet ihr das es unnstimmigkeiten gab ob es Released werden darf oder nicht//edit ausversehen eine Textstelle doppelt markiert +
-
einen schönen guten abend
mein name ist xDom und ich suche ein scripter .
info zum serverwir haben ein ts3 5.135.112.217:4038
und wir haben ein server das script was trauf ist ist doof
forum hollen wuir noch und brauchen dan eine der das gestalltet
alles weiter klären wir im ts freue mich auf antwortennoch mal ts ip :5.135.112.217:4038
mit freundlichen grüßen xDom
Hey bist im Falschen Bereich versuche es mal hier :http://forum.sa-mp.de/handelse…rn-scripter-designer-usw/
Und du solltest deine Anfrage nochmal überarbeiten den so wirst du keinen Finden.
Mfg. Aerox
-
-
Ich gehe davon aus, dass die Variable dort schon leer ist.
Mache es so:
new query[128];
GetPlayerName(playerid, SpielerInfo[playerid][Name], MAX_PLAYER_NAME);
mysql_format(db, query, sizeof(query), "SELECT * FROM `accounts` WHERE `username` = '%e'", SpielerInfo[playerid][Name]);
mysql_pquery(db, query, "OnPlayerDataLoaded","ii", playerid, g_MysqlRaceCheck[playerid]);
Danke nun scheint es zu gehen komischerweise hatte ich es glaube die ganze Zeit so und nie Probleme
aber danke -
Dann poste bitte den Code der OnPlayerDataLoaded aufruft.
Und lasse bitte die Vollzitate samt Code.
Dies wird unter OnPlayerConnect aufgerufen mit folgendem Code:
new query[128];
mysql_format(db, query, sizeof(query), "SELECT * FROM `accounts` WHERE `username` = '%e'", SpielerInfo[playerid][Name]);
mysql_pquery(db, query, "OnPlayerDataLoaded","ii", playerid, g_MysqlRaceCheck[playerid]); -
Nein, so:
SQL
Alles anzeigenCREATE TABLE IF NOT EXISTS `accounts` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(24) NOT NULL, `password` varchar(128) NOT NULL, `money` int(11) NOT NULL DEFAULT '1000', `RPunkte` int(11) NOT NULL, `TPayDay` int(11) NOT NULL, `AllTime` int(11) NOT NULL, `admin` int(11) NOT NULL, `skin` int(11) NOT NULL, `leader` int(11) NOT NULL, `member` int(11) NOT NULL, `rank` int(11) NOT NULL, `level` int(11) NOT NULL, `maxrppunkte` int(11) NOT NULL, `bank` int(11) NOT NULL, `firstjoined` int(11) NOT NULL, `autoschein` int(11) NOT NULL, `lkwschein` int(11) NOT NULL, `bikeschein` int(11) NOT NULL, `flugschein` int(11) NOT NULL, `angelschein` int(11) NOT NULL, `waffenschein` int(11) NOT NULL, `bootschein` int(11) NOT NULL, `perso` int(11) NOT NULL, `wantedlevel` int(11) NOT NULL, `spawnchange` int(11) NOT NULL, `premium` int(11) NOT NULL, `kampfstyle` int(11) NOT NULL, `kZeit` int(11) NOT NULL, `kOrt` int(11) NOT NULL, `sjob` int(11) NOT NULL, `swartezeit` int(11) NOT NULL, `smuted` int(11) NOT NULL, `smutezeit` int(11) NOT NULL, `tot` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
So habe mich registriert bin raus und nochmal rein dann kommt wieder das Registrieren Fenster das ich noch keinen account hätte
und in der Datebank sind wieder 2 Spalten mit dem account von mir Aerox -
Das sieht korrekt aus.
Mache es mal so: Lösche die ganze Tabelle und erstelle sie neu, mache aber das hier weg:
AUTO_INCREMENT=387Also soll die Datebank struktur so aussehen ? :
CREATE TABLE IF NOT EXISTS `accounts` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(24) NOT NULL,
`password` varchar(128) NOT NULL,
`money` int(11) NOT NULL DEFAULT '1000',
`RPunkte` int(11) NOT NULL,
`TPayDay` int(11) NOT NULL,
`AllTime` int(11) NOT NULL,
`admin` int(11) NOT NULL,
`skin` int(11) NOT NULL,
`leader` int(11) NOT NULL,
`member` int(11) NOT NULL,
`rank` int(11) NOT NULL,
`level` int(11) NOT NULL,
`maxrppunkte` int(11) NOT NULL,
`bank` int(11) NOT NULL,
`firstjoined` int(11) NOT NULL,
`autoschein` int(11) NOT NULL,
`lkwschein` int(11) NOT NULL,
`bikeschein` int(11) NOT NULL,
`flugschein` int(11) NOT NULL,
`angelschein` int(11) NOT NULL,
`waffenschein` int(11) NOT NULL,
`bootschein` int(11) NOT NULL,
`perso` int(11) NOT NULL,
`wantedlevel` int(11) NOT NULL,
`spawnchange` int(11) NOT NULL,
`premium` int(11) NOT NULL,
`kampfstyle` int(11) NOT NULL,
`kZeit` int(11) NOT NULL,
`kOrt` int(11) NOT NULL,
`sjob` int(11) NOT NULL,
`swartezeit` int(11) NOT NULL,
`smuted` int(11) NOT NULL,
`smutezeit` int(11) NOT NULL,
`tot` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM; -
Poste bitte den Code, mit dem du prüfst, ob der Spieler registriert ist, oder nicht.
Und poste dein OnPlayerRegister, da die ID nicht stimmt (er will in ID 2 updaten, die gibt es in deiner Datenbank nicht).Ob der Spieler Registriert ist mache ich mit einer bool: abfrage true bekommt er das login zum einloggen angezeigt
und bei false bekommt er angezeigt das kein account registriert ist :forward OnPlayerDataLoaded(playerid, MySQLRaceCheck);
public OnPlayerDataLoaded(playerid, MySQLRaceCheck)
{
if(MySQLRaceCheck != g_MysqlRaceCheck[playerid]) return Kick(playerid);
new string[128];
if(cache_num_rows() > 0)
{
Spielerladen(playerid);
format(string, sizeof(string), CHAT_WHITE "Dein Account (" CHAT_RED "%s" CHAT_WHITE ") ist registriert. Bitte gebe dein Passwort ein um dich einzuloggen.", SpielerInfo[playerid][Name]);
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", string, "Login", "Abbrechen");
SpielerInfo[playerid][IsRegistered] = true;
InterpolateCameraPos(playerid, 78.906448, -1761.630859, 102.392425, 2955.264160, -1504.608032, 116.085548, 50000);
InterpolateCameraLookAt(playerid, 82.136688, -1764.697875, 100.121154, 2951.325439, -1507.052978, 114.212219, 50000);
SpamChat(playerid,0);
}
else
{
format(string, sizeof(string), CHAT_WHITE "Willkommen " CHAT_YELLOW "%s" CHAT_WHITE ", um dich zu Registrieren tippe ein Passwort ein:", SpielerInfo[playerid][Name]);
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Anmeldung", string, "Registrieren", "Abbrechen");
SpielerInfo[playerid][IsRegistered] = false;
InterpolateCameraPos(playerid, 78.906448, -1761.630859, 102.392425, 2955.264160, -1504.608032, 116.085548, 50000);
InterpolateCameraLookAt(playerid, 82.136688, -1764.697875, 100.121154, 2951.325439, -1507.052978, 114.212219, 50000);
SpamChat(playerid,0);
}
return 1;
}OnPlayerRegister:
forward OnPlayerRegister(playerid);
public OnPlayerRegister(playerid)
{
SpielerInfo[playerid][ID] = cache_insert_id();
SpielerInfo[playerid][IsLoggedIn] = true;
SpielerInfo[playerid][IsRegistered] = true;
SetSpawnInfo(playerid, 0, 0, 0.0, 0.0, 0.0, 0.0, 0, 0, 0, 0, 0, 0);
SpielerInfo[playerid][Skin] = STANDARD_SKIN;
SpielerInfo[playerid][Bank] = STARTKONTO;
SpawnPlayer(playerid);
SpielerInfo[playerid][Level] = 1;
SpielerInfo[playerid][MaxRPPunkte] = 4;
SetPlayerScore(playerid,1);
SpielerInfo[playerid][Money] = 5000;//Startgeld
SpielerInfo[playerid][Autoschein] = 0;
SpielerInfo[playerid][Lkwschein] = 0;
SpielerInfo[playerid][Bikeschein] = 0;
SpielerInfo[playerid][Flugschein] = 0;
SpielerInfo[playerid][Angelschein] = 0;
SpielerInfo[playerid][Waffenschein] = 0;
SpielerInfo[playerid][Bootschein] = 0;
SpielerInfo[playerid][Perso] = 0;
SpielerInfo[playerid][sSpawnchange] = 0;
SpielerInfo[playerid][sPremium] = 0;
SpielerInfo[playerid][sKampfstyle] = 0;
SpielerInfo[playerid][sTot] = 0;
return 1;
} -
//Edit jetz steht in der datebank der account doppelt
Also jetz trägt er den Spielernamen in der Datebank ein
in der Server_log steht folgendes:
[13:14:35] [join] Aerox has joined the server (0:87.172.222.132)
[13:14:35] Remove Buildings wurden entfernt
[13:14:45] Insert Query: INSERT INTO `accounts` (`username`,`password`) VALUES ('Aerox','C84561BD013C39A8FB77949427E133DC6F5DF261131A3F967F7AB49DD993C96B0FE38CAFB9632E8B4A238C2FDE85D30ED8FEE3821587E2E9EE9A0924AC76149A')
[13:15:09] query: UPDATE `accounts` SET `money`='7000',`RPunkte`='0',`TPayDay`='1',`AllTime`='1',`admin`='0',`level`='2',`autoschein`='0',`lkwschein`='0',`bikeschein`='0',`flugschein`='0',`angelschein`='0',`waffenschein`='0',`bootschein`='0',`perso`='0',`wantedlevel`='0',`spawnchange`='0',`premium`='0',`kampfstyle`='0',`kZeit`='0',`kOrt`='0',`sjob`='0',`swartezeit`='0',`smuted`='0',`smutezeit`='0',`tot`='0',`skin`='137',`leader`='0',`member`='0',`rank`='0',`maxrppunkte`='4',`bank`='15000',`firstjoined`='1' WHERE `id`='2'
[13:15:15] query: UPDATE `accounts` SET `money`='7000',`RPunkte`='0',`TPayDay`='1',`AllTime`='1',`admin`='0',`level`='2',`autoschein`='0',`lkwschein`='0',`bikeschein`='0',`flugschein`='0',`angelschein`='0',`waffenschein`='0',`bootschein`='0',`perso`='0',`wantedlevel`='0',`spawnchange`='0',`premium`='0',`kampfstyle`='0',`kZeit`='0',`kOrt`='0',`sjob`='0',`swartezeit`='0',`smuted`='0',`smutezeit`='0',`tot`='0',`skin`='137',`leader`='0',`member`='0',`rank`='0',`maxrppunkte`='4',`bank`='15000',`firstjoined`='1' WHERE `id`='2'
[13:15:15] [part] Aerox has left the server (0:1)
//Edit bild hinzugefügt -
Dann poste bitte den Code, mit dem du den INSERT machst, und den Code mit dem du den Spieler speicherst (UPDATE).
Also bei insert habe ich dies:case DIALOG_REGISTER:
{
if(!response)return Kick(playerid);
if(strlen(inputtext) <= 5)return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Anmeldung",CHAT_RED "Dein Passwort muss mindestens 5 Zeichen besitzen!\n" CHAT_WHITE "Gebe dein Passwort in das Feld ein:","Registrieren", "Abbrechen");
new query[256];
WP_Hash(SpielerInfo[playerid][Password],129,inputtext);
mysql_format(db,query,sizeof query,"INSERT INTO `accounts` (`username`,`password`) VALUES ('%e','%e')",SpielerInfo[playerid][Name],SpielerInfo[playerid][Password]);
mysql_tquery(db,query,"OnPlayerRegister","d",playerid);
return 1;
}Muss ich evtl vor Spielerspeichern Stock Spielerspeichern machen oder public SpielerSpeichern ?
Spieler speichern :
SpielerSpeichern(playerid)
{
if(SpielerInfo[playerid][IsLoggedIn] == false)return 1;
new query[1024];
mysql_format(db,query,sizeof(query),"UPDATE `accounts` SET `money`='%i',`RPunkte`='%i',`TPayDay`='%i',`AllTime`='%i',`admin`='%i',`level`='%i',`autoschein`='%d',`lkwschein`='%d',",
SpielerInfo[playerid][Money],SpielerInfo[playerid][RPunkte],SpielerInfo[playerid][TPayDay],SpielerInfo[playerid][AllTime],SpielerInfo[playerid][Admin],SpielerInfo[playerid][Level],
SpielerInfo[playerid][Autoschein],SpielerInfo[playerid][Lkwschein]);mysql_format(db,query,sizeof(query),"%s`bikeschein`='%d',`flugschein`='%d',`angelschein`='%d',`waffenschein`='%d',`bootschein`='%d',`perso`='%i',`wantedlevel`='%i',`spawnchange`='%i',`premium`='%i',`kampfstyle`='%i',",
query, SpielerInfo[playerid][Bikeschein],SpielerInfo[playerid][Flugschein],SpielerInfo[playerid][Angelschein],SpielerInfo[playerid][Waffenschein],SpielerInfo[playerid][Bootschein],SpielerInfo[playerid][Perso],SpielerInfo[playerid][WantedLevel],SpielerInfo[playerid][sSpawnchange],SpielerInfo[playerid][sPremium],SpielerInfo[playerid][sKampfstyle]);mysql_format(db,query,sizeof(query),"%s`kZeit`='%d',`kOrt`='%d',`sjob`='%d',`swartezeit`='%d',`smuted`='%d',`smutezeit`='%d',`tot`='%d',",
query,SpielerInfo[playerid][kTime],SpielerInfo[playerid][kOrt],SpielerInfo[playerid][sJob],SpielerInfo[playerid][sWartezeit],SpielerInfo[playerid][sMuted],SpielerInfo[playerid][sMutezeit],SpielerInfo[playerid][sTot]);mysql_format(db,query,sizeof(query),"%s`skin`='%i',`leader`='%i',`member`='%i',`rank`='%i',`maxrppunkte`='%i',`bank`='%i',`firstjoined`='%i' WHERE `id`='%i'",
query,SpielerInfo[playerid][Skin],
SpielerInfo[playerid][Leader],SpielerInfo[playerid][Member],SpielerInfo[playerid][Rank],SpielerInfo[playerid][MaxRPPunkte],SpielerInfo[playerid][Bank],SpielerInfo[playerid][sFirstJoined],SpielerInfo[playerid][ID]);printf("query: %s", query);
mysql_tquery(db,query);
return 1;
}Spieler laden :
Spielerladen(playerid)
{
SpielerInfo[playerid][ID] = cache_get_field_content_int(0, "id");
cache_get_field_content(0, "password", SpielerInfo[playerid][Password], db, 129);
SpielerInfo[playerid][Money] = cache_get_field_content_int(0, "money");
SpielerInfo[playerid][RPunkte] = cache_get_field_content_int(0,"RPunkte");
SpielerInfo[playerid][TPayDay] = cache_get_field_content_int(0,"TPayDay");
SpielerInfo[playerid][AllTime] = cache_get_field_content_int(0,"AllTime");
SpielerInfo[playerid][Admin] = cache_get_field_content_int(0,"admin");
SpielerInfo[playerid][Skin] = cache_get_field_content_int(0,"skin");
SpielerInfo[playerid][Leader] = cache_get_field_content_int(0,"leader");
SpielerInfo[playerid][Member] = cache_get_field_content_int(0,"member");
SpielerInfo[playerid][Rank] = cache_get_field_content_int(0,"rank");
SpielerInfo[playerid][Level] = cache_get_field_content_int(0,"level");
SetPlayerScore(playerid,SpielerInfo[playerid][Level]);
SpielerInfo[playerid][MaxRPPunkte] = cache_get_field_content_int(0,"maxrppunkte");
SpielerInfo[playerid][Bank] = cache_get_field_content_int(0,"bank");
SpielerInfo[playerid][sFirstJoined] = cache_get_field_content_int(0,"firstjoined");
SpielerInfo[playerid][Autoschein] = cache_get_field_content_int(0,"autoschein");
SpielerInfo[playerid][Lkwschein] = cache_get_field_content_int(0,"lkwschein");
SpielerInfo[playerid][Bikeschein] = cache_get_field_content_int(0,"bikeschein");
SpielerInfo[playerid][Flugschein] = cache_get_field_content_int(0,"flugschein");
SpielerInfo[playerid][Angelschein] = cache_get_field_content_int(0,"angelschein");
SpielerInfo[playerid][Waffenschein] = cache_get_field_content_int(0,"waffenschein");
SpielerInfo[playerid][Bootschein] = cache_get_field_content_int(0,"bootschein");
SpielerInfo[playerid][Perso] = cache_get_field_content_int(0,"perso");
SpielerInfo[playerid][WantedLevel] = cache_get_field_content_int(0,"wantedlevel");
SpielerInfo[playerid][sSpawnchange] = cache_get_field_content_int(0,"spawnchange");
SpielerInfo[playerid][sPremium] = cache_get_field_content_int(0,"premium");
SpielerInfo[playerid][sKampfstyle] = cache_get_field_content_int(0,"kampfstyle");
SpielerInfo[playerid][kTime] = cache_get_field_content_int(0,"kZeit");
SpielerInfo[playerid][kOrt] = cache_get_field_content_int(0,"kOrt");
SpielerInfo[playerid][sJob] = cache_get_field_content_int(0,"sjob");
SpielerInfo[playerid][sWartezeit] = cache_get_field_content_int(0,"swartezeit");
SpielerInfo[playerid][sMuted] = cache_get_field_content_int(0,"smuted");
SpielerInfo[playerid][sMutezeit] = cache_get_field_content_int(0,"smutezeit");
SpielerInfo[playerid][sTot] = cache_get_field_content_int(0,"tot");Iter_Add(FrakMember[SpielerInfo[playerid][Member]],playerid);
SetTimerEx("OnPlayerPayDay",1000*60,1,"i",playerid);//PaydayTimer
return 1;
} -
Von selbst tragen sich die Benutzer nicht ein.
Wo machst du denn überall einen INSERT INTO für die Tabelle accounts?
Setze dort gegebenenfalls einen print hin und schaue, wann der print im Server Log steht, dann weißt du wodurch der INSERT ausgeführt wird.
der fehler liegt an einer anderen stelle habe jetz mir einen account erstellt dann bin ich off gegangen wollte mir die spalte von meinem account anschauen und plötzlich ist die spalte username leer vorher stand da wie es auch normal ist der spielername drinne -
Besitzt dein Server Bots?
Wenn ja könnte es vielleicht daran liegen, dass dort 2 User in die Datenbank eingetragen werden.Ansonsten zeig uns doch mal die Funktion, mit der du User in die Datenbank eintragen lässt.
Ich lasse die Datebank ja nicht von alleine erstellen ich habe sie manuell erstellt
oder meinst du die lade / speicher funktion ? -
format(Query, sizeof(Query), "{FFFFFF}Willkommen "COLOR_BLUE"%s(%d){FFFFFF} !\nDein Account wurde gefunden.\n\nBitte logge dich nun mit deinem Passwort ein.", name, playerid);
Probiere es mal so :format(Query, sizeof(Query), "{FFFFFF}Willkommen "COLOR_BLUE"%s(%d){FFFFFF} !\nDein Account wurde gefunden.\nBitte logge dich nun mit deinem Passwort ein.", name, playerid);