Jump to content

Platin - xNikoXD

Members
  • Posts

    374
  • Joined

  • Last visited

Everything posted by Platin - xNikoXD

  1. Good job Patrick, this resource will hopefully help a lot of new scripters. I had found a problem tho, this resource won't note changes between interiores (i suppose thats because there isnt and event called "onClientElementInteriorChange") and the object will be left behind in the other interior, even when the dimensions change. It would be nice if you could address this issue. Thank you!
  2. Wow, such great memory Tut. The problem with my shader wasn't that I was unabled to get the texture of the spoiler or something like that, my problem was that creating a model that is used by the game as an spoiler or any other upgrade part, and then trying to add a shader that changed their texture would result in the upgrade just looking black. The shader was working because I could change any other object, but not any upgrade. The upgrades where created by createObject() and attached, but even without being attached the shader did not work. I don't recall exactly what was the issue tho (ig because i couldnt fix it). These are the discord messages I sent a while back: https://discord.com/channels/278474088903606273/278520948347502592/627289056317014046 https://discord.com/channels/278474088903606273/592477067766136833/725228749997473842 TL;DR: Sadly I don't think this is related to my problem, it's probably an error with trying to get textures as Dutchman commented.
  3. Exactamente empieza a pasar al superar los 70fps, te recomiendo poner el limite en esa cantidad de fotogramas.
  4. Yeah... about that: https://github.com/multitheftauto/mtasa-blue/issues/1377
  5. Podes conseguir información más detallada con performancebrowser, incluso podes conseguir informacion de que funcion esta causando tanto uso de CPU: https://wiki.multitheftauto.com/wiki/Resource:Performancebrowser
  6. Tbh is a big let down for a lot of RP users that are coming to MTA. Most of them are familiar with .asi and mods and have a lot of them in their game. The most popular it seems is modloader so they don't have to edit their gta3.img and replace the original files. It would be nice if on 1.6 it could be possible to let the servers decide fully if they will allow asi modifications or not. I know this isn't feasible or even necesary, specially bcuz the anticheat could be compromised with this, but it would be a nice thing to think about. Even better it would be to just accept certain .asi modifications based on their hash, but yeah. Maybe we could get a modloader type thing on native MTA? who knows
  7. 1.5.8 before summer? noice
  8. How much do you offer? What kind of systems are you looking for? Hardcore RP? Voice RP? Would you pay for script or for hour? Do you use paypal? It would be nice to add that information into your post really.
  9. It seems that 2020 is going to be a good year for MTA. Congrats and thanks for all the patch contributors to let us keep expanding our servers in many numerous ways!
  10. Never, really never never never element datas if you will edit them every frame, you will just lag the client (and if synced) the entire server. The above code is ok, but I would personally make this changes: addEventHandler("onClientRender", root, function() -- Using getElementsByType("player", root, true) instead of getElementsByType("player") will give us only the users that the client is streaming in local rTable = difference(getElementsByType("player", root, true), my_player_list) -- This would be the same for the entirety of the frame, you don't need to update it for every player, so just let it seat outside local px, py, pz = getCameraMatrix( ) -- We should use ipairs, because our table is indexed properly, this should decrease usage of... cpu? ig for i, v in ipairs(rTable) do -- i don't know why you have this check here, but if you want to check if V is an element, use this: if isElement(v) then local tx, ty, tz = getElementPosition( v ) local dist = math.sqrt( ( px - tx ) ^ 2 + ( py - ty ) ^ 2 + ( pz - tz ) ^ 2 ) if dist < 60.0 then if isLineOfSightClear( px, py, pz, tx, ty, tz, true, false, false, true, false, false, false, localPlayer) then local sx, sy, sz = getPedBonePosition( v, 6 ) local x,y = getScreenFromWorldPosition( sx, sy, sz + 0.2 ) -- You shouldn't store variables if they won't vary, if possible ofc if x then dxDrawBorderedText( string.gsub ( getPlayerName ( v ), "#%x%x%x%x%x%x", "" ).."", x, y, x, y, tocolor(getPlayerNametagColor(v)), 1.1, "default-bold", "center", "center" ) end -- If you return here, you won't be drawing anyone else if the check fails end end end end end )
  11. I don't quite get why your ranking system does not work, maybe you forgot to set anything to the element data "level" and its giving you an error because you are trying to compare a boolean with a number? Anyway, i made this mess, have fun trying to understand it, I hope you can exports.scoreboard:addScoreboardColumn('Rank') local ranking_table = { -- You would need at least level 1 to unlock this rank -- This table stores itself like this: {minimum level to obtain the rank, the name of the rank} {1, "Noobie"}, {5, "idk"}, {10, "just put your ranks in here"}, } function onSpawn() -- When you spawn, your current lvl would be stored in this variable, so we can check it later local lvl = getElementData(source, "level") or 1 -- Then we will "travel" arround the table until from the last index to the first (in this case from 3 to 1) -- until we find that a rank requieres the same or lower level to adquire, so we set that to the player and we -- stop checking the table using break (some programmers/scripters would say that using break is a bad practice -- but w/e) for i=#ranking_table,1,-1 do if raking_table[i][1] <= lvl then setElementData(source, "Rank", ranking_table[i][2]) break; end end -- This should work just fine, but i didn't test it so, idk end addEventHandler("onPlayerSpawn", root, onSpawn)
  12. You should check out these wiki pages: https://wiki.multitheftauto.com/wiki/CreateLight https://wiki.multitheftauto.com/wiki/CreateEffect
  13. Just do something like this, it should work just fine: function difference(a,b) -- This should put everything that is on table A and it isn't on table B into a new indexed table local ret = {} for k,v in pairs(a) do local insert = true for k2,v2 in pairs(b) do if v == v2 then insert = false break; end end if insert then table.insert(ret, v) end end return ret end If you want to go the way you code went then you should do something like this: function difference(a,b) local aa = {} for k,v in pairs(a) do aa[v]=true end for k,v in pairs(b) do aa[v]=nil end local ret = {} for k,v in pairs(aa) do table.insert(ret, v) end return ret end However I don't think you should use this (if it even works) because you just run too much stuff without it being really needed to be, and it's kinda pointless.
  14. Lamentablemente la comunidad hispanohablante de MTA sufre de estos problemas. Tenemos incontables casos de usuarios de otras comunidades que realizan SPAM en nuestro servidor debido a su tamaño. No me molesta que comunidades se formen de parte de otras comunidades, lo que si es molesto es que dichas comunidades aprovechen y hagan SPAM a escondidas, not cool. El SPAM no sirve ni nunca sirvió, lo digo por experiencia propia. Si tu servidor es bueno, eventualmente va a conseguir su playerbase, así se hizo con MOTV y así se sigue haciendo con PM. Aún así no creo que las comunidades que inviten a sus usuarios a hacer publicidad de su servidor sean las culpables de que servidores bien trabajados cierren o no tengan cierta atención. Hay una línea de crecimiento que debes de seguir, si quieres una nueva playerbase para tu servidor debes de incentivar a los usuarios a que se queden en tu servidor y que aprendan sus reglas. Si sus reglas son muy complicadas, se irán. Si tu servidor es aburrido y no tiene algo "adictivo", se irán. Si tus staffs dan sanciones muy altas para una comunidad pequeña, se irán. Y por sobre todo, si tus usuarios no hacen amigos en tu servidor, se irán. Usualmente mi metodología de trabajo contra los Spammeros es primero un ban bien dado y luego una visita a la comunidad que realizó el Spam a ver si ellos mismos saben que esto esta pasando y si van a tomar medidas. Recuerdo cuando re-abrimos en USA por primera vez que vinieron dos staffs de Downtown RP a realizar Spam, y yo realmente dudo que los propietarios del proyecto si quiera supiesen que eso paso. Igualmente, dicha acción no tuvo ningun efecto en nuestra comunidad, más que el agregado de dos nuevos baneos. Estoy casi seguro que he hablado contigo antes Blue, mi recomendación es que no le des tanta importancia, quizá si te hacen Spam estas haciendo algo bien. Además, los usuarios son los que deciden donde se quedan, y siempre pueden jugar en más de una comunidad. PD: Tomate más tiempo en mejorar el post, explica que trae tu servidor de nuevo, algún link a foros, imágenes, el logo, todo eso suma.
  15. Hi! I have someone using my server name as their own. Server name: Proyecto Mila | Roleplay ES 24/7 | RP | Latino | Español Fake IP: 34.73.33.52:22004 I don't know if that is a static IP or not, cuz i just saw it today. Thanks for all!
  16. Because 120fps is the new standard. On a real note, it could be just an effect from changing monitors. What kind of lag do you mean btw?
×
×
  • Create New...