Jump to content

Anzo

Members
  • Posts

    276
  • Joined

  • Last visited

  • Days Won

    1

Anzo last won the day on November 23 2023

Anzo had the most liked content!

About Anzo

  • Birthday 15/10/2002

Details

  • Gang
    LATIN
  • Location
    Venezuela
  • Occupation
    Student
  • Interests
    Play soccer and programing in MTA.

Recent Profile Visitors

1,406 profile views

Anzo's Achievements

Peon

Peon (20/54)

2

Reputation

  1. Ahh... Que cuando me salgo del servidor se borra la variable, ¿cierto o me equivoco? si es así, ¿por comandos si lo podría hacer o tengo que usar elementData en este caso? Si lo que quiero hacer si se puede hacer con los eventos onPlayerQuit y onPlayerLogin, por favor, dímelo. Pd: La cuenta hit es mía, esta ya no la usaré más pero como el móvil se conecta de una vez a esta no me he fijado y escribí con esta...
  2. Supongo que es porque haces el trigger en la función donde lo creas, ¿por qué no intentas poner la función donde lo creas por separado y en el trigger, usas el onClientRender? No estoyseguro si funcione pero debería hacerlo
  3. Bueno, como saben tocolor es una función client, pero estoy usando un export para crear un dxText editado desde client y server, tiene 4 argumentos: text, color, fontSize y font; rl problema es con el color, en client fácilmente puedo usar tocolor(255,0,0,255) y se le cambia el color, pero, y en server cómo hago para qur el formato sea solo: R, G, B, A sin usar tocolor? Estoy usandoalgo como esto: local color = color or tocolor(255,255,255,255) Eso en la función donde se crea el dx. Si necesitan una mejor explicación cuando esté en la pc explicó mejor, si es necesario.
  4. Try this (not tested) function onQuit() local Team = getPlayerTeam(source) local account = getPlayerAccount(source) if (Team) and (not isGuessAccount(account)) then setAccountData(account, "myTeam", getTeamName(Team)) end end addEventHandler("onPlayerQuit", root, onQuit) addEventHandler("onPlayerLogout", root, onQuit) function onLogin() local account = getPlayerAccount( source ) local theTeam = getAccountData(account, "myTeam") if (theTeam) and (getTeamFromName(theTeam)) then setAccountData(account, "myTeam", getTeamFromName(theTeam)) end end addEventHandler("onPlayerLogin", root, onLogin)
  5. Prueba con esto, no lo he probado (tampoco sé si funciona) local x,y,_ = getElementPosition(localPlayer) local radar = createRadarArea(x, y, 60,60) local colp = createColRectangle(x, y, 60,60) function onHit(hit) if (getElementType(hit) == "player") then addEventHandler ( "onClientPedDamage", getRootElement(), sendHeadshot ) addEventHandler ( "onClientPlayerDamage", getRootElement(), sendHeadshot ) end end addEventHandler("onClientColShapeHit", colp, onHit) function onLeave(leave) if (getElementType(leave) == "player") then removeEventHandler ( "onClientPedDamage", getRootElement(), sendHeadshot ) removeEventHandler ( "onClientPlayerDamage", getRootElement(), sendHeadshot ) end end addEventHandler("onClientColShapeLeave", colp, onLeave) function sendHeadshot ( attacker, weapon, bodypart, loss ) if attacker == getLocalPlayer() then if bodypart == 9 then triggerServerEvent( "onServerHeadshot", getRootElement(), source, attacker, weapon, loss ) setElementHealth ( source, 0 ) setPedHeadless( source, true ) end end end
  6. Si lo hace, solo quería saber si era mejor hacer la col desde server directamente, pero de que sirve, sirve.
  7. Siempre pensé que era obligatorio poner los x,y,z, creo que debo leer más la wiki :'v. Gracias @aka Blue Y lo tengo hecho así: --Client local cols = {} function createCol() if (not autoZombieKillEnabled) then local x,y,_ = getElementPosition(localPlayer) cols[localPlayer] = createColCircle(x,y, 10) attachElements(cols[localPlayer], localPlayer) autoZombieKillEnabled = true outputChatBox("Col creada") else autoZombieKillEnabled = false if isElement((cols[localPlayer])) then destroyElement(cols[localPlayer]) cols[localPlayer] = nil outputChatBox("Col destruida") end end end addCommandHandler("col", createCol) function onClientHit(hit) if (source == cols[localPlayer]) then if (getElementType(hit) == "ped") and (getElementData(hit, "zombie")) then outputChatBox("Zombie ha entrado") triggerServerEvent("autoZombieKill", getLocalPlayer(), hit) end end end addEventHandler("onClientColShapeHit", root, onClientHit) --Server function autoZombieKill(hit) killPed(hit, source) end addEvent("autoZombieKill", true) addEventHandler("autoZombieKill", root, autoZombieKill)
  8. Y cómo sería?... function createCol() if (not autoZombieKillEnabled) then local x,y,_ = getElementPosition(localPlayer) cols[localPlayer] = createColCircle(x,y, 10) attachElements(cols[localPlayer], localPlayer, x,y) autoZombieKillEnabled = true outputChatBox("Col creada") else autoZombieKillEnabled = false if isElement((cols[localPlayer])) then destroyElement(cols[localPlayer]) cols[localPlayer] = nil outputChatBox("Col destruida") end end end addCommandHandler("col", createCol) Ahí crea la col y todo, pero no la pega al jugador (se queda en lugar que se creó y va matando a los zombies)
  9. Bueno, ya lo hice de la manera que me dijiste y funcionó perfecto, gracias. Pero tengo una pregunta, esto no daría lag? local cols = {} function frameCol() if (cols[localPlayer]) then local x,y,z= getElementPosition(localPlayer) setElementPosition(cols[localPlayer], x,y,z) end end addEventHandler("onClientRender", root, frameCol) (La colshape la estoy creando por un comando, esa es solo la parte cuando se actualiza la posición)
  10. Todavía no he probado nada pero tengo una duda, con attachElements no funcionará? la wiki dice que también sirve con colshapes pero busque en unos post y dicen que no se puede usar con colshapes... De todas formas más tarde si probaré de las dos maneras
  11. Mhm... Cierto, como no pense en onClientRender... @aka Blue voy a probar a ver que tal
  12. Hola, estoy tratando de hacer una "zona para matar zombies automáticamente" con una colshape, pero quisiera saber que puedo usar para que la colshape se vaya moviendo según a donde el jugador se mueva, es decir que la posición se actualice o algo así. Lo que quiero es que mientras te muevas (supongamos que es 20 el radio de la colshape) y un zombie entre a la colshape se muera, y si tu te acercas a ellos y haces que entren también se mueren. He leído que es complicado hacer algo como esto (que la colshape te siga) pero nunca he probado así que no puedo decir nada, aunque tampoco se me ocurre nada. Pensaba hacerlo con getDistanceBetweenPoints3D pero creo que es más eficiente hacerlo con la colshape.
  13. Bueno... Use setAccountData y getAccountData para ello y me funciono bien, lo que hice fue que al precionar el botón de guardar use setAccountData para guardar el texto en la cuenta, luego use un trigger a client cuando el panel esté abierto y se colocará el texto que tenias al darle a guardar
  14. Para saber cuál es el skin del zombie al que mataste vas a tener que especificar que el zombie "existe" o que solo obtenga el skin del "zombie" y no el de cualquier ped, para hacerlo hay que utilizar un elementData del recurso de zombies, el cual es: setElementData(zomb, "zombie", true) Eso lo puedes encontrar en varias funciones exportadas del recurso, te dejo una función en donde se encuentra para que veas: Y ahora para obtener el skin del zombie que mataste solo usa: function ZombiSkin(killer) if (getElementType(source) == "ped") then -- Especificamos que el elemento sea un ped if (getElementData(source, "zombie") == true) then -- Sin esta linea tomaria el skin de cualquier ped y no el de los zombies local model = getElementModel(source) -- Obtenemos el id del skin que tiene el zombie outputChatBox("Skin de zombie: #ff0000"..model, killer, 255,255,255,true) end end end addEvent("onZombieWasted", true) addEventHandler("onZombieWasted", root, ZombiSkin) OJO: No es necesario usar esta linea: if (getElementData(source) == true) then porque ya estamos usando el evento que detecta cuando un zombie muere, si usáramos onPedWasted ahí si seria necesario especificar esa linea, porque pues como su nombre lo dice el onPedWasted se activa cuando un ped muere. Al final no era necesario usar el elementData para hacer lo que quieres, pero si en algún momento quieres hacer algo con los zombies en client-side esta linea te servirá (if (getElementData(source) == true) then) porque onZombieWasted es solo para server-side. Espero hayas entendido.
×
×
  • Create New...