Show Posts - Zero

Welcome to POSSESSION Server - The Global Gaming Community.

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Zero

Pages: [1] 2
No worries, I pretty much understand everything you said.

Based on what you've written, the reasons why I couldn't view particles in SDK is because I don't have the particles inside my VPK and I'm also missing particles_manifest.txt. I guess I googled the wrong stuffs.

So, I need to make two backups before doing anything. One is pak01_dir.vpk and one is particles_manifest.
pak01_dir.vpk for adding custom particles and particles_manifest for displaying the particle system inside SDK.
Doing this will cause the pure server error when playing official server I guess.

Thanks a lot Kulu. Now I can add particle effects to my bahamut's skills.

Can someone point me out why my particle browser is empty? Look at the pic below.

There's particle system files (.PCF) inside csgo/materials/particles and csgo/particles (both possession and custom maps' particles). I rescanned for 'all' and 'csgo' mods and it's still empty. :'(

I need help with this particle thingy for skill gfx and then, everyone can try actual rpg npc combat in csgo soon. It can be very difficult to defeat depending on pattern settings.

日本語: (Google Translated)

dare ka tatsukete onegai shimasu!!!

Oh, it's the screen space effect. Yeah that would do the trick. It's very useful for applying particle based effects on overlays. Thank you for teaching me about it.  :)

Thank you so much. I had a look at in-game settings.. My 'gameinstructor_enable' were set to 0, that's why I can't see the instructor hint. The instructor hint is working normally.

Now I've found out that, hint text that is used by 'bosshp' and 'shop quiz' is not instructor hint, but the game internal feature itself.  :'(

Thank you for solving my problem.

Updated: I decompiled some maps that are not using BossHP and found out that, you can display the hint message by using "env_hudhint".
"env_instructor_hint" -> Pointing out mission's location.
"env_hudhint" -> Display hint text at the bottom of player's screen.

Mind if you give me a link for screen particle shader? I couldn't find it in valve developer.
It would be very helpful since I might need it for mapping.

UnlitGeneric is best to use when you want to apply no special effect to it.

Refract shader gives a distorted effect at the base texture.

Here's an example from valve developer.

Er, it works the same way the Sourcemod plugins display hint text. It can be displayed to individual player or, to everyone. The instructor hint was introduced by L4D2 developer team to help L4D2 players to look for mission's object by highlighting the object and pointing out location as it's main mechanic. The other mechanic, which is used by SourceMod PrintHintText, displays the objective message to players in the form of instructor hint. Either individually or all players.

By piecing out the clues, I recently found out that, due to it's main mechanic, which was abused by ninja defuser in csgo competitive game, the CSGO developer team made the instructor hint inaccessible to 'env_instructor_hint' entity like, long time ago.

Here's the link to the video where the mechanic got abused in competitive game.

I guess there's nothing can be done here except using SourceMod to do the job now..

Is it possible for you to add plugin that display map's console message as alert hint message to players?
You can also display translated message to those who are using translation feature.
The advantage of doing this is that, players can properly read map tips that is displayed at bottom mid.
Displaying them at the chat window makes it very hard for players to read since it's too distracting.

FFVII Ancient Temple's early part of stage 1 already proven this point where players could't read the console message since the zombies could've kill them as soon as they make a mistake in that roadmap area.

The alert hint message I've mentioned actually is the alert hint message that the zombie reloaded plugin use for the infection countdown. I had a look at franug edition of zr plugin's source, it use 'PrintCenterText' for alert type hint message.

Here's the function link

Tell me if you need flowchart for handling console message.

I had a look at how screenoverlay works since I can't use instructor hint entity to display boss info to individual player.
The reason why the texture is not animated is because there's two problems.

First one is the .vmt (material) configuration.
If you want to use the same special effect as the default ZombieReloaded's overlay, instead of using 'UnlitGeneric', you should use 'Refract' instead.

Like this one
Code: [Select]
File : humans_win_ps_s.vmt

"$model" 1
"$refractamount" "0"
"$bluramount" "0"
"$REFRACTTINT" "{50 50 150}"
"$REFRACTTINTtexture" "overlays/zr/humans_win_ps_s"
"$scale" "[1 1]"

Second is the transparency, take a look at the screenshots I've attached.
zombiereloaded's overlay when viewed without alpha channel (transparency), the background became all white, while yours become all black.
Being all black means it's going to block player's view.
I'm pretty sure your alpha channel is set to 8-bit due to anime character's outline color being white, so try to do the same thing to the background when you make a new one in the future.

1. List of Shaders -
2. Refract Shader -
3. UnlitGeneric -
4. AnimatedTexture -

JP (Google Translated)
誰も "env_instructor_hint"の使い方を知っていますか? サーバー "bosshp"と "shop quiz" "plugins"と同様に、個々のプレーヤーにテキストを表示することを想定しています。
私はに従ってそれを使用しようとしましたが、何のメッセージも表示されませんでした。 エンティティはCSGOで壊れていますか?

Does anyone know how to use "env_instructor_hint"? It's suppose to show text to individual player similar to server "bosshp" and "shop quiz" "plugins".
I tried using it according to but it didn't show any message. Is the entity broken in CSGO?

Configuration Folder Structure
vscripts/monster/configuration/<individual monster setting folder*>/
  • include.nut
  • info.nut
  • stats.nut
  • animation.nut
  • pattern.nut
  • templates.nut

*You can name the folder such as "goblin", "orc", "dragon" or "ossan" but make sure the name doesn't contain any space. Use underscore "_" instead.

Explanation on each configuration file







That would be great. You just need to make the function search for entity with classname of "info_target" and check if the entity's name starts with "entwatch_" or any other prefix few seconds after map spawn or on every new round (I couldn't confirm if entity created by vscripts would last until the map changed or until the end of round). Then grab the custom key values to be assigned to entWatch.

