02/05/2020, 05:52 AM
(Última modificación: 09/05/2020, 02:35 PM por Side^^. Edited 4 times in total.)
Últimamente estoy haciendo cosillas por el csgo y me apetece aportarlas por aquí por si alguien lo necesita.
Solo sirve para este mod: https://forums.alliedmods.net/showthread.php?t=290657
Solo sirve para este mod: https://forums.alliedmods.net/showthread.php?t=290657
Código PHP:
#include <sourcemod>
#include <sdkhooks>
#include <multicolors>
#include <zombieplague>
#pragma semicolon 1
#pragma newdecls required
#define Prefix "ZP"
int premio = 200;
int g_modo;
bool nemesis;
public Plugin myinfo =
{
name = "Extra ammos x cuchillo",
author = "SIDE",
description = "Ganas un extra de ammopacks (Dinero) cuando matas al nemesis con cuchillo",
version = "1.0",
url = "https://steamcommunity.com/id/CSIDE97/"
};
public void OnPluginStart()
{
for (int i = 1; i <= MaxClients; i++)
if(IsClientInGame(i))
OnClientPutInServer(i);
}
public void OnLibraryAdded(const char[] sLibrary)
{
if (!strcmp(sLibrary, "zombieplague", false))
{
if (ZP_IsMapLoaded())
ZP_OnEngineExecute();
}
}
public void OnClientPutInServer(int client) { SDKHook(client, SDKHook_OnTakeDamagePost, OnTakeDamagePost); }
public void ZP_OnEngineExecute() { g_modo = ZP_GetGameModeNameID("nemesis mode"); }
public void ZP_OnGameModeStart(int mode)
{
if (mode == g_modo)
nemesis = true;
}
public void OnTakeDamagePost(int victim, int attacker, int inflictor, float damage, int damagetype, int weapon, const float damageForce[3], const float damagePosition[3], int damagecustom)
{
if (IsPlayerAlive(victim))
return;
if (victim == attacker || !IsPlayerAlive(attacker))
return;
int clase = ZP_GetCurrentGameMode();
int money = ZP_GetClientMoney(attacker);
int premio_final = money + premio;
char arma[64];
GetEntPropString(weapon, Prop_Data, "m_iClassname", arma, sizeof(arma));
if (StrContains(arma, "knife", false) == -1)
return;
if(!ZP_IsPlayerHuman(attacker))
return;
if(!ZP_IsGameModeZombieClass(clase, "nemesis"))
return;
if(!nemesis)
return;
ZP_SetClientMoney(attacker, premio_final);
CPrintToChat(attacker, "{green}[%s] {default} Has ganado {green}%i {default}por acuchillar al nemesis", Prefix, premio);
}