1
Problèmes et bugs / Re : Bug crash utilisateur
« le: 31 Juillet 2012, 13:23:41 »
Tu as quoi comme machine ?
Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.
#if defined _samp_includedPs je ne c'est pas si cela marche mais test quand même.
#endinput
#endif
#define _samp_included
#pragma library samp
#pragma tabsize 4
// Ignores warning 217 for properly indented PAWNO code
// It's tab size is 4 and often uses 4 spaces instead, PAWNCC's is 8
#include <core>
#include <float>
#include <string>
#include <file>
#include <time>
#include <datagram>
#include <a_players>
#include <a_vehicles>
#include <a_objects>
#include <a_sampdb>
// Limits and internal constants
#define MAX_PLAYER_NAME (24)
#define MAX_PLAYERS (500)
#define MAX_VEHICLES (2000)
#define INVALID_PLAYER_ID (0xFFFF)
#define INVALID_VEHICLE_ID (0xFFFF)
#define NO_TEAM (255)
#define MAX_OBJECTS (999999)
#define INVALID_OBJECT_ID (0xFFFF)
#define MAX_GANG_ZONES (1024)
#define MAX_TEXT_DRAWS (2048)
#define MAX_PLAYER_TEXT_DRAWS (256)
#define MAX_MENUS (128)
#define MAX_3DTEXT_GLOBAL (1024)
#define MAX_3DTEXT_PLAYER (1024)
#define MAX_PICKUPS (4096)
#define INVALID_MENU (0xFF)
#define INVALID_TEXT_DRAW (0xFFFF)
#define INVALID_GANG_ZONE (-1)
#define INVALID_3DTEXT_ID (0xFFFF)

