Help bomb
#1

who know how to create plant/defuse bomb system please like this

Код:
// This is a comment
    // uncomment the line below if you want to write a filterscript
    //#define FILTERSCRIPT

    // includes
    #include <a_samp>
    #include <streamer>
    #include <sscanf2>
    #include <zcmd>
    #include <foreach>
    // normale defines zoals kleuren etc, dingen voor IEDEREEN
    // red, blue, green FF0000  0000FF   00FF00 ( gewoon om iets te onthouden xD)
    #define COLOR_RED 0xFF0000FF
    #define COLOR_GREEN 0x00FF00FF
    #define COLOR_YELLOW 0xFFFF00AA
    #define COLOR_PURPLE 0xFF00FFAA
    #define ORANGE 0xFF8000AA
    #define COLOR_BLUE 0x0000FFFF
    #define COLOR_ORANGE 0xFF9000FF
    #define COLOR_GREY 0xAFAFAFAA
    #define COLOR_WHITE 0xFFFFFFAA
    #define COLOR_DARKBLUE 0x00007AFF
    #define COLOR_PINK 0xFF007AFF
    #define COLOR_BLACK 0x000000FF
    #define COLOR_LIGHTGREEN 0x82FF82FF
    #define lightblue 0x33CCFFAA
    #define red 0xFF0000AA
    #define DIALOG_CMDS   30538

    // de defines voor de teams, zoals je kunt zien zijn dat terrorists en army, komen later nog stunt etc bij
    #define C1 0
    #define T1 1
    // de team kleuren die ze krijgen bij spawn, army is blauw en terrorists is rood

    // de callback die we gaan gebruiken om de teams te onderscheiden
    new AllTeams[MAX_PLAYERS];
    new BombExplodeTimer;
    new Bomb, PlantbombCP;
    new BombPlanted = 0;
    new DefuseTimer, Defusing;
    // sets the timer that says how many seconds till bomb explodes
    new ExplodeBomb[MAX_PLAYERS];
    // random spawns voor elke class
    // army base randomspawns



    public OnFilterScriptInit()
    {
	PlantbombCP = CreateDynamicCP(259.2780,1855.8953,8.7578, 6.0, -1, -1, -1, 100.0);
            return 1;
    }

    public OnFilterScriptExit()
    {

            return 1;
    }


    main()
    {
            print("\n----------------------------------");
            print(" Blank Gamemode by your name here");
            print("----------------------------------\n");
    }


    public OnGameModeInit()
    {
            // Don't use these lines if it's a filterscript
            return 1;
    }

    public OnGameModeExit()
    {
            return 1;
    }

    public OnPlayerRequestClass(playerid, classid)
    {

            return 1;
    }

    public OnPlayerConnect(playerid)
    {
            return 1;
    }

    public OnPlayerDisconnect(playerid, reason)
    {
            return 1;
    }

    public OnPlayerSpawn(playerid)
    {
            return 1;
    }

    public OnPlayerDeath(playerid, killerid, reason)
    {
            return 1;
    }

    public OnVehicleSpawn(vehicleid)
    {
            return 1;
    }

    public OnVehicleDeath(vehicleid, killerid)
    {
            return 1;
    }

    public OnPlayerText(playerid, text[])
    {
            return 1;
    }

    public OnPlayerCommandText(playerid, cmdtext[])
    {
            if (strcmp("/mycommand", cmdtext, true, 10) == 0)
            {
                    // Do something here
                    return 1;
            }
            return 0;
    }

    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
            return 1;
    }

    public OnPlayerExitVehicle(playerid, vehicleid)
    {
            return 1;
    }

    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
            return 1;
    }

    public OnPlayerEnterCheckpoint(playerid)
    {
            return 1;
    }

    public OnPlayerLeaveCheckpoint(playerid)
    {
            return 1;
    }

    public OnPlayerEnterRaceCheckpoint(playerid)
    {
            return 1;
    }

    public OnPlayerLeaveRaceCheckpoint(playerid)
    {
            return 1;
    }

    public OnRconCommand(cmd[])
    {
            return 1;
    }

    public OnPlayerRequestSpawn(playerid)
    {
            return 1;
    }

    public OnObjectMoved(objectid)
    {
            return 1;
    }

    public OnPlayerObjectMoved(playerid, objectid)
    {
            return 1;
    }

    public OnPlayerPickUpPickup(playerid, pickupid)
    {
            return 1;
    }

    public OnVehicleMod(playerid, vehicleid, componentid)
    {
            return 1;
    }

    public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
    {
            return 1;
    }

    public OnVehicleRespray(playerid, vehicleid, color1, color2)
    {
            return 1;
    }

    public OnPlayerSelectedMenuRow(playerid, row)
    {
            return 1;
    }

    public OnPlayerExitedMenu(playerid)
    {
            return 1;
    }

    public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
    {
            return 1;
    }

    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
            return 1;
    }

    public OnRconLoginAttempt(ip[], password[], success)
    {
            return 1;
    }

    public OnPlayerUpdate(playerid)
    {
            return 1;
    }

    public OnPlayerStreamIn(playerid, forplayerid)
    {
            return 1;
    }

    public OnPlayerStreamOut(playerid, forplayerid)
    {
            return 1;
    }

    public OnVehicleStreamIn(vehicleid, forplayerid)
    {
            return 1;
    }

    public OnVehicleStreamOut(vehicleid, forplayerid)
    {
            return 1;
    }

    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
            return 1;
    }

    public OnPlayerClickPlayer(playerid, clickedplayerid, source)
    {
            return 1;
    }

    public OnPlayerEnterDynamicCP(playerid, checkpointid)
    {
            if(checkpointid == PlantbombCP)
            {
                if(AllTeams[playerid] == C1 && (BombPlanted == 1))
                    {
                        DefuseTimer = SetTimerEx("DefuseBomb", 10000, false, "is", playerid);
                        Defusing = 1;
                        GameTextForAll("~b~Cops is trying to defuse the bomb!!~n~~r~Terrorists, Try to stop them!", 3000, 3);
                        return 1;
                    }
                    else return 0;
            }
            return 1;
    }
    public OnPlayerLeaveDynamicCP(playerid, checkpointid)
    {
            if(checkpointid == PlantbombCP && (Defusing == 1 && (AllTeams[playerid] == C1)))
            {
                KillTimer(DefuseTimer);
                Defusing = 0;
                GameTextForAll("~B~Cops Failed to defuse the bomb", 2000, 3);
            }
            return 1;
    }
    forward DefuseBomb(playerid);
    public DefuseBomb(playerid)
    {
            if(Defusing == 1)
            {
                    KillTimer(DefuseTimer);
                    KillTimer(BombExplodeTimer);
                    KillTimer(ExplodeBomb[playerid]);
                    GameTextForAll("~R~BOMB DEFUSED!", 3000, 3);
                    GivePlayerMoney(playerid, 10000);
                    Defusing = 0;
                    BombPlanted = 0;
                    DestroyObject(Bomb);
                    SetPlayerScore(playerid, GetPlayerScore(playerid) +10);
                    SendClientMessage(playerid, COLOR_GREEN, "you earned {FF0000}$10000 {00FF00}and {FF0000}10 score {00FF00}for defusing the bomb");
                    return 1;
            }
            return 1;
    }
    CMD:plantbomb(playerid, params[])
    {
            if(IsPlayerInDynamicCP(playerid, PlantbombCP) && (AllTeams[playerid] == T1 && (BombPlanted == 0)))
            {
                    Bomb = CreateObject(3786,259.2780,1855.8953,8.7578,196.8689,0,0, 100.0);
                    BombExplodeTimer = SetTimer("BombExplodes", 110000, 0);
                    GameTextForAll("~r~bomb has been planted", 4000, 3);
                    BombPlanted = 1;
            }
            else if(IsPlayerInDynamicCP(playerid, PlantbombCP) && (AllTeams[playerid] == T1 && (BombPlanted != 0))) return SendClientMessage(playerid, COLOR_RED, "The bomb is already planted!");
            return 1;
    }
    forward BombExplodes(playerid);
    public BombExplodes(playerid)
    {
            GameTextForAll("~R~Bomb explodes in 10 seconds!!, get the hell out of there!", 3000, 3);
        ExplodeBomb[playerid] = SetTimerEx("ExplodeBombTimer", 10000, false, "d", playerid);
        return 1;
    }
    forward ExplodeBombTimer(playerid);
    public ExplodeBombTimer(playerid)
    {
            CreateExplosion(259.2780,1855.8953,8.7578, 7, 5000.0);
            DestroyObject(Bomb);
            GameTextForAll("~R~BOOOOOOMMM!!!", 1000, 3);
            BombPlanted = 0;
            SendClientMessage(playerid, COLOR_GREEN, "you earned {FF0000}$10000 {00FF00} and {FF0000}10 score {00FF00} for planting the bomb in cops base");
            GivePlayerMoney(playerid, 10000);
            SetPlayerScore(playerid, GetPlayerScore(playerid) +10);
            return 1;
    }
