Scripts
@888: what?

---

"Auto-switch" to secondary weapon if your primary has no ammunition script:

[cubescript]bind MOUSE1 [ if (&& (= (curweapon) (currentprimary)) (&& (! (magcontent (currentprimary))) (! (magreserve (currentprimary))))) secondary; attack ]
[/cubescript]

...same as above but with "auto-switch" back to primary once ammunition is detected:

[cubescript]bind MOUSE1 [
if (&& (= (curweapon) (currentprimary)) (&& (! (magcontent (currentprimary))) (! (magreserve (currentprimary))))) secondary
if (&& (= (curweapon) 1) (|| (magcontent (currentprimary)) (magreserve (currentprimary)))) primary
attack
][/cubescript]

...same as above but only "auto-switches" back to primary if the script forced you to switch to your secondary to begin with:

[cubescript]thisplayerdead = 0
forcedsecondaryswitch = 0

checkalive = [
if (&& (! (alive)) (! $thisplayerdead)) [ thisplayerdead = 1 ]
if (&& (alive) $thisplayerdead) [ thisplayerdead = 0; if (checkalias onSpawnp) onSpawnp ]
sleep 0 checkalive
]

if (! (checkalias mapstartalways)) [ mapstartalways = [] ]
if (! (strstr $mapstartalways checkalive)) [ add2alias mapstartalways checkalive ]

onSpawnp = [ forcedsecondaryswitch = 0 ]

bind MOUSE1 [
if (&& (= (curweapon) (currentprimary)) (&& (! (magcontent (currentprimary))) (! (magreserve (currentprimary))))) [ secondary; forcedsecondaryswitch = 1 ]
if (&& (&& (= (curweapon) 1) (|| (magcontent (currentprimary)) (magreserve (currentprimary)))) $forcedsecondaryswitch) [ primary; forcedsecondaryswitch = 0 ]
attack
][/cubescript]
Thanks given by:
This script allow to heard when the ennemy pull his grenade .(lag pstats ..)
The pull grenade work only with the player cn 1.
grenadenemy = [
toucher = (at (pstat_weap 1) 16)
sleep 100 [etalors = (- (at (pstat_weap 1) 16) $toucher));if ($etalors) [sound 49];sleep 100 [grenadenemy]]
]
mapstartalways = [sleep 100 [grenadenemy]]

@Bukz You can delete my two last post .It s an error .

@Barricade
Ce script permet d'emettre un son quand l'ennemie declenche sa grenade .(juste avant de tirer)
Cela est un avantage car il est impossible normalement d'entendre ce bruit ou difficilement ...
Ce script fonctionne avec la commande pstat_weap .
Toute les 200ms ,il verifie que le joueur disposant le cn 1 ne declenche pas de grenade .
Le script est assez simple :
La premiere etape est "toucher = (at (pstat_weap 1) 16)" ,cela signifie que je cherche la quantité de grenade declenché par le joueur avec le cn 1.,
100 ms ,je recherche encore la quantité de grenade declenché.
Si la difference est superieur à 1 ,je declenche un son (headshot) sinon je ne fais rien .
Le script se reboucle toute les 100ms.
Tu l'aura certainement compris ,ce script marche uniquement avec le joueur disposant le cn 1 .
Tu peux modifier ce script pour qu'il s'applique à tout les joueurs .
L'inconvenient de ce script est que la commande pstat_weap presente un certain lag .
Tu ne sauras que 300ms plus tard qu'il a declenché sa grenade .C'est mieux que rien :)
Thanks given by:
(03 Mar 13, 11:01AM)888 Wrote: grenadenemy = [
toucher = (at (pstat_weap 1) 16)
sleep 100 [etalors = (- (at (pstat_weap 1) 16) $toucher));if ($etalors) [sound 49];sleep 100 [grenadenemy]]
]
mapstartalways = [sleep 100 [grenadenemy]]

T'expliques tellement bien que j'ai tout compris (sarcasme). Il fait quoi ce script, exactement?
_____________________________________________________________

English translation:

Your explanation is so good I understood everything (sarcasm). What exactly does this script do?
Thanks given by:
(04 Mar 13, 01:20AM)BarricadeX75 Wrote:
(03 Mar 13, 11:01AM)888 Wrote: grenadenemy = [
toucher = (at (pstat_weap 1) 16)
sleep 100 [etalors = (- (at (pstat_weap 1) 16) $toucher));if ($etalors) [sound 49];sleep 100 [grenadenemy]]
]
mapstartalways = [sleep 100 [grenadenemy]]

T'expliques tellement bien que j'ai tout compris (sarcasme). Il fait quoi ce script, exactement?
_____________________________________________________________

English translation:

Your explanation is so good I understood everything (sarcasm). What exactly does this script do?

Have you considered reading his whole post ?
Also, please post in English and only English.
Thanks given by:
(04 Mar 13, 01:57AM)Luc@s Wrote: Have you considered reading his whole post ?
Also, please post in English and only English.

Wow dude... Don't be mad, let people post in their native language, calm down
Thanks given by:
(04 Mar 13, 01:57AM)Luc@s Wrote:
(04 Mar 13, 01:20AM)BarricadeX75 Wrote:
(03 Mar 13, 11:01AM)888 Wrote: grenadenemy = [
toucher = (at (pstat_weap 1) 16)
sleep 100 [etalors = (- (at (pstat_weap 1) 16) $toucher));if ($etalors) [sound 49];sleep 100 [grenadenemy]]
]
mapstartalways = [sleep 100 [grenadenemy]]

T'expliques tellement bien que j'ai tout compris (sarcasme). Il fait quoi ce script, exactement?
_____________________________________________________________

English translation:

Your explanation is so good I understood everything (sarcasm). What exactly does this script do?

Have you considered reading his whole post ?
Also, please post in English and only English.

I read his whole post. Sorry if I'm not as advanced in CubeScript as you are. Also, if he explains in French, I'm sure he'll make himself a lot clearer. De plus, il n'est pas écrit dans les règles que l'on est obligé de poster en Anglais tout le temps.

EDIT: Anyway, I read the script and the thing is, I don't understand how it works exactly, and this is why I asked for an explanation.
Thanks given by:
(04 Mar 13, 02:42AM)BarricadeX75 Wrote: De plus, il n'est pas écrit dans les règles que l'on est obligé de poster en Anglais tout le temps.

Rule #8. We understand that english is not the first language to many of our users, but do your best to use English (if possible), proper spelling, grammar, etc.

We do occasionally make exceptions for those who actually don't understand English at all and when the Google translation provided is way too confusing.
In this case we ask to write in native language and people who understand will either answer in both language or relay the message.
This is all common sense really, if you let everyone express themselves in they own lingo it wouldn't last a day before it all end up in a right mess (Remember Babel Tower).
Thanks given by:
(04 Mar 13, 06:20AM)DES|Cleaner Wrote: In this case we ask to write in native language and people who understand will either answer in both language or relay the message.

Which is what I was doing/going to do :P
Thanks given by:
Lss damage :
[code=cubescript]
alias hits [
hit2 = (at (pstat_weap (findcn $curname)) $arme)
]
alias hits_ [
damagem = (- (at (pstat_weap (findcn $curname)) $arme) $hit2)
echo (concat " 0Damage made:" $damagem)
]
bind MOUSE1 [weapon 0;arme = 1;hits;attack;onrelease [sleep 100 [hits_]]]
bind MOUSE2 [if (= (curweapon) 8)[attack;arme = 17;hits;sleep 3000 [hits_]][weapon 8;attack]]

[/code]

@Barricade
Le script "pull grenade" permet d'emettre un son quand l'ennemie declenche sa grenade .(juste avant de tirer)
Cela est un avantage car il est impossible normalement d'entendre ce bruit ou difficilement ...
Ce script fonctionne avec la commande pstat_weap .
Toute les 200ms ,il verifie que le joueur disposant le cn 1 ne declenche pas de grenade .
Le script est assez simple :
La premiere etape est "toucher = (at (pstat_weap 1) 16)" ,cela signifie que je cherche la quantité de grenade declenché par le joueur avec le cn 1.,
100 ms ,je recherche encore la quantité de grenade declenché.
Si la difference est superieur à 1 ,je declenche un son (headshot) sinon je ne fais rien .
Le script se reboucle toute les 100ms.
Tu l'aura certainement compris ,ce script marche uniquement avec le joueur disposant le cn 1 .
Tu peux modifier ce script pour qu'il s'applique à tout les joueurs .
L'inconvenient de ce script est que la commande pstat_weap presente un certain lag .
Tu ne sauras que 300ms plus tard qu'il a declenché sa grenade .C'est mieux que rien :)

So i think the sound grenade_pull must be improved ...
Sorry ,i explain just in french for the script .
Thanks given by:
(04 Mar 13, 09:40AM)888 Wrote: Lss damage :
alias hits [
hit2 = (at (pstat_weap (findcn $curname)) $arme)
]
alias hits_ [
damagem = (- (at (pstat_weap (findcn $curname)) $arme) $hit2)
echo (concat " 0Damage made:" $damagem)
]
bind MOUSE1 [weapon 0;arme = 1;hits;attack;onrelease [sleep 100 [hits_]]]
bind MOUSE2 [if (= (curweapon) 8)[attack;arme = 17;hits;sleep 3000 [hits_]][weapon 8;attack]]

