LucasRed

Sistema propriedades - Incompleto, não testado

Mar 18th, 2016
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.26 KB | None | 0 0
  1. function ScriptLoad()
  2. {
  3.     QuerySQL( db, "CREATE TABLE IF NOT EXISTS Properties ( Name TEXT, Pos TEXT, Price NUMERIC, Owner TEXT, Share TEXT )" );
  4.     LoadProps();
  5.     PropName    <- [ "name" ];
  6.     PropPrice   <- [ "price" ];
  7.     PropOwner   <- [ "owner" ];
  8.     PropShare   <- [ "share" ];
  9. }
  10.  
  11. function onPlayerCommand( player, cmd, text )
  12. {
  13.     if ( cmd == "addprop" )
  14.     {
  15.         if ( !text ) PrivMessage( player, "/" + cmd + " <name> <price>" );
  16.         else
  17.         {
  18.             local name = GetTok( text, " ", 1 ), price = GetTok( text, " ", 2 );
  19.             if ( !price ) PrivMessage( player, "Adicione um valor." );
  20.             CreatePickup( 407, Vector( player.Pos.x, player.Pos.y, player.Pos.z ) );
  21.             QuerySQL( db, "INSERT INTO Properties ( Name, Pos, Price, Owner, Share ) VALUES ( '" + name + "', '" + player.Pos.x + "' '" + player.Pos.y + "' '" + player.Pos.z + "', '" + price + "', 'Ninguem', 'Ninguem' )" );
  22.         }
  23.     }
  24.  
  25.    
  26. }
  27.  
  28. function LoadProps()
  29. {
  30.     local q = QuerySQL( db, "SELECT * FROM Properties" ), a = 0;
  31.     while ( GetSQLColumnData( q, 0 ) )
  32.     {
  33.         local   name = GetSQLColumnData( q, 0 ),
  34.                 pos = split( GetSQLColumnData( q, 1 ), " " ),
  35.                 price = GetSQLColumnData( q, 2 ),
  36.                 owner = GetSQLColumnData( q, 3 ),
  37.                 share = GetSQLColumnData( q, 4 ),
  38.                 x = pos[0],
  39.                 y = pos[1],
  40.                 z = pos[2];
  41.  
  42.         PropName.push( name );
  43.         PropPrice.push( price );
  44.         PropOwner.push( owner );
  45.         PropShare.push( share );
  46.  
  47.         CreatePickup( 407, x.tofloat(), y.tofloat(), z.tofloat() );
  48.         GetSQLNextRow( q );
  49.         a ++;
  50.     }
  51.     FreeSQLQuery( q );
  52. }
  53.  
  54. funtion onPickupPickedUp( player, pickup )
  55. {
  56.     if ( pickup.Model == 407 ) MessagePlayer( PropName[pickup.ID] + ", Valor " + PropPrice[pickup.ID] + " - Dono: " + PropOwner[pickup.ID] + ", Share: " + PropShare[pickup.ID] );
  57. }
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66. function GetTok(string, separator, n, ...)
  67. {
  68.     local   m = vargv.len() > 0 ? vargv[0] : n,
  69.             tokenized = split( string, separator ),
  70.             text = "";
  71.  
  72.     if ( n > tokenized.len() || n < 1 ) return null;
  73.     for (; n <= m; n++ )
  74.     {
  75.         text += text == "" ? tokenized[n-1] : separator + tokenized[n-1];
  76.     }
  77.     return text;
  78. }
  79. //=============================================================================================================
  80. function NumTok( string, separator )
  81. {
  82.     local tokenized = split( string, separator );
  83.     return tokenized.len();
  84. }
Advertisement
Add Comment
Please, Sign In to add comment