EventScripts Forums
Mattie's EventScripts and Source Forums
Mattie recommends...
Premier Sponsor:Platinum Sponsor:
 
Script Categories
16000 (15) abilities (15) addon (71) addons (17) admin (348) admins (23) advert (27) adverts (26) afk (17) alerts (12) ammo (25) anti (20) armor (11) auth (16) automatic (15) awp (29) ban (24) ba_jail (34) bhop (45) block (27) bomb (47) bonus (25) boost (21) bot (35) bot-management (20) bots (24) bullet (13) bunnyhop (18) Buy (27) buymenu (13) c4 (12) cash (76) Change (14) chat (75) cheat (15) clan (17) classes (24) color (30) colors (20) command (23) commands (20) config (28) configurable (11) connect (54) counter (11) Counter-Strike-Source (18) CS:S (20) css (3313) custom (13) Damage (48) database (14) dead (19) Deagle (11) death (19) deathmatch (79) deathrun (17) deutsch (13) dice (11) disconnect (24) Dissolve (12) dm (24) dod:s (11) dods (494) download (12) easy (26) effect (14) effects (125) English (16) entity (24) est (12) es_tools (14) Eventscript (12) exploit (11) flashbang (27) français (104) french (36) fun (312) funny (18) Gabeee (11) game (12) gamemode (11) gameplay (175) German (11) give (20) gravity (15) grenade (28) grenades (32) gun (15) GunGame (31) GunGame5 (11) guns (20) Hack (16) headshot (37) health (70) hegrenade (15) help (11) hit (13) hl2dm (432) HP (25) hudhint (11) hungarian (22) info (52) information (17) invisible (11) IP (13) jail (79) jailbreak (14) join (44) jump (19) kick (25) kill (50) kills (23) knife (65) leveling (38) LnD (14) lol (11) magyar (32) management (14) manager (11) mani (16) map (31) map-management (26) maps (17) match (21) Memphis-84 (13) menu (139) message (30) messaging (52) minecraft (12) mod (121) model (18) models (32) modye (16) money (50) motd (13) music (32) mute (20) nades (20) name (15) new (13) noblock (53) orangebox (23) player (46) player-management (31) player-tracking (28) popup (70) prop (13) propmenu (14) props (34) protect (11) protection (31) punish (11) punishment (51) python (79) quake (32) QuakeSounds (12) race (13) races (20) radio (29) random (47) rank (41) rates (15) rcon (12) realism (22) Regeln (22) respawn (67) restrict (40) round (26) rpg (32) rules (60) say (16) score (15) scout (29) Script (25) script-helper (25) scriptpack (33) sdk (171) server (60) server-tools (42) shop (12) showdamage (19) silly (31) simple (31) skin (17) skins (34) slay (13) soccer (14) sound (63) sounds (106) source (13) spanish (18) spawn (81) speed (25) statistics (13) stats (55) status (15) Steam (11) STEAMID (29) Superhero (15) surf (41) Team (29) team-balance (14) teleport (16) text (17) TF2 (142) time (22) timer (15) tools (15) tracers (19) triggers (11) uedi (17) uses_auth (18) vip (23) vote (39) voting (22) war (25) Warcraft (12) warcraft-source (20) wc3 (14) wcs (47) wcs:Python (32) weapon (87) weapons (116) web (16) welcome (12) wuerfeln (11) zm (26) zombie (99) zombiemod (55) zombies (12)
Script Authors
*XYZ*SaYnt (12) .:MiB:. (20) .:modye:. (14) .eMko* (6) 101satoon101 (12) 3R10N (24) 4u571n91 (5) 7355608 (9) Absolute (9) Ace Rimmer (40) adminc (5) Adz (8) AgathaKnuppelkuh (8) aidden (8) ajax (5) ak_47 (6) Al3c Tr3v3lyan (6) allstareng (5) ashbash1987 (9) ATAMAH (7) Ayuto (5) aznone (5) B00M (5) BackRaw (41) BFH_RedBull (8) bigfabi (8) Bioko (10) blackshoxx (9) Blade (10) bladesback (13) bobdole (11) bodzsar1 (8) bonbon (36) Brainsucker (32) cagemonkey (8) capo azzlack (7) captain master (6) carbon-14 (10) CaskioUTF (5) cbirou (15) CbRRR (16) ChaCaLz2psy4 (5) CharlesT (5) Chrisber (5) chrismrulz (10) Chun (6) cladiron (10) clipz934 (8) Colster (21) Cookieman8 (7) CrAzD (6) craziest (11) dani12356 (12) DanielB (19) Darkness123 (8) Dave (9) dbozan99 (7) deathx9 (5) Deathyy (16) dhack (17) Di[M]aN (12) DJ Fire-Black prod (8) DoCky (31) Don (15) dordtcore (9) DragonFreddo (8) Drassil (5) dretax14 (11) Einlanzers (47) EmbouT (10) emilplov (7) Errant (10) Eun (6) Fantole (10) FMIS (5) Franc1sco (17) freddukes (18) Frequency (6) Fugi91 (6) Fulmine (5) G4ME (5) GAMEREN2 (8) german9114 (13) GODJonez (40) GoodfellaDeal (5) Hansi (6) Hisoka (6) HitThePipe (7) HOLLDIDAY (24) Icetouch (6) ichthys (25) Im the new guy (14) iNexus (13) infamous1 (9) isivisi (13) ispaine (7) Jackmaster (9) Jeff91 (45) JoeyT2006 (30) Juba_PornBorn (12) jxl180 (11) KDBFame (6) L'In20Cible (11) L.P.H (8) Largo Usagi (10) LnD (14) Lobe (11) loKkdoKk (8) lolo-le-haricot (7) LosNir (5) Lumpi@Work (9) M4rc3L-XCN (7) macshot (7) magyar-oneill (9) Matth (7) Mattie (21) mave1993 (5) MBchrono (15) McFly (20) Medda (5) Memphis-84 (15) Messiah93 (19) Mickyy (5) micmacx (6) Mitchell (5) Mixer57 (5) modye (6) Monster_Bitch1 (9) Mordavolt (7) motomoto (10) MrScriptaz (6) mryoung (6) MyTechZone.de (8) Nicolous (23) ojii (31) oliVier (10) Omega68 (6) Omega_K2 (11) Owned|Myself (8) P3N (7) pand3mic (6) parsimba (5) Pascal257 (9) PatPeter (7) PDrop (10) Phaedrus (18) PhantOm Fury (7) phoenix131 (9) pinkyyy -.- (5) pitbull0993 (7) PixelGamer (7) randomknifer (9) Raptor150 (31) Ratzee (6) ReaCtioN2oo9 (6) RedCliff (5) Rennnyyy (17) revolutionfighters (8) RideGuy (12) Rio (9) Roeliekt (6) roof (16) runamagic (13) Ryezin (5) sandking220 (6) Sarcasm_Poisoning (10) saRs| Johnny-5 (13) Schubaal (10) sea212 (5) sega74rus (15) sgt.angel (6) Shad0w (11) ShoTaXx# (7) sicilia (7) sicman_adrian (22) skillz92 (7) sn4k3 (18) Snake12 (7) snake38 (10) sonicsight (7) SpeedFreak (9) spoonman184 (10) stabby (22) stas (27) Stirni (6) stonedegg (7) Strontium Dog (30) SumGuy14 (25) SuperDave (49) surfteam (5) TaCo (5) TanaToS (17) Tealk (6) teowow (16) TheCheeTaH (27) TheDonFather (5) theresthatguy (6) Tiny Tod (7) tooshkan4uk (8) Totyahun (9) uedi (38) ultimatebuster (6) Undead (25) usernamesaretaken (15) wanted241 (9) Warren (13) westham (6) WhiteAvenger (7) Wonder (14) Wundermaxe (5) X-Mania (5) XE_ManUp (14) xfalcon61 (5) zSweetXz (5) ZZMatty (6) [Cs]Lord_Inferno2 (11) [DAP]Kickbutt (5) [NATO]Hunter (28) ||Wolf|| (10)
Search

