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

Wysłany: 2020-03-07, 13:48


RudyTMM
[Usunięty]









Witam, robie dla pewnej osoby skrypt, poniewa? mnie poprosi?a, jest to skrypt na przebieralnie frakcji SAPD, co zrobic zeby okienko wyswietla?o sie dla 1 element daty czyli dla [lua]if getElementData(el,'player:duty','SAPD')[/lua] jak to zrobic?

kod: [lua]local screenX,screenY = guiGetScreenSize ()
local zoom = 1
if screenX < 1920 then
zoom = math.min(2, 1920/screenX)
end

function isCursorOnElement( posX, posY, width, height )
if isCursorShowing( ) then
local mouseX, mouseY = getCursorPosition( )
local clientW, clientH = guiGetScreenSize( )
local mouseX, mouseY = mouseX * clientW, mouseY * clientH
if ( mouseX > posX and mouseX < ( posX + width ) and mouseY > posY and mouseY < ( posY + height ) ) then
return true
end
end
return false
end

local marker = createMarker(-2439.96, 533.06, -67.63,"cylinder",1.2,150,150,150,100)
setElementInterior(marker,0)
local bg
local font = dxCreateFont("f/Akrobat-Bold.otf",14)

maleSkins = {280, 281, 282, 283, 285, 286, 287, 288}
femaleSkins = {9}

zarzad = {10,11,27,17}

local class = {}
class.__index = class

function class:drawElements ()
if self.active then
dxDrawImage(screenX-1600/zoom,100/zoom,420/zoom,120/zoom,"i/main.png")
if self.female or self.male then
if isCursorOnElement(screenX-1600/zoom,220/zoom,420/zoom,55/zoom) then
dxDrawImage(screenX-1600/zoom,220/zoom,420/zoom,55/zoom,"i/wroc2.png")
else
dxDrawImage(screenX-1600/zoom,220/zoom,420/zoom,55/zoom,"i/wroc.png")
end
end
if self.main then
if isCursorOnElement(screenX-1600/zoom,220/zoom,420/zoom,55/zoom) then
dxDrawImage(screenX-1600/zoom,220/zoom,420/zoom,55/zoom,"i/meskie2.png")
else
dxDrawImage(screenX-1600/zoom,220/zoom,420/zoom,55/zoom,"i/meskie.png")
end
if isCursorOnElement(screenX-1600/zoom,275/zoom,420/zoom,55/zoom) then
dxDrawImage(screenX-1600/zoom,275/zoom,420/zoom,55/zoom,"i/zenskie2.png")
else
dxDrawImage(screenX-1600/zoom,275/zoom,420/zoom,55/zoom,"i/zenskie.png")
end
if isCursorOnElement(screenX-1600/zoom,330/zoom,420/zoom,55/zoom) then
dxDrawImage(screenX-1600/zoom,330/zoom,420/zoom,55/zoom,"i/zarzad2.png")
else
dxDrawImage(screenX-1600/zoom,330/zoom,420/zoom,55/zoom,"i/zarzad.png")
end
if isCursorOnElement(screenX-1600/zoom,385/zoom,420/zoom,55/zoom) then
dxDrawImage(screenX-1600/zoom,385/zoom,420/zoom,55/zoom,"i/wroc2.png")
else
dxDrawImage(screenX-1600/zoom,385/zoom,420/zoom,55/zoom,"i/wroc.png")
end
end
if self.male then
for i = 1+self.scroll,6+self.scroll do
local pos = i - self.scroll
if isCursorOnElement(screenX-1600/zoom,(220+(pos*55))/zoom,420/zoom,55/zoom) then
dxDrawImage(screenX-1600/zoom,(220+(pos*55))/zoom,420/zoom,55/zoom,"i/none2.png")
else
dxDrawImage(screenX-1600/zoom,(220+(pos*55))/zoom,420/zoom,55/zoom,"i/none.png")
end
if maleSkins[i] then
dxDrawText(maleSkins[i],screenX-870/zoom,(490+(pos*110))/zoom,10/zoom,10/zoom,tocolor(255,255,255,255),1,font,"center","center",false,false,true)
end
end
end
if self.female then
for i = 1+self.scroll,6+self.scroll do
local pos = i - self.scroll
if isCursorOnElement(screenX-1600/zoom,(220+(pos*55))/zoom,420/zoom,55/zoom) then
dxDrawImage(screenX-1600/zoom,(220+(pos*55))/zoom,420/zoom,55/zoom,"i/none2.png")
else
dxDrawImage(screenX-1600/zoom,(220+(pos*55))/zoom,420/zoom,55/zoom,"i/none.png")
end
if femaleSkins[i] then
dxDrawText(femaleSkins[i],screenX-870/zoom,(490+(pos*110))/zoom,10/zoom,10/zoom,tocolor(255,255,255,255),1,font,"center","center",false,false,true)
end
end
end
if self.zarzad then
for i = 1+self.scroll,6+self.scroll do
local pos = i - self.scroll
if isCursorOnElement(screenX-1600/zoom,(220+(pos*55))/zoom,420/zoom,55/zoom) then
dxDrawImage(screenX-1600/zoom,(220+(pos*55))/zoom,420/zoom,55/zoom,"i/none2.png")
else
dxDrawImage(screenX-1600/zoom,(220+(pos*55))/zoom,420/zoom,55/zoom,"i/none.png")
end
if zarzad[i] then
dxDrawText(zarzad[i],screenX-870/zoom,(490+(pos*110))/zoom,10/zoom,10/zoom,tocolor(255,255,255,255),1,font,"center","center",false,false,true)
end
end
end
end
end

