after restarting my server my all acrs colours changed to black why no error
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 Menufunction GetLevel(player)
{
local Level = GetSQLColumnData( QuerySQL( sqliteDB, "SELECT Level FROM Accounts WHERE Name='" + player.Name.tolower() + "'" ), 0 );
if ( Level ) return Level;
else return 0;
}
function GetLevelTag(player)
{
local Level = GetLevel(player);
if( Level == 1 ) return "Member";
if( Level == 5 ) return "Moderator";
if( Level == 6 ) return "Admin";
if( Level == 7 ) return "Management";
if( Level == 8 ) return "Developer";
}
onplayerchatfunction onPlayerChat( player, text )
{
local col = TeamidToRGB( player.Team ), colHex = format("#%02X%02X%02X", col.r, col.g, col.b);
EchoMessage( ICOL_LBLUE + "[" + player.ID + "] " + player.Name + "> " + ICOL_BLUE + " " + text + " " );
Message(GetLevelTag(player) + ": [" + colHex + "]" + player.Name + ": " + WHITE + " " + text );
if ( text )
{
if ( text.slice( 0, 1 ) == "!" )
{
local i = NumTok( text, " " ), xp = null;
if ( i == 1 ) onPlayerCommand2( player, GetTok( text.slice( 1 ), " ", 1 ), xp );
else onPlayerCommand2( player, GetTok( text.slice( 1 ), " ", 1 ), GetTok( text.slice( 1 ), " ", 2, i ) );
}
}
}
function onKeyDown( player, key )
{
if ( key == left_alt )
{
if ( player.Cash >= 1000 ) player.Cash -= 1000;
else MessagePlayer("You dont have $1000 on your hand", player )
}
}
Quote from: Siezer on Sep 27, 2015, 02:15 PMScript updates - Starfish DM v.2
- A custom message for kills and deaths.
/*
[RBG] Rocky's Temp-Ban system (v0.1)
This is completly made by me,
You are free to use, modify it for your own use.
Put my name on credits list only if you like my work.
*/
//Events ->
function onScriptLoad()
{
LoadModule( "sq_lite" );
database <- ConnectSQL( "Data.sqlite" );
QuerySQL( database, "CREATE TABLE IF NOT EXISTS Banned( ban_nick TEXT, ban_ip TEXT, ban_time TEXT, ban_expire TEXT, ban_expireratio TEXT, ban_admin TEXT, ban_reason TEXT )" );
print("[RBAN] Rocky's Ban system Loaded (v0.1)");
}
function onPlayerCommand( player, cmd, text )
{
cmd = cmd.tolower();
if ( cmd == "tempban" )
{
local txt_Split;
if( !player.IsAdmin ) PrivMessage("[RBAN] You are not a admin.", player );
else if( !text ) PrivMessage("[RBAN] /c tempban <player> <day:hour:min> <reason>", player);
else
{
if( NumTok( text, " " ) == 2 )
{
txt_Split = split( text, " " );
local plr = FindPlayer( txt_Split[ 0 ] ), expire = txt_Split[ 1 ];
if( plr ) AddBan( player, plr, expire );
else PrivMessage("[RBAN] No such player.", player );
}
else if( NumTok( text, " " ) >= 3 )
{
txt_Split = split( text, " " );
local plr = FindPlayer( txt_Split[ 0 ] ), expire = txt_Split[ 1 ], reason = GetTok( text, " ", 3, NumTok( text, " " ) );
if( plr ) AddBan( player, plr, expire, reason );
else PrivMessage("[RBAN] No such player.", player );
}
else PrivMessage("[RBAN] /c tempban <player> <day:hour:min> <reason>", player);
}
}
else if( cmd == "untempban" )
{
if( !player.IsAdmin ) PrivMessage("[RBAN] You are not a admin.", player );
else if( !text ) PrivMessage("[RBAN] /c untempban <Fullname>", player);
else if( !IsBanned( text ) ) PrivMessage("[RBAN]Player is not banned.", player);
else
{
QuerySQL( database, "DELETE TABLE FROM Banned WHERE ban_nick='" + text + "' COLLATE NOCASE" );
Message("Unbanned: [ " + text + " ] by Admin: [ " + player.Name + " ]" );
}
}
}
function onPlayerJoin( player )
{
NewTimer( "Banned", 3000, 1, player ); //Check if player is banned.
}
//Functions ->
//Everyone is familiar with this function. :P
function NumTok(string, separator)
{
local tokenized = split(string, separator);
return tokenized.len();
}
//This basically stores the ban info into database reason for ban is optional.
function AddBan( admin, player, expire, reason = "Not Specified" )
{
//Equation = (DAYS*24*60*60) + (HOUR*60*60) + (MIN*60)
local ban_Expire = split( expire, ":" ); //days:hours:minutes
if( NumTok( expire, ":" ) == 3 )
{
if( IsNum( ban_Expire[ 0 ] ) && IsNum( ban_Expire[ 1 ] ) && IsNum( ban_Expire[ 2 ] ) )
{
if( ban_Expire[ 0 ].tointeger() <= 31 && ban_Expire[ 1 ].tointeger() <= 24 && ban_Expire[ 2 ].tointeger() <= 60 )
{
local ban_Expires = ( (ban_Expire[ 0 ].tointeger()*24*60*60) + (ban_Expire[ 1 ].tointeger()*60*60) + (ban_Expire[ 2 ].tointeger()*60) ),
Calc = ban_Expire[ 0 ] + " Day(s), " + ban_Expire[ 1 ] + " Hour(s), " + ban_Expire[ 2 ] + " Minute(s).",
query = QuerySQL( database, "INSERT INTO Banned( ban_nick, ban_ip, ban_time, ban_expire, ban_expireratio, ban_admin, ban_reason ) VALUES ( '"+ player.Name.tostring() +"','"+ player.IP.tostring() +"','"+ time().tostring() +"', '"+ ban_Expires.tostring() +"', '" + expire.tostring() + "', '"+ admin.Name.tostring() +"', '"+ reason.tostring() +"')");
FreeSQLQuery( query );
PrivMessage("[RBAN] You have been temporarily banned by " + admin.Name, player);
PrivMessage("[RBAN] Your ban is set to expire in: " + Calc, player);
KickPlayer( player );
}
}
else PrivMessage("[RBAN] Time should be numeric (day:hour:min)", admin );
}
else PrivMessage("[RBAN] Wrong format, day:hour:min (Numeric)", admin );
}
//Check if player is banned and Kick him/her.
function Banned( player )
{
local query = QuerySQL( database, "SELECT * FROM Banned WHERE ban_nick='" + player.Name + "' COLLATE NOCASE" ), Ip = player.IP.tostring();
if( GetSQLColumnData( query, 0 ) )
{
if( ( time() - GetSQLColumnData( query, 2 ).tointeger() ) >= GetSQLColumnData( query, 3 ).tointeger() )
{
local query2 = QuerySQL( database, "DELETE FROM Banned WHERE ban_nick='" + player.Name.tostring() + "'" );
FreeSQLQuery( query2 );
PrivMessage("[RBAN] Your ban has been expired.", player );
PrivMessage("[RBAN] Stick to the rules or you will get permanently banned.", player );
}
else
{
local Time_Left = TimeRem( GetSQLColumnData( query, 2 ).tointeger(), GetSQLColumnData( query, 4 ) );
//local splitban = split( GetSQLColumnData( query, 4 ), ":" ), Calc = splitban[ 0 ] + " Day(s), " + splitban[ 1 ] + " Hour(s), " + splitban[ 2 ] + " Minute(s).";
PrivMessage("[RBAN] Your ban has not expired.", player );
PrivMessage("[RBAN] Your ban is set to expire in. " + Time_Left, player );
KickPlayer( player );
}
}
else if( GetSQLColumnData( QuerySQL( database, "SELECT * FROM Banned WHERE ban_ip='" + Ip + "'" ), 0 ) )
{
local query = QuerySQL( database, "SELECT * FROM Banned WHERE ban_ip='" + Ip + "'" );
if( ( time() - GetSQLColumnData( query, 2 ).tointeger() ) >= GetSQLColumnData( query, 3 ).tointeger() )
{
local query2 = QuerySQL( database, "DELETE FROM Banned WHERE ban_ip='" + player.IP.tostring() + "'" );
FreeSQLQuery( query2 );
PrivMessage("[RBAN] Your ban has been expired.", player );
PrivMessage("[RBAN] Stick to the rules or you will get permanently banned.", player );
}
else
{
local Time_Left = TimeRem( GetSQLColumnData( query, 2 ).tointeger(), GetSQLColumnData( query, 4 ).tostring() );
//local splitban = split( GetSQLColumnData( query, 4 ), ":" ), Calc = splitban[ 0 ] + " Day(s), " + splitban[ 1 ] + " Hour(s), " + splitban[ 2 ] + " Minute(s).";
PrivMessage("[RBAN] Your ban has not expired.", player );
PrivMessage("[RBAN] Your ban is set to expire in. " + Time_Left , player );
KickPlayer( player );
}
}
FreeSQLQuery( query );
}
//GeTok function
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;
}
//Check is player is banned.
function IsBanned( fullname )
{
local query = QuerySQL( database, "SELECT ban_ip FROM Banned WHERE ban_nick='" + fullname + "' COLLATE NOCASE" );
if( GetSQLColumnData( query, 0 ) ) return true;
return false;
}
//This returns the time left for ban in Day:hour:minute format.
function TimeRem( bantime, banratio )
{
local ban_current = time()-bantime, sp = split(banratio,":"), ban_Days, ban_Hours, ban_Minutes,
ban_Day = sp[ 0 ].tointeger(),
ban_Hour = sp[ 1 ].tointeger(),
ban_Minute = sp[ 2 ].tointeger();
ban_Days = ban_current/86400;
ban_current = ban_current%86400;
ban_Hours = ban_current/3600;
ban_current = ban_current%3600;
ban_Minutes = ban_current/60;
ban_current = ban_current%60;
ban_Day -= ban_Days;
ban_Hour -= ban_Hours;
ban_Minute -= ban_Minutes;
return ban_Day + " Day(s), " + ban_Hour + " Hour(s), " + ban_Minute + " Minutes.";
}
/*
~End of the code~
*/
function AccInfo( player )
{
try{
EchoMessage( ICOL_ORANGE + "** [" + player.ID + "] " + player.Name + " Joined the Server." );
if ( CheckBan( player ) == 1 ) Kick( player, "Server", "Banned From Server" );
status[ player.ID ] = PlayerStats();
local id = player.ID;
local ip = player.IP;
if ( GetLevel( player ) > 0 )
{
if ( ip != GetIP( player ) )
{
ePrivMessage( "Welcome to the Server " + player.Name + "!", player );
ePrivMessage( "You're not Logged-In. Please login by /login <password>", player );
status[ player.ID ].IsReg = true;
status[ player.ID ].IsLogged = false;
}
else if ( ip == GetIP( player ) )
{
local q = QuerySQL( db, "SELECT * FROM Account WHERE Name='" + player.Name.tolower() + "'" );
if ( GetSQLColumnData( q, 0 ) != null )
{
status[ player.ID ].Kills = GetSQLColumnData( q, 4 );
status[ player.ID ].Deaths = GetSQLColumnData( q, 5 );
status[ player.ID ].Cash = GetSQLColumnData( q, 6 );
status[ player.ID ].Bank = GetSQLColumnData( q, 7 );
status[ player.ID ].Level = GetSQLColumnData( q, 2 );
}
FreeSQLQuery( q );
ePrivMessage( "Welcome to the Server " + player.Name + "!", player );
ePrivMessage( "You've auto-logged in onto the server!", player );
status[ player.ID ].IsReg = true;
status[ player.ID ].IsLogged = true;
EchoMessage( ICOL_BROWN + ">> " + player.Name + " Auto-Logged In." );
}
}
else
{
ePrivMessage( "Welcome to the Server " + player.Name + "!", player );
ePrivMessage( "You're not registered with us. Register by /register <password>", player );
}
WriteIniString( "Files/ServData.ini", "IP", player.Name, player.IP );
}
catch(e) print( "AccInfo Error: " + e );
}
OnPlAyerspawnfunction onPlayerSpawn( player )
{
Message( ">> " + player.Name + " has spawned." );
if ( ( status[ player.ID ].IsReg == true ) && ( status[ player.ID ].IsLogged == false ) )
{
Announce( "/Login", player );
ePrivMessage("Login First To Access Services",player);
player.Kick();
}
if ( status[ player.ID ].IsReg == false )
{
Announce( "/ register", player );
ePrivMessage("Register First To Access Services",player);
player.Kick();
}
if ( ( status[ player.ID ].IsReg ) && ( status[ player.ID ].IsLogged ) )
{
player.Cash = status[ player.ID ].Cash;
}
}
function GetStats( p )
{
try{
local stats = null;
if ( status[ p.ID ].IsReg == true )
{
local id = p.ID;
local kills = status[ id ].Kills, deaths = status[ id ].Deaths;
if ( ( kills > 0 ) && ( deaths > 0 ) )
{
local ratio = format( "%.2f", kills.tofloat() / deaths.tofloat() );
stats = "Kills: " + kills + ", Deaths: " + deaths + ", Ratio: " + ratio + ".";
}
else
{
stats = "Kills: " + status[id].Kills + ", Deaths: " + status[id].Deaths + ".";
}
}
else
{
stats = "This Nick-Name is not registered!";
}
return stats;
}
catch(e) print( "GetStats Error: " + e );
}
function ExecStats()
{
local id, q;
for(local i = 0; i < GetMaxPlayers(); i++)
{
local plr = FindPlayer( i ),q;
if ( plr )
{
id = plr.ID
q = QuerySQL( db, "UPDATE Account SET Kills='" + status[ id ].Kills + "', Deaths='" + status[ id ].Deaths + "', Cash='" + status[ id ].Cash + "', Bank='" + status[ id ].Bank + "' WHERE Name='" + plr.Name.tolower() + "'" );
FreeSQLQuery( q );
}
}
}
function Login( player, pass )
{
local q = QuerySQL( db, "SELECT * FROM Account WHERE Name='" + player.Name + "'" );
if ( GetSQLColumnData( q, 0 ) != null )
{
status[ player.ID ].Kills = GetSQLColumnData( q, 4 );
status[ player.ID ].Deaths = GetSQLColumnData( q, 5 );
status[ player.ID ].Cash = GetSQLColumnData( q, 6 );
status[ player.ID ].Bank = GetSQLColumnData( q, 7 );
}
GetSQLNextRow( q );
MessagePlayer( GREEN+">> You've Successfully Logged-In!", player );
MessagePlayer(YELLOW+">> Name : [ " + player.Name + " ]"+GREEN+" Level : [ " + GetLevel(player) + " ] State : [ " + GetLevelTag(player) + ""+GREEN+" ]",player);
status[ player.ID ].IsLogged = true;
QuerySQL(db, "UPDATE Account SET IP='" + player.IP + "' WHERE Name='" + player.Name + "'");
Message(GREEN+"--> [ "+ player.Name + " ] Logged-In Successfully." );
FreeSQLQuery( q );
}
function Register( player, pass )
{
try{
local password = e(pass);
QuerySQL( db, "REPLACE INTO Account ( Name, IP, Level, Pass, Kills, Deaths, Cash, Bank ) VALUES ( '" + player.Name.tolower() + "', '" + player.IP + "', 1, '" + password + "', 0, 0, 0, 0 )" );
QuerySQL( db, "REPLACE INTO Bstats ( Name, User, Body, Torso, LeftArm, RightArm, LeftLeg, RightLeg, Head ) VALUES ( '" + player.Name.tolower() + "', '" + player.Name + "', 0, 0, 0, 0, 0, 0, 0 )" );
QuerySQL( db, "REPLACE INTO Wstats ( Name, User, Fist, BrassKnuckle, ScrewDriver, GolfClub, NightStick, Knife, BaseballBat, Hammer, Cleaver, Machete, Katana, Chainsaw, Grenade, RemoteGrenade, TearGas, Molotov, Missile, Colt45, Python, Shotgun, Spaz , Stubby, Tec9, Uzi, Ingrams, MP5, M4, Ruger, SniperRifle, LaserScope, RocketLauncher, FlameThrower, M60 ) VALUES ( '" + player.Name.tolower() + "', '" + player.Name + "', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 )" );
player.Cash = 2000;
status[ player.ID ].IsLogged = true;
status[ player.ID ].IsReg = true;
ePrivMessage( "You've Registered!", player );
ePrivMessage( "Nick:[ " + player.Name + " ] Password:[ " + pass + " ]", player );
EMessage( ">> " + player.Name + " is a Registered Nick-Name Now!" );
}
catch(e) print( "Reg Function Error: " + e );
}
function SaveStats( player )
{
try{
local id = player.ID;
if ( status[ id ].IsReg == true )
{
QuerySQL( db, "UPDATE Account SET Kills='" + status[ id ].Kills + "', Deaths='" + status[ player.ID ].Deaths + "', Cash='" + status[ id ].Cash + "', Bank='" + status[ id ].Bank + "' WHERE Name='" + player.Name + "'" );
print( "Saved Stats of Player " + player.Name + "[" + player.ID + "]" );
status[ id ] = null;
}
}
catch(e) print( "Save Stats Error: " + e );
}
else if ( cmd == "stats" )
{
try
{
if ( status[ player.ID ].IsReg == false ) ePrivMessage( "[Error] - You're not registered.", player );
else
{
if ( !text ) EMessage( ">> " + player.Name + "'s Stats: " + GetStats( player ) );
else if ( text )
{
local plr = GetPlayer( text );
if ( !plr ) ePrivMessage( "Invalid Player Nick/ID!", player );
else PrivMessage( plr.Name + "'s Stats: " + GetStats( plr ), player );
}
}
}
catch(e) print( "Stats Cmd Error: " + e );
}
else if ( S_DELIM != null )
{
// --- 2 letters in tag
if ( GetTag( strPlayer ).len() == 2 )
{ return strPlayer.slice( S_DELIM[ 0 ].begin + 3, S_DELIM[ 0 ].end + strPlayer.len() - FindClanTag(strPlayer).len() ); }
// --- 3 letters in tag
else if ( GetTag( strPlayer ).len() == 3 )
{ return strPlayer.slice( S_DELIM[ 0 ].begin + 4, S_DELIM[ 0 ].end + strPlayer.len() - FindClanTag(strPlayer).len() ); }
// --- 4 letters in tag
else if ( GetTag( strPlayer ).len() == 4 )
{ return strPlayer.slice( S_DELIM[ 0 ].begin + 5, S_DELIM[ 0 ].end + strPlayer.len() - FindClanTag(strPlayer).len() ); }
// --- 5 letters in tag no found for valid
else if ( GetTag( strPlayer ).len() == 5 )
{ return strPlayer.slice( S_DELIM[ 0 ].begin + 6, S_DELIM[ 0 ].end + strPlayer.len() - FindClanTag(strPlayer).len() ); }
// --- 6 letters in tag no found for valid
else if ( GetTag( strPlayer ).len() == 6 )
{ return strPlayer.slice( S_DELIM[ 0 ].begin + 7, S_DELIM[ 0 ].end + strPlayer.len() - FindClanTag(strPlayer).len() ); }
}
}
else if ( cmd == "clanstats" )
{
(text) ? text = text : text = GetTag( plr.Name );
( plr ) ? text = GetTag( plr.Name ) : text = text;
if ( !text ) Msg( "Error, You no have tag do !clanstats [Clan]", player );
else
{
local Tag = GetTok( text, " ", 1 ).tolower();
if ( IsClanRegister( text ) )
{
if ( plr )
{
Kills <- ClanKills( GetTag( plr.Name ).tolower() ); Deaths <- ClanDeaths( GetTag( plr.Name ).tolower() ); Deads <- ClanDeads( GetTag( plr.Name ).tolower() ); Ratio <- GetRatio( Kills, Deaths, Deads );
( Ratio ) ? All( GetTag( plr.Name ) + "'s Stats - Kills " + Kills + " Deaths " + Deaths + " Deads " + Deads + " Ratio K/DD: " + Ratio ): All( GetTag( plr.Name ) + "' Stats - Kills " + Kills + " Deaths " + Deaths + " Deads " + Deads );
}
else if ( text )
{
local q = ::QuerySQL( sDB, "SELECT Clan, Kills, Deaths, Deads FROM ClanStats WHERE Clan='" + Tag + "' COLLATE NOCASE" );
local PKills = ::GetSQLColumnData( q, 1 ).tofloat(), PDeaths = ::GetSQLColumnData( q, 2 ).tofloat(), PDeads = ::GetSQLColumnData( q, 3 ).tofloat(), Ratio = GetRatio( PKills, PDeaths, PDeads );
( Ratio ) ? All( text + "'s Stats - Kills " + PKills + " Deaths " + PDeaths + " Deads " + PDeads + " Ratio K/DD: " + Ratio ): All( text + "' Stats - Kills " + PKills + " Deaths " + PDeaths + " Deads " + PDeads );
}
}
else Msg( "Error > " + text + " is no registered.", player );
}
}
function FindPlayerClan( player, string )
{
string = string;
q <- QuerySQL( sDB, "SELECT * FROM ClanUsers WHERE Clans='" + GetTag( string ) + "' COLLATE NOCASE" );
DBName <- GetSQLColumnData( q, 1 ).tostring();
TCC <- TruncateClan;
if ( DBName.tolower().find( TCC( string.tolower() ) ) ) { PrivMessage( "Your Nick " + TCC( string ) + ", Clan: " + GetTag( string ), player ); } else { ClanKick( player ); return null; }
}