Author Topic: [Russian] Создание и настройка war3source.cfg  (Read 7963 times)

Divix

  • Sr. Member
  • ****
  • Posts: 288
    • ICQ Messenger - 472383642
    • View Profile
[Russian] Создание и настройка war3source.cfg
« on: December 07, 2011, 11:58:09 AM »
Вопрос: что такое war3source.cfg ?
Ответ: war3source.cfg это текстовой файл служащий для настройки сервера (изменения переменных). К примеру установка минимального уровня или опыта получаемого игроками за те или иные действия.

Вопрос: где лежит или как создать war3soucre.cfg ?
Ответ: war3source.cfg нету, его надо создать вручную: 1) создать обычный, пустой текстовой документ (*.txt), 2) переименовать его в war3source.cfg, 3) скинуть получивший текстовой документ (war3source.cfg) в папку на сервере cstrike->cfg (там где лежит server.cfg, autoexec.cfg и т.п.)

Вопрос: я создал war3source.cfg, залил на сервер, что дальше ?
Ответ:
1) Опишу вначале для повторяющихся случаев (таких как ограничение расы на команду).
а) Для ограничения уровня вписываем war3 КраткоеИмяРасы_minlevel   Уровень
б) Для ограничения расы на команду вписываем war3 КраткоеИмяРасы_team1_limit   Количество и war3 КраткоеИмяРасы_team2_limit   Количество (1 - это т, 2 - кт)
в) Для порядка показа расы вписываем war3 КраткоеИмяРасы_raceorder   Число. Число у рас может быть любым, т.е. не обязательно 1,2,3,4, можно и 10,20,25,30,31
г) Для цены на предмет вписываем war3 КраткоеИмяПредмета_moneycost   Цена или war3 КраткоеИмяПредмета_goldcost   Цена. В первом случае для денег CS:S ($), во втором для золота (W3S)
д) Для запрета покупки расам вещей вписываем war3 КраткоеИмяРасы_restrict_items   "КраткоеИмяПредмета". Чтобы ограничить несколько вещей их надо перечислить через запятую: war3 КраткоеИмяРасы_restrict_items   "КраткоеИмяПредмета1,КраткоеИмяПредмета2,КраткоеИмяПредмета3"

2) Теперь для всех остальных настроек.
а) Входим на сервер и вписываем Ваш rcon_password (он задается в server.cfg). К примеру rcon_password 123miha123
б) Пишем cvarlist war3 и смотрим на то, что покажет консоль (много намулюкает)
в) Показаны 4 колонки, разделенные :. Нам надо только 1 и 4 колонку: в 1 колонке показано то, что надо ввести в war3source.cfg, в 4 показан эффект (т.е. что будет после вписывания в war3source.cfg 1 колонки)
г) Вписываем в war3source.cfg то, что нам надо и меняем карту/перезагружаем сервер/пишем rcon sm plugins unload_all; rcon changelevel de_dust2

Примечание: все с новой строки надо вводить !

Вопрос: что такое КраткоеИмяРасы и КраткоеИмяПредмета ?
Ответ:
1) КраткоеИмяРасы можно посмотреть в исходнике расы (cstrike->addons->sourcemod->scripting->Название_Файла_Расы.sp):
1-а) Если раса переведена (смотрите в закрепленных топиках о переводе расы), то ищем War3_CreateNewRaceT и то что в кавычках (сами кавычки не трогаем!) и есть КраткоеИмяРасы
1-б) Если раса не переведена, то ищем War3_CreateNewRace и смотрим второй аргумент (к примеру: War3_CreateNewRaceT("Un Dead123", "undead"); - то что после запятой в кавычках, undead) - это и есть КраткоеИмяРасы (сами кавычки не трогаем!)
2) КраткоеИмяПредмета можно посмотреть также в исходнике:
2-а) Если предмет переведен, то ищем War3_CreateShopItemT и первое, то что в кавычках, это и есть КратеоИмяПредмета (сами кавычки не трогаем!)

« Last Edit: January 11, 2012, 04:30:47 AM by Divix »
Не пишите ПМ, лучше в асю (даже если я там оффлайн).

PblLLAPb

  • Newbie
  • *
  • Posts: 38
    • View Profile
    • Email