Post new topic Reply to topic
Go to page Previous  1 ... 16, 17, 18, 19, 20, 21, 22, 23  Next
Author Message
User avatar
Historian
Historian
Profile

Posts: 3432
Location:
Québec, Canada
 
New postPosted: 2012-05-08, 4:40 pm 

Ayuto wrote:
Wtf, this is awesome!! :shock:
And now I understood the use of alloc() a little bit :D
Thank you for this explanation, you are a genius! But I have one question: Where did you find the information about the trace_t object?

trace_t is a typedef of CGameTrace which has CBaseTrace as base. :)

_________________
Image





User avatar
Regular
Profile

Posts: 184
 
New postPosted: 2012-05-08, 5:07 pm 
   Post subject: Re: EST Replacement for CS:S (est4css) 0.82

Thank you very, very, and very much!!

I hadn't expect such a clear and detailed explanation. In addition, I haven't even know we can directly allocate memory with SPE. This is so amazing!
It reminds me of C programming [data structures and pointers]; looks like the last key for nearly everything ....
(I'm afraid my poor English skills are not sufficient to express full contents of my brain.)

Hmm, I think I could understand your code logic. I will try this as soon as possible.
Thanks again L'In20Cible, you're a superstar :wink:


User avatar
Historian
Historian
Profile

Posts: 3432
Location:
Québec, Canada
 
New postPosted: 2012-05-08, 10:01 pm 
   Post subject: Re: EST Replacement for CS:S (est4css) 0.82

In the same way, I guess I can try to explain how to use TempEntities aka est_effects. ;)

