PHP код:
stock OnPlayerLogin(i, password[]) return mysql_format(DATABASE, QUERY, "SELECT * FROM `players` WHERE `Name` = '%s' AND `Key` = MD5('%s')", Pi[i][Name], password), mysql_function_query(DATABASE, QUERY, true, "GoLogin", "ds", i, password);
publics GoLogin(playerid, password[])
{
cache_get_data(rows, fields);
if(rows)
{
new string[128+MAX_PLAYER_NAME];
cache_get_row(0, 2, var), Pi[playerid][Lvl] = strval(var);
cache_get_row(0, 3, var), Pi[playerid][Adm] = strval(var);
cache_get_row(0, 4, var), Pi[playerid][Skin] = strval(var);
cache_get_row(0, 5, var), Pi[playerid][Sex] = strval(var);
cache_get_row(0, 6, var), Pi[playerid][Hkey] = strval(var);
cache_get_row(0, 7, var), Pi[playerid][Cash] = strval(var);
cache_get_row(0, 8, var), Pi[playerid][Exp] = strval(var);
cache_get_row(0, 9, var), Pi[playerid][Leader] = strval(var);
cache_get_row(0, 10, var), Pi[playerid][Rank] = strval(var);
cache_get_row(0, 11, var), Pi[playerid][Member] = strval(var);
cache_get_row(0, 12, var), SetPVarInt(playerid, "SNL", strval(var));
cache_get_row(0, 13, var), SetPVarInt(playerid, "SNA", strval(var));
cache_get_row(0, 14, var), SetPVarInt(playerid, "SNM", strval(var));
if(GetPVarInt(playerid, "SNL") == 0) DeletePVar(playerid, "SNL");
if(GetPVarInt(playerid, "SNA") == 0) DeletePVar(playerid, "SNA");
if(GetPVarInt(playerid, "SNM") == 0) DeletePVar(playerid, "SNM");
cache_get_row(0, 15, var), Pi[playerid][block] = strval(var);
if(Pi[playerid][block] >= 3) return f(string, "Аккаунт {FF3300}”%s”{ffffff} заблокирован, {FF3300}восстановлению не подлежит{ffffff}.",Pi[playerid][Name]),send(playerid, -1, string), send(playerid, -1, "Подробнее на {FF3300}www.world-rpg.ru{ffffff}."),Kick(playerid);
cache_get_row(0, 16, var), strmid(Pi[playerid][Mail], var, 0, strlen(var), 32);
cache_get_row(0, 17, var), Pi[playerid][Style] = strval(var);
cache_get_row(0, 18, var), Pi[playerid][Job] = strval(var);
cache_get_row(0, 19, var), Pi[playerid][ZP] = strval(var);
cache_get_row(0, 20, var), Pi[playerid][NOZP] = strval(var);
cache_get_row(0, 21, var), SetPVarInt(playerid, "Naruch", strval(var));
cache_get_row(0, 22, var), Pi[playerid][NumberAcc] = strval(var);
cache_get_row(0, 23, var), strmid(Pi[playerid][DataZP], var, 0, strlen(var), 34);
cache_get_row(0, 24, var), strmid(Pi[playerid][RegAcc], var, 0, strlen(var), 32);
cache_get_row(0, 25, var), SetPVarInt(playerid, "Mp3", strlen(var));
cache_get_row(0, 26, var), SetPVarInt(playerid, "Roll", strlen(var));
cache_get_row(0, 27, var), Pi[playerid][Wanted] = strval(var);
cache_get_row(0, 28, var), Pi[playerid][Bizkey] = strval(var);
cache_get_row(0, 29, var), Pi[playerid][sBizkey] = strval(var);
cache_get_row(0, 30, var), Pi[playerid][Bann] = strval(var);
cache_get_row(0, 31, var), Pi[playerid][DMoney] = strval(var);
cache_get_row(0, 32, var), Pi[playerid][Warns] = strval(var);
cache_get_row(0, 33, var), Pi[playerid][JailTime] = strval(var);
cache_get_row(0, 34, var), Pi[playerid][Jail] = strval(var);
cache_get_row(0, 35, var), Pi[playerid][MuteTime] = strval(var);
cache_get_row(0, 36, var), Pi[playerid][TruckSkill] = strval(var);
cache_get_row(0, 37, var), Pi[playerid][SMats] = strval(var);
cache_get_row(0, 38, var), Pi[playerid][Mats] = strval(var);
cache_get_row(0, 39, var), Pi[playerid][SNark] = strval(var);
cache_get_row(0, 40, var), Pi[playerid][Nark] = strval(var);
cache_get_row(0, 41, var), Pi[playerid][BankCash] = strval(var);
cache_get_row(0, 42, var), Pi[playerid][GunLic] = strval(var);
cache_get_row(0, 43, var), Pi[playerid][CarLic] = strval(var);
cache_get_row(0, 44, var), Pi[playerid][FSkin] = strval(var);
cache_get_row(0, 45, var), Pi[playerid][VIP] = strval(var);
cache_get_row(0, 46, var), Pi[playerid][VTime] = strval(var);
//if(Pi[playerid][RegAcc] < getdate()) send(playerid, grey, "+");
SetPVarInt(playerid, "Logged", 1);
DeletePVar(playerid, "Connected");
DeletePVar(playerid, "RegTime");
DeletePVar(playerid, "RegTimer");
DeletePVar(playerid, "Registraciya");
send(playerid, lblue, "Происходит загрузка данных. Подожди...");
if(Pi[playerid][Bann] > gettime())
{
new DAY, HOUR, MIN, X, Z, N = Pi[playerid][Bann]-gettime(), info[256];
DAY = N/86400, X = N-DAY*86400, HOUR = X/3600, Z = X-HOUR*3600, MIN = Z/60;
f(info, "Аккаунт {FF6347}”%s”{ffffff} временно{FF6347} заблокирован{ffffff}.",Pi[playerid][Name]),send(playerid, -1, info);
f(info, "Разблокировка через {FF6347}%s, %s, %s{ffffff}.", nformat(DAY,"день","дня","дней"), nformat(HOUR,"час","часа","часов"), nformat(MIN,"минуту","минуты","минут")),send(playerid, -1, info);
send(playerid, -1, "Подробнее на {FF6347}www.world-rpg.ru"), Kick(playerid);
return 1;
}
else if(Pi[playerid][Bann] != 0)
{
send(playerid, lred, "WorlD: Временный бан аккаунта автоматически снят."), Pi[playerid][Bann] = 0;
mysql_format(DATABASE, QUERY, "DELETE FROM `banlist` WHERE `Banned` = '%s'", Pi[playerid][Name]),mysql_function_query(DATABASE, QUERY, false, "", "");
mysql_format(DATABASE, QUERY, "UPDATE `players` SET `Bann` = 0 WHERE `Name` = '%s'", Pi[playerid][Name]),mysql_function_query(DATABASE, QUERY, false, "", "");
}
if(Pi[playerid][VIP] != 0)
{
if(Pi[playerid][VTime] > gettime()) send(playerid, -1, "У тебя VIP аккаунт.");
else
{
Pi[playerid][VTime] = 0;
Pi[playerid][VIP] = 0;
send(playerid, lred, "WorlD: Срок действия VIP аккаунта истёк.");
mysql_format(DATABASE, QUERY, "UPDATE `players` SET `VIP` = %d, `VTime` = %d WHERE `Name` = '%s'", Pi[playerid][VIP], Pi[playerid][VTime], Pi[playerid][Name]), mysql_function_query(DATABASE, QUERY, false, "", "");
}
}
switch(Pi[playerid][Style])
{
case 0: SetPlayerFightingStyle (playerid, FIGHT_STYLE_NORMAL);
case 1: SetPlayerFightingStyle (playerid, FIGHT_STYLE_BOXING);
case 2: SetPlayerFightingStyle (playerid, FIGHT_STYLE_KUNGFU);
case 3: SetPlayerFightingStyle (playerid, FIGHT_STYLE_KNEEHEAD);
case 4: SetPlayerFightingStyle (playerid, FIGHT_STYLE_GRABKICK);
}
//changespawninfo(playerid);
tdplayer(playerid);
if(Pi[playerid][Hkey] != 0 && Hi[Pi[playerid][Hkey]][Vehicle_Model] != 0)
{
Hi[Pi[playerid][Hkey]][housecar] = AddStaticVehicleEx(Hi[Pi[playerid][Hkey]][Vehicle_Model], Hi[Pi[playerid][Hkey]][X_Vehicle], Hi[Pi[playerid][Hkey]][Y_Vehicle], Hi[Pi[playerid][Hkey]][Z_Vehicle], Hi[Pi[playerid][Hkey]][A_Vehicle], Hi[Pi[playerid][Hkey]][Vehicle_Color], Hi[Pi[playerid][Hkey]][Vehicle_Color], 600);
SetVehicleNumberPlate(Hi[Pi[playerid][Hkey]][housecar], Pi[playerid][Name]);
if(GetVehicleModel(Hi[Pi[playerid][Hkey]][housecar]) == 530 || GetVehicleModel(Hi[Pi[playerid][Hkey]][housecar]) == 571 || IsABMX(Hi[Pi[playerid][Hkey]][housecar]) || IsABoat(Hi[Pi[playerid][Hkey]][housecar]) || IsAPlane(Hi[Pi[playerid][Hkey]][housecar])) ToggleEngine(Hi[Pi[playerid][Hkey]][housecar], VEHICLE_PARAMS_ON), CarEngine[Hi[Pi[playerid][Hkey]][housecar]] = true;
else ToggleEngine(Hi[Pi[playerid][Hkey]][housecar], VEHICLE_PARAMS_OFF), CarEngine[Hi[Pi[playerid][Hkey]][housecar]] = false;
Gas[Hi[Pi[playerid][Hkey]][housecar]] = 100, DoorsCar[Hi[Pi[playerid][Hkey]][housecar]] = true, BootCar[Hi[Pi[playerid][Hkey]][housecar]] = false;
if(Hi[Pi[playerid][Hkey]][Wheel] != 0) AddVehicleComponent (Hi[Pi[playerid][Hkey]][housecar], Hi[Pi[playerid][Hkey]][Wheel]);
if(Hi[Pi[playerid][Hkey]][Nitro] != 0) AddVehicleComponent (Hi[Pi[playerid][Hkey]][housecar], Hi[Pi[playerid][Hkey]][Nitro]);
if(Hi[Pi[playerid][Hkey]][Hydraulics] != 0) AddVehicleComponent (Hi[Pi[playerid][Hkey]][housecar], Hi[Pi[playerid][Hkey]][Hydraulics]);
}
TogglePlayerSpectating(playerid, 0);
SpawnPlayer(playerid);
}
else
{
wrongpass[playerid] ++;
switch(wrongpass[playerid])
{
case 1,2: { SPD(playerid, 18, DIALOG_STYLE_LIST, "Пароль неверный", "Повторить ввод пароля\nВыслать пароль на привязанный почтовый адрес", "Далее", "Выйти"); }
default: { send(playerid, lred, "Ты ввёл 3 раза неверный пароль."),Kick(playerid); }
}
return 1;
}
return 1;
}
PHP код:
public OnPlayerSpawn(playerid)
{
if(IsPlayerNPC(playerid)) return 1;
if(!GetPVarInt(playerid, "Logged")) return Kick(playerid);
PreloadAllAnimLibs(playerid);
PlayerPlaySound(playerid, 1069, 0.0, 0.0, 0.0);
TogglePlayerSpectating(playerid, 0);
if(Pi[playerid][Sex] == 0)
{
new ran = random(99999);
SetPlayerVirtualWorld(playerid, ran);
SetPlayerPos(playerid, 1050.3207,-1684.6387,14.3672);
SetPlayerFacingAngle(playerid, 131.5028);
SetPlayerCameraPos(playerid, 1048.4446, -1686.4377, 15.0476);
SetPlayerCameraLookAt(playerid, 1049.1566, -1685.7285, 14.8974);
SPD(playerid,3,DIALOG_STYLE_MSGBOX,"WorlD:{ffffff} Пол"," ","Мужчина","Женщина");
return 1;
}
if(vangare[playerid] != 0) vangare[playerid] = 0;
if(Gruzs[playerid] != 0) Gruzs[playerid] = 0;
if(GetPVarInt(playerid, "Live") != 0) DeletePVar(playerid, "Live");
if(Shop[playerid] != 0) Shop[playerid] = 0;
if(buygo[1][playerid] != 0) buygo[1][playerid] = 0;
if(buygo[2][playerid] != 0) buygo[2][playerid] = 0;
if(buygo[0][playerid] != 0) buygo[0][playerid] = 0;
if(nazalnext[playerid] != 0) nazalnext[playerid] = 0;
if(Animka[playerid] != 0) Animka[playerid] = 0;
if(GetPVarInt(playerid, "Trusi") == 1) DeletePVar(playerid, "Trusi");
if(nazone[playerid] != 0) nazone[playerid] = 0;
if(GetPVarInt(playerid, "AdmArmour") != 0) DeletePVar(playerid, "AdmArmour");
if(GetPVarInt(playerid, "WarringArmour") > 0) DeletePVar(playerid, "WarringArmour");
if(GetPVarInt(playerid, "Nayshniki") != 0)
{
StopAudioStreamForPlayer(playerid);
RemovePlayerAttachedObject(playerid, 2);
DeletePVar(playerid, "Nayshniki");
}
if(GetPVarInt(playerid, "SNM") == 1)
{
if(GetPVarInt(playerid, "SNM") == 1) send(playerid, lred, "Тебя кикнули с фракции в оффлайне."), DeletePVar(playerid, "SNM");
if(GetPVarInt(playerid, "SNL") == 1) send(playerid, lred, "Тебя сняли с лидерки в оффлайне."), DeletePVar(playerid, "SNL");
if(GetPVarInt(playerid, "SNA") == 1) send(playerid, lred, "Тебя сняли с модерки в оффлайне."), DeletePVar(playerid, "SNA");
mysql_format(DATABASE, QUERY, "UPDATE `players` SET `SNM` = 0, `SNL` = 0, `SNA` = 0 WHERE `Name` = '%s'", Pi[playerid][Name]), mysql_function_query(DATABASE, QUERY, false, "", "");
}
RemovePlayerAttachedObject(playerid, 3);
SetCameraBehindPlayer(playerid);
changeplayerskin(playerid);
SetPlayerWantedLevel(playerid, Pi[playerid][Wanted]);
profileupdate(playerid);
SetPlayerColor(playerid, -200);
DisablePlayerCheckpoint(playerid);
DisablePlayerRaceCheckpoint(playerid);
if(SpecCor[0][playerid] != 0)
{
SetPlayerPos(playerid, SpecCor[0][playerid], SpecCor[1][playerid], SpecCor[2][playerid]);
SetPlayerInterior(playerid, SpecInt[0][playerid]), SetPlayerVirtualWorld(playerid, SpecInt[1][playerid]);
SpecCor[0][playerid] = 0;
SpecCor[1][playerid] = 0;
SpecCor[2][playerid] = 0;
SpecInt[0][playerid] = 0;
SpecInt[1][playerid] = 0;
SetCameraBehindPlayer(playerid);
return 1;
}
switch(Pi[playerid][Jail])
{
case 1:
{
SetPlayerInterior(playerid, 6);
SetPlayerVirtualWorld(playerid, 1);
new rand = random(sizeof(LSPDSpawns));
SetPlayerPos(playerid, LSPDSpawns[rand][0], LSPDSpawns[rand][1], LSPDSpawns[rand][2]);
SetPlayerSkin(playerid, 42);
Pi[playerid][Wanted] = 0;
SetPlayerWantedLevel(playerid, Pi[playerid][Wanted]);
mysql_format(DATABASE, QUERY, "UPDATE `players` SET `Wanted` = 0 WHERE `Name` = '%s'", Pi[playerid][Name]), mysql_function_query(DATABASE, QUERY, false, "", "");
return 1;
}
case 2:
{
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
new rand = random(sizeof(FDMSpawns));
SetPlayerPos(playerid, FDMSpawns[rand][0], FDMSpawns[rand][1], FDMSpawns[rand][2]);
SetPlayerFacingAngle(playerid, FDMSpawns[rand][3]);
SetPlayerSkin(playerid, 42);
Pi[playerid][Wanted] = 0;
SetPlayerWantedLevel(playerid, Pi[playerid][Wanted]);
mysql_format(DATABASE, QUERY, "UPDATE `players` SET `Wanted` = 0 WHERE `Name` = '%s'", Pi[playerid][Name]), mysql_function_query(DATABASE, QUERY, false, "", "");
return 1;
}
}
givegunfrak(playerid);
if(Pi[playerid][Hkey] != 0)
{
SetPlayerInterior(playerid, Hi[Pi[playerid][Hkey]][Interior]);
SetPlayerVirtualWorld(playerid, Hi[Pi[playerid][Hkey]][VirtualWorld]);
SetPlayerPos(playerid, Hi[Pi[playerid][Hkey]][X_Spawn], Hi[Pi[playerid][Hkey]][Y_Spawn], Hi[Pi[playerid][Hkey]][Z_Spawn]);
SetPlayerFacingAngle(playerid, Hi[Pi[playerid][Hkey]][A_Spawn]);
return 1;
}
switch(Pi[playerid][Member])
{
case 1:
{
SetPlayerPos(playerid, -380.0706,2241.5833,42.4406);
SetPlayerFacingAngle(playerid, 103.6090);
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
return 1;
}
case 2:
{
SetPlayerPos(playerid, 1290.1038,-797.8523,1089.9375);
SetPlayerInterior(playerid, 5);
SetPlayerVirtualWorld(playerid, 8);
SetPlayerFacingAngle(playerid, 91.5653);
return 1;
}
case 3:
{
SetPlayerPos(playerid, 2162.1924,1605.1152,999.9769);
SetPlayerInterior(playerid, 1);
SetPlayerVirtualWorld(playerid, 1);
SetPlayerFacingAngle(playerid, 181.4563);
return 1;
}
case 4:
{
SetPlayerInterior(playerid,2);
SetPlayerPos(playerid, 2528.5818,-1283.0833,1048.2891);
SetPlayerFacingAngle(playerid, 178.0467);
SetPlayerVirtualWorld(playerid, 7);
return 1;
}
case 5:
{
SetPlayerInterior(playerid,6);
SetPlayerPos(playerid, 231.0890,79.4675,1005.0391);
SetPlayerFacingAngle(playerid, 269.3439);
SetPlayerVirtualWorld(playerid, 1);
return 1;
}
case 6:
{
SetPlayerInterior(playerid,2);
SetPlayerPos(playerid, 2548.9250,-1288.6338,1060.9844);
SetPlayerFacingAngle(playerid, 270.1622);
SetPlayerVirtualWorld(playerid, 1);
return 1;
}
case 7:
{
SetPlayerInterior(playerid,2);
SetPlayerPos(playerid, 2548.9250,-1288.6338,1060.9844);
SetPlayerFacingAngle(playerid, 270.1622);
SetPlayerVirtualWorld(playerid, 2);
return 1;
}
case 8:
{
SetPlayerInterior(playerid,2);
SetPlayerPos(playerid, 2548.9250,-1288.6338,1060.9844);
SetPlayerFacingAngle(playerid, 270.1622);
SetPlayerVirtualWorld(playerid, 3);
return 1;
}
case 9:
{
SetPlayerInterior(playerid,2);
SetPlayerPos(playerid, 2548.9250,-1288.6338,1060.9844);
SetPlayerFacingAngle(playerid, 270.1622);
SetPlayerVirtualWorld(playerid, 4);
return 1;
}
case 11:
{
SetPlayerInterior(playerid,2);
SetPlayerPos(playerid, 2548.9250,-1288.6338,1060.9844);
SetPlayerFacingAngle(playerid, 270.1622);
SetPlayerVirtualWorld(playerid, 5);
return 1;
}
case 15:
{
SetPlayerInterior(playerid,2);
SetPlayerPos(playerid, 2548.9250,-1288.6338,1060.9844);
SetPlayerFacingAngle(playerid, 270.1622);
SetPlayerVirtualWorld(playerid, 6);
return 1;
}
}
new ran = random(5);
switch(ran)
{
case 0: SetPlayerPos(playerid, 1108.0933,-1802.5676,16.5938);
case 1: SetPlayerPos(playerid, 1108.2318,-1799.4751,16.5938);
case 2: SetPlayerPos(playerid, 1108.3737,-1796.3146,16.5938);
case 3: SetPlayerPos(playerid, 1108.3606,-1793.2725,16.5938);
case 4: SetPlayerPos(playerid, 1108.2604,-1790.1599,16.5938);
}
SetPlayerFacingAngle(playerid, 90.0000);
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
return 1;
}