Szerző Téma: Némi segítség kellene [MYSQL]  (Megtekintve 1761 alkalommal)

Nem elérhető Light557

  • 836
  • _@_/
    • Profil megtekintése
Némi segítség kellene [MYSQL]
« Dátum: 2011. július 30. - 19:11:36 »
0 Show voters
Adott a kód:
 
stock LoginPlayer(playerid,password[]) {
new
hashedPassword[145 + 1],
name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
WP_Hash( hashedPassword, sizeof hashedPassword, password );
format(string, sizeof(string), \"SELECT * FROM Accounts WHERE Name = \'%s\' AND Password = \'%s\'\", name, hashedPassword);
mysql_query(string);
mysql_store_result();
    mysql_fetch_row_format(string);
sscanf(string,\"p<|>ddds[24]s[256]dds[24]ldds[256]s[24]ds[256]s[24]ds[256]s[24]ds[256]s[24]ds[256]s[24]dd\", AccVar[playerid][AdminLevel], AccVar[playerid][RegTime], AccVar[playerid][Muted], AccVar[playerid][MutedBy], AccVar[playerid][MuteReason], AccVar[playerid][Jailed], AccVar[playerid][JailTime], AccVar[playerid][JailedBy], AccVar[playerid][JailWrite], AccVar[playerid][LastOnline], AccVar[playerid][Warn1], AccVar[playerid][Warn1_Reason], AccVar[playerid][Warn1_WarnedBy], AccVar[playerid][Warn2], AccVar[playerid][Warn2_Reason], AccVar[playerid][Warn2_WarnedBy], AccVar[playerid][Warn3], AccVar[playerid][Warn3_Reason], AccVar[playerid][Warn3_WarnedBy], AccVar[playerid][Warn4], AccVar[playerid][Warn4_Reason], AccVar[playerid][Warn4_WarnedBy], AccVar[playerid][Warn5], AccVar[playerid][Warn5_Reason], AccVar[playerid][Warn5_WarnedBy], AccVar[playerid][Character1_ID], AccVar[playerid][Character2_ID]);
mysql_free_result();
}

 
(Most az elrendezést ne nézzétek, a módban nem így néz ki.. (/code bbc miatt ilyen))
És a hiba:
 
...gamemodes\\new.pwn(301) : error 075: input line too long (after substitutions)

 
Ez az elsõ segítség kérésem, de majd kiderül mi lessz belõle. :)
E: Rosszat másoltam be XD    Javítva...
« Utoljára szerkesztve: 2011. július 30. - 20:08:19 írta Light »

Nem elérhető Epsilon

  • 1854
    • Profil megtekintése
Némi segítség kellene [MYSQL]
« Válasz #1 Dátum: 2011. július 30. - 19:14:44 »
+1 Show voters
Nyomsz egy entert valamelyik vesszõ után. Ha ezt nem egy karakterláncban csinálod a pawncc nem fog majrézni.

Nem elérhető Light557

  • 836
  • _@_/
    • Profil megtekintése
Némi segítség kellene [MYSQL]
« Válasz #2 Dátum: 2011. július 30. - 19:42:49 »
0 Show voters
Ígyis-úgyis hibát ír...

Nem elérhető Csabesz

  • 7827
    • Profil megtekintése
Némi segítség kellene [MYSQL]
« Válasz #3 Dátum: 2011. július 30. - 19:47:56 »
0 Show voters
stock LoadCharacter(playerid, characterid) {
new
name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), \"SELECT * FROM Characters WHERE Name = \'%s\' AND CharacterID = \'%d\'\",name, characterid);
mysql_query(string);
mysql_store_result();
              mysql_fetch_row_format(string,\"|\");
sscanf(string,\"p<|>s[20]dggffffdldds[24]s[256]ddddddddddddddddldll\",CVar[playerid][RegTime],CVar[playerid][Age],CVar[playerid][Health],CVar[playerid][Armour],CVar[playerid][Pos][0],CVar[playerid][Pos][1],CVar[playerid][Pos][2],CVar[playerid][Pos][3],CVar[playerid][Money], CVar[playerid][sex], CVar[playerid][Jailed], CVar[playerid][JailTime], CVar[playerid][JailedBy], CVar[playerid][JailReason], CVar[playerid][interior], CVar[playerid][VirtualWorld], CVar[playerid][Kills],
                CVar[playerid][Deaths], CVar[playerid][WalkStyle], CVar[playerid][FightStyle], CVar[playerid][Height], CVar[playerid][Weight], CVar[playerid][Origin], CVar[playerid][Language], CVar[playerid][Wanted], CVar[playerid][stamina], CVar[playerid][Muscle], CVar[playerid][Job], CVar[playerid][Co_Job], CVar[playerid][Fatigue], CVar[playerid][Watery], CVar[playerid][skin], CVar[playerid][Mask], CVar[playerid][Helmet]);
mysql_free_result();
}

 
Ha még így is hosszú, akkor felezd meg még mind2 sort.  ;)

