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

Messages - Sonmez

#16
Source Code
function find(str,string){
  if(string.find(str)!= null){return true;}else{return false;}
}
function FindAndReplace(string,findString,Replace){
  if (find(findString,string)&&findString!=string){ local n=-1;
    do{n++
      if(n+findString.len()<=string.len()){
        if(string.slice(n,n+findString.len())==findString){ local prev=null,next=null;
          if(n==0){prev="";}else{prev=string.slice(0,n)}
          if(n+Replace.len()==string.len()){next=""}else{next=string.slice(n+findString.len(),string.len())}
          string = format("%s%s%s"prev,Replace,next); n=string.len()+1;
          return string;
        }
      }
    }while (n<string.len())
  }else{return string;}
}
#17
Syntax
function onPickupExited( player, pickup )

Example
function onPickupExited( player, pickup )
{
  if ( pickup.Model == 408 )
  {
    MessagePlayer( "You exited from pickup with model 408", player );
  }
}

Source Code
function onScriptLoad()
{
  LastPickup <- array(GetMaxPlayers(),null)
}
function onPlayerJoin( player )
{
  LastPickup[player.ID] = null;
}
function onPickupPickedUp( player, pickup )
{
  LastPickup[player.ID] = pickup;
}
function onPlayerMove( player, lastX, lastY, lastZ, newX, newY, newZ )
{
  if (LastPickup[player.ID] != null)
  {
    local LP = LastPickup[player.ID];
    local DistanceFromLastPickup = DistanceFromPoint( newX, newY, LP.Pos.x, LP.Pos.y).tointeger();
    if (DistanceFromLastPickup > 0.5)
    {
      onPickupExited(player,LP)
      LastPickup[player.ID] = null;
    }
  }
}

function onPickupExited( player,pickup )
{
  MessagePlayer("Wow, new function!. It works...",player);
}
#18

QuoteAn error has Occured the index GetTock Does'nt exist.

Add this functions.

function GetTok(string, separator, n, ...)
{
    local m = vargv.len() > 0 ? vargv[0] : n,
    tokenized = split(string, separator),
    text = "";
    if (n > tokenized.len() || n < 1) return null;
    for (; n <= m; n++)
    {
        text += text == "" ? tokenized[n-1] : separator + tokenized[n-1];
    }
    return text;
}

function NumTok( string, separator )
{
    local tokenized = split(string, separator);
    return tokenized.len();
}
#21
v1.1 update released.
    Now system has:
    • /addcar
    • /removecar
    • /changecol
    • /changepos
    • /mycars
    • /buycar
    • /sellcar
    • /getcar
    • /lockcar
    • /unlockcar
#22
Quote from: kalee_khan on Nov 17, 2020, 01:19 PM
Quote from: Sonmez on Nov 16, 2020, 02:48 PM
Quote from: Inferno on Nov 16, 2020, 02:16 PM
Quote from: Sonmez on Nov 16, 2020, 02:04 PMYou can use this.
if (cmd=="changecol")
{
    if( !text ){MessagePlayer("/changecol <Veh/ID> <Col1/ID> <Col2/ID>",player); return false;}
    if (!GetTok( text, " ", 1 )||!GetTok( text, " ", 2 )||!GetTok( text, " ", 3 )||GetTok( text, " ", 4 )){MessagePlayer("/changecol <Veh/ID> <Col1/ID> <Col2/ID>",player); return false;}
     if (!IsNum(GetTok( text, " ", 1 ))||!IsNum(GetTok( text, " ", 2 ))||!IsNum(GetTok( text, " ", 3 ))){MessagePlayer("/changecol <Veh/ID> <Col1/ID> <Col2/ID>",player); return false;}
    local vehicle = FindVehicle(GetTok( text, " ", 1 ).tointeger())
    if (!vehicle){MessagePlayer("[#95fcff]WARN >[#E0E0E0]Wrong Vehicle ID",player); return false;}
    local col1 = GetTok( text, " ", 2 ).tointeger();
    local col2 = GetTok( text, " ", 3 ).tointeger();
    QuerySQL( Vehicles,"UPDATE Creation SET Col1='"+col1+"' WHERE ID='"+vehicle.ID+"'");
    QuerySQL( Vehicles,"UPDATE Creation SET Col2='"+col2+"' WHERE ID='"+vehicle.ID+"'");
    Message("[#990000]#[#E0E0E0]SERVER[#990000]# [#E0E0E0]ADMIN ["+player.Name+"] changed the car color, ID: "+VehicleID+" Color-1: "+ColID1+" Color-2: "+ColID2);
}


