Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - Gito Baloch

#1
Script Showroom / Gitto's Clan System.
May 27, 2023, 11:50 AM
Hello everyone! I've been learning about loops, variables, and arrays, and as a practice exercise, I've developed a Clan System. I've uploaded the code on GitHub, and you can access it using the following link: Gitto's ClanSystem

To get started, please follow the instructions provided in the 'essentials.nut' file. By following those instructions, the code should function correctly.

Here's a list of commands available for Clan Members:

  • /createclan: Create a new clan.
  • /accept: Accept an invitation to join a clan.
  • /clanchat (or /cc): Chat with other clan members.
  • /leaveclan: Leave your current clan.
  • /clans: View a list of all clans.
  • /clan: View information about your current clan.
  • /clanmembers: View a list of members in your clan.
  • /ranks: View the ranks available in your clan.
  • /request: Send a request to join a clan.

For Clan Owners, additional commands are available:
  • /invite: Invite a player to join your clan.
  • /kick: Remove a member from your clan.
  • /giveclancash: Give clan cash to a member.
  • /setdefrank: Set the default rank for new clan members.
  • /addrank: Add a new rank to your clan.
  • /delrank: Delete an existing rank from your clan.
  • /setrank: Set a member's rank in the clan.
  • /transferownership: Transfer ownership of the clan to another member.
  • /setting: Adjust various settings for your clan. (teamID, skinID, enable/disable Tags)
  • /acceptrequest: Accept pending join requests.
  • /deleteclan (or /delclan): Delete your clan.


--> If you encounter any bugs or have any questions, feel free to reach out to me on Discord. I'm usually online and active.


Here are some screenshots of the Clan System in action.






#2
Put this at the end of your onPlayerCommand & it should work correctly!


else {
  local Commands = ["register", "login", "changepass", "stats", "givecash"]; // Add your commands here...
if (cmd.len() >= 3) {
local matchFound = false;
local indexCmd = "";

for (local i = 0; i < Commands.len(); i++) {
if (cmd == Commands[i]) {
matchFound = true;
break;
}
indexCmd += cmd.slice(i, i + 1);

if (i == 1) {
break;
}
}

if (!matchFound) {
for (local i = 0; i < Commands.len(); i++) {
local currentCmd = Commands[i].slice(0, 2);

if (indexCmd == currentCmd) {
MessagePlayer("Invalid Command, did you mean '"+Commands[i]+"'", player);
matchFound = true;
break;
}
}

if (!matchFound) {
MessagePlayer("Invalid Command, check /cmds for available list of commands.", player);
}
}
} else {
MessagePlayer("Invalid Command, check /cmds for available list of commands.", player);
}
}

Explanation:This code block checks if the player has entered a valid command if the player enters an incorrect command it suggests the correct command this helps prevent errors and confusion for the player.


P.S: Please let me know if you encounter any bugs or have any suggestions for improvement.
#3
Script Showroom / Crew/Gang sys-
Nov 15, 2022, 12:09 PM
Crew System


Crew Class

[noae][noae][noae][noae]InCrew = false;
Crew = null;
CrewTag = null;
Inviter = null;
InvReq=false;
[/noae][/noae][/noae][/noae]

on Script Load
[noae][noae][noae][noae]cdb <- ConnectSQL("dataBase/crew.db");
QuerySQL(cdb,"CREATE TABLE IF NOT EXISTS Crews( cName VARCHAR(25), cTag VARCHAR(5), cOWNER VARCHAR(25), cKills INTEGER, cDeaths INTEGER, cMoney INTEGER ) ");
QuerySQL(cdb, "CREATE TABLE IF NOT EXISTS Members( cName VARCHAR(25), cTag VARCHAR(5), Player VARCHAR(30) ) ");
[/noae][/noae][/noae][/noae]


function(s)
[noae][noae][noae][noae]function cInfo(player)
{
local q = QuerySQL(cdb, "SELECT * FROM Members WHERE Player = '" + escapeSQLString(player.Name) + "'");
if(q) {
    stats[player.ID].Crew = GetSQLColumnData(q, 0);
    stats[player.ID].CrewTag = GetSQLColumnData(q, 1);
    stats[player.ID].InCrew = true;
}
else {
    stats[player.ID].Crew = null;
    stats[player.ID].CrewTag = null;
    stats[player.ID].InCrew = false;
}
}
function InvReq(playerID,plrID)
{
     local player = FindPlayer(playerID), plr = FindPlayer(plrID);
    if(stats[plr.ID].InvReq){
    stats[plr.ID].InvReq=false;
    MessagePlayer("[#ffff4d]The crew invitation sent by [#ffffff]"+player.Name+" [#ffff4d]has been timed out.",plr);
    MessagePlayer("[#ffff4d]The crew invitation you sent to [#ffffff]"+plr.Name+"[#ffff4d] has been timed out.",player);

}
}
[/noae][/noae][/noae][/noae]

