Captain Cody

Scripting Moderators
  • Content Count

    2,992
  • Joined

  • Last visited

  • Days Won

    18

Everything posted by Captain Cody

  1. Editor 2.0 will contain a massive amount of custom objects you'll be able to use by default.
  2. 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) 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)
  3. https://forum.mtasa.com/forum/96-arabic-العربية/ Please create your topic there, this will be removed in one hour. (I don't know which section in the Arabic section of the forums corresponds to scripting)
  4. In a bit I'll write a simple lua to .map convertor.
  5. While SA nor MTA does not support it natively it is possible to run this on Linux through the WINE emulator however it requires intensive experimentation to find the right library / packages to run it properly.
  6. New map editor will fully support lua based maps. however it will be a while until it is ready.
  7. Not at at all possible, nor would it bring any real improvements.
  8. No set release date because there's just so much to do of varying difficulties, however to answer the last question custom models will be 100% supported out of the box to load custom models you can either drop them in the model / txd / col folder in the map editor then define their properties in the JSD file. Or make a new resource with the COLs / TXDs / DFFs define them in a JSD file and use my supplied loader. (Lua based properties for custom elements will be supported instead of the JSDs if you define them properly in a table then send the table to the map editor using the supplied definition export)
  9. JDev Dodge ball tournament No one asked for this but you damn well wanted it 48 hours of extreme dodgeballiness https://streamable.com/gpdh5 - 4 teams (If there are more people then expected then there will be more) - When you join you'll be automatically assigned a team - When you are hit you die and you are out - There will be a lot of rounds - First rounds will be team based (Teams will be automatically assigned) - At the beginning and end of both days there will be 2 hours of free for all (approx 6-8am EST and 9-10 pm EST) - If you make a hoop (I'm going to add basketball hoops to each side) you can get a team member in. - Every round you switch to a different location and compete against a different team - Most outs, hits, avg longest standing and avg shortest standing will be announced at the end of each day. Winning player (most hits and longest standing) will receive a custom resource of their choice 'Within limits') Want to participate? Either join here :https://discord.gg/BDPRUkP Or post a comment here. Date(s) - TBA Stating Time - TBA
  10. Will take some work, however update the the latest nightly (if you are not running it already) and use https://wiki.multitheftauto.com/wiki/EngineReplaceAnimation
  11. Please give a better explanation of the issue you are having.
  12. function playsound () setTimer(function() local sound = playSound("mysound.mp3") setSoundVolume(sound, 0.5) end, 2000, 1) end addCommandHandler("thecommand", playsound)
  13. function updatePlayerBlips() if not g_PlayerData then return end local wnd = isWindowOpen(wndSpawnMap) and wndSpawnMap or wndSetPos local mapControl = getControl(wnd, 'map') for elem,player in pairs(g_PlayerData) do if not player.gui.mapBlip then player.gui.mapBlip = guiCreateStaticImage(0, 0, 9, 9, elem == g_Me and 'dosyalar/resim/localplayerblip.png' or 'dosyalar/resim/playerblip.png', false, mapControl) player.gui.mapLabelShadow = guiCreateLabel(0, 0, 100, 14, player.name:gsub("#%x%x%x%x%x%x",""), false, mapControl) local labelWidth = guiLabelGetTextExtent(player.gui.mapLabelShadow) guiSetSize(player.gui.mapLabelShadow, labelWidth, 14, false) guiSetFont(player.gui.mapLabelShadow, 'default-bold-small') guiLabelSetColor(player.gui.mapLabelShadow, 255, 255, 255) player.gui.mapLabel = guiCreateLabel(0, 0, labelWidth, 14, player.name:gsub("#%x%x%x%x%x%x",""), false, mapControl) guiSetFont(player.gui.mapLabel, 'default-bold-small') for i,name in ipairs({'mapBlip', 'mapLabelShadow'}) do addEventHandler('onClientGUIDoubleClick', player.gui[name], function() if getElementDimension(elem)==0 and getElementData(elem,"Warp")==false then server.warpMe(elem) closeWindow(wnd) else errMsg("Işınlandığın Oyuncu Işınlanma Özelliğini Kapatmış Durumda (/isinlanma)") end end, false ) end end local x, y = getElementPosition(elem) x = math.floor((x + 3000) * g_MapSide / 6000) - 4 y = math.floor((3000 - y) * g_MapSide / 6000) - 4 guiSetPosition(player.gui.mapBlip, x, y, false) guiSetPosition(player.gui.mapLabelShadow, x + 14, y - 4, false) guiSetPosition(player.gui.mapLabel, x + 13, y - 5, false) if getElementDimension(elem)~=0 then guiSetPosition(player.gui.mapBlip, -500, -500, false) guiSetPosition(player.gui.mapLabelShadow, -500, -500, false) guiSetPosition(player.gui.mapLabel, -500, -500, false) end local isim = getControlText(wndSetPos,"isim") if ( string.find ( string.upper ( getPlayerName(elem) or '' ), string.upper ( isim or '' ), 1, true ) ) then else if isim~="Oyuncu Ara.." then guiSetPosition(player.gui.mapBlip, -500, -500, false) guiSetPosition(player.gui.mapLabelShadow, -500, -500, false) guiSetPosition(player.gui.mapLabel, -500, -500, false) end end if getElementData(elem,"Warp")==true then guiLabelSetColor(player.gui.mapLabel, 255, 0, 0) end if getElementData(elem,"Warp")==false then guiLabelSetColor(player.gui.mapLabel, 0, 0, 0) end end end If you get an error like this you need to ensure to add an or modifier so that if the string does not exist it'll default to a blank string.
  14. Why would you want to use a custom installation? MTA provides every tool needed to accomplish tasks such as this. https://github.com/CodyJL/JStreamer
  15. https://gtaforums.com/topic/851436-relopensrc-magictxd/
  16. Dev Show Case #1, still heavily WIP and lots to do but progress.
  17. That's just thrown in there, (PlayerSource) doesn't even exist.
  18. objectTable[playerSource] = createObject(2976,0,0,0) There's your problem.
  19. Post the code where it's created. Not just the line