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

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Адрес
    Аҧсуа бызшәа
    Сообщений
    2,271
    Репутация:
    418 ±

    Ограбление банка со взрывом дверей

    Данный скрипт добавит на ваш сервер реальное ограбление банка .
    Для которого нужно купить лом для взлома ячеек а так-же бомбу , которой вы будете взрывать двери от хранилища банка.

    PHP код:
    /forbomb выдать себе бомбу 

    /putbomb положить можно в любом месте 

    /lom выдать себе лом что-бы ломать ячейки

    /robbank ограбить банк 
      Открыть/закрыть





    Код:
    PHP код:
    #include <a_samp>
    #define COLOR_WHITE 0xFFFFFFAA
    #define COLOR_GREEN 0xFFFF00AA
    #define COLOR_YELLOW 0xC2A2DAAA
    new bomb[MAX_PLAYERS];
    new 
    object[MAX_PLAYERS];
    new 
    vaultdoor;
    new 
    start[MAX_PLAYERS];
    new 
    dim[MAX_PLAYERS];
    new 
    BankRobbed[MAX_PLAYERS];
    new 
    BankProbel;
    new 
    Rcr;
    new 
    Stopenrob[MAX_PLAYERS];
    //bank
    new Lom[MAX_PLAYERS];
    new 
    bank;
    new 
    banks;
    enum pInfo
    {
    pMember,
    pLeader,
    pWanted,
    };
    new 
    PlayerInfo[MAX_PLAYERS][pInfo];
    forward dimstart(playerid);

    public 
    OnFilterScriptInit()
    {
        
    banks CreatePickup(1318,2,2142.9326,1619.9785,1000.9688, -1); //object(arrow) (1)
        
    bank CreatePickup(1318,2,2315.6062,-0.4825,26.7422, -1); //object(arrow) (1) // in bank
        // bank
        
    CreateObject(8957,2146.1999500,1595.9000200,1005.2000100,0.0000000,0.0000000,0.0000000); //object(vgsespdr01) (1)
        
    CreateObject(2970,2146.1001000,1598.0999800,1003.0000000,0.0000000,0.0000000,0.0000000); //object(dts_bbdoor) (1)
        
    CreateObject(2963,2150.1999500,1602.3000500,1003.0000000,0.0000000,0.0000000,0.0000000); //object(freezer_door) (1)
        //CreateObject(2634,2147.6001000,1595.9000200,1004.0999800,0.0000000,0.0000000,0.0000000); //object(ab_vaultdoor) (1)
        
    vaultdoor CreateObject(2634,2144.1999500,1626.9997600,994.2500000,0.0000000,0.0000000,182.0000000);
        return 
    1;
    }

    public 
    OnFilterScriptExit()
    {

        return 
    1;
    }

    public 
    OnPlayerConnect(playerid)
    {
        
    SetPVarInt(playerid"PType"0);
        
    SetPVarInt(playerid"PColor"0);
        
    bomb[playerid] = 0;
        return 
    1;
    }

    public 
    OnPlayerCommandText(playeridcmdtext[])
    {
        if(
    strcmp(cmdtext"/lom"true) == 0)
        {
        
    Lom[playerid] = 1;
        
    SendClientMessage(playerid0xFF8000AA"Вы взяли лом");
        }
        if(
    strcmp(cmdtext"/forbomb"true) == 0)
        {
        
    bomb[playerid] = 2;
        
    SetPVarInt(playerid"pType"4);
        
    SendClientMessage(playerid0xFF8000AA"Вы взяли бомбу");
        }
        if(
    strcmp(cmdtext"/putbomb"true) == 0)
        {
            if(
    bomb[playerid] < 1) return SendClientMessage(playerid0xFF8000AA"У Вас нет бомбы");
            if(
    start[playerid] != 0) return SendClientMessage(playerid0xFF8000AA"Подождите, пожалуйста...");
            
    SendClientMessage(playerid0xFF8000AA"{62B81F}Вы установили бомбу у вас 7 секунд что-бы отбежать");
            
    ApplyAnimation(playerid"BOMBER""BOM_Plant"200000);
            new 
    Float:xFloat:yFloat:zFloat:angle;
             
    GetPlayerPos(playeridxyz);
             
    GetPlayerFacingAngle(playeridangle);
             
    += floatsin(-angledegrees);
             
    += floatcos(-angledegrees);
            
    bomb[playerid] --; start[playerid] = 1;
            switch(
    GetPVarInt(playerid"pType"))
            {
                case 
    4:
                {
                
    object[playerid] = CreateObject(1654xyz-0.5000);
                
    SetTimerEx("startonee",6000,0,"d",playerid);
                }
            }
            return 
    1;
        }
        if(
    strcmp(cmdtext"/robbank"true) == 0)
        {
           if(
    BankProbel == 0)
           {
           
    BankProbel 1;
           if(
    BankRobbed[playerid] == 0)
           {
           if(
    PlayerToPoint(10.0playerid,2141.5652,1637.5085,993.5761))
           {
           if(
    Lom[playerid] == 1)
           {
           if(
    PlayerInfo[playerid][pMember]==1||PlayerInfo[playerid][pLeader]==1||PlayerInfo[playerid][pMember]==2||PlayerInfo[playerid][pLeader]==2||PlayerInfo[playerid][pMember]==3||PlayerInfo[playerid][pLeader]==3||PlayerInfo[playerid][pMember]==3||PlayerInfo[playerid][pLeader]==3||PlayerInfo[playerid][pMember]==4||PlayerInfo[playerid][pLeader]==4||PlayerInfo[playerid][pMember]==7||PlayerInfo[playerid][pLeader]==7||PlayerInfo[playerid][pMember]==11||PlayerInfo[playerid][pLeader]==11)
           {
           
    SendClientMessage(playeridCOLOR_WHITE"{3965D5} Cовсеть не позволяет вам совершить преступрение! !");
           
    BankProbel 0;
           return 
    1;
           }
           if(
    PlayerInfo[playerid][pMember]==0&&PlayerInfo[playerid][pLeader]==0)
           {
           
    SendClientMessage(playeridCOLOR_WHITE"{3965D5}Грабить могут только банды!");
           
    BankProbel 0;
           return 
    1;
           }
           if(
    IsACop(playerid) < 2)
           {
           
    SendClientMessage(playeridCOLOR_WHITE"{3965D5}Запрещенно грабить если на сервере меньше двух законников!!!");
           
    BankProbel 0;
           return 
    1;
           }
                
    //SetTimer("StopGrab",10000,false);
           
    SetTimerEx("StopGrab",2000,0,"d",playerid);
           
    ApplyAnimation(playerid,"ROB_BANK","CAT_Safe_Rob",4.1,1,1,1,1,1);
           
    TogglePlayerControllable(playerid,0);
           
    Stopenrob[playerid] = 1;
           if(
    Rcr == 0)
           {
           
    Rcr 1;
           }
           else
           {
           
    SendClientMessage(playeridCOLOR_WHITE"{3965D5} Банк уже грабят!!!");
           
    BankProbel 0;
           }
           }
           else
           {
           
    SendClientMessage(playeridCOLOR_WHITE"{3965D5} Вы не можите ломать банк руками, вам нужен лом !");
           
    BankProbel 0;
           }
           }
           else
           {
           
    SendClientMessage(playeridCOLOR_WHITE"{3965D5} Вы не в банке!");
           
    BankProbel 0;
           }
           }
           }
           else
           {
           
    SendClientMessage(playeridCOLOR_WHITE"{3965D5} Вы не можите грабить банк так часто, подождите часок !");
           
    BankProbel 0;
           }
           }
        return 
    1;
        }
    stock PlayerToPoint(Float:radiplayeridFloat:xFloat:yFloat:z)
    {
        if(
    IsPlayerConnected(playerid))
        {
            if (
    IsPlayerInRangeOfPoint(playeridradixyz))
            {
                return 
    1;
            }
        }
        return 
    0;
    }
    forward startonboom(playerid);
    public 
    startonboom(playerid)
    {
        new 
    Float:oobjxFloat:oobjyFloat:oobjz;
        new 
    Float:ooobjxFloat:ooobjyFloat:ooobjz;
        if(
    PlayerToPoint(20.0,playerid,2144.3025,1626.1572,993.6882))
        {
        
    GetObjectPos(vaultdoorooobjxooobjyooobjz);
        
    CreateExplosion(ooobjxooobjyooobjz05);
        
    CreateExplosion(ooobjxooobjyooobjz05);
        
    DestroyObject(object[playerid]);
        
    DestroyObject(vaultdoor);
        
    DestroyObject(dim[playerid]);
        
    SendClientMessage(playeridCOLOR_YELLOW"Вы взорвали двери от хранилища банка");
        
    SetTimerEx("vaultdoors",300000,0,"d",playerid);
        }
        
    GetObjectPos(object[playerid], oobjxoobjyoobjz);
        
    CreateExplosion(oobjxoobjyoobjz05);
        
    DestroyObject(object[playerid]);
        
    DestroyObject(dim[playerid]);
        
    SendClientMessage(playeridCOLOR_YELLOW"Бомба взорвалась");
        
    start[playerid] = 0;
    }
    forward IsACop(playerid);
    public 
    IsACop(playerid)
    {
        if(
    IsPlayerConnected(playerid))
        {
            new 
    leader PlayerInfo[playerid][pLeader];
            new 
    member PlayerInfo[playerid][pMember];
            if(
    member==1||member==2||member==3)
            {
                return 
    1;
            }
            else if(
    leader==1||leader==2||leader==3)
            {
                return 
    1;
            }
        }
        return 
    0;
    }
    forward vaultdoors(playerid);
    public 
    vaultdoors(playerid)
    {
    vaultdoor CreateObject(2634,2144.1999500,1626.9997600,994.2500000,0.0000000,0.0000000,182.0000000);
    }
    public 
    dimstart(playerid)
    {
        new 
    Float:dimxFloat:dimyFloat:dimz;
        
    GetObjectPos(object[playerid], dimxdimydimz);
        
    DestroyObject(object[playerid]);
        
    object[playerid] = CreateObject(18715dimxdimydimz+2000);
        
    SetTimerEx("destroyFlare",500,0,"d",playerid);
        new 
    Float:XFloat:YFloat:ZGetObjectPos(object[playerid], XYZ);
        
    PlaySoundForPlayersInRange(114120.0XYZ);
    }

    stock PlaySoundForPlayersInRange(soundidFloat:rangeFloat:xFloat:yFloat:z)
    {
        for(new 
    iGetMaxPlayers(); i++)
        {
            if(!
    IsPlayerConnected(i) || !IsPlayerInRangeOfPoint(i,range,x,y,z)) continue;
            
    PlayerPlaySound(isoundidxyz);
        }
    }
    forward startonee(playerid);
    public 
    startonee(playerid)
    {
        new 
    Float:objxFloat:objyFloat:objz;
        
    GetObjectPos(object[playerid], objxobjyobjz);
        
    dim[playerid] = CreateObject(18715objxobjyobjz000);
        
    AttachObjectToObject(dim[playerid],object[playerid],0,0,0,0,0,0,0);
        
    SetTimerEx("startonboom",1200,0,"d",playerid);
    }


    public 
    OnPlayerEnterCheckpoint(playerid)
    {
        return 
    1;
    }

    public 
    OnPlayerPickUpPickup(playeridpickupid)
    {
        if(
    pickupid == bank)
        {
            
    SetPlayerPos(playerid2143.8999000,1599.0999800,1003.7000100);
            
    SetPlayerInterior(playerid1);
             
    GameTextForPlayer(playerid"~r~bank ~g~storage"50001);
            
    SendClientMessage(playeridCOLOR_GREEN"Вы внутри хранилища банка , осторожно вас может заметить сигнализация");
        }
        else if(
    pickupid == banks)
        {
            
    SetPlayerPos(playerid1427.5527,-966.8517,37.4224);
            
    SetPlayerInterior(playerid0);
             
    SetPlayerVirtualWorld(playerid,0);
        }
        return 
    1;
    }

    public 
    OnDialogResponse(playeriddialogidresponselistiteminputtext[])
    {
        return 
    1;
    }

    public 
    OnPlayerSpawn(playeridApplyAnimation(playerid"BOMBER""null",0.0,0,0,0,0,0); 
    Автор: poks

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

    Статус
    Оффлайн
    Регистрация
    20.10.2013
    Сообщений
    31
    Репутация:
    2 ±
    Хороший скрипт.
    Самый сложный скриптинг и мапинг наша - Земля.
    Самый крутой программист - Бог.

 

 

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

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

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

Ваши права

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