Jump to content

Leaderboard

Popular Content

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

  1. كود كنت مسويه من زمن function fixWindowPosition(wnd,sx,sy) local x,y=guiGetPosition(wnd,false) local wx,wy=guiGetSize(wnd,false) if x and y and wx and wy then local scx,scy=guiGetScreenSize() local fixx,fixy=(scx/sx),(scy/sy) guiSetPosition(wnd,x*fixx,y*fixy,false) guiSetSize(wnd,wx*fixx,wy*fixy,false) local ch=getElementChildren(wnd) if #ch~=0 then for k,v in ipairs(ch)do fixWindowPosition(v,sx,sy) end end return true end return false end كل اللي عليك تحط النافذة اللي تبي تزبطها وهو تلقائي بيزبطها لكل الشاشات + كل الالمنتات اللي داخل اللوحه بتتزبط تلقائي الاستخدام --1366=عرض شاشتك --768==ارتفاع شاشتك fixWindowPosition(GUIEditor,1366,768) بالتوفيق
    3 points
  2. فشخت الرامات يا راجل تقل على البروسيسور ماشي لكن الرامات غالبا للي بيلعبو mta بتبقى 2GB فمتقلش عليها بكل المتغيرات دي يكفيك انك تعمل return getPlayerName(plr),getPlayerSerial(plr) ...etc بالتوفيق
    2 points
  3. O que é? Pra que serve? Um banco de dados é onde ficam salvos diversos tipos de dados que são usados entre as sessões dos jogadores e do servidor, isto significa que mesmo se o jogador relogar no servidor ou até mesmo o servidor reiniciar, os dados salvos no banco de dados não são perdidos. (se o script que salvou lá foi feito corretamente). O que posso salvar neles? O MTA já cria 2 bancos de dados padrão quando vc cria seu servidor, são eles: internal.db - Onde são salvos todos os dados das contas dos jogadores, login, senha, grana do bolso, posição do jogador quando deslogou, vida, colete, skin, armas, munição, etc. registry.db - Onde são salvos todos os dados que são utilizados pelos resources, como por exemplo melhores pontuações das corridas (race gamemode), proprietários das casas, dados bancários dos jogadores, saldo bancário dos jogadores, carros comprados pelos jogadores, roupas compradas pelos jogadores, empresas adquiridas pelos jogadores, etc. Onde eles estão? Estes dois bancos de dados estão na pasta deathmatch do seu servidor, estão na linguagem SQLite. Você ainda pode criar outros bancos de dados externos, para serem usados pelos resources, mas na minha opinião isso não é recomendável, uma vez que vc usaria MySQL, que é mais complexo e exige certos cuidados de acesso e domínio, mas alguns servidores profissionais precisam fazer assim pois fizeram os bancos de dados ficarem fora do servidor em outro IP por segurança, dai é necessário ter bancos de dados externos. Nesse tutorial vamos tratar somente dos bancos de dados nativos do MTA, por serem mais fáceis de entender. Como mexo neles? Para salvar alguma coisa na conta do jogador, isto é, no internal.db, você usa setAccountData, e para obter esses dados depois, use getAccountData. É extremamente simples, funciona da mesma forma que um setElementData, mas em vez de salvar uma data temporária em um elemento, salva uma data permanente numa conta. Porém, para salvar alguma coisa no registry.db, é um pouco mais complicado, uma vez que vc vai precisar criar uma tabela nova para cada resource. Por exemplo, vc acabou de criar um resource de ranking por kills/deaths e você deseja salvar esse ranking no banco de dados para que ao reiniciar o resource ou o servidor, o ranking não seja perdido. Para isso vc vai precisar primeiramente criar uma tabela no banco de dados registry.db, essa tabela será acessada pelo resource, que irá salvar os dados dele lá. Para fazer qualquer coisa neste banco de dados (criar tabelas, inserir, alterar, remover, deletar, inserir colunas em determinada tabela, etc) vc vai precisar usar isso: executeSQLQuery. Aqui, será necessário conhecimento em SQL para fazer isso, mas é mais fácil do que aprender uma linguagem de programação nova, pois suas opções e sintaxes são menores do que uma linguagem inteira de programação, você não vai inventar nenhum sistema novo aqui, apenas criar e gerenciar tabelas e dados. Criar tabela nova no banco de dados: (o Caps Lock não é uma regra, mas é melhor para entender o que é código e o que é nome) [Os seguintes códigos só funcionam server-side] executeSQLQuery ("CREATE TABLE IF NOT EXISTS nomedatabela (nomecoluna1 TEXT, nomecoluna2 REAL, nomecoluna3 INTEGER)") TEXT = Valores desta coluna serão textos. Podem ter símbolos, números e espaços. REAL = Valores desta coluna serão numéricos reais. (números decimais, positivos, negativos e 0.0) INTEGER = Valores desta coluna serão numéricos inteiros. (positivos, negativos e 0) (não existe tipo BOOLEAN, use TEXT e insira valor "false" ou "true") (existe valor NULL, é diferente de vazio e diferente de 0. NULL significa ausência de dados. O NULL aparece quando você cria uma linha ou coluna nova sem atribuir valores a elas.) Deletar tabela do banco de dados: executeSQLQuery ("DROP TABLE nomedatabela") Todas as linhas, colunas, células e valores desta tabela são deletados junto. Deletar linhas da tabela: (as células não ficarão NULL) executeSQLQuery ("DELETE FROM nomedatabela WHERE colunaespecífica=?", valorDaCelulaEspecifica) O ? indica que o valor está após a declaração do SQL. Você poderia colocar o valor direto no lugar do ?. Mas por alguma razão, as vezes isso gera erro. Além disso, se o valor da célula estiver em uma variável no seu script, você não pode declarar a variável no lugar do ?. Ali só pode ser o valor direto, pois a declaração SQL inteira se trata de uma string. Por isso o uso do ?, que está recebendo o valor da variável que está depois da vírgula. Obs: Para verificar se uma célula tem valor nulo, não se usa os operadores lógicos de ==, <= >=. Para isso, usa-se IS NULL ou IS NOT NULL. Ex: executeSQLQuery ("DELETE nomecoluna1,nomecoluna2 FROM nomedatabela WHERE nomecoluna3 IS NULL") Isso vai deletar todas as células da coluna 1 e coluna 2 onde a coluna 3 tem uma célula de valor NULL. Se a coluna 3 não tiver nenhuma célula de valor NULL, nada acontece. Inserir nova linha de valores: (ele vai criar automaticamente uma nova linha com novas células) executeSQLQuery ("INSERT INTO nomedatabela(nomecoluna1,nomecoluna2,nomecoluna3) VALUES(?,?,?)", valorCelulaColuna1, valorCelulaColuna2, valorCelulaColuna3) Neste caso, ele está inserindo 3 novos valores, cada valor em uma coluna. Se você não declarar os nomes das colunas, ele vai preencher na ordem das colunas automaticamente. Você pode deixar de declarar uma coluna se não quiser atribuir valor na célula daquela coluna. Se o tipo de valor da variável não for do tipo de dado daquela coluna, dará erro. Atualizar valores de células que já existem em uma tabela: (não é possível alterar os tipos de valores, é necessário editar o tipo da coluna se quiser fazer isso) executeSQLQuery ("UPDATE nomedatabela SET nomecoluna2=?,nomecoluna3=? WHERE nomecoluna1=?", valorCelulaColuna2, valorCelulaColuna3, valorCelulaColuna1) No caso acima, ele vai atualizar as células das colunas 2 e 3 onde o valor da célula da coluna 1 for igual ao valor de valorColunaCelula1. OBS: Nada impede que você coloque as primeiras variáveis junto à declaração SQL, mas para fazer isso você deve "cortar" a string, inserir as variáveis e depois continuar a string, Ex: executeSQLQuery ("UPDATE nomedatabela SET nomecoluna2= '".. valorCelulaColuna2 .."',nomecoluna3='".. valorCelulaColuna2 .."' WHERE nomecoluna1=?", valorCelulaColuna1) Lembrando que o valor destas variáveis também são strings na declaração, portanto use aspas simples antes e depois de cada corte para transformar os valores em string. Os dois pontos (..) significam que estes valores fazem parte do argumento SQL. Da mesma forma, se vc usar "1" .. "1", será igual a "11". (Por isso acho muito mais fácil deixar tudo ? na declaração SQL e colocar as variáveis todas após a string.) Selecionar determinadas células da tabela: (usado geralmente para obter os valores destas células para usar no script, você pode selecionar somente 1 célula ou várias) executeSQLQuery ("SELECT nomecoluna1,nomecoluna2 FROM nomedatabela WHERE nomecoluna3=?", valorCelulaColuna3) Neste exemplo, ele vai selecionar a célula da coluna 1 e a célula da coluna 2, na linha onde a célula da coluna 3 for igual a valorCelulaColuna3. Alterar a tabela (adicionar coluna nova) [SQLite não suporta deletar coluna nem editar tipo de coluna] executeSQLQuery ("ALTER TABLE nomedatabela ADD nomecoluna4 REAL") Devido a limitações do SQLite, ALTER TABLE não pode ser usado para deletar uma coluna nem para editar seu tipo. Para fazer isso é necessário recriar a tabela inteira com as novas alterações. No exemplo acima, ele vai adicionar uma nova coluna chamada "nomecoluna4". Tá, mas como ficaria tudo isso dentro de um script? Fiz um código com vários testes de banco de dados. Cada comando faz alguma coisa. É possível mexer em um banco de dados manualmente sem usar scripts? Sim, é possível. Eu mesmo costumo fazer isso para corrigir algumas coisas rápidas sem precisar programar mais nada. Para poder abrir os bancos de dados (internal.db e registry.db) você deve usar um programa chamado DB Browser for SQLite. Um programa gratuito, leve e bem fácil de entender. Nele você consegue acessar todas as tabelas do banco de dados e editar os valores como se fosse em uma planilha do Excel. Basta ir na aba Navegar dados, selecionar a tabela que deseja modificar, clicar em cima da célula cujo valor deseja atualizar, digitar o novo valor, clicar em Aplicar e depois clicar em Escrever modificações (salvar banco de dados). Pronto! E tem mais! Se você já tiver conhecimento avançado com a linguagem SQL, você também pode fazer alterações avançadas via código dentro do programa. Basta acessar a aba Executar SQL, escrever o comando SQL corretamente e depois clicar no botão de Play. Espero ter ajudado.
    1 point
  4. السسسسسسسسسسلام عليكم ورحمة الله وباركته كيف حالكم يا اخواني يا احبابي لكم وحشه بعد اعتزالي وان شاءالله كلكم بخيـــــــــر ودراسه بخيـــــــــر نخش فالموضوع وعلى بركة الله بسم الله الرحمان الرحيم ولا حول ولا قوة الا بالله حسيت حالي داخل لحرب احم احم المهم ? بطرح عليكم شيء ما انطرح من قبل وطبعا هاذا الشيء من صنعي من 0 ومن بداية البرمجة كنت بدي اتعلمه والحمدالله خلصته قبل 4 اشهر - لوق ادمين الكامل - تم صنع هذه اللوحة لى عدم الظلم من بين اللاعبين - واضافة الميوت ، الكيك ، عالم الوهمي ، سحب السيارة ، تفجير السيارة ، سحب اللاعب ، الإنتقال الى اللاعب ، تغيير الشخصية ، الى غيرهـ ويمكنكـ البحث على شيء الذي تريده من خلال اللوحة ويمكنكـ أيضا حذف اللوق واضافة وقت باللوحة على سبيل المثال 16:00-25-10-2018 لـ معرفة الوقت امتى انصك اللاعب الصورة للسكريبت : وقريبا الرجوع من الإعتزالي الذي حزنكم ادري انو مافي احد حزن ادري ادري راجع معليكم ? وسيتم تشغيل القناة ونشر مودات طبعا موادت غير الوزارة يمكن انشر مودات الوناسة وسيارتها ومودات كنق طاره وسيارتها ?أقسم برب العزة انو انا امزح بنشر مودات غير موجوده وتكون تفيدكم بإذن الله وشكرا بدي تعليقكم وارائكم ونصائحكم الهامة وبالله عليكم ما ابي اي شخص يخرب موضوعي الجميل القمة الجمال تحياتي لكم : اخوكم MR.TOUNSI #للبيع @ للتواصل واتس اب +21625915707
    1 point
  5. الاكواد : كود منع الهاكات والغش setServerConfigSetting( "enablesd", "12,14,15,16,22,23,28", true ) كود يخلي الطلقات توصل على العدو ماتضيع setServerConfigSetting( "player_sync_interval", "50", true ) كود يخلي الطلقات توصل على العدو ماتضيع مهم برضه setServerConfigSetting( "keysync_mouse_sync_interval", "50", true ) كود تشغيل الزيم setServerConfigSetting( "bullet_sync", "1", true ) كود اطفاء الزيم setServerConfigSetting( "bullet_sync", "0", true ) كود مهم ويمنع الهاكات والغش setServerConfigSetting( "minclientversion_auto_update", "2", true ) كود يخليك تشوف سيريالات اللاعبين وانت مو ادمن aclRemoveRight(aclGet("Default"),"command.whowas") كود الشقلبة مهم setGlitchEnabled ( "quickstand", true ) كود التدبيل بالمسافة ويسرع الجري مهم setGlitchEnabled ( "fastsprint", true )
    1 point
  6. 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
  7. يب بالظبط زي ما قال الاخ كيلر اعتذر عن الرد المتاخر+ العفو بالتوفيق
    1 point
  8. يب حط اسم اللوحة fixWindowPosition( GUIEditor , 1366 , 768 ) الارقيومنت الاول اللوحة الارقيومنت الثاني والثالث مقاسات شاشتك
    1 point
  9. Provavelmente, na função de login do seu painel, não há o mais importante, que é a função logIn. Quando o jogador se registra no site, você deverá fazer uma call para o seu servidor, adicionando a conta no servidor e não apenas no MySQL. Caso ainda tenha dúvidas, poste o código apenas da parte onde é feito o login da conta.
    1 point
  10. العفو حبيبي بالتوفيق
    1 point
  11. ما يجيبها الا الكفو شكرا يا عسل
    1 point
  12. والله معارف افهملهالك ازاي لكن هي عباره عن فنكشن بيجبلك 16 قيمه في صورة matrix او اللي هيا مصفوفه يعني كذا ---------------------------- colmun1 || colmun2 | ---------------------------- a | b | c | d | ---------------------------- لنفرض ان اسم التيبل ده ali وانا عايز اجيب قيمة b طبعا المصفوفه مفهاش column 1 ولا column2 لا انته بتعوض عنهم بارقام مثلا column 1 رقمه 1 column2=2 فهيبقى كده ali[1][column2] والله مش فاكر lua الماتركس فيها ازاي لكن جرب هوا هيبقى يا اما الطريقة اللي فوق يا اما ali[column2][1] على العموم انته كده فهمت الماتركس هوا بيرجعلك ماتركس كده فيها 16 قيمه بتستخدمهم في ايه بتستخدمهم في انك تقدر تجيب المسافه ما بين اللاعب وما بين حاجه اللاعب مش ظاهراله على شاشته سواء كان \ وراه في ضهرو يعني او كان قدامه بس ورا مباني اتمنى اكون افدتك بالتوفيق
    1 point
  13. العفو والله مجود بس ملان من اللعبه وشغال freelancer +_+
    1 point
  14. شكرا علي التصحيح + نورت ام الموقع وين الغيبة ؟؟ ذذ
    1 point
  15. addEventHandler( "onClientGUIAccepted", support_mymessage, check,false )
    1 point
  16. Your mathematics has to be at a more advanced level. Have you ever considered to use stuff that already exist? https://community.multitheftauto.com/index.php?p=resources&amp;s=list&amp;name=lib&amp;descr=dx&amp;category= To answer your question: "How?" You could do it with: https://wiki.multitheftauto.com/wiki/DxCreateRenderTarget make a render target https://wiki.multitheftauto.com/wiki/DxSetRenderTarget start capture target Draw your stuff on the left-top conner of your screen. ? https://wiki.multitheftauto.com/wiki/DxSetRenderTarget end capture target https://wiki.multitheftauto.com/wiki/DxDrawImageSection or https://wiki.multitheftauto.com/wiki/DxDrawImage Draw the render target
    1 point
  17. Movi o tópico para a seção Ajudas relacionadas ao MTA:SA (Cliente/Servidor) visto que o assunto aqui só foi relacionado ao server e não programação/scripting. @UltimaterSCR Da próxima vez certifique-se do local correto, e, boa sorte com o servidor
    1 point
  18. Sim, precisa desligar pra poder atualizá-los. O ACL.xml dá pra fazer com ele online usando a função mencionada pelo nosso colega acima. Mas como vc já vai precisar desligar pra fazer as outras coisas, dai já mexa no ACL.xml também. Na host também existe um Console. Geralmente vc pode acessar pelo site da host, na área do cliente. Se não tiver, entre em contato com o suporte da sua host solicitando acesso ao Console do servidor. (aquela janela preta que parece um Prompt de Comando) Sim, eu que fiz. E deu extremo trabalho mesmo.
    1 point
  19. Depende do seu propósito. É sim possível atualizar a acl.xml usando a função aclReload. Já o mtaserver.conf, apenas alguns parâmetros são disponíveis para serem alterados. A função para fazer isso é setServerConfigSetting. Na página dessa função, aparece o que está disponível para ser alterado.
    1 point
  20. القسم الخطا @N3xT يرجي النقل لقسم البرمجة + لازم تشوف الويكي اولا عشان لا يحصل مشاكل setPlayerName Server-only function This function changes the specified player's name. Note that any change made to a players name with this function is not saved in their settings so the name change only lasts till they disconnect Minimal player name length is 1 character. Maximum player name length is 22 characters. Player names are case-insensitive. It is not possible to have two clients with same name but different character case. عشان كدا سوي التحققين دول len = utf8.len( guiGetText( yourEditBox ) ) if( len > 1 and len <= 22 ) then -- باقي كود الاخ احمد end
    1 point
  21. Vamos por partes. Nesse caso, por se tratar de apenas 40 contas. Dá pra editá-las manualmente acessando o banco de dados internal.db usando o programa gratuito DB Browser For SQLite e setando a grana das contas uma por uma em 0. Ou se preferir fazer via código, vc vai precisar obter todas elas com getAccounts e verificar todas elas através de um loop for que vai setar a data da grana em 0 em cada uma das contas. OU Você pode simplesmente deletar todas as contas, em vez de ir setando grana 0, delete cada conta com removeAccount. Mas eu particularmente acho mais fácil acessar o banco de dados pra fazer isso do que programar um script temporário só pra fazer isso. ------------------2 parte-------------------- Já vi um mod de concessionária que funcionava assim também, com banco de dados MySQL criado pelo próprio resource. Mas eu sempre tive problemas pois toda vez que o servidor era desligado, todos os carros eram perdidos. Por isso acabei recriando outra concessionária que salva tudo no banco de dados nativo do MTA em SQLite no registry.db e lá ele não perde os dados. Verifique se o seu mod funciona corretamente, caso contrário os jogadores perderão os veículos após quedas do servidor. Que eu saiba, mods de painel de login geralmente não criam bancos de dados (existem raras exceções). Eles geralmente salvam no banco de dados nativo do MTA por meio da função addAccount. Elas ficam salvas no internal.db, as senhas são criptografadas, então nem mesmo o dono do servidor consegue saber. Ele só vai ver um código serial no lugar da senha. Nunca testei se deletar o banco de dados inteiro causa alguma falha no servidor, sempre que eu preciso fazer alguma alteração, acesso ele por meio do programa que citei anteriormente. E quando preciso deletar uma conta específica, faço por meio de comando no painel Admin. (parecendo um Hacker) Não tenho certeza, mas eu ACHO que o servidor recria o banco de dados ao iniciar, caso ele não exista. Não esqueça de verificar no arquivo ACL.xml (abra com notepad++) se alguma das contas está lá. Se tiver, delete a linha que ela aparece. Contas que não existem podem dar erros nas ACL.
    1 point
  22. A simple mask shader should help you. Just create an arrow texture and use it along with the mask shader. An example of this shader you can find at Shader_examples
    1 point
  23. You're the co-owner of a server (R9 Freeroam) that has been banned from MTA because of its leaders and admins constantly engaging in illegal activity (DDoS'ing their own players and other servers). After this ban, you guys decided to start evading it by switching hosts. This, together with your known involvement in plotting attacks (both in person to your fellow server admins/(co)owners, and on the R9/Morgue Freeroam discord), has resulted in us also banning the server leadership and high admins that we consider taking part in all these illegal acts and evading the actions taken, from MTA. As co-owner of this malicious server, you personally received a permaban, and not everyone involved did. Please refer to the extended explanation given to the owner (ScreaM) of R9 freeroam: The owner had been banned for DDoS a few years ago, and after evading it for a while he found his other PC was still banned from the old incident. He appealed, and got unbanned; it didn't take a week for him to DDoS yet another player. After this, our investigation turned up links between your server and a clan that focusses merely on DDoS activity rather than playing. It was no surprise that more people, similar to the DDoS'ing owner, were coming together to call R9 Freeroam their home. Furthermore, we confirmed the spirit that all of the banned server leadership had (and high admins.. not all admins/staff), which was a drive to discuss and execute DDoS attacks. In the investigation that followed, you weren't compliant and mostly resorted to personal attacks on me, but you gotta realize I got a thick skin and will go far if we need to protect others on MTA against a certain group of individuals. Besides the original investigation, I have also witnessed all co-owners and admins that are currently banned, discuss new attacks to launch. You quickly wiped the channel and banned me from your discord when you found out. All bans given are a result of either identification from openly discussing attacks/malicious actions while on the MTA server itself, or solid links between the Discord server tied to R9/Morgue Freeroam in which said individuals were listed as server admins/owners and discussing attacks, furthermore confirmed in identity and serial by linked activity on the MTA server. Please don't forget that a reality in which a player needs to use a VPN in order to safely join a certain server (and will be at risk when they piss someone off through gameplay), is one that we will not accept. You guys even went as far as to create "databases" full of aggregated player serial/IP for easy lookup to DDoS them if they frustrated you while on another server. *Note: this will be a template reply for anyone that will try to appeal a ban like this, we are unfortunately not open for arguing, as I have spent a few hours doing that fruitlessly during my investigation. Our decisions are final.
    1 point
  24. We're still going strong! The Development Update for January 2019 has just been released, going over how December's Alpha testing went, web development progress and what we have planned for February. Tell us what you think on Discord! Read it here: https://forums.emeraldgaming.net/topic/332-development-update-6-january/
    1 point
  25. Disable "Driver Verifier": https://www.sevenforums.com/tutorials/101379-driver-verifier-enable-disable.html#option2
    1 point
×
×
  • Create New...