Merge pull request #7 from zeelorenc/master

Merge
This commit is contained in:
Dusan 2019-06-02 10:54:29 +02:00 committed by GitHub
commit 52368fadf6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
21 changed files with 309 additions and 135 deletions

View File

@ -164,6 +164,7 @@ static stock
{ 5, "/seteventhost", "Setting event host to player" }, { 5, "/seteventhost", "Setting event host to player" },
{ 5, "/weather", "Settings world weather" }, { 5, "/weather", "Settings world weather" },
{ 5, "/viewpolicechat", "Viewing the police radio/chat" }, { 5, "/viewpolicechat", "Viewing the police radio/chat" },
{ 5, "/viewpbchat", "Viewing all paintball lobbies chats" },
/* ** Level 6 Commands ** */ /* ** Level 6 Commands ** */
{ 6, "/reloadeditor", "Reloads object editer script" }, { 6, "/reloadeditor", "Reloads object editer script" },

View File

@ -50,6 +50,18 @@ CMD:viewpolicechat( playerid, params[ ] )
return 1; return 1;
} }
CMD:viewpbchat( playerid, params[ ] )
{
if ( p_AdminLevel[ playerid ] < 5 && !IsPlayerUnderCover( playerid ) ) return SendError( playerid, ADMIN_COMMAND_REJECT );
p_TogglePBChat{ playerid } = !p_TogglePBChat{ playerid };
SendClientMessageFormatted( playerid, -1, ""COL_PINK"[ADMIN]"COL_WHITE" You have %s viewing paint-ball chat.", p_TogglePBChat{ playerid } == true ? ("toggled") : ("un-toggled") );
if ( !IsPlayerUnderCover( playerid ) ) {
AddAdminLogLineFormatted( "%s(%d) has %s viewing paintball chat", ReturnPlayerName( playerid ), playerid, p_TogglePBChat{ playerid } == true ? ("toggled") : ("un-toggled") );
}
return 1;
}
CMD:check( playerid, params[ ] ) CMD:check( playerid, params[ ] )
{ {
new new

View File

@ -210,8 +210,9 @@
#define DIALOG_COMPONENTS_SELL 1200 #define DIALOG_COMPONENTS_SELL 1200
#define DIALOG_HOUSE_SELL 1201 #define DIALOG_HOUSE_SELL 1201
#define DIALOG_BUSINESS_SELL_CONFIRM 1202 #define DIALOG_BUSINESS_SELL_CONFIRM 1202
#define DIALOG_NEXT_PAGE_VIP 1204 #define DIALOG_VIP_MAIN 1204
#define DIALOG_XPMARKET_SELL 1205 #define DIALOG_XPMARKET_SELL 1205
#define DIALOG_BUY_VIP_MAIN 1206
/* ** Hooks ** */ /* ** Hooks ** */
hook OnDialogResponse( playerid, dialogid, response, listitem, inputtext[ ] ) hook OnDialogResponse( playerid, dialogid, response, listitem, inputtext[ ] )

View File

@ -264,6 +264,9 @@ stock JailPlayer( playerid, seconds, admin = 0 )
p_DetainedLabel [ playerid ] = Text3D: INVALID_3DTEXT_ID; p_DetainedLabel [ playerid ] = Text3D: INVALID_3DTEXT_ID;
p_DetainedBy [ playerid ] = INVALID_PLAYER_ID; p_DetainedBy [ playerid ] = INVALID_PLAYER_ID;
#if defined __cloudy_event_system
RemovePlayerFromEvent ( playerid, true );
#endif
CancelEdit ( playerid ); CancelEdit ( playerid );
RemovePlayerStolensFromHands( playerid ); RemovePlayerStolensFromHands( playerid );
StopPlayerUsingSlotMachine ( playerid ); StopPlayerUsingSlotMachine ( playerid );

View File

@ -171,6 +171,7 @@ hook OnPlayerEnterDynRaceCP( playerid, checkpointid )
//SendServerMessage( playerid, "You've made "COL_GOLD"%s"COL_WHITE" from exporting. Go and pick another box up!" ); //SendServerMessage( playerid, "You've made "COL_GOLD"%s"COL_WHITE" from exporting. Go and pick another box up!" );
GivePlayerCash( playerid, cash ); GivePlayerCash( playerid, cash );
GivePlayerScore( playerid, 5 ); GivePlayerScore( playerid, 5 );
GivePlayerExperience( playerid, E_ROLEPLAY );
DestroyDynamicMapIcon( p_LumberjackMapIcon[ playerid ] ); DestroyDynamicMapIcon( p_LumberjackMapIcon[ playerid ] );
p_LumberjackMapIcon[ playerid ] = CreateDynamicMapIconEx( -2330.8535, -113.9084, 34.00, 51, 0, MAPICON_GLOBAL, 6000.0, { -1 }, { -1 }, aPlayer ); p_LumberjackMapIcon[ playerid ] = CreateDynamicMapIconEx( -2330.8535, -113.9084, 34.00, 51, 0, MAPICON_GLOBAL, 6000.0, { -1 }, { -1 }, aPlayer );

View File

@ -43,6 +43,7 @@ static stock
g_orePrices [ ] = { 675, 900, 600, 2750, 3000, 3500, 4000, 2200, 2300, 1200 }, g_orePrices [ ] = { 675, 900, 600, 2750, 3000, 3500, 4000, 2200, 2300, 1200 },
g_oreMiningTime [ ] = { 2000, 2800, 1600, 6800, 7200, 7600, 8000, 6400, 6560, 4000 }, g_oreMiningTime [ ] = { 2000, 2800, 1600, 6800, 7200, 7600, 8000, 6400, 6560, 4000 },
Float: g_oreMiningXp [ ] = { 0.25, 0.35, 0.2, 0.85, 0.9, 0.8, 1.0, 0.8, 0.82, 0.5 },
g_oreQuanities [ ] = { 8, 8, 8, 8, 5, 3, 3, 5, 5, 6 }, g_oreQuanities [ ] = { 8, 8, 8, 8, 5, 3, 3, 5, 5, 6 },
// Iterator // Iterator
@ -155,21 +156,24 @@ hook OnProgressCompleted( playerid, progressid, params )
if ( progressid == PROGRESS_MINING ) if ( progressid == PROGRESS_MINING )
{ {
new m = p_MiningOre{ playerid }; new m = p_MiningOre{ playerid };
new iRandom = random( 101 ); new Float: iRandom = fRandomEx( 0.0, 100.0 );
// increase success rate parallel to the player roleplay level
iRandom *= 1.0 + ( GetPlayerLevel( playerid, E_ROLEPLAY ) / 100.0 );
p_isMining{ playerid } = false; p_isMining{ playerid } = false;
g_miningData[ m ] [ E_MINING ] = INVALID_PLAYER_ID; g_miningData[ m ] [ E_MINING ] = INVALID_PLAYER_ID;
if ( ( g_miningData[ m ] [ E_ORE ] == ORE_IRON && iRandom > 80 ) || if ( ( g_miningData[ m ] [ E_ORE ] == ORE_IRON && iRandom > 80.0 ) ||
( g_miningData[ m ] [ E_ORE ] == ORE_BAUXITE && iRandom > 85 ) || ( g_miningData[ m ] [ E_ORE ] == ORE_BAUXITE && iRandom > 85.0 ) ||
( g_miningData[ m ] [ E_ORE ] == ORE_GOLD && iRandom > 45 ) || ( g_miningData[ m ] [ E_ORE ] == ORE_GOLD && iRandom > 45.0 ) ||
( g_miningData[ m ] [ E_ORE ] == ORE_COAL && iRandom > 90 || ( g_miningData[ m ] [ E_ORE ] == ORE_COAL && iRandom > 90 ||
( g_miningData[ m ] [ E_ORE ] == ORE_DIAMOND && iRandom > 30 ) || ( g_miningData[ m ] [ E_ORE ] == ORE_DIAMOND && iRandom > 30.0 ) ||
( g_miningData[ m ] [ E_ORE ] == ORE_RUBY && iRandom > 35 ) || ( g_miningData[ m ] [ E_ORE ] == ORE_RUBY && iRandom > 35.0 ) ||
( g_miningData[ m ] [ E_ORE ] == ORE_SAPHHIRE && iRandom > 30 ) || ( g_miningData[ m ] [ E_ORE ] == ORE_SAPHHIRE && iRandom > 30.0 ) ||
( g_miningData[ m ] [ E_ORE ] == ORE_EMERALD && iRandom > 52 ) || ( g_miningData[ m ] [ E_ORE ] == ORE_EMERALD && iRandom > 52.0 ) ||
( g_miningData[ m ] [ E_ORE ] == ORE_PLATINUM && iRandom > 25 ) || ( g_miningData[ m ] [ E_ORE ] == ORE_PLATINUM && iRandom > 25.0 ) ||
( g_miningData[ m ] [ E_ORE ] == ORE_AMETHYST && iRandom > 75 ) ) ( g_miningData[ m ] [ E_ORE ] == ORE_AMETHYST && iRandom > 75.0 ) )
) )
{ {
SetPlayerMineOre( playerid, m ); SetPlayerMineOre( playerid, m );
@ -188,7 +192,7 @@ hook OnProgressCompleted( playerid, progressid, params )
SendServerMessage( playerid, "Great you've mined an ore, now store it in a "COL_GREY"Dune"COL_WHITE"." ); SendServerMessage( playerid, "Great you've mined an ore, now store it in a "COL_GREY"Dune"COL_WHITE"." );
} }
//GivePlayerExperience( playerid, E_MINING ); GivePlayerExperience( playerid, E_ROLEPLAY, g_oreMiningXp[ g_miningData[ m ] [ E_ORE ] ] );
SetPVarInt( playerid, "carrying_ore", m ); SetPVarInt( playerid, "carrying_ore", m );
SetPlayerSpecialAction( playerid, SPECIAL_ACTION_CARRY ); SetPlayerSpecialAction( playerid, SPECIAL_ACTION_CARRY );
SetPlayerAttachedObject( playerid, 4, 2936, 5, 0.000000, 0.197999, 0.133999, 113.099983, -153.799987, 57.300003, 0.631000, 0.597000, 0.659999, g_miningData[ m ] [ E_ARGB ], g_miningData[ m ] [ E_ARGB ] ); SetPlayerAttachedObject( playerid, 4, 2936, 5, 0.000000, 0.197999, 0.133999, 113.099983, -153.799987, 57.300003, 0.631000, 0.597000, 0.659999, g_miningData[ m ] [ E_ARGB ], g_miningData[ m ] [ E_ARGB ] );
@ -209,6 +213,7 @@ hook OnPlayerEnterDynamicCP( playerid, checkpointid )
new earned_money = floatround( float( g_orePrices[ g_miningData[ ore ] [ E_ORE ] ] ) * 0.5 ); new earned_money = floatround( float( g_orePrices[ g_miningData[ ore ] [ E_ORE ] ] ) * 0.5 );
GivePlayerExperience( playerid, E_ROLEPLAY, 0.2 );
GivePlayerCash( playerid, earned_money ); GivePlayerCash( playerid, earned_money );
StockMarket_UpdateEarnings( E_STOCK_MINING_COMPANY, earned_money, 0.5 ); StockMarket_UpdateEarnings( E_STOCK_MINING_COMPANY, earned_money, 0.5 );
SendServerMessage( playerid, "You have crushed a "COL_GREY"%s"COL_WHITE" Ore and earned "COL_GOLD"%s"COL_WHITE".", getOreName( g_miningData[ ore ] [ E_ORE ] ), cash_format( earned_money ) ); SendServerMessage( playerid, "You have crushed a "COL_GREY"%s"COL_WHITE" Ore and earned "COL_GOLD"%s"COL_WHITE".", getOreName( g_miningData[ ore ] [ E_ORE ] ), cash_format( earned_money ) );
@ -383,7 +388,7 @@ hook OnPlayerEnterDynRaceCP( playerid, checkpointid )
GivePlayerCash( playerid, cashEarned ); GivePlayerCash( playerid, cashEarned );
StockMarket_UpdateEarnings( E_STOCK_MINING_COMPANY, cashEarned, 0.5 ); StockMarket_UpdateEarnings( E_STOCK_MINING_COMPANY, cashEarned, 0.5 );
GivePlayerScore( playerid, floatround( oresExported / 2 ) ); // 16 score is a bit too much for ore... so half that = 8 GivePlayerScore( playerid, floatround( oresExported / 2 ) ); // 16 score is a bit too much for ore... so half that = 8
//GivePlayerExperience( playerid, E_MINING, float( oresExported ) * 0.2 ); GivePlayerExperience( playerid, E_ROLEPLAY, float( oresExported ) * 0.2 );
SendServerMessage( playerid, "You have exported %d rock ore(s) to an industry, earning you "COL_GOLD"%s"COL_WHITE".", oresExported, cash_format( cashEarned ) ); SendServerMessage( playerid, "You have exported %d rock ore(s) to an industry, earning you "COL_GOLD"%s"COL_WHITE".", oresExported, cash_format( cashEarned ) );
} }
return Y_HOOKS_BREAK_RETURN_1; return Y_HOOKS_BREAK_RETURN_1;

View File

@ -185,6 +185,7 @@ hook OnPlayerEnterDynRaceCP( playerid, checkpointid )
GivePlayerScore( playerid, 1 + floatround( p_PilotDistance[ playerid ] / 1000.0 ) ); GivePlayerScore( playerid, 1 + floatround( p_PilotDistance[ playerid ] / 1000.0 ) );
StockMarket_UpdateEarnings( E_STOCK_AVIATION, cash_earned, stock_dividend_allocation ); StockMarket_UpdateEarnings( E_STOCK_AVIATION, cash_earned, stock_dividend_allocation );
GivePlayerCash( playerid, cash_earned ); GivePlayerCash( playerid, cash_earned );
GivePlayerExperience( playerid, E_ROLEPLAY );
ShowPlayerHelpDialog( playerid, 5000, "You have earned ~y~%s ~w~for exporting %s!", cash_format( cash_earned ), g_CargoName[ p_PilotCargo[ playerid ] ] ); ShowPlayerHelpDialog( playerid, 5000, "You have earned ~y~%s ~w~for exporting %s!", cash_format( cash_earned ), g_CargoName[ p_PilotCargo[ playerid ] ] );
StopPlayerPilotWork( playerid ); StopPlayerPilotWork( playerid );

View File

@ -134,6 +134,7 @@ hook OnPlayerEnterDynRaceCP( playerid, checkpointid )
GivePlayerScore( playerid, 1 + floatround( p_TrainDistance[ playerid ] / 1000.0 ) ); GivePlayerScore( playerid, 1 + floatround( p_TrainDistance[ playerid ] / 1000.0 ) );
GivePlayerCash( playerid, iCashEarned ); GivePlayerCash( playerid, iCashEarned );
GivePlayerExperience( playerid, E_ROLEPLAY );
ach_HandleTrainMissions( playerid ); ach_HandleTrainMissions( playerid );

View File

@ -181,6 +181,7 @@ hook OnPlayerEnterDynRaceCP( playerid, checkpointid )
GivePlayerScore( playerid, 1 + floatround( p_TruckingDistance[ playerid ] / 1000.0 ) ); GivePlayerScore( playerid, 1 + floatround( p_TruckingDistance[ playerid ] / 1000.0 ) );
StockMarket_UpdateEarnings( E_STOCK_TRUCKING_COMPANY, iCashEarned, .factor = 1.0 ); StockMarket_UpdateEarnings( E_STOCK_TRUCKING_COMPANY, iCashEarned, .factor = 1.0 );
GivePlayerCash( playerid, iCashEarned ); GivePlayerCash( playerid, iCashEarned );
GivePlayerExperience( playerid, E_ROLEPLAY );
p_TruckingDistance [ playerid ] = 0.0; p_TruckingDistance [ playerid ] = 0.0;
p_hasTruckingJob { playerid } = false; p_hasTruckingJob { playerid } = false;

View File

@ -417,6 +417,10 @@ CMD:p( playerid, params[ ] )
else else
{ {
SendClientMessageToPaintball( id, -1, ""COL_GREY"<Paintball Chat> %s(%d):"COL_WHITE" %s", ReturnPlayerName( playerid ), playerid, msg ); SendClientMessageToPaintball( id, -1, ""COL_GREY"<Paintball Chat> %s(%d):"COL_WHITE" %s", ReturnPlayerName( playerid ), playerid, msg );
foreach ( new i : Player ) if ( ( p_AdminLevel[ i ] >= 5 || IsPlayerUnderCover( i ) ) && p_TogglePBChat{ i } == true ) {
SendClientMessageFormatted( i, -1, ""COL_GREY"<Paintball Chat Lobby %d > %s(%d):"COL_WHITE" %s", id, ReturnPlayerName( playerid ), playerid, msg );
}
} }
return 1; return 1;
} }

View File

@ -19,6 +19,7 @@ enum E_LEVELS {
E_POLICE, E_POLICE,
E_ROBBERY, E_ROBBERY,
E_DEATHMATCH, E_DEATHMATCH,
E_ROLEPLAY
/*E_FIREMAN, /*E_FIREMAN,
E_PARAMEDIC, E_PARAMEDIC,
@ -51,8 +52,10 @@ static const
{ {
// Level Name Bar Color Level 100 Req. XP Dilation Sell Value // Level Name Bar Color Level 100 Req. XP Dilation Sell Value
{ "Police", 0x3E7EFFFF, 7500.0, 20.0, 10.0 }, // 7.5k arrests { "Police", 0x3E7EFFFF, 7500.0, 20.0, 10.0 }, // 7.5k arrests
{ "Robbery", 0xF83245FF, 30000.0, 15.0, 10.0 }, // 30K robberies { "Robbery", 0xF83245FF, 30000.0, 15.0, 10.0 }, // 30k robberies
{ "Deathmatch", 0xFF9233FF, 75000.0, 10.0, 5.0 } // 75K kills { "Deathmatch", 0xFF9233FF, 75000.0, 10.0, 5.0 }, // 75k kills
{ "Roleplay", 0x33FF50FF, 75000.0, 10.0, 5.0 } // 75k minijob
/* /*
{ "Fireman", 10000.0, 9.0 }, // 10k fires { "Fireman", 10000.0, 9.0 }, // 10k fires
{ "Hitman", 1500.0, 4.5 }, // 1.5k contracts { "Hitman", 1500.0, 4.5 }, // 1.5k contracts

View File

@ -416,7 +416,6 @@ thread StockMarket_InsertReport( stockid, Float: default_start_pool, Float: defa
stockid, stockid stockid, stockid
); );
mysql_tquery( dbHandle, szLargeString, "StockMarket_PanicSell", "d", stockid ); mysql_tquery( dbHandle, szLargeString, "StockMarket_PanicSell", "d", stockid );
print(szLargeString);
} }
// full bankruptcy if a stock is $1 (UNTESTED!) // full bankruptcy if a stock is $1 (UNTESTED!)

View File

@ -84,7 +84,9 @@ static stock
}, },
p_CoinMarketPage [ MAX_PLAYERS char ], p_CoinMarketPage [ MAX_PLAYERS char ],
p_CoinMarketSelectedItem [ MAX_PLAYERS char ] p_CoinMarketSelectedItem [ MAX_PLAYERS char ],
p_SelectedPackage [ MAX_PLAYERS char ]
; ;
/* ** Global Variables ** */ /* ** Global Variables ** */
@ -116,6 +118,7 @@ hook OnPlayerUpdateEx( playerid )
hook OnPlayerDisconnect( playerid, reason ) hook OnPlayerDisconnect( playerid, reason )
{ {
p_SelectedPackage{ playerid } = -1;
p_ExtraAssetSlots{ playerid } = 0; p_ExtraAssetSlots{ playerid } = 0;
p_IrresistibleCoins[ playerid ] = 0.0; p_IrresistibleCoins[ playerid ] = 0.0;
return 1; return 1;
@ -154,7 +157,7 @@ hook OnDialogResponse( playerid, dialogid, response, listitem, inputtext[ ] )
p_CoinMarketPage{ playerid } = ICM_PAGE_DEFAULT; p_CoinMarketPage{ playerid } = ICM_PAGE_DEFAULT;
p_CoinMarketSelectedItem{ playerid } = listitem; p_CoinMarketSelectedItem{ playerid } = listitem;
return ShowPlayerDialog( playerid, DIALOG_YOU_SURE_VIP, DIALOG_STYLE_MSGBOX, ""COL_GOLD"Irresistible Coin -{FFFFFF} Confirmation", sprintf( ""COL_WHITE"Are you sure that you want to spend %s IC?", number_format( iCoinRequirement, .decimals = 2 ) ), "Yes", "No" ); return ShowPlayerDialog( playerid, DIALOG_YOU_SURE_VIP, DIALOG_STYLE_MSGBOX, ""COL_GOLD"Irresistible Coin -"COL_WHITE" Confirmation", sprintf( ""COL_WHITE"Are you sure that you want to spend %s IC?", number_format( iCoinRequirement, .decimals = 2 ) ), "Yes", "No" );
} }
} }
else if ( dialogid == DIALOG_IC_MARKET_2 || dialogid == DIALOG_IC_MARKET_3 ) else if ( dialogid == DIALOG_IC_MARKET_2 || dialogid == DIALOG_IC_MARKET_3 )
@ -175,7 +178,7 @@ hook OnDialogResponse( playerid, dialogid, response, listitem, inputtext[ ] )
p_CoinMarketPage{ playerid } = ( dialogid == DIALOG_IC_MARKET_3 ) ? ICM_PAGE_CASHCARD : ICM_PAGE_ASSETS; p_CoinMarketPage{ playerid } = ( dialogid == DIALOG_IC_MARKET_3 ) ? ICM_PAGE_CASHCARD : ICM_PAGE_ASSETS;
p_CoinMarketSelectedItem{ playerid } = listitem; p_CoinMarketSelectedItem{ playerid } = listitem;
return ShowPlayerDialog( playerid, DIALOG_YOU_SURE_VIP, DIALOG_STYLE_MSGBOX, ""COL_GOLD"Irresistible Coin -{FFFFFF} Confirmation", sprintf( ""COL_WHITE"Are you sure that you want to spend %s IC?", number_format( iCoinRequirement, .decimals = 2 ) ), "Yes", "No" ); return ShowPlayerDialog( playerid, DIALOG_YOU_SURE_VIP, DIALOG_STYLE_MSGBOX, ""COL_GOLD"Irresistible Coin -"COL_WHITE" Confirmation", sprintf( ""COL_WHITE"Are you sure that you want to spend %s IC?", number_format( iCoinRequirement, .decimals = 2 ) ), "Yes", "No" );
} }
else if ( dialogid == DIALOG_YOU_SURE_VIP ) else if ( dialogid == DIALOG_YOU_SURE_VIP )
{ {
@ -356,52 +359,204 @@ hook OnDialogResponse( playerid, dialogid, response, listitem, inputtext[ ] )
} }
return ShowPlayerDialog( playerid, DIALOG_CHANGENAME, DIALOG_STYLE_INPUT, "Change your name", ""COL_WHITE"What would you like your new name to be? And also, double check!", "Change", "Back" ); return ShowPlayerDialog( playerid, DIALOG_CHANGENAME, DIALOG_STYLE_INPUT, "Change your name", ""COL_WHITE"What would you like your new name to be? And also, double check!", "Change", "Back" );
} }
else if ( dialogid == DIALOG_NEXT_PAGE_VIP && response ) else if ( dialogid == DIALOG_VIP_MAIN && response )
{ {
static static
vip_description[ 1350 ]; vip_description[ 1420 ];
if ( vip_description[ 0 ] == '\0' ) switch ( listitem )
{ {
vip_description = " \t"COL_PLATINUM"Platinum VIP\t"COL_DIAMOND"Diamond VIP\n"; case 0: format( vip_description, sizeof( vip_description ), "\t"COL_GREY"Feature\t"COL_GREY"Reward\n"\
strcat( vip_description, ""COL_GREEN"Price (USD)\t"COL_GREEN"$50.00 USD\t"COL_GREEN"$100.00 USD\n" ); "Money Provided\t"COL_GREEN"$25,000,000\n"\
strcat( vip_description, "Money Provided\t$12,500,000\t$25,000,000\n" ); "House Provided\t"COL_GREEN"Yes\n"\
strcat( vip_description, "House Provided\tY\tY\n" ); "Vehicle Provided\t"COL_GREEN"Yes\n"\
strcat( vip_description, "Vehicle Provided\tY\tY\n" ); "Garage Provided\t"COL_GREEN"Yes\n"\
strcat( vip_description, "Garage Provided\tY\tY\n" ); "Gate Provided\t"COL_GREEN"Yes\n"\
strcat( vip_description, "Gate Provided\tN\tY\n" ); "Weed Business Provided\t"COL_GREEN"Yes\n"\
strcat( vip_description, "Weed Business Provided\tN\tY\n" ); "House Customization\t"COL_GREEN"Large\n"\
strcat( vip_description, "House Customization\tMedium\tLarge\n" ); "Total house slots\t"COL_GREEN"No limit\n"\
strcat( vip_description, "Total house slots\t10\tunlimited\n" ); "Total garage slots\t"COL_GREEN"No limit\n"\
strcat( vip_description, "Total garage slots\t10\tunlimited\n" ); "Total business slots\t"COL_GREEN"No limit\n"\
strcat( vip_description, "Total business slots\t10\tunlimited\n" ); "Total vehicle slots\t"COL_GREEN"20\n"\
strcat( vip_description, "Total vehicle slots\t10\t20\n" ); "Weapons on spawn\t"COL_GREEN"3\n"\
strcat( vip_description, "Weapons on spawn\t2\t2\n" ); "Armour on spawn\t"COL_GREEN"Yes\n"\
strcat( vip_description, "Armour on spawn\t100%\t100%\n" ); "Coin generation increase\t"COL_GREEN"25%%\n"\
strcat( vip_description, "Coin generation increase\t10%\t25%\n" ); "Ability to transfer coins P2P\t"COL_GREEN"Yes\n"\
strcat( vip_description, "Ability to transfer coins P2P\tY\tY\n" ); "Ability to sell coins on the coin market (/ic sell)\t"COL_GREEN"Yes\n"\
strcat( vip_description, "Ability to sell coins on the coin market (/ic sell)\tY\tY\n" ); "Ability to use two jobs (/vipjob)\t"COL_GREEN"Yes\n"\
strcat( vip_description, "Ability to use two jobs (/vipjob)\tY\tY\n" ); "Premium home listing fees waived\t"COL_GREEN"Yes\n"\
strcat( vip_description, "Premium home listing fees waived\tY\tY\n" ); "Tax reduction\t"COL_GREEN"50%%\n"\
strcat( vip_description, "Tax reduction\t0%\t50%\n" ); "Inactive asset protection\t"COL_GREEN"30 days\n"\
strcat( vip_description, "Inactive asset protection\t14 days\t31 days\n" ); "Total Vehicle component editing slots\t"COL_GREEN"10\n"\
strcat( vip_description, "Total Vehicle component editing slots\t8\t10\n" ); "Furniture slots available\t"COL_GREEN"50\n"\
strcat( vip_description, "Furniture slots available\t45\t50\n" ); "V.I.P Lounge Weapon Redeeming Cooldown\t"COL_GREEN"No limit\n"\
strcat( vip_description, "V.I.P Lounge Weapon Redeeming Cooldown\t1 min\tno limit\n" ); "V.I.P Tag On Forum\t"COL_GREEN"Yes\n"\
strcat( vip_description, "V.I.P Tag On Forum\tY\tY\n" ); "Access to V.I.P chat\t"COL_GREEN"Yes\n"\
strcat( vip_description, "Access to V.I.P chat\tY\tY\n" ); "Access to V.I.P lounge\t"COL_GREEN"Yes\n"\
strcat( vip_description, "Access to V.I.P lounge\tY\tY\n" ); "Can spawn with a specific skin\t"COL_GREEN"Yes\n"\
strcat( vip_description, "Can spawn with a specific skin\tY\tY\n" ); "Access to V.I.P toys\t"COL_GREEN"Yes\n"\
strcat( vip_description, "Access to V.I.P toys\tY\tY\n" ); "Access to custom gang colors (/gangcolor)\t"COL_GREEN"Yes\n"\
strcat( vip_description, "Access to custom gang colors (/gangcolor)\tY\tY\n" ); "Access to extra house weapon storage slots\t"COL_GREEN"Yes\n"\
strcat( vip_description, "Access to extra house weapon storage slots\tY\tY\n" ); "Can play custom radio URLs (/radio)\t"COL_GREEN"Yes\n"\
strcat( vip_description, "Can play custom radio URLs (/radio)\tY\tY\n" ); "Ability to adjust your label's color (/labelcolor)\t"COL_GREEN"Yes\n"\
strcat( vip_description, "Ability to adjust your label's color (/labelcolor)\tY\tY\n" ); "Can show a message to people you kill (/deathmsg)\t"COL_GREEN"Yes\n"\
strcat( vip_description, "Can show a message to people you kill (/deathmsg)\tY\tY\n" ); "Can adjust the sound of your hitmarker (/hitmarker)\t"COL_GREEN"Yes" );
strcat( vip_description, "Can adjust the sound of your hitmarker (/hitmarker)\tY\tY\n" );
case 1: format( vip_description, sizeof( vip_description ), "\t"COL_GREY"Feature\t"COL_GREY"Reward\n"\
"Money Provided\t"COL_GREEN"$12,500,000\n"\
"House Provided\t"COL_GREEN"Yes\n"\
"Vehicle Provided\t"COL_GREEN"Yes\n"\
"Garage Provided\t"COL_RED"No\n"\
"Gate Provided\t"COL_RED"No\n"\
"Weed Business Provided\t"COL_RED"No\n"\
"House Customization\t"COL_GREEN"Medium\n"\
"Total house slots\t"COL_GREEN"10\n"\
"Total garage slots\t"COL_GREEN"10\n"\
"Total business slots\t"COL_GREEN"10\n"\
"Total vehicle slots\t"COL_GREEN"10\n"\
"Weapons on spawn\t"COL_GREEN"3\n"\
"Armour on spawn\t"COL_GREEN"Yes\n"\
"Coin generation increase\t"COL_GREEN"10%%\n"\
"Ability to transfer coins P2P\t"COL_GREEN"Yes\n"\
"Ability to sell coins on the coin market (/ic sell)\t"COL_GREEN"Yes\n"\
"Ability to use two jobs (/vipjob)\t"COL_RED"No\n"\
"Premium home listing fees waived\t"COL_GREEN"Yes\n"\
"Tax reduction\t"COL_RED"0%%\n"\
"Inactive asset protection\t"COL_GREEN"14 days\n"\
"Total Vehicle component editing slots\t"COL_GREEN"8\n"\
"Furniture slots available\t"COL_GREEN"45\n"\
"V.I.P Lounge Weapon Redeeming Cooldown\t"COL_GREEN"1 minutes\n"\
"V.I.P Tag On Forum\t"COL_GREEN"Yes\n"\
"Access to V.I.P chat\t"COL_GREEN"Yes\n"\
"Access to V.I.P lounge\t"COL_GREEN"Yes\n"\
"Can spawn with a specific skin\t"COL_GREEN"Yes\n"\
"Access to V.I.P toys\t"COL_GREEN"Yes\n"\
"Access to custom gang colors (/gangcolor)\t"COL_GREEN"Yes\n"\
"Access to extra house weapon storage slots\t"COL_GREEN"Yes\n"\
"Can play custom radio URLs (/radio)\t"COL_GREEN"Yes\n"\
"Ability to adjust your label's color (/labelcolor)\t"COL_GREEN"Yes\n"\
"Can show a message to people you kill (/deathmsg)\t"COL_GREEN"Yes\n"\
"Can adjust the sound of your hitmarker (/hitmarker)\t"COL_GREEN"Yes" );
case 2: format( vip_description, sizeof( vip_description ), "\t"COL_GREY"Feature\t"COL_GREY"Reward\n"\
"Money Provided\t"COL_GREEN"$5,000,000\n"\
"House Provided\t"COL_GREEN"Yes\n"\
"Vehicle Provided\t"COL_GREEN"Yes\n"\
"Garage Provided\t"COL_RED"No\n"\
"Gate Provided\t"COL_RED"No\n"\
"Weed Business Provided\t"COL_RED"No\n"\
"House Customization\t"COL_GREEN"Small\n"\
"Total house slots\t"COL_GREEN"8\n"\
"Total garage slots\t"COL_GREEN"8\n"\
"Total business slots\t"COL_GREEN"8\n"\
"Total vehicle slots\t"COL_GREEN"6\n"\
"Weapons on spawn\t"COL_GREEN"2\n"\
"Armour on spawn\t"COL_GREEN"Yes\n"\
"Coin generation increase\t"COL_RED"0%%\n"\
"Ability to transfer coins P2P\t"COL_GREEN"Yes\n"\
"Ability to sell coins on the coin market (/ic sell)\t"COL_GREEN"Yes\n"\
"Ability to use two jobs (/vipjob)\t"COL_RED"No\n"\
"Premium home listing fees waived\t"COL_RED"No\n"\
"Tax reduction\t"COL_RED"0%%\n"\
"Inactive asset protection\t"COL_GREEN"14 days\n"\
"Total Vehicle component editing slots\t"COL_GREEN"6\n"\
"Furniture slots available\t"COL_GREEN"40\n"\
"V.I.P Lounge Weapon Redeeming Cooldown\t"COL_GREEN"5 minutes\n"\
"V.I.P Tag On Forum\t"COL_GREEN"Yes\n"\
"Access to V.I.P chat\t"COL_GREEN"Yes\n"\
"Access to V.I.P lounge\t"COL_GREEN"Yes\n"\
"Can spawn with a specific skin\t"COL_GREEN"Yes\n"\
"Access to V.I.P toys\t"COL_GREEN"Yes\n"\
"Access to custom gang colors (/gangcolor)\t"COL_GREEN"Yes\n"\
"Access to extra house weapon storage slots\t"COL_GREEN"Yes\n"\
"Can play custom radio URLs (/radio)\t"COL_GREEN"Yes\n"\
"Ability to adjust your label's color (/labelcolor)\t"COL_GREEN"Yes\n"\
"Can show a message to people you kill (/deathmsg)\t"COL_GREEN"Yes\n"\
"Can adjust the sound of your hitmarker (/hitmarker)\t"COL_GREEN"Yes" );
case 3: format( vip_description, sizeof( vip_description ), "\t"COL_GREY"Feature\t"COL_GREY"Reward\n"\
"Money Provided\t"COL_GREEN"$2,500,000\n"\
"House Provided\t"COL_RED"No\n"\
"Vehicle Provided\t"COL_RED"No\n"\
"Garage Provided\t"COL_RED"No\n"\
"Gate Provided\t"COL_RED"No\n"\
"Weed Business Provided\t"COL_RED"No\n"\
"House Customization\t"COL_RED"No\n"\
"Total house slots\t"COL_GREEN"6\n"\
"Total garage slots\t"COL_GREEN"6\n"\
"Total business slots\t"COL_GREEN"6\n"\
"Total vehicle slots\t"COL_GREEN"4\n"\
"Weapons on spawn\t"COL_GREEN"1\n"\
"Armour on spawn\t"COL_RED"No\n"\
"Coin generation increase\t"COL_RED"0%%\n"\
"Ability to transfer coins P2P\t"COL_GREEN"Yes\n"\
"Ability to sell coins on the coin market (/ic sell)\t"COL_GREEN"Yes\n"\
"Ability to use two jobs (/vipjob)\t"COL_RED"No\n"\
"Premium home listing fees waived\t"COL_RED"No\n"\
"Tax reduction\t"COL_RED"0%%\n"\
"Inactive asset protection\t"COL_GREEN"14 days\n"\
"Total Vehicle component editing slots\t"COL_GREEN"4\n"\
"Furniture slots available\t"COL_GREEN"35\n"\
"V.I.P Lounge Weapon Redeeming Cooldown\t"COL_GREEN"5 minutes\n"\
"V.I.P Tag On Forum\t"COL_GREEN"Yes\n"\
"Access to V.I.P chat\t"COL_GREEN"Yes\n"\
"Access to V.I.P lounge\t"COL_GREEN"Yes\n"\
"Can spawn with a specific skin\t"COL_GREEN"Yes\n"\
"Access to V.I.P toys\t"COL_GREEN"Yes\n"\
"Access to custom gang colors (/gangcolor)\t"COL_GREEN"Yes\n"\
"Access to extra house weapon storage slots\t"COL_GREEN"Yes\n"\
"Can play custom radio URLs (/radio)\t"COL_GREEN"Yes\n"\
"Ability to adjust your label's color (/labelcolor)\t"COL_GREEN"Yes\n"\
"Can show a message to people you kill (/deathmsg)\t"COL_GREEN"Yes\n"\
"Can adjust the sound of your hitmarker (/hitmarker)\t"COL_GREEN"Yes" );
case 4: format( vip_description, sizeof( vip_description ), "\t"COL_GREY"Feature\t"COL_GREY"Reward\n"\
"Money Provided\t"COL_GREEN"$500,000\n"\
"House Provided\t"COL_RED"No\n"\
"Vehicle Provided\t"COL_RED"No\n"\
"Garage Provided\t"COL_RED"No\n"\
"Gate Provided\t"COL_RED"No\n"\
"Weed Business Provided\t"COL_RED"No\n"\
"House Customization\t"COL_RED"No\n"\
"Total house slots\t"COL_GREEN"5\n"\
"Total garage slots\t"COL_GREEN"5\n"\
"Total business slots\t"COL_GREEN"5\n"\
"Total vehicle slots\t"COL_GREEN"3\n"\
"Weapons on spawn\t"COL_GREEN"1\n"\
"Armour on spawn\t"COL_RED"No\n"\
"Coin generation increase\t"COL_RED"0%%\n"\
"Ability to transfer coins P2P\t"COL_RED"No\n"\
"Ability to sell coins on the coin market (/ic sell)\t"COL_RED"No\n"\
"Ability to use two jobs (/vipjob)\t"COL_RED"No\n"\
"Premium home listing fees waived\t"COL_RED"No\n"\
"Tax reduction\t"COL_RED"0%%\n"\
"Inactive asset protection\t"COL_GREEN"14 days\n"\
"Total Vehicle component editing slots\t"COL_GREEN"3\n"\
"Furniture slots available\t"COL_GREEN"30\n"\
"V.I.P Lounge Weapon Redeeming Cooldown\t"COL_GREEN"5 minutes\n"\
"V.I.P Tag On Forum\t"COL_GREEN"Yes\n"\
"Access to V.I.P chat\t"COL_GREEN"Yes\n"\
"Access to V.I.P lounge\t"COL_GREEN"Yes\n"\
"Can spawn with a specific skin\t"COL_GREEN"Yes\n"\
"Access to V.I.P toys\t"COL_GREEN"Yes\n"\
"Access to custom gang colors (/gangcolor)\t"COL_GREEN"Yes\n"\
"Access to extra house weapon storage slots\t"COL_GREEN"Yes\n"\
"Can play custom radio URLs (/radio)\t"COL_GREEN"Yes\n"\
"Ability to adjust your label's color (/labelcolor)\t"COL_GREEN"Yes\n"\
"Can show a message to people you kill (/deathmsg)\t"COL_GREEN"Yes\n"\
"Can adjust the sound of your hitmarker (/hitmarker)\t"COL_GREEN"Yes" );
} }
return ShowPlayerDialog( playerid, DIALOG_BUY_VIP, DIALOG_STYLE_TABLIST_HEADERS, "{FFFFFF}Donate for V.I.P", vip_description, "Buy VIP", "Close" );
ShowPlayerDialog( playerid, DIALOG_BUY_VIP_MAIN, DIALOG_STYLE_TABLIST_HEADERS, sprintf( ""COL_GOLD"%s", g_irresistibleVipItems[ listitem ][ E_NAME ] ), vip_description, "Buy", "Back" );
return 1;
} }
else if ( dialogid == DIALOG_BUY_VIP_MAIN )
{
// if the player clicked on the right button, return /vip
if ( ! response ) return cmd_vip( playerid, " " );
else if ( response ) return ShowPlayerCoinMarketDialog( playerid );
}
else if ( dialogid == DIALOG_BUY_VIP && response ) else if ( dialogid == DIALOG_BUY_VIP && response )
{ {
return ShowPlayerCoinMarketDialog( playerid ); return ShowPlayerCoinMarketDialog( playerid );
@ -521,49 +676,8 @@ CMD:irresistiblecoins( playerid, params[ ] )
CMD:donate( playerid, params[ ] ) return cmd_vip( playerid, params ); CMD:donate( playerid, params[ ] ) return cmd_vip( playerid, params );
CMD:vip( playerid, params[ ] ) CMD:vip( playerid, params[ ] )
{ {
static p_SelectedPackage{ playerid } = -1;
vip_description[ 1420 ]; ShowPlayerDialog( playerid, DIALOG_VIP_MAIN, DIALOG_STYLE_TABLIST, ""COL_GOLD"VIP Packages", "{4EE2EC}Diamond VIP\t"COL_GREEN"$100.00 USD\n{E0E0E0}Platinum VIP\t"COL_GREEN"$50.00 USD\n"COL_GOLD"Gold VIP\t"COL_GREEN"$25.00 USD\n{CD7F32}Bronze VIP\t"COL_GREEN"$15.00 USD\n"COL_GREY"Regular VIP\t"COL_GREEN"$5.00 USD", "Select", "Close" );
if ( vip_description[ 0 ] == '\0' )
{
vip_description = " \t"COL_WHITE"Regular VIP\t"COL_BRONZE"Bronze VIP\t"COL_GOLD"Gold VIP\n";
strcat( vip_description, ""COL_GREEN"Price (USD)\t"COL_GREEN"$5.00 USD\t"COL_GREEN"$15.00 USD\t"COL_GREEN"$25.00 USD\n" );
strcat( vip_description, "Money Provided\t$500,000\t$2,500,000\t$5,000,000\n" );
strcat( vip_description, "House Provided\tN\tY\tY\n" );
strcat( vip_description, "Vehicle Provided\tN\tN\tY\n" );
strcat( vip_description, "Garage Provided\tN\tN\tN\n" );
strcat( vip_description, "Gate Provided\tN\tN\tN\n" );
strcat( vip_description, "Weed Business Provided\tN\tN\tN\n" );
strcat( vip_description, "House Customization\tN\tN\tSmall\n" );
strcat( vip_description, "Total house slots\t5\t6\t8\n" );
strcat( vip_description, "Total garage slots\t5\t6\t8\n" );
strcat( vip_description, "Total business slots\t5\t6\t8\n" );
strcat( vip_description, "Total vehicle slots\t3\t4\t6\n" );
strcat( vip_description, "Weapons on spawn\t1\t1\t2\n" );
strcat( vip_description, "Armour on spawn\t0%\t0%\t100%\n" );
strcat( vip_description, "Coin generation increase\t0%\t0%\t0%\n" );
strcat( vip_description, "Ability to transfer coins P2P\tN\tY\tY\n" );
strcat( vip_description, "Ability to sell coins on the coin market (/ic sell)\tN\tY\tY\n" );
strcat( vip_description, "Ability to use two jobs (/vipjob)\tN\tN\tN\n" );
strcat( vip_description, "Premium home listing fees waived\tN\tN\tN\n" );
strcat( vip_description, "Tax reduction\t0%\t0%\t0%\n" );
strcat( vip_description, "Inactive asset protection\t14 days\t14 days\t14 days\n" );
strcat( vip_description, "Total Vehicle component editing slots\t3\t4\t6\n" );
strcat( vip_description, "Furniture slots available\t30\t35\t40\n" );
strcat( vip_description, "V.I.P Lounge Weapon Redeeming Cooldown\t5 min\t5 min\t5 min\n" );
strcat( vip_description, "V.I.P Tag On Forum\tY\tY\tY\n" );
strcat( vip_description, "Access to V.I.P chat\tY\tY\tY\n" );
strcat( vip_description, "Access to V.I.P lounge\tY\tY\tY\n" );
strcat( vip_description, "Can spawn with a specific skin\tY\tY\tY\n" );
strcat( vip_description, "Access to V.I.P toys\tY\tY\tY\n" );
strcat( vip_description, "Access to custom gang colors (/gangcolor)\tY\tY\tY\n" );
strcat( vip_description, "Access to extra house weapon storage slots\tY\tY\tY\n" );
strcat( vip_description, "Can play custom radio URLs (/radio)\tY\tY\tY\n" );
strcat( vip_description, "Ability to adjust your label's color (/labelcolor)\tY\tY\tY\n" );
strcat( vip_description, "Can show a message to people you kill (/deathmsg)\tY\tY\tY\n" );
strcat( vip_description, "Can adjust the sound of your hitmarker (/hitmarker)\tY\tY\tY\n" );
}
ShowPlayerDialog( playerid, DIALOG_NEXT_PAGE_VIP, DIALOG_STYLE_TABLIST_HEADERS, "{FFFFFF}Donate for V.I.P", vip_description, "See More", "Close" );
return 1; return 1;
} }
@ -572,16 +686,15 @@ CMD:vipcmds( playerid, params[ ] )
if ( p_VIPLevel[ playerid ] < 1 ) return SendError( playerid, "You are not a V.I.P, to become one visit "COL_GREY"donate.sfcnr.com" ); if ( p_VIPLevel[ playerid ] < 1 ) return SendError( playerid, "You are not a V.I.P, to become one visit "COL_GREY"donate.sfcnr.com" );
erase( szLargeString ); erase( szLargeString );
strcat( szLargeString, ""COL_GREY"/vipspawnwep\tConfigure your spawning weapons\n"\ strcat( szLargeString, ""COL_GREY"/vipspawnwep"COL_WHITE" - Configure your spawning weapons\n"\
""COL_GREY"/vipskin\tConfigure your spawning skin\n"\ ""COL_GREY"/vipskin"COL_WHITE" - Configure your spawning skin\n"\
""COL_GREY"/vipgun\tRedeem weapons or an armour vest from the gun locker\n"\ ""COL_GREY"/viplist"COL_WHITE" - A list of all online V.I.P. players.\n"\
""COL_GREY"/vsay\tGlobal V.I.P Chat\n" ); ""COL_GREY"/vipgun"COL_WHITE" - Redeem weapons or an armour vest from the gun locker\n"\
strcat( szLargeString, ""COL_GREY"/vipjob\tSet your secondary VIP job\n"\ ""COL_GREY"/vsay"COL_WHITE" - Global V.I.P Chat\n"\
""COL_GREY"/vippackage\tCustomize your VIP package name\n"\ ""COL_GREY"/vipjob"COL_WHITE" - Choose your V.I.P. job that allows you to have two jobs at once.\n"\
""COL_GREY"/mynotes\tAccess your VIP notes and material\n"\ ""COL_GREY"/mynotes"COL_WHITE" - Access your VIP notes and material" );
""COL_GREY"/mycustomizations\tAccess your house customization taxes" );
ShowPlayerDialog( playerid, DIALOG_NULL, DIALOG_STYLE_TABLIST, "{FFFFFF}V.I.P Commands", szLargeString, "Okay", "" ); ShowPlayerDialog( playerid, DIALOG_NULL, DIALOG_STYLE_MSGBOX, ""COL_GOLD"V.I.P Commands", szLargeString, "Okay", "" );
return 1; return 1;
} }
@ -613,7 +726,7 @@ stock ShowPlayerCoinMarketDialog( playerid, page = ICM_PAGE_DEFAULT )
strcat( szMarket, ""COL_GREEN"Buy shark cards...\t"COL_GREEN">>>\n" ); strcat( szMarket, ""COL_GREEN"Buy shark cards...\t"COL_GREEN">>>\n" );
strcat( szMarket, ""COL_PURPLE"Buy premium homes...\t"COL_PURPLE">>>\n" ); strcat( szMarket, ""COL_PURPLE"Buy premium homes...\t"COL_PURPLE">>>\n" );
strcat( szMarket, ""COL_GREY"See other items...\t"COL_GREY">>>" ); strcat( szMarket, ""COL_GREY"See other items...\t"COL_GREY">>>" );
return ShowPlayerDialog( playerid, DIALOG_IC_MARKET, DIALOG_STYLE_TABLIST_HEADERS, ""COL_GOLD"Irresistible Coin -{FFFFFF} Market", szMarket, "Select", "" ); return ShowPlayerDialog( playerid, DIALOG_IC_MARKET, DIALOG_STYLE_TABLIST_HEADERS, ""COL_GOLD"Irresistible Coin -"COL_WHITE" Market", szMarket, "Select", "" );
} }
else if ( page == ICM_PAGE_CASHCARD ) else if ( page == ICM_PAGE_CASHCARD )
{ {
@ -624,7 +737,7 @@ stock ShowPlayerCoinMarketDialog( playerid, page = ICM_PAGE_DEFAULT )
new iCoinRequirement = floatround( g_irresistibleCashCards[ i ] [ E_PRICE ] * discount ); new iCoinRequirement = floatround( g_irresistibleCashCards[ i ] [ E_PRICE ] * discount );
format( szMarket, sizeof( szMarket ), "%s%s\t"COL_GREEN"%s\t"COL_GOLD"%s\n", szMarket, g_irresistibleCashCards[ i ] [ E_NAME ], number_format( g_irresistibleCashCards[ i ] [ E_ID ] ), number_format( iCoinRequirement, .decimals = 0 ) ); format( szMarket, sizeof( szMarket ), "%s%s\t"COL_GREEN"%s\t"COL_GOLD"%s\n", szMarket, g_irresistibleCashCards[ i ] [ E_NAME ], number_format( g_irresistibleCashCards[ i ] [ E_ID ] ), number_format( iCoinRequirement, .decimals = 0 ) );
} }
return ShowPlayerDialog( playerid, DIALOG_IC_MARKET_3, DIALOG_STYLE_TABLIST_HEADERS, ""COL_GOLD"Irresistible Coin -{FFFFFF} Cash Cards", szMarket, "Select", "Back" ); return ShowPlayerDialog( playerid, DIALOG_IC_MARKET_3, DIALOG_STYLE_TABLIST_HEADERS, ""COL_GOLD"Irresistible Coin -"COL_WHITE" Cash Cards", szMarket, "Select", "Back" );
} }
else else
{ {
@ -633,7 +746,7 @@ stock ShowPlayerCoinMarketDialog( playerid, page = ICM_PAGE_DEFAULT )
new iCoinRequirement = floatround( g_irresistibleMarketItems[ i ] [ E_PRICE ] * discount ); new iCoinRequirement = floatround( g_irresistibleMarketItems[ i ] [ E_PRICE ] * discount );
format( szMarket, sizeof( szMarket ), "%s%s\t"COL_GOLD"%s\n", szMarket, g_irresistibleMarketItems[ i ] [ E_NAME ], number_format( iCoinRequirement, .decimals = 0 ) ); format( szMarket, sizeof( szMarket ), "%s%s\t"COL_GOLD"%s\n", szMarket, g_irresistibleMarketItems[ i ] [ E_NAME ], number_format( iCoinRequirement, .decimals = 0 ) );
} }
return ShowPlayerDialog( playerid, DIALOG_IC_MARKET_2, DIALOG_STYLE_TABLIST_HEADERS, ""COL_GOLD"Irresistible Coin -{FFFFFF} Asset Market", szMarket, "Select", "Back" ); return ShowPlayerDialog( playerid, DIALOG_IC_MARKET_2, DIALOG_STYLE_TABLIST_HEADERS, ""COL_GOLD"Irresistible Coin -"COL_WHITE" Asset Market", szMarket, "Select", "Back" );
} }
} }

