VC-MP Brasil - IRC: #script.br GTANet
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

SISTEMA DE ROUBO

Ir para baixo

SISTEMA DE ROUBO Empty SISTEMA DE ROUBO

Mensagem por D.victor Sex Jan 25, 2019 4:14 am

Estava eu sem nada pra fazer então decidi fazer um sistema e compartilhar com vocês fiz esses sistema super simples mais pratico que você cria locais de roubo com cmd e o local e salvo no db , o sistema funciona assim:

CMD: /addrob <Nome> <Price> <Estrelas>
NOME: Colocar o nome do local de roubo sem espaço!!
PRICE: O preco funciona assim exemplo eu coloquei : 50k o servidor ira sortear o roubo de 498 ate 50000, cada local de roubo tem seu preco individual de acordo com o que foi colocado quando foi criado.
ESTRELAS: Aqui e a quantidade de estrelas que o jogador ira receber quando roubar o local.


EU RECOMENDO QUE DEPOIS QUE CRIAR VÁRIOS LOCAIS DE ROUBO REINICIE O SERVIDOR PARA ELE CARREGAR TUDO CERTO!!

Código:
class RobStats
{
ID = 0;
Name = null;
Price = 0;
Wanted = null;


function onScriptLoad()
{
db <- ConnectSQL( "DataBase.db" );

Rob <- array( 1001, null );
QuerySQL( db, "CREATE TABLE IF NOT EXISTS Robs ( ID NUMERIC, Name TEXT, Price NUMERIC, Wanted NUMERIC, PosX NUMERIC, PosY NUMERIC, PosZ NUMERIC )" );
LoadRobs();
}

function onScriptUnload()
{
DisconnectSQL( db );
}

function onPickupPickedUp( player, pickup )
{

if ( !player.Vehicle && pickup.Model == 408 )
{
if( Rob[ pickup.ID ].ID != null )
{
local robbedcash = random( 498,Rob[ pickup.ID ].Price );
Message( "[#0000CD][[#FF0000]ROUBO[#0000CD]] - [#FF0000]" + player.Name + " [#0000CD]Roubou " + Rob[ pickup.ID ].Name + " em [#FF0000]" + GetDistrictName( player.Pos.x,player.Pos.y ) + "[#0000CD].");
MessagePlayer( "[#0000CD][[#FF0000]INFO[#0000CD]][#FF0000] - Recebeu:[#FF0000] +" + robbedcash ,player );
player.WantedLevel += Rob[ pickup.ID ].Wanted;
IncCash( player, robbedcash );
pickup.Timer = 180000;
}
}

}


function E_MSG( text, player ) MessagePlayer( "[#ff0000]|ERROR|[#FFFFFF] " + text, player );

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 LoadRobs()
{
local i = 0, id, name, price, wanted, posx, posy, posz;
local q = QuerySQL( db, "SELECT * FROM Robs" );
while ( GetSQLColumnData( q, 0 ) != null )
{
name = GetSQLColumnData( q, 1 );
price = GetSQLColumnData( q, 2 );
wanted = GetSQLColumnData( q, 3 );
posx = GetSQLColumnData( q, 4 );
posy = GetSQLColumnData( q, 5 );
posz = GetSQLColumnData( q, 6 );

id = CreatePickup( 408, 1, 1, posx, posy, posz, 255, true ).ID;
Rob[ id ] = RobStats();
Rob[ id ].ID = GetSQLColumnData( q, 0 );
Rob[ id ].Name = name;
Rob[ id ].Price = price;
Rob[ id ].Wanted = wanted;
GetSQLNextRow( q );
i++;
}
FreeSQLQuery( q );
print( "[Carregado] Sistema de roubo - " + i );
}

function CountRobs()
{
local c = 0;
for( local i = 0, pickup; i < GetPickupCount(); i++ )
{
pickup = FindPickup( i );
if ( pickup && pickup.Model == 408 ) c ++;
}
return c;
}

function onPlayerCommand( player, cmd, text )
{

if( cmd == "addrob" )
{
if( !text ) E_MSG( "use /addrob <Nome> <Price> <Estrelas>",player );
else if( !text ) E_MSG( "Exemplo: /addrob Bank 12300,39283 3",player );
else
{
local name = GetTok( text, " ", 1 );
if( !name ) E_MSG( "use /addrob <Nome> <Price> <Estrelas>",player );
else if( IsNum(name) ) E_MSG( "Voce nao pode usar numeros no nome do local de roubo.",player );
else
{
local price = GetTok( text, " ", 2 );
if( !price ) E_MSG( "use /addrob <Nome> <Price> <Estrelas>",player );
else if( !IsNum(price) ) E_MSG("Voce deve usar numeros no preco minimo.",player );
else
{
local wanted = GetTok( text, " ", 3 );
if( !price ) E_MSG( "use /addrob <Nome> <Price> <Estrelas>",player );
else if( !IsNum(price) ) E_MSG("Voce deve usar numeros no numero de estrelas.",player );
else
{
local id = CreatePickup( 408, 1, 1, player.Pos.x, player.Pos.y, player.Pos.z, 255, true ).ID;
QuerySQL( db, "INSERT INTO Robs VALUES ( '" + CountRobs() + "', '" + name + "', '" + price.tointeger() + "', '" + wanted.tointeger() + "','" + player.Pos.x + "','" + player.Pos.y + "','" + player.Pos.z + "' )" );
Rob[ id ] = RobStats(), Rob[ id ].ID = CountRobs(), Rob[ id ].Name = name, Rob[ id ].Price = price.tointeger(), Casa[ id ].Wanted = wanted.tointeger;
MessagePlayer( "[#FF0000]*** Local De Roubo Criado.", player );
}
}
}
}
}

}


UM DIA SEREI IGUAL A DIEGO Very Happy  Cool

D.victor

Mensagens : 11
Pontos : 27
Reputação : 0
Data de inscrição : 12/06/2015

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos