[Half-Life AMXX] / include / ns.inc Repository:
ViewVC logotype

Diff of /include/ns.inc

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 16, Fri Nov 16 15:12:40 2007 UTC revision 17, Fri Nov 16 15:29:57 2007 UTC
# Line 1  Line 1 
1  /* NS module functions  /* NS module functions
2   * -   *
3   * (c) 2004, Steve Dudenhoeffer   * by the AMX Mod X Development Team
4     *
5   * This file is provided as is (no warranties).   * This file is provided as is (no warranties).
6   */   */
7    
# Line 19  Line 20 
20  #endif  #endif
21    
22    
23    
24  #include <ns_const>  #include <ns_const>
25    
26    
27  /* Called whenever the client's class is changed.  The classes given match get_class() output */  /**
28     * Called whenever the client's class is changed.
29     *
30     * @param       id                      The index of the player who changed.
31     * @param       newclass        The class the client changed to.  Check the class enum in ns_const.inc.
32     * @param       oldclass        The class the client changed from.  Check the class enum in ns_const.inc.
33     * @noreturn
34     */
35  forward client_changeclass(id,newclass,oldclass);  forward client_changeclass(id,newclass,oldclass);
36    
37  /* Called whenever the client build's a structure.  If type is 1, it's a marine structure, if type is 2, it's alien. */  /**
38     * Called whenever the client builds a structyure.
39     *
40     * @param idPlayer              The player index who triggered the building.
41     * @param idStructure   The structure index that was created.
42     * @param type                  The type of structure that was built (1 for marine, 2 for alien).
43     * @param impulse               The impulse command that was issued to build this structure.
44     * @noreturn
45     */
46  forward client_built(idPlayer,idStructure,type,impulse);  forward client_built(idPlayer,idStructure,type,impulse);
47    
48  /* Returns if the map's combat or not. */  /**
49     * Tell whether or not the map is combat.
50     *
51     * @return              1 if combat, 0 otherwise.
52     */
53  native ns_is_combat();  native ns_is_combat();
54    
55  /* Sends a popup to a player.  Set target to 0 to send to everybody. Message length is 180 characters.  The last parameter, if set to 1, will only display when the player has cl_autohelp set to 1. */  /**
56     * Returns the gameplay type for the currently active map.
57     * Refer to ns_const.inc's NSGameplay enum for details.
58     *
59     * @note                The earliest this is guaranteed to be accurate is during plugin_init().  It needs
60     *                              the info_gameplay entity to be properly set within the map, or it will return "Unknown",
61     *                              or "Cantfind".
62     *
63     * @return              Return the gameplay mode, as accurate as the module can tell.
64     */
65    native NSGameplay:ns_get_gameplay();
66    
67    /**
68     * Exact syntax as get_user_team, but should be more accurate.
69     *
70     * @param id    Player id.
71     * @param buff  Buffer to store team name in.
72     * @param len   Buffer length.
73     * @return              The pev_team setting for the player.
74     */
75    native ns_get_user_team(id, buff[], len);
76    
77    /**
78     * Send an NS-style popup message.
79     *
80     * @param target                The client to receive the message.  Set to 0 to send to everybody.
81     * @param szMsg         The message to send, 180 characters max.
82     * @param ah                    Whether to only display the message on clients who have the cvar "cl_autohelp" set to 1.
83     * @noreturn
84     */
85  native ns_popup(target,const szMsg[180],ah=0);  native ns_popup(target,const szMsg[180],ah=0);
86    
87  /* Sets a player model.  Omit the second parameter to return to default.  /**
88     Note: This does *not* change back on death, team switch, gestations, etc. */   * Sets a player model.  Omit the second parameter to return to default
89     *
90     * @note                                The model does not revert on death, teamswitch, gestation, etc.
91     *
92     * @param id                    The player id to change.
93     * @param szModel               The model to change to.
94     * @noreturn
95     */
96  native ns_set_player_model(id,const szModel[]="");  native ns_set_player_model(id,const szModel[]="");
97    
98  /* Sets a player's skin.  Omit second parameter to return to default.  /**
99     Note: This does *not* change back on death, team switch, gestations, etc. */   * Sets a player skin.  Omit the second parameter to return to default
100     *
101     * @note                                The skin does not revert on death, teamswitch, gestation, etc.
102     *
103     * @param id                    The player id to change.
104     * @param skin                  The skin number to change to.
105     * @noreturn
106     */
107  native ns_set_player_skin(id,skin=-1);  native ns_set_player_skin(id,skin=-1);
108    
109  /* Sets a player's body.  Omit second parameter to return to default.  /**
110     Note: This does *not* change back on death, team switch, gestations, etc. */   * Sets a player body.  Omit the second parameter to return to default
111     *
112     * @note                                The body does not revert on death, teamswitch, gestation, etc.
113     *
114     * @param id                    The player id to change.
115     * @param body                  The body number to change to.
116     * @noreturn
117     */
118  native ns_set_player_body(id,body=-1);  native ns_set_player_body(id,body=-1);
119    
120  /* Sets a player's speedchange. Omit the second parameter to return to default */  /**
121     * Set this to modify the player's speed by a certain amount.
122     *
123     * @note                                The speed does not revert on death, teamswitch, gestation, etc.
124     *
125     * @param id                    The player id to change.
126     * @param speedchange   The speed to modify the player speed by.  Set to 0 to revert to default speed.
127     * @noreturn
128     */
129  native ns_set_speedchange(id,speedchange=0);  native ns_set_speedchange(id,speedchange=0);
130    
131  /* Returns a player's current speedchange. */  /**
132     * Returns a client's current speed modifier.
133     *
134     * @param       id                      The client id to check.
135     * @return                              The module's current speed modifier for the client.
136     */
137  native ns_get_speedchange(id);  native ns_get_speedchange(id);
138    
139  /* Returns a player's max speed before the speed change is factored in. */  /**
140     * Returns a client's maxspeed before the speed change modifier is factored in.
141     *
142     * @param       id                      The client id to check.
143     * @return                              The maxspeed for the client.
144     */
145  native ns_get_maxspeed(id);  native ns_get_maxspeed(id);
146    
147  /* Returns whether or not this mask is set from the entity's iuser4 field.  Use the "mask" enum for reference. */  /* Returns whether or not this mask is set from the entity's iuser4 field.  Use the "mask" enum for reference. */
# Line 96  Line 185 
185  /* Returns the class of the player.  Look in the classes enum in ns_const.inc for the value's meaning. */  /* Returns the class of the player.  Look in the classes enum in ns_const.inc for the value's meaning. */
186  native ns_get_class(id);  native ns_get_class(id);
187    
188  /* Returns a player's percentage of JP fuel */  /**
189     * Gets the player's jetpack fuel reserve.
190     *
191     * @param id            The player to get fuel from.
192     * @return                      The amount of fuel in the player's reserve. (0.0 through 100.0)
193     */
194  native Float:ns_get_jpfuel(id);  native Float:ns_get_jpfuel(id);
195    
196  /* Sets a player's percentage of JP fuel */  /**
197     * Sets the player's jetpack fuel reserve.
198     *
199     * @param id            The player to set fuel.
200     * @param fuel          The amount of fuel to set, as a percentage (0.0 through 100.0)
201     * @noreturn
202     */
203  native ns_set_jpfuel(id,Float:fuel);  native ns_set_jpfuel(id,Float:fuel);
204    
205  /* Returns a player's percentage of adrenaline (alien) */  /**
206     * Adds to the player's jetpack fuel reserve.
207     *
208     * @param id            The player to add fuel to.
209     * @param amount        The amount of fuel to add, as a percentage (0.0 through 100.0)
210     * @return                      The new amount of fuel in the player's reserve. (0.0 through 100.0)
211     */
212    native Float:ns_add_jpfuel(id, Float:amount);
213    
214    /**
215     * Gets the player's energy percentage.
216     *
217     * @param id            The player to get the energy from.
218     * @return                      The amount of energy the player has (0.0 through 100.0)
219     */
220  native Float:ns_get_energy(id);  native Float:ns_get_energy(id);
221    
222  /* Sets a player's percentage of adrenaline */  /**
223     * Sets the player's energy percentage.
224     *
225     * @param id            The player to set the energy on.
226     * @param energy        The amount of energy to set (0.0 through 100.0)
227     * @noreturn
228     */
229  native ns_set_energy(id,Float:energy);  native ns_set_energy(id,Float:energy);
230    
231  /* Returns a player's resources. (alien only) */  /**
232     * Adds to the player's energy percentage.
233     *
234     * @param id            The player to add the energy to.
235     * @param amount        The amount of energy to add to the player.
236     * @return                      The new amount of energy the player has (0.0 through 100.0)
237     */
238    native Float:ns_add_energy(id, Float:amount);
239    
240    
241    /**
242     * Returns a player's resources.
243     *
244     * @note                        This is only for alien players.
245     * @param id            The id of the player to check.
246     * @return                      Amount of resources this player has.
247     */
248  native Float:ns_get_res(id);  native Float:ns_get_res(id);
249    
250  /* Sets a player's resources. (alien only) */  /**
251     * Sets a player's resources.
252     *
253     * @note                        This is only for alien players.
254     * @param id            The id of the player to set.
255     * @param res           Amount of resources to set on this player.
256     * @noreturn
257     */
258  native ns_set_res(id,Float:res);  native ns_set_res(id,Float:res);
259    
260  /* Returns a player's experience (combat only) */  /**
261     * Adds an amount of resources to the player.
262     *
263     * @note                        This is only for alien players.
264     * @param id            The id of the player to add resources to.
265     * @param amount        The amount to add to the player.
266     * @return                      The new amount of resources the player has.
267     */
268    native Float:ns_add_res(id, Float:amount);
269    
270    /**
271     * Returns the team's resources.
272     *
273     * @param Team          1 for teama, 2 for teamb. (eg: in MvA maps, 1 is marines,
274                                            2 is aliens.  In mvm, 1 is marine1, 2 is marine2)
275     * @return                      The amount of resources in this team's resource pool.
276     */
277    native Float:ns_get_teamres(Team);
278    
279    /**
280     * Sets the team's resources in the resource pool.
281     *
282     * @note                        If this is used on an alien team, the resources will be
283     *                                      distributed between all of the players who need resources.
284     * @param Team          1 for teama, 2 for teamb. (eg: in MvA maps, 1 is marines,
285     *                                      2 is aliens.  In mvm, 1 is marine1, 2 is marine2)
286     * @param value The amount to set the resources to set to.
287     * @noreturn
288     */
289    native ns_set_teamres(Team, Float:value);
290    
291    /**
292     * Adds to the team's resources in the resource pool.
293     *
294     * @note                        If this is used on an alien team, the resources will be
295     *                                      distributed between all of the players who need resources.
296     * @param Team          1 for teama, 2 for teamb. (eg: in MvA maps, 1 is marines,
297     *                                      2 is aliens.  In mvm, 1 is marine1, 2 is marine2)
298     * @param value The amount to set the resources to add to the pool
299     * @return                      The new amount of resources in the resource pool.
300     */
301    native Float:ns_add_teamres(Team,Float:value);
302    
303    
304    /**
305     * Returns the player's experience.
306     *
307     * @note                        Combat only.
308     * @param id            The player to get experience value from.
309     * @return                      The amount of experience this player has.
310     */
311  native Float:ns_get_exp(id);  native Float:ns_get_exp(id);
312    
313  /* Sets a player's experience (combat only) */  /**
314     * Sets the player's experience.
315     *
316     * @note                        Combat only.
317     * @param id            The player to set experience value on.
318     * @param exp           The amount of experience this player will have.
319     * @noreturn
320     */
321  native ns_set_exp(id,Float:exp);  native ns_set_exp(id,Float:exp);
322    
323  /* Gets a player's point spent value in combat */  /**
324     * Adds to the player's experience.
325     *
326     * @note                        Combat only.
327     * @param id            The player to add experience value to.
328     * @param value The amount of experience this player will receive.
329     * @return                      The new amount of experience this player has.
330     */
331    native Float:ns_add_exp(id, Float:value);
332    
333    /**
334     * Gets the player's points spent count in combat.
335     *
336     * @param id            The player to check.
337     * @return                      The amount of points this player has spent.
338     */
339  native ns_get_points(id);  native ns_get_points(id);
340    
341  /* Sets a player's point spent value in combat */  /**
342     * Sets the player's points spent count in combat.
343     *
344     * @param id            The player to set this on.
345     * @param points        The amount to set this to.
346     * @noreturn
347     */
348  native ns_set_points(id,points);  native ns_set_points(id,points);
349    
350  /* Gets a weapon's damage (use the weapon index, not the player) */  /**
351     * Adds to the player's points spent count in combat.
352     *
353     * @param id            The player to add this to.
354     * @param value The value to add to the points spent.
355     * @return                      The new value of the points spent variable.
356     */
357    native ns_add_points(id,points);
358    
359    /**
360     * Gets the damage for this weapon.
361     *
362     * @note                        Use weapon index, not player index!
363     * @param idWeapon      The entity index of the weapon to check.
364     * @return                      The damage this weapon does.
365     */
366  native Float:ns_get_weap_dmg(idWeapon);  native Float:ns_get_weap_dmg(idWeapon);
367    
368  /* Sets a weapon's damage (use the weapon index, not the player) */  /**
369     * Sets the damage for this weapon.
370     *
371     * @note                        Use weapon index, not player index!
372     * @param idWeapon      The entity index of the weapon to set.
373     * @param damage        The damage to make this weapon cause.
374     * @noreturn
375     */
376  native ns_set_weap_dmg(idWeapon,Float:damage);  native ns_set_weap_dmg(idWeapon,Float:damage);
377    
378  /* Gets a weapon's range (use the weapon index, not the player) */  /**
379     * Gets the maximum range for this weapon.
380     *
381     * @note                        Use weapon index, not player index!
382     * @param idWeapon      The entity index of the weapon to check.
383     * @return                      The maximum range this weapon has.
384     */
385  native Float:ns_get_weap_range(idWeapon);  native Float:ns_get_weap_range(idWeapon);
386    
387  /* Sets a weapon's range (use the weapon index, not the player) */  /**
388     * Sets the maximum range for this weapon.
389     *
390     * @note                        Use weapon index, not player index!
391     * @param idWeapon      The entity index of the weapon to set.
392     * @param range The maximum range this weapon will have.
393     * @noreturn
394     */
395  native ns_set_weap_range(idWeapon,Float:range);  native ns_set_weap_range(idWeapon,Float:range);
396    
397  /* Gets a weapon's clip ammo (use the weapon index, not the player) */  /**
398     * Gets the weapon's clip ammo.
399     *
400     * @note                        Use weapon index, not player index!
401     * @param idWeapon      The weapon to get the clip ammo from.
402     * @return                      The amount of ammunition in the weapon's clip.
403     */
404  native ns_get_weap_clip(idWeapon);  native ns_get_weap_clip(idWeapon);
405    
406  /* Sets a weapon's clip ammo (use the weapon index, not the player) */  /**
407     * Sets the weapon's ammo in the clip.
408     *
409     * @note                        Use weapon index, not player index!
410     * @param idWeapon      The weapon to set the clip ammo on.
411     * @param clipsize      The amount of ammunition to set in the weapon's clip.
412     * @noreturn
413     */
414  native ns_set_weap_clip(idWeapon,clipsize);  native ns_set_weap_clip(idWeapon,clipsize);
415    
416  /* Gets the player's weapon reserve for the specified type of weapon.  /**
417     Look in ns_const.inc for the weapon enum. */   * Gets the player's weapon reserve (backpack ammo) for the specified
418     * type of weapon.
419     *
420     * @note                        Use player index, not weapon index!
421     * @param id            The player id to check ammo count on.
422     * @param weapon        The weapon type to check ammo count for.
423     * @return                      The ammunition count in the player's reserve.
424     */
425  native ns_get_weap_reserve(id,weapon);  native ns_get_weap_reserve(id,weapon);
426    
427  /* Sets the player's weapon reserve for the specified type of weapon.  /**
428     Look in ns_const.inc for the weapon enum. */   * Sets the player's weapon reserve (backpack ammo) for the specified
429     * type of weapon.
430     *
431     * @note                        Use player index, not weapon index!
432     * @param id            The player id to set ammo count on.
433     * @param weapon        The weapon type to set ammo count for.
434     * @param ammo          The ammunition count to set.
435     * @noreturn
436     */
437  native ns_set_weap_reserve(id,weapon,ammo);  native ns_set_weap_reserve(id,weapon,ammo);
438    
439  /* Gets a player's score.  Note: score from level is automatically factored into the scoreboard display in combat. */  /**
440     * Gets the player's score.
441     *
442     * @note                        The score from level is automatically factored into the scoreboard in combat.
443     * @param idPlayer      The player to get the score for.
444     * @return                      The player's score.
445     */
446  native ns_get_score(idPlayer);  native ns_get_score(idPlayer);
447    
448  /* Sets a player's score.  Note: score from level is automatically factored into the scoreboard display in combat. */  /**
449     * Sets the player's score.
450     *
451     * @note                        The score from level is automatically factored into the scoreboard in combat.
452     * @param idPlayer      The player to get the score for.
453     * @param score What to set the player's score as.
454     * @noreturn
455     */
456  native ns_set_score(idPlayer,score);  native ns_set_score(idPlayer,score);
457    
458    /* Adds to a player's score
459     * Returns the new score on success
460     */
461    native ns_add_score(idPlayer,score);
462    
463  /* Gets a player's death count. */  /* Gets a player's death count. */
464  native ns_get_deaths(idPlayer);  native ns_get_deaths(idPlayer);
465    
466  /* Sets a player's death count. */  /* Sets a player's death count. */
467  native ns_set_deaths(idPlayer,numdeaths);  native ns_set_deaths(idPlayer,numdeaths);
468    
469    /* Adds to a player's death count
470     * Returns the new death count on success
471     */
472    native ns_add_deaths(idPlayer,numdeaths);
473    
474  /* Gets the index of the owner of a structure. -1 for no owner. */  /* Gets the index of the owner of a structure. -1 for no owner. */
475  native ns_get_struct_owner(idStructsure);  native ns_get_struct_owner(idStructsure);
476    
# Line 179  Line 486 
486  /* Sets the players field of view, set "_fov" to 0.0 (or omit it) to return to normal. FOV change will persist until disconnect unless reset by a plugin */  /* Sets the players field of view, set "_fov" to 0.0 (or omit it) to return to normal. FOV change will persist until disconnect unless reset by a plugin */
487  native ns_set_fov(idPlayer,Float:_fov=0.0);  native ns_set_fov(idPlayer,Float:_fov=0.0);
488    
489  /* Give a player an item. */  /**
490  native ns_give_item(id,const _szClassName[]);   * Give the player an item.
491     *
492     * @param id            The player to give the item to.
493     * @param class The map-classname of the entity to give to the player.
494     * @noreturn
495     */
496    native ns_give_item(id, const class[]);
497    
498  /* Returns if a player has the hive ability number, if ability is 0 it will return the number of active hives */  /**
499     * Returns 1 if a player has the hive ability number.
500     * If ability is 0, it will return the number of active hives.
501     *
502     * @param idPlayer      The player index to look up.
503     * @param ability       The ability number to check, set to 0 to get number of active hives.
504     * @return                      If ability is != 0, returns 1 or 0 depending on if the client has the ability.
505     *                                      If ability is 0, returns the number of active hives.
506     */
507  native ns_get_hive_ability(idPlayer, ability=0);  native ns_get_hive_ability(idPlayer, ability=0);
508    
509  /* A player's team entvar has changed */  /**
510     * Triggered whenever a client's pev->team changes.
511     *
512     * @param id            The id of the client.
513     * @param newteam       The team number of the new team.
514     * @param oldteam       The team number of the old team.
515     * @noreturn
516     */
517  forward client_changeteam(id,newteam,oldteam);  forward client_changeteam(id,newteam,oldteam);
518    
519  /* A player's deadflag entvar has changed from >0 to 0 */  /**
520     * Triggered whenever a client's pev->deadflag changes from >0 to 0.
521     *
522     * @param id            The id of the client.
523     * @noreturn
524     */
525  forward client_spawn(id);  forward client_spawn(id);
526    
527    /**
528     * Calls NS's private damage routine on the victim entity.
529     *
530     * @deprecated
531     * @note                This is provided for backwards compatibility with peachy's module.
532     *                              It is suggested to use hamsandwich for this action instead.
533     *
534     * @param IDVictim              The victim that is taking the damage.
535     * @param IDInflictor   The entity that is causing the damage (weapon, etc).
536     * @param IDAttacker    The attacker who is triggering the damage (person shooting).
537     * @param Damage                The amount of damage being done.
538     * @param DamageType    The damage type being done (bitmask).
539     */
540    native ns_takedamage(IDVictim, IDInflictor, IDAttacker, Float:Damage, DamageType);
541    
542    /**
543     * Attempts to unstick a player.
544     *
545     * @param id                            Player to unstick.
546     * @param StartDistance Distance to start from the player to check for a new location.
547     * @param MaxAttempts           How many attempts to try to find a new spot before giving up.
548     * @return                                      1 on success, 0 on cannot find a place to move player to,
549     *                                                      -1 on invalid state (stunned/webbed), -2 on invalid class (comm/egg)
550     *                                                      -3 if the player is dead or a spectator, -4 on invalid player,
551     *                                                      -5 if the player is not connected.
552     */
553    native ns_unstick_player(id, StartDistance=32, MaxAttempts=128);
554    
555    /**
556     * Whether or not there is a game in progress.
557     *
558     * @return              true if a game is in progress, false otherwise.
559     */
560    native bool:ns_round_in_progress();
561    
562    /**
563     * Called at the approximate time that a round is started.
564     *
565     * @noreturn
566     */
567    forward round_start();
568    
569    /**
570     * Called immediately when a round ends
571     *
572     * @param roundtime             The length of the round in seconds.
573     * @noreturn
574     */
575    forward round_end(Float:roundtime);
576    
577    forward map_reset(isload);
578    
579    native ns_get_weapon(idPlayer,weaponid,&weapontype=0);
580    
581    /* Returns the location name of the provided x/y position
582     * (z origin is ignored; can't have location over location)
583     * -
584     * Note that as of NS 3.2 beta 2, on the following maps
585     * the returned string should be passed through ns_lookup_title
586     * to be human readable:
587     *   ns_bast, ns_hera, ns_nothing, ns_tanith,
588     *   ns_nancy, ns_caged, ns_eclipse, ns_veil
589     *
590     * Passing the 5th parameter as non zero will auto look up
591     * the title if it exists.
592     */
593    native ns_get_locationname(Float:x, Float:y, name[], len, titlelookup=0);
594    
595    /* Looks up a key from titles.txt
596     * Returns -1 if the key is not found
597     * Otherwise it returns the length of the output
598     */
599    native ns_lookup_title(const KeyName[], Output[], length);
600    
601    /* Forces the structure to fully build
602     * Removes the ghost state from marine structures.
603     * Do not use this on hives! It wont work.
604     */
605    native ns_build_structure(idStructure);
606    
607    /* Forces the structure to begin recycling
608     * Passing an index other than a marine structure will
609     * have undefined results!
610     * -
611     * Note: This calls a private NS function!
612     *       Be careful when using this!
613     */
614    native ns_recycle(idStructure);
615    
616    /* Forces the weldable to trigger
617     * Passing an index other than a weldable
618     * will have undefined results!
619     * -
620     * NS renames func_weldable to avhweldable
621     * at map load.
622     * -
623     * Note: This calls a private NS function!
624     *       Be careful when using this!
625     */
626    native ns_finish_weldable(idWeldable);
627    
628    /* Gets the total time needed to weld this
629     * func_weldable shut.
630     * Note: NS renames "func_weldable"s to "avhweldable"s
631     * at run time!
632     */
633    native Float:ns_get_weld_time(idWeldable);
634    
635    /* Sets the total time needed to weld this
636     * func_weldable shut.
637     */
638    native ns_set_weld_time(idWeldable,Float:value);
639    
640    /* Adds to the weldable's time required to open.
641     * Returns the new required time on success.
642     * Note this native clamps the low value to 0.
643     */
644    native Float:ns_add_weld_time(idWeldable,Float:value);
645    
646    /* Gets the total time this func_weldable
647     * has been welded.
648     */
649    native Float:ns_get_weld_done(idWeldable);
650    
651    /* Sets the total time this func_weldable
652     * has been welded.
653     */
654    native ns_set_weld_done(idWeldable,Float:value);
655    
656    /* Adds to the total time this func_weldable
657     * has been welded.  Returns the new value.
658     * Note this native clamps the low value to 0.0
659     */
660    native Float:ns_add_weld_done(idWeldable,Float:value);
661    
662    /* Gets/sets/adds to the energy pool of this observatory. */
663    native Float:ns_get_obs_energy(idObs);
664    native ns_set_obs_energy(idObs,Float:value);
665    native Float:ns_add_obs_energy(idObs,Float:value);
666    /**
667     * Particle system natives
668     * -
669     * The particle system emulates a map-based custom particle system.
670     * Familiarity with the keyvalues from the map-based particle systems
671     * is recommended! You will be lost otherwise!
672     * -
673     * prsearle's NSPEdit is also recommended for designing the systems:
674     * http://homepage.ntlworld.com/pr.searle/NSPSEdit/NSPSEdit.html
675     */
676    
677    /* Creates a handle to the a particle system to configure
678     * -
679     * Note! this is not a particle system you can pass to
680     * ns_fire_ps()!
681     */
682    native RawPS:ns_create_ps();
683    
684    /* Sets the name of the particle system.
685     * -
686     * This is used for things like ns_get_ps_id()
687     * and through calling another particle system
688     * through the "ps_to_gen" field
689     */
690    native ns_set_ps_name(RawPS:system, const name[]);
691    
692    /* Sets the sprite to use for the particle system
693     * -
694     * You do NOT have to precache the sprite, BUT
695     * the sprite must obviously be on the client to
696     * display.
697     */
698    native ns_set_ps_sprite(RawPS:system, const sprite[]);
699    
700    /* Finalizes the particle system.  Do not configure it after this.
701     * A usable particle system handle is returned.
702     */
703    native Particle:ns_spawn_ps(RawPS:system);
704    
705    /* Draws a particle system at the given origin (and angles)
706     * Flags are the FEV_* defines from hlsdk_const.inc
707     * Only use handles returned by ns_spawn_ps or ns_get_ps_id here!
708     */
709    native ns_fire_ps(Particle:system,const Float:origin[3],const Float:angles[3]={0.0,0.0,0.0}, flags=0);
710    
711    /* Looks up a particle system by name
712     * Returns a usable particle system handle.
713     */
714    native Particle:ns_get_ps_id(const Name[]);
715    
716    /* The following are the parameters for configuring the
717     * particle system.  Look through the fgd and NSPSEdit
718     * for details!
719     */
720    native ns_set_ps_genrate(RawPS:system, genrate);
721    native ns_set_ps_genshape(RawPS:system, NSPS_GenShape:genshape);
722    native ns_set_ps_genshape_params(RawPS:system, const params[]);
723    native ns_set_ps_spriteframes(RawPS:system, spriteframes);
724    native ns_set_ps_numparticles(RawPS:system, numparticles);
725    native ns_set_ps_size(RawPS:system, Float:size);
726    native ns_set_ps_vel_params(RawPS:system, const params[]);
727    native ns_set_ps_vel_shape(RawPS:system, NSPS_VelShape:shape);
728    native ns_set_ps_sys_life(RawPS:system, Float:lifetime);
729    native ns_set_ps_particle_life(RawPS:system, Float:lifetime);
730    native ns_set_ps_rendermode(RawPS:system, NSPS_RenderMode:rendermode);
731    native ns_set_ps_to_gen(RawPS:system, const name[]);
732    native ns_set_ps_anim_speed(RawPS:system, speed);
733    native ns_set_ps_spawn_flags(RawPS:system, NSPS_Flags:flags);
734    native ns_set_ps_base_color(RawPS:system, const colors[]);
735    native ns_set_ps_scale(RawPS:system, Float:scale);
736    native ns_set_ps_max_alpha(RawPS:system, Float:maxalpha);

Legend:
Removed from v.16  
changed lines
  Added in v.17

Contact
ViewVC Help
Powered by ViewVC 1.0.4