Jump to content

Изменение Boat Mission


Recommended Posts

Скачал этот мод с комьюнити https://community.multitheftauto.com/index.php?p=resources&s=details&id=2467, скачал потомучто пришла идея переделать его под скрипт работа :mrgreen: . Получилось, всё ровно. Но только на месте окончания миссии когда игрок получает деньги их можно получать миллионами :o , много раз ходить по месту окончания миссии и не смотря на то что Dimension у последнего маркера стоит 4, на нулевой всё рабоатет. Как исправиль хээлп=)) :roll:

Link to comment
яж незнал

Все в порядке, относительно правил создания тем советы и указания могут давать только модераторы. На мнение остальных участников в данном случае не надо обращать внимание.

Ну и лучше сразу показать код и спросить по нему несколько своих вопросов.

Link to comment

мх_мастер, не беси, сколько можно показывать своё поганое нутро? модератор он нашёлся тут епт. есть тема для флуда и глупых вопросов - флудите туда, а не плодите для каждого вопроса тему. я тебе могу показать, о чём я. чтобы ты понял. раз мнение остальных участников форума тут никого не интересует.

---

второй раз повторю - не флуди

Link to comment

Ничего не вижу против создания тем, у человека конкретный вопрос/проблема. Зачем сливать с бесполезным флудом. Может в будущем еще кто-то заинтересуется этим вопросом.

А по топику, я бы написал в комментарии, чтобы автор исправил это дело. Но можно и самому найти где обрабатывается событие маркера и добавить проверку на dimension.

Link to comment

client:

windpw = {} 
button = {} 
  
  
  
window = guiCreateWindow(0.3,0.2,0.4,0.5,"Race",true) 
guiSetAlpha(window,255) 
guiCreateStaticImage ( 0, 0, 1, 0.8,"boot.png",true,window) 
guiSetVisible(window,false) 
button[1] = guiCreateButton(0.52,0.85,0.45,0.1,"Acept",true,window) 
button[2] = guiCreateButton(0,0.85,0.45,0.1,"Decline",true,window) 
  
  
  
  
  
function show() 
guiSetVisible (window,true) 
showCursor(true) 
end 
addEvent("show",true) 
addEventHandler("show",getRootElement(),show) 
  
addEvent("hide",true) 
addEventHandler("hide",getRootElement(), 
function () 
guiSetVisible(window,false) 
showCursor (false) 
end) 
  
  
  
  
  
  
addEventHandler("onClientGUIClick",getRootElement(), 
function (player) 
   if (source == button[2]) then 
   guiSetVisible (window,false) 
   showCursor (false) 
   outputChatBox ("You have refused mission",169,67,89) 
   elseif (source == button[1]) then 
   money = getPlayerMoney (source) 
   guiSetVisible (window,false) 
   showCursor (false) 
   if (money < 0) then 
   outputChatBox ("Boss: Money to receive later",225,255,0) 
   else 
   player = getLocalPlayer() 
   outputChatBox ("Boss: Go! Go! Go! You know Russian proverb, time money!",225,255,0) 
            setElementDimension ( player, 4 )      
   outputChatBox ("Go to a marker to receive the car",225,0,0) 
   end 
  end 
end) 
  
  

server:

marker1 = createMarker (1635.2659912109, 1038.8022460938, 10.6203,"cylinder",1.2,0,0,225,100) 
marker2 = createMarker (1648.2659912109, 1038.8022460938, 10.8203,2,"cylinder",2,0,255,225,100) 
blip1 = createBlip ( 0, 0, 0, 53, 2) 
blip2 = createBlip ( 1635.2659912109, 1038.8022460938,11.5,56) 
attachElements (blip1,marker1,0,0,0) 
            setElementDimension ( marker2, 4 )      
            setElementDimension ( blip2, 4 )       
  
  
function showGUI(hitPlayer) 
triggerClientEvent (hitPlayer,"show",getRootElement(),hitPlayer) 
end 
addEventHandler ("onMarkerHit",marker1,showGUI) 
  
addEventHandler("onMarkerLeave",marker1, 
function (leavePlayer) 
triggerClientEvent(leavePlayer,"hide",leavePlayer) 
end) 
  
function start(hitPlayer) 
help = createVehicle(498,1656.0986328125, 1039.0487060547, 11.674590110779)   
outputChatBox("Look at a map and be not mistaken, cargo should be on that point..", source, 255, 2, 0) 
            setElementDimension ( help, 4 )         
end 
addEventHandler ("onMarkerHit",marker2,start) 
  
  
jobmarker = createMarker ( 2102.2116699219, 2075.8352050781, 10.8203125, cylinder, 5, 255, 200, 0, 250, getRootElement()  
) 
blip4 = createBlip ( 2102.2116699219, 2075.8352050781, 10.8203125, 52 ) 
            setElementDimension ( blip4, 4 )   
            setElementDimension ( jobmarker, 4 )   
       
function eindMission (player)  
    if ( getElementDimension ( source ) == 4 ) then 
destroyElement ( help )  
jobmarker = givePlayerMoney ( player, 6500 ) 
jobmarker = setElementDimension ( jobmarker, 4 ) 
    setElementPosition( player, 2102.2116699219, 2075.8352050781, 10.8203125 ) 
            setElementDimension ( player, 0 )  
 outputChatBox("Boss: It has been made well... Take away the money.", source, 255, 2, 0)  
    end 
end 
addEventHandler( "onMarkerHit", jobmarker, eindMission ) 

Link to comment

jobmarker всегда в 4 измерении, а вот игрок перемещается туда на время выполнения задания. Поэтому, 35 строка сервера:

if ( getElementDimension ( source ) == 4 ) then 

source - не игрок, а маркер, поэтому условие выполняется всегда. По логике, там должен быть не source, а player.

jobmarker = givePlayerMoney ( player, 6500 ) -- Это непонятно, зачем делается 
jobmarker = setElementDimension ( jobmarker, 4 ) -- А вот тут появится ошибка, jobmarker уже не маркер, а true/false 
.... 
addEventHandler( "onMarkerHit", jobmarker, eindMission ) -- Ну и напоследок хэндлер накроется по той же причине. 

Link to comment

Да я и не говорю, что твой =)

Просто попробовал указать на ошибки автора. Извини, если треплюсь без толку, но досконально разбирать и тестировать сейчас никак.

Попробуй пока что в 35 строке "source" заменить на "player".

А в 37 и 38 удалить начало строк "jobmarker = "

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