if(strcmp(subcmd,"/ceinture", true)==0 || strcmp(subcmd,"/cein", true)==0)
{
if(!IsPlayerInAnyVehicle(playerid))
{
SendClientMessage(playerid, COLOR_SERVER, "[Server] Vous n'êtes pas dans un véhicule.");
return 1;
}
if(IsABike(GetPlayerVehicleID(playerid)) || IsAMoto(GetPlayerVehicleID(playerid)) || IsABoat(GetPlayerVehicleID(playerid)))
{
SendClientMessage(playerid, COLOR_VEHICULE, "[Vehicule] Ce véhicule n'a pas de ceinture !");
return 1;
}
if(Ceinture[playerid]==0)
{
Ceinture[playerid]=1;
format(proxy_msg,sizeof(proxy_msg),"%s attache sa ceinture.",playername);
proxy_sendMsg(playerid,proxy_msg);
}
else if(Ceinture[playerid]==1)
{
Ceinture[playerid]=0;
format(proxy_msg,sizeof(proxy_msg),"%s détache sa ceinture.",playername);
proxy_sendMsg(playerid,proxy_msg);
}
return 1;
}Je ne trouve pas le bug pour que la ceinture ne soit pas reconnu par le serveur.lspdFrontGate = CreateDynamicObject(968, 2238.205078125, 2450.421875, 10.538173675537, 0, 270.0, 270.0, -1,-1,-1,STREAM_DISTANCE);
fourdoor1 = CreateDynamicObject(10184, 2481.8759765625, 2350.7316894531, 12.442073822021, 0, 0, 270, -1,-1,-1,STREAM_DISTANCE);
lspdgate = CreateDynamicObject(971, 2293.9033203125, 2498.4084472656, 5.8183512687683, 0, 0, 90, -1,-1,-1,STREAM_DISTANCE); // lspd door
lspdgate2 = CreateDynamicObject(10184, 2335.568359375, 2444.4694824219, 7.3072957992554, 0, 0, 329.75, -1,-1,-1,STREAM_DISTANCE); // lspd door
lspddoor = CreateDynamicObject(976, 254.099609375, 72.5, 1002, 0, 0, 179.99450683594, -1,-1,-1,STREAM_DISTANCE); // lspd door
servis1 = CreateDynamicObject(2679, 1600.597778, 1069.268311, 9.854546, 90.241142, 0.000000, 0.000000,-1,-1,-1,LITTLE_STREAM_DISTANCE);
servis2 = CreateDynamicObject(2679, 1600.596313, 1067.004150, 9.854553, 90.241142, 0.000000, 0.000057,-1,-1,-1,LITTLE_STREAM_DISTANCE);
servis3 = CreateDynamicObject(2679, 1597.282715, 1066.978882, 9.826653, 91.100586, 0.000000, 0.000057,-1,-1,-1,LITTLE_STREAM_DISTANCE);
servis4 = CreateDynamicObject(2679, 1597.287354, 1069.296143, 9.844713, 90.241142, 0.000000, 0.000000,-1,-1,-1,LITTLE_STREAM_DISTANCE);// Monter
if(strcmp(subcmd, "monter", true) == 0)
{
if(PlayerToPoint(5, playerid, 1598.6506,1067.9191,13.5383))
{
if(IsPlayerInAnyVehicle(playerid))
{
MoveDynamicObject(servis1, 1600.597778,1069.268311,12.804501, 1,0.0,0.0,0.0);
MoveDynamicObject(servis2, 1600.596313,1067.004150,12.804508, 1,0.0,0.0,0.0);
MoveDynamicObject(servis3, 1597.282715,1066.978882,12.801607, 1,0.0,0.0,0.0);
MoveDynamicObject(servis4, 1597.287354,1069.296143,12.819668, 1,0.0,0.0,0.0);
FreezePlayer(playerid,"Tune une voiture");
tuning_resetFacture(GetPlayerVehicleID(playerid));
}
else {SendClientMessage(playerid, COLOR_BIZ, "[Biz] Vous devez être dans une voiture");}
}
else {SendClientMessage(playerid, COLOR_BIZ, "[Biz] Vous devez être dans le garage de tuning.");}
return 1;
}
// Descendre
if(strcmp(subcmd, "descendre", true) == 0 || strcmp(subcmd, "desc", true) == 0)
{
if(PlayerToPoint(5, playerid, 1598.6506,1067.9191,13.5383))
{
if(IsPlayerInAnyVehicle(playerid))
{
MoveDynamicObject(servis1, 1600.597778,1069.268311,9.854546, 1,0.0,0.0,0.0,0.0,0.0,0.0);
MoveDynamicObject(servis2, 1600.596313,1067.004150,9.854553, 1,0.0,0.0,0.0,0.0,0.0,0.0);
MoveDynamicObject(servis3, 1597.282715,1066.978882,9.826653, 1,0.0,0.0,0.0,0.0,0.0,0.0);
MoveDynamicObject(servis4, 1597.287354,1069.296143,9.819668, 1,0.0,0.0,0.0,0.0,0.0,0.0);
UnfreezePlayer(playerid);
tuning_endTuning(GetPlayerVehicleID(playerid));
}
else {SendClientMessage(playerid, COLOR_BIZ, "[Biz] Vous devez être dans une voiture");}
}
else {SendClientMessage(playerid, COLOR_BIZ, "[Biz] Vous devez être dans le garage de tuning.");}
return 1;
}http://pastebin.com/8VCiZpvjforward OnPlayerLogin(playerid,password[]); // Appelée à la connexion
public OnPlayerLogin(playerid,password[])
{
if(IsPlayerNPC(playerid))
{return 1;}
MySQLCheckConnection();
new tmp2[MAX_STRING_MSG],playername2[MAX_PLAYER_NAME];
GetPlayerName(playerid,playername2,sizeof(playerna me2));
MySQLFetchAcctSingle(PlayerInfo[playerid][pSQLID], "Password", PlayerInfo[playerid][pKey]);
if(strcmp(PlayerInfo[playerid][pKey],password, false ) == 0 )
{
new Data[2048],Field[65],query[64];
format(query, sizeof(query), "SELECT * FROM players_stats WHERE id = %d LIMIT 1", PlayerInfo[playerid][pSQLID]);
mysql_query(query);
mysql_store_result();
if(mysql_fetch_row(Data))
{
mysql_get_field("PlayerLevel",Field); PlayerInfo[playerid][pLevel] = strval(Field);
mysql_get_field("AdminLevel",Field); PlayerInfo[playerid][pAdmin] = strval(Field);
mysql_get_field("StatusRp",Field); PlayerInfo[playerid][pStatusRp] = strval(Field);
mysql_get_field("Registered",Field); PlayerInfo[playerid][pReg] = strval(Field);
mysql_get_field("Sex",Field); PlayerInfo[playerid][pSex] = strval(Field);
mysql_get_field("Origin",Field); PlayerInfo[playerid][pOrigin] = strval(Field);
mysql_get_field("Muted",Field); PlayerInfo[playerid][pMuted] = strval(Field);
mysql_get_field("Respect",Field); PlayerInfo[playerid][pExp] = strval(Field);
mysql_get_field("Money",Field); PlayerInfo[playerid][pCash] = strval(Field);
mysql_get_field("Bank",Field); PlayerInfo[playerid][pAccount] = strval(Field);
mysql_get_field("Phonebook",Field); PlayerInfo[playerid][pPhoneBook] = strval(Field);
mysql_get_field("SuspendedTime",Field); PlayerInfo[playerid][pSuspendedTime] = strval(Field);
mysql_get_field("Swat",Field); PlayerInfo[playerid][pSwat] = strval(Field);
mysql_get_field("Job",Field); PlayerInfo[playerid][pJob] = strval(Field);
mysql_get_field("Paycheck",Field); PlayerInfo[playerid][pStealCheck] = strval(Field);
mysql_get_field("Jailed",Field); PlayerInfo[playerid][pJailed] = strval(Field);
mysql_get_field("JailTime",Field); PlayerInfo[playerid][pJailTime] = strval(Field);
mysql_get_field("Materials",Field); PlayerInfo[playerid][pMats] = strval(Field);
mysql_get_field("Drugs",Field); PlayerInfo[playerid][pDrugs] = strval(Field);
mysql_get_field("Member",Field); PlayerInfo[playerid][pMember] = strval(Field);
mysql_get_field("Rank",Field); PlayerInfo[playerid][pRank] = strval(Field);
mysql_get_field("Chara",Field); PlayerInfo[playerid][pChar] = strval(Field);
mysql_get_field("pHealth",Field); PlayerInfo[playerid][pHealth] = floatstr(Field);
mysql_get_field("Inte",Field); PlayerInfo[playerid][pInt] = strval(Field);
mysql_get_field("TimeTatoo",Field); PlayerInfo[playerid][pTimeTatoo] = strval(Field);
mysql_get_field("Model",Field); PlayerInfo[playerid][pModel] = strval(Field);
mysql_get_field("PhoneNr",Field); PlayerInfo[playerid][pPnumber] = strval(Field);
mysql_get_field("House",Field); PlayerInfo[playerid][pPhousekey] = strval(Field);
mysql_get_field("Car",Field); PlayerInfo[playerid][pPcarkey] = strval(Field);
mysql_get_field("Bizz",Field); PlayerInfo[playerid][pPbiskey] = strval(Field);
mysql_get_field("Pos_x",Field); PlayerInfo[playerid][pPos_x] = floatstr(Field);
mysql_get_field("Pos_y",Field); PlayerInfo[playerid][pPos_y] = floatstr(Field);
mysql_get_field("Pos_z",Field); PlayerInfo[playerid][pPos_z] = floatstr(Field);
mysql_get_field("CarLic",Field); PlayerInfo[playerid][pCarLic] = strval(Field);
mysql_get_field("FlyLic",Field); PlayerInfo[playerid][pFlyLic] = strval(Field);
mysql_get_field("BoatLic",Field); PlayerInfo[playerid][pBoatLic] = strval(Field);
mysql_get_field("FishLic",Field); PlayerInfo[playerid][pFishLic] = strval(Field);
mysql_get_field("GunLic",Field); PlayerInfo[playerid][pGunLic] = strval(Field);
mysql_get_field("Gun1",Field); PlayerInfo[playerid][pGun1] = strval(Field);
mysql_get_field("Gun2",Field); PlayerInfo[playerid][pGun2] = strval(Field);
mysql_get_field("Gun3",Field); PlayerInfo[playerid][pGun3] = strval(Field);
mysql_get_field("Gun4",Field); PlayerInfo[playerid][pGun4] = strval(Field);
mysql_get_field("Ammo1",Field); PlayerInfo[playerid][pAmmo1] = strval(Field);
mysql_get_field("Ammo2",Field); PlayerInfo[playerid][pAmmo2] = strval(Field);
mysql_get_field("Ammo3",Field); PlayerInfo[playerid][pAmmo3] = strval(Field);
mysql_get_field("Ammo4",Field); PlayerInfo[playerid][pAmmo4] = strval(Field);
mysql_get_field("CarTime",Field); PlayerInfo[playerid][pCarTime] = strval(Field);
mysql_get_field("PayDay",Field); PlayerInfo[playerid][pPayDay] = strval(Field);
mysql_get_field("Tutorial",Field); PlayerInfo[playerid][pTut] = strval(Field);
mysql_get_field("Warnings",Field); PlayerInfo[playerid][pWarns] = strval(Field);
mysql_get_field("Married",Field); PlayerInfo[playerid][pMarried] = strval(Field);
mysql_get_field("MarriedTo",Field); strmid(PlayerInfo[playerid][pMarriedTo], Field, 0, strlen(Field), 255);
mysql_get_field("Locked",Field); PlayerInfo[playerid][pLocked] = strval(Field);
mysql_get_field("Heroine",Field); PlayerInfo[playerid][pHeroine] = strval(Field);
mysql_get_field("IsAtHotel",Field); PlayerInfo[playerid][pIsAtHotel] = strval(Field);
mysql_get_field("Sick",Field); PlayerInfo[playerid][pSickId] = strval(Field);
mysql_get_field("SickDoseTaken",Field); PlayerInfo[playerid][pSickDoseTaken] = strval(Field);
mysql_get_field("SickDoseTakenTime",Field); PlayerInfo[playerid][pSickDoseTakenTime] = strval(Field);
mysql_get_field("SickDose",Field); PlayerInfo[playerid][pSickDose] = strval(Field);
mysql_get_field("SickDoseNumber",Field); PlayerInfo[playerid][pSickDoseNumber] = strval(Field);
mysql_get_field("RpNoteRp",Field); PlayerInfo[playerid][pRpNoteRp] = strval(Field);
mysql_get_field("PlayedTime",Field); PlayerInfo[playerid][pPlayedTime] = strval(Field);
mysql_get_field("JobTime",Field); PlayerInfo[playerid][pJobTime] = strval(Field);
mysql_get_field("Car2",Field); PlayerInfo[playerid][pCarKey2] = strval(Field);
mysql_get_field("Car3",Field); PlayerInfo[playerid][pCarKey3] = strval(Field);
mysql_get_field("Mask",Field); PlayerInfo[playerid][pMask] = strval(Field);
mysql_get_field("LicencePoint",Field); PlayerInfo[playerid][pLicencePoint] = strval(Field);
mysql_get_field("RankAdvancement",Field); PlayerInfo[playerid][pRankAdvancement] = strval(Field);
mysql_get_field("AncienBizz",Field); PlayerInfo[playerid][pAncienBizz] = strval(Field);
mysql_get_field("BizzVenteAuto",Field); PlayerInfo[playerid][pBizzVenteAuto] = strval(Field);
mysql_get_field("PiedBiche",Field); PlayerInfo[playerid][pPiedBiche] = strval(Field);
mysql_get_field("Roop",Field); PlayerInfo[playerid][pRoop] = strval(Field);
mysql_get_field("Baillon",Field); PlayerInfo[playerid][pBaillon] = strval(Field);
mysql_get_field("Jerrican",Field); PlayerInfo[playerid][pJerrican] = strval(Field);
mysql_get_field("Confiserie",Field); PlayerInfo[playerid][pConfiserie] = strval(Field);
mysql_get_field("Adrenaline",Field); PlayerInfo[playerid][pAdrenaline] = strval(Field);
mysql_get_field("Cigarettes",Field); PlayerInfo[playerid][pCigarettes] = strval(Field);
mysql_get_field("Feuilles",Field); PlayerInfo[playerid][pFeuilles] = strval(Field);
mysql_get_field("Tabac",Field); PlayerInfo[playerid][pTabac] = strval(Field);
mysql_get_field("FoodProduct",Field); PlayerInfo[playerid][pFoodProduct] = strval(Field);
mysql_get_field("Connected",Field); PlayerInfo[playerid][pConnected] = strval(Field);
mysql_get_field("Talkie",Field); PlayerInfo[playerid][pTalkie] = strval(Field);
mysql_get_field("CarKeyOffer",Field); PlayerInfo[playerid][pCarKeyOffer] = strval(Field);
mysql_get_field("OfferTime",Field); PlayerInfo[playerid][pCarKeyOfferTime] = strval(Field);
mysql_get_field("Wanted",Field); PlayerInfo[playerid][pWantedLevel] = strval(Field);
mysql_get_field("CombatStyle",Field); PlayerInfo[playerid][pCombatStyle] = strval(Field);
mysql_get_field("AntiRadar",Field); PlayerInfo[playerid][pAntiRadar] = strval(Field);
mysql_get_field("Journal",Field); PlayerInfo[playerid][pJournal] = strval(Field);
mysql_get_field("Parrain",Field); PlayerInfo[playerid][pParrain] = strval(Field);
mysql_get_field("Email",Field); strmid(PlayerInfo[playerid][pEmail], Field, 0, strlen(Field), 32);
mysql_get_field("Cheque",Field); PlayerInfo[playerid][pCheque] = strval(Field);
mysql_get_field("De",Field); PlayerInfo[playerid][pDe] = strval(Field);
}
else
{
SendClientMessage(playerid,COLOR_SERVER,"[Mysql] Une erreur est survenue... Auto-kick");
Kick(playerid);
return 1;
}
mysql_free_result();
}
else
{
ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Mo t de passe erroné","Entrez votre mot de passe","Valider","Quitter");
gPlayerLogTries[playerid] += 1;
if(gPlayerLogTries[playerid] == 5)
{BanSQL(1,playerid,"Serveur",PlayerInfo[playerid][pIP], "Mot de passe erroné pour 5 fois");}
return 1;
}
// Ajout de la derniere connexion
MySQLAddLoginRecord(PlayerInfo[playerid][pSQLID], PlayerInfo[playerid][pIP]);
// Compte non validé
/*
if(PlayerInfo[playerid][pStatusRp] != 0)
{
new string[MAX_STRING_MSG];
if(PlayerInfo[playerid][pStatusRp] == 1)
{format(string, sizeof(string), "[Inscription] Vous n'avez pas repondu au questionnaire RP, retournez pour cela sur notre site.");}
else if(PlayerInfo[playerid][pStatusRp] == 2)
{format(string, sizeof(string), "[Inscription] Votre inscription n'a pas encore été validée par un administrateur, patientez quelques heures.");}
else if(PlayerInfo[playerid][pStatusRp] == 3)
{format(string, sizeof(string), "[Inscription] Votre inscription a été refusée, merci de bien vouloir retournez sur notre site.");}
SendClientMessage(playerid, COLOR_STATS, string);
SendClientMessage(playerid, COLOR_STATS, "[Info] Utilisez \"/q\" pour quitter");
Kick(playerid);
return 1;
}
*/
// RESET de certaines variables
/*isSick[playerid] = false;
medic_needMedic[playerid] = false;
medic_isDead[playerid] = 0;
MedicBill[playerid] = 0;*/
gPlayerLogged[playerid] = 1;
afkcheck[playerid] = 0;
// Initialisation
ClearChatbox(playerid,10);
SendClientMessage(playerid,COLOR_SERVER,"Veuillez patienter. Vos données sont en cours de téléchargement...");
cook_initPlayer(playerid);
car_resetSell(playerid);
vip_load(playerid);
pack_load(playerid);
ShowPlayerFilleul(playerid);
if(PlayerInfo[playerid][pSickId] != 0) // remise en place des timers pour les maladies
{SetTimerEx("sick_step0", PlayerInfo[playerid][pSickDoseTakenTime], false, "i", playerid);}
gym_setCombatStyle(playerid, PlayerInfo[playerid][pCombatStyle], true);
// Spawn du joueur
SetSpawnInfo(playerid, 3, PlayerInfo[playerid][pModel],0.0,0.0,0.0, 1.0, -1, -1, -1, -1, -1, -1);
SpawnPlayer(playerid);
// Give du money
SafeSetPlayerMoney(playerid,PlayerInfo[playerid][pCash]);
OnPlayerUpdateSQL(playerid);
format(tmp2, sizeof(tmp2), "~w~Bienvenue ~n~~y~ %s", playername2);
GameTextForPlayer(playerid, tmp2, 5000, 1);
player_refreshCagoule(playerid);
TextDrawShowForPlayer(playerid, Textdraw1[playerid]);
return 1;
}