Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 14/02/19 in all areas

  1. ماعليش انا م اجامل بس وش المودات الحصرية الي عندكم ذي خابرها عام 2015 مافيه سيرفر هجولة ممتاز بالافكار غير طارة ووناسة والوزارة نوعاً ما . الباقين كل واحد يقلد الثاني
    2 points
  2. Olá pessoal. Fiz um vídeo bem detalhado sobre os painéis CEGUI, abordando algumas das principais dúvidas e também algumas propriedades que podem ajudar muito na hora de criar um painel GUI. Recomendo que assistam com fones de ouvido, ou então que ativem as legendas no YouTube. Críticas, sugestões, opiniões, perguntas relacionadas ao vídeo, podem fazer por aqui ou então deixar nos comentários do vídeo. (Deu muitíssimo trabalho de produzir o vídeo, deixe seu like neste post e no vídeo. Se puder, se inscreva no canal e acompanhe a página Lord Henry Entertainment no facebook.) Links e funções que aparecem no vídeo em ordem de aparição: http://static.cegui.org.uk/docs/0.8.7/ guiGetScreenSize guiCreateWindow guiCreateButton http://static.cegui.org.uk/static/WindowsLookProperties.html guiSetProperty http://static.cegui.org.uk/static/WindowsLookProperties.html#FrameWindow http://static.cegui.org.uk/static/WindowsLookProperties.html#Button isMouseOnGUICloseButton Standard_GUI_Font_Names guiSetEnabled guiSetAlpha guiEditSetReadOnly guiEditSetMasked Tenham todos uma boa semana.
    1 point
  3. ❉ بسم الله الرحمن الرحيم ❉ ❉ السلام عليكم ورحمه الله وبركاته انشالله بخير ❉ ❉ اليوم جاي اقدم لكم سيرفر شباب المدينة ❉ ❉ معلومات عن السيرفر : ❉ اي بي السيرفر : mtasa://51.75.189.236:28313 نوع الخادم : الماني البرمجة : حصرية 100% ❉ صور من السيرفر ❉ الاهداءت : @KillerX @DABL @Mr.Falcon @سعد الغامدي @MR.S3D @#Bad_Boy, @F[5]aMh @MR_Mahmoud @LLOYAD_GARMADON @باقي المنتدي
    1 point
  4. Handling system is actually alot more realistic then the other GTAs.
    1 point
  5. @#DaNiLiNTem , mas isso é com os administradores, acho que quem verifica isso é o ccw, teria que enviar um privado a ele relatando o problema, acredito que seja assim.
    1 point
  6. بسم الله الرحمن الرحيم, السلام عليكم ورحمة الله وبركاته , بشرح اليوم كيف تسوي ExportFunction " استدعاء فنكشن " او زي مابسميه " بديل الداتا " , كيف نستخدمه ؟ كيف اسويه ؟ حاولت اسويه مانفع ؟ , كل هذا بشرحه إولآ : انا بقولك وش يعني اكسبورت Exports = استدعاء شيء ما من مود اخر عن طريق اسم الفنكشن في حالة عدم وجود داتا او في حالة وجودها ولاتصلح معك ! بفهمك بلغة البرمجه exports["resource_name"]:function_name() الحين بشرحلك ماعليك exports = استدعاء resource_name = اسم المود الي بيتم الاستدعاء له function_name = اسم الفنكشن الي انت تبي تسويله استدعاء الحين انا مسوي مود بس مافيه داتا ? انا غبي الحين بشيل كل المود , لا مالها داعي تشيل كل المود بعطيك مثال الحين طالما انت مسوي الفنكشن وكله صحيح كيف تسوي الاستدعاء الصحيح وعلي سبيل المثال انك مسوي في المود1 الوظيفة كذا عبارة عن انه يكتب ولكم function SayHello() outputChatBox("اهلآ وسهلآ بك في السيرفر .") end الحين انت عندك هذه الوظيفة وتبي تسويلها استدعاء من مود اخر ؟ وش بنسوي ؟ نروح للميتا حق المود1 ونحط كذا <export function="SayHello" type="server"/> بعد مانحط هذا بالميتا نروح للمود2 الي تبي تحط فيه الاستدعاء addEventHandler("onPlayerJoin",root function() exports["resource_name"]:SayHello() end ) هيك انت سويت استدعاء اول لما اللاعب يخش يستدعي الفنكشن بالاكواد الي فيه من المود1 الي المود2 عشان يسوي ترحيب بالشات اول لما يخش زائر إتمنى اذا كان في اخطاء بالشرح ان يتم التصحيح لي , لانه اول شرح لي في قسم شروحات البرمجه والسلام عليكم ورحمة الله وبركاته #
    1 point
  7. worst optimization + :~ty vehicle handling system.
    1 point
  8. It says the gamemode wasn't tested with more than one player. That doesn't mean it wasn't tested at all. For sure I tested my systems, but you can't find all bugs when you test a Multiplayer-Gamemode allone. So it's a beta until enough people tested it and it's certain that there are no more bugs. Thank you.
    1 point
  9. لانك حاط نص كود السيرفر م عطيتنا كودك بالكامل ركز على اللي حطيته انت انا اخذته وعدلته بس .
    1 point
  10. 1 point
  11. @Default#^ تبوني أوصف الاسطوره ذا بكلمه ؟ ما اقدر لو افكر من هنا لبكرا . أفضل خوي عرفته باللعبه
    1 point
  12. command = "ok" ---- هنا الكلمة الي تفتح بيها اللوحة حقة الاسل command2 = "formate" --- هذه الكلمة تكتبها بأف8 مسافة اسم الرتبة ( تفرمت كل الي فيها (( تسحب كل االحسابات الي فيها )) ) group = "Manager" ---- هنا الرتبة الي تفتح لها اللوحة حقة الاسل group2 = "Console" ---- ( الجروب الذي يمكنه الفرمتة (( formate )) ) Table = {} setElementData(resourceRoot,"log","")---- الكلمة الي تفتح اللوحة حقة مراقبة الاسل يظهر فيها من رقى من وهاكذا الكلمة ( log ))) Days = { [1] = "الأحد", [2] = "الاثنين", [3] = "الثلاثاء", [4] = "الأربعاء", [5] = "الخميس", [6] = "الجمعة", [7] = "السبت" } Months = { [1] = "يناير", [2] = "فبراير", [3] = "مارس", [4] = "أبريل", [5] = "ماي", [6] = "يونيو", [7] = "يوليوز", [8] = "غشت", [9] = "شتنبر", [10] = "أكتوبر", [11] = "نونبر", [12] = "دجنبر" } addCommandHandler(command2,function(thePlayer,cmd,name) if isObjectInACLGroup ("user.".. getAccountName(getPlayerAccount(thePlayer)), aclGetGroup (group2) ) then if aclGetGroup(name) then for i,object in pairs(aclGroupListObjects(aclGetGroup(name)))do aclGroupRemoveObject(aclGetGroup(name),object) end outputChatBox("Action executed!",thePlayer,255,255,0,true) else outputChatBox("Group not exists!",thePlayer) end end end) addCommandHandler("log",function(thePlayer) if isObjectInACLGroup ("user.".. getAccountName(getPlayerAccount(thePlayer)), aclGetGroup (group2) ) then triggerClientEvent(thePlayer,"returnACLLog",thePlayer) end end) addCommandHandler(command,function(thePlayer) if isObjectInACLGroup ("user.".. getAccountName(getPlayerAccount(thePlayer)), aclGetGroup (group) ) then triggerClientEvent(thePlayer,"onOpenACLWindow",thePlayer) groups = {} for i,g in ipairs(aclGroupList()) do if aclGroupGetName(g) ~= "Console" and aclGroupGetName(g) ~= "Admin" then table.insert(groups,aclGroupGetName(g)) end end triggerClientEvent(thePlayer,"returnGROUPSNAMES",thePlayer,groups) end end) addEvent("getGroupObjects",true) addEventHandler("getGroupObjects",getRootElement(),function(name) for i,obj in pairs(aclGroupListObjects(aclGetGroup(name)))do exists = "no" if string.find(obj,"user.",1) then nick,last = getAccountPlayerData(string.gsub(obj,"user.","")) if getPlayerFromAccount(string.gsub(obj,"user.","")) then exists = "yes" end else nick,last = "NONE","NONE" end triggerClientEvent(source,"returnObjects",source,obj,nick,last,exists) end end) function getAccountPlayerData(name) if Table[name] then nick,last = Table[name]["nick"],Table[name]["lastTime"] else nick,last = "NONE","NONE" end return nick,last end addEventHandler("onPlayerLogin",getRootElement(),function() name = getAccountName(getPlayerAccount(source)) nick = getPlayerName(source) time = getRealTime() num = tonumber(time.weekday)+1 day = Days[num] num = tonumber(time.month)+1 month = Months[num] if string.len(time.minute) == 1 then minute = tostring("0" .. time.minute .. "") else minute = time.minute end theTime = tostring("" .. day .. " " .. time.monthday .. "-" .. month .. "-" .. tonumber(time.year)+1900 .. "[" .. time.hour .. ":" .. minute .. "]") if Table[name] then Table[name]["nick"] = nick Table[name]["lastTime"] = theTime else Table[name] = { ["nick"] = nick, ["lastTime"] = theTime } end end) function getPlayerFromAccount(acc) for i,p in pairs(getElementsByType("player"))do if tostring(getAccountName(getPlayerAccount(p))) == tostring(acc) then return true end end end addEvent("onManageACL",true) addEventHandler("onManageACL",getRootElement(),function(action,obj,group) if action == "remove" then aclGroupRemoveObject(aclGetGroup(group),obj) setElementData(resourceRoot,"log",tostring("" .. getElementData(resourceRoot,"log") .. "\n-" .. getPlayerName(source) .. "(" .. getAccountName(getPlayerAccount(source)) .. ") removed object " .. obj .. " from group:" .. group .. "")) elseif action == "add" then aclGroupAddObject(aclGetGroup(group),obj) setElementData(resourceRoot,"log",tostring("" .. getElementData(resourceRoot,"log") .. "\n-" .. getPlayerName(source) .. "(" .. getAccountName(getPlayerAccount(source)) .. ") added object " ..
    1 point
  13. 1 point
  14. Putz, que bosta hein.... Hahauahuahauah Sobre a sua dúvida de colocar 2 jogadores juntos sem dar conflito com outras duplas, a minha sugestão é que vc coloque os dois dentro de uma table e essa table dentro de uma table global. Exemplo marotamente maroto: local globalLixeiros = {} -- Onde as duplas ficam, dentro de suas tables. function criaDuplas (thePlayer, cmd, theDuplaName) -- Cria a table de cada dupla. if getPlayerFromPartialName (theDuplaName) and getPlayerFromPartialName (theDuplaName) ~= thePlayer then -- Se existe um jogador com o nick informado e esse jogador informado não é o mesmo que o jogador que executou o comando (evita fazer dupla com si mesmo), então: if getDupla (getPlayerFromPartialName (theDuplaName)) then -- Se o jogador que foi informado no comando já tem uma dupla, então: outputChatBox ("O jogador '"..theDuplaName.."' já está em uma dupla de lixeiros.", thePlayer, 255, 150, 0) -- Manda este aviso ao jogador que executou o comando. else -- Se o jogador informado não está em uma dupla de lixeiros ainda, então: local theDupla = {thePlayer, getPlayerFromPartialName (theDuplaName)} -- Cria a table da dupla, inserindo o jogador que executou o comando e o jogador que ele informou na mesma table dupla. table.insert (globalLixeiros, theDupla) -- Insere a table theDupla na table globalLixeiros. outputChatBox ("Você colocou '"..theDuplaName.."' como sua dupla de lixeiro.", thePlayer) -- Manda este output ao cara que executou o comando. end end end addCommandHandler ("dupla", criaDuplas) -- Uso do comando: /dupla NickDoSeuAmigo function getDupla (theLixeiro) -- Função que retorna a dupla do jogador informado. for i, dupla in ipairs (globalLixeiros) do -- Para cada dupla da table globalLixeiros, faça: if dupla[1] == theLixeiro then -- Se o jogador informado está como primeiro elemento desta dupla, então: return dupla[2] -- Retorna o segundo elemento desta dupla. elseif dupla[2] == theLixeiro then -- Se o jogador informado está como segundo elemento desta dupla, então: return dupla[1] -- Retorna o primeiro elemento desta dupla. end end end function qualquerCoisa (thePlayer, cmd) -- Função que manda um "Oi" para a dupla do jogador que usou o comando. if getDupla (thePlayer) then -- Se o jogador que executou o comando tiver uma dupla, então: outputChatBox (getPlayerName(thePlayer).."#FFFFFF: Oi!", getDupla (thePlayer), 255, 255, 255, true) -- Manda esse outputChatBox pro outro player da dupla. end end addCommandHandler ("eae", qualquerCoisa) function getPlayerFromPartialName(name) -- Função útil que pelo nome já sabe pra que serve. local name = name and name:gsub("#%x%x%x%x%x%x", ""):lower() or nil if name then for _, player in ipairs(getElementsByType("player")) do local name_ = getPlayerName(player):gsub("#%x%x%x%x%x%x", ""):lower() if name_:find(name, 1, true) then return player end end end end A table deve ficar tipo isso: local globalLixeiros = { {playerElement01, playerElement02}, -- Dupla 1. {playerElement04, playerElement07}, -- Dupla 2. {playerElement05, playerElement08} -- Dupla 3. }
    1 point
  15. function blockDead() if getElementHealth(localPlayer) <= 30 then -- ERRO: localPlayer nem sempre é quem está levando dano. Quem sempre está levando dano é o source. if not getElementData(localPlayer, "jobSAMU") then -- Se o player NÃO estiver trabalhando como SAMU, então: if not getElementData(localPlayer, "playerFallen") then -- Se o player NÃO estiver aguardando atendimento do SAMU, então: (ERRO) cancelEvent() -- Cancela o dano no player. ERRO: Vai cancelar o dano em jogadores saudáveis. Pois eles não estão trabalhando no SAMU e não estão aguardando atendimento do SAMU. E a verificação de vida nem sempre é deles. end end end end addEventHandler("onClientPlayerDamage", localPlayer, blockDead) Eu faria algo assim: function blockDead() if source == localPlayer then -- Se o elemento que tomou dano for o localPlayer, então: (Garante que essa função só funcionará no cliente do localPlayer que estiver tomando dano. Além de evitar que source seja outro tipo de elemento.) if getElementHealth (source) <= 30 then -- Se o jogador que tomou dano ficar com 30 ou menos de vida após o dano, então: if not getElementData (source, "jobSAMU") then -- Se o player que domou dano NÃO estiver trabalhando como SAMU, então: if getElementData (source, "playerFallen") then -- Se o player que tomou dano estiver SIM aguardando atendimento do SAMU, então: cancelEvent() -- Cancela o dano no player, fazendo com que a vida volte ao que estava antes desse dano. -- Se o jogador estiver com 45 de vida e o dano for de 15 ou mais, então ele não vai perder vida, pois ficaria com 30 ou menos. end end end end end addEventHandler("onClientPlayerDamage", localPlayer, blockDead) Obs: Não testei. E pelo que andei olhando no resto do código, tem outros erros também. Como por exemplo uma variável que não existe sendo usada em comparação.
    1 point
  16. Why would you be such an as*hole? Good job, I'll take a look.
    1 point
  17. اخوياي ماقدر اوصفهم بكلمة لانها قليلة بحقهم وهم يعرفون انفسهم
    1 point
  18. فكره حلوه تنفع لسيرفرات الشوتر بالأخص بالتوفيق لا تحرمنا من ابداعك
    1 point
  19. Puedes utilizar esta función de la sección useful de la wiki, https://wiki.multitheftauto.com/wiki/SmoothMoveCamera
    1 point
  20. En general se usa setCameraMatrix y alguna animación, que puedes generar con interpolateBetween o usando funciones de easing, también algunos prefieren usar un objeto que es más fácil de animar con moveObject. Si quieres una respuesta más detallada, podrías dar una descripción de lo que tengas en mente.
    1 point
  21. Na maioria das vezes é necessário ter jogadores reais jogando no seu servidor. Não existe nada que possa criar um jogador de verdade que não seja outro client. No entanto algumas coisas podem ser testadas com PEDs sim. No meu caso, eu simplesmente logo no meu servidor local com outro computador daqui de casa. Pois as coisas que eu faço geralmente só funcionam com jogadores reais e não com bots. OBS: Servidores locais podem ser acessados por qualquer computador que esteja conectado na mesma rede que você.
    1 point
  22. Você também pode criar uma tabela e inserir dados nela. Exemplo: local _SCREEN = { guiGetScreenSize( ) }; local _W, _H = 320, 280; local _TABLE = { }; -- criar uma tabela. addEventHandler( "onClientResourceStart", resourceRoot, function( ) for i = 1, 32 do table.insert( _TABLE, { pID = i, pNick = "Player_" .. i, pPing = math.random( 50 ) } ); -- inserir 32 dados na tabela. end gridList = guiCreateGridList( _SCREEN[ 1 ] - ( _W + 5 ), ( _SCREEN[ 2 ] / 2 - _H / 2 ), _W, _H, false ); guiGridListAddColumn( gridList, "#", 0.15 ); guiGridListAddColumn( gridList, "Nickname", 0.40 ); guiGridListAddColumn( gridList, "Ping", 0.20 ); for i = 1, #_TABLE do local row = guiGridListAddRow( gridList ); guiGridListSetItemText( gridList, row, 1, _TABLE[ i ].pID, false, false ); guiGridListSetItemText( gridList, row, 2, _TABLE[ i ].pNick, false, false ); guiGridListSetItemText( gridList, row, 3, _TABLE[ i ].pPing, false, false ); end end )
    1 point
  23. Você pode adicionar contas no servidor usando: /addaccount ´user´ ´pass´ e setar valores nas contas usando setAccountData, dependendo do que for testar da pra testar tranquilamente desta forma que citei.
    1 point
×
×
  • Create New...