for(new i;i<MAX_PLAYERS;i++)
{
wegen dem wird es zu oft abgeschickt.
Beiträge von PsyDom42O
-
-
SetPlayerCameraPos(playerid,X,Y,Z);
SetPlayerCmaeraLookAt(playerid,X,Y,Z);X,Y,Z wo die Sicht sein soll.
Oder meinst du SetPlayerFacingAngle?
-
new vehicleid = BikerCar[17];
SetVehicleNumberPlate(vehicleid, "Ls Biker");new vehicleid = BikerCar[17];
SetVehicleNumberPlate(BikeCar[17], "Ls Biker");Oder einfach SetVehicleNumberPlate direkt unter dnen erstellen Autos & eben BikeCar statt vehicleid
-
Mag sein , ich stelle mich Dumm an, aber ich habe leider 0 Ahnung von diesem System möchte es aber gerne Haben Stur eben :D, Wie macht man das genau mit dem SSCANF denn?
-
Hab jetzt mal enum neu aufgelistet, save & Load neu gemacht & die tabelle doch nun speichert es nichts mehr-.-'
enum SpielerDaten
{
pName[MAX_PLAYER_NAME],
pLevel,
pGeld,
pAlter,
pBundesland,
pAdmin,
pKills,
pTode,
pHealth,
pPerso,
pCarLic,
pBikeLic,
pFlyLic,
pWaffenLic,
pTruckLic,
pBan,
pWarn,
pLeader,
pRang,
pFraktion,
pStory,
pMember
};
new SpielerInfo[MAX_PLAYERS][SpielerDaten];stock LoadPlayer(playerid)
{
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))//Wir fragen ab ob der angegebene Spieler auch Online ist, und kein NPC ist (nur zur sicherhheit)
{
new str[520];
format(str,sizeof str,"SELECT * FROM `accounts` WHERE `Name` = '%s'",PlayerName(playerid));
mysql_query(str);
mysql_store_result();
mysql_fetch_row(str);
sscanf(str,"ddds[24]s[24]ddfds[11]ddddddds[12]s[12]s[13]ds[12]",SetPlayerScore(playerid,SpielerInfo[playerid][pLevel]),GivePlayerMoney(playerid,SpielerInfo[playerid][pGeld]),SpielerInfo[playerid][pAlter],SpielerInfo[playerid][pBundesland],SpielerInfo[playerid][pAdmin],SpielerInfo[playerid][pKills],SpielerInfo[playerid][pTode],SpielerInfo[playerid][pHealth],
SpielerInfo[playerid][pPerso],SpielerInfo[playerid][pCarLic],SpielerInfo[playerid][pBikeLic],SpielerInfo[playerid][pFlyLic],SpielerInfo[playerid][pWaffenLic],SpielerInfo[playerid][pTruckLic],SpielerInfo[playerid][pBan],SpielerInfo[playerid][pWarn],
SpielerInfo[playerid][pLeader],SpielerInfo[playerid][pRang],SpielerInfo[playerid][pFraktion],SpielerInfo[playerid][pStory],SpielerInfo[playerid][pMember]);
mysql_free_result();
}
return 1;
}
stock SavePlayer(playerid)
{
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
{
if(GetPVarInt(playerid,"Eingeloggt") == 1)
{
new query[500];
format(query, sizeof(query), "UPDATE `accounts` SET `Level` = '%d',`Geld` = '%d',`Alter` = '%d',`Bundesland` = '%s',`Admin` = '%s',`Kills` = '%d',`Tode` = '%d', `Health` = '%f',`Perso` = '%d',`CarLic` = '%d',`BikeLic` = '%d',`FlyLic` = '%d', `WaffenLic` = '%d',`TruckLic` = '%d',`Ban` = '%d',`Warn` = '%d',`Leader` = '%s', `Rang` = '%s', `Fraktion` = '%s' `Story` = '%d',`Member` = '%s',WHERE `Name` = '%s'",
SpielerInfo[playerid][pLevel],SpielerInfo[playerid][pGeld],SpielerInfo[playerid][pAlter],SpielerInfo[playerid][pBundesland],SpielerInfo[playerid][pAdmin],SpielerInfo[playerid][pKills],SpielerInfo[playerid][pTode],SpielerInfo[playerid][pHealth],
SpielerInfo[playerid][pPerso],SpielerInfo[playerid][pCarLic],SpielerInfo[playerid][pBikeLic],SpielerInfo[playerid][pFlyLic],SpielerInfo[playerid][pWaffenLic],SpielerInfo[playerid][pTruckLic],SpielerInfo[playerid][pBan],SpielerInfo[playerid][pWarn],
SpielerInfo[playerid][pLeader],SpielerInfo[playerid][pRang],SpielerInfo[playerid][pFraktion],SpielerInfo[playerid][pStory],SpielerInfo[playerid][pMember],PlayerName(playerid));
mysql_query(query);
}
}
return 1;
}Tabelle:
ZitatAlles anzeigenDROP TABLE IF EXISTS `accounts`;
CREATE TABLE `accounts` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`Name` varchar(24) NOT NULL,
`Passwort` varchar(128) NOT NULL,
`Level` int(11) NOT NULL DEFAULT '1',
`Alter` int(11) NOT NULL,
`Geld` int(11) NOT NULL DEFAULT '0',
`Bundesland` int(11) NOT NULL DEFAULT '0',
`Admin` int(11) NOT NULL DEFAULT '0',
`Kills` int(11) NOT NULL DEFAULT '100',
`Tode` int(11) NOT NULL DEFAULT '0',
`Health` float(11,0) NOT NULL DEFAULT '0',
`Perso` int(11) NOT NULL DEFAULT '0',
`CarLic` int(11) NOT NULL DEFAULT '0',
`BikeLic` int(11) NOT NULL,
`FlyLic` int(11) NOT NULL,
`WaffenLic` int(11) NOT NULL,
`TruckLic` int(11) NOT NULL,
`Ban` int(11) NOT NULL,
`Warn` int(4) NOT NULL,
`Leader` varchar(11) NOT NULL,
`Rang` varchar(28) NOT NULL,
`Fraktion` varchar(24) NOT NULL,
`Story` int(5) NOT NULL,
`Member` int(5) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=269 DEFAULT CHARSET=latin1; -
Dein Enum muss genauso in der Reihenfolge strukturiert sein, wie du die Spalten ausliest per SSCANF.
LG
Danke, dann weiß ich wo der Fehler liegt. -
enum SpielerDaten
{
pName[MAX_PLAYER_NAME],
pLevel,
pGeld,
pKills,
pAlter,
pPerso,
pLeader,
pBundesland,
pMember,
pRang,
pStory,
pFraktion,
pCarLic,
pBikeLic,
pFlyLic,
pTruckLic,
pWaffenLic,
pTode,
pAdmin,
pBan,
pWarn,
Float:pHealth
}
new SpielerInfo[MAX_PLAYERS][SpielerDaten];Kurze Frage
macht das viel aus wenn das Enum durcheinander ist :>? -
Schick die Publics "OnPlayerLogin & OnPlayerUpdate & OnPlayerRegister"
-
ZitatAlles anzeigen
[15:18:45] CMySQLHandler::Query(SELECT * FROM `accounts` WHERE `Name` = 'PuSchKiiNX') - Successfully executed.
[15:18:45] >> mysql_store_result( Connection handle: 1 )
[15:18:45] CMySQLHandler::StoreResult() - Result was stored.
[15:18:45] >> mysql_fetch_row_format( Connection handle: 1 )
[15:18:45] CMySQLHandler::FetchRow() - Return: 260|PuSchKiiNX|Test123|1|1|0|0|50|0|0|0|0|0|0|0|0|0||||1|88|0
Hoffe doch du meinst das