on Player Join
[noae][noae][noae][noae]cInfo(player);[/noae][/noae][/noae][/noae]


on Player Death
[noae][noae][noae][noae]        if (stats[player.ID].InCrew)
{
    local q = QuerySQL(cdb, "SELECT * FROM Crews WHERE cName ='"+stats[player.ID].Crew+"'");
     local deaths = GetSQLColumnData(q,4);
     deaths++;
    QuerySQL( cdb, "UPDATE Crews SET cDeaths='"+deaths+"' WHERE cName LIKE '" + stats[player.ID].Crew + "'" );
}
[/noae][/noae][/noae][/noae]
on Player Kill
[noae][noae][noae][noae]        if (stats[killer.ID].InCrew)
{
    local q = QuerySQL(cdb, "SELECT * FROM Crews WHERE cName ='"+stats[player.ID].Crew+"'");
     local kills = GetSQLColumnData(q,3);
     local money = GetSQLColumnData(q,5);
     kills++;
     money++;
    QuerySQL( cdb, "UPDATE Crews SET cKills='"+Kills+"' WHERE cName LIKE '" + stats[player.ID].Crew + "'" );
    QuerySQL( cdb, "UPDATE Crews SET cMoney='"+money+"' WHERE cName LIKE '" + stats[player.ID].Crew + "'" );
}
[/noae][/noae][/noae][/noae]

on Player Command
[noae][noae][noae][noae]if( cmd == "addcrew" )
{
  if(!text) MessagePlayer("[#ff4d4d]/addc <crew name> <crew tag>",player);
  local texta = GetTok( text, " ",  1);
  local textb = GetTok( text, " ",  2);
    if(textb == null) MessagePlayer("[#ff4d4d]/addc <crew name> <crew tag>",player);
   else if (stats[player.ID].InCrew) return MessagePlayer("[#ff4d4d]You are already in a crew.",player);
    else {
    local q = QuerySQL(cdb, "SELECT * FROM Crews WHERE cName ='"+texta+"' ");
    if(q && texta == GetSQLColumnData(q,0)) return MessagePlayer("[#ff4d4d]There's already a crew with this name, please try another.",player);
    else {
  MessagePlayer("[#ffff4d]Crew Added: Name: [#ff9966]"+texta+" [#ffffff]| [#ffff4d]Tag: [#ff9966]"+textb+" [#ffffff]| [#ffff4d]Owner: [#ff9966]"+player.Name+"",player);
 QuerySQL(cdb,"INSERT INTO Crews(cName, cTag, cOWNER, cKills, cDeaths, cMoney) VALUES('"+texta+"', '"+textb+"', '"+escapeSQLString(player.Name)+"', '"+0+"', '"+0+"', '"+0+"')");
QuerySQL(cdb,"INSERT INTO Members(cName, cTag, Player) VALUES('"+texta+"', '"+textb+"', '"+escapeSQLString(player.Name)+"') ");
  stats[player.ID].Crew = texta;
  stats[player.ID].CrewTag = textb;
  stats[player.ID].InCrew = true;
  }
 }
}
else if (cmd == "joincrew")
{
if (!stats[player.ID].InvReq) return MessagePlayer("[#ff4d4d]You haven't recieved any invitation.",player);
else if (stats[player.ID].InCrew) return MessagePlayer("[#ff4d4d]You are already in a crew.",player);
  else {
local plr = FindPlayer( stats[ player.ID ].Inviter );
QuerySQL(cdb,"INSERT INTO Members(cName, cTag, Player) VALUES('"+stats[plr.ID].Crew+"', '"+stats[plr.ID].CrewTag+"', '"+escapeSQLString(player.Name)+"') ");
cInfo(player);
MessagePlayer("[#ffff4d]You have joined [#ff9966]"+stats[player.ID].Crew+"",player);
MessagePlayer("[#ffffff]"+player.Name+"[#ffff4d] has joined your crew",plr);
stats[player.ID].InvReq=false;
  }
}

