View Single Post
Grey83
Veteran Member
Join Date: Dec 2014
Location: Ukraine
Old 02-10-2024 , 13:52   Re: Plugin Code & Compile Help
Reply With Quote #3

Translated into the SourcePawn programming language from the ChatGPT dialect:
PHP Code:
#pragma semicolon 1
#pragma newdecls required

#include <cstrike>

ConVar
    hQuota
;
int
    iAdd
,
    
iRemove;

public 
Plugin myinfo =
{
    
name "Bot Manager",
    
author "Your Name",
    
description "Manages bots in Counter-Strike: Source based on player round outcomes.",
    
version "1.0"
}

public 
void OnPluginStart()
{
    if(!(
hQuota FindConVar("bot_quota"))) SetFailState("Can't find convar 'bot_quota'");

    
ConVar cvar;
    
cvar CreateConVar("sm_botmanager_add""10""wins_to_add_bot"_true);
    
cvar.AddChangeHook(CVarChange_Add);
    
iAdd cvar.IntValue;

    
cvar CreateConVar("sm_botmanager_remove""8""wins_to_remove_bot"_true);
    
cvar.AddChangeHook(CVarChange_Remove);
    
iRemove cvar.IntValue;

    
HookEvent("player_death"Event_DeathEventHookMode_Post);
}

public 
void CVarChange_Add(ConVar cvar, const char[] oldValue, const char[] newValue)
{
    
iAdd cvar.IntValue;
}

public 
void CVarChange_Remove(ConVar cvar, const char[] oldValue, const char[] newValue)
{
    
iRemove cvar.IntValue;
}

public 
void Event_Death(Event event, const char[] eventNamebool dontBroadcast)
{
    
int victim GetEventInt(event"victim");
    if(!
victim || !IsClientInGame(victim))
        return;

    
int attacker GetEventInt(event"attacker");
    if(!
attacker || attacker == victim || !IsClientInGame(attacker) || IsFakeClient(attacker))
        return;

    
int losingTeam GetClientTeam(victim), num hQuota.IntValue;
    if(
GetClientTeam(attacker) != losingTeam)
    {
        if (
CS_GetTeamScore(losingTeam) >= iAdd)
            
num++;
    }
    else if(!
IsFakeClient(victim) && CS_GetTeamScore(losingTeam) >= iRemove)
        
num--;

    
hQuota.IntValue num;

But the algorithm is still flawed, LOL.
__________________
Grey83 is offline