@Barricade
Le script "pull grenade" permet d'emettre un son quand l'ennemie declenche sa grenade .(juste avant de tirer)
Cela est un avantage car il est impossible normalement d'entendre ce bruit ou difficilement ...
Ce script fonctionne avec la commande pstat_weap .
Toute les 200ms ,il verifie que le joueur disposant le cn 1 ne declenche pas de grenade .
Le script est assez simple :
La premiere etape est "toucher = (at (pstat_weap 1) 16)" ,cela signifie que je cherche la quantité de grenade declenché par le joueur avec le cn 1.,
100 ms ,je recherche encore la quantité de grenade declenché.
Si la difference est superieur à 1 ,je declenche un son (headshot) sinon je ne fais rien .
Le script se reboucle toute les 100ms.
Tu l'aura certainement compris ,ce script marche uniquement avec le joueur disposant le cn 1 .
Tu peux modifier ce script pour qu'il s'applique à tout les joueurs .
L'inconvenient de ce script est que la commande pstat_weap presente un certain lag .
Tu ne sauras que 300ms plus tard qu'il a declenché sa grenade .C'est mieux que rien :)

So i think the sound grenade_pull must be improved ...
Sorry ,i explain just in french for the script .

That's really interesting, and also really clever :) What I wasn't understanding was what the pstat_weap value was (I thought it was looking for the damage, today was a looooooonnnnng day).
Thanks given by:
@ 888 & BarricadeX75

You both understand English quite well so don't take the piss!
Thanks given by:
(04 Mar 13, 02:42AM)BarricadeX75 Wrote: I read his whole post. Sorry if I'm not as advanced in CubeScript as you are.
It's not about being advanced in cubescript or not.
The explanation was given just above the script.
You have omitted to quote this part of his post for some reasons. So you might have also forgotten to read it.
(04 Mar 13, 02:42AM)BarricadeX75 Wrote: De plus, il n'est pas écrit dans les règles que l'on est obligé de poster en Anglais tout le temps.
Yes it is. You and 888 do not need to speak in your native languages, so don't do it.
Thanks given by:
This script is again a script on damage :)
The advantage of this script is what you know the damade made by you but others too.
The key "j" allow to launch the script
[code=cubescript]


bind j [last_dmg0 = 0;last_dmg1 = 0;
last_dmg2 = 0;
last_dmg3 = 0;
last_dmg4 = 0;
last_dmg5 = 0;
last_dmg6 = 0;
last_dmg7 = 0;
last_dmg8 = 0;
last_dmg9 = 0;
last_dmg10 = 0;
last_dmg11 = 0;
last_dmg12 = 0;
last_dmg13 = 0;
last_dmg10 = 0;
last_dmg11 = 0;
last_dmg12 = 0;
last_dmg13 = 0;
last_dmg14 = 0;
last_dmg15 = 0;
last_dmg16 = 0;
last_dmg17 = 0;
last_dmg18 = 0;
last_dmg19 = 0;
last_dmg20 = 0;check_dmg]

alias check_dmg [

loop cn 20 [ new_dmg = 0;

stat_obj = (pstat_weap $cn);
loop i 10 [new_dmg = (+ (at $stat_obj (+ (* $i 2) 1)) $new_dmg );] //addition domage entre eux



diff = (- $new_dmg ((concatword last_dmg $cn)));

if (> $diff 0) [echo (concat "Damage:" $diff "by:" (findpn $cn) );(concatword last_dmg $cn) = $new_dmg;]


] //fin loop cn

sleep 800 [check_dmg]
]
[/code]

Mod edit: please use code=cubescript tags !
Thanks given by:
(05 Mar 13, 12:34AM)888 Wrote: This script is again a script on damage :)
The advantage of this script is what you know the damade made by you but others too.
The key "j" allow to launch the script

why should one know how much damage others are doing? this is where i draw the line, not even cs allows this, maybe i am just misinterpreting ur google translator speak though

Mod edit: don't quote fcking long posts :P
Thanks given by:
(05 Mar 13, 12:50AM)Vermi Wrote: this is where i draw the line

You're drawing the line a little late in the game bud, pstat_weap has been in AC since like 1.1.0.0

(05 Mar 13, 12:50AM)Vermi Wrote: not even cs allows this

By "cs" do you mean counter strike or cubescript? Either way, LOL.
Thanks given by:
ok enjoy destroying what was a fun competitive scene, just because a feature exists doesn't make it right.... i meant counter strike bro, trust me as an fps expert that this is a very bad idea

Why do you think i've been against this idea since the start? A big part of AC is not knowing some things e.g if i know how much health people have it takes away an essence of skill...
Thanks given by:
holy fuck you can now see damage made by players other than you?

