Author Topic: Advanced CTF (Current version: 0.6)  (Read 4999 times)

0 Members and 1 Guest are viewing this topic.

DarkCrusade

  • Guest
Advanced CTF (Current version: 0.6)
« on: May 09, 2013, 03:17:24 pm »
Test server:

Server Name Zabijaka.pl [CTF]ADV
Server IP 79.133.192.44:23036
Current script version: 0.6

Hey guys,

If I ever learned anything from all these years that I have been playing Soldat, it is that someone can have a great idea for a scripted server with tremendous features, but most players just want to dive into a game of CTF or DM without reading pages of instructions on how to get started. Thus, the goal was to find something unique but not too difficult for the normal Soldat player, without accounts, commands to activate stuff or RPG features, and I came up with Advanced CTF.

So what is it all about?

In Advanced CTF, players can just join a team and start playing a quite normal game of CTF. The difference to a normal match is that the player is rewarded for killing enemies, killing sprees and scoring for their team. They receive additional health for every kill which shields them from damage, and an even bigger amount is granted for scoring - even increasing the entire team's health by a percentage of the received amount. For every additional kill in a multi kill, the player's reward is increased further. If he achieves a triple kill, he is rewarded with a 30 seconds health regeneration. The same is applied to anyone with a killing spree of 5 or above (until he dies).

However, every player will lose 40% of their bonus health (that means every point above 150) upon death. This is meant to decrease the motivation of spawning and rather go for the flag which is far more rewarding, for scoring gives the player a bonus depending on his weapon of choice and the times he already scored. The killer will receive 20% of the health the victim lost (which is 8% of the victim's bonus health before dying) to make big gaps more even. A player with 200 health will only give 12 health, while a player with 500 health will give 48 health.

The minimum amount of health (the one a player cannot drop below) can be altered by a few skills, though. And that brings us to the..

Fancy bonuses:

Depending on the primary weapon the player weilds, he is granted a bonus for scoring or killing 10 enemies. The bonus is chosen randomly from the list below:

Code: [Select]
+ Heavy Weapons: (M79, Barret, Minimi, LAW, Minigun)                       
 - Mine Madness                                               
 - Revive of the Phoenix                                           
 - Automatic Sentry Turret   
 - Warstandard                                       
+ Autos / Semiautos (e.g. Deagles, HK, Spas..)                   
 - Nuclear belt                                     
 - Team Supplies                                         
 - DNA Boost
 - Poison Bullets
+ Bare Hands & Knife
 - Knife Flurry
+ Chainsaw           
 - Stoneskin                       
+ HP Regeneration granted when                         
 - While killing spree is 5 or higher                   
 - For a triple kill (30 seconds)     

You can find the effects of every bonus below:

Code: [Select]
INFO ON STONESKIN
Cold stone embraces your mortal body
to shield you from damage, a.k.a. you
receive a free vest upon respawn.

INFO ON WARSTANDARD
This bonus will give you and allies
around you a decrease in damage input
and a small health regeneration as
long as you are alive.

INFO ON POISON BULLETS             
Every hit will poison the victim with
a chance of 33%. It will damage your
victim over time until it runs out.
The poison can stack! 

INFO ON MINE       
This bonus will lay an explosive on your flags spawn
which will automatically explode upon enemy contact. 

INFO ON REVIVE     
Revive will put you back to life like a phoenix when 
your enemy already thought the fight is over. You are
healed to full life and get a reload and a vest.

INFO ON TURRET     
An automatic sentry turret will be placed on your flag
spot which will automatically focus enemies close by 
and diminish their health. Has 30 rounds.         

INFO ON NUCLEAR BELT                               
A nuclear belt will be attached to your body, which is
going to put a smile on your face once you erupt in a
a glaring ball of fire. It has a chance of 33% to blow
its load, but stays until the match ends.

INFO ON SUPPLIES   
Supplies will put your team ahead of the enemies by
healing everyone back to full life, giving them a box
of grenades, reload their guns and increase both
their maximum and minimum health by 25.                           

INFO ON DNA BOOST 
DNA Boost is nothing for light hearts
as you get an injection of adrenaline
that will increase your HP by 150 and
increase your damage output by 10%. 

INFO ON REGENERATION                               
Regeneration is granted for triple kills and as long 
as your killing streak is 5 or higher. It will heal
you by 7.5 of your missing health every second, and by
15 if it is below 33%.                           

INFO ON KNIFE FLURRY                               
Knife Flurry will give you an infinite supply of   
knives that you are free to throw at enemies for 30s.
If you kill 5 enemies during that time, you are given
a predator kit to stalk your enemies around the map. 

Server commands:

Code: [Select]
!help                     : Displays crucial information on the gamemode.
!bonus                   : Displays a list of bonuses for scoring.
!binfo <bonusname> : Detailed information on the bonus
!commands             : Displays this help file.
!credits                  : Display script credits and contact.
!kd                        : Displays your kill/death ratio.
!toggle                   : Toggle HUD on/off


The script can run both in normal CTF and realistic CTF. I will hand the script to anyone who wants to host it as long as they promise not to give it to any third person, but I will not make it public until I think it is time for it, so be patient or ask me really nicely to show you my code ;)

