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

Wysłany: 2019-02-04, 20:52


FreshuBiceps







Wiek: 19
Na forum: 3198 dni
Posty: 4
Nick w MP: FreshuY

Piwa: 35

Respekt: 50

Witam, posiadam nosze autorstwa IgorPL222. By?y pod SAMC, lecz zmieni?em na FDSA. Problem w tym, ?e normalnie wszystko cyka, opr?cz jednego. Gdy kolega z FDSA chce mnie wzi??? na nosze, pokazuje mu si?: "Ten gracz jest za daleko od Ciebie, b?d? nie jest na noszach!". Prosz? o rozwi?zanie.

EDIT: Zapomnialem doda? kodu. Oto on: (s.lua)
Autor: IgorPL222
Nie zezwalam na usuwanie tej notatki :)



local objectnosze = {} 
local nosze = {} 
local mrk = {} 
local cols = {} 
local timer = {} 
resourceRoot = getResourceRootElement(getThisResource()) 

function dnosze(plr) 
if getElementData(plr, "player:duty") == "FDSA" then 
x,y,z = getElementPosition(plr) 
x2,y2,z2 = getElementRotation(plr) 
local veh = getPedOccupiedVehicle(plr) 
if not veh then return end 
mrk[veh] = createMarker(0, 0, 0, "cylinder", 2, 255, 0, 0, 50) 
attachElements(mrk[veh], veh, 0, -4, -1) 
objectnosze[veh] = createObject(1997, 0, 0, 0, 0, 0, 0) 
setElementCollisionsEnabled(objectnosze[veh], false) 
attachElements(objectnosze[veh], veh, 0, -1, -0.5) 
outputChatBox("Dodano nosze do karetki!", plr, 255, 255, 255) 
end 
end 
addCommandHandler("dnosze", dnosze) 

function onMarker(plr) 
if getElementData(plr, "player:duty") == "FDSA" then 
outputChatBox("Aby wzi???/schowa? nosze wpisz: /wez-nosze", plr, 255, 255, 255) 
setElementData(plr, "able:to:nosze", true) 
end 
end 
addEventHandler("onMarkerHit", resourceRoot, onMarker) 

function onMarker2(plr) 
setElementData(plr, "able:to:nosze", false) 
end 
addEventHandler("onMarkerLeave", resourceRoot, onMarker2) 

function weznosze(plr) 
if not getElementData(plr, "able:to:nosze") then return outputChatBox("Nie jeste? w miejscu przeznaczonym do tego!", plr, 255, 255, 255) end 
local xd,yd,zd = getElementPosition(plr) 
cols[plr] = createColSphere ( xd, yd, zd, 2 ) 
veh = getElementsWithinColShape ( cols[plr], "marker" ) 
for i,v in ipairs(veh) do 
elements = getElementAttachedTo ( v ) 
end 
destroyElement(cols[plr]) 
if not getElementData(plr, "player:nosze") and getElementData(plr, "player:duty") == "FDSA" then 
setElementData(plr, "player:nosze", true) 
setElementData(plr, "nosze:plr", 1) 
outputChatBox("Wzi??e? nosze z karetki.", plr, 255, 255, 255) 
outputChatBox("Aby pu?ci?/prowadzi? nosze, wpisz: /pusc-nosze.", plr, 255, 255, 255) 
outputChatBox("Aby kogo? po?o?y? na nosze, wpisz: /na-nosze <NICK>.", plr, 255, 255, 255) 
outputChatBox("Aby kogo? zdj?? z noszy, wpisz: /z-noszy <NICK>.", plr, 255, 255, 255) 
nosze[plr] = createObject(1997, 0, 0, 0, 0, 0, 0) 
if getElementData(plr, "player:have:nanosze") then 
local elementy = getAttachedElements ( objectnosze[elements] ) 
for i,v in ipairs(elementy) do 
detachElements(v,objectnosze[elements]) 
attachElements(v, nosze[plr], 0, 0, 2) 
end 
end 
destroyElement(objectnosze[elements]) 
attachElements(nosze[plr], plr, 0, 1.5, -1) 
toggleControl(plr, "jump", false) 
toggleControl(plr, "sprint", false) 
toggleControl(plr, "enter_exit", false) 
setElementCollisionsEnabled(nosze[plr], false) 
elseif getElementData(plr, "player:nosze") and getElementData(plr, "player:duty") == "FDSA" then 
outputChatBox("Schowa?e? nosze do karetki.", plr, 255, 255, 255) 
setElementData(plr, "player:nosze", false) 
setElementData(plr, "nosze:plr", 0) 
objectnosze[elements] = createObject(1997, 0, 0, 0, 0, 0, 0) 
if getElementData(plr, "player:have:nanosze") then 
local elementy2 = getAttachedElements ( nosze[plr] ) 
for i,v in ipairs(elementy2) do 
detachElements(v, nosze[plr]) 
attachElements(v, objectnosze[elements], 0, 0, 2) 
end 
end 
destroyElement(nosze[plr]) 
attachElements(objectnosze[elements], elements, 0, -1, -0.5) 
setElementData(plr, "player:puscilnosze", false) 
toggleControl(plr, "jump", true) 
toggleControl(plr, "sprint", true) 
toggleControl(plr, "enter_exit", true) 
setElementCollisionsEnabled(objectnosze[elements], false) 
end 
end 
addCommandHandler("wez-nosze", weznosze) 

