Jump to content
Форум МТА — GTA MTA: SA онлайн игра

скриптинг Помощь по скриптингу


HomoS
 Share

Recommended Posts

Если вы не знаете как исправить скрипт и чтобы решить проблему, вам нужно скинуть целый код - эта тема не для вас.
Для вас: http://mta-download.ru/forum/store/category/3-скриптер-мта/

Если вы хотите разобраться в каком-либо вопросе, получить развернутый ответ, получить уточнения по скриптингу МТА - добро пожаловать.

Рекомендуется задавать вопросы по конструкции:

  1. Как написать такой-то скрипт или систему
  2. Есть такая-то проблема, как ее исправить?
  3. Вылезает такая-то ошибка, как исправить? (Приложить кусок кода с ошибкой)

На эти вопросы будут даваться прямые указания - какие функции использовать, как оптимизировать код и т.п.

  • Like 1
Link to comment
Share on other sites

  • 4 weeks later...

@GeraldGrander Новичку писать систему домов будет тяжело, т.к. здесь не только нужно описывать действия маркеров (что довольно просто), но и расставлять dx-объекты, прописывать отображение, писать события кнопок для GUI, рисовать само GUI.

Link to comment
Share on other sites

  • 8 months later...

Я написал скрипт по видео "якобы он добавляет команды Armour и health" после его запуск команды не работают, подскажите что делать.

function healt(source)
    money = getPlayerMoney(source)
    if (money >= 100) then
        takePlayermoney(source, 100)
        x, y, z = getElementPcsition(source)
        health = createPikup(x, y + 1, z, 0, 100, 0, 100)
        local time1 = setTimer(function()
            destroyElement(health)
        end, 10000, 1)
    end
end
addCommandHandler("health", healt)

function armo(source)
    money1 = getPlayerMoney(source)
    if (money >= 120) then
        takePlayermoney(source, 120)
        x, y, z = getElementPcsition(source)
        armour = createPikup(x, y + 1, z, 1, 200, 0, 20)
        local time2 = setTimer(function()
            destroyElement(armour)
        end, 10000, 1)
    end
end
addCommandHandler("armour", armo)
<meta>
	<info name="prob" version="0.1" type="misc" author="STV" description="Script"/>

	<script src="prob.lua" type="Server"/>
</meta>

 

Link to comment
Share on other sites

Вот такая проблема, практический на каждом моде котором я скачивал, что делать?


Problem with resource: car_shop+gate; Couldn't find meta.xml file for resource 'car_shop+gate'
Resources: 225 loaded, 1 failed

Link to comment
Share on other sites

  • 5 months later...
  • 1 month later...
  • 2 weeks later...
  • 4 months later...

Поздно наверно пишу но ошибка в том что это СЕРВЕРНЫЙ СКРИПТ а на стороне сервера addCommandHandler должен получать два аргумента 
 

addCommandHandler("testcmd", function(player,command)
  -- тело функции на сервере с получение игрока который вызвал событие и команды которую он ввел
  end)

и на примере вашей функции healt код должен был выглядить так
 

function healt(source,cmd)
    money = getPlayerMoney(source)
    if (money >= 100) then
        takePlayermoney(source, 100)
        x, y, z = getElementPcsition(source)
        health = createPikup(x, y + 1, z, 0, 100, 0, 100)
        local time1 = setTimer(function()
            destroyElement(health)
        end, 10000, 1)
    end
end
addCommandHandler("health", healt)

ПОЛЬЗУЙТЕСЬ debugscript 2 скорее всего скрипт вывел бы на экран ошибку что то типа argument 2 вернул nil либо что то в этом духе 

Вот что про функцию сказано на MTA WIKI 
handlerFunction: эта функция предназначена для запуска команды, которая должна быть определена до добавления обработчика. Эта функция может принимать два параметра, playerSource и commandName, а затем столько параметров, сколько вы ожидаете после вашей команды (см. Ниже). Это все необязательно.

А на стороне клиента 
то есть на клиентской стороне это должно было выглядить так

function healt(cmd) source тут не нужен ибо на клиенте только один игрок и это мы и получать источника который ввёл команду ненужно.

Link to comment
Share on other sites

  • 3 weeks later...
  • 1 year later...
В 07.04.2020 в 10:41, Vantsev сказал:

Здравствуйте, интересует такой вопрос: я хочу заменить карту на F11, только у себя, но на чужом сервере. Как я могу это сделать?

Возможно, через подмену файла в кеше, но кеш пересчитывается при входе на сервер и закачает картинку заново. Можно попробовать заменить картинку в кеше после входа.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Similar Content

    • By kohn
      Суть следующая - на пикапе нужно удалить фуру (трейлер)
      С переменной nom всё норм.
      getVehicleTowedByVehicle(tyagach) - это как понял возвращает буксируемое ТС, то есть фуру.
      Ошибок скрипт не выдает. просто ничего не происходит
      Помогите плиз, в луа недавно, пытаюсь адаптировать\разнообразить скрипт работы.
       
      if nom == 3 then local tyagach = getPedOccupiedVehicle(localPlayer) local fura = getVehicleTowedByVehicle(tyagach) destroyElement(fura) end  
×
×
  • Create New...