-
ZitatAlles anzeigen
[14:57:43] MySQL Debugging activated (04/24/13)
[14:57:43] ---------------------------
[14:57:43]
[14:57:43] >> mysql_connect( )
[14:57:43] CMySQLHandler::Connect() - Connection was successful.
[14:57:43] CMySQLHandler::Connect() - Auto-Reconnect has been enabled.
[14:57:43] >> mysql_ping( Connection handle: 1 )
[14:57:43] CMySQLHandler::Ping() - Connection is still alive.
[14:58:06] >> mysql_real_escape_string( Connection handle: 1 )
[14:58:06] CMySQLHandler::EscapeString(Partii); - Escaped 6 characters to Partii.
[14:58:06] >> mysql_query( Connection handle: 1 )
[14:58:06] CMySQLHandler::Query(SELECT * FROM `accounts` WHERE `Name` = 'Partii') - Successfully executed.
[14:58:06] >> mysql_store_result( Connection handle: 1 )
[14:58:06] CMySQLHandler::StoreResult() - Result was stored.
[14:58:06] >> mysql_num_rows( Connection handle: 1 )
[14:58:06] CMySQLHandler::NumRows() - Returned 0 row(s)
[14:58:06] >> mysql_free_result( Connection handle: 1 )
[14:58:06] CMySQLHandler::FreeResult() - Result was successfully free'd.
[14:58:10] >> mysql_real_escape_string( Connection handle: 1 )
[14:58:10] CMySQLHandler::EscapeString(Partii); - Escaped 6 characters to Partii.
[14:58:10] >> mysql_real_escape_string( Connection handle: 1 )
[14:58:10] CMySQLHandler::EscapeString(test2); - Escaped 5 characters to test2.
[14:58:10] >> mysql_query( Connection handle: 1 )
[14:58:10] CMySQLHandler::Query(INSERT INTO `accounts` (`Name`, `Passwort`) VALUES ('Partii', 'test2')) - Successfully executed.
[14:58:24] >> mysql_query( Connection handle: 1 )
[14:58:24] CMySQLHandler::Query(UPDATE `accounts` SET `Level` = '1',`Geld` = '1000',`Kills` = '0',`Tode` = '0',`Health` = '50.000000',`Perso` = '0',`CarLic` = '0', `BikeLic` = '0',`FlyLic` = '0',`Admin` = '',`Ban` = '0',`Warn` = '0', `WaffenLic` = '0',`Leader` = '',`Rang` = '',`Fraktion` = '',`Story` = '1', `Alter` = '76', `Bundesland` = '',WHERE `Name` = 'Partii') - 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 'WHERE `Name` = 'Partii'' at line 1)
-
also am anfang sehe ich jetzt schon ein Fehler:
s[24]s[130]
obwohl du das Level laden willst.
Außerdem musst du bei 's' die länge angeben.
sscanf(str,"ddddfdddds[11]dddds[11]s[12]s[13]s[12]"
so ist richtig :D? -
Da ist einiges bei SSCANF falsch

Bitte mal erklären
Kaliber Danke hab ich nun drin, beavis & Hagi ebenfalls danke
-
stock LoadPlayer(playerid)
{
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))//Wir fragen ab ob der angegebene Spieler auch Online ist, und kein NPC ist (nur zur sicherhheit)
{
new str[520];
format(str,sizeof str,"SELECT * FROM `accounts` WHERE `Name` = '%s'",PlayerName(playerid));
mysql_query(str);
mysql_store_result();
mysql_fetch_row(str);
sscanf(str,"p<|>{i}s[24]s[130]{i}ddddfddddsddddssss",SpielerInfo[playerid][pLevel],SpielerInfo[playerid][pGeld],SpielerInfo[playerid][pKills],SpielerInfo[playerid][pTode],SpielerInfo[playerid][pHealth],SpielerInfo[playerid][pPerso],SpielerInfo[playerid][pCarLic],SpielerInfo[playerid][pBikeLic],SpielerInfo[playerid][pFlyLic],SpielerInfo[playerid][pAdmin],
SpielerInfo[playerid][pBan],SpielerInfo[playerid][pWarn],SpielerInfo[playerid][pWaffenLic],SpielerInfo[playerid][pLeader],SpielerInfo[playerid][pRang],SpielerInfo[playerid][pFraktion],SpielerInfo[playerid][pStory],SpielerInfo[playerid][pAlter],SpielerInfo[playerid][pBundesland]);
mysql_free_result();
}
return 1;
}
stock SavePlayer(playerid)
{
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
{
if(GetPVarInt(playerid,"Eingeloggt") == 1)
{
new query[500];
format(query, sizeof(query), "UPDATE `accounts` SET `Level` = '%d',`Geld` = '%d',`Kills` = '%d',`Tode` = '%d',`Health` = '%f',`Perso` = '%d',`CarLic` = '%d', `BikeLic` = '%d',`FlyLic` = '%d',`Admin` = '%s',`Ban` = '%d',`Warn` = '%d', `WaffenLic` = '%d',`Leader` = '%s',`Rang` = '%s',`Fraktion` = '%s',`Story` = '%d', `Alter` = '%d', `Bundesland` = '%s'",
SpielerInfo[playerid][pLevel],SpielerInfo[playerid][pGeld],SpielerInfo[playerid][pKills],SpielerInfo[playerid][pTode],SpielerInfo[playerid][pHealth],SpielerInfo[playerid][pPerso],SpielerInfo[playerid][pCarLic],SpielerInfo[playerid][pBikeLic],SpielerInfo[playerid][pFlyLic],SpielerInfo[playerid][pAdmin],
SpielerInfo[playerid][pBan],SpielerInfo[playerid][pWarn],SpielerInfo[playerid][pWaffenLic],SpielerInfo[playerid][pLeader],SpielerInfo[playerid][pRang],SpielerInfo[playerid][pFraktion],SpielerInfo[playerid][pStory],SpielerInfo[playerid][pAlter],SpielerInfo[playerid][pBundesland]);
mysql_query(query);
}
}
return 1;
}Das Problem ist, man Connected auf denn Server Registriert sich, Spawnt...Geht man raus, kommt man neu rein, bekommt man erstens Das Geld nicht wieder auf die Hand, 2. Steht in der Datenbank alles auf 0, bzw es Speichert Falsch ab :> oder es Loadet falsch weiß jemand woran der Fehler hier liegt?
-
Alles anzeigen
Liebe Community,
ich habe das Problem, dass meine Chats viel zu klein sind.
z.B. Tippe ich einen Satz mit 10 Wörtern und er werden nur maximal 4 angezeigt.
Kann ich den "Chat" irgendwie größer machen?
Pastebin: http://pastebin.com/6Ee7priSMit freundlichen Grüßen
Jan_
new text[256];
die Zahl erhöhen!
new text[356]; oder so
-
Maddin hat doch eins für Einsteiger gemacht, obwohl ich das nicht empfehle wegen den schlechten Querys, aber gut und ausführlich erklärt ist es
mfg.