View File

@ -627,10 +627,8 @@ stock CheckForBlackjack( tableid )
// alert world // alert world
if ( g_blackjackPlayerState[ tableid ] [ player_index ] == BLACKJACK_STATE_WIN && payout > g_blackjackData[ tableid ] [ E_PAYOUT ] && payout >= 10000 ) { if ( g_blackjackPlayerState[ tableid ] [ player_index ] == BLACKJACK_STATE_WIN && payout > g_blackjackData[ tableid ] [ E_PAYOUT ] && payout >= 10000 ) {
UpdateServerVariable( "blackjack_wins", 0, GetGVarFloat( "blackjack_wins" ) + ( float( payout ) / 1000000.0 ), "", GLOBAL_VARTYPE_FLOAT ); UpdateServerVariable( "blackjack_wins", 0, GetGVarFloat( "blackjack_wins" ) + ( float( payout ) / 1000000.0 ), "", GLOBAL_VARTYPE_FLOAT );
foreach(new i : Player) foreach ( new i : Player ) if ( ! IsPlayerSettingToggled( i, SETTING_HIDE_GAMB_MSG ) ) {
{ SendClientMessageFormatted( i, -1, ""COL_GREY"[CASINO]{FFFFFF} %s(%d) has won "COL_GOLD"%s"COL_WHITE" from blackjack!", ReturnPlayerName( playerid ), playerid, cash_format( payout ) );
if ( !IsPlayerSettingToggled( i, 12 ) )
SendClientMessageFormatted( i, -1, ""COL_GREY"[CASINO]{FFFFFF} %s(%d) has won "COL_GOLD"%s"COL_WHITE" from blackjack!", ReturnPlayerName( playerid ), playerid, cash_format( payout ) );
} }
} }
} }

View File

@ -686,10 +686,8 @@ public OnRouletteWheelStop( rouletteid, winner )
// inform users // inform users
if ( profit >= 10000 ) { if ( profit >= 10000 ) {
foreach(new i : Player) foreach ( new i : Player ) if ( ! IsPlayerSettingToggled( i, SETTING_HIDE_GAMB_MSG ) ) {
{ SendClientMessageFormatted( i, -1, ""COL_GREY"[CASINO]{FFFFFF} %s(%d) has won "COL_GOLD"%s"COL_WHITE" from roulette!", ReturnPlayerName( playerid ), playerid, cash_format( profit ) );
if ( !IsPlayerSettingToggled( i, 12 ) )
SendClientMessageFormatted( i, -1, ""COL_GREY"[CASINO]{FFFFFF} %s(%d) has won "COL_GOLD"%s"COL_WHITE" from roulette!", ReturnPlayerName( playerid ), playerid, cash_format( profit ) );
} }
} }

View File

@ -287,13 +287,11 @@ public OnPlayerUseSlotMachine( playerid, slotid, first_combo, second_combo, thir
// alert user // alert user
if ( iNetWin > g_slotmachineData[ slotid ] [ E_ENTRY_FEE ] ) { if ( iNetWin > g_slotmachineData[ slotid ] [ E_ENTRY_FEE ] ) {
SendGlobalMessage( -1, ""COL_GREY"[CASINO]{FFFFFF} %s(%d) has won "COL_GOLD"%s"COL_WHITE" from the %s casino slots!", ReturnPlayerName( playerid ), playerid, cash_format( iNetWin ), g_slotmachineData[ slotid ] [ E_ENTRY_FEE ] == 10000 ? ( "Four Dragons" ) : ( g_slotmachineData[ slotid ] [ E_ENTRY_FEE ] >= 25000 ? ( "Visage" ) : ( "Caligulas" ) ) ); // SendGlobalMessage( -1, ""COL_GREY"[CASINO]{FFFFFF} %s(%d) has won "COL_GOLD"%s"COL_WHITE" from the %s casino slots!", ReturnPlayerName( playerid ), playerid, cash_format( iNetWin ), g_slotmachineData[ slotid ] [ E_ENTRY_FEE ] == 10000 ? ( "Four Dragons" ) : ( g_slotmachineData[ slotid ] [ E_ENTRY_FEE ] >= 25000 ? ( "Visage" ) : ( "Caligulas" ) ) );
foreach(new i : Player) foreach ( new i : Player ) if ( ! IsPlayerSettingToggled( i, SETTING_HIDE_GAMB_MSG ) ) {
{ SendClientMessageFormatted( i, -1, ""COL_GREY"[CASINO]{FFFFFF} %s(%d) has won "COL_GOLD"%s"COL_WHITE" from the %s casino slots!", ReturnPlayerName( playerid ), playerid, cash_format( iNetWin ), g_slotmachineData[ slotid ] [ E_ENTRY_FEE ] == 10000 ? ( "Four Dragons" ) : ( g_slotmachineData[ slotid ] [ E_ENTRY_FEE ] >= 25000 ? ( "Visage" ) : ( "Caligulas" ) ) );
if ( !IsPlayerSettingToggled( i, 12 ) )
SendClientMessageFormatted( i, -1, ""COL_GREY"[CASINO]{FFFFFF} %s(%d) has won "COL_GOLD"%s"COL_WHITE" from the %s casino slots!", ReturnPlayerName( playerid ), playerid, cash_format( iNetWin ), g_slotmachineData[ slotid ] [ E_ENTRY_FEE ] == 10000 ? ( "Four Dragons" ) : ( g_slotmachineData[ slotid ] [ E_ENTRY_FEE ] >= 25000 ? ( "Visage" ) : ( "Caligulas" ) ) );
} }
} else { } else {
SendServerMessage( playerid, "Congratulations, you've won "COL_GOLD"%s"COL_WHITE"!", cash_format( iNetWin ) ); SendServerMessage( playerid, "Congratulations, you've won "COL_GOLD"%s"COL_WHITE"!", cash_format( iNetWin ) );
} }

View File

@ -38,6 +38,7 @@ new
bool: p_Kidnapped [ MAX_PLAYERS char ], bool: p_Kidnapped [ MAX_PLAYERS char ],
bool: p_ToggledViewPM [ MAX_PLAYERS char ], bool: p_ToggledViewPM [ MAX_PLAYERS char ],
bool: p_ToggleCopChat [ MAX_PLAYERS char ], bool: p_ToggleCopChat [ MAX_PLAYERS char ],
bool: p_TogglePBChat [ MAX_PLAYERS char ],
bool: p_pausedToLoad [ MAX_PLAYERS char ], bool: p_pausedToLoad [ MAX_PLAYERS char ],
bool: p_CantUseReport [ MAX_PLAYERS char ], bool: p_CantUseReport [ MAX_PLAYERS char ],
p_pausedToLoadTimer [ MAX_PLAYERS ], p_pausedToLoadTimer [ MAX_PLAYERS ],

View File

@ -419,6 +419,16 @@ static stock InitializeServerVehicles( )
tmpVariable = AddStaticVehicle( 451, -1879.5490, -630.3375, 1002.1699, 318.5035, 1, 1 ); // white tmpVariable = AddStaticVehicle( 451, -1879.5490, -630.3375, 1002.1699, 318.5035, 1, 1 ); // white
SetVehicleVirtualWorld( tmpVariable, 31 ), LinkVehicleToInterior( tmpVariable, 9 ), SetVehicleParamsEx( tmpVariable, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF ); SetVehicleVirtualWorld( tmpVariable, 31 ), LinkVehicleToInterior( tmpVariable, 9 ), SetVehicleParamsEx( tmpVariable, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF );
#if defined __cloudy_fishing_system
// SF Fishing Boats
AddStaticVehicle( 453, -2994.639892, 492.919006, 0.108999, 359.498992, -1, -1 );
AddStaticVehicle( 453, -2982.639892, 492.919006, -0.921999, 359.437011, -1, -1 );
AddStaticVehicle( 453, -2953.639892, 492.919006, -0.823000, 359.410003, -1, -1 );
AddStaticVehicle( 453, -2941.639892, 492.919006, -0.828999, 359.394989, -1, -1 );
AddStaticVehicle( 453, -2959.639892, 492.919006, -0.564000, 359.359985, -1, -1 );
AddStaticVehicle( 453, -2970.639892, 492.919006, -0.374000, 359.475006, -1, -1 );
#endif
// // // //
// LAS VENTURAS // // LAS VENTURAS //
// Credits: Niels // // Credits: Niels //

View File

@ -727,7 +727,19 @@ public OnPlayerSpawn( playerid )
SpawnToPaintball( playerid, p_PaintBallArena{ playerid } ); SpawnToPaintball( playerid, p_PaintBallArena{ playerid } );
return 1; return 1;
} }
#if defined __cloudy_event_system
else if ( IsPlayerInEvent( playerid ) )
{
if( ! EventSettingAllow( 0 ) && g_eventData[ EV_STARTED ] )
{
SetPlayerInEvent( playerid ); // respawns player in event.
return 1;
}
else RemovePlayerFromEvent( playerid, true ); // changes the InEvent variable to false.
}
#endif
if ( p_Class[ playerid ] == CLASS_CIVILIAN ) if ( p_Class[ playerid ] == CLASS_CIVILIAN )
{ {
if ( !p_JobSet{ playerid } ) if ( !p_JobSet{ playerid } )
@ -5284,11 +5296,13 @@ public OnDialogResponse( playerid, dialogid, response, listitem, inputtext[ ] )
{ {
if ( p_VIPLevel[ playerid ] < VIP_REGULAR ) return SendError( playerid, "You are not a V.I.P, to become one visit "COL_GREY"donate.sfcnr.com" ); if ( p_VIPLevel[ playerid ] < VIP_REGULAR ) return SendError( playerid, "You are not a V.I.P, to become one visit "COL_GREY"donate.sfcnr.com" );
szCMDS[ 0 ] = '\0'; szCMDS[ 0 ] = '\0';
strcat( szCMDS, ""COL_GREY"/viplist{FFFFFF} - A list of all online V.I.P. players.\n"\ strcat( szCMDS, ""COL_GREY"/vipspawnwep{FFFFFF} - Configure your spawning weapons\n"\
""COL_GREY"/vipspawnwep{FFFFFF} - Configure your V.I.P. weapons that you are given on spawning.\n"\ ""COL_GREY"/vipskin{FFFFFF} - Configure your spawning skin\n"\
""COL_GREY"/vipgun{FFFFFF} - Use the V.I.P. Lounge Weapon vending machine.\n"\ ""COL_GREY"/viplist{FFFFFF} - A list of all online V.I.P. players.\n"\
""COL_GREY"/vipskin{FFFFFF} - Configure your V.I.P. skin.\n"\ ""COL_GREY"/vipgun{FFFFFF} - Redeem weapons or an armour vest from the gun locker\n"\
""COL_GREY"/vipjob{FFFFFF} - Choose your V.I.P. job that allows you to have two jobs at once.\n" ); ""COL_GREY"/vsay{FFFFFF} - Global V.I.P Chat\n"\
""COL_GREY"/vipjob{FFFFFF} - Choose your V.I.P. job that allows you to have two jobs at once.\n"\
""COL_GREY"/mynotes{FFFFFF} - Access your VIP notes and material" );
ShowPlayerDialog( playerid, DIALOG_CMDS_REDIRECT, DIALOG_STYLE_MSGBOX, ""COL_GOLD"V.I.P. Commands", szCMDS, "Okay", "Back" ); ShowPlayerDialog( playerid, DIALOG_CMDS_REDIRECT, DIALOG_STYLE_MSGBOX, ""COL_GOLD"V.I.P. Commands", szCMDS, "Okay", "Back" );
} }
} }

View File

@ -1,3 +1,4 @@
v11.65.200
v11.60.190 v11.60.190
v11.57.188 v11.57.188
v11.56.186 v11.56.186

View File

@ -0,0 +1,9 @@
(+) Level 5 admins cannot create houses/cars/garages/businesses without a note being used.
(+) Adds CAC mode and new locations for the duel system (Stev).
(+) Adds /givearmour for level 5s (Nemesis).
(+) Adds roleplay level. Get benefits to minijobs by levelling it up. E.g. higher success mining.
(/) Inactive accounts will get removed now after 1 year.
(/) Oldschool class selection has been restored.
(/) "/vip" has been reformatted (Night).
(*) Fix global message spam with slot machines.
(*) Fix issue with features being shown and unavoidable on register.