-
strmid
Не понимаю, может чего не знаю, но когда юзаю в массиве (1) енум с ещё 1 массивом (2), то используя функцию strmid не могу записать строку в массив (1).
PHP код:
#include <a_samp>
main() {}
enum Test_Enum
{
Test_String[24]
};
new Test_Var[Test_Enum];
public OnGameModeInit()
{
strmid(Test_Var[Test_String], "Test_Sentence", 0, strlen("Test_Sentence"));
print(Test_Var[Test_String]);
return 1;
}
Результат:
Нужно ли создавать отдельный массив без использования enum'а или же как-то можно с ним?
-
Давно не писал, поправьте если не прав.
Так, кстати, работает:
PHP код:
enum Test_Enum
{
Test_String
};
new Test_Var[Test_Enum][24];
...
- - - Добавлено - - -
Или можно создать обычный массив:
PHP код:
new Test_String[24];
...
strmid(Test_String, "Test_Sentence", 0, sizeof (Test_String));
print(Test_String);
-
Да, но я привёл в пример enum с 1 переменной, но в GM там хранятся как переменные действительного типа, так и целочисельного...
----
Ну, я же и спрашивал, стоит ли создавать массив или можно обойтись без него..
-
Вы не указали maxlength (последний параметр функции strmid). sizeof не работает с двумернымы массивами. *(работает, но не в этом случае)
PHP код:
#include <a_samp>
main() {}
#define TEST_STRING_MAX_LENGTH 24
enum Test_Enum
{
Test_String[TEST_STRING_MAX_LENGTH]
};
new Test_Var[Test_Enum];
public OnGameModeInit()
{
strmid(Test_Var[Test_String], "Test_Sentence", 0, strlen("Test_Sentence"), TEST_STRING_MAX_LENGTH);
print(Test_Var[Test_String]);
return 1;
}
пробуйте