function class:onMarkerElementHit (el,dim)
if el ~= localPlayer and dim then return end
if getElementType(el) ~= "player" then return end
addEventHandler("onClientRender",root,self.renderFunc)
bg = dxCreateTexture("i/main.png","argb",false,"clamp")
showChat(false)
showCursor(true)
ped1 = createPed(getElementModel(localPlayer),217.4,-98.4,1005.3)
ped1:setInterior(0)
ped1:setRotation(0,0,180)
setCameraInterior(0)
setCameraTarget(player, true)
setElementPosition(player, -2439.31, 530.52, -67.63)

self.active = true
self.main = true
end
function HitParking(he,md)
if getElementData(he,"player:duty") == "SAPD" then
addEventHandler("onClientRender",root,pokazgui)
oknoparkingu = true
showCursor(true)
end
end
addEventHandler ( "onClientMarkerHit", marker, HitParking )

function class:onClick (btn,state)
if btn and getKeyState("mouse1") and state then
if self.active then
if self.main then
if isCursorOnElement(screenX-1600/zoom,220/zoom,420/zoom,55/zoom) then
self.female = false
self.main = false
self.male = true
return end
if isCursorOnElement(screenX-1600/zoom,275/zoom,420/zoom,55/zoom) then
self.male = false
self.main = false
self.female = true
return end
if isCursorOnElement(screenX-1600/zoom,385/zoom,420/zoom,55/zoom) then
removeEventHandler("onClientRender",root,self.renderFunc)
self.active = false
self.scroll = 0
self.main = false
self.female = false
self.male = false
self.zarzad = false
setCameraTarget(localPlayer,nil)
destroyElement(ped1)
showChat(true)
showCursor(false)
return end
if isCursorOnElement(screenX-1600/zoom,330/zoom,420/zoom,55/zoom) and getElementData(localPlayer,"zarzad") then
self.main = false
self.zarzad = true
return end
end
if self.male or self.female or self.zarzad then
if isCursorOnElement(screenX-1600/zoom,220/zoom,420/zoom,55/zoom) then
self.male = false
self.female = false
self.zarzad = false
self.scroll = 0
self.main = true
end
end
if self.male then
for i = 1+self.scroll,self.max+self.scroll do
local pos = i - self.scroll
if isCursorOnElement(screenX-1600/zoom,(220+(pos*55))/zoom,420/zoom,55/zoom) then
class:selectSkin(maleSkins[i])
end
end
end
if self.female then
for i = 1+self.scroll,self.max+self.scroll do
local pos = i - self.scroll
if isCursorOnElement(screenX-1600/zoom,(220+(pos*55))/zoom,420/zoom,55/zoom) then
class:selectSkin(femaleSkins[i])
end
end
end
if self.zarzad then
for i = 1+self.scroll,self.max+self.scroll do
local pos = i - self.scroll
if isCursorOnElement(screenX-1600/zoom,(220+(pos*55))/zoom,420/zoom,55/zoom) then
class:selectSkin(zarzad[i])
end
end
end
end
end
end

