Official Soldat Forums
Server Talk => Scripting Releases => Topic started 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:
- Folder "tables" must be created in root soldatserver folder (included in archieves with 2.5+ version)
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:
- If you kill last blue, you get Vest in next round (if there are at least X players) (X is set in CatchMe.ini)
- The last blue is Seeker in next round
- Every X kills Killer gets Berserker (if made in 1 round) (X is set in CatchMe.ini)
- Knives collected by Bravo can be spent for Predator, Disarm or Nova
- If Script_Auto_OnOff is enabled, then if X players are playing server enables catchme, else it blocks the script.
.
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:
- Caps don't count since script is enabled
- Dmg is dealt only that way: Shooter -> Victim. It means dead polygons dont work
- The script was completely re-written, now it has no gameplay bugs ;)
.
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)
- File Import (http://www.fileimport.com/lirf4js9suhs/CatchMe_Mappack.rar.html)
- MediaFire (http://www.mediafire.com/?mbgdd8obs12e2rd)
- If all links are dead, please let me know --> macekmil@gmail.com
---
Changelog 2.5 --> 2.5.3:
- Added Auto Script Enable/Disable
- Now all can cap, it just doesn't count
- Added commands: /changenick, /changepass, /account, /bonus, /adminhelp, /autologin
- Added few bug handling stuff, e.g. when the only seeker goes spec
- Fixed /delete
.
Changelog 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
.
Changelog 2.1 --> 2.4:
- Changed number of players needed for Vest Event to be active (4 -> 5)
- Added Nova spell
- Completely changed account system
- Added auto-login, so you don't have to relog every kick
- All the bugs that i knew about are fixed now :)
- Removed /reportbug, /suggest and AccKnives
- Added mappack download links in here
.
To-do list:
- Considering Spell - Multi-Knife
- Rankings
- Still waiting for suggestions!
.
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}
(...)
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
-
I've seen the server yesterday ;p
Sounds funny, hopefully it gets a few people which will play there ;)
-
Changelog 2.1 --> 2.4:
- Changed number of players needed for Vest Event to be active (4 -> 5)
- Added Nova spell
- Completely changed account system
- Added auto-login, so you don't have to relog every kick
- All the bugs that i knew about are fixed now :)
- Removed /reportbug, /suggest and AccKnives
- Added mappack download links in here
-
what server settings i need?
btw: maplist attached
-
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
-
thanks dude this game mode is very nice i installed it on my server but i get some errors :<
im using debian lenny
- 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)
-
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.
-
Get rid of as many GetPlayerStats as you can. Then errors will disappear or at least come less often
-
You can hide these messages by using try/except blocks in all functions. As long as the server doesn't crash it's fine..
-
@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
-
i really doubt if try... except block will hide access violations
-
- 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...
function OnPlayerDamage(Victim, Shooter: byte; Damage: integer): integer;
begin
if Seeker[Victim] then result := 0
else result := Damage;
end;
-
when server become unstable once in any event, it becomes unstable in all of them. Sometimes including unused ones lol
-
when server become unstable once in any event, it becomes unstable in all of them. Sometimes including unused ones lol
seconded
-
hey dude your script is pushing my root server to 100 % CPU usage :x thats not cool something goes wrong
-
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
-
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
-
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 :)
-
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
-
Finally some update!
Changelog and stuff in 1st post (http://forums.soldat.pl/index.php?topic=38567.msg471669#msg471669).