Jump to content

Download and empty screen // Загрузка и пустой экран.


Recommended Posts

Привет ребята.

У меня тут возникли недоразумения на сервере из-за того, что игроки, которые не скачали все данные сервера, начинают драться, ругаться, флудить мне в личные сообщения в соц. сети и так далее.

Собственно сама задача: Где-то я встречал, что можно сделать некую слайд-заставку, или просто чёрный экран (либо фотографию, скриншот) во время того, как загружаются материалы.

Как можно это сделать, или, если уже есть скрипт, дайте ссылку пожалуйста.

Link to comment

могу посоветовать испоьзовать setCameraMatrix вместо картинок соотвественно при join , т.е. если у вас есть регистратор на сервере, то можете ставить вышеуказанную функцию в его код . А после удачного пароля верните камеру игроку)) и можно для уверенности зафризить, эту функцию не тестил но указанно что отключает чат toggleControl ( ОпределительИгрока , "chatbox", false )

Link to comment

Мне бы пример, что бы я лучше ориентировался. В LUA не разбираюсь особо.

Хотелось бы, во время того, как у игрока когда идёт загрузка - он не спавнился и в чат писать не мог. Просто читал-бы приветствие, или смотрел на пустой экран. После всей загрузки он бы спавнился на определённой отметке и играл.

Но функцию посмотрю.

Link to comment

спавн в любой случае будет)) на сервер, если вы хотите что бы игрок не мог ни чем управлять и тому подобное то юзайте функции что я дал, 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

Нет, на сервере нет login ресурса. Он нам пока не нужен.

За пример спасибо. Попробую что-нибудь создать. Надеюсь, что login ресурс не обязателен.

Link to comment

В общем... Попробовал присоединить код к скрипту мода, не работает. То есть - игрок спавнится, но он может ходить, писать в чат и так далее, а не загружает материалы без спавна. По сути, он код 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
естественно он будет ходить и тп, у вас спавн стоит при join

joinHandler()

Так-с, ага. Отдельным скриптом если писать - он не спавнится после полной загрузки. Что писать?

Link to comment

Так, если игрока нет в аккаунтах сервера, то каждый раз при его входе на сервер, будут загружаться не достающие файлы и камера будет висеть в заданной позиции. Пока файлы не зальются , после их будет спавнить . Вот нужно сделать этот код отдельным скриптом, серверным

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

Ладно, спасибо за помощь но получилось не то, что мне нужно, поскольку игрок после самоубийства/убийства не спавнится, а выводится на карту. В общем, попробую ещё покопаться в этом. Спасибо за помощь!

Link to comment

На какой карте? ну да ладно, вот вам пример спавна после убийства

  
addEventHandler ( "onPlayerWasted", getRootElement(),  
function  ( ) 
setTimer( spawnPlayer, 2000, 1, source, x, y, z) 
end ) 
  
  

так будет

Edited by Guest
Link to comment

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...