It will still throw the same console error when cmd is typed as /cmd carID and not whole cmd.
And it wont show ingame syntax for half cmd.

Also you can use :

if(!IsNum(ColID1)) return MessagePlayer(" Colour ID must be integer ",player); Instead of
if(!IsNum(ColID1)) {
MessagePlayer(" Write Integer ",player);
return false;
}



This line already solves the problem mentioned:
if (!IsNum(GetTok( text, " ", 1 ))||!IsNum(GetTok( text, " ", 2 ))||!IsNum(GetTok( text, " ", 3 ))){MessagePlayer("/changecol <Veh/ID> <Col1/ID> <Col2/ID>",player); return false;}

Im I oly need to add the "Return"?

Just try this:
if (cmd=="changecol")
{
    if( !text ){MessagePlayer("/changecol <Veh/ID> <Col1/ID> <Col2/ID>",player); return false;}
    if (!GetTok( text, " ", 1 )||!GetTok( text, " ", 2 )||!GetTok( text, " ", 3 )||GetTok( text, " ", 4 )){MessagePlayer("/changecol <Veh/ID> <Col1/ID> <Col2/ID>",player); return false;}
     if (!IsNum(GetTok( text, " ", 1 ))||!IsNum(GetTok( text, " ", 2 ))||!IsNum(GetTok( text, " ", 3 ))){MessagePlayer("/changecol <Veh/ID> <Col1/ID> <Col2/ID>",player); return false;}
    local vehicle = FindVehicle(GetTok( text, " ", 1 ).tointeger())
    if (!vehicle){MessagePlayer("[#95fcff]WARN >[#E0E0E0]Wrong Vehicle ID",player); return false;}
    local col1 = GetTok( text, " ", 2 ).tointeger();
    local col2 = GetTok( text, " ", 3 ).tointeger();
    QuerySQL( Vehicles,"UPDATE Creation SET Col1='"+col1+"' WHERE ID='"+vehicle.ID+"'");
    QuerySQL( Vehicles,"UPDATE Creation SET Col2='"+col2+"' WHERE ID='"+vehicle.ID+"'");
    Message("[#990000]#[#E0E0E0]SERVER[#990000]# [#E0E0E0]ADMIN ["+player.Name+"] changed the car color, ID: "+VehicleID+" Color-1: "+ColID1+" Color-2: "+ColID2);
}
#23
Quote from: ivedik on Nov 17, 2020, 12:20 PM/unlockcar has a bug, i can unlock cars even though I don't own,

Thank you for feedback. I solved the problem.
#24
Quote from: Inferno on Nov 16, 2020, 05:31 PMI remember that /removecar in KrlOzz Vehicle System was bugged as it bugged vehicle db after restarting hence messing up car models ids and owners.

Did you test this one if it doesn't bug the db like that?

