Jump to content

Change Skin


Recommended Posts

السلام عليكم ورحمة الله وبركاته

بسم الله الرحمن الرحيم

Change Skin: مضاد الشخصيات الوصخة

Image:

1446622280771.png

Download: here

Info: السكربت غير مشفر يمكنك معرفة كيفية استخدامة من خلال الاكواد ويمكنك ايضا التعديل عليه

Note: عندما تقوم بعمل إعادة تشغيل لسكربت ستحذف جميع البيانات داخل الجدول لذلك يمكنك اضافتها بنفسك ولن تحذف

وفي امان الله

Edited by Guest
Link to comment

مبدع كالعاده وافكارك مفيده :)

سكربت جميل جداً ورائع

بس حبيت اعدل عليه كم شي بعد اذنك :fadein:

1. وحاول لا تسوي لوب فيه تريقر بنفس الوقت onClientElementModelAdd عدلت حدث :wink:

2. يحفظ التيبل في ملف لما يطفى المود ويرجعه زي ما كان لما يشتغل

3. تحققات اذا كان الكلينت الي سوا تريقر للسيرفر بقروب الكونسل

Client

addEventHandler("onClientResourceStart",resourceRoot, 
    function() 
        x,y = guiGetScreenSize() 
        changeskin = guiCreateWindow(x/2-175,y/2-175,350,350,"Change Skin",false) 
        gridlist = guiCreateGridList(0,0.075,0.95,0.8,true,changeskin) 
        skin = guiGridListAddColumn(gridlist,"Skin",0.9) 
        edit = guiCreateEdit(0.0,0.9,0.5,0.075,"",true,changeskin) 
        add = guiCreateButton(0.525,0.9,0.15,0.075,"Add",true,changeskin) 
        remove = guiCreateButton(0.675,0.9,0.15,0.075,"Remove",true,changeskin) 
        close = guiCreateButton(0.825,0.9,0.15,0.075,"Close",true,changeskin) 
        guiSetVisible(changeskin,false) 
    end 
) 
  
addEvent("onClientPlayerKey",true) 
addEventHandler("onClientPlayerKey",root, 
    function() 
        if guiGetVisible(changeskin) == true then 
            guiSetVisible(changeskin,false) 
            showCursor(false) 
        else 
            guiSetVisible(changeskin,true) 
            showCursor(true) 
        end 
    end 
) 
  
addEventHandler("onClientGUIClick",root, 
    function() 
        if source == add then 
            if tonumber(guiGetText(edit)) and tonumber(guiGetText(edit)) >= 0 and tonumber(guiGetText(edit)) <= 312 then 
                triggerServerEvent("onElementModelAdd",localPlayer,localPlayer,guiGetText(edit)) 
            end 
        elseif source == remove then 
            if guiGridListGetSelectedItem(gridlist) ~= -1 then 
                triggerServerEvent("onElementModelRemove",localPlayer,localPlayer,guiGridListGetItemText(gridlist,guiGridListGetSelectedItem(gridlist),1)) 
                guiGridListRemoveRow(gridlist,guiGridListGetSelectedItem(gridlist)) 
            end 
        elseif source == close then 
            guiSetVisible(changeskin,false) 
            showCursor(false) 
        end 
    end 
) 
  
addEvent("addItemsToGridlist",true) 
addEventHandler("addItemsToGridlist",root, 
    function(table) 
        guiGridListClear(gridlist); 
        for model in pairs(table) do 
            guiGridListSetItemText(gridlist,guiGridListAddRow(gridlist),skin,model,false,false); 
        end 
    end 
) 

Server

changeskin = { 
    -- ["skin_id"] = true, -- Added pattern in the table 
}; 
  
function setTableFileText( Text ) 
    if fileExists("Table.dat") then file = fileOpen("Table.dat") else file = fileCreate("Table.dat") end 
    if file then 
        fileWrite(file, ""); 
        fileWrite(file, Text); 
        fileFlush(file); 
        fileClose(file); 
    end 
end 
  
