Wysłany: 2021-03-18, 22:10
HubertK
Wiek: 20 Na forum: 2451 dni Posty: 21
Nick w MP: Ave
Piwa : 73
Siemka, przerobi?em sobie skrypt przebieralni od Master'a
Na branie skin?w SAPD
jednak chcia?bym aby skiny bra? mogli tylko osoby z grupy ACL o nazwie "SAPD"
kod:
Kod: 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(253.27382, 76.92149, 1002.64844,"cylinder",1.2,150,150,150,100)
setElementInterior(marker,6)
local bg
local font = dxCreateFont("f/Akrobat-Bold.otf",14)
maleSkins = {280,281,282,283,284,285}
femaleSkins = {286,288}
premium = {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/premium2.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.premium 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 premium[i] then
dxDrawText(premium[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)
setCameraInterior(6)
Camera.setMatrix(253.62207, 73.87232, 1005.64844)
self.active = true
self.main = true
end
function class:onClick (btn,state)
if btn and getKeyState("mouse1") and state then
if self.active then
if self.main then
if isCursorOnElement(screenX-1500/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.premium = 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,"premium") then
self.main = false
self.premium = true
return end
end
if self.male or self.female or self.premium then
if isCursorOnElement(screenX-1600/zoom,220/zoom,420/zoom,55/zoom) then
self.male = false
self.female = false
self.premium = 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.premium 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(premium[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.premium = false
self.main = false
self.scroll = 0
self.max = 10
end
class:main ()
setCameraTarget(localPlayer,nil)
za pomoc stawiam piwko
Więcej szczegółów
Wystawiono 1 piw(a):borsuk
Wysłany: 2021-03-19, 07:15
Wilq
Wiek: 24 Na forum: 4428 dni Posty: 3410
Piwa : 739
W odno?niku (na wiki) masz gotowy kod, kwestia skopiowania i zmiany jednego s?owa.
Więcej szczegółów
Wystawiono 2 piw(a):HubertK , borsuk
Wysłany: 2021-03-19, 09:19
HubertK
Wiek: 20 Na forum: 2451 dni Posty: 21
Nick w MP: Ave
Piwa : 73
Wilq ,
Dzi?ki za funkcje, chcia?bym tylko aby? wskaza? w kt?rej linijce wklei? ten kod.
Więcej szczegółów
Wystawiono 1 piw(a):borsuk
Wysłany: 2021-03-19, 09:24
Wilq
Wiek: 24 Na forum: 4428 dni Posty: 3410
Piwa : 739
Weryfikacj? grupy ACL wstawiasz przed ustawieniem skina (funkcja dzia?a po stronie serwera) - wi?c musisz wykona? event do serwera i tam weryfikowa? grup? ACL i je?li pomy?lnie przejdzie weryfikacj? to ustawi? tego skina.
Więcej szczegółów
Wystawiono 1 piw(a):borsuk
Wysłany: 2021-03-19, 11:59
HubertK
Wiek: 20 Na forum: 2451 dni Posty: 21
Nick w MP: Ave
Piwa : 73
Wilq ,
Zrozumia?em to tak i zrobi?em tak xD:
[codelocal marker = createMarker(-1882.8,866.0,36,"arrow",1.2,150,150,150,255)
createBlipAttachedTo(marker,45)
local marker_out = createMarker(207.6,-110.6,1006.1,"arrow",1.2,150,150,150,255)
setElementInterior(marker_out,15)
addEventHandler("onMarkerHit",marker,function(el,dim)
if getElementType(el) == "player" then
fadeCamera(el,false,1)
setTimer(function(el)
setElementPosition(el,207.5430,-109.0040,1005.1330)
setElementInterior(el,15)
fadeCamera(el,true,1)
end,1500,1,el)
end
end)
addEventHandler("onMarkerHit",marker_out,function(el,dim)
if getElementType(el) == "player" then
fadeCamera(el,false,1)
setTimer(function(el)
setElementPosition(el,-1884.1,864.6,35.2)
setElementInterior(el,0)
fadeCamera(el,true,1)
end,1500,1,el)
end
end)
accountname = getAccountName (getPlayerAccount(v))
if isObjectInACLGroup ( "user." .. accountname, aclGetGroup ( "SAPD" ) ) then
addEvent("setPlayerSkin",true)
addEventHandler("setPlayerSkin",root,function(id)
client:setModel(id)
end)][/code]
Nie dzia?a czyli ?le XD, wkleisz to za mnie?
KOD CLIENT:
Kod: 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(253.27382, 76.92149, 1002.64844,"cylinder",1.2,150,150,150,100)
setElementInterior(marker,6)
local bg
local font = dxCreateFont("f/Akrobat-Bold.otf",14)
maleSkins = {280,281,282,283,284,285}
femaleSkins = {286,288}
premium = {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/premium2.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.premium 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 premium[i] then
dxDrawText(premium[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)
setCameraInterior(6)
Camera.setMatrix(253.62207, 73.87232, 1005.64844)
self.active = true
self.main = true
end
function class:onClick (btn,state)
if btn and getKeyState("mouse1") and state then
if self.active then
if self.main then
if isCursorOnElement(screenX-1500/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.premium = 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,"premium") then
self.main = false
self.premium = true
return end
end
if self.male or self.female or self.premium then
if isCursorOnElement(screenX-1600/zoom,220/zoom,420/zoom,55/zoom) then
self.male = false
self.female = false
self.premium = 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.premium 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(premium[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.premium = false
self.main = false
self.scroll = 0
self.max = 10
end
class:main ()
setCameraTarget(localPlayer,nil)
KOD SERVER:
Kod: local marker = createMarker(-1882.8,866.0,36,"arrow",1.2,150,150,150,255)
createBlipAttachedTo(marker,45)
local marker_out = createMarker(207.6,-110.6,1006.1,"arrow",1.2,150,150,150,255)
setElementInterior(marker_out,15)
addEventHandler("onMarkerHit",marker,function(el,dim)
if getElementType(el) == "player" then
fadeCamera(el,false,1)
setTimer(function(el)
setElementPosition(el,207.5430,-109.0040,1005.1330)
setElementInterior(el,15)
fadeCamera(el,true,1)
end,1500,1,el)
end
end)
addEventHandler("onMarkerHit",marker_out,function(el,dim)
if getElementType(el) == "player" then
fadeCamera(el,false,1)
setTimer(function(el)
setElementPosition(el,-1884.1,864.6,35.2)
setElementInterior(el,0)
fadeCamera(el,true,1)
end,1500,1,el)
end
end)
addEvent("setPlayerSkin",true)
addEventHandler("setPlayerSkin",root,function(id)
client:setModel(id)
end)
Więcej szczegółów
Wystawiono 1 piw(a):borsuk
Tagi: skiny
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: