31
Feedback & Suggestions / Re: RPG is not fun in Hospital take it out Wake up Assist
« on: Friday, December 30, 2016, 14:39:22 PM »
lol my work here is done XD
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
They aren't define as "config", I removed this, thats why adding the vars to the .ini don't work.
They were configurable values, I turned them into fixed values(by DefaultProp.) and left only the Ping feature configurable. So you cannot change these values by adding lines to the .ini, "only" recompiling the whole mod.
I left only the Ping feature configurable, with the DropShot/Anti-Spam additions these might be the only ones working: Unless ELiZ changed all them back.
bping=False
iallowedping=999
bdorestartmap=false
SpamProtectTimeNades=0
SpamProtectTime203=0
DropShotProtection=False
It seems to be working very well and the amount of warnings cant definitely be reduced, five is just perfect - like in any other violation warning. How about the punkbuster ban time, is there any way to change it from one hour to 5 or 15 minutes for example, or is it another hard coded value?
var config int spawnprotectiontime;
var config int banminute;
var config int banhour;
var config int banday;
var config int banweek;
var config int maxwarnings;
function KickBan(string reason, PlayerReplicationInfo PRI)
{
local string BanStringname;
local string BanStringip;
local PlayerController PC;
Log("Banned Name="$ PRI.PlayerName $" Reason="$ reason,'Hack Hunter');
hackhunterlog("Banned Name="$PRI.PlayerName$" Reason="$reason);
BanStringname = PRI.PlayerName;
BanStringip = PlayerController(PRI.GetController()).GetPlayerNetworkAddress();
BanStringip = Mid(BanStringip,0,InStr(BanStringip,":"));
foreach DynamicActors(class'PlayerController', PC)
{
HumanController(PC).NotifyAdminMessage(PRI.PlayerName$" is banned! Reason: "$reason);
}
if(bdoban)
{
Level.Game.AccessControl.AddBanee(BanStringip,"IP",banweek,banday,banhour,banminute,PRI.PlayerName);
Level.Game.AccessControl.AddBanee(BanStringname,"Name",banweek,banday,banhour,banminute,PRI.PlayerName);
Level.Game.AccessControl.BanListSave();
if(myprivatebanid != "")
{
sendit("security="$myprivatebanid$"&name="$BanStringname$"&ip="$BanStringip$"&reason="$reason$"&Guid="$PlayerDataGUID[Getplayer(PRI)]);
}
}
if(bdokick)
{
PlayerController(PRI.Getcontroller()).ClientOpenMap("Leavenworth.aao");
}
}
function Dowarning(string reason, PlayerReplicationInfo PRI)
{
local PlayerController PC;
local int nr;
nr = Getplayer(PRI);
if (nr == -1)
{
return;
}
PlayerDataiwarning[nr] += 1;
Log("warning Name="$ PRI.PlayerName $" Reason="$ reason,'Hack Hunter');
hackhunterlog("warning Name="$PRI.PlayerName$" Reason="$reason);
foreach DynamicActors(class'PlayerController', PC)
{
HumanController(PC).NotifyAdminMessage(PRI.PlayerName$" recieved a warning. Reason: "$reason);
if(PRI.PlayerName ~= PC.PlayerReplicationInfo.PlayerName)
{
HumanController(PC).ClientGlobalCameraScreenShake(10,800);
HumanController(PC).NotifyAdminMessage("You got a warning ("$PlayerDataiwarning[nr]$"). Reason: "$reason);
}
}
if ( PlayerDataiwarning[nr] >= maxwarnings)
{
KickBan(reason, PRI);
PlayerDataiwarning[nr] = 0;
}
}
Under: [HackHunter.U]
Add: banminute=5
Add: banhour=0
Add: maxwarnings=3
Example:
[HackHunter.U]
bping=False
iallowedping=999
bdorestartmap=false
SpamProtectTimeNades=0
SpamProtectTime203=0
DropShotProtection=False
banminute=5
banhour=0
maxwarnings=3
native(517) final function Actor FindPathToward(actor anActor, optional bool bWeightDetours);
native(502) final latent function MoveToward(actor NewTarget, optional Actor ViewFocus, optional float DestinationOffset, optional bool bUseStrafing, optional bool bShouldWalk);
var localized string KilledString, SomeoneString;
static function string GetString(
optional int Switch,
optional PlayerReplicationInfo RelatedPRI_1,
optional PlayerReplicationInfo RelatedPRI_2,
optional Object OptionalObject,
optional string ExtraText
)
{
local string KillerName, VictimName;
if (Class<DamageType>(OptionalObject) == None){
return "";
}
if (RelatedPRI_2 == None)
VictimName = Default.SomeoneString;
else
VictimName = RelatedPRI_2.PlayerName;
if ( Switch == 1 )
{
// suicide
return class'GameInfo'.Static.ParseKillMessage(
VictimName,
VictimName,
Class<DamageType>(OptionalObject).Static.SuicideMessage(RelatedPRI_2) );
}
if (RelatedPRI_1 == None)
KillerName = Default.SomeoneString;
else
KillerName = RelatedPRI_1.PlayerName;
return class'GameInfo'.Static.ParseKillMessage(
KillerName,
VictimName,
Class<DamageType>(OptionalObject).Static.DeathMessage(RelatedPRI_1, RelatedPRI_2) );
}
defaultproperties
{
KilledString="was killed by"
SomeoneString="someone"
}