thats ridiculous, please remove this. this makes no sense whatsoever. it facilitates counting numbers. COUNTING
Thanks given by:
wtf remove this
Thanks given by:
ahahha xD
Thanks given by:
(05 Mar 13, 02:57AM)Cemer Wrote: holy fuck you can now see damage made by players other than you?
thats ridiculous, please remove this. this makes no sense whatsoever. it facilitates counting numbers. COUNTING
lol - This is new to some of you? I know clans who already use it for a long time ... Scripters ...
So I follow the same line of thought from the beginning that the Dev's are the only ones who can fix or ruin the game.
* And I have yet to hear of Mod's and Dev's and some players that these scripts does not change the "game play". Give me a breack.
Thanks given by:
(05 Mar 13, 02:57AM)Cemer Wrote: holy fuck you can now see damage made by players other than you?

thats ridiculous, please remove this. this makes no sense whatsoever. it facilitates counting numbers. COUNTING

So Vermi, just because Counter Strike doesn't have a feature means AC shouldn't either? So we're back to the AC != CS thing again...

Alright so the devs take out pstat_weap/onHit/onKill for the next version, we break compatibility with hundreds of scripts and only stop a handful of people actually using them. Then the only players with access to such data is cheaters...yea great plan.
Thanks given by:
[Image: Shaking_head.gif] what was wrong with AC before the advent of pstat? I'll admit i don't really understand it's full functionality, but this is just silly... Also why are you quoting someone else but addressing me?
Thanks given by:
(05 Mar 13, 03:48AM)Vermi Wrote: what was wrong with AC before the advent of pstat?

Nothing really, except a lot of scripts that were not possible previously became possible when it was implemented. This one included.

(05 Mar 13, 03:48AM)Vermi Wrote: I'll admit i don't really understand it's full functionality

How can you be so against something you don't even understand then?

(05 Mar 13, 03:48AM)Vermi Wrote: but this is just silly

I agree, its silly watching you rant and rave over a feature thats been in the game for years. Quite entertaining though ty.

(05 Mar 13, 03:48AM)Vermi Wrote: Also why are you quoting someone else but addressing me?

I agree with cemer's blatant sarcasm.

Anyways feel free to keep bitching about something you don't even understand. Sure we can remove these features from cubescript but do you honestly think its going to stop you from being beaten by people using it in-game? Anyone who has a shred of knowledge about c++ can modify clients to give them/others way more information than these kinda scripts ever thought of providing. You seem to think because of this script people will always know everyone's health...yea right...
Thanks given by:
The worst blind is the blind who do not want to see.
There was something wrong with the scripts in the game, yes! So the commands were modified in the next release. It is not ok. Will be modified. It is not ok. Will be modified. It is not ok. Will be modified. It is not ok. Will be modified.
An error does not fit to justify another error.
That comparison was that? Cheaters use C + +, scripters use cubescript for the same thing?
A player may not know programming but understands the consequences of the script in gameplay.
Modify the client is wrong. Use script to modify the game play is also wrong. Dot.
We're just talking. It is normal for an inventor scripts defend the use of scripts. but we must think about the best for the game.
Thanks given by:
(05 Mar 13, 04:32AM)1Cap Wrote: It is normal for an inventor scripts defend the use of scripts. but we must think about the best for the game.

If you are somehow insinuating that I implemented the cubescript functions necessary to make these scripts possible, you would be wrong.

If you are somehow insinuating that I do not care if game breaking scripts are possible with cubescript, you would also be wrong.

If you are somehow insinuating that I do not care about what is best for this game, you would be outside of your fk'ing mind. I won't go into detail, but I've put my heart and soul into this game over the years and that won't change anytime soon, regardless of how badly some of you wish it would.
Thanks given by:
(05 Mar 13, 03:41AM)Bukz Wrote: Then the only players with access to such data is cheaters...yea great plan.
With that logic we should also give everyone aimbot and speedhack hacks integrated into the options menu so that cheaters aren't the only ones using them?
Thanks given by:
@#M|A#Wolf, can you speedhack with cubescript? Can you aimbot with cubescript? Can you do either (with cubescript) in any version or future version of AC?

(its a rhetorical question, the answer is no)
Thanks given by:
(05 Mar 13, 04:44AM)#M|A#Wolf Wrote:
(05 Mar 13, 03:41AM)Bukz Wrote: Then the only players with access to such data is cheaters...yea great plan.
With that logic we should also give everyone aimbot and speedhack hacks integrated into the options menu so that cheaters aren't the only ones using them?

I do believe there is a huge difference between knowing the damage your enemies did and actual cheating (as in, aimbot, wallhacks, etc).
Thanks given by:
let's get some other devs opinions on this, there is obviously no getting through to bukzy
Thanks given by:
i was half joking

why was pstat allowed though, to be curious.
Thanks given by: