Saltar al contenido

Sergioks

Usuario
  • Contenido

    43
  • Ingreso

  • Última visita

Todo lo publicado por Sergioks

  1. El mapa del radar es un mapa con las resoluciones de 3072x3072 del GTA San Andreas con el estilo de GTA V.. el mapa en si es uno normal, solo que con el estilo de GTA V.. cuando salgo del mapa, osea.. me voy por el monte chiliad y me pierdo en el mar, el mapa en el radar se repite... aqui una imagen: http://spectral-gamers.tk/RadarProblem.png Yo lo que quiero solucionar es ese problema de repeticion, que no se repita la imagen y quede el fondo azul que le puse abajo, ( con un dxDrawRectangle ).. mi codigo lua es este: addEventHandler("onClientResourceStart", root, function() radarTexture = dxCreateTexture("images/world.png") radar = dxCreateRenderTarget( s[1]*width*3/1440, s[2]*height*3/900 ) mapRadar = dxCreateRenderTarget( s[1]*width*3/1440, s[2]*height*3/900,true ) local MimgW,MimgH = dxGetMaterialSize(mapRadar) addEventHandler ("onClientPreRender",root, function() dxSetRenderTarget( mapRadar,true ) dxDrawRectangle((s[1]*50/1440)+5, (s[2]*650/900)+35, 253-10, 187-23, tocolor(67,86,88,255)) --- FONDO dxDrawImage (0,0,(MimgW),(MimgH), radarTexture) dxSetRenderTarget()dxDrawImageSection((s[1]*50/1440)+5, (s[2]*650/900)+35, 253-10, 187-23, 450-355,490-355, 300, 200,radar, 0, -90, 0, tocolor(255, 255, 255, 255),false) end end
  2. ¿no hay ninguna forma de hacer que la imagen no se repita? es decir, que solo aparezca una vez?, Sin necesidad de un removeEventHandler?
  3. y que evento uso para que se haga después que salga del mapa? la imagen es repetitiva, no se como hacer que este en una sola imagen. No entiendo mucho el dxDrawImageSection :wacko:
  4. Ya Lo Solucione, el problema que tenia era que ponia asi en la localizacion: ---- Posiciones ---- playerX = centerX + getElementPosition(getLocalPlayer())* imgSize / 6000 playerY = centerY - getElementPosition(getLocalPlayer())* imgSize / 6000 lo cual localizaba TODAS Las posiciones, X, Y, Z. y Solo queria X y Y, por lo cual hise esto: px, py, pz = getElementPosition(getLocalPlayer()) ---- EDITAR ---- playerX = centerX + px * imgSize / 6000 playerY = centerY - py * imgSize / 6000 :D Sin Embargo aun sigo teniendo este problema: Cuando salgo del mapa, no se termina la imagen, si no que se repite. ¿que puedo hacer ante esto? es decir...
  5. ¡Buenas! quisiera saber como puedo sacar el calculo para las posiciones de mi usuario, en mi radar de GTA V. Yo hice los cálculos así (con un poco de ayuda de otros scripts): function calculate() scrX, scrY = guiGetScreenSize() imgSize = 3072 width = 223 height = 157 x = scrX * 130 / 2560 y = scrY - height - scrY * 73 / 1440 --- zoom = 0.9 size = 300 / zoom markerSize = 25 posX, posY = x + 5, y + 5 width, height = width - 10, height - 20 markerX, markerY = posX + width / 2 - markerSize / 2, posY + 100 centerX, centerY = imgSize / 2 - width / 2 + markerSize / 2 - 54, imgSize / 2 - 100 - 63 + markerSize / 2 startX, startY = -size / 2 + width / 2, -size / 2 + 100 + markerSize / 2 val2x = x + 5 val2y = y + 144 val2width = 105 val2height = 9 renderTarget = dxCreateRenderTarget(width, height, true) return true end function dxDrawRadar() playerX = centerX + getElementPosition(localPlayer) * imgSize / 6000 playerY = centerY - getElementPosition(localPlayer) * imgSize / 6000 dxSetRenderTarget(renderTarget, true) --- Posiciones no se como calcularlas: dxDrawImageSection(startX, startY, size, size, playerX, playerY, 300, 300, "world.png", -getPedCameraRotation(localPlayer)) --<--[[ LAS POSICIONES ]] --- -------------------------------------------------- dxSetRenderTarget() dxDrawImage(posX, posY, width, height, renderTarget) --- ... el codigo sigue ... pero el error esta en la linea señalada ... --- end Como esta alli, me queda asi el radar: - Gracias de antemano! ^_^
  6. Ok, lo are asi entonces. ^_^ lo que yo queria decir era algo asi: eventCommands = { ---- Comandos Disponibles en el panel Event. --- Freezes: "Freezear Usuarios", --- Armas: "Deshabilidad Armas", --- Pickups: "Crear Pickup Vida", "Crear Pickup Chaleco", "Desaparecer Pickups", --- Regresar usuarios: "Regresar usuarios", --- Vehiculos: "Freezear Vehiculos", "Bloquear Vehiculos del Evento", "Habilitar Vehicle Damage proof", "Habilitar Vehicle Collision", "Reparar Vehiculos del Evento", } Pero gracias tambien, lo usare asi como me dices, tambien me sirve :D
  7. Muchas gracias por resolver mis dudas, aunque solo tengo una pregunta referente a las Gridlist. Yo tengo mis gridlist's asi, no se como añadirle las cosas: eventCommands = { ---- Comandos Disponibles en el panel Event. "Freezear Usuarios", "Deshabilidad Armas", "Crear Pickup Vida", "Crear Pickup Chaleco", "Desaparecer Pickups", "Regresar usuarios", "Freezear Vehiculos", "Bloquear Vehiculos del Evento", "Habilitar Vehicle Damage proof", "Habilitar Vehicle Collision", "Reparar Vehiculos del Evento", } ---- CommandGridList = guiCreateGridList(9, 30, 230, 393, false, EventWindow) ColumnaComandos = guiGridListAddColumn(CommandGridList, "Comandos", 0.9) ---- ---- Comandos en Eventos ---- for index, ComandosEvent in ipairs ( eventCommands ) do guiGridListSetItemText ( CommandGridList, guiGridListAddRow ( CommandGridList ), ColumnaComandos, ComandosEvent, false, false ) end ------------------------------- y no se como añadirle esas categorias. Ademas, tengo una funcion que elimina la row, y añade otra que desactiva la funcion que seleccione. Es decir... function EjecutarCommandoSelected() local theAction = guiGridListGetItemText( CommandGridList, guiGridListGetSelectedItem(CommandGridList), 1 ) ------- FREEZE/UNFREEZE USERS ---------- if ( theAction == "Freezear Usuarios" ) then triggerServerEvent("FreezeUserEvent", localPlayer) guiGridListRemoveRow ( CommandGridList, guiGridListGetSelectedItem (CommandGridList, 1) ) guiGridListSetItemText ( CommandGridList, guiGridListAddRow ( CommandGridList ), ColumnaComandos, "Desfreezear Usuarios", false, false ) elseif ( theAction == "Desfreezear Usuarios" ) then triggerServerEvent("eventUnfreezePlayers",localPlayer) guiGridListRemoveRow ( CommandGridList, guiGridListGetSelectedItem (CommandGridList, 1) ) guiGridListSetItemText ( CommandGridList, guiGridListAddRow ( CommandGridList ), ColumnaComandos, "Freezear Usuarios", false, false ) y como hago aqui? no hay forma de añadir las categorias en mi caso? o si se puede? :unsure:
  8. Buenas! quisiera saber como puedo hacer estas 2 cosas: PRIMERO: Como hago esas categorias? osea, esas letras en gris que estan sobre las opciones de Spawn. No se que funcion usar ante ellas, o que puedo hacer para hacerlas. Agredeceria mucho la ayuda en esto.. SEGUNDO: Quisiera saber como hago para que una seccion en Mi Scoreboard fuera mas ancha, osea, aumento el "width". lo intente asi, pero sigue igual. Sin ningun error ni nada parecido exports["scoreboard"]:scoreboardAddColumn( "Level", 200 ) Espero que me puedan ayudar con mis dudas :blush: Gracias de antemano! ^_^
  9. Ehm.. si estan alineadas, puse un "--- LINEA 547" en la linea 547 del problema, y asi... Pero ya lo resolvi, tenia que crear las cuentas ya que el "internal.db" que trae el DayZ estaba ausente en mi descarga.
  10. Buenas! Tengo estos problemas en mi DayZ... ambos son de getAccountData, y no se que sucede aqui .-. Este DayZ Me lo paso un amigo, supongo que por no poder con estos errores que pueden causar incluso la caida del server :| Me desvie del tema xD. bueno, mis dudas son las siguientes: PRIMER PROBLEMA, AL INICIAR EL SCRIPT: Debugscript: WARNING: login.lua:553: Bad argument @ 'getAccountData' [Expected account at argument 1, got boolean] WARNING: login.lua:610: Bad argument @ 'getAccountData' [Expected account at argument 1, got boolean] Honestamente no se que tiene allí de malo, por eso pido ayuda en estos AccountData's. Lua: function createVehicleOnServerStart() local vehicleManager = getAccount("vehicleManager", "ds4f9$") for i = 1, getAccountData(vehicleManager, "vehicleamount") or 0 do -- LINEA #553 wastedVehicle = false vehicle = getAccount("vehicle_number_" .. i, "ds4f9$") if not vehicle then break end if getAccountData(vehicle, "isExploded") == true then setAccountData(vehicle, "health", 1000) wastedVehicle = true end local veh = createVehicle(getAccountData(vehicle, "model"), getAccountData(vehicle, "last_x"), getAccountData(vehicle, "last_y"), getAccountData(vehicle, "last_z"), getAccountData(vehicle, "last_rx"), getAccountData(vehicle, "last_ry"), getAccountData(vehicle, "last_rz")) vehCol = createColSphere(getAccountData(vehicle, "last_x"), getAccountData(vehicle, "last_y"), getAccountData(vehicle, "last_z"), 4) attachElements(vehCol, veh, 0, 0, 0) setElementData(vehCol, "parent", veh) setElementData(veh, "parent", vehCol) setElementData(vehCol, "vehicle", true) setElementData(vehCol, "MAX_Slots", getAccountData(vehicle, "MAX_Slots")) setElementHealth(veh, getAccountData(vehicle, "health")) xxx, yyy, zzz = getAccountData(vehicle, "spawn_x"), getAccountData(vehicle, "spawn_y"), getAccountData(vehicle, "spawn_z") setElementData(vehCol, "spawn", { getAccountData(vehicle, "model"), xxx, yyy, zzz }) if wastedVehicle then if getAccountData(vehicle, "model") == 497 then item_id = math.random(table.size(hunterSpawns)) xxx, yyy, zzz = hunterSpawns[item_id][1], hunterSpawns[item_id][2], hunterSpawns[item_id][3] end if getAccountData(vehicle, "model") == 487 then local item_id = math.random(table.size(maverikSpawns)) x, y, z = maverikSpawns[item_id][1], maverikSpawns[item_id][2], maverikSpawns[item_id][3] end setElementPosition(veh, xxx, yyy, zzz + 1) setElementRotation(veh, 0, 0, 0) local tires, engine = getVehicleAddonInfos(getElementModel(veh)) setElementData(vehCol, "Tire_inVehicle", math.random(0, tires)) setElementData(vehCol, "Engine_inVehicle", math.random(0, engine)) end setElementData(vehCol, "fuel", getAccountData(vehicle, "fuel")) if not wastedVehicle then for i, data in ipairs(vehicleDataTable) do setElementData(vehCol, data[1], getAccountData(vehicle, data[1])) end else if getElementModel(veh) == 433 or getElementModel(veh) == 470 then for i, items in ipairs(lootItems.helicrashsides) do local randomNumber = math.random(1, 10) if randomNumber == 5 then setElementData(vehCol, items[1], math.random(1, 2)) end end end setElementData(vehCol, "fuel", 10) end end for i = 1, getAccountData(vehicleManager, "tentamount") or 0 do --- LINEA #610 tentData = getAccount("tent_number_" .. i, "ds4f9$") if not tentData then break end tent = createObject(3243, getAccountData(tentData, "last_x"), getAccountData(tentData, "last_y"), getAccountData(tentData, "last_z"), 0, 0, getAccountData(tentData, "last_rz") or 0) setObjectScale(tent, 1.3) tentCol = createColSphere(getAccountData(tentData, "last_x"), getAccountData(tentData, "last_y"), getAccountData(tentData, "last_z"), 4) attachElements(tentCol, tent, 0, 0, 0) setElementData(tentCol, "parent", tent) setElementData(tent, "parent", tentCol) setElementData(tentCol, "tent", true) setElementData(tentCol, "vehicle", true) setElementData(tentCol, "MAX_Slots", 100) for i, data in ipairs(vehicleDataTable) do setElementData(tentCol, data[1], getAccountData(tentData, data[1])) end end end este es al iniciar el script... SEGUNDO PROBLEMA, El mismo anterior, solo que al detener el script. El Problema aqui es cuando doy Stop al Script. Le da un Network Trouble a todos los usuarios del servidor, aveces se cae el servidor inclusive. :wacko: Debugscript: WARNING: [DayZ-MTA]\DayZ\login.lua:546: Bad argument @ 'setAccountData' [Expected account at argument 1, got boolean] WARNING: [DayZ-MTA]\DayZ\login.lua:547: Bad argument @ 'setAccountData' [Expected account at argument 1, got boolean] LUA: function saveallvehicles(ps, command) counter = 0 counterTent = 0 for i, col in ipairs(getElementsByType("colshape")) do local vehicleManager = getAccount("vehicleManager", "ds4f9$") local veh = getElementData(col, "vehicle") local helicrash = getElementData(col, "helicrash") local hospitalbox = getElementData(col, "hospitalbox") local tent = getElementData(col, "tent") if veh and not helicrash or veh and not hospitalbox then if tent then counterTent = counterTent + 1 account = getAccount("tent_number_" .. counterTent, "ds4f9$") or false if not account then account = addAccount("tent_number_" .. counterTent, "ds4f9$") end local tent = getElementData(col, "parent") local x, y, z = getElementPosition(tent) local rx, ry, rz = getElementRotation(tent) setAccountData(account, "last_x", x) setAccountData(account, "last_y", y) setAccountData(account, "last_z", z) setAccountData(account, "last_rx", rx) setAccountData(account, "last_ry", ry) setAccountData(account, "last_rz", rz) for i, data in ipairs(vehicleDataTable) do setAccountData(account, data[1], getElementData(col, data[1])) end else counter = counter + 1 account = getAccount("vehicle_number_" .. counter, "ds4f9$") or false if not account then account = addAccount("vehicle_number_" .. counter, "ds4f9$") end setAccountData(account, "spawn_x", getElementData(col, "spawn")[2]) setAccountData(account, "spawn_y", getElementData(col, "spawn")[3]) setAccountData(account, "spawn_z", getElementData(col, "spawn")[4]) for i, data in ipairs(vehicleDataTable) do setAccountData(account, data[1], getElementData(col, data[1])) end local vehicle = getElementData(col, "parent") local model = getElementModel(vehicle) local x, y, z = getElementPosition(vehicle) local rx, ry, rz = getElementRotation(vehicle) local health = getElementHealth(vehicle) setAccountData(account, "last_x", x) setAccountData(account, "last_y", y) setAccountData(account, "last_z", z) setAccountData(account, "last_rx", rx) setAccountData(account, "last_ry", ry) setAccountData(account, "last_rz", rz) setAccountData(account, "health", health) setAccountData(account, "model", model) setAccountData(account, "isExploded", getElementData(vehicle, "isExploded") or false) end end setAccountData(vehicleManager, "vehicleamount", counter) --- LINEA 546 setAccountData(vehicleManager, "tentamount", counterTent) --- LINEA 547 end end addEventHandler("onResourceStop", getResourceRootElement(getThisResource()), saveallvehicles) Plz necesito ayuda en esto. :( :unsure: - Gracias de Antemano. :)
  11. Ok.... como hago eso? :huh:
  12. Buenas. Quisiera saber porque cuando una persona vuela arriba de un marker, el mismo abre el panel. Sin estar dentro del marker, si no por encima? Lua: function vpspawner(hitElement) if getElementType(hitElement) == "player" and (hitElement == localPlayer) then if getPlayerTeam(hitElement) == getTeamFromName("Staff") then if not isPedInVehicle(hitElement) then if not guiGetVisible(GUIEditor.window[1]) then guiSetVisible(GUIEditor.window[1], true) showCursor(true) end end else outputChatBox("Acceso denegado", 255, 0, 0 ) end end end addEventHandler("onClientMarkerHit", StaffCoche1, vpspawner, false) addEventHandler("onClientMarkerHit", StaffCoche2, vpspawner, false) addEventHandler("onClientMarkerHit", StaffCoche3, vpspawner, false) Digamos que pongo el marker en el centro de Groove Street. y cuando pasa un Player volando a miles de kilometros arriba del marker, el panel se abre como si entrar a el. Que sucede aqui? :unsure: EDIT: El "false" que tiene al final el EventHandler de onClientMarkerHit lo añadi yo, porque creia que era igual que las gui's que si no le pones el false se activa X Boton sin dar click en el. Pero con o sin el false sigue el problema. - Gracias de Antemano. :)
  13. Eso Varia dependiendo de que WebHost haz comprado. El Script en si no tiene nada que ver con la base de datos, solo las lee. Aunque, por prevención, recomendaría Compilar el script, porque estas dejando los datos de tu base datos expuesta. :)
  14. Buenas! Quisiera saber como saber para que mi script mande mensajes, pero si ya esta uno que no ha desaparecido, que aparezca abajo del mismo, y así... que sean un total de 5 lineas. mi script se basa en las lineas de solicitudes que esta en el MapEditor... ESTE También, si se puede, me puedan decir que le falta a este script para que se parezca, o que tiene mal. o, Si tiene un script que sea así plz aportarlo, porque lo necesito MUCHÍSIMO addCommandHandler("error", function(...) local text = table.concat ( { ... }, " " ) local color = tocolor(255, 0, 0, 255) SendMessageBox (text, color ) end) function SendMessageBox (text, color ) dxDrawText ( text, 44, Height - 41, Width, Height ,color, 1.02, "pricedown" ) end addEventHandler("onClientRender", root, SendMessageBox) OJO: Coloque un dxDrawText cualquiera, lo único que esta definido allí que es coherente con el script son "text" y "color"... No tengo aun las posiciones ni nada de ello porque estoy concentrado en la continuidad como previamente explique. Gracias de Antemano :D
  15. ​Ya lo conseguí! :D No es tan difícil una vez que lo aprendes xD. local database = "Nombre de la base de Datos" local host = "Host del MySQL. en algunos casos es localhost" local userDB = "nombre de usuario de la base de datos" local passDB = "contraseña de la base de datos" db = dbConnect( "mysql", "dbname="..database..";host="..host.."", userDB, passDB, "share=1" ) addEvent("LoginFunction", true) addEventHandler("LoginFunction", root, function(Username, Password) local login = dbQuery( db , "SELECT * FROM tabla donde estan los usuarios WHERE username = '"..Username.."' AND password = '"..phpbb_hash(Password).."';") if login then triggerClientEvent( source, "HideWindow", getRootElement() ) --- Cerrar Ventana outputChatBox("* You successfully logged in your account!", source, 255, 255, 255) spawnPlayer( source, 0,0,3 ) fadeCamera( source, true ) setCameraTarget( source, source ) end) No se tenia que accesar a la pagina web en ningún momento, todo se hace desde el script - Para que esto funcione deben de tener el Plugin MySQL remoto en su WebHost. Creo que esa es la razón por la que este es muy poco usado, porque POCOS son los hosts que tienen esto. y los que lo tienen, lo activan por una suma muy alta de dinero. :blink: :wacko: bueno, me limitare a usar casi esto mismo, pero en ves de MySQL, con SQLite mientras costeo algo así La única desventaja de esto, es que al usarlo, las funciones "logIn" y "addAccount" se hacen OBSOLETAS totalmente. :ph34r: - Salu2 y Gracias!
  16. Sin Ofender, pero no veo Relación entre el setAccountData, con un callRemote, o algo parecido que llame a un archivo PHP del foro. Según la ayuda del tutorial que leí, Me da este PHP: <?php require( "../../../initdata.php"); //we need to include this because ipsRegistry requires it include( "sdk/mta_sdk.php" ); //the sdk is a must require( "ipsRegistry.php" ); //this will give us the functions to modify things in the forum platform ipsRegistry::init(); $input = mta::getInput(); // $input[0] is username, $input[1] is password, $input[2] is e-mail mta::doReturn($input[0]); //$passSalt = IPSMember::generatePasswordSalt(5); //$passCompiled = IPSMember::generateCompiledPasshash($passSalt, md5($input[1])); $user = IPSMember::create( array( 'core' => array( 'email' => $input[2], 'password' => $input[1], 'name' => $input[0], 'members_display_name' => $input[0] ) ) ); ?> y este Mini-Script, que debe colocarse en la misma linea que crea la cuenta. Osea lo de addAccount.. callRemote("http://FORUM ADRESS/admin/sources/base/mtaforum.php", inReturn,username, password, mail) Lo que quiero saber, es que le debo modificar a ese PHP, para que en vez de crear cuentas en el foro, con los datos ingresados en el server, Cree Cuentas en el server, con los datos ingresados en el foro. ( Si, el foro al que quiero enlazar es un IP.board, igual a este foro ). - No se si me dices que modificar aquí, para que haga lo que pido, o al menos una guía de como hacerlo. PD: Ya tengo el modulo PHP_SDK de MTA Instalado en mi foro. OJO: Se que pido mucho, eh pedido ayuda sobre este tema en muchos foros incluyendo el foro oficial de MTA, pero no eh conseguido ayuda... espero que aquí si... :blush:
  17. Para ser honesto solo aclaraste el punto de lo que quiero hacer xD en lo que quiero ayuda, es en como unir todo a la base de datos? :unsure: :huh:
  18. Buenas, Soy Nuevo en el foro, pero no en Scripting. y tengo una duda. tengo un tiempo pensando en este script, pero no eh podido hacerlo. Bueno, mi script consiste en... Que en servidor no exista la opción de crear una cuenta. Solo ingresar. ¿Donde se registraran los usuarios? en la web. Es decir... digamos lo así: Entro en X Server. Dicho server me pide que para ingresar debo registrarme en la web. Bueno, entro en la web, y me registro. Y, con esa misma cuenta de la web, pueda ingresar en el Server. Ej: Como el Sistema XLatino, no se si alguno lo conocerá xD ¿Alguien me podría ayudar con eso? ya tengo instalado en mi web el Modulo MySQL, y el PHP_SDK. ya intente hacerlo, pero logre lo que queria, pero al revez. Es decir, registrarse en el server MTA, para ingresar en la web <_< - Agradecería mucho su ayuda! :D
×
×
  • Crear nuevo...