23.05.2011, 17:43
(
Последний раз редактировалось Bates; 23.05.2011 в 20:41.
)
Hi guys, i have a severe problem. I implemented MySQL into my script, and one vital part is the SavePlayerData function. This is my code:
If i set the saveQuery string to anything below 3643(or 3643), the server crashes. If i set the saveQuery to more than 3643(3644 and up), everything works but "TEST45" won't show up in the console. Help please!
Thanks in advance
Bates
pawn Код:
public SavePlayerData( playerid )
{
printf("TEST1");
if(Player[playerid][Authenticated] == 1 )
{
printf("TEST2");
new saveQuery[3643]; // This makes the server crash
GetPlayerPos( playerid, Player[playerid][LastX], Player[playerid][LastY], Player[playerid][LastZ]);
Player[playerid][LastInterior] = GetPlayerInterior( playerid );
Player[playerid][LastWorld] = GetPlayerVirtualWorld(playerid);
GetPlayerHealth(playerid, Player[playerid][LastHealth]);
GetPlayerArmour(playerid, Player[playerid][LastArmour]);
printf("TEST1");
format(saveQuery, sizeof(saveQuery), "UPDATE playerAccounts SET Banned = '%d', SecondsLoggedIn = '%d', LastSkin = '%d', Money = '%d', BankMoney = '%d'", Player[playerid][Banned], Player[playerid][SecondsLoggedIn], Player[playerid][LastSkin], Player[playerid][Money], Player[playerid][BankMoney]);
format(saveQuery, sizeof(saveQuery), "%s, LastInterior = '%d', LastWorld = '%d', LastHealth = '%f', LastArmour = '%f', LastX = '%f', LastY = '%f', LastZ = '%f'", saveQuery, Player[playerid][LastInterior], Player[playerid][LastWorld], Player[playerid][LastHealth], Player[playerid][LastArmour], Player[playerid][LastX], Player[playerid][LastY], Player[playerid][LastZ]);
format(saveQuery, sizeof(saveQuery), "%s, Accent = '%s', AdminLevel = '%d', Job = '%d', WepSlot0 = '%d', WepSlot1 = '%d', WepSlot2 = '%d', WepSlot3 = '%d'", saveQuery, Player[playerid][Accent], Player[playerid][AdminLevel], Player[playerid][Job], Player[playerid][WepSlot0], Player[playerid][WepSlot1], Player[playerid][WepSlot2], Player[playerid][WepSlot3]);
format(saveQuery, sizeof(saveQuery), "%s, Ammo0 = '%d', Ammo1 = '%d', Ammo2 = '%d', Ammo3 = '%d, Ammo11 = '%d'", saveQuery, Player[playerid][Accent], Player[playerid][AdminLevel], Player[playerid][Job], Player[playerid][Ammo0], Player[playerid][Ammo1], Player[playerid][Ammo2], Player[playerid][Ammo3], Player[playerid][Ammo11]);
format(saveQuery, sizeof(saveQuery), "%s, Ammo4 = '%d', Ammo5 = '%d', Ammo6 = '%d', Ammo7 = '%d', Ammo8 = '%d', Ammo9 = '%d', Ammo10 = '%d'", saveQuery, Player[playerid][Ammo4], Player[playerid][Ammo5], Player[playerid][Ammo6], Player[playerid][Ammo7], Player[playerid][Ammo8], Player[playerid][Ammo9], Player[playerid][Ammo10]);
format(saveQuery, sizeof(saveQuery), "%s, WepSlot4 = '%d', WepSlot5 = '%d', WepSlot6 = '%d', WepSlot7 = '%d', WepSlot8 = '%d', WepSlot9 = '%d', WepSlot10 = '%d'", saveQuery, Player[playerid][WepSlot4], Player[playerid][WepSlot5], Player[playerid][WepSlot6], Player[playerid][WepSlot7], Player[playerid][WepSlot8], Player[playerid][WepSlot9], Player[playerid][WepSlot10]);
format(saveQuery, sizeof(saveQuery), "%s, WepSlot11 = '%d', Materials = '%d', PlayingHours = '%d'", saveQuery, Player[playerid][WepSlot11], Player[playerid][Materials], Player[playerid][PlayingHours]);
format(saveQuery, sizeof(saveQuery), "%s, Warning1 = '%s', Warning2 = '%s', Warning3 = '%s', Hospitalized = '%d', FirstLogin = '%d', PrisonDuration = '%d', PrisonID = '%d', PhoneN = '%d, HelperLevel = '%d'", saveQuery, Player[playerid][Warning1], Player[playerid][Warning2], Player[playerid][Warning3], Player[playerid][Hospitalized], Player[playerid][FirstLogin],
Player[playerid][PrisonDuration], Player[playerid][PrisonID], Player[playerid][PhoneN], Player[playerid][HelperLevel]);
format(saveQuery, sizeof(saveQuery), "%s, House = '%d', Muted = '%d', oMuted = '%d', nMuted = '%d', Identity = '%d', Age = '%d', ContractPrice = '%d', Contract = '%s', Tutorial = '%d', CriminalOffences = '%d', Offence1 = '%s', Offence2 = '%s'", saveQuery, Player[playerid][House], Player[playerid][Muted],
Player[playerid][oMuted], Player[playerid][nMuted], Player[playerid][Identity], Player[playerid][Age], Player[playerid][ContractPrice], Player[playerid][Contract], Player[playerid][Tutorial], Player[playerid][CriminalOffences], Player[playerid][Offence1], Player[playerid][Offence2]);
format(saveQuery, sizeof(saveQuery), "%s, Offence3 = '%s', Offence4 = '%s', Offence5 = '%s', Offence6 = '%s', Gender = '%d', Materials = '%d', Pot = '%d', Business = '%d', PhoneBook = '%d', InabilityToMatrun = '%d', InabilityToDropCar = '%d', CantFish = '%d', CollectedFish = '%d'", saveQuery, Player[playerid][Offence3], Player[playerid][Offence4], Player[playerid][Offence5],
Player[playerid][Offence6], Player[playerid][Gender], Player[playerid][Materials], Player[playerid][Pot], Player[playerid][Business], Player[playerid][PhoneBook], Player[playerid][InabilityToMatrun], Player[playerid][InabilityToDropCar], Player[playerid][CantFish], Player[playerid][CollectedFish]);
format(saveQuery, sizeof(saveQuery), "%s, Rope = '%d', Rags = '%d', FailedHits = '%d', SuccessfulHits = '%d', Radio = '%d', CollegeLaw = '%d', CollegeMedia = '%d', CollegeEng = '%d', CollegeMath = '%d', CollegeChem = '%d', MarriedTo = '%s', FightBox = '%d'", saveQuery, Player[playerid][Rope], Player[playerid][Rags], Player[playerid][FailedHits], Player[playerid][SuccessfulHits], Player[playerid][Radio], Player[playerid][CollegeLaw],
Player[playerid][CollegeMedia], Player[playerid][CollegeEng], Player[playerid][CollegeMath], Player[playerid][CollegeChem], Player[playerid][MarriedTo], Player[playerid][FightBox]);
format(saveQuery, sizeof(saveQuery), "%s, Note = '%s', MeActions = '%d', AdsPlaced = '%d', MatrunsExecuted = '%d', HasMapApp = '%d', HasAdApp = '%d', HasPagesApp = '%d', HasRadioApp = '%d', AnsweredQuizQuestions = '%d', AchievementRank = '%d', Tester = '%d'", saveQuery,
Player[playerid][Note], Player[playerid][MeActions], Player[playerid][AdsPlaced], Player[playerid][MatrunsExecuted], Player[playerid][HasMapApp],
Player[playerid][HasAdApp], Player[playerid][HasPagesApp], Player[playerid][HasRadioApp], Player[playerid][AnsweredQuizQuestions], Player[playerid][AchievementRank], Player[playerid][Tester]);
format(saveQuery, sizeof(saveQuery), "%s, CheckBalance = '%d', ReportBanStatus = '%d', AdminDuty = '%d', CarKeys = '%d', Kills = '%d', Deaths = '%d', CantFindGold = '%d', GoldCollected = '%d', GoldAttempts = '%d', CellphoneConsole = '%d'", saveQuery, Player[playerid][CheckBalance], Player[playerid][ReportBanStatus], Player[playerid][AdminDuty],
Player[playerid][CarKeys], Player[playerid][Kills], Player[playerid][Deaths], Player[playerid][CantFindGold], Player[playerid][GoldCollected], Player[playerid][GoldAttempts], Player[playerid][CellphoneConsole]);
format(saveQuery, sizeof(saveQuery), "%s, FightKungfu = '%d', Group = '%d', GroupRank = '%d', LastIP = '%s', FightGrabkick = '%d', FightKneehead = '%d', VipRank = '%d', WalkieTalkie = '%d', BankStatus = '%d', PhoneCredit = '%d', PlayerSkinSlot1 = '%d', PlayerSkinSlot2 = '%d', PlayerSkinSlot3 = '%d', AdminPIN = '%d', AdminSkin = '%d', WalkieFrequency = '%d', PortableRadio = '%d' WHERE InternalID = '%d'", saveQuery, Player[playerid][FightKungfu],
Player[playerid][Group], Player[playerid][GroupRank], Player[playerid][LastIP], Player[playerid][FightGrabkick], Player[playerid][FightKneehead], Player[playerid][VipRank], Player[playerid][WalkieTalkie], Player[playerid][BankStatus], Player[playerid][PhoneCredit], Player[playerid][PlayerSkinSlot1], Player[playerid][PlayerSkinSlot2], Player[playerid][PlayerSkinSlot3],
Player[playerid][AdminPIN], Player[playerid][AdminSkin], Player[playerid][WalkieFrequency], Player[playerid][PortableRadio], Player[playerid][InternalID]);
printf("TEST45");
mysql_query(saveQuery);
}
return 1;
}
Thanks in advance
Bates