Jump to content

Foxyk

Members
  • Posts

    15
  • Joined

  • Last visited

Foxyk's Achievements

Square

Square (6/54)

0

Reputation

  1. function enter (thePlayer) accnames = getAccountName ( getPlayerAccount ( thePlayer ) ) if accnames == "..." then moveObject ( Vorota1, 2000, 79.7, 2501.8999, 15.5 ) moveObject ( Vorota2, 2000, 79.75, 2528.5, 15.5 ) else outputChatBox ("#CD0000Доступ запрещён!", thePlayer, 0,255,0,true) end end addEventHandler ("onMarkerHit", getRootElement( ),enter) function leave (thePlayer) accname = getAccountName ( getPlayerAccount ( thePlayer ) ) if accname == "..." then moveObject ( Vorota1, 2000, 79.7, 2509.8999, 15.5 ) moveObject ( Vorota2, 2000, 79.75, 2520.5, 15.5 ) end end addEventHandler ("onMarkerLeave", getRootElement( ),leave) Как можно немного упростить код? А то квадратно как то...
  2. Как зациклить в бесконечность этот эффект? fxAddBulletImpact(1022.5099487305, -1120.9005126953, 27.184593200684, 0, 0, 0, math.random(1, 2), math.random(2, 5), 1.0)
  3. Дебаг пробовал смотреть? getAccountName принимает первым аккаунт а не игрока Уже разобрался и убрал ошибку и вообще там можно было более проще написать...
  4. function setCar() car = createVehicle ( 402, -2405, -598, 132.6484375 ) setVehicleColor( car, 255, 255, 0 ) setVehicleDamageProof(car, true) setVehicleLocked ( car, true ) end addEventHandler ( "onResourceStart", getRootElement(), setCar ) function privatCar(thePlayer, seat, jacked) local name = getAccountName ( thePlayer ) if name == "[CCCR]Fox" then setVehicleLocked ( car, false ) if isVehicleLocked ( car ) then outputChatBox ( "Автомобиль закрыт", thePlayer) end end end addEventHandler ( "onVehicleStartEnter", getRootElement(), privatCar ) Машина постоянно закрыта, в чём ошибка?
  5. У меня просто технический склад ума и я постоянно стремлюсь к совершенствованию. Более того о таких вещах можно было бы просто догадаться, если вы конечно знаете как устроены компьютеры. Автобусы у вас тоже ходят в точности по расписанию? Или всё таки они попадают в пробки, застревают на остановках? Я как бы тоже на месте не сижу а то меня бы здесь достающего Вас не было.
  6. 79200 - это что, длина звука? Если да, то с чего вы взяли что звук длится именно 79200 мс, а не, скажем 79201 или 79198? Более того, бывают моменты когда звук подвисает даже на секунду (у меня на андроиде часто так) из-за загруженности CPU или ещё какие-то причины. И ешё: нет гарантий что таймер сработает точно через 79200 мс, он так же может сработать на пару миллисекунд позже, например если вы будете продолжать и дальше писать такой код не думая, то рано или поздно у вас произойдёт что-то страшное (например утечка памяти). Я не знал как это осуществить, и написал тем чем знал и тем что мне ранее дали, в самом верху, уж...прямо вы с самого начала были богом кода или с пелёнок, не так не?
  7. Конечно профессионалам легко судить, я же начинаю совсем с 0, совсем при совсем, логического мышления тоже нет, я его тоже развить намерен.
  8. Не получается, можете ошибки указать, их много я думаю. function onResourceStart() mus = playSound("money.mp3",false) local dlin = getSoundLength(mus) setTimer ( function() local soundPosition = getSoundPosition(mus) if dlin == soundPosition then outputChatBox ("да") else outputChatBox ("нет") end end, 79200, 1 ) end addEventHandler("onClientResourceStart", getResourceRootElement(getThisResource()), onResourceStart)
  9. Скрипт не мой но я пытаюсь поменять шрифт, не выходит, совсем. Помогите пожалуйста, варианты кончились... --these are the banned vehicle ids where you cannot get drift points. local BannedIDs = { 432, 532 } local rootElem = getRootElement() local thisRoot = getResourceRootElement(getThisResource()) local player = getLocalPlayer() local vehicle local size = 1.2 local modo = 0.01 local score = 0 local screenScore = 0 local tick local idleTime local multTime local driftTime local Yellow = tocolor(255,232,25) local Red = tocolor(234,0,3) local TempCol = Yellow local mult = 1 local tablamult = {350,1400,4200,11200} local anterior = 0 local mejor = 0 local total = 0 font = "X7GR0XDL.ttf" local global_mejor = 0 local global_nombre = "N/A" local screenWidth, screenHeight = guiGetScreenSize() local x1,y1,x2,y2 = screenWidth*0.2,screenHeight*0.1,screenWidth*0.8,screenHeight*0.8 addEventHandler("onClientResourceStart", thisRoot, function() addEventHandler("onClientRender", rootElem, showText) outputChatBox("Waiting for server drift data...") triggerServerEvent("driftClienteListo", rootElem, player) end ) addEventHandler("onClientResourceStop", thisRoot, function() removeEventHandler("onClientRender", rootElem, showText) end ) function isValidVehicle() local temp = getPedOccupiedVehicle(player) if not temp or getVehicleOccupant(temp,0) ~= player or getVehicleType(temp) ~= "Automobile" then return false end local vehID = getElementModel(temp) for k,v in ipairs(BannedIDs) do if vehID == v then return false end end return temp end function showText() dxDrawText(string.format("Лучший заезд: %s - %d",global_nombre,global_mejor),44,screenHeight-43,screenWidth,screenHeight,Yellow,1,"bankgothic") vehicle = isValidVehicle() if not vehicle then return end if size > 1.3 then modo = -0.01 elseif size < 1.2 then modo = 0.01 end size = size + modo tick = getTickCount() local angulo,velocidad = angle() local tempBool = tick - (idleTime or 0) < 750 if not tempBool and score ~= 0 then anterior = score setElementData(player, "Последний др.", anterior) total = total+anterior setElementData(player, "Всего др.", total) if score > mejor then mejor = score setElementData(player, "Лучший др.", mejor) end triggerEvent("onVehicleDriftEnd", rootElem, tick-driftTime-750) score = 0 end if angulo ~= 0 then if score == 0 then triggerEvent("onVehicleDriftStart", rootElem) driftTime = tick end if tempBool then score = score + math.floor(angulo*velocidad)*mult else score = math.floor(angulo*velocidad)*mult end if TempCol == Red then TempCol = Yellow end screenScore = score idleTime = tick end if velocidad <= 0.3 and mult ~= 1 then dxDrawText("\n\nToo Slow!", 20,155,screenWidth,screenHeight, Yellow, 1.2, font,"left","top", false,true,false) end if tick - (idleTime or 0) < 3000 then local temp = "DRIFT" if score >= 100000 then temp = "DRIFT\n\nDrift King!" elseif score >= 50000 then temp = "DRIFT\n\nInsane Drift!" elseif score >= 20000 then temp = "DRIFT\n\nOutrageous!" elseif score >= 15000 then temp = "DRIFT\n\nColossal!" elseif score >= 7000 then temp = "DRIFT\n\nSuberb!" elseif score >= 3000 then temp = "DRIFT\n\nGreat Drift!" elseif score >= 1000 then temp = "DRIFT\n\nGood Drift!" end dxDrawText(temp, x1,y1,x2,y2, TempCol, 2.2, font,"center","top", false,true,false) dxDrawText(string.format("\n%d",screenScore), x1,y1-10,x2,y2, TempCol, size, font,"center","top", false,true,false) end end function angle() local vx,vy,vz = getElementVelocity(vehicle) local modV = math.sqrt(vx*vx + vy*vy) if not isVehicleOnGround(vehicle) then return 0,modV end local rx,ry,rz = getElementRotation(vehicle) local sn,cs = -math.sin(math.rad(rz)), math.cos(math.rad(rz)) local deltaT = tick - (multTime or 0) if mult~= 1 and modV <= 0.3 and deltaT > 750 then mult = mult-1 multTime = tick elseif deltaT > 1500 then local temp = 1 if score >= 11200 then temp = 5 elseif score >= 4200 then temp = 4 elseif score >= 1400 then temp = 3 elseif score >= 350 then temp = 2 end if temp>mult then mult = temp multTime = tick end end if modV <= 0.2 then return 0,modV end --speed over 40 km/h local cosX = (sn*vx + cs*vy)/modV if cosX > 0.966 or cosX < 0 then return 0,modV end --angle between 15 and 90 degrees return math.deg(math.acos(cosX))*0.5, modV end addEvent("driftCarCrashed", true) addEventHandler("driftCarCrashed", rootElem, function() if score ~= 0 then score = 0 mult = 1 TempCol = Red triggerEvent("onVehicleDriftEnd", rootElem, 0) end end ) addEvent("driftActualizarRecord", true) addEventHandler("driftActualizarRecord", rootElem, function(score, name) global_mejor = score global_nombre = name end ) function resetScore() anterior,mejor,total = 0,0,0 setElementData(player, "Последний др.", anterior) setElementData(player, "Всего др.", total) setElementData(player, "Лучший др.", mejor) end addEvent("driftResetAllScores", true) addEventHandler("driftResetAllScores", rootElem, resetScore) addCommandHandler("resetdrift", resetScore) function checkPuntaje() if total > global_mejor then triggerServerEvent("driftNuevoRecord", rootElem, total, getPlayerName(player)) end end addEventHandler("onClientPlayerFinish", rootElem, checkPuntaje) addEventHandler("onClientPlayerOutOfTime", rootElem, checkPuntaje)
  10. С помощью каких функций и иветов можно создать точку с музыкой, но не обычную. На одной точке должно играть 5 песен по очереди, что для этого нужно? Какие проверки?
  11. Всем снова здрасти, у меня вопрос, кто как из вас изучал Lua? Вы ставили себе математические задачки? Или после прочитанных статей всё чудесным образом запоминалось? А то читаешь, всё понятно, примеры разбираешь, но я думаю что нужно и практиковаться, хоть малясь, именно в Lua а не в MTA. Дайте советов пожалуйста) Заранее спасибо)
  12. Будем учить, понимать и тренироваться
  13. Вот с проверкой как раз и прблемма, не совсем понимаю как оны устроены...
  14. Да, попробую написать алгоритм на бумаге ещё раз, я просто хотел дать игроку при авторизации скин, не из базы данных а просто скин выдать, при чём игроку с определённым логином.
  15. Всем привет! Решил заняться в серьёз языком Lua, другие смогли, почему бы не сделать это мне, он не такой сложный, хотя есть непонятные моменты но это не важно в данной теме. Так вот я прочитал пока только 3 хороших статьи: 1.http://ilovelua.narod.ru/about_lua.html 2.http://zserge.wordpress.com/2012/02/23/lua-%D0%B7%D0%B0-60-%D0%BC%D0%B8%D0%BD%D1%83%D1%82/ 3.http://www.cronos.ru/kb-cronospro-lua.html Я пока не понял всех тонкостей но перечитываю в свободное время) Некоторые говорят что нужно сначало выучить сам язык а потом уже приступать к МТА, честно я такого же мнения) А то ничего путного не выйдет. Решил написать свой первй код, он кривой) да и вообще не рабочий) Помогите мне функциями которые нужны для его работы, он должен выдавать скин игроку после авторизации, для определённого игрока свой скин function setskin() if getAccountName(getPlayerName(source)) then setElementModel ( , 258 ) end end addEventHandler("onPlayerLogin", getRootElement(), setskin) Буду рад услышать побольше советов и критики) Заранее благодарен!)
×
×
  • Create New...