-
Posts
21,935 -
Joined
-
Last visited
-
Days Won
6
Everything posted by Castillo
-
My bad, I wanted to do: <= 0 , copy code again.
-
segundos = 30 timerEnabled = false function onJoin () if timerEnabled then setElementData(source,"secondsRemaining",tostring(segundos)) triggerClientEvent ( source, "showDX", source) end if getPlayerCount ( ) >= 2 then setTimer(escreve, 50,1) end end addEventHandler ( "onPlayerJoin", getRootElement(), onJoin ) function escreve () timerEnabled = true for i,v in pairs(getElementsByType("player")) do setElementData(v,"secondsRemaining",tostring(segundos)) triggerClientEvent ( v, "showDX", v ) end setTimer(countDown,1000,30) end function countDown() segundos = segundos -1 for i,v in pairs(getElementsByType("player")) do setElementData(v,"secondsRemaining",tostring(segundos)) end if segundos <= 0 then triggerClientEvent ( "hideDX", getRootElement() ) timerEnabled = false end end function onStart () timerEnabled = false end addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), onStart )
-
Its work if i say with caps lock You are wrong, it works with caps and without caps, proof: I said: son Of a BiTch and it worked.
-
What do you mean by "gamemodes"? a gamemode could be a 2 lines script with a meta.xml.
-
Villr, copy my code again, now it doesn't give anymore a bad argument.
-
kufurtablo = { "son of a bitch", } addEventHandler('onPlayerChat', root, function(msg, msgType) if msgType == 0 then for i,v in pairs(kufurtablo) do local str = string.lower ( v ) if ( string.find ( str, v ) ) then banPlayer(source, false, false, true, nil, 'Bad Word', 12000) break end end end end )
-
You got a function missing, try using this instead: addEvent("god_mode",true) addEventHandler("god_mode",getRootElement(), function () addEventHandler ( "onClientPlayerDamage", getRootElement(), cancelEvent) end)
-
Yes, it is possible, use this: segundos = 30 timerEnabled = false function onJoin () if timerEnabled then setElementData(source,"secondsRemaining",tostring(segundos)) triggerClientEvent ( source, "showDX", source) end if getPlayerCount ( ) >= 2 then escreve() end end addEventHandler ( "onPlayerJoin", getRootElement(), onJoin ) function escreve () timerEnabled = true for i,v in pairs(getElementsByType("player")) do setElementData(v,"secondsRemaining",tostring(segundos)) triggerClientEvent ( v, "showDX", v ) end setTimer(countDown,1000,30) end function countDown() segundos = segundos -1 for i,v in pairs(getElementsByType("player")) do setElementData(v,"secondsRemaining",tostring(segundos)) end if segundos == 0 then triggerClientEvent ( "hideDX", getRootElement() ) timerEnabled = false end end function onStart () timerEnabled = false end addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), onStart )
-
Ok, look, I think the best way you could do this would be using element data, which is synced between client and server. --server side segundos = 30 timerEnabled = false function onJoin () if timerEnabled then setElementData(source,"secondsRemaining",tostring(segundos)) triggerClientEvent ( source, "showDX", source) end end addEventHandler ( "onPlayerJoin", getRootElement(), onJoin ) function escreve () timerEnabled = true for i,v in pairs(getElementsByType("player")) do setElementData(v,"secondsRemaining",tostring(segundos)) triggerClientEvent ( v, "showDX", v ) end setTimer(countDown,1000,30) end addCommandHandler("inciarcontador",escreve) function countDown() segundos = segundos -1 for i,v in pairs(getElementsByType("player")) do setElementData(v,"secondsRemaining",tostring(segundos)) end if segundos == 0 then triggerClientEvent ( "hideDX", getRootElement() ) timerEnabled = false end end function onStart () timerEnabled = false end addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), onStart ) --client side function drawDX () X,Y = guiGetScreenSize () X = X * (2.5/3) Y = Y * (1/4) dxDrawText ( getElementData(getLocalPlayer(),"secondsRemaining"), X, Y, X, Y, tocolor(255, 255, 255, 255), 5) end function showDX () addEventHandler ( "onClientRender", getRootElement(), drawDX ) end addEvent ( "showDX", true ) addEventHandler ( "showDX", getRootElement(), showDX ) function hideDX () removeEventHandler ( "onClientRender", getRootElement(), drawDX ) end addEvent ( "hideDX ", true ) addEventHandler ( "hideDX ", getRootElement(), hideDX ) When you type /iniciarcontador it will start the count down, when it reaches 0 it will stop and hide the DX element. P.S: CowTurbo, your code makes no sense for me.
-
function staff ( thePlayer, commandName) if isPlayerAdmin(thePlayer) then setPlayerTeam ( thePlayer, teamStaff ) setPlayerWantedLevel ( thePlayer, 0 ) takeAllWeapons ( thePlayer ) giveWeapon ( thePlayer, 3, 1 ) giveWeapon ( thePlayer, 17, 500 ) giveWeapon ( thePlayer, 22, 700 ) giveWeapon ( thePlayer, 24, 100 ) giveWeapon ( thePlayer, 27, 1000 ) giveWeapon ( thePlayer, 29, 1900 ) giveWeapon ( thePlayer, 31, 1500 ) giveWeapon ( thePlayer, 34, 1500 ) giveWeapon ( thePlayer, 39, 500 ) giveWeapon ( thePlayer, 40, 5 ) setElementHealth ( thePlayer, 1000 ) setPlayerNametagColor ( thePlayer, 190, 200, 190 ) setElementModel ( thePlayer, 165 ) setPedArmor ( thePlayer, 1000 ) triggerClientEvent(thePlayer,"god_mode",thePlayer) else outputChatBox ( "*" .. getPlayerName ( source ) .. "* this command is only for Staff .", thePlayer , 255,0,0 ) end end addCommandHandler("staff", staff) P.S: Check your meta.xml and make sure client it's really a client side.
-
markers = {} markers[1] = createMarker(-706, 966, 12, "cylinder", 1, 255, 255, 0, 200) markers[2] = createMarker(-709, 966, 12, "cylinder", 1, 255, 255, 0, 200) vehicles = { [1] = {"Civilian","411"}, [2] = {"Army","432"} } playerVehicles = {} function onMarkerHitGiveVehicle(hitPlayer,matchingDimension) for i,v in pairs(markers) do if (source == v) then if getElementType(hitPlayer) == "player" and matchingDimension then local team = getPlayerTeam1(hitPlayer) if not team then return end local teamName = getTeamName(team) if vehicles[i][1] ~= teamName then return end local x, y, z = getElementPosition(hitPlayer) if isElement(playerVehicles[hitPlayer]) then destroyElement(playerVehicles[hitPlayer]) end playerVehicles[hitPlayer] = createVehicle(vehicles[i][2],x,y,z) warpPedIntoVehicle(hitPlayer,playerVehicles[hitPlayer]) end end end end addEventHandler("onMarkerHit",getRootElement(),onMarkerHitGiveVehicle)
-
I think this would be more efficient: labels = {} function blablabla(row1, row2) local newLabel = #labels +1 labels[newLabel] = guiCreateLabel(0,0,100,10, row1.." "..row2, false) end
-
Try this: root = getRootElement () players = getElementsByType ( "player" ) OS_Trigger = false OS_Active = false function ResourceStartOS ( name, root ) for k,v in ipairs(players) do bindKey ( v, "o", "down", placeOSBeacon ) end end addEventHandler ( "onResourceStart", getResourceRootElement(getThisResource()), ResourceStartOS ) function OSPlayerJoin () bindKey ( source, "o", "down", placeOSBeacon ) end addEventHandler ( "onPlayerJoin", root, OSPlayerJoin ) function placeOSBeacon ( player, key, state ) local playerAccount = getPlayerAccount(player) if not playerAccount then return end local accountName = getAccountName(playerAccount) if not isObjectInACLGroup("user."..accountName,aclGetGroup("Admin")) then return end if ( OS_Trigger == false ) and ( OS_Active == false ) then OS_Trigger = true defineLaunchType = key showCursor ( player, true ) outputChatBox ( "Click to activate orbital strike. Press activation key again to cancel.", player, 105, 252, 55 ) elseif ( OS_Trigger == true ) then --Cancel activation OS_Trigger = false defineLaunchType = nil showCursor ( player, false ) outputChatBox ( "Orbital strike activation cancelled.", player, 105, 252, 55 ) end end function playerClick ( button, state, clickedElement, x, y, z ) if ( OS_Active ~= false ) then outputChatBox ( "Sorry, orbital strike already activated", source, 105, 252, 55 ) end if ( button ~= "left" ) or ( state ~= "down" ) or ( defineLaunchType ~= "o" ) then return end showCursor ( source, false ) OS_Trigger = false OS_Active = true defineLaunchType = nil --reset stuff triggerClientEvent ( "ClientFireOS", getRootElement(), x, y, z ) end addEventHandler ( "onPlayerClick", root, playerClick ) function OrbitalStrikeFinished () OS_Active = false end addEvent("serverOrbitalStrikeFinished", true) addEventHandler("serverOrbitalStrikeFinished", root, OrbitalStrikeFinished)
-
Try this: function wanted( ammo, attacker, weapon, bodypart ) if (attacker) and (attacker ~=source) then setPlayerWantedLevel ( attacker, getPlayerWantedLevel( attacker )+1 ) else local wanted = getPlayerWantedLevel( source ) setPlayerWantedLevel(source,wanted) end end addEventHandler ( "onPlayerWasted", getRootElement(), wanted )
-
copVehicles = { [523]=true,[598]=true[596]=true,[597]=true,[599]=true} copTeams = { ["Military"]=true,["Police"]=true } function copenterVehicle ( player, seat, jacked ) local team = getPlayerTeam(player) if not team then return end if ( copVehicles[getElementModel ( source )] ) and ( not copTeams[getTeamName(team)] ) and ( seat == 0 ) then removePedFromVehicle ( player )--force the player out of the vehicle outputChatBox ( "You aren't a Police Officer , you mayn't drive this.", player ) --and tell the player why end end addEventHandler ( "onVehicleEnter", getRootElement(), copenterVehicle ) Try that.
-
There's math.floor(number).
-
I don't know how that game mode works, so I don't know what next.
-
Download a program called "xampp" which is a mysql server, also you'll need Ryden's mysql module for MTA, you can get it here: https://wiki.multitheftauto.com/wiki/Mysql
-
Exacto, sin eso no podes usar Mysql en MTA.
-
lol...? just use createMarker instead of a colshape o,O.
-
WOT? a col shape or whatever you mean is not a wall, it's invisible always, maybe try using a marker.
-
setElementAlpha?