Re: [Russian] Создание и настройка war3source.cfg
« Reply #1 on: January 11, 2012, 02:10:37 AM »
Чёрт у меня не получается
Code: [Select]
war3                                     : cmd      :                  : War3 / SH internal variables and commands
war3_addlevelbank                        : cmd      :                  : Add to user(steamid)'s level bank
war3_ammocontrol_enable                  : 0        :                  : Enable/Disable Ammo Control
war3_ammocontrol_version                 : 0        : , "sp", "nf", "rep", "norecord" : Ammo Control Version
war3_assistgold                          : 1        :                  :
war3_autobuy_on_max_gold                 : 0        :                  : automatically buy this item if their gold is full
war3_autosavetime                        : 60       :                  :
war3_bh_ult_cooldown                     : 0        :                  : Cooldown time for Ultimate.
war3_bug_to_my_db                        : 0        :                  : send war3bug messages to your own database?
war3_buyitems_category                   : 0        :                  : Enable/Disable shopitem categorys
war3_buyitems_csmoney                    : 0        :                  : In CS, use cs money to buy shopmenu items
war3_cd_ult_cooldown                     : 0        :                  : Cooldown time for CD ult overload.
war3_chronos_ult_cooldown                : 20       :                  :
war3_clanurl                             : 0        :                  : The url to display on intro menu
war3_cmd                                 : cmd      :                  : Expanded command.
war3_command_blocking                    : 0        :                  : block chat commands from showing up
war3_crypt_locust_cooldown               : 0        :                  : Cooldown between ultimate usage
war3_crypt_locust_range                  : 0        :                  : Range of locust ultimate
war3_drunken_drunk_cooldown              : 0        :                  : Cooldown timer.
war3_drunken_fury_cooldown               : 0        :                  : Cooldown timer.
war3_effect                              : cmd      :                  : Expanded effect.
war3_game_desc                           : 0        :                  : change game description to war3source? does not affect player connect
war3_getplayerlocation                   : cmd      :                  : Expanded get player location.
war3_givegold                            : cmd      :                  : Give a player gold
war3_givelevel                           : cmd      :                  : Give a player a single level
war3_givexp                              : cmd      :                  : Give a player XP
war3_hammerstorm_strength_cooldown       : 0        :                  : Cooldown timer.
war3_human_teleport_cooldown             : 0        :                  : Cooldown between teleports
war3_hunter_voodoo_cooldown              : 0        :                  : Cooldown between Big Bad Voodoo (ultimate)
war3_if                                  : cmd      :                  : Logical statement.
war3_ignore_bots_xp                      : 0        :                  : Set to 1 to not award XP for killing bots
war3_introclanname                       : 0        :                  : Intro menu clan name (welcome to 'YOUR CLAN NAME' War3Source server!)
war3_item_restrict                       : 0        :                  : Disallow items in shopmenu, shortname separated by comma only ie:'claw,orb'
war3_killgold                            : 2        :                  :
war3_l4d_boomerxp                        : 0        :                  : XP awarded to a player killing a Boomer
war3_l4d_chargerexp                      : 0        :                  : XP awarded to a player killing a Charger
war3_l4d_commonexp                       : 0        :                  : XP awarded to a player killing a common infected
war3_l4d_hunterxp                        : 0        :                  : XP awarded to a player killing a Hunter
war3_l4d_jockeyexp                       : 0        :                  : XP awarded to a player killing a Jockey
war3_l4d_smokerxp                        : 0        :                  : XP awarded to a player killing a Smoker
war3_l4d_spitterxp                       : 0        :                  : XP awarded to a player killing a Spitter
war3_l4d_uncommonexp                     : 0        :                  : XP awarded to a player killing a uncommon infected
war3_lich_deathdecay_cooldown            : 0        :                  : Cooldown between ultimate usage
war3_lich_deathdecay_range               : 0        :                  : Range of death and decay ultimate
war3_luna_ultimate_cooldown              : 0        :                  : Luna Moonfangs ultimate cooldown (ultimate)
war3_mage_fire_strike_cooldown           : 0        :                  : Cooldown between fire strikes (ultimate)
war3_mage_revive_delay                   : 0        :                  : Delay when reviving a teammate (since death)
war3_max_shopitems                       : 2        :                  :
war3_maxgold                             : 1000     :                  :
war3_metric_system                       : 0        :                  : Do you want use metric system? 1-Yes, 0-No
war3_min_players_xp_gain                 : 0        :                  : minimum amount of players needed on teams for people to gain xp
war3_minimumultimatelevel                : 6        :                  :
war3_naix_ult_cooldown                   : 0        :                  : Cooldown time for Rage.
war3_new_player_levelbank                : 0        :                  : The amount of free levels a person gets that is new to the server (no xp record)
war3_nightelf_entangle_cooldown          : 0        :                  : Cooldown timer.
war3_ninja_ult_range                     : 0        :                  : Range of ninja assination ultimate
war3_no_spy_suicide                      : 1        :                  :
war3_npclos                              : 0        :                  : Determines how far the NPC can 'look' for enemyes.
war3_npcragdoll                          : 0        :                  : If non-zero there will be corpses once a NPC is killed.
war3_orc_chain_cooldown                  : 0        :                  : Cooldown time for chain lightning.
war3_orc_nocritgloves                    : 0        :                  : Disable nade crit with gloves
war3_orc_respawn_delay                   : 0        :                  : How long before spawning for reincarnation?
war3_percent_assistkillxp                : 0        :                  : Percent of kill XP awarded for an assist kill.
war3_percent_cs_defusexp                 : 0        :                  : Percent of kill XP awarded for defusing the bomb
war3_percent_cs_hostagerescuexp          : 0        :                  : Percent of kill XP awarded for rescuing a hostage
war3_percent_cs_plantxp                  : 0        :                  : Percent of kill XP awarded for planting the bomb
war3_percent_headshotxp                  : 0        :                  : Percent of kill XP awarded additionally for headshots
war3_percent_meleexp                     : 0        :                  : Percent of kill XP awarded additionally for melee/knife kills
war3_percent_roundwinxp                  : 0        :                  : Percent of kill XP awarded for being on the winning team
war3_print_levelbank_spawn               : 0        :                  : Print how much you have in your level bank in chat every time you spawn?
war3_print_on_autosave                   : 0        :                  : Print a message to chat when xp is auto saved?
war3_racelimit_enable                    : 0        :                  : Should race limit restrictions per team be enabled
war3_removegold                          : cmd      :                  : Remove some gold from a player
war3_removelevel                         : cmd      :                  : Remove a single level from a player
war3_removexp                            : cmd      :                  : Remove some XP from a player
War3_RightTextDisp                       : 0        :                  : Enables the right-hand text display of war3source information
war3_sacredw_ult_cooldown                : 0        :                  : Cooldown time for ult.
war3_savexp                              : 1        :                  :
war3_set                                 : cmd      :                  : Set a server variable.
war3_set_race_on_join                    : 1        :                  :
war3_setgold                             : cmd      :                  : Set a player's gold count
war3_setinfo                             : cmd      :                  : Set a server variable.
war3_setlevel                            : cmd      :                  : Set a player's level
war3_setxp                               : cmd      :                  : Set a player's XP
war3_shop_boots_speed                    : 0        :                  : Boots speed, 1.2 is default
war3_shop_claws_damage                   : 0        :                  : Claws of attack additional damage per bullet (CS) or per second (TF)
war3_shop_jump_level                     : 4        :                  : How far will you jump. The higher the number the further the player jumps.
war3_shop_mask_percent                   : 0        :                  : Percent of damage rewarded for Mask of Death, from 0.0 - 1.0
war3_shop_mole_dm                        : 0        :                  : Set this to 1 if server is deathmatch
war3_shop_orb_speed                      : 0        :                  : Orb of Frost speed, 1.0 is normal speed, 0.6 default for orb.
war3_shop_ring_hp_cs                     : 0        :                  : How much HP is regenerated for CS.
war3_shop_ring_hp_tf                     : 0        :                  : How much HP is regenerated for TF.
war3_shop_shield_restriction             : 0        :                  : Set this to 1 if you want to forbid necklace+shield. 0 default
war3_shop_sock_gravity                   : 0        :                  : Gravity used for Sock of Feather, 0.4 is default for sock, 1.0 is normal gravity
war3_shop_tome_xp                        : 0        :                  : Experience awarded for Tome of Experience.
war3_show_sockets_error                  : 0        :                  : show socket errors
war3_sr_ult_cooldown                     : 0        :                  : Cooldown time for CD ult overload.
war3_succ_ult_cooldown                   : 0        :                  : Cooldown for succubus ultimate
war3_tremble_ability_cooldown            : 0        :                  : Cooldown time for tremble's ability's(on spawn).
war3_tremble_ability_radius              : 0        :                  : Radius for tremble's ability's.
war3_tremble_impaler_chance              : 0        :                  : Chance of tremble's Implaer skill (0.00 - 1.00)
war3_tremble_ultimate_cooldown           : 0        :                  : Cooldown time for hive mind(on spawn/death).
war3_tremble_ultimate_force              : 0        :                  : Push Force of Shudders attack
war3_tremble_ultimate_reuse              : 0        :                  : Should the Player be able to reuse the ultimate if shudder dies?
war3_version                             : 0        : , "sp", "nf", "rep", "norecord" : War3Source version.
war3_warden_vengence_cooldown            : 0        :                  : Cooldown between Warden Vengence (ultimate)
war3_warden_vengence_max                 : 0        :                  : Max number of revivals from vengence per round (CS only), 0 for unlimited
war3_xeffect                             : cmd      :                  : Non-expanded effect.
war3_xgetplayerlocation                  : cmd      :                  : Non-expanded get player location.
war3_xif                                 : cmd      :                  : Non-expanded logical statement.
war3_xp_level_difference_bonus           : 0        :                  : Bounus Xp awarded per level if victim has a higher level
war3_xset                                : cmd      :                  : Non expanded, set a server variable.
war3_xsetinfo                            : cmd      :                  : Non expanded, set a server variable.
war3admin                                : cmd      :                  : Brings up the War3Source admin panel.
war3mode                                 : cmd      :                  :
war3notdev                               : cmd      :                  :
war3refresh                              : cmd      :                  :
-
Научите меня пожалуйста как это делать

Divix

  • Sr. Member
  • ****
  • Posts: 288
    • ICQ Messenger - 472383642
    • View Profile
Re: [Russian] Создание и настройка war3source.cfg
« Reply #2 on: January 11, 2012, 04:29:03 AM »
Чёрт у меня не получается
Code: [Select]
war3                                     : cmd      :                  : War3 / SH internal variables and commands
war3_addlevelbank                        : cmd      :                  : Add to user(steamid)'s level bank
war3_ammocontrol_enable                  : 0        :                  : Enable/Disable Ammo Control
war3_ammocontrol_version                 : 0        : , "sp", "nf", "rep", "norecord" : Ammo Control Version
war3_assistgold                          : 1        :                  :
war3_autobuy_on_max_gold                 : 0        :                  : automatically buy this item if their gold is full
war3_autosavetime                        : 60       :                  :
war3_bh_ult_cooldown                     : 0        :                  : Cooldown time for Ultimate.
war3_bug_to_my_db                        : 0        :                  : send war3bug messages to your own database?
war3_buyitems_category                   : 0        :                  : Enable/Disable shopitem categorys
war3_buyitems_csmoney                    : 0        :                  : In CS, use cs money to buy shopmenu items
war3_cd_ult_cooldown                     : 0        :                  : Cooldown time for CD ult overload.
war3_chronos_ult_cooldown                : 20       :                  :
war3_clanurl                             : 0        :                  : The url to display on intro menu
war3_cmd                                 : cmd      :                  : Expanded command.
war3_command_blocking                    : 0        :                  : block chat commands from showing up
war3_crypt_locust_cooldown               : 0        :                  : Cooldown between ultimate usage
war3_crypt_locust_range                  : 0        :                  : Range of locust ultimate
war3_drunken_drunk_cooldown              : 0        :                  : Cooldown timer.
war3_drunken_fury_cooldown               : 0        :                  : Cooldown timer.
war3_effect                              : cmd      :                  : Expanded effect.
war3_game_desc                           : 0        :                  : change game description to war3source? does not affect player connect
war3_getplayerlocation                   : cmd      :                  : Expanded get player location.
war3_givegold                            : cmd      :                  : Give a player gold
war3_givelevel                           : cmd      :                  : Give a player a single level
war3_givexp                              : cmd      :                  : Give a player XP
war3_hammerstorm_strength_cooldown       : 0        :                  : Cooldown timer.
war3_human_teleport_cooldown             : 0        :                  : Cooldown between teleports
war3_hunter_voodoo_cooldown              : 0        :                  : Cooldown between Big Bad Voodoo (ultimate)
war3_if                                  : cmd      :                  : Logical statement.
war3_ignore_bots_xp                      : 0        :                  : Set to 1 to not award XP for killing bots
war3_introclanname                       : 0        :                  : Intro menu clan name (welcome to 'YOUR CLAN NAME' War3Source server!)
war3_item_restrict                       : 0        :                  : Disallow items in shopmenu, shortname separated by comma only ie:'claw,orb'
war3_killgold                            : 2        :                  :
war3_l4d_boomerxp                        : 0        :                  : XP awarded to a player killing a Boomer
war3_l4d_chargerexp                      : 0        :                  : XP awarded to a player killing a Charger
war3_l4d_commonexp                       : 0        :                  : XP awarded to a player killing a common infected
war3_l4d_hunterxp                        : 0        :                  : XP awarded to a player killing a Hunter
war3_l4d_jockeyexp                       : 0        :                  : XP awarded to a player killing a Jockey
war3_l4d_smokerxp                        : 0        :                  : XP awarded to a player killing a Smoker
war3_l4d_spitterxp                       : 0        :                  : XP awarded to a player killing a Spitter
war3_l4d_uncommonexp                     : 0        :                  : XP awarded to a player killing a uncommon infected
war3_lich_deathdecay_cooldown            : 0        :                  : Cooldown between ultimate usage
war3_lich_deathdecay_range               : 0        :                  : Range of death and decay ultimate
war3_luna_ultimate_cooldown              : 0        :                  : Luna Moonfangs ultimate cooldown (ultimate)
war3_mage_fire_strike_cooldown           : 0        :                  : Cooldown between fire strikes (ultimate)
war3_mage_revive_delay                   : 0        :                  : Delay when reviving a teammate (since death)
war3_max_shopitems                       : 2        :                  :
war3_maxgold                             : 1000     :                  :
war3_metric_system                       : 0        :                  : Do you want use metric system? 1-Yes, 0-No
war3_min_players_xp_gain                 : 0        :                  : minimum amount of players needed on teams for people to gain xp
war3_minimumultimatelevel                : 6        :                  :
war3_naix_ult_cooldown                   : 0        :                  : Cooldown time for Rage.
war3_new_player_levelbank                : 0        :                  : The amount of free levels a person gets that is new to the server (no xp record)
war3_nightelf_entangle_cooldown          : 0        :                  : Cooldown timer.
war3_ninja_ult_range                     : 0        :                  : Range of ninja assination ultimate
war3_no_spy_suicide                      : 1        :                  :
war3_npclos                              : 0        :                  : Determines how far the NPC can 'look' for enemyes.
war3_npcragdoll                          : 0        :                  : If non-zero there will be corpses once a NPC is killed.
war3_orc_chain_cooldown                  : 0        :                  : Cooldown time for chain lightning.
war3_orc_nocritgloves                    : 0        :                  : Disable nade crit with gloves
war3_orc_respawn_delay                   : 0        :                  : How long before spawning for reincarnation?
war3_percent_assistkillxp                : 0        :                  : Percent of kill XP awarded for an assist kill.
war3_percent_cs_defusexp                 : 0        :                  : Percent of kill XP awarded for defusing the bomb
war3_percent_cs_hostagerescuexp          : 0        :                  : Percent of kill XP awarded for rescuing a hostage
war3_percent_cs_plantxp                  : 0        :                  : Percent of kill XP awarded for planting the bomb
war3_percent_headshotxp                  : 0        :                  : Percent of kill XP awarded additionally for headshots
war3_percent_meleexp                     : 0        :                  : Percent of kill XP awarded additionally for melee/knife kills
war3_percent_roundwinxp                  : 0        :                  : Percent of kill XP awarded for being on the winning team
war3_print_levelbank_spawn               : 0        :                  : Print how much you have in your level bank in chat every time you spawn?
war3_print_on_autosave                   : 0        :                  : Print a message to chat when xp is auto saved?
war3_racelimit_enable                    : 0        :                  : Should race limit restrictions per team be enabled
war3_removegold                          : cmd      :                  : Remove some gold from a player
war3_removelevel                         : cmd      :                  : Remove a single level from a player
war3_removexp                            : cmd      :                  : Remove some XP from a player
War3_RightTextDisp                       : 0        :                  : Enables the right-hand text display of war3source information
war3_sacredw_ult_cooldown                : 0        :                  : Cooldown time for ult.
war3_savexp                              : 1        :                  :
war3_set                                 : cmd      :                  : Set a server variable.
war3_set_race_on_join                    : 1        :                  :
war3_setgold                             : cmd      :                  : Set a player's gold count
war3_setinfo                             : cmd      :                  : Set a server variable.
war3_setlevel                            : cmd      :                  : Set a player's level
war3_setxp                               : cmd      :                  : Set a player's XP
war3_shop_boots_speed                    : 0        :                  : Boots speed, 1.2 is default
war3_shop_claws_damage                   : 0        :                  : Claws of attack additional damage per bullet (CS) or per second (TF)
war3_shop_jump_level                     : 4        :                  : How far will you jump. The higher the number the further the player jumps.
war3_shop_mask_percent                   : 0        :                  : Percent of damage rewarded for Mask of Death, from 0.0 - 1.0
war3_shop_mole_dm                        : 0        :                  : Set this to 1 if server is deathmatch
war3_shop_orb_speed                      : 0        :                  : Orb of Frost speed, 1.0 is normal speed, 0.6 default for orb.
war3_shop_ring_hp_cs                     : 0        :                  : How much HP is regenerated for CS.
war3_shop_ring_hp_tf                     : 0        :                  : How much HP is regenerated for TF.
war3_shop_shield_restriction             : 0        :                  : Set this to 1 if you want to forbid necklace+shield. 0 default
war3_shop_sock_gravity                   : 0        :                  : Gravity used for Sock of Feather, 0.4 is default for sock, 1.0 is normal gravity
war3_shop_tome_xp                        : 0        :                  : Experience awarded for Tome of Experience.
war3_show_sockets_error                  : 0        :                  : show socket errors
war3_sr_ult_cooldown                     : 0        :                  : Cooldown time for CD ult overload.
war3_succ_ult_cooldown                   : 0        :                  : Cooldown for succubus ultimate
war3_tremble_ability_cooldown            : 0        :                  : Cooldown time for tremble's ability's(on spawn).
war3_tremble_ability_radius              : 0        :                  : Radius for tremble's ability's.
war3_tremble_impaler_chance              : 0        :                  : Chance of tremble's Implaer skill (0.00 - 1.00)
war3_tremble_ultimate_cooldown           : 0        :                  : Cooldown time for hive mind(on spawn/death).
war3_tremble_ultimate_force              : 0        :                  : Push Force of Shudders attack
war3_tremble_ultimate_reuse              : 0        :                  : Should the Player be able to reuse the ultimate if shudder dies?
war3_version                             : 0        : , "sp", "nf", "rep", "norecord" : War3Source version.
war3_warden_vengence_cooldown            : 0        :                  : Cooldown between Warden Vengence (ultimate)
war3_warden_vengence_max                 : 0        :                  : Max number of revivals from vengence per round (CS only), 0 for unlimited
war3_xeffect                             : cmd      :                  : Non-expanded effect.
war3_xgetplayerlocation                  : cmd      :                  : Non-expanded get player location.
war3_xif                                 : cmd      :                  : Non-expanded logical statement.
war3_xp_level_difference_bonus           : 0        :                  : Bounus Xp awarded per level if victim has a higher level
war3_xset                                : cmd      :                  : Non expanded, set a server variable.
war3_xsetinfo                            : cmd      :                  : Non expanded, set a server variable.
war3admin                                : cmd      :                  : Brings up the War3Source admin panel.
war3mode                                 : cmd      :                  :
war3notdev                               : cmd      :                  :
war3refresh                              : cmd      :                  :
-
Научите меня пожалуйста как это делать

