Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 03/08/19 in all areas

  1. Slipe is an open source framework that enables anyone to write scripts for MTA:San Andreas in C# instead of Lua, wrapping all MTA elements and classes and including some .NET Core namespaces. It is based on CSharp.Lua by Yang Huan. Slipe features: Runs on Windows and Linux Built in continuous deployment support with (GitHub) webhooks Object oriented wrappers for all MTA elements Async/await for MTA functions that use callbacks C# style Http requests, sockets and XML methods. Use Visual Studio and its Intellisense Type safety You can find more information about the project on https://prod.mta-slipe.com. Our Discord Our Github The project is still in Alpha, and since it is open source anyone is welcome to contribute
    1 point
  2. السلام عليكم ورحمة الله تعالى وبركته اليوم رجعت لكم بموضوع جديد اول شيئ : ولان اطرح معكم وافيدكم بشيئ مميز واخذ مني وقت حيث قمت بجمع جميع الوظائف المفيدة التي تم طرحها في المنتدى او غير المنتدى في ملف واحد يجمعهم كلهم المهم مأطول عليكم اول شيء : أعتذر من @Master_MTA @#,xiRocKyz @killerProject @#x1AhMeD-09 @N3xT @KillerX @3NAD @PaiN^ @Tete omar @Booo @|Mr|-Talal07-| @WASSIm. @Default#^ @jafar @</Mr.Tn6eL> @#CroSs @iMr.WiFi..! @Abdul KariM @!#NssoR_) @Blaawee @iPrestege @#DRAGON!FIRE @[email protected]~#@LoOs@TAPL@Me[Z]oO@^iiEcoo'x_)@#[email protected]@#BrosS @ وأيضا كل من قام بدعم المحتوى العربي بالنشر لان نسيت احط حقوقهم المهم الي يبي احط حقوقه في أي وظيفة يكلمني او معه فكشن يبني اضيفه للمكتبة يروح على الرابط في GITHUB = https://github.com/MrPoper/Useful-World-Lua/projects/1 يضيف فكنشن حقه و يتبع و الطريقة الموجودة اسفل هذا الكلام و يغير Builder Name = your name https://pages.github.com/ = احد روابط مواقع التواصل الاجتماعي (المنتدى ’ فيس ’ وتس ’ ديسكور ...) -__**Function Info :**__ * info * -__**Function SYNTAX:**__ > Code HERE < - __**Function SOURCE CODE:**__ > Code HERE < - __**Function EXAMPLE :**__ > Code HERE < - __**Function TYPE :**__ - [ ] HELP - [ ] CONVERT - [ ] ELEMENT This Function BUILD By [Builder Name](https://pages.github.com/). المهم هاذا رابط تحميل كل الوظائف المفيدة: USEFUL FUCTION : 200+ LINES : 6500+ RECORD TIME : [12 November 2012] - [26 JUNE 2019] https://github.com/MrPoper/Useful-World-Lua/projects/1 ?لا تنسى الصلاة على سيدنا محمد صلى الله عليه وسلم
    1 point
  3. 1 point
  4. Então só pode ser o seu código bugado, depure o cliente e veja o que está errado.
    1 point
  5. Teste esse: client-side: function Calcular() setTimer(function() triggerServerEvent("PsT:Banir", localPlayer) end, 2000, 1) end addCommandHandler ("errar", Calcular) -- Use o comando /errar server-side: addEvent("PsT:Banir", true) addEventHandler("PsT:Banir", root, function() banPlayer (source, false, false, true, nil, "[WhiteList] Você foi banido por 1 hora!", 10) -- Ban por 10 segundos só pra teste. end)
    1 point
  6. تم الافتتاح مرة اخري , حياكم الله @.TiGGeR @Kareem Amer mtasa://145.239.212.62:22003
    1 point
  7. Me pude guiar perfectamente de tu ejemplo y me ha funcionado, estoy muy agradecido!
    1 point
  8. @majqq A 1.5sec delay between chat messages, is not very user friendly. It better to accept messages with a burst rate. Because sometimes you wrote something, but it is not complete or incorrect. There are 3 things you can do to make it more user friendly. (And spammers user unfriendly) 1. Each message has a message rate value of 1. When the rate value becomes greater than 3. Disable the input. Each message represents 500ms. So in total you have 1500ms of burst power. So you can send 3 messages after each other without delay. The messages rate value will decrease with 1, every 500ms. (So +1 message every 500ms) Before you have your 3 burst messages back, it will take 1.5sec. 2. After writing your first message, you wait 400ms. Every message that is typed within that 400ms is included in your first trigger. Then the 400ms timer is over and you push all the messages that have been written within that timelimit. (which is just another buffer) 3 Warn people when spamming. (warn the user 1 time, but still send the message) After the warning and still spamming > Punish people when spamming. Mute for X amount of time. Note: Do not disable the input, because if somebody is using macro's/bingkeys or something like that, you need to punish them extra hard. Every time they spam when muted. Multiply the mute time by 1.2. (of the previous +20% mute time, which becomes even more punishing over time) 60 sec > 72 sec > 86,4 sec > 103,68 sec > 124,42 sec > 149,30 sec On the server You also also need a buffer. This is just a timer that waits for an amount of ms when there is input. - New message - Start buffer timer. (0.5s) - New message - New message - New message etc. - Buffer timer is over. > Send messages to the other clients.
    1 point
  9. getPedControlState() Client-only
    1 point
  10. 1 point
  11. إذا انت تبي ترسل الرساله لكل اللاعبين ليش حاطها بالكلينت SERVER : addEventHandler("onPlayerQuit", root, function (typ,reason,element) if (typ == "Kicked") then local this = source; outputChatBox(getPlayerName(this):gsub("#%x%x%x%x%x%x","").." has left the game ["..typ.." by "..getPlayerName(element):gsub("#%x%x%x%x%x%x","").."]",root); end end )
    1 point
  12. resourceRoot هي اختصار لكلمة root كلمة ولا يوجد فرق بينهم .. والسؤال الثاني .. وضح اككثر
    1 point
  13. Te he hecho un código de ejemplo para que te puedas guiar, únicamente hice la parte en la que el jugador espera a ser revivido para que te encargues del resto y lo puedas hacer a tu gusto. Intenta hacerla y si te surgen dudas, comenta de nuevo en este post. Salu2 ? local dyingState = nil local delayTime = 10000 -- Aquí se especifica en milisegundos cuánto tiempo tendrá de margen el jugador para ser revivido. addEventHandler( "onClientPlayerDamage", getRootElement( ), -- Con este evento comprobamos cuándo el jugador recibe daño. function( ) if dyingState then -- Comprobar si el jugador está esperando a ser revivido, por defecto el valor de la variable es nulo ( no está esperando a ser revivido ). cancelEvent( ) -- Evitamos que se reciva daño mientra espera a ser revivido. return -- Hacemos un return para que no ejecute el resto del código dentro de la función. end if getElementHealth( localPlayer ) < 5 and cancelEvent( ) then -- Comprobamos si la vida del jugador es menor a 5, y evitamos que reciba más daño para que este no llegue a morir del todo. dyingState = getTickCount( ) -- Asignamos a la variable el tiempo que lleva activo el server, será útil para comparar cuánto tiempo ha pasado desde que cayó al suelo. setElementHealth( localPlayer, 5 ) -- Dejamos al jugador con algo de vida para que no muera. setPedAnimation( localPlayer, "finale", "fin_land_die", delayTime, false ) -- Asignamos una animación para que el personaje caiga y se mantenga en el suelo. end end ) addEventHandler( "onClientRender", getRootElement( ), function( ) if dyingState and ( getTickCount( ) - dyingState ) > delayTime then -- Comprobamos si el jugador espera a ser revivido y la resta entre el tiempo actual y el tiempo que asignamos cuando cayó al suelo es superior a 'delayTime'. dyingState = nil -- El jugador deja de estar a la espera de ser revivido. setElementHealth( localPlayer, 0 ) -- El jugador muere. end end )
    1 point
  14. السلام عليكم ورحمة الله و بركاته طبعاً معظم الناس مش فكراني والباقي مش عارفني انا كازانوفا مصمم اوبجت dff,txd,col اي model تفكر فيه بصممه و صاحب سيرفر Gta Egypt Team الاصلي القديم كنت انا و عصفورة و تايجر و اعتزلت و رجعت لهدف معين يعني الموفجأة هي :- اي اوبجكت محتاجة لسيرفرك اكتبه في كومنت و هصممهولك و من غير اي مقابل طبعا في ناس هتقول نصاب و كذاب و الكلام دا بس الناس القديمة الهنا و اصحاب السيرفرات القديمة عرفني كويس
    1 point
  15. Here's a little teaser of a work in progress first party module for Slipe, called SlipeWPF. For those of you unaware of WPF, it's a GUI framework which allows you to create windows desktop applications. We're also bringing this to MTA. This window, created in Visual studio, will turn into: And all it requires to render it in MTA is this little bit of code: MainWindow window = new MainWindow(); Window guiWindow = CeguiWpfRenderer.Render(window);
    1 point
×
×
  • Create New...