Онлайн всего: 1 Гостей: 1 Пользователей: 0 |
|
02.11.2014, 23:07 | |
Добавилось то, что теперь мы дописываем в строку к NPC интерьер, где он будет и его боевой стиль. Об этом мы писали в серии статей "Руководство по созданию NPC в SAMP" public OnFilterScriptInit() – вызывается, когда скрипт начинает работу { ringused=0; - скрипт загрузился – говорим, на ринге никого нет for (new i = 0; i < 499; i++) { DeletePVar(i, "box"); для всех игроков удаляем pvar box } pickupkase = CreatePickup(1314,2, 757.4380,5.8088,1000.7014, -1); создаем пикап с идентификатором pickupkase по таким-то координатам, 1314 – моделька пикапа, далее идут координаты по x,y,z, затем идет в каком виртуальном мире, ставьте -1 для всех виртуальных миров, ну а так-то по идее можно и 0, для 0вого мира.
} public OnPlayerDisconnect(playerid, reason) – что будет, когда игрок отключится { Проверяем для NPC нашего, боксера то есть for (new npcid = 0; npcid < 1; npcid++) { if(GetPVarInt(playerid, "box")== 1) если игрок был с идентификатором box, что значит на ринге { Выполнить для всех игроков имеющих идентификатор box его удаление, убиваем таймер, уничтожаем NPC, ставим ринг в положение – не используется, задаем таймер на обновление пикапа для входа на ринг. for (new i = 0; i < 499; i++) { if(GetPVarInt(i, "box")== 1){ DeletePVar(i,"box");}} KillTimer(boxertimer); FCNPC_Destroy(npc[npcid][npc_ID]); ringused=0; SetTimer("Renewbox",15000,0); } } } public OnPlayerDeath(playerid, killerid, reason) вызывается когда игро умирает { Всё то же самое for (new npcid = 0; npcid < 1; npcid++) { if(GetPVarInt(playerid, "box")== 1) { for (new i = 0; i < 499; i++) { if(GetPVarInt(i, "box")== 1){ DeletePVar(i,"box");}} KillTimer(boxertimer); FCNPC_Destroy(npc[npcid][npc_ID]); ringused=0; SetTimer("Renewbox",15000,0); } } return 1; } public OnFilterScriptExit() когда выключаем скрипт { Всё то же самое, кроме for (new npcid = 0; npcid < sizeof(npc); npcid++) { FCNPC_Destroy(npc[npcid][npc_ID]); } for (new i = 0; i < 499; i++) { if(GetPVarInt(i, "box")== 1){ скрипт выключили, а игроку на ринге быть? Ну уж нет, все кто имеют подобные идентификатор должны быть немедленно телепортированы с него, а идентификатор удален с них SetPlayerPos(i, 766.2117,6.1029,1000.7167); SetPlayerFacingAngle(i, 170.4782); DeletePVar(i,"box");}} KillTimer(boxertimer); DestroyPickup(pickupkase); return 1; } Вернуться в первую часть | Разбор скрипта "NPC боксёр в SAMP" (Часть 3)
| |
Добавил: AXE |
| Теги: | |
Просмотров: 3059 | Рейтинг: 0.0/0 |