Jump to content

KruTolic_rus

Members
  • Posts

    94
  • Joined

  • Last visited

Everything posted by KruTolic_rus

  1. Убедись,что у тебя присутствуют файлы. Сделай моим способом: function loadResourceModels () local txd = engineLoadTXD("data/12.txd") engineImportTXD (txd,12) local dff = engineLoadDFF ("data/12.dff", 12) engineReplaceModel(dff,12) end addEventHandler("onClientResourceStart",resourceRoot,loadResourceModels) в мета пропиши: type="misc" name="model replace" author="None" description="" version="1" /> Убедись,что у тебя создана папка "data" и кинь туда файлы: 12.txd и 12.dff все должно быть так: Как я думаю,все проблема у тебя у engineLoadTxd ведь нужно engineLoadTXD
  2. Находишь ACL группу "Admin" в ней добавляешь: "resource.имя ресурса">
  3. должно быть addEventHandler('onClientResourceStart', getResourceRootElement(), replaceSkins()) -- как я знаю,функция(аргумент 3) пишется без "()" addEventHandler('onClientResourceStart', getResourceRootElement(), replaceSkins)
  4. Впаять 3 дня в это все и переделать? Какие еще баги? (это не к тебе) ---- табуляция,лично мне,подходит,все,что здесь испорчено,это из-за форума,а не из-за меня,если я правильно понял,что это значит. Поскольку я плохо понимаю trigger'ы так как о них написано аж столько много,столько в гугле даже 5 страниц о нем нет,а понять его нельзя,даже прочитав о нем все...
  5. Мне надо,что бы триггер был ТОЛЬКО для того,кто зашел на маркер,а не всех игроков подряд... Что делать? server function GiveVehicle ( thePlayer ) findvehicle = createVehicle ( 445, -1301.1414794922, -176.54035949707, 15 ) findvehicleblip = createBlipAttachedTo (findvehicle,41) function givePlayerMoneyAndMission2 (theVehicle) if ( getElementModel ( theVehicle ) == 445 ) then destroyElement ( findvehicle ) destroyElement ( findvehicleblip ) givePlayerMoney (source,15000) outputChatBox ("[MISSION]You: Yes,i found money!",source,150,56,150,false) triggerClientEvent ( source, "mission2",getRootElement() ) removeEventHandler ( "newvehicle", getRootElement(),GiveVehicle ) removeEventHandler ( "onPlayerVehicleEnter",getRootElement(),givePlayerMoneyAndMission2) end end addEventHandler("onPlayerVehicleEnter",getRootElement(),givePlayerMoneyAndMission2) end addEvent( "newvehicle", true ) addEventHandler( "newvehicle", getRootElement(),GiveVehicle ) function Mission2Settings ( thePlayer ) VehicleOfMission2 = createVehicle ( 445, -1315.8223876953, -167.18829345703, 13.734149932861 ) VehicleOfMission2Blip = createBlipAttachedTo ( VehicleOfMission2,41) function Mission2Property (theVehicle) if ( getElementModel ( theVehicle ) == 445 ) then outputChatBox ("[MISSION][HELP]Drive this vehicle to the 'flag' blip!",source,140,120,50,false) outputChatBox ("[MISSION][HELP]Mission 2 Started",source,35,15,0,false) MarkerOfMission2 = createMarker ( 154.13981628418, -1943.1120605469, 2.5, "cylinder", 1.5, 0, 255, 0, 170 ) MarkerOfMission2Blip = createBlipAttachedTo ( MarkerOfMission2,53) function EndThisMission (hitElement) destroyElement(MarkerOfMission2) destroyElement(VehicleOfMission2Blip) destroyElement(VehicleOfMission2) destroyElement(MarkerOfMission2Blip) givePlayerMoney (hitElement,25000) outputChatBox ("[MISSION][HELP]You are done all missions,wait new missions soon! \"{SMILIES_PATH}/icon_biggrin.gif\" alt=\"\" title=\"Very Happy\" />",hitElement,255,0,0,false) outputChatBox ("[MISSION]You: Yes,i found it!! YEAH!!!",hitElement,255,255,0,false) setPedArmor (hitElement,100) setElementHealth(hitElement,100) end addEventHandler("onMarkerHit",MarkerOfMission2,EndThisMission) end end addEventHandler("onPlayerVehicleEnter",getRootElement(),Mission2Property) end addEvent( "mission2settings", true ) addEventHandler( "mission2settings", getRootElement(),Mission2Settings ) function TheArmyThe () killerPed = createPed (287, -1326.7757568359, -177.43579101563, 14 ) killPed (killerPed) end addEvent( "armyped", true ) addEventHandler( "armyped", getRootElement(),TheArmyThe ) client MissionMarker = createMarker ( 209.83544921875, 1921.2099609375, 16.5, "cylinder", 2.5, 0, 255, 0, 100 ) MissionMarkerBlip = createBlipAttachedTo ( MissionMarker, 6 ) function DestroyElementNeed () destroyElement ( MissionMarker ) destroyElement ( MissionMarkerBlip ) end addEventHandler ( "onClientMarkerHit", MissionMarker, DestroyElementNeed ) GUIEditor = { button = {}, window = {} } function MissionMarkerStart () GUIEditor.window[1] = guiCreateWindow(487, 257, 317, 325, "Zombie Mod RPG Missions(F4)", false) guiWindowSetSizable(GUIEditor.window[1], false) GUIEditor.button[1] = guiCreateButton(9, 95, 132, 75, "Start", false, GUIEditor.window[1]) GUIEditor.button[2] = guiCreateButton(151, 95, 143, 73, "Stop", false, GUIEditor.window[1]) showCursor ( true ) function SetVisible () if ( guiGetVisible ( GUIEditor.window[1] ) == false ) then guiSetVisible ( GUIEditor.window[1],true ) showCursor ( true ) else guiSetVisible ( GUIEditor.window[1],false ) showCursor ( false ) end end bindKey ("f4","down",SetVisible) function StartMissionsButton () guiSetVisible ( GUIEditor.window[1],false ) showCursor ( false ) outputChatBox ("[MISSION]Mission 1: Find the vehicle!",0,255,0,false) outputChatBox ("[MISSION]You:I must find vehicle...i must to take it return!",255,255,0,false) triggerServerEvent ( "newvehicle",getRootElement()) end addEventHandler ( "onClientGUIClick", GUIEditor.button[1], StartMissionsButton, false ) end addEventHandler ( "onClientMarkerHit", MissionMarker, MissionMarkerStart ) function MissionSecoundStart () Mission2Marker = createMarker ( -1326.7757568359, -174.43579101563, 13.5, "cylinder", 2.5, 0, 255, 0, 100 ) triggerServerEvent ( "armyped",getRootElement()) function Mission2MarkerStart (hitElement) outputChatBox("[MISSION]You:Hmmm...ok",110,167,116) outputChatBox("[MISSION][HELP]:Turn back and sit into the car!",120,0,0) triggerServerEvent ( "mission2settings",hitElement) outputChatBox ("[YOU]:Oh,he is died...he said that in LS i can find Vaccine",hitElement,255,0,0,false) destroyElement( Mission2Marker ) end addEventHandler ( "onClientMarkerHit", Mission2Marker, Mission2MarkerStart ) end addEvent( "mission2", true ) addEventHandler( "mission2", getRootElement(),MissionSecoundStart )
  6. даже через destroyElement продолжает существовать проблема...
  7. Привет! С каждым новым повтором миссии добавляется + 1 GUI окно,как это решить? А также не удаляется маркер,начиная со 2 раза перепрохождения...все остальное робит хорошо.Дело либо в сервере,либо в клиенте: server theMarker = createMarker (406.6682, 2549.14453125, 15.4 , "cylinder", 1.5, 100, 0, 0, 170 ) MissionPed = createPed ( 115, 406.6682, 2551.14453125, 17 ) setPedArmor ( MissionPed,100) setElementRotation(MissionPed,0,0,180) function DissagreMission (thePlayer) outputChatBox ("Ok,if you want...",thePlayer,0,255,0,false) end addEvent( "disagree", true ) addEventHandler( "disagree", getRootElement(), DissagreMission ) function AcceptMission (thePlayer) removeEventHandler ("onMarkerHit", theMarker, OnMissionStart ) destroyElement ( theMarker ) outputChatBox ("You are accepted Mission!",thePlayer,255,255,0,false) local mVehicle = createVehicle ( 492, 408.51937866211, 2546.439453125, 17 ) local mvBlip = createBlipAttachedTo ( mVehicle, 41 ) function OnPlayerEnterInVehicle (theVehicle) if ( getElementModel ( theVehicle ) == 492 ) then outputChatBox ("Yes,you found car that you need to return!",thePlayer,0,255,0,false) outputChatBox ("Go into the 'waypoint' blip near Enemy base!",thePlayer,0,255,0,false) thesupermarker = createMarker (428.09045410156, 2546.4338378906, 15.4 , "cylinder", 3.5, 100, 0, 0, 170 ) endmissionBlip = createBlipAttachedTo ( thesupermarker, 41 ) function EndThisMission (hitElement) destroyElement(endmissionBlip) destroyElement(thesupermarker) destroyElement(mvBlip) destroyElement(mVehicle) destroyElement(source) givePlayerMoney (hitElement,20000) outputChatBox( "You are got 20.000 money!",hitElement,255,255,0,false) theMarker = createMarker (406.6682, 2549.14453125, 15.4 , "cylinder", 1.5, 100, 0, 0, 170 ) addEventHandler( "onMarkerHit", theMarker, OnMissionStart ) end addEventHandler( "onMarkerHit", thesupermarker, EndThisMission) end end addEventHandler ( "onPlayerVehicleEnter", getRootElement(), OnPlayerEnterInVehicle ) end addEvent( "agree", true ) addEventHandler( "agree", getRootElement(), AcceptMission ) function OnPedSpawn (hitElement) if isPedDead ( MissionPed ) then destroyElement ( MissionPed ) MissionPed = createPed ( 115, 406.6682, 2551.14453125, 17 ) setElementRotation(MissionPed,0,0,180) end if not isPedDead ( MissionPed ) then end end addEventHandler( "onMarkerHit", theMarker, OnPedSpawn ) function OnMissionStart (hitElement) local accName = getAccountName ( getPlayerAccount ( hitElement ) ) if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Enemy" ) ) then triggerClientEvent ( "GUIshow", hitElement ) end end addEventHandler( "onMarkerHit", theMarker, OnMissionStart ) client GUIEditor = { button = {}, window = {}, label = {} } function ZombieModRPGMission () GUIEditor.window[1] = guiCreateWindow(489, 264, 312, 274, "Zombie Mod RPG(F5)", false) guiWindowSetSizable(GUIEditor.window[1], false) GUIEditor.button[1] = guiCreateButton(9, 102, 137, 53, "Agree", false, GUIEditor.window[1]) GUIEditor.button[2] = guiCreateButton(159, 101, 143, 54, "Disagree", false, GUIEditor.window[1]) GUIEditor.button[3] = guiCreateButton(159, 165, 143, 54, "Close", false, GUIEditor.window[1]) GUIEditor.label[1] = guiCreateLabel(20, 27, 282, 15, "You must return Greenwood to the hangar!", false, GUIEditor.window[1]) GUIEditor.label[2] = guiCreateLabel(99, 244, 98, 15, "REWARD: 20 000", false, GUIEditor.window[1]) showCursor (true) function AgreeMission () if guiSetVisible ( GUIEditor.window[1], true) then guiSetVisible (GUIEditor.window[1],false) showCursor (false) triggerServerEvent ( "agree", getLocalPlayer() ) else guiSetVisible (GUIEditor.window[1],true) end end addEventHandler ( "onClientGUIClick", GUIEditor.button[1], AgreeMission, false ) function DisagreeMission () if guiSetVisible ( GUIEditor.window[1], true) then guiSetVisible (GUIEditor.window[1],false) showCursor (false) triggerServerEvent ( "disagree", getLocalPlayer()) else guiSetVisible (GUIEditor.window[1],true) end end addEventHandler ( "onClientGUIClick", GUIEditor.button[2], DisagreeMission, false ) function CloseWindow () guiSetVisible (GUIEditor.window[1],false) showCursor (false) end addEventHandler ( "onClientGUIClick", GUIEditor.button[3], CloseWindow, false ) function ShowCursorAsk () showCursor (false) guiSetVisible (GUIEditor.window[1],false) end addCommandHandler ("show",ShowCursorAsk) bindKey ("f5","down",ShowCursorAsk) outputChatBox ("If you can't close window,write /show and close it!") outputChatBox ("Or take F5 button") end addEvent( "GUIshow", true ) addEventHandler( "GUIshow", getRootElement(), ZombieModRPGMission )
  8. Ты не то посмотрел. Второй аргумент outputChatBox - первый из трех цветов. Это же клиент, а на стороне клиента нельзя отправить сообщения другим игрокам, следовательно нет смысла показывать кто увидит сообщение. А действительно...приношу извинение всем,кому доставил неудобства,я сегодня на понтах,весь в сервере своем Каждый день по 5-6 часов дорабатываю сервер. Еще раз извините
  9. Долбанная привычка с большой писать,спасибо,уже поправил. А насчет outputChatBox,в нем 2 аргумент это кому видел текст,посмотрите внимательнее,я только что перепроверил.
  10. Ты собираешся все делать в клиенте? Если нужно будет выполнить серверную функцию,понадобится triggerServerEvent Судя по твоему варианту,достаточно все в клиент Выполнять все следует с эвентом onClientGUIClick Если тебе нужно сделать бинд на GUIEditor.window[1] дабы оно открывалось и закрывалось- допиши bindKey ("f5","down",GUIHelpMenu) и удали addEventHandler("onClientResourceStart", resourceRoot, (9 строка) -т.к. при старте ресурса у всех будет высвечиватся это окошко,а кому это надо? Напиши что именно тебе надо? У тебя нет кнопок,и я не могу понять,что за "окно с помощью"? Если ты хочешь,что бы при нажатии в GUI окне какой нибудь кнопки,тебе надо: addEventHandler("OnClientGUIClick",кнопка,которую нажать,функция) Пример: function ClickForSomething () ---Делай тут что -то outputChatBox ("Что-то,только не source,ведь это кнопка,которая была нажата",getRootElement()) end addEventHandler("OnClientGUIClick",GUIEditor.tab[4],ClickForSomething)
  11. UPD: РЕШЕНО,надо было просто добавить проверку на аккаунт,взяв имя function GetAccountName ( thePlayer,command,account ) local Getaccount = getPlayerFromName ( account ) local accName = getAccountName ( getPlayerAccount ( thePlayer ) ) if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Zone69" ) ) then if Getaccount then giveaccount = getAccountName ( getPlayerAccount ( Getaccount ) ) outputChatBox ("He have account name :'"..giveaccount.."'",thePlayer,130,130,60,false) else outputChatBox ( "You are not argument taken", thePlayer ,255, 0, 0, false) end else outputChatBox ( "You are not Admiral", thePlayer ,255, 0, 0, false) end end addCommandHandler ("account",GetAccountName)
  12. Привет,мне надо сделать так,что бы если я ввел ник игрока,мне в чат написало имя аккаунта этого игрока... У меня не получается,пишет boolean value.. function GetAccountName ( thePlayer,command,account ) local accName = getAccountName ( getPlayerAccount ( thePlayer ) ) if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Zone69" ) ) then if getPlayerName (account) then outputChatBox ("He have account name :'"..getAccountName ( getPlayerAccount ( account ) ).."'",thePlayer,130,130,60,false) else outputChatBox ( "You are not argument taken", thePlayer ,255, 0, 0, false) end else outputChatBox ( "You are not Admiral", thePlayer ,255, 0, 0, false) end end addCommandHandler ("account",GetAccountName) еще есть такой вариант,но тоже не робит: function GetAccountName ( thePlayer,command,account ) local Getaccount = getPlayerFromName ( account ) local accName = getAccountName ( getPlayerAccount ( thePlayer ) ) if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Zone69" ) ) then if Getaccount then outputChatBox ("He have account name :'"..account.."'",thePlayer,130,130,60,false) else outputChatBox ( "You are not argument taken", thePlayer ,255, 0, 0, false) end else outputChatBox ( "You are not Admiral", thePlayer ,255, 0, 0, false) end end addCommandHandler ("account",GetAccountName)
  13. в meta.xml написано что ресурс type="client"?
  14. Спасибо,я что-то и предпологал,Ведь localPlayer () на сервере это как то не так Завтра проверю все
  15. Здраствуйте,мне надо сделать так,что бы,если человек не состоит в ACL Zone69Players,пересек colCuboid - на него направились ракеты и пулеметная очередь,мне надо узнать,что делать,что бы работало последнее. Я уже сделал шаблон: server cuboid = createColCuboid ( x, y, z, 255, 255, 300 ) function AttackPlayer (hitElement ) local account = getAccountName ( getPlayerAccount ( hitElement ) ) if not isObjectInACLGroup ("user."..account, aclGetGroup ( "Zone69Players" ) ) then createProjectile (getLocalPlayer(), 19, x, y, z) end end addEventHandler ( "onColShapeHit", cuboid, AttackPlayer ) Но у меня не срабатывает createProjectile (getLocalPlayer(), 19, x, y, z) Может надо триггер на client перевести?
  16. Какой от него толк? Даже админским и не назовешь,просто мост как мост,сделай там зону хотя бы,которая убивает простолюд
  17. Такая вещь называется Freeroam(Ф1 клавиша).Вы можете либо его отключить,либо поставить запрет на команды(admin panel - resources - freeroam - settings -- ищите нужное вам ,в окошке пишите: "false" ) Также можете залезть в сам ресурс,ограничить его возможности просто удалив addCommandHandler'ы Можете сделать ACL ограничение,правда это будет труднее,но на всякий случай: isObjectInACLGroup а также: local accName = getAccountName ( getPlayerAccount ( thePlayer ) ) В функции,которую исполняет addCommandHandler допишите (thePlayer) т.к. мы хотим взять игрока,который написал эту команду,далее берем его аккаунт и смотрим. Пример: function GiveWeapon (thePlayer,command,weapon) local accName = getAccountName ( getPlayerAccount ( thePlayer ) ) if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Admin" ) ) then giveWeapon (thePlayer,weapon,5000) else ouputChatBox ("You are not admin!",thePlayer,255,0,0,false) end end addCommandHandler ("giveweapon",GiveWeapon ) Заходим на сервер,даем себе админку и пишим: /giveweapon 38,либо любой айди
  18. Ну конечно же можно! Можно либо сменить радар на другой(текстуры) либо переместить его,удалив стандартный. вот ссылка на некоторые из них: https://wiki.multitheftauto.com/wiki/DxDrawText Включать,выключать и прочие действия : https://wiki.multitheftauto.com/wiki/Sh ... dComponent Текстурки уже заменяешь через .dff,.txd файлы и: local txd = engineLoadTXD("name.txd") engineImportTXD (txd,model id) local dff = engineLoadDFF ("name.dff", model id) engineReplaceModel(dff,model id)
  19. Если вы говорите,что вы заплатите деньги за мод,а те должны быть НЕ РАДИ денег,то зачем же вы предлагаете кому-либо услуги? Люди очень не любят,когда кто-то из неоткуда управляет ими,скриптеру проще сделать свой мод и продать его,чем пойти в проэкт к кому-либо,которого они даже и не знают.К вам пойдут только ради денег,я уверен...
  20. это мой код) просто я скопировал функции типо isObjectInACLGorup Ага,в том и дело,что у меня получалось сделать этот АСЛ,но по имени,имя добавлялось в АСЛ,а игрок не ставал членом,в АСЛ нужно брать имя аккаунта,не иначе...
  21. Сижу сутки над этим всем говном,уже просто бесит,все варианты перепробывал,всеравно где-то вылезет ошибка. То boolen,то Bad Argument,то еще что-то... Уже фантазии нет делать что-то,вечно не получается. Вариантов 30 точно перепробывал,все равно... Как мне исправить Boolen? ОШИБКИ attmept to concatenate local 'account' ( a boolean ) и 7: Bad argument @ 'getAccount' - boolean SERVER: Zone69 = aclGetGroup ( "Zone69" ) function InvitePlayers (thePlayer,command,accountName) local accName = getAccountName ( getPlayerAccount ( thePlayer ) ) if isObjectInACLGroup ( "user."..accName, Zone69 ) then local account = getAccount ( getAccountName ( getPlayerAccount ( accountName ) ) ) aclGroupAddObject ( aclGetGroup ( "Zone69Players" ), "user."..account) if not isObjectInACLGroup ( "user."..accName, Zone69 ) then outputChatBox ("You are not Leader!" , thePlayer ) end end end addCommandHandler ( "invite",InvitePlayers )
  22. Здрайствуйте... вообщем,ничего в коде не работает,не могу понять почему: Использую exp_system как основу,для создание своей собственной lvl системы,так как встроенная - не работает. вот вики по этой системе: А вот и код: P.S. не судите строго,я все же 22 часа не спал,сонный весь,и сейчас утро у нас ... Так как я понимаю,что пишу бред,но уже к вам обращаюсь,так как времени мало.
  23. Добрый день! Мне нужно узнать,как сделать так,что бы можно было с помощью заданной команды заходить на заданный сервер например: function ConnecterServers () ------что тут надо писать? end AddCommandHandler ("drift",getRootElement(),ConnecterServers ) Заранее благодарен
  24. Я,конечно,не сильно люблю судить,но: МТА и САМП - разные вещи. МТА- это уже не мод,это игра,только представляет из себя игру на движке ГТА. САМП- конвертация ГТА из одиночного в мультиплеер и изменение хода игры. Говорите,что оптимизация в САМП хорошая? Да,она хорошая,там почти все переведено на клиент(это очень легко проверить и заметить).Потому там сервера держут гораздо больше народу,даже 1000 - не проблема т.к. машины способны выдержать нагрузку,содержа лишь информацию о игроках и изменяя ее,то есть,дело калькулятора - исчислять. Там тоже море-дофига функций,но там нету возможности делать PVE режим...поэтому,это фишка МТА.Игроки могут быть против компьютера. А мы то знаем,что раз в МТА есть такая фишка,то нагрузка будет больше? Верно? Ведь теперь машина не только исчисляет,она и управляет. В САМП багов очень много,их античит- позор 21 века.В мта же,античит достоен уважения. В МТА сделать свой мод нет проблемы,все гибко.Но фантазии либо знаний у людей не хватает,поэтому у нас и популярны только такие и такие моды.Кто мешает сделать мод: "Люди против НЛО" или "Повстанцы",или "Телепузики против Полиции" либо же тупо "Паркур и бухло"? - никто.Лишь фантазия и ограничение движка. Я бы не стал бы сравнивать эти два проэкта,у каждого из них свои плюсы и минусы...
×
×
  • Create New...