Please note that the script will limit M79 and M72 to 1 per team for the sake of not turning every bigger match into a spray-fest of insta-killing tubers. The script is giving newly joined players a chance by taking the average of all player's maximum health and giving these players a slightly reduced amount of the average bonus health (currently 33%; average of 360hp -> the player starts with 220hp (360-(150*0.33))).

Code: [Select]
--- Changelog 0.5 -> 0.6
- Added    - New skill : "Poison Bullets"
- Added    - New skill : "Warstandard"
- Added    - New skill : "Stoneskin"
- Added    - Minimum health stat. Maximum health cannot drop below this amount.
- Added    - Support for realistic mode.
- Modified - Bonuses are now randomly chosen.
- Modified - Nuclear belt attached till match ends. 33% chance of blowing up.
- Modified - DNA Boost will last until the match ends. Also gives +75 minimum health.
- Modified - Supplies will also give +25 to minimum health.
- Modified - Revive is more reliable and will also give a vest.
- Modified - Revive can now trigger Nuclear Belt.
- Modified - FN Minimi now counts as a heavy weapon.
- Fixed     - Recompiling kills server
- Fixed     - M79 and LAW limitation (now limited to 1 per team)

Code: [Select]
---Changelog 0.4 -> 0.5
- Added  - HP balance system; Killer gets 20% of lost HP of victims; Newly joined players get HP depending on the average on the server
- Added  - M79 and M72 limited to 1 per team
- Added  - Added admin commands
- Fixed   - Turret appearance and balance
- Fixed   - Turret will be transferred to new team if balanced
- Fixed   - HUD displaying buffs wrongly
- Fixed   - Buffs end now once you join spectators
- Fixed   - Mines blowing up allies if their ID is equal to the number of their team
- Fixed   - Knife Flurry will now grant a predator box after 5 kills
- Nerfed  - HP regeneration uses 150 as a fixed value instead of player's maximum HP
- Nerfed  - Only one nuclear belt rewarded; nuclear belt's bullets slowed down

Code: [Select]
--- Changelog 0.1 -> 0.4
+ New: You get one bonus for every 10 kills now.
+ Fixed: Mines spawning now in the right places
+ Fixed: Automatic turret's damage and speed is fixed. Spawning in the right place now
+ Fixed: Nuclear belt now will blow up the wearer, not the killer.
+ Fixed: Text files will be displayed correctly now.
+ Tweaked: HP regeneration is weaker now.
+ Tweaked: Nuclear belt buffed. You get 2 now!
+ Tweaked: The HUD will be much more convenient. Turn it on/off by typing !toggle
+ Tweaked: HP will be capped at 500 now.
+ Tweaked: HP gains decreased, and loss upon death increased
« Last Edit: June 01, 2013, 05:13:23 pm by DarkCrusade »

Offline Adam

  • Camper
  • ***
  • Posts: 322
  • When someone you argue with has a good point.
Re: Advanced CTF
« Reply #1 on: May 09, 2013, 04:48:44 pm »
someone already made a script like that....a long time ago anyways i suggest a good na public server which promotes making clans/playing competitively and saved stats like U13 or fracs
« Last Edit: May 09, 2013, 04:52:12 pm by Adam »

Arguing with your girlfriend and you don't get a response for a few minutes

DarkCrusade

  • Guest
Re: Advanced CTF
« Reply #2 on: May 09, 2013, 05:17:17 pm »
If I am ever to host a server, it will be in my home country Germany. Maybe you can give me a link to the script, because I have not heard of that mod before.

Offline homerofgods

  • Soldat Beta Team
  • Rainbow Warrior
  • ******
  • Posts: 2029
  • We can do better!
Re: Advanced CTF
« Reply #3 on: May 10, 2013, 04:34:27 am »
Sounds awsum!
You could get ideas from League of legends - For example you could gain 1 lvl for every 10 kills. 1 lvl would make you get just a little more hp.
I like the idea of friendly players getting hp when someone on your team kills, just don't let theese features overrun the normal ctf play.
Maybe flagger would get more attack dmg or something..

DarkCrusade

  • Guest
Re: Advanced CTF
« Reply #4 on: May 10, 2013, 05:24:18 am »
That's actually a great idea which could work great! Players would get experience for killing and scoring, and even more for killing sprees. I think I'll drop the idea of just increasing/decreasing health for killing or dying and change it to the LoL-way of playing. Since I will not add accounts to the script, I added a feature that will kind of save your stats when you lose your internet connection or have to download a new map.

Any other cool ideas?

Offline homerofgods

  • Soldat Beta Team
  • Rainbow Warrior
  • ******
  • Posts: 2029
  • We can do better!
Re: Advanced CTF
« Reply #5 on: May 10, 2013, 08:10:26 am »
Perhaps only capping would give friendly players buffs?
How about decreasing accurecy of opponents team for 1 min if firstblood, or something. (though that could lead to disliking the mode,.. well you can spinn something of that idea)
« Last Edit: May 10, 2013, 08:13:02 am by homerofgods »

DarkCrusade

  • Guest
Re: Advanced CTF
« Reply #6 on: May 10, 2013, 04:23:54 pm »
@homer: I don't think that people would like the firstblood idea. Actually, I dropped the experience stuff again after tossing the idea around for some time. It is totally different to my idea of getting instant rewards. Additionally, most matches in League of Legends last 30 to 50 minutes, while most Soldat servers have a 10 minutes countdown until the match ends. I do not want things to get too hectic, so I will not consider it.

