Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 7 из 7
  1. #1
    Аватар для Hineip
    Пользователь

    Статус
    Оффлайн
    Регистрация
    20.12.2014
    Сообщений
    4
    Репутация:
    0 ±

    Баг с машинами

    Всем привет, помогите пожалуйста, у меня в моде, если умереть в машине, то вылетает сервер, что делать?

  2. #2
    Аватар для L0ndl3m
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    Для начала паблик OnPlayerDeath выложите.

  3. #3
    Аватар для Hineip
    Пользователь

    Статус
    Оффлайн
    Регистрация
    20.12.2014
    Сообщений
    4
    Репутация:
    0 ±
    PHP код:
    public OnPlayerDeath(playeridkilleridreason)
    {
        
    TextDrawShowForPlayer(playerid,WebTextDraw[0]);
        
    TextDrawShowForPlayer(playerid,WebTextDraw[1]);
        
    TextDrawShowForPlayer(playerid,WebTextDraw[2]);
        
    TextDrawHideForPlayer(playeridDRAP);
        if(!
    AntiFakeKill[playerid]) return KickEx(playerid);
        
    AntiFakeKill[playerid] = false;
        
    ShowPlayerDialog(playerid,65535,DIALOG_STYLE_MSGBOX,"1","1","","");
        
    SetPVarInt(playerid,"K_Times",GetPVarInt(playerid,"K_Times") + 1);
        if(
    Spawned[playerid]) Spawned[playerid] = false;
        else 
    SendClientMessage(playerid, -1"Вы кикнуты за Kill Flood"), Kick(playerid);
        
    //==============================================================================
        
    TeleportTime[playerid] = 3;
        
    //==============================================================================
        
    if(PlayerInfo[playerid][pJob] == 2)
        {
            if(
    gcontract[playerid] == 1)
            {
                
    Delete3DTextLabel(Meh3d[GetPlayerVehicleID(playerid)]);
                
    gcontract[playerid] = 0;
            }
        }
        if(
    IsAGang(playerid))
        {
            new 
    namegang[24],namegangv[24];
            if(
    FrakCD[PlayerInfo[playerid][pMember]])
            {
                for(new 
    0;i<130;i++)
                {
                    if(
    PlayerToKvadrat(playerid,GZInfo[i][gCoords][0], GZInfo[i][gCoords][1],GZInfo[i][gCoords][2],GZInfo[i][gCoords][3]))
                    {
                        if(
    GZInfo[i][gFrakVlad] == PlayerInfo[playerid][pMember] && GZInfo[i][gNapad] == PlayerInfo[killerid][pMember]) ScoreZahvat[GZInfo[i][gNapad]]++;
                        else if(
    GZInfo[i][gNapad] == PlayerInfo[playerid][pMember] && GZInfo[i][gFrakVlad] == PlayerInfo[killerid][pMember]) ScoreZahvat[GZInfo[i][gFrakVlad]]++;
                        else return 
    true;
                        switch(
    GZInfo[i][gNapad])
                        {
                        case 
    15namegang "Grove";
                        case 
    17namegang "Aztecas";
                        case 
    12namegang "Ballas";
                        case 
    18namegang "Rifa";
                        case 
    13namegang "Vagos";
                        }
                        switch(
    GZInfo[i][gFrakVlad])
                        {
                        case 
    15namegangv "Grove";
                        case 
    17namegangv "Aztecas";
                        case 
    12namegangv "Ballas";
                        case 
    18namegangv "Rifa";
                        case 
    13namegangv "Vagos";
                        }
                        new 
    stringer[30];
                        
    format(stringer,sizeof(stringer), "~r~%s: ~w~%d",namegang,ScoreZahvat[GZInfo[i][gNapad]]);
                        
    TextDrawSetString(GangWar[0],stringer);
                        
    format(stringer,sizeof(stringer), "~g~%s: ~w~%d",namegangv,ScoreZahvat[GZInfo[i][gFrakVlad]]);
                        
    TextDrawSetString(GangWar[1],stringer);
                        if(
    killstat[GZInfo[playerid][gFrakVlad]] == || killstat[PlayerInfo[playerid][pMember]] == 1)
                        {
                            
    SendDeathMessage(killeridplayeridreason);
                        }
                    }
                }
            }
        }
        if(
    reason == 38)
        {
            if(
    PlayerInfo[playerid][pAdm] > 0) return true;
            new 
    warnn[128];
            
    format(warnnsizeof(warnn), "[Античит] %s[%d] кикнут `Убийство с минигана` (Код:CH||MG1)",PlayerInfo[killerid][pNames],killerid);
            
    ABroadCast(0xfb7e52FF,warnn,2);
            
    KickEx(killerid);
        }
        if(
    AlhambraDJ == true && AlhambraDJID == playeridAlhambraDJ falseAlhambraDJID INVALID_PLAYER_ID;
        if(
    JizzyDJ == true && JizzyDJID == playeridJizzyDJ falseJizzyDJID INVALID_PLAYER_ID;
        if(
    PlayerInfo[playerid][pHeadValue] > 0)
        {
            if(
    IsPlayerConnected(killerid))
            {
                if(
    PlayerInfo[killerid][pLeader] == 22 || PlayerInfo[killerid][pMember] == 22)
                {
                    if(
    GoChase[killerid] == playerid)
                    {
                        new 
    killer[MAX_PLAYER_NAME];
                        
    GetPlayerName(killeridkillersizeof(killer));
                        
    PlayerInfo[killerid][pCash] += PlayerInfo[playerid][pHeadValue];
                        
    format(stringcmd,128,"<< Хитман %s выполнил контракт и получил $%d >>",killer,PlayerInfo[playerid][pHeadValue]);
                        
    SendFamilyMessage(22COLOR_YELLOWstringcmd);
                        
    SendClientMessage(playeridCOLOR_LIGHTRED," * Вы были убиты хитманом по заказу!");
                        
    PlayerInfo[playerid][pHeadValue] = 0;
                        
    GotHit[playerid] = 0;
                        
    GetChased[playerid] = 999;
                        
    GoChase[killerid] = 999;
                    }
                }
            }
        }
        
    PlayerHealth[playerid] = 100;
        
    SetPlayerHealthAC(playeridPlayerHealth[playerid]);
        
    zips[playerid] = 0;
        
    enterbiz[playerid] = 0;
        
    udar[playerid] = 0;
        
    Delgun(playerid);
        
    RemovePlayerAttachedObject(playerid,1);
        
    RemovePlayerAttachedObject(playerid,2);
        
    RemovePlayerAttachedObject(playerid,3);
        
    RemovePlayerAttachedObject(playerid,4);
        
    RemovePlayerAttachedObject(playerid,0);
        
    arenda[playerid] = 0;
        
    takephone[playerid] = 0;
        
    gag[playerid] = 0;
        
    usemats[playerid] = 0;
        if(
    SelectChar[playerid] == 255)
        {
            
    SetPlayerSkin(playeridOldSkin[playerid]);
            
    PlayerInfo[playerid][pChar] = OldSkin[playerid];
            
    SelectChar[playerid] = 0;
        }
        if(
    PlayerInfo[playerid][pJob] == 7PlayerInfo[playerid][pJob] = 0;
        
    //---------- Ганы
        
    new weaponid;
        new 
    gunname[32];
        
    GetWeaponName(weaponidgunnamesizeof(gunname));
        
    Delgun(playerid);
        
    //-----------
        
    PlayerInfo[playerid][pDrugtime] = 0;
        
    PlayerInfo[playerid][pGunfbiTime] = 0;
        
    forma[playerid] = 0;
        
    proverkaforma[playerid] = 0;
        new 
    Float:px,Float:py,Float:pz;
        
    gPlayerSpawned[playerid] = 0;
        
    PlayerInfo[playerid][pLocal] = 255;
        
    GetPlayerPos(playeridpxpypz);
        
    DisablePlayerCheckpoint(playerid);
        
    keys[playerid] = 0;
        
    LiveOffer[playerid] = INVALID_PLAYER_ID;
        
    TalkingLive[playerid] = INVALID_PLAYER_ID;
        
    LiveOfferls[playerid] = INVALID_PLAYER_ID;
        
    TalkingLivels[playerid] = INVALID_PLAYER_ID;
        if(
    PlayerInfo[playerid][pMember] == && PlayerInfo[playerid][pLeader] == 0PlayerInfo[playerid][pHospital] = 1;
        
    Tel[playerid] = INVALID_PLAYER_ID;
        if(!
    IsACop(killerid)) PlayerInfo[killerid][pKills]+=1;
        
    PlayerInfo[killerid][pZakonp] -= 0;
        if(
    PlayerInfo[playerid][pMember] == 4Medics -= 1;
        if(
    PlayerInfo[playerid][pWanted] > 0)
        {
            if(
    IsACop(killerid))
            {
                
    PlayerInfo[playerid][pMestoJail] = 1;
                if(
    PlayerInfo[playerid][pWanted] == 1)
                {
                    
    PlayerInfo[playerid][pCash]-=1;
                    
    PlayerInfo[killerid][pCash]+=1;
                    
    format(stringcmdsizeof(stringcmd), "~r~-$1"playerid);
                    
    GameTextForPlayer(playeridstringcmd50001);
                    
    SendClientMessage(playerid,COLOR_YELLOW,"Вас посадили в тюрьму на 600 секунд. Штраф 1 вирт");
                    
    SendClientMessage(killerid,COLOR_YELLOW,"Вы посадили преступника на 600 секунд. Премия 1 вирт");
                    
    PlayerInfo[playerid][pWanted] =0;
                    
    PlayerInfo[playerid][pJailed] = 1;
                    
    PlayerInfo[playerid][pJailTime] = 600;
                    
    Delgun(playerid);
                    
    ResetPlayerWeapons(playerid);
                }
                else if(
    PlayerInfo[playerid][pWanted] == 2)
                {
                    
    GiveMoney(killerid,0);
                    
    Delgun(playerid);
                    
    ResetPlayerWeapons(playerid);
                    
    PlayerInfo[playerid][pCash]-=2;
                    
    PlayerInfo[killerid][pCash]+=1;
                    
    format(stringcmdsizeof(stringcmd), "~r~-$2"playerid);
                    
    GameTextForPlayer(playeridstringcmd50001);
                    
    SendClientMessage(playerid,COLOR_YELLOW,"Вас посадили в тюрьму на 1200 секунд. Штраф 2 вирт");
                    
    SendClientMessage(killerid,COLOR_YELLOW,"Вы посадили преступника на 1200 секунд. Премия 1 вирт");
                    
    PlayerInfo[playerid][pJailed] = 1;
                    
    PlayerInfo[playerid][pJailTime] = 1200;
                    
    PlayerInfo[playerid][pWanted] =0;
                }
                else if(
    PlayerInfo[playerid][pWanted] == 3)
                {
                    
    GiveMoney(killerid,0);
                    
    Delgun(playerid);
                    
    ResetPlayerWeapons(playerid);
                    
    PlayerInfo[playerid][pCash]-=3;
                    
    PlayerInfo[killerid][pCash]+=1;
                    
    format(stringcmdsizeof(stringcmd), "~r~-$3"playerid);
                    
    GameTextForPlayer(playeridstringcmd50001);
                    
    SendClientMessage(playerid,COLOR_YELLOW,"Вас посадили в тюрьму на 1800 секунд. Штраф 3 вирт");
                    
    SendClientMessage(killerid,COLOR_YELLOW,"Вы посадили преступника на 1800 секунд. Премия 1 вирт");
                    
    PlayerInfo[playerid][pJailed] = 1;
                    
    PlayerInfo[playerid][pJailTime] = 1800;
                    
    PlayerInfo[playerid][pWanted] =0;
                }
                else if(
    PlayerInfo[playerid][pWanted] == 4)
                {
                    
    GiveMoney(killerid,0);
                    
    Delgun(playerid);
                    
    ResetPlayerWeapons(playerid);
                    
    PlayerInfo[playerid][pCash]-=4;
                    
    PlayerInfo[killerid][pCash]+=1;
                    
    format(stringcmdsizeof(stringcmd), "~r~-$4"playerid);
                    
    GameTextForPlayer(playeridstringcmd50001);
                    
    SendClientMessage(playerid,COLOR_YELLOW,"Вас посадили в тюрьму на 2400 секунд. Штраф 4 вирт");
                    
    SendClientMessage(killerid,COLOR_YELLOW,"Вы посадили преступника на 2400 секунд. Премия 1 вирт");
                    
    PlayerInfo[playerid][pJailed] = 1;
                    
    PlayerInfo[playerid][pJailTime] = 2400;
                    
    PlayerInfo[playerid][pWanted] =0;
                }
                else if(
    PlayerInfo[playerid][pWanted] == 5)
                {
                    
    GiveMoney(killerid,0);
                    
    Delgun(playerid);
                    
    ResetPlayerWeapons(playerid);
                    
    PlayerInfo[playerid][pCash]-=5;
                    
    PlayerInfo[killerid][pCash]+=1;
                    
    format(stringcmdsizeof(stringcmd), "~r~-$5"playerid);
                    
    GameTextForPlayer(playeridstringcmd50001);
                    
    SendClientMessage(playerid,COLOR_YELLOW,"Вас посадили в тюрьму на 3000 секунд. Штраф 5 вирт");
                    
    SendClientMessage(killerid,COLOR_YELLOW,"Вы посадили преступника на 3000 секунд. Премия 1 вирт.");
                    
    PlayerInfo[playerid][pJailed] = 1;
                    
    PlayerInfo[playerid][pJailTime] = 3000;
                    
    PlayerInfo[playerid][pWanted] =0;
                }
                else if(
    PlayerInfo[playerid][pWanted] >= 6)
                {
                    
    GiveMoney(killerid,0);
                    
    Delgun(playerid);
                    
    ResetPlayerWeapons(playerid);
                    
    PlayerInfo[playerid][pCash]-=6;
                    
    PlayerInfo[killerid][pCash]+=1;
                    
    format(stringcmdsizeof(stringcmd), "~r~-$6"playerid);
                    
    GameTextForPlayer(playeridstringcmd50001);
                    
    SendClientMessage(playerid,COLOR_YELLOW,"Вас посадили в тюрьму на 3600 секунд. Штраф 6 вирт");
                    
    SendClientMessage(killerid,COLOR_YELLOW,"Вы посадили преступника на 3600 секунд. Премия 1 вирт.");
                    
    PlayerInfo[playerid][pJailed] = 1;
                    
    PlayerInfo[playerid][pJailTime] = 3600;
                    
    PlayerInfo[playerid][pWanted] =0;
                }
            }
            
    PlayerInfo[playerid][pWanted] = 0;
        }
        
    //----------------------------------[ Навыки ] -----------------------------------------------------------------------
        
    if(!IsAArm(killerid)|| !IsACop(killerid))
        {
            if(
    PlayerInfo[killerid][pJailed] > || !IsAArm(killerid)|| !IsACop(killerid)) {}
            else  
    SetPlayerExtra(killerid,255"Убийство человека");
        }
        if(
    killerid != INVALID_PLAYER_ID)
        {
            if(
    GetPlayerState(killerid) == 2)
            {
                
    SendClientMessage(killeridCOLOR_LIGHTRED"DB запрещено, в случае многократного нарушения вы будете забанены!");
                
    PlayerInfo[killerid][pWanted] += 3;
                
    //KickEx(killerid);
                
    return true;
            }
        }
        if(
    gPlayerCheckpointStatus[playerid] > && gPlayerCheckpointStatus[playerid] < 11)
        {
            
    DisablePlayerCheckpoint(playerid);
            
    gPlayerCheckpointStatus[playerid] = 0;
        }
        new 
    caller Mobile[playerid];
        if(
    caller != INVALID_PLAYER_ID)
        {
            if(
    caller != INVALID_PLAYER_ID)
            {
                
    SendClientMessage(caller,  COLOR_GRAD2"Связь оборвалась...");
                
    CellTime[caller] = 0;
                
    CellTime[playerid] = 0;
                
    Mobile[caller] = INVALID_PLAYER_ID;
            }
            
    Mobile[playerid] = INVALID_PLAYER_ID;
            
    CellTime[playerid] = 0;
        }
        if(
    IsAGang(killerid))
        {
            if(
    PlayerInfo[playerid][pMember] == 19 || PlayerInfo[playerid][pMember] == 3)
            {
                for(new 
    =0;i<sizeof(GZInfo);i++)
                {
                    if(
    PlayerToKvadrat(playerid,GZInfo[i][gCoords][0], GZInfo[i][gCoords][1],GZInfo[i][gCoords][2],GZInfo[i][gCoords][3]))
                    {
                        
    forma[killerid] = 1;
                        
    PlayerInfo[playerid][pModel] = 252;
                        
    SendClientMessage(playerid,  COLOR_YELLOW"Вы потеряли армейскую форму");
                        
    SendClientMessage(killerid,  COLOR_YELLOW2"Вы cняли с армейца форму, введите /switchskin, чтобы переодеться");
                        
    format(stringcmdsizeof(stringcmd), "%s потерял армейскую форму"PlayerInfo[playerid][pNames]);
                        
    SendFamilyMessage(19,COLOR_YELLOW2stringcmd);
                        
    SendFamilyMessage(3,COLOR_YELLOW2stringcmd);
                        
    SpawnPlayer(playerid);
                    }
                }
            }
        }
        if(
    IsAGang(killerid))
        {
            if(
    PlayerInfo[playerid][pMember] == || PlayerInfo[playerid][pMember] == 10 || PlayerInfo[playerid][pMember] == 21)
            {
                for(new 
    =0;i<sizeof(GZInfo);i++)
                {
                    if(
    PlayerToKvadrat(playerid,GZInfo[i][gCoords][0], GZInfo[i][gCoords][1],GZInfo[i][gCoords][2],GZInfo[i][gCoords][3]))
                    {
                        
    keys[killerid] += 1;
                        
    SendClientMessage(playerid,  COLOR_YELLOW"Вы потеряли ключи от камеры!");
                        
    SendClientMessage(killerid,  COLOR_YELLOW"Вы забрали у полицейского ключи от камеры!");
                        
    format(stringcmdsizeof(stringcmd), "Полицейский %s потерял ключи от камеры"PlayerInfo[playerid][pNames]);
                        
    SendFamilyMessage(1,COLOR_YELLOW2stringcmd);
                        
    SendFamilyMessage(2,COLOR_YELLOW2stringcmd);
                        
    SendFamilyMessage(10,COLOR_YELLOW2stringcmd);
                        
    SendFamilyMessage(21,COLOR_YELLOW2stringcmd);
                    }
                }
            }
        }
        if(
    gPlayerCheckpointStatus[playerid] > && gPlayerCheckpointStatus[playerid] < 11DisablePlayerCheckpoint(playerid),gPlayerCheckpointStatus[playerid] = 0;
        
    DisablePlayerCheckpoint(playerid);
        return 
    true;

    - - - Добавлено - - -

    А, даже если вообще умереть, не только в машине,сервер выключается:C

  4. #4
    Аватар для L0ndl3m
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    Попробуйте для начала:
    PHP код:
    ShowPlayerDialog(playerid,65535,DIALOG_STYLE_MSGBOX,"1","1","",""); 
    заменить на:
    PHP код:
    ShowPlayerDialog(playerid28267DIALOG_STYLE_MSGBOX"_""_""_"""); 
    В логах ничего необычного нет?

  5. #5
    Аватар для Hineip
    Пользователь

    Статус
    Оффлайн
    Регистрация
    20.12.2014
    Сообщений
    4
    Репутация:
    0 ±
    Сделал, не помогло:C Теперь просто после смерти вылазит такой диалог, и так же крашит: http://rghost.ru/59828461.view
    Логи чистые.
    Последний раз редактировалось Hineip; 20.12.2014 в 18:34.

  6. #6
    Аватар для L0ndl3m
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    Пробуйте удалять код по кусочкам, удалили - проверили, и если работает, дело в данном куске кода, который был удалён. В нём и надо искать проблему.

  7. #7
    Аватар для Hineip
    Пользователь

    Статус
    Оффлайн
    Регистрация
    20.12.2014
    Сообщений
    4
    Репутация:
    0 ±
    :C Ясно, спасибо за совет, главное, что вылетает если не тебя убьют, а если сам убьешься, взорвешься, разобьешься и т.п

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •