Alexs Posted June 3, 2012 Posted June 3, 2012 Hola a Todos, queria saber como hacer que un Ped al ser asesinado no caiga al piso, intente con esto en el Client Side: pedfs = createPed ( 49, -1043.95996, -1056.78002, 129.211929 ) setElementFrozen ( pedfs, true ) pero el ped al morir se cae y el debug no dice nada, Que hago?
Castillo Posted June 3, 2012 Posted June 3, 2012 Decis que no haga la animacion de morir? podrias intentar con una animacion.
Alexs Posted June 3, 2012 Author Posted June 3, 2012 mmm... que yo sepa (por que lo hice) cuando un ped muere ya no hace mas la animacion de morir, habia pensado en que pasaria al ponerlo del lado del servidor.. Edit: Ya intente la animacion y ocurre lo mismo
iFoReX Posted June 3, 2012 Posted June 3, 2012 no creo que funcione pero buee... y si haces esto ? setTimer( function() setElementHealth( elPed, 100 ) end,500,0)
Alexs Posted June 3, 2012 Author Posted June 3, 2012 Mmm.. no creo,tengo un sistema que los mata al aparecer si es un ped
BorderLine Posted June 3, 2012 Posted June 3, 2012 tu idea es que el ped siga en pie? aunke lo maten? porq mejor no cancelas el evento onClientPedDamage y te evitas que caigan o sean asesinados? o es nesesario ke mueran?
Alexs Posted June 3, 2012 Author Posted June 3, 2012 tu idea es que el ped siga en pie? aunke lo maten?porq mejor no cancelas el evento onClientPedDamage y te evitas que caigan o sean asesinados? o es nesesario ke mueran? Gracias, Buena Idea, pero para evitar conflictos con otros peds usare getElementID
Alexs Posted June 3, 2012 Author Posted June 3, 2012 Intente asi: function nopedfs ( source ) local es = getElementID ( source ) if es == "pedfs" then cancelEvent() end end addEventHandler ( "onClientPedDamage", getRootElement(), nopedfs ) y asi: function nopedfs ( source ) local es = getElementModel ( source ) if es == 49 then cancelEvent() end end addEventHandler ( "onClientPedDamage", getRootElement(), nopedfs ) y el ped sigue muriendo! PD: El Ped = pedfs = createPed ( 49, -1043.95996, -1056.78002, 129.211929 )
Edikosh998 Posted June 3, 2012 Posted June 3, 2012 Osea, el source no se pone, porque seria el "this" (fijate lo que significa en la wiki) del evento. function nopedfs ( ) if source == pedfs then cancelEvent() end end addEventHandler ( "onClientPedDamage", getRootElement(), nopedfs ) pedfs devuelve un elemento no un string .
BorderLine Posted June 3, 2012 Posted June 3, 2012 y algo como esto serviria? pro ser en caso de ser mas de 1 ped, y te ahorras el elseif local pedfs = { createPed ( 49,-1043.95996,-1056.78002,129.211929), createPed ( 49,-1043.95996,-1056.78002,129.211929), createPed ( 49,-1043.95996,-1056.78002,129.211929) } function nopedfs ( ) if source == pedfs then cancelEvent() end end addEventHandler ( "onClientPedDamage", getRootElement(), nopedfs )
Edikosh998 Posted June 3, 2012 Posted June 3, 2012 ...Ahi pedfs devuelve una tabla... LINE NUMBER ON/OFF | EXPAND/CONTRACT | SELECT ALL local pedfs = { createPed ( 49,-1043.95996,-1056.78002,129.211929), createPed ( 49,-1043.95996,-1056.78002,129.211929), createPed ( 49,-1043.95996,-1056.78002,129.211929) } function nopedfs ( ) for i,v in ipairs(pedfs) do if source == v then cancelEvent() end end end addEventHandler ( "onClientPedDamage", getRootElement(), nopedfs )
BorderLine Posted June 3, 2012 Posted June 3, 2012 oh, perfecto.. gracias man me sirvio para un futuro server
Edikosh998 Posted June 3, 2012 Posted June 3, 2012 La idea es que entiendan los conceptos, porque asi se van avivando. No se hace todo de memoria, hay una logica siempre
BorderLine Posted June 3, 2012 Posted June 3, 2012 cierto y me gusta que expliquen el porque de algun error, o el porq cambiaron ciertas logicas. Algunos scripters nomas te envian el code bueno y nada, aveces ni sabes que se cambio, tienes que deducirlo por logica
Recommended Posts