Куда уж легче... покажи, что ты написал в war3souce.cfg
Не пишите ПМ, лучше в асю (даже если я там оффлайн).

PblLLAPb

  • Newbie
  • *
  • Posts: 38
    • View Profile
    • Email
Re: [Russian] Создание и настройка war3source.cfg
« Reply #3 on: January 11, 2012, 05:03:48 AM »
у меня не умещается в
Code: [Select]

Divix

  • Sr. Member
  • ****
  • Posts: 288
    • ICQ Messenger - 472383642
    • View Profile
Re: [Russian] Создание и настройка war3source.cfg
« Reply #4 on: January 11, 2012, 05:11:10 AM »
И что у тебя не получается ???
Не пишите ПМ, лучше в асю (даже если я там оффлайн).

PblLLAPb

  • Newbie
  • *
  • Posts: 38
    • View Profile
    • Email
Re: [Russian] Создание и настройка war3source.cfg
« Reply #5 on: January 11, 2012, 05:22:45 AM »
Дело в том что я этот файл скачал а не сам сделал я его поставил (думаю хорошо расы закрыты) а потом когда начал новые расы добавлять они открыты на любом лвл вот я и хочу сделать сам этот конфиг и нстроить для себя
P.S Если вам не составит особых усилий напишите пожалуйста ответ в мой скайп (artem_kharenko)
« Last Edit: January 11, 2012, 05:24:42 AM by PblLLAPb »

Divix

  • Sr. Member
  • ****
  • Posts: 288
    • ICQ Messenger - 472383642
    • View Profile
Re: [Russian] Создание и настройка war3source.cfg
« Reply #6 on: January 11, 2012, 05:45:36 AM »
Дело в том что я этот файл скачал а не сам сделал я его поставил (думаю хорошо расы закрыты) а потом когда начал новые расы добавлять они открыты на любом лвл вот я и хочу сделать сам этот конфиг и нстроить для себя
P.S Если вам не составит особых усилий напишите пожалуйста ответ в мой скайп (artem_kharenko)

А пробовал сделать ?
Не пишите ПМ, лучше в асю (даже если я там оффлайн).

PblLLAPb

  • Newbie
  • *
  • Posts: 38
    • View Profile
    • Email
Re: [Russian] Создание и настройка war3source.cfg
« Reply #7 on: January 11, 2012, 06:24:10 AM »
Да я и сейчас пытаюсь только возник такой вопрос почему у рапскалиона не работает умение клинки?
Code: [Select]
/**
 * File: War3Source_080_Rapscallion.sp
 * Description: The Rapscallion race for War3Source.
 * Author(s): VoidLess
 */

#pragma semicolon 1

#include <sourcemod>
#include "W3SIncs/War3Source_Interface"
#include <sdktools>
//#include <sdktools_functions>
//#include <sdktools_tempents>
//#include <sdktools_tempents_stocks>

//#include <sdkhooks>

new thisRaceID;

new SKILL_SPEED,SKILL_BLADE,SKILL_LOWGRAV,SKILL_INVISIBLE;

new Float:UnholySpeed[5]={1.0,1.07,1.14,1.21,1.28};
new Float:BladeChance[5]={0.0,0.20,0.40,0.60,0.80};
new Float:LevitationGravity[5]={1.0,0.8,0.6,0.5,0.4};

new Float:UltDelay[5]={0.0,4.0,3.0,2.0,1.0};
//new Float:UltTime[5]={0.0,10.0,20.0,30.0,40.0};

new bool:bIsInvisible[MAXPLAYERS];

new String:Bladestr[]={"npc/roller/mine/rmine_blades_out2.wav"};
new String:UltInstr[]={"npc/scanner/scanner_nearmiss1.wav"};
new String:UltOutstr[]={"npc/scanner/scanner_nearmiss2.wav"};

new bool:hurt_flag = true;

public Plugin:myinfo =
{
name = "War3Source Race - Rapscallion",
author = "VoidLess",
description = "Rapscallion race for War3Source.",
version = "1.0.0",
url = "http://twitter.com/voidless"
};

public OnWar3LoadRaceOrItemOrdered2(num)
{
if(num==80)
{
thisRaceID=War3_CreateNewRaceT("raps");
SKILL_SPEED=War3_AddRaceSkillT(thisRaceID,"Adrinaline",false,4);
SKILL_BLADE=War3_AddRaceSkillT(thisRaceID,"Blade",false,4);
SKILL_LOWGRAV=War3_AddRaceSkillT(thisRaceID,"Levitation",false,4);
SKILL_INVISIBLE=War3_AddRaceSkillT(thisRaceID,"Invisibility",true,4);

War3_CreateRaceEnd(thisRaceID);
}
}

public OnPluginStart()
{
HookEvent("player_hurt",PlayerHurtEvent);
LoadTranslations("w3s.raps.phrases");
}

public OnMapStart()
{
War3_PrecacheSound(Bladestr);
War3_PrecacheSound(UltInstr);
War3_PrecacheSound(UltOutstr);
}

public OnWar3EventSpawn(client)
{
StopInvis(client);

new race = War3_GetRace(client);
if (race == thisRaceID)
{  
InitPassiveSkills(client);
}
}

public InitPassiveSkills(client){
if(War3_GetRace(client)==thisRaceID)
{
new skilllevel_unholy=War3_GetSkillLevel(client,thisRaceID,SKILL_SPEED);
new Float:speed=UnholySpeed[skilllevel_unholy];
War3_SetBuff(client,fMaxSpeed,thisRaceID,speed);

new skilllevel_levi=War3_GetSkillLevel(client,thisRaceID,SKILL_LOWGRAV);
new Float:gravity=LevitationGravity[skilllevel_levi];
War3_SetBuff(client,fLowGravitySkill,thisRaceID,gravity);
}
}

public OnSkillLevelChanged(client, race, skill, newskilllevel)
{
InitPassiveSkills(client);
}

public OnRaceChanged(client,oldrace,newrace)
{
if(newrace != thisRaceID)
{
War3_WeaponRestrictTo(client,thisRaceID,"");
War3_SetBuff(client,fMaxSpeed,thisRaceID,1.0);
War3_SetBuff(client,fLowGravitySkill,thisRaceID,1.0);
}
if(newrace == thisRaceID)
{
War3_WeaponRestrictTo(client,thisRaceID,"weapon_knife");
if(IsPlayerAlive(client))
{
InitPassiveSkills(client);
}
}
}

