Jump to content

setCameraMatrix تعديل


Recommended Posts

  
  
------------------   
---Server    
----------------- 
  
  
addEventHandler("onPlayerJoin", getRootElement(), ---عند دخول اللاعب الى السيرفر 
    function() 
        fadeCamera(source, true, 5) 
        setCameraMatrix(source, 3038.77295, -3002.36108, 111.67200, 3134.92310, -3012.41260, 86.09600) 
    end   
) 
  
addEvent('spawn', true)  
addEventHandler('spawn', root, 
    function()   
        IdSkin = 46 --رقم الشخصية 
        local x, y, z = 55.179416656494, 453.06640625, 3.7078123092651  -- احداثيات لما يخلص تحميل اللاعب 
        spawnPlayer ( source,x, y, z, 0, IdSkin, 0, 1) 
        setCameraTarget(source, source) 
        showChat(source, true)       
        setTimer ( fadeCamera, 50, 1, source,false, 1 ) 
        setTimer ( fadeCamera, 100, 1, source,true, 3 )  
    end 
) 
     
------------------   
---Client    
----------------- 
  
addEventHandler("onClientResourceStart",getResourceRootElement(),function() 
    triggerServerEvent("spawn",getLocalPlayer())  ---اذا خلص تحميل اللاعب يرسل امر للسيرفر  
end) 
  
  

ذا كود يخلي الشاشة ع منظر

ابيه المنظر يتغير كل فترة‍‍ :mrgreen:

Link to comment

تقدر بدون الجدول اسهل لك ..

تسوي عدة وظائف ..

مثلاً 5 مواقع للكاميرا = 5 وظايف

تشتغل الوظيفة الأولى 10 ثواني

وبعدها تشتغل الوظيفة الثانية لمدة 10 ثواني

و ... إلخ

و الوظيفة الأخيرة ترجع لـ الوظيفة الأولى ..

^ عارف تعقيد ولكن أسهل لك من الجدول

Link to comment
تقدر بدون الجدول اسهل لك ..

تسوي عدة وظائف ..

مثلاً 5 مواقع للكاميرا = 5 وظايف

تشتغل الوظيفة الأولى 10 ثواني

وبعدها تشتغل الوظيفة الثانية لمدة 10 ثواني

و ... إلخ

و الوظيفة الأخيرة ترجع لـ الوظيفة الأولى ..

^ عارف تعقيد ولكن أسهل لك من الجدول

شغلتك طويلة ومعقدة شوي لو يتعلم للجداول أسهل

كثرة الوظائف والتايمر في جانب الخادم تسبب لاق قوي

غير لما تكون في جانب العميل

فالأفضل انه يكون تايمر واحد عشان لاتحصل مشاكل

Server

  
  
table = { 
{x, y, z, lx, ly, lz}, --- احداثيات كامك 
{x, y, z, lx, ly, lz}, 
} 
  
local PlayerWasSpawned = {} 
  
