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 - GasanZ07

#1
Hello buddy. You had a few mistakes on this, I fixed them and sent them to you.
 :)

class PlayerClass
{
    Level = 0;
}

function onScriptLoad()
{
stats <- array ( GetMaxPlayers(), null );
Admin <- ConnectSQL("Level.db");
QuerySQL(Admin, "create table if not exists Level ( Name Text ,Level NUMERIC DEFAULT 0) ");
}

function onPlayerJoin( player )
{
stats[ player.ID ] = PlayerClass();
AdminInfo(player);
}

function onPlayerPart( player, reason )
{
SaveAdmin(player);
}

function onPlayerCommand( player, cmd, text )
{
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;
 }
}

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+"'");
}