Hab ich mir Durchgelesen, doch, das Speichern & Laden lässt grüßen, Es hieß so wie er es machte sei es Ressourcen fressend? - Naja, ich erstell mal nen T, mit meinem Problem llt findest du ihn & hilfst mir. -
schreib mal statt Führerschein, schreibst "Fuehrerschein"
-
Alles anzeigen
Ich schreibe Threads immer mit schwarz, finde das sieht schöner aus, bzw man kann es besser lesen
Freut mich
Gerade noch was zu MySQL etc hingeschrieben

mfg.

Magst noch nen Korrektes Tutorial machen oder Erklärung Datenbanken, diese zu benutzen Speichern/laden :D? könnt eich sehr gebrauchen derzeit.. -
public OnPlayerConnect(playerid)
{
if(IsPlayerNPC(playerid)) return 1;
PlayAudioStreamForPlayer(playerid,"http://andre.square7.ch/music.mp3");
InterpolateCameraPos(playerid, 2921.756835, -1970.542114, 26.786642, 2962.441650, -1436.830566, 49.123722, 15000);
InterpolateCameraLookAt(playerid, 2920.811279, -1975.407592, 26.128402, 2959.460205, -1440.445922, 47.379909, 4000);
ich sehe da nichts von DIALOG-Login? -
Schon was neues gelernt in der Laufbahn hier
gut. -
Ehm aber unter OnPlayerSpawn soll die Cam ja schon weg sein!
Also beim Regsister/Login Dialog soll diese Camera abgespielt werden!
Dann hau die Funktion direkt dahin wo der Dialog erscheint.