public PlayerHurtEvent(Handle:event,const String:name[],bool:dontBroadcast)
{
if (hurt_flag == false)
{
hurt_flag = true; //for skipping your own damage?
} else {
new victim = GetClientOfUserId(GetEventInt(event,"userid"));
new attacker = GetClientOfUserId(GetEventInt(event,"attacker"));

if (victim && attacker && victim!=attacker)
{

new race=War3_GetRace(attacker);
if (race==thisRaceID)
{
new dmgamount = GetEventInt(event,"dmg_health");

new skilllevel = War3_GetSkillLevel(attacker,race,SKILL_BLADE);

if (skilllevel > 0 && dmgamount > 0 && !W3HasImmunity(victim,Immunity_Skills))
{
decl String: weapon[MAX_NAME_LENGTH+1];
GetEventString(event,"weapon",weapon,sizeof(weapon));

if (StrEqual(weapon,"knife") && GetRandomFloat(0.0,1.0)<=BladeChance[skilllevel])
{
PrintToChat(attacker,"%T","Blade",attacker);
EmitSoundToAll(Bladestr,attacker);
EmitSoundToAll(Bladestr,victim);
W3FlashScreen(victim,RGBA_COLOR_RED);

hurt_flag = false;
War3_DealDamage(victim,dmgamount,attacker,_,"Blade",W3DMGORIGIN_SKILL,W3DMGTYPE_PHYSICAL);
}
}
}
}
}
}

public OnUltimateCommand(client,race,bool:pressed)
{
if(pressed)
{
if(race==thisRaceID&&IsPlayerAlive(client)&&!Silenced(client))
{
new ult_level=War3_GetSkillLevel(client,race,SKILL_INVISIBLE);
if (ult_level>0)
{
ToggleInvisibility(client, ult_level);
}
else
{
W3MsgUltNotLeveled(client);
}
}
}
}
/*
public Action:TimerStopInvis(Handle:timer,any:client)
{
StopInvis(client);
}
*/
stock StopInvis(client)
{
if (bIsInvisible[client])
{
bIsInvisible[client]=false;
War3_SetBuff(client,bNoMoveMode,thisRaceID,false);
War3_SetBuff(client,fInvisibilitySkill,thisRaceID,1.0);
EmitSoundToAll(UltOutstr,client);
}
}

stock StartInvis(client)
{
if (!bIsInvisible[client])
{
bIsInvisible[client]=true;
War3_SetBuff(client,bNoMoveMode,thisRaceID,true);
War3_SetBuff(client,fInvisibilitySkill,thisRaceID,0.0);
EmitSoundToAll(UltInstr,client);

//new lvl = War3_GetSkillLevel(client,race,SKILL_INVISIBLE);
//CreateTimer(UltTime[lvl],TimerStopInvis,client);
}
}

stock ToggleInvisibility(client, ult_level)
{
if (War3_SkillNotInCooldown(client,thisRaceID,SKILL_INVISIBLE,true))
{
if (bIsInvisible[client])
StopInvis(client);
else
StartInvis(client);

War3_CooldownMGR(client,UltDelay[ult_level],thisRaceID,SKILL_INVISIBLE);
} else {
War3_PrintSkillIsNotReady(client,thisRaceID,SKILL_INVISIBLE);
}
}
Да и я еще хочу спросить почему рассы vagabond  и  sniper могут покупать любое оружие ведь ониже должны ходить только с одним
« Last Edit: January 11, 2012, 06:32:43 AM by PblLLAPb »

Divix

  • Sr. Member
  • ****
  • Posts: 288
    • ICQ Messenger - 472383642
    • View Profile
Re: [Russian] Создание и настройка war3source.cfg
« Reply #8 on: January 11, 2012, 06:47:51 AM »
Да я и сейчас пытаюсь только возник такой вопрос почему у рапскалиона не работает умение клинки?
Да и я еще хочу спросить почему рассы vagabond  и  sniper могут покупать любое оружие ведь ониже должны ходить только с одним

Я проще не объясню ... напиши как пробовал сделать war3source.cfg.

Код расы напиши вагабонда или снайпера... но я задавал было дело вопрос, все .sp и .inc скачаны и все перекомпилировано ? Также я говорил, что для рас есть своя тема..

Клинки по идеи должны работать, но там шанс... На макс. лвл расы не разу не сработали ?
Не пишите ПМ, лучше в асю (даже если я там оффлайн).

PblLLAPb

  • Newbie
  • *
  • Posts: 38
    • View Profile
    • Email
Re: [Russian] Создание и настройка war3source.cfg
« Reply #9 on: January 11, 2012, 07:04:48 AM »
Vagabond
Code: [Select]
/**
* File: War3Source_Vagabond.sp
* Description: The Vagabond race for SourceCraft.
* Author(s): xDr.HaaaaaaaXx
*/

#pragma semicolon 1
#include <sourcemod>
#include <sdktools_tempents>
#include <sdktools_functions>
#include <sdktools_tempents_stocks>
#include <sdktools_entinput>
#include <sdktools_sound>

#include "W3SIncs/War3Source_Interface"

// War3Source stuff
new thisRaceID, SKILL_SPEED, SKILL_SCOUT, SKILL_LOWGRAV, ULT_INVIS_TELE;

// Chance/Data Arrays
new col1[4], col2[4], col3[4], col4[4], col5[4], col6[4], col7[4], col8[4], col9[4];
new Float:VagabondGravity[5] = { 1.0, 0.6, 0.52, 0.44, 0.26 };
new Float:VagabondSpeed[5] = { 1.0, 1.1, 1.2, 1.3, 1.4 };
new Float:DamageChanse[5] = { 0.0, 0.28, 0.44, 0.60, 0.75 };
new Float:PushForce[5] = { 0.0, 0.7, 1.1, 1.3, 1.7 };
new Float:UltDelay[5] = { 0.0, 6.0, 5.0, 4.0, 3.0 };
new bool:bIsInvisible[MAXPLAYERS];

// Sounds
new String:UltOutstr[] = "weapons/physcannon/physcannon_claws_close.wav";
new String:UltInstr[] = "weapons/physcannon/physcannon_claws_open.wav";
new String:spawnsound[] = "ambient/atmosphere/cave_hit2.wav";

// Other
new HaloSprite, BeamSprite, SteamSprite;
new m_vecBaseVelocity;

public Plugin:myinfo =
{
name = "War3Source Race - Vagabond",
author = "xDr.HaaaaaaaXx",
description = "The Vagabond race for War3Source.",
version = "1.0.0.0",
url = ""
};

public OnPluginStart()
{
m_vecBaseVelocity = FindSendPropOffs( "CBasePlayer", "m_vecBaseVelocity" );
col1[3] = 255;
col2[3] = 255;
col3[3] = 255;
col4[3] = 255;
col5[3] = 255;
col6[3] = 255;
col7[3] = 255;
col8[3] = 255;
col9[3] = 255;
}

public OnMapStart()
{
HaloSprite = PrecacheModel( "materials/sprites/halo01.vmt" );
BeamSprite = PrecacheModel( "materials/sprites/laser.vmt" );
SteamSprite = PrecacheModel( "sprites/steam1.vmt" );
War3_PrecacheSound( UltInstr );
War3_PrecacheSound( UltOutstr );
War3_PrecacheSound( spawnsound );
}

public OnWar3PluginReady()
{
thisRaceID = War3_CreateNewRace( "Vagabond", "vagabond" );

SKILL_SPEED = War3_AddRaceSkill( thisRaceID, "Adrinaline", "Speed", false );
SKILL_SCOUT = War3_AddRaceSkill( thisRaceID, "Scout", "Extra Damage", false );
SKILL_LOWGRAV = War3_AddRaceSkill( thisRaceID, "Levitation", "Levitation", false );
ULT_INVIS_TELE = War3_AddRaceSkill( thisRaceID, "Complete Invisibility", "Teleport and Become Completly invisible when not moving(can't move)", true );

W3SkillCooldownOnSpawn( thisRaceID, ULT_INVIS_TELE, 5.0, _, "Complete Invisibility" );

War3_CreateRaceEnd( thisRaceID );
}

