Bunlar ile tekrar dene.
Kod: Tümünü seç
//#define FADE_SCREEN
//#define HIDE_CROSSHAIR
#include <amxmodx>
#include <cstrike>
#define CSW_KNIFE 29
#define CSW_SHIELD 2
#define DEFAULT_FOV 90
new bool:g_bSomeBool, g_iRoundState;
enum _:ROUNDWIN_States {
ROUND_DRAW = 0,
ROUND_WIN_T,
ROUND_WIN_CT
}
enum _:MESSAGES {
g_iMsg_WeaponList,
g_iMsg_CurWeapon,
g_iMsg_ForceCam,
#if defined HIDE_CROSSHAIR
g_iMsg_SetFOV,
g_iMsg_HideWeapon
#else
g_iMsg_SetFOV
#endif
}
new g_Messages_Name[MESSAGES][] = {
"WeaponList",
"CurWeapon",
"ForceCam",
#if defined HIDE_CROSSHAIR
"SetFOV",
"HideWeapon"
#else
"SetFOV"
#endif
}
new g_Messages[MESSAGES];
new g_Sprites[][] = {
"sprites/bloody-roundkazanmayazi.txt",
"sprites/640hud11.spr",
"sprites/640hud10.spr",
"sprites/640hud7.spr",
"sprites/bloody-roundkazanma.spr"
}
new Trie:g_tReplaceInfoMsg;
new const CMD[] = "bloody-roundkazanmayazi";
public plugin_precache(){
for(new i; i < sizeof(g_Sprites); i++)
precache_generic(g_Sprites[i]);
}
public plugin_init(){
register_plugin("WinTeam", "4", "Some Scripter"); //Eksiltme Yek'-ta
register_clcmd(CMD,"FakeSwitch");
register_event("HLTV", "Event_NewRound","a","1=0","2=0");
register_event("SendAudio", "Event_CTWin","a","2=%!MRAD_ctwin");
register_event("SendAudio", "Event_TerroristWin","a","2=%!MRAD_terwin");
register_event("SendAudio", "Event_Draw","a","2=%!MRAD_rounddraw");
g_tReplaceInfoMsg = TrieCreate();Fill_trie();
register_message(get_user_msgid("TextMsg"), "MessageTextMsg");
for(new i; i < sizeof(g_Messages); i++){
g_Messages[i] = get_user_msgid(g_Messages_Name[i]);
register_message(g_Messages[i], "block");
}
}
public Event_CTWin(){
g_iRoundState = ROUND_WIN_CT;
StartDraw();
}
public Event_TerroristWin(){
g_iRoundState = ROUND_WIN_T;
StartDraw();
}
public Event_Draw(){
g_iRoundState = ROUND_DRAW;
}
public Event_NewRound(){
if(!g_iRoundState)return;
g_iRoundState = ROUND_DRAW;
g_bSomeBool = false;
#if defined HIDE_CROSSHAIR
Msg_HideWeapon(0);
#endif
Msg_WeaponList("weapon_knife",-1,-1,-1,-1,2,1,CSW_KNIFE,0);
Msg_CurWeapon(0,0,0);
}
// forum.csduragi.com
public block(){
if(g_bSomeBool)return PLUGIN_HANDLED;
return PLUGIN_CONTINUE;
}
public FakeSwitch(const client)engclient_cmd(client,"weapon_shield");
public sendweapon(){
switch(g_iRoundState){
case ROUND_WIN_CT: Msg_WeaponList(CMD,-1,-1,-1,-1,0,11,CSW_SHIELD,0);
case ROUND_WIN_T: Msg_WeaponList(CMD,-1,-1,-1,-1,0,11,CSW_SHIELD,0);
}
#if defined HIDE_CROSSHAIR
Msg_HideWeapon(64);
#endif
Msg_SetFOV(DEFAULT_FOV-1);
g_bSomeBool = false;
switch(g_iRoundState){
case ROUND_WIN_CT: Msg_CurWeapon(1,2,-1);
case ROUND_WIN_T: Msg_CurWeapon(64,2,-1);
}
g_bSomeBool = true;
Msg_SetFOV(DEFAULT_FOV);
}
public StartDraw(){
g_bSomeBool = true;
set_task(0.6,"sendweapon");
}
stock Msg_WeaponList(const WeaponName[],PrimaryAmmoID,PrimaryAmmoMaxAmount,SecondaryAmmoID,SecondaryAmmoMaxAmount,
SlotID,NumberInSlot,WeaponID,Flags){
message_begin(MSG_ALL,g_Messages[g_iMsg_WeaponList], .player = 0);
{
write_string(WeaponName);
write_byte(PrimaryAmmoID);
write_byte(PrimaryAmmoMaxAmount);
write_byte(SecondaryAmmoID);
write_byte(SecondaryAmmoMaxAmount);
write_byte(SlotID);
write_byte(NumberInSlot);
write_byte(WeaponID);
write_byte(Flags);
}
message_end();
}
stock Msg_CurWeapon(IsActive,WeaponID,ClipAmmo)
{
message_begin(MSG_ALL,g_Messages[g_iMsg_CurWeapon], .player = 0);
{
write_byte(IsActive);
write_byte(WeaponID);
write_byte(ClipAmmo);
}
message_end();
}
stock Msg_SetFOV(Degrees){
message_begin(MSG_ALL,g_Messages[g_iMsg_SetFOV], .player = 0);
{
write_byte(Degrees);
}
message_end();
}
#if defined HIDE_CROSSHAIR
stock Msg_HideWeapon(Flags){
message_begin(MSG_ALL,g_Messages[g_iMsg_HideWeapon], .player = 0);
{
write_byte(Flags);
}
message_end();
}
#endif
public Fill_trie(){
TrieSetString(g_tReplaceInfoMsg, "#CTs_Win","some shit");
TrieSetString(g_tReplaceInfoMsg, "#Terrorists_Win","some shit");
//TrieSetString(g_tReplaceInfoMsg, "#Target_Bombed","some shit");
//TrieSetString(g_tReplaceInfoMsg, "#Target_Saved","some shit");
//4TrieSetString(g_tReplaceInfoMsg, "#Hostages_Not_Rescued","some shit");
}
public MessageTextMsg() {
new szMsg[192];
get_msg_arg_string(2, szMsg, charsmax(szMsg));
if(TrieGetString(g_tReplaceInfoMsg, szMsg, szMsg, charsmax(szMsg)))return 1;
return PLUGIN_CONTINUE;
}
public plugin_end()TrieDestroy(g_tReplaceInfoMsg);