There is no such error in my system. I solved all problems...
#25
Quote from: ivedik on Nov 16, 2020, 02:18 PMIn addition, you should add /removecar code for removing wrong cars.
Updated. Now removing the car is completely hassle free
#26
Quote from: Inferno on Nov 16, 2020, 02:16 PM
Quote from: Sonmez on Nov 16, 2020, 02:04 PMYou can use this.
if (cmd=="changecol")
{
    if( !text ){MessagePlayer("/changecol <Veh/ID> <Col1/ID> <Col2/ID>",player); return false;}
    if (!GetTok( text, " ", 1 )||!GetTok( text, " ", 2 )||!GetTok( text, " ", 3 )||GetTok( text, " ", 4 )){MessagePlayer("/changecol <Veh/ID> <Col1/ID> <Col2/ID>",player); return false;}
     if (!IsNum(GetTok( text, " ", 1 ))||!IsNum(GetTok( text, " ", 2 ))||!IsNum(GetTok( text, " ", 3 ))){MessagePlayer("/changecol <Veh/ID> <Col1/ID> <Col2/ID>",player); return false;}
    local vehicle = FindVehicle(GetTok( text, " ", 1 ).tointeger())
    if (!vehicle){MessagePlayer("[#95fcff]WARN >[#E0E0E0]Wrong Vehicle ID",player); return false;}
    local col1 = GetTok( text, " ", 2 ).tointeger();
    local col2 = GetTok( text, " ", 3 ).tointeger();
    QuerySQL( Vehicles,"UPDATE Creation SET Col1='"+col1+"' WHERE ID='"+vehicle.ID+"'");
    QuerySQL( Vehicles,"UPDATE Creation SET Col2='"+col2+"' WHERE ID='"+vehicle.ID+"'");
    Message("[#990000]#[#E0E0E0]SERVER[#990000]# [#E0E0E0]ADMIN ["+player.Name+"] changed the car color, ID: "+VehicleID+" Color-1: "+ColID1+" Color-2: "+ColID2);
}


It will still throw the same console error when cmd is typed as /cmd carID and not whole cmd.
And it wont show ingame syntax for half cmd.

Also you can use :

if(!IsNum(ColID1)) return MessagePlayer(" Colour ID must be integer ",player); Instead of
if(!IsNum(ColID1)) {
MessagePlayer(" Write Integer ",player);
return false;
}



This line already solves the problem mentioned:
if (!IsNum(GetTok( text, " ", 1 ))||!IsNum(GetTok( text, " ", 2 ))||!IsNum(GetTok( text, " ", 3 ))){MessagePlayer("/changecol <Veh/ID> <Col1/ID> <Col2/ID>",player); return false;}

#27
You can use this.
if (cmd=="changecol")
{
    if( !text ){MessagePlayer("/changecol <Veh/ID> <Col1/ID> <Col2/ID>",player); return false;}
    if (!GetTok( text, " ", 1 )||!GetTok( text, " ", 2 )||!GetTok( text, " ", 3 )||GetTok( text, " ", 4 )){MessagePlayer("/changecol <Veh/ID> <Col1/ID> <Col2/ID>",player); return false;}
     if (!IsNum(GetTok( text, " ", 1 ))||!IsNum(GetTok( text, " ", 2 ))||!IsNum(GetTok( text, " ", 3 ))){MessagePlayer("/changecol <Veh/ID> <Col1/ID> <Col2/ID>",player); return false;}
    local vehicle = FindVehicle(GetTok( text, " ", 1 ).tointeger())
    if (!vehicle){MessagePlayer("[#95fcff]WARN >[#E0E0E0]Wrong Vehicle ID",player); return false;}
    local col1 = GetTok( text, " ", 2 ).tointeger();
    local col2 = GetTok( text, " ", 3 ).tointeger();
    QuerySQL( Vehicles,"UPDATE Creation SET Col1='"+col1+"' WHERE ID='"+vehicle.ID+"'");
    QuerySQL( Vehicles,"UPDATE Creation SET Col2='"+col2+"' WHERE ID='"+vehicle.ID+"'");
    Message("[#990000]#[#E0E0E0]SERVER[#990000]# [#E0E0E0]ADMIN ["+player.Name+"] changed the car color, ID: "+VehicleID+" Color-1: "+ColID1+" Color-2: "+ColID2);
}
#28
Code updated!
#29
Source Code
[noae]function onScriptLoad(){
  VehicleDB <- ConnectSQL( "VehicleDB.db" );
  QuerySQL(VehicleDB, "create table if not exists Vehicles (List NUMERIC DEFAULT 0, ID NUMERIC DEFAULT 0,"
                     +"Model NUMERIC DEFAULT 0, World NUMERIC DEFAULT 0,"
                     +"PosX TEXT,PosY TEXT, PosZ TEXT,"
                     +"Col1 TEXT, Col2 TEXT, Angle TEXT,"
                     +"Locked BOOLEAN DEFAULT true,Owner TEXT,Price NUMERIC DEFAULT 0)");
  LoadVehicles();
}
function ReloadVehicles(){
  for(local i = 0; i<500; i++){
    local r = QuerySQL(VehicleDB, "SELECT * FROM Vehicles WHERE List = '" + i + "'");
    if (r){
      local veh = FindVehicle(q(r,1).tointeger()); if (veh){veh.Delete();} if(i==500){}
    }
  }LoadVehicles();
}
function LoadVehicles(){
  for(local i = 0; i<500; i++){local r = QuerySQL(VehicleDB, "SELECT * FROM Vehicles WHERE List = '" + i + "'");
    if (r){
      local Model = q(r,2).tointeger(), PosX = q(r,4).tofloat(), PosY = q(r,5).tofloat(), PosZ = q(r,6).tofloat(), Col1 = q(r,7).tointeger(), Col2 = q(r,8).tointeger(), Angle = q(r,9).tofloat();
      CreateVehicle( Model, 1, Vector(PosX,PosY,PosZ), Angle, Col1 ,Col2 )
      local newID = GetVehicleCount();
      QuerySQL( VehicleDB, "UPDATE Vehicles SET ID='"+newID+"' WHERE List LIKE '" + i + "'" );
    }
  }
}function q(r,n){return GetSQLColumnData(r,n);}

