Help:Automation: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
mNo edit summary
Line 5: Line 5:
[[File:PyQT6-Entity-List-Script-Skit.png|400px|thumb|A script for generation entity lists from fgd file]]
[[File:PyQT6-Entity-List-Script-Skit.png|400px|thumb|A script for generation entity lists from fgd file]]


=Scripts=
==Scripts==
Scripts are fundamental to automation, enabling the automation of repetitive tasks and the execution of complex operations. This section will detail the types of scripts used in automation, their applications, and the programming languages most commonly employed for scripting.
Scripts are fundamental to automation, enabling the automation of repetitive tasks and the execution of complex operations. This section will detail the types of scripts used in automation, their applications, and the programming languages most commonly employed for scripting.


{{note|Tips for streamlining mundane tasks. Simple tasks that do not involve complex requirements can be automated, although manual execution is still feasible. The following scripts provide utility for task automation. {{tip|AI bots often make errors during automation and need specific prompts. Regular scripts are recommended for such tasks.}}}}
{{note|Tips for streamlining mundane tasks. Simple tasks that do not involve complex requirements can be automated, although manual execution is still feasible. The following scripts provide utility for task automation. {{tip|AI bots often make errors during automation and need specific prompts. Regular scripts are recommended for such tasks.}}}}


==Entity Lists==
===Entity Lists===
Creating lists of entities is not a supernatural task; in fact, it is a straightforward task. Upon reaching the [[.fgd]] file format, several points were outlined that could be utilized to advantage.
Creating lists of entities is not a supernatural task; in fact, it is a straightforward task. Upon reaching the [[.fgd]] file format, several points were outlined that could be utilized to advantage.


Line 17: Line 17:
{{note|These scripts utilize a combination of Bash scripting and Unix/Linux command-line tools, such as ''grep'', ''sed'', and ''awk''}}
{{note|These scripts utilize a combination of Bash scripting and Unix/Linux command-line tools, such as ''grep'', ''sed'', and ''awk''}}


=== Issues ===
==== Issues ====
{{bug|Sometimes the script adds entities to the wrong section (with a different prefix)}}
{{bug|Sometimes the script adds entities to the wrong section (with a different prefix)}}
{{bug|Sometimes unnecessary spaces may be created.}}
{{bug|Sometimes unnecessary spaces may be created.}}


=== For {{src|4}} [[FGD]]s===
==== For {{src|4}} [[FGD]]s====
'''The Script'''{{ref|1}}
'''The Script'''{{ref|1}}
*Uses grep -i '^\(@solidclass\|@pointclass\|@NPCClass\)' "$1" to filter lines from the input file that start with @solidclass, @pointclass, or @NPCClass.  
*Uses grep -i '^\(@solidclass\|@pointclass\|@NPCClass\)' "$1" to filter lines from the input file that start with @solidclass, @pointclass, or @NPCClass.  
Line 33: Line 33:
* Handles unincluded lines by appending them to a separate "Unincluded" section at the end of the output file. This ensures that all lines are accounted for, even if they don't fit the criteria for the other sections.
* Handles unincluded lines by appending them to a separate "Unincluded" section at the end of the output file. This ensures that all lines are accounted for, even if they don't fit the criteria for the other sections.


==== Usage ====
===== Usage =====
{{code|'''Source-FGD-Ent-List-VDC-2.sh''' ''<input>'' ''<output>''}}
{{code|'''Source-FGD-Ent-List-VDC-2.sh''' ''<input>'' ''<output>''}}


==== Examples ====
===== Examples =====
* [[List of Fistful of Frags entities]]
* [[List of Fistful of Frags entities]]
* [[List of Heart of Evil: Source entities]]
* [[List of Heart of Evil: Source entities]]
Line 42: Line 42:
* [[List of Wilson Chronicles entities]]
* [[List of Wilson Chronicles entities]]


=== For {{gldsrc|4}} [[FGD]]s===
==== For {{gldsrc|4}} [[FGD]]s====
'''The Script'''{{ref|2}}
'''The Script'''{{ref|2}}
* The logic is same to {{src|4}} script
* The logic is same to {{src|4}} script
Line 48: Line 48:
** Uses <nowiki>*{{ent|$result_(GoldSrc)|alt=$result}}</nowiki> to format the processed lines as wiki entries.  
** Uses <nowiki>*{{ent|$result_(GoldSrc)|alt=$result}}</nowiki> to format the processed lines as wiki entries.  


==== Usage ====
===== Usage =====
{{code|'''GoldSrc-FGD-Ent-List-VDC-2.sh''' ''<input>'' ''<output>''}}
{{code|'''GoldSrc-FGD-Ent-List-VDC-2.sh''' ''<input>'' ''<output>''}}