First of all, you need to know that we will not directly sigscan for the TE_<effect name> functions, instead, we will use the virtual functions table of CTempEntsSystem so we can call the effects directly from their offset instead of sigscanning each of them. Alright, a global object of this class is declared as g_TESystem. That's exactly the pointer we need to get (please, read this tutoriel to understand how to get a global pointer). On Windows, we need to sigscann a function which is referencing it and then, get it from there. So, I found it at:
PYTHON:
    g_TESystem = spe.getLocVal("i", spe.getLocVal("i", spe.getPointer("\x55\x8B\xEC\x83\xEC\x20\x56\x8D\x4D\xE0\xE8\x71\x7E\xEB\xFF\x8B", 41)))
On Linux, we can directly use the symbol of it:
PYTHON:
    g_TESystem = spe.getLocVal("i", spe.getLocVal("i", spe.findSymbol("_ZL10g_TESystem")))
Now that we have the pointer of our object, we need to restructure his functions table. Please, read this tutorial before going further : Finding Virtual Offsets. Here's the virtual table of our class (where I removed all the prototypes to make it more clear):
CPP:
     1      CTempEntsSystem::ArmorRicochet
     2      CTempEntsSystem::BeamEntPoint
     3      CTempEntsSystem::BeamEnts
     4      CTempEntsSystem::BeamFollow
     5      CTempEntsSystem::BeamPoints
     6      CTempEntsSystem::BeamLaser
     7      CTempEntsSystem::BeamRing
     8      CTempEntsSystem::BeamRingPoint
     9      CTempEntsSystem::BeamSpline
    10      CTempEntsSystem::BloodStream
    11      CTempEntsSystem::BloodSprite
    12      CTempEntsSystem::BreakModel
    13      CTempEntsSystem::BSPDecal
    14      CTempEntsSystem::ProjectDecal
    15      CTempEntsSystem::Bubbles
    16      CTempEntsSystem::BubbleTrail
    17      CTempEntsSystem::Decal
    18      CTempEntsSystem::DynamicLight
    19      CTempEntsSystem::Explosion
    20      CTempEntsSystem::ShatterSurface
    21      CTempEntsSystem::GlowSprite
    22      CTempEntsSystem::FootprintDecal
    23      CTempEntsSystem::Fizz
    24      CTempEntsSystem::KillPlayerAttachments
    25      CTempEntsSystem::LargeFunnel
    26      CTempEntsSystem::MetalSparks
    27      CTempEntsSystem::EnergySplash
    28      CTempEntsSystem::PlayerDecal
    29      CTempEntsSystem::ShowLine
    30      CTempEntsSystem::Smoke
    31      CTempEntsSystem::Sparks
    32      CTempEntsSystem::Sprite
    33      CTempEntsSystem::SpriteSpray
    34      CTempEntsSystem::WorldDecal
    35      CTempEntsSystem::MuzzleFlash
    36      CTempEntsSystem::Dust
    37      CTempEntsSystem::GaussExplosion
    38      CTempEntsSystem::DispatchEffect
    39      CTempEntsSystem::PhysicsProp
    40      CTempEntsSystem::TriggerTempEntity
    41      CTempEntsSystem::ClientProjectile
As you probably know, SPE Alpha provides a function called spe.findVirtualFunc which allows us to retrieve a function from a table which is not available into the official release. Here's a function that act the same as it:
PYTHON:
    def findVirtualFunc(pointer, offset):
        if spe.platform != "nt":
            offset += 1 # Linux's offsets are 1 greater.
        return spe.getLocVal("i", spe.getLocVal("i", pointer) + (offset * 4))
