Announcement

Collapse
1 of 2 < >

WIP Forum Upgrade

Please pardon our mess as we continue to iterate on the forum style, css and images. If you have any suggestions be sure to let us know in the off topic part of the forum!
2 of 2 < >

Forum Rules

CHANGES
  • Items changed, or highlighted for future attention, on 20 July 2013 are highlighted in yellow.
Global Rules
  • Forum moderators may or may not be Tripwire Interactive staff members, but either way, please respect them, as they are the authority of the forums. Speaking to them with intentional spite will not be tolerated and may result in the loss of your forum privileges.
  • Any decisions made by any member of staff or moderator are final and not subject to discussion. Doing so may result in a ban from the site. The owners of Tripwire Interactive Forums reserve the right to remove, edit, move or close any thread for any reason, as well as to remove access to the forums for any individuals with or without warning for breaches of the rules.
  • If you have a complaint regarding another user, PM the appropriate moderators, or if you have an administrative issue, [RO]schneidzekk.
General Behaviour
  • Use the search function before posting. Chances are your question has already been answered.
  • Use a title that describes the content of your post. Don't use all caps or special characters to draw attention either in the title or the body of the post.
  • Up to 10 emoticons are allowed in a post
  • Political discussions are prohibited.
  • Flaming - We do not tolerate abusive, malicious, personal attacks. You will be banned if you persist in this behavior.
  • Trolls - Anyone deliberately antagonizing other forum users by posting 'flame bait' type messages is not welcome. You will be banned (possibly without warning depending on the severity of the issue) if you persist in this behavior.
  • Personal insults (directed at anyone) will result in a ban. If the behavior is not corrected, it will be made more permanent.
  • Constructive criticism is welcome. However keep in mind we (and other forums goers) may not agree with you. If you can't keep the conversation civil, you will be removed from the forums.
  • The use of hyperbole, one liners, and images as part of a forum debate is likely to get you infracted. You have many ways to participate and be a constructive part of this community, even when you disagree.
  • To make the highlighted bits above 100% clear to everyone, the following WILL NOT BE TOLERATED:
    1. Personal attacks, insults, antagonism of any forum-goers, moderators or Tripwire Interactive staff.
    2. Breaches of confidentiality and privacy of any sort.
    3. Any form of racism, bigotry or attacks on race, creed or color.
    4. Linking to posts on other forums related to ANY of the above, whether you are the originator or not, without exception.
  • There has been too much in the way of abhorrent personal behaviors in the past. These will cease. It doesn't matter who started it or who reacted to it - it will all result in moderator action. If you have to indulge your hatreds, for whatever reason, go do it elsewhere - and do not try and drag our forum-goers over to enjoy your hatreds.
  • We understand that people have strong feelings about our games, what we do for a living and how we respond (or don't) to comments on the forums. We all aren't going to agree about everything. So, BE CIVIL in your disagreements!
DO NOTs
  • DO NOT Transmit any message, information, data, text, software or graphic files, or other materials ("Content") that is unlawful (including illegal drug usage), harmful, threatening, abusive, harassing, defamatory, vulgar, obscene, libelous, hateful or racially, ethnically, sexually or otherwise objectionable. This includes publicizing private information, such as individual's real names, IP addresses and anything else that might be used to identify them to the freakier members of the internet. This also means you may NOT publically share private communications (PM, email or anything else) without the original poster's permission.
  • DO NOT Post or transmit any Content that contains a virus, Trojan horse or other mischievous Content.
  • DO NOT Post or transmit any unsolicited advertising, promotional materials, "junk mail", "spam", "chain letters", "pyramid schemes" or any other form of solicitation.
  • DO NOT link to posts on any other forums, or any other form of media, that breaches our rules. It will be treated just the same as if you had posted it here.
  • DO NOT Double Post, cross Post or restart closed threads.
  • DO NOT Intentionally or unintentionally violate any applicable local, state, national or international law, rule or regulation.
  • DO NOT Upload or transmit any Content that infringes any patent, trademark, trade secret, copyright or other proprietary rights ("Rights") of any party.
  • DO NOT post cheats or exploits; THIS INCLUDES ALL/ANY REFERENCES TO HACKING, PIRATED SOFTWARE etc.
  • DO NOT complain about being banned from a server and DO NOT complain about other players on servers - that is between you and the admin, no need to get the community involved.
Username, Avatar and Signature Rules
  • Multiple registrations result in a ban.
  • No offensive user names
  • Avatars:
    Avatars are disabled.
  • All signatures should not exceed the following size limits, you can have both text and images
  • - For text signatures: 4 lines normal size, 8 lines small size and up to 100 chars per line. Font sizes above 2 are not allowed. (Blank lines count as lines.)
  • - For images in signatures: 1 image up to 400 pixels wide, 150 pixels tall and 100kb in size plus 2 lines normal size text and up to 100 chars per line
Netiquette: Written text has no inflection, and, as such, you should be careful how you write your messages as interpretation will vary from person to person. Please take advantage of the built-in emoticons to add such expression to your words. Please remember the golden rule: to treat other forum users the way you would like to be treated. Please use common courtesy, and enjoy using Red Orchestra's forums
Offensive material
The following is a list of some things that MAY be considered "offensive" by the moderators and the team. This is NOT an exclusive list and it does depend very much on context.

Crossing the line into "offensive" territory is likely to get you asked to change your name, sig or avatar or to withdraw/delete posts. This will be done politely by the moderators. If you refuse to comply further action WILL be taken once started, ultimately leading to banning from the forums.

A key point: please attempt to use your brains. What is mild humour to you may well be deeply offensive to others. While we have no intention of acting as politically-correct "thought police", we are on the lookout for those things that can cause offense and, in some cases, are actually still illegal in some jurisdictions.
  1. Names recalling notorious war criminals or personalities.
  2. Names recalling atrocities and war crimes in general, or units with particularly odious histories.
  3. Use of obscenities and expletives.
  4. Blatant racism, mysogynism or many other "ism"s.
  5. Use of symbolism and regalia recalling Nazism or Fascism; this does not include pics of soldiers who happen to have such symbols on their uniform, unless we feel this has been done to provoke. Please note that many Nazi symbols (including the Swastika) are still illegal in Germany and other countries and considered deeply offensive by many Europeans.
  6. Use of symbolism and regalia recalling Stalinism.
  7. On both the previous two, the moderators' views on the intention and impact of use of such symbols will be final - not yours. Please be understanding if you are advised to change something.
  8. In general, if a sig/avatar represents your allegiances in-game and is clearly "in part", it is likely to be fine; if the moderators feel you are trying to demonstrate unpalatable political allegiances, or to use it in an attempt to ridicule or provoke others you WILL be asked to change it. RO is NOT the place to make any extremist political statements of any kind.
Examples:
So people get the idea, some examples that would be considered offensive, numbered as above:
  1. "Hitler", "Beria"
  2. "NKVD Blocking Detachment", "Einsatzgruppen"
  3. This one should be pretty obvious...
  4. So should this - and it includes calling all Germans "Nazis" and all Soviets/Russians "Commies". It got boring 50 years ago, so stop it.
  5. Use of swastikas, fasces, SS-runes and so on for the Axis.
  6. There is actually very little overt symbolism from the Stalinist era; the hammer-and-sickle isn't offensive per se.
A simple rule-of-thumb: many Europeans find Nazi symbolism of any sort offensive; many Americans still find Soviet symbolism offensive. Engage your brain before using.




Final Note: this is NOT open to debate, so please do NOT start whining and moaning if a moderator asks you to change something. They will advise at first, giving reasons, then, if you take no notice, they will step up the pressure through to banning.
See more
See less

[Tutorial] Custom Perks

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • [Tutorial] Custom Perks

    Ok. Now to try and continue the attempt to limit version miss matching and to help people out who wish to create custom perks or server admins who want to work custom weapons into their perks.

    Note: This first post may look like a lot, but it's less than an afternoon's reading.

    Part One : Prerequisites

    Primers

    Forum member Benjamin created some very useful tutorials. I suggest you read the first one at least as it covers the actual set up and compiling of mods/muts/packages.

    Creating a Basic Mutator
    Mutator Essentials
    Multiplayer Mutators
    Modifying Existing Weapons

    C++ & UnrealScript

    Unreal Script is an object based programming language derived from C++. I'm not going to teach you about C++, I'm no where near qualified (or patient) enough to do so.

    http://www.cplusplus.com has all the info you need on C++ including tutorials. Take note of how object based programming works including inheritance and projected properties. In here are all the operators and statements you'll need for the maths and checks.

    UnrealScriptReference Has pretty much all the info you need on the unreal script functions and more. You can also use http://wiki.beyondunreal.com/ as a resource.

    This should be enough to get you started by the time you've had a skim over and maybe tried some of Benjamin's tutorials I'll have written up the next section of the tutorial.

    Note: To the experienced programmers; Marco, ScaryGhost, Benjamin etc. If you spot any mistakes or omissions please do send me a message and I'll correct any mistakes I've made. Also feel free to send any suggestions.


    Tutorial One – Setting Up & Testing

    So now that we have covered some basics of C++/UnrealScript and compiling we need to set ourselves up to build our new perks. There are other ways of doing this but this is the way I prefer to do things.

    First download and install ServerPerks from this thread. -Be sure to thank Marco while you are there.

    First create your mod folder; “WhiskyPerks” for this example and within that a folder called “classes”


    Next navigate to .../KillingFloor/System and open the killingfloor.ini
    In the EditPackages lines I add after ‘KFMutators’ the packages for ServerPerks and then your own.


    Now going back to our mod folder we set up I’m going to create a simple perk extension that I will use for following tutorials. This is saved as a .uc file in the classes folder. Don't forget the file name has to be the same as the class name.

    Code:
    class WVetCommando extends SRVetCommando
    	abstract;
    defaultproperties
    {
    	VeterancyName="Whisky Commando"
    }
    This is all the code I’m going to use for the time being. What I’m doing here is extending off of the SRVetCommando which is the commando class that comes with ServerPerks. This will inherit all the functions and properties of its parent class with the exception of the Perk’s name, now “Whisky Commando” which overrides the parent class property.

    Compile and if you’ve been following along you should have no problems. Next navigate to .../KillingFloor/System and open the ServerPerks.ini file (you can do this in game as well from the mutator window I just prefer doing it here) and add your new perk to the Perks= lines, in this case Perks=WhiskyPerks.WVetCommando.


    Run the game and test. (Don’t forget to turn on ServerPerks from the mutator menu!)
    -Remind me to take a picture to put here.-

    And there we have it, our very own ‘custom’ perk in game. Admittedly this is only a name change but it is a start. Next tutorial will show you how to start customising bonuses and discounts.
    Last edited by Gartley; 05-20-2012, 08:56 PM.
    Whisky's Workshop
    "As you can see here, I'm -ALL ON MY F***ING OWN! Guys where the hell are you?!"

  • #2
    Tutorial Two : Extending and Overriding Perks

    We will start simply to begin with. Now you can find ALL the functions you need in other files, both in the original perks in the KFMod folder in your .../killingfloor/ directory and in Marco
    Last edited by Gartley; 05-11-2012, 04:02 PM.
    Whisky's Workshop
    "As you can see here, I'm -ALL ON MY F***ING OWN! Guys where the hell are you?!"

    Comment


    • #3
      Tutorial Three : Perk From Scratch with Custom Stats

      Last edited by Gartley; 06-26-2012, 09:22 AM.
      Whisky's Workshop
      "As you can see here, I'm -ALL ON MY F***ING OWN! Guys where the hell are you?!"

      Comment


      • #4
        Oops, saw this after I wrote this up:

        http://forums.tripwireinteractive.co...&postcount=690

        Oh well, feel free to use it if you haven't already gotten around to custom perk requirements.
        [URL="http://forums.tripwireinteractive.com/showthread.php?t=88019"]Server Achievements[/URL]|[URL="http://forums.tripwireinteractive.com/showthread.php?t=50932"]Super Zombies[/URL]|[URL="http://forums.tripwireinteractive.com/showthread.php?t=83045"]KFStatsX[/URL]|[URL="http://forums.tripwireinteractive.com/showthread.php?t=49922"]Specimen Mechanics[/URL]

        Comment


        • #5
          I think that's all of for now. If there are any other bits and pieces I'll try and answer what I can but remember the answers are all out there. You just need to look for them.
          Whisky's Workshop
          "As you can see here, I'm -ALL ON MY F***ING OWN! Guys where the hell are you?!"

          Comment


          • #6
            http://forums.tripwireinteractive.co...ad.php?t=48277

            As you may be now aware of that custom perk

            My problem is i followed every instructions and everything loaded perfectly the only problems is that the perks won't show up this is probably a offtopic but its still related to adding custom perks anyways I would like to know why it doesn't show up not even in the veterancy handler.Thank you.

            Comment


            • #7
              Thank you so much...

              Originally posted by Gartley View Post
              Tutorial Three : Perk From Scratch with Custom Stats
              [/CODE]
              2 Qustions...

              First, How do I insert another level conditions? (this part of rhe "GetPerkProgressInt" & progressArray"
              Snd, Is it possible to insert a condition existing perk?
              (E.g : movement, reload .. etc)
              Last edited by ASSAYARO; 05-13-2012, 04:34 PM.

              Comment


              • #8
                Hey ASSAYARO,

                #1: I used an array just to keep things easy, you can do it the same way as in the orginal perks, commando or support are a good example ala:

                Spoiler!


                Or define a second array, either works.

                And two, fully possible, just extend the perk and add the function you wish to include. Commando with speed boost?

                class SpeedyCommando extends SRVetCommando abstract;

                static function float GetMovementSpeedModifier(KFPlayerReplicationInfo KFPRI, KFGameReplicationInfo KFGRI)
                {
                if ( KFPRI.ClientVeteranSkillLevel <= 1 )
                return 1.0;
                return 1.05 + FMin(0.05 * float(KFPRI.ClientVeteranSkillLevel - 2),0.55); // Moves up to 25% faster @ lvl6
                }

                default properties {}
                Replace ServerPerks.SRVetCommando with your mypackage.SpeedyCommando and job's a good'en.
                Last edited by Gartley; 05-14-2012, 05:13 AM.
                Whisky's Workshop
                "As you can see here, I'm -ALL ON MY F***ING OWN! Guys where the hell are you?!"

                Comment


                • #9
                  You might also want to add in a part where you can hide weapons from the trader using something like this.

                  static function bool AllowWeaponInTrader( class<KFWeaponPickup> Pickup, KFPlayerReplicationInfo KFPRI, byte Level )
                  {
                  if ( class<M79healPickup>(Pickup) != none || class<VirusMistPickup>(Pickup) != none || class<DoctorRiflePickup>(Pickup) != none || class<NovaSixPickup>(Pickup) != none )
                  return false;
                  else
                  return true;
                  }

                  Comment


                  • #10
                    Do remember to add the bool requirement in the default to say how many requirements the perk should have:
                    Code:
                    NumRequirements=2
                    and also add the description as so:
                    Code:
                    Requirements(0)="Kill %x Stalkers with Bullpup/AK47/SCAR"
                         Requirements(1)="Deal %x damage with Bullpup/AK47/SCAR"

                    www.fluxiservice.com - Friendly, supportive game server host awaiting your arrival.
                    >> My Custom Content Archive <<

                    Comment


                    • #11
                      Posts amended, thanks guys.
                      Whisky's Workshop
                      "As you can see here, I'm -ALL ON MY F***ING OWN! Guys where the hell are you?!"

                      Comment


                      • #12
                        Originally posted by forrestmark9 View Post
                        You might also want to add in a part where you can hide weapons from the trader using something like this.
                        A better example, you could use that to make like a portal science perk and hide Portal Turret from trader if you don't have level 5 or hide portal gun before level 10 (also require that you have that perk selected):
                        Code:
                        static function bool AllowWeaponInTrader( class<KFWeaponPickup> Pickup, KFPlayerReplicationInfo KFPRI, byte Level )
                        {
                        	if( Pickup==Class'PTurretPickup' )
                        		return (KFPRI.ClientVeteranSkill==Default.Class && Level>=5);
                        	if( Pickup==Class'pgPortalGunPickup' )
                        		return (KFPRI.ClientVeteranSkill==Default.Class && Level>=10);
                        	return true;
                        }
                        [QUOTE=HuNteR-;973441]Sadly no, we can't do anything about it, fools like Marco will always exist, and with no one with power pulling strings, its a lost cause.[/QUOTE]

                        Comment


                        • #13
                          Originally posted by Gartley View Post
                          Hey ASSAYARO,

                          #1: I used an array just to keep things easy, you can do it the same way as in the orginal perks, commando or support are a good example ala:



                          Or define a second array, either works.

                          And two, fully possible, just extend the perk and add the function you wish to include. Commando with speed boost?



                          Replace ServerPerks.SRVetCommando with your mypackage.SpeedyCommando and job's a good'en.
                          Thank you so much for the answer

                          Comment


                          • #14
                            oops, I deleted the pictures, I'll sort that out now.
                            Whisky's Workshop
                            "As you can see here, I'm -ALL ON MY F***ING OWN! Guys where the hell are you?!"

                            Comment


                            • #15
                              one question

                              Originally posted by Gartley View Post
                              Hey ASSAYARO,

                              #1: I used an array just to keep things easy, you can do it the same way as in the orginal perks, commando or support are a good example ala:



                              Or define a second array, either works.

                              And two, fully possible, just extend the perk and add the function you wish to include. Commando with speed boost?



                              Replace ServerPerks.SRVetCommando with your mypackage.SpeedyCommando and job's a good'en.
                              I would like to apply 3conditions for lvl-up.
                              But, see the following error messages. something wrong??

                              Error, Redefinition of 'function GetPerkProgressInt' differs from original in SRVeterancyTypes
                              Compile aborted due to errors.
                              Last edited by ASSAYARO; 05-22-2012, 06:00 PM.

                              Comment

                              Working...
                              X