-
Posts
92 -
Joined
-
Last visited
-
Days Won
1
Everything posted by Developer.
-
Você deu permissão ao script na acl admin? Talvez pode ser isso, se não deu a permissão vá até a acl admin e coloque resource.nomedoscript.
-
Iae Rapaziada, bom tava dando uma olhada na community até q achei um script bem bacana de mascaras (https://community.multitheftauto.com/index.php?p=resources&s=details&id=14125) baixei e comecei a dar uma olhada e fazer uns teste até que encontrei um erro, basicamente quando o modelo(skin) é padrão do gta ele funciona normalmente, porém se eu adicionar uma skin custom o colete buga, tentei de varias formas entender oque ocorre mas sem exito! Sem Skin Custom: http://prntscr.com/p1zu3k Com Skin Custom: http://prntscr.com/p1zubr Só o fato de ligar a skin no painel já ocorre o bug, qual poderia ser o causador do erro? Pois o script esta certo, e as TXD's e DFF's tbm... Server-Side: maskTable = {} yelekTable = {} yelekTable["yelek1"] = {1922, 3, 90} yelekTable["yelek2"] = {1923, 3, 90} yelekTable["yelek3"] = {1924, 3, 90} maskTable["devil"] = {1512, 1, 90} maskTable["vendetta"] = {1455, 1, 90} maskTable["darth"] = {1484, 1, 90} maskTable["horse"] = {1485, 1, 90} maskTable["gasmask"] = {1487, 1, 90} maskTable["kovboy"] = {1543, 1, 90} maskTable["zombie"] = {1544, 1, 90} maskTable["vampire"] = {1666, 1, 90} maskTable["skull"] = {1667, 1, 90} maskTable["raccoon"] = {1668, 1, 180} maskTable["owl"] = {1950, 1, 180} maskTable["cat"] = {1951, 1, 180} maskTable["bag"] = {1551, 1, 90} maskTable["dog"] = {1546, 1, 90} maskTable["baby"] = {1669, 1, 90} maskTable["monster"] = {1853, 1, 90} maskTable["tilki"] = {1854, 1, 90} maskTable["admin"] = {1855, 1, 180} obje = {} yelek = {} function maske_kaldir() if obje[source] then destroyElement(obje[source]) end end addEvent("removemask",true) addEventHandler("removemask", root, maske_kaldir) function yelek_kaldir() if yelek[source] then destroyElement(yelek[source]) end end addEvent("removeyelek",true) addEventHandler("removeyelek", root, yelek_kaldir) function maske_ekle(name) if name == "admin" then if ( hasObjectPermissionTo ( source, "function.kickPlayer" ) ) then if obje[source] then destroyElement(obje[source]) end local objeid = maskTable[name][1] local bodyattach = maskTable[name][2] local zROT = maskTable[name][3] obje[source] = createObject ( objeid, 0, 0, 0, 0, 0, 0 ) exports.bone_attach:attachElementToBone(obje[source],source,bodyattach,0,0.02,-0.61,0,0,zROT) else outputChatBox("Bu maskeyi sadece adminler kullanabilir", source, 255, 0, 0) end elseif name == "horse" then if obje[source] then destroyElement(obje[source]) end local objeid = maskTable[name][1] local bodyattach = maskTable[name][2] local zROT = maskTable[name][3] obje[source] = createObject ( objeid, 0, 0, 0, 0, 0, 0 ) exports.bone_attach:attachElementToBone(obje[source],source,bodyattach,-0.04,0,-0.55,0,0,zROT) else if obje[source] then destroyElement(obje[source]) end local objeid = maskTable[name][1] local bodyattach = maskTable[name][2] local zROT = maskTable[name][3] obje[source] = createObject ( objeid, 0, 0, 0, 0, 0, 0 ) exports.bone_attach:attachElementToBone(obje[source],source,bodyattach,0,0,-0.61,0,0,zROT) end end addEvent("setmask",true) addEventHandler("setmask", root, maske_ekle) function yelek_ekle(name) if yelek[source] then destroyElement(yelek[source]) yelek[source] = nil end local objeid = yelekTable[name][1] local bodyattach = yelekTable[name][2] local zROT = yelekTable[name][3] yelek[source] = createObject ( objeid, 0, 0, 0, 0, 0, 0 ) exports.bone_attach:attachElementToBone( yelek[source], source, bodyattach, -0.03, 0, -0.55, -0.5, 2, zROT) end addEvent("setyelek",true) addEventHandler("setyelek", root, yelek_ekle) function quitPlayer ( ) if obje[source] then destroyElement(obje[source]) end if yelek[source] then destroyElement(yelek[source]) end end addEventHandler ( "onPlayerQuit", getRootElement(), quitPlayer ) Client-Side: maskTable = {} yelekTable = {} yelekTable["yelek1"] = {1922, 3, 90} yelekTable["yelek2"] = {1923, 3, 90} yelekTable["yelek3"] = {1924, 3, 90} maskTable["devil"] = {1512, 1, 90} maskTable["vendetta"] = {1455, 1, 90} maskTable["darth"] = {1484, 1, 90} maskTable["horse"] = {1485, 1, 90} maskTable["gasmask"] = {1487, 1, 90} maskTable["kovboy"] = {1543, 1, 90} maskTable["zombie"] = {1544, 1, 90} maskTable["vampire"] = {1666, 1, 90} maskTable["skull"] = {1667, 1, 90} maskTable["raccoon"] = {1668, 1, 180} maskTable["owl"] = {1950, 1, 180} maskTable["cat"] = {1951, 1, 180} maskTable["bag"] = {1551, 1, 90} maskTable["dog"] = {1546, 1, 90} maskTable["baby"] = {1669, 1, 90} maskTable["monster"] = {1853, 1, 90} maskTable["tilki"] = {1854, 1, 90} maskTable["admin"] = {1855, 1, 90} maske = {} yelek = {} obje = {} function maskePanel() local screenX, screenY = guiGetScreenSize() local Panel = guiCreateWindow ( screenX/2 - 350, screenY/2 - 190, 700, 380, "CS Maske Panel v1.0", false ) local Closeb = guiCreateButton( 645, 25, 50, 30, "X", false, Panel ) local tabPanel = guiCreateTabPanel ( 0, 0.1, 1, 1, true, Panel ) local tab1 = guiCreateTab( "Maskeler", tabPanel ) local tab2 = guiCreateTab( "Yelekler", tabPanel ) local yelek1 = guiCreateButton( 0.02, 0.06, 0.22, 0.15, "Çelik Yelek 1", true, tab2 ) local yelek2 = guiCreateButton( 0.02, 0.24, 0.22, 0.15, "Çelik Yelek 2", true, tab2 ) local yelek3 = guiCreateButton( 0.02, 0.42, 0.22, 0.15, "Çelik Yelek 3", true, tab2 ) local mask1 = guiCreateButton( 0.02, 0.06, 0.22, 0.15, "Şeytan", true, tab1 ) local mask2 = guiCreateButton( 0.02, 0.24, 0.22, 0.15, "Vendetta", true, tab1 ) local mask3 = guiCreateButton( 0.02, 0.42, 0.22, 0.15, "Darthvader", true, tab1 ) local mask4 = guiCreateButton( 0.02, 0.60, 0.22, 0.15, "Bordo Bereli", true, tab1 ) local mask5 = guiCreateButton( 0.02, 0.78, 0.22, 0.15, "Gaz maskesi", true, tab1 ) local mask6 = guiCreateButton( 0.26, 0.06, 0.22, 0.15, "Kovboy Şapkası", true, tab1 ) local mask7 = guiCreateButton( 0.26, 0.24, 0.22, 0.15, "Zombi", true, tab1 ) local mask8 = guiCreateButton( 0.26, 0.42, 0.22, 0.15, "Vampir", true, tab1 ) local mask9 = guiCreateButton( 0.26, 0.60, 0.22, 0.15, "Kafatası", true, tab1 ) local mask11 = guiCreateButton( 0.52, 0.06, 0.22, 0.15, "Rakun", true, tab1 ) local mask12 = guiCreateButton( 0.52, 0.24, 0.22, 0.15, "Baykuş", true, tab1 ) local mask13 = guiCreateButton( 0.52, 0.42, 0.22, 0.15, "Kedi", true, tab1 ) local mask14 = guiCreateButton( 0.52, 0.60, 0.22, 0.15, "Kutu", true, tab1 ) local mask16 = guiCreateButton( 0.76, 0.06, 0.22, 0.15, "Köpek", true, tab1 ) local mask17 = guiCreateButton( 0.76, 0.24, 0.22, 0.15, "Bebek", true, tab1 ) local mask18 = guiCreateButton( 0.76, 0.42, 0.22, 0.15, "Canavar", true, tab1 ) local mask19 = guiCreateButton( 0.76, 0.60, 0.22, 0.15, "Canavar 2", true, tab1 ) local mask20 = guiCreateButton( 0.76, 0.78, 0.22, 0.15, "Yetkili", true, tab1 ) local maskekaldir = guiCreateButton( 0.28, 0.78, 0.44, 0.15, "Maskeyi Kaldır", true, tab1 ) local yelekkaldir = guiCreateButton( 0.28, 0.78, 0.44, 0.15, "Çelik Yelek'i Kaldır", true, tab2 ) addEventHandler ( 'onClientGUIClick', root, function ( ) if ( source == Closeb ) then showCursor(false) guiSetVisible(Panel, false) elseif ( source == maskekaldir) then triggerServerEvent("removemask", localPlayer) elseif ( source == yelekkaldir) then triggerServerEvent("removeyelek", localPlayer) elseif ( source == mask1) then if maske[localPlayer] == "Şeytan" then outputChatBox("" .. maske[localPlayer] .. " maskesi zaten seçili", 0, 255, 255) return end local devil = "devil" triggerServerEvent( "setmask", localPlayer, "devil") maske[localPlayer] = "Şeytan" elseif ( source == mask2) then if maske[localPlayer] == "Vendetta" then outputChatBox("" .. maske[localPlayer] .. " maskesi zaten seçili", 0, 255, 255) return end triggerServerEvent( "setmask", localPlayer, "vendetta") maske[localPlayer] = "Vendetta" elseif ( source == mask3) then if maske[localPlayer] == "Darth" then outputChatBox("" .. maske[localPlayer] .. " maskesi zaten seçili", 0, 255, 255) return end triggerServerEvent( "setmask", localPlayer, "darth") maske[localPlayer] = "Darth" elseif ( source == mask4) then if maske[localPlayer] == "Borbo bereli" then outputChatBox("" .. maske[localPlayer] .. " maskesi zaten seçili", 0, 255, 255) return end triggerServerEvent( "setmask", localPlayer, "horse") maske[localPlayer] = "Bordo bereli" elseif ( source == mask5) then if maske[localPlayer] == "Gaz" then outputChatBox("" .. maske[localPlayer] .. " maskesi zaten seçili", 0, 255, 255) return end triggerServerEvent( "setmask", localPlayer, "gasmask") maske[localPlayer] = "Gaz" elseif ( source == mask6) then if maske[localPlayer] == "Kovboy" then outputChatBox("" .. maske[localPlayer] .. " şapkası zaten seçili", 0, 255, 255) return end triggerServerEvent( "setmask", localPlayer, "kovboy") maske[localPlayer] = "Kovboy" elseif ( source == mask7) then if maske[localPlayer] == "Zombi" then outputChatBox("" .. maske[localPlayer] .. " maskesi zaten seçili", 0, 255, 255) return end triggerServerEvent( "setmask", localPlayer, "zombie") maske[localPlayer] = "Zombi" elseif ( source == mask8) then if maske[localPlayer] == "Vampir" then outputChatBox("" .. maske[localPlayer] .. " maskesi zaten seçili", 0, 255, 255) return end triggerServerEvent( "setmask", localPlayer, "vampire") maske[localPlayer] = "Vampir" elseif ( source == mask9) then if maske[localPlayer] == "Kafatası" then outputChatBox("" .. maske[localPlayer] .. " maskesi zaten seçili", 0, 255, 255) return end triggerServerEvent( "setmask", localPlayer, "skull") maske[localPlayer] = "Kafatası" elseif ( source == mask11) then if maske[localPlayer] == "Rakun" then outputChatBox("" .. maske[localPlayer] .. " maskesi zaten seçili", 0, 255, 255) return end triggerServerEvent( "setmask", localPlayer, "raccoon") maske[localPlayer] = "Rakun" elseif ( source == mask12) then if maske[localPlayer] == "Baykuş" then outputChatBox("" .. maske[localPlayer] .. " maskesi zaten seçili", 0, 255, 255) return end triggerServerEvent( "setmask", localPlayer, "owl") maske[localPlayer] = "Baykuş" elseif ( source == mask13) then if maske[localPlayer] == "Kedi" then outputChatBox("" .. maske[localPlayer] .. " maskesi zaten seçili", 0, 255, 255) return end triggerServerEvent( "setmask", localPlayer, "cat") maske[localPlayer] = "Kedi" elseif ( source == mask14) then if maske[localPlayer] == "Kutu" then outputChatBox("" .. maske[localPlayer] .. " maskesi zaten seçili", 0, 255, 255) return end triggerServerEvent( "setmask", localPlayer, "bag") maske[localPlayer] = "Kutu" elseif ( source == mask16) then if maske[localPlayer] == "Köpek" then outputChatBox("" .. maske[localPlayer] .. " maskesi zaten seçili", 0, 255, 255) return end triggerServerEvent( "setmask", localPlayer, "dog") maske[localPlayer] = "Köpek" elseif ( source == mask17) then if maske[localPlayer] == "Bebek" then outputChatBox("" .. maske[localPlayer] .. " maskesi zaten seçili", 0, 255, 255) return end triggerServerEvent( "setmask", localPlayer, "baby") maske[localPlayer] = "Bebek" elseif ( source == mask18) then if maske[localPlayer] == "Canavar" then outputChatBox("" .. maske[localPlayer] .. " maskesi zaten seçili", 0, 255, 255) return end triggerServerEvent( "setmask", localPlayer, "monster") maske[localPlayer] = "Canavar" elseif ( source == mask19) then if maske[localPlayer] == "Canavar2" then outputChatBox("" .. maske[localPlayer] .. " maskesi zaten seçili", 0, 255, 255) return end triggerServerEvent( "setmask", localPlayer, "tilki") maske[localPlayer] = "Canavar2" elseif ( source == mask20) then if maske[localPlayer] == "Admin" then return end triggerServerEvent( "setmask", localPlayer, "admin") maske[localPlayer] = "Admin" elseif ( source == yelek1) then if yelek[localPlayer] == "Çelik Yelek 1" then outputChatBox("" .. yelek[localPlayer] .. " zaten seçili", 0, 255, 255) return end triggerServerEvent( "setyelek", localPlayer, "yelek1") yelek[localPlayer] = "Çelik Yelek 1" elseif ( source == yelek2) then if yelek[localPlayer] == "Çelik Yelek 2" then outputChatBox("" .. yelek[localPlayer] .. " zaten seçili", 0, 255, 255) return end triggerServerEvent( "setyelek", localPlayer, "yelek2") yelek[localPlayer] = "Çelik Yelek 2" elseif ( source == yelek3) then if yelek[localPlayer] == "Çelik Yelek 3" then outputChatBox("" .. yelek[localPlayer] .. " zaten seçili", 0, 255, 255) return end triggerServerEvent( "setyelek", localPlayer, "yelek3") yelek[localPlayer] = "Çelik Yelek 3" end end ) end function aktivePanel( playerSource ) if playerSource then maskePanel() if not isCursorShowing () then showCursor(true) end end end addCommandHandler("maske", aktivePanel) function importqqqures2() mask_devil_txt = engineLoadTXD ( "object/mask_devil.txd" ) engineImportTXD ( mask_devil_txt, 1512 ) mask_devil_dff = engineLoadDFF ( "object/mask_devil.dff", 0 ) engineReplaceModel ( mask_devil_dff, 1512 ) engineSetModelLODDistance(1512, 2000) mask_guyfawkes_txt = engineLoadTXD ( "object/mask_guyfawkes.txd" ) engineImportTXD ( mask_guyfawkes_txt, 1455 ) mask_guyfawkes_dff = engineLoadDFF ( "object/mask_guyfawkes.dff", 0 ) engineReplaceModel ( mask_guyfawkes_dff, 1455 ) engineSetModelLODDistance(1455, 2000) mask_darthvader_txt = engineLoadTXD ( "object/mask_darthvader.txd" ) engineImportTXD ( mask_darthvader_txt, 1484 ) mask_darthvader_dff = engineLoadDFF ( "object/mask_darthvader.dff", 0 ) engineReplaceModel ( mask_darthvader_dff, 1484 ) engineSetModelLODDistance(1484, 2000) mask_terrorist_txt = engineLoadTXD ( "object/bordobereli.txd" ) engineImportTXD ( mask_terrorist_txt, 1485 ) mask_terrorist_dff = engineLoadDFF ( "object/bordobereli.dff", 0 ) engineReplaceModel ( mask_terrorist_dff, 1485 ) engineSetModelLODDistance(1485, 2000) mask_gas_txt = engineLoadTXD ( "object/mask_gas.txd" ) engineImportTXD ( mask_gas_txt, 1487 ) mask_gas_dff = engineLoadDFF ( "object/mask_gas.dff", 0 ) engineReplaceModel ( mask_gas_dff, 1487 ) engineSetModelLODDistance(1487, 2000) hat_cowboy_txt = engineLoadTXD ( "object/hat_cowboy.txd" ) engineImportTXD ( hat_cowboy_txt, 1543 ) hat_cowboy_dff = engineLoadDFF ( "object/hat_cowboy.dff", 0 ) engineReplaceModel ( hat_cowboy_dff, 1543 ) engineSetModelLODDistance(1543, 2000) celikyelek_txt = engineLoadTXD ( "object/celikyelek.txd" ) engineImportTXD ( celikyelek_txt, 1922 ) celikyelek_dff = engineLoadDFF ( "object/celikyelek.dff", 0 ) engineReplaceModel ( celikyelek_dff, 1922 ) engineSetModelLODDistance(1922, 2000) celikyelek2_txt = engineLoadTXD ( "object/celikyelek2.txd" ) engineImportTXD ( celikyelek2_txt, 1923 ) celikyelek2_dff = engineLoadDFF ( "object/celikyelek2.dff", 0 ) engineReplaceModel ( celikyelek2_dff, 1923 ) engineSetModelLODDistance(1923, 2000) celikyelek3_txt = engineLoadTXD ( "object/celikyelek3.txd" ) engineImportTXD ( celikyelek3_txt, 1924 ) celikyelek3_dff = engineLoadDFF ( "object/celikyelek3.dff", 0 ) engineReplaceModel ( celikyelek3_dff, 1924 ) engineSetModelLODDistance(1924, 2000) mask_zombie_txt = engineLoadTXD ( "object/mask_zombie.txd" ) engineImportTXD ( mask_zombie_txt, 1544 ) mask_zombie_dff = engineLoadDFF ( "object/mask_zombie.dff", 0 ) engineReplaceModel ( mask_zombie_dff, 1544 ) engineSetModelLODDistance(1544, 2000) mask_vampire_txt = engineLoadTXD ( "object/mask_vampire.txd" ) engineImportTXD ( mask_vampire_txt, 1666 ) mask_vampire_dff = engineLoadDFF ( "object/mask_vampire.dff", 0 ) engineReplaceModel ( mask_vampire_dff, 1666 ) engineSetModelLODDistance(1666, 2000) mask_skull_txt = engineLoadTXD ( "object/mask_skull.txd" ) engineImportTXD ( mask_skull_txt, 1667 ) mask_skull_dff = engineLoadDFF ( "object/mask_skull.dff", 0 ) engineReplaceModel ( mask_skull_dff, 1667 ) engineSetModelLODDistance(1667, 2000) mask_raccoon_txt = engineLoadTXD ( "object/mask_raccoon.txd" ) engineImportTXD ( mask_raccoon_txt, 1668 ) mask_raccoon_dff = engineLoadDFF ( "object/mask_raccoon.dff", 0 ) engineReplaceModel ( mask_raccoon_dff, 1668 ) engineSetModelLODDistance(1668, 2000) mask_owl_txt = engineLoadTXD ( "object/mask_owl.txd" ) engineImportTXD ( mask_owl_txt, 1950 ) mask_owl_dff = engineLoadDFF ( "object/mask_owl.dff", 0 ) engineReplaceModel ( mask_owl_dff, 1950 ) engineSetModelLODDistance(1950, 2000) mask_cat_txt = engineLoadTXD ( "object/mask_cat.txd" ) engineImportTXD ( mask_cat_txt, 1951 ) mask_cat_dff = engineLoadDFF ( "object/mask_cat.dff", 0 ) engineReplaceModel ( mask_cat_dff, 1951 ) engineSetModelLODDistance(1951, 2000) mask_bag_txt = engineLoadTXD ( "object/mask_bag.txd" ) engineImportTXD ( mask_bag_txt, 1551 ) mask_bag_dff = engineLoadDFF ( "object/mask_bag.dff", 0 ) engineReplaceModel ( mask_bag_dff, 1551 ) engineSetModelLODDistance(1551, 2000) mask_dog_txt = engineLoadTXD ( "object/mask_dog.txd" ) engineImportTXD ( mask_dog_txt, 1546 ) mask_dog_dff = engineLoadDFF ( "object/mask_dog.dff", 0 ) engineReplaceModel ( mask_dog_dff, 1546 ) engineSetModelLODDistance(1546, 2000) mask_baby_txt = engineLoadTXD ( "object/mask_baby.txd" ) engineImportTXD ( mask_baby_txt, 1669 ) mask_baby_dff = engineLoadDFF ( "object/mask_baby.dff", 0 ) engineReplaceModel ( mask_baby_dff, 1669 ) engineSetModelLODDistance(1669, 2000) mask_monster_txt = engineLoadTXD ( "object/mask_monster.txd" ) engineImportTXD ( mask_monster_txt, 1853 ) mask_monster_dff = engineLoadDFF ( "object/mask_monster.dff", 0 ) engineReplaceModel ( mask_monster_dff, 1853 ) engineSetModelLODDistance(1853, 2000) hat_airborne_txt = engineLoadTXD ( "object/mask_alien.txd" ) engineImportTXD ( hat_airborne_txt, 1854 ) hat_airborne_dff = engineLoadDFF ( "object/mask_alien.dff", 0 ) engineReplaceModel ( hat_airborne_dff, 1854 ) engineSetModelLODDistance(1854, 2000) admin_txt = engineLoadTXD ( "object/admin.txd" ) engineImportTXD ( admin_txt, 1855 ) admin_dff = engineLoadDFF ( "object/admin.dff", 0 ) engineReplaceModel ( admin_dff, 1855 ) engineSetModelLODDistance(1855, 2000) --[[kevlar_txt = engineLoadTXD ( "object/askeri.txd" ) engineImportTXD ( kevlar_txt, 1856 ) kevlar_dff = engineLoadDFF ( "object/askeri.dff", 0 ) engineReplaceModel ( kevlar_dff, 1856 ) engineSetModelLODDistance(1856, 2000)]] end setTimer ( importqqqures2, 1000, 1) addEventHandler("onClientResourceStop", getResourceRootElement(getThisResource()), function() engineRestoreModel(1512) destroyElement(mask_devil_txt) destroyElement(mask_devil_dff) engineRestoreModel(1856) destroyElement(kevlar_txt) destroyElement(kevlar_dff) engineRestoreModel(1855) destroyElement(admin_txt) destroyElement(admin_dff) engineRestoreModel(1854) destroyElement(hat_airborne_txt) destroyElement(hat_airborne_dff) engineRestoreModel(1853) destroyElement(mask_monster_txt) destroyElement(mask_monster_dff) engineRestoreModel(1669) destroyElement(mask_baby_txt) destroyElement(mask_baby_dff) engineRestoreModel(1546) destroyElement(mask_dog_txt) destroyElement(mask_dog_dff) engineRestoreModel(1551) destroyElement(mask_bag_txt) destroyElement(mask_bag_dff) engineRestoreModel(1924) destroyElement(celikyelek3_txt) destroyElement(celikyelek3_dff) engineRestoreModel(1923) destroyElement(celikyelek2_txt) destroyElement(celikyelek2_dff) engineRestoreModel(1922) destroyElement(celikyelek_txt) destroyElement(celikyelek_dff) engineRestoreModel(1951) destroyElement(mask_cat_txt) destroyElement(mask_cat_dff) engineRestoreModel(1950) destroyElement(mask_owl_txt) destroyElement(mask_owl_dff) engineRestoreModel(1668) destroyElement(mask_raccoon_txt) destroyElement(mask_raccoon_dff) engineRestoreModel(1666) destroyElement(mask_vampire_txt) destroyElement(mask_vampire_dff) engineRestoreModel(1667) destroyElement(mask_skull_txt) destroyElement(mask_skull_dff) engineRestoreModel(1455) destroyElement(mask_guyfawkes_txt) destroyElement(mask_guyfawkes_dff) engineRestoreModel(1484) destroyElement(mask_darthvader_txt) destroyElement(mask_darthvader_dff) engineRestoreModel(1485) destroyElement(mask_terrorist_txt) destroyElement(mask_terrorist_dff) engineRestoreModel(1487) destroyElement(mask_gas_txt) destroyElement(mask_gas_dff) engineRestoreModel(1543) destroyElement(hat_cowboy_txt) destroyElement(hat_cowboy_dff) engineRestoreModel(1544) destroyElement(mask_zombie_txt) destroyElement(mask_zombie_dff) end ) O estranho é que o bug só ocorre com os coletes, as mascaras funcionam normalmente em qualquer tipo de skin sendo padrão ou custom. Se alguém puder me ajudar agradeço
-
Essa dai eu também quero saber ksks, só vi isso no SAMP. Nunca vi isso no MTA, nem nos server's grandes que eu já joguei o.O Acredito eu que tenha relação com Data's quando o player começar o trabalho no caso pega pizza retira um valor da Data mas é algo bem complicadinho em
-
Vish o difícil é encontrar um F11 custom xD, mas blz vou tentar procurar na community. Mas é algo parecido com os "arrows" (onde o player esta no momento) dos sistemas de Minimaps né? Vi em alguns radares que eu baixei algo do tipo... Vlw pelo esclarecimento
-
Rapaziada tava dando uma olhada em uns mods na net, até que eu encontrei um mod q o F11 era em 3D, vendo isso me veio a mente. Será que tem como refazer o F11 porém com novas ruas?? Exemplo tem alguns maps q ficam no meio da água. Será que tem como fazer para quando o player aperta F11 em vez de aparecer o "MAPA" do GTA:SA, aparecer um Custom Map? A outra duvida, tem como bloquear o mapa do F11? Não a tecla F11 mas sim o mapa?
-
Vlw mano <3, mais uma duvida no caso eu tava pensando aqui com esse sistema de table tem como eu fazer esse sistema só que com cores? Exemplo: 3 cores azul, verde, vermelho. Ao player entrar os retangulos ficam com uma dessas determinadas cores. Um math.random com cores basicamente em um dxDrawRectangle? É possível com essa table? EDiT; Já consegui fazer a função encontrei um tópico parecido --> local r, g, b = math.random(50, 255), math.random(50, 255), math.random(50, 255)
- 2 replies
-
- loginpanel
- playsound
-
(and 1 more)
Tagged with:
-
Boa noite rapaziada, bom eu to fazendo um painel login e adicionei 3 musicas que tocam aleatoriamente em uma tabela nomeada (Tab_Musicas), no entanto ao player entrar na tela de login eu gostaria que aparecesse o nome da musica a qual esta tocando! E é ai que entra minha duvida. Como eu poderia estar especificando em um dxDrawText qual musica esta tocando no momento? Linhas de código abaixo: Tabela: local Tab_Musicas = {"musicas/musica1.mp3", "musicas/musica2.mp3", "musicas/musica3.mp3"} Momento em que a musica se inicia: function onClientResourceStart() fadeCamera(true, 5) setCameraMatrix(1468.8785400391, -919.25317382813, 100.153465271, 1468.388671875, -918.42474365234, 99.881813049316) sound = playSound(Tab_Musicas[math.random(1, #Tab_Musicas)], false) ... Print do P/Login, no estado atual (a musica se encontra no canto superior direito):
- 2 replies
-
- loginpanel
- playsound
-
(and 1 more)
Tagged with:
-
isElementWithinPickup é uma função util você pegou o código na wiki e definiu um valor a "pickup" ?
-
Ué, pior que eu tentei desse jeito mas não aparecia o resultado no DX. Bom devo ter errado em outra linha do código, vlw pelo esclarecimento
-
Iae rapaziada bom estou com uma duvida aqui, estou desenvolvendo um sistema de Porte e estou trabalhando com setELementData e ACL! Para garantir que não ocorra falhas... No sistema tem dois tipos de ACL a ACL DE PORTE LEVE (Armas de pequeno calibre) e a ACL DE PORTE PESADO (Armas de grosso calibre), até ai tudo certo. Porém eu fiz um sistema para os PM's saberem se o player possui porte e qual o tipo de porte, a minha duvida é se tem como verificar duas ACL'S no mesmo IF. O código abaixo eu tenho absoluta certeza que vai dar errado nas linhas de verificação pois, se ele tiver na acl LEVE ele recebe a data SIM, porém se ele Não tiver na PESADO ele irá receber a data NÃO. Penso que para resolver essa questão seja algo envolvendo tabelas porém eu não consigo compreender a estrutura nem a formação de tabelas (mesmo assistindo diversos vídeos). Será que tem como fazer a verificação em duas tabelas ou até mais ao mesmo tempo? codigo: triggerClientEvent(source, "[RDS]Painel_CopomPm", source, infos_jogador) local conta = getAccount(getAccountName(getPlayerAccount(infos_jogador))) local porte = getAccountName( getPlayerAccount(infos_jogador)) local procurado = getPlayerWantedLevel (infos_jogador) setElementData(infos_jogador, "mandatos", procurado) local nome = getPlayerName(infos_jogador) setElementData(infos_jogador, "Nome_Porte", nome) if isObjectInACLGroup ("user."..porte, aclGetGroup(AclPorteLeve)) then triggerClientEvent(source, "[RDS]registroSim", source, infos_jogador) elseif isObjectInACLGroup ("user."..porte, aclGetGroup(AclPortePesado)) then triggerClientEvent(source, "[RDS]registroSim", source, infos_jogador) end if not isObjectInACLGroup ("user."..porte, aclGetGroup(AclPorteLeve)) then triggerClientEvent(source , "[RDS]registroNao", source, infos_jogador) elseif not isObjectInACLGroup ("user."..porte, aclGetGroup(AclPortePesado)) triggerClientEvent(source , "[RDS]registroNao", source, infos_jogador) end Edit: Eu até tentei fazer uma verificação "dupla" no evento onPLayerLogin agora pouco, mas não tenho certeza se irá funcionar! addEventHandler("onPlayerLogin",root, function() local porte = getAccountName( getPlayerAccount(source)) if isObjectInACLGroup ("user."..porte, aclGetGroup(AclPorteLeve)) then setElementData(source,"RdsPorteSim", porte) elseif isObjectInACLGroup ("user."..porte, aclGetGroup(AclPortePesado)) then setElementData(source,"RdsPorteSim", porte) elseif not isObjectInACLGroup ("user."..porte, aclGetGroup(AclPortePesado) or aclGetGroup(AclPorteLeve)) then setElementData(source,"RdsPorteNao", porte) end end) Client-Side: function RegistradoSim() if getElementData(localPlayer, "RdsPorteSim") then dxDrawText("Porte: Porte Registrado!", x*607, y*214, x*742, y*246, tocolor(0, 0, 0, 255), 1.10, "default-bold", "left", "top", false, false, false, false, false) end end addEvent("[RDS]registroSim", true) addEventHandler("[RDS]registroSim", root, RegistradoSim) function RegistradoNao() if getElementData(localPlayer, "RdsPorteNao") then dxDrawText("Porte: Não Encontrado!", x*607, y*214, x*742, y*246, tocolor(0, 0, 0, 255), 1.10, "default-bold", "left", "top", false, false, false, false, false) end end addEvent("[RDS]registroNao", true) addEventHandler("[RDS]registroNao", root, RegistradoNao)
-
Nossa mano me salvou kk tava quebrando a cabeça. To fznd a parte de quando o player sai do server ^^
-
Sim tentei, porém ele só fazia a animação. Acabei apagando o script q eu fiz com Data, mas irei tentar novamente. No caso eu deixaria o capacete[1] como local né? Mas tipo para eu destruir do mesmo jeito eu teria q usar destroyElement(capacete[1}) não? Eu usaria o data mais como verificação se o player esta mesmo ou não né?
-
Iae rapaziada, bom estou com um problema nesse script abaixo capacete = {} function Colocar1(playerSource, cmd) if (playerSource) then -- Anti-Bug Previni que o player fique com dois Capacetes ao mesmo tempo -- if isElement(capacete[1]) then destroyElement(capacete[1]) elseif isElement(capacete[2]) then destroyElement(capacete[2]) elseif isElement(capacete[3]) then destroyElement(capacete[3]) elseif isElement(capacete[4]) then destroyElement(capacete[4]) elseif isElement(capacete[5]) then destroyElement(capacete[5]) end -- Anti-Bug Previni que o player fique com dois Capacetes ao mesmo tempo -- setTimer ( function() --skin = getElementModel(player) -- pega a skin do --setObjectScale(capacete, 0, 0, 0) -- aumenta o tamanho do capacete!! capacete[1] = createObject(capa1, 0, 0, 0, 0, 0, 0) --if skin == 120 then -- verifica a skin setPedAnimation(playerSource,"goggles", "goggles_put_on", -1, false, false, false, false) -- animação -- função objeto jogadr |corpo|lado|frente|altura| Rotação exports.bone_attachCapa:attachElementToBone (capacete[1], playerSource, 1 , 0, 0.04 ,0.07 , 0, 270, 0) --elseif skin == 111 then -- verifica a skin --exports.bone_attachCapa:attachElementToBone (capacete[1], player, 1, 0, 0.04, 0.07, 0, 270, 0) -- função que coloca o capacete no player --elseif skin == 11[3] then -- verifica a skin --exports.bone_attachCapa:attachElementToBone (capacete[1], player, 1, 0, 0.04, 0.07, 0, 270, 0) -- função que coloca o capacete no player --end end, 400, 1) end end addCommandHandler("capa1", Colocar1) -- comando function Tirar(playerSource, cmd) if (playerSource) then setPedAnimation(source,"goggles", "goggles_put_on", -1, false, false, false, false) setTimer ( function() exports.bone_attachCapa:detachElementFromBone(capacete[1]) exports.bone_attachCapa:detachElementFromBone(capacete[2]) exports.bone_attachCapa:detachElementFromBone(capacete[3]) exports.bone_attachCapa:detachElementFromBone(capacete[4]) exports.bone_attachCapa:detachElementFromBone(capacete[5]) if isElement(capacete[1]) then destroyElement(capacete[1]) elseif isElement(capacete[2]) then destroyElement(capacete[2]) elseif isElement(capacete[3]) then destroyElement(capacete[3]) elseif isElement(capacete[4]) then destroyElement(capacete[4]) elseif isElement(capacete[5]) then destroyElement(capacete[5]) end end, 950, 1) end end addCommandHandler("tirar", Tirar) Resumindo eu fiz uma modelagem de um capacete e estava querendo criar um sistema de capacetes. Até ai tudo bem o script esta funcional no meu SERVER LOCAL, porém ao passar ele para uma host onde tinha mais pessoas encontrei um erro que ta me fritando a cabeça. Basicamente o erro é assim, se eu digitar /capa1 pegarei meu capacete normalmente, mas se outra pessoa digitar /capa1 depois de mim, o meu capacete some (por causa da função destroyElement(capacete[1]). Ao perceber isso eu obviamente fui atras para tentar especificar o player ou algo do tipo, basicamente o que eu não consigo fazer é que o script destrua o capacete da pessoa que deu o comando e não de todos que estão online no momento! Se ficou muito complicado a explicação peço desculpas. ? ps: Fiz o código no client-side e deu certo o script, porém o capacete só aparecia para o jogador q tinha dado o comando!
-
Depois de muitas tentativas consegui fazer o script funcionar totalmente kkk. Aprendi como usar o addEvent direito e o set Timer tive exito tudo no server.Lua mesmo! Brigadão mano seu comment foi tipo uma luz no fim do túnel
-
Iae rapaziada, bom estou com um certo problema em um painel q estou criado basicamente o Painel funciona da seguinte forma: O Player ao passar por uma determinada Marker, abre-se o painel onde ele terá uma quantidade de opções dentre elas "Armamentos, Uniformes e a parte de iniciar/finalizar seu expediente (painel voltado mais para corporações!). O problema esta na parte do Expediente o mesmo funciona da seguinte forma: Tem dois Ícones (print abaixo), o Painel Menor contém dois ícones, sendo o Primeiro ( soldado prestando Continência) o Inicio do Expediente e o Segundo o termino Ao iniciar o trabalho o Player receberá uma mensagem e 1 hora após o Inicio receberá seu salario no valor X (não decidi ainda) --> Esta primeira parte eu consegui fazer porém A segunda parte que seria Terminar o trabalho é onde esta o Problema. Ao Iniciar ele recebe este valor porém ao terminar o intuito é que o valor X pare de ser dado ao Player... tentei diversos jeitos porém não tive exito -->> Script logo Abaixo do Print!! Script Client-Side o Problema se encontra Próximo as linhas 280/310 local screenW,screenH = guiGetScreenSize() local resW, resH = 1360,768 local x, y = (screenW/resW), (screenH/resH) local pPrin = false local pPatru = false local pAcao = false local pPcolete = false local pParmas = false local pJob = false function painelPrincipal() dxDrawRectangle(x*43, y*167, x*235, y*25, tocolor(215, 0, 0, 254), false) dxDrawRectangle(x*43, y*191, x*235, y*314, tocolor(0, 0, 0, 194), false) dxDrawText("EQUIPAMENTOS", x*106, 169, x*243, y*191, tocolor(255, 255, 255, 255), 1.00, "sans", "left", "top", false, false, false, false, false) dxDrawRectangle(x*53, y*216, x*100, y*25, tocolor(0, 0, 0, 217), false) dxDrawText("Patrulhamento", x*63, y*220, x*132, y*237, tocolor(255, 255, 255, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawRectangle(x*168, y*216, x*100, y*25, tocolor(0, 0, 0, 217), false) dxDrawText("Ação", x*203, y*220, x*278, y*241, tocolor(255, 255, 255, 255), 1.00, "default-bold", "left", "top", false, false, false, false, false) dxDrawRectangle(x*252, y*167, x*26, y*25, tocolor(0, 0, 0, 217), false) dxDrawText("X", x*262, y*170, x*269, y*192, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false) end function painelPatrulhamento() -- Painel Patru dxDrawImage(x*69, y*267, x*63, y*59, ":[PainelArmas]/imgs/coleteLogo.png", 0, 0, 0, tocolor(255, 255, 255, 255), false) dxDrawImage(x*184, y*267, x*62, y*58, ":[PainelArmas]/imgs/ia2Logo.png", 0, 0, 0, tocolor(255, 255, 255, 255), false) dxDrawImage(x*74, y*363, x*58, y*56, ":[PainelArmas]/imgs/jobLogo.png", 0, 0, 0, tocolor(255, 255, 255, 255), false) dxDrawImage(x*188, y*367, x*48, y*47, ":[PainelArmas]/imgs/uniformLogo.png", 0, 0, 0, tocolor(255, 255, 255, 255), false) end function painelPtColete() -- Patru Colete dxDrawRectangle(x*288, y*167, x*145, y*25, tocolor(215, 0, 0, 254), false) dxDrawRectangle(x*288, y*192, x*145, y*59, tocolor(0, 0, 0, 187), false) dxDrawImage(x*298, y*199, x*54, y*52, ":[PainelArmas]/imgs/coleteLogo.png", 0, 0, 0, tocolor(255, 255, 255, 255), false) dxDrawImage(x*375, y*202, x*48, y*46, ":[PainelArmas]/imgs/vidaLogo.png", 0, 0, 0, tocolor(255, 255, 255, 255), false) end function painelPtArmas() -- Patru Armas dxDrawRectangle(x*288, y*167, x*192, y*25, tocolor(215, 0, 0, 254), false) dxDrawRectangle(x*288, y*192, x*192, y*215, tocolor(0, 0, 0, 187), false) dxDrawImage(x*298, y*202, x*62, y*58, ":[PainelArmas]/imgs/ia2Logo.png", 0, 0, 0, tocolor(255, 255, 255, 255), false) -- ptarma1 dxDrawImage(x*398, y*201, x*68, y*65, ":[PainelArmas]/imgs/taserLogo.png", 0, 0, 0, tocolor(255, 255, 255, 255), false) -- ptarma2 dxDrawImage(x*304, y*281, x*50, y*48, ":[PainelArmas]/imgs/shotLogo.png", 0, 0, 0, tocolor(255, 255, 255, 255), false) -- ptarma3 dxDrawImage(x*406, y*281, x*50, y*49, ":[PainelArmas]/imgs/sprayLogo.png", 0, 0, 0, tocolor(255, 255, 255, 255), false) -- ptarma4 dxDrawImage(x*304, y*345, x*53, y*52, ":[PainelArmas]/imgs/caceteteLogo.png", 0, 0, 0, tocolor(255, 255, 255, 255), false) -- ptarma5 end function painelJob() dxDrawRectangle(x*288, y*167, x*143, y*25, tocolor(215, 0, 0, 254), false) dxDrawRectangle(288, y*192, x*143, y*65, tocolor(0, 0, 0, 187), false) dxDrawImage(x*298, y*200, x*48, y*47, ":[PainelArmas]/imgs/jobLogo.png", 0, 0, 0, tocolor(255, 255, 255, 255), false) dxDrawImage(x*370, y*201, x*47, y*47, ":[PainelArmas]/imgs/exitLogo.png", 0, 0, 0, tocolor(255, 255, 255, 255), false) end function painelAcao() end ----- Abrir-Fechar Painel Principal ---------- function abrir (_,state) if pPrin == false then showCursor(true) addEventHandler("onClientRender", root, painelPrincipal) pPrin = true if not fontScale then fontScale = screenW/225 end tick1 = getTickCount() else showCursor(false) removeEventHandler("onClientRender", root, painelPrincipal) pPrin = false end end addEvent("PArmas", true) addEventHandler("PArmas", root , abrir) function fechar (_,state) if pPrin == true then if state == "down" then if isCursorOnElement(x*252, y*167, x*26, y*25 ) then showCursor(false) removeEventHandler("onClientRender", root, painelPrincipal) removeEventHandler("onClientRender", root, painelAcao) -- Painel Ação removeEventHandler("onClientRender", root, painelPatrulhamento) -- Painel Patru removeEventHandler("onClientRender", root, painelPtColete) -- Patru Colete removeEventHandler("onClientRender", root, painelPtArmas) -- Patru Armas removeEventHandler("onClientRender", root, painelJob) -- Patru Job pPrin = false pAcao = false pPatru = false pPcolete = false pParmas = false pJob = false end end end end addEventHandler ("onClientClick", root, fechar) function AbrirPatru(_,state) if pPrin == true then if pPatru == false then if state == "down" then if isCursorOnElement(x*53, y*216, x*100, y*25 ) then addEventHandler("onClientRender", root, painelPatrulhamento) -- Painel Patru removeEventHandler("onClientRender", root, painelAcao) -- Painel Ação pPatru = true pAcao = false end end end end end addEventHandler ("onClientClick", root, AbrirPatru) function AbPtColete(_,state) if pPatru == true then if pPcolete == false then if state == "down" then if isCursorOnElement(x*69, y*267, x*63, y*59 ) then addEventHandler("onClientRender", root, painelPtColete) -- Patru Colete removeEventHandler("onClientRender", root, painelPtArmas) -- Patru Armas removeEventHandler("onClientRender", root, painelJob) -- Patru Job pPcolete = true pParmas = false pJob = false end end end end end addEventHandler ("onClientClick", root, AbPtColete) function PgPtColete(_,state) if pPcolete == true then if state == "down" then if isCursorOnElement(x*298, y*199, x*54, y*52 ) then triggerServerEvent("colete", localPlayer) end end end end addEventHandler ("onClientClick", root, PgPtColete) function PgPtVida(_,state) if pPcolete == true then if state == "down" then if isCursorOnElement(x*375, y*202, x*48, y*46 ) then triggerServerEvent("vida", localPlayer) end end end end addEventHandler ("onClientClick", root, PgPtVida) ------------------------------------------------------------------------------------------------------------ function AbPtArmas(_,state) if pPatru == true then if pParmas == false then if state == "down" then if isCursorOnElement(x*184, y*267, x*62, y*58 ) then addEventHandler("onClientRender", root, painelPtArmas) -- Patru Armas removeEventHandler("onClientRender", root, painelPtColete) -- Patru Colete removeEventHandler("onClientRender", root, painelJob) -- Patru Job pParmas = true pPcolete = false pJob = false end end end end end addEventHandler ("onClientClick", root, AbPtArmas) function PgPtArma1(_,state) -- ptarma1 if pParmas == true then if state == "down" then if isCursorOnElement(x*298, y*202, x*62, y*58 ) then triggerServerEvent("M4", localPlayer) end end end end addEventHandler ("onClientClick", root, PgPtArma1) function PgPtArma2(_,state) -- ptarma2 if pParmas == true then if state == "down" then if isCursorOnElement(x*398, y*201, x*68, y*65 ) then triggerServerEvent("taser", localPlayer) end end end end addEventHandler ("onClientClick", root, PgPtArma2) function PgPtArma3(_,state) -- ptarma3 if pParmas == true then if state == "down" then if isCursorOnElement(x*304, y*281, x*50, y*48 ) then triggerServerEvent("shot", localPlayer) end end end end addEventHandler ("onClientClick", root, PgPtArma3) function PgPtArma4(_,state) -- ptarma4 if pParmas == true then if state == "down" then if isCursorOnElement(x*406, y*281, x*50, y*49 ) then triggerServerEvent("spray", localPlayer) end end end end addEventHandler ("onClientClick", root, PgPtArma4) function PgPtArma5(_,state) -- ptarma5 if pParmas == true then if state == "down" then if isCursorOnElement(x*304, y*345, x*53, y*52 ) then triggerServerEvent("stick", localPlayer) end end end end addEventHandler ("onClientClick", root, PgPtArma5) ------------------------------------------------------------------------------------------------------------ function AbJob(_,state) if pPatru == true then if pJob == false then if state == "down" then if isCursorOnElement(x*74, y*363, x*58, y*56 ) then addEventHandler("onClientRender", root, painelJob) -- Patru Job removeEventHandler("onClientRender", root, painelPtColete) -- Patru Colete removeEventHandler("onClientRender", root, painelPtArmas) -- Patru Armas pJob = true pPcolete = false pParmas = false end end end end end addEventHandler ("onClientClick", root, AbJob) function IniJobCl(_,state) -- IniJob if pJob == true then if state == "down" then if isCursorOnElement(x*298, y*200, x*48, y*47 ) then outputChatBox("Iniciou", 0, 255, 0) local tempo = setTimer ( function() givePlayerMoney(500) outputChatBox("Salario", 255, 0, 0) end, 10000, 5 ) end end end end addEventHandler ("onClientClick", root, IniJobCl) function ExitJob(_,state) -- ExitJob if pJob == true then if state == "down" then if isCursorOnElement(x*370, y*201, x*47, y*47 ) then outputChatBox("Terminou", 0, 255, 0) if isTimer ( tempo ) then killTimer ( tempo ) end end end end end addEventHandler ("onClientClick", root, ExitJob) function AbrirAcao(_,state) if pPrin == true then if pAcao == false then if state == "down" then if isCursorOnElement(x*168, y*216, x*100, y*25 ) then addEventHandler("onClientRender", root, painelAcao) -- Painel Ação removeEventHandler("onClientRender", root, painelPatrulhamento) -- Painel Patru pAcao = true pPatru = false end end end end end addEventHandler ("onClientClick", root, AbrirAcao) function isCursorOnElement(x,y,w,h) local mx,my = getCursorPosition () local fullx,fully = guiGetScreenSize() cursorx,cursory = mx*fullx,my*fully if cursorx > x and cursorx < x + w and cursory > y and cursory < y + h then return true else return false end end Decidi fazer no Cliente pelo fato de que no Server-side não estava tendo exito até que percebi que setTimer e GivePlayerMoney são funções Shared's adendo: estou usando setTimer pois ainda não compreendi a função getTickCount (estou tentando aprender )
-
Iae rapaziada, bom sou bem leigo nessa área de script porém, quero fazer a criação de um local para os donos de gangs guardarem seus materiais de produção de armas(peças). "Enredo do Script" <-- Basicamente o que tenho em mente é que... Um certo membro de determinada GANG faça a compra de peças de armas ilegalmente, para a montagem das mesmas! Após a compra das peças(materiais) ser efetuadas eles teriam duas opções! 1 - guardar o material consigo pondo em risco a sí mesmo pois os matérias podem ser visto pelos policias do servidor (em uma revista obviamente)!! 2- Ele levaria as peças até sua base em uma MARKER em que ele poderia digitar um comando */guardarpecas* e assim aquelas peças ficariam armazenadas naquele local! O Limite de peças que o armazém (MARKER) suportaria seria de no máximo 80.000 peças, para retirar os materiais ele digitaria */pegarpecas quantidade* e assim poderia Montar a sua arma e vender a outro player! Adendo: O Sistema de compra ilegal funciona da seguinte forma --> O mesmo vai até o local compra as peças e as mesma fica em um tipo de "mochila" até ele vender todas. Até ai não é um problema porém se ele for revistado o sistema Mostra ao policial a quantidade de materiais *(Este Sistema de COMPRA JÁ PRONTO & ESTA FUNCIONANDO em meu servidor, até a parte da revista!!)* a unica parte que falta é o "armazém" para o player não ficar andando com os materiais para cima e para baixo, pondo sua conta em risco!! O motivo deste tópico é somente a criação do local para guardar, já vi em outros servidores tentei reproduzir de varias maneiras mas nd até agora! Simplesmente não sei por onde começar!! Se puderem ajudar agradeço Perdão pelo textão porém gosto de deixar tudo esclarecido!! Agradeço desde já a atenção ^^ Data setada ao jogador ao fazer a compra das peças == "roleplay.mats"
-
mapa [DUVIDA] Mapa com Interior sem marker para TP
Developer. replied to Developer.'s topic in Mapas para MTA:SA
Po mano vlw, já baixei aqui to dando uma estudada pra ver se pego o jeito de modelagem x), mas agradeço quebrou um galho do caramba. -
Estou criando uma cidade própria, porém, gostaria de criar interiores onde o player não iria precisar dar tp para entrar. Um interior modelo juntamente com o mapa em sí,... sei que é necessário a compreensão de modelagem 3D e algo do Tipo, porém não encontrei nenhum vídeo relacionado sobre e também não sei quais programas necessários para fazer o mapa em questão! Agradeço quer puder me dar alguma dica nem que seja de qual programa padrão usado nesses tipos de modelagem >> segue abaixo fotos <<