Basically, we will have to get the functions like the following:
PYTHON:
    pMyFunc = findVirtualFunc(g_TESystem, <effect's offset>)
For the example, we will use BeamRingPoint to create a ring (aka beacon) around players when they jump. First, lets get our function:
PYTHON:
    def player_jump(event_var):
       
        # Gets the pointer of CTempEntSystem::BeamRingPoint...
        pFunc = spe.findVirtualFunc(g_TESystem, 8 )
Now that we have our function, we need the parameters. Here's the prototype of CTempEntsSystem::BeamRingPoint:
CPP:
    virtual void BeamRingPoint( IRecipientFilter& filter, float delay,
        const Vector& center, float start_radius, float end_radius, int modelindex, int haloindex, int startframe, int framerate,
        float life, float width, int spread, float amplitude, int r, int g, int b, int a, int speed, int flags )
As you can see, we need a IRecipientFilter (which is a CRecipientFilter's object) as first parameter. In short, this is a filter that allows us to specify at which players we want to send the effect. We need 40 bytes for it:
PYTHON:
        pFilter = spe.alloc(40)
Now, we need to construct our object at our allocated pointer. Here's the signature:
INI:
    [CRecipientFilter::CRecipientFilter]
    shortname=RecipientFilterConst
    sig= 8B C1 33 C9 C7 00 2A 2A 2A 2A 89 48 08 89 48
    symbol=_ZN16CRecipientFilterC1Ev
    param=p)v
    convention=thiscall
Lets construct it now:
PYTHON:
    spe.call("RecipientFilterConst", pFilter)
Our filter is ready. Now we need to add players into it. For that, we will need to use CRecipientFilter::AddRecipient. Here's the signature:
INI:
    [CRecipientFilter::AddRecipient]
    shortname=AddRecipient
    sig= 55 8B EC 8B 55 08 85 D2 74 75 8B 42 18 85 C0 57
    symbol=_ZN16CRecipientFilter12AddRecipientEP11CBasePlayer
    param=pp)v
    convention=thiscall
Now, let's add all players:
PYTHON:
        for player in es.getUseridList():
            spe.call("AddRecipient", spe.getPlayer(player))
Now, we need to get a Vector of the player's origin:
PYTHON:
        pVector = spe.alloc(12)
        origin = es.getplayerlocation(event_var["userid"])
        spe.setLocVal("f", pVector, origin[0])
        spe.setLocVal("f", pVector + 4, origin[1])
        spe.setLocVal("f", pVector + 8, origin[2] + 5)
We are done with non-native types, lets create the effect:
PYTHON:
        spe.setCallingConvention("thiscall")
        spe.callFunction(pFunc, "ppfpffiiiiffifiiiiii)v", (g_TESystem,
            pFilter, # filter
            0, #delay
            pVector, # center
            0, # start_radius
            750, # end_radius
            es.precachemodel("sprites/lgtning.vmt"), # modelindex
            0, # haloindex
            0, # startframe
            256, # framerate
            1, # life
            5, # width
            10, # spread
            0, # amplitude
            random.randint(0, 255), # red
            random.randint(0, 255), # green
            random.randint(0, 255), # blue
            255, # alpha
            1, # spee
            0)) # flags...
Now, we need to deallocate our pointers. But first, since our filter's constructor allocated pointers in background, we need to use the destructor of it. Here's the signature:
INI:
    [CRecipientFilter::~CRecipientFilter]
    shortname=RecipientFilterDest
    sig= 56 8B F1 8D 4E 08 C7 06 2A 2A 2A 2A E8 9F EF
    symbol=_ZN16CRecipientFilterD1Ev
    param=p)v
    convention=thiscall
Lets deallocate them now:
PYTHON:
        spe.call("RecipientFilterDest", pFilter)
        spe.dealloc(pFilter)
        spe.dealloc(pVector)
My test code:
PYTHON:
    import es
    import spe
    import random

    g_TESystem = spe.getLocVal("i", spe.getLocVal("i", spe.getPointer("\x55\x8B\xEC\x83\xEC\x20\x56\x8D\x4D\xE0\xE8\x71\x7E\xEB\xFF\x8B", 41)))

    def load():
        spe.parseINI("signatures.ini")
       
    def findVirtualFunc(pointer, offset):
        if spe.platform != "nt":
            offset += 1
        return spe.getLocVal("i", spe.getLocVal("i", pointer) + (offset * 4))
       
    def player_jump(event_var):
       
        # Gets the pointer of CTempEntSystem::BeamRingPoint...
        pFunc = findVirtualFunc(g_TESystem, 8 )
       
        # Allocates/Constructs our filter...
        pFilter = spe.alloc(40)
        spe.call("RecipientFilterConst", pFilter)
       
        # Adds all players to it...
        for player in es.getUseridList():
            spe.call("AddRecipient", pFilter, spe.getPlayer(player))
           
        # Allocates our Vector...
        pVector = spe.alloc(12)
       
        # Sets it at the player's origin...
        origin = es.getplayerlocation(event_var["userid"])
        spe.setLocVal("f", pVector, origin[0])
        spe.setLocVal("f", pVector + 4, origin[1])
        spe.setLocVal("f", pVector + 8, origin[2] + 5)
       
        # Creates the effect...
        spe.setCallingConvention("thiscall")
        spe.callFunction(pFunc, "ppfpffiiiiffifiiiiii)v", (g_TESystem,
            pFilter, # filter
            0, #delay
            pVector, # center
            0, # start_radius
            750, # end_radius
            es.precachemodel("sprites/lgtning.vmt"), # modelindex
            0, # haloindex
            0, # startframe
            256, # framerate
            1, # life
            5, # width
            10, # spread
            0, # amplitude
            random.randint(0, 255), # red
            random.randint(0, 255), # green
            random.randint(0, 255), # blue
            255, # alpha
            1, # spee
            0)) # flags...
           
        # Deconstructs/Deallocates our pointers...
        spe.call("RecipientFilterDest", pFilter)
        spe.dealloc(pFilter)
        spe.dealloc(pVector)
