Platin - xNikoXD

  • Content Count

  • Joined

  • Last visited

Community Reputation

6 Neutral


About Platin - xNikoXD

  • Rank
    Street Cat
  • Birthday 07/06/2000


  • Gang
  • Location
    Montevideo, Uruguay
  • Occupation
  • Interests
    Scripting, Computing, Anime, Girls ob.

Recent Profile Visitors

1,688 profile views
  1. 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!
  2. 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 )
  3. 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)
  4. You should check out these wiki pages:
  5. 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.
  6. Solo quería decir que eres buen scripter y están buenos los scripts que haz publicado en la comunidad

  7. 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.
  8. 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: I don't know if that is a static IP or not, cuz i just saw it today. Thanks for all!
  9. 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?
  10. - Skin model DONE