Author Topic: ZRPG Evolved [VERSION 1.9.2] - 9/7/2015  (Read 9193 times)

0 Members and 1 Guest are viewing this topic.

Offline Hacktank

  • Camper
  • ***
  • Posts: 462
  • Soldat Scripter
    • HTZRPG
ZRPG Evolved [VERSION 1.9.2] - 9/7/2015
« on: February 28, 2012, 12:24:45 am »
Hello all, I am finally releasing my ZRPG Evolved script to the general populous!

If any of you remember my server you will know this isn't the most stable script, but it is still awesome. Server owners that wish to run this script fulltime will need to be vigilant. There are automatic recovery techniques implemented, but every once in a while they fail and a manual fix is required. In such an event the account file gets corrupted. A backup is saved every day at midnight(iirc) into the backups folder, to recover a backup you need to shut your server down, delete the accounts.txt, copy the newest good backup from the backup folder to the main script folder and rename it to accounts.txt. This should not happen that often.

Bots are spawned in a very unique way. The maximum number of zombies can be set in the constants at the top of the script file. Every time someone joins the server, levels up, or logs in or out the procedure MaintainBots is called. This procedure calculates what I call a botvalue based upon the number of players total/< avg lvl/> avg lvl, and the average level among all players, those below the global average level, and those above the global average level. This allows for the most balanced and diverse botvalue. This botvalue is then passed down into the wave generator. This wave generator compiles a list of zombie types that should be in the current attack wave. This is done by taking the botvalue and comparing it to the botcost of each type of zombie and choosing the highest cost zombie that can be afforded and repeating the process until there are enough zombies(the aforementioned constant). The normal run-of-the-mill zombie has a botcost of 0 so there will always be at least x many zombies. The botvalues may be edited in the bots.txt. (more on this later)

The skills.txt file contains all of the settings for every skill. The format is as follows:
skillname[level]token=value
possible tokens:
cost........Sp cost to purchase
mcost.......Mana cost to cast
scost.......Soul cost to cast
minlvl......Min lvl to purchase
specint1....Specialty variable
specint2....Specialty variable
specfloat2..Specialty variable
cooldown....Cooldown in seconds

Bot Editing:
To edit the bots you need to understand the line IDs. For some reason I did not make the bot files work in the same manner as the skill file. So an editor must know what data each line contains. This information may be found in the constants of the script, but I will paste them here for convenience:
Bot Files (scripts/zrpgevolved/bots):
These files configure the stats of all zombies and players. These stats include, maximum health, health regen, powerups, forced weapon, death effects, ect. When a new zombie is added it is assigned the data from the corresponding .txt file, all players/bots without a .txt file in the bots folder are assigned Player.txt. Specialized bots may still be add with the /addbot command even if they are not assigned by the botwave system. Such as the Elite Slicer Zombie. He is incredibly strong, I added him as a joke.
max health: 1
health regen: 2
weapon: 3
bonus: 4
damage mult: 5
manaworth: 6
spworth: 7
spchance: 8
minxp: 9
maxxp: 10
botkind*: 11
botwaveammount: 12 (bullets emitted on death)
botwavestl: 13
botwavespeed: 14
soulworth: 15

*botkind is used to indicate special zombie types:
Code: [Select]
normal:
   id:0
   special properties: none
sdmg:
   id:1
   special properties: reflects damage a player inflicts (nonfatal)
mirror:
   id:2
   special properties: reflects actual bullets that hit it directly back at you
kamikaze:
   id:3
   special properties: dies and lets its deathwave bullets fly when it inflicts damage (best used with chainsaw)
copycat:
   id:4
   special properties: respawns with the weapon its killer was wielding

Bot Wave:
You may edit the botcost(loot at previous paragraph) of each bot in a similar way. Look in the bots.txt file in scripts/zrpgevolved/. The lineIDs are as follows. AT LEAST ONE ZOMBIE TYPE HAS TO COST 0 (or negative)!!!!
Code: [Select]
sbcopycat: 1
sbdemon: 2
sbdoppleganger: 3
sbeliteslicerzombie: 4
sbelitezombie: 5
sbghoul: 6
sbgrimreaper: 7
sbkamakazi: 8
sbmirror: 9
sbmummy: 10
sbnitrokamakazi: 11
sbrocketzombie: 12
sbslicerzombie: 13
sbturncoat: 14
sbvortex: 15
sbzombie: 16
sbxpbank: 17

Most of the main messages that are shown to players may be edited in the three .txt files in scripts/zrpgevolved/info/. The skillinfo.txt can be edited, but if done improperly it will not work.


Skills:
There are 29 skills in this script:
Code: [Select]
heal
   effect: heals you
   sf1: sp cost/hitpoint healed (hp increased as you level up)
nade
   effect: gives you a full complement of grenades
cluster
   effect: gives you a full complement of cluster grenades
vanish
   effect: gives you a predator bonus (does not heal you)
turret
   effect: spawns a MG turret on you for %si1% seconds
   si1: # of seconds the turret lasts
wave
   effect: creates a wave of bullets that fly toward the nearest zombie
shield
   effect: gives you a vest powerup
