Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Движковые события, их аргументы и описание
GAMEINATOR forums > S.T.A.L.K.E.R. > Мастерская: создание модов для S.T.A.L.K.E.R.
aka_sektor
Интересует описание каждого события, какие аргументы оно имеет и их описание.
trade_start
Код
callback(GameObject::eTradeStart)();
trade_stop
Код
callback(GameObject::eTradeStop)();
trade_sell_buy_item
Код
Actor()->callback    (GameObject::eTradeSellBuyItem)(pItem->object().lua_game_object(), bDir, dwTransferMoney);
trade_perform_operation
Код
smart_cast<CAI_Trader*>(pThis.base)->callback(GameObject::eTradePerformTradeOperation)(money_get, money_put);
trader_global_anim_request
Код
m_trader->callback(GameObject::eTraderGlobalAnimationRequest)();
trader_head_anim_request
Код
m_trader->callback(GameObject::eTraderHeadAnimationRequest)();
trader_sound_end
Код
m_trader->callback    (GameObject::eTraderSoundEnd)();
zone_enter
Код
callback(GameObject::eZoneEnter)(lua_game_object(),l_tpGameObject->lua_game_object());
zone_exit
Код
callback(GameObject::eZoneExit)(lua_game_object(),l_tpGameObject->lua_game_object());
level_border_exit
Код
callback(GameObject::eExitLevelBorder)(lua_game_object());
level_border_enter
Код
callback(GameObject::eEnterLevelBorder)(lua_game_object());
death
Код
callback(GameObject::eDeath)(lua_game_object(), who_object ? who_object->lua_game_object() : 0);
callback(GameObject::eDeath)(lua_game_object(),who_object  ? who_object : 0);
patrol_path_in_point
Код
m_game_object->callback    (GameObject::ePatrolPathInPoint)(m_game_object->lua_game_object(),u32(ScriptEntity::eActionTypeMovement),m_curr_point_index);
inventory_pda
Нету
inventory_info
Код
callback(GameObject::eInventoryInfo)(lua_game_object(), *info_id);
article_info
Код
callback(GameObject::eArticleInfo)(lua_game_object(), g, n, _atype);
use_object
Код
Actor()->callback(GameObject::eUseObject)((smart_cast<CGameObject*>(pIItem))->lua_game_object());
pThis->callback(GameObject::eUseObject)(pThis->lua_game_object(),who_use->lua_game_object());
hit
Код
object().callback(GameObject::eHit)(
        m_object->lua_game_object(),
        amount,
        vLocalDir,
        smart_cast<const CGameObject*>(who)->lua_game_object(),
        element
    );

    callback(GameObject::eHit)(
        lua_game_object(),
        HDS.power,
        HDS.dir,
        smart_cast<const CGameObject*>(HDS.who)->lua_game_object(),
        HDS.bone()
        );

    callback(GameObject::eHit)(
        lua_game_object(),
        HDS.power,
        HDS.dir,
        smart_cast<const CGameObject*>(HDS.who)->lua_game_object(),
        HDS.bone()
        );

    callback(GameObject::eHit)(
        lua_game_object(),
        amount,
        vLocalDir,
        smart_cast<const CGameObject*>(who)->lua_game_object(),
        element
    );
sound
Код
object().callback(GameObject::eSound)(
            object().lua_game_object(),
            (*I).m_lua_game_object,
            (*I).m_sound_type,
            (*I).m_position,
            (*I).m_sound_power
        );
