BorderLine Posted July 6, 2013 Posted July 6, 2013 podrias usar el script de Glue que viene con un comando aparte del bind llamado "glue" usa executeCommandHandler O sino creo que attatchElement
Xperia Posted July 7, 2013 Author Posted July 7, 2013 function freeze1(source) executeCommandHandler("glue") setElementFrozen( source, true ) setPedAnimation( source, "ped", "ARRESTgun",0,false,false,false) toggleControl ( source, "jump", false ) toggleControl ( source, "forwards", false ) toggleControl ( source, "backwards", false ) toggleControl ( source, "left", false ) toggleControl ( source, "right", false ) toggleControl ( source, "sprint", false ) toggleControl ( source, "walk", false ) toggleControl ( source, "fire", false ) end addEventHandler("onMarkerHit",marker1,freeze1) Me da error en el primer argumento de toogleControl.
BorderLine Posted July 7, 2013 Posted July 7, 2013 en la funcion onMarkerHit, source es el marcador que toca el player. nose si confunda la funcion al defnir hitelement con source, de todas maneras cambiala function freeze1(hitElement) executeCommandHandler("glue", hitElement) setElementFrozen( hitElement, true ) setPedAnimation( hitElement, "ped", "ARRESTgun",0,false,false,false) toggleControl ( hitElement, "jump", false ) toggleControl ( hitElement, "forwards", false ) toggleControl ( hitElement, "backwards", false ) toggleControl ( hitElement, "left", false ) toggleControl ( hitElement, "right", false ) toggleControl ( hitElement, "sprint", false ) toggleControl ( hitElement, "walk", false ) toggleControl ( hitElement, "fire", false ) end addEventHandler("onMarkerHit",marker1,freeze1)
Xperia Posted July 7, 2013 Author Posted July 7, 2013 en la funcion onMarkerHit, source es el marcador que toca el player. nose si confunda la funcion al defnir hitelement con source, de todas maneras cambiala function freeze1(hitElement) executeCommandHandler("glue", hitElement) setElementFrozen( hitElement, true ) setPedAnimation( hitElement, "ped", "ARRESTgun",0,false,false,false) toggleControl ( hitElement, "jump", false ) toggleControl ( hitElement, "forwards", false ) toggleControl ( hitElement, "backwards", false ) toggleControl ( hitElement, "left", false ) toggleControl ( hitElement, "right", false ) toggleControl ( hitElement, "sprint", false ) toggleControl ( hitElement, "walk", false ) toggleControl ( hitElement, "fire", false ) end addEventHandler("onMarkerHit",marker1,freeze1) Me sigue dando error.
NodZen Posted July 7, 2013 Posted July 7, 2013 Nosé entonces, probá sacarle el hitElement de la funcion.
Xperia Posted July 7, 2013 Author Posted July 7, 2013 Nada.Aqui el script: Client: marker1 = createMarker(0,0,0,"arrow",0.5,0,0,0,0) addEvent("onEnterPlayerVeh",true) addEventHandler("onEnterPlayerVeh",root, function(w) if ( getElementModel( source ) == 470 ) then w = createWeapon ("minigun", 0, 0, 0 ) end end ) addEvent("onPlayerFireInVeh",true) addEventHandler("onPlayerFireInVeh",root, function() if isElementWithinMarker(localPlayer, marker1) then setWeaponState ( w, "firing") end end ) addEvent("onPlayerStopFireInVeh",true) addEventHandler("onPlayerStopFireInVeh",root, function() if isElementWithinMarker(localPlayer, marker1) then setWeaponState ( w, "ready") end end ) Server: marker1 = createMarker(0,0,0,"arrow",0.5,0,0,0,0) function glueElements(w) triggerClientEvent("onEnterPlayerVeh",root,w) attachElements ( w, source, 0, 0.5, 1.48, 0, 5, 90) attachElements( marker1,source, 0, -0.5, 0.89, 0, 0, 0) setElementAlpha(w,255) end addEventHandler("onVehicleEnter",getRootElement(),glueElements) function checkVeh1() triggerClientEvent("onPlayerFireInVeh",getRootElement(),w) end function checkVeh2() triggerClientEvent("onPlayerStopFireInVeh",getRootElement(),w) end function freeze1(hitElement) executeCommandHandler("glue",hitElement) setElementFrozen( hitElement, true ) setPedAnimation( hitElement, "ped", "ARRESTgun",0,false,false,false) toggleControl ( hitElement, "jump", false ) toggleControl ( hitElement, "forwards", false ) toggleControl ( hitElement, "left", false ) toggleControl ( hitElement, "right", false ) toggleControl ( hitElement, "sprint", false ) toggleControl ( hitElement, "walk", false ) toggleControl ( hitElement, "fire", false ) end addEventHandler("onMarkerHit",marker1,freeze1) function unfreeze1(source) executeCommandHandler("unglue") setPedAnimation( source, false ) setElementFrozen( source, false ) toggleControl ( source, "jump", true ) toggleControl ( source, "forwards", true ) toggleControl ( source, "backwards", true ) toggleControl ( source, "left", true ) toggleControl ( source, "right", true ) toggleControl ( source, "sprint", true ) toggleControl ( source, "walk", true ) toggleControl ( source, "fire", true ) end function binds(player) bindKey(player,"mouse1","down",checkVeh1) bindKey(player,"mouse1","up",checkVeh2) bindKey(player,"enter","down",unfreeze1) end addEventHandler("onResourceStart",getRootElement(),binds)
Sasu Posted July 8, 2013 Posted July 8, 2013 --Client addEvent("onEnterPlayerVeh",true) addEventHandler("onEnterPlayerVeh",root, function(veh) if ( getElementModel( veh ) == 470 ) then w = createWeapon ("minigun", 0, 0, 0 ) attachElements ( w, veh, 0, 0, 1.38, 0, 30, 90) end end ) addEvent("onPlayerFireInVeh",true) addEventHandler("onPlayerFireInVeh",root, function() setWeaponState ( w, "firing") end ) addEvent("onPlayerStopFireInVeh",true) addEventHandler("onPlayerStopFireInVeh",root, function() setWeaponState ( w, "ready") end ) --Server marker1 = createMarker(0,0,0,"arrow",1,0,0,0,0) function glueElements(w) triggerClientEvent("onEnterPlayerVeh",root, source) attachElements ( w, source, 0, 0.5, 1.48, 0, 5, 90) attachElements( marker1,source, 0, 0, 2) setElementAlpha(w, 255) end addEventHandler("onVehicleEnter",getRootElement(),glueElements) function checkVeh1(source) if isElementWithinMarker(source, marker1) then triggerClientEvent("onPlayerFireInVeh", root) end end function checkVeh2(source) if isElementWithinMarker(source, marker1) then triggerClientEvent("onPlayerStopFireInVeh", root) end end function freeze1(hitElement) if getElementType(hitElement) == "player" then executeCommandHandler("glue", hitElement) setElementFrozen( hitElement, true ) setPedAnimation( hitElement, "ped", "ARRESTgun",0,false,false,false) toggleControl ( hitElement, "jump", false ) toggleControl ( hitElement, "forwards", false ) toggleControl ( hitElement, "left", false ) toggleControl ( hitElement, "right", false ) toggleControl ( hitElement, "sprint", false ) toggleControl ( hitElement, "walk", false ) toggleControl ( hitElement, "fire", false ) end end addEventHandler("onMarkerHit",marker1,freeze1) function unfreeze1(source) executeCommandHandler("unglue", source) setPedAnimation( source, false ) setElementFrozen( source, false ) toggleControl ( source, "jump", true ) toggleControl ( source, "forwards", true ) toggleControl ( source, "backwards", true ) toggleControl ( source, "left", true ) toggleControl ( source, "right", true ) toggleControl ( source, "sprint", true ) toggleControl ( source, "walk", true ) toggleControl ( source, "fire", true ) end function binds() for _, player in ipairs(getElementsByType("player")) do bindKey(player,"mouse1","down",checkVeh1, player) bindKey(player,"mouse1","up",checkVeh2, player) bindKey(player,"enter","down",unfreeze1, player) end end addEventHandler("onResourceStart",getRootElement(),binds) function bindJoin() bindKey(source,"mouse1","down",checkVeh1, source) bindKey(source,"mouse1","up",checkVeh2, source) bindKey(source,"enter","down",unfreeze1, source) end addEventHandler("onPlayerJoin", root, bindJoin) Nota: Dentro de ese lua, te dice que parte es client y que parte es server. Cuidado.
Xperia Posted July 8, 2013 Author Posted July 8, 2013 Ahora el problema es que el player no rota en la misma rotacion que el auto.¿Con las siguientes funciones podria hacer que siguiera la rotacion? getVehicleRotation setPlayerRotation ¿Y para que vuelva a la rotacion normal que funcion uso?
Recommended Posts