Nem elérhető Light557

  • 836
  • _@_/
    • Profil megtekintése
Némi segítség kellene [MYSQL]
« Válasz #4 Dátum: 2011. július 30. - 19:50:05 »
0 Show voters
Látom nemértitek. :D
Akárhányszor megfelezhetem a sort, mindig túl hosszúnak írja....

Nem elérhető Epsilon

  • 1854
    • Profil megtekintése
Némi segítség kellene [MYSQL]
« Válasz #5 Dátum: 2011. július 30. - 19:54:28 »
0 Show voters
Idézetet írta: Light date=1312047769\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"10009\" data-ipsquote-contentclass=\"forums_Topic
Ígyis-úgyis hibát ír...
 
Teszteltem, nálam nem.
Itt a kód, amivel kipróbáltam:
 
new CVar[MAX_PLAYERS][34];
stock LoadCharacter(playerid, characterid) {
   new
      name[MAX_PLAYER_NAME],
  string[128];
   GetPlayerName(playerid, name, sizeof(name));
   format(string, sizeof(string), \"SELECT * FROM Characters WHERE Name = \'%s\' AND CharacterID = \'%d\'\",name, characterid);
   mysql_query(string);
   mysql_store_result();
              mysql_fetch_row_format(string,\"|\");
   sscanf(string,\"p<|>s[20]dggffffdldds[24]s[256]ddddddddddddddddldll\",CVar[playerid][0],CVar[playerid][1],CVar[playerid][2],CVar[playerid][3],CVar[playerid][4],CVar[playerid][5],CVar[playerid][6],CVar[playerid][7],CVar[playerid][8],
   CVar[playerid][9], CVar[playerid][10], CVar[playerid][11], CVar[playerid][12], CVar[playerid][13], CVar[playerid][14], CVar[playerid][15], CVar[playerid][16], CVar[playerid][17], CVar[playerid][18], CVar[playerid][19], CVar[playerid][20], CVar[playerid][21], CVar[playerid][22], CVar[playerid][23], CVar[playerid][24], CVar[playerid][25], CVar[playerid][26], CVar[playerid][27], CVar[playerid][28], CVar[playerid][29], CVar[playerid][30], CVar[playerid][31], CVar[playerid][32], CVar[playerid][33]);
    mysql_free_result();
}

 
Persze azért átalakítottam, hogy egy alap mód is megértse.

Nem elérhető Light557

  • 836
  • _@_/
    • Profil megtekintése
Némi segítség kellene [MYSQL]
« Válasz #6 Dátum: 2011. július 30. - 19:56:49 »
0 Show voters
Ugyan az a helyzet...  :(

Némi segítség kellene [MYSQL]
« Válasz #7 Dátum: 2011. július 30. - 19:58:41 »
0 Show voters
És miért nem használod sscanf enumerációs jeleit?
 
pawn Code:
enum
    E_DATA
{
    E_DATE_C,
    Float:E_DATA_X,
    E_DATA_NAME[32],
    E_DATA_Z
}
main
{
    new
        var[E_DATA];
    sscanf(\"1 12.0 Bob c\", \"e<ifs[32]c>\", var);
}
 
[/quote]
Fõleg ha a CVar minden egyes eleme használatban van, ha meg van olyan ami nincs, azt át rakod másba.

Nem elérhető Epsilon

  • 1854
    • Profil megtekintése
Némi segítség kellene [MYSQL]
« Válasz #8 Dátum: 2011. július 30. - 20:03:34 »
0 Show voters
Várjunk, melyik az a sor amit túl hosszúnak vél?

Nem elérhető Light557

  • 836
  • _@_/
    • Profil megtekintése
Némi segítség kellene [MYSQL]
« Válasz #9 Dátum: 2011. július 30. - 20:07:49 »
0 Show voters
Jézusom! XD Mekkora barom vagyok...
Rossz kódot másoltam be.... omg :///
Ez az amire hibát ír...
 
stock LoginPlayer(playerid,password[]) {
new
hashedPassword[145 + 1],
name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
WP_Hash( hashedPassword, sizeof hashedPassword, password );
format(string, sizeof(string), \"SELECT * FROM Accounts WHERE Name = \'%s\' AND Password = \'%s\'\", name, hashedPassword);
mysql_query(string);
mysql_store_result();
    mysql_fetch_row_format(string);
sscanf(string,\"p<|>ddds[24]s[256]dds[24]ldds[256]s[24]ds[256]s[24]ds[256]s[24]ds[256]s[24]ds[256]s[24]dd\", AccVar[playerid][AdminLevel], AccVar[playerid][RegTime], AccVar[playerid][Muted], AccVar[playerid][MutedBy], AccVar[playerid][MuteReason], AccVar[playerid][Jailed], AccVar[playerid][JailTime], AccVar[playerid][JailedBy], AccVar[playerid][JailWrite], AccVar[playerid][LastOnline], AccVar[playerid][Warn1], AccVar[playerid][Warn1_Reason], AccVar[playerid][Warn1_WarnedBy], AccVar[playerid][Warn2], AccVar[playerid][Warn2_Reason], AccVar[playerid][Warn2_WarnedBy], AccVar[playerid][Warn3], AccVar[playerid][Warn3_Reason], AccVar[playerid][Warn3_WarnedBy], AccVar[playerid][Warn4], AccVar[playerid][Warn4_Reason], AccVar[playerid][Warn4_WarnedBy], AccVar[playerid][Warn5], AccVar[playerid][Warn5_Reason], AccVar[playerid][Warn5_WarnedBy], AccVar[playerid][Character1_ID], AccVar[playerid][Character2_ID]);
mysql_free_result();
}

 
Ezer bocs :/
Amúgy erre ír hibát:
 
mysql_fetch_row_format(string);
« Utoljára szerkesztve: 2011. július 30. - 20:09:32 írta Light »

Nem elérhető Epsilon

  • 1854
    • Profil megtekintése
Némi segítség kellene [MYSQL]
« Válasz #10 Dátum: 2011. július 30. - 20:12:51 »
0 Show voters
Biztos? Erre a rövidke sorra írja, hogy túl hosszú?
Ezzel is próbáld, amit fent mondtunk.

Nem elérhető Light557

  • 836
  • _@_/
    • Profil megtekintése
Némi segítség kellene [MYSQL]
« Válasz #11 Dátum: 2011. július 30. - 20:18:28 »
0 Show voters
Idézetet írta: Zsolesszka date=1312048721\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"10009\" data-ipsquote-contentclass=\"forums_Topic
És miért nem használod sscanf enumerációs jeleit?
 
pawn Code:
enum
    E_DATA
{
    E_DATE_C,
    Float:E_DATA_X,
    E_DATA_NAME[32],
    E_DATA_Z
}
main
{
    new
        var[E_DATA];
    sscanf(\"1 12.0 Bob c\", \"e<ifs[32]c>\", var);
}
 
Fõleg ha a CVar minden egyes eleme használatban van, ha meg van olyan ami nincs, azt át rakod másba.
 
[/quote]
Ezt nem teljesen értem...
Esetleg valami példát tudnátok mutatni amivel ebben az esetben el tudnék indulni?

Némi segítség kellene [MYSQL]
« Válasz #12 Dátum: 2011. július 30. - 20:44:15 »
+1 Show voters
Idézetet írta: Light date=1312049908\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"10009\" data-ipsquote-contentclass=\"forums_Topic
Ezt nem teljesen értem...
Esetleg valami példát tudnátok mutatni amivel ebben az esetben el tudnék indulni?
 


#include <a_samp>
#include <a_mysql>
enum
AccVar_Enum
{
AdminLevel,
RegTime[20]
};
new
AccVar[MAX_PLAYERS][AccVar_Enum];
stock
LoginPlayer(playerid, password[])
{
new
hashedPassword[145 + 1],   
name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
WP_Hash( hashedPassword, sizeof hashedPassword, password );
format(string, sizeof(string), \"SELECT * FROM Accounts WHERE Name = \'%s\' AND Password = \'%s\'\", name, hashedPassword);
mysql_query(string);
mysql_store_result();
mysql_fetch_row_format(string);
sscanf(string,\"e<p<|>ds[20]>\", AccVar[playerid]);
mysql_free_result();
}
« Utoljára szerkesztve: 2011. július 30. - 20:47:22 írta Zsolesszka »

Nem elérhető Light557

  • 836
  • _@_/
    • Profil megtekintése
Némi segítség kellene [MYSQL]
« Válasz #13 Dátum: 2011. július 30. - 20:47:53 »
0 Show voters
Köszi, átírom és meglátjuk.  ;)
E: Mûködik! Köszönöm Zsolesszka! (Persze köszönöm a többieknek is akik megpróbáltak segíteni.)
« Utoljára szerkesztve: 2011. július 30. - 20:54:42 írta Light »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal