Copy4u.pl ;)

Created Diff never expires
26 removals
75 lines
391 additions
440 lines
#pragma semicolon 1
#pragma semicolon 1
#pragma ctrlchar '\'
#pragma ctrlchar '\'


new HamHook:forwardIDRain;
new MaxClients;
new HamHook:forwardIDSound;
new NULL_STRING[1];
new Float:NULL_VECTOR[3];
new chat_prefix[22] =
{
38, 120, 48, 55, 91, 194, 187, 32, 65, 77, 88, 88, 52, 85, 46, 112, 108, 32, 194, 171, 93, 0
}
new CC_LIBRARY_NAME[9] =
{
99, 114, 111, 109, 99, 104, 97, 116, 0
}
new CC_FILTERING_FLAGS[3] =
{
99, 104, 0
}
new bool:CC_FIRST_TIME_ACTIVITY;
new bool:CC_IS_CSCZ;
new bool:CC_COLOR_FORCE;
new CC_ACTIVITY_POINTER;
new CC_COLOR_PLAYER_INDEX;
new CC_PREFIX[64];
new CC_NO_PREFIX[5] =
{
38, 120, 48, 48, 0
}
new CC_MENU_COLORS[4][3] =
{
"\y",
"\w",
"\d",
"\R"
};
new CC_REPLACE_COLORS[6][0];
new CC_PLUS_COLORS_STR[3][5] =
{
"&x07",
"&x06",
"&x05"
};
new CC_PLUS_COLORS_INT[3] =
{
60, 59, 58
}
new CC_COLORS_LIST[7][5] =
{
"&x07",
"&x06",
"&x05",
"&x04",
"&x03",
"&x01",
"&x00"
};
new name[12] =
{
88, 77, 65, 83, 58, 32, 83, 110, 105, 101, 103, 0
}
new version[4] =
{
49, 46, 48, 0
}
new author[21] =
{
68, 97, 114, 107, 71, 76, 32, 38, 32, 78, 101, 119, 73, 84, 86, 105, 115, 105, 111, 110, 0
}
new url_author[19] =
{
104, 116, 116, 112, 115, 58, 47, 47, 97, 109, 120, 120, 52, 117, 46, 112, 108, 47, 0
}
new xmas_commands[3][] =
{
"/snow",
"/snieg",
"/xmas"
};
new HamHook:id_rain;
new HamHook:id_sound;


public __fatal_ham_error(Ham:id, HamError:err, String:reason[])
public __fatal_ham_error(Ham:id, HamError:err, String:reason[])
{
{
!!! Removed Phi
!!! Removed Phi
if (func != -1 && callfunc_begin_i(func, -1) == 1)
if (func != -1 && callfunc_begin_i(func, -1) == 1)
{
{
callfunc_push_int(id);
callfunc_push_int(id);
callfunc_push_int(err);
callfunc_push_int(err);
callfunc_push_str(reason, false);
callfunc_push_str(reason, false);
if (callfunc_end() == 1)
if (callfunc_end() == 1)
{
{
fail = 0;
fail = 0;
}
}
}
}
if (fail)
if (fail)
{
{
set_fail_state(reason);
set_fail_state(reason);
}
}
return 0;
return 0;
}
}


public __reapi_version_check(majorVersion, minorVersion)
{
if (majorVersion != 5)
{
new temp[512];
formatex(temp, 511, "[ReAPI]: Api major version mismatch; expected %d, real %d", 5, majorVersion);
set_fail_state(temp);
return 0;
}
if (minorVersion < 13)
{
new temp[512];
formatex(temp, 511, "[ReAPI]: Api minor version mismatch; expected at least %d, real %d", 13, minorVersion);
set_fail_state(temp);
return 0;
}
return 0;
}