After reading your first reply again, I noticed that you probably misunderstood what happens when a player kills an opponent. Only this single player is rewarded with bonus health, not his team. The team only benefits from scoring. When a player caps the enemy flag and returns it to his own, he is granted a bigger boost of health while all of his allies receive half that amount.

Since I do not plan on adding an account system, I invented a slot system where players who leave the server for a brief time do not lose their progress. This is especially useful for situations where a player does not own a custom map or loses his internet connection and loses 300 health, essentially making his team lose.

I am now thinking about critical strike chances and evasion that becomes higher the better your kill/death ratio gets. It would be all the more motivation to stay alive rather than rush into the enemy base to spawn-kill. Right now, I am just tossing ideas and thinking about stuff that could work and see how it works in game. I want players to actually feel that they gradually become stronger, something that's missing right now in my opinion. Maybe I'll have to add special effects after all - e.g. random special skills that work like an one-trick-pony, including mines, stealth on demand, health regeneration and self-detonation upon death. I think I am getting somewhere :)
« Last Edit: May 11, 2013, 05:43:13 pm by DarkCrusade »

Offline homerofgods

  • Soldat Beta Team
  • Rainbow Warrior
  • ******
  • Posts: 2029
  • We can do better!
Re: Advanced CTF
« Reply #7 on: May 11, 2013, 05:14:43 am »
@Adam: I will ignore your comments until you use correct grammar and orthography. I am not talking to infants.

@homer: I don't think that people would like the firstblood idea. Actually, I dropped the experience stuff again after tossing the idea around for some time. It is totally different to my idea of getting instant rewards. Additionally, most matches in League of Legends last 30 to 50 minutes, while most Soldat servers have a 10 minutes countdown until the match ends. I do not want things to get too hectic, so I will not consider it.

After reading your first reply again, I noticed that you probably misunderstood what happens when a player kills an opponent. Only this single player is rewarded with bonus health, not his team. The team only benefits from scoring. When a player caps the enemy flag and returns it to his own, he is granted a bigger boost of health while all of his allies receive half that amount.

Since I do not plan on adding an account system, I invented a slot system where players who leave the server for a brief time do not lose their progress. This is especially useful for situations where a player does not own a custom map or loses his internet connection and loses 300 health, essentially making his team lose.

I am now thinking about critical strike chances and evasion that becomes higher the better your kill/death ratio gets. It would be all the more motivation to stay alive rather than rush into the enemy base to spawn-kill. Right now, I am just tossing ideas and thinking about stuff that could work and see how it works in game. I want players to actually feel that they gradually become stronger, something that's missing right now in my opinion. Maybe I'll have to add special effects after all - e.g. random special skills that work like an one-trick-pony, including mines, stealth on demand, health regeneration and self-detonation upon death. I think I am getting somewhere :)
That sounds good.
Also, if you get doubblekill you should get twice the amount of health for your second kill.

DarkCrusade

  • Guest
Re: Advanced CTF
« Reply #8 on: May 11, 2013, 10:22:27 am »
@homer: Do you know how much time can pass before a consecutive kill is not counted for the double kill? This sounds interesting enough to give it a try.
« Last Edit: May 11, 2013, 05:42:46 pm by DarkCrusade »

Offline Adam

  • Camper
  • ***
  • Posts: 322
  • When someone you argue with has a good point.
Re: Advanced CTF
« Reply #9 on: May 11, 2013, 01:55:58 pm »
[...] there is a server which already has a mod almost identical to this i just haven't looked for it yet cause I almost never go back to public

Edit: removed reply to off topic post
« Last Edit: May 11, 2013, 05:35:36 pm by Shoozza »

Arguing with your girlfriend and you don't get a response for a few minutes

Offline homerofgods

  • Soldat Beta Team
  • Rainbow Warrior
  • ******
  • Posts: 2029
  • We can do better!
Re: Advanced CTF
« Reply #10 on: May 11, 2013, 03:28:55 pm »
@homer: Do you know how much time can pass before a consecutive kill is not counted for the double kill? This sounds interesting enough to give it a try.
No I don't, but maybe someone in #soldat.devs can answer that. I was thinking since you probbably will loose a great deal of hp when engaging two enemies, you should get rewarded accordingly if you manage to survive.

Just be careful so that theese features doesn't end up making the best team more overpowered. In Lol they use a killing bounty (500g) if you kill somone on a killingspree to balance things out

Adam, DarkCrusade's script is not finished so you can't say that it allready exist. If you can't contribute to the discussion or help in any way, just be quiet.

Edit: removed off topic quote
« Last Edit: May 11, 2013, 05:36:41 pm by Shoozza »

Offline Adam

  • Camper
  • ***
  • Posts: 322
  • When someone you argue with has a good point.
Re: Advanced CTF
« Reply #11 on: May 11, 2013, 07:34:51 pm »
@homer: Do you know how much time can pass before a consecutive kill is not counted for the double kill? This sounds interesting enough to give it a try.
No I don't, but maybe someone in #soldat.devs can answer that. I was thinking since you probbably will loose a great deal of hp when engaging two enemies, you should get rewarded accordingly if you manage to survive.

Just be careful so that theese features doesn't end up making the best team more overpowered. In Lol they use a killing bounty (500g) if you kill somone on a killingspree to balance things out