public InitPassiveSkills( client )
{
if( War3_GetRace( client ) == thisRaceID )
{
War3_SetBuff( client, fMaxSpeed, thisRaceID, VagabondSpeed[War3_GetSkillLevel( client, thisRaceID, SKILL_SPEED )] );
War3_SetBuff( client, fLowGravitySkill, thisRaceID, VagabondGravity[War3_GetSkillLevel( client, thisRaceID, SKILL_LOWGRAV )] );
}
}

public OnRaceSelected( client, newrace )
{
if( newrace != thisRaceID )
{
War3_WeaponRestrictTo( client, thisRaceID, "" );
W3ResetAllBuffRace( client, thisRaceID );
}
else
{
War3_WeaponRestrictTo( client, thisRaceID, "weapon_knife,weapon_scout" );
if( IsPlayerAlive( client ) )
{
GivePlayerItem( client, "weapon_scout" );
InitPassiveSkills( client );
}
}
}

public OnSkillLevelChanged( client, race, skill, newskilllevel )
{
InitPassiveSkills( client );
}

public OnWar3EventSpawn( client )
{
StopInvis( client );
new race = War3_GetRace( client );
if( race == thisRaceID )
{
GivePlayerItem( client, "weapon_scout" );
InitPassiveSkills( client );
EmitSoundToAll( spawnsound, client );
}
}

public OnWar3EventDeath( victim, attacker )
{
W3ResetAllBuffRace( victim, thisRaceID );
}

public OnWar3EventPostHurt( victim, attacker, damage )
{
if( W3GetDamageIsBullet() && ValidPlayer( victim, true ) && ValidPlayer( attacker, true ) && GetClientTeam( victim ) != GetClientTeam( attacker ) )
{
if( War3_GetRace( attacker ) == thisRaceID )
{
new skill_level = War3_GetSkillLevel( attacker, thisRaceID, SKILL_SCOUT );
if( !Hexed( attacker, false ) && GetRandomFloat( 0.0, 1.0 ) <= DamageChanse[skill_level] )
{
new String:wpnstr[32];
GetClientWeapon( attacker, wpnstr, 32 );
if( StrEqual( wpnstr, "weapon_scout" ) )
{
col1[0] = GetRandomInt( 0, 255 );
col1[1] = GetRandomInt( 0, 255 );
col1[2] = GetRandomInt( 0, 255 );

col2[0] = GetRandomInt( 0, 255 );
col2[1] = GetRandomInt( 0, 255 );
col2[2] = GetRandomInt( 0, 255 );

col3[0] = GetRandomInt( 0, 255 );
col3[1] = GetRandomInt( 0, 255 );
col3[2] = GetRandomInt( 0, 255 );

col4[0] = GetRandomInt( 0, 255 );
col4[1] = GetRandomInt( 0, 255 );
col4[2] = GetRandomInt( 0, 255 );

col5[0] = GetRandomInt( 0, 255 );
col5[1] = GetRandomInt( 0, 255 );
col5[2] = GetRandomInt( 0, 255 );

col6[0] = GetRandomInt( 0, 255 );
col6[1] = GetRandomInt( 0, 255 );
col6[2] = GetRandomInt( 0, 255 );

col7[0] = GetRandomInt( 0, 255 );
col7[1] = GetRandomInt( 0, 255 );
col7[2] = GetRandomInt( 0, 255 );

col8[0] = GetRandomInt( 0, 255 );
col8[1] = GetRandomInt( 0, 255 );
col8[2] = GetRandomInt( 0, 255 );

col9[0] = GetRandomInt( 0, 255 );
col9[1] = GetRandomInt( 0, 255 );
col9[2] = GetRandomInt( 0, 255 );

new Float:start_pos[3];
new Float:target_pos[3];

GetClientAbsOrigin( attacker, start_pos );
GetClientAbsOrigin( victim, target_pos );

target_pos[2] += 40;

// 1
start_pos[0] += GetRandomFloat( -500.0, 500.0 );
start_pos[1] += GetRandomFloat( -500.0, 500.0 );
start_pos[2] += 40;

TE_SetupBeamPoints( start_pos, target_pos, BeamSprite, HaloSprite, 0, 0, 30.0, 10.0, 10.0, 0, 0.0, col1, 40 );
TE_SendToAll();

// 2
GetClientAbsOrigin( attacker, start_pos );

start_pos[0] += GetRandomFloat( -500.0, 500.0 );
start_pos[1] += GetRandomFloat( -500.0, 500.0 );
start_pos[2] += 40;

TE_SetupBeamPoints( start_pos, target_pos, BeamSprite, HaloSprite, 0, 0, 30.0, 10.0, 10.0, 0, 0.0, col2, 40 );
TE_SendToAll();

// 3
GetClientAbsOrigin( attacker, start_pos );

start_pos[0] += GetRandomFloat( -500.0, 500.0 );
start_pos[1] += GetRandomFloat( -500.0, 500.0 );
start_pos[2] += 40;

TE_SetupBeamPoints( start_pos, target_pos, BeamSprite, HaloSprite, 0, 0, 30.0, 10.0, 10.0, 0, 0.0, col3, 40 );
TE_SendToAll();

// 4
GetClientAbsOrigin( attacker, start_pos );

start_pos[0] += GetRandomFloat( -500.0, 500.0 );
start_pos[1] += GetRandomFloat( -500.0, 500.0 );
start_pos[2] += 40;

TE_SetupBeamPoints( start_pos, target_pos, BeamSprite, HaloSprite, 0, 0, 30.0, 10.0, 10.0, 0, 0.0, col4, 40 );
TE_SendToAll();

// 5
GetClientAbsOrigin( attacker, start_pos );

start_pos[0] += GetRandomFloat( -500.0, 500.0 );
start_pos[1] += GetRandomFloat( -500.0, 500.0 );
start_pos[2] += 40;

TE_SetupBeamPoints( start_pos, target_pos, BeamSprite, HaloSprite, 0, 0, 30.0, 10.0, 10.0, 0, 0.0, col5, 40 );
TE_SendToAll();

// 6
GetClientAbsOrigin( attacker, start_pos );

start_pos[0] += GetRandomFloat( -500.0, 500.0 );
start_pos[1] += GetRandomFloat( -500.0, 500.0 );
start_pos[2] += 40;

TE_SetupBeamPoints( start_pos, target_pos, BeamSprite, HaloSprite, 0, 0, 30.0, 10.0, 10.0, 0, 0.0, col6, 40 );
TE_SendToAll();

// 7
GetClientAbsOrigin( attacker, start_pos );

start_pos[0] += GetRandomFloat( -500.0, 500.0 );
start_pos[1] += GetRandomFloat( -500.0, 500.0 );
start_pos[2] += 40;

TE_SetupBeamPoints( start_pos, target_pos, BeamSprite, HaloSprite, 0, 0, 30.0, 10.0, 10.0, 0, 0.0, col7, 40 );
TE_SendToAll();

// 8
GetClientAbsOrigin( attacker, start_pos );

start_pos[0] += GetRandomFloat( -500.0, 500.0 );
start_pos[1] += GetRandomFloat( -500.0, 500.0 );
start_pos[2] += 40;

TE_SetupBeamPoints( start_pos, target_pos, BeamSprite, HaloSprite, 0, 0, 30.0, 10.0, 10.0, 0, 0.0, col8, 40 );
TE_SendToAll();

// 9
GetClientAbsOrigin( attacker, start_pos );

start_pos[2] += 40;
target_pos[2] += 5;

TE_SetupBeamPoints( start_pos, target_pos, BeamSprite, HaloSprite, 0, 0, 30.0, 10.0, 10.0, 0, 0.0, col9, 40 );
TE_SendToAll();

if( !W3HasImmunity( victim, Immunity_Skills ) )
{
War3_DealDamage( victim, damage, attacker, DMG_BULLET, "vagabond_crit" );
W3FlashScreen( victim, RGBA_COLOR_RED );

W3PrintSkillDmgHintConsole( victim, attacker, War3_GetWar3DamageDealt(), "Vagabond Scout" );
}
}
}
}
}
}