The result:
Attachment:
2012-05-08_00001.jpg (208.71 KiB) Viewed 2279 times


_________________
Image


Last edited by L'In20Cible on 2012-06-09, 8:51 pm, edited 4 times in total.

User avatar
Regular
Profile

Posts: 184
 
New postPosted: 2012-05-20, 7:59 am 
   Post subject: Re: EST Replacement for CS:S (est4css) 0.82

Beep! Thanks to L'In20Cible's great work, I'm trying to implement est_Effect in a dynamic way of function which will allow us to use all effects by definitions.
FYI, I've already done #18, and confirmed 1, 8, 26, 27, and 30. In addition, there's a document about 3, 10, and 11. Maybe I can ship the next version with every one of them. Stay tuned.


User avatar
Helper
Profile

Posts: 258
 
New postPosted: 2012-05-20, 1:51 pm 
   Post subject: Re: EST Replacement for CS:S (est4css) 0.82

fratacos wrote:
Beep! Thanks to L'In20Cible's great work, I'm trying to implement est_Effect in a dynamic way of function which will allow us to use all effects by definitions.
FYI, I've already done #18, and confirmed 1, 8, 26, 27, and 30. In addition, there's a document about 3, 10, and 11. Maybe I can ship the next version with every one of them. Stay tuned.


That's awesome! Nice work!


User avatar
Newbie
Profile

Posts: 70
Steam Friends Name: zloykif
 
New postPosted: 2012-06-01, 10:07 pm 

i do something wrong or for example est_deathset didn't work for me after 71 update


User avatar
Regular
Profile

Posts: 184
 
New postPosted: 2012-06-02, 5:22 am 
   Post subject: Re: EST Replacement for CS:S (est4css) 0.83

Just released 0.83. Added est_GetWallBetween and est_Effect (!)

Please note that this is an early implementation of est_Effect -- it is unstable and hasn't been brushed. In addition, the function currently works on only Windows. The implementation would be OK for Linux, but it simply doesn't work :(

So I've decided to release my code, and I hope, other guys will be able to fix it.

zloykif wrote:
i do something wrong or for example est_deathset didn't work for me after 71 update

It's normal. Such functions are using offset functionality, which changes almost every time when Valve released an update. How about the new one? :)

Edit: oops forgot to mention about the offset update. Now est4css's offsets are synced with CS:S [23 May 2012]


Last edited by fratacos on 2012-06-02, 7:27 pm, edited 2 times in total.

User avatar
Newbie
Profile

Posts: 70
Steam Friends Name: zloykif
 
New postPosted: 2012-06-02, 7:04 am 

ty, work fine ^^
gonna test new function


User avatar
Helper
Profile

Posts: 283
Location:
Germany

Steam Friends Name: AlphatierTM
 
New postPosted: 2012-06-03, 10:32 am 
   Post subject: Re: EST Replacement for CS:S (est4css) 0.83

Since im using this script, "es_tell" does not works in my other scripts.

If im unload est_init it works....

I've already added est4css_nosayfilter 1 in autoexec.

Any ideas?

_________________
NO Risk, NO Fun!


User avatar
Helper
Profile

Posts: 283
Location:
Germany

Steam Friends Name: AlphatierTM
 
New postPosted: 2012-06-03, 10:43 am 

Problem solved.

I copied the command est4css_nolegacy_support 1 in my autoexec.

Now everything works perfect!

_________________
NO Risk, NO Fun!


User avatar
Regular
Profile

Posts: 184
 
New postPosted: 2012-06-03, 11:23 am 
   Post subject: Re: EST Replacement for CS:S (est4css) 0.83

> zloykif and RapToX
Sounds good. Thank you for reporting :D


User avatar
Regular
Profile

Posts: 184
 
New postPosted: 2012-06-09, 11:08 am 
   Post subject: Re: EST Replacement for CS:S (est4css) 0.84

Released 0.84. Linux support & 6 new est_Effect functions.
About 80% of est_Effect N functionality have been covered now. In the next, I will work more on est_Effect_N things :)