flamer
   effect: gives you a flamer for x seconds
   si1: number of seconds
crit
   effect: causes your bullets to crit for double damage a certain percent of the time
   sf1: the percentage (%50 = 0.5)
fatalhit
   effect: causes your bullets to deal 2000 extra (this number gets multiplied by crits!) a certain percent of the time
   sf1: the percentage (%50 = 0.5)
vampirism
   effect: causes you to absorb a certain amount of the damage you deal as health
   sf1: the percent of absorbed health
lootammo
   effect: causes you to sometimes regain ammo when dealing damage (ammo := round(maxam/5)+random(1,round(maxam/4));)
   sf1: chance of this happening
lootitems
   effect: causes enemies to sometimes drop items (guns/powerups) on death
   sf1: chance of this happening
rage
   effect: activates rage, damage you deal is multiplied by %sf2%, it is not based on a duration, rather it uses mana each hit.
   sf1: damage multiplier
   sf2: mana cost/hit
barret
   effect: gives you a barret
push
   effect: creates a wave of bullets that is _supposed_ to push enemies away, does no damage, doesn't work quite rite
ruger
   effect: gives you a ruger
mine
   effect: places an explosive mine
   si1: number of seconds this mine will persist
   si2: number of mines you can place at once
bulletvortex
   effect: creates a ring of bullets around the nearest enemy that shoot inwards at them
kazi
   effect: creates bullets out of your corpse when you die to possibly kill your assailant
warp
   effect: teleports you in the direction you are moving, finicky
   si1: maximum distance
psg
   effect: places an autofiring cannon on you, has limited ammo, its kills are yours, its aggro is yours
   si1: amount of ammo
   si2: fire range
sonicburst
   effect: launches you into the air while leaving a trail of bullets and explosives (dangerous, be in an open area ;))
soulshield
   effect: makes you immune to ALL damage, EVEN ROCKETS, costs souls to maintain
   sf1: soul cost/damage mitigated
backlash
   effect: gives a chance to mitigate damage and create a small deadly wave of bullets
   sf1: chance of occurrence
reload
   effect: completely reloads your weapon
   sf1: mana cost/bullet
   sf2: soul cost/bullet
missile
   effect creates a homing firemissile that does massive damage, buggy because of dependency on threadfunc
   sf1: acceleration
   sf2: speed at which the missile dodges polygons
fog shield
   effect: gives a small chance to mitigate damage, the percentage goes down each time you successfully mitigate a hit
    sf1: initial chance
    sf2: chance dropped per mitigation
vulture
   effect: gives temporary maximum hit points for each kill you make, reset upon death
   si1: hp/kill

server.ini -> OnScriptCrash should be set to ignore. There is a helper script that goes along with the main zrpg script that will recompile it should it crash.

Maps should generally be made-for-zombie CTF maps. Here is the maplist and mappack from my old server:
Code: [Select]
ctf_Growth
ctf_Metalzombie
ctf_Sandstein_Z
ctf_XomborgUnity
ctf_Xomborgv3
ctf_zombcav2
ctf_zombcavee
ctf_zombgothic2
ctf_zombie
ctf_Zombie3
ctf_zombieattack
ctf_zombiebase
ctf_Zombiehotel
ctf_Zombiehouse3
ctf_zombiemines
ctf_zombiemoai
ctf_zombienomu
ctf_Zombieseed
ctf_ZombieTroy
ctf_zomnom
ctf_zomoria
inf_Berserker
inf_BlockS
inf_Bodyworks
inf_boogiemaze2
inf_Bunker2_Z
inf_Caern_Z
inf_Cain
inf_Cannibal2
inf_cavern
inf_Cavern_Z
inf_cleaver
inf_Descent_Z
inf_Dethroned
inf_dirtdrop
inf_Extraction z
inf_Fear
inf_Feed
inf_Floodgate_Z
inf_forsaken
inf_Fort2_Z
inf_Foundation-f
inf_Glisten
inf_Grassland
inf_Hamburger
inf_hell road
Inf_HigherG
inf_Jarah
inf_JungleC_Z
inf_Maria
inf_Meatball
inf_Mendev_Z_
inf_Mord_z
inf_ms_midba
inf_Mushcavec
inf_Plato
inf_Prey
inf_Sandstein
Inf_ScarTissue
inf_Sewer2_Z
inf_Sewer3_Z
inf_Sewer5_Z
inf_SHe
inf_Snow_Z
inf_Vortex
inf_wc
inf_Wither
inf_Zitrone
inf_Zoai
inf_ZombieCastle
inf_ZombiePower
inf_zomcano
inf_zomcastle3
inf_zomspace1
inf_Zonka
inf_ZSFungcave
XomborgUnity
zm_Cave
zm_Zombie
zm_Zombiesew
zombiebase
zombiehouse
zombiespace
zship9
z_Mine
Download: http://goo.gl/9X09p

To install this script just extract the .zip file into the ROOT of your server, this is so the .bot files are added as well.

NOTE: If you were running my original ZRPG script you can convert the old account files to the new system with this small app I made. Just place it  in your old accounts folder and it will compile them into the new accounts.txt.

