dnsvlc Posted May 28, 2013 Share Posted May 28, 2013 Привет ребята. У меня тут возникли недоразумения на сервере из-за того, что игроки, которые не скачали все данные сервера, начинают драться, ругаться, флудить мне в личные сообщения в соц. сети и так далее. Собственно сама задача: Где-то я встречал, что можно сделать некую слайд-заставку, или просто чёрный экран (либо фотографию, скриншот) во время того, как загружаются материалы. Как можно это сделать, или, если уже есть скрипт, дайте ссылку пожалуйста. Link to comment
Ruga Posted May 28, 2013 Share Posted May 28, 2013 могу посоветовать испоьзовать setCameraMatrix вместо картинок соотвественно при join , т.е. если у вас есть регистратор на сервере, то можете ставить вышеуказанную функцию в его код . А после удачного пароля верните камеру игроку)) и можно для уверенности зафризить, эту функцию не тестил но указанно что отключает чат toggleControl ( ОпределительИгрока , "chatbox", false ) Link to comment
dnsvlc Posted May 29, 2013 Author Share Posted May 29, 2013 Мне бы пример, что бы я лучше ориентировался. В LUA не разбираюсь особо. Хотелось бы, во время того, как у игрока когда идёт загрузка - он не спавнился и в чат писать не мог. Просто читал-бы приветствие, или смотрел на пустой экран. После всей загрузки он бы спавнился на определённой отметке и играл. Но функцию посмотрю. Link to comment
Ruga Posted May 29, 2013 Share Posted May 29, 2013 спавн в любой случае будет)) на сервер, если вы хотите что бы игрок не мог ни чем управлять и тому подобное то юзайте функции что я дал, matrix и frozen либо control тоесть при подключениии join камера при матрикс будет висеть в положении которое укажете а фрозен либо контроль даст ему неподвижность соотвественно он будет наблюдать кусок сервера который вы ему покажете, делать стоит на серверной стороне)) у вас есть система регистрации на сервере? если да то вернуть камеру и управление можно после воода пароля, если нет то лучше сделайте такую систему если лень на community есть подобные ресурсы))) к примеру addEventHandler( "onPlayerJoin", root, function () setCameraMatrix(source, 2123.3186,2225.5566,10.6719, 2152.5303,2045.3932,17.1303) setElementFrozen(source,true) end ) Link to comment
dnsvlc Posted May 30, 2013 Author Share Posted May 30, 2013 Нет, на сервере нет login ресурса. Он нам пока не нужен. За пример спасибо. Попробую что-нибудь создать. Надеюсь, что login ресурс не обязателен. Link to comment
dnsvlc Posted May 30, 2013 Author Share Posted May 30, 2013 Так-с. Скрипт работает, но игрок после загрузки не спавнится. SpawnPlayer вставлять? (Я сделал, но так скрипт не работает). Link to comment
Ruga Posted May 30, 2013 Share Posted May 30, 2013 вот поищите тут https://community.multitheftauto.com/in ... ces&s=list Link to comment
dnsvlc Posted May 31, 2013 Author Share Posted May 31, 2013 В общем... Попробовал присоединить код к скрипту мода, не работает. То есть - игрок спавнится, но он может ходить, писать в чат и так далее, а не загружает материалы без спавна. По сути, он код setCameraMatrix игнорирует. Логин панель не предлагать! Вот код мода: addEventHandler( "onPlayerJoin", root, function () setCameraMatrix(source, 369.74548339844, -2047.9771728516, 7.8359375) setElementFrozen(source,true) end ) local spawnX, spawnY, spawnZ = 369.74548339844, -2047.9771728516, 7.8359375 function joinHandler() spawnPlayer(source, spawnX, spawnY, spawnZ) fadeCamera(source, true) setCameraTarget(source, source) giveWeapon ( source, 10, 1, true) giveWeapon ( source, 43, 500, true) giveWeapon ( source, 46, 1, true) setElementModel ( source, math.random(312) ) end addEventHandler("onPlayerJoin", getRootElement(), joinHandler) addEventHandler("onPlayerQuit",root, function () if getPlayerCount() == 1 and get("spawnreset") == "onServerEmpty" then spawnPlayer(source, spawnX, spawnY, spawnZ) end end ) addEventHandler("onPlayerWasted", root, function() spawnPlayer(source, spawnX, spawnY, spawnZ) fadeCamera(source, true) setCameraTarget(source, source) giveWeapon ( source, 10, 1, true) giveWeapon ( source, 43, 500, true) giveWeapon ( source, 46, 1, true) setElementModel ( source, math.random(312) ) end ) addEventHandler( "onPlayerSpawn", root, function() setPedFightingStyle( source, 5 ) setPedWalkingStyle( source, 118 ) end ) setWeather( 2 ); setTime( 06, 00 ); Подскажите пожалуйста, как сделать чтобы игрок загружал материалы без спавна? Link to comment
Ruga Posted May 31, 2013 Share Posted May 31, 2013 естественно он будет ходить и тп, у вас спавн стоит при join joinHandler() Link to comment
dnsvlc Posted May 31, 2013 Author Share Posted May 31, 2013 естественно он будет ходить и тп, у вас спавн стоит при join joinHandler() Так-с, ага. Отдельным скриптом если писать - он не спавнится после полной загрузки. Что писать? Link to comment
Ruga Posted May 31, 2013 Share Posted May 31, 2013 сейчас я протестирую и сброшу что выйдет Link to comment
Ruga Posted May 31, 2013 Share Posted May 31, 2013 Так, если игрока нет в аккаунтах сервера, то каждый раз при его входе на сервер, будут загружаться не достающие файлы и камера будет висеть в заданной позиции. Пока файлы не зальются , после их будет спавнить . Вот нужно сделать этот код отдельным скриптом, серверным addEventHandler( "onPlayerJoin", root, function () setCameraMatrix(source, 369.74548339844, -2047.9771728516, 7.8359375) end ) это в общий скрипт тоесть server и client s function spawnMeC () spawnPlayer(source, 0,0,0) fadeCamera(source, true) setCameraTarget(source, source) giveWeapon ( source, 10, 1, true) giveWeapon ( source, 43, 500, true) giveWeapon ( source, 46, 1, true) setElementModel ( source, math.random(312) ) end addEvent("spawnMe", true) addEventHandler("spawnMe", getRootElement(), spawnMeC) cl addEventHandler("onClientResourceStart", getResourceRootElement(getThisResource()), function() triggerServerEvent('spawnMe',getLocalPlayer()) end) для теста удалите клиент файлы и зайдите на сервер с ником не занесенным в акк сервера разберетесь в общем)) замечу еще раз, игроков занесенных в акк и если при этом есть сохранение их позиции то их будет спавнить по сохранению, у вас такого быть не должно если нет регистрации...Решить с чатом можно этой функцией setPlayerMuted , соответственно скрипт тогда нужно будет добавить в acl... и координаты лучше заливать в таблицу пример table = { [1]={x,y,z}, [2]={x,y,z}, [3]={x,y,z} } -- и так далее, главное в последнем не ставить запятой --и пользовать local spawnX, spawnY, spawnZ = unpack ( table [ 1 ] ) -- указать имя таблицы и номер внутри лежащих координат --также можно сделать random пример local spawnX, spawnY, spawnZ = unpack ( table [ math.random ( #table ) ] ) -- т.е. вместо номера у нас случайное число из таблицы Link to comment
dnsvlc Posted June 1, 2013 Author Share Posted June 1, 2013 Ладно, спасибо за помощь но получилось не то, что мне нужно, поскольку игрок после самоубийства/убийства не спавнится, а выводится на карту. В общем, попробую ещё покопаться в этом. Спасибо за помощь! Link to comment
Ruga Posted June 1, 2013 Share Posted June 1, 2013 (edited) На какой карте? ну да ладно, вот вам пример спавна после убийства addEventHandler ( "onPlayerWasted", getRootElement(), function ( ) setTimer( spawnPlayer, 2000, 1, source, x, y, z) end ) так будет Edited June 3, 2013 by Guest Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now