Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2020-04-15, 22:30


Irvs







Wiek: 30
Na forum: 2680 dni
Posty: 48

Piwa: 3

Respekt: 50

Cze?? wszystkim,

Mam problem z kodem, kt?ry jak zauwa?y?em jest sklejk? 2 skrypt?w.
Problem polega na tym, ?e gracz zakuty w kajdanki jest rozkuwany gdy osoba kt?ra go zaku?a wejdzie do samochodu lub interioru, jak temu zaradzi??
Czy kto? b?dzie w stanie pom?c to naprawi??


 function kajdankii playercmdgracz )
    if getElementData(player,'player:faction') and getElementData(player,'player:faction')=='SAPD' then
        if not (graczthen
        outputChatBox("B??d! U?yj: /zakuj <nick/ID> ",player)
        return
        end
        local targetElement=exports['pystories-core']:findPlayer(playergracz)    
        if targetElement then
            local xygetElementPosition(player)
            local txtytz getElementPosition(targetElement)                
            local distance getDistanceBetweenPoints3D(xyztxtytz)                
          if (distance<=10then
            local dokogo=getElementData(targetElement,"kajdanki")
            if (not dokogo or not isElement(dokogo)) then    
                if isPedInVehicle(targetElementthen
                removePedFromVehicle(targetElement)
                end            
                
                toggleControl(targetElement"sprint"false )
                toggleControl(targetElement"jump"false )
                toggleControl(targetElement"aim_weapon"false )
                toggleControl(targetElement"fire"false )
                toggleControl(targetElement"crouch"false )
                triggerEvent("onKajdankiZakuj"rootplayertargetElement)
                outputChatBox("#0078FFZa?o?y?e? kajdanki.",player,25500true)
            --    outputChatBox("#0078FFPolicjant za?o?y? ci kajdanki. Nie mo?esz szybko biega?, skaka? ani prowadzi? pojazd?w.",targetElement,25500true)
            else
                toggleControl(targetElement"sprint"true )
                toggleControl(targetElement"jump"true )
                toggleControl(targetElement"crouch"true )
                triggerEvent("onKajdankiZakuj"rootplayertargetElement)
                outputChatBox("* #0078FF?ci?gn??e? graczowi kajdanki."player,25500true)
            --    outputChatBox("* #0078FFPolicjant ?ci?gna? Ci kajdanki.",targetElement,25500true)            
            end
          else
              outputChatBox("* #0078FFJeste? za daleko gracza, ?eby m?c go zaku?."player,25500true)
           end
        end    
    else
          outputChatBox("#FF0000Nie Jeste? Policjantem.",player)
    end
 end
 addCommandHandler("zakuj"kajdankii)




addEvent("onKajdankiZakuj"true)
addEventHandler("onKajdankiZakuj"resourceRoot, function(kto,kogo)
  triggerClientEvent(kogo"onKajdankiZakuj"resourceRootkto)
end)




local function follow()
    local dokogo=getElementData(localPlayer,"kajdanki")
    if (not dokogo or not isElement(dokogo)) then
      setElementData(localPlayer,"kajdanki"nil)
      removeEventHandler("onClientPreRender"rootfollow)
      triggerServerEvent("setPedAnimation"localPlayer)
      return
    end



    if (getPedOccupiedVehicle(dokogo) or getElementInterior(dokogo)~=getElementInterior(localPlayer) or getElementDimension(dokogo)~=getElementDimension(localPlayer)) then
      setElementData(localPlayer,"kajdanki"true)
    --  removeEventHandler("onClientPreRender"rootfollow)
      triggerServerEvent("setPedAnimation"localPlayer)
          setElementInterior(localPlayergetElementInterior(dokogo))
    setElementDimension(localPlayergetElementDimension(dokogo))
              local veh getPedOccupiedVehicle(dokogo)
            warpPedIntoVehicle localPlayerveh)     
            toggleControl(localPlayer"enter_exit"false )
      return
    end

    local x,y,z=getElementPosition(dokogo)
    local x2,y2,z2=getElementPosition(localPlayer)
    local kat=0
    kat=math.deg(math.atan(-1*(x2-x)/(y2-y)))
    if (y2-y)<0 then
        kat=kat+180.0
    end
    kat=(kat+180)%360
    setPedRotation(localPlayerkat)
    local dist=getDistanceBetweenPoints3D(x,y,z,x2,y2,z2)
    if (dist<1then
        setControlState("forwards"false)
    else
        setControlState("forwards"true)
    end
    if (dist>30then
      setElementPosition(localPlayerx+math.random(-1,1), y+math.random(-1,1), z+math.random(0,10)/10)
      return
    end
    if (dist>2then
        setControlState("sprint"true)
        setControlState("walk"false)
    else
        setControlState("walk"true)
        setControlState("sprint"false)
    end
end

addEvent("onKajdankiZakuj"true)
addEventHandler("onKajdankiZakuj"resourceRoot, function(kto)
  local obecnie=getElementData(localPlayer"kajdanki")
  if (obecnie and obecnie==ktothen
      setElementData(localPlayer,"kajdanki"false)
      removeEventHandler("onClientPreRender"rootfollow)
      triggerServerEvent("setPedAnimation"localPlayer)
      outputChatBox(getPlayerName(kto):gsub("#%x%x%x%x%x%x","") .. " zdejmuje z Ciebie kajdanki.",0,0,255)
    return
  end
  outputChatBox(getPlayerName(kto):gsub("#%x%x%x%x%x%x","") .. " zakuwa Ci? w kajdanki.",0,0,255)
  setElementData(localPlayer,"kajdanki"kto)
  addEventHandler("onClientPreRender"rootfollow)
end)

-------------------------------

local obecnie=getElementData(localPlayer"kajdanki")
if (obecnie and isElement(obecnie)) then
  addEventHandler("onClientPreRender"rootfollow)

end


Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-04-15, 23:02


Wilq







Wiek: 24
Na forum: 4428 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Usu? linijke dotycz?ca ustawiania element daty "kajdanki" na true w warunku getPedOccupiedVehicle w funkcji follow. Wpisujesz dane potrzebne do ustawiania pozycji i wtedy Ci? rozkuwa.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-04-20, 12:34


Irvs







Wiek: 30
Na forum: 2680 dni
Posty: 48

Piwa: 3

Respekt: 50

Kto? potrafi pom?c?

Okej, a jak zrobi? by w momencie wsiadania do samochodu osoba zakuta te? wsiad?a?

Dopisa?em w funkcji follow tam gdzie by?o ustawianie arg. na True przy ElementDacie taki kod i niestety nie dzia?a


local veh getPedOccupiedVehicle(dokogo)
warpPedIntoVehicle localPlayerveh)     
toggleControl(localPlayer"enter_exit"false )


debug nie pokazuje ?adnych b??d?w przy wsiadaniu do auta maj?c zakut? osobe.

oraz jest problem z teleportem do interioru

po warunku

    if (getPedOccupiedVehicle(dokogo) or getElementInterior(dokogo)~=getElementInterior(localPlayer) or getElementDimension(dokogo)~=getElementDimension(localPlayer)) then

da?em nast?puj?cy kod i do pozycji przenosi, lecz interior i dimension pozostaj? stare


      setTimer ( function()
          setElementInterior(localPlayergetElementInterior(dokogo))
    setElementDimension(localPlayergetElementDimension(dokogo))
    local x,y,z=getElementPosition(dokogo)
    setElementPosition(localPlayerx+1yz)
    end2000)


[ Dodano: 2020-04-18, 03:47 ]

Postaw piwo autorowi tego posta
 

 
Tagi: kajdanki
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA Odpowiedz do tematu

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku