Jailbreak Days Voter
This plugin was made by Wrecked. Take NO credits to myself .. Heres the problem. Anything you vote.. is gonna be zombie day .. also, if there are 2 ppl and i vote sparta and the other free, its automatically zombie .. why? Also, if the vote fails, i want some other vote between restricted and unrest freeday ! pleasaaseasease help !
PHP Code:
#include <amxmodx> #include <cstrike> #include <fun> #include <hamsandwich>
new const PLUGIN[] = "Days Votemenu" new const VERSION[] = "1.0" new const AUTHOR[] = "Wrecked"
new const prefix[] = "!g[Jailbreak]!y"
#define DAYS 7 #define VOTE_TIME 6.0 #define TASKID 1996 #define START_TASKID 1998
new iVotes[DAYS]
new const DAYSNAMES[DAYS][] = { "Zombie Day", "Cage Day", "Free Day", "Spartan Day", "War Day", "Knife Day", "Other Day" }
new iVoteAmount
new bool:b_DayChosen
new bool:b_NoWep
new menu
public plugin_init() { register_plugin( PLUGIN, VERSION, AUTHOR ) // :avast: register_event( "HLTV", "EVENT_NewRound", "a", "1=0", "2=0" ) // new round, no freezetime RegisterHam( Ham_Spawn, "player", "HAM_Spawn_Post", 1 ) RegisterHam( Ham_PlayerAddItem, "player", "HAM_Add_Item_Pre", 0 ) set_task( 7.0, "EVENT_NewRound", START_TASKID ) // since HLTV isn't called on mapstart }
public HAM_Add_Item_Pre( id, iEnt ) { if( cs_get_user_team( id ) == CS_TEAM_T && b_NoWep && b_DayChosen ) { return HAM_SUPERCEDE; } return HAM_IGNORED; }
public HAM_Spawn_Post( id ) { if( !is_user_alive( id ) || !b_DayChosen ) return HAM_IGNORED; new bigger = 0 for( new i = 1; i < DAYS; i++ ) // thanks seta { if( iVotes[i] > iVotes[bigger] ) { bigger = i } } EXEC_DayAction( id, bigger + 1 ) return HAM_IGNORED; }
public EVENT_NewRound() { b_DayChosen = false b_NoWep = false remove_task( TASKID ) remove_task( START_TASKID ) for( new i = 0; i < sizeof( iVotes ); i++ ) { iVotes[i] = 0 } menu = menu_create( "What day will today be?", "MENU_Handler" ) for( new z = 0; z < DAYS; z++ ) { new menuitem[64] new number[10] formatex( menuitem, 63, "%s", DAYSNAMES[z] ) formatex( number, 9, "%d", z + 1 ) menu_additem( menu, menuitem, number, 0 ) } menu_setprop( menu, MPROP_EXIT, MEXIT_ALL ) new iPlayers[32] new iNum get_players( iPlayers, iNum ) new id for( new i = 0; i < iNum; i++ ) { id = iPlayers[i] if( cs_get_user_team( id ) == CS_TEAM_CT ) { menu_display( id, menu, 0 ) iVoteAmount++ } } UPDATE_Hud() set_task( VOTE_TIME, "TASK_GetDay", TASKID ) }
public MENU_Handler( id, menu, item ) { if( item == MENU_EXIT ) { menu_destroy( menu ) return PLUGIN_HANDLED; } new name[64] new data[6] new access new callback menu_item_getinfo( menu, item, access, data, 5, name, 63, callback ) new choice = str_to_num( data ) iVotes[choice-1]++ iVoteAmount-- menu_destroy( menu ) UPDATE_Hud() return PLUGIN_HANDLED; }
public TASK_GetDay() { new bigger = 0; for( new i = 1; i < DAYS; i++ ) // thanks Seta { if( iVotes[i] > iVotes[bigger] ) { bigger = i } } EXEC_DayAction( 0, bigger + 1 ) }
EXEC_DayAction( plr, iValue ) { b_DayChosen = true new iPlayers[32] new iNum = 1 if( plr ) { iPlayers[0] = plr } else { get_players( iPlayers, iNum ) } new id switch( iValue ) { case 1: // zombie { for( new i = 0; i < iNum; i++ ) { id = iPlayers[i] if( cs_get_user_team( id ) == CS_TEAM_T && is_user_alive( id ) ) { set_user_health( id, 2000 ) } } b_NoWep = true ChatColor( plr ? plr : 0, "%s Today is a!g zombie day!y! All terrorists get!g 2000!y HP!", prefix ) } case 2: // cage { ChatColor( plr ? plr : 0, "%s Everyone get to the!g cage!y and listen to orders! It's a!g cage day!", prefix ) b_NoWep = false } case 3: // free { ChatColor( plr ? plr : 0, "%s Today is a!g free day!", prefix ) b_NoWep = false } case 4: // spartan { for( new i = 0; i < iNum; i++ ) { id = iPlayers[i] if( cs_get_user_team( id ) == CS_TEAM_T && is_user_alive( id ) ) { strip_user_weapons( id ) give_item( id, "weapon_deagle" ) cs_set_user_bpammo( id, CSW_DEAGLE, 35 ) give_item( id, "weapon_shield" ) } } ChatColor( plr ? plr : 0, "%s Today is a!g spartan day!y!", prefix ) b_NoWep = true } case 5: // war { for( new i = 0; i < iNum; i++ ) { id = iPlayers[i] if( is_user_alive( id ) ) { strip_user_weapons( id ) new iWep = give_item( id, "weapon_m3" ) cs_set_weapon_ammo( iWep, 32 ) // 32, right? } } ChatColor( plr ? plr : 0, "%s Today is a!g war day!y!", prefix ) b_NoWep = true } case 6: // knife { for( new i = 0; i < iNum; i++ ) { id = iPlayers[i] if( is_user_alive( id ) ) { strip_user_weapons( id ) if( cs_get_user_team( id ) == CS_TEAM_CT ) { give_item( id, "weapon_knife" ) // requested by chris set_user_health( id, 1000 ) } } } ChatColor( plr ? plr : 0, "%s Today is a!g knife day!y!", prefix ) b_NoWep = true } case 7: // other { ChatColor( plr ? plr : 0, "%s Today is an!g other day!y!", prefix ) b_NoWep = false } } }
stock UPDATE_Hud() { new message[256] new iLen iLen += formatex( message, charsmax( message ) - iLen, "%s v%s by %s^n^n", PLUGIN, VERSION, AUTHOR ) for( new i = 0; i < DAYS; i++ ) { iLen += formatex( message[iLen], charsmax( message ) - iLen, "%s [%d Vote%s]^n", DAYSNAMES[i], iVotes[i], ( iVotes[i] == 1 ) ? "" : "s" ) } iLen += formatex( message[iLen], charsmax( message ) - iLen, "^nRemaining Votes: %d", iVoteAmount ) set_hudmessage( 255, 255, 255, 0.56, 0.02, 0, 6.0, 2.0 ) show_hudmessage( 0, "%s", message ) }
stock ChatColor( id, const input[], any:... ) { new count = 1; new players[32]; static msg[191]; vformat(msg, 190, input, 3); replace_all(msg, 190, "!g", "^4"); // Green Color replace_all(msg, 190, "!y", "^1"); // Default Color replace_all(msg, 190, "!team", "^3"); // Team Color replace_all(msg, 190, "!team2", "^0"); // Team2 Color if (id) players[0] = id; else get_players(players, count, "ch"); for (new i = 0; i < count; i++) { if (is_user_connected(players[i])) { message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]); write_byte(players[i]); write_string(msg); message_end(); } } }
</span></span>
|