Мы имеем функцию GetPlayerColor и SetPlayerColor.
Как и сократить название функций.
Я знаю как то так ? Или надо еще stock создавать?
#define GetPlayerColor GPC
#define SetPlayerColor SPC
Вид для печати
Мы имеем функцию GetPlayerColor и SetPlayerColor.
Как и сократить название функций.
Я знаю как то так ? Или надо еще stock создавать?
#define GetPlayerColor GPC
#define SetPlayerColor SPC
Очень не рекомендую этого делать.
что то типо тогоPHP код:
#define GetPlayerColor(%0) GPC(%0)
#define SetPlayerColor(%0,%1) SPC(%0,%1)
зачем сток то?
И еще вопрос?
Как узнать сколько человек в виртуальном мире?
PHP код:
new World = strval(tmp);
SetPlayerVirtualWorld(playerid,World);
format(tmp,64,"Ваш виртуальный мир %d, в нем %d человек.",World,Что тут дополнить?);
SCM(playerid,-1,World);
Создайте переменную i для счётчика. Циклом пройдитесь по всем подключенным игрокам, одновременно проверяя их мир, если мир совпадает с миром игрока, то увеличивайте значение переменной i на единицу.
PHP код:
new world = strval(tmp), count;
SetPlayerVirtualWorld(playerid, world);
for(new i; i < MAX_PLAYERS; i++)
if(GetPlayerVirtualWorld(i) == world && playerid != i)
count++;
format(tmp,64,"Ваш виртуальный мир %d, в нем %d человек.",world,count);
SCM(playerid, -1, tmp);
Небось вместо %d используете %s?
Нет я что дурак ? )))
А если захожу в виртуальный мир №1, пишет "Ваш виртуальный мир 1, в нем 0 человек."
Можно сделать что бы писало "Ваш виртуальный мир 1, вы в нем один", если в нем нету людей. ? А если есть писать кол-во людей.
PHP код:
new world = strval(tmp), worlds;
SetPlayerVirtualWorld(playerid, world);
for(new i; i < MAX_PLAYERS; i++)
if(GetPlayerVirtualWorld(i) == world && playerid != i)
worlds++;
format(tmp,144,"Ваш виртуальный мир %d, в нем %d человек.",world,worlds);
SCM(playerid,-1,tmp);
Кстати, только сейчас сообразил почему 49. Добавьте в цикл проверку на подключенность игрока с помощью IsPlayerConnected и проблема решится.
Тогда придеться foreach добавлять?
PHP код:
new world = strval(tmp), worlds;
SetPlayerVirtualWorld(playerid, world);
for(new i; i < MAX_PLAYERS; i++)
if(!IsPlayerConnected(i)) return 1;
if(GetPlayerVirtualWorld(i) == world && playerid != i)
worlds++;
format(tmp,144,"Ваш виртуальный мир %d, в нем %d человек.",world,worlds);
SCM(playerid,-1,tmp);
наPHP код:
if(!IsPlayerConnected(i)) return 1;
if(GetPlayerVirtualWorld(i) == world && playerid != i)
PHP код:
if(IsPlayerConnected(i) && GetPlayerVirtualWorld(i) == world && playerid != i)
Спасибо
Можно сделать что бы писало "Ваш виртуальный мир 1, вы в нем один", если в нем нету людей. ? А если есть писать кол-во людей.
Правильно я код сделал?PHP код:
new world = strval(tmp), worlds;
SetPlayerVirtualWorld(playerid, world);
for(new i; i < MAX_PLAYERS; i++)
if(IsPlayerConnected(i) && GetPlayerVirtualWorld(i) == world && playerid != i)
worlds++;
if(0 == worlds) format(tmp,144,"Ваш виртуальный мир %d, в нем вы один.",world);
else format(tmp,144,"Ваш виртуальный мир %d, в нем %d человек.",world,worlds);
SCM(playerid,-1,tmp);
Верно.