Jump to content

UserToDelete

Members
  • Posts

    766
  • Joined

  • Last visited

Everything posted by UserToDelete

  1. Es complicado hacerlo funcionar asi, ya que Z no siempre cuadra con el jugador
  2. Al usar onMarkerHit no necesitas nada de comparacion de si esta en el marker o no
  3. Quizas solo sea tema de tener mas seguridad en Servidor, quizas sea un 'exploit' en el que le muestra todos los botones, pero no veo una seguridad que impida la verificacion del permiso en servidor, es decir, si soy miembro, y le doy a kick (por alguna casualidad), no me impidiria ningun argumento kickear a alguien, yo le pondria verificaciones, pero vamos, por el resto no veo nada raro
  4. Lo que te cambie es la funcion del comando, es decir, ahora debes escribir: /pass bossa2514789 Si no te funciona aun asi, prueba con esto addCommandHandler("pass", function (source, comand, arg1) if tostring(arg1) == tostring(password) then exports.barmessage:outputBarMessage( "#00ff00Contraseña correcta! al entrar a este lugar no podras volver al CASINO!", 255, 255, 255, 3500, true ) else exports.barmessage:outputBarMessage( "#ff000Contraseña Incorrecta! Sigue intentado", 255, 255, 255, 3500, true ) end end )
  5. Me he tomado la libertad de cambiar el comando, por ejemplo /pass [contraseña aqui] Si es correcta, pasa el argumento, si no, no Debes especificar el argumento en la funcion y source. password = "bossa2514789" addCommandHandler("pass", function (source, comand, arg1) if tostring(arg1) == password then exports.barmessage:outputBarMessage( "#00ff00Contraseña correcta! al entrar a este lugar no podras volver al CASINO!", 255, 255, 255, 3500, true ) else exports.barmessage:outputBarMessage( "#ff000Contraseña Incorrecta! Sigue intentado", 255, 255, 255, 3500, true ) end end )
  6. Pero eso siempre pasa, solo hay que mirar a los famosos, cuanto mas tontos mas famosos
  7. Can cause a 'very heavy processor over-load' in your scripts? like a constant while or loops or MySQL connections, etc etc, check that, because that is not reflected in resource monitor
  8. Si el elemento es server side, por qué no usas https://wiki.multitheftauto.com/wiki/OnElementClicked ?
  9. Todo anda bien, menos esa parte , le puedo dar click y todo, ¿No hay una forma de que al darle click al rectangulo salga una ventana, y si hay otros rectangulos que abran ventanas no se le puedan dar click hasta que cierre la ventana que abrí antes que las demás? Se llama GUI
  10. Eso solo pasa si lo colocas en un trigger de server side a client side en vez de usar 'source' o 'client'
  11. Compiled scripts are in binary, not ANSI or UTF-8, you have uncompiled version?
  12. You put 2 codes at same time? or one and after another? i think that is your cache
  13. Because "Source" in triggered functions are not "players" at all function amOpenWindow ( p ) if ( getPlayerStaffLevel ( p, 'string' ) == "Owner" ) then local query = exports.NGSQL:db_query ( "SELECT * FROM accountdata ORDER BY Username" ) local accounts = { valid = { }, invalid = { } } for i, v in ipairs ( query ) do if ( getAccount ( v.Username ) ) then accounts.valid[ tostring ( v.Username ) ] = v else accounts.invalid[ v.Username] = v accounts.invalid[ v.Username].reason = "Account doesn't exist in server database" end end for i, v in ipairs ( getAccounts ( ) ) do local n = getAccountName ( v ) if ( not accounts.valid [n] and not accounts.invalid[n] ) then accounts.invalid[n] = { } accounts.invalid[n].Username = n accounts.invalid[n].reason = "Account doesn't exist in MySQL database" end end triggerClientEvent ( p, "SAEGAdministration:AccountManager:onClientOpenWindow", p, accounts ) end end addCommandHandler ( "am", amOpenWindow ) local removeAccount_ = removeAccount -- remove account addEvent ( "SAEGAdmin:amManager:removeAccountFromHistory", true ) addEventHandler ( "SAEGAdmin:amManager:removeAccountFromHistory", root, function ( account ) for i, v in ipairs ( getElementsByType ( "player" ) ) do if ( getAccountName ( getPlayerAccount ( v ) ) == account ) then return exports.SAEGMessages:sendClientMessage ( "You need to kick "..tostring(getPlayerName(v)).." before you can delete this account.", source, 255, 255, 0 ) end removeAccount(account,source) end end ) function removeAccount ( account, source ) local user = "" if ( isElement ( source ) ) then user = getPlayerName ( source ).." ("..getAccountName(getPlayerAccount(source))..")" else user = "Console (Console)" end exports.NGSQL:db_exec ( "DELETE FROM accountdata WHERE Username=?", account ) exports.NGSQL:db_exec ( "DELETE FROM bank_accounts WHERE Account=?", account ) exports.NGSQL:db_exec ( "DELETE FROM bank_transactions WHERE account=?", account ) exports.NGSQL:db_exec ( "DELETE FROM jobdata WHERE Username=?", account ) exports.NGSQL:db_exec ( "DELETE FROM log_punish WHERE account=?", account ) exports.NGSQL:db_exec ( "DELETE FROM user_shop WHERE seller_account=?", account ) exports.NGSQL:db_exec ( "DELETE FROM vehicles WHERE Owner=?", account ) local acc = getAccount ( account ) if acc then removeAccount_ ( acc ) end exports.SAEGLogs:outputActionLog ( user.." deleted account "..tostring(account) ) if(isElement(source))then amOpenWindow ( source ) end end -- Execute server data saving addEvent ( "SAEGAdmin:aManager:ExecuteServerSave", true ) addEventHandler ( "SAEGAdmin:aManager:ExecuteServerSave", root, function ( ) exports.NGSQL:saveAllData ( true ) exports.SAEGLogs:outputActionLog ( getPlayerName(source).."("..getAccountName(getPlayerAccount(source))..") saved all server data" ) end ) addEvent ( "SAEGAdmin:Module->aManager:OpenPanelFromSource", true ) addEventHandler ( "SAEGAdmin:Module->aManager:OpenPanelFromSource", root, function ( ) amOpenWindow ( source ) end ) -- Ban accounts addEvent ( "SAEGAdmin:Modules->Banner:onAdminBanClient", true ) addEventHandler ( "SAEGAdmin:Modules->Banner:onAdminBanClient", root, function ( acc, day, month, year, reason, days ) local l = getPlayerName(source).." ("..getAccountName(getPlayerAccount(source)).." banned account "..tostring(acc).." for "..tostring(days).." days | reason: "..tostring(reason) outputDebugString ( l ) exports.SAEGLogs:outputServerLog ( l ) exports.SAEGLogs:outputActionLog ( l ) exports.SAEGBans:banAccount ( acc, day, month, year, reason, getPlayerName(source) ) end ) -- update account vip addEvent ( "SAEGAdmin->Modules->aManager->VIPManager->UpdateAccountVIP", true ) addEventHandler ( "SAEGAdmin->Modules->aManager->VIPManager->UpdateAccountVIP", root, function ( account, level, day, month, year ) for i, v in pairs ( getElementsByType ( "player" ) ) do local a = getPlayerAccount ( v ) if ( not isGuestAccount ( a ) and getAccountName ( a ) == account ) then kickPlayer ( v, "Server is giving you VIP... Please reconnect." ) break end end setTimer ( function ( account, level, day, month, year, client ) exports.ngsql:db_exec ( "UPDATE accountdata SET vip=?, vipexp=? WHERE Username=?", tostring ( level ), table.concat({year,month,day},"-"), account ) exports.saeglogs:outputActionLog ( getAccountName(getPlayerAccount(client)).." updated "..tostring(account).." VIP - Level: "..tostring(level).." | Exp. Date: "..table.concat({year,month,day},"-") ) end, 250, 1, account, level, day, month, year, client) end )
  14. You updated to latest version?
  15. If linux, download server files, if not, download and install installer or change base files, easy
  16. No te da ningun error? no veo nada raro ahi, quizas dandole la vuelta funciona, pero ni idea addEventHandler ( "onClientRender", root, dxdr3) removeEventHandler ( "onClientRender", root, dxdr)
  17. Que pasaría si en vez de esto pones la segunda opcion?, por curiosidad nada mas, nunca probé ni fui bueno en cliente addEventHandler ( "onClientClick", getRootElement(), asda ) addEventHandler ( "onClientClick", localPlayer, asda )
  18. You must put a requisite from member forum Minimum 150 posts, for example. If your host is 'good mounted' you can get Client's IP and remove automatically users if IP are duplicated with other user
  19. Hombre, en el ejercito español hay unas texturas bastante realistas, incluso te dan el sonido y te enseñan la animacion de recarga, vaya, lo mas real del mundo No creo que haya "packs reales" de "gente seria", no se si me explico, sin armas de oro, ni copiados de otro juego, por si las dudas Recuerda: armas con mas pixeles =carga, por tanto, si ivas a 25 fps, ahora a 15, es un motor bastante malo a la hora de cargar objetos muy rapidamente
  20. Que coño, entonces que use las mismas dimensiones que el texto, no?, si el texto y la barra pertenece al mismo script, es solo control CV
  21. Si mutliplicas X o Y por el relative que tu quieres, automaticamente sale el valor. O almenos, asi lo estuve haciendo todos estes meses
  22. La teoria de la relatividad es ancho por uno y viceversa con el alto screenX * relativeValue (0-1) Osea que si tienes 1024x600 Y quieres centrarlo.. (SX-(anchoDX))*0,5 Y lo mismo con SY (SY-(altoDX))*0,5
×
×
  • Create New...