else if (cmd == "cc" || cmd == "crewchat")
{
if (!text) MessagePlayer("/"+cmd+" text",player);
    else if (!stats[player.ID].InCrew) return MessagePlayer("[#ff4d4d]You are not in any crew.",player);
else {
     for (local i=0;i<GetMaxPlayers();i++) {
    local plr = FindPlayer(i);
    if(stats[player.ID].Crew == stats[i].Crew) {
    MessagePlayer("[#ffff4d]"+player.Name+": [#ff9966]"+text+"",plr);
}
}
}
}
else if (cmd == "crew"){
    if(stats[player.ID].InCrew==false)return MessagePlayer("[#ff4d4d]You are not in any crew.",player);
    else {
    local q = QuerySQL(cdb, "SELECT * FROM Crews WHERE cName = '"+stats[player.ID].Crew+"' ");
    if(q){
        local a = GetSQLColumnData(q,0);
        local b = GetSQLColumnData(q,1);
        local c = GetSQLColumnData(q,5);
        local d = GetSQLColumnData(q,3);
        local e = GetSQLColumnData(q,4);
        local f = GetSQLColumnData(q,2);
        MessagePlayer("[#ffff4d]Crew: [#ff9966]"+a+" ["+b+"] [#ffff4d]Money: [#ff9966]$"+c+" [#ffffff]| [#ffff4d]Kills: [#ff9966]"+d+" [#ffff4d]Deaths: [#ff9966]"+e+"",player);
        MessagePlayer("[#ffff4d]Crew Owned by [#ff9966]"+f+"",player);
    }
  }
}
else if (cmd == "invite")
{
  if (!text) MessagePlayer("[#ff4d4d]/invite player",player);
  else if (!stats[player.ID].InCrew) return MessagePlayer("[#ff4d4d]You aren't in any crew.",player);
  else {
  local plr = FindPlayer(text);
if (!plr) MessagePlayer("Unknown player",player);
  else if (stats[plr.ID].InCrew) return MessagePlayer("[#ff4d4d]Requested player is already in a crew.",player);
  else {
    MessagePlayer("[#ffff4d]You have sent crew invitation to [#ffffff]"+plr.Name+"",player);
    MessagePlayer("[#ffffff]"+player.Name+" [#ffff4d]has asked you to join his crew: [#ff9966]"+stats[player.ID].Crew+"",plr);
    stats[plr.ID].Inviter = player.Name;
    stats[plr.ID].InvReq = true;
    NewTimer( "InvReq", 5000, 1, player.ID,plr.ID);
  }
}
}
else if (cmd == "leavecrew")
{
    if (!stats[player.ID].InCrew) return MessagePlayer("[#ff4d4d]You are not in any crew.",player);
else {
    local q = QuerySQL(cdb,"SELECT * FROM Crews WHERE cOWNER = '"+escapeSQLString(player.Name)+"' ");
        if (q && player.Name == GetSQLColumnData(q,2)) {
    MessagePlayer("[#ff4d4d]You cannot leave the crew because you are the owner.",player);
    }
    else {
            stats[player.ID].InCrew = false;
            stats[player.ID].CrewTag = "null";
            QuerySQL( cdb, "DELETE FROM Members WHERE Player='"+player.Name+"'" );
    MessagePlayer("[#ffff4d]You have left the crew: [#ff9966]"+stats[player.ID].Crew+"",player);
            stats[player.ID].Crew = "null";
    }
}
}

else if (cmd == "crewcmds")
{
    MessagePlayer("[#ff9966]/addcrew | /invite | /joincrew | /leavecrew | /crew | /crewchat(cc)",player);
}
[/noae][/noae][/noae][/noae]

Total commands (6): /addcrew | /invite | /joincrew | /leavecrew | /crew | /crewchat(cc).


#4
Script Showroom / ( Simple ) Account System.
Nov 11, 2022, 01:42 PM
CLASS.
[noae][noae][noae][noae]class PlayerStats
{


Reg = false;
Log = false;
Password = null;

Kills = 0;
Deaths = 0;

Money = 0;
Bank = 0;
Level = 0;

IP = null;
UID = null;
AutoLog = false;
}
[/noae][/noae][/noae][/noae]

onScriptLoad.

[noae][noae][noae][noae]stats <- array(GetMaxPlayers(), null);

db <- ConnectSQL("dataBase.db");
QuerySQL(db, "CREATE TABLE IF NOT EXISTS Account( Name TEXT, IP VARCHAR(15), Pass VARCHAR(255), Level NUMERIC DEFAULT 1, TimeReg VARCHAR(255) )");
QuerySQL(db, "CREATE TABLE IF NOT EXISTS Stats( Name TEXT, Money NUMERIC, Bank NUMERIC, Kills NUMERIC, Deaths NUMERIC ) ");
[/noae][/noae][/noae][/noae]

onPlayerJoin.
[noae][noae][noae][noae]    stats[player.ID] = PlayerStats();
    accInfo(player);
[/noae][/noae][/noae][/noae]