public OnUltimateCommand( client, race, bool:pressed )
{
new userid = GetClientUserId( client );
if( race == thisRaceID && pressed && userid > 1 && IsPlayerAlive( client ) && !Silenced( client ) )
{
new ult_level = War3_GetSkillLevel( client, race, ULT_INVIS_TELE );
if( ult_level > 0 )
{
if( War3_SkillNotInCooldown( client, thisRaceID, ULT_INVIS_TELE, true ) )
{
if( !bIsInvisible[client] )
{
ToggleInvisibility( client );
TeleportPlayer( client );
War3_CooldownMGR( client, 0.5, thisRaceID, ULT_INVIS_TELE, _, _, false, "Complete Invisibility" );
}
else
{
ToggleInvisibility( client );
War3_CooldownMGR( client, UltDelay[ult_level], thisRaceID, ULT_INVIS_TELE, _, _, false, "Complete Invisibility" );
}

new Float:pos[3];

GetClientAbsOrigin( client, pos );

pos[2] += 50;

TE_SetupGlowSprite( pos, SteamSprite, 1.0, 2.5, 130 );
TE_SendToAll();
}
}
else
{
W3MsgUltNotLeveled( client );
}
}
}

stock StopInvis( client )
{
if( bIsInvisible[client] )
{
bIsInvisible[client] = false;
War3_SetBuff( client, bNoMoveMode, thisRaceID, false );
War3_SetBuff( client, fInvisibilitySkill, thisRaceID, 1.0 );
EmitSoundToAll( UltOutstr, client );
}
}

stock StartInvis( client )
{
if ( !bIsInvisible[client] )
{
bIsInvisible[client] = true;
CreateTimer( 1.0, StartStop, client );
War3_SetBuff( client, fInvisibilitySkill, thisRaceID, 0.0 );
EmitSoundToAll( UltInstr, client );
}
}

public Action:StartStop( Handle:timer, any:client )
{
if( ValidPlayer( client, true ) )
{
War3_SetBuff( client, bNoMoveMode, thisRaceID, true );
}
}

stock ToggleInvisibility( client )
{
if( bIsInvisible[client] )
{
StopInvis( client );
}
else
{
StartInvis( client );
}
}

stock TeleportPlayer( client )
{
if( client > 0 && IsPlayerAlive( client ) )
{
new ult_level = War3_GetSkillLevel( client, thisRaceID, ULT_INVIS_TELE );
new Float:startpos[3];
new Float:endpos[3];
new Float:localvector[3];
new Float:velocity[3];

GetClientAbsOrigin( client, startpos );
War3_GetAimEndPoint( client, endpos );

localvector[0] = endpos[0] - startpos[0];
localvector[1] = endpos[1] - startpos[1];
localvector[2] = endpos[2] - startpos[2];

velocity[0] = localvector[0] * PushForce[ult_level];
velocity[1] = localvector[1] * PushForce[ult_level];
velocity[2] = localvector[2] * PushForce[ult_level];

SetEntDataVector( client, m_vecBaseVelocity, velocity, true );
}
}

PblLLAPb

  • Newbie
  • *
  • Posts: 38
    • View Profile
    • Email
Re: [Russian] Создание и настройка war3source.cfg
« Reply #10 on: January 11, 2012, 07:06:04 AM »
Sniper
Code: [Select]
/**
* File: War3Source_Sniper.sp
* Description: The Sniper race for SourceCraft.
* Author(s): xDr.HaaaaaaaXx
*/

#pragma semicolon 1
#include <sourcemod>
#include <sdktools_tempents>
#include <sdktools_functions>
#include <sdktools_tempents_stocks>
#include <sdktools_entinput>
#include <sdktools_sound>

#include "W3SIncs/War3Source_Interface"

// War3Source stuff
new thisRaceID;

// Chance/Data Arrays
new Float:BeaconChance[6] = { 0.0, 0.05, 0.10, 0.15, 0.20, 0.25 };
new Float:DisgChance[6] = { 0.0, 0.10, 0.20, 0.30, 0.50, 0.75 };
new Float:UltDuration[6] = { 0.0, 2.0, 3.0, 4.0, 5.0, 6.0 };
new CashMax[6] = { 0, 30, 45, 60, 100, 150 };
new CashMin[6] = { 0, 20, 30, 45, 75, 100 };
new XPMin[6] = { 0, 10, 15, 20, 30, 35 };
new XPMax[6] = { 0, 15, 20, 25, 35, 40 };
new HaloSprite, BeamSprite;
new MoneyOffsetCS;

new SKILL_SKIN, SKILL_XP, SKILL_BEACON, SKILL_HIDE;

public Plugin:myinfo =
{
name = "War3Source Race - Sniper",
author = "xDr.HaaaaaaaXx",
description = "The Sniper race for War3Source.",
version = "1.0.0.0",
url = ""
};

public OnMapStart()
{
BeamSprite = PrecacheModel( "materials/sprites/lgtning.vmt" );
HaloSprite = PrecacheModel( "materials/sprites/halo01.vmt" );
}

public OnPluginStart()
{
MoneyOffsetCS = FindSendPropInfo( "CCSPlayer", "m_iAccount" );
}

public OnWar3PluginReady()
{
thisRaceID = War3_CreateNewRace( "[Oddity]Sniper", "odsniper" );

SKILL_SKIN = War3_AddRaceSkill( thisRaceID, "Disguise", "You may spawn and look like the enemy", false, 5 );
SKILL_XP = War3_AddRaceSkill( thisRaceID, "Scope Master", "You get 10-40 XP and 20-150 money if you get a scout hit", false, 5 );
SKILL_BEACON = War3_AddRaceSkill( thisRaceID, "One bullet one kill", "You beacon enemies in order to track them", false, 5 );
SKILL_HIDE = War3_AddRaceSkill( thisRaceID, "Sniper", "Snipers must never be seen", false, 5 );

War3_CreateRaceEnd( thisRaceID );
}

public OnRaceChanged( client, newrace )
{
if( newrace != thisRaceID )
{
War3_WeaponRestrictTo( client, thisRaceID, "" );
W3ResetAllBuffRace( client, thisRaceID );
}
else
{
War3_WeaponRestrictTo( client, thisRaceID, "weapon_knife,weapon_scout" );
if( IsPlayerAlive( client ) )
{
GivePlayerItem( client, "weapon_scout" );
}
}
}

public OnWar3EventSpawn( client )
{
new race = War3_GetRace( client );
if( race == thisRaceID )
{
GivePlayerItem( client, "weapon_scout" );
War3_SetBuff( client, fInvisibilitySkill, thisRaceID, 1.0 );
War3_SetBuff( client, fMaxSpeed, thisRaceID, 1.0 );
if( War3_GetSkillLevel( client, thisRaceID, SKILL_SKIN ) > 0 && GetRandomFloat( 0.0, 1.0 ) <= DisgChance[War3_GetSkillLevel( client, thisRaceID, SKILL_SKIN )] )
{
if( GetClientTeam( client ) == TEAM_T )
{
SetEntityModel( client, "models/player/ct_urban.mdl" );
}
if( GetClientTeam( client ) == TEAM_CT )
{
SetEntityModel( client, "models/player/t_leet.mdl" );
}
PrintToChat( client, "\x05: \x03You are disguised as enemy!!!" );
}
}
}

