Jump to content

iPrestege

Members
  • Posts

    10,056
  • Joined

  • Days Won

    27

Everything posted by iPrestege

  1. Yes it is possible : getResourceState getResourceInfo exports
  2. iPrestege

    Help!

    Replace the files with this : vehicles.xml : type="vehicle"> name="Aircraft"> name="Helicopters"> id="548" name="Cargobob" /> id="417" name="Leviathan" /> id="487" name="Maverick" /> id="488" name="News Chopper" /> id="497" name="Police Maverick" /> id="563" name="Raindance" /> id="447" name="Seasparrow" /> id="469" name="Sparrow" /> > name="Planes, Jets and Airlines"> id="592" name="Andromada" /> id="577" name="AT-400" /> id="511" name="Beagle" /> id="512" name="Cropduster" /> id="593" name="Dodo" /> id="553" name="Nevada" /> id="476" name="Rustler" /> id="519" name="Shamal" /> id="460" name="Skimmer" /> id="513" name="Stuntplane" /> > > name="Bikes"> name="Motorbikes"> id="581" name="BF-400" /> id="462" name=":O" /> id="521" name="FCR-900" /> id="463" name="Freeway" /> id="523" name="HPV1000" /> id="522" name="NRG-500" /> id="461" name="PCJ-600" /> id="448" name="Pizza Boy" /> id="468" name="Sanchez" /> id="586" name="Wayfarer" /> id="471" name="Quadbike" /> > name="Bicycles"> id="509" name="Bike" /> id="481" name="BMX" /> id="510" name="Mountain bike" /> > > name="Boats"> id="472" name="Coastguard" /> id="473" name="Dinghy" /> id="493" name="Jetmax" /> id="595" name="Launch" /> id="484" name="Marquis" /> id="430" name="Predator" /> id="453" name="Reefer" /> id="452" name="Speeder" /> id="446" name="Squalo" /> id="454" name="Tropic" /> > name="Cars"> name="Sports Cars"> id="602" name="Alpha" /> id="429" name="Banshee" /> id="402" name="Buffalo" /> id="541" name="Bullet" /> id="415" name="Cheetah" /> id="480" name="Comet" /> id="562" name="Elegy" /> id="587" name="Euros" /> id="565" name="Flash" /> id="411" name="Infernus" /> id="559" name="Jester" /> id="603" name="Phoenix" /> id="560" name="Sultan" /> id="506" name="Super GT" /> id="451" name="Turismo" /> id="558" name="Uranus" /> id="555" name="Windsor" /> id="477" name="ZR-350" /> > name="Lowriders"> id="536" name="Blade" /> id="575" name="Broadway" /> id="518" name="Buccaneer" /> id="419" name="Esperanto" /> id="534" name="Remington" /> id="567" name="Savanna" /> id="535" name="Slamvan" /> id="576" name="Tornado" /> id="412" name="Voodoo" /> > name="2-Door"> id="496" name="Blista Compact" /> id="401" name="Bravura" /> id="527" name="Cadrona" /> id="542" name="Clover" /> id="533" name="Feltzer" /> id="526" name="Fortune" /> id="474" name="Hermes" /> id="545" name="Hustler" /> id="517" name="Majestic" /> id="410" name="Manana" /> id="436" name="Previon" /> id="475" name="Sabre" /> id="439" name="Stallion" /> id="549" name="Tampa" /> id="491" name="Virgo" /> > name="4-Door"> id="445" name="Admiral" /> id="438" name="Cabbie" /> id="507" name="Elegant" /> id="585" name="Emperor" /> id="466" name="Glendale" /> id="492" name="Greenwood" /> id="546" name="Intruder" /> id="551" name="Merit" /> id="516" name="Nebula" /> id="467" name="Oceanic" /> id="426" name="Premier" /> id="547" name="Primo" /> id="405" name="Sentinel" /> id="580" name="Stafford" /> id="409" name="Stretch" /> id="550" name="Sunrise" /> id="566" name="Tahoma" /> id="420" name="Taxi" /> id="540" name="Vincent" /> id="421" name="Washington" /> id="529" name="Willard" /> > > name="Emergency"> id="416" name="Ambulance" /> id="433" name="Barracks" /> id="427" name="Enforcer" /> id="490" name="FBI rancher" /> id="528" name="FBI truck" /> id="407" name="Fire truck" /> id="544" name="Fire truck (ladder)" /> id="596" name="Police car (LS)" /> id="598" name="Police car (LV)" /> id="597" name="Police car (SF)" /> id="599" name="Police ranger" /> id="601" name="S.W.A.T." /> > name="Heavy Vehicles"> name="Industrial"> id="524" name="Cement truck" /> id="578" name="DFT-30" /> id="486" name="Dozer" /> id="406" name="Dumper" /> id="573" name="Dune" /> id="455" name="Flatbed" /> id="530" name="Forklift" /> id="403" name="Linerunner" /> id="443" name="Packer" /> id="515" name="Roadtrain" /> id="574" name="Sweeper" /> id="514" name="Tanker" /> id="525" name="Towtruck" /> id="408" name="Trashmaster" /> id="552" name="Utility van" /> > name="Trailers"> id="606" name="Baggage trailer (covered)" /> id="607" name="Baggage trailer (Uncovered)" /> id="610" name="Farm trailer" /> id="537" name="Freight train" /> id="590" name="Freight train boxcar" /> id="569" name="Freight train flatbed" /> id="611" name="Street Clean trailer" /> id="584" name="Gas trailer" /> id="608" name="Trailer 1" /> id="435" name="Trailer 2" /> id="450" name="Trailer 3" /> id="591" name="Trailer 4" /> > name="Trucks"> id="499" name="Benson" /> id="609" name="Black Boxville" /> id="422" name="Bobcat" /> id="498" name="Boxville" /> id="414" name="Mule" /> id="600" name="Picador" /> id="543" name="Sadler" /> id="428" name="Securicar" /> id="478" name="Walton" /> id="456" name="Yankee" /> id="554" name="Yosemite" /> > name="Vans"> id="459" name="Berkley's RC van" /> id="482" name="Burrito" /> id="483" name="Camper" /> id="508" name="Journey" /> id="418" name="Moonbeam" /> id="582" name="News van" /> id="413" name="Pony" /> id="440" name="Rumpo" /> > > name="Misc"> name="Other"> id="485" name="Baggage" /> id="568" name="Bandito" /> id="424" name="BF Injection" /> id="504" name="Bloodring Banger" /> id="538" name="Brownstreak Engine" /> id="431" name="Bus" /> id="457" name="Caddy" /> id="437" name="Coach" /> id="532" name="Combine harvester" /> id="588" name="Hotdog" /> id="434" name="Hotknife" /> id="494" name="Hotring racer" /> id="502" name="Hotring racer 2" /> id="503" name="Hotring racer 3" /> id="444" name="Monster" /> id="556" name="Monster 2" /> id="557" name="Monster 3" /> id="572" name="Mower" /> id="423" name="Mr. Whoopee" /> id="571" name="Kart" /> id="531" name="Tractor" /> id="449" name="Trolly" /> id="583" name="Tug" /> id="539" name="Vortex" /> > name="RC Vehicles"> id="441" name="RC Bandit" /> id="464" name="RC Baron" /> id="594" name="RC Flower Pot" /> id="501" name="RC Goblin" /> id="465" name="RC Raider" /> id="564" name="RC Tiger" /> > > name="SUVs and Wagons"> id="589" name="Club" /> id="579" name="Huntley" /> id="400" name="Landstalker" /> id="500" name="Mesa" /> id="470" name="Patriot" /> id="404" name="Perennial" /> id="489" name="Rancher" /> id="479" name="Regina" /> id="442" name="Romero" /> id="495" name="Sandking" /> id="458" name="Solair" /> id="561" name="Stratum" /> >> fr_client.lua : CONTROL_MARGIN_RIGHT = 5 LINE_MARGIN = 5 LINE_HEIGHT = 16 g_Root = getRootElement() g_ResRoot = getResourceRootElement(getThisResource()) g_Me = getLocalPlayer() server = createServerCallInterface() guiSetInputMode("no_binds_when_editing") --------------------------- -- Set skin window --------------------------- function skinInit() setControlNumber(wndSkin, 'skinid', getElementModel(g_Me)) end function showSkinID(leaf) if leaf.id then setControlNumber(wndSkin, 'skinid', leaf.id) end end function applySkin() local skinID = getControlNumber(wndSkin, 'skinid') if skinID then server.setMySkin(skinID) fadeCamera(true) end end wndSkin = { 'wnd', text = 'Set skin', width = 250, x = -20, y = 0.3, controls = { { 'lst', id='skinlist', width=230, height=290, columns={ {text='Skin', attr='name'} }, rows={xml='skins.xml', attrs={'id', 'name'}}, onitemclick=showSkinID, onitemdoubleclick=applySkin }, {'txt', id='skinid', text='', width=50}, {'btn', id='set', onclick=applySkin}, {'btn', id='close', closeswindow=true} }, oncreate = skinInit } function setSkinCommand(cmd, skin) skin = skin and tonumber(skin) if skin then server.setMySkin(skin) fadeCamera(true) closeWindow(wndSpawnMap) closeWindow(wndSetPos) end end addCommandHandler('setskin', setSkinCommand) addCommandHandler('ss', setSkinCommand) --------------------------- --- Set animation window --------------------------- function applyAnimation(leaf) if type(leaf) ~= 'table' then leaf = getSelectedGridListLeaf(wndAnim, 'animlist') if not leaf then return end end server.setPedAnimation(g_Me, leaf.parent.name, leaf.name, true, true) end function stopAnimation() server.setPedAnimation(g_Me, false) end addCommandHandler("stopanim", stopAnimation) bindKey("lshift", "down", "stopanim") wndAnim = { 'wnd', text = 'Set animation', width = 250, x = -20, y = 0.3, controls = { { 'lst', id='animlist', width=230, height=290, columns={ {text='Animation', attr='name'} }, rows={xml='animations.xml', attrs={'name'}}, expandlastlevel=false, onitemdoubleclick=applyAnimation }, {'btn', id='set', onclick=applyAnimation}, {'btn', id='stop', onclick=stopAnimation}, {'btn', id='close', closeswindow=true} } } addCommandHandler('anim', function(command, lib, name) server.setPedAnimation(g_Me, lib, name, true, true) end ) --------------------------- -- Weapon window --------------------------- function addWeapon(leaf, amount) if type(leaf) ~= 'table' then leaf = getSelectedGridListLeaf(wndWeapon, 'weaplist') amount = getControlNumber(wndWeapon, 'amount') if not amount or not leaf then return end end server.giveMeWeapon(leaf.id, amount) end wndWeapon = { 'wnd', text = 'Give weapon', width = 250, controls = { { 'lst', id='weaplist', width=230, height=280, columns={ {text='Weapon', attr='name'} }, rows={xml='weapons.xml', attrs={'id', 'name'}}, onitemdoubleclick=function(leaf) addWeapon(leaf, 500) end }, {'br'}, {'txt', id='amount', text='500', width=60}, {'btn', id='add', onclick=addWeapon}, {'btn', id='close', closeswindow=true} } } function giveWeaponCommand(cmd, weapon, amount) weapon = tonumber(weapon) or getWeaponIDFromName(weapon) if not weapon then return end amount = amount and tonumber(amount) or 500 server.giveMeWeapon(math.floor(weapon), amount) end addCommandHandler('give', giveWeaponCommand) addCommandHandler('wp', giveWeaponCommand) --------------------------- -- Fighting style --------------------------- addCommandHandler('setstyle', function(cmd, style) style = style and tonumber(style) if style then server.setPedFightingStyle(g_Me, style) end end ) --------------------------- -- Clothes window --------------------------- function clothesInit() if getElementModel(g_Me) ~= 0 then errMsg('You must have the CJ skin set in order to apply clothes.') closeWindow(wndClothes) return end if not g_Clothes then triggerServerEvent('onClothesInit', g_Me) end end addEvent('onClientClothesInit', true) addEventHandler('onClientClothesInit', g_Root, function(clothes) g_Clothes = clothes.allClothes for i,typeGroup in ipairs(g_Clothes) do for j,cloth in ipairs(typeGroup.children) do if not cloth.name then cloth.name = cloth.model .. ' - ' .. cloth.texture end cloth.wearing = clothes.playerClothes[typeGroup.type] and clothes.playerClothes[typeGroup.type].texture == cloth.texture and clothes.playerClothes[typeGroup.type].model == cloth.model or false end table.sort(typeGroup.children, function(a, b) return a.name < b.name end) end bindGridListToTable(wndClothes, 'clothes', g_Clothes, false) end ) function clothListClick(cloth) setControlText(wndClothes, 'addremove', cloth.wearing and 'remove' or 'add') end function applyClothes(cloth) if not cloth then cloth = getSelectedGridListLeaf(wndClothes, 'clothes') if not cloth then return end end if cloth.wearing then cloth.wearing = false setControlText(wndClothes, 'addremove', 'add') server.removePlayerClothes(g_Me, cloth.parent.type) else local prevClothIndex = table.find(cloth.siblings, 'wearing', true) if prevClothIndex then cloth.siblings[prevClothIndex].wearing = false end cloth.wearing = true setControlText(wndClothes, 'addremove', 'remove') server.addPedClothes(g_Me, cloth.texture, cloth.model, cloth.parent.type) end end wndClothes = { 'wnd', text = 'Clothes', x = -20, y = 0.3, width = 350, controls = { {
  3. You can make it more simply : addEvent ( 'onServerMapStart',true ) addEventHandler ( 'onResourceStart',root, function ( resource ) if getResourceInfo ( resource,'type' ) == 'map' then triggerEvent ( 'onServerMapStart',resourceRoot ) end end ) In the other resource or any resource : addEventHandler ( 'onServerMapStart',root, function ( ) outputChatBox ( 'Map Started',root ) end ) Now you can use 'onServerMapStart' Event when want .
  4. ZA7F : لآ مو ضرورية جرب بنفسك بلآش نحوس .. SFA7 : name="Default"> name="general.ModifyOtherObjects" access="false">> name="command.msg" access="false">> name="general.http" access="false">> name="command.start" access="false">> name="command.speed" access="false">> name="command.cv" access="false">> name="command.car" access="false">> name="command.wp" access="false">> name="command.ap" access="false">> name="command.grav" access="false">> name="command.votekick" access="false">> name="command.voteban" access="false">> name="command.votekill" access="false">> name="command.votemode" access="false">> name="command.votemap" access="false">> name="command.logout" access="false">> name="command.stop" access="false">> name="command.stopall" access="false">> name="command.gamemode" access="false">> name="command.changemode" access="false">> name="command.changemap" access="false">> name="command.stopmode" access="false">> name="command.stopmap" access="false">> name="command.skipmap" access="false">> name="command.restart" access="false">> name="command.refresh" access="false">> name="command.refreshall" access="false">> name="command.addaccount" access="true">> name="command.delaccount" access="false">> name="command.debugscript" access="false">> name="command.chgpass" access="false">> name="command.loadmodule" access="false">> name="command.upgrade" access="false">> name="command.mute" access="false">> name="command.crun" access="false">> name="command.srun" access="false">> name="command.run" access="false">> name="command.unmute" access="false">> name="command.kick" access="false">> name="command.ban" access="false">> name="command.banip" access="false">> name="command.unbanip" access="false">> name="command.shutdown" access="false">> name="command.install" access="false">> name="command.aexec" access="false">> name="command.whois" access="false">> name="command.whowas" access="false">> name="function.executeCommandHandler" access="false">> name="function.setPlayerMuted" access="false">> name="function.addAccount" access="true">> name="function.addBan" access="false">> name="function.removeBan" access="false">> name="function.removeAccount" access="false">> name="function.setAccountPassword" access="false">> name="function.kickPlayer" access="false">> name="function.banIP" access="false">> name="function.banPlayer" access="false">> name="function.banSerial" access="false">> name="function.getBansXML" access="false">> name="function.unbanIP" access="false">> name="function.unbanSerial" access="false">> name="function.getClientIP" access="false">> name="function.setServerPassword" access="false">> name="function.getServerPassword" access="false">> name="function.callRemote" access="false">> name="function.startResource" access="false">> name="function.stopResource" access="false">> name="function.restartResource" access="false">> name="function.createResource" access="false">> name="function.copyResource" access="false">> name="function.addResourceMap" access="false">> name="function.addResourceConfig" access="false">> name="function.removeResourceFile" access="false">> name="function.setResourceDefaultSetting" access="false">> name="function.removeResourceDefaultSetting" access="false">> name="function.redirectPlayer" access="false">> name="function.aclReload" access="false">> name="function.aclSave" access="false">> name="function.aclCreate" access="false">> name="function.aclDestroy" access="false">> name="function.aclSetRight" access="false">> name="function.aclRemoveRight" access="false">> name="function.aclCreateGroup" access="false">> name="function.aclDestroyGroup" access="false">> name="function.aclGroupAddACL" access="false">> name="function.aclGroupRemoveACL" access="false">> name="function.aclGroupAddObject" access="false">> name="function.aclGroupRemoveObject" access="false">> name="function.refreshResources" access="false">> name="function.setServerConfigSetting" access="false">> name="general.adminpanel" access="false">> name="general.tab_players" access="false">> name="general.tab_resources" access="false">> name="general.tab_maps" access="false">> name="general.tab_server" access="false">> name="general.tab_bans" access="false">> name="general.tab_adminchat" access="false">> name="command.freeze" access="false">> name="command.setnick" access="false">> name="command.shout" access="false">> name="command.spectate" access="false">> name="command.slap" access="false">> name="command.setgroup" access="false">> name="command.sethealth" access="false">> name="command.setarmour" access="false">> name="command.setmoney" access="false">> name="command.setskin" access="false">> name="command.setteam" access="false">> name="command.giveweapon" access="false">> name="command.setstat" access="false">> name="command.jetpack" access="false">> name="command.warp" access="false">> name="command.setdimension" access="false">> name="command.setinterior" access="false">> name="command.givevehicle" access="false">> name="command.repair" access="false">> name="command.blow" access="false">> name="command.destroy" access="false">> name="command.customize" access="false">> name="command.setcolor" access="false">> name="command.setpaintjob" access="false">> name="command.listmessages" access="false">> name="command.readmessage" access="false">> name="command.listresources" access="false">> name="command.execute" access="false">> name="command.setpassword" access="false">> name="command.setwelcome" access="false">> name="command.setgame" access="false">> name="command.setmap" access="false">> name="command.setweather" access="false">> name="command.blendweather" access="false">> name="command.setblurlevel" access="false">> name="command.setwaveheight" access="false">> name="command.setskygradient" access="false">> name="command.setgamespeed" access="false">> name="command.setgravity" access="false">> name="command.settime" access="false">> name="command.unban" access="false">> name="command.login" access="false">> name="command.banserial" access="false">> name="command.unbanserial" access="false">> name="command.listbans" access="false">> name="general.tactics_players" access="false">> name="general.tactics_maps" access="false">> name="general.tactics_configs" access="false">> name="general.tactics_handling" access="false">> name="general.tactics_teams" access="false">> name="general.tactics_adminchat" access="false">> name="general.tactics_shooting" access="false">> name="general.tactics_openpanel" access="false">> name="general.tactics_weather" access="false">> name="general.tactics_vehicles" access="false">> name="general.tactics_weapons" access="false">> name="general.tactics_anticheat" access="false">> name="general.tactics_settings" access="false">> name="general.tactics_shoting" access="false">> name="command.delete" access="false">> name="function.shutdown" access="false">> name="function.deleteResource" access="false">> name="command.setfpslimit" access="false">> name="command.fetchRemote" access="false">> >
  5. أولاً : local marker1 = createMarker(-1066.6734619141 ,-1149.0297851563, 129.21875-1 , "cylinder" , 2, 255,230 ,0 , 255) F_Window = guiCreateWindow(x, x, x, x, "", false) guiSetVisible ( F_Window,false ) function window ( hit ) if hit == localPlayer then guiSetVisible ( F_Window,true ) end end addEventHandler("onClientMarkerHit" , marker1, window ) ثانياً : اذا كان الالمنت " الماركـر " بجانب الكلنت ماراح يضر ماتستخدم جدول عادي .
  6. string.find مالها داعي .. لكن أفضل من الأسل وضمآنها أحسن ..
  7. تعدل على الاسل باضافة الكوماند و تسوي لة false منع بـ أوضح معنى لـ قروب Everyone
  8. iPrestege

    Help!

    Post the freeroam fr_server.lua + fr_client.lua + vehicles.xml file so i can search and find where they are in.
  9. هذا يجيب التيم من اسمة مثلاً تبي تحط لاعب في تيم أنت مسوية من سكربت أخر تسوي كذا أو من نفس السكربت لكن دامه من نفس السكربت سوي متغير وخلصنا .. setPlayerTeam ( player,getTeamFromName ( 'Team Name' ) ) player = الاعب Team Name = اسم التيم اللي تبي تحط الاعب فية
  10. iPrestege

    Help!

    By editing freeroam and xml files .
  11. function UpdateMinuteS ( ) for index, account in ipairs ( getAccounts ( ) ) do if getAccountPlayer ( account ) then setAccountData( account,"Time",tostring( getAccountData( account,"Time" ) or 0 )+1 ) end end end setTimer ( UpdateMinuteS, 60000, 0 ) And you forgot '(' To close the event.
  12. getElementsByType 'account' Huh? getAccounts
  13. He did. Error is: the debugsdcript says this error on this line 9 Local MimgW, MimgH = dxGetMaterialSize (mapRadar) in MimgW Ready the whole message then reply. Huh? Where's the whole error such : ERROR: call: failed to call 'ID_System:getPlayerFromPartialName' [string "?"] And please if you want to ask me about something leave the topic in a corner and tell me what you want via 'PM' !
  14. local farmers = createTeam ( 'Farmer' , 210 , 140 , 0 ) marker = { } function setSkin ( skin ) setElementModel ( source , tonumber( skin ) ) setPlayerTeam ( source ,farmers ) end addEvent ( 'onClicking', true ) addEventHandler ( 'onClicking' , root , setSkin ) function checkteam ( player ) if getPlayerTeam ( player ) and getTeamName ( getPlayerTeam ( player ) ) == 'Farmer' then if marker[player] and isElement ( marker[player] ) then return end marker[player] = createMarker ( -1058.2032470703 ,-1142.4080810547, 129.21875-2, 'cylinder' , 2,255,0,0,255 ) else outputChatBox ( '* You must be in Farmer Team!!',player ) end end addCommandHandler ( 'cc', checkteam )
  15. يب صحيح .. لاكن البعض مو عشان ضروف > طفش من ام تي اي بالنسبة لتابل فـ شي طبيعي انه يقل مستواه .. لأانه من بداية المنتدى وهو يساعد اكيد طفش . بغض النظر عن المنتدى بشكل عام .. MTA لـ ظروف والله أعلم =)
  16. شكراً لك وأحترم رأيك .. لكن بالنسبة للأعتزال " الخروج النهائي " هذي كل شخص ولة ظروف وبيجي يوم وتمشي مثلك مثل غيرك دراسة سفر مده طويلة زواج الى ..الخ يعني مستحيل تشوف أحد يجلس يمكن يقعد لكن مايخش مثل أول مثلاً أو فرضاً تابل أول قبل سنة سنتين يخش ويساعد ..الخ لكن الان نشوف مستواهـ قل .. بسبب ظروف أكيد لذلك الكل بيمشي في يوم من الأيام .. كذلك البقية .. لكن تابل كـ مثال فقط .. أتمنى للجميع التوفيق
  17. Post the whole error .
  18. ^ رد غير كافي وش تبي يكون فية أو وش تتمنى يكون فية وكم لك سنة تلعب فيها ..الخ نبي ردود دسمة ..
  19. وعليكم السلام ورحمة الله وبركاتة هذا مثال لـ طلبك مع الشرح .. addCommandHandler ( 'checkTeam', function ( player ) if getPlayerTeam ( player ) then -- اذا كان للاعب فريق .. if getTeamName ( getPlayerTeam ( player ) ) == 'MyTeam' then -- يتحقق اذا كان اسم التيم اللي فية الاعب .. يطابق للمطلوب outputChatBox ( 'أنت في الفريق ..',player ) -- مخرج نص عند وجود فريق للاعب end end end )
  20. وعليكم السلام ورحمة الله وبركاتة تفضل طبعاً مثال هذا فقط لآ غير function ReturnSound ( ) if eventName == 'onClientMouseEnter' then -- اذا كان الحدث عند مرور الماوس playSoundFrontEnd ( 20 ) -- يتم تشغيل الصوت عند مرور الماوس .. else -- اذا كان الحدث خلاف حدث مرور الماوس playSoundFrontEnd ( 15 ) -- يتم تشغيل الصوت عند ضغط الزر end end addEventHandler ( 'onClientMouseEnter',guiElement,ReturnSound ) addEventHandler ( 'onClientGUIClick',guiElement,ReturnSound ) guiElement = الزر .. أو الألمنت ..
×
×
  • Create New...