register_commands(array[][], array_size, String:function[], flags)
{
new i = 0;
while (array_size + -1 >= i)
{
new j = 0;
while (j <= 1)
{
new var1;
if (!j)
{
var1 = 672;
}
else
{
var1 = 688;
}

/ * ERROR! Nie można rzutować obiektu typu 'Lysis.DSentinel' na typ 'Lysis.DReturn'. * /
function "register_commands"
register_commands(array[][], array_size, String:function[], flags)

CC_SendMessage(id, String:input[])
{
!!! Removed Phi
_CC_ModInit();
static iPnum;
static iPlayers[32];
if (id)
{
if (!is_user_connected(id))
{
return 0;
}
}
else
{
get_players("", iPnum, "ch", "");
if (!iPnum)
{
return 0;
}
}
if (equal(1624 + 4, "&x00", 4) || equal(1624 + 8, "&x00", 4))
{
replace(szMessage, 176, "&x00", "");
}
else
{
if (CC_PREFIX[0][0])
{
if (CC_FIRST_TIME_ACTIVITY)
{
format(szMessage, 176, "%s%s %s%s", 2384, CC_PREFIX, 2392, szMessage);
}
format(szMessage, 176, "%s%s %s", 2432, CC_PREFIX, szMessage);
}
}
i = 0;
while (i < 5)
{
if (CC_FIRST_TIME_ACTIVITY)
{
replace_string(szMessage, 176, CC_REPLACE_COLORS[i][0][0], CC_REPLACE_COLORS[i + 1][0][0], "");
i = i + 2;
}
else
{
replace_string(szMessage, 176, CC_REPLACE_COLORS[i][0][0], "", "");
i = i + 2;
}
i = i + 2;
}
i = 0;
while (i < 3)
{
if (contain("", CC_PLUS_COLORS_STR[i][0][0]) != -1)
{
if (!CC_COLOR_FORCE)
{
CC_ACTIVITY_POINTER = CC_PLUS_COLORS_INT[i][0][0];
}
i = 0;
while (i < 3)
{
if (CC_FIRST_TIME_ACTIVITY)
{
replace_string(szMessage, 176, CC_COLORS_LIST[i][0][0], 2444, "");
i += 1;
}
else
{
replace_string(szMessage, 176, CC_COLORS_LIST[i][0][0], "", "");
i += 1;
}
i += 1;
}
if (id)
{
_CC_WriteMessage(id, szMessage);
}
else
{
i = 0;
while (i < iPnum)
{
_CC_WriteMessage(iPlayers[i][0][0], szMessage);
i += 1;
}
}
CC_COLOR_FORCE = 0;
CC_ACTIVITY_POINTER = 0;
return strlen(szMessage);
}
i += 1;
}
if (id)
{
_CC_WriteMessage(id, szMessage);
}
else
{
i = 0;
while (i < iPnum)
{
_CC_WriteMessage(iPlayers[i][0][0], szMessage);
i += 1;
}
}
CC_COLOR_FORCE = 0;
CC_ACTIVITY_POINTER = 0;
return strlen(szMessage);
}

CC_RemoveColors(String:message[], len, bool:chat, bool:menu)
{
!!! Removed Phi
static i;
if (chat)
{
i = 0;
while (i < 7)
{
replace_string(message, len, CC_COLORS_LIST[i][0][0], "", "");
i += 1;
}
}
if (menu)
{
i = 0;
while (i < 4)
{
replace_string(message, len, CC_MENU_COLORS[i][0][0], "", "");
i += 1;
}
}
return 0;
}

CC_SetPrefix(String:prefix[])
{
_CC_ModInit();
copy("", 63, prefix);
if (!CC_FIRST_TIME_ACTIVITY)
{
CC_RemoveColors(CC_PREFIX, 63, true, false);
}
return 0;
}

_CC_WriteMessage(id, String:message[])
{
!!! Removed Phi
static CC_MSG_SAYTEXT;
static CC_INIT;
if (!CC_INIT)
{
CC_INIT = 1;
CC_MSG_SAYTEXT = get_user_msgid("SayText");
if (!LibraryExists("cromchat", LibType_Library))
{
register_library("cromchat");
if (CC_FIRST_TIME_ACTIVITY)
{
new iCacheList[3];
iCacheList[0] = 2508;
new szCacheList[3][];
szCacheList[0] = 2520;
new CC_MSG_TEAMINFO = get_user_msgid("TeamInfo");
new i = 0;
while (i < 3)
{
engfunc(EngFunc_MessageBegin, 3, CC_MSG_TEAMINFO, 0, 0);
write_byte(iCacheList[i]);
write_string(szCacheList[i]);
message_end();
i++;
}
new iPlayers[32];
new iPnum = 0;
get_players(iPlayers, iPnum, "ch", "");
new iPlayer = 0;
new i = 0;
new j = 0;
while (i < iPnum)
{
iPlayer = iPlayers[i];
j = 0;
while (j < 3)
{
message_begin(MSG_ONE, CC_MSG_TEAMINFO, 2624, iPlayer);
write_byte(iCacheList[j]);
write_string(szCacheList[j]);
message_end();
j++;
}
i++;
}
}
}
}
static CC_PLAYER_ITEM_PHRASE[17] =
{
35, 83, 112, 101, 99, 95, 80, 108, 97, 121, 101, 114, 73, 116, 101, 109, 0
}
message_begin(MSG_ONE, CC_MSG_SAYTEXT, 2624, id);
if (CC_FIRST_TIME_ACTIVITY)
{
if (CC_ACTIVITY_POINTER && CC_ACTIVITY_POINTER != 57)
{
var2 = CC_ACTIVITY_POINTER;
}
else
{
var2 = id;
}
write_byte(var2);
}
else
{
write_byte(id);
}
write_string("#Spec_PlayerItem");
write_string(message);
message_end();
return 0;
}

_CC_ModInit()
{
!!! Removed Phi
static bool:CC_MOD_INIT;
if (!CC_MOD_INIT)
{
if (equal(szModName, "cstrike", 0) || equal(szModName, "czero", 0))
{
CC_FIRST_TIME_ACTIVITY = 1;
}
}
return 0;
}

public plugin_init()
public plugin_init()
{
{
register_plugin("Snow new", "1.0", "DarkGL");
register_plugin("XMAS: Snieg", "1.0", "DarkGL & NewITVision", url_author);
DisableHamForward(forwardIDRain);
register_commands(xmas_commands, 3, "snow_status", 33554432);
DisableHamForward(forwardIDSound);
DisableHamForward(id_rain);
DisableHamForward(id_sound);
CC_SetPrefix(chat_prefix);
return 0;
return 0;
}
}


public plugin_precache()
public plugin_precache()
{
{
engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "env_snow"));
engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "env_snow"));
forwardIDRain = RegisterHam(Ham_Spawn, "env_rain", "fwSpawnedRain", 1);
id_rain = RegisterHam(Ham_Spawn, "env_rain", "create_rain", 1, MaxClients);
forwardIDSound = RegisterHam(Ham_Spawn, "ambient_generic", "fwSpawnedSound", 1);
id_sound = RegisterHam(Ham_Spawn, "ambient_generic", "create_sound", 1, MaxClients);
return 0;
return 0;
}
}


