Show Posts

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

Topics - Frenzzy

Pages: [1]
War3: Source - Addon plugins / Shop Items Drop Plugin
« on: November 01, 2011, 11:55:51 AM »
War3Source Addon - Shop Items Drop

This addon allows to physically drop war3source shop items after players death.

Servers running this addon:


  • Chance of physically drop item after player's death.
  • Hints when you look at the dropped item.
  • Messages about picking up items.
  • Items which are used immediately after purchase, such as the tome, never dropped.
  • Ability to add any item to no drop exclusions.
  • Ability to set lifetime of dropped items.
  • Special sounds bouncing and picking up items.
  • Beautiful model for dropped items - energy ball from HL2.
  • Special admin command for force item drop.
  • And much more...


  • SourceMod v1.3 or above.
  • SDKHooks v2.0 or above.
  • War3Source v1.1.9 or above. [if will be errors when compiling - uncomment GetClientItemsOwned() function]


Plugin version. Don't change this.

war3_dropitems_version "1.9"

Maximum dropped items at one time. 0 - Unlimited.

war3_dropitems_limit "64"

Shop item drop chance. 0.0 - No drop, 1.0 - Always drop, 0.25 - By default.

war3_dropitems_chance "0.25"

Shop item lifetime in seconds. 0 - All time.

war3_dropitems_lifetime "0"

List of no drop shop items. For example: 'ankh,mole,scroll' ect.

war3_dropitems_exceptions "scroll,mole,ankh,mines"

Elasticity of shop item (bounces). 0.0 - Min, 1.0 - Max.

war3_dropitems_elasticity "0.3"

Admin Commands:

Force drop shop items of a player.

war3drop <#userid|name> [item1] [item2] [...]


] war3drop @all helm ring        // Force drop helm and ring items of all players (if they have it).
] war3drop "Frenzzy"                // Force drop all items of the player Frenzzy.
] war3drop                                // Admin drop all their items.

Thanks to:


  • 1.0-1.7 - Private releases (beta).
  • 1.8 - Initial public release.
  • 1.9 - Memory leak fixed. Small optimizations.

War3: Source - Requests / Immunity_Abilites
« on: June 23, 2011, 01:17:28 AM »

Need this feature for some custom races/items.

In the same way as works Immunity_Wards

War3: Source - Requests / War3Statistics API
« on: June 10, 2011, 10:35:33 PM »
Can you add to War3Interface like this native from War3Source_Engine_Statistics?

native War3_GetClientPlace(client);

..and maybe you can add some other useful natives from stats engine.

Old Bugs / Double skill activation bug
« on: June 06, 2011, 07:30:17 PM »
To begin, I will show a little timeline of events for illustration:

Start: Player "Tester" has race "Undead Scourge"
20:10:00 - World triggered "Round_Start"
20:11:35 - Player "Tester" change race to "Human Alliance"
20:11:35 - Event: W3SetPendingRace(client, Human Alliance)
20:11:45 - Player "Tester" joined team "TERRORIST" (Player Dead)
20:12:00 - World triggered "Round_End"
20:12:12 - World triggered "Round_Start"
20:12:12 - Events: "OnWar3EventSpawn(Tester)" AND "OnRaceChanged(Tester, Undead Scourge, Human Alliance)" (at one and the same time)
20:12:12 - Player "Tester" got 190 Health for his race "Human Alliance" // BUG
20:12:55 - Player "Frenzzy" killed "Tester" with "deagle" (headshot)
20:12:57 - Player "Tester" purchased "Scroll of Respawning"
20:12:58 - Eevent: "OnWar3EventSpawn(Tester)"
20:12:58 - Player "Tester" got 145 Health for his race "Human Alliance" // Good!
20:13:22 - Admin change race of "Tester" to "Undead Scourge" (Player Alive) ---> Or race auto changed because of limit is exceeded for one team
End: Player "Tester" has 145 health with race "Undead Scourge" // Also bug

Part of the code "Human Alliance" race:

public OnRaceChanged(client, oldrace, newrace) {
    if (newrace != thisRaceID) {
        // ...
    } else {
        ActivateSkills(client); // Add health for the first time
        // ...

public OnWar3EventSpawn(client) {
    if (War3_GetRace(client) == thisRaceID) {
        ActivateSkills(client); // Add health for the second time
        // ...

public ActivateSkills(client) {
    new hpadd = 45; // Conditionally
    SetEntityHealth(client, GetClientHealth(client) + hpadd);
    War3_SetMaxHP(client, War3_GetMaxHP(client) + hpadd);
    // ...

Please add MAX_NAME_LENGTH constants to w3s interface.
I think it will help to make fewer errors in addons.



..and ect.

Old Bugs / W3ResetBuffRace() not restore a player's speed
« on: May 27, 2011, 03:47:02 PM »
If we change player speed with buffs such as: fMaxSpeed, fSlow, bStunned, bBashed.

Player's speed is NOT restored by these functions:

W3ResetBuffRace(client, fMaxSpeed, thisRaceID);
W3ResetBuffRace(client, fSlow, thisRaceID);
W3ResetBuffRace(client, bStunned, thisRaceID);
W3ResetBuffRace(client, bBashed, thisRaceID);
W3ResetAllBuffRace(client, thisRaceID);

We need to specify a new value of the buff, to change player speed:

War3_SetBuff(client, fMaxSpeed, thisRaceID, 1.0);
War3_SetBuff(client, fSlow, thisRaceID, 1.0);
War3_SetBuff(client, bStunned, thisRaceID, false);
War3_SetBuff(client, bBashed, thisRaceID, false);

Please make that W3ResetBuffRace and W3ResetAllBuffRace buffs can restore player speed.

Old Bugs / OnRaceChanged() Client is not in game
« on: May 24, 2011, 06:26:01 AM »
War3Source v1.2.1.7

Code: [Select]
L 05/24/2011 - 15:14:06: [SM] Native "IsPlayerAlive" reported: Client 4 is not in game
L 05/24/2011 - 15:14:06: [SM] Displaying call stack trace for plugin "War3Source_MyRace.smx":
L 05/24/2011 - 15:14:06: [SM]   [0]  Line 102, War3Source_MyRace.sp::OnRaceChanged()

Did you forget IsClientInGame check?

Old Bugs / Bad race ID 0
« on: May 23, 2011, 04:41:09 AM »
Code: [Select]
L 05/23/2011 - 13:46:13: SourceMod error session started
L 05/23/2011 - 13:46:13: Info (map "cs_italy") (file "errors_20110523.log")
L 05/23/2011 - 13:46:13: [war3source\War3Source_Engine_RaceClass.smx] bad race ID 0
L 05/23/2011 - 13:46:13: [SM] Plugin encountered error 15: Array index is out of bounds
L 05/23/2011 - 13:46:13: [SM] Native "War3_GetRaceSkillCount" reported: bad race ID 0
L 05/23/2011 - 13:46:13: [SM] Displaying call stack trace for plugin "war3source\War3Source_Engine_XPGold.smx":
L 05/23/2011 - 13:46:13: [SM]   [0]  Line 736, War3Source_Engine_XPGold.sp::LevelCheck()
L 05/23/2011 - 13:46:13: [SM]   [1]  Line 721, War3Source_Engine_XPGold.sp::OnWar3Event()
L 05/23/2011 - 13:46:24: [war3source\War3Source_Engine_RaceClass.smx] bad race ID 0
L 05/23/2011 - 13:46:24: [SM] Plugin encountered error 15: Array index is out of bounds
L 05/23/2011 - 13:46:24: [SM] Native "War3_GetRaceSkillCount" reported: bad race ID 0
L 05/23/2011 - 13:46:24: [SM] Displaying call stack trace for plugin "war3source\War3Source_Engine_XPGold.smx":
L 05/23/2011 - 13:46:24: [SM]   [0]  Line 736, War3Source_Engine_XPGold.sp::LevelCheck()
L 05/23/2011 - 13:46:24: [SM]   [1]  Line 721, War3Source_Engine_XPGold.sp::OnWar3Event()
L 05/23/2011 - 14:10:54: Error log file session closed.

And this error is often flickers in the logs:
Code: [Select]
[war3source\War3Source_Engine_DatabaseSaveXP.smx] SQL error: [T_CallbackUpdatePDataMain] Incorrect string value: '\xD0' for column 'name' at row 1

Old Bugs / W3GetDamageIsBullet is not work
« on: April 03, 2011, 04:06:50 AM »
public OnWar3EventPostHurt(victimattackerdamage)
    if (
W3GetDamageIsBullet() && ValidPlayer(victimtrue) && ValidPlayer(attackertrue) && GetClientTeam(victim) != GetClientTeam(attacker))
        if (
War3_GetRace(attacker) == thisRaceID)
// ... Additional Damage ...
            // !!!but not with a knife!!!
            // W3GetDamageIsBullet is not work(

Additional damage anyway applied with knife =(

Please add to war3source simple functions (such as War3_PrecacheSound) for working with files.
There are a lot of races, which use custom files, sounds, decals and models. In these races often repeats one and the same code.
I think it will help to simplify the use of custom resources.

Here is an example of how this might look like:

War3: Source - Requests / Do not give xp/gold for killing afk
« on: January 03, 2011, 05:52:47 PM »
I think need this variable in cfgs: enable/disable giving of xp/gold for killing afk.
You can also add move of players in spectators for a long time afk if you wish.

Guys, what do you think about this?

P.S.: This functionality can be taken from the GunGame plugin: addons/sourcemod/scripting/gungame_afk.sp

War3: Source - Requests / Items flag hidden
« on: January 03, 2011, 03:01:29 PM »
Please, add hidden flag for items, same way as done for races.

I want to see some items were not available on some maps..

War3: Source - Requests / OldRace parameter in OnRaceSelected event
« on: December 24, 2010, 06:38:00 PM »
There are more and more races, which reset their skills in event OnRaceSelected:

public OnRaceSelected(client, newrace) {
    if (newrace != thisRaceID) {
        // Reset the passive skills of race (sometimes contains a lot of code and checks)
        // This code is executed every time a player changes the race
        // The more races on the server, the more code is executed when the player changes the race (there are lags)
    } else {
        // Activate race's skills

I suggest adding in OnRaceSelected event new parameter "oldrace":

 * Gets called when someone changes their race.
 * @param client: The client's index.
 * @param newrace: The player's new race.
 * @param oldrace: The player's old race.

forward OnRaceSelected(client, newrace, oldrace);

Now slightly different picture:

public OnRaceSelected(client, newrace, oldrace) {
    if (newrace != thisRaceID && oldrace == thisRaceID) {
        // Reset the passive skills of race (sometimes contains a lot of code and checks)
    } else if (newrace == thisRaceID) {
        // Activate race's skills

I think this will solve the problem. What do you think about this?

War3: Source - Requests / OnItemPurchase pre hook
« on: December 24, 2010, 07:40:13 AM »
It'll be nice to add OnItemPurchase pre hook, so we can discard it aswell as a message about successfull bought or change a cost for example.

War3: Source - Addon plugins / [Packaged] Ammo Control Plugin
« on: December 16, 2010, 02:32:39 PM »
War3Source Addon - Ammo Control

Read the natives description for more information about this addon...
Supported only CSS game mod.

Servers running this addon:


Plugin version. Don't change this.

war3_ammocontrol_version "1.2"

Enable / Disable Ammo Control.

war3_ammocontrol_enable "1"


 * Give ammo and/or clip for player's weapon.
 * @param client: Client Index. Must be valid.
 * @param weapon: Weapon Index. Must be valid.
 * @param ammo: Amount of Ammo. Optional value. Use -1 to leave as it is.
 * @param clip: Amount of Clip. Optional value. Use -1 to leave as it is.
 * @noreturn

native War3_GiveWeaponAmmo(client, weapon, ammo = -1, clip = -1);

 * Set Ammo Control for player.
 * Auto control for the specified amount of ammo and the ammo in the clip after a buy (rebuy and autobuy) or reload.
 * Does not set an ammo and a clip, when GivePlayerItem used. Changes an ammo and/or a clip with a War3_GiveWeaponAmmo after a GivePlayerItem.
 * Also it does not give ammo, when player picks-up and gets the specified weapon from another player.
 * @param client: Client Index. Use only this parameter to reset the ammo and the clip to deafult.
 * @param weapon: Weapon Name. Optional value. You can use these values instead of weapon names: weapon_primary, weapon_secondary, weapon_grenade or weapon_all.
 * @param ammo: Amount of Ammo. Optional value. Use -1 to leave as it is.
 * @param clip: Amount of Clip. Optional value. Use -1 to leave as it is.
 * @param update: Immediately Update. Optional value. Immediately ammo and/or clip update, if player is alive and has specified weapon(s).
 * @noreturn

native War3_SetAmmoControl(client, String:weapon[], ammo = -1, clip = -1, bool:update = false);


  • 1.0 - Initial release.
  • 1.1 - Added a small check for clean log (without errors).
  • 1.2 - Buy ammo allowed only in buy zone.

P.S.: If you know how to make this addon is easier, please let me know.

War3: Source - Addon plugins / Block Protection Plugin
« on: November 28, 2010, 11:47:10 AM »
War3Source Addon - Block Protection

This addon temprorary turns off block mode for players appeared at the same location on map at spawn.

Servers running this addon:


The following convars are available to customize the plugin:

Plugin version. Don't change this.

war3_blockprotect_version "1.4"

Enabled/Disabled Block Protection functionality.

war3_blockprotect_enabled "1"

How many checks before slaying blocker.
A value of 1 is approximately equal to 1 second. Not recommended to use small values, such as 1, 2 or 3.
0 - Unlimited: Checks will be working until the end of the round.

war3_blockprotect_checking_count "0"

Distance at which a player will be checked nearby.
Info: CSS player standing height: 63, crouched height: 50.

war3_blockprotect_distance "64.0"

Start block checking before end of freeze time.
0 - No: Block check start after 3 second after round start or after mp_freezetime end.
1 - Yes: Block check start immediately after round start.

war3_blockprotect_freezetime "0"

Allow players to use !noblock command.

war3_blockprotect_alllow_command "1"

Hide !noblock command in chat.

war3_blockprotect_hide_command "0"


I also added a native interface to enable player block protection from another races / plugins:

 * Make player is not solid and start block protection.
 * @param client: Client index.
 * @noreturn

native War3_BlockProtect(client);


  • Initial release.
  • Added a native interface.
  • Added translations support (also russian translation added).
  • Changed default value for convar war3_blockprotect_checking_count (now its '0').
  • Removed 'Extended' option from convar 'war3_blockprotect_type' (not needed anymore).
  • Some plugin optimizations (for example now used convar hooks).
  • Added reading values of variables from cfgs.
  • Now when war3_blockprotect_type "0", native War3_BlockProtect will operate as Advanced.
  • Removed use War3Source_Interface. Now, this addon can work without War3Source.
  • The addon is no longer using phrases for players.
  • Natives moved to "W3SIncs/BlockProtect".
  • Fixed: for(new i=0; i<MaxClients; i++) => for(new i=1; i<=MaxClients; i++)
  • Added !noblock command.

Приветствую господа!

Рад сообщить, что такой замечательный Warcraft мод как War3Source теперь доступен и на русском языке.

Что такое War3Source здесь я рассказывать не буду, ведь об этом вы всегда можете прочитать в файле README.RUSSIAN.txt, присутствующий в архиве каждой новой версии мода.

В этой теме предлагаю всем желающим сообщать об ошибках и недочетах в русском переводе. Если вам не нравится, как переведена та или иная фраза, пожалуйста, предлагайте свои варианты здесь. Все обсуждаемо, и по мере возможности ваши исправления будут появляться в следующих версиях War3Source.

Так же, если в каких-то местах русские фразы обрезаются или вовсе не видны на игровом сервере, не поленитесь сделать скриншот, чтобы было понятно, о чем идет речь.

Итак, дальнейшая судьба мода теперь зависит и от вас  ::)

В обсуждении участвуют только War3Source версии и выше.

В переводе на русский язык принимали участие: Schmarotzer, Frenzzy, GREE, CbIpOk, HyperCUBE, Shark_267, Crazy-acm и другие.
Выражаю огромную благодарность всем, кто принимает активное участие в развитии проекта и по каким-то причинам не попал в этот список.

Tags: RU, RUS, Russian, localization, translation, translate, перевод, переведено, переводы, локализация, локализации, локализацию, трансляция, трансляции, трансляцию, русская версия, русский язык, русские игроки, Россия, русский, русского, русскому, русским, русском

Development and Programming Help / How make headless model feature?
« on: November 09, 2010, 01:42:13 PM »

I want to make, that the player model break on pieces after player death.

I am using this model:

Does anyone know how to do this?


#define MAIN_MODEL "models/player/slow/bones/bones.mdl" // Main model (S-LoW's Bones)


// Precache main model
// Headless feature


SetEntityModel(clientMAIN_MODEL); // Set player model on race selected


SetEntityModel(clientMAIN_MODEL); // Set player model on new round or player spwan


 * At this point player model should be replaced with other details its model?
 * How is it done?
 * Can I get code sample?


Pages: [1]