Leaderboard
Popular Content
Showing content with the highest reputation on 30/09/16 in all areas
-
السلام عليكم كيفكم يا شباب ان شاء الله بخير هذا الفيديو رح يشرح كل شي التحميل من هنا1 point
-
اشوف لو تسويها بتيبل افضل منها يقدر يجيب الاعبين ومنها يقدر يجيب العدد1 point
-
مفروض المتغير تحطه داخل الفنكشن + تسوي ارقمنت يحدد العالم اللي فيه اللاعبين function getPlayersInDimension(dim) local g_PlayersInDim = 0 for k,v in ipairs(getElementsByType("player")) do if getElementDimension(v) == dim then g_PlayersInDim = g_PlayersInDim + 1 end end return g_PlayersInDim end1 point
-
1 point
-
You can use same IN statement for update same way as you use it for select. UPDATE `race_stats` SET `Info`=2, `Info5`='SomeString' WHERE `playerID` IN(??) Since these topic is about tips, my tip is to always escape table and field names in mysql to avoid errors (see how i use tilde and single quotes in that code). Also escape any kind of user input.1 point
-
1 point
-
Procedures or stored procedures (sprocs) are basically SQL functions (methods) and they work the same way as a LUA function does. They have inputs, outputs, if statements and loops and a whole lot of other things. For multiple WHERE values, you can use the SQL IN operator. For your other question, have a look at this topic: update-multiple-columns-for-multiple-rows-in-one-query-of-sql1 point
-
1 point
-
1 point
-
1 point
-
قلنا اننا مبرمجين ولكن مب سحره عشان نعرف المشكلة بدون مانشوف الكود اطرحه ع الاقل1 point
-
المشكلة فيها انها لازم تسجيل ومدري كيف نظامهاuseful function في صفحة بالويكي اسمها1 point
-
1 point
-
1 point
-
1 point
-
addEventHandler("onClientGUIChanged", root, function () if ( source == search ) then if ( guiGetText ( source ) == "" ) then guiGridListClear(grdPlayers) for i,v in ipairs(getElementsByType("player")) do local row = guiGridListAddRow(grdPlayers) guiGridListSetItemText(grdPlayers,row,1,getPlayerName(v):gsub("#%x%x%x%x%x%x", ""),false,false) end else guiGridListClear(grdPlayers) for i,v in ipairs(getElementsByType("player")) do if string.find(getPlayerName(v),guiGetText(search)) then local row = guiGridListAddRow(grdPlayers) guiGridListSetItemText(grdPlayers,row,1,getPlayerName(v):gsub("#%x%x%x%x%x%x", ""),false,false) end end end end end )1 point
-
1 point
-
guiGridListSetItemText = معروفه تكتب بالقريد ليست getPlayerName(v) = تجيب اسم اللاعب :gsub("#%x%x%x%x%x%x", "") = اذا فيه اكواد الوان بالاسم تحذفها1 point
-
#Dr.BnG, اتمنى محد يرد علي مواضيعه .. بس اذا حاول يساعد نفسه نساعده .. لني ملاحظه ينزل مواضيع ديما و يطلب مساعده سكايب او يبي كود جاهز ..1 point
-
1. Что-то подменить можно, что-то нельзя. Средства которые позволяют это сделать, довольно редки, самостоятельно врядли какое-то заметное количество людей сможет создать, поэтому имеющиеся инструменты довольно быстро отслеживаются MTA Team и затем обновляется античит. Система серийных номеров достаточно надежная, привязана к железу, поэтому баны выданные на вашем сервере или вообще в MTA будут работать довольно четко. Исходники защищены от реверса, банально тем что не все предоставлены в открытый доступ. На клиенте есть драйвер, он защищает программу от внедрения в память, по качеству это подобно защите своих процессов у антивирусов. 2. Вам нужно бороться с каким-то небольшим процентом читеров, сколько это будет я точно нескажу, может-быть тысячная процента, а может быть дойдет в какой-то момент и до пары-тройки процентов. 3. В некоторых случаях, контролируют скорость перемещения тс и игроков, здесь следует не забывать, что изменение положения, сначала узнает сервер, а потом другие игроки. Но вообще баги с тп игроков, будут случаться с большой вероятностью только от кривости ваших скриптов. В остальном нужно бороться с плохим пингом и фпс игроков, 4. Ну во-первых никаких лишних данных клиентской части не сообщать. Во-вторых где возможно использовать ивенты, а не элементдату. В-третьих контролировать отсутствие атак, т.е. вызовов которые естественным образом невозможны, если вдруг попался такой клиент. 5. Всё выше, а если не хватит, то почитайте об этом в интернете. MTA не единственное место где используется Lua машина. В принципе, с учетом закрытости самой GTASA, рассчитывать на беспрецендентную безопасность не стоит. Подмены это одна из уязвимостей, с которой ведется борьба. Изначально это было реализовано именно так, и было логично, т.к. отмычка и замок не соответствуют тому что прятали за дверью. Теперь за дверью чуть больше богатства. Формально free2play несоответствует MTA, и MTA Team могла осудить это тем самым ограничивая повышение ценности за дверью. Смысла в этом не было, потому-что к повышению этой ценности уже были некоторые отмычки, возможно это было оплачено другим домом, у которого тогда за дверью ценность была, хотя и не было на двери замка. Вцелом возможности что дает концепция клиентского кода, ещё недостаточно использованы, и они на самом деле стоят имеющейся уязвимости. Бояться тут нечего, нужно совершенствоваться и работать, в конце концов конкурентов в виде мультиплеера GTA по сути нет.1 point
-
It is hard when the team has other commitments, like their own careers and projects. I'm sure MTA isn't high priority for most of them. Hell, I think one of the (ex?) developers has kids. I can't imagine them spending a lot of time on MTA, let alone another game. You also have to remember that MTA is a multiplayer modification for an already existing game. There's a big difference between building your own game and building a multiplayer framework on top of another game. As far as I know, none of the current development team are graphic designers, modelers, game designers or sound engineers, all of which are needed to create a proper game.1 point
-
addEventHandler ( 'onClientGUIChanged',Search, function ( ) guiGridListClear ( grdPlayers ) for i,v in ipairs ( getElementsByType ( 'player' ) ) do if string.find ( string.upper ( getPlayerName ( v ):gsub ( '#%x%x%x%x%x%x', '' ) ),string.upper ( Search ) ) then guiGridListSetItemText ( grdPlayers,guiGridListAddRow ( grdPlayers ) ,1,getPlayerName ( v ):gsub('#%x%x%x%x%x%x', ''),false,false ) end end end,false ) لم يتم التجربة ورجاءاً استخدم الايديتور للاكواد اذا طرحتها .1 point
-
شباب الناس تطورت اذا عجبكم رد شخص , عطوه لايك ماحاجه تسوي إقتباس وتحط +11 point
-
I see your suggestion is useless. because if you wanna clear the gridList , put the function , and if you don't wanna clear it don't put the function . without the need to ( true or false ) .1 point
-
I'm sorry that you feel that MTA is bloatware. I agree the download size has increased significantly from our modest days of <5mb installer. But I don't believe for a second that it's a dealbreaker for someone in 2016, even those with terrible internet. The truth of the matter is, MTA has reached a very mature stage in it's lifetime. Future development is really focused on projects that our developers find interesting, because the heart of the mod itself is more or less complete. Let me give some insight into why MTAIV was abandoned: IV itself was poor. For starters, it was one of the worst PC ports for that entire generation, and we've only just got to a point where it runs well. Moreover, you lose some critical RPG elements and gameplay that makes MTASA great. I also find the cover-based shooting and more realistic physics pretty boring. Not only that, the actual game is highly fragmented. You've got GTA4, EFLC and then GTA4+DLC. It makes it hard to target. Then there were the awful patches released by Rockstar - each time making performance worse and making us have to spend significant time re-engineering. Considering all these problems - plus large install size and higher system requirements, I don't think GTA4 would ever gain the same traction San Andreas has. Frankly, at this point, the entire MTA Team are tired of working on something for the benefit of R* when they have absolutely no care for us. But let me clear in that it had very little to do with capability. Orange, although in early stages of development, was shaping up to be one of our best products yet.1 point
-
1 point