function class:moveUp ()
if self.active then
self.scroll = self.scroll -1 >= 0 and self.scroll -1 or self.scroll
end
end

function class:moveDown ()
if self.active then
if self.male then
self.scroll = self.scroll + 3 + self.max <= #maleSkins and self.scroll + 3 or self.scroll
end
if self.female then
self.scroll = self.scroll + 3 + self.max <= #femaleSkins and self.scroll + 3 or self.scroll
end
end
end

function class:selectSkin (id)
if id then
triggerServerEvent("setPlayerSkin",localPlayer,id)
ped1:setModel(id)
end
end

function class:main ()
self.onMarkerHitFunc = function (a,b) self:onMarkerElementHit (a,b) end
self.onClickFunc = function (a,b) self:onClick (a,b) end
self.moveUpFunc = function () self:moveUp () end
self.moveDownFunc = function () self:moveDown () end
self.renderFunc = function () self:drawElements () end

addEventHandler("onClientMarkerHit",marker,self.onMarkerHitFunc)
addEventHandler("onClientClick",root,self.onClickFunc)

bindKey("mouse_wheel_down","both",self.moveDownFunc)
bindKey("mouse_wheel_up","both",self.moveUpFunc)

self.active = false
self.female = false
self.male = false
self.zarzad = false
self.main = false
self.scroll = 0
self.max = 10
end

class:main ()
setCameraTarget(localPlayer,nil)
[/lua]

 

 
Wysłany: 2020-03-07, 13:53


P.Wiśnia

Programista LUA






Wiek: 24
Na forum: 4044 dni
Posty: 568
Nick w MP: P.Wiśnia

Piwa: 376

Respekt: 100
Respekt: 100

Znajd? to:
function class:onMarkerElementHit (el,dim)
if el ~= localPlayer and dim then return end 
if getElementType(el) ~= "player" then return end 

Zmie? na:
function class:onMarkerElementHit (el,dim)
if el ~= localPlayer and dim then return end 
if getElementType(el) ~= "player" then return end 
if not getElementData(el,"player:duty") == "SAPD" then return end


Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-03-07, 14:07


RudyTMM
[Usunięty]









nadal nie dzia?a poniewa? jestem na lokalnym serwerze i chce se zmienic skina i nadal moge jako zwyk?y gracz kod [lua] local screenX,screenY = guiGetScreenSize ()
local zoom = 1
if screenX < 1920 then
zoom = math.min(2, 1920/screenX)
end

function isCursorOnElement( posX, posY, width, height )
if isCursorShowing( ) then
local mouseX, mouseY = getCursorPosition( )
local clientW, clientH = guiGetScreenSize( )
local mouseX, mouseY = mouseX * clientW, mouseY * clientH
if ( mouseX > posX and mouseX < ( posX + width ) and mouseY > posY and mouseY < ( posY + height ) ) then
return true
end
end
return false
end

local marker = createMarker(-2439.96, 533.06, -67.63,"cylinder",1.2,150,150,150,100)
setElementInterior(marker,0)
local bg
local font = dxCreateFont("f/Akrobat-Bold.otf",14)

maleSkins = {280, 281, 282, 283, 285, 286, 287, 288}
femaleSkins = {9}

zarzad = {10,11,27,17}

local class = {}
class.__index = class