Edit: I had to delete a debug message at est_Effect :oops: So updated it to version 0.84b.


Last edited by fratacos on 2012-06-09, 8:23 pm, edited 1 time in total.

User avatar
New User
Profile

Posts: 8
 
New postPosted: 2012-06-09, 6:19 pm 
   Post subject: Re: EST Replacement for CS:S (est4css) 0.84

Thanks for your work on this. I can't seem to get "est_regsayhook" and "est_regclientcmd" to function. I get these errors thrown in the console log for each call to them in my scripts:

Unknown command "est_regsayhook"
Unknown command "est_regclientcmd"

Any thoughts on what might be happening? I see that these are supposed to be included in est4css. Thanks!


User avatar
Regular
Profile

Posts: 184
 
New postPosted: 2012-06-09, 7:02 pm 
   Post subject: Re: EST Replacement for CS:S (est4css) 0.84

daxgti wrote:
I can't seem to get "est_regsayhook" and "est_regclientcmd" to function. I get these errors thrown in the console log for each call to them in my scripts:

Unknown command "est_regsayhook"
Unknown command "est_regclientcmd"

Any thoughts on what might be happening? I see that these are supposed to be included in est4css.

Yeah, they're already included in the addon, and they should work. In actually, I've confirmed they're working on both Windows and Linux now.

So, I think there's a problem at setting. Did you specify
Code:
es_load est_init
at your autoexec.cfg? If it works, you will be able to check all commands by typing
Code:
cvarlist est_
to the console. Then, 399 commands should be appeared.


User avatar
New User
Profile

Posts: 8
 
New postPosted: 2012-06-09, 7:07 pm 

Hmm, yep. Have that setup right in my autoexec. cvarlist est_ returns 427 and for these two commands:

est_RegSayHook : cmd : :
est_regsayhook : cmd : :

est_RegClientCMD : cmd : :
est_regclientcmd : cmd : :

Should these have notes at the end of their lines about their function or something similar, like other commands? Tks!


User avatar
New User
Profile

Posts: 8
 
New postPosted: 2012-06-09, 7:08 pm 

Oh, the same for their equivalents "est_UnRegSayHook" and "est_UnRegClientCMD"


User avatar
Regular
Profile

Posts: 184
 
New postPosted: 2012-06-09, 8:36 pm 
   Post subject: Re: EST Replacement for CS:S (est4css) 0.84b

daxgti wrote:
Have that setup right in my autoexec. cvarlist est_ returns 427

I see, it seems to be OK.
daxgti wrote:
est_RegSayHook : cmd : :
est_regsayhook : cmd : :

est_RegClientCMD : cmd : :
est_regclientcmd : cmd : :

Should these have notes at the end of their lines about their function or something similar, like other commands?

I'm too lazy to add proper explanations to these, but you can refer http://www.eventscripts.com/pages/Est_regsayhook and something like that.
Or more simply, you can type:
Code:
est_RegSayHook

Then, the addon will return parameter explanations (but not always) like:
Code:
Syntax: est_RegSayHook <text> <0=identical,1=partial>

It means, to register a command with RegSayHook, you should specify both the command name and a parameter which will decide whether full-match or partial match are used. For example:
ES:
will match "hello" but not "say hello". Meanwhile,
ES:
will match "hello" and "say hello again".


User avatar
New User
Profile

Posts: 8
 
New postPosted: 2012-06-09, 9:10 pm 

Hmm. also when listing the commands with "est_help" in the console, these are not listed. Should they be? Here is my list:

Code:
EST Command list:
         --------------------------------------------------
         est_AddDownload <path> : expects 1 args
         est_Armor <est filter> <operator> <amount> : expects 3 args
         est_ArmorAdd <est filter> <amount> : expects 2 args
         est_Ban <est filter> <time> [reason] : expects (2, 3) args
         est_Burn <est filter> [time] : expects (1, 2) args
         est_Cash <est filter> <operator> <amount> : expects 3 args
         est_CashAdd <est filter> <amount> : expects 2 args
         est_CExec <est filter> <command> : expects 2 args
         est_ClassList No arguments : expects 0 args
         est_CloseFile <file handle> : expects 1 args
         est_CountLines <var> <file handle> : expects 2 args
         est_CSay <players> <message> : expects 2 args
         est_CurTime <var> : expects 1 args
         est_CvarAddFlag <cvar> <gamedll> <sponly> <notify> <cheat> <userinfo> <unlogged> <replicated> : expects 8 args
         est_CvarDelFlag <cvar> <gamedll> <sponly> <notify> <cheat> <userinfo> <unlogged> <replicated> : expects 8 args
         est_Damage <attacker> <victim> <amount of damage> : expects 3 args
         est_DeleteLine <file handle> <line number> : expects 2 args
         est_DeleteRagDolls [est filter] : expects (0, 1) args
         est_Dissolve <classname/index> : expects 1 args
         est_DropWeapon <est filter> : expects 2 args
         est_Drug <est filter> [time] : expects (1, 2) args
         est_Drunk <est filter> [time] : expects (1, 2) args
         est_EndRound  : expects 0 args
         est_Extinguish <est filter> : expects 1 args
         est_Fade <est filter> <type> <fade time> <total time> <red> <green> <blue> <alpha> : expects 8 args
         est_FileExists <var> <file path> : expects 2 args
         est_Freeze <est filter> <1/0> : expects 2 args
         est_GetAmmo <var> <name/userid> <weapon slot / name> : expects 3 args
         est_GetAngleToPoint <userid/name> <x> <y> <z> <var pitch> <var yaw> <var roll> : expects 7 args
         est_GetArmor <variable> <est player> : expects 2 args
         est_GetCash <variable> <est player> : expects 2 args
         est_GetChat <var> <name/userid> : expects 2 args
         est_GetClipAmmo <var> <name/userid> <weapon slot / name> : expects 3 args
         est_GetDeaths <var> <userid> : expects 2 args
         est_GetEntClassName <var> <entity index> : expects 2 args
         est_GetEntityIndex <var> <name/userid> <classname> : expects 3 args
         est_GetEntName <var> <entity index> : expects 2 args
         est_GetEyeCoord <userid/name> <x var> <y var> <z var> : expects 4 args
         est_GetFB <var> <userid/name> : expects 2 args
         est_GetGravity <var> <userid/name> : expects 2 args
         est_GetGun <var> <userid/name> : expects 2 args
         est_GetGunCoord <userid/name> <x var> <y var> <z var> : expects 4 args
         est_GetHE <var> <userid/name> : expects 2 args
         est_GetHealth <variable> <est player> : expects 2 args
         est_Getindex <var> <userid/name> : expects 2 args
         est_GetIp <var> <userid/name> : expects 2 args
         est_GetKills <var> <userid> : expects 2 args
         est_GetLine <var> <file handle> <line number> : expects 3 args
         est_GetName <var> <userid/name> : expects 2 args
         est_GetPlayerDistance <distance var> <azimuth var> <elevation var> <userid/name> <target id/target name> : expects 5 args
         est_GetPrimary <var> <userid/name> : expects 2 args
         est_GetSecondary <var> <userid/name> : expects 2 args
         est_GetSG <var> <userid/name> : expects 2 args
         est_GetSteam <var> <userid/name> : expects 2 args
         est_GetTeam <var> <userid/name> : expects 2 args
         est_GetUserid <var> <userid/name> : expects 2 args
         est_GetViewAngle <userid/name> <var pitch> <var yaw> <var roll> : expects 4 args
         est_GetViewCoord <userid/name> <var x> <var y> <var z> : expects 4 args
         est_GetViewPlayer <userid/name> <var> : expects 2 args
         est_GetViewProp <userid/name> <var> : expects 2 args
         est_GetWallBetween <var> <x> <y> <z> <targetx> <targety> <targetz> : expects 7 args
         est_GetWeaponIndex <var> <name/userid> <weapon slot / name> : expects 3 args
         est_Give <est filter> <entity> : expects 2 args
         est_God <est filter> <1/0> : expects 2 args
         est_HasDefuser <var> <name/userid> : expects 2 args
         est_HasHelmet <var> <name/userid> : expects 2 args
         est_HasKevlar <var> <name/userid> : expects 2 args
         est_Health <est filter> <operator> <amount> : expects 3 args
         est_HealthAdd <est filter> <amount> : expects 2 args
         est_Help [command] : expects (0, 1) args
         est_HSay <players> <message> : expects 2 args
         est_InsertLine <file handle> <line number (-1 = append)> <text> : expects 3 args
         est_IsAlive <var> <name/userid> : expects 2 args
         est_IsAlpha <var> <string> : expects 2 args
         est_IsBomber <var> <name/userid> : expects 2 args
         est_IsNumeric <var> <string> : expects 2 args
         est_IsOnly <var> <string> <allowed chars> : expects 3 args
         est_JetPack <est filter> <1/0> : expects 2 args
         est_Kick <est filter> [reason] : expects (1, 2) args
         est_KillAdd <est filter> <amount> : expects 2 args
         est_Kills <est filter> <operator> <amount> : expects 3 args
         est_KillSet <est filter> <amount> : expects 2 args
         est_KnifeOnly <var> <userid/name> : expects 2 args
         est_LightStyle <stylestring> <stylenum> : expects 2 args
         est_MakeEntity <entity> <model> <x> <y> <z> [index var] : expects (5, 6) args
         est_MOTD_F <est filter> <title> <command> <file> : expects 4 args
         est_MOTD_T <est filter> <title> <command> <raw text> : expects 4 args
         est_MOTD_W <est filter> <title> <command> <URL> : expects 4 args
         est_Msg <est filter> <message> : expects 2 args
         est_MutePlayer <est filters> : expects 1 args
         est_Name <userid> <name> : expects 2 args
         est_Near <var> <est filter> <distance> <name/userid> <command> : expects 5 args
         est_NearCoord <var> <est filter> <distance> <x> <y> <z> <command> : expects 7 args
         est_NoClip <est filter> <1/0> : expects 2 args
         est_OpenFile <var> [file type (r / w)] <file path> : expects (2, 3) args
         est_OpenFiles No arguments : expects 0 args
         est_PhysPush <est filter> <x force> <y force> <z force> : expects 4 args
         est_Play <est filters> <sound> : expects 2 args
         est_PlayEdict <entity index> <sound> [volume] [est filter] : expects (2, 3, 4) args
         est_PlayerCount <var> <est filter> : expects 2 args
         est_PlayPlayer <userid> <sound> [volume] [est filter] : expects (2, 3, 4) args
         est_PrintOpenFile <file handle> : expects 1 args
         est_PropCount <var> : expects 1 args
         est_PropList  : expects 0 args
         est_PropShow [class type] : expects (0, 1) args
         est_PushTo <est filter> <x> <y> <z> <force> : expects 5 args
         est_RandPlayer <var> <est filter> : expects 2 args
         est_Remove <ent index> : expects 1 args
         est_RemoveIdle [classname] : expects (0, 1) args
         est_RemoveWeapon <est filter> <weapon name> : expects 2 args
         est_Restrict <est filter> <weapon name/slot> : expects 2 args
         est_RestrictAll <est filter> : expects 1 args
         est_Rocket <est filter> : expects 1 args
         est_RoundDecimal <var> <number> <decimal digits> : expects 3 args
         est_SetAim <est filter> <target userid/name> [add to z coord] : expects (2, 3) args
         est_SetAmmo <est filter> <weapon slot/name> <ammo> : expects 3 args
         est_SetArmor <est filter> <amount> : expects 2 args
         est_SetCash <est filter> <amount> : expects 2 args
         est_SetClipAmmo <est filter> <weapon slot/name> <clip ammo> : expects 3 args
         est_SetEntityColor <ent index> <r> <g> <b> [alpha] : expects (4, 5) args
         est_SetEntModel <ent index> <model path> : expects 2 args
         est_SetEntName <entity index> <entity name> : expects 2 args
         est_SetGravity <est filter> <amount> : expects 2 args
         est_SetHealth <est filter> <amount> : expects 2 args
         est_SetPlayerColor <est filters> <r> <g> <b> [alpha] [set weapons] : expects (4, 5, 6) args
         est_SetViewAngle <est filter> <pitch> <yaw> <roll> : expects 4 args
         est_SetViewCoord <est filter> <x> <y> <z> : expects 4 args
         est_Shake <est filter> <time> <distance> <violence> : expects 4 args
         est_ShowMenu <time> <est filter> <menu string> : expects 3 args
         est_ShowRestrictions <est filter> : expects 1 args
         est_Slay <est filter> : expects 1 args
         est_Spawn <est filters> [force spawn] : expects (1, 2) args
         est_Speed <est filter> <value> : expects 2 args
         est_StopSound <est filter> <sound> : expects 2 args
         est_StripPlayer <est filter> : expects 1 args
         est_StrLen <var> <string> : expects 2 args
         est_StrTolower <var> <string> : expects 2 args
         est_StrToUPPER <var> <string> : expects 2 args
         est_Team <est filters> <team index> : expects 2 args
         est_Teleport <player> <x> <y> <z> : expects 4 args
         est_TrimDecimal <var> <number> <decimal-position> : expects 3 args
         est_UnMutePlayer <est filters> : expects 1 args
         est_UnRestrict <est filter> <weapon name/slot> : expects 2 args
         est_UnRestrictAll <est filter> : expects 1 args
         est_UpTime <var> : expects 1 args
         est_ViewCone <var> <userid/name> <est filter> <cone angle> <cone distance> <command> : expects 6 args
         --------------------------------------------------


Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 403 posts ]  Go to page Previous  1 ... 16, 17, 18, 19, 20, 21, 22, 23  Next


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group