As for sprite textures, you might want to look for someone to create them. Either numbers or highlighted clock area for the images.

The truth is, I found better method for mappers to deal with item configurations. Instead of creating those entities using hammer editor (which is a tedious task), it's better to write item configurations inside script files and let another script file to automatically create those entities containing required properties for entWatch. It's pretty handy.

I'll probably show you the vscript example of how it's done, tonight or tomorrow.

Updated: Screenshots, scripts and example map without func button has been attached.
Read below and grab script file + see the screenshot.

Look at 'vscripts/item/item_script' on how the entity was create and compare it with the console screenshot.
Other mappers can try take a look at the 'vscripts/item/configuration/include.nut' , 'vscripts/item/configuration/template_item.nut' and 'vscripts/item/configuration/item_test1.nut'. It should be very similar to entwatch configuration file except there's no hammer id but targetname instead.

'blockpickup', 'allowtransfer', and 'forcedrop' to be honest, should be server sided configuration. Since it's more to monitoring server instead of a map effect.

As for hammer id, EntWatch can just scan through info_target entities and grab the entity with 'entwatch_ prefix' in the name, grab 'buttonname' value, scan entities with that value and do GetEntProp with the entity to grab the m_iHammerID.

Updated: Uploaded webpng screenshots.
And if there's any mappers here.. Here's the folder structure
1. vscripts/item/item_script.nut
2. vscripts/item/configuration/include.nut
3. vscripts/item/configuration/template_item.nut
4. vscripts/item/configuration/item_test1.nut
5. vscripts/item/configuration/item_test2.nut

After messing around with vscripts, entities and sourcemod documentations, there's another room to improve entwatch.

1. Adding support for grabbing item configuration through map
Most of mappers usually need to create configuration file for EntWatch to hook their map special items.
Why not add a support where the EntWatch can hook the item in-game straight away? It can be done.

As a mapper, you just need to create an entity such as 'info_target' and give it a name that follows certain naming convention such as entwatch_(youritem1) and make your item button as it's parent.
After that, disable 'SmartEdit' in entity property and add custom keys and values. Those custom keys and values will follow the format of entwatch configuration file. And done.

Now, what the EntWatch should do would be searching for the entity that contains the name that follows the naming convention when the map is loaded or on new round. If the entity is found, grab the required keys and values. Validates the properties. Setup the usual item parameters. Then, grab it's parent entity and and register the entity id for usage control. Voila. Now EntWatch can directly grab item configuration itself from the map itself.

What's the advantage by doing this?
First, it would be giving mapper another method of adding the item configurations.
Second, which is the last one and the biggest advantage of all is that, by putting the item configurations directly inside the map, vscripts can also take advantage of it. Making this item configurations usable to vscripts and entwatch.

Updated:Now I'm not confident if the 'EntWatch' plugin can access an entity's custom key values. While I could create an entity with custom keyvalues using vscript, I couldn't read any entity's keyvalues with 'Vscript'. So, I'm not even sure if custom key values will be created when a map is spawn. Hence why. Someone need to test if custom key values will be created when the map spawns and SourceMod plugins can access it. If it's possible, a mapper can just create a vscript file to be used as item configuration and let item vscript to 'include' (load) the configuration script and then create an entity with custom keyvalues for SourceMod plugins to access. Else, bad luck.  :(

Updated: Shufen confirmes that plugins can read custom entity key values.

2. Overhead Item Countdown
Displaying item countdown on top of player's head.

In order to do this, you must first prepare textures to display the countdown. Then,create a function where it creates an 'env_sprite' on top of an item holder. Make the item holder as the parent. Then, you display the sprite. Done.

To animate the countdown, you need to kill the previous 'env_sprite' and create a new one which displays a new countdown number. Repeat it until the cooldown finish. You can't animate countdown using single 'env_sprite' due to its limitation.

That's all.

It can be done. Both scripting and non-scripting method. Both use env_sprite that is parented to item's weapon. Due to env_sprite limitation, where you are required to make duplicates of sprites like 30 of it which is painful to do so, it's better to do scripting method.  :'(

Thanks for the pointing the map out.
Had a look at the map just now.. More like, they create a button that creates the so called skill effects and the graphic effects. Then, they grab the button hammer id, and create a map configuration to be used by server plugin known as "EntWatch". That plugin is the one that displays the cooldown on HUD and player's steam tag.
To be honest, it's a bit difficult for me to use because you need to install SourceMod and EntWatch to see the item countdown.
I rather use vscript to do item countdown since you dont need to install anything to test it. Judging from the entwatch map configurations, it's possible to replicate the plugin except displaying item name and cooldown on steam tag.  :P

Hey guys, I made map scripts that can simulate RPG monster mechanics in CSGO. You no longer need to tweak monster settings through hammer editor. Just mess around with the configs, save and restart the game round.

Feel free to post your suggestions.

Scripts will be uploaded after finishing my map's prologue chapter's stages.

Latest Message from Me (4/10/2018):
Been wasting my days making main building brushes using hammer SDK. IT IS NOT POSSIBLE due to limitations of world brush.

1) It can't handle complex shape (details and smooth shape) even with vertex manipulation. You will get invalid solid structure for the brushes.
2) Rotating complex brushes will make everything run out of position. You can't snap the vertices to hammer grid is one thing. The other is that, 30 degrees angled roof becomes way too complicated to make.

So, what I'm going to do is make 3D model of the building instead. Will inform you guys within few days if it works fine or not.

Purpose of Monster Script
To introduce new type of map known as "Raid" map for CSGO players. The map prefix pretty much gonna starts with "raid_".

Most of mmorpg players if not all, should know what a raid party is. For those who don't, it's a type of mission where a number of people attempt to defeat another number of people in PvP, or defeating large amount of monsters in PVE, or defeating powerful bosses. Familiar meaning would be beating very difficult dungeons with large number of players.

In a raid mission, you need tactics and coordinations between players to complete. The map that's involved in raid mission are usually large. There can be traps, requires players to separate to accomplish some of mission objectives,clearing enemies in an area and more.

So, what these monster scripts do is simulates monster mechanics in mmorpg. Making it a part of the raid system.

Components of Raid System:
1. Objective Scripts
2. Map Mechanics (Traps, Key for Doors and etc)
3. Player Scripts (Dodge, I-Frame and etc)
4. Item Scripts (Item Usage and Restriction)
5. Monster Scripts

Please don't compare it to co-op missions. Co-op mission is meant for SMALL number of players to complete while raid mission requires LARGE number of players to do so.


1. Lesser Amount of Dynamic Entities
By using monster scripts, you can reduce the amount of DYNAMIC entities you're creating in the map. Making it lot more easy for you to add more entities since CSGO entity limit for dynamic entities (refers to entities that server needs to consider or check) is.. 2047. Seems alot? No no no. I didn't even include player's entities into the calculation yet. So, each player use 15 entity slots. 64 x 15 = 960. 2047 - 960 = 1087. Heck, that's almost half of the limit already which makes the amount of available slots is much mor lesser for mappers to use.

2. Simple Configurations
You no longer need to create too many stuffs for each type of boss or monster.
Everything has become simple by making a configuration script file to be used as a monster's settings.
Just create a new script folder for each type of monster settings you going to make and copy paste the template and mess around with the values.

3. Targeting System
No more trigger brushes. The script will deal with the targeting itself for both attacks and skills.
Searching for players within a distance? Attack player with highest damage? No problem. The system will do itself.

4. Orientation and Movement
With script, now the monster can point itself to it's target automatically. No rotating brush needed.
And, with one thruster, the script can also move in four directions. Forward, Backward, Left and Right*.

*Flying AKA Hovering support will be added after everything runs fine.

5. Attacks and Skills

6. GFX and SFX

7. Health and Overhead Health Bar Display
Math counter? HIT BASED health counter?? Trigger Multiple??? You no longer need to make those things. The monster system have those things up and running. You only need to make a single func_physbox to be used as hitbox. What's more, the AMOUNT of damage dealt to the hitbox will also be damage dealt to monster's health, making it weapon oriented damage*. You can also set damage multipler in the configurations.
To-do for Overhead Health Bar Display Descriptions.

*Damage multiplier applied on hitbox instead of individual weapons. Individual weapon damage multiplier functionality requires plugin to do so.

8. Animations
Idle Animation? Moving Animation? Attack Animation? SKILL ANIMATION? FLYING? DYING? Screw you input and output windows.
Now you don't need to setup those I/Os anymore. Let the script do those things. What you need to do is mess around with animation's configuration for the monster.

9. Patterns for Attack, Skills, and Movement

10. Scripting and Dialogues

None ATM

v0.99 - TBA
v1.0 - Unknown

Pages: [1] 2
TinyPortal © 2005-2015