Jump to content

Patrick

Moderators
  • Posts

    1,143
  • Joined

  • Last visited

  • Days Won

    42

Everything posted by Patrick

  1. It works with unlimited player.
  2. -- SERVER addCommandHandler("give", function(player, cmd, ...) local args = {...} -- example: bot robot unknown 9999 -- we know: the last arg is the amount, a number --> and every arg behind the amount are names local args_count = #args if args_count < 2 then return outputChatBox("USE: /"..cmd.." name[name ... name] amount", player) end -- minimum need 2 argument local amount = tonumber(args[args_count]) if not amount or amount < 1 then return outputChatBox("Invalid amount.", player) end -- loop players (amount (last argument in table) excluded) for i = 1, args_count-1 do local name = args[i] local target_player = getPlayerFromPartialName(name) if isElement(target_player) then outputChatBox("Something gived to " .. getPlayerName(target_player), player) else outputChatBox("Player " .. name .. " not found.", player) end end end) -- https://wiki.multitheftauto.com/wiki/GetPlayerFromPartialName function getPlayerFromPartialName(name) local name = name and name:gsub("#%x%x%x%x%x%x", ""):lower() or nil if name then for _, player in ipairs(getElementsByType("player")) do local name_ = getPlayerName(player):gsub("#%x%x%x%x%x%x", ""):lower() if name_:find(name, 1, true) then return player end end end end You mean something like this?
  3. https://wiki.multitheftauto.com/wiki/SetTimer Place the fixVehicle and outputChatBox into a timer, what call it after X sec. Hungarian: A fixVehicle és az infó outputChatBox részt tedd egy timerbe, ami X másodperc múlva futtatja csak le a kódot. spray1 = createMarker ( -2437.853515625, 1036.1303710938, 49.5, "cylinder", 5, 0, 255, 0, 50 ) function Reparar ( thePlayer ) local dinero = getPlayerMoney ( thePlayer ) local vehicle = getPedOccupiedVehicle ( thePlayer ) if ( not vehicle ) then outputChatBox( "#c8c8c8Steven: #ffffffGuruljon be a járműjével ide Uram, ha szervízre van szüksége. ", thePlayer, 255, 0, 0, true ) return end if ( dinero >= 300 ) then takePlayerMoney( thePlayer, 300 ) -- a pénzt levonjuk előre setTimer(function() fixVehicle( vehicle ) outputChatBox ( "#c8c8c8Steven: #00ff00Sikeresen megjavítottam a járművét Uram!", thePlayer, 0, 255, 0, true ) end, 5000, 1) -- 5000 milisec múlva (ami 5 másodpercnek felel meg) fussen le EGYSZER a funkcióban foglalt rész else outputChatBox ( "#c8c8c8Steven: #ff1100Ne vesztegesse itt az időmet! 300$ alatt nem vállalok javítást!", thePlayer, 255, 0, 0, true ) end end addEventHandler( "onMarkerHit", spray1, Reparar ) spray2 = createMarker ( 1219.9140625,188.96229553223,18.952247619629, "cylinder", 5, 0, 255, 0, 50 )
  4. Letöltöd a SAMP Editort. (https://www.moddb.com/downloads/san-andreas-multiplayer-map-editor) Abban kitudod jelölni azt a bokrot, és azt hiszem jobb oldalt fogod látni a kijelölt object adatait. Kelleni fog a model idj-je, és a koordináta, x,y,z. Ha ez megvan, akkor a removeWorldModel funkcióval tudod törölni a kikeresett adatok segítségével. removeWorldModel(modelid, 1, x, y, z)
  5. String libraryban lévő sub függvényt kell használnod. (http://Lua-users.org/wiki/StringLibraryTutorial) [2, n-1] intervallumba eső karakterek kivétele egy stringből: string = "{123}" return string:sub(2, #string-1) -- result: "123"
  6. 3rd arg of https://wiki.multitheftauto.com/wiki/EngineApplyShaderToWorldTexture
  7. Ha elsőnek módosítod a texturát utána rakod be objectpreviewba akkor nem a módosítottad mutatja?
  8. Fegyverre, mint objectre miért ne tudnád használni? Ha csinálsz createObjectel egy fegyver objectet akkor arra tudnod kell.
  9. Maybe you can try to do this with object preview. (https://wiki.multitheftauto.com/wiki/Resource:Object_preview) You can render a image of the object with that.
  10. local name = "Patrick" local firstLetter = name:sub(1,1) print(firstLetter)
  11. Nyilván attól a isPlayerOnGroup funckció is ugyan úgy kell.
  12. The problem is in the connection resource. Maybe wrong database details, not exported function or something like that. There must be another error message. Hungarian A probléma a connection resourcen belül lesz. Valószínűleg rossz adatbázis adatokat adtál meg, vagy a getConnection funkció nincs is exportálva. (vagy nem is fut a resource) Lennie kell másik hibaüzenetnek is.
  13. First of all, where you define tarek at server side? I think you didn't send the variable to the client side, because s_tarek in triggerClientEvent is nil. Here is your fixed code: -- SERVER local tarek = createPed(0, 0, 0, 3) addEvent("serverCallback", true) function getClientTarekElement_func_s() local playerAsking = source local s_tarek = tarek triggerClientEvent(playerAsking, "getClientTarekElement", playerAsking, s_tarek) end addEventHandler("serverCallback", root, getClientTarekElement_func_s) -- CLIENT addEvent("getClientTarekElement", true) function getClientTarekElement_func(s_tarek) local c_tarek = s_tarek -- start render nametag for ped AFTER you received s_tarek from server side! addEventHandler( "onClientRender",root, function( ) local px, py, pz, tx, ty, tz, dist px, py, pz = getCameraMatrix( ) tx, ty, tz = getElementPosition( c_tarek ) dist = math.sqrt( ( px - tx ) ^ 2 + ( py - ty ) ^ 2 + ( pz - tz ) ^ 2 ) if dist < 30.0 then if isLineOfSightClear( px, py, pz, tx, ty, tz, true, false, false, true, false, false, false,localPlayer ) then local sx, sy, sz = getPedBonePosition( c_tarek, 5 ) local x,y = getScreenFromWorldPosition( sx, sy, sz + 0.4 ) if x then dxDrawText( "Tarek", x, y, x, y, tocolor(255, 188, 116), 1.0 + ( 15 - dist ) * 0.02, "clear-normal", "center", "center" ) end end end end) end addEventHandler("getClientTarekElement", root, getClientTarekElement_func) addEventHandler("onClientResourceStart", resourceRoot, function() triggerEvent("s_callback", localPlayer) end) addEvent("s_callback", true) addEventHandler("s_callback", root, function() triggerServerEvent("serverCallback", localPlayer, s_tarek) end) But here is a much simpler solution: -- SERVER local ped = createPed(0, 0, 0, 3) setElementData(ped, "custom_name", "Tarek") -- CLIENT addEventHandler("onClientHUDRender", root, function() local px, py, pz = getCameraMatrix() for _, ped_element in ipairs(getElementsByType("ped", root, true)) do -- get all synced ped local customname = getElementData(ped_element, "custom_name") if customname then local tx, ty, tz = getElementPosition(ped_element) if isLineOfSightClear(px, py, pz, tx, ty, tz, true, false, false, true, false, false, false, localPlayer) then local dist = math.sqrt((px - tx)^2 + (py - ty)^2 + (pz - tz)^ 2) if dist < 30 then local headx, heady, headz = getPedBonePosition(ped_element, 5) local sx, sy = getScreenFromWorldPosition(headx, heady, headz + 0.4) if sx and sy then dxDrawText(customname, sx, sy, sx, sy, tocolor(255, 188, 116), 1.0 + (15 - dist)*0.02, "clear-normal", "center", "center") end end end end end end)
  14. local screenWidth,screenHeight = guiGetScreenSize() -- Get screen resolution. function renderDisplay ( ) dxDrawImage ( screenWidth/2 - 100, screenHeight/2-100, 200, 200, 'look.png', 0, 0, -120 ) end function HandleTheRendering ( ) addEventHandler("onClientRender", root, renderDisplay) -- Keep everything visible with onClientRender. -- hide it after 5 sec setTimer(function() removeEventHandler("onClientRender", root, renderDisplay) end, 5000, 1) end addEventHandler("onClientResourceStart",resourceRoot, HandleTheRendering)
  15. local screenWidth,screenHeight = guiGetScreenSize() -- Get screen resolution. function renderDisplay ( ) dxDrawImage ( screenWidth/2 - 50, 0, 100, 240, 'look.png', 0, 0, -120 ) end function HandleTheRendering ( ) addEventHandler("onClientRender", root, renderDisplay) -- Keep everything visible with onClientRender. -- hide it after 5 sec setTimer(function() removeEventHandler("onClientRender", root, renderDisplay) end, 5000, 1) end addEventHandler("onClientResourceStart",resourceRoot, HandleTheRendering) sorry i havent seen your secret end, after dxDrawText
  16. Pontosan akkora méretben rendereld, amekkora maga a kép.
  17. because it makes no sense what you did local screenWidth,screenHeight = guiGetScreenSize() -- Get screen resolution. function renderDisplay ( ) dxDrawImage ( screenWidth/2 - 50, 0, 100, 240, 'look.png', angle, 0, -120 ) end end function HandleTheRendering ( ) addEventHandler("onClientRender", root, renderDisplay) -- Keep everything visible with onClientRender. -- hide it after 5 sec setTimer(function() removeEventHandler("onClientRender", root, renderDisplay) end, 5000, 1) end addEventHandler("onClientResourceStart",resourceRoot, HandleTheRendering)
  18. If freeroam script enabled the cursor, only the freeroam can hide it.
  19. -- SERVER SIDE local aclSpawns = { ["Everyone"] = { pos = {1109, 5131, 16}, skin = 60, weapons = { {31, 1000}, {23, 1000}, {29, 1000}, }, }, ["Police"] = { pos = {-1635, 677, -4}, skin = 60, weapons = { {31, 1000}, {23, 1000}, {29, 1000}, }, }, ["Admin"] = { pos = {-49, -270, 6}, skin = 60, weapons = { {31, 1000}, {23, 1000}, {29, 1000}, }, }, } addEventHandler("onPlayerLogin", root, function(_, account) for aclname, data in pairs(aclSpawns) do if isObjectInACLGroup("user."..getAccountName(account), aclGetGroup(aclname)) then setElementPosition(source, data.pos[1], data.pos[2], data.pos[3]) setElementModel(source, data.skin) for i, weapon in ipairs(data.weapons) do giveWeapon(source, weapon[1], weapon[2]) end return end end end)
  20. Because éáőúűüóüö are utf8 characters and string libary dont support it. You need to use utf8 ones: https://wiki.multitheftauto.com/wiki/Utf8.sub https://wiki.multitheftauto.com/wiki/Utf8.len (nyitás előtt kell ezeket csinálni...? )
  21. Patrick

    Help on table

    First, define colors in the table: local referees = { ["Status"] = { columns = { {"Running", "test", {255,0,0}}, {"Free Round", "test", {255,0,0}}, {"Waiting", "test", {255,0,0}}, {"Paused", "test", {255,0,0}}, {"Training", "test", {255,0,0}}, } } And use like this in render: -- render column when panel showing function referee.renderColumns() for i, column in ipairs (referee["Status"].columns) do dxDrawText(column[2], referee.x + textmoveX + moveSide, referee.y + positionY, sizeX, sizeY + column.height,tocolor(column[3][1],column[3][2],column[3][3],255*referee.getPanelAlpha), referee.fontSize, referee.font, "center","top",false) offsetY = offsetY + column.height end end
×
×
  • Create New...