Nanotech.ua Posted December 9, 2011 Share Posted December 9, 2011 У меня что-то не работает скрипт ktypestatus... Вот покажу коды. Это в ktypestatus.lua: addEvent("playerChatting", true ) addEvent("playerNotChatting", true ) function playerChatting() triggerClientEvent("updateChatList", getRootElement(), source, true) end function playerNotChatting() triggerClientEvent("updateChatList", getRootElement(), source, false) end addEventHandler("playerChatting", getRootElement(), playerChatting) addEventHandler("playerNotChatting", getRootElement(), playerNotChatting) addEventHandler ("onPlayerQuit", getRootElement(), playerNotChatting ) А это в ktypestatus_cl.lua: local showMyIcon = true local chattingPlayers = {} local drawDistance = 1000 local transicon = false local chatIconFor = {} local screenSizex, screenSizey = guiGetScreenSize() local guix = screenSizex * 0.1 local guiy = screenSizex * 0.1 local globalscale = 1 local globalalpha = .85 addEvent("updateChatList", true ) gChatting = false function chatCheckPulse() local chatState = isChatBoxInputActive() or isConsoleActive() if chatState ~= gChatting then if chatState then triggerServerEvent("playerChatting", getLocalPlayer()) else triggerServerEvent("playerNotChatting", getLocalPlayer()) end gChatting = chatState end setTimer( chatCheckPulse, 250, 1) end function showTextIcon() local playerx,playery,playerz = getElementPosition ( getLocalPlayer() ) for player, truth in pairs(chattingPlayers) do if (player == getLocalPlayer()) then if(not showMyIcon) then return end end if(truth) then local chatx, chaty, chatz = getElementPosition( player ) if(isPlayerInVehicle(player)) then chatz = chatz + .5 end local dist = getDistanceBetweenPoints3D ( playerx, playery, playerz, chatx, chaty, chatz ) if dist < drawDistance then if( isLineOfSightClear(playerx, playery, playerz, chatx, chaty, chatz, true, false, false, false )) then local screenX, screenY = getScreenFromWorldPosition ( chatx, chaty, chatz+1.2 ) local scaled = screenSizex * (1/(2*(dist+5))) *.85 local relx, rely = scaled * globalscale, scaled * globalscale -- -.0025 * dist+.125 --if(dist < 1) then -- relx, rely = guix, guiy --end guiSetAlpha(chatIconFor[player], globalalpha) guiSetSize(chatIconFor[player], relx, rely, false) guiSetPosition(chatIconFor[player], screenX, screenY, false) if(screenX and screenY) then guiSetVisible(chatIconFor[player], true) end end end end end end function updateList(newEntry, newStatus) chattingPlayers[newEntry] = newStatus if(not chatIconFor[newEntry]) then chatIconFor[newEntry] = guiCreateStaticImage(0, 0, guix, guiy, "chat.png", false ) end guiSetVisible(chatIconFor[newEntry], false) end function toggleIcon() outputChatBox ( "Your icon is: " ) if( showMyIcon ) then showMyIcon = false outputChatBox ( "off", 255, 0, 0) else showMyIcon = true outputChatBox ( "on", 0, 255, 0) end end function resizeIcon( command, newSize ) if(newSize) then local resize = tonumber( newSize ) local percent = resize/100 globalscale = percent end outputChatBox("Chat icons are "..(globalscale * 100).."% normal size") end function setIconAlpha( command, newSize ) if(newSize) then globalalpha = tonumber( newSize ) / 100 end outputChatBox("Chat icons are "..(globalalpha * 100).."% visible") end addEventHandler ( "updateChatList", getRootElement(), updateList ) addEventHandler ( "onClientResourceStart", getRootElement(), chatCheckPulse ) addEventHandler ( "onClientPlayerJoin", getRootElement(), chatCheckPulse ) addEventHandler ( "onClientRender", getRootElement(), showTextIcon ) addCommandHandler( "toggleicon", toggleIcon) addCommandHandler( "resizeicon", resizeIcon) addCommandHandler( "seticonvis", setIconAlpha) И вокне сервера пишет: ERROR: unzipped\nanomode\modes\ktypestatus_cl.lua:7: attempt to call global 'guiGetScreenSize' (a nil value) Я ничего вообще не изменял там...что это за проблемма может быть ? Также добавляю например регистрацию на сервере, всё вроде идет, но когда регаюсь на сервере, ввожу ник, пасс, мэил, жму "Go" и ничего не происходит, ввожу "debugscript 3", и там пишет какойто WARNING: login_serv.lua:31 Bad Argument....без понятия что это такое..также другие скрипты добавляю, они н идут) В чем же может быть проблемма? Вот мой meta.xml если что: type="gamemode" name="Nanotech LV:Stunt GM | v0.1b" version="0.1b" author="Nanotech.ua" /> resource="freeroam" /> resource="spawnmanager" /> "nanomode.map" /> Помогите пожалуйста решить проблемму... Link to comment
_Dark_ Posted December 9, 2011 Share Posted December 9, 2011 Пропустили параметр type. Из-за этого, он выполняется на сервере. А должен на клиенте Насчет этого: WARNING: login_serv.lua:31 Bad Argument....без понятия что это такое..также другие скрипты добавляю, они н идут) Дайте код файла login_serv.lua. P.S. У вас в meta.xml два раза Link to comment
Nanotech.ua Posted December 9, 2011 Author Share Posted December 9, 2011 Пропустили параметр type. Из-за этого, он выполняется на сервере. А должен на клиенте Спасибо, изменил. Насчет этого: WARNING: login_serv.lua:31 Bad Argument....без понятия что это такое..также другие скрипты добавляю, они н идут) Дайте код файла login_serv.lua. Вот: function on4XLogin ( player, user, pass ) local account = getAccount ( user, pass ) if ( account ~= false ) then if ( not isGuestAccount ( account ) ) then -- For every player that's logged in.... logOut ( player ) -- Log them out. end if (logIn ( player, account, pass ) == true) then triggerClientEvent ( player, "hideLoginWindow", getRootElement()) else outputChatBox ( "Login error!", player, 255, 255, 0 ) -- Output they got the details wrong. end else outputChatBox ( "Wrong username or password!", player, 255, 255, 0 ) -- Output they got the details wrong. end end addEvent( "on4XLogin", true ) addEventHandler( "on4XLogin", getRootElement(), on4XLogin ) function on4XRegister ( player, user, pass, email ) local account = getAccount ( user, pass ) if ( account ~= false ) then if (logIn ( player, account, pass ) == true) then triggerClientEvent ( player, "hideLoginWindow", getRootElement()) else outputChatBox ( "Login error!", player, 255, 255, 0 ) -- Output they got the details wrong. end else account = addAccount ( user, pass ) setAccountData ( account, "email", email) if (logIn ( player, account, pass ) == true) then triggerClientEvent ( player, "hideLoginWindow", getRootElement()) else outputChatBox ( "Register/Login error!", player, 255, 255, 0 ) -- Output they got the details wrong. end end end addEvent( "on4XRegister", true ) addEventHandler( "on4XRegister", getRootElement(), on4XRegister ) function needVars() local allow_register = get("allow_register") local email_on_register = get("email_on_register") triggerClientEvent(source, "onSendVars", getRootElement(), allow_register, email_on_register) end addEvent("onNeedVars", true) addEventHandler("onNeedVars", getRootElement(), needVars) P.S. У вас в meta.xml два раза Угу, спасибо! Убрал . P.s.: Ну сделал я всё норм, отредактировать, и снова бред какойто по этому скрипту WARNING: modes/133_chaticon/ktypestatus_cl.lua(Line 43) [Client] isPlayerInVehicle is deprecated and may not work in future versions. Please replace with isPedInVehicle. Link to comment
_Vincent_ Posted December 9, 2011 Share Posted December 9, 2011 Переводчиком пользуйтесь иногда. deprecated = устарела. Ресурс, видимо, не нов, а MTA предлагает обновить старую функцию на новую, так как в будущем ее может быть уберут за ненадобностью. IsPedInVehicle - актуальная. Link to comment
_Dark_ Posted December 9, 2011 Share Posted December 9, 2011 WARNING: modes/133_chaticon/ktypestatus_cl.lua(Line 43) [Client] isPlayerInVehicle is deprecated and may not work in future versions. Please replace with isPedInVehicle. замените isPlayerInVehicle на isPedInVehicle Link to comment
Nanotech.ua Posted December 9, 2011 Author Share Posted December 9, 2011 WARNING: modes/133_chaticon/ktypestatus_cl.lua(Line 43) [Client] isPlayerInVehicle is deprecated and may not work in future versions. Please replace with isPedInVehicle. замените isPlayerInVehicle на isPedInVehicle А теперь вообще какие то варнинги "gui" :О. Ну кароче, если я ставлю этот скрипт просто как ресурс, имеется ввиду не вписываю в мод, то всё норм. Всё идет. Но только если впишу в мод, не идет..... Link to comment
_Vincent_ Posted December 9, 2011 Share Posted December 9, 2011 а зачем все пихать в мод? как вариант, если хочешь чтобы он с модом стартовал, про пиши его в мете как include. https://wiki.multitheftauto.com/index.ph ... U/Meta.xml Link to comment
Nanotech.ua Posted December 10, 2011 Author Share Posted December 10, 2011 а зачем все пихать в мод? Ой, не в мод, а в meta.xml. Кароче создаю папку 'modes', в неё папки всех ресурсов, и в 'meta.xml' всё прописываю о: т.е. там картинки, названия модов .луа и др. как вариант, если хочешь чтобы он с модом стартовал, про пиши его в мете как include.https://wiki.multitheftauto.com/index.ph ... U/Meta.xml Карчое у меня есть в папке с модом папка 'modes'(как я выше пеисал), и в неё я ставлю все скрипты. Вот что я в мете прописал: resource="modes/133_chaticon" /> resource="modes/shader_contrast" /> Верно сделал?) Или нет?) И да, на сервере ввожу после этого 'refresh', и вот ошибка: ERROR: Problem with resource: nanomode; Failed to link to modes/133_chaticon - Если я с инклудами не так сделал, обьясни плз попродробнее что куда..)) Link to comment
_Vincent_ Posted December 10, 2011 Share Posted December 10, 2011 Если у тебя уже есть отдельный ресурс (папка с файлами), который ты где-то скачал, то можно его заставить стартовать при старте твоего мода. Для этого прописываем в мету, например, это: <include resource="killmessages" /> И помни, что "пути" тут формируются не как к картинке в HTML, а чисто из названия ресурса. Где бы твой ресурс не лежал, MTA воспринимает его как папку с названием, и по этому самому названию ты сможешь его запустить. Тебе не нужно ничего кроме самого названия, т.е. в твоем случае - "shader_contrast" и "133_chaticon". Папки с [] в назании служат для того, чтобы можно было сортировать ресурсы по категориям, то есть такие папки MTA не воспринимает как ресурсы, но при этом видит их содержимое. Таким образом, мы получаем и удобную организацию (например, [race]/[maps], а только тут уже карты-ресурсы), и MTA при этом их видит. Так понятней? Link to comment
Nanotech.ua Posted December 10, 2011 Author Share Posted December 10, 2011 Да, понятно, спасибо!!) - И кстате, вот скрипт "shader_contrast" у меня идет, всё нормально. Но как качаю другой какой нибудь, то в окне вот такая ошибка: [2011-12-10 09:23:41] ERROR: Problem with resource: nanomode; Failed to link to 1238_snow Ппц......что это? Что такое может быть? Link to comment
_Vincent_ Posted December 10, 2011 Share Posted December 10, 2011 Не получилось ему сослаться на ресурс 1238_snow. Он его почему-то не видит. Он вообще есть? Если отдельно запускать, то стартует? Link to comment
Nanotech.ua Posted December 10, 2011 Author Share Posted December 10, 2011 Не получилось ему сослаться на ресурс 1238_snow.Он его почему-то не видит. Он вообще есть? Если отдельно запускать, то стартует? Да, есть он. Запускал отдельно, всё пашет. Запускаю в моде, эта ошибка...... - Вот например взял другой скрипт. Закинул папку с ресурсом "214_new_hud" в папку своего мода(server\mods\deathmatch\resources\[gamemodes]\[nanomode]\nanomode) В мете прописал: , также как и тот ресурс, потом запускаю сервер, и в онке эта ошибка... ERROR: Problem with resource: nanomode; Failed to link to 214_new_hud Link to comment
Kernell Posted December 11, 2011 Share Posted December 11, 2011 Не получилось ему сослаться на ресурс 1238_snow.Он его почему-то не видит. Он вообще есть? Если отдельно запускать, то стартует? Не на ресурс, а на файл указанный в ресурсе. 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