added SharedPlugin code and SetNTVOptional()
added public printing for zr_human, zr_infect and zr_zspawn_force command fixed zombiereloaded changing player colors updated sample cfg updated makefile
This commit is contained in:
parent
a732205f8c
commit
2d1cdf7a36
12
Makefile
12
Makefile
@ -3,10 +3,11 @@
|
|||||||
|
|
||||||
SOURCEDIR=src
|
SOURCEDIR=src
|
||||||
SMINCLUDES=env/include
|
SMINCLUDES=env/include
|
||||||
|
ZRINCLUDES=src/include
|
||||||
BUILDDIR=build
|
BUILDDIR=build
|
||||||
SPCOMP_LINUX=env/linux/bin/spcomp-1.7.0
|
SPCOMP_LINUX=env/linux/bin/spcomp-1.7.0
|
||||||
SPCOMP_DARWIN=env/darwin/bin/spcomp-1.7.0
|
SPCOMP_DARWIN=env/darwin/bin/spcomp-1.7.0
|
||||||
DOS2UNIX_LINUX=dos2unix -p
|
DOS2UNIX_LINUX=dos2unix
|
||||||
DOS2UNIX_DARWIN=env/darwin/bin/dos2unix -p
|
DOS2UNIX_DARWIN=env/darwin/bin/dos2unix -p
|
||||||
VERSIONDUMP=./updateversion.sh
|
VERSIONDUMP=./updateversion.sh
|
||||||
|
|
||||||
@ -32,9 +33,10 @@ prepare: prepare_newlines prepare_builddir
|
|||||||
|
|
||||||
prepare_newlines:
|
prepare_newlines:
|
||||||
@echo "Removing windows newlines"
|
@echo "Removing windows newlines"
|
||||||
@find $(SOURCEDIR) -name \*.inc -exec $(DOS2UNIX) '{}' \;
|
@find $(SOURCEDIR) -name \*.inc -exec $(DOS2UNIX) "{}" \;
|
||||||
@find $(SOURCEDIR) -name \*.sp -exec $(DOS2UNIX) '{}' \;
|
@find $(SOURCEDIR) -name \*.sp -exec $(DOS2UNIX) "{}" \;
|
||||||
@find $(SMINCLUDES) -name \*.inc -exec $(DOS2UNIX) '{}' \;
|
@find $(SMINCLUDES) -name \*.inc -exec $(DOS2UNIX) "{}" \;
|
||||||
|
@find $(ZRINCLUDES) -name \*.inc -exec $(DOS2UNIX) "{}" \;
|
||||||
|
|
||||||
prepare_builddir:
|
prepare_builddir:
|
||||||
@echo "Creating build directory"
|
@echo "Creating build directory"
|
||||||
@ -42,7 +44,7 @@ prepare_builddir:
|
|||||||
|
|
||||||
%.smx: %.sp
|
%.smx: %.sp
|
||||||
$(VERSIONDUMP)
|
$(VERSIONDUMP)
|
||||||
$(SPCOMP) -i$(SOURCEDIR) -i$(SMINCLUDES) -o$(BUILDDIR)/$@ $<
|
$(SPCOMP) -i$(SOURCEDIR) -i$(SMINCLUDES) -i$(ZRINCLUDES) -o$(BUILDDIR)/$@ $<
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
@echo "Removing build directory"
|
@echo "Removing build directory"
|
||||||
|
@ -418,11 +418,21 @@
|
|||||||
"es" "El jugador @green{1} @defaultha sido infectado con exito."
|
"es" "El jugador @green{1} @defaultha sido infectado con exito."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
"Infect command infect successful public"
|
||||||
|
{
|
||||||
|
"es" "@lgreen{1}@default has infected @green{2}@default." // TODO: Translate
|
||||||
|
}
|
||||||
|
|
||||||
"Infect command infect mother successful"
|
"Infect command infect mother successful"
|
||||||
{
|
{
|
||||||
"es" "El jugador @green{1} @defaultha sido infectado con exito como el zombi madre."
|
"es" "El jugador @green{1} @defaultha sido infectado con exito como el zombi madre."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
"Infect command infect mother successful public"
|
||||||
|
{
|
||||||
|
"es" "@lgreen{1}@default has infected @green{2}@default as the mother zombie." // TODO: Translate
|
||||||
|
}
|
||||||
|
|
||||||
"Infect command infect unsuccessful"
|
"Infect command infect unsuccessful"
|
||||||
{
|
{
|
||||||
"es" "El jugador @green{1} @defaultya es un zombi."
|
"es" "El jugador @green{1} @defaultya es un zombi."
|
||||||
@ -433,6 +443,11 @@
|
|||||||
"es" "El jugador @green{1} @defaultha vuelto a ser humano con exito."
|
"es" "El jugador @green{1} @defaultha vuelto a ser humano con exito."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
"Infect command human successful public"
|
||||||
|
{
|
||||||
|
"es" "@lgreen{1}@default has brought back @green{2}@default as a human." // TODO: Translate
|
||||||
|
}
|
||||||
|
|
||||||
"Infect command human unsuccessful"
|
"Infect command human unsuccessful"
|
||||||
{
|
{
|
||||||
"es" "El jugador @green{1} @defaultya es un humano."
|
"es" "El jugador @green{1} @defaultya es un humano."
|
||||||
@ -957,6 +972,11 @@
|
|||||||
"es" "El jugador {1} ha sido resucitado correctamente."
|
"es" "El jugador {1} ha sido resucitado correctamente."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
"ZSpawn command force successful public"
|
||||||
|
{
|
||||||
|
"es" "@lgreen{1}@default has spawned @green{2}@default as a @lgreen{3}@default." // TODO: Translate
|
||||||
|
}
|
||||||
|
|
||||||
"ZSpawn command force unsuccessful"
|
"ZSpawn command force unsuccessful"
|
||||||
{
|
{
|
||||||
"es" "El jugador {1} no pudo ser resucitado."
|
"es" "El jugador {1} no pudo ser resucitado."
|
||||||
|
@ -417,11 +417,21 @@
|
|||||||
"no" "@green{1}@default ble vellykket infisert."
|
"no" "@green{1}@default ble vellykket infisert."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
"Infect command infect successful public"
|
||||||
|
{
|
||||||
|
"no" "@lgreen{1}@default has infected @green{2}@default." // TODO: Translate
|
||||||
|
}
|
||||||
|
|
||||||
"Infect command infect mother successful"
|
"Infect command infect mother successful"
|
||||||
{
|
{
|
||||||
"no" "@green{1}@default ble vellykket infisert som moderzombie."
|
"no" "@green{1}@default ble vellykket infisert som moderzombie."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
"Infect command infect mother successful public"
|
||||||
|
{
|
||||||
|
"no" "@lgreen{1}@default has infected @green{2}@default as the mother zombie." // TODO: Translate
|
||||||
|
}
|
||||||
|
|
||||||
"Infect command infect unsuccessful"
|
"Infect command infect unsuccessful"
|
||||||
{
|
{
|
||||||
"no" "@green{1}@default er allerede en zombie."
|
"no" "@green{1}@default er allerede en zombie."
|
||||||
@ -432,6 +442,11 @@
|
|||||||
"no" "@green{1}@default ble vellykket gjort om til et menneske."
|
"no" "@green{1}@default ble vellykket gjort om til et menneske."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
"Infect command human successful public"
|
||||||
|
{
|
||||||
|
"no" "@lgreen{1}@default has brought back @green{2}@default as a human." // TODO: Translate
|
||||||
|
}
|
||||||
|
|
||||||
"Infect command human unsuccessful"
|
"Infect command human unsuccessful"
|
||||||
{
|
{
|
||||||
"no" "@green{1}@default er allerede et menneske."
|
"no" "@green{1}@default er allerede et menneske."
|
||||||
@ -957,6 +972,11 @@
|
|||||||
"no" "{1} ble vellykket gjenopplivet."
|
"no" "{1} ble vellykket gjenopplivet."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
"ZSpawn command force successful public"
|
||||||
|
{
|
||||||
|
"no" "@lgreen{1}@default has spawned @green{2}@default as a @lgreen{3}@default." // TODO: Translate
|
||||||
|
}
|
||||||
|
|
||||||
"ZSpawn command force unsuccessful"
|
"ZSpawn command force unsuccessful"
|
||||||
{
|
{
|
||||||
"no" "{1} kunne ikke bli gjenopplivet."
|
"no" "{1} kunne ikke bli gjenopplivet."
|
||||||
|
@ -418,11 +418,21 @@
|
|||||||
"ru" "Игрок @green{1}@default был успешно инфицирован."
|
"ru" "Игрок @green{1}@default был успешно инфицирован."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
"Infect command infect successful public"
|
||||||
|
{
|
||||||
|
"ru" "@lgreen{1}@default has infected @green{2}@default." // TODO: Translate
|
||||||
|
}
|
||||||
|
|
||||||
"Infect command infect mother successful"
|
"Infect command infect mother successful"
|
||||||
{
|
{
|
||||||
"ru" "Игрок @green{1}@default был успешно инфицирован и стал первым зомби."
|
"ru" "Игрок @green{1}@default был успешно инфицирован и стал первым зомби."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
"Infect command infect mother successful public"
|
||||||
|
{
|
||||||
|
"ru" "@lgreen{1}@default has infected @green{2}@default as the mother zombie." // TODO: Translate
|
||||||
|
}
|
||||||
|
|
||||||
"Infect command infect unsuccessful"
|
"Infect command infect unsuccessful"
|
||||||
{
|
{
|
||||||
"ru" "Игрок @green{1}@default уже является зомби."
|
"ru" "Игрок @green{1}@default уже является зомби."
|
||||||
@ -433,6 +443,11 @@
|
|||||||
"ru" "Игрок @green{1}@default был успешно превращен обратно в человека."
|
"ru" "Игрок @green{1}@default был успешно превращен обратно в человека."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
"Infect command human successful public"
|
||||||
|
{
|
||||||
|
"ru" "@lgreen{1}@default has brought back @green{2}@default as a human." // TODO: Translate
|
||||||
|
}
|
||||||
|
|
||||||
"Infect command human unsuccessful"
|
"Infect command human unsuccessful"
|
||||||
{
|
{
|
||||||
"ru" "Игрок@green{1}@default уже является человеком."
|
"ru" "Игрок@green{1}@default уже является человеком."
|
||||||
@ -957,6 +972,11 @@
|
|||||||
"ru" "Игрок {1} был успешно воскрешен."
|
"ru" "Игрок {1} был успешно воскрешен."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
"ZSpawn command force successful public"
|
||||||
|
{
|
||||||
|
"ru" "@lgreen{1}@default has spawned @green{2}@default as a @lgreen{3}@default." // TODO: Translate
|
||||||
|
}
|
||||||
|
|
||||||
"ZSpawn command force unsuccessful"
|
"ZSpawn command force unsuccessful"
|
||||||
{
|
{
|
||||||
"ru" "Игрок {1} не может быть воскрешен."
|
"ru" "Игрок {1} не может быть воскрешен."
|
||||||
|
@ -436,12 +436,24 @@
|
|||||||
"en" "Player @green{1} @defaulthas been successfully infected."
|
"en" "Player @green{1} @defaulthas been successfully infected."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
"Infect command infect successful public"
|
||||||
|
{
|
||||||
|
"#format" "{1:s},{2:s}"
|
||||||
|
"en" "@lgreen{1}@default has infected @green{2}@default."
|
||||||
|
}
|
||||||
|
|
||||||
"Infect command infect mother successful"
|
"Infect command infect mother successful"
|
||||||
{
|
{
|
||||||
"#format" "{1:s}"
|
"#format" "{1:s}"
|
||||||
"en" "Player @green{1} @defaulthas been successfully infected as the mother zombie."
|
"en" "Player @green{1} @defaulthas been successfully infected as the mother zombie."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
"Infect command infect mother successful public"
|
||||||
|
{
|
||||||
|
"#format" "{1:s},{2:s}"
|
||||||
|
"en" "@lgreen{1}@default has infected @green{2}@default as the mother zombie."
|
||||||
|
}
|
||||||
|
|
||||||
"Infect command infect unsuccessful"
|
"Infect command infect unsuccessful"
|
||||||
{
|
{
|
||||||
"#format" "{1:s}"
|
"#format" "{1:s}"
|
||||||
@ -454,6 +466,12 @@
|
|||||||
"en" "Player @green{1} @defaulthas been successfully brought back as a human."
|
"en" "Player @green{1} @defaulthas been successfully brought back as a human."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
"Infect command human successful public"
|
||||||
|
{
|
||||||
|
"#format" "{1:s},{2:s}"
|
||||||
|
"en" "@lgreen{1}@default has brought back @green{2}@default as a human."
|
||||||
|
}
|
||||||
|
|
||||||
"Infect command human unsuccessful"
|
"Infect command human unsuccessful"
|
||||||
{
|
{
|
||||||
"#format" "{1:s}"
|
"#format" "{1:s}"
|
||||||
@ -1015,6 +1033,12 @@
|
|||||||
"en" "Player {1} was successfully spawned."
|
"en" "Player {1} was successfully spawned."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
"ZSpawn command force successful public"
|
||||||
|
{
|
||||||
|
"#format" "{1:s},{2:s},{3:s}"
|
||||||
|
"en" "@lgreen{1}@default has spawned @green{2}@default as a @lgreen{3}@default."
|
||||||
|
}
|
||||||
|
|
||||||
"ZSpawn command force unsuccessful"
|
"ZSpawn command force unsuccessful"
|
||||||
{
|
{
|
||||||
"#format" "{1:s}"
|
"#format" "{1:s}"
|
||||||
|
@ -269,10 +269,18 @@ zr_weapons_zmarket_buyzone "1"
|
|||||||
// Default: "1"
|
// Default: "1"
|
||||||
zr_weapons_zmarket_rebuy "1"
|
zr_weapons_zmarket_rebuy "1"
|
||||||
|
|
||||||
// Allow players to automatically rebuy their previous weapons. [Dependency: zr_weapons_zmarket&zr_weapons_zmarket_rebuy]
|
// Automatically equip default or loadout weapons. [Dependency: zr_weapons_zmarket&zr_weapons_zmarket_rebuy]
|
||||||
// Default: "1"
|
// Default: "1"
|
||||||
zr_weapons_zmarket_rebuy_auto "1"
|
zr_weapons_zmarket_rebuy_auto "1"
|
||||||
|
|
||||||
|
// Default primary weapon. [Dependency: zr_weapons_zmarket&zr_weapons_zmarket_rebuy]
|
||||||
|
// Default: "P90"
|
||||||
|
zr_weapons_zmarket_rebuy_primary "P90"
|
||||||
|
|
||||||
|
// Default secondary weapon. [Dependency: zr_weapons_zmarket&zr_weapons_zmarket_rebuy]
|
||||||
|
// Default: "Elite"
|
||||||
|
zr_weapons_zmarket_rebuy_secondary "Elite"
|
||||||
|
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// Hitgroups (core)
|
// Hitgroups (core)
|
||||||
|
@ -34,3 +34,34 @@
|
|||||||
#include <zr/infect.zr>
|
#include <zr/infect.zr>
|
||||||
#include <zr/respawn.zr>
|
#include <zr/respawn.zr>
|
||||||
#include <zr/class.zr>
|
#include <zr/class.zr>
|
||||||
|
|
||||||
|
public SharedPlugin:__pl_zombiereloaded =
|
||||||
|
{
|
||||||
|
name = "zombiereloaded",
|
||||||
|
file = "zombiereloaded.smx",
|
||||||
|
#if defined REQUIRE_PLUGIN
|
||||||
|
required = 1
|
||||||
|
#else
|
||||||
|
required = 0
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
|
#if !defined REQUIRE_PLUGIN
|
||||||
|
public __pl_zombiereloaded_SetNTVOptional()
|
||||||
|
{
|
||||||
|
MarkNativeAsOptional("ZR_IsValidClassIndex");
|
||||||
|
MarkNativeAsOptional("ZR_GetActiveClass");
|
||||||
|
MarkNativeAsOptional("ZR_SelectClientClass");
|
||||||
|
MarkNativeAsOptional("ZR_GetClassByName");
|
||||||
|
MarkNativeAsOptional("ZR_GetClassDisplayName");
|
||||||
|
|
||||||
|
MarkNativeAsOptional("ZR_IsClientZombie");
|
||||||
|
MarkNativeAsOptional("ZR_IsClientHuman");
|
||||||
|
MarkNativeAsOptional("ZR_InfectClient");
|
||||||
|
MarkNativeAsOptional("ZR_HumanClient");
|
||||||
|
|
||||||
|
MarkNativeAsOptional("ZR_RespawnClient");
|
||||||
|
MarkNativeAsOptional("ZR_SetKilledByWorld");
|
||||||
|
MarkNativeAsOptional("ZR_GetKilledByWorld");
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
@ -38,12 +38,14 @@
|
|||||||
/**
|
/**
|
||||||
* Results when selecting a class for a player.
|
* Results when selecting a class for a player.
|
||||||
*/
|
*/
|
||||||
|
#if !defined INCLUDED_BY_ZOMBIERELOADED
|
||||||
enum ClassSelectResult
|
enum ClassSelectResult
|
||||||
{
|
{
|
||||||
ClassSelected_NoChange, /** No class change was necessary (class already selected). */
|
ClassSelected_NoChange, /** No class change was necessary (class already selected). */
|
||||||
ClassSelected_Instant, /** Class was instantly changed. */
|
ClassSelected_Instant, /** Class was instantly changed. */
|
||||||
ClassSelected_NextSpawn /** Class will be used next spawn. */
|
ClassSelected_NextSpawn /** Class will be used next spawn. */
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns whether a class index is valid or not.
|
* Returns whether a class index is valid or not.
|
||||||
|
@ -33,6 +33,9 @@
|
|||||||
#include <sdktools>
|
#include <sdktools>
|
||||||
#include <clientprefs>
|
#include <clientprefs>
|
||||||
#include <cstrike>
|
#include <cstrike>
|
||||||
|
#define INCLUDED_BY_ZOMBIERELOADED
|
||||||
|
#include <zombiereloaded>
|
||||||
|
#undef INCLUDED_BY_ZOMBIERELOADED
|
||||||
|
|
||||||
#if defined USE_SDKHOOKS
|
#if defined USE_SDKHOOKS
|
||||||
#include <sdkhooks>
|
#include <sdkhooks>
|
||||||
@ -145,6 +148,9 @@ public APLRes:AskPluginLoad2(Handle:myself, bool:late, String:error[], err_max)
|
|||||||
// Load API.
|
// Load API.
|
||||||
APIInit();
|
APIInit();
|
||||||
|
|
||||||
|
// Register library
|
||||||
|
RegPluginLibrary("zombiereloaded");
|
||||||
|
|
||||||
// Let plugin load.
|
// Let plugin load.
|
||||||
return APLRes_Success;
|
return APLRes_Success;
|
||||||
}
|
}
|
||||||
|
@ -284,8 +284,7 @@ InfectOnClientSpawn(client)
|
|||||||
CS_RespawnPlayer(client);
|
CS_RespawnPlayer(client);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Unglitch kevlar. (Reset hitbox to HITBOX_GENERIC)
|
InfectUnglitchKevlar(client);
|
||||||
SetEntData(client, 4444, 0, 4);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -875,8 +874,7 @@ InfectZombieToHuman(client, bool:respawn = false, bool:protect = false)
|
|||||||
SpawnProtectStart(client);
|
SpawnProtectStart(client);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Unglitch kevlar. (Reset hitbox to HITBOX_GENERIC)
|
InfectUnglitchKevlar(client);
|
||||||
SetEntData(client, 4444, 0, 4);
|
|
||||||
|
|
||||||
// Forward event to modules.
|
// Forward event to modules.
|
||||||
SEffectsOnClientHuman(client);
|
SEffectsOnClientHuman(client);
|
||||||
@ -1185,6 +1183,13 @@ stock InfectManualInfect(client, targets[], count, bool:respawnoverride = false,
|
|||||||
}
|
}
|
||||||
|
|
||||||
decl String:targetname[MAX_NAME_LENGTH];
|
decl String:targetname[MAX_NAME_LENGTH];
|
||||||
|
decl String:adminname[MAX_NAME_LENGTH];
|
||||||
|
|
||||||
|
// Get admin's name for later use.
|
||||||
|
if(client > 0)
|
||||||
|
GetClientName(client, adminname, sizeof(adminname));
|
||||||
|
else
|
||||||
|
strcopy(adminname, sizeof(adminname), "Console");
|
||||||
|
|
||||||
// x = Client index.
|
// x = Client index.
|
||||||
for (new x = 0; x < count; x++)
|
for (new x = 0; x < count; x++)
|
||||||
@ -1211,6 +1216,7 @@ stock InfectManualInfect(client, targets[], count, bool:respawnoverride = false,
|
|||||||
// Turn client into a mother zombie.
|
// Turn client into a mother zombie.
|
||||||
InfectHumanToZombie(targets[x], _, true, respawnoverride, respawn);
|
InfectHumanToZombie(targets[x], _, true, respawnoverride, respawn);
|
||||||
LogAction(client, targets[x], "\"%L\" turned \"%L\" into a mother zombie", client, targets[x]);
|
LogAction(client, targets[x], "\"%L\" turned \"%L\" into a mother zombie", client, targets[x]);
|
||||||
|
TranslationPrintToChatAll(false, false, "Infect command infect mother successful public", adminname, targetname);
|
||||||
|
|
||||||
// If there was only 1 player targetted, then let admin know the outcome of the command.
|
// If there was only 1 player targetted, then let admin know the outcome of the command.
|
||||||
if (count == 1)
|
if (count == 1)
|
||||||
@ -1224,6 +1230,7 @@ stock InfectManualInfect(client, targets[], count, bool:respawnoverride = false,
|
|||||||
// Turn client into a zombie.
|
// Turn client into a zombie.
|
||||||
InfectHumanToZombie(targets[x], _, false, respawnoverride, respawn);
|
InfectHumanToZombie(targets[x], _, false, respawnoverride, respawn);
|
||||||
LogAction(client, targets[x], "\"%L\" turned \"%L\" into a zombie", client, targets[x]);
|
LogAction(client, targets[x], "\"%L\" turned \"%L\" into a zombie", client, targets[x]);
|
||||||
|
TranslationPrintToChatAll(false, false, "Infect command infect successful public", adminname, targetname);
|
||||||
|
|
||||||
// If there was only 1 player targetted, then let admin know the outcome of the command.
|
// If there was only 1 player targetted, then let admin know the outcome of the command.
|
||||||
if (count == 1)
|
if (count == 1)
|
||||||
@ -1245,6 +1252,13 @@ stock InfectManualInfect(client, targets[], count, bool:respawnoverride = false,
|
|||||||
stock InfectManualHuman(client, targets[], count, bool:respawn = false, bool:protect = false)
|
stock InfectManualHuman(client, targets[], count, bool:respawn = false, bool:protect = false)
|
||||||
{
|
{
|
||||||
decl String:targetname[MAX_NAME_LENGTH];
|
decl String:targetname[MAX_NAME_LENGTH];
|
||||||
|
decl String:adminname[MAX_NAME_LENGTH];
|
||||||
|
|
||||||
|
// Get admin's name for later use.
|
||||||
|
if(client > 0)
|
||||||
|
GetClientName(client, adminname, sizeof(adminname));
|
||||||
|
else
|
||||||
|
strcopy(adminname, sizeof(adminname), "Console");
|
||||||
|
|
||||||
// x = Client index.
|
// x = Client index.
|
||||||
for (new x = 0; x < count; x++)
|
for (new x = 0; x < count; x++)
|
||||||
@ -1258,6 +1272,7 @@ stock InfectManualHuman(client, targets[], count, bool:respawn = false, bool:pro
|
|||||||
// Turn client into a zombie.
|
// Turn client into a zombie.
|
||||||
InfectZombieToHuman(targets[x], respawn, protect);
|
InfectZombieToHuman(targets[x], respawn, protect);
|
||||||
LogAction(client, targets[x], "\"%L\" turned \"%L\" into a human", client, targets[x]);
|
LogAction(client, targets[x], "\"%L\" turned \"%L\" into a human", client, targets[x]);
|
||||||
|
TranslationPrintToChatAll(false, false, "Infect command human successful public", adminname, targetname);
|
||||||
|
|
||||||
// If there was only 1 player targetted, then let admin know the outcome of the command.
|
// If there was only 1 player targetted, then let admin know the outcome of the command.
|
||||||
if (count == 1)
|
if (count == 1)
|
||||||
@ -1486,3 +1501,14 @@ InfectMode:InfectGetModeOrFail()
|
|||||||
|
|
||||||
return mode;
|
return mode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
InfectUnglitchKevlar(client)
|
||||||
|
{
|
||||||
|
// Unglitch kevlar. (Reset hitbox to HITBOX_GENERIC)
|
||||||
|
// Example: You get hit in the head by a bullet as a zombie
|
||||||
|
// the round ends, you spawn as a human.
|
||||||
|
// You get damaged by a trigger, the game still thinks you
|
||||||
|
// are getting damaged in the head hitgroup, >mfw source engine.
|
||||||
|
// Thanks to leaked 2007 Source Engine Code.
|
||||||
|
SetEntData(client, 4444, 0, 4);
|
||||||
|
}
|
||||||
|
@ -194,8 +194,12 @@ stock ToolsSetClientAlpha(client, alpha)
|
|||||||
// Turn rendermode on, on the client.
|
// Turn rendermode on, on the client.
|
||||||
SetEntityRenderMode(client, RENDER_TRANSALPHA);
|
SetEntityRenderMode(client, RENDER_TRANSALPHA);
|
||||||
|
|
||||||
|
// Get current client colors.
|
||||||
|
new color[4];
|
||||||
|
ToolsGetEntityColor(client, color);
|
||||||
|
|
||||||
// Set alpha value on the client.
|
// Set alpha value on the client.
|
||||||
SetEntityRenderColor(client, _, _, _, alpha);
|
SetEntityRenderColor(client, color[0], color[1], color[2], alpha);
|
||||||
|
|
||||||
// Forward event to modules.
|
// Forward event to modules.
|
||||||
WeaponAlphaOnClientAlphaChanged(client, alpha);
|
WeaponAlphaOnClientAlphaChanged(client, alpha);
|
||||||
@ -230,3 +234,34 @@ stock ToolsGetEntityAlpha(entity)
|
|||||||
|
|
||||||
return GetEntData(entity, offset + 3, 1);
|
return GetEntData(entity, offset + 3, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets an entity's color and alpha.
|
||||||
|
*
|
||||||
|
* @param client The client index.
|
||||||
|
* @param color 4 dimensional array where [r,g,b,a] values are stored
|
||||||
|
*/
|
||||||
|
stock ToolsGetEntityColor(entity, color[4])
|
||||||
|
{
|
||||||
|
static bool:gotconfig = false;
|
||||||
|
static String:prop[32];
|
||||||
|
|
||||||
|
if (!gotconfig)
|
||||||
|
{
|
||||||
|
new Handle:gc = LoadGameConfigFile("core.games");
|
||||||
|
new bool:exists = GameConfGetKeyValue(gc, "m_clrRender", prop, sizeof(prop));
|
||||||
|
CloseHandle(gc);
|
||||||
|
|
||||||
|
if (!exists)
|
||||||
|
{
|
||||||
|
strcopy(prop, sizeof(prop), "m_clrRender");
|
||||||
|
}
|
||||||
|
|
||||||
|
gotconfig = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
new offset = GetEntSendPropOffs(entity, prop);
|
||||||
|
|
||||||
|
for (new i = 0; i < 4; i++)
|
||||||
|
color[i] = GetEntData(entity, offset + i, 1);
|
||||||
|
}
|
||||||
|
@ -412,12 +412,18 @@ public Action:ZSpawnForceCommand(client, argc)
|
|||||||
return Plugin_Handled;
|
return Plugin_Handled;
|
||||||
}
|
}
|
||||||
|
|
||||||
decl String:target[MAX_NAME_LENGTH], String:targetname[MAX_NAME_LENGTH];
|
decl String:target[MAX_NAME_LENGTH], String:targetname[MAX_NAME_LENGTH], String:adminname[MAX_NAME_LENGTH];
|
||||||
new targets[MAXPLAYERS], bool:tn_is_ml, result;
|
new targets[MAXPLAYERS], bool:tn_is_ml, result;
|
||||||
|
|
||||||
// Get targetname.
|
// Get targetname.
|
||||||
GetCmdArg(1, target, sizeof(target));
|
GetCmdArg(1, target, sizeof(target));
|
||||||
|
|
||||||
|
// Get admin's name for later use.
|
||||||
|
if(client > 0)
|
||||||
|
GetClientName(client, adminname, sizeof(adminname));
|
||||||
|
else
|
||||||
|
strcopy(adminname, sizeof(adminname), "Console");
|
||||||
|
|
||||||
// Find a target.
|
// Find a target.
|
||||||
result = ProcessTargetString(target, client, targets, sizeof(targets), COMMAND_FILTER_DEAD, targetname, sizeof(targetname), tn_is_ml);
|
result = ProcessTargetString(target, client, targets, sizeof(targets), COMMAND_FILTER_DEAD, targetname, sizeof(targetname), tn_is_ml);
|
||||||
|
|
||||||
@ -441,7 +447,12 @@ public Action:ZSpawnForceCommand(client, argc)
|
|||||||
{
|
{
|
||||||
// Give client the item.
|
// Give client the item.
|
||||||
new bool:success = ZSpawnClient(targets[x], true, zombie);
|
new bool:success = ZSpawnClient(targets[x], true, zombie);
|
||||||
|
|
||||||
|
if(success)
|
||||||
|
{
|
||||||
LogAction(client, targets[x], "\"%L\" forced a ZSpawn on \"%L\"%s", client, targets[x], zombie ? " and made them zombie" : "");
|
LogAction(client, targets[x], "\"%L\" forced a ZSpawn on \"%L\"%s", client, targets[x], zombie ? " and made them zombie" : "");
|
||||||
|
TranslationPrintToChatAll(false, false, "ZSpawn command force successful public", adminname, targetname, zombie ? "zombie" : "human");
|
||||||
|
}
|
||||||
|
|
||||||
// Tell admin the outcome of the command if only 1 client was targetted.
|
// Tell admin the outcome of the command if only 1 client was targetted.
|
||||||
if (result == 1)
|
if (result == 1)
|
||||||
|
Loading…
Reference in New Issue
Block a user