Leaderboard
Popular Content
Showing content with the highest reputation on 18/10/18 in all areas
-
? السلام عليكم من جديد ? استعراض تصميم موقع لسيرفر فورتنايت التصميم في مرحلة البداية تم تصميم الصفحة الرئيسية فقط ? ولسه اعادة التصميم بلغات مختلفه HTML5, CSS3, JavaScript, jQuery تم استخدام PHP, MYSQL تقنيات قادمة صور للمعاينة لو مش هتقدر تفتح الفيديو + صفحة الدخول لم يتم استعراضها في الفيديو :فيديو الاستعراض بحاجة لنصائح لتطوير التصميم وانتقادات3 points
-
2 points
-
Bom, já que vc quer um script, boa sorte em achar. Eu já joguei em servidores que tinham esse sistema. Era bem irritante de jogar assim, mas é você quem sabe. Mas se você quer criar um, sugiro que comece por: setVehicleDamageProof (faz o veículo ficar blindado, impedindo que ele exploda) setElementHealth (setando a vida do veículo em 250, apagará o fogo da explosão, saindo no lugar apenas fumaça preta) getElementHealth (você vai precisar verificar se o veículo tem vida menor que 250 para detectar que ele "quebrou") setVehicleEngineState (desliga o motor do veículo) onVehicleDamage (evento que é ativado toda vez que um veículo recebe dano, use isso para ativar o sistema no momento correto) onVehicleEnter (evento que é ativado toda vez que alguém entra em um veículo, use isso para desativar o motor novamente quando o player entrar no veículo quebrado) Boa sorte.2 points
-
The SCM Interpreter (New Discord server: https://discord.gg/GBPZ9GvVdw) Filled with excitement I am here to announce a project that I have been working on together with @GTX named Sphene. In this post I will be talking about SCM, what Sphene has to do with it, our current development and what we plan for the future. Before I tell you what Sphene is I first need to give you some background on what SCM is as this plays an important factor in this project. I will not keep you waiting so let's get starting! What is SCM? Many of you may have heard, seen or even tampered with a well known file "main.scm" in your GTA: San Andreas installation. This file (notice the '.scm' extension) contains all the mission scripts that are available in singleplayer. Essentially the whole story-line and its side-missions are stored in here. The reality for side-missions is a bit more complicated but for the sake of this explanation we'll keep that aside as to keep it simple. SCM is the name of the language this file has been written in by Rockstar Games. Since it was made by them and the file is compiled (converted into a format that can be easily read by the game but not easily by a human) we unfortunately do not know what the original code looked like. Modders all across the world use a tool named SannyBuilder to write SCM themselves but this is very unlikely to look anywhere near the original format created by Rockstar Games. But, this does not matter much to us as it still compiles into the same format readable by the game. Essentially a compiled SCM file contains a big variety of "instructions" which tell the game what to do. For example there is an instruction that makes the game spawn a car on specific coordinates, tell a ped to drive or that tells the game to jump to a different location in the script and execute the instructions on this new position. For those wanting more in-depth information I highly recommend to read the SCM section in the "GTA SA modding book" by fastman92 which can be found here. So, what does Sphene have to do with this? Sphene is a SCM Interpreter, as in, it can run files created in the SCM language and which are compiled, including the "main.scm" file from the singleplayer game. This means that we can recreate all of singleplayer within Multi Theft Auto and further extend it with a big variety of features and improvements. Sounds great, doesn't it? It sounds easier than it is in reality however. The reality is that, as explained in the SCM section, these scripts tell the game what steps to perform, but the game still has to perform them. What does this mean? Well, it means we have to implement each instruction ourselves and make sure we stick as close to the actual game while doing so. Some instructions are fairly easy and quick to implement while others are a lot more complicated. Why? Because on many instructions the game doesn't perform just a single action. Let us take the instruction (or as we commonly refer to an instruction: opcode) to make a car drive as an example: 0704: car $car_pointer drive_to 1250 -75.5 13.25 Taken from 'SASCM.ini' included in SannyBuilder 3. The identifier for this instruction is '0704', through this Sphene knows this is the car_drive_to instruction and how many parameters (information given together with this instruction, in this case what car we want to get driving and to which location) to expect. Seems easy enough, except that there is no simple MTA function to get a car driving to a specific location. No, instead we have to write our own logic to make this possible. This can become very complex very quickly, especially as the exact functionality of many instructions isn't even known. Reverse engineering Because of this complexity and the need to make Sphene work as close to the actual game as possible we have started to reverse engineer GTA SA. Reverse engineering means that we try to make sense of the compiled code of the actual game and try to turn it into human readable code. This is easier said than done though, it's a lot more complex than reverse engineering a SCM file is. Luckily the big modding community (including MTA devs/contributors) have managed to reverse engineer big chunks of the game already, we just have to fill in the gaps that hasn't been reverse engineered yet but that contains chunks of code we require to make Sphene as accurate as possible. Contributing to Multi Theft Auto Using this knowledge and to make development easier for us (and simultaneously contributing to the MTA community as a whole) we have started contributing to the Multi Theft Auto codebase. There already is a work in progress pull request (a request for code to be added to MTA) to make it possible for players to drive client-side vehicles, damage them and other improvements. This is not only useful for us but many other servers as well. Okay, what is the purpose then? Why don't we just play singleplayer? Good question. Sphene will introduce many new options to make the game behave differently. This can be a setting to have much smarter ped AI's (making the game more difficult) to other settings to enhance the gameplay or raise its difficulty. We're not just interpreting the SCM but can actively improve it. There surely must be more to it? Oh, you bet. Did you ever want to play the storyline together with a friend (or multiple friends)? We are introducing Co-Op which allows exactly this. Naturally this version of the game will contain small changes to accommodate for the existence of multiple players and will be a lot harder. Although extra settings can raise that difficulty even more (1 HP limit anyone?). (Click to enlarge) This is a concept design of the Co-Op lobby designed by AnarchY. Anything else? Did I forget to mention that we are also planning support for GTA III and GTA Vice City (data files will have to be provided by yourself in order to load these in, to make sure you do own these games legitimately) into Sphene? I did? Well, I am happy to announce that we have already start adding basic support for these games and are hoping to make them available not long after we complete the support for GTA: San Andreas. The difficulty of implementing support for these games is of course greater as we have to import their full maps, recreate their controls, etc... That's nice, but how is the current development going? I am glad that you are asking. Sphene started out as a personal experiment but has quickly grown into a big and stable project. We started with implementing support for basic instructions and basic game logic that allowed us to fully get a tiny, custom, SCM file with a small mission working. This mission consisted of the following steps: Step in the nearly exploding car marked by the arrow. Drive the car to a checkpoint without further damaging it. Get out of the car and kill the NPC with the arrow above its head. Mission passed Very simple, but great for initially testing the interpreter. Screenshots were taken from an internal video at the time of said development. A small debug panel (improved in later stages) is seen on the right showing the instructions being executed by the interpreter. (Click to enlarge) This worked great, so now it was time to start implementing the instructions for the actual game. This proved to be challenging very quickly due to the high amount of instructions the game calls before even visually showing anything to you. But, eventually we did implement the instructions and proper text drawing support for the well known start of the game. That was a great start. Although it didn't go as well as planned as this text kept disappearing and re-appearing in a loop. Great. Now I had to figure out why this was the case. In order words, I had to start reverse engineering all the instructions Sphene was going through and manually going through the compiled SCM file instruction by instruction to make sure Sphene was interpreting everything correctly. Eventually I managed to find the issue and resolved it. A larger version of the debug panel was then being developed (for more in-depth information) and later on improved multiple times. It didn't take too long before everything was implemented to allow us to get to the famous "Grove Street -Home." sequence. Complete with audio! (Click to enlarge) We then proceeded to improve performance further and mostly do bug fixing. Currently the interpreter can handle instructions up to the sequence in the first mission where you need to get on a bike after a Ballas drive-by occurs. Although due to the amount and type of instructions implemented we did already make it possible for Sphene to run the Kickstart and Bloodring (partially) minigames as well. This truly shows that when we implement more and more instructions a lot more of the game will automatically start becoming available. (Click to enlarge) Future development We are of course still implementing a lot of instructions, improving our overall code (fixing bugs and improving performance), adding more game logic, etc. Not only that, we actually have attempted (and will continue working on it in the future) to implement cutscenes. This did not go well at first as it caused a lot of crashes, misaligned objects, etc. But we got it reasonably working, aside from the NPC's that are not animated whatsoever and float weirdly in the air. We hope to get cutscenes up and running soon. The lobby (for Co-Op) will also be implemented soon and similarly we will start develop on the Co-Op portion of Sphene. After we launch a first version (with GTA: San Andreas support) we will continue development on the GTA: Vice City and GTA III portions. We also plan (and slowly started) to develop a decompiler and compiler for SCM straight into Sphene and build our own language around it that compiles to SCM. This will allow for user created storyline's, missions, etc that also work in singleplayer if you so desire. The reason we'll be building our own language rather than using the SannyBuilder syntax is simply the fact that there is no standard SCM coding syntax out there and the SannyBuilder one is often too complex and not intuitive for most people. We want our implementation of it to be closer to what people expect from modern programming languages. (Click to enlarge) That's it for this post. Please leave any questions and/or remarks in the comments! Sincerely, Megadreams1 point
-
Really appreciate your help, thanks. Keep up the good work mate, I loved this resource.1 point
-
1 point
-
: ) بــتــؤفيــق يـآ بطـل وشُكـرآً ..# مـُقدمــآً .!!1 point
-
1 point
-
or Download وما تحتها كان برأيي غير جميل بس الي فوق كان جميل جداً عالعموم بالتوفيق لك1 point
-
1 point
-
hello their watch video and here is it download link :https://github.com/Master-MTA/M.M if u like it : https://paypal.me/MasterMTA if there is any bugs tell me pls special thx for @thisdp in this lib i used his update system enjoy1 point
-
1 point
-
Olá Não é possível. A não ser que você execute um vídeo da cutscene na tela do player a partir de um navegador. Você pode usar a função útil playVideo que executa um vídeo do youtube na tela do jogador.1 point
-
1 point
-
1 point
-
Are you planning on doing the VC / LC portions under the LC / VC engine(s) or in SA? If the secound one I can contribute the maps for both of them; I've got 100% ports of the main worlds (With perfect performance) and I can easily port over the interiors (As well as vehicles and stuff); heck I even have alot of their vehicles updated to SA quality to suit the environment better.1 point
-
1 point
-
1 point
-
1 point
-
<3 تسلم حبيبي عقبال اوصل لـ العشق ================================================== > @MoDeR2014 @Default#^ @Abdul KariM @Mr.SAUD @KillerX @بويكا @LoOs ولي اعرفهم بالاسماء : جنتول , خالدالعمري , جوست بوي , كنق عبادي , الصراحة واجد الي نسيته يعذرني العشق : @سعد الغامدي1 point
-
Yes, I also believe that. Sorry, what do you mean by that? With the export functions you get the middle position of the defined vehicle's bed. So from that point on, you can adjust the position of the object by adding or extracting values to/from the position you got.1 point
-
بسم الله ببدا انا عن اشياء بالماضي > من المودات الي سويتها بماضي وما نشرتها او ركبتها او شي ===================================== قيم مود بسيط ع ايامه كان يوه رهيب نظام العضوية الذهبية @JN[T]OoOoL ذكريات ي جنتول ها ههههههههه هذي بعض اشياء لقيت لها صور عندي بـ غوغل ============================================== اما من مواقع فتحها او استضافات كانت من افضل تجارب هذي اشياء كانت فعلا احسن تجربه بنسبه لي ================================== اما الاشخاص الي فعلا لهم وحشه فيس بوك > تطوير > ابو شنب > حسن كي سي اي > زاحف >الوحش >لوس > كلاسيك > سعود > رصد > ضاوي > هيمو وكثير والله بقلبي للحين ما انساهم لهم نكهة بلعبه اما الاشخاص للحين موجودين و اتواصل معهم , ميدوح , كركر او عبدالكريم , بويكا , خالد العمري , سترونق , بروقيمر ================================ من سيرفرات للحين ع ايامي موجوده ومستمره > طارهـ , وزارهـ التدشير , وناسة تايم , كنق الطارهـ , جراند العرب هذي تقريبا السيرفرات الي للحين ماشاء الله عليها مستمره بلعبه موضوع عباره عن تطرح ذكريات لك لاكن وشو ذكرياتك بزبط < # >1 point
-
تمام كويس كدة فهمتك اول حاجة مثلا دا ايديت اهو والبتن والقريد مع الكولمن editBox = guiCreateEdit( 0.3, 0.1, 0.4, 0.1, "", true ) button = guiCreateButton( 0.7, 0.1, 0.2, 0.1, "OK", true ) Grid = guiCreateGridList(0.80, 0.40, 0.15, 0.35, true) guiGridListAddColumn(Grid, "Name", 0.5) guiGridListAddColumn(Grid, "Text", 0.8) guiSetVisible(editBox, false) guiSetVisible(button, false) guiSetVisible(grid, false) -- خلينا كل شئ مش ظاهر وهنخلي دلوقتي زر عشان يفتحهم -- ثاني حاجة نروح للسيرفر سريع نعمل الجدول -- #Server -- executeSQLQuery ( 'CREATE TABLE IF NOT EXISTS aSoking ( Name,Text )' ) -- asoking عملنا جدول اذا ما كان موجود باسم -- -- بالنسبة للكلام اللي ما بين الاقواس دا مثل الرو اللي بيبقي موجود في القريد ليست هفهمك هنحتاجه في ايه دلوقتي -- بعدين عاوزين لما نضغط علي البتن ياخد الكلام ويعمل تريقر بيه عشان يسوي انسرت addEventHandler('onClientGUIClick',root, function() if (source == button) then local TheElementText = guiGetText(editBox) triggerServerEvent('InsertTheMessage',localPlayer,TheElementText) end end ) -- استخدمنا ايفينت الجوي كليك وعملنا تحقق اذا كان البتن واخذنا الكلام من الايديت وعملنا تريقر للسيرفر ايفنت -- -- InsertTheMessage دلوقتي هنروح نحط الايفنت في السيرفر اللي هو -- -- عشان نكون عرفنا التكست ونقدر نستخدمه TheElementText وهنحط في الفنكشن ما بين القوسين كلمة -- ودلوقتي نعمل الايفينت -- server side -- addEvent('InsertTheMessage',true) addEventHandler('InsertTheMessage',root, function(TheElementText) -- الايلمنت تيكست هو الكلام اللي جبناه من الايديت وعملنا بيه تريقر فلازم نحطه هنا -- executeSQLQuery('INSERT INTO aSoking (Name, Text) VALUES(?, ?)', getPlayerName(source), TheElementText ) -- عملنا انسرت للكلام واسم اللاعب في الداتا بتاعتنا -- outputChatBox('!! ['..Name..'] : مع الاسم ['..Text..'] : تم ادخال الكلام', source, 0,255,0) -- عشان نتاكد ان كل شئ تمام -- end ) طيب مثلا دلوقتي عشان اجيب كل الداتا في الجريد هنعمل زر عشان نفتح الجريد والبتن والايديت بزر -- Client Side -- bindKey('F2,'down', function() guiSetVisible(button, not guiGetVisible(button)) guiSetVisible(editBox, not guiGetVisible(editBox)) guiSetVisible(grid, not guiGetVisible(grid)) showCursor(guiGetVisible(grid)) triggerServerEvent('GetTheData',localPlayer) end ) -- كدة كل شئ هيفتح ويقفل تمام + نجيب الداتا دلوقتي نروح نعمل تريقر بالسيرفر -- نعمل التريقر -- Server Side -- addEvent('GetTheData',true) addEventHandler('GetTheData',root, function() local Data = executeSQLQuery( ' SELECT * FROM aSoking ' ) if ( type (Data) == "table" and #Data == 0 or not Data ) then triggerClientEvent( source, 'NoData', source) end -- لو مكنش فيه داتا يروح يعمل كلير للقريد ليست -- triggerClientEvent( source, 'PutDataInGridList', source, Data) -- نعمل تريقر بالداتا وهيحطها دلوقتي في الجريد بس نروح نعمل الايفينت -- end end ) PutDataInGridList والثاني حق noData دلوقتي نعمل ايفينتين الاول حق -- Client Side -- addEvent('NoData',true) addEventHandler('NoData',root, function() guiGridListClear(grid) -- يصفي القريد end) addEvent('PutDataInGridList',true) addEventHandler('PutDataInGridList',root, function(SQL) -- اللي في السيرفر سايد بس عادي لو غيرت اسمها Data هي نفس ال Sql -- guiGridListClear(grid) -- تصفية القريد -- for i, v in ipairs (SQL) do -- نجيب كل اللي في الداتا -- local Row = guiGridListAddRow(grid) -- عشان نضيف التكست في القريد -- local TheName = guiGridListSetItemText(grid, Row, 1, SQL[i].Name, false, false) -- حطينا كل اسماء اللاعبين اللي في الداتا في اول رو -- local TheText = guiGridListSetItemText(grid, Row, 2, SQL[i].Text, false, false) -- حطينا كل التكست اللي في الداتا الي الرو -- -- ملحوظة بعد كلمة SQL[i]. لازم يكون واما اسم الرو الاول في الداتا واللي هو Name -- او الرو الثاني اللي هو Text -- end end) وكدة خلصت الشرح يحب ارجو انك تكون فهمت وعشان متكنش دماغك تشوشت دي اكواد الكلينت كلها اللي استخدمناها -- ملفات الكلينت كلها -- editBox = guiCreateEdit( 0.3, 0.1, 0.4, 0.1, "", true ) button = guiCreateButton( 0.7, 0.1, 0.2, 0.1, "OK", true ) Grid = guiCreateGridList(0.80, 0.40, 0.15, 0.35, true) guiGridListAddColumn(Grid, "Name", 0.5) guiGridListAddColumn(Grid, "Text", 0.8) guiSetVisible(editBox, false) guiSetVisible(button, false) guiSetVisible(grid, false) -- خلينا كل شئ مش ظاهر وهنخلي دلوقتي زر عشان يفتحهم -- addEventHandler('onClientGUIClick',root, function() if (source == button) then local TheElementText = guiGetText(editBox) triggerServerEvent('InsertTheMessage',localPlayer,TheElementText) end end ) -- استخدمنا ايفينت الجوي كليك وعملنا تحقق اذا كان البتن واخذنا الكلام من الايديت وعملنا تريقر للسيرفر ايفنت -- -- InsertTheMessage دلوقتي هنروح نحط الايفنت في السيرفر اللي هو -- -- عشان نكون عرفنا التكست ونقدر نستخدمه TheElementText وهنحط في الفنكشن ما بين القوسين كلمة -- bindKey('F2,'down', function() guiSetVisible(button, not guiGetVisible(button)) guiSetVisible(editBox, not guiGetVisible(editBox)) guiSetVisible(grid, not guiGetVisible(grid)) showCursor(guiGetVisible(grid)) triggerServerEvent('GetTheData',localPlayer) end ) -- كدة كل شئ هيفتح ويقفل تمام + نجيب الداتا دلوقتي نروح نعمل تريقر بالسيرفر -- addEvent('NoData',true) addEventHandler('NoData',root, function() guiGridListClear(grid) -- يصفي القريد end) addEvent('PutDataInGridList',true) addEventHandler('PutDataInGridList',root, function(SQL) -- اللي في السيرفر سايد بس عادي لو غيرت اسمها Data هي نفس ال Sql -- guiGridListClear(grid) -- تصفية القريد -- for i, v in ipairs (SQL) do -- نجيب كل اللي في الداتا -- local Row = guiGridListAddRow(grid) -- عشان نضيف التكست في القريد -- local TheName = guiGridListSetItemText(grid, Row, 1, SQL[i].Name, false, false) -- حطينا كل اسماء اللاعبين اللي في الداتا في اول رو -- local TheText = guiGridListSetItemText(grid, Row, 2, SQL[i].Text, false, false) -- حطينا كل التكست اللي في الداتا الي الرو -- -- ملحوظة بعد كلمة SQL[i]. لازم يكون واما اسم الرو الاول في الداتا واللي هو Name -- او الرو الثاني اللي هو Text -- end end) ملفات السيرفر كلها -- ملفات السيرفر كلها -- executeSQLQuery ( 'CREATE TABLE IF NOT EXISTS aSoking ( Name,Text )' ) -- asoking عملنا جدول اذا ما كان موجود باسم -- -- بالنسبة للكلام اللي ما بين الاقواس دا مثل الرو اللي بيبقي موجود في القريد ليست هفهمك هنحتاجه في ايه دلوقتي -- addEvent('InsertTheMessage',true) addEventHandler('InsertTheMessage',root, function(TheElementText) -- الايلمنت تيكست هو الكلام اللي جبناه من الايديت وعملنا بيه تريقر فلازم نحطه هنا -- executeSQLQuery('INSERT INTO aSoking (Name, Text) VALUES(?, ?)', getPlayerName(source), TheElementText ) -- عملنا انسرت للكلام واسم اللاعب في الداتا بتاعتنا -- outputChatBox('!! ['..Name..'] : مع الاسم ['..Text..'] : تم ادخال الكلام', source, 0,255,0) -- عشان نتاكد ان كل شئ تمام -- end ) addEvent('GetTheData',true) addEventHandler('GetTheData',root, function() local Data = executeSQLQuery( ' SELECT * FROM aSoking ' ) if ( type (Data) == "table" and #Data == 0 or not Data ) then triggerClientEvent( source, 'NoData', source) end -- لو مكنش فيه داتا يروح يعمل كلير للقريد ليست -- triggerClientEvent( source, 'PutDataInGridList', source, Data) -- نعمل تريقر بالداتا وهيحطها دلوقتي في الجريد بس نروح نعمل الايفينت -- end end ) موفق ان شاء الله1 point
-
1 point
-
✦انا شايف ان السيرفر كفو .. بس ناقص الوححات تصميم حلو .. تقبل مروري✦1 point
-
1 point
-
✦ وعليكم السلام ✦ ✦ بنسبة لي انا مافي احد براسي عشان اكرهو او لا ✦ ✦ لان هي بنهاية لعبة ✦ ✦ اذا انت شخص كفووو ✦ ✦ اتمني لك ولسيرفرك النجاح في كل الاوقات ✦1 point
-
1 point
-
1 point
-
1 point
-
addEventHandler ( "onClientGUIClick" , root, function ( ) if ( source == Button ) then -- اسم الزر الي يسحب الفلوس local Money_ = getPlayerMoney() if ( Money_ >= 200000 ) then-- الرقم الي تبية يتسحب takePlayerMoney(200000)-- الرقم الي تبية يتسحب outputChatBox ( "لقد تمت عملية الشراء !", 0, 255, 255 ) else outputChatBox ( "لاتمتلك المال الكافي" , 255 , 0 , 0 ) end end end );1 point
-
- place random object from category, example random tree, random rock, random bush etc. with option random rotation - move multiple objects at once - support for water, colzones, occolusion zones, custom models - save in various methods, as .map, .lua, .sql, compress file ( example: dont set interior=0 if by default interior = 0, dont set posX = 123.0000005 ) - simple permission system, example provilages to: edit, create, destroy, save, load, map settings - upgrade remove world object, now, some object are impossible to remove ( if you click but nothing you clicked, then script find nearest 10 world objects and show you in list ) - import map to current map which able to marge multiple maps into one, and export part of map into separated files ( example you can export all object which in colshape )1 point
-
0 points