|
Member
|

05-30-2010
, 14:33
Jailbreak Days Voter
|
#1
|
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>
__________________
AlliedModders is The BEST !
That's what she said.
steam://connect/80.96.216.53:27015
Last edited by uNy; 05-30-2010 at 20:33.
|
|