Adam, DarkCrusade's script is not finished so you can't say that it allready exist. If you can't contribute to the discussion or help in any way, just be quiet.

Edit: removed off topic quote
i don't know why my reply was removed and labeled "off-topic" but there was a server that had a script almost identical to this i'm sure of it cause I played there once they even had a login system

Arguing with your girlfriend and you don't get a response for a few minutes

Offline JotEmI

  • Soldier
  • **
  • Posts: 188
Re: Advanced CTF
« Reply #12 on: May 11, 2013, 08:10:03 pm »
@homer: Do you know how much time can pass before a consecutive kill is not counted for the double kill? This sounds interesting enough to give it a try.

I've always used 3s in my scripts and it usually works fine.

Offline Maniek

  • Major(1)
  • Posts: 30
Re: Advanced CTF
« Reply #13 on: May 12, 2013, 05:01:48 am »
What do you think about rewarding players for each diffrent succesful gamestyle? Script would be smart enough to distinguish diffrent merits. For example typical rusher with mp5 or spas for killing and generally good job will get vampirism or maybe even other fancy skills or something like immortality for few seconds after get lethal shot (ofc with cooldown) and in this time he will be able to heal himself only by vampirism from 0 hp. That was simple example. In other case sprayer or camper who plays cautiously will get rewarded by some kind of regen. What do you think?

DarkCrusade

  • Guest
Re: Advanced CTF
« Reply #14 on: May 12, 2013, 05:08:01 am »
Quick update:

I have made the script fully customizable for the server owners. All settings can be changed, including rewards for killing, capping, sprees and all bonuses players/teams get for scoring. I limited the damage M79 and LAW can deal to 250 (before calculations for critical hits or bonus damage for carrying the flag) and am now thinking about using parts of my Weapon Restriction script to limit the actual number of tubes on every team. It is of course only a bonus option and server owners are free to use this feature or not. Players now receive twice the amount of health for a double kill, thrice for a triple kill, and so on. They are also healed for the amount of bonus maximum health they receive to keep them longer in the game. However, it is not enough healing to make spawning easy.

Additionally, I added numerous bonuses which are granted for scoring for your team. They are randomly chosen from a list of 7 possible bonuses, which include:

1: Nuclear belt; upon death, the belt triggers and blows the player up in a big ball of fire, similiar to how /kamikaze worked in other mods. When you know you will die, make.. contact. X belts are added to the arsenal (currently 3).

2: Regeneration; players will recover from severe wounds for x seconds (currently 60s). When they respawn, they are shielded from any incoming damage for y seconds (currently 5s).

3: Flag mined; the ground below the allied flag is mined (currently 2 mines). They blow up on contact with enemies and will tear them apart.

4: Auto-turret; the allied flag is guarded by a sentry-turret that automatically takes enemies into focus. I derivated it from Hacktank's PSG from ZRPG but changed it almost completly to fit the mod. It has a limited amount of ammunition and will only vanish if the player who controls it leaves the server or if it runs out of ammo.

5: Supplies; all your allies receive a bulletproof vest, full health, grenades and reloaded guns.

6: Revive; like a phoenix, you rise from the ashes of your sorry grave to take revenge for all the bullets that are still locked in your body. The twist: you become invincible for x seconds (currently 5s).

7: DNA boost; your entire team's muscles pump up. All allies receive an additional +x maximum health (currently 150) and are healed for the same amount.

EDIT:

@Maniek: That is a possible feature. I can imagine giving players different bonuses for carrying a certain weapon. E.g. something along the lines of Deagles get additional critical chance, MP5 and Spas vampirism, M79 instant cooldown (15% chance) etc.

That's something that needs to be thoroughly planned, because a feature like this is a bitch to balance.

@Homer: The multi-killing reward has made an entrance into the script. I have played League of Legends for two years before I quit a few months ago, and I'll see what kind of features could be nice for script. I'm thinking about lowering the reward for killing players with a smaller health pool and increasing the reward for killing players with a bigger pool of health. That would decrease the chance of one-sided battles and resemble the way League of Legends enables teams who have a big disadvantage to make a comeback nonetheless.

@JotEmI: Thanks! Immediatly added to the script.
« Last Edit: May 12, 2013, 05:19:54 am by DarkCrusade »

Offline Maniek

  • Major(1)
  • Posts: 30
Re: Advanced CTF
« Reply #15 on: May 12, 2013, 06:31:29 am »
Sounds good but don't you think the script should fit to the player? Now it would looks like to radomly reward you for scoring and that's it. But when the script would be able to distinguish your gamestyle it will be able to improve you in this way. For example you are playing like a flag capper with m79, and when you score a flag or a nice killing spree you will get new level of this instant reloading, or next time possibility to make rocket jumping without damage yourself. Also your team gets simple buff like regeneration. This would be hexer without accounts. Players will be able to create thier own builds for diffrent gamestyles again and again.
« Last Edit: May 12, 2013, 06:33:17 am by Maniek »

DarkCrusade

  • Guest
Re: Advanced CTF
« Reply #16 on: May 12, 2013, 06:48:57 am »
@Maniek: You probably are right. I would change the skills to something like this then:

Heavy:Barret/M79/Minigun: Level1: Flagspot mined; Level2: Revive; Level3: Sentry-turret;

