Jump to content

-.Paradox.-

Members
  • Posts

    1,239
  • Joined

  • Last visited

Everything posted by -.Paradox.-

  1. ERROR: Server triggered clientside event onClientZombieWasted, but event is not marked as remotly triggerable And i'm suing this https://community.multitheftauto.com/index.php?p= ... ils&id=347
  2. Yeah I repeated the images
  3. No not working this time no errors in debug
  4. Not working too no errors in debug
  5. Not working Error: Money/script.lua:14 Bad argument @ 'RemoveEventHandler' [Expected function at argument 3, got nil]
  6. Like that? I made this code in my iPhone but idk what I must put to show the text only when zombie get killed thanks for help function onTest() dxDrawText("+1500", 1211, 51, 1351, 77, tocolor(0, 0, 0, 255), 1.00, "pricedown", "left", "top", false, false, true, false, false) dxDrawText("+1500", 1211, 49, 1351, 75, tocolor(0, 0, 0, 255), 1.00, "pricedown", "left", "top", false, false, true, false, false) dxDrawText("+1500", 1209, 51, 1349, 77, tocolor(0, 0, 0, 255), 1.00, "pricedown", "left", "top", false, false, true, false, false) dxDrawText("+1500", 1209, 49, 1349, 75, tocolor(0, 0, 0, 255), 1.00, "pricedown", "left", "top", false, false, true, false, false) dxDrawText("+1500", 1210, 50, 1350, 76, tocolor(0, 100, 35, 255), 1.00, "pricedown", "left", "top", false, false, true, false, false) end addEventHandler("onClientRender", getRootElement, onTest) setTimer( function () removeEventHandler("onClientRender", getRootElement, onTest) end , 3000, 1 )
  7. not onClientRender because I want when zombie wasted, I guess I have to remove event handler after 3 secs after each kill
  8. I know but i dont want use it
  9. -.Paradox.-

    Timer

    Hello i want draw +1500 text every time a zombie get killed, and disappear after 3 seconds thanks for help. addEvent( "onZombieWasted" ); addEventHandler( "onZombieWasted", getRootElement(), function( killer ) givePlayerMoney( killer, 1500 ); end ) addEventHandler("onZombieWasted", getRootElement(), function () dxDrawText("+1500", 1211, 51, 1351, 77, tocolor(0, 0, 0, 255), 1.00, "pricedown", "left", "top", false, false, true, false, false) dxDrawText("+1500", 1211, 49, 1351, 75, tocolor(0, 0, 0, 255), 1.00, "pricedown", "left", "top", false, false, true, false, false) dxDrawText("+1500", 1209, 51, 1349, 77, tocolor(0, 0, 0, 255), 1.00, "pricedown", "left", "top", false, false, true, false, false) dxDrawText("+1500", 1209, 49, 1349, 75, tocolor(0, 0, 0, 255), 1.00, "pricedown", "left", "top", false, false, true, false, false) dxDrawText("+1500", 1210, 50, 1350, 76, tocolor(0, 100, 35, 255), 1.00, "pricedown", "left", "top", false, false, true, false, false) end )
  10. No not working Here is my xp system, maybe it would help function win(killer, weapon, bodypart) if (killer and getElementType(killer) == "player" and killer ~= source) then local H = getElementData(killer, "XP") or 0 local S = getElementData(killer, "Level") local killer1 = getPlayerName(killer) local noob = getPlayerName(source) local X = 5 setElementData(killer, "XP", tonumber(H)+X) local H = tonumber(H) + X if tonumber(H) == 100 then setElementData(killer, "Level", "LV 1") elseif tonumber(H) == 400 then setElementData(killer, "Level", "LV 2") elseif tonumber(H) == 600 then setElementData(killer, "Level", "LV 3") elseif tonumber(H) == 800 then setElementData(killer, "Level", "LV 4") elseif tonumber(H) == 1000 then setElementData(killer, "Level", "LV 5") elseif tonumber(H) == 1200 then setElementData(killer, "Level", "LV 6") elseif tonumber(H) == 1400 then setElementData(killer, "Level", "LV 7") elseif tonumber(H) == 1600 then setElementData(killer, "Level", "LV 8") elseif tonumber(H) == 1800 then setElementData(killer, "Level", "LV 9") elseif tonumber(H) == 2000 then setElementData(killer, "Level", "LV 10") elseif tonumber(H) == 2200 then setElementData(killer, "Level", "LV 11") elseif tonumber(H) == 2400 then setElementData(killer, "Level", "LV 12") elseif tonumber(H) == 2600 then setElementData(killer, "Level", "LV 13") elseif tonumber(H) == 2800 then setElementData(killer, "Level", "LV 14") elseif tonumber(H) == 4000 then setElementData(killer, "Level", "LV 15") elseif tonumber(H) == 4200 then setElementData(killer, "Level", "LV 16") elseif tonumber(H) == 4400 then setElementData(killer, "Level", "LV 17") elseif tonumber(H) == 4600 then setElementData(killer, "Level", "LV 18") elseif tonumber(H) == 4800 then setElementData(killer, "Level", "LV 19") elseif tonumber(H) == 4900 then setElementData(killer, "Level", "LV 20") elseif tonumber(H) == 7000 then setElementData(killer, "Level", "LV 21") elseif tonumber(H) == 9000 then setElementData(killer, "Level", "LV 22") elseif tonumber(H) == 10000 then setElementData(killer, "Level", "LV 23") elseif tonumber(H) == 12000 then setElementData(killer, "Level", "LV 24") elseif tonumber(H) == 13000 then setElementData(killer, "Level", "LV 25") elseif tonumber(H) == 14000 then setElementData(killer, "Level", "LV 26") elseif tonumber(H) == 15000 then setElementData(killer, "Level", "LV 27") elseif tonumber(H) == 16000 then setElementData(killer, "Level", "LV 28") elseif tonumber(H) == 17000 then setElementData(killer, "Level", "LV 29") elseif tonumber(H) == 20000 then setElementData(killer, "Level", "LV 30") elseif tonumber(H) == 22000 then setElementData(killer, "Level", "LV 31") elseif tonumber(H) == 24000 then setElementData(killer, "Level", "LV 32") elseif tonumber(H) == 26000 then setElementData(killer, "Level", "LV 33") elseif tonumber(H) == 28000 then setElementData(killer, "Level", "LV 34") elseif tonumber(H) == 30000 then setElementData(killer, "Level", "LV 35") elseif tonumber(H) == 32000 then setElementData(killer, "Level", "LV 36") elseif tonumber(H) == 34000 then setElementData(killer, "Level", "LV 37") elseif tonumber(H) == 36000 then setElementData(killer, "Level", "LV 38") elseif tonumber(H) == 38000 then setElementData(killer, "Level", "LV 39") elseif tonumber(H) == 40000 then setElementData(killer, "Level", "LV 40") elseif tonumber(H) == 42000 then setElementData(killer, "Level", "LV 41") elseif tonumber(H) == 44000 then setElementData(killer, "Level", "LV 42") elseif tonumber(H) == 46000 then setElementData(killer, "Level", "LV 43") elseif tonumber(H) == 48000 then setElementData(killer, "Level", "LV 44") elseif tonumber(H) == 50000 then setElementData(killer, "Level", "LV 45") elseif tonumber(H) == 52000 then setElementData(killer, "Level", "LV 46") elseif tonumber(H) == 54000 then setElementData(killer, "Level", "LV 47") elseif tonumber(H) == 56000 then setElementData(killer, "Level", "LV 48") elseif tonumber(H) == 58000 then setElementData(killer, "Level", "LV 49") elseif tonumber(H) == 60000 then setElementData(killer, "Level", "LV 50") end end end addEventHandler( "onZombieWasted", getRootElement(), win) function onLogin (_,account) setElementData(source, "Level", getAccountData(account, "LV") or "LV 0") setElementData(source, "XP", getAccountData(account, "EXP") or "0") end addEventHandler ("onPlayerLogin", root, onLogin) function saveData(thePlayer, theAccount) local theAccount = getPlayerAccount(source) if (theAccount and not isGuestAccount(theAccount)) then setAccountData (theAccount, "LV", getElementData(thePlayer, "Level")) setAccountData (theAccount, "EXP", getElementData(thePlayer, "XP")) end end addEventHandler ("onPlayerQuit", root, function () saveData(source, getPlayerAccount(source)) end) addEventHandler ("onPlayerLogout", root, function (prev) saveData(source, prev) end) addCommandHandler ( "setxp", function ( thePlayer, _, who, XP ) local XP = tonumber ( XP ) or 0 local ThePlayer = getPlayerFromName ( who ) if ( ThePlayer ) then setElementData( ThePlayer,"XP",XP ) end end )
  11. Stats = { [22] = { 69 }; [23] = { 70 }; [24] = { 71 }; [25] = { 72 }; [26] = { 73 }; [27] = { 74 }; [28] = { 75 }; [29] = { 76 }; [30] = { 77 }; [31] = { 78 }; [34] = { 79 }; }; addEventHandler ( "onZombieWasted", root, function ( killer, weapon, bodypart ) if killer then if getElementType ( killer ) == "player" then if killer ~= source then if Stats[tonumber(weapon)] then setPedStat ( killer, Stats[tonumber(weapon)][1], getPedStat ( killer, Stats[tonumber(weapon)][1] ) + 1 ) end end end end end )
  12. So you want to add when a zombie is dead or when a player is dead?
  13. Try my script Server side: Stats = { [22] = { 69 }; [23] = { 70 }; [24] = { 71 }; [25] = { 72 }; [26] = { 73 }; [27] = { 74 }; [28] = { 75 }; [29] = { 76 }; [30] = { 77 }; [31] = { 78 }; [34] = { 79 }; }; addEventHandler ( "onPlayerWasted", root, function ( ammo, killer, weapon, bodypart ) if killer then if getElementType ( killer ) == "player" then if killer ~= source then if Stats[tonumber(weapon)] then setPedStat ( killer, Stats[tonumber(weapon)][1], getPedStat ( killer, Stats[tonumber(weapon)][1] ) + 1 ) end end end end end )
  14. What this script supose to do? function makeitgoup(killer,weapon,bodypart) if killer then local statx=getPedStat(killer,63) if (statx > 2)then triggerClientEvent("statsup22",killer) setPedStat(killer,63,0) else setPedStat(killer,63,statx +1) end end end addEvent("stats",true) addEventHandler("stats",getRootElement, makeItGoUp)
  15. -.Paradox.-

    DxDraw

    Hello, i made this script it suppose to draw an image in the screen when player level up, but it dont change it's stuck on rank_0.png, no errors in debug, here is the script. server addEventHandler ( "onPlayerJoin", root, function ( ) setElementData ( source, "Rankicon",":Class\\Rank\\rank_0.png" ) end ) addEventHandler ( "onPlayerLogin", root, function ( _, acc ) local accName = getAccountName ( acc ) local LV = getAccountData(acc, "LV") if (LV >= 0) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_0.png" ) elseif (LV >= 1) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_1.png" ) elseif (LV >= 2) then setElementData ( source, "Rankicon", ":Class\Rank\\rank_2.png" ) elseif (LV >= 3) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_3.png" ) elseif (LV >= 4) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_4.png" ) elseif (LV >= 5) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_5.png" ) elseif (LV >= 6) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_6.png" ) elseif (LV >= 7) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_7.png" ) elseif (LV >= 8 ) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_8.png" ) elseif (LV >= 9) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_9.png" ) elseif (LV >= 10) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_10.png" ) elseif (LV >= 11) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_11.png" ) elseif (LV >= 12) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_12.png" ) elseif (LV >= 13) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_13.png" ) elseif (LV >= 14) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_14.png" ) elseif (LV >= 15) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_15.png" ) elseif (LV >= 16) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_16.png" ) elseif (LV >= 17) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_17.png" ) elseif (LV >= 18) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_18.png" ) elseif (LV >= 19) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_19.png" ) elseif (LV >= 20) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_20.png" ) elseif (LV >= 21) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_21.png" ) elseif (LV >= 22) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_22.png" ) elseif (LV >= 23) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_23.png" ) elseif (LV >= 24) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_23.png" ) elseif (LV >= 25) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_23.png" ) elseif (LV >= 26) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_24.png" ) elseif (LV >= 27) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_24.png" ) elseif (LV >= 28) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_24.png" ) elseif (LV >= 29) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_24.png" ) elseif (LV >= 30) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_24.png" ) elseif (LV >= 31) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_25.png" ) elseif (LV >= 32) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_25.png" ) elseif (LV >= 33) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_25.png" ) elseif (LV >= 34) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_26.png" ) elseif (LV >= 35) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_26.png" ) elseif (LV >= 36) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_26.png" ) elseif (LV >= 37) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_26.png" ) elseif (LV >= 38) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_27.png" ) elseif (LV >= 39) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_27.png" ) elseif (LV >= 40) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_27.png" ) elseif (LV >= 41) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_28.png" ) elseif (LV >= 42) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_28.png" ) elseif (LV >= 43) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_28.png" ) elseif (LV >= 44) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_28.png" ) elseif (LV >= 45) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_28.png" ) elseif (LV >= 46) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_29.png" ) elseif (LV >= 47) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_29.png" ) elseif (LV >= 48) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_29.png" ) elseif (LV >= 49) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_29.png" ) elseif (LV >= 50) then setElementData ( source, "Rankicon", ":Class\\Rank\\rank_30.png" ) else setElementData ( source, "Rankicon", ":Class\\Rank\\rank_0.png" ) end end ) client addEventHandler ( "onClientRender", root, function ( ) local Rankicon = getElementData ( localPlayer, "Rankicon" ) if ( Rankicon and fileExists ( Rankicon ) ) then dxDrawImage(1173, 265, 36, 41, Rankicon, 0, 0, 0, tocolor(255, 255, 255, 255), true) end end )
  16. -.Paradox.-

    Nametag

    Hello, this is my nametag code, i want add one thing the player can see his nametag too, thanks for help. srfont = dxCreateFont("DFHEIMDU_id.ttf",14) g_Root = getRootElement() g_ResRoot = getResourceRootElement(getThisResource()) g_Players = getElementsByType('player') g_Me = getLocalPlayer() nametag = {} local nametags = {} local g_screenX,g_screenY = guiGetScreenSize() local bHideNametags = false local NAMETAG_SCALE = 0.3 --Overall adjustment of the nametag, use this to resize but constrain proportions local NAMETAG_ALPHA_DISTANCE = 50 --Distance to start fading out local NAMETAG_DISTANCE = 100 --Distance until we're gone local NAMETAG_ALPHA = 255 --The overall alpha level of the nametag --The following arent actual pixel measurements, they're just proportional constraints local NAMETAG_TEXT_BAR_SPACE = 1 local NAMETAG_WIDTH = 50 local NAMETAG_HEIGHT = 5 local NAMETAG_TEXTSIZE = 0.3 local NAMETAG_OUTLINE_THICKNESS = 1.2 -- local NAMETAG_ALPHA_DIFF = NAMETAG_DISTANCE - NAMETAG_ALPHA_DISTANCE NAMETAG_SCALE = 1/NAMETAG_SCALE * 800 / g_screenY -- Ensure the name tag doesn't get too big local maxScaleCurve = { {0, 0}, {3, 3}, {13, 5} } -- Ensure the text doesn't get too small/unreadable local textScaleCurve = { {0, 0.8}, {0.8, 1.2}, {99, 99} } -- Make the text a bit brighter and fade more gradually local textAlphaCurve = { {0, 0}, {25, 100}, {120, 190}, {255, 190} } setPedTargetingMarkerEnabled ( false ) function nametag.create ( player ) nametags[player] = true end function nametag.destroy ( player ) nametags[player] = nil end addEventHandler ( "onClientPreRender", g_Root, function() if getElementData(getLocalPlayer(), "state.hud") == "disabled" then return end -- Hideous quick fix -- for i,player in ipairs(g_Players) do if isElement(player) then if player ~= g_Me then setPlayerNametagShowing ( player, false ) if not nametags[player] then nametag.create ( player ) end end end end if bHideNametags then return end local x,y,z = getCameraMatrix() for player in pairs(nametags) do while true do if not isElement(player) then break end if getElementDimension(player) ~= getElementDimension(g_Me) then break end local px,py,pz = getElementPosition ( player ) if not isLineOfSightClear(x, y, z, px, py, pz, true, false, false, true, false, true) then break end local pdistance = getDistanceBetweenPoints3D ( x,y,z,px,py,pz ) if pdistance <= NAMETAG_DISTANCE then --Get screenposition local sx,sy = getScreenFromWorldPosition ( px, py, pz+0.95, 0.06 ) if not sx or not sy then break end --Calculate our components local scale = 1/(NAMETAG_SCALE * (pdistance / NAMETAG_DISTANCE)) local alpha = ((pdistance - NAMETAG_ALPHA_DISTANCE) / NAMETAG_ALPHA_DIFF) alpha = (alpha < 0) and NAMETAG_ALPHA or NAMETAG_ALPHA-(alpha*NAMETAG_ALPHA) scale = math.evalCurve(maxScaleCurve,scale) local textscale = math.evalCurve(textScaleCurve,scale) local textalpha = math.evalCurve(textAlphaCurve,alpha) local outlineThickness = NAMETAG_OUTLINE_THICKNESS*(scale) --Draw our text local playerName = getPlayerName(player):gsub("#%x%x%x%x%x%x","") local r,g,b = getPlayerNametagColor(player) local offset = (scale) * NAMETAG_TEXT_BAR_SPACE/2 local w = dxGetTextWidth(playerName, textscale * NAMETAG_TEXTSIZE, srfont) / 2 local myR = getElementData(localPlayer, "reputation.reputation") local playerR = getElementData(player, "reputation.reputation") local drawX = sx - NAMETAG_WIDTH*scale/2 drawY = sy + offset local width,height = NAMETAG_WIDTH*scale, NAMETAG_HEIGHT*scale dxDrawText ( playerName, sx, sy - offset, sx, sy - offset, tocolor(0,0,0,255), textscale*NAMETAG_TEXTSIZE, srfont, "center", "bottom", false, false, false, true, true ) if myR and playerR then if getElementData(localPlayer, "reputation.criminal") == false and getElementData(player, "reputation.criminal") == false then rr, rg, rb = 158, 210, 229 elseif getElementData(localPlayer, "reputation.criminal") == true and getElementData(player, "reputation.criminal") == false then rr, rg, rb = 217, 25, 31 elseif getElementData(localPlayer, "reputation.criminal") == false and getElementData(player, "reputation.criminal") == true then rr, rg, rb = 217, 25, 31 elseif getElementData(localPlayer, "reputation.criminal") == true and getElementData(player, "reputation.criminal") == true then rr, rg, rb = 246, 231, 89 end else rr, rg, rb = r, g, b end dxDrawText ( playerName, sx, sy - offset, sx, sy - offset, tocolor(rr,rg,rb,255), textscale*NAMETAG_TEXTSIZE, srfont, "center", "bottom", false, false, false, true, true ) nameWidth = dxGetTextWidth ( playerName, textscale*NAMETAG_TEXTSIZE, srfont ) teamWidth = nameWidth local team = getPlayerTeam(player) if team then dxDrawText ( "["..getTeamName(team).."]", sx, sy - offset + 6*scale, sx, sy - offset + 6*scale, tocolor(0,0,0,255), textscale*NAMETAG_TEXTSIZE*0.75, srfont, "center", "bottom", false, false, false, true, true ) dxDrawText ( "["..getTeamName(team).."]", sx, sy - offset + 6*scale, sx, sy - offset + 6*scale, tocolor(rr,rg,rb,255), textscale*NAMETAG_TEXTSIZE*0.75, srfont, "center", "bottom", false, false, false, true, true ) teamWidth = dxGetTextWidth ( "["..getTeamName(team).."]", textscale*NAMETAG_TEXTSIZE*0.75, srfont ) end local imageSize = dxGetFontHeight ( textscale*NAMETAG_TEXTSIZE, srfont ) if getElementData(player, "Classicon") and fileExists ( getElementData(player, "Classicon") ) then outputChatBox("I'm in !!") --It will flood your chatbox so remove it once you checked dxDrawImage ( sx - math.max(nameWidth/2, teamWidth/2) - imageSize - 1*scale, sy - imageSize, imageSize, imageSize, getElementData(player, "Classicon") ) end end break end end end ) ---------------THE FOLLOWING IS THE MANAGEMENT OF NAMETAGS----------------- addEventHandler('onClientResourceStart', g_Root, function() for i,player in ipairs(getElementsByType"player") do if player ~= g_Me then nametag.create ( player ) end end end ) addEventHandler ( "onClientPlayerJoin", g_Root, function() if source == g_Me then return end setPlayerNametagShowing ( source, false ) nametag.create ( source ) end ) addEventHandler ( "onClientPlayerQuit", g_Root, function() nametag.destroy ( source ) end ) -- Math functions function math.lerp(from,to,alpha) return from + (to-from) * alpha end -- curve is { {x1, y1}, {x2, y2}, {x3, y3} ... } function math.evalCurve( curve, input ) -- First value if input[1][1] then return curve[1][2] end -- Interp value for idx=2,#curve do if input[idx][1] then local x1 = curve[idx-1][1] local y1 = curve[idx-1][2] local x2 = curve[idx][1] local y2 = curve[idx][2] -- Find pos between input points local alpha = (input - x1)/(x2 - x1); -- Map to output points return math.lerp(y1,y2,alpha) end end -- Last value return curve[#curve][2] end function dxDrawColorText(str, ax, ay, bx, by, color, scale, font,alignX,alignY,clip, wordBreak, postGUI) local pat = "(.-)#(%x%x%x%x%x%x)" local s, e, cap, col = str:find(pat, 1) local last = 1 while s do if s ~= 1 or cap ~= "" then local w = dxGetTextWidth(cap, scale, font) dxDrawText(cap, ax, ay, ax + w, by, color, scale, font,alignX,alignY,clip, wordBreak, postGUI) ax = ax + w color = tocolor(tonumber("0x"..string.sub(col, 1, 2)), tonumber("0x"..string.sub(col, 3, 4)), tonumber("0x"..string.sub(col, 5, 6)), 255) end last = e+1 s, e, cap, col = str:find(pat, last) end if last <= #str then cap = str:sub(last) local w = dxGetTextWidth(cap, scale, font) dxDrawText(cap, ax, ay, ax + w, by, color, scale, font,alignX,alignY,clip, wordBreak, postGUI) end end
  17. Yes it's working but the tab is on all the screen, still the same problem, shall i remove center?
  18. -.Paradox.-

    Shop

    They are, i tried several times to find the problem but idk where
  19. Working thanks, but it show a big tab and i want only small one and thanks again.
  20. -.Paradox.-

    Shop

    Hello, i got an error in debug, and i cant find the problem (it was working before) here is the error ERROR: Shops\c_gui:92: attempt to index field 'window' (a nil value) Here is my code (Client) GUIEditor = { gridlist = {}, window = {}, button = {} } GUIEditor.window[2] = guiCreateWindow(527, 227, 409, 336, "Shop ", false) guiWindowSetSizable(GUIEditor.window[2], false) guiSetAlpha(GUIEditor.window[2], 1.00) GUIEditor.gridlist[1] = guiCreateGridList(12, 27, 276, 299, false, GUIEditor.window[2]) guiGridListAddColumn(GUIEditor.gridlist[1], "Shop", 0.4) guiGridListAddColumn(GUIEditor.gridlist[1], "$", 0.4) for i = 1, 8 do guiGridListAddRow(GUIEditor.gridlist[1]) end guiGridListSetItemText(GUIEditor.gridlist[1], 0, 1, "Health", false, false) guiGridListSetItemText(GUIEditor.gridlist[1], 0, 2, "$1000", false, false) guiGridListSetItemText(GUIEditor.gridlist[1], 1, 1, "Armor", false, false) guiGridListSetItemText(GUIEditor.gridlist[1], 1, 2, "$1000", false, false) guiGridListSetItemText(GUIEditor.gridlist[1], 2, 1, "Repair Vehicle", false, false) guiGridListSetItemText(GUIEditor.gridlist[1], 2, 2, "$1000", false, false) guiGridListSetItemText(GUIEditor.gridlist[1], 3, 1, "Jetpack", false, false) guiGridListSetItemText(GUIEditor.gridlist[1], 3, 2, "$7600", false, false) guiGridListSetItemText(GUIEditor.gridlist[1], 4, 1, "Parachute", false, false) guiGridListSetItemText(GUIEditor.gridlist[1], 4, 2, "$500", false, false) guiGridListSetItemText(GUIEditor.gridlist[1], 5, 1, "Night Vision Googles", false, false) guiGridListSetItemText(GUIEditor.gridlist[1], 5, 2, "$750", false, false) guiGridListSetItemText(GUIEditor.gridlist[1], 6, 1, "Infrared Googles", false, false) guiGridListSetItemText(GUIEditor.gridlist[1], 6, 2, "$750", false, false) guiGridListSetItemText(GUIEditor.gridlist[1], 7, 1, "Camera", false, false) guiGridListSetItemText(GUIEditor.gridlist[1], 7, 2, "$2000", false, false) GUIEditor.button[1] = guiCreateButton(295, 253, 104, 63, "Close", false, GUIEditor.window[2]) guiSetFont(GUIEditor.button[1], "default-bold-small") guiSetProperty(GUIEditor.button[1], "NormalTextColour", "FFFFFFFF") GUIEditor.button[2] = guiCreateButton(295, 174, 103, 63, "Buy", false, GUIEditor.window[2]) guiSetFont(GUIEditor.button[2], "default-bold-small") guiSetProperty(GUIEditor.button[2], "NormalTextColour", "FFFFFFFF") guiSetVisible(GUIEditor.window[2], false) showCursor(false) function enableShop() if guiGetVisible(GUIEditor.window[2]) == false then guiSetVisible(GUIEditor.window[2], true) showCursor(true) else guiSetVisible(GUIEditor.window[2], false) showCursor(false) end end bindKey("F4","down", enableShop) function closeButton() guiSetVisible(GUIEditor.window[2], false) showCursor(false) end addEventHandler ( "onClientGUIClick", GUIEditor.button[1], closeButton, false ) addEventHandler("onClientGUIClick", guiRoot, function() if source == GUIEditor.button[2] then local row = guiGridListGetSelectedItem(GUIEditor.gridlist[1]) if row == 0 then triggerServerEvent("setMyHealth", localPlayer) elseif row == 1 then triggerServerEvent("setMyArmor", localPlayer) elseif row == 2 then triggerServerEvent("repairMyCar", localPlayer) elseif row == 3 then triggerServerEvent("giveMeJetpack", localPlayer) elseif row == 4 then triggerServerEvent("giveMeParachute", localPlayer) elseif row == 5 then triggerServerEvent("giveMeNight", localPlayer) elseif row == 6 then triggerServerEvent("giveMeInfrared", localPlayer) elseif row == 7 then triggerServerEvent("giveMeCamera", localPlayer) end end end) local Marker = createMarker(241.39999,1861.90002,7.7, "cylinder", 1, 0,250,138) setElementInterior (Marker,0) setElementDimension (Marker, 0) function shopHealth(hitElement) if getElementType(hitElement) == "player" and (hitElement == localPlayer) then if not guiGetVisible(GUIEditor.window[2]) then guiSetVisible(GUIEditor.window[2], true) showCursor(true) end end end addEventHandler("onClientMarkerHit",Marker, shopHealth)
×
×
  • Create New...