Jump to content

Anzo

Members
  • Posts

    276
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by Anzo

  1. Se pueden remplazar los setElementData, getElementData por setData y getData y funcionaría igual? no puedo probarlo ahora porque voy a salir... Yo suelo usar los elementData cuando no son muchos, como en este caso; aunque actualmente no los estoy usando mucho porque varios me han dicho que consume mucho ( y también lo he leído en varios post ) Gracias.
  2. You want to the truck is destroyed when you leave the truck? Try this: MarkerTrab = createMarker (2834.521484375, 2607.2861328125, 10.8203125,"cylinder",2.0 , 255, 255, 0, 255) MarkerTrab1 = createMarker (1906.2451171875,-1794.13671875,13.539072036743,"cylinder",2.0 , 255, 255, 0, 255) setElementVisibleTo ( MarkerTrab1, root, false ) BlipTrab = createBlipAttachedTo (MarkerTrab,42 ,source) BlipTrab1 = createBlipAttachedTo (MarkerTrab1,25 ,0, 99999 ,source) setElementVisibleTo ( BlipTrab1, root, false ) Caminhao = {} function Trab (source) Caminhao[source] = createVehicle(403, 2821.7177734375, 2607.6396484375, 10.8203125 ,0 ,0 ,0) warpPedIntoVehicle ( source, Caminhao[source]) setPedSkin(source,260) setElementVisibleTo ( MarkerTrab1, root, true ) setElementVisibleTo ( BlipTrab1, root, true ) outputChatBox ( "#FFFF00==============================================", getRootElement(), 255, 255, 255, true ) outputChatBox ( "#FF0000Leve a carga de petroleo ao Blip que apareceu no seu Radar", getRootElement(), 255, 255, 255, true ) outputChatBox ( "#FFFF00==============================================", getRootElement(), 255, 255, 255, true ) end addEventHandler( "onMarkerHit", MarkerTrab, Trab ) function Entregar (source) givePlayerMoney(source, 7000) setElementVisibleTo ( BlipTrab1, root, false ) setElementVisibleTo ( MarkerTrab1, root, false ) destroyElement ( source, Caminhao[source] ) outputChatBox ( "#FFFF00==============================================", getRootElement(), 255, 255, 255, true ) outputChatBox ( "#FF0000Voce chegou no destino!! e ganhou 7000", getRootElement(), 255, 255, 255, true ) outputChatBox ( "#FFFF00==============================================", getRootElement(), 255, 255, 255, true ) end addEventHandler( "onMarkerHit", MarkerTrab1, Entregar ) Carga = {} function Trab1 (source) Carga[source] = createVehicle (584, 2847.0556640625, 2631.4345703125, 12.064428329468 , 0, 0, 203.94506835938) setElementVisibleTo ( MarkerTrab1, root, true ) setElementVisibleTo ( BlipTrab1, root, true ) end addEventHandler( "onMarkerHit", MarkerTrab, Trab1 ) function NSPode (source) if (Caminhao[source]) then T22 = setTimer (destroyElement, 10000,1, Caminhao[source]) end if (Carga[source]) then T33 = setTimer (destroyElement, 10000,1, Carga[source]) end outputChatBox ('#FF5100* #ffffffVocê tem #FF510010 #ffffffsegundos parar voltar para o Caminhao.', source, 255, 255, 255, true) T11 = setTimer (destroyElement, 10000,1, BlipTrab1) T44 = setTimer (function() Trabalho = false setPedSkin (source,0) outputChatBox ('#FF5100* #ffffffVocê ficou muito tempo fora do veiculo e perdeu o trabalho!.', source, 255, 255, 255, true) setElementVisibleTo ( BlipTrab1, root, false ) setElementVisibleTo ( MarkerTrab1, root, false ) end, 10000, 1) end addEventHandler ("onVehicleStartExit", root, NSPode) function SNPode (source) if (Caminhao[source]) and isElement(Caminhao[source]) then killTimer (T11) killTimer (T22) killTimer (T33) killTimer (T44) end end addEventHandler ("onVehicleStartEnter", root, SNPode) By the way, you where wrong in this function: function perdeTrab (source) local accounat = getAccountName (getPlayerAccount(source)) aclGroupRemoveObject (aclGetGroup("Truck"), "user."..accounat) outputChatBox ('#0004FFPetrobras S.A: #ffffffVocê desistiu de trabalhar.',source,255,255,255,true) setPedSkin (source,0) destroyElement(Caminhao, source) setElementVisibleTo ( BlipTrab1, root, false ) setElementVisibleTo ( MarkerTrab1, root, false ) end addEventHandler( "sairemprego1", perdeTrab )--addCommandHandler :D
  3. Introducción Estoy seguro que lo primero que alguien "nuevo" quiere hacer para su servidor es un sistema de niveles, por eso voy a enseñar a como hacer uno en este tutorial (si no me explico bien en algo lo siento, pero no soy muy bueno que digamos explicando). Contenido 1. Introducción 2. Contenido 3. Creación del sistema de niveles 4. Guardar datos (nivel, zombie kills) 5. Comando para setear nivel y zombie kills 6. Funciones usadas Creación del sistema de niveles Guardar datos (nivel, zombiekills) Comando para 'setear' nivel y zombie kills Funciones usadas:
  4. Oi galera! como o título diz, alguém tem uma ideia de alguns recursos interessantes para um freeroam? Eu estou a ficar sem ideias para fazer recursos...
  5. With the function Matrix is simpler. e.x: objs = {} function objE(player) if objs[player] then destroyElement(objs[player]) end local xb,yb,zb = getElementPosition(player) local rxb,ryb,rzb = getElementRotation(player) local matrixs = (Matrix.create(xb,yb,zb, rxb,ryb,rzb)) local forward = (Matrix.getForward(matrixs) * 2) local positions = (Matrix.getPosition(matrixs) + forward) objs[player] = createObject(625, positions) end addCommandHandler("ob",objE) Just out of curiosity, you want to do a decoration system?
  6. Si no les molesta, podrían pasarme algún post de un buen DayZ(cuando digo buen DayZ me refiero a uno que funcione bien, porque ya he descargado creo que 2 y tienen bugs)?
  7. ¿Qué es lo que hace? nunca jugué en un race
  8. No sé porque no me deja editar el otro post pero bueno, ya pude solucionarlo Lo que hice fue crear un trigger desde client que tuviera algo como: variable = false y después pasarlo a server con triggerClientEvent y ponerlo en la parte cuando se muera el boss, así cuando se muera se desactiva y la función se pueda ejecutar siempre que el boss muera; no sé si haya otra forma mejor de hacerlo pero de este método me funciono y la verdad no se me ocurre otra forma de hacerlo. PD: Si alguien sabre otra manera más eficiente de hacerlo que porfavir la diga :v
  9. Pero no se crean de nuevo, la primera vez si (que es cuando inicio el script) pero cuando vuelve a spawnear y le disparo no le aparece nada.
  10. Probablemente no hayan entendido el titulo, pero lo explicare: Tengo un boss que crea unas armas en su cuerpo cuando tiene menos de 5000 de vida, use una variable como 'if not k then' k = true para que solo se crearan las armas sola una vez cuando le dispares y tenga -5000 de vida, esto lo hice para que no se crearan muchas armas y después daría muchos errores. El boss es este: (client) function kk(attacker,weapois,ww) if (attacker) then if (isElement(attacker)) then if (getElementType(attacker) == "player") then if (getElementType(source) == "ped") then if (getElementData(source,"Apocal") == true) then local healthMyBBoss = exports.extra_health:getElementExtraHealth(source) if (healthMyBBoss < 5000) then local wX,wY,wZ = getElementPosition(source) if not kasd then if ( getElementData(localPlayer, "thes") == true) then weapon = createWeapon("m4", wX,wY,wZ) attachElements(weapon,source,0,0,0,0,5,90) setWeaponClipAmmo(weapon,99999) setWeaponState(weapon, "firing") setWeaponProperty(weapon,"fire_rotation",0,-5,0) weapon11 = createWeapon("m4", wX,wY,wZ) attachElements(weapon11,source,0,0,0,0,5,90) setWeaponClipAmmo(weapon11,99999) setWeaponState(weapon11, "firing") setWeaponProperty(weapon11,"fire_rotation",0,-5,0) --weapon2 weapon2 = createWeapon("m4", wX,wY,wZ) attachElements(weapon2,source,0+0.2,0,0,0,5,90) setWeaponClipAmmo(weapon2,99999) setWeaponState(weapon2, "firing") setWeaponProperty(weapon2,"fire_rotation",0,-5,0) weapon2223 = createWeapon("m4", wX,wY,wZ) attachElements(weapon2223,source,0+0.2,0,0,0,5,90) setWeaponClipAmmo(weapon2223,99999) setWeaponState(weapon2223, "firing") setWeaponProperty(weapon2223,"fire_rotation",0,-5,0) --weapon3 weapon3 = createWeapon("m4", wX,wY,wZ) attachElements(weapon3,source,0+0.2,0,0,0,5,-90) setWeaponClipAmmo(weapon3,99999) setWeaponState(weapon3, "firing") setWeaponProperty(weapon3,"fire_rotation",0,-5,0) --weapon4 weapon4 = createWeapon("m4", wX,wY,wZ) attachElements(weapon4,source,0,0,0,0,5,-90) setWeaponClipAmmo(weapon4,99999) setWeaponState(weapon4, "firing") setWeaponProperty(weapon4,"fire_rotation",0,-5,0) kasd = true end end end end end end end end end addEventHandler("onClientPedDamage", root, kk) Ahí use un elementData para ver si podía hacer que se activen cuando el boss aparezca, pero con elementData no me funciono así que use esa variable para que se creen solo una vez las armas aunque le dispares más veces, el problema es que solo funciona una vez, si el boss muere y aparece de nuevo y le disparan teniendo -5000 de vida no le aparecerán las armas, yo quiero eso, que se creen siempre que tenga -5000 de vida pero, que las armas solo se creen una vez. Me explico, si le quito la variable esa las armas se crearan infinitamente si le sigues disparando al boss, y cuando muera, dará error en los destroyElement porque había muchas creo. (server) function botSpawn(thePlayers,mathd) local BBoss = exports.slothbot:spawnBot ( 1131.78918, -2036.76990, 69.00781, 0, 18, 0, 0, team, 24, "hunting" ) Booty = BBoss local setHealth = exports.extra_health:setElementExtraHealth(BBoss, 2) setElementData(BBoss, "currenthealth", exports.extra_health:getElementExtraHealth(BBoss)) setElementData(BBoss,"Apocal",true) setElementData(BBoss,"name","Apocal") cblip = createBlipAttachedTo(BBoss,23) setPedStat(BBoss,71,1000) outputChatBox("#666666'#D50000Apocal#666666' #ffffffha aparecido cerca del hospital de Los #D50000Santos-",getRootElement(),255,255,255,true) setTimer(spawnClones,58000,1) setElementData(root, "thes", true) end addEventHandler("onResourceStart",getResourceRootElement(getThisResource()), botSpawn) Ahí use un setElementData(root, "thes", true) para ver si funcionaba, pero no.
  11. ¿Estás usando gui o dx? en gui si no se me ocurre nada pero con dx puedes usar: bindKey("mouse_wheel_up","down", functi) para subir y para bajar bindKey("mouse_wheel_down", "down",functi) Puedes hacer que cuando le des a la ruedita para abajo se borre lo que estaba arriba y después si le das arriba aparecen de nuevo, aunque no sé, sería un poc fastidioso hacer eso.
  12. Muy bueno, de paso así aprendo un poco de html y css. Tengo unas preguntas (ando aprendiendo HTML y tengo unas dudas): ¿Usaste HTML o CSS para hacer eso? ¿El doctype y <meta charset="UTF-8" es para que se puedan escribir tildes y la 'ñ' ? Lo del {padding: 0; margin: 0; }, ¿para qué sirve? Poniendo <center>Hola</center> aparecería siempre en el centro en todos los navegadores? Y una ultima cosa, ese panel se puede pasar a mta?
  13. Anzo

    Aprender lua

    Si, pero lo malo fue que cuando empece nunca vi esa página porque no sabía que existía, al tiempo fue que la vi y la leí un poco, pero como ya sabía más o menos no me resulto tan útil.
  14. Anzo

    Aprender lua

    Yo no sé mucho, pero cuando yo empece me puse a leer varias páginas y a ver vídeos(todos en español) : Sitios web: https://scriptingmtasa.wordpress.com/-- De esta página hice los primeros scripts :v http://www.lua.org/manual/5.1/es/manual.html Este no lo leí mucho (que flojera :c) http://cheese.formice.com/forum/threads/aprendiendo-lua-mucho-más-fácil.66575/ https://sites.google.com/site/tvdunq/home/material/ejemplos/ejemplos-lua-muy-basicos http://psp.scenebeta.com/tutorial/un-nuevo-tutorial-de-lua-desde-lo-basico-lo-concreto http://tutorialesmta.esy.es/ Vídeos: https://www.youtube.com/user/bnja17 --No recuerdo si en este habían tutoriales https://www.youtube.com/user/AZNO10 Y este de Asus. No sé porque no me deja subir el canal pero te dejo un vídeo de el (y como no entiendo bien este nuevo editor :v):
  15. Escribe tu problema en Scripting: https://forum.multitheftauto.com/forum/120-scripting/
  16. Algunos freeroam te lo dan todo apenas empezar sin tener que hacer nada, esos si que son aburridos.
  17. Lo que estoy haciendo es un panel de misiones. Tengo una columna que se llama 'estado', y cuando aceptas una cambia a 'En curso', y cuando terminas la misión se pone en 'Finalizada'. Lo que yo quiero es que se guarde ese 'Finalizada' en la cuenta del jugador, tal que si se sale del servidor esa row se guarde, y cuando entre y se registre, le aparezcan las misiones que estaban finalizadas. Estoy usando variables para saber cuando termino/empezó la misión, y que así no puedan volver a jugar la misión o elegir otra mientras están en una. La parte donde se pone en 'Finalizada' la row es esta: function misionCurs(tipo, dim) if not marker then if (tipo == localPlayer) then if (source == mmker ) then if (vent) then return end --Los addEventHandler y removeEventHandler son solo para que aparezca el texto de misión completada y eso removeEventHandler("onClientRender", root, infomision1) addEventHandler("onClientRender", root, infomision1) showCursor(true,true) setTimer(function () removeEventHandler("onClientRender", root, infomision1) addEventHandler("onClientRender", root, infomision2) end,6000,1) setTimer(function () removeEventHandler("onClientRender", root, infomision2) removeEventHandler("onClientRender", root, mision1) addEventHandler("onClientRender", root, mision1complete) vent = true start = getTickCount() destroyElement(mmker) destroyElement(pds) destroyElement(bblip) setElementDimension(localPlayer, 0) guiGridListSetItemText(gridlist,0,estado,"Finalizada",false,false) setElementData(localPlayer,"setText", guiGridListSetItemText(gridlist,0,estado,"Finalizada",false,false)) setElementData(localPlayer, "misionesCompletadas", getElementData(localPlayer, "misionesCompletadas") + 1) triggerServerEvent("giveMoney",localPlayer) showCursor(false,false) acti = false --acti es una variable de otra función, que es cuando empieza la misión. end,12000,1) setTimer(function () removeEventHandler("onClientRender", root, mision1complete) end,18000,1) marker = true --Marker la tengo para que el marker solo se pise una vez end end end end addEventHandler("onClientMarkerHit", root, misionCurs) La misión te manda a la dimensión 1 cuando la empiezas, y si pisas el marker te manda a la dim 0 de nuevo, aparecerán unos textos en dx, luego se quitaran, y aparecerán otros y así, después se borra el blip,ped,marker de la misión y se pone el texto de 'Finalizada' a la row que decía 'En curso', después se le sube +1 al texto que tengo que dice: misiones completadas 0/40, te da el dinero, se quita el cursor y se quita el texto de 'Mision Completada'. (El marker llamado 'mmker' está en otra función, se crea cuando aceptas la misión. No sé hacer eso. gg
  18. Voy a probar más tarde con eso.
  19. Para que quiero mover al jugador con la 'w'(? Gracias. Se puede hacer que se mueva para donde estes mirando? yo use Matrix para que el objeto se cree siempre donde este, pero no veo algo como Matrix.setPosition
  20. Quiero guardar las row que tiene una gridlist aunque me salga del servidor, mi pregunta es, si tendría que usar algo como esto: setElementData(player, "setText",guiGridListSetItemText(gridlist,row,column,"Finalizada",false,false) junto con un (y de evento onPlayerQuit/onPlayerLogout, claro): setAccountData(account, "getText", setElementData(player, "setText") Yo intente así pero no me guarda las row: --Client (2 lineas donde pongo el texto a la grid, y la elementData) guiGridListSetItemText(gridlist,0,estado,"Finalizada",false,false) setElementData(localPlayer, "setText", guiGridListSetItemText(gridlist,0,estado,"Finalizada",false,false)) --Server function saveDatas() local account = getPlayerAccount(source) if (account) then setAccountData(account, "finalizada", getElementData(source,"setText")) end end addEventHandler("onPlayerQuit", root, saveDatas) addEventHandler("onPlayerLogout", root, saveDatas) function loadDatas() local account = getPlayerAccount(source) if (isGuestAccount(account) == false) then local count = getAccountData(account,"finalizada") if count then setElementData(localPlayer, "setText", count) else setElementData(localPlayer, "setText", "Error") end end end addEventHandler("onPlayerLogin", root, loadDatas) Esta es la única forma que sé de guardar elementData's pero con rows no funciona e_E
  21. Podrías usar : local pl= #getElementsByType para contar a los jugadores que entren al robo y después usas una variable como if pl == 5 then. No sé si esto funcione, pero es lo único que se me ocurre xd.
  22. Disculpa por no contestar antes, pero tuve un problema con la internet. No creo que funcione porque ya tengo un x, y, z = getElementPosition(player), solo que esta en otra función, voy a probar poniéndolo en la misma función cuando este en la pc. (si, el x, y, z en la otra función es global, así que me debería dejar usarlo también en esa función, de todas formas probaré)
  23. Una pregunta un poca tonta, pero en fin. Mi problema es éste: function key() setElementPosition(theObject, x+1,y,z) end for i,v in ipairs(getElementsByType("player")) do bindKey(v,"w","down",key) end El objeto se mueve hacia adelante, pero solo una vez, o sea, preciono 'w' una vez y se mueve, pero si preciono la tecla de nuevo no pasa nada, no sé si es porque estoy haciendo un for para sacar al jugador, pero si pongo ' source ' me da error.
×
×
  • Create New...