Light:Duals/MP5/AK/Steyr/Spas/FN92: Level1: Supplies; Level2: Nuclear Belt; Level3: DNA-Boost;

Regeneration would be an ability granted for completing a killing spree. Whenever a player scores for his team, he advances one level in one of the two categories which are pre-defined by the primary weapon of choice, not taking secondaries into account. This would indeed be a more elaborate way for the skills to work, because I agree with you that there should be a bigger emphasis on the personal playstyle.

Balancing the skills will be hard, though. I'll not be able to work on the script for the next week as I have a week of off-the-job training, but I will continue to work on it as soon as possible to push something out here for people to test. Hopefully, I'll be able to find someone to host a test server where I could have full access to change settings and scripts to find the best setup. I am pretty optimistic that not a month will have passed before I can present a working script to the public! :)




« Last Edit: May 12, 2013, 07:00:05 am by DarkCrusade »

Offline Adam

  • Camper
  • ***
  • Posts: 322
  • When someone you argue with has a good point.
Re: Advanced CTF
« Reply #17 on: May 12, 2013, 08:09:17 am »
Sounds good but don't you think the script should fit to the player? Now it would looks like to radomly reward you for scoring and that's it. But when the script would be able to distinguish your gamestyle it will be able to improve you in this way. For example you are playing like a flag capper with m79, and when you score a flag or a nice killing spree you will get new level of this instant reloading, or next time possibility to make rocket jumping without damage yourself. Also your team gets simple buff like regeneration. This would be hexer without accounts. Players will be able to create thier own builds for diffrent gamestyles again and again.
Yes, that's the server I was talking about with the almost identical script

Arguing with your girlfriend and you don't get a response for a few minutes

DarkCrusade

  • Guest
Re: Advanced CTF
« Reply #18 on: May 12, 2013, 08:36:15 am »
@Adam: I have played Hexer for a very long time, and I can tell you that Hexer is an absolutly different script. You already said that you only played there once, so trust me when I tell you that my script stands no comparison to the Hexer script. It is a magnificent work, and while there are a few similiarities, the overall idea behind the two scripts could not be more different. The only parallel I can think of is that both Hexer and my script use mines (called claymores in Hexer) - which can be found in almost every RPG server, be it Hacktank's ZRPG or the good ol' Zombiesurvival - or make use of health regeneration (called warmth in Hexer), which was not first introduced to Soldat by Hexer as well. Hexer is a RPG gamemode with accounts where you have to play a lot of matches, collect Bountypoints etc. etc.
The gamemode I have in work focusses on fast-paced CTF-matches where a player can simply jump in without having to register anywhere. The player does not have to use a custom taunt-set to use his skills, nor does he need to grind to buy certain items which are vital to his build. Since you have little knowledge of Hexer, I'll stop right here, because I hope I you got the point. Ask any Hexer veteran on this forum if he thinks that these two scripts are identical and they will tell you they are not.

Offline Adam

  • Camper
  • ***
  • Posts: 322
  • When someone you argue with has a good point.
Re: Advanced CTF
« Reply #19 on: May 12, 2013, 08:51:34 am »
it's pretty much the same

Arguing with your girlfriend and you don't get a response for a few minutes

Offline Shoozza

  • Retired Soldat Developer
  • Veteran
  • ******
  • Posts: 1632
  • Soldat's Babysitter
    • Website
Re: Advanced CTF
« Reply #20 on: May 12, 2013, 09:34:46 am »
@DarkCrusade
Actually I don't think you need to care if the script is similar to another one. It looks like Adam won't host any servers with your script so no need to convince him ;)
Also this is getting somewhat repetitive.

I wasn't following the entire thread, but you really have to get the balance right or close to the end of the round some people would be almost invincible ;)

Btw for keeping the players progress I suggest using HWIDs and not only nicknames as that could be abused.
« Last Edit: May 12, 2013, 09:42:17 am by Shoozza »
Rules
Tools: ARSSE - SARS - SRB - chatMod

DarkCrusade

  • Guest
Re: Advanced CTF
« Reply #21 on: May 12, 2013, 09:47:29 am »
@Shoozza: I agree that balancing this mod will be pretty hard; especially, when someone joins in the middle of the match. My ideas for this are that the standard maximum health of players increases over time, which is also the lowest amount of health they can drop to from dying. Additionally, players who are far behind would get a higher boost of health for killing someone with a big health pool, while the other player drops lower than normally. Fortunatly, most of the bonus rewards from scoring help the entire team and do not make one single player invincible, although I can see "Revive" being the best tool for cappers. The only thing I am unhappy about right now is that the auto-turret can only shoot once a second due to threads being too instable.. is there any work-around?

I also agree that there will be abuse wherever possible, so HWIDs truly are the way to go for my slot system.

Offline Shoozza

  • Retired Soldat Developer
  • Veteran
  • ******
  • Posts: 1632
  • Soldat's Babysitter
    • Website
