-
Posts
91 -
Joined
-
Last visited
Everything posted by darbka2002
-
سلام عليكم معى مشكلة فى سيرفر حقى المشكلة ان لما ادخل السيرفر الماب تحمل ببطء وى بعد ما تخلص السيرفر يجيب شاشة سوداء وى بعد كدا يفتح اللوجين وى ما يعمل لوجين يعنى عشان اوصل بس لى اللوجن اخد اكثر من 40 دقيقة وى المشكلة هذة عندى انا بس كل اصحابى السيرفر يشتغل طبيعى و جميع السيرفرات تعمل طبيعى معدا هاد السيرفر ممكن مساعدة
-
mr.Amin انتا اشتريت منى و سلمتك السيرفر وى ما اعطتنى فلوس استنيت عليك 15 يوم ما اعطتنى اى فلوس وى تقول بعد ما وقفت السيرفر بعد 15 يوم انك راح تهكر الاستضافة وى ما عملت اى شىء يكفى انك عملتلى بلوك هههههههههههههههه
-
سلام عليكم عندى مشكلة فى سكربت login السكربت شغال تمام بس المشكلة لما اعمل تسجيل دخول ما يظهر radar و ما يظهر map و ما يرضا يفتح gui راح اضيف جزء حق login REGISTRATION_WAITTIME = 120 -- Time Limit Between Account Registrations (Minutes) REGISTRATION_CUTOFF = 5 -- Maximum number of registrations per minute local registrations = {} -- Record of registrations by serial local regTotal = 0 -- Count of Total Registrations -- Show Login Panel -------------------->> function initResource(plr) dbc = dbConnect("sqlite", "accounts.db") for index, players in pairs(getElementsByType("player")) do local acc = getPlayerAccount(players) if (not isGuestAccount(acc)) then redirectPlayer (players, "87.98.180.15", 22060) logOut(players) logOut(acc) exports.CSTtexts:output("Our account system has been restarted and you've been logged out as a security precaution,", players, 255, 0, 0) exports.CSTtexts:output("Please Login Again.", players, 255, 0, 0) end end end addEventHandler("onResourceStart", resourceRoot, initResource) function showLoginPanel() if (client) then source = client end local account = getPlayerAccount(source) if (not isGuestAccount(account)) then return end if (getServerPort() == 22060 and exports.CSTgovt:isPlayerBanned(source)) then return end fadeCamera(source, true) textDisplayRemoveObserver(display, source) triggerClientEvent(source, "CSTaccounts.showLoginPanel", resourceRoot) end addEvent("CSTaccounts.showLoginPanelServer", true) addEventHandler("CSTaccounts.showLoginPanelServer", root, showLoginPanel) -- Block Logouts addEventHandler("onPlayerLogout", root, function() cancelEvent() end) -- Login Player ---------------->> function loginPlayer(username, password, rememberMe, isEncrypted) local validUsername = getAccount(username) if (not validUsername) then triggerClientEvent(client, "CSTaccounts.outputLoginMessage", client, "Error: Username does not exist", 255, 25, 25) return end if (isEncrypted) then password = decryptPassword(password) end local account = getAccount(username, password) if (not account) then triggerClientEvent(client, "CSTaccounts.outputLoginMessage", client, "Error: Invalid Password Provided.", 255, 25, 25) return end if (getServerPort() == 22060 and exports.CSTgovt:isPlayerBanned(username)) then triggerClientEvent(client, "CSTaccounts.outputLoginMessage", client, "Error: This account is banned.", 255, 25, 25) return end local loginSuccess = logIn(client, account, password) if (not loginSuccess) then triggerClientEvent(client, "CSTaccounts.outputLoginMessage", client, "Error: This account is already in use.", 255, 125, 25) return end triggerClientEvent(client, "CSTaccounts.outputLoginMessage", client, "Login Successful", 25, 255, 25) spawn(client) local securePass if (rememberMe) then securePass = encryptPassword(password) end triggerClientEvent(client, "CSTaccounts.confirmLogin", client, username, securePass) end addEvent("CSTaccounts.loginPlayer", true) addEventHandler("CSTaccounts.loginPlayer", root, loginPlayer) -- Register Player ------------------->> function checkUsernameValidity(username) local account = getAccount(username) if (not account) then triggerClientEvent(client, "CSTaccounts.returnUsernameValidity", client, "This Username is Available!", 25, 255, 25) else triggerClientEvent(client, "CSTaccounts.returnUsernameValidity", client, "This Username is Not Available!", 255, 25, 25) end end addEvent("CSTaccounts.checkUsernameValidity", true) addEventHandler("CSTaccounts.checkUsernameValidity", root, checkUsernameValidity) function registerPlayer(username, email, password) local serial = getPlayerSerial(client) if (registrations[serial]) then local timeLeft = getTimerDetails(registrations[serial]) local H = math.floor(timeLeft/3600000) local M = math.floor( (timeLeft - H*3600000)/60000 ) exports.CSTtexts:output("Error: You have recently registered an account.\nYou must wait another "..H.." hour(s) "..M.." minute(s) before creating a new one.", client, 255, 25, 25) return end local account = getAccount(username) if (account) then exports.CSTtexts:output("Error: This account is not available.", client, 255, 25, 25) return end -- Security Settings regTotal = regTotal + 1 if (regTotal == REGISTRATION_CUTOFF) then exports.CSTtexts:output("There has been a high number of registrations in the past minute.\nFor security reasons, your account cannot be registered. Try again in a minute.", client, 255, 25, 25) return end local account = addAccount(username, password) if (not account) then exports.CSTtexts:output("Error: Your account could not be created.", client, 255, 25, 25) return end if (email ~= "") then SAD(account, "email", email) end local timestamp = getRealTime().timestamp SAD(account, "accountCreation", timestamp) registrations[serial] = setTimer( function() registrations[serial] = nil end, 60000*REGISTRATION_WAITTIME, 1 ) triggerClientEvent(client, "CSTaccounts.comfirmRegistration", resourceRoot) end addEvent("CSTaccounts.registerPlayer", true) addEventHandler("CSTaccounts.registerPlayer", root, registerPlayer) -- Security Features --------------------->> -- Reset Registration Cutoff Per Minute setTimer(function() regTotal = 0 end, 60000, 0) -- Cancel ---------->> --[[ function leaveServer() if (isPlayerLogged kickPlayer(client, "User Quit") end--]] addEvent("CSTaccounts.leaveServer", true) --addEventHandler("CSTaccounts.leaveServer", root, leaveServer) function gettheupdates() ag1 = exports.CSTupdatesinfo:getUpdates() triggerClientEvent(client, "CSTaccounts.addtheupdate", client, ag1) end addEvent("CSTaccounts.addtheshit", true) addEventHandler("CSTaccounts.addtheshit", root, gettheupdates) -- When the player joins spawn him ingame addEventHandler( "onPlayerJoin", root, function () setCameraTarget ( source ) fadeCamera( source, true, 1.0, 0, 0, 0 ) exports.CSTteams:setPlayerTeam(source, "Unemployed") setElementData(source, "Occupation", "Guest") end ) ياريت مساعدة
-
ممكن حل مشكلة jail police ما فية مشاكل انا بعمل areest طبيعى جدا لكن المشكلة ان jail ما بينقص الوقت بيزود الوقت اذا اللاعب تحرك الكود سيرفر function resume_jail(totalAmmo, killer, killerWeapon, bodypart, stealth) if jail_data.is_jailed[source] then -- Get and save weapons temporary weapons[source] = { 0,0,0,0,0,0,0,0,0,0,0,0 } ammo[source] = { 0,0,0,0,0,0,0,0,0,0,0,0 } for k,wep in ipairs(weapons) do weapons[source][k] = getPedWeapon(source, k) setPedWeaponSlot(source, getSlotFromWeapon(weapons[source][k])) ammo[source][k] = getPedTotalAmmo(source, k) end local rand_x = math.random(1,10) local rand_y = math.random(1,10) fadeCamera(source, false, 2, 135, 135, 135) setTimer(spawnPlayer, 2100, 1, source, -2965+((-5)+rand_x), 2305+((-5)+rand_y), 8, 180, getElementModel(source), 0, 0, getTeamFromName("Criminals")) setTimer(set_control_states, 3000, 1, source, false) setTimer(fadeCamera, 2500, 1, source, true, 3) -- Set occupation to prisoner after 5 seconds, you can't escape until this time has passed setTimer(setElementData, 5000, 1, source, "Occupation", "Prisoner") -- Restore weapons if weapons[source] then for k,wep in ipairs(weapons[source]) do if weapons[source][k] and ammo[source][k] then if ammo[source][k] > 5000 then ammo[source][k] = 5000 end setTimer(giveWeapon, 3000, 1, source, weapons[source][k], ammo[source][k], false) end end end end end addEventHandler("onPlayerWasted", root, resume_jail) --[[ Release from jail (if not escaped )]]-- function Unjail(crim, police_dept, reason, admin) if not crim or not isElement(crim) or getElementType(crim) ~= "player" then return end if not police_dept then outputServerLog("CUD-RPG: (Wanted) Please specify a police department") end if not jail_data.is_jailed[crim] then exports.CUDtopbar:dm(getPlayerName(crim).." is already in free!", crim, 255, 150, 0) return end -- Get release point and it's coordinates local name,x,y,z,rot = release_locations[police_dept][1], release_locations[police_dept][2],release_locations[police_dept][3], release_locations[police_dept][4],release_locations[police_dept][5] -- Inform the suspect exports.CUDtopbar:dm("You have been released from jail! Location: "..name, crim, 0, 255, 0) set_control_states(crim, true) -- Clear memory, the player is free jail_data.is_jailed[crim] = nil jail_data.last_location[crim] = nil if isTimer(jail_data.release_timers[crim]) then killTimer(jail_data.release_timers[crim]) end jail_data.release_timers[crim] = nil if isTimer(jail_data.info_timers[crim]) then killTimer(jail_data.info_timers[crim]) end jail_data.info_timers[crim] = nil setElementData(crim, "Jailed", nil) setElementData(crim, "arrested", nil) exports.CUDwanted:setWl(crim, 0, 0) -- Dispaly why the unjail was issued if admin jailed if admin then outputChatBox("You have been released by: "..getPlayerName(admin), crim, 200, 0, 0) outputServerLog("ADMIN: "..getPlayerName(crim).." was released by: "..getPlayerName(admin)) end -- Get and save weapons temporary weapons[crim] = { 0,0,0,0,0,0,0,0,0,0,0,0 } ammo[crim] = { 0,0,0,0,0,0,0,0,0,0,0,0 } for k,wep in ipairs(weapons[crim]) do weapons[crim][k] = getPedWeapon(crim, k) setPedWeaponSlot(crim, getSlotFromWeapon(weapons[crim][k])) ammo[crim][k] = getPedTotalAmmo(crim, k) end -- Release and spawn local rand_x = math.random(1,5) local rand_y = math.random(1,5) local own_skin = exports.CUDclothes:getBoughtSkin(crim) or getElementModel(crim) or 0 setTimer(spawnPlayer, 1100, 1, crim, x+((-2)+rand_x), y+((-2)+rand_y), z, rot, own_skin, 0, 0, getTeamFromName("Criminal")) fadeCamera(crim, false) setTimer(fadeCamera, 1500, 1, crim, true) -- Restore weapons if weapons[crim] then for k,wep in ipairs(weapons[crim]) do if weapons[crim][k] and ammo[crim][k] then if ammo[crim][k] > 5000 then ammo[crim][k] = 5000 end setTimer(giveWeapon, 1500, 1, crim, weapons[crim][k], ammo[crim][k], false) end end end -- Set team and occupation setPlayerNametagColor(crim, 170, 0, 0) setElementData(crim, "Occupation", "Criminal") end -- Check escape function check_escape() for k,v in pairs(getElementsByType("player")) do if getElementData(v, "Occupation") == "Prisoner" then local x,y,z = getElementPosition(v) local dist = getDistanceBetweenPoints3D(-3030, 2255, 8, x,y,z) if dist > 220 and getElementInterior(v) == 0 and getElementDimension(v) == 0 then jail_escape(v) outputChatBox(getPlayerName(v).." escaped from jail") end end end end --[[ Extend the time in jail due to crimes commited inside the walls ]]-- function extend_jail_time(crim, time_s) -- Verify that the timers is running if not isTimer(jail_data.release_timers[crim]) or not isTimer(jail_data.info_timers[crim]) then return end -- Get time left local time_left_ms,i2,i3 = getTimerDetails(jail_data.release_timers[crim]) -- Update graphical part setElementData(crim, "jailTime", (time_left_ms+(time_s*1000))+getTickCount()) setElementData(crim, "jailTime2", getTickCount()) -- Reset current timers if isTimer(jail_data.release_timers[crim]) then killTimer(jail_data.release_timers[crim]) end jail_data.release_timers[crim] = nil if isTimer(jail_data.info_timers[crim]) then killTimer(jail_data.info_timers[crim]) end jail_data.info_timers[crim] = nil -- Get police department for release local police_dept = getElementData(crim, "CUDjail.pdr") or "LSPD" -- Make new timers jail_data.release_timers[crim] = setTimer(Unjail, (time_left_ms+(time_s*1000)), 1, crim, police_dept) jail_data.info_timers[crim] = setTimer(sync_time_display, 1000, math.floor(time_left_ms/1000)+time_s, crim) end function increase_wl_on_hitting_guards(attacker, weapon, bodypart, loss) if not jail_data.is_jailed[attacker] then return end extend_jail_time(attacker, math.floor(loss*6)) end addEventHandler("onPlayerDamage", root, increase_wl_on_hitting_guards) -- Escape function jail_escape(crim) if not crim or not isElement(crim) or getElementType(crim) ~= "player" then return end -- Clear memory, the player is free if isTimer(jail_data.release_timers[crim]) then killTimer(jail_data.release_timers[crim]) end jail_data.is_jailed[crim] = nil jail_data.last_location[crim] = nil jail_data.release_timers[crim] = nil if isTimer(jail_data.info_timers[crim]) then killTimer(jail_data.info_timers[crim]) end jail_data.info_timers[crim] = nil setElementData(crim, "Jailed", nil) setElementData(crim, "arrested", nil) set_control_states(crim, true) setElementData(crim, "Occupation", "Criminal") -- Notify cops for k,v in pairs(getElementsByType("player")) do if getPlayerTeam(v) and getPlayerTeam(v) == getTeamFromName("Government") then outputChatBox(getPlayerName(crim).." has escaped from jail! Kill him", v, 255, 100, 0) exports.CUDtopbar:dm(getPlayerName(crim).." has escaped from jail! Kill him", v, 255, 100, 0) end end -- Set the wanted level exports.CUDwanted:setWl(crim, 1, 240, "You committed the crime of jailbreak") end -- Show the time left when jailed function sync_time_display(crim) if isElement(crim) then -- Count down local time = getTickCount() setElementData(crim, "jailTime2", time) -- Make sure guns are disabled set_control_states(crim, false) setPedWeaponSlot(crim, 0) end end function isJailed(crim) if not crim or not isElement(crim) or getElementType(crim) ~= "player" then return false end if jail_data.is_jailed[crim] then return true else return false end end function set_control_states(crim, n_state) --toggleControl(crim, "fire", n_state) toggleControl(crim, "aim_weapon", n_state) toggleControl(crim, "enter_exit", n_state) toggleControl(crim, "next_weapon", n_state) toggleControl(crim, "previous_weapon", n_state) end -- Check if anyone escaped on regular intervalls setTimer(check_escape, 10000, 0)
-
ماهو السكربت هذا هوا اللى فى bug
-
شوف السكرت اللى انتا بصلحتة يا ريت تكمل واجبك وى ترسلة الى ما فية مشاكل لئن هى المشكلة معطلانى بقالى اكثر من اسبوع ياريت بس حل المشكلة لما اختا skin من gril list تبانى لى انها اتغيرت لكن لى الناس لا تبقى نفس لاسكن القديمة
-
can any one help me to make a custom group shader skin
darbka2002 replied to darbka2002's topic in Scripting
ok see this a good script put my problem still work i just need a custom skin for group like cit or saur if a player not in group get him a original skin if a player in group ex:DX well get a custom skin -
شوف فى مشكلتن المشكلة الاولة انة لما اختار skin من gril list تظهر لى الشخصية حق المسعف ولا كن تظهر لى الناس الشخصية القديمة المشكلة الثانية ثانى مشكلة ان اللعب لو لم يختار سكن ما ينفع ياخد الجوب بدى هذا السكربت
-
can any one help me to make a custom group shader skin
darbka2002 replied to darbka2002's topic in Scripting
this script make me a just normal skin not a custom i need script make a replace in server with png file not txd or dff if player in group DX get a custom skin id:288 and if player not in group DX get a original skin id:288 -
hello can any one here help me to make a custom group skin shader ex: if a player in group DX he can get a custom skin and if player not in group DX he get a original skin plz help
-
سلام عليكم اول شىء الهوست مفتوحة من 6/6/2015 بس انا اول مرة اعمل لها اعلان موصفات الخادم ram : 8G pro : core 4 الباندويتش : G1000 الاسعار السيرفر 100 لاعب با 10 جنية مصرى او 1$ paypal وى كل 100 لاعب زيادة با 10 جنية مصرى او تزود 1$ paypal نسلم السيرفر على تحديث 1.5.2 دعم فنى 24 ساعة كل الايام اذا جائتك اى مشكلة لا تردد فى مكالمة الدعم الفنى سكايب حقى medoman175 لى لاذبات فى 10 اشخاص وخدين منا السيرفر اللوحة http://smarthostvip.cf/panel/
-
انا اظن انى ما راح احتاج انى اضع الكود كلة انا بس بدى اصلح اللوحة مش اكثر وى راح اكررها كمان مرة سكربت المسعب شغال بدون مشاكل المشكلة بس فى اللوحة شوف هذة هيا gril list كاملة و take jop client GUIEditor_Button[1] = guiCreateButton(9, 452, 201, 64, "Take Jop !", false, windowjob) gril = guiCreateGridList(391, 18, 480, 216, false, windowjob) guiGridListAddColumn(gril, "ID", 0.5) guiGridListAddColumn(gril, "Skin Name", 0.5) for i = 1, 5 do guiGridListAddRow(gril) end guiGridListSetItemText(gril, 2, 1, "274", false, false) guiGridListSetItemText(gril, 2, 2, "Medic 1", false, false) guiGridListSetItemText(gril, 2, 1, "275", false, false) guiGridListSetItemText(gril, 2, 2, "Medic 2", false, false) guiGridListSetItemText(gril, 2, 1, "276", false, false) guiGridListSetItemText(gril, 2, 2, "Medic 3", false, false) localPlayer = getLocalPlayer() function setskintest() local skin = guiGridListGetItemText ( gril, guiGridListGetSelectedItem ( gril ), 1 ) if ( skin == nil ) or ( skin == "" ) then local r,g,b = 255,255,0 outputChatBox ( "PlZ Choose Your Skin First", r, g, b, true ) else triggerServerEvent("Change_Skin", localPlayer, skin) end end addEventHandler ( "onClientGUIClick", gril, setskintest, false ) function joinMedicTeam() triggerServerEvent("setMedic",localPlayer) exports.texts:output("You Now Medic", 6, 183, 248) guiSetVisible(windowjob, false) showCursor(false) end server function createMedicTeam () MedicTeam = createTeam ("Emergency Services", 6, 183, 248) end addEventHandler ("onResourceStart", resourceRoot, createMedicTeam) function joinMedic() setPlayerTeam(source,MedicTeam) setElementFrozen ( ped, true ) setElementHealth ( ped, 200 ) setPlayerNametagColor ( source, 6, 183, 248 ) giveWeapon ( source, 41, 99999 ) setElementData( source, "Occupation", "paraMedic", true ) setElementData ( source, "Rank", "Federal Agent" ) exports.CRGtexts:output("You Now Medic", 6, 183, 248) end addEventHandler("Change_Skin", root, function (sk) setElementModel(source, sk) end ) addEvent("Change_Skin", true) addEvent("setMedic", true) addEventHandler("setMedic",root,joinMedic)
-
يا اخى والله انا معى الكود حق المسعف كامل بس انا بدى بس اللوحة مش اكتر
-
take jop نوعة button رقم الشخصيات 274 / 275 / 276 لتوضيع function setskintest() local skin = guiGridListGetItemText ( gril, guiGridListGetSelectedItem ( gril ), 1 ) if ( skin == nil ) or ( skin == "" ) then local r,g,b = 255,255,0 outputChatBox ( "Pleas Choose Your Skin First", r, g, b, true ) else triggerServerEvent("Change_Skin", localPlayer, skin) end end addEventHandler ( "onClientGUIClick", gril, setskintest, false ) function joinMedicTeam() triggerServerEvent("setMedic",localPlayer) exports.texts:output("You Now Medic", 6, 183, 248) guiSetVisible(windowjob, false) showCursor(false) end addEventHandler("onClientGUIClick", GUIEditor_Button[1] , joinMedicTeam, false)
-
تمام دلوقتى الوظيفة شغالة تمام بس فية مشكلتين اول مشكلة ان اللوحة تخلينى اختار سكين واحدة بس برغم انى خاطط ثلاثة التوضيع يعنى مثلن انا حاطط سكين 274 لو ضغط على اسمها تعطينى 276 وى باقى السكنات هكذا كولو يعطينى 276 ثانى مشكلة function setskintest() local skin = guiGridListGetItemText ( gril, guiGridListGetSelectedItem ( gril ), 1 ) if ( skin == nil ) or ( skin == "" ) then local r,g,b = 255,255,0 outputChatBox ( "Pleas Choose Your Skin First", r, g, b, true ) else triggerServerEvent("Change_Skin", localPlayer, skin) end end addEventHandler ( "onClientGUIClick", gril, setskintest, false ) الكسربت هذا يعطينى الجملة لو ما اخترت شىء من grillist بس لو ضغط على take jop ما يعطينى اى شىء وى اخود الوظيفة انا بدى ان لو ضغط على Take jop ما يرضى يعطينى الوظيفة لو ما اخترت سكين السكربت function setskintest() local skin = guiGridListGetItemText ( gril, guiGridListGetSelectedItem ( gril ), 1 ) if ( skin == nil ) or ( skin == "" ) then local r,g,b = 255,255,0 outputChatBox ( "Pleas Choose Your Skin First", r, g, b, true ) else triggerServerEvent("Change_Skin", localPlayer, skin) end end addEventHandler ( "onClientGUIClick", gril, setskintest, false ) function joinMedicTeam() triggerServerEvent("setMedic",localPlayer) exports.texts:output("You Now Medic", 6, 183, 248) guiSetVisible(windowjob, false) showCursor(false) end
-
ممكن بقا سكربت لو الاعب ماخترش الاسكن من grillist ما ياخد الوظيفة
-
سلام عليكم السكربت شغال تمام بس المشكلة ان لما اختار سكين من gril list بيظهر السكين اللى انا اخترتها الى فقط و لكن لو شخص عادى شافنى يلقينى با السكن السابقة سوف اضع فقط الجزء المتعلق با اعطاء السكين حفظ لى حقوقى client function setskintest() local skin = guiGridListGetItemText ( gril, guiGridListGetSelectedItem ( gril ), 1 ) setElementModel ( localPlayer, skin ) end addEventHandler ( "onClientGUIClick", gril, setskintest, false )
-
انا بس بدى الاعب العادى تفتحلة اللوح كاملة و يكمنة الشراء
-
core.client local screen_width, screen_height = GuiElement.getScreenSize(); local is_cursor_over_gui = false; local action; local settings = {}; GuiElement.setInputMode("no_binds_when_editing"); addEvent("business.showCreateBusinessWindow", true); addEventHandler("business.showCreateBusinessWindow", root, function() gui.cb.window.visible = true; showCursor(true); end ); function outputMessage(message, r, g, b) triggerServerEvent("business.outputMessage", localPlayer, message, r, g, b); end addEventHandler("onClientRender", root, function() for index, b_marker in ipairs(Element.getAllByType("marker", resourceRoot)) do local b_data = b_marker:getData("b_data"); local id, name, owner, cost, payout, payout_time, payout_otime, payout_unit, bank, timer = unpack(b_data); local x, y, z = b_marker.position.x, b_marker.position.y, b_marker.position.z; local cam_x, cam_y, cam_z = getCameraMatrix(); if getDistanceBetweenPoints3D(cam_x, cam_y, cam_z, x, y, z) < 15 then local screen_x, screen_y = getScreenFromWorldPosition(x, y, z + 1.6); if screen_x then local scale = 1920 / screen_width; local width = 80 / scale; dxDrawImage(screen_x - width / 2, screen_y - screen_height / 10, width, 80, "files/business.png"); end if settings.show_business_info_on_marker then screen_x, screen_y = getScreenFromWorldPosition(x, y, z + 1.4); if screen_x then if #tostring(id) == 1 then id = "0"..tostring(id) end dxDrawFramedText("ID: #"..id, screen_x, screen_y, screen_x, screen_y, tocolor(255, 255, 255, 255), 1.0, "default-bold", "center", "center", false, false, false); end screen_x, screen_y = getScreenFromWorldPosition(x, y, z + 1.2); if screen_x then dxDrawFramedText("Name: "..name, screen_x, screen_y, screen_x, screen_y, tocolor(255, 255, 255, 255), 1.0, "default-bold", "center", "center", false, false, false); end screen_x, screen_y = getScreenFromWorldPosition(x, y, z + 1.0); if screen_x then dxDrawFramedText("Owner: "..owner, screen_x, screen_y, screen_x, screen_y, tocolor(255, 255, 255, 255), 1.0, "default-bold", "center", "center", false, false, false); end screen_x, screen_y = getScreenFromWorldPosition(x, y, z + 0.-- s8) -->; if screen_x then dxDrawFramedText("Cost: $"..cost, screen_x, screen_y, screen_x, screen_y, tocolor(255, 255, 255, 255), 1.0, "default-bold", "center", "center", false, false, false); end screen_x, screen_y = getScreenFromWorldPosition(x, y, z + 0.6); if screen_x then dxDrawFramedText("Payout: $"..payout, screen_x, screen_y, screen_x, screen_y, tocolor(255, 255, 255, 255), 1.0, "default-bold", "center", "center", false, false, false); end screen_x, screen_y = getScreenFromWorldPosition(x, y, z + 0.4); if screen_x then dxDrawFramedText("Payout Time: "..payout_otime.." "..payout_unit, screen_x, screen_y, screen_x, screen_y, tocolor(255, 255, 255, 255), 1.0, "default-bold", "center", "center", false, false, false); end screen_x, screen_y = getScreenFromWorldPosition(x, y, z + 0.2); if screen_x then dxDrawFramedText("Bank: $"..bank, screen_x, screen_y, screen_x, screen_y, tocolor(255, 255, 255, 255), 1.0, "default-bold", "center", "center", false, false, false); end end end end end ); addEvent("business.showInstructions", true); addEventHandler("business.showInstructions", root, function() addEventHandler("onClientRender", root, showInstructions); end ); function showInstructions() if settings.key then dxDrawText("Press",(screen_width / 1440) * 550,(screen_height / 900) * 450,(screen_width / 1440) * 100,(screen_height / 900) * 100, tocolor(255, 255, 255, 255),(screen_width / 1440) * 2.0); dxDrawText(settings.key:upper(),(screen_width / 1440) * 615,(screen_height / 900) * 450,(screen_width / 1440) * 100,(screen_height / 900) * 100, tocolor(255, 0, 0, 255),(screen_width / 1440) * 2.0); dxDrawText(" To Open The Business",(screen_width / 1440) * 630,(screen_height / 900) * 450,(screen_width / 1440) * 100,(screen_height / 900) * 100, tocolor(255, 255, 255, 255),(screen_width / 1440) * 2.0); end end addEvent("business.hideInstructions", true); addEventHandler("business.hideInstructions", root, function() removeEventHandler("onClientRender", root, showInstructions); end ); addEvent("business.showBusinessWindow", true); addEventHandler("business.showBusinessWindow", root, function(b_marker, is_owner, is_admin) local b_data = b_marker:getData("b_data"); local id, name, owner, cost, payout, payout_time, payout_otime, payout_unit, bank, timer = unpack(b_data); local x, y, z = b_marker.position; if #tostring(id) == 1 then id = "0"..tostring(id) end gui.b.window.text = name; gui.b.label.id.text = "ID: #"..id; gui.b.label.name.text = "Name: "..name; gui.b.label.owner.text = "Owner: "..owner; gui.b.label.cost.text = "Cost: $"..cost; gui.b.label.payout.text = "Payout: $"..payout; gui.b.label.payout_time.text = "Payout Time: "..payout_otime.." "..payout_unit; gui.b.label.location.text = "Location: "..getZoneName(x, y, z, false).."("..getZoneName(x, y, z, true)..")"; gui.b.label.bank.text = "Bank: $"..bank; if is_admin and is_owner then gui.b.button.sell.enabled = true; gui.b.button.deposit.enabled = true; gui.b.button.withdraw.enabled = true; gui.b.button.buy.enabled = false; elseif is_admin and not is_owner and owner ~= "For Sale" then gui.b.button.sell.enabled = true; gui.b.button.buy.enabled = false; gui.b.button.deposit.enabled = false; gui.b.button.withdraw.enabled = false; elseif is_admin and not is_owner and owner == "For Sale" then gui.b.button.sell.enabled = false; gui.b.button.buy.enabled = true; gui.b.button.deposit.enabled = false; gui.b.button.withdraw.enabled = false; elseif not is_admin and is_owner then gui.b.button.sell.enabled = true; gui.b.button.deposit.enabled = true; gui.b.button.withdraw.enabled = true; gui.b.button.buy.enabled = false; elseif not is_admin and not is_owner and owner ~= "For Sale" then gui.b.window.enabled = true; elseif not is_admin and not is_owner and owner == "For Sale" then gui.b.window.enabled = true; gui.b.button.accept.enabled = false; gui.b.button.sell.enabled = false; gui.b.button.deposit.enabled = false; gui.b.button.withdraw.enabled = false; gui.b.button.buy.enabled = true; end gui.b.window.visible = true; showCursor(true); removeEventHandler("onClientRender", root, showInstructions) end ); addEventHandler("onClientResourceStart", resourceRoot, function() triggerServerEvent("business.getSettings", localPlayer); end ); addEvent("business.getSettings", true); addEventHandler("business.getSettings", root, function(_settings) settings = _settings; end ); core.server local _settings = get(""); local settings = {}; for k, v in pairs(_settings) do k = split(k, ".")[2]; settings[k] = v; end if (settings.key:len() < 1 or settings.key:len() > 1) then settings.key = "N"; end if (not settings.blip or tonumber(settings.blip) == nil) then settings.blip = false; end addEventHandler("onResourceStart", resourceRoot, function() if (settings.database == "mysql") then local host, db, username, password, port, socket = unpack(settings.database_data); if not (host and db and username and password) then outputDebugString("Business: Failed to connect to the MySQL server - The data is invalid"); return; end if (tonumber(port)) then port = "port="..port..";"; else port = ""; end if (socket and socket ~= "") then socket = "socket="..socket..";"; else socket = ""; end database = Connection("mysql", "host="..host..";dbname="..db..";"..port..socket, username, password); if (not database) then outputDebugString("Business: Failed to connect to the MySQL server"); return; end else database = Connection("sqlite", "files/business.db"); if (not database) then outputDebugString("Business: Failed to connect to the SQLite file"); return; end end database:exec("CREATE TABLE IF NOT EXISTS business(id INT, name TEXT, owner TEXT, cost INT, pos TEXT, payout INT, payout_time INT, payout_otime INT, payout_unit TEXT, payout_cur_time INT, bank INT)"); database:query(dbCreateBusinessesCallback, "SELECT * FROM business"); end); function dbCreateBusinessesCallback(query_handle) local sql = query_handle:poll(0); if (sql and #sql > 0) then for index, row in ipairs(sql) do local pos = split(row["pos"], ","); local b_marker = Marker(pos[1], pos[2], pos[3], "cylinder", 1.5, settings.marker_color[1], settings.marker_color[2], settings.marker_color[3], settings.marker_color[4]); b_marker.interior = pos[4]; b_marker.dimension = pos[5]; if (settings.blip ~= false) then if (row["owner"] == "For Sale") then local b_blip = Blip.createAttachedTo(b_marker, settings.blip, 2, 255, 0, 0, 255, 0, 100.0); b_blip.interior = pos[4]; b_blip.dimension = pos[5]; else local b_blip = Blip.createAttachedTo(b_marker, settings.blip, 2, 255, 0, 0, 255, 0, 100.0); b_blip.interior = pos[4]; b_blip.dimension = pos[5]; end end addEventHandler("onMarkerHit", b_marker, onBusinessMarkerHit); addEventHandler("onMarkerLeave", b_marker, onBusinessMarkerLeave); local timer = Timer(businessPayout, row["payout_cur_time"] , 1, b_marker); b_marker:setData("b_data", {row["id"], row["name"], row["owner"], row["cost"], row["payout"], row["payout_time"], row["payout_otime"], row["payout_unit"], row["bank"], timer}); end end end addCommandHandler("business", function(player) if (ACL.hasObjectPermissionTo(player, "function.banPlayer")) then triggerClientEvent(player, "business.showCreateBusinessWindow", player); else player:outputMessage("Business: You don't have access to this command.", 255, 0, 0); end end); function Player:outputMessage(message, r, g, b) if (settings.info_messages_type == "dx") then dxOutputMessage(message, self, r, g, b); else self:outputChat(message, r, g, b, true); end end function outputMessage(message, player, r, g, b) if (settings.info_messages_type == "dx") then dxOutputMessage(message, player, r, g, b); else player:outputChat(message, r, g, b, true); end end function dxOutputMessage(message, player, r, g, b) triggerClientEvent(player, "business.dxOutputMessage", player, message, r, g, b); end addEvent("business.outputMessage", true); addEventHandler("business.outputMessage", root, function(message, r, g, b) source:outputMessage(message, r, g, b); end); addEvent("business.createBusiness", true); addEventHandler("business.createBusiness", root, function(x, y, z, interior, dimension, name, cost, payout, payout_time, payout_unit) database:query(dbCreateBusinessCallback, {client, x, y, z, interior, dimension, name, cost, payout, payout_time, payout_unit}, "SELECT * FROM business"); end); function dbCreateBusinessCallback(query_handle, client, x, y, z, interior, dimension, name, cost, payout, payout_time, payout_unit) local sql = query_handle:poll(0); if (sql) then local id; if (#sql > 0) then id = sql[#sql]["id"] + 1; else id = 1; end local unit; if (payout_unit == "Seconds") then unit = 1000; elseif (payout_unit == "Minutes") then unit = 60000; elseif (payout_unit == "Hours") then unit = 3600000; elseif (payout_unit == "Days") then unit = 86400000; end x = tonumber(x); y = tonumber(y); z = tonumber(z); interior = tonumber(interior); dimension = tonumber(dimension); cost = tonumber(cost); payout = tonumber(payout); payout_time = tonumber(payout_time); z = z - 1; database:exec("INSERT INTO business(id,name,owner,cost,pos,payout,payout_time,payout_otime,payout_unit,payout_cur_time,bank) VALUES(?,?,?,?,?,?,?,?,?,?,?)", id, name, "For Sale", cost, x..","..y..","..z..","..interior..","..dimension, payout, payout_time * unit, payout_time, payout_unit, payout_time * unit, 0); local b_marker = Marker(x, y, z, "cylinder", 1.5, settings.marker_color[1], settings.marker_color[2], settings.marker_color[3], settings.marker_color[4]); b_marker.interior = interior; b_marker.dimension = dimension; if (settings.blip ~= false) then local b_blip = Blip.createAttachedTo(b_marker, settings.blip, 2, 255, 0, 0, 255, 0, 100.0); b_blip.interior = interior; b_blip.dimension = dimension; end local timer = Timer(businessPayout, payout_time * unit , 1, b_marker); b_marker:setData("b_data", {id, name, "For Sale", cost, payout, payout_time * unit, payout_time, payout_unit, 0, timer}); addEventHandler("onMarkerHit", b_marker, onBusinessMarkerHit); addEventHandler("onMarkerLeave", b_marker, onBusinessMarkerLeave); if (#tostring(id) == 1) then id = "0".. tostring(id) end client:outputMessage("Business: Business(ID #"..id..") has been created successfully", 0, 255, 0); end end function onBusinessMarkerHit(hElement, mDim) if (hElement:getType() ~= "player") then return; end if (hElement:isInVehicle()) then return; end if (not mDim) then return; end triggerClientEvent(hElement, "business.showInstructions", hElement); end function onBusinessMarkerLeave(hElement, mDim) if (hElement:getType() ~= "player") then return; end if (hElement:isInVehicle()) then return; end if (not mDim) then return; end triggerClientEvent(hElement, "business.hideInstructions", hElement); end function businessPayout(b_marker) local b_data = b_marker:getData("b_data"); local id, name, owner, cost, payout, payout_time, payout_otime, payout_unit, bank, timer = unpack(b_data); if (owner ~= "For Sale") then bank = bank + payout; database:exec("UPDATE business SET bank = ? WHERE id = ?", bank, id); if (settings.inform_player_of_payout) then local account = Account(owner); if (account) then local player = account:getPlayer(); if (player and player.isElement) then player:outputMessage("Business: Business \" "..name.." \" has paid out($"..payout..")", 0, 255, 0); end end end end timer = Timer(businessPayout, payout_time, 1, b_marker); b_marker:setData("b_data", {id, name, owner, cost, payout, payout_time, payout_otime, payout_unit, bank, timer}); end addEventHandler("onResourceStop", resourceRoot, function() for index, b_marker in ipairs(Element.getAllByType("marker", resourceRoot)) do local b_data = b_marker:getData("b_data"); local id, name, owner, cost, payout, payout_time, payout_otime, payout_unit, bank, timer = unpack(b_data); if (timer and timer:isValid()) then local left = timer:getDetails(); if (left >= 50) then database:exec("UPDATE business SET payout_cur_time = ? WHERE id = ?", left, id); else database:exec("UPDATE business SET payout_cur_time = ? WHERE id = ?", payout_time, id); end end end end); function Ped:isInMarker(marker) local colshape = marker.colShape; return self:isWithinColShape(colshape); end addEventHandler("onResourceStart", resourceRoot, function() for index, player in ipairs(Element.getAllByType("player")) do bindKey(player, settings.key, "up", onPlayerAttemptToOpenBusiness); end end); addEventHandler("onPlayerJoin", root,function() bindKey(source, settings.key, "up", onPlayerAttemptToOpenBusiness); end); function onPlayerAttemptToOpenBusiness(player) for index, b_marker in ipairs(Element.getAllByType("marker", resourceRoot)) do if (player:isInMarker(b_marker)) then local b_data = b_marker:getData("b_data"); local id, name, owner, cost, payout, payout_time, payout_otime, payout_unit, bank, timer = unpack(b_data); triggerClientEvent(player, "business.showBusinessWindow", player, b_marker, getAccountName(getPlayerAccount(player)) == owner, ACL.hasObjectPermissionTo(player, "function.banPlayer")); break; end end end function Ped:getMarker() for index, b_marker in ipairs(Element.getAllByType("marker", resourceRoot)) do if (self:isInMarker(b_marker)) then return b_marker; end end end addEvent("business.buy", true); addEventHandler("business.buy", root, function() local account = client.account; if (not account or account:isGuest()) then client:outputMessage("Business: You are not logged in", 255, 0, 0) return; end local b_marker = client:getMarker(); if (not isElement(b_marker)) then return; end local b_data = b_marker:getData("b_data"); local id, name, owner, cost, payout, payout_time, payout_otime, payout_unit, bank, timer = unpack(b_data); if (owner ~= "For Sale") then client:outputMessage("Business: This business is owned", 255, 0, 0); return; end database:query(dbBuyBusinessCallback, {client, b_marker, id, name, owner, cost, payout, payout_time, payout_otime, payout_unit, bank, timer}, "SELECT * FROM business WHERE owner = ?", account.name); end); addEvent("business.sell", true); addEventHandler("business.sell", root, function() local account = client.account; if (not account or account:isGuest()) then return; end local b_marker = client:getMarker(); if (not isElement(b_marker)) then return; end local b_data = b_marker:getData("b_data"); local id, name, owner, cost, payout, payout_time, payout_otime, payout_unit, bank, timer = unpack(b_data); if (owner ~= account.name) then if (ACL.hasObjectPermissionTo(client, "function.banPlayer")) then database:exec("UPDATE business SET owner = ? WHERE id = ?", "For Sale", id); b_marker:setData
-
سلام عليكم انا عملت لوحة بسيطة بس المشكلة اللوحة تفتح معا الادمن كل حاجة وى مع الاونر الخاص با البنك لكن المشكلة ان لو واحد عادى ماهو اونر البانك او ادمن ما تفتح معة اللوحة عشان يشترى ممكن مساعدة addEvent("business.showBusinessWindow", true); addEventHandler("business.showBusinessWindow", root, function(b_marker, is_owner, is_admin) local b_data = b_marker:getData("b_data"); local id, name, owner, cost, payout, payout_time, payout_otime, payout_unit, bank, timer = unpack(b_data); local x, y, z = b_marker.position; if #tostring(id) == 1 then id = "0"..tostring(id) end gui.b.window.text = name; gui.b.label.id.text = "ID: #"..id; gui.b.label.name.text = "Name: "..name; gui.b.label.owner.text = "Owner: "..owner; gui.b.label.cost.text = "Cost: $"..cost; gui.b.label.payout.text = "Payout: $"..payout; gui.b.label.payout_time.text = "Payout Time: "..payout_otime.." "..payout_unit; gui.b.label.location.text = "Location: "..getZoneName(x, y, z, false).."("..getZoneName(x, y, z, true)..")"; gui.b.label.bank.text = "Bank: $"..bank; if is_admin and is_owner then gui.b.button.sell.enabled = true; gui.b.button.deposit.enabled = true; gui.b.button.withdraw.enabled = true; gui.b.button.buy.enabled = false; elseif is_admin and not is_owner and owner ~= "For Sale" then gui.b.button.sell.enabled = true; gui.b.button.buy.enabled = false; gui.b.button.deposit.enabled = false; gui.b.button.withdraw.enabled = false; elseif is_admin and not is_owner and owner == "For Sale" then gui.b.button.sell.enabled = false; gui.b.button.buy.enabled = true; gui.b.button.deposit.enabled = false; gui.b.button.withdraw.enabled = false; elseif not is_admin and is_owner then gui.b.button.sell.enabled = true; gui.b.button.deposit.enabled = true; gui.b.button.withdraw.enabled = true; gui.b.button.buy.enabled = false; elseif not is_admin and not is_owner and owner ~= "For Sale" then gui.b.window.enabled = true; elseif not is_admin and not is_owner and owner == "For Sale" then gui.b.window.enabled = true; gui.b.button.accept.enabled = false; gui.b.button.sell.enabled = false; gui.b.button.deposit.enabled = false; gui.b.button.withdraw.enabled = false; gui.b.button.buy.enabled = true; end gui.b.window.visible = true; showCursor(true); removeEventHandler("onClientRender", root, showInstructions) end );
-
ممكن بقا ازاى اشغل صوت جوا المارك
-
سلام عليكم السكربت عايز اضيف علية ان سيارة اللعب تتجمد لمدة 3 دقائق وى بعد كدا يتفك الفريز وى يمكن يتحرك با السيارة
-
شكرا تم الافادة
-
سلام عليكم انا جبت عملت هذا الكود المفروض ان الكود يعطيك السكن لى العضو الى داخل الجروب و ما يعطية لى الشخص العادى المشكلة ما بيعطى سكن ما فى خطء فى dubug client shaders = {} names = {} textures = {} applied = {} groups = { { name = "DynamicMouse", texture= "dym.png", shader= "test.fx", num = 1, worldname = "swmotr5" }, { name = "Naders", texture= "uRa9wsP.png", shader= "test.fx", num = 261, worldname = "wmycd1" }, { name = "LynX", texture= "ZX2eBoB.png", shader= "test.fx", num = 160, worldname = "cwmohb2" }, } addEventHandler( "onClientResourceStart", resourceRoot, function() for i,val in ipairs(groups) do perfectname = val.name..""..val.num textures[perfectname] = dxCreateTexture ( val.texture ) shaders[perfectname] = dxCreateShader( val.shader,999999, 0, false, "ped" ) names[perfectname] = val.worldname dxSetShaderValue ( shaders[perfectname], "Tex0", textures[perfectname] ) -- engineApplyShaderToWorldTexture ( shaders[perfectname], val.worldname ) --bit of sanity checking if not shaders[perfectname] then outputDebugString( "Could not create shader. Please use debugscript 3" ) destroyElement( textures[perfectname] ) return elseif not textures[perfectname] then outputDebugString( "loading texture failed" ) destroyElement ( shaders[perfectname] ) tec = nil return end end end ) function groupskinapply(cmd,num) local grp = getElementData(localPlayer,"g") local perfectname = grp..""..num if grp and grp ~= "" and shaders[perfectname] then if applied[perfectname] then triggerServerEvent("SunApplyToAllServer", root, perfectname, theplayer) applied[perfectname] = nil return end theplayer = localPlayer val = groups[1] applied[perfectname] = true triggerServerEvent("SonApplyToAllServer", root, perfectname, theplayer) exports.texts:output("Applied group skin "..num,0,255,0) end end addCommandHandler("groupskin", groupskinapply) addEvent("onApplyToAllServer", true ) function applyitdude(val, player) bool1 = engineApplyShaderToWorldTexture ( shaders[val], names[val], player ) if not bool1 then outputChatBox("oh 4",255,0,0) end end addEventHandler("onApplyToAllServer", root, applyitdude) addEvent("unApplyToAllServer", true ) function unapplyitdude(val, player) bool1 = engineRemoveShaderFromWorldTexture ( shaders[val], names[val], player ) if not bool1 then outputChatBox("oh 4",255,0,0) end end addEventHandler("unApplyToAllServer", root, unapplyitdude) server addEvent("SonApplyToAllServer", true ) function applyitdude(val, player) triggerClientEvent(root, "onApplyToAllServer", root, val, player) end addEventHandler("SonApplyToAllServer", root, applyitdude) addEvent("SunApplyToAllServer", true ) function unapplyitdude(val, player) triggerClientEvent(root, "unApplyToAllServer", root, val, player) end addEventHandler("SunApplyToAllServer", root, unapplyitdude) test.fx //-- Declare the texture. These are set using dxSetShaderValue( shader, "Tex0", texture ) texture Tex0; technique simple { pass P0 { //-- Set up texture stage 0 Texture[0] = Tex0; //-- Leave the rest of the states to the default settings } } meta.xml
-
ممكن مثال