Memory
Members-
Posts
383 -
Joined
-
Last visited
Everything posted by Memory
-
Про sandboxie. Спасибо, только ошибка выдаётся
-
Это наподобии такого? Просто тестировать надо с несколькими игроками, а на основном сервере это не удобно.
-
Привет всем, скажите как исправить (мод race): если во время игры, заходит игрокок, то последний выживший в ранг листе получается на второй позиции, а деньги даются как последнему выжившему, тому кто зашёл. Последний игрок, определяется c через getAlivePlayer(): function check() local alive = getAlivePlayers() local player = alive[1] if (#alive == 1) then givePlayerMoney(player, 1000) outputChatBox(getPlayerName(player).. " receive 1000$", getRootElement(), 255, 255, 255, true ) end end addEventHandler("onPlayerWasted",getRootElement(),check) addEventHandler("onPlayerJoin",getRootElement(),check) addEventHandler("onPlayerQuit",getRootElement(),check)
-
Здравсвуйте, как "привязать" dxDrawImage к GUI элументу, т.е. сделать Gui родителем dxDrawImage.
-
Используй https://wiki.multitheftauto.com/wiki/On ... olShapeHit, делаешь проверку и trigger'ешь действие.
-
Да. Их, конечно, уже достаточно много, но пользователи просят сделать подобное, вот я и решил попробовать.
-
Большое спасибо. Буду пробовать TheNormalnij, что именно зачем?
-
Здравствуйте, делаю я запуск карты на стороне клиента, на сервере получаю инфу объетов c помощью xml функций и через triggerLatentClientEvent оправляю на клиент и там создаю всё, но вот как быть с скриптами. Читал в каких-то темах: открывают через file функции и записывают их в txt файлы на клиенте, но как их запустить и если скрипт будет закомпилирован?
-
Большое спасибо Если возникнут вопросы, обязательно свяжусь с вами.
-
Я согласен, но тем не менее, цены на vps хостингах колеблются очень сильно, чуть ли не в 2.5 раза при одинаковых характеристиках с дата-центрами в одной стране. Поэтому меня это смутило и я обратился за помощью/разъяснением к вам.
-
Да с поисковиками то всё понятно, мне бы проверенные лично вами или знакомыми с мта серверами.
-
Можете, пожалуйста, порекомендовать несколько достаточно хороших, стабильных хостингов VPS в Европе.
-
По поводу VPS, не подскажите оптимальные харектиристики для сервера и количество трафика потре:Oемое им. Допустим под пару race серверов: 30 мб при входе и карты в среднем 2-3 мб, на человек 40.
-
Здравствуйте, возможно ли как-нибудь решить следующую ситуацию: создал я в Total Commander FTP соединение и скинул двум другим админам его (с уже установленным соединением, пароль в файле был кодирован, так что за него я спокоен на 90%), чтобы они закидывали\удаляли карты. Так-то я в них уверен, люди они хорошие, но вот они и скрипты стали закидывать, а в Lua они так себе, и периодически из-за их скриптов происходят различные лаги и даже 2 раза уже падал сервер. Мои "наставления" по поводу этого длятся недолго, но отбирать у них права на доступ к файлам сервера мне не хочется, уж много мы с ними прошли. Писал в тех. поддержку по поводу дополнительных пользователей в ftp, ответили просто "Нет". Так вот ... есть ли способ решить это. Может что в програмке можно поколдовать, чтобы пользователь не мог возвращаться назад и изменять путь в настройках соединения (путь сразу настроен на папку с картами).
-
UP: I also need in it.
-
local sX,sY = guiGetScreenSize(); function DxAnime() startTimeShow = getTickCount() addEventHandler("onClientRender", root, showText) addEventHandler("onClientRender", root, Text) setTimer(function () removeEventHandler("onClientRender", root, showText) startTimeFade = getTickCount() addEventHandler("onClientRender", root, fadeText) end, 5250, 1) ---Text will show 5 sec end addEventHandler("onClientResourceStart",getRootElement( ), DxAnime) ---Text will appear 250 ms function showText() getTimeShow = (getTickCount())-startTimeShow if getTimeShow <= 250 then alpha = (getTimeShow/250)*255 ---250 it is time (in milliseconds) from previous line---255 it is our value of alpha elseif getTimeShow > 250 then alpha = 255 end end function fadeText() getTimeFade = (getTickCount())-startTimeFade if getTimeFade <= 250 then alpha = (1-(getTimeFade/250))*255 elseif getTimeFade > 250 then alpha = 0 removeEventHandler("onClientRender", root, fadeText) removeEventHandler("onClientRender", root, Text) end end function Text() text = ("infernus") dxDrawText(text,0,sY-20,sX,0,tocolor(200,200,200,alpha),1,"default-bold","center"); end
-
Для начала хотел что-нибудь получить с сервера и отобразить это на странице php. С php SDK не получается (я уже писал выше), решил так поискать находил ещё кучу рабочих кодов, где получают название карты и т.п., но везде без описаний. Например код от MX_Master'а. $MAP_NAME = 'Unknown'; $mtasa_ip = '127.0.0.1'; // какой хотите поставьте $mtasa_port = 22003; $mtasa_pre = 'EYE1'; $mtasa_fp = fsockopen( "udp://{$mtasa_ip}", (string) ($mtasa_port+123), $mtasa_errno, $mtasa_errstr, 3 ); if ( $mtasa_fp !== FALSE ) { fwrite( $mtasa_fp, 's' ); $mtasa_packet = fread( $mtasa_fp, 16384 ); fclose($mtasa_fp); if ( substr( $mtasa_packet, 0, 4 ) == $mtasa_pre ) { $mtasa = array(); $pos = 4; $len = ord( substr( $mtasa_packet, $pos, 1 ) ) - 1; $mtasa['gameShortName'] = substr( $mtasa_packet, ++$pos, $len ); $pos += $len; $len = ord( substr( $mtasa_packet, $pos, 1 ) ) - 1; $mtasa['serverPort'] = substr( $mtasa_packet, ++$pos, $len ); $pos += $len; $len = ord( substr( $mtasa_packet, $pos, 1 ) ) - 1; $mtasa['serverName'] = substr( $mtasa_packet, ++$pos, $len ); $pos += $len; $len = ord( substr( $mtasa_packet, $pos, 1 ) ) - 1; $mtasa['gameModeName'] = substr( $mtasa_packet, ++$pos, $len ); $pos += $len; $len = ord( substr( $mtasa_packet, $pos, 1 ) ) - 1; $mtasa['mapName'] = substr( $mtasa_packet, ++$pos, $len ); $MAP_NAME = $mtasa['mapName']; // ... } } Ну дописываешь echo {$MAP_NAME} и работает. Написал $mtasa['players'] выводит игроков, а где всё посмотреть, что можно вывести
-
Здравствуйте, сижу уже пол ночи, нашёл код, но мне многое там непонятно, например эти символы "list($name,$Points,$ping) = split("||||",$player);". Не могли бы мне объяснить что к чему и упорядочить. Также пытался получить Point (вместо score, который там стоял по умолчанию), и убрать повторение названия карты. Ещё всё начилось с установки php SDK (https://forum.multitheftauto.com/viewtopic.php?f=148&t=38344), в первых двух частях разобрался, всё работает, а вот с третьей никак (Example 1: Use PHP/MYSQL), особенно непонятно по поводу CREATE TABLE... Найденный код Как отображается http://s2.ipicture.ru/uploads/20130814/DFOtb32a.png P.S. Очень хочу разобраться во всём этом и повысить уровень своих знаний в области программирования, перечитал кучу всего, так что помогите, пожалуйста.
-
Ой ой ой, не заметил, уже исправил) Всегда боялся перепутать их при написании По скрипту: Я понимал, что пишу, просто я пробовал и getPlayerName() (ошибку выдаёт, не может получить) и ещё "кучу" чего. Ничего не получалось и начал перебирать всё что с связано с Name из wiki.
-
Спасибо Буду пробовать, изучать.
-
Привет всем, помогите получить имя guy. Всяко разно пробовал, никак не получается, то вобще не получает имя, то выводится как "userdata цифры". Вот один из вариантов кода. function onPlaceBet (playerSource, cmd, guy, amount) amount = tonumber(amount) local guyName = getPlayerFromName(guy) if (guyName and amount) and amount > 0 then local money = getPlayerMoney(playerSource) if money < amount then outputChatBox("Not enough money for betting!", playerSource, 255,255,255, true) else setElementData(playerSource, "guy", tostring(guyName)) setElementData(playerSource, "amount", amount) takePlayerMoney(playerSource, amount) outputChatBox("*"..getPlayerName(playerSource).." #9ACD32Placed a bet on "..tostring(guyName).."#9ACD32!", getRootElement(), 255,255,255, true) end else outputChatBox("Server: Syntax: /bet [name] [amount]", playerSource, 255,255,255, true) end end addCommandHandler("bet", onPlaceBet) function check() local alive = getAlivePlayers() for _,v in ipairs(getElementsByType("player")) do local betGuy = tostring(getElementData(v, "guy")) local betAmount = tonumber(getElementData(v, "amount")) if (#alive == 1) then local winner = alive[1] local winnerName = getPlayerName(winner) if betGuy then if (betGuy == winnerName) then givePlayerMoney(v, amount*2) outputChatBox("*"..winnerName.." won and you got "..(amount*2).."$", v, 255,255,255, true) else outputChatBox("*"..betGuy.." lost and you did not got money", v, 255,255,255, true) end end end end end addEventHandler("onPlayerWasted",getRootElement(),check)
-
Извиняюсь за поздний ответ... Можете объяснить вдвух словах про сокет и udp. Я понял это типа такого <?php $fp = fsockopen("127.0.0.1", 22005, $errno, $errstr, 10); if (!$fp) { echo "Server is offline"; } else { echo "Server is online"; fclose($fp); } ?> P.S. Просто нашёл код пока искал про сокеты.
