Bank sys. (With Teammate)

Gito Baloch

  • Full Member
  • Posts: 145
Bank sys. (With Teammate)
«  »
Before PlayerCLass
Code: [Select]
const rpmsg = "[#FCFB92]";

on Player Class
Code: [Select]
TeamupFrom = null;
 TeamupReq = 0;
 Team1 = "None";
 Team2 = "None";
 InTeam = false;
 CanBuy = false;
 CanUse = false;
 Bomb = false;

on Script Load
Code: [Select]
pkc <- CreatePickup( 410, 1, 0, Vector(-948.597, -344.569, 7.22694), 255, true ); //bankRobpIckuP

ct <- CreateObject( 4578, 1, -945.596, -342.627, 7.58308, 255 )
BankRob <- 300;
BankBeingRobbed <- false;
BankRobbed <-  false;
BankTime <- 0;
bankin <- CreateCheckpoint(null, 0, true, Vector(-937.568, -351.482, 17.8038), ARGB(255,255,255,255),2)// banklocker entrance.
bankout <- CreateCheckpoint(null, 0, true, Vector(-939.012, -351.882, 7.22692), ARGB(255,255,255,255),2)// banklocker exit.
bankb <- CreateCheckpoint(null, 0, true, Vector(-666.965, 1209.25, 11.1073), ARGB(255,255,16,0),1)// bank bomb.

on Player Pickup
Code: [Select]
if( pickup.Model == 410  )
    {
if(stats[player.ID].InTeam == false) ER2("You must be in team with someone to rob bank.",player);
else if (BankBeingRobbed == true) return false;
else if(BankRob > 0) MessagePlayer(""+rpmsg+"-> The bank can be robbed after [#ffffff]"+BankRob+""+rpmsg+" seconds.",player);
else {
    local plr = FindPlayer(stats[player.ID].Team2);   
    if ( Distance( player.Pos.x, player.Pos.y , plr.Pos.x, plr.Pos.y ) > 3 ) ER2("Your team mate must be near to you.", player );
else if(BankRob == 0 && stats[player.ID].InTeam == true)
{
BankBeingRobbed = true;
BankTime = 10;
    NewTimer("BankRobbery",1000,11,player.ID, plr.ID);
}
    }
}

functions
Code: [Select]
function BankRobbery(player, plr)
{
local player = FindPlayer(player);
local plr = FindPlayer(plr);
{
if(BankTime > 0){
BankTime--;
player.PlaySound(370);
plr.PlaySound(370);
player.IsFrozen = true;
player.IsFrozen = true;
}
else {
    local cashh = Random(60000,70000);
local cashhh = Random(60000,70000);
Message(""+rpmsg+"-> [#" + format("%02X%02X%02X", player.Color.r, player.Color.g, player.Color.b) + "]"+ player.Name +" "+rpmsg+"has robbed "+casha+"$"+cashh+""+rpmsg+" from [#ffffff]International Bank.");
Message(""+rpmsg+"-> [#" + format("%02X%02X%02X", plr.Color.r, plr.Color.g, plr.Color.b) + "]"+ plr.Name +" "+rpmsg+"has robbed "+casha+"$"+cashhh+""+rpmsg+" from [#ffffff]International Bank.");
IncCash(player, cashh);
IncCash(plr, cashhh);
stats[player.ID].WantedLevel+=5;
    stats[plr.ID].WantedLevel+=5;
player.WantedLevel+=5;
plr.WantedLevel+=5;
BankRobbed = true;
BankBeingRobbed = false;
BankRob = 300;
player.PlaySound(470);
    plr.PlaySound(470);
player.IsFrozen = false;
player.IsFrozen = false;
}
}
}

function YourDetail(player)
{
local player = FindPlayer(player);
{
if (player && BankBeingRobbed == false && player.Team == 1 && stats[player.ID].InTeam == true && stats[player.ID].InJail == 0 && stats[ player.ID ].Robbing == false && stats[player.ID].Smuggler == false)
{
local plr = FindPlayer(stats[player.ID].Team2);
Announce("Teammate: ~g~"+plr.Name+" ~h~| Distance: ~g~"+Distance( player.Pos.x, player.Pos.y , plr.Pos.x, plr.Pos.y )+"",player,1);
}
else if (player && BankBeingRobbed == true && player.Team == 1 && stats[player.ID].InJail == 0 && stats[ player.ID ].Robbing == false && stats[player.ID].Smuggler == false)
{
local plr = FindPlayer(stats[player.ID].Team2);
Announce("Robbing Bank: ~g~"+BankTime+"",player,1);
Announce("Robbing Bank: ~g~"+BankTime+"",plr,1);
}

}
}

on Player Command

Code: [Select]
else if(cmd == "buybomb")
{
if(stats[player.ID].CanBuy == false) ER2("You must be at ammunation to use this command.",player);
else if(stats[player.ID].Bomb == true) ER2("You already have bomb.",player);
else if(stats[player.ID].InTeam == false) ER2("You must be in team with someone to use this command.",player);
else if (!text && player.Cash < 8000) ER2(""+rpmsg+"You must have "+casha+"$8000 "+rpmsg+"to buy this bomb.",player);
else {
stats[player.ID].Bomb = true;
MessagePlayer(""+rpmsg+"-> You have bought a bomb.",player);
}
return 0;
}
else if(cmd == "usebomb")
{
if(stats[player.ID].Bomb == false) ER2("You don't have bomb.",player);
else if(stats[player.ID].InTeam == false) ER2("You must be in team with someone to use this command.",player);
 if(stats[player.ID].CanUse == false) ER2("You must be inside the banklocker to use this command.",player);
else {
stats[player.ID].Bomb = false;
MessagePlayer(""+rpmsg+"-> You have used the bomb.",player);
MessagePlayer("[#ffffff]-> It will [#ff0000]explode [#ffffff]in next 5 seconds.",player);
NewTimer( "Door", 20000, 1 );
NewTimer( "DoorExplode", 5000, 1, player.ID );
cta <- CreateObject( 380, 1, Vector( -945.589, -343.758, 7.46694), 255 );
}
return 0;
}