addEventHandler("onElementModelChange",root, 
    function(oldModel) 
        if getElementType(source) == "player" then 
            if changeskin[tostring(getElementModel(source))] == true then 
                setTimer( 
                    function(source,oldModel) 
                        setElementModel(source,oldModel) 
                    end, 
                    50, 
                    1, 
                    source, 
                    oldModel 
                ) 
            end 
        end 
    end 
) 
  
function playerKey(_,theCurrentAccount) 
    if eventName == "onResourceStart" then 
        if fileExists("Table.dat") then 
            local file = fileOpen("Table.dat"); 
            changeskin = fromJSON(fileRead(file, fileGetSize(file))) or {}; 
        else 
            setTableFileText(""); 
        end 
        for _,player in ipairs(getElementsByType("player")) do 
            if isObjectInACLGroup("user."..getAccountName(getPlayerAccount(player)),aclGetGroup("Console")) then 
                if isKeyBound(player,"F2") == false then 
                    bindKey(player,"F2","down", 
                        function(player) 
                            triggerClientEvent(player,"addItemsToGridlist",player,changeskin); 
                            triggerClientEvent(player,"onClientPlayerKey",player) 
                        end 
                    ) 
                end 
            end 
        end 
    elseif eventName == "onResourceStop" then 
        setTableFileText(toJSON(changeskin)); 
    elseif eventName == "onPlayerLogin" then 
        if theCurrentAccount and not isGuestAccount(theCurrentAccount) then 
            if isObjectInACLGroup("user."..getAccountName(getPlayerAccount(source)),aclGetGroup("Console")) then 
                if isKeyBound(source,"F2") == false then 
                    bindKey(source,"F2","down", 
                        function(player) 
                            triggerClientEvent(player,"addItemsToGridlist",player,changeskin); 
                            triggerClientEvent(player,"onClientPlayerKey",player) 
                        end 
                    ) 
                end 
            end 
        end 
    end 
end 
addEventHandler("onResourceStart",resourceRoot,playerKey) 
addEventHandler("onResourceStop",resourceRoot,playerKey); 
addEventHandler("onPlayerLogin",root,playerKey) 
  
addEvent("onElementModelAdd",true) 
addEventHandler("onElementModelAdd",root, 
    function(client, model) 
        if isObjectInACLGroup("user."..getAccountName(getPlayerAccount(client)),aclGetGroup("Console")) then 
            if changeskin[model] == nil then 
                changeskin[model] = true 
                triggerClientEvent(root,"addItemsToGridlist",client,changeskin); 
            end 
        end 
    end 
) 
  
addEvent("onElementModelRemove",true) 
addEventHandler("onElementModelRemove",root, 
    function(client, model) 
        if isObjectInACLGroup("user."..getAccountName(getPlayerAccount(client)),aclGetGroup("Console")) then 
            if changeskin[model] == true then 
                changeskin[model] = nil 
                triggerClientEvent(root,"addItemsToGridlist",source,changeskin); 
            end 
        end 
    end 
) 
Link to comment
المود ضبط لاكن من لوحة الادمنية خليت السكن 7

ماضبط

يوم كتبت في اف 8

ss 7 ضبط

الحدث يطلب التغيير من وظيفة setElementModel

في لوحة الادمنية مستخدمين spawnPlayer

أمثلة

addCommandHandler("ss1", 
    function(player,command,model) 
        local model = tonumber(model) 
        setElementModel(player,model) 
    end 
) 

addCommandHandler("ss2", 
    function(player,command,model) 
        local x,y,z = getElementPosition(player) 
        local rotation = getPedRotation(player) 
        local model = tonumber(model) 
        local interior = getElementInterior(player) 
        local dimension = getElementDimension(player) 
        local team = getPlayerTeam(player) 
        spawnPlayer(player,x,y,z,rotation,model,interior,dimension,team) 
    end 
) 

جرب المثالين مع السكربت وشوف الفرق

التعديل في سكربت الادمن

admin/server/admin_server.lua 

سطر 904 استبدلة بالسطر التالي

if ( setElementModel ( player, data ) ) then 

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...