onPlayerPart.
[noae][noae][noae][noae]    if(stats[player.ID].Reg) {
     QuerySQL( db, "UPDATE Account SET Level='"+stats[ player.ID ].Level+"'WHERE Name LIKE '" + player.Name + "'" );
     QuerySQL( db, "UPDATE Stats SET Money='"+stats[ player.ID ].Money+"', Bank='"+stats[ player.ID ].Bank+"', Kills='"+stats[ player.ID ].Kills+"', Deaths='"+stats[ player.ID ].Deaths+"' WHERE Name LIKE '" + player.Name + "'" );
     }
[/noae][/noae][/noae][/noae]

accInfo function.
[noae][noae]function accInfo(player)
{
local q = QuerySQL(db, "SELECT * FROM Account WHERE Name = '" + escapeSQLString(player.Name) + "'");
if(q)
{
stats[ player.ID ].IP = GetSQLColumnData(q, 1);
stats[ player.ID ].Password = GetSQLColumnData(q, 2);
stats[ player.ID ].Level = GetSQLColumnData(q, 3);
}
local q = QuerySQL(db, "SELECT * FROM Stats WHERE Name = '" + escapeSQLString(player.Name) + "'");
if(q) {
stats[ player.ID ].Money = GetSQLColumnData(q, 1);
stats[ player.ID ].Bank = GetSQLColumnData(q, 2);
stats[ player.ID ].Kills = GetSQLColumnData(q, 3);
stats[ player.ID ].Deaths = GetSQLColumnData(q, 4);
stats[ player.ID ].Reg = true;
}

 if (player.IP == stats[ player.ID ].IP)
 {
    MessagePlayer("[#ffffff]"+player.Name+" [#1ABC9C]has auto-logged into the server.", player);
    player.Cash = stats[ player.ID ].Money;
    stats[ player.ID ].Log = true;
   }
       if (stats[player.ID].Reg == true && !stats[player.ID].Log)
       {
    stats[ player.ID ].Log = false;
        stats[ player.ID ].AutoLog = false;
       MessagePlayer("[#E74C3C]Your account is not logged-in, please type [#ffffff]/login <password> [#E74C3C]to access the account.",player);
   }
if (stats[player.ID].Reg == false && stats[player.ID].Log == false)
{
MessagePlayer("[#E74C3C]Your account is not registered. please type [#ffffff]/register <password>[#E74C3C] to access the server.",player);
}
}
[/noae][/noae][/noae][/noae]

Commands.
[noae][noae][noae][noae]if (cmd =="register")
{
        if(!text) MessagePlayer("[#1ABC9C]/register <your password>",player);
        else if (stats[player.ID].Reg == true) MessagePlayer("[#E74C3C]Your account is already registered.",player);
        else {
local password = SHA256(text);
        local now = date();
QuerySQL(db,"INSERT INTO Account(Name, IP, Pass, Level, TimeReg) VALUES('"+escapeSQLString(player.Name)+"', '"+player.IP+"', '"+password+"', '"+0+"', '"+now.year+"-"+now.month+"-"+now.day+"' ) ");
        QuerySQL(db,"INSERT INTO Stats(Name, Money, Bank, Kills, Deaths) VALUES('"+escapeSQLString(player.Name)+"','"+0+"','"+0+"','"+0+"', '"+0+"') ");
        {
            stats[player.ID].Reg = true;
            stats[player.ID].Log = true;
            stats[player.ID].Level = 1;
            stats[player.ID].Money = 0;
            stats[player.ID].Bank = 0;
            stats[player.ID].Kills = 0;
            stats[player.ID].Deaths = 0;
            stats[player.ID].AutoLog = true;
            accInfo(player);
Message(""+player.Name+" [#1ABC9C]has registered in the server.");
        }
}
}

