Jump to content

[Урок] Weapon Stats / Настройки оружия


Recommended Posts

Posted (edited)

Тема актуальна, потому что не все успели даже прочесть на вики про это изменение настроек оружия. Кстати, оно синхронизировано! Это так к слову.

  • ВНИМАНИЕ! Настройки оружия доступны только с версии 1.2 !

Проще говоря, имеем две новые функции - setWeaponProperty / getWeaponProperty. Прочтите для начала с вики всё.

Смысл работы функции setWeaponProperty:

  • setWeaponProperty меняет общие настройки указанного оружия для его указанной группы.
    У каждого оружия есть три группы настроек "pro", "std" и "poor" - про, средний навык, новичек соответственно.
    У каждого игрока (PED'a) есть настройки статистики (Ped Stats), которые можно выставить с помощью setPedStat. В этих настройках есть и уровни владения разными видами оружия. Обычно, уровень можно выставить от 0 до 1000 (т.е. уровень это число).
    Итак, вернемся снова к "pro", "std" и "poor". Каждый тип владения оружием зависит от уровня владения оружием. Немного уточним сразу - тип "pro" будет только, если уровень больше или равен 999, а максимальный уровень это 1000. Уровень для типов "poor" и "std" у каждого оружия свой. Об уровне владения оружием и о его типе можно прочесть здесь - Weapon_skill_levels, там типы немного по другому названы, но смысл тот же. Допустим, у дигла уровень от 0 до 200 это тип "poor", уровень от 201 до 998 - это тип "std", а "pro" - от 999 и выше. Я понимаю, что все это может быть непонятно, но для начала полистайте вики, подумайте.
    Сами настройки разные, но весьма полезные. Я перевёл список с английского на основе своих знаний, поэтому, если что, поправьте.
"weapon_range" - float, максимальная дистанция полета пули (:  
"target_range" - float, максимальная дистанция до цели 
"accuracy" - float, точность 
"damage" - int, урон 
"maximum_clip_ammo" - int, максимум патронов в обойме  
"move_speed" - float, скорость движения игрока с этим оружием в руках 
"flags" - int, особая настройка (флаг) 


Сразу небольшой пример. Допустим, мы выставили (setPedStat) для какого-то игрока уровень владения диглом на 999. Это значит, что теперь у него тип владения диглом стал "pro". А теперь выставим для дигла настройку урона так, чтобы отнималось 100 для типа "pro". Теперь все игроки, у кого тип владения диглом = "pro", будут убивать им с одного выстрела:

WEAPONTYPE_DESERT_EAGLE_SKILL = 71 -- это необязательно, но так нагляднее 
WEAPON_DESERT_EAGLE = 24 -- это необязательно, но так нагляднее 
  
setPedStat( player, WEAPONTYPE_DESERT_EAGLE_SKILL, 999 ) -- переменная player просто для примера 
  
setWeaponProperty( WEAPON_DESERT_EAGLE, "pro", "damage", 100 ) 

Смысл работы функции getWeaponProperty:

  • getWeaponProperty возвращает значение общих настроек указанного оружия для его указанной группы.
    Кстати, некоторые настройки оружия нельзя изменить, их можно только узнать с помощью этой функции. Этих константных настроек довольно много и где-то они могут быть весьма полезны:
"weapon_range"  
"target_range"  
"accuracy"  
"damage"  
"life_span" - ?, изменить нельзя  
"firing_speed" - скорость стрельбы, изменить нельзя  
"spread" - ?, изменить нельзя  
"maximum_clip_ammo"  
"move_speed"  
"flags"  
"anim_group" - группа анимации, изменить нельзя  
"fire_type" - тип огня, изменить нельзя  
"model" - модель, изменить нельзя (модель можно поменять в клиенте)  
"model2" - модель №2 (: , изменить нельзя  
"weapon_slot" - слот, изменить нельзя  
"fire_offset" - ?, изменить нельзя  
"skill_level" - текущий уровень владения оружием, изменить нельзя  
"required_skill_level" - необходимый уровень владения оружием, изменить нельзя  
"anim_loop_start" - анимация при начале стрельбы, изменить нельзя  
"anim_loop_stop" - анимация при конце стрельбы, изменить нельзя  
"anim_loop_bullet_fire" - анимация при вылете пули, изменить нельзя  
"anim2_loop_start" - анимация при начале стрельбы, изменить нельзя  
"anim2_loop_stop" - анимация при конце стрельбы, изменить нельзя  
"anim2_loop_bullet_fire" - анимация при вылете пули, изменить нельзя  
"anim_breakout_time" - ?, изменить нельзя  
"radius" - ?, изменить нельзя  
"aim_offset" - ?, изменить нельзя  
"default_combo" - ?, изменить нельзя  
"combos_available" - ?, изменить нельзя 


Значения некоторых настроек пока что мне не известны, но если увидите что-то знакомое - пишите.

Пока что всё. На практике это все не проверялось (: Есть время и желание - проверьте.

Edited by Guest
Posted
ВНИМАНИЕ! Настройки оружия доступны только в версии 1.2 !

Я хотел бы проверить, но сейчас же только 1.1.1 ??? Или есть уже 1.2 ???

Posted
ВНИМАНИЕ! Настройки оружия доступны только в версии 1.2 !

Я хотел бы проверить, но сейчас же только 1.1.1 ??? Или есть уже 1.2 ???

возьмите с https://nightly.multitheftauto.com/ нужный билд (1.2 - Development build only), не забудьте про файлы настроек и ресурсы

Posted
Значения некоторых настроек пока что мне не известны, но если увидите что-то знакомое - пишите.

В "weapon.dat" в папке "...\GTA - San Andreas\data" - 100%-но оттуда настройки и статы взяты, там можно порытся, статьи в инете про настройки weapons.dat - тоже помогут, ещё помню прога была для редактирования weapons.dat - в ней тоже порытся можно.

Posted

Всё хорошо, но жаль что нету анимации

Не оказываю поддержку посредством личных сообщений, ICQ, ВК и тому подобное. Все вопросы задавайте на форуме.

Posted

_Dark_

Занимаюсь не переживайте.

.text:005BE739   push    offset aSSSFFDDDSDXS ; "%s %s %s %f %f %d %d %d %s %d %x %s" 
%s %s           %s              %f    %f        %d     %d  %d %s        %d       %x    %s 
Ј  UNARMED MELEE           10.0  1.6   -1     -1  0  UNARMED   4    1     null 

.text:005BE739        push    offset cszWeaponDatParsePatternMelee ; "%s %s %s %f %f %d %d %d %s %d %x %s" 
.text:005BE73E                 push    eax             ; char * 
.text:005BE73F                 call    _sscanf 
.text:005BE744                 lea     eax, [esp+158h+var_60] 
.text:005BE74B                 push    eax 
.text:005BE74C                 call    sub_743D10 
  

Posted
_Dark_

Занимаюсь не переживайте.

.text:005BE739   push    offset aSSSFFDDDSDXS ; "%s %s %s %f %f %d %d %d %s %d %x %s" 
%s %s           %s              %f    %f        %d     %d  %d %s        %d       %x    %s 
Ј  UNARMED MELEE           10.0  1.6   -1     -1  0  UNARMED   4    1     null 

.text:005BE739        push    offset cszWeaponDatParsePatternMelee ; "%s %s %s %f %f %d %d %d %s %d %x %s" 
.text:005BE73E                 push    eax             ; char * 
.text:005BE73F                 call    _sscanf 
.text:005BE744                 lea     eax, [esp+158h+var_60] 
.text:005BE74B                 push    eax 
.text:005BE74C                 call    sub_743D10 
  

Вы не подливайте масло в огонь, вы этим маслом детали смазывайте. Не нужно кидать дезассемблированный gta_sa.exe, вы пишите патч для MTA SA.

 #define if while#define TRUE FALSE// problems?
Posted

Ах оставьте.. (: пусть человек работает.. Те, кто знаком с С подобными языками, хотят в МТА писать моды на С подобном языке. Те, кто знает pawn, хотятт все в МТА кодить на нем. Те, кто знаком с CLEO, хотят юзать в МТА эти скрипты. А ГТА-моддеры, которые любят писать разные плагины, ковыряются в файлах игры, и надеются написать ПОТОМ на основе этих ковыряний отдельный плагин (: А я вот например РНР знаю, получится ли у меня сделать на нем мод в МТА?

Posted
Ах оставьте.. (: пусть человек работает.. Те, кто знаком с С подобными языками, хотят в МТА писать моды на С подобном языке. Те, кто знает pawn, хотятт все в МТА кодить на нем. Те, кто знаком с CLEO, хотят юзать в МТА эти скрипты. А ГТА-моддеры, которые любят писать разные плагины, ковыряются в файлах игры, и надеются написать ПОТОМ на основе этих ковыряний отдельный плагин (: А я вот например РНР знаю, получится ли у меня сделать на нем мод в МТА?

Странно, я знаю и Pawn и PHP, но в MTA пишу на LUA :)

 #define if while#define TRUE FALSE// problems?
Posted
Странно, я знаю и Pawn и PHP, но в MTA пишу на LUA :)

А я кроме этого ещё много чего знаю и ничего не пишу в MTA :lol:

Не оказываю поддержку посредством личных сообщений, ICQ, ВК и тому подобное. Все вопросы задавайте на форуме.

  • 1 month later...
Posted

не понял, это, что надо мта компилить, что бы выставить характеристики оружий, или в каком файле их нужно менять ?

p.s бесполезные функции, лучше бы веапон дат оставили

можно ли сделать так, что бы MTA SAN ANDREAS использовала WEAPON.DAT в папке с гта как раньше ?

  • Moderators
Posted
можно ли сделать так, что бы MTA SAN ANDREAS использовала WEAPON.DAT в папке с гта как раньше ?

А не читерство ли это?

Developers, Developers, Developers, Developers.... © Steve Balmer

http://www.lua.org/about.html

Quote
Please do not write it as "LUA", which is both ugly and confusing, because then it becomes an acronym with different meanings for different people. So, please, write "Lua" right!
Posted
можно ли сделать так, что бы MTA SAN ANDREAS использовала WEAPON.DAT в папке с гта как раньше ?

А не читерство ли это?

MTA проверяет все DAT файлы (если в настройках сервера включено). Просто человек не понимает вообще для чего Weapon Stats и как им пользоваться (действительно не читал тему).

Не оказываю поддержку посредством личных сообщений, ICQ, ВК и тому подобное. Все вопросы задавайте на форуме.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...