==== Examples ====
===== Examples =====
* [[List of Counter-Strike: Condition Zero Deleted Scenes entities]]
* [[List of Counter-Strike: Condition Zero Deleted Scenes entities]]
* [[List of James Bond 007: Nightfire entities]]
* [[List of James Bond 007: Nightfire entities]]
Line 57: Line 57:
* [[List of Cry of Fear entities]]
* [[List of Cry of Fear entities]]


= Bots =
== Bots ==
Bots are automated software agents designed to perform specific tasks, often in response to certain triggers or conditions.<br>
Bots are automated software agents designed to perform specific tasks, often in response to certain triggers or conditions.<br>
This is a table of bots that currently exist on this site.  
This is a table of bots that currently exist on this site.  
Line 76: Line 76:
|}
|}


==First community bot==
===First community bot===
{{u|WisdomBot}} marks the inaugural creation of an automated bot within the VDC, realized by {{u|Wisdurm}}. Despite the existence of {{u|PIPEbot}} prior to this, there is no evidence to suggest that it operated autonomously or performed any specific functions{{ref|3}}. As of current time, the bot has made a number of edits, including significantly replacing the outdated {{t|entity}} and its derivatives with {{t|this is a}} on pages featuring it,{{ref|4}} as well as having begun the process of moving pages using {{t|lang}} to use {{t|multipage}}. However the bot is current not functional. While the reason for it not working is still not definitely known, it is most likely due to the bot being blocked either by Cloudflare, or just the VDC servers themselves.
{{u|WisdomBot}} marks the inaugural creation of an automated bot within the VDC, realized by {{u|Wisdurm}}. Despite the existence of {{u|PIPEbot}} prior to this, there is no evidence to suggest that it operated autonomously or performed any specific functions{{ref|3}}. As of current time, the bot has made a number of edits, including significantly replacing the outdated {{t|entity}} and its derivatives with {{t|this is a}} on pages featuring it,{{ref|4}} as well as having begun the process of moving pages using {{t|lang}} to use {{t|multipage}}. However the bot is current not functional. While the reason for it not working is still not definitely known, it is most likely due to the bot being blocked either by Cloudflare, or just the VDC servers themselves.


= See also =
== See also ==
* {{w|Wikipedia:Bots|Bots}} (Wikipedia)
* {{w|Wikipedia:Bots|Bots}} (Wikipedia)
* {{w|ChatGPT}} (Wikipedia)
* {{w|ChatGPT}} (Wikipedia)
Line 86: Line 86:
* [[:Template:Userbox bot owner|Userbox bot owner]] (Template)
* [[:Template:Userbox bot owner|Userbox bot owner]] (Template)


