momar5600 Posted September 12, 2016 Share Posted September 12, 2016 (edited) سلام عليكم ورحمة الله وبركاتة عندي مشكلة هو انا اشوف شخصيتان بس كلام مايظهر فوقهم ليش function leaveRegister () local x,y = guiGetPosition(GUIEditor.window[1],false) guiSetPosition(GUIEditor.window[1],x-3,y-3,false) if ( x >= 0 and y >= 0 ) then removeEventHandler("onClientRender",root,leaveRegister) fadeCamera(true) showCursor(false) guiSetInputEnabled(false) guiSetVisible(GUIEditor.window[1],false) setCameraMatrix(2016.259765625,982.78271484375,12.015399932861,2016.2641601563,983.76629638672,11.835141181946) xMyPed1 = createPed(45,2016.2739257813,986.02960205078,10.8203125,269.74395751953) xMyPed2 = createPed(45,2016.2739257813 + 1,986.02960205078,10.8203125,89.74405670166) exports["chatbubbles"]:addText ( xMyPed1,"ماهو افضل سيرفر",1 ) setTimer(function () exports["chatbubbles"]:addText ( xMyPed2,"سيرفر عشاق الوناسة اكيد",3 ) end,500,1) setTimer(function () fadeCamera(false) end,1000,1) setTimer(function () show () fadeCamera(true) destroyElement(xMyPed1) destroyElement(xMyPed2) end,3000,1) end end مع علم انا مركب مود chatbubbles Edited September 12, 2016 by momar5600 Link to comment
momar5600 Posted September 12, 2016 Author Share Posted September 12, 2016 مافي رد هل انا اطلب صعب طيب خبروني وش الخطا علي الاقل Link to comment
iMr ~ MnHmAr Posted September 12, 2016 Share Posted September 12, 2016 سوي اكسبورد من نفس مود الشات اذا مانفع هات الدي بق Link to comment
momar5600 Posted September 12, 2016 Author Share Posted September 12, 2016 كيف مود شات local textsToDraw = {} local hideown local showtime local characteraddition local maxbubbles local showthebubbles = true function income(message,messagetype) if source ~= getLocalPlayer() or not hideown then if messagetype == 2 then if getPlayerTeam(source) == getPlayerTeam(getLocalPlayer()) then addText(source,message,messagetype) end else addText(source,message,messagetype) end end end function addText(source,message,messagetype) local notfirst = false for i,v in ipairs(textsToDraw) do if v[1] == source then v[4] = v[4] + 1 notfirst = true end end local infotable = {source,message,messagetype,0} table.insert(textsToDraw,infotable) if not notfirst then setTimer(removeText,showtime + (#message * characteraddition),1,infotable) end end function removeText(infotable) for i,v in ipairs(textsToDraw) do if v[1] == infotable[1] and v[2] == infotable[2] then for i2,v2 in ipairs(textsToDraw) do if v2[1] == v[1] and v[4] - v2[4] == 1 then setTimer(removeText,showtime + (#v2[2] * characteraddition),1,v2) end end table.remove(textsToDraw,i) break end end end function getTextsToRemove() for i,v in ipairs(textsToDraw) do if v[1] == source then removeText(v) end end end function handleDisplay() if showthebubbles then for i,v in ipairs(textsToDraw) do if isElement(v[1]) then if getElementHealth(v[1]) > 0 then local camPosXl, camPosYl, camPosZl = getPedBonePosition (v[1], 6) local camPosXr, camPosYr, camPosZr = getPedBonePosition (v[1], 7) local x,y,z = (camPosXl + camPosXr) / 2, (camPosYl + camPosYr) / 2, (camPosZl + camPosZr) / 2 --local posx,posy = getScreenFromWorldPosition(x,y,z+0.25) local cx,cy,cz = getCameraMatrix() local px,py,pz = getElementPosition(v[1]) local distance = getDistanceBetweenPoints3D(cx,cy,cz,px,py,pz) local posx,posy = getScreenFromWorldPosition(x,y,z+0.020*distance+0.10) local elementtoignore1 = getPedOccupiedVehicle(getLocalPlayer()) or getLocalPlayer() local elementtoignore2 = getPedOccupiedVehicle(v[1]) or v[1] if posx and distance <= 45 and ( isLineOfSightClear(cx,cy,cz,px,py,pz,true,true,false,true,false,true,true,elementtoignore1) or isLineOfSightClear(cx,cy,cz,px,py,pz,true,true,false,true,false,true,true,elementtoignore2) ) and ( not maxbubbles or v[4] < maxbubbles ) then -- change this when multiple ignored elements can be specified local width = dxGetTextWidth(v[2],1,"default") dxDrawRectangle(posx - (3 + (0.5 * width)),posy - (2 + (v[4] * 20)),width + 5,19,tocolor(0,0,0,255)) dxDrawRectangle(posx - (6 + (0.5 * width)),posy - (2 + (v[4] * 20)),width + 11,19,tocolor(0,0,0,40)) dxDrawRectangle(posx - (8 + (0.5 * width)),posy - (1 + (v[4] * 20)),width + 15,17,tocolor(0,0,0,255)) dxDrawRectangle(posx - (10 + (0.5 * width)),posy - (1 + (v[4] * 20)),width + 19,17,tocolor(0,0,0,40)) dxDrawRectangle(posx - (10 + (0.5 * width)),posy - (v[4] * 20) + 1,width + 19,13,tocolor(0,0,0,255)) dxDrawRectangle(posx - (12 + (0.5 * width)),posy - (v[4] * 20) + 1,width + 23,13,tocolor(0,0,0,40)) dxDrawRectangle(posx - (12 + (0.5 * width)),posy - (v[4] * 20) + 4,width + 23,7,tocolor(0,0,0,255)) local r,g,b = 255,255,255 if v[3] == 2 then r,g,b = getTeamColor(getPlayerTeam(v[1])) end dxDrawText(v[2],posx - (0.5 * width),posy - (v[4] * 20),posx - (0.5 * width),posy - (v[4] * 20),tocolor(r,g,b,255),1,"default","left","top",false,false,false) end end end end end end function getServerSettings() triggerServerEvent("onAskForBubbleSettings",getLocalPlayer()) end function saveSettings(settings) showtime = settings[1] characteraddition = settings[2] maxbubbles = settings[3] hideown = settings[4] addEvent("onChatbubblesMessageIncome",true) addEventHandler("onChatbubblesMessageIncome",getRootElement(),income) end function toggleBubblesOnOff() showthebubbles = not showthebubbles outputChatBox("Toggled chatbubbles " ..( not showthebubbles and "#FF0000off#FFFFFF." or "#00FF00on#FFFFFF." ),255,255,255,true) end addEventHandler("onClientPlayerQuit",getRootElement(),getTextsToRemove) addEventHandler("onClientRender",getRootElement(),handleDisplay) addEventHandler("onClientResourceStart",getResourceRootElement(getThisResource()),getServerSettings) addEvent("onBubbleSettingsReturn",true) addEventHandler("onBubbleSettingsReturn",getRootElement(),saveSettings) addCommandHandler("chatbubbles",toggleBubblesOnOff) سيرفر local showtime = tonumber(get("chatbubbles.DefaultTime")) local characteraddition = tonumber(get("chatbubbles.PerCharacterAddition")) local maxbubbles = get("chatbubbles.MaxBubbles") if maxbubbles == "false" then maxbubbles = false else maxbubbles = tonumber(maxbubbles) end local hideown = get("chatbubbles.HideOwn") if hideown == "true" then hideown = true else hideown = false end function sendMessageToClient(message,messagetype) if not wasEventCancelled() then if messagetype == 0 or messagetype == 2 then triggerClientEvent("onChatbubblesMessageIncome",source,message,messagetype) end end end function returnSettings() local settings = { showtime, characteraddition, maxbubbles, hideown } triggerClientEvent(source,"onBubbleSettingsReturn",getRootElement(),settings) end addEventHandler("onPlayerChat",getRootElement(),sendMessageToClient) addEvent("onAskForBubbleSettings",true) addEventHandler("onAskForBubbleSettings",getRootElement(),returnSettings) Link to comment
iMr ~ MnHmAr Posted September 12, 2016 Share Posted September 12, 2016 اطرح الميتا حقت مود الشات Link to comment
momar5600 Posted September 12, 2016 Author Share Posted September 12, 2016 <meta> <info author="eXo|dragon" description="Adds chatbubbles above the player's heads!" type="script" version="1.0.6" /> <script src="chatbubbles_server.lua" type="server"/> <script src="chatbubbles_client.lua" type="client"/> <settings> <setting name="*DefaultTime" value="7500" accept="number" desc="The default time every bubble will be visible." /> <setting name="*PerCharacterAddition" value="100" accept="number" desc="The time every character in a message adds to the total time visible." /> <setting name="*MaxBubbles" value="3" accept="number/false" desc="The max number of bubbles stacked above one's head. To disable enter 'false'." /> <setting name="*HideOwn" value="true" accept="true/false" desc="Decides whether players are able to see their own bubbles or not." /> </settings> </meta> الووو رد لو سمحتم اه هو خطا ؟ Link to comment
' A F . Posted September 12, 2016 Share Posted September 12, 2016 ضيف هاذا بالميتا حق مود chatbubbles <export function="addText" type="client" /> 1 Link to comment
momar5600 Posted September 12, 2016 Author Share Posted September 12, 2016 (edited) خلاص فهمت ماكنت شايف كلام لانه ملون اشتغل الله ينور بدي اطول وقت لان شاشة تضفي بسرعا ابيها تضفي بعد 10 دقايق Edited September 12, 2016 by momar5600 Link to comment
momar5600 Posted September 12, 2016 Author Share Posted September 12, 2016 خلاص عرفت بد ي طلب اخير كيف اجيب احداثيات كاميرا Link to comment
' A F . Posted September 12, 2016 Share Posted September 12, 2016 (edited) getCameraMatrix Edited September 12, 2016 by Default 1 Link to comment
momar5600 Posted September 12, 2016 Author Share Posted September 12, 2016 1 minute ago, Default said: getCameraMatrix تسلم + تشكر تعبتك معاي بس ممكن اخر طلب كيف اخلي شخصية تتحرك Link to comment
' A F . Posted September 12, 2016 Share Posted September 12, 2016 العفو حياك الله setPedControlState 1 Link to comment
momar5600 Posted September 12, 2016 Author Share Posted September 12, 2016 انا ابي شخصية تمشي وتتوقف بمكان محدد انا احدده Link to comment
' A F . Posted September 12, 2016 Share Posted September 12, 2016 استخدم createMarker setTimer setElementPosition onClientMarkerHit isTimer killTimer 1 Link to comment
momar5600 Posted September 12, 2016 Author Share Posted September 12, 2016 اوك شكرا لك واسف علي تعبك معي Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now