Jump to content

Polak0

Members
  • Posts

    12
  • Joined

  • Last visited

Posts posted by Polak0

  1. On 15/01/2022 at 01:17, The_GTA said:

    Sounds like you want to use this MTA library resource:

    How about you try creating a script that uses this resource by @FernandoMTA?

    I heard about this script, but I don't wanna use it. I want to create script just for one vehicle that I can drive, spawn whenever I want - and I don't know how I can do it.

    I tried something with setElementModel, but it still not working.

  2. Hello, I want to create a test script for unique vehicle using "engineRequestModel". I have problem, because i don't know how I can give vehicle ID from c.side to s.side.

     

    c. side script.

    [lua]

    function sultan_create (heatchback)

        id_sultan = engineRequestModel("vehicle", 560)
        local txd = engineLoadTXD("sultan.txd")
        engineImportTXD(txd, id_sultan)

        local dff = engineLoadDFF("sultan.dff")
        engineReplaceModel(dff, id_sultan, true)
        outputChatBox("created")
    end

    addEvent( "sultan:heatchback", true )
    addEventHandler( "sultan:heatchback", localPlayer, sultan_create, id_sultan, heatchback )

    [/lua]

     

    s. side script:

    [lua]
    addCommandHandler ( "sultan_heachback",  
    function (thePlayer ) 
        local x,y,z = getElementPosition(thePlayer)
        heatchback = createVehicle(560, x, y+2.5, z+0.5, 0, 0, 0)
        triggerClientEvent ( thePlayer, "sultan:heatchback", thePlayer, id_sultan, heachback)
    end) 

    [/lua]

  3. Hello. I created emergency light system. Everyone can see lights, but it's bugging when you  turn off all of these cuz it's blinking I don't know why. If I turn on "swiatla poscigowe" and turn it off, it's okey. The same thing is "swiatla ostrzegawcze". But if I turn on "swiatla poscigowe" and "swiatla ostrzegawcze" and turn it off it's bugging like that: 

    local screenW, screenH = guiGetScreenSize()
    local sx, sy = guiGetScreenSize()
    function isMouseIn(psx,psy,pssx,pssy,abx,aby)
        if not isCursorShowing() then return end
        cx,cy=getCursorPosition()
        cx,cy=cx*sx,cy*sy
        if cx >= psx and cx <= psx+pssx and cy >= psy and cy <= psy+pssy then
            return true,cx,cy
        else
            return false
        end
    end
    
    shader = dxCreateShader("i/shader.fx") -- Blinkers
    local animShads = {}
    
    p_swiatla={}
    p_swiatla1={}
    timer={}
    timer1={}
    timer2={}
    timer3={}
    timer4={}
    timer5={}
    
    
    zapalone_lg = dxCreateTexture("i/swiatla_gora_zapalone_lewa.bmp")
    zapalone_pg = dxCreateTexture("i/swiatla_gora_zapalone_prawa.bmp")
    ---------------------------------
    
    ---////// GUI
    
    local gui = false
    
    function gui_swiatla()
    	local veh = getPedOccupiedVehicle( localPlayer )
    	local id = getElementModel ( veh )
    	local wariant = getVehicleVariant(veh)
    	if not veh then return end
    	
    		if getElementModel(veh)==582 then-- NEWSVAN
    		dxDrawImage(screenW * 0.8100, screenH * 0.3500, screenW * 0.1500, screenH * 0.2000, "i/tlo.png", 0, 0, 0, tocolor(255, 255, 255), false)
    		if getElementData(veh, "bok_lewy") == true then
    			exports["NS_dxGui"]:createCustomButton("Wyłącz światła górne\nna lewym boku", screenW * 0.8200, screenH * 0.3750, screenW * 0.1300, screenH * 0.0720, tocolor(255, 255, 255, 255), false)
    		else
    			exports["NS_dxGui"]:createCustomButton("Włącz światła górne\nna lewym boku", screenW * 0.8200, screenH * 0.3750, screenW * 0.1300, screenH * 0.0720, tocolor(255, 255, 255, 255), false)
    		end
    		
    		if getElementData(veh, "bok_prawy") == true then
    			exports["NS_dxGui"]:createCustomButton("Wyłącz światła górne\nna prawym boku", screenW * 0.8200, screenH * 0.4550, screenW * 0.1300, screenH * 0.0720, tocolor(255, 255, 255, 255), false)
    		else
    			exports["NS_dxGui"]:createCustomButton("Włącz światła górne\nna prawym boku", screenW * 0.8200, screenH * 0.4550, screenW * 0.1300, screenH * 0.0720, tocolor(255, 255, 255, 255), false)
    		end
    		end
    		
    		
    		if getElementModel(veh)==599 or getElementModel(veh) ==596  then --POLICE RANCHER I LS POLICE
    		dxDrawImage(screenW * 0.8100, screenH * 0.3500, screenW * 0.1500, screenH * 0.1500, "i/tlo.png", 0, 0, 0, tocolor(255, 255, 255), false)
    		if getElementData(veh, "poscigowe") == true then
    			exports["NS_dxGui"]:createCustomButton("Wyłącz światła pościgowe", screenW * 0.8200, screenH * 0.3750, screenW * 0.1300, screenH * 0.0420, tocolor(255, 255, 255, 255), false)
    		else
    			exports["NS_dxGui"]:createCustomButton("Włącz światła pościgowe", screenW * 0.8200, screenH * 0.3750, screenW * 0.1300, screenH * 0.0420, tocolor(255, 255, 255, 255), false)
    		end
    		if getElementData(veh, "ostrzegawcze") == true then
    			exports["NS_dxGui"]:createCustomButton("Wyłącz światła ostrzegawcze", screenW * 0.8200, screenH * 0.4350, screenW * 0.1300, screenH * 0.0420, tocolor(255, 255, 255, 255), false)
    		else
    			exports["NS_dxGui"]:createCustomButton("Włącz światła ostrzegawcze", screenW * 0.8200, screenH * 0.4350, screenW * 0.1300, screenH * 0.0420, tocolor(255, 255, 255, 255), false)
    		end
    		end
    		
    		
    		if getElementModel(veh)==416 then -- AMBULANS
    		dxDrawImage(screenW * 0.8100, screenH * 0.3500, screenW * 0.1500, screenH * 0.1500, "i/tlo.png", 0, 0, 0, tocolor(255, 255, 255), false)
    		if getElementData(veh, "sygnalki1") == true then
    			exports["NS_dxGui"]:createCustomButton("Wyłącz światła", screenW * 0.8200, screenH * 0.3750, screenW * 0.1300, screenH * 0.0420, tocolor(255, 255, 255, 255), false)
    		else
    			exports["NS_dxGui"]:createCustomButton("Włącz światła", screenW * 0.8200, screenH * 0.3750, screenW * 0.1300, screenH * 0.0420, tocolor(255, 255, 255, 255), false)
    		end
    		
    		if getElementData(veh, "ostrzegawcze") == true then
    			exports["NS_dxGui"]:createCustomButton("Wyłącz światła ostrzegawcze", screenW * 0.8200, screenH * 0.4350, screenW * 0.1300, screenH * 0.0420, tocolor(255, 255, 255, 255), false)
    		else
    			exports["NS_dxGui"]:createCustomButton("Włącz światła ostrzegawcze", screenW * 0.8200, screenH * 0.4350, screenW * 0.1300, screenH * 0.0420, tocolor(255, 255, 255, 255), false)
    		end
    		end
    		
    		if getElementModel(veh)==427 then -- Enforcer
    		dxDrawImage(screenW * 0.8100, screenH * 0.3500, screenW * 0.1500, screenH * 0.1500, "i/tlo.png", 0, 0, 0, tocolor(255, 255, 255), false)
    		if getElementData(veh, "sygnalki1") == true then
    			exports["NS_dxGui"]:createCustomButton("Wyłącz światła", screenW * 0.8200, screenH * 0.3750, screenW * 0.1300, screenH * 0.0420, tocolor(255, 255, 255, 255), false)
    		else
    			exports["NS_dxGui"]:createCustomButton("Włącz światła", screenW * 0.8200, screenH * 0.3750, screenW * 0.1300, screenH * 0.0420, tocolor(255, 255, 255, 255), false)
    		end
    		
    		if getElementData(veh, "ostrzegawcze") == true then
    			exports["NS_dxGui"]:createCustomButton("Wyłącz światła ostrzegawcze", screenW * 0.8200, screenH * 0.4350, screenW * 0.1300, screenH * 0.0420, tocolor(255, 255, 255, 255), false)
    		else
    			exports["NS_dxGui"]:createCustomButton("Włącz światła ostrzegawcze", screenW * 0.8200, screenH * 0.4350, screenW * 0.1300, screenH * 0.0420, tocolor(255, 255, 255, 255), false)
    		end
    		end
    		
    		if getElementModel(veh)==426 and getElementData(veh, "veh:sapd", true) then -- Premier
    		dxDrawImage(screenW * 0.8100, screenH * 0.3500, screenW * 0.1500, screenH * 0.1500, "i/tlo.png", 0, 0, 0, tocolor(255, 255, 255), false)
    		if getElementData(veh, "poscigowe") == true then
    			exports["NS_dxGui"]:createCustomButton("Wyłącz światła", screenW * 0.8200, screenH * 0.3750, screenW * 0.1300, screenH * 0.0420, tocolor(255, 255, 255, 255), false)
    		else
    			exports["NS_dxGui"]:createCustomButton("Włącz światła", screenW * 0.8200, screenH * 0.3750, screenW * 0.1300, screenH * 0.0420, tocolor(255, 255, 255, 255), false)
    		end
    		
    		if getElementData(veh, "ostrzegawcze") == true then
    			exports["NS_dxGui"]:createCustomButton("Wyłącz światła ostrzegawcze", screenW * 0.8200, screenH * 0.4350, screenW * 0.1300, screenH * 0.0420, tocolor(255, 255, 255, 255), false)
    		else
    			exports["NS_dxGui"]:createCustomButton("Włącz światła ostrzegawcze", screenW * 0.8200, screenH * 0.4350, screenW * 0.1300, screenH * 0.0420, tocolor(255, 255, 255, 255), false)
    		end
    	end
    end
    
    --////// ODPALANIE GUI
    
    bindKey( "lalt", "down", function()
    	local veh = getPedOccupiedVehicle( localPlayer )
    	if not veh then return end
    	local id = getElementModel ( veh )
    	if getElementModel(veh)==426 and getElementData(veh, "veh:sapd", true) or getElementModel(veh)==427 or getElementModel(veh)==416 or getElementModel(veh)==599 or getElementModel(veh)==596 or getElementModel(veh)==582 then
    		if gui then
    			gui = false
    			removeEventHandler("onClientRender", root, gui_swiatla)
    			showCursor(false)
    		else
    			gui = true
    			addEventHandler("onClientRender", root, gui_swiatla)
    			showCursor(true, false)
    	end
    	end
    end)
    
    function updateShaders(veh)
    	local state1 = getElementData(veh,"signal1")
    	--local state2 = getElementData(veh,"signal2")
    	
    	-- LEWY BOK NEWSVAN
    	if state1 == 0 then
    		engineRemoveShaderFromWorldTexture( shader, "swiatla_gora_lewe", veh )
    	elseif state1 == 1 then
    		engineApplyShaderToWorldTexture( shader,"swiatla_gora_lewe",veh )
    		dxSetShaderValue (shader, "gTexture", zapalone_lg, veh)
    	elseif state1 == 2 then -- prawy bok newsvan
    		engineRemoveShaderFromWorldTexture( shader, "swiatla_gora_prawe", veh )
    	elseif state1 == 3 then
    		engineApplyShaderToWorldTexture( shader,"swiatla_gora_prawe",veh )
    		dxSetShaderValue (shader, "gTexture", zapalone_pg, veh)
    	
    	-- wylacz poscigowe
    	elseif state1==4 then
    		if isTimer(timer[veh]) then killTimer(timer[veh]) end
    		if isTimer(timer2[veh]) then killTimer(timer2[veh]) end
    		engineRemoveShaderFromWorldTexture(shader, "zgaszony_niebieski", veh)
    		engineRemoveShaderFromWorldTexture(shader, "zgaszony_czerwony", veh)
    		setElementData(veh, "poscigowe", false)
    		p_swiatla[veh]=0
    	elseif state1==5 then -- wlacz poscgiowe
    		setElementData(veh, "poscigowe", true)
    		timer[veh] = setTimer( function() -- Niebieskie
    			if(p_swiatla[veh] == 0) or (p_swiatla[veh] == nil) then
    				p_swiatla[veh] = 1
    				engineApplyShaderToWorldTexture(shader, "zgaszony_niebieski", veh)
    				dxSetShaderValue (shader, "gTexture", zapalone_pg, veh)
    			else
    				p_swiatla[veh]=0
    				engineRemoveShaderFromWorldTexture(shader, "zgaszony_niebieski", veh)
    			end
    			end, 150, 0)
    			
    			timer2[veh] = setTimer( function() -- Czerwone
    			if(p_swiatla[veh] == 0) or (p_swiatla[veh] == nil) then
    				p_swiatla[veh] = 1
    				engineApplyShaderToWorldTexture(shader, "zgaszony_czerwony", veh)
    				dxSetShaderValue (shader, "gTexture", zapalone_pg, veh)
    			else
    				p_swiatla[veh]=0
    				engineRemoveShaderFromWorldTexture(shader, "zgaszony_czerwony", veh)
    			end
    			end, 150/2, 0)
    		
    		elseif state1==6 then
    			if isTimer(timer3[veh]) then killTimer(timer3[veh]) end
    			if isTimer(timer4[veh]) then killTimer(timer4[veh]) end
    			if isTimer(timer5[veh]) then killTimer(timer5[veh]) end
    			engineRemoveShaderFromWorldTexture(shader, "zgaszony_pomaranczowy", veh)
    			engineRemoveShaderFromWorldTexture(shader, "zgaszony_pomaranczowy1", veh)
    			engineRemoveShaderFromWorldTexture(shader, "zgaszone_bialy", veh)
    
    			setElementData(veh, "ostrzegawcze", false)
    			p_swiatla1[veh]=0
    		elseif state1==7 then
    			setElementData(veh, "ostrzegawcze", true)
    			timer3[veh]= setTimer( function() -- pomaranczowe
    			if(p_swiatla1[veh]==0) then
    				p_swiatla1[veh] = 2
    				engineApplyShaderToWorldTexture(shader, "zgaszony_pomaranczowy", veh)
    				dxSetShaderValue (shader, "gTexture", zapalone_pg, veh)
    			else
    				p_swiatla1[veh]=0
    				engineRemoveShaderFromWorldTexture(shader, "zgaszony_pomaranczowy", veh)
    			end
    			end, 275, 0)
    			
    			timer4[veh] = setTimer( function() -- biale
    			if(p_swiatla1[veh]==0) then
    				p_swiatla1[veh] = 2
    				engineApplyShaderToWorldTexture(shader, "zgaszone_bialy", veh)
    				dxSetShaderValue (shader, "gTexture", zapalone_pg, veh)
    			else
    				p_swiatla1[veh]=0
    				engineRemoveShaderFromWorldTexture(shader, "zgaszone_bialy", veh)
    			end
    			end, 275/2, 0)
    			
    			timer5[veh] = setTimer( function() -- Czerwone
    			if(p_swiatla1[veh] == 0) or (p_swiatla[veh] == nil) then
    				p_swiatla1[veh] = 2
    				engineApplyShaderToWorldTexture(shader, "zgaszony_pomaranczowy1", veh)
    				dxSetShaderValue (shader, "gTexture", zapalone_pg, veh)
    			else
    				p_swiatla1[veh]=0
    				engineRemoveShaderFromWorldTexture(shader, "zgaszony_pomaranczowy1", veh)
    			end
    			end, 150/2, 0)
    		end
    	end
    
    
    -------------------------------------------------------------
    
    local last = 0
    
    function updateMultipliers()
    	local cur = getTickCount()-last
    	last = getTickCount()
    	for k,v in pairs(animShads) do
    
    		v[2] = v[2] + cur/1000
    		dxSetShaderValue(v[1],"gMultiplier",v[2])
    		if v[2] >= 1 then
    			destroyElement(v[1])
    			setVehicleOverrideLights(k, 2 )
    			setVehicleHeadLightColor(k,0,0,0)
    			animShads[k] = nil
    			--setVehicleHeadLightColor(veh,0,0,0)
    		end
    	end
    end
    addEventHandler("onClientRender",root,updateMultipliers)
    
    
    --/////// WŁĄCZANIE ŚWIATEŁ
    
    addEventHandler("onClientClick", root, function(b, s)
    local veh = getPedOccupiedVehicle( localPlayer )
    if not veh then return end
    if b ~= "state" and s ~= "down" then return end
    local cur = getElementData(veh,"signal1")
    if gui then
    	if isMouseIn(screenW * 0.8200, screenH * 0.3750, screenW * 0.1300, screenH * 0.0720) then	
    		if getVehicleController(veh) ~= localPlayer then return end
    		if cur == 1 then
    			setElementData(veh,"signal1",0)
    			setElementData(veh, "bok_lewy", false)
    		else
    			setElementData(veh,"signal1",1)
    			setElementData(veh, "bok_lewy", true)
    		end
    	end
    	
    	if isMouseIn(screenW * 0.8200, screenH * 0.4550, screenW * 0.1300, screenH * 0.0720) then
    		if getVehicleController(veh) ~= localPlayer then return end
    		if cur == 3 then
    			setElementData(veh,"signal1",2)
    			setElementData(veh, "bok_prawy", false)
    		else
    			setElementData(veh,"signal1",3)
    			setElementData(veh, "bok_prawy", true)
    		end
    	end
    	
    -- POLICJA
    	if isMouseIn(screenW * 0.8200, screenH * 0.3750, screenW * 0.1300, screenH * 0.0420) then -- POSCIGOWE
    		if cur == 5 then
    			setElementData(veh,"signal1",4)
    			setElementData(veh, "poscigowe", false)
    		else
    			setElementData(veh,"signal1",5)
    			setElementData(veh, "poscigowe", true)
    		end
    	end
    	
    	if isMouseIn(screenW * 0.8200, screenH * 0.4350, screenW * 0.1300, screenH * 0.0420) then -- OSTRZEGAWCZE
    		if cur == 7 then
    		 	setElementData(veh,"signal1",6)
    		else
    			setElementData(veh,"signal1",7)
    		end
    	end
    	
    	end
    end)
    
    addEventHandler ( "onClientElementDataChange", getRootElement(),
    function ( dataName )
    	if getElementType ( source ) == "vehicle" then
    		if dataName == "signal1" then
    			updateShaders(source)
    		elseif dataName == "lights" then
    			updateLights(source)
    		end
    	end
    end)

    I think it's something wrong with "updateShaders", but I don't know what.

  4. Hi. How can I attach dynamic light to vehicle?

    I tried attachElements, but it doesn't work.

    bindKey("l", "down", function()
    local veh = getPedOccupiedVehicle( localPlayer )
    local x,y,z = getElementPosition(veh)
    if getElementModel(veh)==582 then
    if getElementData(veh, "light_left_on") == true then
    			setElementData(veh, "light_left_on", false)
    			exports["dynamic_lighting"]:destroyLight(light_leftside)
    		else
    			setElementData(veh, "light_left_on", true)
    			--posX,posY,posZ,colorR,colorG,colorB,colorA,dirX,dirY,dirZ,isEuler,falloff,theta,phi,attenuation,...)
    			light_leftside = exports["dynamic_lighting"]:createSpotLight(x,y+1.5,z, 1, 1, 1, 1, 0, 0, 0, 2, 40, 0.55, 8, 10)
    			attachElements(light_leftside, veh)
    end
    end
    end)

     

  5. The same problem.

    [21:41:20] ERROR: [scripts]\Event2\sourceS.lua:49: attempt to call upvalue 'player' (a number value)

     

    \\Edit

    New Problem.

    [21:46:34] ERROR: [Scripts]\Event2\sourceS.lua:50: attempt to compare string with number
    local Event = false
    local player = 0
    
    function Event_start(plr)
    	if Event == false then
    		Event = true
    		outputChatBox("Save on event is ON, write /join to join on event.", plr, 255, 255, 255, true)
    	elseif
    	    Event == true then
    		Event = false
    		outputChatBox("Saves are OFF.", plr, 255, 255, 255, true)
    	end
    end
    addCommandHandler("event_saves", Event_start)
    
    
    addCommandHandler("event_create", function(plr, cmd, t2, t1, value, ...)
    		if not t2 or not t1 or not ... or not tonumber(value) then
    			outputChatBox("Correct CMD is /event_create <event name> <the number of players>", plr, 255, 255, 255)
            end
    	
    	local name_event = table.concat({t2})
    	local value = table.concat({t1})
    
    		if  tonumber(value) < 8 then 
    			outputChatBox("You write too small number of players !", plr, 255, 255, 255)
    		return end
    		
    		if  tonumber(value) > 64 then 
    			outputChatBox("You write too big number of players !", plr, 255, 255, 255)
    		return end
    		
    	if  tonumber(value) > 0 then 
    		local name = getPlayerName(plr)
    		outputChatBox("Administrator: #008000"..name.." #FFFFFFinvite on event #008000"..name_event.."#FFFFFF , free places: #0080000/"..value.."", getRootElement(), 255, 255, 255, true)
    		return end
    end)
    
    local function Join_event(plr, cmd, t1, value, player)
    if not Event == true then return end
    
    local value = table.concat({t1})
    
    	if getElementData(plr, "player:event") then
    		outputChatBox("You are in event!", plr, 255, 255, 255, true)
    	return end
    	
    		setElementData(plr, "player:event", true)
    		player = (tonumber(player) or 0)+1
    	if player > value then 
    		outputChatBox("The event is have maximum number of players.", getRootElement(), 255, 255, 255, true)
    	return end
    	setElementPosition(plr, -2422.37842, -607.25677, 132.56250)
    	outputChatBox("W E L C O M E   on the event !", plr, 255, 255, 255, true)
    	
    end
    addCommandHandler("join", Join_event)
    
    
    function lols(plr)
    setElementData(plr, "player:event", false)
    end
    addCommandHandler("s", lols)

     

  6. I have problem with event system. 

     

    [11:03:18] ERROR: [scripts]\Event2\sourceS.lua:49: attempt to perform arithmetic on local 'player' (a nil value)

     

    local Event = false
    local player = 0
    
    function Event_start(plr)
    	if Event == false then
    		Event = true
    		outputChatBox("Save on event is ON, write /join to join on event.", plr, 255, 255, 255, true)
    	elseif
    	 Event == true then
    		Event = false
    		outputChatBox("Saves are OFF.", plr, 255, 255, 255, true)
    end
    end
    addCommandHandler("event_saves", Event_start)
    
    
    addCommandHandler("event_create", function(plr, cmd, t2, t1, value, ...)
    		if not t2 or not t1 or not ... or not tonumber(value) then
    			outputChatBox("Correct CMD is /event_create <event name> <the number of players>", plr, 255, 255, 255)
            end
    	
    	local name_event = table.concat({t2})
    	local value = table.concat({t1})
    
    		if  tonumber(value) < 8 then 
    			outputChatBox("You write too small number of players !", plr, 255, 255, 255)
    		return end
    		
    		if  tonumber(value) > 64 then 
    			outputChatBox("You write too big number of players !", plr, 255, 255, 255)
    		return end
    		
    	if  tonumber(value) > 0 then 
    		local name = getPlayerName(plr)
    		outputChatBox("Administrator: #008000"..name.." #FFFFFFinvite on event #008000"..name_event.."#FFFFFF , free places: #0080000/"..value.."", getRootElement(), 255, 255, 255, true)
    		return end
    end)
    
    local function Join_event(plr, cmd, t1, value, player)
    if not Event == true then return end
    
    local value = table.concat({t1})
    
    	if getElementData(plr, "player:event") then
    		outputChatBox("You are in event!", plr, 255, 255, 255, true)
    	return end
    	
    		setElementData(plr, "player:event", true)
    		player = player+1
    	if player > value then 
    		outputChatBox("The event is have maximum number of players.", getRootElement(), 255, 255, 255, true)
    	return end
    	setElementPosition(plr, -2422.37842, -607.25677, 132.56250)
    	outputChatBox("W E L C O M E   on the event !", plr, 255, 255, 255, true)
    	
    end
    addCommandHandler("join", Join_event)
    
    
    function lols(plr)
    setElementData(plr, "player:event", false)
    end
    addCommandHandler("s", lols)

     

  7. Hello everybody. It's me again. I have a problem with the model. I  have a script, which drives compile the *.dff models. But idk where is the problem. PLS help.

     

    script on the server's type:

    function code(name)
      local f = fileOpen(name)
      f:read(34)
      f:setPos(0)
      b = f:read(34)
      f:setPos(0)
      f:write("123456789012345678901234567890")
      f:setPos(f.size)
      f:write(string.reverse(b))
      f:write("123456789012345678901234567890")
      f:write(teaEncode("123456789012345678901234567890",math.random(999999)))
      f:close(f)
    end
    code("1337.dff")

    script on the client's type:

    local txd = engineLoadTXD("1337.txd", 1337)
                engineImportTXD(txd, 1337)
    local dff = engineLoadDFF("1337.dff", true)
                engineReplaceModel(dff, 1337, true)
    local col = engineLoadCOL ("1337.col")
                engineReplaceCOL (col, 1337)
                
    engineSetModelLODDistance(1337, 300)

     

    Meta.xml:

    <meta>
        <oop>true</oop>
        <file src="1337.dff"/>
        <file src="1337.txd"/>
        <file src="1337.col"/>
        <script src="s.lua" type="server" cache="false"></script>
        <script src="c.lua" type="client" cache="false"></script>
    </meta>

     

    DB3 errors:

    Download error: HTTP server file mismatch (TEST-RESOURCE) 1337.dff [Got size:15544 MD5:28CB5633BB549D939E86F4CCB17521EB, wanted MD5:557CDB674F012AD8BE1CA52516449E8E]
    
    
    [18:54:48] DIAGNOSTIC: l3g3nd4 #1013 HTTP server file mismatch (TEST-RESOURCE) 1337.dff [Got size:15544 MD5:28CB5633BB549D939E86F4CCB17521EB, wanted MD5:557CDB674F012AD8BE1CA52516449E8E]
    
    c.lua:4: Bad usage  @ 'EngineReplaceModel' , [Model ID 1337 replace failed]

     

  8. Hello. For some time I have been making models for MTA:SA, 
    and I am wondering if one can encode * .dff, * .txd and * .col files? 
    If so, how, I do not mean methods such as (dff protection by 3ds max *the LOCK DFF* option, 
    but for something else, to change the format other than dff, col and txd.  
     Sorry for my english, i've using google translate ;v
×
×
  • Create New...