function znajdzGracza(plr, cel) 
local target = nil 
if (tonumber(cel) ~= nil) then 
target = Element.getByID("p"..cel) 
else 
for _,thePlayer in ipairs(Element.getAllByType("player")) do 
if string.find(string.gsub(thePlayer.name:lower(),"#%x%x%x%x%x%x", ""), cel:lower(), 0, true) then 
if target then 
outputChatBox("Znaleziono wi?cej ni? jednego u?ytkownika o podobnym nicku, podaj wi?cej liter.", plr, 255, 255, 255) 
return nil 
end 
target = thePlayer 
end 
end 
end 
return target 
end 


function puscnosze(plr) 
local x2,y2,z2 = getElementPosition(nosze[plr]) 
local x,y,z = getElementPosition(plr) 
if (getDistanceBetweenPoints3D(x,y,z,x2,y2,z2)<1.9) then 
if getElementData(plr, "player:nosze") and not getElementData(plr, "player:puscilnosze") then 
setElementData(plr, "player:puscilnosze", true) 
outputChatBox("Przesta?e? prowadzi? nosze.", plr, 255, 255, 255) 
r,y,x = getElementRotation(plr) 
detachElements(nosze[plr], plr) 
setElementRotation(nosze[plr], r,y,x) 
toggleControl(plr, "jump", true) 
toggleControl(plr, "sprint", true) 
toggleControl(plr, "enter_exit", true) 
elseif getElementData(plr, "player:nosze") and getElementData(plr, "player:puscilnosze") then 
setElementData(plr, "player:puscilnosze", false) 
outputChatBox("Ponownie prowadzisz nosze.", plr, 255, 255, 255) 
attachElements(nosze[plr], plr, 0, 1.5, -1) 
toggleControl(plr, "jump", false) 
toggleControl(plr, "sprint", false) 
toggleControl(plr, "enter_exit", false) 
end 
end 
end 
addCommandHandler("pusc-nosze", puscnosze) 

addCommandHandler("na-nosze", function(plr, cmd, cel) 
if getElementData(plr, "player:duty") == "FDSA" and not getElementData(plr, "player:puscilnosze") and getElementData(plr, "player:nosze") and getElementData(plr, "nosze:plr") == 1 then 
if not cel then 
outputChatBox("Podaj u?ytkownika, kt?rego chcesz po?o?y? na nosze!", plr, 255, 255, 255) 
return 
end 

local target = znajdzGracza(plr, cel) 
if not target then 
outputChatBox("Taki u?ytkownik nie istnieje!", plr, 255, 255, 255) 
return 
end 

if target == plr then 
outputChatBox("Nie mo?esz po?o?y? siebie na nosze!", plr, 255, 255, 255) 
return 
end 



x,y,z = getElementPosition(plr) 
circle = createColSphere(x,y,z, 30) 
players = isElementWithinColShape ( target, circle ) 
if players and not getElementData(target, "plr:onnosze") and not getElementData(plr, "player:have:nanosze") then 
setElementData(plr, "player:have:nanosze", true) 
attachElements(target, nosze[plr], 0, 0, 2) 
outputChatBox("Po?o?y?e? na nosze gracza o nicku: #00ff00"..getPlayerName(target), plr, 255, 255, 255, true) 
outputChatBox("Zosta?e? po?o?ony na nosze, przez gracza o nicku: #00ff00"..getPlayerName(plr), target, 255, 255, 255, true) 
setElementCollisionsEnabled(target, false) 
setPedAnimation ( target, "CRACK", "crckidle2", -1, true, false ) 
setElementData(target, "plr:onnosze", true) 
now = getTickCount() 
if getElementData(target, "plr:onnosze") then 
timer[target] = setTimer( function() 
local elemenciki = getElementAttachedTo ( target ) 
x5,y5,z5 = getElementRotation(elemenciki, "ZXY") 
setElementRotation(target, x5,y5,z5+90) 
end, 650, 0) 
end 
destroyElement(circle) 
else 
outputChatBox("Ten gracz jest za daleko od Ciebie, b?d? jest ju? na noszach!", plr, 255, 255, 255) 
destroyElement(circle) 
end 
end 
end) 

