Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 2 из 4 ПерваяПервая 1 2 3 4 ПоследняяПоследняя
Показано с 11 по 20 из 35

Тема: Ивент ДМ.

  1. #11
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Весь OnPlayerDeath в студию
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    27.02.2015
    Сообщений
    317
    Репутация:
    0 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Весь OnPlayerDeath в студию
    PHP код:
    public OnPlayerDeath(playerid,killerid,reason)
    {
        new 
    playername[40],killername[40];
        
    GetPlayerName(playerid,playername,sizeof(playername));
        
    GetPlayerName(killerid,killername,sizeof(killername));
        if(
    Player[killerid][pMember] == || Player[killerid][pMember] == 2)
        {
            if(
    GetPlayerWantedLevel(playerid) > 0)
            {
                 new 
    string[124];
                  
    ServerResetPlayerWeapons(playerid);
                
    Player[playerid][pJailed] = true;
                
    Player[playerid][pJailTime] = GetPlayerWantedLevel(playerid)* 10 60;
                
    Player[playerid][pJailBlock] = false;
                
    GivePlayerKapusta(playerid,-GetPlayerWantedLevel(playerid)*300);
                
    GivePlayerKapusta(killerid,GetPlayerWantedLevel(playerid)*300);
                
    f(string,"Ты %s игрока %s[%d] в тюрьму и %s $%d.",GetPVarInt(killerid,"Sex") == ? ("посадил") : ("посадила"),sendername(playerid),playerid,GetPVarInt(killerid,"Sex") == ? ("получил") : ("получила"),GetPlayerWantedLevel(playerid)*300);
                
    send(killerid,0xFFFF00AA,string);
                
    f(string,"Тебя %s в тюрьму %s[%d].",GetPVarInt(killerid,"Sex") == ? ("посадил") : ("посадила"),sendername(killerid),killerid);
                
    send(playerid,0xFFFF00AA,string);
                
    SetPlayerWantedLevel(playerid,0);
                
    Player[playerid][pWanted] = 0;
                
    OnPlayerReSpawn(playerid);
                
    SaveAccount(playerid);
                return 
    1;
            }
            else
            {
                new 
    rand random(100)+50;
                
    Player[killerid][pHunterValue] +=rand;
                
    GivePlayerKapusta(killerid,-500);
                
    SaveAccount(playerid);
                return 
    1;
            }
        }
        if(
    GoWar == true)
        {
            if(
    Player[playerid][pMember] == DefenceFraction && Player[killerid][pMember] == AtackFraction)
            {
                
    AtackPoint++;
                
    SendDeathMessage(killerid,playerid,reason);
                return 
    1;
            }
            if(
    Player[playerid][pMember] == AtackFraction && Player[killerid][pMember] == DefenceFraction)
            {
                
    DefencePoint++;
                
    SendDeathMessage(killerid,playerid,reason);
                return 
    1;
            }
        }
        if(
    GetPVarInt(playerid,"DrivingTest"))
        {
            
    DisablePlayerRaceCheckpoint(playerid);
            
    DrivingTestTime[playerid] = 0;
            
    DeletePVar(playerid,"DrivingTest");
            
    DeletePVar(playerid,"DrivingTestHealth");
            
    DeletePVar(playerid,"DrivingTestError");
        }
        if(
    GetPVarInt(playerid,"DrivingTestMoto"))
        {
            
    DisablePlayerRaceCheckpoint(playerid);
            
    DrivingTestMotoTime[playerid] = 0;
            
    DeletePVar(playerid,"DrivingTestMoto");
            
    DeletePVar(playerid,"DrivingTestMotoHealth");
            
    DeletePVar(playerid,"DrivingTestMotoError");
        }
        
    ZashkvarPlayerIsJoinDM(playerid);
        return 
    1;

    А это OnplayerDisconnect где тоже не убовляется если игрок вышел.

    PHP код:
    public OnPlayerDisconnect(playerid,reason)
    {
        
    KillTimer(FP_TimerPlayer[playerid]);
        if(
    prokol[playerid] == true)
        {
            
    DestroyDynamicObject(proko2[playerid]);
            
    prokol[playerid] = false;
        }
        new 
    string[100];
        switch(
    reason)
        {
        case 
    0:f(string,"(( %s[%d] вылетел%s с сервера. IP %s ))",sendername(playerid),playerid,GetPVarInt(playerid,"Sex") == ? ("") : ("а"),Player[playerid][pIP]),ABroadCast(COLOR_GREY,string,1);
        case 
    1:f(string,"(( %s[%d] %s с сервера. IP: %s ))",sendername(playerid),playerid,GetPVarInt(playerid,"Sex") == ? ("вышел") : ("вышла"),Player[playerid][pIP]),ABroadCast(COLOR_GREY,string,1);
        case 
    2:f(string,"(( %s[%d] кикнут%s с сервера. IP: %s ))",sendername(playerid),playerid,GetPVarInt(playerid,"Sex") == ? ("") : ("а"),Player[playerid][pIP]),ABroadCast(COLOR_GREY,string,1);
        }
        if(
    Player[playerid][pPhousekey] != 0HouseInfo[Player[playerid][pPhousekey]][hDel] = (GetPVarInt(playerid,"pVip") != 60 30);
        if(
    Player[playerid][pAdmin] != 0Forveh_DestroyVehicle(CreateCar[playerid]);
        
    SaveAccount(playerid);
        foreach(new 
    iPlayer)
        {
            if(
    GetPlayerState(i) == PLAYER_STATE_SPECTATING && Player[i][Spectating][0] == playerid)
            {
                
    GameTextForPlayer(i,"PLAYER DISCONNECTED",3000,3);
                
    cmd::specoff(i);
            }
        }
        foreach(new 
    iPlayer)
        {
            if(
    toglogin[i] == true)
            {
                switch(
    reason)
                {
                    case 
    0:f(string,"%s вылетел%s с сервера.",sendername(playerid),GetPVarInt(playerid"Sex") == ? ("") : ("а"));
                    case 
    1:f(string,"%s покинул%s сервер.",sendername(playerid),GetPVarInt(playerid"Sex") == ? ("") : ("а"));
                    case 
    2:f(string,"%s был%s кикнут%s сервером.",sendername(playerid),GetPVarInt(playerid"Sex") == ? ("") : ("а"),GetPVarInt(playerid"Sex") == ? ("") : ("а"));
                }
                
    send(i,0xFF6C3CAA,string);
            }
        }
        foreach(new 
    Player)
        {
            if(
    Logged[i] == false) return true;
            if(
    TaxiAccepted[i] < 999)
            {
                if(
    TaxiAccepted[i] == playerid)
                {
                    
    TaxiAccepted[i] = 999;
                    
    GameTextForPlayer(i"~w~ЏAKC… AЂOмEмЏ~n~~r~ЊOK…мУ‡ …‚PУ"50001);
                    
    TaxiCallTime[i] = 0;
                    
    DisablePlayerCheckpoint(i);
                }
            }
        }
        if(
    GotHit[playerid] == true)
        {
            if(
    GetChased[playerid] < 999)
            {
                if(
    IsPlayerConnected(GetChased[playerid]))
                {
                    
    send(GetChased[playerid], COLOR_YELLOW"Ваша цель покинула сервер.");
                    
    GoChase[GetChased[playerid]] = 999;
                }
            }
        }
        if(
    bustation[playerid] == truebustation[playerid] = false;
        if(
    TaxiDuty[playerid] == 1TaxiDrivers -= 1;
        if(
    MedicDuty[playerid] == 1Medics -= 1;
        if(
    MechDuty[playerid] == 1Mechanics -= 1;
        
    AntiFakeKill[playerid] = false;
        
    cheatlimit[playerid] = 0;
        
    ZashkvarPlayerIsJoinDM(playerid);
        
    DisablePlayerRaceCheckpoint(playerid);
        
    RemovePlayerVariables(playerid);
        
    DeletePVar(playerid,"chatS");
        
    DeletePVar(playerid,"chatPM");
        
    DeletePVar(playerid,"chatM");
        
    DeletePVar(playerid,"chatME");
        
    DeletePVar(playerid,"chatL");
        
    DeletePVar(playerid,"chaD");
        return 
    1;

    Последний раз редактировалось kala4iks; 27.02.2017 в 20:28.

  3. #13
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    не вижу в предоставленном тобой коде тех действий с вычитанием единицы из DMJoinPeople
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    27.02.2015
    Сообщений
    317
    Репутация:
    0 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    не вижу в предоставленном тобой коде тех действий с вычитанием единицы из DMJoinPeople
    Раньше было вот так но выше человек посоветовал в stock это все запихнуть я и сделал так как он написал а вот как я использовал.

    PHP код:
    if(PIJoinDM[playerid] == 1)DMJoinPeople --; 
    - - - Добавлено - - -

    Цитата Сообщение от kala4iks Посмотреть сообщение
    Раньше было вот так но выше человек посоветовал в stock это все запихнуть я и сделал так как он написал а вот как я использовал.

    PHP код:
    if(PIJoinDM[playerid] == 1)DMJoinPeople --; 
    А вот собственно код который предоставил человек выше.

    PHP код:
    stock ZashkvarPlayerIsJoinDM(playerid)
    {
        if(
    PIJoinDM[playerid] == 1)
        {
            
    PIJoinDM[playerid] = 0;
            
    DMJoinPeople --;
            return 
    1;
        }
        return 
    0;


  5. #15
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Ну так просто прологируй
    PHP код:
    public OnPlayerDeath(playerid,killerid,reason)
    {
        
    printf("\n\nOnPlayerDeath(%d, %d, %d)"playerid,killerid,reason);
        new 
    playername[40],killername[40];
        
    GetPlayerName(playerid,playername,sizeof(playername));
        
    GetPlayerName(killerid,killername,sizeof(killername));
        if(
    Player[killerid][pMember] == || Player[killerid][pMember] == 2)
        {
            print(
    "OnPlayerDeath 1");
            if(
    GetPlayerWantedLevel(playerid) > 0)
            {
                new 
    string[124];
                
    ServerResetPlayerWeapons(playerid);
                
    Player[playerid][pJailed] = true;
                
    Player[playerid][pJailTime] = GetPlayerWantedLevel(playerid)* 10 60;
                
    Player[playerid][pJailBlock] = false;
                
    GivePlayerKapusta(playerid,-GetPlayerWantedLevel(playerid)*300);
                
    GivePlayerKapusta(killerid,GetPlayerWantedLevel(playerid)*300);
                
    f(string,"Ты %s игрока %s[%d] в тюрьму и %s $%d.",GetPVarInt(killerid,"Sex") == ? ("посадил") : ("посадила"),sendername(playerid),playerid,GetPVarInt(killerid,"Sex") == ? ("получил") : ("получила"),GetPlayerWantedLevel(playerid)*300);
                
    send(killerid,0xFFFF00AA,string);
                
    f(string,"Тебя %s в тюрьму %s[%d].",GetPVarInt(killerid,"Sex") == ? ("посадил") : ("посадила"),sendername(killerid),killerid);
                
    send(playerid,0xFFFF00AA,string);
                
    SetPlayerWantedLevel(playerid,0);
                
    Player[playerid][pWanted] = 0;
                
    OnPlayerReSpawn(playerid);
                
    SaveAccount(playerid);
                print(
    "OnPlayerDeath 2");
                return 
    1;
            }
            else
            {
                new 
    rand random(100)+50;
                
    Player[killerid][pHunterValue] +=rand;
                
    GivePlayerKapusta(killerid,-500);
                
    SaveAccount(playerid);
                print(
    "OnPlayerDeath 3");
                return 
    1;
            }
        }
        if(
    GoWar == true)
        {
            if(
    Player[playerid][pMember] == DefenceFraction && Player[killerid][pMember] == AtackFraction)
            {
                
    AtackPoint++;
                
    SendDeathMessage(killerid,playerid,reason);
                print(
    "OnPlayerDeath 4");
                return 
    1;
            }
            if(
    Player[playerid][pMember] == AtackFraction && Player[killerid][pMember] == DefenceFraction)
            {
                
    DefencePoint++;
                
    SendDeathMessage(killerid,playerid,reason);
                print(
    "OnPlayerDeath 5");
                return 
    1;
            }
        }
        if(
    GetPVarInt(playerid,"DrivingTest"))
        {
            
    DisablePlayerRaceCheckpoint(playerid);
            
    DrivingTestTime[playerid] = 0;
            
    DeletePVar(playerid,"DrivingTest");
            
    DeletePVar(playerid,"DrivingTestHealth");
            
    DeletePVar(playerid,"DrivingTestError");
        }
        if(
    GetPVarInt(playerid,"DrivingTestMoto"))
        {
            
    DisablePlayerRaceCheckpoint(playerid);
            
    DrivingTestMotoTime[playerid] = 0;
            
    DeletePVar(playerid,"DrivingTestMoto");
            
    DeletePVar(playerid,"DrivingTestMotoHealth");
            
    DeletePVar(playerid,"DrivingTestMotoError");
        }
        print(
    "OnPlayerDeath 6");
        
    printf("OnPlayerDeath (%d)" ZashkvarPlayerIsJoinDM(playerid));
        print(
    "OnPlayerDeath 8");
        return 
    1;

    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    Почему бы просто не юзать все эти манёвры в начале каллбеков?
    Почему надо вниз совать перед сотнями return,
    ясен пень что может не отниматься если в какое то условие с return ты впадёшь.

    А это OnplayerDisconnect где тоже не убовляется если игрок вышел.
    Код:
    public OnPlayerDisconnect(playerid,reason)
    {
        KillTimer(FP_TimerPlayer[playerid]);
        if(prokol[playerid] == true)
        {
            DestroyDynamicObject(proko2[playerid]);
            prokol[playerid] = false;
        }
        new string[100];
        switch(reason)
        {
        case 0:f(string,"(( %s[%d] вылетел%s с сервера. IP %s ))",sendername(playerid),playerid,GetPVarInt(playerid,"Sex") == 1 ? ("") : ("а"),Player[playerid][pIP]),ABroadCast(COLOR_GREY,string,1);
        case 1:f(string,"(( %s[%d] %s с сервера. IP: %s ))",sendername(playerid),playerid,GetPVarInt(playerid,"Sex") == 1 ? ("вышел") : ("вышла"),Player[playerid][pIP]),ABroadCast(COLOR_GREY,string,1);
        case 2:f(string,"(( %s[%d] кикнут%s с сервера. IP: %s ))",sendername(playerid),playerid,GetPVarInt(playerid,"Sex") == 1 ? ("") : ("а"),Player[playerid][pIP]),ABroadCast(COLOR_GREY,string,1);
        }
        if(Player[playerid][pPhousekey] != 0) HouseInfo[Player[playerid][pPhousekey]][hDel] = (GetPVarInt(playerid,"pVip") != 0 ? 60 : 30);
        if(Player[playerid][pAdmin] != 0) Forveh_DestroyVehicle(CreateCar[playerid]);
        SaveAccount(playerid);
        foreach(new i: Player)
        {
            if(GetPlayerState(i) == PLAYER_STATE_SPECTATING && Player[i][Spectating][0] == playerid)
            {
                GameTextForPlayer(i,"PLAYER DISCONNECTED",3000,3);
                cmd::specoff(i);
            }
        }
        foreach(new i: Player)
        {
            if(toglogin[i] == true)
            {
                switch(reason)
                {
                    case 0:f(string,"%s вылетел%s с сервера.",sendername(playerid),GetPVarInt(playerid, "Sex") == 1 ? ("") : ("а"));
                    case 1:f(string,"%s покинул%s сервер.",sendername(playerid),GetPVarInt(playerid, "Sex") == 1 ? ("") : ("а"));
                    case 2:f(string,"%s был%s кикнут%s сервером.",sendername(playerid),GetPVarInt(playerid, "Sex") == 1 ? ("") : ("а"),GetPVarInt(playerid, "Sex") == 1 ? ("") : ("а"));
                }
                send(i,0xFF6C3CAA,string);
            }
        }
        foreach(new i : Player)
        {
            if(Logged[i] == false) return true; // заменить на continue; или будет как ниже написано
            // подключается игрок к серверу, ещё не авторизовался
            // а тут ты такой выходишь и бац.. в этом месте ты обрываешь весь код который ниже
            if(TaxiAccepted[i] < 999)
            {
                if(TaxiAccepted[i] == playerid)
                {
                    TaxiAccepted[i] = 999;
                    GameTextForPlayer(i, "~w~ЏAKC… AЂOмEмЏ~n~~r~ЊOK…мУ‡ …‚PУ", 5000, 1);
                    TaxiCallTime[i] = 0;
                    DisablePlayerCheckpoint(i);
                }
            }
        }
        if(GotHit[playerid] == true)
        {
            if(GetChased[playerid] < 999)
            {
                if(IsPlayerConnected(GetChased[playerid]))
                {
                    send(GetChased[playerid], COLOR_YELLOW, "Ваша цель покинула сервер.");
                    GoChase[GetChased[playerid]] = 999;
                }
            }
        }
        if(bustation[playerid] == true) bustation[playerid] = false;
        if(TaxiDuty[playerid] == 1) TaxiDrivers -= 1;
        if(MedicDuty[playerid] == 1) Medics -= 1;
        if(MechDuty[playerid] == 1) Mechanics -= 1;
        AntiFakeKill[playerid] = false;
        cheatlimit[playerid] = 0;
        ZashkvarPlayerIsJoinDM(playerid);
        DisablePlayerRaceCheckpoint(playerid);
        RemovePlayerVariables(playerid);
        DeletePVar(playerid,"chatS");
        DeletePVar(playerid,"chatPM");
        DeletePVar(playerid,"chatM");
        DeletePVar(playerid,"chatME");
        DeletePVar(playerid,"chatL");
        DeletePVar(playerid,"chaD");
        return 1;
    }
    Последний раз редактировалось vovandolg; 28.02.2017 в 12:29.
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

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

    Статус
    Оффлайн
    Регистрация
    27.02.2015
    Сообщений
    317
    Репутация:
    0 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Ну так просто прологируй
    PHP код:
    public OnPlayerDeath(playerid,killerid,reason)
    {
        
    printf("\n\nOnPlayerDeath(%d, %d, %d)"playerid,killerid,reason);
        new 
    playername[40],killername[40];
        
    GetPlayerName(playerid,playername,sizeof(playername));
        
    GetPlayerName(killerid,killername,sizeof(killername));
        if(
    Player[killerid][pMember] == || Player[killerid][pMember] == 2)
        {
            print(
    "OnPlayerDeath 1");
            if(
    GetPlayerWantedLevel(playerid) > 0)
            {
                new 
    string[124];
                
    ServerResetPlayerWeapons(playerid);
                
    Player[playerid][pJailed] = true;
                
    Player[playerid][pJailTime] = GetPlayerWantedLevel(playerid)* 10 60;
                
    Player[playerid][pJailBlock] = false;
                
    GivePlayerKapusta(playerid,-GetPlayerWantedLevel(playerid)*300);
                
    GivePlayerKapusta(killerid,GetPlayerWantedLevel(playerid)*300);
                
    f(string,"Ты %s игрока %s[%d] в тюрьму и %s $%d.",GetPVarInt(killerid,"Sex") == ? ("посадил") : ("посадила"),sendername(playerid),playerid,GetPVarInt(killerid,"Sex") == ? ("получил") : ("получила"),GetPlayerWantedLevel(playerid)*300);
                
    send(killerid,0xFFFF00AA,string);
                
    f(string,"Тебя %s в тюрьму %s[%d].",GetPVarInt(killerid,"Sex") == ? ("посадил") : ("посадила"),sendername(killerid),killerid);
                
    send(playerid,0xFFFF00AA,string);
                
    SetPlayerWantedLevel(playerid,0);
                
    Player[playerid][pWanted] = 0;
                
    OnPlayerReSpawn(playerid);
                
    SaveAccount(playerid);
                print(
    "OnPlayerDeath 2");
                return 
    1;
            }
            else
            {
                new 
    rand random(100)+50;
                
    Player[killerid][pHunterValue] +=rand;
                
    GivePlayerKapusta(killerid,-500);
                
    SaveAccount(playerid);
                print(
    "OnPlayerDeath 3");
                return 
    1;
            }
        }
        if(
    GoWar == true)
        {
            if(
    Player[playerid][pMember] == DefenceFraction && Player[killerid][pMember] == AtackFraction)
            {
                
    AtackPoint++;
                
    SendDeathMessage(killerid,playerid,reason);
                print(
    "OnPlayerDeath 4");
                return 
    1;
            }
            if(
    Player[playerid][pMember] == AtackFraction && Player[killerid][pMember] == DefenceFraction)
            {
                
    DefencePoint++;
                
    SendDeathMessage(killerid,playerid,reason);
                print(
    "OnPlayerDeath 5");
                return 
    1;
            }
        }
        if(
    GetPVarInt(playerid,"DrivingTest"))
        {
            
    DisablePlayerRaceCheckpoint(playerid);
            
    DrivingTestTime[playerid] = 0;
            
    DeletePVar(playerid,"DrivingTest");
            
    DeletePVar(playerid,"DrivingTestHealth");
            
    DeletePVar(playerid,"DrivingTestError");
        }
        if(
    GetPVarInt(playerid,"DrivingTestMoto"))
        {
            
    DisablePlayerRaceCheckpoint(playerid);
            
    DrivingTestMotoTime[playerid] = 0;
            
    DeletePVar(playerid,"DrivingTestMoto");
            
    DeletePVar(playerid,"DrivingTestMotoHealth");
            
    DeletePVar(playerid,"DrivingTestMotoError");
        }
        print(
    "OnPlayerDeath 6");
        
    printf("OnPlayerDeath (%d)" ZashkvarPlayerIsJoinDM(playerid));
        print(
    "OnPlayerDeath 8");
        return 
    1;

    Вот это засчитало убийство на ивенте

    PHP код:
    OnPlayerDeath(100)
    [
    11:38:41OnPlayerDeath 6
    [11:38:41OnPlayerDeath (1)
    [
    11:38:41OnPlayerDeath 8
    [11:38:41] [killVlad_Stor killed kala4iks 

  8. #18
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Эмм, а как ты проверяешь, что игроков нет на ДМ зоне?
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  9. #19
    Аватар для kala4iks
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.02.2015
    Сообщений
    317
    Репутация:
    0 ±
    Цитата Сообщение от vovandolg Посмотреть сообщение
    Почему бы просто не юзать все эти манёвры в начале каллбеков?
    Почему надо вниз совать перед сотнями return,
    ясен пень что может не отниматься если в какое то условие с return ты впадёшь.


    Код:
    public OnPlayerDisconnect(playerid,reason)
    {
        KillTimer(FP_TimerPlayer[playerid]);
        if(prokol[playerid] == true)
        {
            DestroyDynamicObject(proko2[playerid]);
            prokol[playerid] = false;
        }
        new string[100];
        switch(reason)
        {
        case 0:f(string,"(( %s[%d] вылетел%s с сервера. IP %s ))",sendername(playerid),playerid,GetPVarInt(playerid,"Sex") == 1 ? ("") : ("а"),Player[playerid][pIP]),ABroadCast(COLOR_GREY,string,1);
        case 1:f(string,"(( %s[%d] %s с сервера. IP: %s ))",sendername(playerid),playerid,GetPVarInt(playerid,"Sex") == 1 ? ("вышел") : ("вышла"),Player[playerid][pIP]),ABroadCast(COLOR_GREY,string,1);
        case 2:f(string,"(( %s[%d] кикнут%s с сервера. IP: %s ))",sendername(playerid),playerid,GetPVarInt(playerid,"Sex") == 1 ? ("") : ("а"),Player[playerid][pIP]),ABroadCast(COLOR_GREY,string,1);
        }
        if(Player[playerid][pPhousekey] != 0) HouseInfo[Player[playerid][pPhousekey]][hDel] = (GetPVarInt(playerid,"pVip") != 0 ? 60 : 30);
        if(Player[playerid][pAdmin] != 0) Forveh_DestroyVehicle(CreateCar[playerid]);
        SaveAccount(playerid);
        foreach(new i: Player)
        {
            if(GetPlayerState(i) == PLAYER_STATE_SPECTATING && Player[i][Spectating][0] == playerid)
            {
                GameTextForPlayer(i,"PLAYER DISCONNECTED",3000,3);
                cmd::specoff(i);
            }
        }
        foreach(new i: Player)
        {
            if(toglogin[i] == true)
            {
                switch(reason)
                {
                    case 0:f(string,"%s вылетел%s с сервера.",sendername(playerid),GetPVarInt(playerid, "Sex") == 1 ? ("") : ("а"));
                    case 1:f(string,"%s покинул%s сервер.",sendername(playerid),GetPVarInt(playerid, "Sex") == 1 ? ("") : ("а"));
                    case 2:f(string,"%s был%s кикнут%s сервером.",sendername(playerid),GetPVarInt(playerid, "Sex") == 1 ? ("") : ("а"),GetPVarInt(playerid, "Sex") == 1 ? ("") : ("а"));
                }
                send(i,0xFF6C3CAA,string);
            }
        }
        foreach(new i : Player)
        {
            if(Logged[i] == false) return true; // заменить на continue; или будет как ниже написано
            // подключается игрок к серверу, ещё не авторизовался
            // а тут ты такой выходишь и бац.. в этом месте ты обрываешь весь код который ниже
            if(TaxiAccepted[i] < 999)
            {
                if(TaxiAccepted[i] == playerid)
                {
                    TaxiAccepted[i] = 999;
                    GameTextForPlayer(i, "~w~ЏAKC… AЂOмEмЏ~n~~r~ЊOK…мУ‡ …‚PУ", 5000, 1);
                    TaxiCallTime[i] = 0;
                    DisablePlayerCheckpoint(i);
                }
            }
        }
        if(GotHit[playerid] == true)
        {
            if(GetChased[playerid] < 999)
            {
                if(IsPlayerConnected(GetChased[playerid]))
                {
                    send(GetChased[playerid], COLOR_YELLOW, "Ваша цель покинула сервер.");
                    GoChase[GetChased[playerid]] = 999;
                }
            }
        }
        if(bustation[playerid] == true) bustation[playerid] = false;
        if(TaxiDuty[playerid] == 1) TaxiDrivers -= 1;
        if(MedicDuty[playerid] == 1) Medics -= 1;
        if(MechDuty[playerid] == 1) Mechanics -= 1;
        AntiFakeKill[playerid] = false;
        cheatlimit[playerid] = 0;
        ZashkvarPlayerIsJoinDM(playerid);
        DisablePlayerRaceCheckpoint(playerid);
        RemovePlayerVariables(playerid);
        DeletePVar(playerid,"chatS");
        DeletePVar(playerid,"chatPM");
        DeletePVar(playerid,"chatM");
        DeletePVar(playerid,"chatME");
        DeletePVar(playerid,"chatL");
        DeletePVar(playerid,"chaD");
        return 1;
    }
    Поставил выше тоже не помогло.

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

    Цитата Сообщение от DeimoS Посмотреть сообщение
    Эмм, а как ты проверяешь, что игроков нет на ДМ зоне?
    PHP код:
    if(PIJoinDM[playerid] == 1

  10. #20
    Аватар для vovandolg
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    Цитата Сообщение от kala4iks Посмотреть сообщение
    Поставил выше тоже не помогло.
    И в public OnPlayerDeath тоже в самом верху поставил?
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

 

 
Страница 2 из 4 ПерваяПервая 1 2 3 4 ПоследняяПоследняя

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

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

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

Ваши права

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