Краш сампа при спавне
#1

Привет, скриптеры. Возникла ужасная проблема, даже не знаю с чем она связана.
Крашит игроков сразу после авторизации, и только тех, у кого установлены или еще что-то.
Те игроки, у которых ГТА чистая, авторизуются и спавнятся нормально.
Помогите, пожалуйста.
Какие паблики и т.д. надо, пишите.
Reply
#2

Помощь при наличии модов не осуществляется, удаляйте моды.
Reply
#3

Quote:
Originally Posted by Stepashka
Посмотреть сообщение
Помощь при наличии модов не осуществляется, удаляйте моды.
Мне запретить игрокам играть с модами? У меня чистая ГТА, работает все отлично. Помогите.
Кто бы не зашел с модами, после авторизации - краш!
Reply
#4

Quote:
Originally Posted by SuperPawno
Посмотреть сообщение
Мне запретить игрокам играть с модами? У меня чистая ГТА, работает все отлично. Помогите.
Кто бы не зашел с модами, после авторизации - краш!
Так это же замечательно, поделись кодом краша. Буду благодарен.
Reply
#5

Quote:
Originally Posted by White_116
Посмотреть сообщение
Так это же замечательно, поделись кодом краша. Буду благодарен.
Мне бы кто помог устранить его
Reply
#6

Quote:
Originally Posted by SuperPawno
Посмотреть сообщение
Мне бы кто помог устранить его
Скинешь код, помогу его исправить
Reply
#7

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;
} 
Reply
#8

Только у тебя не крашит или у всех, у кого чистая?
Reply
#9

Мб из-за PreloadAllAnimLibs(playerid); ?
Reply
#10

Quote:
Originally Posted by OKStyle
Посмотреть сообщение
Только у тебя не крашит или у всех, у кого чистая?
Не крашит у всех, у кого чистая.


--------------------------------------------------------------------------------------
PreLoad***** я убирал, он него просто загрузка быстрее и все
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)