-
Posts
21,935 -
Joined
-
Last visited
-
Days Won
6
Everything posted by Castillo
-
The client. You know the glass objects, some fences, etc.
-
He's talking about these objects that can be destroyed.
-
Sorry, my bad, it's "export" not "exports" in meta.xml function="importHandling" type="client"/>
-
Did you add the line I told you to the meta.xml?
-
"hedit" has the function: "importHandling" client-side, you can try exporting it on the meta.xml adding: function="importHandling" type="client"/> and then you can use in your script (client side of course): function setH() local myVeh = getPedOccupiedVehicle(localPlayer) exports["hedit"]:importHandling(myVeh,'1600.0 2200.0 0.1 0.0 0.0 -0.05 70 0.50 0.8 0.70 5 300.0 33.0 16.0 F P 5.4 0.90 1 45.0 0.95 0.14 0.0 0.80 -0.10 0.5 -0.7 0.00 0.00 19000 0 0 0 3 0') end addCommandHandler("set",setH)
-
"hedit" doesn't has any exported function, I can't either see any function called "importVehicleHandling".
-
Start the resource "hedit".
-
Kenix: Why's that? if he said "Thanks", I guess it worked?
-
infoPanel = guiCreateWindow(168,158,508,344,"F1 - Info",false) tabPanel = guiCreateTabPanel(9,20,490,315,false,infoPanel) tab1 = guiCreateTab("Tab",tab1) memo1 = guiCreateMemo(5,7,476,262,"",false,tab1) label1 = guiCreateLabel(11,271,50,16,"Editable :",false,tab1) label2 = guiCreateLabel(63,271,48,14,"",false,tab1)) button1 = guiCreateButton(123,269,61,19,"Write",false,tab1) button2 = guiCreateButton(186,270,60,18,"Read",false,tab1) tab2 = guiCreateTab("Tab",tabPanel) memo2 = guiCreateMemo(5,7,476,262,"",false,tab2) label3 = guiCreateLabel(11,271,50,16,"Editable :",false,tab2) label4 = guiCreateLabel(63,271,48,14,"",false,tab2) button3 = guiCreateButton(123,269,61,19,"Write",false,tab2) button4 = guiCreateButton(186,270,60,18,"Read",false,tab2) tab3 = guiCreateTab("Tab",tabPanel) memo3 = guiCreateMemo(5,7,476,262,"",false,tab3) label5 = guiCreateLabel(11,271,50,16,"Editable :",false,tab3) label6 = guiCreateLabel(63,271,48,14,"",false,tab3) button5 = guiCreateButton(123,269,61,19,"Write",false,tab3) button6 = guiCreateButton(186,270,60,18,"Read",false,tab3) tab4 = guiCreateTab("Tab",tabPanel) memo4 = guiCreateMemo(5,7,476,262,"",false,tab4) label7 = guiCreateLabel(11,271,50,16,"Editable :",false,tab4) label8 = guiCreateLabel(63,271,48,14,"",false,tab4) button7 = guiCreateButton(123,269,61,19,"Write",false,tab4) button8 = guiCreateButton(186,270,60,18,"Read",false,tab4) tab5 = guiCreateTab("Tab",tabPanel) memo5 = guiCreateMemo(5,7,476,262,"",false,tab5) label9 = guiCreateLabel(11,271,50,16,"Editable :",false,tab5) label10 = guiCreateLabel(63,271,48,14,"",false,tab5) button9 = guiCreateButton(123,269,61,19,"Write",false,tab5) button10 = guiCreateButton(186,270,60,18,"Read",false,tab5) tab6 = guiCreateTab("Tab",tabPanel) memo6 = guiCreateMemo(5,7,476,262,"",false,tab6) label11 = guiCreateLabel(11,271,50,16,"Editable :",false,tab6) label12 = guiCreateLabel(63,271,48,14,"",false,tab6) button11 = guiCreateButton(123,269,61,19,"Write",false,tab6) button12 = guiCreateButton(186,270,60,18,"Read",false,tab6) tab7 = guiCreateTab("Tab",tabPanel) memo7 = guiCreateMemo(5,7,476,262,"",false,tab7) label13 = guiCreateLabel(11,271,50,16,"Editable :",false,tab7) label14 = guiCreateLabel(63,271,48,14,"",false,tab7) button13 = guiCreateButton(123,269,61,19,"Write",false,tab7) button14 = guiCreateButton(186,270,60,18,"Read",false,tab7) local root = getRootElement() function ifClicks1() triggerServerEvent ( "admin1", localPlayer) end addEventHandler ( "onClientGUIClick", button1 ,ifClicks1) function ifClicks2() triggerServerEvent ( "admin2", localPlayer) end addEventHandler ( "onClientGUIClick", button2 ,ifClicks2) function ifClicks3() triggerServerEvent ( "admin3", localPlayer) end addEventHandler ( "onClientGUIClick", button3 ,ifClicks3) function ifClicks4() triggerServerEvent ( "admin4", localPlayer) end addEventHandler ( "onClientGUIClick", button4 ,ifClicks4) function ifClicks5() triggerServerEvent ( "admin5", localPlayer) end addEventHandler ( "onClientGUIClick", button5 ,ifClicks5) function ifClicks6() triggerServerEvent ( "admin6", localPlayer) end addEventHandler ( "onClientGUIClick", button6 ,ifClicks6) function ifClicks7() triggerServerEvent ( "admin7", localPlayer) end addEventHandler ( "onClientGUIClick", button7 ,ifClicks7) function ifClicks8() triggerServerEvent ( "admin8", localPlayer) end addEventHandler ( "onClientGUIClick", button8 ,ifClicks8) function ifClicks9() triggerServerEvent ( "admin9", localPlayer) end addEventHandler ( "onClientGUIClick", button9 ,ifClicks9) function ifClicks8() triggerServerEvent ( "admin9", localPLayer) end addEventHandler ( "onClientGUIClick", button9 ,ifClicks9) function ifClicks10() triggerServerEvent ( "admin10", localPlayer) end addEventHandler ( "onClientGUIClick", button10 ,ifClicks10) function ifClicks11() triggerServerEvent ( "admin11", localPlayer) end addEventHandler ( "onClientGUIClick", button11 ,ifClicks11) function ifClicks12() triggerServerEvent ( "admin12", localPlayer) end addEventHandler ( "onClientGUIClick", button12 ,ifClicks12) function ifClicks13() triggerServerEvent ( "admin13", localPlayer) end addEventHandler ( "onClientGUIClick", button13 ,ifClicks13) function ifClicks13() triggerServerEvent ( "admin13", localPlayer) end addEventHandler ( "onClientGUIClick", button13 ,ifClicks13) function writable1() guiMemoSetReadOnly(memo1, false) end addEvent( "setWritable1", true ) addEventHandler( "setWritable1", getRootElement(), writable1 ) function readable1() guiMemoSetReadOnly(memo1, true) end addEvent( "setReadable1", true ) addEventHandler( "setReadable1", getRootElement(), readable1 ) function writable2() guiMemoSetReadOnly(memo2, false) end addEvent( "setWritable2", true ) addEventHandler( "setWritable2", getRootElement(), writable2 ) function readable2() guiMemoSetReadOnly(memo2, true) end addEvent( "setReadable2", true ) addEventHandler( "setReadable2", getRootElement(), readable2 ) function writable3() guiMemoSetReadOnly(memo3, false) end addEvent( "setWritable3", true ) addEventHandler( "setWritable3", getRootElement(), writable3 ) function readable3() guiMemoSetReadOnly(memo3, true) end addEvent( "setReadable3", true ) addEventHandler( "setReadable3", getRootElement(), readable3 ) function writable4() guiMemoSetReadOnly(memo4, false) end addEvent( "setWritable4", true ) addEventHandler( "setWritable4", getRootElement(), writable4 ) function readable4() guiMemoSetReadOnly(memo4, true) end addEvent( "setReadable4", true ) addEventHandler( "setReadable4", getRootElement(), readable4 ) function writable5() guiMemoSetReadOnly(memo5, false) end addEvent( "setWritable5", true ) addEventHandler( "setWritable5", getRootElement(), writable5 ) function readable5() guiMemoSetReadOnly(memo5, true) end addEvent( "setReadable5", true ) addEventHandler( "setReadable5", getRootElement(), readable5 ) function writable6() guiMemoSetReadOnly(memo6, false) end addEvent( "setWritable6", true ) addEventHandler( "setWritable6", getRootElement(), writable6 ) function readable6() guiMemoSetReadOnly(memo6, true) end addEvent( "setReadable6", true ) addEventHandler( "setReadable6", getRootElement(), readable6 ) function writable7() guiMemoSetReadOnly(memo7, false) end addEvent( "setWritable7", true ) addEventHandler( "setWritable7", getRootElement(), writable7 ) function readable7() guiMemoSetReadOnly(memo7, true) end addEvent( "setReadable7", true ) addEventHandler( "setReadable7", getRootElement(), readable7 ) function loginMust() outputChatBox("You must login to use this button!" , 255 , 0 , 0 ) end addEvent( "loginRequired", true ) addEventHandler( "loginRequired", getRootElement(), loginMust ) function justAdminsCanSoFu() outputChatBox("Just admins can use this function!!!" , 255 , 0 , 0 ) end addEvent( "justAdmins", true ) addEventHandler( "justAdmins", getRootElement(), justAdminsCanSoFu )
-
That function doesn't work, it'll just remove it from memory (I think), but the resource is still there. function getResourceFiles(resource) local resource = getResourceName(resource) local filesTable = {} local metaNode = xmlLoadFile ( ':' .. resource .. '/' .. "meta.xml" ) if metaNode then local i = 0 while xmlNodeGetChildren ( metaNode, i ) ~= false do local node = xmlNodeGetChildren ( metaNode, i ) local src = xmlNodeGetAttribute ( node, "src" ) if src then table.insert( filesTable, src ) end i = i + 1 end xmlUnloadFile ( metaNode ) end return filesTable end function removeResource ( resource ) local filestb = getResourceFiles(resource) local delcount = 0 local filecount = 0 for i=1,#filestb do if fileDelete(':' ..getResourceName(resource).. '/' .. filestb[i]) then delcount = delcount+1 end end if fileDelete(':' .. getResourceName(resource).. '/meta.xml') then delcount = delcount+1 end if (delcount > 0) then return true else return false end end function DeleteCurrentMap(player) if (isObjectInACLGroup("user."..getAccountName(getPlayerAccount(player)),aclGetGroup("Admin"))) then local currentGamemodeMap = exports.mapmanager:getRunningGamemodeMap() if removeResource(currentGamemodeMap) then outputChatBox("The map: ".. getResourceName(currentGamemodeMap) .." was successfully removed.",player,0,255,0) end else outputRace("You arent an Admin", player) end end addCommandHandler("deletemap",DeleteCurrentMap) That'll remove the script files and the meta.xml, but not the resource folder. P.S: I didn't made it, samt2497 made these functions.
-
local enabled = false function replace() txd = engineLoadTXD ("vgncarshade1.txd") engineImportTXD(txd, 3458) enabled = true end addEventHandler("onClientResourceStart",resourceRoot, replace) addEvent("onClientMapStarting",true) addEventHandler("onClientMapStarting",root,replace) bindKey("m", "down", function () if (not enabled) then destroyElement(txd) enabled = false else replace() enabled = true end end) Try that.
-
1: Este es un script de primera persona, no se si funciona en el coche tambien: https://community.multitheftauto.com/index.php?p= ... ls&id=1603 2: Para cambiar las texturas de algo, e.g objetos necesitas saber algo de programacion en Lua, luego usando las funciones de "Engine": https://wiki.multitheftauto.com/wiki/Cli ... _functions , tienen ejemplos. 3: No podes crear nuevos skins, solo remplazar los que ya existen, es lo mismo que con los objetos, usa las mismas funciones.
-
El area 51 esta creada por muchos objetos, usa el map editor para saber sus ID's.
-
Al final de la funcion debes poner "end" para terminarla.
-
function SToptimesManager:playerFinished( player, newTime, dateRecorded ) -- Check if top time recording is disabled for this player if getElementData ( player, "toptimes" ) == "off" then return end if not self.mapTimes then outputDebug( 'TOPTIMES', 'SToptimesManager:playerFinished - self.mapTimes == nil' ) return end dateRecorded = dateRecorded or getRealDateTimeNowString() local oldTime = self.mapTimes:getTimeForPlayer( player ) -- Can be false if no previous time local newPos = self.mapTimes:getPositionForTime( newTime, dateRecorded ) -- See if time is an improvement for this player if not oldTime or newTime < oldTime then local oldPos = self.mapTimes:getIndexForPlayer( player ) triggerEvent("onPlayerToptimeImprovement", player, newPos, newTime, oldPos, oldTime, self.displayTopCount, self.mapTimes:getValidEntryCount() ) -- See if its in the top display if newPos <= self.displayTopCount then outputChatBox( '#FF0000[TopTime]: #FFFFFF' .. getPlayerName(player) .. ' #00FF37got toptime position ' .. newPos .. ' time: ' .. SMaptimes:timeMsToTimeText(newTime), root, 2, 255, 2, true) end if oldTime then outputChatBox( 'TOPTIMES: '.. getPlayerName(player) .. ' new personal best ' .. SMaptimes:timeMsToTimeText(newTime) .. ' ' .. oldTime - newTime, root ) end self.mapTimes:setTimeForPlayer( player, newTime, dateRecorded ) -- updateTopText if database was changed if newPos <= self.displayTopCount then self:updateTopText() end end outputDebug( 'TOPTIMES', '++ SToptimesManager:playerFinished ' .. tostring(getPlayerName(player)) .. ' time:' .. tostring(newTime) ) end Works, tested.
-
Se te olvido terminar la funcion. function crearBoss() BOSS = exports.zombies:createZombie ( x, y, z, rot, skin, interior, dimension )--por supuesto el resource "zombies" debe estar iniciado --entonces haces esto: exports.extrahealth:setElementExtraHealth(BOSS,100000)--el resource "extrahealth" debe haber iniciado end
-
addEvent('onPlayerPickUpRacePickup') addEventHandler('onPlayerPickUpRacePickup', g_Root, function(number, sort, model) if (sort == "vehiclechange" and model == 425) then outputChatBox ( getPlayerName(source) .." has got the Hunter", getRootElement(), 255, 255, 255, true ) if g_SToptimesManager then g_SToptimesManager:playerFinished( source, exports.race:getTimePassed()) end end end ) I don't get what do you mean about Top Times.
-
function SToptimesManager:playerFinished( player, newTime, dateRecorded ) -- Check if top time recording is disabled for this player if getElementData ( player, "toptimes" ) == "off" then return end if not self.mapTimes then outputDebug( 'TOPTIMES', 'SToptimesManager:playerFinished - self.mapTimes == nil' ) return end dateRecorded = dateRecorded or getRealDateTimeNowString() local oldTime = self.mapTimes:getTimeForPlayer( player ) -- Can be false if no previous time local newPos = self.mapTimes:getPositionForTime( newTime, dateRecorded ) -- See if time is an improvement for this player if not oldTime or newTime < oldTime then local oldPos = self.mapTimes:getIndexForPlayer( player ) triggerEvent("onPlayerToptimeImprovement", player, newPos, newTime, oldPos, oldTime, self.displayTopCount, self.mapTimes:getValidEntryCount() ) -- See if its in the top display if newPos <= self.displayTopCount then outputChatBox( 'TOPTIMES: ' .. getPlayerName(player) .. 'got toptime position ' .. newPos, root ) end if oldTime then outputChatBox( 'TOPTIMES: '.. getPlayerName(player) .. ' new personal best ' .. newTime .. ' ' .. oldTime - newTime, root ) end self.mapTimes:setTimeForPlayer( player, newTime, dateRecorded ) -- updateTopText if database was changed if newPos <= self.displayTopCount then self:updateTopText() end end outputDebug( 'TOPTIMES', '++ SToptimesManager:playerFinished ' .. tostring(getPlayerName(player)) .. ' time:' .. tostring(newTime) ) end
-
I don't get what do you mean. I actually never sent data from a webpage to MTA server.
-
I don't want to sound rude, but the client side could be done with just some lines using a table instead of adding manually each vehicle. --vehicle spawning vehicles = {} function spawnv ( id ) if getElementDimension (source) == 10 then outputChatBox ( "You can't use vehicle here", source, 255, 0, 0 ) else if vehicles[source] and isElement(vehicles[source]) then destroyElement(vehicles[source]) end local x, y, z = getElementPosition ( source ) local xr, yr, zr = getElementRotation ( source ) vehicles[source] = createVehicle ( id, x, y, z + 0.5, xr, yr, zr ) warpPedIntoVehicle(source, vehicles[source]) addEventHandler("onVehicleExplode",vehicles[source],function () destroyElement(source) end) end end addEvent ( "spawn", true ) addEventHandler ( "spawn", root, spawnv ) function destroyveh () if vehicles[source] and isElement(vehicles[source]) then destroyElement(vehicles[source]) else outputChatBox( "There is no old car.", source ) end end addEvent ( "destroy", true ) addEventHandler ( "destroy", root, destroyveh ) It should destroy the vehicle just after explode.
-
You would need to update it with a timer or something.