public OnWar3EventPostHurt( victim, attacker, damage )
{
if( W3GetDamageIsBullet() && ValidPlayer( victim, true ) && ValidPlayer( attacker, true ) && GetClientTeam( victim ) != GetClientTeam( attacker ) )
{
if( War3_GetRace( attacker ) == thisRaceID )
{
new skill_xp = War3_GetSkillLevel( attacker, thisRaceID, SKILL_XP );
if( !Hexed( attacker, false ) && skill_xp > 0 )
{
new String:wpnstr[32];
GetClientWeapon( attacker, wpnstr, 32 );
if( StrEqual( wpnstr, "weapon_scout" ) )
{
new xp = GetRandomInt( XPMin[skill_xp], XPMax[skill_xp] );
new cash = GetRandomInt( CashMin[skill_xp], CashMax[skill_xp] );

SetMoney( attacker, GetMoney( attacker ) + cash );
War3_SetXP( attacker, thisRaceID, War3_GetXP( attacker, thisRaceID ) + xp );

War3_ChatMessage( attacker, "+%dXP and +%i$", xp, cash );

new Float:start_pos[3];
new Float:target_pos[3];

GetClientAbsOrigin( attacker, start_pos );
GetClientAbsOrigin( victim, target_pos );

start_pos[2] += 40;
target_pos[2] += 40;

TE_SetupBeamPoints( start_pos, target_pos, BeamSprite, HaloSprite, 0, 0, 1.0, 10.0, 10.0, 0, 0.0, { 255, 200, 0, 255 }, 0 );
TE_SendToAll();
}
}

new skill_beacon = War3_GetSkillLevel( attacker, thisRaceID, SKILL_BEACON );
if( !Hexed( attacker, false ) && skill_beacon > 0 && GetRandomFloat( 0.0, 1.0 ) <= BeaconChance[skill_beacon] )
{
ServerCommand( "sm_beacon #%d 1", GetClientUserId( victim ) );
}
}
}
}

public OnW3TakeDmgBullet( victim, attacker, Float:damage )
{
if( IS_PLAYER( victim ) && IS_PLAYER( attacker ) && victim > 0 && attacker > 0 && attacker != victim )
{
new vteam = GetClientTeam( victim );
new ateam = GetClientTeam( attacker );
if( vteam != ateam )
{
new race_victim = War3_GetRace( victim );
new skill_hide = War3_GetSkillLevel( victim, thisRaceID, SKILL_HIDE );
if( race_victim == thisRaceID && skill_hide > 0 && !Hexed( victim, false ) )
{
W3FlashScreen( victim, RGBA_COLOR_RED );

PrintHintText( victim, "\x01: \x05You have been seen. \x04RELOCATE FAST!" );

War3_SetBuff( victim, fInvisibilitySkill, thisRaceID, 0.0 );
War3_SetBuff( victim, fMaxSpeed, thisRaceID, 1.5 );

for( new slot = 0; slot < 10; slot++ )
{
new wpn = GetPlayerWeaponSlot( victim, slot );
if( wpn > 0 )
{
RemovePlayerItem( victim, wpn );
}
}

CreateTimer( UltDuration[skill_hide], StopHide, victim );
}
}
}
}

public Action:StopHide( Handle:timer, any:client )
{
if( ValidPlayer( client, true ) )
{
War3_SetBuff( client, fInvisibilitySkill, thisRaceID, 1.0 );
War3_SetBuff( client, fMaxSpeed, thisRaceID, 1.0 );
GivePlayerItem( client, "weapon_scout" );
GivePlayerItem( client, "weapon_knife" );
}
}

stock GetMoney( player )
{
return GetEntData( player, MoneyOffsetCS );
}

stock SetMoney( player, money )
{
SetEntData( player, MoneyOffsetCS, money );
}

PblLLAPb

  • Newbie
  • *
  • Posts: 38
    • View Profile
    • Email
Re: [Russian] Создание и настройка war3source.cfg
« Reply #11 on: January 11, 2012, 09:03:12 AM »
Вот я что то типо этого сделал а оно не работает ???

Divix

  • Sr. Member
  • ****
  • Posts: 288
    • ICQ Messenger - 472383642
    • View Profile
Re: [Russian] Создание и настройка war3source.cfg
« Reply #12 on: January 11, 2012, 12:34:16 PM »
Вот я что то типо этого сделал а оно не работает ???

Замени \\ на //
Расы чуть позже посмотрю...
Не пишите ПМ, лучше в асю (даже если я там оффлайн).

PblLLAPb

  • Newbie
  • *
  • Posts: 38
    • View Profile
    • Email
Re: [Russian] Создание и настройка war3source.cfg
« Reply #13 on: January 12, 2012, 08:05:19 AM »
спасибо а как настроить получаемый опыт например за установку бомбы или за то что команда выйграла взрыв бомбы а то я найти не могу
а как раз я вспомнил можно как нибудь сделать чтобы вот например я купил артефакт шлем потом меня с этим шлемом убивают и он вываливается (всмысле его теперь могут подобрать ) может эту тему кто нибудь поднимал или есть плагин который это делает

Divix

  • Sr. Member
  • ****
  • Posts: 288
    • ICQ Messenger - 472383642
    • View Profile
Re: [Russian] Создание и настройка war3source.cfg
« Reply #14 on: January 12, 2012, 08:35:20 AM »
спасибо а как настроить получаемый опыт например за установку бомбы или за то что команда выйграла взрыв бомбы а то я найти не могу
а как раз я вспомнил можно как нибудь сделать чтобы вот например я купил артефакт шлем потом меня с этим шлемом убивают и он вываливается (всмысле его теперь могут подобрать ) может эту тему кто нибудь поднимал или есть плагин который это делает

Прочти внимательно в начале темы:
Вопрос: я создал war3source.cfg, залил на сервер, что дальше ?
...
2) ...


Насчет вываливания артефактов (дроп артефактов лучше): это плагин, он есть. Мне идея не интересна поэтому не искал, посмотри на форуме - не найдешь, значит в гугле, если и там нету, то проси дать или покупай, знаю, что у Calipso и Namolem есть этот плагин.
PS Ищи не на русском языке, а как то так: Drop artifact или War3Source Drop artifact. Ставить его как и расы (скомпилировать и залить .smx на сервер).
Не пишите ПМ, лучше в асю (даже если я там оффлайн).

Frenzzy

  • Moderator
  • Full Member
  • *****
  • Posts: 218
    • ICQ Messenger - 337905984
    • MSN Messenger - frenzzy@live.ru
    • View Profile
    • http://css.vsevnet.ru/
Re: [Russian] Создание и настройка war3source.cfg
« Reply #15 on: January 12, 2012, 09:06:56 AM »
Выпадение вещей при смерти: War3Source Addon - Shop Items Drop
O_o

PblLLAPb

  • Newbie
  • *
  • Posts: 38
    • View Profile
    • Email
Re: [Russian] Создание и настройка war3source.cfg
« Reply #16 on: January 12, 2012, 10:20:37 AM »
Frenzzy
Спасибо

Kaskad

  • Newbie
  • *
  • Posts: 1
    • View Profile
Re: [Russian] Создание и настройка war3source.cfg
« Reply #17 on: March 30, 2016, 08:36:36 AM »
Frenzzy
Спасибо

Помогите, как сделать, чтобы стандартные расы открывались с определенного уровня?

Someone

  • Newbie
  • *
  • Posts: 5
    • View Profile
Re: [Russian] Создание и настройка war3source.cfg
« Reply #18 on: April 01, 2016, 08:20:24 AM »
Frenzzy
Спасибо

Помогите, как сделать, чтобы стандартные расы открывались с определенного уровня?

Там же написано, внимательней читай.

Code: [Select]
а) Для ограничения уровня вписываем war3 КраткоеИмяРасы_minlevel   Уровень
а) Для ограничения уровня вписываем war3 КраткоеИмяРасы_minlevel   Уровень