addCommandHandler("z-noszy", function(plr, cmd, cel) 
if getElementData(plr, "player:duty") == "FDSA" and not getElementData(plr, "player:puscilnosze") and getElementData(plr, "player:nosze") and getElementData(plr, "nosze:plr") == 1 then 
if not cel then 
outputChatBox("Podaj u?ytkownika, kt?rego chcesz ?ci?gn?? z noszy!", plr, 255, 255, 255) 
return 
end 

local target = znajdzGracza(plr, cel) 
if not target then 
outputChatBox("Taki u?ytkownik nie istnieje!", plr, 255, 255, 255) 
return 
end 

if target == plr then 
outputChatBox("Nie mo?esz ?ci?gn?? siebie z noszy!", plr, 255, 255, 255) 
return 
end 



x,y,z = getElementPosition(plr) 
circle = createColSphere(x,y,z, 30) 
players = isElementWithinColShape ( target, circle ) 
if players and getElementData(target, "plr:onnosze") and getElementData(plr, "player:have:nanosze") then 
setElementData(plr, "player:have:nanosze", false) 
outputChatBox("?ci?gna?e? z noszy gracza o nicku: #00ff00"..getPlayerName(target), plr, 255, 255, 255, true) 
outputChatBox("Zosta?e? sci?gniety z noszy, przez gracza o nicku: #00ff00"..getPlayerName(plr), target, 255, 255, 255, true) 
detachElements(target, nosze[plr]) 
setElementData(plr, "player:timer", false) 
setPedAnimation(target, false) 
setElementCollisionsEnabled(target, true) 
setElementData(target, "plr:onnosze", false) 
killTimer(timer[target]) 
destroyElement(circle) 
else 
outputChatBox("Ten gracz jest za daleko od Ciebie, b?d? nie jest na noszach!", plr, 255, 255, 255) 
destroyElement(circle) 
end 
end 
end) 

addEvent("onPlayerQuit", true) 
addEventHandler ( "onPlayerQuit", getRootElement(), function() 
if timer[source] then 
if isElement(timer[source]) then killTimer(timer[source]) end 
end 
end)


Komentarz DsJ3 dodany 2019-02-04, 22:35Następnym razem dodaj załącznik[BBCode] [lua]Kod[./lua] bez kropki
Ostatnio zmieniony przez DsJ3 2019-02-04, 22:35, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-02-05, 17:50


Gravgor







Wiek: 22
Na forum: 3760 dni
Posty: 380
Nick w MP: 1944

Piwa: 702

Respekt: 57,8

Na pewno gracz nie znajduj? si? w cuboidzie noszy, dlatego nie mo?na go z nich zdj??.
U?yj tej funkcji i sprawd? czy osoba jest w cuboidzie


Więcej informacji znajdziesz w Wikipedii MTA:

SetDevelopmentMode


Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-02-05, 17:58


FreshuBiceps







Wiek: 19
Na forum: 3198 dni
Posty: 4
Nick w MP: FreshuY

Piwa: 35

Respekt: 50

"Gravgor" napisał/a:

Na pewno gracz nie znajduj? si? w cuboidzie noszy, dlatego nie mo?na go z nich zdj??.
U?yj tej funkcji i sprawd? czy osoba jest w cuboidzie


Więcej informacji znajdziesz w Wikipedii MTA:

SetDevelopmentMode


tzn? XD bo ja taki w lua pocz?tkuj?cy, m?g?by kto? poprawi? kod? piwko stawiam :P

[ Dodano: 2019-02-05, 18:30 ]
Dobra, dodam jeszcze ?e teraz z koleg? stestowa?em, i mu dzia?aj? normalnie. Moze kwestia rangi administracyjnej? Na pocz?tku testowalem z kolega, ktory ma range "1" i nie dzialaly, lecz z typem rangi "7" u innego typiarza juz tak.

[ Dodano: 2019-02-05, 19:51 ]
Dobra, koniec tematu. Naprawi?em jakos :P

Postaw piwo autorowi tego posta
 

 
Tagi: nosze :: niedzialają.
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

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