Memory
Members-
Posts
383 -
Joined
-
Last visited
Everything posted by Memory
-
Да, разуемеется сталкивались. Несколько раз падал сервер. Хостинг был достаточно стабильный, хорошие отзывы и т.д. Я обратился в службу поддержки, они сказали: "Да, действительно, машина, на которой находится ваш сервер, несколько раз была подвержена ddos атаками". На машине стоит по несколько серверов. Так что я думаю, что защита своего сервера на обычном хостинге зависит не от нас.
-
Неужели ни одной? Извините за спам, работа вся встала.
-
Зачем так париться, открой через обычный блокнот и прочитай. Я всегда через обычный блокнот пишу.
-
Да, такая же проблема после обновления мта (только без шрифта). Она вроде бы и запускается, но зависает и всё. 2 часа сижу, всё перепробывал, 0 результата. Есть какие-нибудь подобные программы для windows? Искал, не нашёл.
-
Можно ли как-нибудь защититься от этого?
-
Я так понял обычное сохранение пароля? Если да, то его обычно сохраняют на компьютере пользователя через клиентскую часть. Посмотри https://community.multitheftauto.com/in ... ls&id=4481 Исходники открыты и пояснены.
-
Спасибо, а что конкретнее подразумевается под утечками и говнокодом. Можно ли как-нибудь проверить мод на правильность? Просто мой первый мод, написана не одна тысяча строк, частенько возникали мысли, как он себя будет вести, если на сервере будет много народа. Но потом открывал race мод и успокаивался, по структуре и кол-ву одновременного выполнения функций мне мой мод показался "легче"
-
Привет всем, хочу взять VPS хостинг на DigitalOcean ( https://www.digitalocean.com ). Тарифный план за 5$, впринципе можно и за 10, но я думаю и за 5 хватит. Потянет ли 1 сервер человек на 300 ( конечно, вряд ли будет такой онлайн ), что вобще думаете о DigitalOcean. Помню кто-то писал, что VPS ки лишний геморой. Действительно его так сложно, долго настраивать под сервер? Вобщем, объясните, пожалуйста, что и как.
-
Создай переменные на клиенте и функцию, которую сервер триггерит. local value1 = nil; local value2 = nil; local value3 = nil; ... function setValue (val1, val2, val3, ...) value1 = val1; value2 = val2; YourFunctionName() ---вызывай следующую функцию, которая испольщует значения value1, ... ---Или добавь сюда код end addEvent( "sendValues", true ) addEventHandler( "sendValues", root, setValue) Если не понятно или не то имел ввиду, кидай свои функции.
-
Функция округления от Flaker'а num - число которое округлять accuracy - кол-во знаков до которого округлять function myRound(num, accuracy) return math.floor(num*10^accuracy) / 10^accuracy; end local dd = 124.12324 local sd = 1 print(myRound(dd, sd))
-
client function restrictDamage ( attacker, attackerWeapon, bodypart, loss ) local theHealth = getElementHealth ( localPlayer ) if ( loss >= theHealth ) then triggerServerEvent ( "healthPlayer", localPlayer, 1) else triggerServerEvent ( "healthPlayer", localPlayer, loss) end cancelEvent ( ) end addEventHandler ( "onClientPlayerDamage", root, restrictDamage ) server function restrictDamageServer ( loss ) if ( loss == 1 ) then setElementHealth ( source, loss ) else local theHealth = getElementHealth ( source ) setElementHealth ( source, theHealth - loss ) end end addEvent ( "healthPlayer", true ) addEventHandler ( "healthPlayer", getRootElement(), restrictDamageServer )
-
Полностью согласен. По поводу модераторов, почему бы не взять CoolDark'а, лично по мне очень хорошая кандидатура. А вобще не хотелось бы, чтобы MTA накрылась, я не знаю альтернативного проекта, где у людей такая свобода в плане программирования.
-
С чего лучше начать? С идеи, у тебя должна быть основная идея, то в чём будет смысл и особенность твоего мода. Ты должен представлять как и что будет (можно записывать куда-нибудь на телефон в заметки, потому что процесс этот долгий, и какую-нибудь из хороших идей уже можно забыть). Потом ты садишься и начинаешь писать: осуществлять свои представления и идеи ввиде кода. Создавать мод можно полностью с нуля, создал Lua и meta файлы. Указал в meta type="gamemode" и понеслась. Конечно, для удобства создавай по несколько Lua файлов, потому что, когда строк будет больше чем 1000, будет трудней искать нужную функцию, да и занимает это больше времени.
-
По поводу первого точно сказать не могу, ни разу не пробовал проверять, что будет Но я думаю да. А вот по поводу второго используй программу SandBoxie (песочница).
-
Command /neon ... in server side?
-
Попробуй Возможно ошибка была в том, что не было false/true, и нет проверки на button, которой нажали. addEventHandler ( "onClientGUIClick", Vhod.button, Vhod.proverka, false) function Vhod.proverka(button) if ( button == "left" ) then outputChatBox("1KNOPKAA!!!!") if Vhod.type then if Vhod.steupreg==1 then if not dostupSimvol(txts) or string.len(txts)<=6 then outputChatBox("Для пароля разрешено использовать только a-z и 0-9",source) outputChatBox("Длина не менее 6 символов!",source) else Vhod.pasword=guiGetText(Vhod.edtpas) Vhod.steupreg =2 outputChatBox("Регистрация шаг:"..Vhod.steupreg) guiSetText (Vhod.edtpas) end elseif Vhod.steupreg==2 then Vhod.emeil=guiGetText(Vhod.edtpas,"email") triggerServerEvent ( "reg", getRootElement(),guiGetText (Vhod.pasword,Vhod.emeil)) end else triggerServerEvent ( "avt", getRootElement(),guiGetText (Vhod.edtpas)) showCursor(false) guiSetInputEnabled(false) guiSetVisible(Vhod.wdwLogin,false) end end end
-
Попробуй так ещё. Хотя по сути addEventHandler ( "onClientGUIClick", Vhod.button, Vhod.proverka) так же должна работать. function onGuiClick (button, state, absoluteX, absoluteY) if (source == Vhod.button) then Vhod.proverka() end end addEventHandler ("onClientGUIClick", getRootElement(), onGuiClick)
-
Что дебаг (/debugscript 3) пишет? А так вы вызываете Vhod.proverka, а сама функция называется Vhod:proverka (в первом случае точка, во втором двоеточие), ( EDIT: опередили ) это о чём писал CoolDark. Но так как вы пробовали ввиде addEventHandler ( "onClientGUIClick", Vhod.button,function() ... end), то значит ошибка не только в этом и надо смотреть дебаг.
-
Спасибо, теперь я всё понял
-
Привет всем, объясните мне, пожалуйста, такую тему: допустим в файле на серверной стороне находится, помимо основных функций, такое вот local files = [[ --тут клиентские функции ]] , а в файле на клиентской части вот такой код При старте ресурса клиента (onClientResourceStart) триггерят функцию, которая в свою очередь триггерит функцию выше, отправляя при этом files. Я понял, что функция выше просто запускает функции, которые послали, но для чего это делают? Своеобразная защита кода? И можно пояснить [[ ... ]], это что-то типа массива? Извиняюсь, если не правильно выразился, просто ни разу не встречал такого и интересно узнать
-
Ты не заменил onMarkerHit на onClientMarkerHit.
-
А ты создай два шрифта, например, EnglishFont = guiCreateFont( "fontname.ttf", 20 ) и размер 20 допустим, и RussianFont = guiCreateFont( "fontname.ttf", 24 ) и размер 24. Ну так подобрать конечно, чтобы они одинаковые получились, и соответственно языку посылать через guiSetFont.
-
https://forum.multitheftauto.com/viewtopic.php?f ... al#p319013
-
Вы бы пробовали хотя бы на википедии поискать. Что-то типа такого local timeFrozen = 10 local timer function Frozen() if isTimer(timer) then killTimer(timer) end setElementFrozen(source, true) timer = setTimer(function() setElementFrozen(source, false) end, timeFrozen*1000, 1) end bindKey("J", "down", Frozen)
