Jump to content

Вопросы и ответы по MTA.


Recommended Posts

Помогите ребят, что то не пойму)

username = "Samuel_V" 
password = "123123" 
  
dbExec (sqlLink,[[INSERT INTO accounts ( Name, Password ) VALUES ( username , password );]])  

Не хочет воспринимать такой код)) Что сделать, объясните)

Link to comment
local strings = string.format([[INSERT INTO accounts ( Name, Password ) VALUES ( '%s', '%s');]], username, password) 
dbExec (sqlLink,strings) 

Сделал вот так, работает, наверно не порнография?))))

Я вот никогда не работал с этими функциями, даже когда их ввели я не изучал их толком, но зайдя в вики сразу увидел то что нужно вам:

dbExec (sqlLink, "INSERT INTO accounts ( Name, Password ) VALUES (?, ?)", username, password) 

Почему вы не можете этого сделать сами?

Link to comment
  • Other Languages Moderators
А допустим получить значение переменной из другого файла каким образом можно? И если даже этот ресурс с переменной находится в другой папке...

Сделай её глобальную, и положи в meta.xml файл из которого будешь читать выше файла в котором будешь применять.

(Нужно учитывать порядок загрузки файлов, чтоб переменная создалась а потом она будет глобальная её просто вызвать, если это в пределах одного ресурса.)

Link to comment
  • 2 weeks later...

Столкнулся с серьезной для меня проблемы. Если кто знает мод Paradice RP то думаю сталкивались с проблемой моей. При смерти персонаж не спавнится ни в какую ...

  
addEventHandler( "onClientPlayerWasted", localPlayer, 
    function( ) 
        -- keep the camera (reset when the player respawns) 
        local a, b, c = getCameraMatrix( ) 
        local d, e, f = getElementPosition( localPlayer ) 
        setCameraMatrix( a, b, c, d, e, f ) 
  
        DPosX, DPosY, DposZ = getElementPosition( localPlayer ) 
  
        respawnWait = getTickCount( ) + getElementData( resourceRoot, 'respawnDelay' )  * 1000 
        addEventHandler( "onClientRender", root, drawRespawnText ) 
    end 
) 
-- тут ловит эвент смерти 
  
function drawRespawnText( ) 
     
    -- check if we still need to wait 
    if respawnWait then 
        local diff = respawnWait - getTickCount( ) 
        if diff >= 0 then 
            text = ( "Наказание за смерть: %.0f секунд до возрождения" ):format( diff / 1000 ) 
        else 
            -- check if the player presses a control, wouldn't be caught by SA as the key is down 
                requestRespawn( ) 
        end 
    end 
     
    -- draw the text 
    dxDrawText( text, 4, 4, screenX, screenY, tocolor( 0, 0, 0, 255 ), 1, "pricedown", "center", "center" ) 
    dxDrawText( text, 0, 0, screenX, screenY, tocolor( 249, 184, 28, 255 ), 1, "pricedown", "center", "center" ) 
end 
  
--Ведет отсчет времени до респавна 
  
function requestRespawn( ) 
    if isPadDead( localPlayer ) and respawnWait and respawnWait - getTickCount( ) <= 0 then 
        respawnWait = false 
        removeEventHandler( "onClientRender", root, drawRespawnText ) 
         
        -- let's respawn! 
        triggerServerEvent( "onPlayerRespawn", localPlayer ) 
    end 
end 
  
--Вызов эвента респавна 
  
addEvent( "onPlayerRespawn", true ) 
addEventHandler( "onPlayerRespawn", root, 
    function( ) 
        if source == client then 
            -- we only want players who're actually dead and logged in 
            if isLoggedIn( source ) and isPedDead( source ) then 
                -- check if we can already respawn 
                if wastedTimes[ source ] and getTickCount( ) - wastedTimes[ source ] >= respawnDelay * 1000 then 
                    -- hide the screen 
                    fadeCamera( source, false, 1 ) 
                    -- spawn him at the hospital 
                    setTimer ( 
                        function( source ) 
                            if isElement( source ) and isLoggedIn( source ) and isPedDead( source ) then 
                                --SF Hosp Если от Х:-891 Y:-3000   до X:-3000 Y:3000 
                                if ( math.abs( DPosX )<=-891 and math.abs( DPosX )>=-3000 ) and ( math.abs( DPosX )<=3000 and math.abs( DPosX )>=3000 ) then 
                                    spawnPlayer( source, -2654, 634, 14.5, 180, getElementModel( source ), 0, 0 ) 
                                end 
                                --LS Hosp Если от Х:-890 Y:-3000  до X:3000 Y:524 
                                if ( math.abs( DPosX )>=890 and math.abs( DPosX )<=3000 ) and ( math.abs( DPosX )>=-3000 and math.abs( DPosX )<=524 ) then 
                                    spawnPlayer( source, 1173, -1324, 16.5, 270, getElementModel( source ), 0, 0 ) 
                                end 
                                -- LV Hosp Если от Х:-890 Y:3000   до X:3000 Y:525 
                                if ( math.abs( DPosX )>=890 and math.abs( DPosX )<=3000 ) and ( math.abs( DPosX )<=3000 and math.abs( DPosX )>=525 ) then 
                                    spawnPlayer( source, 1608, 1818, 11.5, 0, getElementModel( source ), 0, 0 ) 
                                end 
                                fadeCamera (source, true) 
                                setCameraTarget (source, source) 
                                setCameraInterior( source, 0 ) 
                            end 
                        end, 
                        1000, 
                        0, 
                        source 
                    ) 
                    wastedTimes[ source ] = nil 
                end 
            end 
        end 
    end 
) 

Все примеры для спавна в нулевой точке при смерти не работали в эвенте onClientPlayerWasted и onPlayerRespawn

Link to comment
  • Other Languages Moderators

Перед тем как выкладывать код, проверьте его сами. ( Особенно пункт: Логически нерабочий код )

https://forum.mtasa.com/viewtopic.php?f=141&t=40703

А так скажу откровенно, что тут ты врятли найдешь тех, кто поможет с подобными модами, куда легче написать свой мод самому.

Link to comment

я не пойму: на некоторых разделах премодерация что ли? Потому что я, например, пишу в тему одного сервера, нажимаю submit и не вижу своего сообщения.

Link to comment
  • 2 weeks later...
Ребят, а чем лучше пользоваться встроенными функциями для работы с mysql или http://wiki.multitheftauto.com/index.php?title=RU/Modules/MTA-MySQL

Встроенные лучше

На сколько я помню, встроенные функции по работе с бд блокирующее и работают в одном потоке с сервером т.е если сделать сложный и большой запрос в базу пока ты ждешь ответа жизнь на сервере замирает.

Я точно не помню,но из-за моей криворукости респавн машин вешал сервер секунд на 10, транспорта было 2000+

Link to comment
  • Other Languages Moderators
Ребят, а чем лучше пользоваться встроенными функциями для работы с mysql или http://wiki.multitheftauto.com/index.php?title=RU/Modules/MTA-MySQL

Встроенные лучше

На сколько я помню, встроенные функции по работе с бд блокирующее и работают в одном потоке с сервером т.е если сделать сложный и большой запрос в базу пока ты ждешь ответа жизнь на сервере замирает.

Я точно не помню,но из-за моей криворукости респавн машин вешал сервер секунд на 10, транспорта было 2000+

Сделай запросы асинхронными.

Link to comment
  • 2 weeks later...
  • 1 month later...
  • Other Languages Moderators
Куда в скрипте Gui Editor нужно заливать картинки что бы потом с ними работать на сервере ?

В свой ресурс например.

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