XAOC | Дата: Среда, 11.06.2008, 07:19 | Сообщение # 1 |
Советчик
Группа:
Разработчики
Сообщений: 1190
Награды: 11
Город: Гдета там>>
Репутация: 311
Замечания: 0%
Статус:
| Синтаксис данной темы:
название процедуры Quote Параметры и их описание { Метод применения } Описание
++++++++++++++++++++++++++++
public OnGameModeInit() { print("Hello World,i'm GameMode"); return 1; } Данная процедура обрабатывается при подгрузке гейммода
public OnGameModeExit() { print("Buy World,i'm GameMode"); return 1; } Данная процедура обрабатывается при выгрузке гейммода
public OnFilterScriptInit() { print("Hello World,i'm FilterScript"); return 1; } Данная процедура обрабатывается при подгрузке фильтрскрипта
public OnFilterScriptExit() { print("Buy World,i'm FilterScript"); return 1; } Данная процедура обрабатывается при выгрузке фильтрскрипта
public OnPlayerConnect(playerid)
{ printf("Player with ID%d connect to server.",playerid); return 1; } Данная процедура обрабатывается при подключении игрока к серверу.
public OnPlayerDisconnect(playerid, reason)
Quote playerid: ID игрока; reason: причина отсоединения от сервера (0,1,2)
{ new pname[MAX_PLAYER_NAME],string[256]; GetPlayerName(playerid,pname,sizeof(pname)); format(string,sizeof(string),"* %s [%d] disconnect from server.",pname,playerid); switch(reason) { case 0: format(string,sizeof(string),"%s (Timeout)",string); case 1: format(string,sizeof(string),"%s (Leaving)",string); case 2: format(string,sizeof(string),"%s (Kick/Ban)",string); } SendClientMessageToAll(0xFFFFFFAA,string); return 1; } Данная процедура обрабатывается при отсоединении игрока от сервера.
public OnPlayerSpawn(playerid)
{ printf("Player with ID%d has spawned.",playerid); return 1; } Данная процедура обрабатывается при спауне игрока.
public OnPlayerDeath(playerid, killerid, reason)
Quote playerid: ID игрока; killerid: ID убившего; reason: оружие, из которого был убит игрок
{ printf("Player with ID%d has killed player with ID%d. Reason: %s.",killerid,playerid,reason); return 1; } Данная процедура обрабатывается при смерти игрока.
public OnVehicleSpawn(vehicleid)
Quote vehicleid: ID транспортного средства
{ printf("Vehicle with ID%d has spawned.",vehicleid); return 1; } Данная процедура обрабатывается при спауне транспортного средства.
public OnVehicleDeath(vehicleid, killerid)
Quote vehicleid: ID транспортного средства; killerid: ID уничтожившего;
{ printf("Vehicle with ID%d has destroyed by player with ID%d.",vehicleid,killerid); return 1; } Данная процедура обрабатывается при уничтожении транспортного средства.
public OnPlayerText(playerid, text[])
Quote playerid: ID игрока; text[]: текст, введенный игроком
{ printf("Player with ID%d has send message to chat: %s",playerid,text); return 1; } Данная процедура обрабатывается при отправлении игроком сообщения в чат.
public OnPlayerCommandText(playerid, cmdtext[])
Quote playerid: ID игрока; cmdtext[]: команда, введенная игроком
{ if(strcmp(cmdtext,"/kill",true) == 0) { SetPlayerHealth(playerid,0.0); printf("Player with ID%d has suicided.",playerid); return 1; } return 0; } Данная процедура обрабатывается при введении игроком команды.
public OnPlayerInfoChange(playerid)
{ printf("Information about player with ID%d has changed.",playerid); return 1; } Данная процедура обрабатывается при изменении информации о игроке.
public OnPlayerRequestClass(playerid, classid)
Quote playerid: ID игрока; classid: ID класса, выбираемого игроком
{ switch(classid) { case 0: GameTextForPlayer(playerid,"~g~Worker",5000,5); case 1: GameTextForPlayer(playerid,"~r~Pimp",5000,5); case 2: GameTextForPlayer(playerid,"~b~FBI",5000,5); } return 1; } Данная процедура обрабатывается при выборе игроком тех или иных классов.
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
Quote playerid: ID игрока; vehicleid: ID транспортного средства, в которое садиться игрок; ispassenger: проверка на то, сел ли игрок пассажиром
{ if(ispassenger == 1) printf("Player with ID%d has attempted to enter in vehicle with ID%d as passenger.",playerid,vehicleid); else printf("Player with ID%d has attempted to enter in vehicle with ID%d as driver.",playerid,vehicleid); return 1; } Данная процедура обрабатывается при попытке игроком сесть в то или иное транспортное средство.
public OnPlayerExitVehicle(playerid, vehicleid)
Quote playerid: ID игрока; vehicleid: ID транспортного средства, из которого выходит игрок
{ printf("Player with ID%d has attempted to exit from vehicle with ID%d.",playerid,vehicleid); return 1; } Данная процедура обрабатывается при попытке игроком выйти из того или иного транспортного средства.
public OnPlayerStateChange(playerid, newstate, oldstate)
Quote playerid: ID игрока; newstate: новый режим игрока; oldstate: старый режим игрока
{ switch(newstate) { case PLAYER_STATE_DRIVER: printf("Player with ID%d has driving a vehicle now.",playerid); case PLAYER_STATE_SPECTATING: printf("Player with ID%d has spectating now.",playerid); } return 1; } Данная процедура обрабатывается при смене режима игрока: в машине, пешком или в режиме спектатора.
public OnPlayerEnterCheckpoint(playerid)
{ printf("Player with ID%d has entered in checkpoint.",playerid); return 1; }
Данная процедура обрабатывается при входе игрока в чекпоинт.
public OnPlayerLeaveCheckpoint(playerid)
{ printf("Player with ID%d has leaved checkpoint.",playerid); return 1; } Данная процедура обрабатывается при выходе игрока из чекпоинта.
public OnPlayerEnterRaceCheckpoint(playerid)
{ printf("Player with ID%d has entered in race checkpoint.",playerid); return 1; }
Данная процедура обрабатывается при входе игрока в гоночный чекпоинт.
public OnPlayerLeaveRaceCheckpoint(playerid)
{ printf("Player with ID%d has leaved race checkpoint.",playerid); return 1; } Данная процедура обрабатывается при выходе игрока из гоночного чекпоинта.
public OnPlayerUpdate(playerid)
{ return 1; } Данная процедура вызываеться каждый раз когда на сервер приходит информационный пакет от игрока.
Подробнее: игрок активно ходит/бегает/осматриваеться/стреляет/ездит - вызываеться 40-80 раз в секунду игрок просто стоит и ничего не делает, осматриваетьс мышью - вызываеться 20-30 раз в секунду игрок нажал ESC/вышел в меню игры/свернул игру - вызываеться 0 раз в секунду
если возвращать в ней 0 информация от игрока не будет передоваться другим игрокам на сервере, он видит их движение и активность, влиять на них не может, для остальных он стоит на месте. если ничего не возвращать идет полная рассинхронизация игрока, для всех он неактивен, все для него неактивны. если возвращать 1 стандартный режим игры.
Не рекомендуеться использовать в данной функции большие объёмы кода.
OnPlayerObjectMoved(playerid, objectid);
Quote playerid: ID игрока objectid: ID объекта
{ return 1; }
Вызываеться когда объект, созданый у игрока, достигает координат после начала движения командой MovePlayerObject()
OnObjectMoved(objectid);
Quote objectid: ID объекта
{ return 1; }
Вызываеться когда объект достигает координат после начала движения командой MoveObject()
Тема будит пополнятся со временем
|
|
|
|