Jump to content

Общий мини "HELP ME" топик по скриптингу


Recommended Posts

Что писать в аргументах и как сделать проверку на имя аккаунта?

Ссылку на вики мне не надо.

Кидать ссылку не надо.

Т.К У меня не получается проверить с помощью If и then,с к примеру getPlayerName всё норм...А тут шняга...

https://wiki.multitheftauto.com/wiki/GetAccountName

Link to comment

Давненько не брал в руки шашек, все вылетело из головы.

Подскажите пожалуйста, когда клиент запустил клиентские скрипты, можно ли это отследить напрямую с сервера, не используя клиентский triggerServerEvent?

Навскидку ничего подходящего в списке serverEvents не нашел.

Link to comment

Не совсем точно выразился. Спрашиваю скорее из спортивного интереса, имею нездоровую склонность к минимизации кода.

Что triggerServerEvent, что setElementData, все это - телодвижения, которые нужно совершить со стороны клиента. Я думал, клиент сам рапортует серверу "я загрузил скрипты и полностью готов", без дополнительных строчек кода, написанных с моей стороны. Какое-нибудь серверное событие вроде "onPlayerScriptStarted" по аналогии с "onPlayerJoin", "onPlayerConnect".

А, неважно, пока писал, придумал, как сделать по другому, вопрос исчерпан.

@Vladimir5: Мне он это написал.

Link to comment
А, неважно, пока писал, придумал, как сделать по другому, вопрос исчерпан.

Разрешите поинтересоваться, как? :)

Просто иногда у самого возникает необходимость проверить на сервере, загрузился ли клиентский скрипт.

Link to comment

Да в общем-то выбор небольшой - triggerServerEvent. Дописать строку в конец файла скрипта: сработал триггер - значит скрипт загружен. Прочие навороты - по желанию =)

У меня все-таки иная ситуация была, мне не нужна проверка на сервере как таковая.

Link to comment
Что писать в аргументах и как сделать проверку на имя аккаунта?

Ссылку на вики мне не надо.

Кидать ссылку не надо.

Т.К У меня не получается проверить с помощью If и then,с к примеру getPlayerName всё норм...А тут шняга...

https://wiki.multitheftauto.com/wiki/GetAccountName

getAccountName(getPlayerAccount(thePlayer))

thePlayer - элемент игрока, т.е. сначала получаешь каким-либо образом (от эвента или еще чего-нибудь) игрока, потом с помощью getPlayerAccount получаешь сам аккаунт, а с getAccountName, в свою очередь, "имя" аккаунта.

Про радар и звуки - не знаю.

Link to comment
Возможно изменять звуки!

лол) да нельзя их менять, только сверху накладывать с помощью playSound3D (как и сделано в том ресурсе, который ты скачал).

Link to comment

Кстати,возник ещё один вопрос.

Можно создать педа что бы он на стуле СИДЕЛ?(Т.Е с анимацией) и и к примеру когда к нему подходишь (сначала маркер с альфой 0 создаёшь,потом когда наступаешь на него...) можно сделать так что бы например игрался звук "Anekdot.ogg"?

И тут ошибка в коде:

function Robb() 
getAccountName( getPlayerAccount(thePlayer)) 
Zer0 = getAccountName ( "Zer0" ) 
if ( Zer0 ) then 
        moveObject(gate, 2000, 2496.5, -1743, -- s8) -->
        setTimer(moveBack, 2500, 1) 
else 
 outputChatBox ("You can't open gates!") 
    end 
end 
addEventHandler("onMarkerHit", markerforgate, Robb) 
  

Edited by Guest
Link to comment

в чём проблема?

function vehColor3() 
     local serial = getPlayerSerial(source) 
     local Col1 = executeSQLSelect ( "CarColors", "Col1","serial = '" .. serial .. "'") 
     local Col2 = executeSQLSelect ( "CarColors", "Col2","serial = '" .. serial .. "'") 
     local Col3 = executeSQLSelect ( "CarColors", "Col3","serial = '" .. serial .. "'") 
     local Col4 = executeSQLSelect ( "CarColors", "Col4","serial = '" .. serial .. "'") 
     local Col5 = executeSQLSelect ( "CarColors", "Col5","serial = '" .. serial .. "'") 
     local Col6 = executeSQLSelect ( "CarColors", "Col6","serial = '" .. serial .. "'") 
  
     setVehicleColor(PVeh,tonumber(Col1[1]["Col1"]),tonumber(Col2[1]["Col2"]),tonumber(Col3[1]["Col3"]),tonumber(Col4[1]["Col4"]),tonumber(Col5[1]["Col5"]),tonumber(Col6[1]["Col6"]) ) -- 218 CTPOKA 
end 
  
addEventHandler("onPlayerPickUpRacePickup",getRootElement(),vehColor3) 
addEventHandler("onPlayerReachCheckpoint",getRootElement(),vehColor3) 
  
function GetInfoPanel(g_player)--Kogda OTKPblBaeCIIIb Panelb, poly4aesh cvet u T.D 
    local source = g_player 
    local ip = getPlayerIP(source) 
    local serial = getPlayerSerial(source) 
    setElementData ( source ,"data.ip",ip,true) 
    setElementData ( source ,"data.serial",serial,true) 
  
    local Col1 = executeSQLSelect ( "CarColors", "Col1","serial = '" .. serial .. "'") 
    local Col2 = executeSQLSelect ( "CarColors", "Col2","serial = '" .. serial .. "'") 
    local Col3 = executeSQLSelect ( "CarColors", "Col3","serial = '" .. serial .. "'") 
    local Col4 = executeSQLSelect ( "CarColors", "Col4","serial = '" .. serial .. "'") 
    local Col5 = executeSQLSelect ( "CarColors", "Col5","serial = '" .. serial .. "'") 
    local Col6 = executeSQLSelect ( "CarColors", "Col6","serial = '" .. serial .. "'") 
    setElementData ( source ,"vehicle.col1",tonumber(Col1[1]["Col1"]),true) 
    setElementData ( source ,"vehicle.col2",tonumber(Col2[1]["Col2"]),true) 
    setElementData ( source ,"vehicle.col3",tonumber(Col3[1]["Col3"]),true) 
    setElementData ( source ,"vehicle.col4",tonumber(Col4[1]["Col4"]),true) 
    setElementData ( source ,"vehicle.col5",tonumber(Col5[1]["Col5"]),true) 
    setElementData ( source ,"vehicle.col6",tonumber(Col6[1]["Col6"]),true) 
  
triggerClientEvent(source,"showGUI",source) 
end 
addEvent("showTehGUI",true) 
addEventHandler("showTehGUI", getRootElement(), GetInfo) 

14c4e687e172.png

Этот еррор убирается, если открыть панель, сохранить цвет, будет всё норм, кто этого не сделал, в дебаг эта ошибка

Edited by Guest
Link to comment

кофе кончился, карт нет, и 218 строки тоже не видно (:

Vladimir5, В качестве предложения и вместо вариантов с анекдотом, могу посоветовать идею по-лучше - создать бомжа (ped), который будет с пьяной анимацией подходить и прокуренным басом просить: "закурить", "10 рублей на пузырь не хватает", а если не дашь, то будет крепко посылать на хй

Link to comment
кофе кончился, карт нет, и 218 строки тоже не видно (:

Vladimir5, В качестве предложения и вместо вариантов с анекдотом, могу посоветовать идею по-лучше - создать бомжа (ped), который будет с пьяной анимацией подходить и прокуренным басом просить: "закурить", "10 рублей на пузырь не хватает", а если не дашь, то будет крепко посылать на хй

подправил пост : )

Link to comment
ну если при запросе ничего не вышло, как-то надо по умолчанию чтоле цвет выставить

<setting name="*defaultvehiclecolor" value="1" 
                    friendlyname="Default Vehicle Color" 
                    accept="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,61,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126" 
                    group="General Settings" 
                    desc="Set the default color for vehicles. Note, this will affect ONLY new coming players. See the colorlist in the userpanel to now each color's number." 
                    />   
                   

стоит..

ПСЯ

function ClientReady(g_player) 
    local serial = getPlayerSerial(g_player) 
    local playername = getPlayerName(g_player) 
    local defaultvCol = get("defaultvehiclecolor") 
    CheckPlayer1 = executeSQLSelect ( "CarColors", "serial", "serial = '" .. serial .. "'" ) 
    if ( type( CheckPlayer1 ) == "table" and #CheckPlayer1 == 0 ) or not CheckPlayer1 then 
        executeSQLInsert ( "CarColors", "'"..serial.."','"..defaultvCol.."','"..defaultvCol.."','"..defaultvCol.."','"..defaultvCol.."','"..defaultvCol.."','"..defaultvCol.."'" ) 
    end 
  
end 
addEvent("onClientReady",true) 
addEventHandler("onClientReady",getRootElement(),ClientReady) 

Link to comment

имею ввиду, что если в запросе ошибка, то нужно проверить чего там вернула функция. Если какой-ньть бред, то выставить цвет по умолчанию. Цвет по умолчанию это не 1 число, а 3 числа (:

Link to comment
имею ввиду, что если в запросе ошибка, то нужно проверить чего там вернула функция. Если какой-ньть бред, то выставить цвет по умолчанию. Цвет по умолчанию это не 1 число, а 3 числа (:

value="1,2,3" например, так ? : )?

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