crashdetect подключен и ошибок нет. Profiler'ом уже профилировали. И он же не покажет в какой именно функции долго идет запрос и почему,он покажет просто сколько потратила времени та или иная функция. Поэтому толку от этого мало.
Вид для печати
Правда что абстрактная машина - это компилятор?
Это можно сказать еще про интерпретатор,но компилятор и абстрактная машина....
Ну... в любом случае, вы бы не узнали этого точно, если бы не проверили мод профайлером и крашдетектом.
В Pawn компилятор и абстрактная машина по умолчанию разделены. Это объясняется тем, что интерпретатор (абстрактная машина) принимает на вход скомпилированный байт-код (*.amx), а не исходный код скрипта (*.p, *.pawn, *.pwn).
Во многих других же скриптовых языках компилятор и интерпретатор по умолчанию являются единым целым. Примером может послужить Lua - с помощью luac можно скомпилировать скрипт в байт-код, но интерпретатор может и сам принять на вход исходник.
Прикрепляю динамическую зону к обьекту с помощью данной функции.
Мне нужно в последущем использовании вытащить ID обьекта, прикреплённого к данной зоне.PHP код:
AttachDynamicAreaToObject(STREAMER_TAG_AREA areaid, STREAMER_TAG_OBJECT_ALT objectid, type = STREAMER_OBJECT_TYPE_DYNAMIC, playerid = INVALID_PLAYER_ID, Float:offsetx = 0.0, Float:offsety = 0.0, Float:offsetz = 0.0);
Заметил в streamer.inc данный ENUM, но больше про него в инклуде ничего не говорится(
Как его использовать?PHP код:
enum
{
E_STREAMER_AREA_ID,
E_STREAMER_ATTACHED_OBJECT, // << то, что мне требуется вытащить
E_STREAMER_ATTACHED_PLAYER,
E_STREAMER_ATTACHED_VEHICLE,
E_STREAMER_ATTACH_OFFSET_X,
E_STREAMER_ATTACH_OFFSET_Y,
E_STREAMER_ATTACH_OFFSET_Z,
E_STREAMER_ATTACH_R_X,
E_STREAMER_ATTACH_R_Y,
E_STREAMER_ATTACH_R_Z,
E_STREAMER_ATTACH_X,
E_STREAMER_ATTACH_Y,
E_STREAMER_ATTACH_Z,
E_STREAMER_COLOR,
E_STREAMER_DRAW_DISTANCE,
E_STREAMER_EXTRA_ID,
E_STREAMER_INTERIOR_ID,
E_STREAMER_MAX_X,
E_STREAMER_MAX_Y,
E_STREAMER_MAX_Z,
E_STREAMER_MIN_X,
E_STREAMER_MIN_Y,
E_STREAMER_MIN_Z,
E_STREAMER_MODEL_ID,
E_STREAMER_MOVE_R_X,
E_STREAMER_MOVE_R_Y,
E_STREAMER_MOVE_R_Z,
E_STREAMER_MOVE_SPEED,
E_STREAMER_MOVE_X,
E_STREAMER_MOVE_Y,
E_STREAMER_MOVE_Z,
E_STREAMER_NEXT_X,
E_STREAMER_NEXT_Y,
E_STREAMER_NEXT_Z,
E_STREAMER_PLAYER_ID,
E_STREAMER_PRIORITY,
E_STREAMER_R_X,
E_STREAMER_R_Y,
E_STREAMER_R_Z,
E_STREAMER_SIZE,
E_STREAMER_STREAM_DISTANCE,
E_STREAMER_STYLE,
E_STREAMER_SYNC_ROTATION,
E_STREAMER_TEST_LOS,
E_STREAMER_TYPE,
E_STREAMER_WORLD_ID,
E_STREAMER_X,
E_STREAMER_Y,
E_STREAMER_Z
}
Можно попробовать так
или такPHP код:
object_id = Streamer_GetIntData(STREAMER_TYPE_AREA, areaid, E_STREAMER_ATTACHED_OBJECT);
Хотя не уверен, что сработает.PHP код:
object_id = Streamer_GetIntData(STREAMER_TYPE_OBJECT, areaid, E_STREAMER_ATTACHED_OBJECT);
Но направление верное: нужно работать с Streamer_GetIntData. Нужно лишь верные макросы подобрать
Хочу поинтересоваться можно ли чаровать два спаренных массива как на примере ниже:
PHP код:
new shot[MAX_PLAYERS char][MAX_PLAYERS char];
shot{killerid}{playerid} = 1;//(1 || 0)