Re: Advanced CTF
« Reply #22 on: May 12, 2013, 10:12:55 am »
The only thing I am unhappy about right now is that the auto-turret can only shoot once a second due to threads being too instable.. is there any work-around?
Not sure if there is a solution (didn't know about this problem before). Maybe Falcon knows more about it.
Rules
Tools: ARSSE - SARS - SRB - chatMod

Offline Leo

  • Soldat Beta Team
  • Veteran
  • ******
  • Posts: 1011
Re: Advanced CTF
« Reply #23 on: May 12, 2013, 03:52:25 pm »
If this works for realistic I shall give it a try if you agree. You can find me at #lrs

Offline Moroes

  • Soldier
  • **
  • Posts: 165
    • Soldat-Game.eu
Re: Advanced CTF
« Reply #24 on: May 12, 2013, 04:22:32 pm »
The only thing I am unhappy about right now is that the auto-turret can only shoot once a second due to threads being too instable.. is there any work-around?

What about app on idle timer?
Maybe I am wrong, I dunno scripting well.

Offline Bonecrusher

  • Global Moderator
  • Veteran
  • *****
  • Posts: 1397
  • High above
    • Zabijaka.pl
Re: Advanced CTF
« Reply #25 on: May 12, 2013, 06:25:28 pm »
Im constantly looking for new server ideas but its worth mentioning that players kind of stepped back from modded servers to vanilla ctf. Let's hope your script will be enough to convince them to atleast give it a try ;p

Im chill like that

DarkCrusade

  • Guest
Re: Advanced CTF
« Reply #26 on: May 14, 2013, 06:26:53 am »
@Moroes: Apponidle is a function that is called once a second. To use threads, I have to use a function called sleep to get the wanted effect. However, using it makes the server crash most of the time, so it was disabled. If it is ever fixed, things like homing missiles will be possible, and my turret could shoot as often as I wanted.

@Bonecrusher/Leo: I'll develop the script until it is ready for the public, which is when I will send both of you a .zip with the script ;)
« Last Edit: May 14, 2013, 06:56:26 am by DarkCrusade »

Offline chutem

  • Veteran
  • *****
  • Posts: 1119
Re: Advanced CTF
« Reply #27 on: May 14, 2013, 07:18:00 am »
What happened to the modified server which you could change the frequency apponidle is called? (it also let you do multicoloured console prints and server messages without *SERVER* iirc, used on this server)
Also there is always having a dummy bot with bullets spawning on him, but that means making separate versions of every map...
« Last Edit: May 14, 2013, 07:20:53 am by chutem »
1NK3FbdNtH6jNH4dc1fzuvd4ruVdMQABvs

Offline Falcon`

  • Flagrunner
  • ****
  • Posts: 792
  • A wanted lagger
Re: Advanced CTF
« Reply #28 on: May 14, 2013, 07:37:49 am »
AppOnIdle frequency can be adjusted by the script using AppOnIdleTimer variable since 2.7.3
If you're not paying for something, you're not the customer; you're the product being sold.
- Andrew Lewis

Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.

Offline Moroes

  • Soldier
  • **
  • Posts: 165
    • Soldat-Game.eu
Re: Advanced CTF
« Reply #29 on: May 14, 2013, 05:17:50 pm »
^ Thats what I was talking about. No threads needed. You can make it faster than just once per second.

DarkCrusade

  • Guest
Re: Advanced CTF
« Reply #30 on: May 17, 2013, 07:22:16 am »
Thanks for the tip, guys. I have not worked with global constants yet. How do I declare them best? Can I just do something like

Code: (pascal) [Select]
const
 apponidletimer=30;
 maxplayers=6;

// Or do I have to do this

procedure activateserver();
begin
 apponidletimer:=30;
 maxplayers:=6;
end;

Offline Falcon`

  • Flagrunner
  • ****
  • Posts: 792
  • A wanted lagger
Re: Advanced CTF
« Reply #31 on: May 17, 2013, 07:57:21 am »
First of all, these are not global constants, but global variables. You can set them anytime during runtime.
Second, they're preset and defined by API, so you don't need to declare them at all. Just set them somewhere, like:
Code: [Select]
procedure ActivateServer();
begin
  AppOnIdleTimer := 30;
end;
If you're not paying for something, you're not the customer; you're the product being sold.
- Andrew Lewis

Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.

Offline JotEmI

  • Soldier
  • **
  • Posts: 188
Re: Advanced CTF
« Reply #32 on: May 17, 2013, 08:15:26 am »
First of all, these are not global constants, but global variables. You can set them anytime during runtime.
Second, they're preset and defined by API, so you don't need to declare them at all. Just set them somewhere, like:
Code: [Select]
procedure ActivateServer();
begin
  AppOnIdleTimer := 30;
end;

Actually, setting AppOnIdleTimer in ActivateServer() sometimes generates "unknown identifier" errors. Try something like this:

Code: [Select]
var
test: boolean;

procedure ActivateServer();
begin
     ...
    test:=true;
end;

procedure AppOnIdle(Ticks: integer)
begin
    if(Ticks mod(60)=0)then
    begin
         if(test) then
         begin
             AppOnIdleTimer:=30;
             test:=false;
         end;
    end;
end;

DarkCrusade

  • Guest
Re: Advanced CTF
« Reply #33 on: May 19, 2013, 07:13:33 am »
I have a problem with the calculation of damage that is dealt to players that I am unable to fix.

The situation:

Player A deals x damage to player B.
Player B's HP are 300. X is substracted.
Player B's real health of course is much lower, so I want to display the health loss as a percentage.
My damage formula to translate from theoretical, scripted health to real health is

Real damage = damage * (theo. hp / theo. maxhp) * (150 / theo. hp);

There is nothign wrong with the formula, but there still seems to be some kind of bug which I cannot find. However, I can start the server normally without it shutting down immediatly.

Important procedures:

OnPlayerDamage() - line 672
CalcDamage() - line 484
RefreshHealthbar() - line 294

Please give me advice in how to deal with such problems as I am inexperienced with debugging, and especially in Pascal. If anyone can track the bug down, he'll appear in the credits if that means anything to you :P
« Last Edit: May 29, 2013, 03:43:04 am by DarkCrusade »

Offline Falcon`

  • Flagrunner
  • ****
  • Posts: 792
  • A wanted lagger
Re: Advanced CTF
« Reply #34 on: May 19, 2013, 07:32:22 am »
This can be shorten to damage = damage * (150/theo.maxhp);
If you're not paying for something, you're not the customer; you're the product being sold.
- Andrew Lewis

Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.

DarkCrusade

  • Guest
Re: Advanced CTF (Updated)
« Reply #35 on: May 29, 2013, 03:42:36 am »
I have completly rewritten the script as I was unhappy with the way everything worked. The script is far more efficient now. It actually dropped from 900 lines to 600, although it has more features now. Read the first post for more detail on the update!

Offline Bonecrusher

  • Global Moderator
  • Veteran
  • *****
  • Posts: 1397
  • High above
    • Zabijaka.pl
Re: Advanced CTF (Updated)
« Reply #36 on: May 29, 2013, 02:00:36 pm »
Server Name Zabijaka.pl [CTF]ADV
Server IP 79.133.192.44:23036

Im chill like that

Offline skrX

  • Soldier
  • **
  • Posts: 112
  • x ye.
Re: Advanced CTF (Updated)
« Reply #37 on: May 30, 2013, 05:38:59 am »
@DarkCrusade: you can add simple ranking system with points + register and log to account. Players like to compete.
« Last Edit: May 30, 2013, 05:43:32 am by skrX »

DarkCrusade

  • Guest
Re: Advanced CTF (Updated)
« Reply #38 on: May 30, 2013, 10:56:06 am »
UPDATE (v0.4):
+ New: You get one bonus for every 10 kills now.
+ Fixed: Mines spawning now in the right places
+ Fixed: Automatic turret's damage and speed is fixed. Spawning in the right place now
+ Fixed: Nuclear belt now will blow up the wearer, not the killer.
+ Fixed: Text files will be displayed correctly now.
+ Tweaked: HP regeneration is weaker now.
+ Tweaked: Nuclear belt buffed. You get 2 now!
+ Tweaked: The HUD will be much more convenient. Turn it on/off by typing !toggle
+ Tweaked: HP will be capped at 500 now.
+ Tweaked: HP gains decreased, and loss upon death increased

The next version will include limitation to M79 and M72 for the sake of not being one-hitted all day long. The server we tested the script on went from full-auto to full-tube in half the blink of an eye. Yes, balance is a bitch. Whoever can give me feedback on the balance or give me new ideas for features is very welcome.

Offline Maniek

  • Major(1)
  • Posts: 30
Re: Advanced CTF (Updated)
« Reply #39 on: May 31, 2013, 02:51:46 am »
I played a little and and what angered me the most is cheaters. I just downloaded soldat started to play and saw some shitty teleports and inf ammo.
About balance well.
Weapons like barrett, mp5, steyr are fine at the begining, but when players reach more hp they become less powerful. Instead of them for example ak and spas gets advantage. And I don't know what can balance it. Also playing with m79, when im scoring I dont fell this whole bonuses. But when I'll pick up this other ones like spas, all bonuses are useful but losing them becouse of dieing is very painful.
« Last Edit: May 31, 2013, 02:54:54 am by Maniek »

Offline Bonecrusher

  • Global Moderator
  • Veteran
  • *****
  • Posts: 1397
  • High above
    • Zabijaka.pl
Re: Advanced CTF (Updated)
« Reply #40 on: May 31, 2013, 04:43:19 am »
Turrets are invisible so my idea is to get rid of them as they create a lot of confusion among players. Also mines shouldnt spawn automatically and spawnkill opponents we should be able to plant a mine wherever we want(except too close to flags) with a /mine command.

Im chill like that

DarkCrusade

  • Guest
Re: Advanced CTF (Updated)
« Reply #41 on: May 31, 2013, 07:14:57 am »
I agree that mines are a bit too strong right now, so I will change it to how you suggested it, like mines are best known, but I will not remove the automatic turrets, as they are only bugged a little, but I got that covered with the next update ;) Turrets will have a visible effect and players will be able to see the bullets. The thing was that the speed should've been around 20-30 and I accidently set it to 200. No wonder it insta-killed anyone coming too near, he? :P
« Last Edit: May 31, 2013, 07:41:01 am by DarkCrusade »

Offline Bonecrusher

  • Global Moderator
  • Veteran
  • *****
  • Posts: 1397
  • High above
    • Zabijaka.pl
Re: Advanced CTF (Updated)
« Reply #42 on: May 31, 2013, 08:06:33 am »
The thing is player are shooting towards turrets believing its actual invisible player

Im chill like that

DarkCrusade

  • Guest
Re: Advanced CTF (Updated)
« Reply #43 on: May 31, 2013, 02:18:22 pm »
New version is out (0.5):

Code: [Select]
Changelog 0.4 -> 0.5
- Added  - HP balance system: killer gets 20% of lost HP of victims; newly joined players get HP depending on the average on the server
- Added  - M79 and M72 limited to 1 per team
- Added  - Added admin commands
- Fixed   - Turret appearance and balance
- Fixed   - Turret will be transferred to new team if balanced
- Fixed   - HUD displaying buffs wrongly
- Fixed   - Buffs end now once you join spectators
- Fixed   - Mines blowing up allies if their ID is equal to the number of their team
- Fixed   - Knife Flurry will now grant a predator box after 5 kills
- Nerfed  - HP regeneration uses 150 as a fixed value instead of player's maximum HP (which can go as far as 500)
- Nerfed  - Only one nuclear belt rewarded; nuclear belt's bullets slowed down

I promised to add a toplist already, but I have to delay it a little to test the script. The development is going really fast, and maybe too fast. Thorough bugtesting will show if the script is ready for more action ;)

Offline Maniek

  • Major(1)
  • Posts: 30
Re: Advanced CTF (Updated)
« Reply #44 on: June 01, 2013, 12:39:51 am »
Playing in this advanced ctf is fun ofc but imo too chaotic. I mean for example I can score 3 times in a row with a little luck and unfortunately die, then all my bonuses are lost, and gaining them again isn't easy. So all I'll have atm and probably for some time is extra health.

My suggestion is make bonuses (levels) lasts to the end of map, some passive ones ofc. I through a little about them and here is my view of this.

-AK/MP5...
1. Nuclear Belt
Like it works now but with 33% chance to trigger upon death.
2. DNA Boost
But a little diffrent; grants 75 hp to the minimal amount, so you can't drop below 225.
3. Morale
All team grants temporary 20 hp more or less, like now with Supplies bonus. Also 3% dmg bonus, and it lasts to the end of map, and also stacks with another ones.

-M79
1. Resistance
Mini DNA Boost, something around 20 extra hp.
2. Self-shield
Something like Mana Shield in the Hexer mod without healing effect, lasts I think maybe 3 seconds. It would be triggered when you are near efc, or when you holding flag and there are some amount of enemies around you, like 2, ofc it would have a long cooldown. Sounds op isn't it? But there is m79 limit per team so I think its isn't that bad idea. And why not actual Revive bonus? When i played its never worked for me, also whole idea with this spell is imo mistaken. Back to the life is imporatant maybe in survival mode, but not in normal.
3. Warstandard
Allies close to their flag are buffed by regeneration.

So this is my huge suggestion, and I know if you'll gonna use it, you will have alot of work, also balance will be screwed up again. So fell free to throw out a half of this, or even all if you don't like it.
« Last Edit: June 01, 2013, 01:23:34 am by Maniek »

DarkCrusade

  • Guest
Re: Advanced CTF (Updated)
« Reply #45 on: June 01, 2013, 05:21:00 am »
Great suggestions :) I am currently trying to find one major bug, and then I will be able to work on the stuff you suggested.

EDIT: I just obliterated the bug that kept me from adding anything to the script with a pleasure beyond compare :) The script is up and running again on the server listed in the first post. Right now, supplies has been changed to poison bullets (damage over time).
« Last Edit: June 01, 2013, 06:15:47 am by DarkCrusade »

Offline Maniek

  • Major(1)
  • Posts: 30
Re: Advanced CTF (Updated)
« Reply #46 on: June 01, 2013, 09:10:00 am »
What about gaining multiple bonuses becouse of playing with diffrent weapons? Mixing them doesn't sounds bad, but it might be problematic. I know almost nothing about scripting; to prevent reward you by wrong bonus maybe script should be able to store information about your weapon kills, and then when you level up, you will be rewarded by bonus what fits to your highest weapon kills value. Ofc if its possible. For example when player kill 2 ppl with spas, and 1 with knife, when he cap his bonus will be I guess belt, and next time he'll gain next bonuses from this "tree".

DarkCrusade

  • Guest
Re: Advanced CTF (0.5 -> 0.6)
« Reply #47 on: June 01, 2013, 05:02:00 pm »
Version 0.6 is now running on the server! Check the first post for the changelog and the updated description.

@Maniek: So you would only receive bonuses from the category that you have the most kills with? So if I kill 5 guys with my knife and only 3 with my Ruger, I will get Knife Flurry? Mmmmmmh, dunno. But I added "Warstandard" and modified "DNA Boost", "Supplies" and "Nuclear Belt" like you suggested ;)
« Last Edit: June 01, 2013, 05:12:19 pm by DarkCrusade »

Offline Maniek

  • Major(1)
  • Posts: 30
Re: Advanced CTF (Current version: 0.6)
« Reply #48 on: June 02, 2013, 05:33:51 am »
I did mistake, I gave a wrong example. My point is some situation like killing ppl with m79, gaining levels, and in the middle of fight changeing weapon to another one like spas, and then mix bonuses. About Knife Flurry, it don't have more levels yet, only one, so when this system would be added, this bonus should be temporary disabled imo, or made additional ones. You could combine knife with saw and last level of this tree (which helps your whole team) may be zombies spawn or something.

But anyway good job.
« Last Edit: June 02, 2013, 05:37:10 am by Maniek »