scripter1 Posted August 5, 2020 Share Posted August 5, 2020 Писал тут работу почтальоном и в debugscript выскочила ошибка: Quote WARNING: pochtalion\server.lua:35: Bad argument @ 'addEventHandler' [Expected element at argument 2, got nil] А вот весь код: Quote local pjob = createPickup(-2425.17236, -591.79901, 132.18718, 3, 1275, 50) function animPochta (hitElement) setPedAnimation(hitElement, "BOM_Plant_Loop", 10000, true) end function pickupJobTrudoustroistvo (hitElement) if not getPedOccupiedVehicle(hitElement) then local veh = createVehicle(402, -2434.04785, -593.96906, 131.95361) warpPedIntoVehicle(hitElement, veh) outputChatBox("Вы устроились работать почтальоном! Ваша задача - доставлять письма в определенные точки на карте", hitElement, 0,255,255) local m1 = createMarker(-2521.41650, -623.82672, 131.77835, "cylinder", 1.0, 0,255,0,100) local m2 = createMarker(-2384.37646, -586.83795, 131.11719, "cylinder", 1.0, 0,255,0,100) local m3 = createMarker(-2224.95654, -725.03088, 64.29856, "cylinder", 1.0, 0,255,0,100) local m4 = createMarker(-2244.37109, -171.33820, 34.31252, "cylinder", 1.0, 0,255,0,100) local m5 = createMarker(-2268.78076, -155.74817, 34.32031, "cylinder", 1.0, 0,255,0,100) local b1 = createBlip(-2521.41650, -623.82672, 131.77835,0,2,255,0,0,255,0,200) local b2 = createBlip(-2384.37646, -586.83795, 131.11719,0,2,255,0,0,255,0,200) local b3 = createBlip(-2224.95654, -725.03088, 64.29856,0,2,255,0,0,255,0,200) local b4 = createBlip(-2244.37109, -171.33820, 34.31252,0,2,255,0,0,255,0,200) local b5 = createBlip(-2268.78076, -155.74817, 34.32031,0,2,255,0,0,255,0,200) end end addEventHandler("onPickupHit", pjob, pickupJobTrudoustroistvo) function m1hit (hitElement) if not getPedOccupiedVehicle(hitElement) then outputChatBox("Вы доставили письмо!", hitElement, 0,255,0) destroyElement(m1) destroyElement(b1) end end addEventHandler("onMarkerHit", m1, m1hit) Помогите пожалуйста! Link to comment
Other Languages Moderators Disinterpreter Posted August 6, 2020 Other Languages Moderators Share Posted August 6, 2020 У тебя addEventHandler("onMarkerHit", m1, m1hit) не может увидеть m1, так как тот локален и находится внутри функции. Link to comment
scripter1 Posted August 6, 2020 Author Share Posted August 6, 2020 2 hours ago, Disinterpreter said: У тебя addEventHandler("onMarkerHit", m1, m1hit) не может увидеть m1, так как тот локален и находится внутри функции. Хм, а как это пофиксить собственно? Link to comment
Other Languages Moderators Disinterpreter Posted August 6, 2020 Other Languages Moderators Share Posted August 6, 2020 3 hours ago, scripter1 said: Хм, а как это пофиксить собственно? сделать доступ для m1 Link to comment
Scripting Moderators ds1-e Posted August 6, 2020 Scripting Moderators Share Posted August 6, 2020 6 hours ago, scripter1 said: Хм, а как это пофиксить собственно? Очень легко. Понадобилось бы просто добавить: addEventHandler(...) Внутри той же функций, переменная там существует. Вместо того, что бы сразу его добавлять. Link to comment
scripter1 Posted August 7, 2020 Author Share Posted August 7, 2020 10 hours ago, majqq said: Очень легко. Понадобилось бы просто добавить: addEventHandler(...) Внутри той же функций, переменная там существует. Вместо того, что бы сразу его добавлять. внутри функции pickupJobTrudoustroistvo? или в функции m1hit? @Disinterpreter Link to comment
Other Languages Moderators Disinterpreter Posted August 7, 2020 Other Languages Moderators Share Posted August 7, 2020 5 minutes ago, scripter1 said: внутри функции pickupJobTrudoustroistvo? или в функции m1hit? @Disinterpreter Нет, смотри, у тебя сейчас маркер находится внутри pickupJobTrudoustroistvo, однако addEventHandler находится в глобальном окружении. Тебе нужно чтобы addEventHandler видел твой маркер, как тебе посоветовали выше, ты можешь блок с addEventHandler добавить внутрь функции pickupJobTrudoustroistvo. Ну или есть десяток других способов. Link to comment
scripter1 Posted August 7, 2020 Author Share Posted August 7, 2020 Just now, Disinterpreter said: Нет, смотри, у тебя сейчас маркер находится внутри pickupJobTrudoustroistvo, однако addEventHandler находится в глобальном окружении. Тебе нужно чтобы addEventHandler видел твой маркер, как тебе посоветовали выше, ты можешь блок с addEventHandler добавить внутрь функции pickupJobTrudoustroistvo. Ну или есть десяток других способов. Смотри. Свяжись со мной в вк: https://vk.com/lua.zombie Просто так удобнее. Link to comment
scripter1 Posted August 7, 2020 Author Share Posted August 7, 2020 2 hours ago, Disinterpreter said: Нет, смотри, у тебя сейчас маркер находится внутри pickupJobTrudoustroistvo, однако addEventHandler находится в глобальном окружении. Тебе нужно чтобы addEventHandler видел твой маркер, как тебе посоветовали выше, ты можешь блок с addEventHandler добавить внутрь функции pickupJobTrudoustroistvo. Ну или есть десяток других способов. можешь исправленный код плз скинуть? Не особо тебя понимаю Link to comment
Other Languages Moderators Disinterpreter Posted August 7, 2020 Other Languages Moderators Share Posted August 7, 2020 1 hour ago, scripter1 said: можешь исправленный код плз скинуть? Не особо тебя понимаю Не могу. Не я же программист этого кода. Я только подсказал путь для решения. Link to comment
ArrogantCoder Posted August 7, 2020 Share Posted August 7, 2020 (edited) Один из способов - добавить addEventHandler(......) в ту функцию, где создается пикап. Edited August 7, 2020 by ArrogantCoder 1 Link to comment
Erlkonig Posted November 28, 2020 Share Posted November 28, 2020 Наверное уже поздно, но всё же. Либо объяви m1 и все остальные за пределами функции, а уже потом присвой значения (а лучше их массивами вовсе сделать), либо просто запихни addEventHandler("OnMarkerHit".....) в функцию где объявляешь маркеры. Link to comment
AngelAlpha Posted June 23, 2022 Share Posted June 23, 2022 On 05/08/2020 at 19:47, scripter1 said: Писал тут работу почтальоном и в debugscript выскочила ошибка: А вот весь код: Помогите пожалуйста! local pjob = createPickup(-2425.17236, -591.79901, 132.18718, 3, 1275, 50) function animPochta (hitElement) setPedAnimation(hitElement, "BOM_Plant_Loop", 10000, true) end function pickupJobTrudoustroistvo (hitElement) if not getPedOccupiedVehicle(hitElement) then local veh = createVehicle(402, -2434.04785, -593.96906, 131.95361) warpPedIntoVehicle(hitElement, veh) outputChatBox("Вы устроились работать почтальоном! Ваша задача - доставлять письма в определенные точки на карте", hitElement, 0,255,255) local m1 = createMarker(-2521.41650, -623.82672, 131.77835, "cylinder", 1.0, 0,255,0,100) local m2 = createMarker(-2384.37646, -586.83795, 131.11719, "cylinder", 1.0, 0,255,0,100) local m3 = createMarker(-2224.95654, -725.03088, 64.29856, "cylinder", 1.0, 0,255,0,100) local m4 = createMarker(-2244.37109, -171.33820, 34.31252, "cylinder", 1.0, 0,255,0,100) local m5 = createMarker(-2268.78076, -155.74817, 34.32031, "cylinder", 1.0, 0,255,0,100) local b1 = createBlip(-2521.41650, -623.82672, 131.77835,0,2,255,0,0,255,0,200) local b2 = createBlip(-2384.37646, -586.83795, 131.11719,0,2,255,0,0,255,0,200) local b3 = createBlip(-2224.95654, -725.03088, 64.29856,0,2,255,0,0,255,0,200) local b4 = createBlip(-2244.37109, -171.33820, 34.31252,0,2,255,0,0,255,0,200) local b5 = createBlip(-2268.78076, -155.74817, 34.32031,0,2,255,0,0,255,0,200) addEventHandler("onMarkerHit", m1, m1hit) end end addEventHandler("onPickupHit", pjob, pickupJobTrudoustroistvo) function m1hit (hitElement) if not getPedOccupiedVehicle(hitElement) then outputChatBox("Вы доставили письмо!", hitElement, 0,255,0) destroyElement(m1) destroyElement(b1) end end Link to comment
Recommended Posts