Official Soldat Forums

Server Talk => Scripting Releases => Topic started by: Mighty on July 10, 2010, 01:49:09 am

Title: [GameMod] CatchMe 2.5.3 --> NextGen H'n'S!
Post by: Mighty on July 10, 2010, 01:49:09 am
Name: CatchMe

Pack Includes: MapVoter 1.0, CatchMe 2.5.3, RateGame (unreleased yet)

Author: Mighty (http://soldatcentral.com/index.php?page=profile&u=406)
Script version: 2.5.3
Server version: 2.6.5
Release Date: 10th of July 2010
Last Update: 21st of January 2011
Compile Test: Tested online, works
Status: Not hosted! (possibly going to be soon)
Requirements:
Gameplay:
All players start the round in blue team, except one, landing in Alpha.
Only Alpha can use knives. The objective is to catch all blue.
So the gameplay is similar to H'n'S, with one major difference:
Caught players move to Alpha, not to spec, which makes the game much, much faster.

Events:
.

 Commands   : !vote                         : vote for nextmap
               !logged                       : shows the list of logged players
               /pred                         : changes 60 Knives Eaten for Pred
               /dis                          : changes 30 KE for Disarm Red
               /nova                         : changes 70 KE for Nova launch
               /help                         : Show help
               /bonus                        : Show info about bonuses
               /rate <1-10> <why>            : Let owner know if you like the server and why

 Account Cmds /stats   !stats               : shows your stats
               /create <pass>                : creates a new account
               /login <pass>                 : login to existing account
               /delete <pass>                : delete your account
               /changenick <pass> <newnick>  : change nickname
               /changepass <pass> <newpass>  : change password
               /logout                       : logs you out
               /autologin 1/0                : Autologin on join On/Off
               /account                      : Shows info about your account

 Admin Cmds : /setroundtime x          : sets next round time (temporary)
               /setcountdown x          : sets break between rounds (Minimum 3) (temporary)
               /start                   : Forces a round start
               /gimme X                 : Gives X Knives Eaten to the admin
               /show                    : Enables/disables showing WriteLn info about game
               /catchme                 : Enables/disables whole script (AutoOnOff automatically turns off)
               /autoonoff               : Auto Enable/Disable script On/Off



Notes:
.

Installation:
Simply unpack .zip file and unpack it into root soldat server. Optionally download mappack (http://www.mediafire.com/?0uu4a5geczyae3d) and modify maplist (http://forums.soldat.pl/index.php?action=dlattach;topic=38567.0;attach=26080).
.

---
Script Download Below (previous versions attached on the bottom of post)
(http://img4.imageshack.us/img4/4158/downloadiz.gif) (http://forums.soldat.pl/index.php?action=dlattach;topic=38567.0;attach=26725)
---
CatchMe Mappack Download! (6.25 MB, 18 maps)
---


Changelog 2.5 --> 2.5.3:
.

Changelog 2.4 --> 2.5:
.

Changelog 2.1 --> 2.4:
.

To-do list:
.
Thanks to:
   Dual (CurryWurst) for MySSQL script
   OuR for great support with maps and server
   Trefluu for making me re-write it :P


Code: {snippets}
Code: [Select]
(...)
procedure OnPlayerKill(Killer, Victim: byte; Weapon: string);
begin
if ScriptEnabled then
begin

if Logged[Killer] then IncCaught(Killer);

Killed[Killer] := Killed[Killer] +1;
if (Killed[Killer] = iniEventBK) AND (iniEventB) then GiveBerserker(Killer);

if not(Seeker[Victim]) then
begin
Seeker[Victim] := TRUE;
Command('/setteam1 ' + inttostr(Victim));
WriteConsole(0,IdToName(Victim) + ' was caught!    Blue left: ' + inttostr(BravoPlayers),Color);
end;

if (BravoPlayers = 0) AND (not(Block)) then
begin
if ShowMsgs then WriteLn('    * [CatchMe] *   ~ Last Blue ('+IdToName(Victim)+') got caught by '+IdToName(Killer));

Block := TRUE;
TCountD := SCountD;
ScoreA := ScoreA + 1;

Seek_next := Victim;

if Logged[Victim] then IncLastStanding(Victim);

WriteConsole(0,'Round finished!  Last Blue was ' + IdToName(Victim),Violet);

if (iniEventV) then
if ((BravoPlayers + AlphaPlayers) >= iniEventVP) then
begin
Vest_next := Killer;
WriteConsole(0,IdToName(Killer) + ' killed last Blue! He gets Vest next round!',Violet);
end
else WriteConsole(Killer,'Sorry, there must be '+inttostr(iniEventVP)+'+ players so you could get vest for killing last blue',Violet);

if (ScoreA = ScoreLimit - 2) then
WriteConsole(0,' *** ALERT ***   1 More Round Won For RED And They Win A Map!',Red)
else if (ScoreA = ScoreLimit - 1) then
begin
TCountD := 16;
TRound := 20;
for i:=1 to 1 do WriteConsole(0,' ',Red);
WriteConsole(0,' RED TEAM',Red);
WriteConsole(0,'   WINS',Red);
WriteConsole(0,' ',Red);
if ShowMsgs then WriteLn('    * [CatchMe] *   Red Team Wins!');
Command('/nextmap');
end;
end;
end;
end;
(...)

Questions? Bugs? Report please --> macekmil@gmail.com
Title: Re: [GameMod] CatchMe 2.1.0
Post by: Swompie on July 10, 2010, 04:58:01 am
I've seen the server yesterday ;p
Sounds funny, hopefully it gets a few people which will play there  ;)
Title: Re: [GameMod] CatchMe 2.4.0
Post by: Mighty on October 05, 2010, 11:37:00 am
Changelog 2.1 --> 2.4:
Title: Re: [GameMod] CatchMe 2.4.0
Post by: PKS|Shooter on October 06, 2010, 11:21:31 am
what server settings i need?

btw: maplist attached
Title: Re: [GameMod] CatchMe 2.4.0
Post by: Mighty on October 06, 2010, 12:24:42 pm
CTF Mode
Any Resp
Any TimeLimit
Score Limit 5-8 IMHO (it will change map 1 cap before limit)
No nades
Would be best if no weapons were allowed, except for knives
No bonus would be nice

Folder "tables" must be created in root soldatserver folder

That's all that comes to my mind
Title: Re: [GameMod] CatchMe 2.4.0
Post by: PKS|Shooter on October 06, 2010, 01:39:01 pm
thanks dude this game mode is very nice i installed it on my server but i get some errors :<

im using debian lenny

Quote
  • Exception raised on call to AppOnIdle (Access violation at address 080F5A3F, accessing address 00000004)
  • Exception raised on call to AppOnIdle (Access violation at address 080F5A3F, accessing address 00000004)
  • Exception raised on call to AppOnIdle (Access violation at address 080F5A3F, accessing address 00000004)
  • Exception raised on call to AppOnIdle (Access violation at address 080F5A3F, accessing address 00000004)
  • Exception raised on call to OnPlayerDamage (Access violation at address 080F5A3F, accessing address 00000004)
  • Exception raised on call to AppOnIdle (Access violation at address 080F5A3F, accessing address 00000004)
  • Exception raised on call to AppOnIdle (Access violation at address 080F5A3F, accessing address 00000004)
  • Exception raised on call to AppOnIdle (Access violation at address 080F5A3F, accessing address 00000004)
  • Exception raised on call to AppOnIdle (Access violation at address 080F5A3F, accessing address 00000004)
  • Exception raised on call to AppOnIdle (Access violation at address 080F5A3F, accessing address 00000004)
  • Exception raised on call to AppOnIdle (Access violation at address 080F5A3F, accessing address 00000004)
  • Exception raised on call to AppOnIdle (Access violation at address 080F5A3F, accessing address 00000004)
  • Exception raised on call to OnWeaponChange (Access violation at address 080F5A3F, accessing address 00000004)
  • Exception raised on call to OnWeaponChange (Access violation at address 080F5A3F, accessing address 00000004)
  • Exception raised on call to AppOnIdle (Access violation at address 080F5A3F, accessing address 00000004)
  • Exception raised on call to OnWeaponChange (Access violation at address 080F5A3F, accessing address 00000004)
  • Exception raised on call to OnPlayerDamage (Access violation at address 080F5A3F, accessing address 00000004)
  • Exception raised on call to AppOnIdle (Access violation at address 080F5A3F, accessing address 00000004)
  • Exception raised on call to OnPlayerCommand (Access violation at address 080F5A3F, accessing address 00000004)
Title: Re: [GameMod] CatchMe 2.4.0
Post by: Mighty on October 06, 2010, 03:22:01 pm
u know, i have no idea what could cause that and in few following days i wont have time to check it out... Ill try to fix it later.
another recompile doesnt help? i got same errors few times but still another recompile helped.
Title: Re: [GameMod] CatchMe 2.4.0
Post by: Falcon` on October 07, 2010, 09:27:43 am
Get rid of as many GetPlayerStats as you can. Then errors will disappear or at least come less often
Title: Re: [GameMod] CatchMe 2.4.0
Post by: DarkCrusade on October 07, 2010, 09:50:25 am
You can hide these messages by using try/except blocks in all functions. As long as the server doesn't crash it's fine..
Title: Re: [GameMod] CatchMe 2.4.0
Post by: Mighty on October 07, 2010, 02:14:48 pm
@Falcon: gonna try, thanks for advice. Didnt know many GetPlayerStats fan cause errors :o

@DarkCrusade: thats what i wanted to do if i fail with fixing. And i got some strange system errors with that script, im gonna investigate it in following days
Title: Re: [GameMod] CatchMe 2.4.0
Post by: Falcon` on October 08, 2010, 09:41:41 am
i really doubt if try... except block will hide access violations
Title: Re: [GameMod] CatchMe 2.4.0
Post by: Mighty on October 08, 2010, 09:47:01 am

Quote
  • Exception raised on call to OnPlayerDamage (Access violation at address 080F5A3F, accessing address 00000004)
This is something that is kinda strange for me... Nothing that could cause it in OnPlayerDmg...

Code: [Select]
function OnPlayerDamage(Victim, Shooter: byte; Damage: integer): integer;
begin
if Seeker[Victim] then result := 0
else result := Damage;
end;
Title: Re: [GameMod] CatchMe 2.4.0
Post by: Falcon` on October 08, 2010, 11:50:29 am
when server become unstable once in any event, it becomes unstable in all of them. Sometimes including unused ones lol
Title: Re: [GameMod] CatchMe 2.4.0
Post by: dnmr on October 08, 2010, 01:32:22 pm
when server become unstable once in any event, it becomes unstable in all of them. Sometimes including unused ones lol
seconded
Title: Re: [GameMod] CatchMe 2.4.0 --> NextGen H'n'S!
Post by: PKS|Shooter on October 12, 2010, 02:38:24 pm
hey dude your script is pushing my root server to 100 % CPU usage :x thats not cool something goes wrong
Title: Re: [GameMod] CatchMe 2.5.0 --> NextGen H'n'S!
Post by: Mighty on October 15, 2010, 12:19:54 pm
You know, in my opinion you should just recompile few times. As i tested, all functions work fine. But about 1 in 20 recompiles caused crashes and errors. Recompiling it twice more helped, i could play again. Genrally - simply recompile till you see no errors.

About CPU usage... that's strange, no such thing on my server.

UPDATE 2.4 --> 2.5
    *   Added CatchMe.ini file, so it's easier to modify server
    *   Added /show command for admins
    *   Now command !stats Mighty will show accounts statistics even when Mighty is not online
    *   Modified IncLastStanding function a bit
Title: Re: [GameMod] CatchMe 2.5.0 --> NextGen H'n'S!
Post by: Timer on January 10, 2011, 09:18:38 am
Hey cool idea and funny thing is I created this exact same gamemode which I ran on an esence server for a few months over a year ago. I called it Elite Zombie PVP and it was played for a little while but never caught on. GL with yours.

PS. I used same exact of player transfers onto alpha aka seeker/catcher team but with saws

Modeled it after the halo 2 online gamemode of Zombies
Title: Re: [GameMod] CatchMe 2.5.0 --> NextGen H'n'S!
Post by: Mighty on January 11, 2011, 02:26:37 pm
yeah, thanks. Actually found interested hoster, so I'm gonna fix the bugs I didn't see before.

So I'd mark it *Under Construction* for now. Check the lobby soon if you want :)
Title: Re: [GameMod] CatchMe 2.5.0 --> NextGen H'n'S!
Post by: OuR on January 15, 2011, 01:10:07 pm
It's nice that someone is interested of that mode :)
I'll make some server for CatchMod soon. I can help with some things too.
Just PM me  :D
Title: Re: [GameMod] CatchMe 2.5.3 --> NextGen H'n'S!
Post by: Mighty on January 21, 2011, 04:11:08 pm
Finally some update!

Changelog and stuff in 1st post (http://forums.soldat.pl/index.php?topic=38567.msg471669#msg471669).