else if(cmd == "bankrob")
{
if(BankRob == 0) MessagePlayer(""+rpmsg+"-> The bank can be [#ff0000]robbed "+rpmsg+"now",player);
else {
MessagePlayer(""+rpmsg+"-> The bank can be robbed after [#ffffff]"+BankRob+""+rpmsg+" seconds.",player);
}
return 0;
}

on Time Change
Code: [Select]
if(BankRob > 0){
BankRob--;
}

on Time Change
Code: [Select]
if(BankRob > 0){
BankRob--;
}


on Player Join
Code: [Select]
  NewTimer("YourDetail", 1000, 0, player.ID);

UncleRus

  • Full Member
  • Posts: 170
I LoperkinDead.My brothers scripters TimyrSem,VladSem

Gito Baloch

  • Full Member
  • Posts: 145
Re: Bank sys. (With Teammate)
« Reply #2,  »
Team commands also added.

onPlayerCommand
Code: [Select]
else if ( cmd == "teamup" )
{
    if (stats[player.ID].InTeam == true) ER2("You are already in a team.",player);
    else if( !text ) SYN2( "/" + cmd + " <player name>", player );
 else
    {
        local plr = GetPlayer( GetTok( text, " ", 1) );           
        if ( !plr ) MessagePlayer( "Invalid player!", player );
        else if ( plr.ID == player.ID ) MessagePlayer( "You can't bribe yourself!", player );
        else if ( plr.Team == 0 ) ER2( "You can't ask cop for teaming up.", player );
        else if ( player.Team == 0 ) ER( "You are a cop!.", player );
else if (stats[plr.ID].InTeam == true) ER2("Target player is already in a team.",player);
else
        {
            MessagePlayer("[#" + format("%02X%02X%02X", player.Color.r, player.Color.g, player.Color.b) + "]"+ player.Name +" "+rpmsg+"Wants to team-up with you. (You have 30seconds to /accept or /reject)",plr);
            MessagePlayer(""+rpmsg+"You've sent teamup request to [#" + format("%02X%02X%02X", plr.Color.r, plr.Color.g, plr.Color.b) + "]"+ plr.Name +"",player);
            stats[plr.ID].TeamupFrom = player.ID;
stats[plr.ID].TeamupReq = 1;
stats[player.ID].Team1 = player.Name;
            stats[player.ID].Team2 = plr.Name;
        }
    }
}
 

Code: [Select]
else if ( cmd == "accept" )
{
if( stats[player.ID].TeamupFrom == null) return ER2("You haven't recieved any team-up request yet.",player);
local plr = FindPlayer(stats[player.ID].TeamupFrom);
    if( stats[player.ID].TeamupReq == 0) ER2("You haven't recieved any bribe request yet.",player);
    else
    {
            MessagePlayer(""+rpmsg+"-> accepted [#" + format("%02X%02X%02X", plr.Color.r, plr.Color.g, plr.Color.b) + "]"+plr.Name+""+rpmsg+"'s team-up request.",player);
            MessagePlayer(""+rpmsg+"-> [#" + format("%02X%02X%02X", plr.Color.r, plr.Color.g, plr.Color.b) + "]"+plr.Name+" "+rpmsg+"accepted your team-up request. ",plr);
            stats[player.ID].TeamupFrom = null;
stats[player.ID].Team1 = player.Name;
stats[player.ID].Team2 = plr.Name;
stats[plr.ID].InTeam = true;
stats[player.ID].InTeam = true;
    }
}

Code: [Select]
else if ( cmd == "reject")
{
if( stats[player.ID].TeamupFrom == null) return ER2("You haven't recieved any team-up request yet.",player);
local plr = FindPlayer(stats[player.ID].TeamupFrom);

            MessagePlayer(""+rpmsg+"-> You rejected [#" + format("%02X%02X%02X", plr.Color.r, plr.Color.g, plr.Color.b) + "]"+plr.Name+""+rpmsg+"'s team-up request.",player);
            MessagePlayer(""+rpmsg+"-> [#" + format("%02X%02X%02X", plr.Color.r, plr.Color.g, plr.Color.b) + "]"+plr.Name+" "+rpmsg+"rejected your team-up request. ",plr);
stats[player.ID].TeamupFrom = null;
stats[plr.ID].Team1 = "None";
stats[plr.ID].Team2 = "None";
}

Code: [Select]
else if ( cmd == "tc" || cmd == "teamchat")
{
if(!text) ER2("/"+cmd+" text",player);
else {
local plr = FindPlayer(stats[player.ID].Team2);
MessagePlayer("[#" + format("%02X%02X%02X", player.Color.r, player.Color.g, player.Color.b) + "]"+player.Name+" "+rpmsg+"said: [#ffffff]"+text+"",player);
MessagePlayer("[#" + format("%02X%02X%02X", player.Color.r, player.Color.g, player.Color.b) + "]"+player.Name+" "+rpmsg+"said: [#ffffff]"+text+"",plr);
}
}