Nanotech.ua Posted December 8, 2011 Share Posted December 8, 2011 Здраствуйте . Сегодня захотел написать какойто свой мини модик, и за основу взял "play". Ну что я сделал. Сделал копию папки "play", дал ей своё название, изменил стандартные названия файлов: brohp.lua, и brohp.map на своё. В meta.xml отредактировал всё на своё. Но мод почемуто не запускается, и не видно его в админ панеле "P". Кстати, вот что у меня в meta.ml: "Nanotech.ua" description="Nanomode" version="0.1" type="gamemode" /> "help.xml" type="client" /> Поясните мне нубу, пожалуйста! Что я не так делаю?) Я, какбы сказать, только 2-й день занимаюсь скриптингом в МТА, так что прошу не орать на меня в данной теме) . Link to comment
MX_Master Posted December 8, 2011 Share Posted December 8, 2011 nanotech'нологии в действии (: А ведь в былые времена именно так были "написаны" сотни "разных" модов в соседнем мультиплеере. Твой способ должен утвердить этот, неуловимый прежде, эталон начала "собственного" мода. ну не может быть у ресурса такого названия resource="modes/helpmanager" /> Link to comment
Nanotech.ua Posted December 8, 2011 Author Share Posted December 8, 2011 nanotech'нологии в действии (: Ну так то да) А ведь в былые времена именно так были "написаны" сотни "разных" модов в соседнем мультиплеере. Да да да, именно так ! Да и я также делал когда еще с павно занимался . Твой способ должен утвердить этот, неуловимый прежде, эталон начала "собственного" мода. Ну да. ну не может быть у ресурса такого названия resource="modes/helpmanager" /> Хм, я так понимаю, что "инклуды", не могут лежать в какой либо папке?) Их надо просто в самую папку с модом? И тут прописать например "", и всё?) Да и вообще, лучше удалить данный инклуд.. - Кстате, кто знает в чем проблемма, отписывайтесь, плз). Очень надо....... ;d Link to comment
MX_Master Posted December 9, 2011 Share Posted December 9, 2011 в этом параметре нужно указывать просто название. Если ты этот ресурс не будешь менять, то и в свой мод копировать ресурс не надо. если в meta.xml будет хоть что-то неправильно или указанные файлы/ресурсы не будут найдены, ресурс не запустится и даже не будет в списке ресурсов. Поэтому исправьте все ошибки там и проверьте расположение файлов. юзай в консоли debugscript 3 (нужно залогиниться под админом) для дебага и refresh для обновления списка ресурсов после каких-то изменений ресурса при включенном сервере и попробуй "Nanotech.ua" description="Nanomode" version="0.1" type="gamemode" /> Link to comment
Nanotech.ua Posted December 9, 2011 Author Share Posted December 9, 2011 Ой Просто я в [gamemodes] создал простую папку, и в неё кидал все файлы). А должна же быть зип папка в той папке мода . Ошибся я, сори - И да MX_Master, спасибо за инфу! И кстате, у меня что-то не работает скрипт 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) Я ничего вообще не изменял там...что это запроблемма может быть? Link to comment
MX_Master Posted December 9, 2011 Share Posted December 9, 2011 парочка советов по началу любого мода ZIPовать ресурсы не обязательно [папка с квадратными скобками] в имени это не папка какого-то ресурса, это сборник ресурсов. В таких папках должны быть папки ресурсов без квадратных скобок в имени или такие же папки-сборники. Пример иерархии мода[myGamemode] | +-- [miniMissions] | | | +-- trainDriver | | | | | +-- trainDriver_srv.lua | | +-- trainDriver_cln.lua | | | +-- taxiDriver | | | +-- taxiDriver_srv.lua | +-- taxiDriver_cln.lua | +-- mainResource | | | +-- playersSpawn_srv.lua | +-- skinSelector_srv.lua | +-- skinSelector_cln.lua | +-- myTools | +-- tableFunctions.lua +-- mySQLFunctions_srv.lua также нужно как минимум прочесть про:ResourcesMeta.xml а все, что касается скриптинга, ошибок в коде - прошу писать в секцию форума про скриптинг Link to comment
_Dark_ Posted December 9, 2011 Share Posted December 9, 2011 Брать что-либо за основу для написания своего мода - бред. Кто знает GF в SAMP с его "За основу взят стандартный God Father". Лучше с самого нуля писать свой код. Даже просто перепечатывать. Зато вы будете знать за что отвечает каждая переменная, каждая функция вашего кода. Link to comment
Nanotech.ua Posted December 9, 2011 Author Share Posted December 9, 2011 MX_Master, спасибо большое за инфу, в скором времени прочту то что ты кинул(имеется ввиду вики) Брать что-либо за основу для написания своего мода - бред.Кто знает GF в SAMP с его "За основу взят стандартный God Father". Лучше с самого нуля писать свой код. Даже просто перепечатывать. Зато вы будете знать за что отвечает каждая переменная, каждая функция вашего кода. Эм, ну Play не такой уж и большой мод . Да я и думал вообщето так, полностю с нуля . Спасибо за совет, возможно так и сделаю! 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