Thats pretty much everything I can think of.

|-|-|- Edit 7/9/2013 -|-|-|
Modified all floating point outputs to show minimum precision, 15. instead of 15.0000000 or 2.25 instead of 2.2500125. This was working when I released it, but a scriptcore update broke the RoundTo() function.

|-|-|- Edit 11/16/2014 -|-|-|
Fixed an issue caused by new version of the server, wherein WeaponNameByNum() fails to work properly when called during script compilation causing the following error:
  • [Error] zrpgevolved -> AppOnIdle(1942:4) Exception: "" is an invalid integer.
|-|-|- Edit 1/3/2015 -|-|-|
In a recent change by the devs, the numerical IDs associated with the secondary and special weapons were rearranged. This caused havoc, as most of the zombies, that should be wielding chainsaws, were given bows. This update fixes this issue. Also added some code in the account loading function to allow me to not package an empty account file with the download, so you can just overwrite all files without having to fear for wiping your player's accounts.

|-|-|- Edit 9/7/2015 -|-|-|
Fixed an issue wherein the random() function was being passed floating point numbers as arguments rather than integers. This has always been called this way, but has spontaneously started causing problems.
Added a few safeguards to prevent crashing or error spams if key files are not present for any reason.

|-|-|- Edit 9/7/2015 -|-|-|
Fixed a major issue wherein the account file would not be saved propery.
« Last Edit: September 07, 2015, 03:36:21 pm by Hacktank »


Offline dominikkk26

  • Camper
  • ***
  • Posts: 404
    • PMGsite
Re: ZRPG Evolved - yea, its public now, bleh
« Reply #1 on: February 28, 2012, 08:25:09 am »
Nice  ;)

Offline Leo

  • Soldat Beta Team
  • Veteran
  • ******
  • Posts: 1011
Re: ZRPG Evolved - yea, its public now, bleh
« Reply #2 on: March 01, 2012, 03:47:12 am »
What kind of game mod fits in your script, ctf or what ? What kind of maps ?

Offline Hacktank

  • Camper
  • ***
  • Posts: 462
  • Soldat Scripter
    • HTZRPG
Re: ZRPG Evolved - yea, its public now, bleh
« Reply #3 on: March 01, 2012, 05:17:44 pm »
There, 1400+ words.


Offline squiddy

  • Soldat Beta Team
  • Camper
  • ******
  • Posts: 333
  • Flagger assassin
    • SoldatX
Re: ZRPG Evolved
« Reply #4 on: January 07, 2013, 07:10:20 pm »
What about the weapons mod? :P
www.soldatx.com.br - The brazilian Soldat community.

Offline MrHamsTR

  • Soldier
  • **
  • Posts: 209
  • One day, everything will end..
Re: ZRPG Evolved [VERSION 1.9.1] - 9/7/2015
« Reply #5 on: September 07, 2015, 03:17:45 pm »
Hacktank, my friend's got a problem with your script.
When we create and save account, there is no problem here.
Mapchanged and we looked to accounts and accoundindex, our accounts are saved there.
BUT if we close server and start it again, there are no accounts anymore.
Something in script has (I guess) cleared the "accounts" and "accountsindex" files.
There is no any problem or log on CMD SCREEN. You guess what occures this problem?
EDIT: Script is 1.9.1, game 1.6.8 server 2.7.8


EDIT: v1.9.2 fixed the problem. Thanks.
« Last Edit: September 07, 2015, 03:56:57 pm by MrHamsTR »
Is there anybody can write script?
Good, go and play soldat ^^

Offline MrHamsTR

  • Soldier
  • **
  • Posts: 209
  • One day, everything will end..
Re: ZRPG Evolved [VERSION 1.9.2] - 9/7/2015
« Reply #6 on: September 08, 2015, 06:41:13 am »
Hacktank, I've translated your 1.8 script to Turkish completely. But it took my some weeks. You know.
Now I think that I will do it again cause I've deleted my all works so I need translate them again.
Atm I could do it on 1.9.2 but if you release new one; maybe you could share part of changes? Not completely script because when you release news I can't translate again all columns.
For example, new 1.9.3; from this part to this part has changed with new one like that; 24. column "abc" to "def".
I mean could you share completely new script and changed parts too for us do it manually?
Is there anybody can write script?
Good, go and play soldat ^^

Offline VI4GR4

  • Major(1)
  • Posts: 5
Re: ZRPG Evolved [VERSION 1.9.2] - 9/7/2015
« Reply #7 on: June 22, 2016, 07:13:59 am »
Hey! i renember this server and i tryied today to run it, i think everything was good, but was only one thig wrong, at start zombies had a "bow" i changed it to saw (as it should be) but im pretty sure the others zombie like "Vortex" etc gonna have wrong weapons and i dont renember what a weapons had all of zombies so i need help. I really want to bring back this server.

Edit: Nevermind, i have done it :)
« Last Edit: June 22, 2016, 01:46:10 pm by VI4GR4 »
"The only way to get smarter is by playing a smarter opponent." 

                                               Fundamentals of Chess 1883.