public fwSpawnedRain(iEnt)
public create_rain(ent)
{
{
if (!pev_valid(iEnt))
if (!pev_valid(ent))
{
{
return 1;
return 1;
}
}
engfunc(EngFunc_RemoveEntity, iEnt);
engfunc(EngFunc_RemoveEntity, ent);
return 1;
return 1;
}
}


public fwSpawnedSound(iEnt)
public create_sound(ent)
{
{
if (!pev_valid(iEnt))
if (!pev_valid(ent))
{
{
return 1;
return 1;
}
}
new szMessage[256];
new message[192];
pev(iEnt, pev_message, szMessage, 255);
pev(ent, pev_message, message, 191);
if (!equal(szMessage, "ambience/rain.wav", 0))
if (!equal(message, "ambience/rain.wav", 0))
{
{
return 1;
return 1;
}
}
engfunc(EngFunc_RemoveEntity, iEnt);
engfunc(EngFunc_RemoveEntity, ent);
return 1;
return 1;
}
}


public client_connect(id)
public client_authorized(index)
{
{
client_cmd(id, "cl_weather 1");
client_cmd(index, "cl_weather 1");
return 0;
}

public snow_status(index)
{
client_cmd(index, "cl_weather 0");
CC_SendMessage(index, "Wylaczyles snieg.");
return 0;
return 0;
}
}