function onPlayerEnteringVehicle( player, vehicle, door ){
  local r = QuerySQL(VehicleDB, "SELECT * FROM Vehicles WHERE ID = '" + vehicle.ID + "'")
  if (r){local Locked = q(r,10).tostring();
    if (Locked == "true"){
      local Owner = q(r,11).tostring();
      local Price = q(r,12).tointeger();
      if(Owner != "null"){MessagePlayer("This car locked by "+Owner,player);}
      if(Owner == "null"){MessagePlayer("You haven't got keys. Use /buycar "+vehicle.ID,player);}
      return false;
    }else{return true;}
  }else{return true;}
}
function onPlayerEnterVehicle( player, vehicle, door ){
  local r = QuerySQL(VehicleDB, "SELECT * FROM Vehicles WHERE ID = '" + vehicle.ID + "'")
  if (r){ local Owner=q(r,11).tostring(), Price=q(r,12).tointeger();
    if (Owner != "null"){MessagePlayer("This car is owned by "+Owner+" for "+Price+"$",player);}
    if (Owner == "null"){MessagePlayer("This car is for sale "+Price+"$",player);}
  }
}

function onPlayerCommand( player, cmd, text ){
  if (cmd == "buycar"){
    if (!text){MessagePlayer("/buycar <id>",player); return false;}
    if (!IsNum(text)){MessagePlayer("/buycar <id>",player); return false;}
    local vehicle = FindVehicle(text.tointeger())
    if (vehicle){
      local r = QuerySQL(VehicleDB, "SELECT * FROM Vehicles WHERE ID = '" + vehicle.ID + "'");
      if (r){
        local Model =q(r,2).tointeger(),Owner = q(r,11).tostring(),Price = q(r,12).tointeger();
        if (Owner != "null"){MessagePlayer("This car is owned by "+Owner+" for "+Price+"$", player); return false;}
        if (player.Cash < Price){MessagePlayer("Your money isn't enough for buy this car", player); return false;}
        QuerySQL( VehicleDB, "UPDATE Vehicles SET Owner='"+player.Name+"' WHERE ID LIKE '" + vehicle.ID + "'" );
        player.Cash -= Price;
        MessagePlayer("You bought "+GetVehicleNameFromModel( Model )+" with "+vehicle.ID+" ID", player);
      }else{MessagePlayer("This car isn't available try another vehicle", player);return false;}
    }
  }
  else if (cmd == "sellcar"){
    if (!text){MessagePlayer("/buycar <id>",player); return false;}
    if (!IsNum(text)){MessagePlayer("/buycar <id>",player); return false;}
    local vehicle = FindVehicle(text.tointeger())
    if (vehicle){
      local r = QuerySQL(VehicleDB, "SELECT * FROM Vehicles WHERE ID = '" + vehicle.ID + "'");
      if (r){
        local Owner = q(r,11).tostring(),Price = q(r,12).tointeger();
        if (Owner != "null" && Owner != player.Name){MessagePlayer("This car is owned by "+Owner+" for "+Price+"$", player); return false;}
        if (Owner == "null"){MessagePlayer("This car isn't yours", player); return false;}
        QuerySQL( VehicleDB, "UPDATE Vehicles SET Owner='"+"null"+"' WHERE ID LIKE '" + vehicle.ID + "'" );
        MessagePlayer("You sold your vehicle for "+Price*0.5+"$", player);
        player.Cash += Price*0.5;
      }else{MessagePlayer("This car isn't available try another vehicle", player);return false;}
    }
  }
  else if (cmd == "getcar"){
    if (!text){MessagePlayer("/getcar <id>",player); return false;}
    if (!IsNum(text)){MessagePlayer("/getcar <id>",player); return false;}
    local vehicle = FindVehicle(text.tointeger())
    if (vehicle){
      local r = QuerySQL(VehicleDB, "SELECT * FROM Vehicles WHERE ID = '" + vehicle.ID + "'");
      if (r){
        local Owner = q(r,11).tostring();
        local Price = q(r,12).tointeger();
        if (Owner != "null" && Owner != player.Name||Owner == "null"){MessagePlayer("This car isn't yours", player); return false;}
        vehicle.Pos = Vector(player.Pos.x+2, player.Pos.y, player.Pos.z);
        MessagePlayer("You teleported your vehicle to yourself", player);
      }else{MessagePlayer("This car isn't available try another vehicle", player);return false;}
    }
  }
  else if (cmd == "lockcar"){
    if (!text){MessagePlayer("/lockcar <id>",player); return false;}
    if (!IsNum(text)){MessagePlayer("/lockcar <id>",player); return false;}
    local vehicle = FindVehicle(text.tointeger())
    if (vehicle){
      local r = QuerySQL(VehicleDB, "SELECT * FROM Vehicles WHERE ID = '" + vehicle.ID + "'");
        if (r){local Owner = q(r,11).tostring(),Price = q(r,12).tointeger();
          if (Owner != "null" && Owner != player.Name||Owner == "null"){MessagePlayer("This car isn't yours", player); return false;}
          QuerySQL( VehicleDB, "UPDATE Vehicles SET Locked='"+"true"+"' WHERE ID LIKE '" + vehicle.ID + "'" );
          MessagePlayer("You locked your car", player);
        }else{
          MessagePlayer("This car isn't available try another vehicle", player);
          return false;
        }
    }
  }
  else if (cmd == "unlockcar"){
    if (!text){MessagePlayer("/unlockcar <id>",player); return false;}
    if (!IsNum(text)){MessagePlayer("/unlockcar <id>",player); return false;}
    local vehicle = FindVehicle(text.tointeger())
    if (vehicle){
      local r = QuerySQL(VehicleDB, "SELECT * FROM Vehicles WHERE ID = '" + vehicle.ID + "'");
      if (r){
        local Owner = q(r,11).tostring(), Price = q(r,12).tointeger();
        if (Owner != "null" && Owner != player.Name||Owner == "null"){MessagePlayer("This car isn't yours", player); return false;}
        QuerySQL( VehicleDB, "UPDATE Vehicles SET Locked='"+"false"+"' WHERE ID LIKE '" + vehicle.ID + "'" );
        MessagePlayer("You unlocked your car", player);
      }else{MessagePlayer("This car isn't available try another vehicle", player);return false;}
    }
  }
  else if (cmd == "mycars"){
    local cars = "";
    for(local i = 0; i<500; i++){local r = QuerySQL(VehicleDB, "SELECT * FROM Vehicles WHERE List = '" + i + "'");
      if (r){
        local Owner = q(r,11).tostring(),ID = q(r,1).tointeger(),Model = q(r,2).tointeger();
        if (Owner == player.Name){
          if (cars !=""){
            cars = cars+", "+GetVehicleNameFromModel( Model )+"("+ID+")";
          }
          if (cars == ""){
            cars = ""+GetVehicleNameFromModel( Model )+"("+ID+")";
          }
        }
      }
    }
    local t = QuerySQL(VehicleDB, "SELECT * FROM Vehicles WHERE Owner = '" + player.Name + "'");
    if (t){MessagePlayer("Your cars: " +cars, player);}
    else{MessagePlayer("You haven't got any car", player);return false;}
  }
  else{
    if (stats[player.ID].Level==200){onPlayerACommand(player,cmd,text);}
  }
}
function onPlayerACommand( player, cmd, text ){
  if (cmd == "addcar"){
    if (!text){MessagePlayer("/addcar <world> <model> <col1> <col2> <price>",player); return false;}
    if (!GetTok( text, " ", 1 )||!GetTok( text, " ", 2 )||!GetTok( text, " ", 3 )||!GetTok( text, " ", 4 )||!GetTok( text, " ", 5 )||GetTok( text, " ", 6 )){MessagePlayer("/addcar <world> <model> <col1> <col2> <price>",player); return false;}
    if (!IsNum(GetTok( text, " ", 1 ))||!IsNum(GetTok( text, " ", 2 ))||!IsNum(GetTok( text, " ", 3 ))||!(IsNum(GetTok( text, " ", 4 )))||!IsNum(GetTok( text, " ", 5 ))){MessagePlayer("/addcar <world> <model> <col1> <col2> <price>",player); return false;}
    local lastlist = 0,world = GetTok( text, " ", 1 ).tointeger(),model = GetTok( text, " ", 2 ).tointeger(),col1 = GetTok( text, " ", 3 ).tointeger(),col2 = GetTok( text, " ", 4 ).tointeger(),price = GetTok( text, " ", 5 ).tointeger(),
    veh = CreateVehicle( model, world, Vector(player.Pos.x,player.Pos.y,player.Pos.z), player.Angle, col1 ,col2 ),
    vehID= GetVehicleCount();
    for(local i = 0; i<500; i++){local r = QuerySQL(VehicleDB, "SELECT * FROM Vehicles WHERE List = '" + i + "'");
      if (r){lastlist++;}
    }
    QuerySQL(VehicleDB, "INSERT INTO Vehicles ( List, ID, Model , World, PosX, PosY, PosZ, Col1, Col2, Angle, Locked,Owner,Price) VALUES ( '" + lastlist + "','" + vehID + "','" + model + "','" + world + "','" + player.Pos.x + "','" + player.Pos.y  + "','" + player.Pos.z  + "','" + col1 + "','" + col2 + "','" + player.Angle + "','" + true + "','" + "null" + "','" + price + "' )");
  }
  if (cmd == "removecar"){
    if (!text){MessagePlayer("/removecar <vehicleID>",player); return false;}
    if (!GetTok( text, " ", 1 )||!IsNum(GetTok( text, " ", 1 )) || GetTok( text, " ", 2 )){MessagePlayer("/removecar <vehicleID>",player); return false;}
    local vehicle = FindVehicle(GetTok( text, " ", 1 ).tointeger());
    if (!vehicle){MessagePlayer("This car isn't available try another vehicle", player); return false;}
    local lastlist = 0,List = 0,i = 0;
    for(i = 0; i<500; i++){local a = QuerySQL(VehicleDB, "SELECT * FROM Vehicles WHERE List = '" + i + "'");
      if (a){lastlist++;}
    }
    local b = QuerySQL(VehicleDB, "SELECT * FROM Vehicles WHERE ID = '" + vehicle.ID + "'");
    if (b){List = GetSQLColumnData(b, 0).tointeger();
      QuerySQL( VehicleDB, "DELETE FROM Vehicles WHERE ID='"+vehicle.ID+"'" );
      vehicle.Delete();
    }
    for(i = List+1; i<lastlist; i++){local c = QuerySQL(VehicleDB, "SELECT * FROM Vehicles WHERE List = '" + i + "'");
      if (c){
        local newList = GetSQLColumnData(c, 0).tointeger()-1;
        QuerySQL( VehicleDB, "UPDATE Vehicles SET List='"+newList+"' WHERE List LIKE '" + i + "'" );
      }ReloadVehicles();
    }
  }
  if (cmd == "changecol")
  {
    if (!text){MessagePlayer("/changecol <vehicle id> <col1 id> <col2 id>",player); return false;}
    if(!GetTok( text, " ", 1 )||!GetTok( text, " ", 2 )||!GetTok( text, " ", 3 )||GetTok(text, " ", 4)){MessagePlayer("/changecol <vehicle id> <col1 id> <col2 id>",player); return false;}
    if(!IsNum(GetTok( text, " ", 1 ))||!IsNum(GetTok( text, " ", 2 ))||!IsNum(GetTok( text, " ", 3 ))){MessagePlayer("/changecol <vehicle id> <col1 id> <col2 id>",player); return false;}
    local vehicle = FindVehicle(GetTok( text, " ", 1 ).tointeger())
    local col1 = GetTok( text, " ", 2 ).tointeger(),col2 = GetTok( text, " ", 3 ).tointeger();
    if (vehicle){
      local r = QuerySQL(VehicleDB, "SELECT * FROM Vehicles WHERE ID = '" + vehicle.ID + "'");
      if (r){
        QuerySQL( VehicleDB, "UPDATE Vehicles SET Col1='"+col1+"', Col2 = '"+col2+"' WHERE ID LIKE '" + vehicle.ID + "'" );
        MessagePlayer("Vehicle ID:"+vehicle.ID+"'s color has been changed with col1:"+col1+", col2: "+col2+"", player);
        vehicle.Colour1 = col1
        vehicle.Colour2 = col2
      }else{MessagePlayer("This car isn't available try another vehicle", player);return false;}
    }
  }
  if (cmd == "changepos"){
    if (!text){MessagePlayer("/changepos <vehicle id>",player); return false;}
    if (!GetTok( text, " ", 1 )||!IsNum(GetTok(text, " ", 1))||GetTok( text, " ", 2 )){MessagePlayer("/changepos <vehicle id>",player); return false;}
    local vehicle = FindVehicle(GetTok( text, " ", 1 ).tointeger()),px = player.Pos.x.tostring(),py = player.Pos.y.tostring(),pz = player.Pos.z.tostring(),angle = asin(vehicle.Rotation.z)*2;
    if (!vehicle){return false;}
    local r = QuerySQL(VehicleDB, "SELECT * FROM Vehicles WHERE ID = '" + vehicle.ID + "'");
    if (r){QuerySQL( VehicleDB, "UPDATE Vehicles SET PosX='"+px+"', PosY = '"+py+"', PosZ = '"+pz+"', Angle = '"+angle+"' WHERE ID LIKE '" + vehicle.ID + "'" );
      MessagePlayer("Vehicle ID:"+vehicle.ID+"'s position has been changed with position:"+px+", "+py+", "+pz+"", player);
    }else{MessagePlayer("This car isn't available try another vehicle", player);return false;}
    ReloadVehicles();
  }
}

function GetTok(string, separator, n, ...){local m = vargv.len() > 0 ? vargv[0] : n,tokenized = split(string, separator),text = "";
if (n > tokenized.len() || n < 1){return null;}for (; n <= m; n++){text += text == "" ? tokenized[n-1] : separator + tokenized[n-1];} return text;
}function NumTok( string, separator ){local tokenized = split(string, separator); return tokenized.len();}
[/noae]

    Update Notes:
    • Code has been reproduced
    • Bug fixes.
#30
Script Showroom / Re: Auto Mute System
Nov 15, 2020, 09:48 AM
It works fine...