action_movement
Код
m_game_object->callback    (GameObject::ePatrolPathInPoint)(m_game_object->lua_game_object(),u32(ScriptEntity::eActionTypeMovement),m_curr_point_index);
object().callback(GameObject::eActionTypeMovement)(object().lua_game_object(),u32(eActionTypeMovement), -1);
action_watch
Код
object().callback(GameObject::eActionTypeWatch)(object().lua_game_object(),u32(eActionTypeWatch));
action_animation
Код
l_tpScriptMonster->object().callback(GameObject::eActionTypeAnimation)(l_tpScriptMonster->object().lua_game_object(),u32(eActionTypeAnimation));
action_sound
Код
object().callback(GameObject::eActionTypeSound)(object().lua_game_object(),u32(eActionTypeSound));
action_particle
Код
object().callback(GameObject::eActionTypeParticle)(object().lua_game_object(),u32(eActionTypeParticle));
action_object
Код
object().callback(GameObject::eActionTypeObject)(object().lua_game_object(),u32(eActionTypeObject));
actor_sleep
Код
Нету
helicopter_on_point
Код
parent->callback(GameObject::eHelicopterOnPoint)(dist,currP, currPatrolVertex ? currPatrolVertex->vertex_id() : -1);
parent->callback(GameObject::eHelicopterOnPoint)(dist,currP, -1);
helicopter_on_hit
Код
callback(GameObject::eHelicopterOnHit)(pHDS->damage(),pHDS->impulse,pHDS->hit_type,pHDS->who->ID());
on_item_take
Код
object->callback(GameObject::eOnItemTake)(inventory_item->object().lua_game_object());
on_item_drop
Код
object->callback(GameObject::eOnItemDrop)(inventory_item->object().lua_game_object());
script_animation
Код
object().callback        (GameObject::eScriptAnimation)    ();
task_state
Код
Actor()->callback(GameObject::eTaskStateChange)(parent, this, task_state);
take_item_from_box
Код
Actor()->callback(GameObject::eInvBoxItemTake)( this->lua_game_object(), GO->lua_game_object() );
map_location_added
Код
Actor()->callback(GameObject::eMapLocationAdded)(*spot_type, id);

ЧН добавил ещё:
action_removed
Код
object().callback(GameObject::eActionTypeRemoved)(object().lua_game_object(),u32(eActionTypeRemoved));
weapon_no_ammo
Код
Actor()->callback(GameObject::eWeaponNoAmmoAvailable)(lua_game_object(), AC);
aka_sektor
Думаю так.

Не имеют аргументов:
trade_start
trade_stop
trader_global_anim_request
trader_head_anim_request
trader_sound_end
script_animation

Чет непонятное с колбеком. Вроде и нет его ohmy.gif :
inventory_pda
actor_sleep

По аргументам:
lua_game_object() это аргумент npc
*info_id это info_id
g это group
n это name
pHDS->damage() это power
pHDS->impulse это impulse
pHDS->hit_type это hit_type
pHDS->who->ID это enemy_id
this->lua_game_object() это box

bDir это sell_bye, ещё код:
Код
bool bDir = (pThis.type!=TT_ACTOR) && bBuying;

dwTransferMoney это money

Разный код одного и того же аргумента:
GO->lua_game_object() это item
pItem->object().lua_game_object() это тоже item

l_tpGameObject->lua_game_object() это obj
m_game_object->lua_game_object() это тоже obj
deonisii
Что это?
aka_sektor
deonisii, если не понимаешь, проходи мимо.

Далее...

pThis->lua_game_object() это тоже аргумент obj
m_object->lua_game_object() это тоже obj
who_use->lua_game_object() это who
(who)->lua_game_object() это тоже who
(HDS.who)->lua_game_object() это тоже who
amount это amount
vLocalDir это local_direction
HDS.bone() это bone_index
m_lua_game_object это who_id
m_sound_type это sound_type
m_position это sound_position
m_sound_power это sound_power
dist это distance
currP это position
currPatrolVertex ? currPatrolVertex->vertex_id() это path_idx
aka_sektor
Похоже по аргументам бессмысленно было.

Аргументы можно как угодно называть. Они в разных контекстах, каждый в своем. Важно их количество и что они значат, а как назвать неважно вообще.
NanoBot-AMK
Кстати, для колбека:
callback(GameObject::eHelicopterOnHit)(pHDS->damage(),pHDS->impulse,pHDS->hit_type,pHDS->who->ID());
Вызывается только если виновник, актор, сталкер или аномалия. В исходниках рекомендуется подкрутить код, что-бы колбек вызывался и для других объектов(вертолёты, БТРы, турели, взрывные объекты и т.д.). В XRayExt я добавил правку соответствующую.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.