Init
This commit is contained in:
commit
527e7ec05e
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
/include
|
||||
/spcomp
|
||||
/spcomp.exe
|
610
AdvancedTargeting/scripting/AdvancedTargeting.sp
Normal file
610
AdvancedTargeting/scripting/AdvancedTargeting.sp
Normal file
@ -0,0 +1,610 @@
|
||||
#pragma semicolon 1
|
||||
|
||||
#pragma dynamic 128*1024
|
||||
|
||||
#include <sourcemod>
|
||||
#include <sdktools>
|
||||
#include <SteamWorks>
|
||||
#include <cstrike>
|
||||
#include <AdvancedTargeting>
|
||||
|
||||
#undef REQUIRE_PLUGIN
|
||||
#include <AdvancedTargeting>
|
||||
#include <voiceannounce_ex>
|
||||
#define REQUIRE_PLUGIN
|
||||
|
||||
#undef REQUIRE_EXTENSIONS
|
||||
#tryinclude <voice>
|
||||
#define REQUIRE_EXTENSIONS
|
||||
|
||||
#pragma newdecls required
|
||||
|
||||
Handle g_FriendsArray[MAXPLAYERS + 1] = {INVALID_HANDLE, ...};
|
||||
|
||||
bool g_Plugin_voiceannounce_ex = false;
|
||||
bool g_Extension_Voice = false;
|
||||
bool g_bLateLoad = false;
|
||||
|
||||
#include <SteamAPI.secret> //#define STEAM_API_KEY here
|
||||
|
||||
public Plugin myinfo =
|
||||
{
|
||||
name = "Advanced Targeting",
|
||||
author = "BotoX + Obus",
|
||||
description = "Adds extra targeting methods",
|
||||
version = "1.3",
|
||||
url = "https://github.com/CSSZombieEscape/sm-plugins/tree/master/AdvancedTargeting/"
|
||||
}
|
||||
|
||||
public void OnPluginStart()
|
||||
{
|
||||
AddMultiTargetFilter("@admins", Filter_Admin, "Admins", false);
|
||||
AddMultiTargetFilter("@!admins", Filter_NotAdmin, "Not Admins", false);
|
||||
AddMultiTargetFilter("@friends", Filter_Friends, "Steam Friends", false);
|
||||
AddMultiTargetFilter("@!friends", Filter_NotFriends, "Not Steam Friends", false);
|
||||
AddMultiTargetFilter("@random", Filter_Random, "a Random Player", false);
|
||||
AddMultiTargetFilter("@randomct", Filter_RandomCT, "a Random CT", false);
|
||||
AddMultiTargetFilter("@randomt", Filter_RandomT, "a Random T", false);
|
||||
AddMultiTargetFilter("@alivect", Filter_AliveCT, "Alive Humans", false);
|
||||
AddMultiTargetFilter("@alivet", Filter_AliveT, "Alive Zombies", false);
|
||||
AddMultiTargetFilter("@talking", Filter_Talking, "Talking", false);
|
||||
AddMultiTargetFilter("@!talking", Filter_NotTalking, "Not Talking", false);
|
||||
AddMultiTargetFilter("@speaking", Filter_Talking, "Talking", false);
|
||||
AddMultiTargetFilter("@!speaking", Filter_NotTalking, "Not Talking", false);
|
||||
|
||||
RegConsoleCmd("sm_admins", Command_Admins, "Currently online admins.");
|
||||
RegConsoleCmd("sm_friends", Command_Friends, "Currently online friends.");
|
||||
|
||||
if(g_bLateLoad)
|
||||
{
|
||||
char sSteam32ID[32];
|
||||
for(int i = 1; i <= MaxClients; i++)
|
||||
{
|
||||
if(IsClientInGame(i) && !IsFakeClient(i) && IsClientAuthorized(i) &&
|
||||
GetClientAuthId(i, AuthId_Steam2, sSteam32ID, sizeof(sSteam32ID)))
|
||||
{
|
||||
OnClientAuthorized(i, sSteam32ID);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void OnPluginEnd()
|
||||
{
|
||||
RemoveMultiTargetFilter("@admins", Filter_Admin);
|
||||
RemoveMultiTargetFilter("@!admins", Filter_NotAdmin);
|
||||
RemoveMultiTargetFilter("@friends", Filter_Friends);
|
||||
RemoveMultiTargetFilter("@!friends", Filter_NotFriends);
|
||||
RemoveMultiTargetFilter("@random", Filter_Random);
|
||||
RemoveMultiTargetFilter("@randomct", Filter_RandomCT);
|
||||
RemoveMultiTargetFilter("@randomt", Filter_RandomT);
|
||||
RemoveMultiTargetFilter("@alivect", Filter_AliveCT);
|
||||
RemoveMultiTargetFilter("@alivet", Filter_AliveT);
|
||||
RemoveMultiTargetFilter("@talking", Filter_Talking);
|
||||
RemoveMultiTargetFilter("@!talking", Filter_NotTalking);
|
||||
RemoveMultiTargetFilter("@speaking", Filter_Talking);
|
||||
RemoveMultiTargetFilter("@!speaking", Filter_NotTalking);
|
||||
}
|
||||
|
||||
public APLRes AskPluginLoad2(Handle myself, bool late, char[] error, int err_max)
|
||||
{
|
||||
CreateNative("IsClientFriend", Native_IsClientFriend);
|
||||
CreateNative("ReadClientFriends", Native_ReadClientFriends);
|
||||
RegPluginLibrary("AdvancedTargeting");
|
||||
|
||||
g_bLateLoad = late;
|
||||
return APLRes_Success;
|
||||
}
|
||||
|
||||
public void OnAllPluginsLoaded()
|
||||
{
|
||||
g_Plugin_voiceannounce_ex = LibraryExists("voiceannounce_ex");
|
||||
g_Extension_Voice = LibraryExists("Voice");
|
||||
|
||||
LogMessage("AdvancedTargeting capabilities:\nVoiceAnnounce: %s\nVoice: %s",
|
||||
(g_Plugin_voiceannounce_ex ? "loaded" : "not loaded"),
|
||||
(g_Extension_Voice ? "loaded" : "not loaded"));
|
||||
}
|
||||
|
||||
public void OnLibraryAdded(const char[] name)
|
||||
{
|
||||
if(StrEqual(name, "voiceannounce_ex"))
|
||||
g_Plugin_voiceannounce_ex = true;
|
||||
else if(StrEqual(name, "Voice"))
|
||||
g_Extension_Voice = true;
|
||||
}
|
||||
|
||||
public void OnLibraryRemoved(const char[] name)
|
||||
{
|
||||
if(StrEqual(name, "voiceannounce_ex"))
|
||||
g_Plugin_voiceannounce_ex = false;
|
||||
else if(StrEqual(name, "Voice"))
|
||||
g_Extension_Voice = false;
|
||||
}
|
||||
|
||||
public Action Command_Admins(int client, int args)
|
||||
{
|
||||
char aBuf[1024];
|
||||
char aBuf2[MAX_NAME_LENGTH];
|
||||
for(int i = 1; i <= MaxClients; i++)
|
||||
{
|
||||
if(IsClientInGame(i) && !IsFakeClient(i) && GetAdminFlag(GetUserAdmin(i), Admin_Generic))
|
||||
{
|
||||
GetClientName(i, aBuf2, sizeof(aBuf2));
|
||||
StrCat(aBuf, sizeof(aBuf), aBuf2);
|
||||
StrCat(aBuf, sizeof(aBuf), ", ");
|
||||
}
|
||||
}
|
||||
|
||||
if(strlen(aBuf))
|
||||
{
|
||||
aBuf[strlen(aBuf) - 2] = 0;
|
||||
ReplyToCommand(client, "[SM] Admins currently online: %s", aBuf);
|
||||
}
|
||||
else
|
||||
ReplyToCommand(client, "[SM] Admins currently online: none");
|
||||
|
||||
return Plugin_Handled;
|
||||
}
|
||||
|
||||
public Action Command_Friends(int client, int args)
|
||||
{
|
||||
if(!client)
|
||||
return Plugin_Handled;
|
||||
|
||||
if(g_FriendsArray[client] == INVALID_HANDLE)
|
||||
{
|
||||
PrintToChat(client, "[SM] Could not read your friendslist, your profile must be set to public!");
|
||||
return Plugin_Handled;
|
||||
}
|
||||
|
||||
char aBuf[1024];
|
||||
char aBuf2[MAX_NAME_LENGTH];
|
||||
for(int i = 1; i <= MaxClients; i++)
|
||||
{
|
||||
if(IsClientInGame(i) && !IsFakeClient(i) && IsClientAuthorized(i))
|
||||
{
|
||||
int Steam3ID = GetSteamAccountID(i);
|
||||
|
||||
if(FindValueInArray(g_FriendsArray[client], Steam3ID) != -1)
|
||||
{
|
||||
GetClientName(i, aBuf2, sizeof(aBuf2));
|
||||
StrCat(aBuf, sizeof(aBuf), aBuf2);
|
||||
StrCat(aBuf, sizeof(aBuf), ", ");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(strlen(aBuf))
|
||||
{
|
||||
aBuf[strlen(aBuf) - 2] = 0;
|
||||
PrintToChat(client, "[SM] Friends currently online: %s", aBuf);
|
||||
}
|
||||
else
|
||||
PrintToChat(client, "[SM] Friends currently online: none");
|
||||
|
||||
return Plugin_Handled;
|
||||
}
|
||||
|
||||
public bool Filter_AliveCT(const char[] sPattern, Handle hClients, int client)
|
||||
{
|
||||
for(int i = 1; i <= MaxClients; i++)
|
||||
{
|
||||
if(IsClientInGame(i) && !IsFakeClient(i) && GetClientTeam(i) == CS_TEAM_CT && IsPlayerAlive(i))
|
||||
{
|
||||
PushArrayCell(hClients, i);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public bool Filter_AliveT(const char[] sPattern, Handle hClients, int client)
|
||||
{
|
||||
for(int i = 1; i <= MaxClients; i++)
|
||||
{
|
||||
if(IsClientInGame(i) && !IsFakeClient(i) && GetClientTeam(i) == CS_TEAM_T && IsPlayerAlive(i))
|
||||
{
|
||||
PushArrayCell(hClients, i);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public bool Filter_Admin(const char[] sPattern, Handle hClients, int client)
|
||||
{
|
||||
for(int i = 1; i <= MaxClients; i++)
|
||||
{
|
||||
if(IsClientInGame(i) && !IsFakeClient(i) && GetAdminFlag(GetUserAdmin(i), Admin_Generic))
|
||||
{
|
||||
PushArrayCell(hClients, i);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public bool Filter_NotAdmin(const char[] sPattern, Handle hClients, int client)
|
||||
{
|
||||
for(int i = 1; i <= MaxClients; i++)
|
||||
{
|
||||
if(IsClientInGame(i) && !IsFakeClient(i) && !GetAdminFlag(GetUserAdmin(i), Admin_Generic))
|
||||
{
|
||||
PushArrayCell(hClients, i);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public bool Filter_Friends(const char[] sPattern, Handle hClients, int client)
|
||||
{
|
||||
if(g_FriendsArray[client] == INVALID_HANDLE)
|
||||
{
|
||||
PrintToChat(client, "[SM] Could not read your friendslist, your profile must be set to public!");
|
||||
return false;
|
||||
}
|
||||
|
||||
for(int i = 1; i <= MaxClients; i++)
|
||||
{
|
||||
if(i != client && IsClientInGame(i) && !IsFakeClient(i) && IsClientAuthorized(i))
|
||||
{
|
||||
int Steam3ID = GetSteamAccountID(i);
|
||||
|
||||
if(FindValueInArray(g_FriendsArray[client], Steam3ID) != -1)
|
||||
PushArrayCell(hClients, i);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public bool Filter_NotFriends(const char[] sPattern, Handle hClients, int client)
|
||||
{
|
||||
if(g_FriendsArray[client] == INVALID_HANDLE)
|
||||
{
|
||||
PrintToChat(client, "[SM] Could not read your friendslist, your profile must be set to public!");
|
||||
return false;
|
||||
}
|
||||
|
||||
for(int i = 1; i <= MaxClients; i++)
|
||||
{
|
||||
if(i != client && IsClientInGame(i) && !IsFakeClient(i) && IsClientAuthorized(i))
|
||||
{
|
||||
int Steam3ID = GetSteamAccountID(i);
|
||||
|
||||
if(FindValueInArray(g_FriendsArray[client], Steam3ID) == -1)
|
||||
PushArrayCell(hClients, i);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public bool Filter_Random(const char[] sPattern, Handle hClients, int client)
|
||||
{
|
||||
int iRand = GetRandomInt(1, MaxClients);
|
||||
|
||||
if(IsClientInGame(iRand) && IsPlayerAlive(iRand))
|
||||
PushArrayCell(hClients, iRand);
|
||||
else
|
||||
Filter_Random(sPattern, hClients, client);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public bool Filter_RandomCT(const char[] sPattern, Handle hClients, int client)
|
||||
{
|
||||
int iCTCount = GetTeamClientCount(CS_TEAM_CT);
|
||||
|
||||
if(!iCTCount)
|
||||
return false;
|
||||
|
||||
int[] iCTs = new int[iCTCount];
|
||||
|
||||
int iCurIndex;
|
||||
|
||||
for(int i = 1; i <= MaxClients; i++)
|
||||
{
|
||||
if(!IsClientInGame(i) || GetClientTeam(i) != CS_TEAM_CT)
|
||||
continue;
|
||||
|
||||
if(!IsPlayerAlive(i))
|
||||
{
|
||||
iCTCount--;
|
||||
continue;
|
||||
}
|
||||
|
||||
iCTs[iCurIndex] = i;
|
||||
iCurIndex++;
|
||||
}
|
||||
|
||||
PushArrayCell(hClients, iCTs[GetRandomInt(0, iCTCount-1)]);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public bool Filter_RandomT(const char[] sPattern, Handle hClients, int client)
|
||||
{
|
||||
int iTCount = GetTeamClientCount(CS_TEAM_T);
|
||||
|
||||
if(!iTCount)
|
||||
return false;
|
||||
|
||||
int[] iTs = new int[iTCount];
|
||||
|
||||
int iCurIndex;
|
||||
|
||||
for(int i = 1; i <= MaxClients; i++)
|
||||
{
|
||||
if(!IsClientInGame(i) || GetClientTeam(i) != CS_TEAM_T)
|
||||
continue;
|
||||
|
||||
if(!IsPlayerAlive(i))
|
||||
{
|
||||
iTCount--;
|
||||
continue;
|
||||
}
|
||||
|
||||
iTs[iCurIndex] = i;
|
||||
iCurIndex++;
|
||||
}
|
||||
|
||||
PushArrayCell(hClients, iTs[GetRandomInt(0, iTCount-1)]);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
stock bool _IsClientSpeaking(int client)
|
||||
{
|
||||
#if defined _voiceannounceex_included_
|
||||
if(g_Plugin_voiceannounce_ex)
|
||||
return IsClientSpeaking(client);
|
||||
#endif
|
||||
|
||||
#if defined _voice_included
|
||||
if(g_Extension_Voice)
|
||||
return IsClientTalking(client);
|
||||
#endif
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool Filter_Talking(const char[] sPattern, Handle hClients, int client)
|
||||
{
|
||||
for(int i = 1; i <= MaxClients; i++)
|
||||
{
|
||||
if(IsClientInGame(i) && !IsFakeClient(i) && _IsClientSpeaking(i))
|
||||
{
|
||||
PushArrayCell(hClients, i);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public bool Filter_NotTalking(const char[] sPattern, Handle hClients, int client)
|
||||
{
|
||||
for(int i = 1; i <= MaxClients; i++)
|
||||
{
|
||||
if(IsClientInGame(i) && !IsFakeClient(i) && !_IsClientSpeaking(i))
|
||||
{
|
||||
PushArrayCell(hClients, i);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public void OnClientAuthorized(int client, const char[] auth)
|
||||
{
|
||||
if(IsFakeClient(client))
|
||||
return;
|
||||
|
||||
char sSteam64ID[32];
|
||||
Steam32IDtoSteam64ID(auth, sSteam64ID, sizeof(sSteam64ID));
|
||||
|
||||
static char sRequest[256];
|
||||
FormatEx(sRequest, sizeof(sRequest), "http://api.steampowered.com/ISteamUser/GetFriendList/v0001/?key=%s&steamid=%s&relationship=friend&format=vdf", STEAM_API_KEY, sSteam64ID);
|
||||
|
||||
Handle hRequest = SteamWorks_CreateHTTPRequest(k_EHTTPMethodGET, sRequest);
|
||||
if (!hRequest ||
|
||||
!SteamWorks_SetHTTPRequestContextValue(hRequest, client) ||
|
||||
!SteamWorks_SetHTTPCallbacks(hRequest, OnTransferComplete) ||
|
||||
!SteamWorks_SendHTTPRequest(hRequest))
|
||||
{
|
||||
CloseHandle(hRequest);
|
||||
}
|
||||
}
|
||||
|
||||
public void OnClientDisconnect(int client)
|
||||
{
|
||||
if(g_FriendsArray[client] != INVALID_HANDLE)
|
||||
CloseHandle(g_FriendsArray[client]);
|
||||
|
||||
g_FriendsArray[client] = INVALID_HANDLE;
|
||||
}
|
||||
|
||||
public int OnTransferComplete(Handle hRequest, bool bFailure, bool bRequestSuccessful, EHTTPStatusCode eStatusCode, int client)
|
||||
{
|
||||
if(bFailure || !bRequestSuccessful || eStatusCode != k_EHTTPStatusCode200OK)
|
||||
{
|
||||
// Private profile or maybe steam down?
|
||||
//LogError("SteamAPI HTTP Response failed: %d", eStatusCode);
|
||||
CloseHandle(hRequest);
|
||||
return;
|
||||
}
|
||||
|
||||
int Length;
|
||||
SteamWorks_GetHTTPResponseBodySize(hRequest, Length);
|
||||
|
||||
char[] sData = new char[Length];
|
||||
SteamWorks_GetHTTPResponseBodyData(hRequest, sData, Length);
|
||||
//SteamWorks_GetHTTPResponseBodyCallback(hRequest, APIWebResponse, client);
|
||||
|
||||
CloseHandle(hRequest);
|
||||
|
||||
APIWebResponse(sData, client);
|
||||
}
|
||||
|
||||
public void APIWebResponse(const char[] sData, int client)
|
||||
{
|
||||
KeyValues Response = new KeyValues("SteamAPIResponse");
|
||||
if(!Response.ImportFromString(sData, "SteamAPIResponse"))
|
||||
{
|
||||
LogError("ImportFromString(sData, \"SteamAPIResponse\") failed.");
|
||||
delete Response;
|
||||
return;
|
||||
}
|
||||
|
||||
if(!Response.JumpToKey("friends"))
|
||||
{
|
||||
LogError("JumpToKey(\"friends\") failed.");
|
||||
delete Response;
|
||||
return;
|
||||
}
|
||||
|
||||
// No friends?
|
||||
if(!Response.GotoFirstSubKey())
|
||||
{
|
||||
//LogError("GotoFirstSubKey() failed.");
|
||||
delete Response;
|
||||
return;
|
||||
}
|
||||
|
||||
if(g_FriendsArray[client] != INVALID_HANDLE)
|
||||
CloseHandle(g_FriendsArray[client]);
|
||||
|
||||
g_FriendsArray[client] = CreateArray();
|
||||
|
||||
char sCommunityID[32];
|
||||
do
|
||||
{
|
||||
Response.GetString("steamid", sCommunityID, sizeof(sCommunityID));
|
||||
|
||||
PushArrayCell(g_FriendsArray[client], Steam64toSteam3(sCommunityID));
|
||||
}
|
||||
while(Response.GotoNextKey());
|
||||
|
||||
delete Response;
|
||||
}
|
||||
|
||||
|
||||
stock bool Steam32IDtoSteam64ID(const char[] sSteam32ID, char[] sSteam64ID, int Size)
|
||||
{
|
||||
if(strlen(sSteam32ID) < 11 || strncmp(sSteam32ID[0], "STEAM_0:", 8))
|
||||
{
|
||||
sSteam64ID[0] = 0;
|
||||
return false;
|
||||
}
|
||||
|
||||
int iUpper = 765611979;
|
||||
int isSteam64ID = StringToInt(sSteam32ID[10]) * 2 + 60265728 + sSteam32ID[8] - 48;
|
||||
|
||||
int iDiv = isSteam64ID / 100000000;
|
||||
int iIdx = 9 - (iDiv ? (iDiv / 10 + 1) : 0);
|
||||
iUpper += iDiv;
|
||||
|
||||
IntToString(isSteam64ID, sSteam64ID[iIdx], Size - iIdx);
|
||||
iIdx = sSteam64ID[9];
|
||||
IntToString(iUpper, sSteam64ID, Size);
|
||||
sSteam64ID[9] = iIdx;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
stock int Steam64toSteam3(const char[] sSteam64ID)
|
||||
{
|
||||
if(strlen(sSteam64ID) != 17)
|
||||
return 0;
|
||||
|
||||
// convert SteamID64 to array of integers
|
||||
int aSteam64ID[17];
|
||||
for(int i = 0; i < 17; i++)
|
||||
aSteam64ID[i] = sSteam64ID[i] - 48;
|
||||
|
||||
// subtract individual SteamID64 identifier (0x0110000100000000)
|
||||
int aSteam64IDIdent[] = {7, 6, 5, 6, 1, 1, 9, 7, 9, 6, 0, 2, 6, 5, 7, 2, 8};
|
||||
int Carry = 0;
|
||||
for(int i = 16; i >= 0; i--)
|
||||
{
|
||||
if(aSteam64ID[i] < aSteam64IDIdent[i] + Carry)
|
||||
{
|
||||
aSteam64ID[i] = aSteam64ID[i] - aSteam64IDIdent[i] - Carry + 10;
|
||||
Carry = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
aSteam64ID[i] = aSteam64ID[i] - aSteam64IDIdent[i] - Carry;
|
||||
Carry = 0;
|
||||
}
|
||||
}
|
||||
|
||||
char aBuf[17];
|
||||
int j = 0;
|
||||
bool ZereosDone = false;
|
||||
for(int i = 0; i < 17; i++)
|
||||
{
|
||||
if(!ZereosDone && !aSteam64ID[i])
|
||||
continue;
|
||||
ZereosDone = true;
|
||||
|
||||
aBuf[j++] = aSteam64ID[i] + 48;
|
||||
}
|
||||
|
||||
return StringToInt(aBuf);
|
||||
}
|
||||
|
||||
public int Native_IsClientFriend(Handle plugin, int numParams)
|
||||
{
|
||||
int client = GetNativeCell(1);
|
||||
int friend = GetNativeCell(2);
|
||||
|
||||
if(client > MaxClients || client <= 0 || friend > MaxClients || friend <= 0)
|
||||
{
|
||||
ThrowNativeError(SP_ERROR_NATIVE, "Client is not valid.");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if(!IsClientInGame(client) || !IsClientInGame(friend))
|
||||
{
|
||||
ThrowNativeError(SP_ERROR_NATIVE, "Client is not in-game.");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if(IsFakeClient(client) || IsFakeClient(friend))
|
||||
{
|
||||
ThrowNativeError(SP_ERROR_NATIVE, "Client is fake-client.");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if(g_FriendsArray[client] == INVALID_HANDLE)
|
||||
return -1;
|
||||
|
||||
if(IsClientAuthorized(friend))
|
||||
{
|
||||
int Steam3ID = GetSteamAccountID(friend);
|
||||
|
||||
if(FindValueInArray(g_FriendsArray[client], Steam3ID) != -1)
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
public int Native_ReadClientFriends(Handle plugin, int numParams)
|
||||
{
|
||||
int client = GetNativeCell(1);
|
||||
|
||||
if(client > MaxClients || client <= 0)
|
||||
{
|
||||
ThrowNativeError(SP_ERROR_NATIVE, "Client is not valid.");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if(g_FriendsArray[client] != INVALID_HANDLE)
|
||||
return 1;
|
||||
|
||||
return 0;
|
||||
}
|
26
AdvancedTargeting/scripting/include/AdvancedTargeting.inc
Normal file
26
AdvancedTargeting/scripting/include/AdvancedTargeting.inc
Normal file
@ -0,0 +1,26 @@
|
||||
#if defined _AdvancedTargeting_Included
|
||||
#endinput
|
||||
#endif
|
||||
#define _AdvancedTargeting_Included
|
||||
|
||||
native int IsClientFriend(int client, int friend);
|
||||
native int ReadClientFriends(int client);
|
||||
|
||||
public SharedPlugin __pl_AdvancedTargeting =
|
||||
{
|
||||
name = "AdvancedTargeting",
|
||||
file = "AdvancedTargeting.smx",
|
||||
#if defined REQUIRE_PLUGIN
|
||||
required = 1,
|
||||
#else
|
||||
required = 0,
|
||||
#endif
|
||||
};
|
||||
|
||||
#if !defined REQUIRE_PLUGIN
|
||||
public __pl_AdvancedTargeting_SetNTVOptional()
|
||||
{
|
||||
MarkNativeAsOptional("IsClientFriend");
|
||||
MarkNativeAsOptional("ReadClientFriends");
|
||||
}
|
||||
#endif
|
652
AntiBhopCheat/scripting/AntiBhopCheat.sp
Normal file
652
AntiBhopCheat/scripting/AntiBhopCheat.sp
Normal file
@ -0,0 +1,652 @@
|
||||
#include <sourcemod>
|
||||
#include <sdktools>
|
||||
#include <multicolors>
|
||||
#include <SelectiveBhop>
|
||||
|
||||
#include <basic>
|
||||
#include "CJump.inc"
|
||||
#include "CStreak.inc"
|
||||
#include "CPlayer.inc"
|
||||
|
||||
#define MAX_STREAKS 5
|
||||
#define VALID_MIN_JUMPS 3
|
||||
#define VALID_MAX_TICKS 5
|
||||
#define VALID_MIN_VELOCITY 250
|
||||
|
||||
int g_aButtons[MAXPLAYERS + 1];
|
||||
bool g_bOnGround[MAXPLAYERS + 1];
|
||||
bool g_bHoldingJump[MAXPLAYERS + 1];
|
||||
bool g_bInJump[MAXPLAYERS + 1];
|
||||
|
||||
CPlayer g_aPlayers[MAXPLAYERS + 1];
|
||||
|
||||
// Api
|
||||
Handle g_hOnClientDetected;
|
||||
|
||||
public Plugin myinfo =
|
||||
{
|
||||
name = "AntiBhopCheat",
|
||||
author = "BotoX",
|
||||
description = "Detect all kinds of bhop cheats",
|
||||
version = "0.0",
|
||||
url = ""
|
||||
};
|
||||
|
||||
|
||||
public void OnPluginStart()
|
||||
{
|
||||
LoadTranslations("common.phrases");
|
||||
|
||||
RegAdminCmd("sm_stats", Command_Stats, ADMFLAG_GENERIC, "sm_stats <#userid|name>");
|
||||
RegAdminCmd("sm_streak", Command_Streak, ADMFLAG_GENERIC, "sm_streak <#userid|name> [streak]");
|
||||
|
||||
/* Handle late load */
|
||||
for(int client = 1; client <= MaxClients; client++)
|
||||
{
|
||||
if(IsClientConnected(client))
|
||||
{
|
||||
if(IsClientConnected(client))
|
||||
OnClientConnected(client);
|
||||
}
|
||||
}
|
||||
|
||||
// Api
|
||||
g_hOnClientDetected = CreateGlobalForward("AntiBhopCheat_OnClientDetected", ET_Ignore, Param_Cell, Param_String, Param_String);
|
||||
}
|
||||
|
||||
public void OnClientConnected(int client)
|
||||
{
|
||||
if(g_aPlayers[client])
|
||||
{
|
||||
g_aPlayers[client].Dispose();
|
||||
g_aPlayers[client] = null;
|
||||
}
|
||||
|
||||
g_aPlayers[client] = new CPlayer(client);
|
||||
}
|
||||
|
||||
public void OnClientDisconnect(int client)
|
||||
{
|
||||
if(g_aPlayers[client])
|
||||
{
|
||||
g_aPlayers[client].Dispose();
|
||||
g_aPlayers[client] = null;
|
||||
}
|
||||
|
||||
g_bOnGround[client] = false;
|
||||
g_bHoldingJump[client] = false;
|
||||
g_bInJump[client] = false;
|
||||
}
|
||||
|
||||
public Action OnPlayerRunCmd(int client, int &buttons)
|
||||
{
|
||||
g_aButtons[client] = buttons;
|
||||
return Plugin_Continue;
|
||||
}
|
||||
|
||||
public void OnPlayerRunCmdPost(int client, int buttons, int impulse, const float vel[3], const float angles[3], int weapon, int subtype, int cmdnum, int tickcount, int seed, const int mouse[2])
|
||||
{
|
||||
if(!IsPlayerAlive(client))
|
||||
return;
|
||||
|
||||
CPlayer Player = g_aPlayers[client];
|
||||
|
||||
MoveType ClientMoveType = GetEntityMoveType(client);
|
||||
bool bInWater = GetEntProp(client, Prop_Send, "m_nWaterLevel") >= 2;
|
||||
|
||||
bool bPrevOnGround = g_bOnGround[client];
|
||||
bool bOnGround = !bInWater && GetEntityFlags(client) & FL_ONGROUND;
|
||||
|
||||
bool bPrevHoldingJump = g_bHoldingJump[client];
|
||||
bool bHoldingJump = view_as<bool>(g_aButtons[client] & IN_JUMP);
|
||||
|
||||
bool bInJump = g_bInJump[client];
|
||||
|
||||
float fVecVelocity[3];
|
||||
GetEntPropVector(client, Prop_Data, "m_vecAbsVelocity", fVecVelocity);
|
||||
fVecVelocity[2] = 0.0;
|
||||
float fVelocity = GetVectorLength(fVecVelocity);
|
||||
|
||||
if(bInJump && (bInWater || ClientMoveType == MOVETYPE_LADDER || ClientMoveType == MOVETYPE_NOCLIP))
|
||||
bOnGround = true;
|
||||
|
||||
if(bOnGround)
|
||||
{
|
||||
if(!bPrevOnGround)
|
||||
{
|
||||
g_bOnGround[client] = true;
|
||||
g_bInJump[client] = false;
|
||||
if(bInJump)
|
||||
OnTouchGround(Player, tickcount, fVelocity);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(bPrevOnGround)
|
||||
g_bOnGround[client] = false;
|
||||
}
|
||||
|
||||
if(bHoldingJump)
|
||||
{
|
||||
if(!bPrevHoldingJump && !bOnGround && (bPrevOnGround || bInJump))
|
||||
{
|
||||
g_bHoldingJump[client] = true;
|
||||
g_bInJump[client] = true;
|
||||
OnPressJump(Player, tickcount, fVelocity, bPrevOnGround);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(bPrevHoldingJump)
|
||||
{
|
||||
g_bHoldingJump[client] = false;
|
||||
OnReleaseJump(Player, tickcount, fVelocity);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: Release after touch ground
|
||||
|
||||
void OnTouchGround(CPlayer Player, int iTick, float fVelocity)
|
||||
{
|
||||
//PrintToServer("%d - OnTouchGround", iTick);
|
||||
|
||||
CStreak CurStreak = Player.hStreak;
|
||||
ArrayList hJumps = CurStreak.hJumps;
|
||||
CJump hJump = hJumps.Get(hJumps.Length - 1);
|
||||
|
||||
hJump.iEndTick = iTick;
|
||||
hJump.fEndVel = fVelocity;
|
||||
|
||||
int iLength = hJumps.Length;
|
||||
if(iLength == VALID_MIN_JUMPS)
|
||||
{
|
||||
CurStreak.bValid = true;
|
||||
|
||||
// Current streak is valid, push onto hStreaks ArrayList
|
||||
ArrayList hStreaks = Player.hStreaks;
|
||||
if(hStreaks.Length == MAX_STREAKS)
|
||||
{
|
||||
// Keep the last 10 streaks
|
||||
CStreak hStreak = hStreaks.Get(0);
|
||||
hStreak.Dispose();
|
||||
hStreaks.Erase(0);
|
||||
}
|
||||
hStreaks.Push(CurStreak);
|
||||
|
||||
for(int i = 0; i < iLength - 1; i++)
|
||||
{
|
||||
CJump hJump_ = hJumps.Get(i);
|
||||
DoStats(Player, CurStreak, hJump_);
|
||||
}
|
||||
}
|
||||
else if(iLength > VALID_MIN_JUMPS)
|
||||
{
|
||||
CJump hJump_ = hJumps.Get(hJumps.Length - 2);
|
||||
DoStats(Player, CurStreak, hJump_);
|
||||
}
|
||||
}
|
||||
|
||||
void OnPressJump(CPlayer Player, int iTick, float fVelocity, bool bLeaveGround)
|
||||
{
|
||||
//PrintToServer("%d - OnPressJump %d", iTick, bLeaveGround);
|
||||
|
||||
CStreak CurStreak = Player.hStreak;
|
||||
ArrayList hJumps = CurStreak.hJumps;
|
||||
CJump hJump;
|
||||
|
||||
if(bLeaveGround)
|
||||
{
|
||||
int iPrevJump = -1;
|
||||
// Check if we should start a new streak
|
||||
if(hJumps.Length)
|
||||
{
|
||||
// Last jump was more than VALID_MAX_TICKS ticks ago or not valid and fVelocity < VALID_MIN_VELOCITY
|
||||
hJump = hJumps.Get(hJumps.Length - 1);
|
||||
if(hJump.iEndTick < iTick - VALID_MAX_TICKS || fVelocity < VALID_MIN_VELOCITY)
|
||||
{
|
||||
if(CurStreak.bValid)
|
||||
{
|
||||
CurStreak.iEndTick = hJump.iEndTick;
|
||||
|
||||
DoStats(Player, CurStreak, hJump);
|
||||
CheckStats(Player, CurStreak);
|
||||
}
|
||||
else
|
||||
CurStreak.Dispose();
|
||||
|
||||
CurStreak = new CStreak();
|
||||
Player.hStreak = CurStreak;
|
||||
hJumps = CurStreak.hJumps;
|
||||
}
|
||||
else
|
||||
{
|
||||
iPrevJump = iTick - hJump.iEndTick;
|
||||
hJump.iNextJump = iPrevJump;
|
||||
}
|
||||
}
|
||||
|
||||
hJump = new CJump();
|
||||
hJump.iStartTick = iTick;
|
||||
hJump.fStartVel = fVelocity;
|
||||
if(iPrevJump != -1)
|
||||
hJump.iPrevJump = iPrevJump;
|
||||
hJumps.Push(hJump);
|
||||
}
|
||||
else
|
||||
hJump = hJumps.Get(hJumps.Length - 1);
|
||||
|
||||
ArrayList hPresses = hJump.hPresses;
|
||||
hPresses.Push(iTick);
|
||||
}
|
||||
|
||||
void OnReleaseJump(CPlayer Player, int iTick, float fVelocity)
|
||||
{
|
||||
//PrintToServer("%d - OnReleaseJump", iTick);
|
||||
|
||||
CStreak CurStreak = Player.hStreak;
|
||||
ArrayList hJumps = CurStreak.hJumps;
|
||||
CJump hJump = hJumps.Get(hJumps.Length - 1);
|
||||
ArrayList hPresses = hJump.hPresses;
|
||||
|
||||
hPresses.Set(hPresses.Length - 1, iTick, 1);
|
||||
}
|
||||
|
||||
void DoStats(CPlayer Player, CStreak CurStreak, CJump hJump)
|
||||
{
|
||||
int aJumps[3] = {0, 0, 0};
|
||||
int iPresses = 0;
|
||||
int iTicks = 0;
|
||||
int iLastJunk = 0;
|
||||
|
||||
CurStreak.iJumps++;
|
||||
Player.iJumps++;
|
||||
|
||||
ArrayList hPresses = hJump.hPresses;
|
||||
int iStartTick = hJump.iStartTick;
|
||||
int iEndTick = hJump.iEndTick;
|
||||
int iPrevJump = hJump.iPrevJump;
|
||||
int iNextJump = hJump.iNextJump;
|
||||
|
||||
if(iPrevJump > 0)
|
||||
{
|
||||
int iPerf = iPrevJump - 1;
|
||||
if(iPerf > 2)
|
||||
iPerf = 2;
|
||||
|
||||
aJumps[iPerf]++;
|
||||
}
|
||||
|
||||
iPresses = hPresses.Length;
|
||||
iTicks = iEndTick - iStartTick;
|
||||
iLastJunk = iEndTick - hPresses.Get(iPresses - 1, 1);
|
||||
|
||||
float PressesPerTick = (iPresses * 4.0) / float(iTicks);
|
||||
if(PressesPerTick >= 0.85)
|
||||
{
|
||||
CurStreak.iHyperJumps++;
|
||||
Player.iHyperJumps++;
|
||||
}
|
||||
|
||||
if(iNextJump != -1 && iNextJump <= 1 && (iLastJunk > 5 || iPresses <= 2) && hJump.fEndVel >= 285.0)
|
||||
{
|
||||
CurStreak.iHackJumps++;
|
||||
Player.iHackJumps++;
|
||||
}
|
||||
|
||||
int aGlobalJumps[3];
|
||||
Player.GetJumps(aGlobalJumps);
|
||||
aGlobalJumps[0] += aJumps[0];
|
||||
aGlobalJumps[1] += aJumps[1];
|
||||
aGlobalJumps[2] += aJumps[2];
|
||||
Player.SetJumps(aGlobalJumps);
|
||||
|
||||
int aStreakJumps[3];
|
||||
CurStreak.GetJumps(aStreakJumps);
|
||||
aStreakJumps[0] += aJumps[0];
|
||||
aStreakJumps[1] += aJumps[1];
|
||||
aStreakJumps[2] += aJumps[2];
|
||||
CurStreak.SetJumps(aStreakJumps);
|
||||
}
|
||||
|
||||
void CheckStats(CPlayer Player, CStreak Streak)
|
||||
{
|
||||
int client = Player.iClient;
|
||||
int iStreakJumps = Streak.iJumps;
|
||||
if(iStreakJumps >= 6)
|
||||
{
|
||||
float HackRatio = Streak.iHackJumps / float(iStreakJumps);
|
||||
if(HackRatio >= 0.80)
|
||||
{
|
||||
Player.iHackFlagged += 1;
|
||||
char sBuffer[32];
|
||||
Format(sBuffer, sizeof(sBuffer), "bhop hack streak %d\n", Player.iHackFlagged);
|
||||
NotifyAdmins(client, sBuffer);
|
||||
}
|
||||
|
||||
float HyperRatio = Streak.iHyperJumps / float(iStreakJumps);
|
||||
if(HyperRatio >= 0.80)
|
||||
{
|
||||
Player.iHyperFlagged += 1;
|
||||
CPrintToChat(client, "{green}[SM]{default} Turn off your bhop macro/script or hyperscroll!");
|
||||
CPrintToChat(client, "{green}[SM]{default} Your bhop is {red}turned off{default} until you bhop legit again.");
|
||||
LimitBhop(client, true);
|
||||
}
|
||||
else if(IsBhopLimited(client))
|
||||
{
|
||||
LimitBhop(client, false);
|
||||
CPrintToChat(client, "{green}[SM]{default} Your bhop is {green}turned on{default} again.");
|
||||
}
|
||||
}
|
||||
|
||||
int iGlobalJumps = Player.iJumps;
|
||||
if(iGlobalJumps >= 35)
|
||||
{
|
||||
float HackRatio = Player.iHackJumps / float(iGlobalJumps);
|
||||
if(HackRatio >= 0.60 && !Player.bHackGlobal)
|
||||
{
|
||||
Player.bHackGlobal = true;
|
||||
NotifyAdmins(client, "bhop hack global");
|
||||
}
|
||||
|
||||
float HyperRatio = Player.iHyperJumps / float(iGlobalJumps);
|
||||
if(HyperRatio >= 0.50)
|
||||
{
|
||||
if(!Player.bHyperGlobal)
|
||||
{
|
||||
Player.bHyperGlobal = true;
|
||||
CPrintToChat(client, "{green}[SM]{default} Turn off your bhop macro/script or hyperscroll!");
|
||||
CPrintToChat(client, "{green}[SM]{default} Your bhop is {red}turned off{default} until you bhop legit again.");
|
||||
LimitBhop(client, true);
|
||||
}
|
||||
}
|
||||
else if(Player.bHyperGlobal && IsBhopLimited(client))
|
||||
{
|
||||
LimitBhop(client, false);
|
||||
CPrintToChat(client, "{green}[SM]{default} Your bhop is {green}turned on{default} again.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
NotifyAdmins(int client, const char[] sReason)
|
||||
{
|
||||
for(int i = 1; i <= MaxClients; i++)
|
||||
{
|
||||
if(IsClientInGame(i) && !IsFakeClient(i) && CheckCommandAccess(i, "sm_stats", ADMFLAG_GENERIC))
|
||||
{
|
||||
CPrintToChat(i, "{green}[SM]{default} %L has been detected for {red}%s{default}, please check your console!", client, sReason);
|
||||
FormatStats(i, client);
|
||||
PrintToConsole(client, "%s", "\n");
|
||||
FormatStreak(i, client, 0);
|
||||
}
|
||||
}
|
||||
|
||||
char sBuffer[2000];
|
||||
int len = FormatStats(-1, client, sBuffer, sizeof(sBuffer));
|
||||
sBuffer[len++] = '\n';
|
||||
len += FormatStreak(-1, client, 0, sBuffer[len], sizeof(sBuffer) - len);
|
||||
|
||||
Forward_OnDetected(client, sReason, sBuffer);
|
||||
}
|
||||
|
||||
public Action Command_Stats(int client, int argc)
|
||||
{
|
||||
if(argc < 1 || argc > 2)
|
||||
{
|
||||
ReplyToCommand(client, "[SM] Usage: sm_stats <#userid|name>");
|
||||
return Plugin_Handled;
|
||||
}
|
||||
|
||||
char sArg[65];
|
||||
char sTargetName[MAX_TARGET_LENGTH];
|
||||
int iTargets[MAXPLAYERS];
|
||||
int iTargetCount;
|
||||
bool bIsML;
|
||||
|
||||
GetCmdArg(1, sArg, sizeof(sArg));
|
||||
|
||||
if((iTargetCount = ProcessTargetString(sArg, client, iTargets, MAXPLAYERS, COMMAND_FILTER_NO_MULTI | COMMAND_FILTER_NO_IMMUNITY, sTargetName, sizeof(sTargetName), bIsML)) <= 0)
|
||||
{
|
||||
ReplyToTargetError(client, iTargetCount);
|
||||
return Plugin_Handled;
|
||||
}
|
||||
|
||||
for(int i = 0; i < iTargetCount; i++)
|
||||
{
|
||||
FormatStats(client, iTargets[i]);
|
||||
PrintToConsole(client, "%s", "\n");
|
||||
|
||||
for(int j = 0; j < 3; j++)
|
||||
{
|
||||
FormatStreak(client, iTargets[i], j);
|
||||
PrintToConsole(client, "%s", "\n");
|
||||
}
|
||||
}
|
||||
|
||||
return Plugin_Handled;
|
||||
}
|
||||
|
||||
public Action Command_Streak(int client, int argc)
|
||||
{
|
||||
if(argc < 1 || argc > 2)
|
||||
{
|
||||
ReplyToCommand(client, "[SM] Usage: sm_streak <#userid|name> [streak]");
|
||||
return Plugin_Handled;
|
||||
}
|
||||
|
||||
char sArg[65];
|
||||
char sArg2[8];
|
||||
char sTargetName[MAX_TARGET_LENGTH];
|
||||
int iTargets[MAXPLAYERS];
|
||||
int iTargetCount;
|
||||
bool bIsML;
|
||||
int iStreak = -1;
|
||||
|
||||
GetCmdArg(1, sArg, sizeof(sArg));
|
||||
|
||||
if(argc == 2)
|
||||
{
|
||||
GetCmdArg(2, sArg2, sizeof(sArg2));
|
||||
iStreak = StringToInt(sArg2);
|
||||
}
|
||||
|
||||
if((iTargetCount = ProcessTargetString(sArg, client, iTargets, MAXPLAYERS, COMMAND_FILTER_NO_MULTI | COMMAND_FILTER_NO_IMMUNITY, sTargetName, sizeof(sTargetName), bIsML)) <= 0)
|
||||
{
|
||||
ReplyToTargetError(client, iTargetCount);
|
||||
return Plugin_Handled;
|
||||
}
|
||||
|
||||
for(int i = 0; i < iTargetCount; i++)
|
||||
{
|
||||
FormatStreak(client, iTargets[i], iStreak);
|
||||
}
|
||||
|
||||
return Plugin_Handled;
|
||||
}
|
||||
|
||||
int FormatStats(int client, int iTarget, char[] sBuf=0, int len=0)
|
||||
{
|
||||
int iBuf = ConsoleFormat(client, sBuf, len, "[SM] Bunnyhop stats for %L\n", iTarget);
|
||||
|
||||
CPlayer Player = g_aPlayers[iTarget];
|
||||
|
||||
int iGlobalJumps = Player.iJumps;
|
||||
float HyperRatio = Player.iHyperJumps / float(iGlobalJumps);
|
||||
float HackRatio = Player.iHackJumps / float(iGlobalJumps);
|
||||
|
||||
iBuf += ConsoleFormat(client, sBuf[iBuf], len-iBuf, "Global jumps: %d | Hyper?: %.1f%% | Hack?: %.1f%%\n",
|
||||
iGlobalJumps, HyperRatio * 100.0, HackRatio * 100.0);
|
||||
|
||||
iBuf += ConsoleFormat(client, sBuf[iBuf], len-iBuf, "bHackGlobal: %d | bHyperGlobal: %d | iHackFlagged: %d | iHyperFlagged: %d\n",
|
||||
Player.bHackGlobal, Player.bHyperGlobal, Player.iHackFlagged, Player.iHyperFlagged);
|
||||
|
||||
int aGlobalJumps[3];
|
||||
Player.GetJumps(aGlobalJumps);
|
||||
|
||||
iBuf += ConsoleFormat(client, sBuf[iBuf], len-iBuf, "Global jumps perf group (1 2 +): %1.f%% %1.f%% %1.f%%\n",
|
||||
(aGlobalJumps[0] / float(iGlobalJumps)) * 100.0,
|
||||
(aGlobalJumps[1] / float(iGlobalJumps)) * 100.0,
|
||||
(aGlobalJumps[2] / float(iGlobalJumps)) * 100.0);
|
||||
|
||||
return iBuf;
|
||||
}
|
||||
|
||||
int FormatStreak(int client, int iTarget, int iStreak, char[] sBuf=0, int len=0)
|
||||
{
|
||||
int iBuf = ConsoleFormat(client, sBuf, len, "[SM] Bunnyhop streak %d for %L\n", iStreak, iTarget);
|
||||
|
||||
CPlayer Player = g_aPlayers[iTarget];
|
||||
ArrayList hStreaks = Player.hStreaks;
|
||||
CStreak hStreak = Player.hStreak;
|
||||
int iStreaks = hStreaks.Length;
|
||||
|
||||
// Try showing latest valid streak
|
||||
if(iStreak <= 0 && !hStreak.bValid)
|
||||
{
|
||||
if(iStreaks)
|
||||
hStreak = hStreaks.Get(iStreaks - 1);
|
||||
}
|
||||
else if(iStreak > 0)
|
||||
{
|
||||
if(iStreak > MAX_STREAKS)
|
||||
{
|
||||
iBuf += ConsoleFormat(client, sBuf[iBuf], len-iBuf, "[SM] Streak is out of bounds (max. %d)!\n", MAX_STREAKS);
|
||||
return iBuf;
|
||||
}
|
||||
|
||||
int iIndex = iStreaks - iStreak;
|
||||
if(iIndex < 0)
|
||||
{
|
||||
iBuf += ConsoleFormat(client, sBuf[iBuf], len-iBuf, "[SM] Only %d streaks are available for this player right now!\n", iStreaks);
|
||||
return iBuf;
|
||||
}
|
||||
|
||||
hStreak = hStreaks.Get(iIndex);
|
||||
}
|
||||
|
||||
int iStreakJumps = hStreak.iJumps;
|
||||
float HyperRatio = hStreak.iHyperJumps / float(iStreakJumps);
|
||||
float HackRatio = hStreak.iHackJumps / float(iStreakJumps);
|
||||
|
||||
iBuf += ConsoleFormat(client, sBuf[iBuf], len-iBuf, "Streak jumps: %d | Hyper?: %.1f%% | Hack?: %.1f%%\n",
|
||||
iStreakJumps, HyperRatio * 100.0, HackRatio * 100.0);
|
||||
|
||||
int aStreakJumps[3];
|
||||
hStreak.GetJumps(aStreakJumps);
|
||||
|
||||
iBuf += ConsoleFormat(client, sBuf[iBuf], len-iBuf, "Streak jumps perf group (1 2 +): %1.f%% %1.f%% %1.f%%\n",
|
||||
(aStreakJumps[0] / float(iStreakJumps)) * 100.0,
|
||||
(aStreakJumps[1] / float(iStreakJumps)) * 100.0,
|
||||
(aStreakJumps[2] / float(iStreakJumps)) * 100.0);
|
||||
|
||||
iBuf += ConsoleFormat(client, sBuf[iBuf], len-iBuf, "#%2s %7s %5s %8s %4s %6s %s\n",
|
||||
"id", " outvel", " gain", " avgdist", " num", " avg+-", "pattern");
|
||||
|
||||
ArrayList hJumps = hStreak.hJumps;
|
||||
float fPrevVel = 0.0;
|
||||
int iPrevEndTick = -1;
|
||||
|
||||
for(int i = 0; i < hJumps.Length; i++)
|
||||
{
|
||||
CJump hJump = hJumps.Get(i);
|
||||
ArrayList hPresses = hJump.hPresses;
|
||||
|
||||
float fInVel = hJump.fStartVel;
|
||||
float fOutVel = hJump.fEndVel;
|
||||
int iEndTick = hJump.iEndTick;
|
||||
|
||||
static char sPattern[512];
|
||||
int iPatternLen = 0;
|
||||
int iPrevTick = -1;
|
||||
int iTicks;
|
||||
|
||||
if(iPrevEndTick != -1)
|
||||
{
|
||||
iTicks = hJump.iStartTick - iPrevEndTick;
|
||||
for(int k = 0; k < iTicks && k < 16; k++)
|
||||
sPattern[iPatternLen++] = '|';
|
||||
}
|
||||
|
||||
float fAvgDist = 0.0;
|
||||
float fAvgDownUp = 0.0;
|
||||
|
||||
int iPresses = hPresses.Length;
|
||||
for(int j = 0; j < iPresses; j++)
|
||||
{
|
||||
int aJunkJump[2];
|
||||
hPresses.GetArray(j, aJunkJump);
|
||||
|
||||
if(iPrevTick != -1)
|
||||
{
|
||||
iTicks = aJunkJump[0] - iPrevTick;
|
||||
for(int k = 0; k < iTicks && k < 16; k++)
|
||||
sPattern[iPatternLen++] = '.';
|
||||
|
||||
fAvgDist += iTicks;
|
||||
}
|
||||
|
||||
sPattern[iPatternLen++] = '^';
|
||||
|
||||
iTicks = aJunkJump[1] - aJunkJump[0];
|
||||
for(int k = 0; k < iTicks && k < 16; k++)
|
||||
sPattern[iPatternLen++] = ',';
|
||||
|
||||
fAvgDownUp += iTicks;
|
||||
|
||||
sPattern[iPatternLen++] = 'v';
|
||||
|
||||
iPrevTick = aJunkJump[1];
|
||||
}
|
||||
|
||||
fAvgDist /= iPresses;
|
||||
fAvgDownUp /= iPresses;
|
||||
|
||||
iTicks = iEndTick - iPrevTick;
|
||||
for(int k = 0; k < iTicks && k < 16; k++)
|
||||
sPattern[iPatternLen++] = '.';
|
||||
|
||||
sPattern[iPatternLen++] = '|';
|
||||
sPattern[iPatternLen++] = '\0';
|
||||
|
||||
if(fPrevVel == 0.0)
|
||||
fPrevVel = fInVel;
|
||||
|
||||
iBuf += ConsoleFormat(client, sBuf[iBuf], len-iBuf, "#%2d %7.1f %4d%% %8.2f %4d %6.2f %s\n",
|
||||
i,
|
||||
fOutVel,
|
||||
fPrevVel == 0.0 ? 100 : RoundFloat((fOutVel / fPrevVel) * 100.0 - 100.0),
|
||||
fAvgDist,
|
||||
iPresses,
|
||||
fAvgDownUp,
|
||||
sPattern);
|
||||
|
||||
iPrevEndTick = iEndTick;
|
||||
fPrevVel = fOutVel;
|
||||
}
|
||||
|
||||
return iBuf;
|
||||
}
|
||||
|
||||
bool Forward_OnDetected(int client, const char[] reason, const char[] stats)
|
||||
{
|
||||
Call_StartForward(g_hOnClientDetected);
|
||||
Call_PushCell(client);
|
||||
Call_PushString(reason);
|
||||
Call_PushString(stats);
|
||||
Call_Finish();
|
||||
}
|
||||
|
||||
stock int ConsoleFormat(int client, char[] buffer, int maxlength, const char[] format, any ...)
|
||||
{
|
||||
if(client >= 1 && client <= MAXPLAYERS)
|
||||
{
|
||||
char sBuf[1024];
|
||||
sBuf[VFormat(sBuf, sizeof(sBuf), format, 5) - 1] = 0;
|
||||
PrintToConsole(client, "%s", sBuf);
|
||||
}
|
||||
|
||||
if(maxlength > 0)
|
||||
return VFormat(buffer, maxlength, format, 5);
|
||||
|
||||
return 0;
|
||||
}
|
118
AntiBhopCheat/scripting/CJump.inc
Normal file
118
AntiBhopCheat/scripting/CJump.inc
Normal file
@ -0,0 +1,118 @@
|
||||
#if defined _class_cjump_
|
||||
#endinput
|
||||
#endif
|
||||
#define _class_cjump_
|
||||
|
||||
methodmap CJump < Basic
|
||||
{
|
||||
public CJump()
|
||||
{
|
||||
Basic myclass = new Basic();
|
||||
|
||||
myclass.SetInt("iStartTick", -1);
|
||||
myclass.SetInt("iEndTick", -1);
|
||||
myclass.SetFloat("fStartVel", 0.0);
|
||||
myclass.SetFloat("fEndVel", 0.0);
|
||||
|
||||
myclass.SetInt("iPrevJump", -1);
|
||||
myclass.SetInt("iNextJump", -1);
|
||||
|
||||
myclass.SetHandle("hPresses", new ArrayList(2));
|
||||
|
||||
return view_as<CJump>(myclass);
|
||||
}
|
||||
|
||||
property int iStartTick
|
||||
{
|
||||
public get()
|
||||
{
|
||||
return this.GetInt("iStartTick");
|
||||
}
|
||||
public set(int value)
|
||||
{
|
||||
this.SetInt("iStartTick", value);
|
||||
}
|
||||
}
|
||||
|
||||
property int iEndTick
|
||||
{
|
||||
public get()
|
||||
{
|
||||
return this.GetInt("iEndTick");
|
||||
}
|
||||
public set(int value)
|
||||
{
|
||||
this.SetInt("iEndTick", value);
|
||||
}
|
||||
}
|
||||
|
||||
property float fStartVel
|
||||
{
|
||||
public get()
|
||||
{
|
||||
return this.GetFloat("fStartVel");
|
||||
}
|
||||
public set(float value)
|
||||
{
|
||||
this.SetFloat("fStartVel", value);
|
||||
}
|
||||
}
|
||||
|
||||
property float fEndVel
|
||||
{
|
||||
public get()
|
||||
{
|
||||
return this.GetFloat("fEndVel");
|
||||
}
|
||||
public set(float value)
|
||||
{
|
||||
this.SetFloat("fEndVel", value);
|
||||
}
|
||||
}
|
||||
|
||||
property int iPrevJump
|
||||
{
|
||||
public get()
|
||||
{
|
||||
return this.GetInt("iPrevJump");
|
||||
}
|
||||
public set(int value)
|
||||
{
|
||||
this.SetInt("iPrevJump", value);
|
||||
}
|
||||
}
|
||||
|
||||
property int iNextJump
|
||||
{
|
||||
public get()
|
||||
{
|
||||
return this.GetInt("iNextJump");
|
||||
}
|
||||
public set(int value)
|
||||
{
|
||||
this.SetInt("iNextJump", value);
|
||||
}
|
||||
}
|
||||
|
||||
property ArrayList hPresses
|
||||
{
|
||||
public get()
|
||||
{
|
||||
return view_as<ArrayList>(this.GetHandle("hPresses"));
|
||||
}
|
||||
public set(ArrayList value)
|
||||
{
|
||||
this.SetHandle("hPresses", value);
|
||||
}
|
||||
}
|
||||
|
||||
public void Dispose(bool disposemembers=true)
|
||||
{
|
||||
if(disposemembers)
|
||||
{
|
||||
delete this.hPresses;
|
||||
}
|
||||
|
||||
delete this;
|
||||
}
|
||||
}
|
193
AntiBhopCheat/scripting/CPlayer.inc
Normal file
193
AntiBhopCheat/scripting/CPlayer.inc
Normal file
@ -0,0 +1,193 @@
|
||||
#if defined _class_cplayer_
|
||||
#endinput
|
||||
#endif
|
||||
#define _class_cplayer_
|
||||
|
||||
methodmap CPlayer < Basic
|
||||
{
|
||||
public CPlayer(int client)
|
||||
{
|
||||
Basic myclass = new Basic();
|
||||
|
||||
myclass.SetInt("iClient", client);
|
||||
myclass.SetBool("bHackGlobal", false);
|
||||
myclass.SetBool("bHyperGlobal", false);
|
||||
myclass.SetInt("iHackFlagged", 0);
|
||||
myclass.SetInt("iHyperFlagged", 0);
|
||||
|
||||
myclass.SetInt("iJumps", 0);
|
||||
myclass.SetInt("iHyperJumps", 0);
|
||||
myclass.SetInt("iHackJumps", 0);
|
||||
myclass.SetArray("aJumps", {0, 0, 0}, 3);
|
||||
|
||||
myclass.SetInt("iLastStreakTick", -1);
|
||||
myclass.SetHandle("hStreak", new CStreak());
|
||||
myclass.SetHandle("hStreaks", new ArrayList(1));
|
||||
|
||||
return view_as<CPlayer>(myclass);
|
||||
}
|
||||
|
||||
property int iClient
|
||||
{
|
||||
public get()
|
||||
{
|
||||
return this.GetInt("iClient");
|
||||
}
|
||||
public set(int value)
|
||||
{
|
||||
this.SetInt("iClient", value);
|
||||
}
|
||||
}
|
||||
|
||||
property bool bHackGlobal
|
||||
{
|
||||
public get()
|
||||
{
|
||||
return this.GetBool("bHackGlobal");
|
||||
}
|
||||
public set(bool value)
|
||||
{
|
||||
this.SetBool("bHackGlobal", value);
|
||||
}
|
||||
}
|
||||
|
||||
property bool bHyperGlobal
|
||||
{
|
||||
public get()
|
||||
{
|
||||
return this.GetBool("bHyperGlobal");
|
||||
}
|
||||
public set(bool value)
|
||||
{
|
||||
this.SetBool("bHyperGlobal", value);
|
||||
}
|
||||
}
|
||||
|
||||
property int iHackFlagged
|
||||
{
|
||||
public get()
|
||||
{
|
||||
return this.GetInt("iHackFlagged");
|
||||
}
|
||||
public set(int value)
|
||||
{
|
||||
this.SetInt("iHackFlagged", value);
|
||||
}
|
||||
}
|
||||
|
||||
property int iHyperFlagged
|
||||
{
|
||||
public get()
|
||||
{
|
||||
return this.GetInt("iHyperFlagged");
|
||||
}
|
||||
public set(int value)
|
||||
{
|
||||
this.SetInt("iHyperFlagged", value);
|
||||
}
|
||||
}
|
||||
|
||||
property int iJumps
|
||||
{
|
||||
public get()
|
||||
{
|
||||
return this.GetInt("iJumps");
|
||||
}
|
||||
public set(int value)
|
||||
{
|
||||
this.SetInt("iJumps", value);
|
||||
}
|
||||
}
|
||||
|
||||
property int iHyperJumps
|
||||
{
|
||||
public get()
|
||||
{
|
||||
return this.GetInt("iHyperJumps");
|
||||
}
|
||||
public set(int value)
|
||||
{
|
||||
this.SetInt("iHyperJumps", value);
|
||||
}
|
||||
}
|
||||
|
||||
property int iHackJumps
|
||||
{
|
||||
public get()
|
||||
{
|
||||
return this.GetInt("iHackJumps");
|
||||
}
|
||||
public set(int value)
|
||||
{
|
||||
this.SetInt("iHackJumps", value);
|
||||
}
|
||||
}
|
||||
|
||||
property int iLastStreakTick
|
||||
{
|
||||
public get()
|
||||
{
|
||||
return this.GetInt("iLastStreakTick");
|
||||
}
|
||||
public set(int value)
|
||||
{
|
||||
this.SetInt("iLastStreakTick", value);
|
||||
}
|
||||
}
|
||||
|
||||
public void GetJumps(int value[3])
|
||||
{
|
||||
this.GetArray("aJumps", value, sizeof(value));
|
||||
}
|
||||
|
||||
public void SetJumps(const int value[3])
|
||||
{
|
||||
this.SetArray("aJumps", value, sizeof(value));
|
||||
}
|
||||
|
||||
property CStreak hStreak
|
||||
{
|
||||
public get()
|
||||
{
|
||||
return view_as<CStreak>(this.GetHandle("hStreak"));
|
||||
}
|
||||
public set(CStreak value)
|
||||
{
|
||||
this.SetHandle("hStreak", value);
|
||||
}
|
||||
}
|
||||
|
||||
property ArrayList hStreaks
|
||||
{
|
||||
public get()
|
||||
{
|
||||
return view_as<ArrayList>(this.GetHandle("hStreaks"));
|
||||
}
|
||||
public set(ArrayList value)
|
||||
{
|
||||
this.SetHandle("hStreaks", value);
|
||||
}
|
||||
}
|
||||
|
||||
public void Dispose(bool disposemembers=true)
|
||||
{
|
||||
if(disposemembers)
|
||||
{
|
||||
ArrayList hStreaks = this.hStreaks;
|
||||
|
||||
CStreak hStreak;
|
||||
for(int i = 0; i < hStreaks.Length; i++)
|
||||
{
|
||||
hStreak = view_as<CStreak>(hStreaks.Get(i));
|
||||
hStreak.Dispose();
|
||||
}
|
||||
|
||||
delete hStreaks;
|
||||
|
||||
if(this.hStreak != hStreak)
|
||||
this.hStreak.Dispose();
|
||||
}
|
||||
|
||||
delete this;
|
||||
}
|
||||
}
|
163
AntiBhopCheat/scripting/CStreak.inc
Normal file
163
AntiBhopCheat/scripting/CStreak.inc
Normal file
@ -0,0 +1,163 @@
|
||||
#if defined _class_cstreak_
|
||||
#endinput
|
||||
#endif
|
||||
#define _class_cstreak_
|
||||
|
||||
methodmap CStreak < Basic
|
||||
{
|
||||
public CStreak()
|
||||
{
|
||||
Basic myclass = new Basic();
|
||||
|
||||
myclass.SetBool("bValid", false);
|
||||
myclass.SetInt("iStartTick", -1);
|
||||
myclass.SetInt("iEndTick", -1);
|
||||
myclass.SetFloat("fStartVel", 0.0);
|
||||
myclass.SetFloat("fEndVel", 0.0);
|
||||
|
||||
myclass.SetInt("iJumps", 0);
|
||||
myclass.SetInt("iHyperJumps", 0);
|
||||
myclass.SetInt("iHackJumps", 0);
|
||||
myclass.SetArray("aJumps", {0, 0, 0}, 3);
|
||||
|
||||
myclass.SetHandle("hJumps", new ArrayList(1));
|
||||
|
||||
return view_as<CStreak>(myclass);
|
||||
}
|
||||
|
||||
property bool bValid
|
||||
{
|
||||
public get()
|
||||
{
|
||||
return this.GetBool("bValid");
|
||||
}
|
||||
public set(bool value)
|
||||
{
|
||||
this.SetBool("bValid", value);
|
||||
}
|
||||
}
|
||||
|
||||
property int iStartTick
|
||||
{
|
||||
public get()
|
||||
{
|
||||
return this.GetInt("iStartTick");
|
||||
}
|
||||
public set(int value)
|
||||
{
|
||||
this.SetInt("iStartTick", value);
|
||||
}
|
||||
}
|
||||
|
||||
property int iEndTick
|
||||
{
|
||||
public get()
|
||||
{
|
||||
return this.GetInt("iEndTick");
|
||||
}
|
||||
public set(int value)
|
||||
{
|
||||
this.SetInt("iEndTick", value);
|
||||
}
|
||||
}
|
||||
|
||||
property float fStartVel
|
||||
{
|
||||
public get()
|
||||
{
|
||||
return this.GetFloat("fStartVel");
|
||||
}
|
||||
public set(float value)
|
||||
{
|
||||
this.SetFloat("fStartVel", value);
|
||||
}
|
||||
}
|
||||
|
||||
property float fEndVel
|
||||
{
|
||||
public get()
|
||||
{
|
||||
return this.GetFloat("fEndVel");
|
||||
}
|
||||
public set(float value)
|
||||
{
|
||||
this.SetFloat("fEndVel", value);
|
||||
}
|
||||
}
|
||||
|
||||
property int iJumps
|
||||
{
|
||||
public get()
|
||||
{
|
||||
return this.GetInt("iJumps");
|
||||
}
|
||||
public set(int value)
|
||||
{
|
||||
this.SetInt("iJumps", value);
|
||||
}
|
||||
}
|
||||
|
||||
property int iHyperJumps
|
||||
{
|
||||
public get()
|
||||
{
|
||||
return this.GetInt("iHyperJumps");
|
||||
}
|
||||
public set(int value)
|
||||
{
|
||||
this.SetInt("iHyperJumps", value);
|
||||
}
|
||||
}
|
||||
|
||||
property int iHackJumps
|
||||
{
|
||||
public get()
|
||||
{
|
||||
return this.GetInt("iHackJumps");
|
||||
}
|
||||
public set(int value)
|
||||
{
|
||||
this.SetInt("iHackJumps", value);
|
||||
}
|
||||
}
|
||||
|
||||
public void GetJumps(int value[3])
|
||||
{
|
||||
this.GetArray("aJumps", value, sizeof(value));
|
||||
}
|
||||
|
||||
public void SetJumps(const int value[3])
|
||||
{
|
||||
this.SetArray("aJumps", value, sizeof(value));
|
||||
}
|
||||
|
||||
property ArrayList hJumps
|
||||
{
|
||||
public get()
|
||||
{
|
||||
return view_as<ArrayList>(this.GetHandle("hJumps"));
|
||||
}
|
||||
public set(ArrayList value)
|
||||
{
|
||||
this.SetHandle("hJumps", value);
|
||||
}
|
||||
}
|
||||
|
||||
public void Dispose(bool disposemembers=true)
|
||||
{
|
||||
if(disposemembers)
|
||||
{
|
||||
ArrayList hJumps = this.hJumps;
|
||||
|
||||
for(int i = 0; i < hJumps.Length; i++)
|
||||
{
|
||||
CJump hJump = view_as<CJump>(hJumps.Get(i));
|
||||
hJump.Dispose();
|
||||
}
|
||||
|
||||
delete hJumps;
|
||||
}
|
||||
|
||||
delete this;
|
||||
}
|
||||
}
|
6
AntiBhopCheat/scripting/include/AntiBhopCheat.inc
Normal file
6
AntiBhopCheat/scripting/include/AntiBhopCheat.inc
Normal file
@ -0,0 +1,6 @@
|
||||
#if defined _AntiBhopCheat_Included
|
||||
#endinput
|
||||
#endif
|
||||
#define _AntiBhopCheat_Included
|
||||
|
||||
forward void AntiBhopCheat_OnClientDetected(int client, char[] sReason, char[] sStats);
|
25
BSPConvarAllower/content/bspconvar_whitelist_permanent.txt
Normal file
25
BSPConvarAllower/content/bspconvar_whitelist_permanent.txt
Normal file
@ -0,0 +1,25 @@
|
||||
"convars"
|
||||
{
|
||||
say 1
|
||||
exec 1
|
||||
sm_cvar 1
|
||||
sm_say 1
|
||||
|
||||
zr_infect_mzombie_ratio 1
|
||||
zr_infect_mzombie_respawn 1
|
||||
zr_infect_spawntime_max 1
|
||||
zr_infect_spawntime_min 1
|
||||
zr_roundend_overlay 1
|
||||
zr_roundend_overlays_zombie 1
|
||||
zr_roundend_overlays_human 1
|
||||
zr_ambientsounds_volume 1
|
||||
zr_respawn 1
|
||||
zr_respawn_delay 1
|
||||
zr_respawn_team_zombie 1
|
||||
zr_respawn_team_zombie_world 1
|
||||
zr_class_modify 1
|
||||
zr_roundend_overlays_zombie 1
|
||||
zr_roundend_overlays_human 1
|
||||
|
||||
sm_gravity 1
|
||||
}
|
104
BSPConvarAllower/scripting/BspConvarAllower.sp
Normal file
104
BSPConvarAllower/scripting/BspConvarAllower.sp
Normal file
@ -0,0 +1,104 @@
|
||||
#pragma semicolon 1
|
||||
#pragma newdecls required
|
||||
|
||||
#include <sourcemod>
|
||||
#include <sdktools>
|
||||
#include <dhooks>
|
||||
|
||||
KeyValues kv;
|
||||
KeyValues config;
|
||||
Handle hAcceptInput;
|
||||
|
||||
public Plugin myinfo = {
|
||||
name = "BSP ConVar Allower",
|
||||
author = "SHUFEN from POSSESSION.tokyo, fix by xen",
|
||||
description = "Allows server commands to maps",
|
||||
version = "0.2",
|
||||
url = "https://possession.tokyo"
|
||||
};
|
||||
|
||||
public void OnPluginStart() {
|
||||
if (!CheckTxtFile_bspconvar_whitelist()) return;
|
||||
|
||||
if (hAcceptInput == null) {
|
||||
char tmpOffset[148];
|
||||
|
||||
switch(GetEngineVersion()) {
|
||||
case Engine_CSGO:
|
||||
tmpOffset = "sdktools.games\\engine.csgo";
|
||||
default:
|
||||
SetFailState("This plugin is only for CS:GO");
|
||||
}
|
||||
|
||||
Handle temp = LoadGameConfigFile(tmpOffset);
|
||||
|
||||
if (temp == null)
|
||||
SetFailState("Why you no has gamedata?");
|
||||
|
||||
int offset = GameConfGetOffset(temp, "AcceptInput");
|
||||
hAcceptInput = DHookCreate(offset, HookType_Entity, ReturnType_Bool, ThisPointer_CBaseEntity, AcceptInput);
|
||||
DHookAddParam(hAcceptInput, HookParamType_CharPtr);
|
||||
DHookAddParam(hAcceptInput, HookParamType_CBaseEntity);
|
||||
DHookAddParam(hAcceptInput, HookParamType_CBaseEntity);
|
||||
DHookAddParam(hAcceptInput, HookParamType_Object, 20, DHookPass_ByVal|DHookPass_ODTOR|DHookPass_OCTOR|DHookPass_OASSIGNOP);
|
||||
DHookAddParam(hAcceptInput, HookParamType_Int);
|
||||
|
||||
delete temp;
|
||||
}
|
||||
}
|
||||
|
||||
public void OnPluginEnd() {
|
||||
if (kv != INVALID_HANDLE)
|
||||
delete kv;
|
||||
if (config != INVALID_HANDLE)
|
||||
delete config;
|
||||
}
|
||||
|
||||
bool CheckTxtFile_bspconvar_whitelist() {
|
||||
if (kv != INVALID_HANDLE)
|
||||
delete kv;
|
||||
kv = new KeyValues("convars");
|
||||
if (!kv.ImportFromFile("bspconvar_whitelist.txt")) {
|
||||
SetFailState("Couldn't get KeyValues from bspconvar_whitelist.txt");
|
||||
return false;
|
||||
}
|
||||
if (config != INVALID_HANDLE)
|
||||
delete config;
|
||||
config = new KeyValues("convars");
|
||||
if (!config.ImportFromFile("bspconvar_whitelist_permanent.txt")) {
|
||||
SetFailState("Couldn't get KeyValues from bspconvar_whitelist_permanent.txt");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public void OnEntityCreated(int entity, const char[] classname) {
|
||||
if (StrEqual(classname, "point_servercommand", false))
|
||||
DHookEntity(hAcceptInput, false, entity);
|
||||
}
|
||||
|
||||
public MRESReturn AcceptInput(int entity, Handle hReturn, Handle hParams) {
|
||||
if (!IsValidEntity(entity))
|
||||
return MRES_Ignored;
|
||||
|
||||
char eCommand[128], eParam[256], eServerCommand[64];
|
||||
|
||||
DHookGetParamString(hParams, 1, eCommand, 128);
|
||||
|
||||
if (StrEqual(eCommand, "Command", false)) {
|
||||
int type = DHookGetParamObjectPtrVar(hParams, 4, 16, ObjectValueType_Int);
|
||||
if (type == 2) {
|
||||
DHookGetParamObjectPtrString(hParams, 4, 0, ObjectValueType_String, eParam, 256);
|
||||
|
||||
SplitString(eParam, " ", eServerCommand, 64);
|
||||
if (kv.JumpToKey(eServerCommand, false) || config.JumpToKey(eServerCommand, false)) {
|
||||
PrintToServer("[BSPConvarAllower] Allowing \"%s\"", eParam);
|
||||
ServerCommand(eParam);
|
||||
}
|
||||
kv.Rewind();
|
||||
config.Rewind();
|
||||
}
|
||||
}
|
||||
|
||||
return MRES_Ignored;
|
||||
}
|
87
BossHP/configs/MapBossHP/Template.txt
Normal file
87
BossHP/configs/MapBossHP/Template.txt
Normal file
@ -0,0 +1,87 @@
|
||||
"math_counter"
|
||||
{
|
||||
"config"
|
||||
{
|
||||
"ForceEnable" "" //强制显示实体血量(bhud) 1=开启(默认) 0=关闭
|
||||
"RoundEndShowTopDamage" "" //回合结束显示输出排行 1=开启(默认) 0=关闭
|
||||
"ShowTopDamageDuringBOSS" "" //打BOSS期间显示输出排行 1=开启 0=关闭(默认)
|
||||
"BossBeatenShowTopDamage" ""
|
||||
"CrosshairChannel" "" //击中BOSS准星通道 范围1-6 默认=5
|
||||
"BossRewardMoney" "" //击中BOSS奖励金钱 默认=10
|
||||
"BossHpKeepTime" "" //BOSS HP数值维持显示时间 (数值无变动超过该秒数将不再显示) 默认=10
|
||||
"BossDieKeepTime" "" //BOSS阵亡后HP数值维持显示时间 默认=1 该秒数必须低于上面的秒数
|
||||
"DisplayWhenHPAdded" ""
|
||||
"MaxLegalBreakableHP" ""
|
||||
"MaxLegalMathCounterHP" ""
|
||||
}
|
||||
"config"
|
||||
{
|
||||
"ForceEnable" ""
|
||||
"RoundEndShowTopDamage" ""
|
||||
"ShowTopDamageDuringBOSS" ""
|
||||
"BossBeatenShowTopDamage" ""
|
||||
"CrosshairChannel" ""
|
||||
"BossRewardMoney" ""
|
||||
"BossHpKeepTime" ""
|
||||
"BossDieKeepTime" ""
|
||||
"DisplayWhenHPAdded" ""
|
||||
"MaxLegalBreakableHP" ""
|
||||
"MaxLegalMathCounterHP" ""
|
||||
}
|
||||
|
||||
|
||||
"0" //math_counter
|
||||
{
|
||||
"HP_counter" "" //实体名
|
||||
"HPbar_counter" "" //实体名
|
||||
"HPinit_counter" "" //实体名
|
||||
"CustomText" "" //Boss名
|
||||
}
|
||||
"0"
|
||||
{
|
||||
"HP_counter" ""
|
||||
"HPbar_counter" ""
|
||||
"HPinit_counter" ""
|
||||
"CustomText" ""
|
||||
}
|
||||
|
||||
|
||||
"0" //FFXIV V2_8 V4_10
|
||||
{
|
||||
"HP_Group"
|
||||
{
|
||||
"0" ""
|
||||
"1" ""
|
||||
"2" ""
|
||||
"3" ""
|
||||
"4" ""
|
||||
}
|
||||
"CustomText" ""
|
||||
}
|
||||
"0"
|
||||
{
|
||||
"HP_Group"
|
||||
{
|
||||
"0" ""
|
||||
"1" ""
|
||||
"2" ""
|
||||
"3" ""
|
||||
"4" ""
|
||||
}
|
||||
"CustomText" ""
|
||||
}
|
||||
|
||||
|
||||
"1" //func_breakable or func_physbox
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "" //实体名
|
||||
"CustomText" "" //BOSS名
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" ""
|
||||
"CustomText" ""
|
||||
}
|
||||
}
|
21
BossHP/configs/MapBossHP/ze_666_crazy_escape_v1_1.txt
Normal file
21
BossHP/configs/MapBossHP/ze_666_crazy_escape_v1_1.txt
Normal file
@ -0,0 +1,21 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "nrk1_boss_laser_counter"
|
||||
"HP_Mode" "1"
|
||||
"HPbar_counter" "nrk1_boss_hp_iterations"
|
||||
"HPinit_counter" "nrk1_boss_hp_backup"
|
||||
"CustomText" ""
|
||||
"HPbar_mode" "1"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "nrk1_counter"
|
||||
"HP_Mode" "1"
|
||||
"HPbar_counter" "nrk1_hp_iterations"
|
||||
"HPinit_counter" "nrk1_hp_backup"
|
||||
"CustomText" ""
|
||||
"HPbar_mode" "1"
|
||||
}
|
||||
}
|
52
BossHP/configs/MapBossHP/ze_8bit_csgo2.txt
Normal file
52
BossHP/configs/MapBossHP/ze_8bit_csgo2.txt
Normal file
@ -0,0 +1,52 @@
|
||||
"math_counter"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Boss_box_1"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Boss_box_2"
|
||||
}
|
||||
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Boss_box_3"
|
||||
}
|
||||
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Boss_box_4"
|
||||
}
|
||||
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Boss_box_5"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Boss6_1"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Ponch_Box_1"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Govno_Box"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Pidaras_Boss6"
|
||||
}
|
||||
|
||||
}
|
15
BossHP/configs/MapBossHP/ze_A_E_S_T_H_E_T_I_C_v1_1.txt
Normal file
15
BossHP/configs/MapBossHP/ze_A_E_S_T_H_E_T_I_C_v1_1.txt
Normal file
@ -0,0 +1,15 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Boss_Mini_HP1"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "Boss_Mini_HP2"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "EyesHP"
|
||||
}
|
||||
}
|
23
BossHP/configs/MapBossHP/ze_Bathroom_v2_5.txt
Normal file
23
BossHP/configs/MapBossHP/ze_Bathroom_v2_5.txt
Normal file
@ -0,0 +1,23 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "krokodyl_counter"
|
||||
"HPbar_counter" "krokodyl_hp_iterations"
|
||||
"HPinit_counter" "krokodyl_hp_backup"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "5"
|
||||
"HPbar_default" "5"
|
||||
"HPbar_mode" "1"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "kostka_hp"
|
||||
"HPbar_counter" "kostka_hp_iterations"
|
||||
"HPinit_counter" "kostka_hp_backup"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "8"
|
||||
"HPbar_default" "8"
|
||||
"HPbar_mode" "1"
|
||||
}
|
||||
}
|
29
BossHP/configs/MapBossHP/ze_FFXIV_Wanderers_Palace_v6.txt
Normal file
29
BossHP/configs/MapBossHP/ze_FFXIV_Wanderers_Palace_v6.txt
Normal file
@ -0,0 +1,29 @@
|
||||
"math_counter"
|
||||
{
|
||||
"config"
|
||||
{
|
||||
"ForceEnable" "0"
|
||||
"BossRewardMoney" "1"
|
||||
}
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Boss_HP_Counter"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "Ultima_Weapon_HP_Counter"
|
||||
"CustomText" "Ultima Weapon"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Aqua_Breakable"
|
||||
"CustomText" "Ice Wall"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Final_Kain_Highwind_Hitbox"
|
||||
"CustomText" "Final Kain Highwind"
|
||||
}
|
||||
}
|
@ -0,0 +1,33 @@
|
||||
"math_counter"
|
||||
{
|
||||
"config"
|
||||
{
|
||||
"ForceEnable" "0"
|
||||
"BossRewardMoney" "1"
|
||||
}
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Boss_HP_Counter"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "Ultima_Weapon_HP_Counter"
|
||||
"HP_Mode" "1"
|
||||
"HPbar_counter" "Ultima_Weapon_HP_Phase_Counter"
|
||||
"HPinit_counter" "Ultima_Weapon_HP_Initial"
|
||||
"CustomText" "Ultima Weapon"
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Aqua_Breakable"
|
||||
"CustomText" "Ice Wall"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Final_Kain_Highwind_Hitbox"
|
||||
"CustomText" "Final Kain Highwind"
|
||||
}
|
||||
}
|
8
BossHP/configs/MapBossHP/ze_Naruto_p.txt
Normal file
8
BossHP/configs/MapBossHP/ze_Naruto_p.txt
Normal file
@ -0,0 +1,8 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "health_boss"
|
||||
"CustomText" "Sasuke"
|
||||
}
|
||||
}
|
88
BossHP/configs/MapBossHP/ze_PKMN_Adventure_v7_6.txt
Normal file
88
BossHP/configs/MapBossHP/ze_PKMN_Adventure_v7_6.txt
Normal file
@ -0,0 +1,88 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "crobatcyrushp"
|
||||
"CustomText" "Crobat"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "crobatfinal2_health"
|
||||
"CustomText" "Crobat"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "finalkirlia_hp"
|
||||
"CustomText" "Kirlia"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "giratinahp"
|
||||
"CustomText" "Giratina"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"HP_counter" "groudonhp"
|
||||
"CustomText" "Groudon"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"HP_counter" "honchkrowhp"
|
||||
"CustomText" "Honchkrow"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"HP_counter" "puruglyhealth"
|
||||
"CustomText" "Purugly"
|
||||
}
|
||||
"7"
|
||||
{
|
||||
"HP_counter" "regicehealth"
|
||||
"CustomText" "Regice"
|
||||
}
|
||||
"8"
|
||||
{
|
||||
"HP_counter" "skuntankhealth"
|
||||
"CustomText" "Skuntank"
|
||||
}
|
||||
"9"
|
||||
{
|
||||
"HP_counter" "weavilefinalhp"
|
||||
"CustomText" "Weavile"
|
||||
}
|
||||
"10"
|
||||
{
|
||||
"HP_counter" "weavilehp"
|
||||
"CustomText" "Weavile"
|
||||
}
|
||||
"10"
|
||||
{
|
||||
"HP_counter" "PrimalGroudonHP"
|
||||
"CustomText" "Primal Groudon"
|
||||
}
|
||||
"11"
|
||||
{
|
||||
"HP_counter" "ArceusHP_1"
|
||||
"CustomText" "Arceus(1/4)"
|
||||
}
|
||||
"11"
|
||||
{
|
||||
"HP_counter" "ArceusHP_2"
|
||||
"CustomText" "Arceus(2/4)"
|
||||
}
|
||||
"11"
|
||||
{
|
||||
"HP_counter" "ArceusHP_3"
|
||||
"CustomText" "Arceus(3/4)"
|
||||
}
|
||||
"11"
|
||||
{
|
||||
"HP_counter" "ArceusHP_4"
|
||||
"CustomText" "Arceus(4/4)"
|
||||
}
|
||||
"10"
|
||||
{
|
||||
"HP_counter" "Arceus_Judgement_HP"
|
||||
"CustomText" "Judgement"
|
||||
}
|
||||
}
|
88
BossHP/configs/MapBossHP/ze_PKMN_Adventure_v8_2.txt
Normal file
88
BossHP/configs/MapBossHP/ze_PKMN_Adventure_v8_2.txt
Normal file
@ -0,0 +1,88 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "crobatcyrushp"
|
||||
"CustomText" "Crobat"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "crobatfinal2_health"
|
||||
"CustomText" "Crobat"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "finalkirlia_hp"
|
||||
"CustomText" "Kirlia"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "giratinahp"
|
||||
"CustomText" "Giratina"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"HP_counter" "groudonhp"
|
||||
"CustomText" "Groudon"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"HP_counter" "honchkrowhp"
|
||||
"CustomText" "Honchkrow"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"HP_counter" "puruglyhealth"
|
||||
"CustomText" "Purugly"
|
||||
}
|
||||
"7"
|
||||
{
|
||||
"HP_counter" "regicehealth"
|
||||
"CustomText" "Regice"
|
||||
}
|
||||
"8"
|
||||
{
|
||||
"HP_counter" "skuntankhealth"
|
||||
"CustomText" "Skuntank"
|
||||
}
|
||||
"9"
|
||||
{
|
||||
"HP_counter" "weavilefinalhp"
|
||||
"CustomText" "Weavile"
|
||||
}
|
||||
"10"
|
||||
{
|
||||
"HP_counter" "weavilehp"
|
||||
"CustomText" "Weavile"
|
||||
}
|
||||
"10"
|
||||
{
|
||||
"HP_counter" "PrimalGroudonHP"
|
||||
"CustomText" "Primal Groudon"
|
||||
}
|
||||
"11"
|
||||
{
|
||||
"HP_counter" "ArceusHP_1"
|
||||
"CustomText" "Arceus(1/4)"
|
||||
}
|
||||
"11"
|
||||
{
|
||||
"HP_counter" "ArceusHP_2"
|
||||
"CustomText" "Arceus(2/4)"
|
||||
}
|
||||
"11"
|
||||
{
|
||||
"HP_counter" "ArceusHP_3"
|
||||
"CustomText" "Arceus(3/4)"
|
||||
}
|
||||
"11"
|
||||
{
|
||||
"HP_counter" "ArceusHP_4"
|
||||
"CustomText" "Arceus(4/4)"
|
||||
}
|
||||
"10"
|
||||
{
|
||||
"HP_counter" "Arceus_Judgement_HP"
|
||||
"CustomText" "Judgement"
|
||||
}
|
||||
}
|
88
BossHP/configs/MapBossHP/ze_PKMN_Adventure_v9c.txt
Normal file
88
BossHP/configs/MapBossHP/ze_PKMN_Adventure_v9c.txt
Normal file
@ -0,0 +1,88 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "crobatcyrushp"
|
||||
"CustomText" "Crobat"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "crobatfinal2_health"
|
||||
"CustomText" "Crobat"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "finalkirlia_hp"
|
||||
"CustomText" "Kirlia"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "giratinahp"
|
||||
"CustomText" "Giratina"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"HP_counter" "groudonhp"
|
||||
"CustomText" "Groudon"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"HP_counter" "honchkrowhp"
|
||||
"CustomText" "Honchkrow"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"HP_counter" "puruglyhealth"
|
||||
"CustomText" "Purugly"
|
||||
}
|
||||
"7"
|
||||
{
|
||||
"HP_counter" "regicehealth"
|
||||
"CustomText" "Regice"
|
||||
}
|
||||
"8"
|
||||
{
|
||||
"HP_counter" "skuntankhealth"
|
||||
"CustomText" "Skuntank"
|
||||
}
|
||||
"9"
|
||||
{
|
||||
"HP_counter" "weavilefinalhp"
|
||||
"CustomText" "Weavile"
|
||||
}
|
||||
"10"
|
||||
{
|
||||
"HP_counter" "weavilehp"
|
||||
"CustomText" "Weavile"
|
||||
}
|
||||
"10"
|
||||
{
|
||||
"HP_counter" "PrimalGroudonHP"
|
||||
"CustomText" "Primal Groudon"
|
||||
}
|
||||
"11"
|
||||
{
|
||||
"HP_counter" "ArceusHP_1"
|
||||
"CustomText" "Arceus(1/4)"
|
||||
}
|
||||
"11"
|
||||
{
|
||||
"HP_counter" "ArceusHP_2"
|
||||
"CustomText" "Arceus(2/4)"
|
||||
}
|
||||
"11"
|
||||
{
|
||||
"HP_counter" "ArceusHP_3"
|
||||
"CustomText" "Arceus(3/4)"
|
||||
}
|
||||
"11"
|
||||
{
|
||||
"HP_counter" "ArceusHP_4"
|
||||
"CustomText" "Arceus(4/4)"
|
||||
}
|
||||
"10"
|
||||
{
|
||||
"HP_counter" "Arceus_Judgement_HP"
|
||||
"CustomText" "Judgement"
|
||||
}
|
||||
}
|
92
BossHP/configs/MapBossHP/ze_S_A_M_a29.txt
Normal file
92
BossHP/configs/MapBossHP/ze_S_A_M_a29.txt
Normal file
@ -0,0 +1,92 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "lvl4_boss_hp"
|
||||
"HPbar_counter" "lvl4_boss_hpbar_counter"
|
||||
"HPinit_counter" "lvl4_boss_hp_init"
|
||||
"CustomText" "Barlog"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "9"
|
||||
"HPbar_default" "1"
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "lvl2_boss_dark_hp"
|
||||
"CustomText" "Dark"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "lvl2_boss_fire_hp"
|
||||
"CustomText" "Fire"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "lvl2_boss_hp"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"HP_counter" "lvl2_boss_ice_hp"
|
||||
"CustomText" "Ice"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"HP_counter" "lvl2_boss_light_hp"
|
||||
"CustomText" "Light"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"HP_counter" "lvl3_boss_hp"
|
||||
"HPbar_counter" "lvl3_boss_hpbar_counter"
|
||||
"HPinit_counter" "lvl3_boss_hp_init"
|
||||
"CustomText" "Dragon"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "9"
|
||||
"HPbar_default" "1"
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"7"
|
||||
{
|
||||
"HP_counter" "lvl4_boss2_hp"
|
||||
"CustomText" "Barlog"
|
||||
}
|
||||
"8"
|
||||
{
|
||||
"HP_counter" "Troll_health"
|
||||
"HPbar_counter" "Troll_hpbar_counter"
|
||||
"HPinit_counter" "Troll_hp_init"
|
||||
"CustomText" "Troll"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "9"
|
||||
"HPbar_default" "1"
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"9"
|
||||
{
|
||||
"HP_counter" "lvl5_boss_hp_1"
|
||||
"HPbar_counter" "lvl5_boss_hpbar_counter_1"
|
||||
"HPinit_counter" "lvl5_boss_hp_init_1"
|
||||
"CustomText" "Sword Castle"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "9"
|
||||
"HPbar_default" "1"
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"10"
|
||||
{
|
||||
"HP_counter" "lvl5_finalboss_hp"
|
||||
}
|
||||
"11"
|
||||
{
|
||||
"HP_counter" "lvl5_laserboss_hp"
|
||||
}
|
||||
"12"
|
||||
{
|
||||
"HP_counter" "darklaser_hp_1"
|
||||
}
|
||||
"13"
|
||||
{
|
||||
"HP_counter" "darklaser_hp_2"
|
||||
}
|
||||
}
|
65
BossHP/configs/MapBossHP/ze_S_A_M_a32.txt
Normal file
65
BossHP/configs/MapBossHP/ze_S_A_M_a32.txt
Normal file
@ -0,0 +1,65 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "lvl4_boss_hp"
|
||||
"HPbar_counter" "lvl4_boss_hpbar_counter"
|
||||
"HPinit_counter" "lvl4_boss_hp_init"
|
||||
"CustomText" "Barlog"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "9"
|
||||
"HPbar_default" "1"
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "lvl2_boss_dark_hp"
|
||||
"CustomText" "Dark"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "lvl2_boss_fire_hp"
|
||||
"CustomText" "Fire"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "lvl2_boss_hp"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"HP_counter" "lvl2_boss_ice_hp"
|
||||
"CustomText" "Ice"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"HP_counter" "lvl2_boss_light_hp"
|
||||
"CustomText" "Light"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"HP_counter" "lvl3_boss_hp"
|
||||
"HPbar_counter" "lvl3_boss_hpbar_counter"
|
||||
"HPinit_counter" "lvl3_boss_hp_init"
|
||||
"CustomText" "Dragon"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "9"
|
||||
"HPbar_default" "1"
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"7"
|
||||
{
|
||||
"HP_counter" "lvl4_boss2_hp"
|
||||
"CustomText" "Barlog"
|
||||
}
|
||||
"8"
|
||||
{
|
||||
"HP_counter" "Troll_health"
|
||||
"HPbar_counter" "Troll_hpbar_counter"
|
||||
"HPinit_counter" "Troll_hp_init"
|
||||
"CustomText" "Troll"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "9"
|
||||
"HPbar_default" "1"
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
}
|
92
BossHP/configs/MapBossHP/ze_S_A_M_a33.txt
Normal file
92
BossHP/configs/MapBossHP/ze_S_A_M_a33.txt
Normal file
@ -0,0 +1,92 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "lvl4_boss_hp"
|
||||
"HPbar_counter" "lvl4_boss_hpbar_counter"
|
||||
"HPinit_counter" "lvl4_boss_hp_init"
|
||||
"CustomText" "Barlog"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "9"
|
||||
"HPbar_default" "1"
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "lvl2_boss_dark_hp"
|
||||
"CustomText" "Dark"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "lvl2_boss_fire_hp"
|
||||
"CustomText" "Fire"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "lvl2_boss_hp"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"HP_counter" "lvl2_boss_ice_hp"
|
||||
"CustomText" "Ice"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"HP_counter" "lvl2_boss_light_hp"
|
||||
"CustomText" "Light"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"HP_counter" "lvl3_boss_hp"
|
||||
"HPbar_counter" "lvl3_boss_hpbar_counter"
|
||||
"HPinit_counter" "lvl3_boss_hp_init"
|
||||
"CustomText" "Dragon"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "9"
|
||||
"HPbar_default" "1"
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"7"
|
||||
{
|
||||
"HP_counter" "lvl4_boss2_hp"
|
||||
"CustomText" "Barlog"
|
||||
}
|
||||
"8"
|
||||
{
|
||||
"HP_counter" "Troll_health"
|
||||
"HPbar_counter" "Troll_hpbar_counter"
|
||||
"HPinit_counter" "Troll_hp_init"
|
||||
"CustomText" "Troll"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "9"
|
||||
"HPbar_default" "1"
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"9"
|
||||
{
|
||||
"HP_counter" "lvl5_boss_hp_1"
|
||||
"HPbar_counter" "lvl5_boss_hpbar_counter_1"
|
||||
"HPinit_counter" "lvl5_boss_hp_init_1"
|
||||
"CustomText" "Sword Castle"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "9"
|
||||
"HPbar_default" "1"
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"10"
|
||||
{
|
||||
"HP_counter" "lvl5_finalboss_hp"
|
||||
}
|
||||
"11"
|
||||
{
|
||||
"HP_counter" "lvl5_laserboss_hp"
|
||||
}
|
||||
"12"
|
||||
{
|
||||
"HP_counter" "darklaser_hp_1"
|
||||
}
|
||||
"13"
|
||||
{
|
||||
"HP_counter" "darklaser_hp_2"
|
||||
}
|
||||
}
|
92
BossHP/configs/MapBossHP/ze_S_A_M_a39.txt
Normal file
92
BossHP/configs/MapBossHP/ze_S_A_M_a39.txt
Normal file
@ -0,0 +1,92 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "lvl4_boss_hp"
|
||||
"HPbar_counter" "lvl4_boss_hpbar_counter"
|
||||
"HPinit_counter" "lvl4_boss_hp_init"
|
||||
"CustomText" "Barlog"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "9"
|
||||
"HPbar_default" "1"
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "lvl2_boss_dark_hp"
|
||||
"CustomText" "Dark"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "lvl2_boss_fire_hp"
|
||||
"CustomText" "Fire"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "lvl2_boss_hp"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"HP_counter" "lvl2_boss_ice_hp"
|
||||
"CustomText" "Ice"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"HP_counter" "lvl2_boss_light_hp"
|
||||
"CustomText" "Light"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"HP_counter" "lvl3_boss_hp"
|
||||
"HPbar_counter" "lvl3_boss_hpbar_counter"
|
||||
"HPinit_counter" "lvl3_boss_hp_init"
|
||||
"CustomText" "Dragon"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "9"
|
||||
"HPbar_default" "1"
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"7"
|
||||
{
|
||||
"HP_counter" "lvl4_boss2_hp"
|
||||
"CustomText" "Barlog"
|
||||
}
|
||||
"8"
|
||||
{
|
||||
"HP_counter" "Troll_health"
|
||||
"HPbar_counter" "Troll_hpbar_counter"
|
||||
"HPinit_counter" "Troll_hp_init"
|
||||
"CustomText" "Troll"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "9"
|
||||
"HPbar_default" "1"
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"9"
|
||||
{
|
||||
"HP_counter" "lvl5_boss_hp_1"
|
||||
"HPbar_counter" "lvl5_boss_hpbar_counter_1"
|
||||
"HPinit_counter" "lvl5_boss_hp_init_1"
|
||||
"CustomText" "Sword Castle"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "9"
|
||||
"HPbar_default" "1"
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"10"
|
||||
{
|
||||
"HP_counter" "lvl5_finalboss_hp"
|
||||
}
|
||||
"11"
|
||||
{
|
||||
"HP_counter" "lvl5_laserboss_hp"
|
||||
}
|
||||
"12"
|
||||
{
|
||||
"HP_counter" "darklaser_hp_1"
|
||||
}
|
||||
"13"
|
||||
{
|
||||
"HP_counter" "darklaser_hp_2"
|
||||
}
|
||||
}
|
92
BossHP/configs/MapBossHP/ze_S_A_M_v1.txt
Normal file
92
BossHP/configs/MapBossHP/ze_S_A_M_v1.txt
Normal file
@ -0,0 +1,92 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "lvl4_boss_hp"
|
||||
"HPbar_counter" "lvl4_boss_hpbar_counter"
|
||||
"HPinit_counter" "lvl4_boss_hp_init"
|
||||
"CustomText" "Barlog"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "9"
|
||||
"HPbar_default" "1"
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "lvl2_boss_dark_hp"
|
||||
"CustomText" "Dark"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "lvl2_boss_fire_hp"
|
||||
"CustomText" "Fire"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "lvl2_boss_hp"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"HP_counter" "lvl2_boss_ice_hp"
|
||||
"CustomText" "Ice"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"HP_counter" "lvl2_boss_light_hp"
|
||||
"CustomText" "Light"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"HP_counter" "lvl3_boss_hp"
|
||||
"HPbar_counter" "lvl3_boss_hpbar_counter"
|
||||
"HPinit_counter" "lvl3_boss_hp_init"
|
||||
"CustomText" "Dragon"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "9"
|
||||
"HPbar_default" "1"
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"7"
|
||||
{
|
||||
"HP_counter" "lvl4_boss2_hp"
|
||||
"CustomText" "Barlog"
|
||||
}
|
||||
"8"
|
||||
{
|
||||
"HP_counter" "Troll_health"
|
||||
"HPbar_counter" "Troll_hpbar_counter"
|
||||
"HPinit_counter" "Troll_hp_init"
|
||||
"CustomText" "Troll"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "9"
|
||||
"HPbar_default" "1"
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"9"
|
||||
{
|
||||
"HP_counter" "lvl5_boss_hp_1"
|
||||
"HPbar_counter" "lvl5_boss_hpbar_counter_1"
|
||||
"HPinit_counter" "lvl5_boss_hp_init_1"
|
||||
"CustomText" "Sword Castle"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "9"
|
||||
"HPbar_default" "1"
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"10"
|
||||
{
|
||||
"HP_counter" "lvl5_finalboss_hp"
|
||||
}
|
||||
"11"
|
||||
{
|
||||
"HP_counter" "lvl5_laserboss_hp"
|
||||
}
|
||||
"12"
|
||||
{
|
||||
"HP_counter" "darklaser_hp_1"
|
||||
}
|
||||
"13"
|
||||
{
|
||||
"HP_counter" "darklaser_hp_2"
|
||||
}
|
||||
}
|
92
BossHP/configs/MapBossHP/ze_S_A_M_v1_4.txt
Normal file
92
BossHP/configs/MapBossHP/ze_S_A_M_v1_4.txt
Normal file
@ -0,0 +1,92 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "lvl4_boss_hp"
|
||||
"HPbar_counter" "lvl4_boss_hpbar_counter"
|
||||
"HPinit_counter" "lvl4_boss_hp_init"
|
||||
"CustomText" "Barlog"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "9"
|
||||
"HPbar_default" "1"
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "lvl2_boss_dark_hp"
|
||||
"CustomText" "Dark"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "lvl2_boss_fire_hp"
|
||||
"CustomText" "Fire"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "lvl2_boss_hp"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"HP_counter" "lvl2_boss_ice_hp"
|
||||
"CustomText" "Ice"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"HP_counter" "lvl2_boss_light_hp"
|
||||
"CustomText" "Light"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"HP_counter" "lvl3_boss_hp"
|
||||
"HPbar_counter" "lvl3_boss_hpbar_counter"
|
||||
"HPinit_counter" "lvl3_boss_hp_init"
|
||||
"CustomText" "Dragon"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "9"
|
||||
"HPbar_default" "1"
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"7"
|
||||
{
|
||||
"HP_counter" "lvl4_boss2_hp"
|
||||
"CustomText" "Barlog"
|
||||
}
|
||||
"8"
|
||||
{
|
||||
"HP_counter" "Troll_health"
|
||||
"HPbar_counter" "Troll_hpbar_counter"
|
||||
"HPinit_counter" "Troll_hp_init"
|
||||
"CustomText" "Troll"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "9"
|
||||
"HPbar_default" "1"
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"9"
|
||||
{
|
||||
"HP_counter" "lvl5_boss_hp_1"
|
||||
"HPbar_counter" "lvl5_boss_hpbar_counter_1"
|
||||
"HPinit_counter" "lvl5_boss_hp_init_1"
|
||||
"CustomText" "Sword Castle"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "9"
|
||||
"HPbar_default" "1"
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"10"
|
||||
{
|
||||
"HP_counter" "lvl5_finalboss_hp"
|
||||
}
|
||||
"11"
|
||||
{
|
||||
"HP_counter" "lvl5_laserboss_hp"
|
||||
}
|
||||
"12"
|
||||
{
|
||||
"HP_counter" "darklaser_hp_1"
|
||||
}
|
||||
"13"
|
||||
{
|
||||
"HP_counter" "darklaser_hp_2"
|
||||
}
|
||||
}
|
106
BossHP/configs/MapBossHP/ze_ShroomForest3_p.txt
Normal file
106
BossHP/configs/MapBossHP/ze_ShroomForest3_p.txt
Normal file
@ -0,0 +1,106 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Boss_Health"
|
||||
"HPbar_counter" "Boss_HealthCount"
|
||||
"HPinit_counter" "Boss_HealthInit"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "5"
|
||||
"HPbar_default" ""
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Hitler_Boss_Tank1_Break"
|
||||
"CustomText" "Tank1"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Hitler_Boss_Tank2_Break"
|
||||
"CustomText" "Tank2"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "House_ClockBattery_Break1"
|
||||
"CustomText" "Clock"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "House_ClockBattery_Break2"
|
||||
"CustomText" "Battery"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Spider_Break1"
|
||||
"CustomText" "Spider1"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Spider_Break2"
|
||||
"CustomText" "Spider2"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Spider_Break3"
|
||||
"CustomText" "Spider3"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Spider_Break4"
|
||||
"CustomText" "Spider4"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Spider_Break5"
|
||||
"CustomText" "Spider5"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Spider_Break6"
|
||||
"CustomText" "Spider6"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "Skeleton_Boss_Health1"
|
||||
"HPbar_counter" "Skeleton_Boss_HealthCount1"
|
||||
"HPinit_counter" "Skeleton_Boss_HealthInit1"
|
||||
"CustomText" "Skeleton 1"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "5"
|
||||
"HPbar_default" ""
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "Skeleton_Boss_Health2"
|
||||
"HPbar_counter" "Skeleton_Boss_HealthCount2"
|
||||
"HPinit_counter" "Skeleton_Boss_HealthInit2"
|
||||
"CustomText" "Skeleton 2"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "5"
|
||||
"HPbar_default" ""
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "Skeleton_Boss_Health3"
|
||||
"HPbar_counter" "Skeleton_Boss_HealthCount3"
|
||||
"HPinit_counter" "Skeleton_Boss_HealthInit3"
|
||||
"CustomText" "Skeleton 3"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "5"
|
||||
"HPbar_default" ""
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
}
|
7
BossHP/configs/MapBossHP/ze_UT2004_Convoy_p2.txt
Normal file
7
BossHP/configs/MapBossHP/ze_UT2004_Convoy_p2.txt
Normal file
@ -0,0 +1,7 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "boss_counter2"
|
||||
}
|
||||
}
|
18
BossHP/configs/MapBossHP/ze_alien_shooter_v7_ps4.txt
Normal file
18
BossHP/configs/MapBossHP/ze_alien_shooter_v7_ps4.txt
Normal file
@ -0,0 +1,18 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "counter1"
|
||||
"HP_Mode" "1"
|
||||
"HPbar_counter" "counter3"
|
||||
"HPbar_mode" "1"
|
||||
"CustomText" "Alien"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "roshi_counter"
|
||||
"HP_Mode" "1"
|
||||
"HPbar_mode" "1"
|
||||
"CustomText" "Roshi"
|
||||
}
|
||||
}
|
29
BossHP/configs/MapBossHP/ze_ancient_wrath_r4.txt
Normal file
29
BossHP/configs/MapBossHP/ze_ancient_wrath_r4.txt
Normal file
@ -0,0 +1,29 @@
|
||||
"math_counter"
|
||||
{
|
||||
"config"
|
||||
{
|
||||
"BossDieKeepTime" "5"
|
||||
}
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "boss_3_knockback_1_counter"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "boss_3_energy_1"
|
||||
"CustomText" "Energy Tube(Left)"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "boss_3_energy_2"
|
||||
"CustomText" "Energy Tube(Right)"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "boss_3_container"
|
||||
"CustomText" "Core"
|
||||
}
|
||||
}
|
23
BossHP/configs/MapBossHP/ze_ancient_wrath_v1_2.txt
Normal file
23
BossHP/configs/MapBossHP/ze_ancient_wrath_v1_2.txt
Normal file
@ -0,0 +1,23 @@
|
||||
"math_counter"
|
||||
{
|
||||
"config"
|
||||
{
|
||||
"BossDieKeepTime" "5"
|
||||
}
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "boss_3_knockback_1_counter"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "boss_3_energy_1"
|
||||
"CustomText" "Energy1"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "boss_3_energy_2"
|
||||
"CustomText" "Energy2"
|
||||
}
|
||||
}
|
8
BossHP/configs/MapBossHP/ze_biohazard3_nemesis_b5_2.txt
Normal file
8
BossHP/configs/MapBossHP/ze_biohazard3_nemesis_b5_2.txt
Normal file
@ -0,0 +1,8 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Special_Health"
|
||||
"HP_Mode" "1"
|
||||
}
|
||||
}
|
43
BossHP/configs/MapBossHP/ze_bioshock_v6_2_csgo4.txt
Normal file
43
BossHP/configs/MapBossHP/ze_bioshock_v6_2_csgo4.txt
Normal file
@ -0,0 +1,43 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "bouncer_Health_BarHP"
|
||||
"HPbar_counter" "bouncer_Health_HP"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "5"
|
||||
"HPbar_default" ""
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "cohen_Health_BarHP"
|
||||
"HPbar_counter" "cohen_Health_HP"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "5"
|
||||
"HPbar_default" ""
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "fontaine_Health_BarHP"
|
||||
"HPbar_counter" "fontaine_Health_HP"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "6"
|
||||
"HPbar_default" ""
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "songbird_finale_health"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"HP_counter" "songbird_Health_BarHP"
|
||||
"HPbar_counter" "songbird_Health_HP"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "5"
|
||||
"HPbar_default" ""
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
}
|
43
BossHP/configs/MapBossHP/ze_bioshock_v6_2_csgo6.txt
Normal file
43
BossHP/configs/MapBossHP/ze_bioshock_v6_2_csgo6.txt
Normal file
@ -0,0 +1,43 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "bouncer_Health_BarHP"
|
||||
"HPbar_counter" "bouncer_Health_HP"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "5"
|
||||
"HPbar_default" ""
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "cohen_Health_BarHP"
|
||||
"HPbar_counter" "cohen_Health_HP"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "5"
|
||||
"HPbar_default" ""
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "fontaine_Health_BarHP"
|
||||
"HPbar_counter" "fontaine_Health_HP"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "6"
|
||||
"HPbar_default" ""
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "songbird_finale_health"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"HP_counter" "songbird_Health_BarHP"
|
||||
"HPbar_counter" "songbird_Health_HP"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "5"
|
||||
"HPbar_default" ""
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
}
|
15
BossHP/configs/MapBossHP/ze_bisounours_party_go_v3fix.txt
Normal file
15
BossHP/configs/MapBossHP/ze_bisounours_party_go_v3fix.txt
Normal file
@ -0,0 +1,15 @@
|
||||
"math_counter"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Pedobear_lvl1"
|
||||
"CustomText" "Pedobear"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Pedobear_lvl2"
|
||||
"CustomText" "Pedobear"
|
||||
}
|
||||
}
|
21
BossHP/configs/MapBossHP/ze_bisounours_party_p2.txt
Normal file
21
BossHP/configs/MapBossHP/ze_bisounours_party_p2.txt
Normal file
@ -0,0 +1,21 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Statue"
|
||||
"CustomText" "Statue"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Pedobear_lvl1"
|
||||
"CustomText" "Pedobear"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Pedobear_lvl2"
|
||||
"CustomText" "Pedobear"
|
||||
}
|
||||
}
|
33
BossHP/configs/MapBossHP/ze_boatescape999_v4_4.txt
Normal file
33
BossHP/configs/MapBossHP/ze_boatescape999_v4_4.txt
Normal file
@ -0,0 +1,33 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Mode_8_Chaos_Box"
|
||||
"CustomText" "Chaos - 轮回王"
|
||||
}
|
||||
"0"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Mode_7_Zodiark_Box"
|
||||
"CustomText" "Zodiark - 戒律王"
|
||||
}
|
||||
"0"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Mode_5_Genesis_Box"
|
||||
"CustomText" "Genesis - 杰内西斯"
|
||||
}
|
||||
"0"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Mode_2_Sephiroth_Box"
|
||||
"CustomText" "Sephiroth - 萨菲罗斯"
|
||||
}
|
||||
"0"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Mode_1_Bahamut_Box"
|
||||
"CustomText" "Bahamut - 巴哈姆特"
|
||||
}
|
||||
}
|
27
BossHP/configs/MapBossHP/ze_boredom_p.txt
Normal file
27
BossHP/configs/MapBossHP/ze_boredom_p.txt
Normal file
@ -0,0 +1,27 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "CacoDemonHP"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "LostSoulHP"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "DemonHP"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "ImpHP"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"HP_counter" "PaperCounter"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"HP_counter" "AssaHP"
|
||||
}
|
||||
}
|
12
BossHP/configs/MapBossHP/ze_castlevania_p1_7.txt
Normal file
12
BossHP/configs/MapBossHP/ze_castlevania_p1_7.txt
Normal file
@ -0,0 +1,12 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "boss_counter"
|
||||
"HPbar_counter" "boss_hpbar_overlaycounter"
|
||||
"HPbar_min" "0"
|
||||
"HPbar_max" "10"
|
||||
"HPbar_default" "10"
|
||||
"HPbar_mode" "1" // OnHitMin=1 OnHitMax=2
|
||||
}
|
||||
}
|
27
BossHP/configs/MapBossHP/ze_chaos_v7_4f.txt
Normal file
27
BossHP/configs/MapBossHP/ze_chaos_v7_4f.txt
Normal file
@ -0,0 +1,27 @@
|
||||
"math_counter"
|
||||
{
|
||||
//Stage 2 Boss HP
|
||||
"0"
|
||||
{
|
||||
"HP_Group"
|
||||
{
|
||||
"0" "level2_counter_2"
|
||||
"1" "level2_counter_2_1"
|
||||
"2" "level2_counter_2_2"
|
||||
"3" "level2_counter_2_3"
|
||||
"4" "level2_counter_2_4"
|
||||
}
|
||||
}
|
||||
//Stage 3 Boss HP
|
||||
"1"
|
||||
{
|
||||
"HP_Group"
|
||||
{
|
||||
"0" "counter_2"
|
||||
"1" "counter_2_1"
|
||||
"2" "counter_2_2"
|
||||
"3" "counter_2_3"
|
||||
"4" "counter_2_4"
|
||||
}
|
||||
}
|
||||
}
|
13
BossHP/configs/MapBossHP/ze_chemical_weapons_depot_v3_1.txt
Normal file
13
BossHP/configs/MapBossHP/ze_chemical_weapons_depot_v3_1.txt
Normal file
@ -0,0 +1,13 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "HPCounter"
|
||||
"HPbar_counter" "HPCounterIterator"
|
||||
"HPinit_counter" "HPCounterBackUp"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "40"
|
||||
"HPbar_default" "40"
|
||||
"HPbar_mode" "1"
|
||||
}
|
||||
}
|
11
BossHP/configs/MapBossHP/ze_christmas_b2_1.txt
Normal file
11
BossHP/configs/MapBossHP/ze_christmas_b2_1.txt
Normal file
@ -0,0 +1,11 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Boss_Health"
|
||||
"HP_Mode" "1"
|
||||
"HPbar_counter" "Boss_HealthCount"
|
||||
"HPinit_counter" "Boss_HealthInit"
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
}
|
57
BossHP/configs/MapBossHP/ze_chroma_v0_4_csgo1.txt
Normal file
57
BossHP/configs/MapBossHP/ze_chroma_v0_4_csgo1.txt
Normal file
@ -0,0 +1,57 @@
|
||||
"math_counter"
|
||||
{
|
||||
"config"
|
||||
{
|
||||
"RoundEndShowTopDamage" "1"
|
||||
"ShowTopDamageDuringBOSS" "0"
|
||||
"ForceEnable" "1"
|
||||
}
|
||||
"1" //func_breakable or func_physbox
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "pbox_boss7"
|
||||
"CustomText" "Boss"
|
||||
}
|
||||
"1" //func_breakable or func_physbox
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "pbox_boss6"
|
||||
"CustomText" "Boss"
|
||||
}
|
||||
"1" //func_breakable or func_physbox
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "pbox_boss5"
|
||||
"CustomText" "Boss"
|
||||
}
|
||||
"1" //func_breakable or func_physbox
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "pbox_boss4"
|
||||
"CustomText" "Boss"
|
||||
}
|
||||
"1" //func_breakable or func_physbox
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "pbox_boss3"
|
||||
"CustomText" "Boss"
|
||||
}
|
||||
"1" //func_breakable or func_physbox
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "pbox_boss2"
|
||||
"CustomText" "Boss"
|
||||
}
|
||||
"1" //func_breakable or func_physbox
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "pbox_boss1"
|
||||
"CustomText" "Boss"
|
||||
}
|
||||
"1" //func_breakable or func_physbox
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "pbox_boss"
|
||||
"CustomText" "Boss"
|
||||
}
|
||||
}
|
31
BossHP/configs/MapBossHP/ze_copy_escape_a01_15.txt
Normal file
31
BossHP/configs/MapBossHP/ze_copy_escape_a01_15.txt
Normal file
@ -0,0 +1,31 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "boss2_hp_add"
|
||||
"HPbar_counter" "boss2_hp"
|
||||
"HPbar_min" "0"
|
||||
"HPbar_max" "10"
|
||||
"HPbar_default" "0"
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "cube_hp"
|
||||
"CustomText" "Cube"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "cube_hp_"
|
||||
"CustomText" "Cube"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "hp_counter"
|
||||
"HPbar_counter" "hp"
|
||||
"HPbar_min" "0"
|
||||
"HPbar_max" "10"
|
||||
"HPbar_default" "0"
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
}
|
35
BossHP/configs/MapBossHP/ze_copy_escape_a02_05.txt
Normal file
35
BossHP/configs/MapBossHP/ze_copy_escape_a02_05.txt
Normal file
@ -0,0 +1,35 @@
|
||||
"math_counter"
|
||||
{
|
||||
"config"
|
||||
{
|
||||
"IsDynamicHP" "1"
|
||||
}
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "boss2_hp_add"
|
||||
"HPbar_counter" "boss2_hp"
|
||||
"HPbar_min" "0"
|
||||
"HPbar_max" "10"
|
||||
"HPbar_default" "0"
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "cube_hp"
|
||||
"CustomText" "Cube"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "cube_hp_"
|
||||
"CustomText" "Cube"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "hp_counter"
|
||||
"HPbar_counter" "hp"
|
||||
"HPbar_min" "0"
|
||||
"HPbar_max" "10"
|
||||
"HPbar_default" "0"
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
}
|
35
BossHP/configs/MapBossHP/ze_copy_escape_a03_19.txt
Normal file
35
BossHP/configs/MapBossHP/ze_copy_escape_a03_19.txt
Normal file
@ -0,0 +1,35 @@
|
||||
"math_counter"
|
||||
{
|
||||
"config"
|
||||
{
|
||||
"IsDynamicHP" "1"
|
||||
}
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "boss2_hp_add"
|
||||
"HPbar_counter" "boss2_hp"
|
||||
"HPbar_min" "0"
|
||||
"HPbar_max" "10"
|
||||
"HPbar_default" "0"
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "cube_hp"
|
||||
"CustomText" "Cube"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "cube_hp_"
|
||||
"CustomText" "Cube"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "hp_counter"
|
||||
"HPbar_counter" "hp"
|
||||
"HPbar_min" "0"
|
||||
"HPbar_max" "10"
|
||||
"HPbar_default" "0"
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
}
|
35
BossHP/configs/MapBossHP/ze_copy_escape_v1_1.txt
Normal file
35
BossHP/configs/MapBossHP/ze_copy_escape_v1_1.txt
Normal file
@ -0,0 +1,35 @@
|
||||
"math_counter"
|
||||
{
|
||||
"config"
|
||||
{
|
||||
"IsDynamicHP" "1"
|
||||
}
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "boss2_hp_add"
|
||||
"HPbar_counter" "boss2_hp"
|
||||
"HPbar_min" "0"
|
||||
"HPbar_max" "10"
|
||||
"HPbar_default" "0"
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "cube_hp"
|
||||
"CustomText" "Cube"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "cube_hp_"
|
||||
"CustomText" "Cube"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "hp_counter"
|
||||
"HPbar_counter" "hp"
|
||||
"HPbar_min" "0"
|
||||
"HPbar_max" "10"
|
||||
"HPbar_default" "0"
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
}
|
38
BossHP/configs/MapBossHP/ze_crazy_escape_v5_5_1.txt
Normal file
38
BossHP/configs/MapBossHP/ze_crazy_escape_v5_5_1.txt
Normal file
@ -0,0 +1,38 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "naraka_counter"
|
||||
"HPbar_counter" "naraka_hp_iterations"
|
||||
"HPinit_counter" "naraka_hp_backup"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "5"
|
||||
"HPbar_default" "5"
|
||||
"HPbar_mode" "1"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "naraka_counter2"
|
||||
"HPbar_counter" "naraka_hp_iterations2"
|
||||
"HPinit_counter" "naraka_hp_backup2"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "5"
|
||||
"HPbar_default" "5"
|
||||
"HPbar_mode" "1"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "naraka_ultimate_counter"
|
||||
"HPbar_counter" "naraka_ultimate_hp_iterations"
|
||||
"HPinit_counter" "naraka_ultimate_hp_backup"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "5"
|
||||
"HPbar_default" "5"
|
||||
"HPbar_mode" "1"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "BossCage"
|
||||
}
|
||||
}
|
43
BossHP/configs/MapBossHP/ze_dark_souls_ptd_v0_4_csgo.txt
Normal file
43
BossHP/configs/MapBossHP/ze_dark_souls_ptd_v0_4_csgo.txt
Normal file
@ -0,0 +1,43 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Asylum_Demon_Counter"
|
||||
"CustomText" "Asylum Demon"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "Broadhead_Counter"
|
||||
"CustomText" "Broad Head"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "Golem_Counter"
|
||||
"CustomText" "Golem"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "Gwyndolin_Counter"
|
||||
"CustomText" "Gwyndolin"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"HP_counter" "2Ornstein_Counter"
|
||||
"CustomText" "Ornstein"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"HP_counter" "Phase2_Counter"
|
||||
"CustomText" "Phase2"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"HP_counter" "Gargoyle_Counter"
|
||||
"CustomText" "Gargoyle"
|
||||
}
|
||||
"7"
|
||||
{
|
||||
"HP_counter" "Gwyn_Counter"
|
||||
"CustomText" "Gwyn"
|
||||
}
|
||||
}
|
43
BossHP/configs/MapBossHP/ze_dark_souls_ptd_v0_4_csgo5.txt
Normal file
43
BossHP/configs/MapBossHP/ze_dark_souls_ptd_v0_4_csgo5.txt
Normal file
@ -0,0 +1,43 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Asylum_Demon_Counter"
|
||||
"CustomText" "Asylum Demon"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "Broadhead_Counter"
|
||||
"CustomText" "Broad Head"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "Golem_Counter"
|
||||
"CustomText" "Golem"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "Gwyndolin_Counter"
|
||||
"CustomText" "Gwyndolin"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"HP_counter" "2Ornstein_Counter"
|
||||
"CustomText" "Ornstein"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"HP_counter" "Phase2_Counter"
|
||||
"CustomText" "Phase2"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"HP_counter" "Gargoyle_Counter"
|
||||
"CustomText" "Gargoyle"
|
||||
}
|
||||
"7"
|
||||
{
|
||||
"HP_counter" "Gwyn_Counter"
|
||||
"CustomText" "Gwyn"
|
||||
}
|
||||
}
|
12
BossHP/configs/MapBossHP/ze_deadcore_c18.txt
Normal file
12
BossHP/configs/MapBossHP/ze_deadcore_c18.txt
Normal file
@ -0,0 +1,12 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "radiation_hpcounter"
|
||||
"HPbar_counter" "radiation_hpmasscounter"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "10"
|
||||
"HPbar_default" ""
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
}
|
12
BossHP/configs/MapBossHP/ze_deadcore_v1_3.txt
Normal file
12
BossHP/configs/MapBossHP/ze_deadcore_v1_3.txt
Normal file
@ -0,0 +1,12 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "radiation_hpcounter"
|
||||
"HPbar_counter" "radiation_hpmasscounter"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "10"
|
||||
"HPbar_default" ""
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "healbar_counter_extreme"
|
||||
"HPbar_counter" "healbar_count_total2"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "12"
|
||||
"HPbar_default" ""
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "healbar_counter_god"
|
||||
"HPbar_counter" "healbar_count_total2"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "12"
|
||||
"HPbar_default" ""
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "healbar_counter_impossible"
|
||||
"HPbar_counter" "healbar_count_total2"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "12"
|
||||
"HPbar_default" ""
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
}
|
69
BossHP/configs/MapBossHP/ze_diddle_v3.txt
Normal file
69
BossHP/configs/MapBossHP/ze_diddle_v3.txt
Normal file
@ -0,0 +1,69 @@
|
||||
"math_counter"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Ord_lvl_02_boss_break"
|
||||
"CustomText" ""
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "X69XTurtleBossHP1"
|
||||
"CustomText" ""
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "X69XTurtleBosshp2"
|
||||
"CustomText" ""
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "X69XOrd_main_large_diglett_break"
|
||||
"CustomText" ""
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "X69XOrd_main_mid_diglett_break"
|
||||
"CustomText" ""
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Ord_lvl_01_boss_break"
|
||||
"CustomText" ""
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "X69XOrd_main_little_diglett_break"
|
||||
"CustomText" ""
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "X69Xluff_npc_phys2gg"
|
||||
"CustomText" ""
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "i_npc_hp_1"
|
||||
"CustomText" ""
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "seal"
|
||||
"CustomText" ""
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "dd_hp"
|
||||
"CustomText" ""
|
||||
}
|
||||
}
|
11
BossHP/configs/MapBossHP/ze_doorhug_and_solo_v5_2_csgo.txt
Normal file
11
BossHP/configs/MapBossHP/ze_doorhug_and_solo_v5_2_csgo.txt
Normal file
@ -0,0 +1,11 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Boss_Counter"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "Monster_ZM_Counter"
|
||||
}
|
||||
}
|
16
BossHP/configs/MapBossHP/ze_dreamin_v1_9_1.txt
Normal file
16
BossHP/configs/MapBossHP/ze_dreamin_v1_9_1.txt
Normal file
@ -0,0 +1,16 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "blade_hp"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "HPCounter2"
|
||||
"HPbar_counter" "HPCounterIterator2"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "8"
|
||||
"HPbar_default" ""
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
}
|
21
BossHP/configs/MapBossHP/ze_dreamin_v2_1.txt
Normal file
21
BossHP/configs/MapBossHP/ze_dreamin_v2_1.txt
Normal file
@ -0,0 +1,21 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "blade_hp"
|
||||
}
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "st3_hp"
|
||||
}
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "final_hp"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "HPCounter2"
|
||||
"HPbar_counter" "HPCounterIterator2"
|
||||
"HPbar_mode" "1"
|
||||
}
|
||||
}
|
27
BossHP/configs/MapBossHP/ze_dreamin_v2_3.txt
Normal file
27
BossHP/configs/MapBossHP/ze_dreamin_v2_3.txt
Normal file
@ -0,0 +1,27 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "st2_hitbox"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "final_hp"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "st3_hp"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "HPCounter2"
|
||||
"HP_Mode" "1"
|
||||
"HPbar_counter" "HPCounterIterator2"
|
||||
"HPbar_mode" "1"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"HP_counter" "blade_hp"
|
||||
}
|
||||
}
|
16
BossHP/configs/MapBossHP/ze_dreamin_v2b.txt
Normal file
16
BossHP/configs/MapBossHP/ze_dreamin_v2b.txt
Normal file
@ -0,0 +1,16 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "blade_hp"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "HPCounter2"
|
||||
"HPbar_counter" "HPCounterIterator2"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "8"
|
||||
"HPbar_default" ""
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
}
|
21
BossHP/configs/MapBossHP/ze_dreamin_v2c.txt
Normal file
21
BossHP/configs/MapBossHP/ze_dreamin_v2c.txt
Normal file
@ -0,0 +1,21 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "blade_hp"
|
||||
}
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "st3_hp"
|
||||
}
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "final_hp"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "HPCounter2"
|
||||
"HPbar_counter" "HPCounterIterator2"
|
||||
"HPbar_mode" "1"
|
||||
}
|
||||
}
|
8
BossHP/configs/MapBossHP/ze_eternal_grove_v3.txt
Normal file
8
BossHP/configs/MapBossHP/ze_eternal_grove_v3.txt
Normal file
@ -0,0 +1,8 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "i_minotaurgod_hp"
|
||||
}
|
||||
}
|
11
BossHP/configs/MapBossHP/ze_evernight_a2_4c.txt
Normal file
11
BossHP/configs/MapBossHP/ze_evernight_a2_4c.txt
Normal file
@ -0,0 +1,11 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "imagebasileusis_hp"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "act2_boss_hp"
|
||||
}
|
||||
}
|
64
BossHP/configs/MapBossHP/ze_evernight_a3_1c.txt
Normal file
64
BossHP/configs/MapBossHP/ze_evernight_a3_1c.txt
Normal file
@ -0,0 +1,64 @@
|
||||
"math_counter"
|
||||
{
|
||||
"config"
|
||||
{
|
||||
"MultBoss" "1"
|
||||
}
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Boss_1_Hp"
|
||||
"HPbar_counter" "Boss_1_Hp_Overlay"
|
||||
"HPinit_counter" "Boss_1_Hp_Init"
|
||||
"CustomText" "Basil"
|
||||
"HPbar_min" "0"
|
||||
"HPbar_max" "10"
|
||||
"HPbar_mode" "1"
|
||||
}
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Boss_2_Hp"
|
||||
"HPbar_counter" "Boss_2_Hp_Overlay"
|
||||
"HPinit_counter" "Boss_2_Hp_Init"
|
||||
"CustomText" "Watcher(BOSS)"
|
||||
"HPbar_min" "0"
|
||||
"HPbar_max" "10"
|
||||
"HPbar_mode" "1"
|
||||
}
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Boss_3_Hp"
|
||||
"HPbar_counter" "Boss_3_Hp_Overlay"
|
||||
"HPinit_counter" "Boss_3_Hp_Init"
|
||||
"CustomText" "Gradyrat"
|
||||
"HPbar_min" "0"
|
||||
"HPbar_max" "10"
|
||||
"HPbar_mode" "1"
|
||||
}
|
||||
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "Boss_2_Hp_Lava"
|
||||
"CustomText" "Lava"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "Boss_2_Hp_Blizzard"
|
||||
"CustomText" "Blizzard"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"HP_counter" "Boss_2_Hp_Hurricane"
|
||||
"CustomText" "Hurricane"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"HP_counter" "Boss_2_Hp_Arc"
|
||||
"CustomText" "Arc"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Act_1_Crystal"
|
||||
"CustomText" "Crystal"
|
||||
}
|
||||
}
|
64
BossHP/configs/MapBossHP/ze_evernight_a3_1d.txt
Normal file
64
BossHP/configs/MapBossHP/ze_evernight_a3_1d.txt
Normal file
@ -0,0 +1,64 @@
|
||||
"math_counter"
|
||||
{
|
||||
"config"
|
||||
{
|
||||
"MultBoss" "1"
|
||||
}
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Boss_1_Hp"
|
||||
"HPbar_counter" "Boss_1_Hp_Overlay"
|
||||
"HPinit_counter" "Boss_1_Hp_Init"
|
||||
"CustomText" "Basil"
|
||||
"HPbar_min" "0"
|
||||
"HPbar_max" "10"
|
||||
"HPbar_mode" "1"
|
||||
}
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Boss_2_Hp"
|
||||
"HPbar_counter" "Boss_2_Hp_Overlay"
|
||||
"HPinit_counter" "Boss_2_Hp_Init"
|
||||
"CustomText" "BOSS"
|
||||
"HPbar_min" "0"
|
||||
"HPbar_max" "10"
|
||||
"HPbar_mode" "1"
|
||||
}
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Boss_3_Hp"
|
||||
"HPbar_counter" "Boss_3_Hp_Overlay"
|
||||
"HPinit_counter" "Boss_3_Hp_Init"
|
||||
"CustomText" "Gradyrat"
|
||||
"HPbar_min" "0"
|
||||
"HPbar_max" "10"
|
||||
"HPbar_mode" "1"
|
||||
}
|
||||
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "Boss_2_Hp_Lava"
|
||||
"CustomText" "Lava"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "Boss_2_Hp_Blizzard"
|
||||
"CustomText" "Blizzard"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"HP_counter" "Boss_2_Hp_Hurricane"
|
||||
"CustomText" "Hurricane"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"HP_counter" "Boss_2_Hp_Arc"
|
||||
"CustomText" "Arc"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Act_1_Crystal"
|
||||
"CustomText" "Crystal"
|
||||
}
|
||||
}
|
64
BossHP/configs/MapBossHP/ze_evernight_a3_4.txt
Normal file
64
BossHP/configs/MapBossHP/ze_evernight_a3_4.txt
Normal file
@ -0,0 +1,64 @@
|
||||
"math_counter"
|
||||
{
|
||||
"config"
|
||||
{
|
||||
"MultBoss" "1"
|
||||
}
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Boss_1_Hp"
|
||||
"HPbar_counter" "Boss_1_Hp_Overlay"
|
||||
"HPinit_counter" "Boss_1_Hp_Init"
|
||||
"CustomText" "Basil"
|
||||
"HPbar_min" "0"
|
||||
"HPbar_max" "10"
|
||||
"HPbar_mode" "1"
|
||||
}
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Boss_2_Hp"
|
||||
"HPbar_counter" "Boss_2_Hp_Overlay"
|
||||
"HPinit_counter" "Boss_2_Hp_Init"
|
||||
"CustomText" "BOSS"
|
||||
"HPbar_min" "0"
|
||||
"HPbar_max" "10"
|
||||
"HPbar_mode" "1"
|
||||
}
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Boss_3_Hp"
|
||||
"HPbar_counter" "Boss_3_Hp_Overlay"
|
||||
"HPinit_counter" "Boss_3_Hp_Init"
|
||||
"CustomText" "Gradyrat"
|
||||
"HPbar_min" "0"
|
||||
"HPbar_max" "10"
|
||||
"HPbar_mode" "1"
|
||||
}
|
||||
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "Boss_2_Hp_Lava"
|
||||
"CustomText" "Lava"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "Boss_2_Hp_Blizzard"
|
||||
"CustomText" "Blizzard"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"HP_counter" "Boss_2_Hp_Hurricane"
|
||||
"CustomText" "Hurricane"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"HP_counter" "Boss_2_Hp_Arc"
|
||||
"CustomText" "Arc"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Act_1_Crystal"
|
||||
"CustomText" "Crystal"
|
||||
}
|
||||
}
|
61
BossHP/configs/MapBossHP/ze_fapescape_p5.txt
Normal file
61
BossHP/configs/MapBossHP/ze_fapescape_p5.txt
Normal file
@ -0,0 +1,61 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "boss_hp"
|
||||
"HPbar_counter" "boss_hp_iterations"
|
||||
"HPinit_counter" "boss_hp_backup"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "10"
|
||||
"HPbar_default" "10"
|
||||
"HPbar_mode" "1"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "boss_hp2"
|
||||
"HPbar_counter" "boss_hp_iterations2"
|
||||
"HPinit_counter" "boss_hp2_backup"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "10"
|
||||
"HPbar_default" "10"
|
||||
"HPbar_mode" "1"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "boss_hp3"
|
||||
"HPbar_counter" "boss_hp_iterations3"
|
||||
"HPinit_counter" "boss_hp3_backup"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "10"
|
||||
"HPbar_default" "10"
|
||||
"HPbar_mode" "1"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "boss_hp4"
|
||||
"HPbar_counter" "mouth_counter"
|
||||
"HPinit_counter" "boss_hp4_backup"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "10"
|
||||
"HPbar_default" "10"
|
||||
"HPbar_mode" "1"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"HP_counter" "boss_hp5"
|
||||
"HPbar_counter" "boss_hp_iterations5"
|
||||
"HPinit_counter" "boss_hp5_backup"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "10"
|
||||
"HPbar_default" "10"
|
||||
"HPbar_mode" "1"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"HP_counter" "lastboss_moving"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"HP_counter" "lastboss_static"
|
||||
}
|
||||
}
|
69
BossHP/configs/MapBossHP/ze_fapescape_rote_v1_3.txt
Normal file
69
BossHP/configs/MapBossHP/ze_fapescape_rote_v1_3.txt
Normal file
@ -0,0 +1,69 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "boss_hp"
|
||||
"HPbar_counter" "boss_hp_iterations"
|
||||
"HPinit_counter" "boss_hp_backup"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "10"
|
||||
"HPbar_default" "10"
|
||||
"HPbar_mode" "1"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "boss_hp_ex1"
|
||||
"HPbar_counter" "boss_hp_ex1_iterations"
|
||||
"HPinit_counter" "boss_hp_ex1_backup"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "10"
|
||||
"HPbar_default" "10"
|
||||
"HPbar_mode" "1"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "boss_hp_ex2"
|
||||
"HPbar_counter" "boss_hp_ex2_iterations"
|
||||
"HPinit_counter" "boss_hp_ex2_backup"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "10"
|
||||
"HPbar_default" "10"
|
||||
"HPbar_mode" "1"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "boss_hp2"
|
||||
"HPbar_counter" "boss_hp2_iterations"
|
||||
"HPinit_counter" "boss_hp2_backup"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "10"
|
||||
"HPbar_default" "10"
|
||||
"HPbar_mode" "1"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"HP_counter" "boss_hp3"
|
||||
"HPbar_counter" "boss_hp3_iterations"
|
||||
"HPinit_counter" "boss_hp3_backup"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "10"
|
||||
"HPbar_default" "10"
|
||||
"HPbar_mode" "1"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"HP_counter" "boss_hp4_phase1"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"HP_counter" "boss_hp4_phase2"
|
||||
}
|
||||
"7"
|
||||
{
|
||||
"HP_counter" "boss_hp4_phase3"
|
||||
}
|
||||
"8"
|
||||
{
|
||||
"HP_counter" "stage_2_ex_boss_37"
|
||||
}
|
||||
}
|
45
BossHP/configs/MapBossHP/ze_ffvii_cosmo_canyon_go_t6.txt
Normal file
45
BossHP/configs/MapBossHP/ze_ffvii_cosmo_canyon_go_t6.txt
Normal file
@ -0,0 +1,45 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Special_Health"
|
||||
"HPbar_counter" "Special_HealthCount"
|
||||
"HPinit_counter" "Special_HealthInit"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "16"
|
||||
"HPbar_default" ""
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "lvl2_Gi_Nattak_Counter"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "Genesis_Counter"
|
||||
"CustomText" "Genesis"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "Shinra_Ifrit_Counter"
|
||||
"CustomText" "Ifrit"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"HP_counter" "Shinra_Jenova_Counter"
|
||||
"CustomText" "Jenova"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"HP_counter" "Shinra_Shiva_Counter"
|
||||
"CustomText" "Shiva"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"HP_counter" "Gi_Nattak_Counter"
|
||||
}
|
||||
"8"
|
||||
{
|
||||
"HP_counter" "Ifrit_Counter"
|
||||
}
|
||||
}
|
45
BossHP/configs/MapBossHP/ze_ffvii_cosmo_canyon_v1_1_csgo.txt
Normal file
45
BossHP/configs/MapBossHP/ze_ffvii_cosmo_canyon_v1_1_csgo.txt
Normal file
@ -0,0 +1,45 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Special_Health"
|
||||
"HPbar_counter" "Special_HealthCount"
|
||||
"HPinit_counter" "Special_HealthInit"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "16"
|
||||
"HPbar_default" ""
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "lvl2_Gi_Nattak_Counter"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "Genesis_Counter"
|
||||
"CustomText" "Genesis"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "Shinra_Ifrit_Counter"
|
||||
"CustomText" "Ifrit"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"HP_counter" "Shinra_Jenova_Counter"
|
||||
"CustomText" "Jenova"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"HP_counter" "Shinra_Shiva_Counter"
|
||||
"CustomText" "Shiva"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"HP_counter" "Gi_Nattak_Counter"
|
||||
}
|
||||
"8"
|
||||
{
|
||||
"HP_counter" "Ifrit_Counter"
|
||||
}
|
||||
}
|
45
BossHP/configs/MapBossHP/ze_ffvii_cosmo_canyon_v2_1_g12.txt
Normal file
45
BossHP/configs/MapBossHP/ze_ffvii_cosmo_canyon_v2_1_g12.txt
Normal file
@ -0,0 +1,45 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Special_Health"
|
||||
"HPbar_counter" "Special_HealthCount"
|
||||
"HPinit_counter" "Special_HealthInit"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "16"
|
||||
"HPbar_default" ""
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "lvl2_Gi_Nattak_Counter"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "Genesis_Counter"
|
||||
"CustomText" "Genesis"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "Shinra_Ifrit_Counter"
|
||||
"CustomText" "Ifrit"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"HP_counter" "Shinra_Jenova_Counter"
|
||||
"CustomText" "Jenova"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"HP_counter" "Shinra_Shiva_Counter"
|
||||
"CustomText" "Shiva"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"HP_counter" "Gi_Nattak_Counter"
|
||||
}
|
||||
"8"
|
||||
{
|
||||
"HP_counter" "Ifrit_Counter"
|
||||
}
|
||||
}
|
45
BossHP/configs/MapBossHP/ze_ffvii_cosmo_canyon_v4fix_ps4.txt
Normal file
45
BossHP/configs/MapBossHP/ze_ffvii_cosmo_canyon_v4fix_ps4.txt
Normal file
@ -0,0 +1,45 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Special_Health"
|
||||
"HPbar_counter" "Special_HealthCount"
|
||||
"HPinit_counter" "Special_HealthInit"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "16"
|
||||
"HPbar_default" ""
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "lvl2_Gi_Nattak_Counter"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "Genesis_Counter"
|
||||
"CustomText" "Genesis"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "Shinra_Ifrit_Counter"
|
||||
"CustomText" "Ifrit"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"HP_counter" "Shinra_Jenova_Counter"
|
||||
"CustomText" "Jenova"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"HP_counter" "Shinra_Shiva_Counter"
|
||||
"CustomText" "Shiva"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"HP_counter" "Gi_Nattak_Counter"
|
||||
}
|
||||
"8"
|
||||
{
|
||||
"HP_counter" "Ifrit_Counter"
|
||||
}
|
||||
}
|
@ -0,0 +1,45 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Special_Health"
|
||||
"HPbar_counter" "Special_HealthCount"
|
||||
"HPinit_counter" "Special_HealthInit"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "16"
|
||||
"HPbar_default" ""
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "lvl2_Gi_Nattak_Counter"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "Genesis_Counter"
|
||||
"CustomText" "Genesis"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "Shinra_Ifrit_Counter"
|
||||
"CustomText" "Ifrit"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"HP_counter" "Shinra_Jenova_Counter"
|
||||
"CustomText" "Jenova"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"HP_counter" "Shinra_Shiva_Counter"
|
||||
"CustomText" "Shiva"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"HP_counter" "Gi_Nattak_Counter"
|
||||
}
|
||||
"8"
|
||||
{
|
||||
"HP_counter" "Ifrit_Counter"
|
||||
}
|
||||
}
|
45
BossHP/configs/MapBossHP/ze_ffvii_cosmo_canyon_v5k.txt
Normal file
45
BossHP/configs/MapBossHP/ze_ffvii_cosmo_canyon_v5k.txt
Normal file
@ -0,0 +1,45 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Special_Health"
|
||||
"HPbar_counter" "Special_HealthCount"
|
||||
"HPinit_counter" "Special_HealthInit"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "16"
|
||||
"HPbar_default" ""
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "lvl2_Gi_Nattak_Counter"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "Genesis_Counter"
|
||||
"CustomText" "Genesis"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "Shinra_Ifrit_Counter"
|
||||
"CustomText" "Ifrit"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"HP_counter" "Shinra_Jenova_Counter"
|
||||
"CustomText" "Jenova"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"HP_counter" "Shinra_Shiva_Counter"
|
||||
"CustomText" "Shiva"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"HP_counter" "Gi_Nattak_Counter"
|
||||
}
|
||||
"8"
|
||||
{
|
||||
"HP_counter" "Ifrit_Counter"
|
||||
}
|
||||
}
|
45
BossHP/configs/MapBossHP/ze_ffvii_cosmo_canyon_v5k_fix.txt
Normal file
45
BossHP/configs/MapBossHP/ze_ffvii_cosmo_canyon_v5k_fix.txt
Normal file
@ -0,0 +1,45 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Special_Health"
|
||||
"HPbar_counter" "Special_HealthCount"
|
||||
"HPinit_counter" "Special_HealthInit"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "16"
|
||||
"HPbar_default" ""
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "lvl2_Gi_Nattak_Counter"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "Genesis_Counter"
|
||||
"CustomText" "Genesis"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "Shinra_Ifrit_Counter"
|
||||
"CustomText" "Ifrit"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"HP_counter" "Shinra_Jenova_Counter"
|
||||
"CustomText" "Jenova"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"HP_counter" "Shinra_Shiva_Counter"
|
||||
"CustomText" "Shiva"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"HP_counter" "Gi_Nattak_Counter"
|
||||
}
|
||||
"8"
|
||||
{
|
||||
"HP_counter" "Ifrit_Counter"
|
||||
}
|
||||
}
|
24
BossHP/configs/MapBossHP/ze_ffvii_mako_reactor_p8.txt
Normal file
24
BossHP/configs/MapBossHP/ze_ffvii_mako_reactor_p8.txt
Normal file
@ -0,0 +1,24 @@
|
||||
"math_counter"
|
||||
{
|
||||
"config"
|
||||
{
|
||||
"ForceEnable" "0"
|
||||
}
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "bahamut_vida"
|
||||
"CustomText" "Bahamut"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Monstruo_Breakable"
|
||||
"CustomText" "Monster"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "bahamutend"
|
||||
"CustomText" "Bahamut"
|
||||
}
|
||||
}
|
45
BossHP/configs/MapBossHP/ze_ffvii_mako_reactor_v5_3_v5.txt
Normal file
45
BossHP/configs/MapBossHP/ze_ffvii_mako_reactor_v5_3_v5.txt
Normal file
@ -0,0 +1,45 @@
|
||||
"math_counter"
|
||||
{
|
||||
"config"
|
||||
{
|
||||
"ForceEnable" "0"
|
||||
}
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "bahamut_vida"
|
||||
"HPbar_counter" ""
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" ""
|
||||
"HPbar_default" ""
|
||||
"HPbar_mode" "" // OnHitMin=1 OnHitMax=2
|
||||
"CustomText" "Bahamut"
|
||||
}
|
||||
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "glassT"
|
||||
"CustomText" "Sephiroth"
|
||||
}
|
||||
|
||||
"2"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "bahamutend"
|
||||
"CustomText" "Bahamut"
|
||||
}
|
||||
|
||||
"3"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "bahamutend1"
|
||||
"CustomText" "Sephiroth"
|
||||
}
|
||||
|
||||
"4"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Monstruo_Breakable"
|
||||
"CustomText" "Guard Scorpion"
|
||||
}
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "HPCounter"
|
||||
"HPbar_counter" "HPCounterIterator"
|
||||
"HPinit_counter" "HPCounterBackUp"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "40"
|
||||
"HPbar_default" "40"
|
||||
"HPbar_mode" "1"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Final_Fulgor_Breakable"
|
||||
"CustomText" "Bahamut"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Sephiroth_Final_Breakable"
|
||||
"CustomText" "Sephiroth"
|
||||
}
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "HPCounter"
|
||||
"HPbar_counter" "HPCounterIterator"
|
||||
"HPinit_counter" "HPCounterBackUp"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "40"
|
||||
"HPbar_default" "40"
|
||||
"HPbar_mode" "1"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Final_Fulgor_Breakable"
|
||||
"CustomText" "Bahamut"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Sephiroth_Final_Breakable"
|
||||
"CustomText" "Sephiroth"
|
||||
}
|
||||
}
|
55
BossHP/configs/MapBossHP/ze_ffvii_temple_ancient_v4_3.txt
Normal file
55
BossHP/configs/MapBossHP/ze_ffvii_temple_ancient_v4_3.txt
Normal file
@ -0,0 +1,55 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"CustomText" "Dragon"
|
||||
"HPbar_mode" "1"
|
||||
"HPbar_counter" "counter_dragon_3"
|
||||
"HP_counter" "counter_dragon_1"
|
||||
"HPinit_counter" "counter_dragon_2"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"CustomText" "Dragon"
|
||||
"HPbar_mode" "1"
|
||||
"HPbar_counter" "counter_dragon_3_1"
|
||||
"HP_counter" "counter_dragon_1"
|
||||
"HPinit_counter" "counter_dragon_2"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"CustomText" "Gaulle"
|
||||
"HP_counter" "counter_golem_3"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"CustomText" "Sephiroth"
|
||||
"HPbar_mode" "1"
|
||||
"HPbar_counter" "Edge_Health"
|
||||
"HP_counter" "counter_edge_1"
|
||||
"HPinit_counter" "counter_edge_2"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"CustomText" "Bomb"
|
||||
"HP_counter" "bomb_1_counter"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"CustomText" "Bomb"
|
||||
"HP_counter" "bomb_3_counter"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"CustomText" "Sephiroth"
|
||||
"HP_counter" "counter_seph"
|
||||
}
|
||||
"7"
|
||||
{
|
||||
"CustomText" "Triface"
|
||||
"HPbar_mode" "1"
|
||||
"HPbar_counter" "counter_triface_3"
|
||||
"HP_counter" "counter_triface_1"
|
||||
"HPinit_counter" "counter_triface_2"
|
||||
}
|
||||
}
|
40
BossHP/configs/MapBossHP/ze_ffxii_feywood_b3_1_e2_2.txt
Normal file
40
BossHP/configs/MapBossHP/ze_ffxii_feywood_b3_1_e2_2.txt
Normal file
@ -0,0 +1,40 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Boss_HP_2"
|
||||
"HPbar_counter" "Boss_HPbar_Counter"
|
||||
"HPbar_min" "1"
|
||||
"HPbar_max" "7"
|
||||
"HPbar_default" "1"
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "lvl5_Boss_HP_2"
|
||||
"HPbar_counter" "lvl5_Boss_HPbar_Counter"
|
||||
"CustomText" "Zodiark"
|
||||
"HPbar_min" "1"
|
||||
"HPbar_max" "7"
|
||||
"HPbar_default" "1"
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Glass_Ball_Break"
|
||||
"CustomText" "Glass"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Tomb_01_Crystall_1"
|
||||
"CustomText" "Crystall 1"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Tomb_01_Crystall_2"
|
||||
"CustomText" "Crystall 2"
|
||||
}
|
||||
}
|
40
BossHP/configs/MapBossHP/ze_ffxii_feywood_b3_1_x4.txt
Normal file
40
BossHP/configs/MapBossHP/ze_ffxii_feywood_b3_1_x4.txt
Normal file
@ -0,0 +1,40 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Boss_HP_2"
|
||||
"HPbar_counter" "Boss_HPbar_Counter"
|
||||
"HPbar_min" "1"
|
||||
"HPbar_max" "7"
|
||||
"HPbar_default" "1"
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "lvl5_Boss_HP_2"
|
||||
"HPbar_counter" "lvl5_Boss_HPbar_Counter"
|
||||
"CustomText" "Zodiark"
|
||||
"HPbar_min" "1"
|
||||
"HPbar_max" "7"
|
||||
"HPbar_default" "1"
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Glass_Ball_Break"
|
||||
"CustomText" "Glass"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Tomb_01_Crystall_1"
|
||||
"CustomText" "Crystall 1"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Tomb_01_Crystall_2"
|
||||
"CustomText" "Crystall 2"
|
||||
}
|
||||
}
|
47
BossHP/configs/MapBossHP/ze_ffxii_feywood_b6_1k.txt
Normal file
47
BossHP/configs/MapBossHP/ze_ffxii_feywood_b6_1k.txt
Normal file
@ -0,0 +1,47 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Boss_HP_2"
|
||||
"HPbar_counter" "Boss_HPbar_Counter"
|
||||
"HPbar_min" "1"
|
||||
"HPbar_max" "7"
|
||||
"HPbar_default" "1"
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "lvl5_Boss_HP_2"
|
||||
"HPbar_counter" "lvl5_Boss_HPbar_Counter"
|
||||
"CustomText" "Zodiark"
|
||||
"HPbar_min" "1"
|
||||
"HPbar_max" "7"
|
||||
"HPbar_default" "1"
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Glass_Ball_Break"
|
||||
"CustomText" "Glass"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Tomb_01_Crystall_1"
|
||||
"CustomText" "Crystall 1"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Tomb_01_Crystall_2"
|
||||
"CustomText" "Crystall 2"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "boss_cactus_break"
|
||||
"CustomText" "Cactus"
|
||||
}
|
||||
|
||||
}
|
44
BossHP/configs/MapBossHP/ze_ffxii_paramina_rift_csgo1.txt
Normal file
44
BossHP/configs/MapBossHP/ze_ffxii_paramina_rift_csgo1.txt
Normal file
@ -0,0 +1,44 @@
|
||||
"math_counter"
|
||||
{
|
||||
"config"
|
||||
{
|
||||
"MultBoss" ""
|
||||
"IsDynamicHP" ""
|
||||
"RoundEndShowTopDamage" ""
|
||||
"ShowTopDamageDuringBOSS" ""
|
||||
}
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Boss_Health"
|
||||
"HPbar_counter" "Boss_Overlay_Counter"
|
||||
"HPinit_counter" "Boss_Health_Init"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "11"
|
||||
"HPbar_default" ""
|
||||
"HPbar_mode" "2"
|
||||
"CustomText" "Mateus"
|
||||
"CustomText2" ""
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "Chaos_Health"
|
||||
"HPbar_counter" "Chaos_Overlay_Counter"
|
||||
"HPinit_counter" "Chaos_Health_Init"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "11"
|
||||
"HPbar_default" ""
|
||||
"HPbar_mode" "2"
|
||||
"CustomText" "Chaos"
|
||||
"CustomText2" ""
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "Fin_Boss_Counter"
|
||||
"CustomText" "Mateus"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "Guardian_Counter"
|
||||
"CustomText" "Guardian"
|
||||
}
|
||||
}
|
44
BossHP/configs/MapBossHP/ze_ffxii_paramina_rift_csgo5.txt
Normal file
44
BossHP/configs/MapBossHP/ze_ffxii_paramina_rift_csgo5.txt
Normal file
@ -0,0 +1,44 @@
|
||||
"math_counter"
|
||||
{
|
||||
"config"
|
||||
{
|
||||
"MultBoss" ""
|
||||
"IsDynamicHP" ""
|
||||
"RoundEndShowTopDamage" ""
|
||||
"ShowTopDamageDuringBOSS" ""
|
||||
}
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Boss_Health"
|
||||
"HPbar_counter" "Boss_Overlay_Counter"
|
||||
"HPinit_counter" "Boss_Health_Init"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "11"
|
||||
"HPbar_default" ""
|
||||
"HPbar_mode" "2"
|
||||
"CustomText" "Mateus"
|
||||
"CustomText2" ""
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "Chaos_Health"
|
||||
"HPbar_counter" "Chaos_Overlay_Counter"
|
||||
"HPinit_counter" "Chaos_Health_Init"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "11"
|
||||
"HPbar_default" ""
|
||||
"HPbar_mode" "2"
|
||||
"CustomText" "Chaos"
|
||||
"CustomText2" ""
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "Fin_Boss_Counter"
|
||||
"CustomText" "Mateus"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "Guardian_Counter"
|
||||
"CustomText" "Guardian"
|
||||
}
|
||||
}
|
44
BossHP/configs/MapBossHP/ze_ffxii_paramina_rift_r4.txt
Normal file
44
BossHP/configs/MapBossHP/ze_ffxii_paramina_rift_r4.txt
Normal file
@ -0,0 +1,44 @@
|
||||
"math_counter"
|
||||
{
|
||||
"config"
|
||||
{
|
||||
"MultBoss" ""
|
||||
"IsDynamicHP" ""
|
||||
"RoundEndShowTopDamage" ""
|
||||
"ShowTopDamageDuringBOSS" ""
|
||||
}
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Boss_Health"
|
||||
"HPbar_counter" "Boss_Overlay_Counter"
|
||||
"HPinit_counter" "Boss_Health_Init"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "11"
|
||||
"HPbar_default" ""
|
||||
"HPbar_mode" "2"
|
||||
"CustomText" "Mateus"
|
||||
"CustomText2" ""
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "Chaos_Health"
|
||||
"HPbar_counter" "Chaos_Overlay_Counter"
|
||||
"HPinit_counter" "Chaos_Health_Init"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "11"
|
||||
"HPbar_default" ""
|
||||
"HPbar_mode" "2"
|
||||
"CustomText" "Chaos"
|
||||
"CustomText2" ""
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "Fin_Boss_Counter"
|
||||
"CustomText" "Mateus"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "Guardian_Counter"
|
||||
"CustomText" "Guardian"
|
||||
}
|
||||
}
|
44
BossHP/configs/MapBossHP/ze_ffxii_paramina_rift_v1_4_a7t.txt
Normal file
44
BossHP/configs/MapBossHP/ze_ffxii_paramina_rift_v1_4_a7t.txt
Normal file
@ -0,0 +1,44 @@
|
||||
"math_counter"
|
||||
{
|
||||
"config"
|
||||
{
|
||||
"MultBoss" ""
|
||||
"IsDynamicHP" ""
|
||||
"RoundEndShowTopDamage" ""
|
||||
"ShowTopDamageDuringBOSS" ""
|
||||
}
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Boss_Health"
|
||||
"HPbar_counter" "Boss_Overlay_Counter"
|
||||
"HPinit_counter" "Boss_Health_Init"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "11"
|
||||
"HPbar_default" ""
|
||||
"HPbar_mode" "2"
|
||||
"CustomText" "Mateus"
|
||||
"CustomText2" ""
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "Chaos_Health"
|
||||
"HPbar_counter" "Chaos_Overlay_Counter"
|
||||
"HPinit_counter" "Chaos_Health_Init"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "11"
|
||||
"HPbar_default" ""
|
||||
"HPbar_mode" "2"
|
||||
"CustomText" "Chaos"
|
||||
"CustomText2" ""
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "Fin_Boss_Counter"
|
||||
"CustomText" "Mateus"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "Guardian_Counter"
|
||||
"CustomText" "Guardian"
|
||||
}
|
||||
}
|
@ -0,0 +1,52 @@
|
||||
"math_counter"
|
||||
{
|
||||
"config"
|
||||
{
|
||||
"MultBoss" "1"
|
||||
}
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Special_Health"
|
||||
"HPbar_counter" "Special_HealthCount"
|
||||
"HPinit_counter" "Special_HealthInit"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "16"
|
||||
"HPbar_default" ""
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "Stage_13_End_Boss_Counter"
|
||||
"CustomText" "Hydro"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "Stage_2_End_Dragon_Counter"
|
||||
"CustomText" "Hydro"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "Stage_24_End_Famfrit_Counter"
|
||||
"CustomText" "Famfrit"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"HP_counter" "Fat_Nigger_Counter"
|
||||
"CustomText" "Cuchulainn"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"HP_counter" "Stage_4_End_Guard_Counter"
|
||||
"CustomText" "Guardian"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"HP_counter" "Famfrit_Holy_Summon_Counter"
|
||||
"CustomText" "Guardian(Holy)"
|
||||
}
|
||||
"7"
|
||||
{
|
||||
"HP_counter" "Famfrit_Fire_Summon_Counter"
|
||||
"CustomText" "Guardian(Fire)"
|
||||
}
|
||||
}
|
@ -0,0 +1,52 @@
|
||||
"math_counter"
|
||||
{
|
||||
"config"
|
||||
{
|
||||
"MultBoss" "1"
|
||||
}
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Special_Health"
|
||||
"HPbar_counter" "Special_HealthCount"
|
||||
"HPinit_counter" "Special_HealthInit"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "16"
|
||||
"HPbar_default" ""
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "Stage_13_End_Boss_Counter"
|
||||
"CustomText" "Hydro"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "Stage_2_End_Dragon_Counter"
|
||||
"CustomText" "Hydro"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "Stage_24_End_Famfrit_Counter"
|
||||
"CustomText" "Famfrit"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"HP_counter" "Fat_Nigger_Counter"
|
||||
"CustomText" "Cuchulainn"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"HP_counter" "Stage_4_End_Guard_Counter"
|
||||
"CustomText" "Guardian"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"HP_counter" "Famfrit_Holy_Summon_Counter"
|
||||
"CustomText" "Guardian(Holy)"
|
||||
}
|
||||
"7"
|
||||
{
|
||||
"HP_counter" "Famfrit_Fire_Summon_Counter"
|
||||
"CustomText" "Guardian(Fire)"
|
||||
}
|
||||
}
|
@ -0,0 +1,72 @@
|
||||
"math_counter"
|
||||
{
|
||||
"config"
|
||||
{
|
||||
"BossRewardMoney" "5"
|
||||
}
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Special_Health"
|
||||
"HP_Mode" "1"
|
||||
"HPbar_counter" "Special_HealthCount"
|
||||
"HPinit_counter" "Special_HealthInit"
|
||||
"HPbar_min" ""
|
||||
"HPbar_max" "16"
|
||||
"HPbar_default" ""
|
||||
"HPbar_mode" "2"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "Stage_13_End_Boss_Counter"
|
||||
"HP_Mode" "1"
|
||||
"CustomText" "Hydro"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "Stage_2_End_Dragon_Counter"
|
||||
"HP_Mode" "1"
|
||||
"CustomText" "Hydro"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "Stage_24_End_Famfrit_Counter"
|
||||
"HP_Mode" "1"
|
||||
"CustomText" "Famfrit"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"HP_counter" "Fat_Nigger_Counter"
|
||||
"HP_Mode" "1"
|
||||
"CustomText" "Zalera"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"HP_counter" "Stage_4_End_Guard_Counter"
|
||||
"HP_Mode" "1"
|
||||
"CustomText" "Gabranth"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"HP_counter" "Famfrit_Holy_Summon_Counter"
|
||||
"HP_Mode" "1"
|
||||
"CustomText" "Zargabaath(Holy)"
|
||||
}
|
||||
"7"
|
||||
{
|
||||
"HP_counter" "Famfrit_Fire_Summon_Counter"
|
||||
"HP_Mode" "1"
|
||||
"CustomText" "Bergan(Fire)"
|
||||
}
|
||||
"8"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Stage_1_Hold_3_Crystall_1"
|
||||
"CustomText" ""Crystal - 1"
|
||||
}
|
||||
"9"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Stage_1_Hold_3_Crystall_2"
|
||||
"CustomText" ""Crystal - 2"
|
||||
}
|
||||
}
|
38
BossHP/configs/MapBossHP/ze_ffxii_westersand_v7_z9.txt
Normal file
38
BossHP/configs/MapBossHP/ze_ffxii_westersand_v7_z9.txt
Normal file
@ -0,0 +1,38 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Boss_Health"
|
||||
"HPbar_counter" "Boss_Overlay_Counter"
|
||||
"HPinit_counter" "Boss_Health_Init"
|
||||
"HPbar_min" "0"
|
||||
"HPbar_max" "6"
|
||||
"HPbar_default" "6"
|
||||
"HPbar_mode" "1" // 1=降序 =2升序
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"HP_counter" "Guard_2_Health"
|
||||
"CustomText" "Healer"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"HP_counter" "Guard_3_Health"
|
||||
"CustomText" "Battlemage"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "Airship_Ending_Boss_Health"
|
||||
"CustomText" "Chaos"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "Ehe_Dragon_HP"
|
||||
"CustomText" "Dragon"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"HP_counter" "Ehe_Guardian_HP"
|
||||
"CustomText" "Guardian"
|
||||
}
|
||||
}
|
46
BossHP/configs/MapBossHP/ze_ffxii_westersand_v8zeta1_b4k.txt
Normal file
46
BossHP/configs/MapBossHP/ze_ffxii_westersand_v8zeta1_b4k.txt
Normal file
@ -0,0 +1,46 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Boss_Health"
|
||||
"HPbar_counter" "Boss_Overlay_Counter"
|
||||
"HPinit_counter" "Boss_Health_Init"
|
||||
"HPbar_min" "0"
|
||||
"HPbar_max" "7"
|
||||
"HPbar_default" "0"
|
||||
"HPbar_mode" "2" // 1=降序 =2升序
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "Espers_Mateus_Counter"
|
||||
"CustomText" "Mateus"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "Espers_Belias_Counter"
|
||||
"CustomText" "Belias"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "Espers_Chaos_Counter"
|
||||
"CustomText" "Chaos"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Mateus_Summon_Physbox"
|
||||
"CustomText" "Mateus"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Chaos_Summon_Physbox"
|
||||
"CustomText" "Chaos"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Belias_Summon_Physbox"
|
||||
"CustomText" "Belias"
|
||||
}
|
||||
}
|
46
BossHP/configs/MapBossHP/ze_ffxii_westersand_v8zeta1_b5k.txt
Normal file
46
BossHP/configs/MapBossHP/ze_ffxii_westersand_v8zeta1_b5k.txt
Normal file
@ -0,0 +1,46 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Boss_Health"
|
||||
"HPbar_counter" "Boss_Overlay_Counter"
|
||||
"HPinit_counter" "Boss_Health_Init"
|
||||
"HPbar_min" "0"
|
||||
"HPbar_max" "7"
|
||||
"HPbar_default" "0"
|
||||
"HPbar_mode" "2" // 1=降序 =2升序
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "Espers_Mateus_Counter"
|
||||
"CustomText" "Mateus"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "Espers_Belias_Counter"
|
||||
"CustomText" "Belias"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "Espers_Chaos_Counter"
|
||||
"CustomText" "Chaos"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Mateus_Summon_Physbox"
|
||||
"CustomText" "Mateus"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Chaos_Summon_Physbox"
|
||||
"CustomText" "Chaos"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Belias_Summon_Physbox"
|
||||
"CustomText" "Belias"
|
||||
}
|
||||
}
|
46
BossHP/configs/MapBossHP/ze_ffxii_westersand_v8zeta1_x16.txt
Normal file
46
BossHP/configs/MapBossHP/ze_ffxii_westersand_v8zeta1_x16.txt
Normal file
@ -0,0 +1,46 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Boss_Health"
|
||||
"HPbar_counter" "Boss_Overlay_Counter"
|
||||
"HPinit_counter" "Boss_Health_Init"
|
||||
"HPbar_min" "0"
|
||||
"HPbar_max" "7"
|
||||
"HPbar_default" "0"
|
||||
"HPbar_mode" "2" // 1=降序 =2升序
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "Espers_Mateus_Counter"
|
||||
"CustomText" "Mateus"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "Espers_Belias_Counter"
|
||||
"CustomText" "Belias"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "Espers_Chaos_Counter"
|
||||
"CustomText" "Chaos"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Mateus_Summon_Physbox"
|
||||
"CustomText" "Mateus"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Chaos_Summon_Physbox"
|
||||
"CustomText" "Chaos"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"Type" "breakable"
|
||||
"BreakableName" "Belias_Summon_Physbox"
|
||||
"CustomText" "Belias"
|
||||
}
|
||||
}
|
34
BossHP/configs/MapBossHP/ze_ffxiv_wanderers_palace_v2_8.txt
Normal file
34
BossHP/configs/MapBossHP/ze_ffxiv_wanderers_palace_v2_8.txt
Normal file
@ -0,0 +1,34 @@
|
||||
"math_counter"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"HP_Group"
|
||||
{
|
||||
"0" "bahamut_hp_100"
|
||||
"1" "bahamut_hp_75"
|
||||
"2" "bahamut_hp_50"
|
||||
"3" "bahamut_hp_25"
|
||||
}
|
||||
"CustomText" "Bahamut"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"HP_counter" "nael_hp"
|
||||
"CustomText" "Nael Van Darnus"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"HP_counter" "ads_atack1_hp"
|
||||
"CustomText" "ADS(Right)"
|
||||
}
|
||||
"7"
|
||||
{
|
||||
"HP_counter" "ads_atack2_hp"
|
||||
"CustomText" "ADS(Left)"
|
||||
}
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "ADS_HP"
|
||||
"CustomText" "ADS"
|
||||
}
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
"math_counter"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"HP_Group"
|
||||
{
|
||||
"0" "bahamut_hp_100"
|
||||
"1" "bahamut_hp_75"
|
||||
"2" "bahamut_hp_50"
|
||||
"3" "bahamut_hp_25"
|
||||
}
|
||||
"CustomText" "Bahamut"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"HP_counter" "nael_hp"
|
||||
"CustomText" "Nael Van Darnus"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"HP_counter" "ads_atack1_hp"
|
||||
"CustomText" "ADS(Right)"
|
||||
}
|
||||
"7"
|
||||
{
|
||||
"HP_counter" "ads_atack2_hp"
|
||||
"CustomText" "ADS(Left)"
|
||||
}
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "ADS_HP"
|
||||
"CustomText" "ADS"
|
||||
}
|
||||
}
|
63
BossHP/configs/MapBossHP/ze_ffxiv_wanderers_palace_v4_10.txt
Normal file
63
BossHP/configs/MapBossHP/ze_ffxiv_wanderers_palace_v4_10.txt
Normal file
@ -0,0 +1,63 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"CustomText" "Bahamut(true)"
|
||||
"HP_Group"
|
||||
{
|
||||
"0" "true_bahamut_hp_100"
|
||||
"1" "true_bahamut_hp_75"
|
||||
"2" "true_bahamut_hp_50"
|
||||
"3" "true_bahamut_hp_25"
|
||||
}
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"CustomText" "Bahamut"
|
||||
"HP_Group"
|
||||
{
|
||||
"0" "bahamut_hp_100"
|
||||
"1" "bahamut_hp_75"
|
||||
"2" "bahamut_hp_50"
|
||||
"3" "bahamut_hp_25"
|
||||
}
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"CustomText" "Dalamud"
|
||||
"HP_Group"
|
||||
{
|
||||
"0" "dalamud_hp_100"
|
||||
"1" "dalamud_hp_50"
|
||||
}
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"CustomText" "Behemoth"
|
||||
"HP_Group"
|
||||
{
|
||||
"0" "behemoth_king_hp3_counter"
|
||||
"1" "behemoth_king_hp2_counter"
|
||||
"2" "behemoth_king_hp1_counter"
|
||||
}
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"HP_counter" "ads_hp"
|
||||
"CustomText" "ADS"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"HP_counter" "ads_atack2_hp"
|
||||
"CustomText" "ADS(Left)"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"HP_counter" "ads_atack1_hp"
|
||||
"CustomText" "ADS(Right)"
|
||||
}
|
||||
"7"
|
||||
{
|
||||
"HP_counter" "lv3_nael_hp"
|
||||
}
|
||||
}
|
@ -0,0 +1,63 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"CustomText" "Bahamut(true)"
|
||||
"HP_Group"
|
||||
{
|
||||
"0" "true_bahamut_hp_100"
|
||||
"1" "true_bahamut_hp_75"
|
||||
"2" "true_bahamut_hp_50"
|
||||
"3" "true_bahamut_hp_25"
|
||||
}
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"CustomText" "Bahamut"
|
||||
"HP_Group"
|
||||
{
|
||||
"0" "bahamut_hp_100"
|
||||
"1" "bahamut_hp_75"
|
||||
"2" "bahamut_hp_50"
|
||||
"3" "bahamut_hp_25"
|
||||
}
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"CustomText" "Dalamud"
|
||||
"HP_Group"
|
||||
{
|
||||
"0" "dalamud_hp_100"
|
||||
"1" "dalamud_hp_50"
|
||||
}
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"CustomText" "Behemoth"
|
||||
"HP_Group"
|
||||
{
|
||||
"0" "behemoth_king_hp3_counter"
|
||||
"1" "behemoth_king_hp2_counter"
|
||||
"2" "behemoth_king_hp1_counter"
|
||||
}
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"HP_counter" "ads_hp"
|
||||
"CustomText" "ADS"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"HP_counter" "ads_atack2_hp"
|
||||
"CustomText" "ADS(Left)"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"HP_counter" "ads_atack1_hp"
|
||||
"CustomText" "ADS(Right)"
|
||||
}
|
||||
"7"
|
||||
{
|
||||
"HP_counter" "lv3_nael_hp"
|
||||
}
|
||||
}
|
75
BossHP/configs/MapBossHP/ze_ffxiv_wanderers_palace_v5.txt
Normal file
75
BossHP/configs/MapBossHP/ze_ffxiv_wanderers_palace_v5.txt
Normal file
@ -0,0 +1,75 @@
|
||||
"math_counter"
|
||||
{
|
||||
"0"
|
||||
{
|
||||
"HP_counter" "Behemoth_HP_Counter"
|
||||
"HPinit_counter" "Behemoth_HP_Initial"
|
||||
"HPbar_counter" "Behemoth_HP_Breakable_Counter"
|
||||
"HPbar_min" "0"
|
||||
"HPbar_max" "4"
|
||||
"HPbar_default" "0"
|
||||
"HPbar_mode" "2" // 1=降序 =2升序
|
||||
"CustomText" "Behemoth"
|
||||
}
|
||||
"1"
|
||||
{
|
||||
"HP_counter" "Garland_HP_Counter"
|
||||
"CustomText" "Garland"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"HP_counter" "KOH_HP_Counter"
|
||||
"CustomText" "KOH"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "Sanctuary_Keeper_HP_Counter"
|
||||
"CustomText" "Sanctuary"
|
||||
}
|
||||
|
||||
"4"
|
||||
{
|
||||
"HP_counter" "Odin_HP_Counter"
|
||||
"CustomText" "Odin"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"HP_counter" "Seymour_Natus_HP_Counter"
|
||||
"CustomText" "Seymour"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"HP_counter" "Seymour_Natus_Break_HP_Counter"
|
||||
"CustomText" "Break Attack"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"HP_counter" "Garuda_HP_Counter"
|
||||
"CustomText" "Garuda"
|
||||
}
|
||||
"7"
|
||||
{
|
||||
"HP_counter" "Serpent_HP_Counter"
|
||||
"CustomText" "Serpent"
|
||||
}
|
||||
"8"
|
||||
{
|
||||
"HP_counter" "Iron_Giant_HP_Counter"
|
||||
"CustomText" "Iron Giant"
|
||||
}
|
||||
"9"
|
||||
{
|
||||
"HP_counter" "Alteci_HP_Counter"
|
||||
"CustomText" "Alteci"
|
||||
}
|
||||
"10"
|
||||
{
|
||||
"HP_counter" "Knight_HP_Counter"
|
||||
"CustomText" "Knight"
|
||||
}
|
||||
"11"
|
||||
{
|
||||
"HP_counter" "Adrammelech_HP_Counter"
|
||||
"CustomText" "Adrammelech"
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user