= External links =
== External links ==
* [https://meta.wikimedia.org/wiki/Bot Bot] (Wikimedia)
* [https://meta.wikimedia.org/wiki/Bot Bot] (Wikimedia)
* [https://meta.wikimedia.org/wiki/Bot_policy Bot policy] (Wikimedia)
* [https://meta.wikimedia.org/wiki/Bot_policy Bot policy] (Wikimedia)
* [https://www.mediawiki.org/wiki/Help:Bots Bots] (Mediawiki)
* [https://www.mediawiki.org/wiki/Help:Bots Bots] (Mediawiki)


= References=
== References==
# [https://gist.github.com/ayaz345/504460fc45ca10505daedf0dc4a14675 "FGD to Entity List" for Source Engine] (GitHub Gist)
# [https://gist.github.com/ayaz345/504460fc45ca10505daedf0dc4a14675 "FGD to Entity List" for Source Engine] (GitHub Gist)
# [https://gist.github.com/ayaz345/3927f4be9a86bd4f576b8a5fb15b6ee0 "FGD to Entity List" for GoldSrc Engine] (GitHub Gist)
# [https://gist.github.com/ayaz345/3927f4be9a86bd4f576b8a5fb15b6ee0 "FGD to Entity List" for GoldSrc Engine] (GitHub Gist)

Revision as of 09:22, 7 April 2024

Icon-under construction-blue.png
This is a draft help page. It is a work in progress open to editing by anyone.
 A user has proposed this page to be moved to Help:Automation to be finalized and properly integrated into this wiki.
Remember to check for any notes left by the tagger at this article's talk page.

Stub

This article or section is a stub. You can help by expanding it.

This article delves into the realm of automation, exploring the scripts and bots in streamlining processes and enhancing efficiency across VDC.

A script for generation entity lists from fgd file

Scripts

Scripts are fundamental to automation, enabling the automation of repetitive tasks and the execution of complex operations. This section will detail the types of scripts used in automation, their applications, and the programming languages most commonly employed for scripting.

Note.pngNote:Tips for streamlining mundane tasks. Simple tasks that do not involve complex requirements can be automated, although manual execution is still feasible. The following scripts provide utility for task automation.
Tip.pngTip:AI bots often make errors during automation and need specific prompts. Regular scripts are recommended for such tasks.

Entity Lists

Creating lists of entities is not a supernatural task; in fact, it is a straightforward task. Upon reaching the .fgd file format, several points were outlined that could be utilized to advantage.

Warning.pngWarning:This script is useless if the FGD format is changed in the project (on the Source Source Engine), for example Strata Source Strata Source. This script is works with the standard Valve format of FGD files for all vanilla Source Source branches.
Note.pngNote:These scripts utilize a combination of Bash scripting and Unix/Linux command-line tools, such as grep, sed, and awk

Issues

Icon-Bug.pngBug:Sometimes the script adds entities to the wrong section (with a different prefix)  [todo tested in ?]
Icon-Bug.pngBug:Sometimes unnecessary spaces may be created.  [todo tested in ?]

For Source Source FGDs

The Script[1]

  • Uses grep -i '^\(@solidclass\|@pointclass\|@NPCClass\)' "$1" to filter lines from the input file that start with @solidclass, @pointclass, or @NPCClass.
  • Creates sections based on the prefixes extracted from the processed lines. It uses an associative array declare -A seen to keep track of prefixes that have already been processed. This ensures that each prefix corresponds to a single section.
  • Uses *{{ent|$result}} to format the processed lines as wiki entries.
  • The section headers are formatted as ===%s_*=== where %s is replaced with the prefix. For example, if the prefix is example, the section header will be ===example_*===. Each processed line is then added under the appropriate section.
  • Handles unincluded lines by appending them to a separate "Unincluded" section at the end of the output file. This ensures that all lines are accounted for, even if they don't fit the criteria for the other sections.
Usage

Source-FGD-Ent-List-VDC-2.sh <input> <output>

Examples

For GoldSrc GoldSrc FGDs

The Script[2]

  • The logic is same to Source Source script
    • Uses grep -i '^\(@solidclass\|@pointclass\)' "$1" to filter lines from the input file that start with @solidclass, @pointclass, or @NPCClass.
    • Uses *{{ent|$result_(GoldSrc)|alt=$result}} to format the processed lines as wiki entries.
Usage

GoldSrc-FGD-Ent-List-VDC-2.sh <input> <output>

Examples

Bots

Bots are automated software agents designed to perform specific tasks, often in response to certain triggers or conditions.
This is a table of bots that currently exist on this site.

Bot name Owner Framework Purpose Status
VDCBot Valve Valve N/A A range of automated cleanup assignments.

Active

(intermittently)
PIPEbot Mailmanmicky Pywikibot Pywikibot N/A

Inactive

, likely to never become active
WisdomBot Wisdurm DotNetWikiBot DotNetWikiBot Updating pages using {{lang}} to use {{multipage}}, as well as other possible tasks when it becomes functional again.

Inactive

due to permission problems
Thunder4ik Noug4at Wikipedia icon AutoWikiBrowser
Pywikibot Pywikibot
Updating deprecated templates, optimizing pages, categorization & adding templates. See more at user page.[5]

Active

(intermittently)
PeeBot Pee DotNetWikiBot DotNetWikiBot Fixing redirects, updating templates, helping with template creation and possibly more.

Inactive

, seemingly due to lack of motivation by owner to operate it

First community bot

WisdomBot marks the inaugural creation of an automated bot within the VDC, realized by Wisdurm. Despite the existence of PIPEbot prior to this, there is no evidence to suggest that it operated autonomously or performed any specific functions[3]. As of current time, the bot has made a number of edits, including significantly replacing the outdated {{entity}} and its derivatives with {{this is a}} on pages featuring it,[4] as well as having begun the process of moving pages using {{lang}} to use {{multipage}}. However the bot is current not functional. While the reason for it not working is still not definitely known, it is most likely due to the bot being blocked either by Cloudflare, or just the VDC servers themselves.

See also

External links

References

  1. "FGD to Entity List" for Source Engine (GitHub Gist)
  2. "FGD to Entity List" for GoldSrc Engine (GitHub Gist)
  3. PIPEbot, lack of auto-contributions
  4. WisdomBot, list of auto-contributions
  5. Thunder4ik (Bot), list of functions