setTimer( 
    function(  ) 
    for _,player in pairs ( getElementsByType("player") ) do 
        if PlayerWasSpawned[player] then 
            fadeCamera( player,false, 1) 
            fadeCamera( player,true , 3) 
            setCameraMatrix( player,unpack(table[math.random(#table)]) ) 
        end  
    end 
end,5000,0) 
  
  
addEventHandler("onPlayerJoin", getRootElement(),  
    function ( )  
        PlayerWasSpawned[source] = true 
    end 
) 
  
addEventHandler("onPlayerQuit", getRootElement(),  
    function ( )  
        if PlayerWasSpawned[source] then 
            PlayerWasSpawned[source] = nil 
        end 
    end 
) 
  
addEvent('spawn', true)  
addEventHandler('spawn', root, 
    function()   
        if PlayerWasSpawned[source] then 
            PlayerWasSpawned[source] = nil 
        end 
        IdSkin = 46 --رقم الشخصية 
        local x, y, z = 55.179416656494, 453.06640625, 3.7078123092651  -- احداثيات لما يخلص تحميل اللاعب 
        spawnPlayer ( source,x, y, z, 0, IdSkin, 0, 1) 
        setCameraTarget(source, source) 
        showChat(source, true)       
        setTimer ( fadeCamera, 50, 1, source,false, 1 ) 
        setTimer ( fadeCamera, 100, 1, source,true, 3 )  
    end 
) 
  
  

Client

  
  
  
addEventHandler("onClientResourceStart",getResourceRootElement(),function() 
    triggerServerEvent("spawn",getLocalPlayer())  ---اذا خلص تحميل اللاعب يرسل امر للسيرفر  
end) 
  
  

Link to comment
  
setCameraMatrix( player,unpack(table[math.random(#table)]) ) 

, وش تعني ؟

unpack 

+

#table  

ليه المربع قبل الجدول ؟

+

(table[math.random(#table)])  

ليه انكتب الجدول مرتين ؟

^ سوري على الاسلئه الشاطحه :P

Link to comment
unpack 

هذي تفك الجدول لك كامل مثلا عندك

unpack( table Name [ number of table ] ) 
table Name : اسم الجدول 
number of table : رقم الجدول 
  

مثال :

  
S3D = { 
{1,2,3}, 
{4,5,6}, 
} 
  
  
  
unpack(S3D[1]) 
  
الناتج = 
  
> 1,2,3 
  
unpack(S3D[2]) 
  
 الناتج = 
> 4, 5, 6 
  
--------- 
# -- يجيب لك مجموع الجدول 
  
  
#S3D 
  
الناتج =  
  
> 2 
  
math.random  
  
يجيب لك ارقام عشوائية  
  
math.random( n1, n2) 
  
n1 يبدأ من رقم 
  
n2 ينتهي من رقم 
  
مثال : 
  
math.random(#S3D) --يبدأ من 1 الى اخر رقم في الجدول 
  
الناتج : 
  
> 1 
  
ولو حطيته مره ثانيه يمكن يطلع الناتج  
  
> 2 
  
عشوائي يختار لك اي رقم 
  
أو يمديك تسوي كذا  
  
math.random(1, #S3D) --يبدأ من 1 الى اخر رقم في الجدول 
  
-- 
  
  

Edited by Guest
Link to comment
unpack 

هذي تفك الجدول لك كامل مثلا عندك

unpack( table Name [ number of table ] ) 
table Name : اسم الجدول 
number of table : رقم الجدول 
  

مثال :

  
S3D = { 
{1,2,3}, 
{4,5,6}, 
} 
  
  
  
unpack(S3D[1]) 
  
الناتج = 
  
> 1,2,3 
  
unpack(S3D[2]) 
  
 الناتج = 
> 4, 5, 6 
  
--------- 
# -- يجيب لك مجموع الجدول 
  
  
#S3D 
  
الناتج =  
  
> 2 
  
math.random  
  
يجيب لك ارقام عشوائية  
  
math.random( n1, n2) 
  
n1 يبدأ من رقم 
  
n2 ينتهي من رقم 
  
مثال : 
  
math.random(#S3D) --يبدأ من 1 الى اخر رقم في الجدول 
  
الناتج : 
  
> 1 
  
ولو حطيته مره ثانيه يمكن يطلع الناتج  
  
> 2 
  
عشوائي يختار لك اي رقم 
  
أو يمديك تسوي كذا  
  
math.random(1, #S3D) --يبدأ من 1 الى اخر رقم في الجدول 
  
-- 
  
  

يعطيك الف الف الف الف عافية

ما قصرت ي شنب

716038499.jpeg

Link to comment

Required Arguments

thePlayer: The player whose camera is to be changed.

positionX: The x coordinate of the camera's position.

positionY: The y coordinate of the camera's position.

positionZ: The z coordinate of the camera's position.

Optional Arguments

lookAtX: The x coordinate of the point the camera faces.

lookAtY: The y coordinate of the point the camera faces.

lookAtZ: The z coordinate of the point the camera faces.

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...