function class:drawElements ()
if self.active then
dxDrawImage(screenX-1600/zoom,100/zoom,420/zoom,120/zoom,"i/main.png")
if self.female or self.male then
if isCursorOnElement(screenX-1600/zoom,220/zoom,420/zoom,55/zoom) then
dxDrawImage(screenX-1600/zoom,220/zoom,420/zoom,55/zoom,"i/wroc2.png")
else
dxDrawImage(screenX-1600/zoom,220/zoom,420/zoom,55/zoom,"i/wroc.png")
end
end
if self.main then
if isCursorOnElement(screenX-1600/zoom,220/zoom,420/zoom,55/zoom) then
dxDrawImage(screenX-1600/zoom,220/zoom,420/zoom,55/zoom,"i/meskie2.png")
else
dxDrawImage(screenX-1600/zoom,220/zoom,420/zoom,55/zoom,"i/meskie.png")
end
if isCursorOnElement(screenX-1600/zoom,275/zoom,420/zoom,55/zoom) then
dxDrawImage(screenX-1600/zoom,275/zoom,420/zoom,55/zoom,"i/zenskie2.png")
else
dxDrawImage(screenX-1600/zoom,275/zoom,420/zoom,55/zoom,"i/zenskie.png")
end
if isCursorOnElement(screenX-1600/zoom,330/zoom,420/zoom,55/zoom) then
dxDrawImage(screenX-1600/zoom,330/zoom,420/zoom,55/zoom,"i/premium.png")
else
dxDrawImage(screenX-1600/zoom,330/zoom,420/zoom,55/zoom,"i/premium.png")
end
if isCursorOnElement(screenX-1600/zoom,385/zoom,420/zoom,55/zoom) then
dxDrawImage(screenX-1600/zoom,385/zoom,420/zoom,55/zoom,"i/wroc2.png")
else
dxDrawImage(screenX-1600/zoom,385/zoom,420/zoom,55/zoom,"i/wroc.png")
end
end
if self.male then
for i = 1+self.scroll,6+self.scroll do
local pos = i - self.scroll
if isCursorOnElement(screenX-1600/zoom,(220+(pos*55))/zoom,420/zoom,55/zoom) then
dxDrawImage(screenX-1600/zoom,(220+(pos*55))/zoom,420/zoom,55/zoom,"i/none2.png")
else
dxDrawImage(screenX-1600/zoom,(220+(pos*55))/zoom,420/zoom,55/zoom,"i/none.png")
end
if maleSkins[i] then
dxDrawText(maleSkins[i],screenX-870/zoom,(490+(pos*110))/zoom,10/zoom,10/zoom,tocolor(255,255,255,255),1,font,"center","center",false,false,true)
end
end
end
if self.female then
for i = 1+self.scroll,6+self.scroll do
local pos = i - self.scroll
if isCursorOnElement(screenX-1600/zoom,(220+(pos*55))/zoom,420/zoom,55/zoom) then
dxDrawImage(screenX-1600/zoom,(220+(pos*55))/zoom,420/zoom,55/zoom,"i/none2.png")
else
dxDrawImage(screenX-1600/zoom,(220+(pos*55))/zoom,420/zoom,55/zoom,"i/none.png")
end
if femaleSkins[i] then
dxDrawText(femaleSkins[i],screenX-870/zoom,(490+(pos*110))/zoom,10/zoom,10/zoom,tocolor(255,255,255,255),1,font,"center","center",false,false,true)
end
end
end
if self.zarzad then
for i = 1+self.scroll,6+self.scroll do
local pos = i - self.scroll
if isCursorOnElement(screenX-1600/zoom,(220+(pos*55))/zoom,420/zoom,55/zoom) then
dxDrawImage(screenX-1600/zoom,(220+(pos*55))/zoom,420/zoom,55/zoom,"i/none2.png")
else
dxDrawImage(screenX-1600/zoom,(220+(pos*55))/zoom,420/zoom,55/zoom,"i/none.png")
end
if zarzad[i] then
dxDrawText(zarzad[i],screenX-870/zoom,(490+(pos*110))/zoom,10/zoom,10/zoom,tocolor(255,255,255,255),1,font,"center","center",false,false,true)
end
end
end
end
end

function class:onMarkerElementHit (el,dim)
if el ~= localPlayer and dim then return end
if getElementType(el) ~= "player" then return end
if not getElementData(el,"player:duty") == "SAPD" then return end
addEventHandler("onClientRender",root,self.renderFunc)
bg = dxCreateTexture("i/main.png","argb",false,"clamp")
showChat(false)
showCursor(true)
ped1 = createPed(getElementModel(localPlayer),217.4,-98.4,1005.3)
ped1:setInterior(0)
ped1:setRotation(0,0,180)
setCameraInterior(0)
setCameraTarget(player, true)
setElementPosition(player, -2439.31, 530.52, -67.63)