else if (cmd == "login")
{
                if(!text) MessagePlayer("[#1ABC9C]/login <your password>",player);
                else if (stats[player.ID].Reg == false) MessagePlayer("[#E74C3C]Your account is not registered.",player);
                else if (stats[player.ID].Log == true) MessagePlayer("[#E74C3C]Your account is already logged-in.",player);
else {
local q = QuerySQL(db, "SELECT * FROM Account WHERE Name = '" + escapeSQLString(player.Name) + "'");
    if (q)
    {
        if ( SHA256(text) !=  GetSQLColumnData(q, 2)) MessagePlayer( "The password you entered is invalid.", player );
        else {
            stats[player.ID].Log = true;
Message(""+player.Name+" [#1ABC9C]has logged-in to the server.");
}
    }
    }
    }
 else if (cmd == "stats")
 {
        if (stats[player.ID].Reg == false) MessagePlayer("[#E74C3C]Your account is not registered.",player);
        else if (stats[player.ID].Reg == true && stats[player.ID].Log == false) MessagePlayer("[#E74C3C]Your account is not logged-in.",player);
                else {
MessagePlayer("[#1ABC9C]Kills: "+stats[player.ID].Kills+" | Deaths: "+stats[player.ID].Deaths+" | Money: $"+stats[player.ID].Money+" | Bank: $"+stats[player.ID].Bank+" | Level: "+stats[player.ID].Level+" ",player);
}
 }

 else if (cmd == "changepass")
 {
                if(!text) MessagePlayer("[#1ABC9C]/changepass <new password>",player);
                else if (stats[player.ID].Reg == false) MessagePlayer("[#E74C3C]Your account is not registered.",player);
                else if (stats[player.ID].Reg == true && stats[player.ID].Log == false) MessagePlayer("[#E74C3C]Your account is not logged-in.",player);
                else {
          local password = SHA256(text);
 QuerySQL(db, "UPDATE Account SET Pass = '" + password + "' WHERE Name = '" + escapeSQLString(player.Name) + "'");
          MessagePlayer("[#1ABC9C]Your password has been changed to: [#ffffff]"+text+"[#1ABC9C] (DO NOT FORGET IT)",player);
                }
 }
[/noae][/noae][/noae][/noae]
Commands - (4): /register | /login | /changepass | /stats

onPlayerDeath.
[noae][noae][noae][noae]        stats[player.ID].Deaths++;
[/noae][/noae][/noae][/noae]

onPlayerKill.
[noae][noae][noae][noae]    stats[player.ID].Deaths++;
    stats[killer.ID].Kills++;
[/noae][/noae][/noae][/noae]

