можно отдельный урок для
пожалуйстаЦитата:
3) Как пропустить необязательный параметр?
В Pawn есть возможность создания функций с необязательными параметрами, у которых уже есть значения, задаваемые по умолчанию.
Вид для печати
можно отдельный урок для
пожалуйстаЦитата:
3) Как пропустить необязательный параметр?
В Pawn есть возможность создания функций с необязательными параметрами, у которых уже есть значения, задаваемые по умолчанию.
Открыть папку pawno/include и искать в инклудах знак "=", после этого знака обычно указывают значения аргументов по умолчанию.
Скажу сразу, в SA:MP полно таких функций с необязательными аргументами, но они сделаны только для обратной совместимости скриптов с предыдущими версиями.
Например, в версии 0.2 была функция CreatePickup:
Затем в 0.3a реализовали виртуальные миры и добавили возможность ставить пикапы только в один из таких миров, добавив в CreatePickup параметр virtualworld.PHP код:
native CreatePickup(model, type, Float:X, Float:Y, Float:Z);
Параметр сделан опциональным, поэтому, если попытаться скомпилировать скрипт для сервера версии 0.2, в котором параметр virtualworld не указан, то скрипт скомпилируется и с инклудами версии 0.3a и новее.PHP код:
native CreatePickup(model, type, Float:X, Float:Y, Float:Z, virtualworld = 0);
а что тогда озночает & ?
н-р:PHP код:
native GetPlayerPos(playerid, &Float:x, &Float:y, &Float:z);
ссылка, но на самом деле это "псевдо ссылка"
Код из первого пункта можно на:
Использование:PHP код:
stock min_max_random(min=0, max)
return random(max - min) + min;
#if defined _ALS_random
#undef random
#else
#define _ALS_random
#endif
#define random(%0,%1) min_max_random(%0,%1)
PHP код:
random(10); // 0;10
random(10,20); // 10;20
А что если надо было бы не 1 переменную, а 2 или 3, по очереди так и писать?PHP код:
#define noinit:%0[%1]; goto _noinit_%0;new %0[%1];_noinit_%0:
PHP код:
noinit:str[10];
noinit:strr[20];
noinit:strrr[30];