self.active = true
self.main = true
end
function HitParking(he,md)
if getElementData(he,"player:duty") == "SAPD" then
addEventHandler("onClientRender",root,pokazgui)
oknoparkingu = true
showCursor(true)
end
end
addEventHandler ( "onClientMarkerHit", marker, HitParking )

function class:onClick (btn,state)
if btn and getKeyState("mouse1") and state then
if self.active then
if self.main then
if isCursorOnElement(screenX-1600/zoom,220/zoom,420/zoom,55/zoom) then
self.female = false
self.main = false
self.male = true
return end
if isCursorOnElement(screenX-1600/zoom,275/zoom,420/zoom,55/zoom) then
self.male = false
self.main = false
self.female = true
return end
if isCursorOnElement(screenX-1600/zoom,385/zoom,420/zoom,55/zoom) then
removeEventHandler("onClientRender",root,self.renderFunc)
self.active = false
self.scroll = 0
self.main = false
self.female = false
self.male = false
self.zarzad = false
setCameraTarget(localPlayer,nil)
destroyElement(ped1)
showChat(true)
showCursor(false)
return end
if isCursorOnElement(screenX-1600/zoom,330/zoom,420/zoom,55/zoom) and getElementData(localPlayer,"zarzad") then
self.main = false
self.zarzad = true
return end
end
if self.male or self.female or self.zarzad then
if isCursorOnElement(screenX-1600/zoom,220/zoom,420/zoom,55/zoom) then
self.male = false
self.female = false
self.zarzad = false
self.scroll = 0
self.main = true
end
end
if self.male then
for i = 1+self.scroll,self.max+self.scroll do
local pos = i - self.scroll
if isCursorOnElement(screenX-1600/zoom,(220+(pos*55))/zoom,420/zoom,55/zoom) then
class:selectSkin(maleSkins[i])
end
end
end
if self.female then
for i = 1+self.scroll,self.max+self.scroll do
local pos = i - self.scroll
if isCursorOnElement(screenX-1600/zoom,(220+(pos*55))/zoom,420/zoom,55/zoom) then
class:selectSkin(femaleSkins[i])
end
end
end
if self.zarzad then
for i = 1+self.scroll,self.max+self.scroll do
local pos = i - self.scroll
if isCursorOnElement(screenX-1600/zoom,(220+(pos*55))/zoom,420/zoom,55/zoom) then
class:selectSkin(zarzad[i])
end
end
end
end
end
end

function class:moveUp ()
if self.active then
self.scroll = self.scroll -1 >= 0 and self.scroll -1 or self.scroll
end
end

function class:moveDown ()
if self.active then
if self.male then
self.scroll = self.scroll + 3 + self.max <= #maleSkins and self.scroll + 3 or self.scroll
end
if self.female then
self.scroll = self.scroll + 3 + self.max <= #femaleSkins and self.scroll + 3 or self.scroll
end
end
end

function class:selectSkin (id)
if id then
triggerServerEvent("setPlayerSkin",localPlayer,id)
ped1:setModel(id)
end
end

function class:main ()
self.onMarkerHitFunc = function (a,b) self:onMarkerElementHit (a,b) end
self.onClickFunc = function (a,b) self:onClick (a,b) end
self.moveUpFunc = function () self:moveUp () end
self.moveDownFunc = function () self:moveDown () end
self.renderFunc = function () self:drawElements () end

addEventHandler("onClientMarkerHit",marker,self.onMarkerHitFunc)
addEventHandler("onClientClick",root,self.onClickFunc)

bindKey("mouse_wheel_down","both",self.moveDownFunc)
bindKey("mouse_wheel_up","both",self.moveUpFunc)

self.active = false
self.female = false
self.male = false
self.zarzad = false
self.main = false
self.scroll = 0
self.max = 10
end

class:main ()
setCameraTarget(localPlayer,nil)
[/lua]

[ Dodano: 2020-03-07, 14:27 ]
nie wiem czemu

[ Dodano: 2020-03-09, 10:24 ]
pomoze ktos?

[ Dodano: 2020-03-10, 21:51 ]
halo

 

 
Tagi: przebieralnia :: frakcji
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