onPlayerRequestSpawn.
[noae][noae][noae][noae] if(!stats[player.ID].Reg) { MessagePlayer([#E74C3C]Your account is not registered. please type [#ffffff]/register <password>[#E74C3C] to access the server.",player); return 0; }
     if(stats[player.ID].Reg && stats[player.ID].Log == false) {  MessagePlayer("[#E74C3C]Your account is not logged-in, please type [#ffffff]/login <password> [#E74C3C]to access the account.",player); return 0; }
[/noae][/noae][/noae][/noae]

Hello guys so it's me again ;D first time trying to make my own account system it might have alot of bugs if you encounter any so please let me know. The script is tested btw.


#5
Servers / Deathmatch Smashing ZonE.
Jul 08, 2022, 06:34 AM


Hello lads! Presenting you DeathMatch Smashing ZonE lead by Gitto and scripted by Atom, OreoT and Gitto.

The server game mode is based on normal death matching. There are many minigames which you can play while you get bored like WaterFight, GunGame, Parkour and TDM(like in PUBG)

There are many ways to earn dtc (dtc is our currency name "DeathMatch Coin")

If you face any issue you can contact us at our discord server, here's the invite link:  https://discord.gg/ctrpcbmWeJ

We do not have any forum and we have no intent in making one so everything will be on discord.

Server IP: 51.178.65.136-8282

Thanks for reading!
#6
Script Showroom / Bank sys. (With Teammate)
Feb 01, 2022, 03:57 PM
Old Version


Before PlayerCLass
const rpmsg = "[#FCFB92]";

on Player Class
TeamupFrom = null;
 TeamupReq = 0;
 Team1 = "None";
 Team2 = "None";
 InTeam = false;
 CanBuy = false;
 CanUse = false;
 Bomb = false;

on Script Load
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
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
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

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
if(BankRob > 0){
BankRob--;
}

on Time Change
if(BankRob > 0){
BankRob--;
}


on Player Join
  NewTimer("YourDetail", 1000, 0, player.ID);
#7
Content Type: Skin
Original Author: MR SK.
Source Link: https://www.gtainside.com/en/vicecity/skins/63481-the-undertaker/download/ - https://www.gtainside.com/en/vicecity/skins/106867-brock-lesnar/download/
Modifications: Just created the XML file.
Modified By: GitoBaloch
Authorized By Original Author?: Noe.

Screenshot:

Download Link: https://www.mediafire.com/file/2voawqynxiovmbw/z202_UnderTaker.7z/file
                                                           https://www.mediafire.com/file/4snug8fwrkw6rxq/z204_BrockLesnar.7z/file
                                                           


#8
Skin Showroom / Alan Walker Skin
Jul 26, 2021, 05:34 PM
Content Type: Skin
Original Author: MR SK.
Source Link: https://www.gtainside.com/en/vicecity/skins/163413-alan-walker-skin-new-version/
Modifications: Just created the XML file.
Modified By: GitoBaloch
Authorized By Original Author?: Noe.
Screenshot:
Download Link: https://www.mediafire.com/file/elz4zkwqmuckk80/z220_alanwalker.7z/file
#9
Skin Showroom / HD Tommy Vercetti - 3 skins.
Jul 26, 2021, 08:34 AM
Content Type: Skin
Original Author: lunchxbles, mrx16, ElChango.
Source Link: https://www.gtainside.com/en/vicecity/skins/133661-tommy-vercetti-hd/
Modifications: Just created the XML files.
Modified By: GitoBaloch
Authorized By Original Author?: Noe.
Screenshot:
Download Link: https://www.mediafire.com/file/zrnoq8m75ghllpu/skins.rar/file
#10
NOGOTO SYSTEM BY GITO

Class

Class PlayerStats{
nogoto = false;
}

Database
function onScriptLoad() {
nogoto <- ConnectSQL("Nogoto.db");
QuerySQL(nogoto, "create table if not exists nogoto ( Name Text ,nogoto TEXT) ");
}

Database Close
function onScriptUnload() {
DisconnectSQL(nogoto);
}

Functions
function Nogoto(player)
{
    local q = QuerySQL(nogoto, "SELECT * FROM nogoto WHERE Name = '" + escapeSQLString(player.Name) + "'");
    if (q)
    {
        stats[ player.ID ].nogoto = GetSQLColumnData( q, 1 );
    }
    else QuerySQL( nogoto, "INSERT INTO nogoto ( Name, nogoto ) VALUES ( '" + escapeSQLString(player.Name) + "', ' false ' )" );
}

function Nogotodb(player)
{
    QuerySQL( nogoto, "UPDATE nogoto SET nogoto='"+ stats[ player.ID ].nogoto +"' WHERE Name = '"+player.Name+"'");
}


PlayerJoin
function onPlayerJoin(player){
Nogoto(player);
}

PlayerPart
function onPlayerPart(player); {
Nogotodb(player);
}

PlayerCommand
function onPlayerCommand(player, cmd, text){
else if(cmd == "nogoto")
{
if(!text) MessagePlayer("[#ff0000]Error: [#ffffff]/" + cmd + " <on/off>", player);
else
{
if(text == "on" || text == "1" || text == "set" || text == "true")
{
                local q = QuerySQL(nogoto, "SELECT * FROM nogoto WHERE Name = '" + player.Name + "'");
            if (stats[player.ID].nogoto == true) MessagePlayer("[#ff0000]Error: [#ffffff]Nogoto is already on!",player);
            else if( q && GetSQLColumnData(q, 1) == "true" ) MessagePlayer("[#ff0000]Error: [#ffffff]Nogoto is already on!",player);
else {
stats[player.ID].nogoto = true;
MessagePlayer("[#ffa447]Nogoto has been turned on, Now no one will be able to teleport to you.",player);
QuerySQL( nogoto, "UPDATE nogoto SET nogoto='"+ stats[ player.ID ].nogoto +"' WHERE Name = '"+player.Name+"'");
        }
        }
if(text == "off" || text == "0" || text == "del" || text == "false")
{
            if (stats[player.ID].nogoto == false) MessagePlayer("[#ff0000]Error: [#ffffff]Nogoto is already off!",player);
else {
stats[player.ID].nogoto = false;
MessagePlayer("[#ffa447]Nogoto has been turned off, Everyone will be able to teleport to you.",player);
     QuerySQL( nogoto, "UPDATE nogoto SET nogoto='"+ stats[ player.ID ].nogoto +"' WHERE Name = '"+player.Name+"'");
}
    }
}
return 0;
}
}



Goto Line
Put this on goto command
        local q = QuerySQL(nogoto, "SELECT * FROM nogoto WHERE Name = '" + plr.Name + "'");
    if( q && GetSQLColumnData(q, 1) == "true" ) MessagePlayer("[#ff0000]Error: [#ffffff]Target player has his nogoto enabled!",player);
        else if (stats[plr.ID].nogoto == true) MessagePlayer("[#ff0000]Error: [#ffffff]Target player has his nogoto enabled!",player);


#11
Script Showroom / ( Simple ) Admin System.
Jul 11, 2021, 06:26 AM
----------///---LEVEL SYSTEM---\\\----------

Player Class
class PlayerClass
{
    Level = 0;
}

Creating Database
Admin <- ConnectSQL("Level.db");
QuerySQL(Admin, "create table if not exists Level ( Name Text ,Level NUMERIC DEFAULT 0) ");

Functions
function AdminInfo(player)
{
    local q = QuerySQL(Admin, "SELECT * FROM Level WHERE Name = '" + escapeSQLString(player.Name) + "'");
    if (q)
    {
        stats[ player.ID ].Level = GetSQLColumnData(q, 1);
    }
    else QuerySQL( Admin, "INSERT INTO Level ( Name, Level ) VALUES ( '" + escapeSQLString(player.Name) + "', ' 0 ' )" );
}

function SaveAdmin(player)
{
    QuerySQL( Admin, "UPDATE Level SET Level='"+ stats[ player.ID ].Level +"' WHERE Name = '"+player.Name+"'");
}

OnPlayer Join
AdminInfo();

OnPlayer Part
SaveAdmin();
Set Level Command
   else if ( ( cmd == "setlevel" ) || ( cmd == "setlvl" ) )
{
if ( stats[ player.ID ].Level < 5 ) MessagePlayer("[#ff0000]Error: [#ffffff]You don't have permission to use this command.",player);
else if ( !text ) PrivMessage( player, format( "Error: Use /%s <player> <Level>", cmd ) );
else
{
local txt = split( text, " " );
if ( txt.len() >= 2 )
{
local plr = FindPlayer( txt[ 0 ] ), lvl = txt[ 1 ];
if ( !plr ) PrivMessage( player, "Error: Unknown player." );
else if ( !IsNum( lvl ) ) ClientMessage( player, "Error: Level must be in numbers...",player, 255, 0, 0 );
else if ( ( lvl.tointeger() < 1 ) || ( lvl.tointeger() > 7 ) ) ClientMessage( "ERROR: Allowed Level amount are between 1 and 7.", player, 255, 0, 0 );
else if ( stats[ plr.ID ].Level == lvl.tointeger() ) PrivMessage( player, format( "Error: %s's Level is %d already.", plr.Name, lvl.tointeger() ) );
else
{
stats[ plr.ID ].Level = lvl.tointeger();
Message( "[#ffffff]"+player.Name+" [#25AAAA]changed the level of[#ffffff] "+plr.Name+"[#25AAAA] to [#ffffff]["+lvl.tointeger()+"].");
                }
}
else PrivMessage( player, format( "Error: Usage /%s <player> <Level>", cmd ) );
}
return 0;
}

Example command
else if ( cmd=="assrocket")
{
if(stats[player.ID].Level < 2) return MessagePlayer("[#ff0000]Error: [#ffffff]You don't have permission to use this command.",player);
else
{
if (!text) MessagePlayer("[#51FF06]Usage :[#FFFFFF] /assrocket <Name/ID>",player);
else
{
local plr = FindPlayer(text);
plr.Pos = player.Pos;
Message("[#ffffff]"+player.Name+ "[#25AAAA] has bombed [#ffffff]" +plr.Name);
CreateExplosion( 1, 1,plr.Pos.x -3 , plr.Pos.y -5, plr.Pos.z, -1, true );
CreateExplosion( 1, 2,plr.Pos.x -3, plr.Pos.y -5, plr.Pos.z, -1, true );
CreateExplosion( 1, 3,plr.Pos.x -3, plr.Pos.y -5, plr.Pos.z, -1, true );
CreateExplosion( 1, 4,plr.Pos.x -3 , plr.Pos.y -5, plr.Pos.z, -1, true );
}
}
return 0;
}
#13
CTB X SCAM 1992 | MONTAGE | CAPTURE THE BASE | VICE CITY MULTI:PLAYER

https://www.youtube.com/watch?v=xTmuyq6R4SA

LIKE <3
#15
Support / is there any other vcmp browser?
Feb 09, 2021, 04:29 AM
read title :o
#16
General Discussion / Server Report
Sep 05, 2020, 03:50 AM
All the vcmp players do not enter in these servers: [1- (222.187.224.15:8199)] [2- (222.187.224.15:8198)] [3-(222.187.224.15:8194)]
[4 - (222.187.224.15:8194)] [5- (222.187.224.15:8196)] because when i enter in server my pc doesn't want to boot again and rebooting him self after seeing windows logo and i had to get off the cables and set them so do not enter it.

it's my  reqeust to  vcmp heads to remove the servers from masterlist as fast as you can.

Regards gito :v
#17
Support / bug my server.
Jul 06, 2020, 05:33 AM
https://www.youtube.com/watch?v=yhBkiOnaGho&feature=emb_title

first i thought it was host bug then we shifted the host. still some players facing same issue in new host anyone know about this bug?
please its my humble request you too tell me the fix of this bug. thanks
#18
Hy Scripters.

I want to know that..

this msg Message( "[#a20100]Admin "+player.Name+" set " + plr.Name + "  " + GetWeaponName( GetWeaponID( wep ) ) +". Ammo: " + ammo + ".");
shows to admins only not to players how i do that?
 :-\
#19
Snippet Showroom / Three Arena's.
Apr 10, 2020, 09:31 AM
class PlayerClass
{
 m4 = false;
 shotgun = false;
 stubby = false;
}

FUNCTIONS
function stubby(player)
{
local player = FindPlayer(player);
stubby = true;
m4 = false;
shotgun = false;
player.Disarm();
player.SetWeapon(21,10000);
player.Pos = Vector(-1623.99, -498.612, 50.1828);
MessagePlayer("[#ffffff]"+player.Name+"[#ffcfcc]Has teleported to stubby arena.",player);
}
function shotgun(player)
{
local player = FindPlayer(player);
shotgun = true;
m4 = false;
stubby = false;
player.Disarm();
player.SetWeapon(19,10000);
player.Pos = Vector(-1623.99, -498.612, 50.1828);
MessagePlayer("[#ffffff]"+player.Name+"[#ffcfcc]Has teleported to shotgun arena.",player);
}
function m4(player)
{
local player = FindPlayer(player);
m4 = true;
shotgun = false;
stubby = false;
player.Disarm();
player.SetWeapon(26,10000);
player.Pos = Vector(-1623.99, -498.612, 50.1828);
MessagePlayer("[#ffffff]"+player.Name+"[#ffcfcc]Has teleported to m4 arena.",player);
}
function arena(player)
{
local player = FindPlayer(player);
if ( m4 == true )
{
MessagePlayer("[#ffcccc]You spawned at m4 arena",player);
player.Pos = Vector(-1623.99, -498.612, 50.1828);
player.Disarm();
player.SetWeapon(26,10000);
}
else if ( stubby == true )
{
MessagePlayer("[#ffcccc]You spawned at stubby arena",player);
player.Pos = Vector(-1623.99, -498.612, 50.1828);
player.Disarm();
player.SetWeapon(21,10000);
}
else if ( shotgun == true )
{
MessagePlayer("[#ffcccc]You spawned at shotgun arena",player);
player.Pos = Vector(-1623.99, -498.612, 50.1828);
player.Disarm();
player.SetWeapon(19,10000);
}
}

onPlayerSpawn
NewTimer("arena",500 , 1, player.ID)
onPlayerCommand
else if (cmd == "arena")
{
if (player.IsSpawned == false) MessagePlayer("[#ffff00]You must spawn to use this command!",player);
else {
if (!text) MessagePlayer("[#ffff00]Required /arena [[#ffffff]m4,shotgun,stubby[#ffff00]]",player);
{
if (text =="m4")
{
if ( shotgun == true ) MessagePlayer("[#ff0000]You are in arena type /leave to exit",player);
else if ( stubby == true ) MessagePlayer("[#ff0000]You are in arena type /leave to exit",player);
else {
MessagePlayer("[#ffcffc]Teleporting wait 3 seconds",player);
NewTimer("m4", 3000, 1 ,player.ID);
}
}
if (text =="stubby")
if ( shotgun == true ) MessagePlayer("[#ff0000]You are in arena type /leave to exit",player);
else if ( m4 == true ) MessagePlayer("[#ff0000]You are in arena type /leave to exit",player);
else {
MessagePlayer("[#ffcffc]Teleporting wait 3 seconds",player);
NewTimer("stubby", 3000, 1 ,player.ID);
            }
}
                        if (text =="shotgun")
if ( m4 == true ) MessagePlayer("[#ff0000]You are in arena type /leave to exit",player);
else if ( stubby == true ) MessagePlayer("[#ff0000]You are in arena type /leave to exit",player);
else {
MessagePlayer("[#ffcffc]Teleporting wait 3 seconds",player);
NewTimer("shotgun", 3000, 1 ,player.ID);
 }
 }
}
else if (cmd =="leave")
{
player.World =1;
m4 = false;
stubby = false;
shotgun = false;
MessagePlayer("[#ff0000]You left the arena.",player);
}

IF YOU FIND ANY BUG DON"T TELL ME IM BEGINNER I CAN"T FIX XD
#20
Hello Scripters!
I've make Pack
else if (cmd =="pack1")
  {
  MessagePlayer("[#ff0047]You took [#ffffff]PACK 1!",player);
  player.Disarm();
  player.SetWeapon(21,10000);
  player.SetWeapon(26,10000);
  player.SetWeapon(24,10000);
  player.SetWeapon(17,10000);
  }

when i type /pack1 in server i got weapons, but when i die and spawn i dont get that pack again? how do i do this.. Please help im begginer in scripting.