here is now problem when i type /plantbomb nothing and i don't have message unknow command
Reply
#2

Please dont send the whole script, send the command.
And you can use [ pawn ] [ /pawn ] (without spaces) instead of [ code ].
Reply
#3

pawn Код:
// This is a comment
    // uncomment the line below if you want to write a filterscript
    //#define FILTERSCRIPT

    // includes
    #include <a_samp>
    #include <streamer>
    #include <sscanf2>
    #include <zcmd>
    #include <foreach>
    // normale defines zoals kleuren etc, dingen voor IEDEREEN
    // red, blue, green FF0000  0000FF   00FF00 ( gewoon om iets te onthouden xD)
    #define COLOR_RED 0xFF0000FF
    #define COLOR_GREEN 0x00FF00FF
    #define COLOR_YELLOW 0xFFFF00AA
    #define COLOR_PURPLE 0xFF00FFAA
    #define ORANGE 0xFF8000AA
    #define COLOR_BLUE 0x0000FFFF
    #define COLOR_ORANGE 0xFF9000FF
    #define COLOR_GREY 0xAFAFAFAA
    #define COLOR_WHITE 0xFFFFFFAA
    #define COLOR_DARKBLUE 0x00007AFF
    #define COLOR_PINK 0xFF007AFF
    #define COLOR_BLACK 0x000000FF
    #define COLOR_LIGHTGREEN 0x82FF82FF
    #define lightblue 0x33CCFFAA
    #define red 0xFF0000AA
    #define DIALOG_CMDS   30538

    // de defines voor de teams, zoals je kunt zien zijn dat terrorists en army, komen later nog stunt etc bij
    #define C1 0
    #define T1 1
    // de team kleuren die ze krijgen bij spawn, army is blauw en terrorists is rood

    // de callback die we gaan gebruiken om de teams te onderscheiden
    new AllTeams[MAX_PLAYERS];
    new BombExplodeTimer;
    new Bomb, PlantbombCP;
    new BombPlanted = 0;
    new DefuseTimer, Defusing;
    // sets the timer that says how many seconds till bomb explodes
    new ExplodeBomb[MAX_PLAYERS];
    // random spawns voor elke class
    // army base randomspawns



    public OnFilterScriptInit()
    {
    PlantbombCP = CreateDynamicCP(259.2780,1855.8953,8.7578, 6.0, -1, -1, -1, 100.0);
            return 1;
    }

    public OnFilterScriptExit()
    {

            return 1;
    }


    main()
    {
            print("\n----------------------------------");
            print(" Blank Gamemode by your name here");
            print("----------------------------------\n");
    }


    public OnGameModeInit()
    {
            // Don't use these lines if it's a filterscript
            return 1;
    }

    public OnGameModeExit()
    {
            return 1;
    }

    public OnPlayerRequestClass(playerid, classid)
    {

            return 1;
    }

    public OnPlayerConnect(playerid)
    {
            return 1;
    }

    public OnPlayerDisconnect(playerid, reason)
    {
            return 1;
    }

    public OnPlayerSpawn(playerid)
    {
            return 1;
    }

    public OnPlayerDeath(playerid, killerid, reason)
    {
            return 1;
    }

    public OnVehicleSpawn(vehicleid)
    {
            return 1;
    }

    public OnVehicleDeath(vehicleid, killerid)
    {
            return 1;
    }

    public OnPlayerText(playerid, text[])
    {
            return 1;
    }

    public OnPlayerCommandText(playerid, cmdtext[])
    {
            if (strcmp("/mycommand", cmdtext, true, 10) == 0)
            {
                    // Do something here
                    return 1;
            }
            return 0;
    }

    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
            return 1;
    }

    public OnPlayerExitVehicle(playerid, vehicleid)
    {
            return 1;
    }

    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
            return 1;
    }

    public OnPlayerEnterCheckpoint(playerid)
    {
            return 1;
    }

    public OnPlayerLeaveCheckpoint(playerid)
    {
            return 1;
    }

    public OnPlayerEnterRaceCheckpoint(playerid)
    {
            return 1;
    }

    public OnPlayerLeaveRaceCheckpoint(playerid)
    {
            return 1;
    }

    public OnRconCommand(cmd[])
    {
            return 1;
    }

    public OnPlayerRequestSpawn(playerid)
    {
            return 1;
    }

    public OnObjectMoved(objectid)
    {
            return 1;
    }

    public OnPlayerObjectMoved(playerid, objectid)
    {
            return 1;
    }

    public OnPlayerPickUpPickup(playerid, pickupid)
    {
            return 1;
    }

    public OnVehicleMod(playerid, vehicleid, componentid)
    {
            return 1;
    }

    public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
    {
            return 1;
    }

    public OnVehicleRespray(playerid, vehicleid, color1, color2)
    {
            return 1;
    }

    public OnPlayerSelectedMenuRow(playerid, row)
    {
            return 1;
    }

    public OnPlayerExitedMenu(playerid)
    {
            return 1;
    }

    public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
    {
            return 1;
    }

    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
            return 1;
    }

    public OnRconLoginAttempt(ip[], password[], success)
    {
            return 1;
    }

    public OnPlayerUpdate(playerid)
    {
            return 1;
    }

    public OnPlayerStreamIn(playerid, forplayerid)
    {
            return 1;
    }

    public OnPlayerStreamOut(playerid, forplayerid)
    {
            return 1;
    }

    public OnVehicleStreamIn(vehicleid, forplayerid)
    {
            return 1;
    }

    public OnVehicleStreamOut(vehicleid, forplayerid)
    {
            return 1;
    }

    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
            return 1;
    }

    public OnPlayerClickPlayer(playerid, clickedplayerid, source)
    {
            return 1;
    }

    public OnPlayerEnterDynamicCP(playerid, checkpointid)
    {
            if(checkpointid == PlantbombCP)
            {
                if(AllTeams[playerid] == C1 && (BombPlanted == 1))
                    {
                        DefuseTimer = SetTimerEx("DefuseBomb", 10000, false, "is", playerid);
                        Defusing = 1;
                        GameTextForAll("~b~Cops is trying to defuse the bomb!!~n~~r~Terrorists, Try to stop them!", 3000, 3);
                        return 1;
                    }
                    else return 0;
            }
            return 1;
    }
    public OnPlayerLeaveDynamicCP(playerid, checkpointid)
    {
            if(checkpointid == PlantbombCP && (Defusing == 1 && (AllTeams[playerid] == C1)))
            {
                KillTimer(DefuseTimer);
                Defusing = 0;
                GameTextForAll("~B~Cops Failed to defuse the bomb", 2000, 3);
            }
            return 1;
    }
    forward DefuseBomb(playerid);
    public DefuseBomb(playerid)
    {
            if(Defusing == 1)
            {
                    KillTimer(DefuseTimer);
                    KillTimer(BombExplodeTimer);
                    KillTimer(ExplodeBomb[playerid]);
                    GameTextForAll("~R~BOMB DEFUSED!", 3000, 3);
                    GivePlayerMoney(playerid, 10000);
                    Defusing = 0;
                    BombPlanted = 0;
                    DestroyObject(Bomb);
                    SetPlayerScore(playerid, GetPlayerScore(playerid) +10);
                    SendClientMessage(playerid, COLOR_GREEN, "you earned {FF0000}$10000 {00FF00}and {FF0000}10 score {00FF00}for defusing the bomb");
                    return 1;
            }
            return 1;
    }
    CMD:plantbomb(playerid, params[])
    {
            if(IsPlayerInDynamicCP(playerid, PlantbombCP) && (AllTeams[playerid] == T1 && (BombPlanted == 0)))
            {
                    Bomb = CreateObject(3786,259.2780,1855.8953,8.7578,196.8689,0,0, 100.0);
                    BombExplodeTimer = SetTimer("BombExplodes", 110000, 0);
                    GameTextForAll("~r~bomb has been planted", 4000, 3);
                    BombPlanted = 1;
            }
            else if(IsPlayerInDynamicCP(playerid, PlantbombCP) && (AllTeams[playerid] == T1 && (BombPlanted != 0))) return SendClientMessage(playerid, COLOR_RED, "The bomb is already planted!");
            return 1;
    }
    forward BombExplodes(playerid);
    public BombExplodes(playerid)
    {
            GameTextForAll("~R~Bomb explodes in 10 seconds!!, get the hell out of there!", 3000, 3);
        ExplodeBomb[playerid] = SetTimerEx("ExplodeBombTimer", 10000, false, "d", playerid);
        return 1;
    }
    forward ExplodeBombTimer(playerid);
    public ExplodeBombTimer(playerid)
    {
            CreateExplosion(259.2780,1855.8953,8.7578, 7, 5000.0);
            DestroyObject(Bomb);
            GameTextForAll("~R~BOOOOOOMMM!!!", 1000, 3);
            BombPlanted = 0;
            SendClientMessage(playerid, COLOR_GREEN, "you earned {FF0000}$10000 {00FF00} and {FF0000}10 score {00FF00} for planting the bomb in cops base");
            GivePlayerMoney(playerid, 10000);
            SetPlayerScore(playerid, GetPlayerScore(playerid) +10);
            return 1;
    }
can u help now??
Reply
#4

You need to be in the checkpoint which is created in OnFilterScriptInit otherwise the command wont work
Reply
#5

i know but not working
Reply
#6

You also need to be in Team "T1"

Find OnPlayerSpawn and add
pawn Код:
AllTeams[playerid] = T1;
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)