DNL291 Posted March 31, 2013 Share Posted March 31, 2013 Se você editou outro mapa, a coordenada já é outra. Isso não tem nada haver com o MTA. Tipo o do jogo off, só encostar na marca amarela e automaticamente ser transportado para dentro da casa. Se eu entendi bem o que você quer para o seu server, você pode usar o resource interiors. Ele já vem no seu MTA na pasta [gameplay]. Link to comment
UsParent Posted March 31, 2013 Author Share Posted March 31, 2013 Se você editou outro mapa, a coordenada já é outra. Isso não tem nada haver com o MTA.Tipo o do jogo off, só encostar na marca amarela e automaticamente ser transportado para dentro da casa. Se eu entendi bem o que você quer para o seu server, você pode usar o resource interiors. Ele já vem no seu MTA na pasta [gameplay]. Sim, criei outro mapa e usei as novas coordenadas, antes de ler sua ultima resposta, entendeu? Más tbm não apareceu a marca no mapa. Bom, tenho toda história criativa para um server bem atraente, empolgante e viciante, más isso vai demorar um pouco, devido minha falta de conhecimento em muitas coisas (hoje li mais um pouco de LUA naqueles links lá), o que quero mesmo de inicio é editar esses scripts e faze-los funcionar em meu mapa. Coloquei um script sistema de bancos com 17 bancos e seus icones pelo mapa, consegui visualizar e testa-los no meu mapa antigo. Portões com comando abrir/fechar também consegui e até acrescentei outros usando o mesmo script, só modificando. Só o teleport não estou conseguindo Quero ir criando o mapa e ja ir colocando os portões automáticos com e sem comandos em poucos lugares onde estarão disponíveis para qualquer player entrar e sair. Esse de teleport não vou usar para o CJ, só estou textando na casa do CJ, pois as casas serão a venda, esse teleport comum é para eu usar nos bancos, mercados, lojas, bares, lugares onde há entrada é livre para todos os players. Primeiro quero aprender a colocar e ver funcionar essas coisas mais simples antes de usar esses scripts mais recheados de coisas/sistemas. Exemplo: Simples: Portões automáticos com e sem comando(este ainda não sei) Teleport livre (qualquer um pode entrar e sair de estabelecimentos) Posto de gasolina que cobra Velocimetro e relogio de combustivel com limite em todos os carros e motos Cancelas automáticas Link to comment
DNL291 Posted March 31, 2013 Share Posted March 31, 2013 Você colocou as coordenadas corretamente e iniciou o script? A marca sequer mostra tanto no mapa quanto na interior que é a casa do CJ? O script não tem nenhum erro, era para a marca estar aparecendo, então isso só pode ser outro tipo de problema. Link to comment
UsParent Posted March 31, 2013 Author Share Posted March 31, 2013 Você colocou as coordenadas corretamente e iniciou o script? RE: SIM A marca sequer mostra tanto no mapa quanto na interior que é a casa do CJ? RE: NÃO O script não tem nenhum erro, era para a marca estar aparecendo, então isso só pode ser outro tipo de problema. RE: também estou achando isso! Vou continuar tentando até dá certo. Se eu consegui descobrir o que é eu posto aqui... Link to comment
RaceXtreme Posted March 31, 2013 Share Posted March 31, 2013 Vamos tentar tudo de novo. 1. Crie um novo recurso (uma nova pasta) chamado de teleporter, neste diretório: ...\MTA San Andreas 1.3\server\mods\deathmatch\resources\[gamemodes] Pergunta: Porque em [gamemodes]? Resposta: Não é o que você está sonhando em fazer (um modo de jogo totalmente novo)? 2. Abra um editor de textos, como o Notepad++ e cole este código feito por nosso amigo DNL: root = getResourceRootElement() -- aqui se obtém uma lista com todos os elementos (carros, pedestres, sinalizadores) criados pelo nosso recurso local marker = createMarker(2495.4, -1691, 15.3, "arrow", 1.1, 0, 0, 255) -- Sinalizador para se teletransportar para dentro da casa local houseMarker = createMarker(2495.96, -1692.3, 1015.5, "arrow", 1.1, 0, 0, 255) -- Sinalizador para se teletransportar para fora da casa setElementInterior(houseMarker, 3) addEventHandler("onMarkerHit", root, -- esta função é ativada quando algum elemento (qualquer um) atingir um sinalizador criado pelo nosso recurso function (hitElement) -- hitElement representa o elemento que atingiu o sinalizador if getElementType(hitElement) == "player" then -- se este elemento for um jogador, o teleporte para o lugar certo if source == marker then setElementInterior(hitElement, 3, 2496.18, -1693.74, 1014.74) elseif source == houseMarker then setElementInterior(hitElement, 0, 2495.3, -1687.2, 13.5) end end end ) 3. Salve este arquivo como server.lua, lembrando de verificar se o seu programa realmente salvou da maneira correta: Correto: server.lua Errado: server.lua.txt 4. Agora crie um arquivo chamado meta.xml na mesma pasta que criamos: <meta> <info type="script" name="Teleporter" author="UsParent" version="0.1" description="Script de teletransportar jogadores" /> <!-- Script Files --> <script src="server.lua" type="server" /> </meta> 5.O resultado ficará assim: 1. Pasta: Teleporter1.1 server.lua1.2 meta.xml 6. Vá em ..\MTA San Andreas 1.3\server e rode o arquivo MTA Server.exe 7. Agora é só iniciar o MTA, clicar em quick connect e depois clicar no servirdor "Default MTA Server". Provavelmente você vai entrar no modo freeroam. É só tentar de alguma forma, chegar na casa do CJ. Notas - O que é um sinalizador pelo o amor de deus? Veja a imagem abaixo: Não esqueça de abrir a imagem em uma nova guia (ela está cortada) Link to comment
UsParent Posted April 1, 2013 Author Share Posted April 1, 2013 Vamos sim... Más não neste instante, pois vou trabalhar hoje a noite e antes preciso fazer umas coisas aqui. Más minha próxima folga é depois de amanhã, ai ja coloco em prática desse jeito ai. E posto aqui assim que tiver feito? Muito Obrigado pela atenção cara! Engraçada a imagem do sinalizador! Link to comment
RaceXtreme Posted April 1, 2013 Share Posted April 1, 2013 Quando você puder por isso em prática vai ver que não é tão complicado. Você pode me mostrar umas fotos de como ficou o resultado. Se você travar em alguma parte, te explico melhor ou até outros usuários. Boa sorte! Link to comment
UsParent Posted April 4, 2013 Author Share Posted April 4, 2013 (edited) ... Edited April 16, 2013 by Guest Link to comment
UsParent Posted April 16, 2013 Author Share Posted April 16, 2013 Opa!, valew então, rsAcordei agora, vou começar e logo posto aqui, ok. Para atualizar este tópico estou comentando meu último post e apagando ele(anterior) para não dá duplo post. Ok... Boa Tarde pessoal, tranquilo? Quero agradecer mais uma vez á vocês pela atenção Motivos da minha ausência aqui: Estive bastante atarefado Então, dá ultima vez que respondi eu tentei certinho o que o RaceXtreme ensinou e etc. Abriu tudo tranquilo, mas o sinalizador não apareceu, , sem contar que desse jeito ai ficou muito lento. Bom, o que quero é exatamente do geito que o DNL291 estava explicando antes, más mesmo fazendo correto não consegui, mesmo fazendo tudo certo. A única e ultima solução, acho que será eu desinstalar o gta e o mta e instalar tudo de novo, e em seguida testar o script do DNL291 mais uma vez. Link to comment
UsParent Posted June 8, 2014 Author Share Posted June 8, 2014 Voltando Tudo reinstalado de novo. Detalhe: Toda vez que jogamos em outros server ele faz download e etc... Isso pode interferir no andamento da criação do meu jogo/server, mapa, sistemas e etc? Obs: Para montar o Mapa é melhor é pelo MTA mesmo ou pelo MED? Link to comment
UsParent Posted June 16, 2014 Author Share Posted June 16, 2014 PUXA VIDA Este esta certo e mesmo assim, quando clico em testar jogo no mapeditor e encosto no cylinder, nada acontece. http://uploaddeimagens.com.br/imagens/5_ajuda_mta-png Obs: http://uploaddeimagens.com.br/imagens/correto-png -Não consegui mais portar imagem, as minhas antigas sumiram, (???). Por isso postei o link. EDIT: Opa, editei para dizer que eu testei em host game e pegou o teleport, más tinha uma marca ARROW amarela la, junto a minha cylinder azul, sem contar que tinha um monte de carro ja no mapa Link to comment
UsParent Posted June 17, 2014 Author Share Posted June 17, 2014 Uhuuu Consegui, consegui Ufa! Obrigado ás ajudas antigas. Reli tudo de novo e coloquei em prática novamente e não deu certo, como eu já disse... Más fuçando e refusando funfou... Não queria postar duplo post, más como ninguém está respondendo e tenho que falar como anda as coisas aqui eu postei, rs vlw Link to comment
manawydan Posted June 17, 2014 Share Posted June 17, 2014 bom é isso ai, sempre preste atenção detalhadamente e você consegue. Link to comment
UsParent Posted June 21, 2014 Author Share Posted June 21, 2014 bom é isso ai, sempre preste atenção detalhadamente e você consegue. Valeu cara! Quero por teleport agora num outro local, por exemplo na pizzaria. Uso o mesmo script, só edito as coordenadas? Link to comment
UsParent Posted June 28, 2014 Author Share Posted June 28, 2014 Valeu, obrigado! Não será necessário mudar nada além das coordenadas? Algum nome daqueles que tem lá por exemplo? Link to comment
manawydan Posted June 28, 2014 Share Posted June 28, 2014 creio que as variaveis tambem, qualquer coisa poste seu script aki Link to comment
yTheuSMyth Posted August 4, 2019 Share Posted August 4, 2019 Estou com um sistema de concessionaria que tem as opções simples de tirar carro, colocar carro, localizar carro, vender, Etc. mas quero colocar um que de para teleportar o veiculo para o Detran, alguém poderia me ajudar???? function centerWindow ( center_window ) local sx, sy = guiGetScreenSize ( ) local windowW, windowH = guiGetSize ( center_window, false ) local x, y = ( sx - windowW ) / 2, ( sy - windowH ) / 2 guiSetPosition ( center_window, x, y, false ) end local customCarNames = -- Ids dos veiculos pra add mais copie e cole um abaixo do outro e mude o nome { [545] = 'Fusca'; [483] = 'kombi'; [422] = 'Saveiro-G3'; [405] = 'Honda-Civic'; [529] = 'Toro'; [551] = 'Frontier'; [402] = 'Camaro'; [429] = 'FerrariGTB'; [555] = 'Mitsubishi-Evox'; [602] = 'MustangGT'; [527] = 'DodgeChallenger'; [487] = 'Maverick'; [468] = 'XRE-300'; [522] = 'Hornet'; [461] = 'S-1000-R'; } setTimer ( function () local theCol = getElementData(root, "BlockExportCol") function isInColExport () if isElement(theCol) and isElementWithinColShape(localPlayer,theCol) then return true else return false end end function ClientExplosionCFunction() if isInColExport () then cancelEvent () end end addEventHandler("onClientExplosion", root, ClientExplosionCFunction) end , 1000, 1 ) local screX, screY = guiGetScreenSize() Window_VS = guiCreateWindow(373, 219, 557, 303,"Veiculos Comprados",false) guiSetAlpha(Window_VS, 0.88) guiWindowSetSizable(Window_VS, false) guiSetVisible(Window_VS, false) centerWindow(Window_VS) Grid_VS = guiCreateGridList(10, 28, 361, 235, false, Window_VS) guiGridListSetSelectionMode(Grid_VS, 1) guiGridListAddColumn(Grid_VS, "Nome", 0.4) guiGridListAddColumn(Grid_VS, "Preço", 0.3) guiGridListAddColumn(Grid_VS, "HP Auto", 0.2) Button_VS_sn_s = guiCreateStaticImage(381, 28, 166, 25, "images/button_standard.png", false, Window_VS) Button_VS_sn_o = guiCreateStaticImage(381, 28, 166, 25, "images/button_mouse.png", false, Window_VS) Button_VS_sn = guiCreateLabel(381, 28, 166, 25, "Spawnar", false, Window_VS) guiSetFont(Button_VS_sn, "default-bold-small") guiLabelSetColor(Button_VS_sn, 255, 255, 255) guiLabelSetVerticalAlign(Button_VS_sn, "center") guiLabelSetHorizontalAlign(Button_VS_sn, "center") Button_VS_dy_s = guiCreateStaticImage(381, 63, 166, 25, "images/button_standard.png", false, Window_VS) Button_VS_dy_o = guiCreateStaticImage(381, 63, 166, 25, "images/button_mouse.png", false, Window_VS) Button_VS_dy = guiCreateLabel(381, 63, 166, 25, "Guardar", false, Window_VS) guiSetFont(Button_VS_dy, "default-bold-small") guiLabelSetColor(Button_VS_dy, 255, 255, 255) guiLabelSetVerticalAlign(Button_VS_dy, "center") guiLabelSetHorizontalAlign(Button_VS_dy, "center") Button_VS_Warp_s = guiCreateStaticImage(381, 98, 166, 25, "images/button_standard.png", false, Window_VS) Button_VS_Warp_o = guiCreateStaticImage(381, 98, 166, 25, "images/button_mouse.png", false, Window_VS) Button_VS_bp = guiCreateLabel(381, 98, 166, 25, "Localizar", false, Window_VS) -- Trazer guiSetFont(Button_VS_bp, "default-bold-small") guiLabelSetColor(Button_VS_bp, 255, 255, 255) guiLabelSetVerticalAlign(Button_VS_bp, "center") guiLabelSetHorizontalAlign(Button_VS_bp, "center") --[[Button_VS_Warp_info = guiCreateLabel(428, 500, 103, 26, "Trazer: 20$", false) guiSetFont(Button_VS_Warp_info, "default-bold-small") guiLabelSetColor(Button_VS_Warp_info, 255, 255, 255) guiLabelSetVerticalAlign(Button_VS_Warp_info, "center") guiLabelSetHorizontalAlign(Button_VS_Warp_info, "center") Button_VS_Fix_s = guiCreateStaticImage(381, 133, 166, 25, "images/button_standard.png", false, Window_VS) Button_VS_Fix_o = guiCreateStaticImage(381, 133, 166, 25, "images/button_mouse.png", false, Window_VS) Button_VS_Fix = guiCreateLabel(381, 133, 166, 25, "Consertar", false, Window_VS) guiSetFont(Button_VS_Fix, "default-bold-small") guiLabelSetColor(Button_VS_Fix, 255, 255, 255) guiLabelSetVerticalAlign(Button_VS_Fix, "center") guiLabelSetHorizontalAlign(Button_VS_Fix, "center") Button_VS_Fix_info = guiCreateLabel(428, 500, 103, 26, "Conserto: 320$", false) guiSetFont(Button_VS_Fix_info, "default-bold-small") guiLabelSetColor(Button_VS_Fix_info, 255, 255, 255) guiLabelSetVerticalAlign(Button_VS_Fix_info, "center") guiLabelSetHorizontalAlign(Button_VS_Fix_info, "center") ]] Button_VS_lk_s = guiCreateStaticImage(381, 168, 166, 25, "images/button_standard.png", false, Window_VS) Button_VS_lk_o = guiCreateStaticImage(381, 168, 166, 25, "images/button_mouse.png", false, Window_VS) Button_VS_lk = guiCreateLabel(381, 168, 166, 25, "Aberto - Fechado", false, Window_VS) guiSetFont(Button_VS_lk, "default-bold-small") guiLabelSetColor(Button_VS_lk, 255, 255, 255) guiLabelSetVerticalAlign(Button_VS_lk, "center") guiLabelSetHorizontalAlign(Button_VS_lk, "center") Button_VS_sl_s = guiCreateStaticImage(381, 203, 166, 25, "images/button_standard.png", false, Window_VS) Button_VS_sl_o = guiCreateStaticImage(381, 203, 166, 25, "images/button_mouse.png", false, Window_VS) Button_VS_sl = guiCreateLabel(381, 203, 166, 25, "Vender Veiculo", false, Window_VS) guiSetFont(Button_VS_sl, "default-bold-small") guiLabelSetColor(Button_VS_sl, 255, 255, 255) guiLabelSetVerticalAlign(Button_VS_sl, "center") guiLabelSetHorizontalAlign(Button_VS_sl, "center") Button_VS_give_s = guiCreateStaticImage(381, 238, 166, 25, "images/button_standard.png", false, Window_VS) Button_VS_give_o = guiCreateStaticImage(381, 238, 166, 25, "images/button_mouse.png", false, Window_VS) Button_VS_give = guiCreateLabel(381, 238, 166, 25, "Vender Para o Jogador", false, Window_VS) guiSetFont(Button_VS_give, "default-bold-small") guiLabelSetColor(Button_VS_give, 255, 255, 255) guiLabelSetVerticalAlign(Button_VS_give, "center") guiLabelSetHorizontalAlign(Button_VS_give, "center") adLabel = guiCreateLabel(130, 269, 296, 24, "BVV ROLEPLAY", false, Window_VS) -------------- Nome do seu servidor guiSetFont(adLabel, "default-bold-small") guiLabelSetHorizontalAlign(adLabel, "center", false) guiLabelSetVerticalAlign(adLabel, "center") guiSetVisible(Button_VS_sn_o,false)-- guiSetVisible(Button_VS_dy_o,false)-- guiSetVisible(Button_VS_Warp_o,false) --guiSetVisible(Button_VS_Warp_info,false) --guiSetVisible(Button_VS_Fix_o,false) --guiSetVisible(Button_VS_Fix_info,false) guiSetVisible(Button_VS_lk_o,false) guiSetVisible(Button_VS_sl_o,false) guiSetVisible(Button_VS_give_o,false) --Button_VS_Warp_info --Button_VS_Fix_info Window_CHK = guiCreateWindow(screX/2-155,screY/2-60,310,120,"Vender Veiculo!",false) guiSetVisible(Window_CHK, false) guiSetProperty(Window_CHK, "AlwaysOnTop", "true") guiWindowSetSizable(Window_CHK, false) Label_CHK = guiCreateLabel(21,28,266,36,"",false,Window_CHK) guiLabelSetColor(Label_CHK, 38, 122, 216) guiLabelSetHorizontalAlign(Label_CHK,"center",true) Button_CHK_Y = guiCreateButton(17,73,129,36,"Deseja Vender?",false,Window_CHK) Button_CHK_N = guiCreateButton(161,73,129,36,"Cancelar",false,Window_CHK) function updateGridList() local data = getElementData(localPlayer, "VehicleInfo") if data then local rw, cl = guiGridListGetSelectedItem(Grid_VS) guiGridListClear(Grid_VS) for i, data in ipairs (data) do local carName = customCarNames[ data['Model'] ] or getVehicleNameFromModel(data["Model"]) local ID = data["ID"] local Cost = data["Cost"] local HP = math.floor(data["HP"]) local PreCost = math.ceil(Cost*.9*HP/100/10) local row = guiGridListAddRow(Grid_VS) guiGridListSetItemText(Grid_VS, row, 1, carName, false, true) guiGridListSetItemData(Grid_VS, row, 1, ID) guiGridListSetItemText(Grid_VS, row, 2, PreCost, false, true) guiGridListSetItemText(Grid_VS, row, 3, HP.." HP", false, true) end guiGridListSetSelectedItem(Grid_VS, rw, cl) end end bindKey("F3", "down", function() if getElementInterior(localPlayer) == 0 and getElementDimension(localPlayer) == 0 then if getElementData(localPlayer, "MissionWarProtection") and getElementData(localPlayer, "MissionProtection")then return end guiSetVisible(Window_VS, not guiGetVisible(Window_VS)) guiSetVisible (Window_CHK, false) showCursor(guiGetVisible(Window_VS)) end end) triggerServerEvent("onOpenGui", localPlayer) addEventHandler("onClientElementDataChange", root, function(dd) if getElementType(source) == "player" and source == localPlayer and dd == "VehicleInfo" then local data = getElementData(source, dd) if data then updateGridList() end end end) function WINDOW_CLICK_VEHICLE (button, state, absoluteX, absoluteY) local id = guiGridListGetSelectedItem(Grid_VS) local ID = guiGridListGetItemData(Grid_VS, id, 1) if source == Button_VS_close then guiSetVisible(Window_VS, false) showCursor(false) end if (source == Grid_VS) then if id == -1 and idd then guiGridListSetSelectedItem(Grid_VS, idd, 1) return false else idd = guiGridListGetSelectedItem(Grid_VS) end elseif id == -1 then elseif (source == Button_VS_sn) then if not isInColExport () then triggerServerEvent("SpawnMyVehicle", localPlayer, ID) end elseif (source == Button_VS_dy) then triggerServerEvent("DestroyMyVehicle", localPlayer, ID) elseif (source == Button_VS_lt) then triggerServerEvent("LightsMyVehicle", localPlayer, ID) elseif (source == Button_VS_bp) then triggerServerEvent("BlipMyVehicle", localPlayer, ID) elseif (source == Button_VS_lk) then triggerServerEvent("LockMyVehicle", localPlayer, ID) elseif (source == Button_VS_sl) then guiSetVisible(Window_CHK, true) local carName = guiGridListGetItemText(Grid_VS, guiGridListGetSelectedItem(Grid_VS), 1) local carprice = guiGridListGetItemText(Grid_VS, guiGridListGetSelectedItem(Grid_VS), 2) guiSetText(Label_CHK, 'Você deseja realmente vender seu "'..carName..'" por $'..carprice) elseif source == Button_VS_give then createPlayersList(id) elseif source == Button_CHK_Y then triggerServerEvent("SellMyVehicle", localPlayer, ID) guiSetVisible(Window_VS, false) guiSetVisible(Window_CHK, false) showCursor(false) elseif source == Button_CHK_N then guiSetVisible (Window_CHK, false) elseif source == Button_VS_Spc then if getElementInterior(localPlayer) == 0 then if getElementData(localPlayer,"Stats") < 2 then SpecVehicle(ID) end end elseif source == Button_VS_Fix then triggerServerEvent("FixMyVehicle", localPlayer, ID) elseif source == Button_VS_Warp then if not isInColExport () then triggerServerEvent("WarpMyVehicle", localPlayer, ID) end elseif source == Button_PLS_Y then local row = guiGridListGetSelectedItem ( playerList_PLS ) if row and row ~= -1 then -- if guiGridListGetItemText ( playerList_PLS, row, 1 ) == getPlayerName ( localPlayer ) then -- return true -- end if (tonumber(guiGetText (edit_PLS_price)) or 0) >= 0 then outputChatBox ( "#c1c1c1Esperar uma resposta do jogador.", 10, 250, 10,true ) invitations_send = true triggerServerEvent ( 'inviteToBuyCarSended', localPlayer, guiGridListGetItemText ( playerList_PLS, row, 1 ), guiGetText (edit_PLS_price) or 0, guiGridListGetItemText(Grid_VS, id, 1), guiGridListGetItemData(Grid_VS, id, 1) ) destroyElement ( Window_PLS ) end end elseif source == Button_PLS_N then destroyElement ( Window_PLS) end end addEventHandler("onClientGUIClick", resourceRoot, WINDOW_CLICK_VEHICLE) function invitationsClickVehicle () if source == Button_ABC_Y then showCursor ( false ) destroyElement ( Window_ABC ) if getPlayerMoney () >= ( tonumber(inv_price) or 0 ) then triggerServerEvent ("invitationBuyCarAccepted",localPlayer, inv_player, inv_acc, inv_price, inv_veh_name, inv_veh_id) else triggerServerEvent ("invitationBuyCarNotAccepted",localPlayer, inv_player ) end if #listOfInvitations > 0 then createAcceptBuyCarWindow (listOfInvitations[1][1],listOfInvitations[1][2],listOfInvitations[1][3],listOfInvitations[1][4] ) table.remove (listOfInvitations,1) end elseif source == Button_ABC_N then showCursor ( false ) triggerServerEvent ("invitationBuyCarNotAccepted",localPlayer, inv_player ) destroyElement ( Window_ABC ) if #listOfInvitations > 0 then createAcceptBuyCarWindow (listOfInvitations[1][1],listOfInvitations[1][2],listOfInvitations[1][3],listOfInvitations[1][4] ) table.remove (listOfInvitations,1) end end end addEventHandler("onClientGUIClick", resourceRoot, invitationsClickVehicle) function createPlayersList (row_id) showCursor ( true ) Window_PLS = guiCreateWindow(screX/2-155,screY/2-220,310,420,"Venda de carros!",false) guiSetVisible(Window_PLS, true) guiSetProperty(Window_PLS, "AlwaysOnTop", "true") guiWindowSetSizable(Window_PLS, false) Label_PLS_info = guiCreateLabel(21,28,266,36,"Digite o preço dos carros:",false,Window_PLS) edit_PLS_price = guiCreateEdit ( 110,58,90,36, guiGridListGetItemText(Grid_VS, row_id, 2) or 0, false, Window_PLS ) guiLabelSetColor(Label_PLS_info, 38, 122, 216) guiLabelSetHorizontalAlign(Label_PLS_info,"center",true) Button_PLS_Y = guiCreateButton(17,379,129,36,"Vender",false,Window_PLS) Button_PLS_N = guiCreateButton(161,379,129,36,"Fechar",false,Window_PLS) addEventHandler("onClientGUIChanged", edit_PLS_price, function(element) guiSetText ( edit_PLS_price, string.gsub (guiGetText( edit_PLS_price ), "%a", "") ) end) playerList_PLS = guiCreateGridList ( 21, 100, 268, 265, false, Window_PLS ) local column = guiGridListAddColumn( playerList_PLS, "Jogadores", 0.85 ) if ( column ) then for id, player in ipairs(getElementsByType("player")) do local row = guiGridListAddRow ( playerList_PLS ) guiGridListSetItemText ( playerList_PLS, row, column, getPlayerName ( player ), false, false ) end end end --createPlayersList () listOfInvitations = {} inv_player, inv_acc, inv_price, inv_veh_name, inv_veh_id = nil, nil, nil, nil, nil addEvent("recieveInviteToBuyCar", true) addEventHandler("recieveInviteToBuyCar", root, function(player, acc, price, veh_name, veh_id) if player and price and acc and veh_name and veh_id then if getPlayerFromName ( player ) then if not isElement ( Window_ABC ) then createAcceptBuyCarWindow (player,acc,price, veh_name, veh_id) else table.insert ( listOfInvitations, {player,acc,price, veh_name, veh_id}) end else outputChatBox ( "#c1c1c1Jogador não pode ser encontrado", source, 250, 10, 10,true) end end end) addEvent("cleanCarInvitations", true) addEventHandler("cleanCarInvitations", root, function() invitations_send = false end) function createAcceptBuyCarWindow(player,acc,price, veh_name, veh_id) showCursor ( true ) inv_player, inv_acc, inv_price, inv_veh_name, inv_veh_id = player,acc,price, veh_name, veh_id Window_ABC = guiCreateWindow(screX/2-155,screY/2-220,410,100,"Venda de carros",false) guiSetVisible(Window_ABC, true) guiSetProperty(Window_ABC, "AlwaysOnTop", "true") guiWindowSetSizable(Window_ABC, false) Label_ABC_info = guiCreateLabel(10,28,390,36,player.." Te ofereceu o "..veh_name.." por "..price.."$ (o seu dinheiro: "..getPlayerMoney() .."$)",false,Window_ABC) guiLabelSetColor(Label_ABC_info, 38, 216, 38) guiLabelSetHorizontalAlign(Label_ABC_info,"center",true) Button_ABC_Y = guiCreateButton(17,70,129,36,"Comprar",false,Window_ABC) Button_ABC_N = guiCreateButton(264,70,129,36,"Cancelar",false,Window_ABC) end function SpecVehicle(id) if spc then removeEventHandler("onClientPreRender", root, Sp) setCameraTarget(localPlayer) if isTimer(freezTimer) then killTimer(freezTimer) end freezTimer = setTimer(function() setElementFrozen(localPlayer, false) end, 2500, 1) spc = false return end for i, vehicle in ipairs(getElementsByType("vehicle")) do if getElementData(vehicle, "Owner") == localPlayer and getElementData(vehicle, "ID") == id then cVeh = vehicle spc = true addEventHandler("onClientPreRender", root, Sp) guiSetVisible(Window_VS, false) showCursor(false) break end end end function Sp() if isElement(cVeh) then local x, y, z = getElementPosition(cVeh) setElementFrozen(localPlayer, true) setCameraMatrix(x, y-1, z+15, x, y, z) else removeEventHandler("onClientPreRender", root, Sp) setCameraTarget(localPlayer) if isTimer(freezTimer) then killTimer(freezTimer) end freezTimer = setTimer(function() setElementFrozen(localPlayer, false) end, 2500, 1) spc = false end end ShopMarkersTable = {} local ShopTable = { --------- Ids de cada um na sua loja do mesmo jeito que adicionou la encima bote aqui e mude os preços tambem [1] = {ID = {{545, 10000} -- Fusca ,{483, 20000} --- kombi ,{422, 50000} --- Saveiro-G3 ,{405, 150000} --- Honda-Civic ,{529, 170000} --- Toro ,{551, 230000} --- Frontier ,{402, 500000} --- Camaro ,{429, 1200000} --- FerrariGTB ,{555, 1500000} --- Mitsubishi-Evox ,{602, 2800000} --- MustangGT ,{527, 3000000} --- DodgeChallenger ,{411, 3500000} --- Pagani ,{487, 10000000} --- Maverick ,{468, 30000} --- XRE-300 ,{522, 70000} --- Hornet ,{461, 800000} --- S-1000-R }, vPosX = 2134, vPosY = -1170, vPosZ = 28.15, PosX = 2133, PosY = -1149, PosZ = 23.4, CamX = 2134.1, CamY = -1160, CamZ = 35, lookAtX = 2133.3, lookAtY = -1168, lookAtZ = 28}, [2] = {ID = {{545, 10000} -- Fusca ,{483, 20000} --- kombi ,{422, 50000} --- Saveiro-G3 ,{405, 150000} --- Honda-Civic ,{529, 170000} --- Toro ,{551, 230000} --- Frontier ,{402, 500000} --- Camaro ,{429, 1200000} --- FerrariGTB ,{555, 1500000} --- Mitsubishi-Evox ,{602, 2800000} --- MustangGT ,{527, 3000000} --- DodgeChallenger ,{411, 3500000} --- Pagani ,{487, 10000000} --- Maverick ,{468, 30000} --- XRE-300 ,{522, 70000} --- Hornet ,{461, 800000} --- S-1000-R }, vPosX = 552, vPosY = -1288, vPosZ = 18, PosX = 562, PosY = -1270, PosZ = 16, CamX = 552, CamY = -1275.82, CamZ = 21.61, lookAtX = 552, lookAtY = -1276.77, lookAtZ = 21.29}, [3] = {ID = {{545, 10000} -- Fusca ,{483, 20000} --- kombi ,{422, 50000} --- Saveiro-G3 ,{405, 150000} --- Honda-Civic ,{529, 170000} --- Toro ,{551, 230000} --- Frontier ,{402, 500000} --- Camaro ,{429, 1200000} --- FerrariGTB ,{555, 1500000} --- Mitsubishi-Evox ,{602, 2800000} --- MustangGT ,{527, 3000000} --- DodgeChallenger ,{411, 3500000} --- Pagani ,{487, 10000000} --- Maverick ,{468, 30000} --- XRE-300 ,{522, 70000} --- Hornet ,{461, 800000} --- S-1000-R }, vPosX = 1942.5, vPosY = 2052, vPosZ = 11, PosX = 1946, PosY = 2068, PosZ = 10, CamX = 1930.36, CamY = 2052.78, CamZ = 14.71, lookAtX = 1931.36, lookAtY = 2052.78, lookAtZ = 14.43}, [4] = {ID = {{545, 10000} -- Fusca ,{483, 20000} --- kombi ,{422, 50000} --- Saveiro-G3 ,{405, 150000} --- Honda-Civic ,{529, 170000} --- Toro ,{551, 230000} --- Frontier ,{402, 500000} --- Camaro ,{429, 1200000} --- FerrariGTB ,{555, 1500000} --- Mitsubishi-Evox ,{602, 2800000} --- MustangGT ,{527, 3000000} --- DodgeChallenger ,{411, 3500000} --- Pagani ,{487, 10000000} --- Maverick ,{468, 30000} --- XRE-300 ,{522, 70000} --- Hornet ,{461, 800000} --- S-1000-R }, vPosX = -1950, vPosY = 266, vPosZ = 36.2, PosX = -1954, PosY = 299, PosZ = 34, CamX = -1960.18, CamY = 266.06, CamZ = 37.94, lookAtX = -1959.2, lookAtY = 266.06, lookAtZ = 37.73}, [5] = {ID = {{545, 10000} -- Fusca ,{483, 20000} --- kombi ,{483, 20000} --- kombi ,{422, 50000} --- Saveiro-G3 ,{405, 150000} --- Honda-Civic ,{529, 170000} --- Toro ,{551, 230000} --- Frontier ,{402, 500000} --- Camaro ,{429, 1200000} --- FerrariGTB ,{555, 1500000} --- Mitsubishi-Evox ,{602, 2800000} --- MustangGT ,{527, 3000000} --- DodgeChallenger ,{411, 3500000} --- Pagani ,{487, 10000000} --- Maverick ,{468, 30000} --- XRE-300 ,{522, 70000} --- Hornet ,{461, 800000} --- S-1000-R }, vPosX = -1660, vPosY = 1213, vPosZ = 7, PosX = -1634, PosY = 1199, PosZ = 6, CamX = -1648.9, CamY = 1212.27, CamZ = 10.16, lookAtX = -1649.88, lookAtY = 1212.27, lookAtZ = 9.94} } VehicleShop_Window = guiCreateWindow(screX-350,screY-450, 343, 436, "Concessionária", false) guiSetVisible(VehicleShop_Window, false) guiWindowSetSizable(VehicleShop_Window , false) guiSetAlpha(VehicleShop_Window, 0.8) carGrid = guiCreateGridList(9, 20, 324, 329, false, VehicleShop_Window) guiGridListSetSelectionMode(carGrid, 0) carColumn = guiGridListAddColumn(carGrid, "Nome", 0.5) costColumn = guiGridListAddColumn(carGrid, "Preço", 0.4) carButton_s = guiCreateStaticImage(14, 355, 86, 56, "images/button_standard.png", false, VehicleShop_Window) carButton_o = guiCreateStaticImage(14, 355, 86, 56, "images/button_mouse.png", false, VehicleShop_Window) carButton = guiCreateLabel(14, 355, 86, 56, "Comprar", false, VehicleShop_Window) guiSetFont(carButton, "default-bold-small") guiLabelSetColor(carButton, 255, 255, 255) guiLabelSetVerticalAlign(carButton, "center") guiLabelSetHorizontalAlign(carButton, "center") carColorButton_s = guiCreateStaticImage(128, 355, 86, 56, "images/button_standard.png", false, VehicleShop_Window) carColorButton_o = guiCreateStaticImage(128, 355, 86, 56, "images/button_mouse.png", false, VehicleShop_Window) carColorButton = guiCreateLabel(128, 355, 86, 56, "Pintar", false, VehicleShop_Window) guiSetFont(carColorButton, "default-bold-small") guiLabelSetColor(carColorButton, 255, 255, 255) guiLabelSetVerticalAlign(carColorButton, "center") guiLabelSetHorizontalAlign(carColorButton, "center") closeButton_s = guiCreateStaticImage(237, 355, 86, 56, "images/button_standard.png", false, VehicleShop_Window) closeButton_o = guiCreateStaticImage(237, 355, 86, 56, "images/button_mouse.png", false, VehicleShop_Window) closeButton = guiCreateLabel(237, 355, 86, 56, "Sair", false, VehicleShop_Window) guiSetFont(closeButton, "default-bold-small") guiLabelSetColor(closeButton, 255, 255, 255) guiLabelSetVerticalAlign(closeButton, "center") guiLabelSetHorizontalAlign(closeButton, "center") guiSetVisible(carButton_o,false) guiSetVisible(closeButton_o,false) guiSetVisible(carColorButton_o,false) addEventHandler( "onClientMouseLeave", root, function() if source == Button_VS_sn then guiSetVisible(Button_VS_sn_s,true) guiSetVisible(Button_VS_sn_o,false) elseif source == Button_VS_dy then guiSetVisible(Button_VS_dy_s,true) guiSetVisible(Button_VS_dy_o,false) elseif source == Button_VS_bp then guiSetVisible(Button_VS_Warp_s,true) guiSetVisible(Button_VS_Warp_o,false) -- guiSetVisible(Button_VS_Warp_info,false) elseif source == Button_VS_Fix then guiSetVisible(Button_VS_Fix_s,true)--Button_VS_Fix_info guiSetVisible(Button_VS_Fix_o,false) guiSetVisible(Button_VS_Fix_info,false) elseif source == Button_VS_lk then guiSetVisible(Button_VS_lk_s,true) guiSetVisible(Button_VS_lk_o,false) elseif source == Button_VS_sl then guiSetVisible(Button_VS_sl_s,true) guiSetVisible(Button_VS_sl_o,false) elseif source == Button_VS_give then guiSetVisible(Button_VS_give_s,true) guiSetVisible(Button_VS_give_o,false) elseif source == carButton then guiSetVisible(carButton_s,true) guiSetVisible(carButton_o,false) elseif source == closeButton then guiSetVisible(closeButton_s,true) guiSetVisible(closeButton_o,false) elseif source == carColorButton then guiSetVisible(carColorButton_s,true) guiSetVisible(carColorButton_o,false) end end) addEventHandler( "onClientMouseEnter", root, function() if source == Button_VS_sn then guiSetVisible(Button_VS_sn_s,false) guiSetVisible(Button_VS_sn_o,true) elseif source == Button_VS_dy then guiSetVisible(Button_VS_dy_s,false) guiSetVisible(Button_VS_dy_o,true) elseif source == Button_VS_bp then guiSetVisible(Button_VS_Warp_s,false) guiSetVisible(Button_VS_Warp_o,true) -- guiSetVisible(Button_VS_Warp_info,true) elseif source == Button_VS_Fix then guiSetVisible(Button_VS_Fix_s,false)--Button_VS_Fix_info guiSetVisible(Button_VS_Fix_o,true) guiSetVisible(Button_VS_Fix_info,true) elseif source == Button_VS_lk then guiSetVisible(Button_VS_lk_s,false) guiSetVisible(Button_VS_lk_o,true) elseif source == Button_VS_sl then guiSetVisible(Button_VS_sl_s,false) guiSetVisible(Button_VS_sl_o,true) elseif source == Button_VS_give then guiSetVisible(Button_VS_give_s,false) guiSetVisible(Button_VS_give_o,true) elseif source == Button_VS_give then guiSetVisible(Button_VS_give_s,false) guiSetVisible(Button_VS_give_o,true) elseif source == carButton then guiSetVisible(carButton_s,false) guiSetVisible(carButton_o,true) elseif source == closeButton then guiSetVisible(closeButton_s,false) guiSetVisible(closeButton_o,true) elseif source == carColorButton then guiSetVisible(carColorButton_s,false) guiSetVisible(carColorButton_o,true) end end) for i, M in ipairs(ShopTable) do ShopMarker = createMarker(M["PosX"], M["PosY"], M["PosZ"], "cylinder", 2, 38, 122, 216) ShopMarkerShader = createMarker(M["PosX"], M["PosY"], M["PosZ"], "cylinder", 2, 38, 122, 216) ShopMarkersTable[ShopMarker] = true setElementData ( ShopMarker, "shopID", i ) setElementID(ShopMarker, tostring(i)) createBlipAttachedTo(ShopMarker, 55, 2, 255, 255, 255, 255, 0, 400) end function getVehicleModelFromNewName (name) for i,v in pairs ( customCarNames ) do if v == name then return i end end return false end addEventHandler("onClientGUIClick", resourceRoot, function() if (source == carGrid) then local carName = guiGridListGetItemText(carGrid, guiGridListGetSelectedItem(carGrid), 1) local carprice = guiGridListGetItemText(carGrid, guiGridListGetSelectedItem(carGrid), 2) if guiGridListGetSelectedItem(carGrid) ~= -1 then guiSetText(CarName, carName) guiSetText(CarPrice, "$"..carprice) local carID = getVehicleModelFromNewName(carName) or getVehicleModelFromName(carName) if isElement(veh) then setElementModel(veh, carID) return end veh = createVehicle(carID, ShopTable[i]["vPosX"], ShopTable[i]["vPosY"], ShopTable[i]["vPosZ"]) setVehicleDamageProof(veh, true) setElementFrozen(veh, true) setVehicleColor(veh, r1, g1, b1, r2, g2, b2) timer = setTimer(function() local x, y, z = getElementRotation(veh) setElementRotation(veh, x, y, z+3) end, 50, 0) else guiSetText(CarName, "Noun") guiSetText(CarPrice, "Noun") r1, g1, b1, r2, g2, b2 = math.random(0, 255), math.random(0, 255), math.random(0, 255), math.random(0, 255), math.random(0, 255), math.random(0, 255) if isElement(veh) then destroyElement(veh) end if isTimer(timer) then killTimer(timer) end end elseif (source == carColorButton) then openColorPicker() elseif (source == carButton) then if guiGridListGetSelectedItem(carGrid) then local carName = guiGridListGetItemText(carGrid, guiGridListGetSelectedItem(carGrid), 1) local carID = getVehicleModelFromNewName(carName) or getVehicleModelFromName(carName) local carCost = guiGridListGetItemText (carGrid, guiGridListGetSelectedItem(carGrid), 2) local r1, g1, b1, r2, g2, b2 = getVehicleColor(veh, true) triggerServerEvent("onBuyNewVehicle", localPlayer, carID, carCost, r1, g1, b1, r2, g2, b2) outputChatBox("#c1c1c1Você acabou de comprar um: #00FF66"..carName, 38, 122, 216, true) guiSetVisible(VehicleShop_Window, false) showCursor(false) setElementFrozen(localPlayer, false) fadeCamera(false, 1.0) setTimer(function() fadeCamera(true, 0.5) setCameraTarget(localPlayer) end, 1000, 1) if isElement(veh) then destroyElement(veh) end if isTimer(timer) then killTimer(timer) end end elseif (source == closeButton) then if guiGetVisible(VehicleShop_Window) then guiSetVisible(VehicleShop_Window, false) showCursor(false) setElementFrozen(localPlayer, false) fadeCamera(false, 1.0) setElementData ( localPlayer, "atVehShop", false) setTimer(function() fadeCamera(true, 0.5) setCameraTarget(localPlayer) end, 1000, 1) if isElement(veh) then destroyElement(veh) end if isTimer(timer) then killTimer(timer) end end end end) function openColorPicker() if (colorPicker.isSelectOpen) or not isElement(veh) then return end colorPicker.openSelect(colors) end function closedColorPicker() end function updateColor() if (not colorPicker.isSelectOpen) then return end local r, g, b = colorPicker.updateTempColors() if (veh and isElement(veh)) then r1, g1, b1, r2, g2, b2 = getVehicleColor(veh, true) if (guiCheckBoxGetSelected(checkColor1)) then r1, g1, b1 = r, g, b end if (guiCheckBoxGetSelected(checkColor2)) then r2, g2, b2 = r, g, b end setVehicleColor(veh, r1, g1, b1, r2, g2, b2) end end addEventHandler("onClientRender", root, updateColor) --[[addCommandHandler("xx", function() local x, y, z, lx, ly, lz = getCameraMatrix() setCameraMatrix(x, y, z, lx, ly, lz) outputChatBox(x..", "..y..", "..z..", "..lx..", "..ly..", "..z) end)]] addEventHandler("onClientMarkerHit", resourceRoot, function(player) if getElementType(player) ~= "player" or player ~= localPlayer or isPedInVehicle(player) then return end if ShopMarkersTable[source] then i = tonumber(getElementID(source)) guiGridListClear(carGrid) for i, v in ipairs(ShopTable[i]["ID"]) do local carName = customCarNames[ v[1] ] or getVehicleNameFromModel(v[1]) local row = guiGridListAddRow(carGrid) guiGridListSetItemText(carGrid, row, 1, carName, false, true) guiGridListSetItemText(carGrid, row, 2, tostring(v[2]), false, true) end setCameraMatrix(ShopTable[i]["CamX"], ShopTable[i]["CamY"], ShopTable[i]["CamZ"], ShopTable[i]["lookAtX"], ShopTable[i]["lookAtY"], ShopTable[i]["lookAtZ"]) guiSetVisible(VehicleShop_Window, true) showCursor(true) setElementData ( player, "atVehShop", getElementData ( source, "shopID")) guiGridListSetSelectedItem(carGrid, 0, 1) setTimer(function() setElementFrozen(localPlayer, true) local carName = guiGridListGetItemText(carGrid, 0, 1) local carID = getVehicleModelFromNewName(carName) or getVehicleModelFromName(carName) local x, y, z = ShopTable[i]["vPosX"], ShopTable[i]["vPosY"], ShopTable[i]["vPosZ"] if isElement(veh) then destroyElement(veh) end if isTimer(timer) then killTimer(timer) end r1, g1, b1, r2, g2, b2 = math.random(0, 255), math.random(0, 255), math.random(0, 255), math.random(0, 255), math.random(0, 255), math.random(0, 255) veh = createVehicle(carID, x, y, z) setVehicleDamageProof(veh, true) setElementFrozen(veh, true) setVehicleColor(veh, r1, g1, b1, r2, g2, b2) timer = setTimer(function() local x, y, z = getElementRotation(veh) setElementRotation(veh, x, y, z+3) end, 50, 0) end, 100, 1) end end) addEventHandler("onClientRender", getRootElement(), function() local x2, y2, z2 = getElementPosition(localPlayer) for index, car in pairs(getElementsByType('vehicle')) do if(getElementData(car,'ownercar')) then local x, y, z = getElementPosition(car) z = z+1 local sx, sy = getScreenFromWorldPosition(x, y, z) if(sx) and (sy) then local distance = getDistanceBetweenPoints3D(x, y, z, x2, y2, z2) if(distance < 10) then local fontbig = 1-(distance/14) local owner = getElementData(car, "ownercar") end end end end for i, v in ipairs ( ShopTable ) do local sx, sy = getScreenFromWorldPosition(v.PosX, v.PosY, v.PosZ+1) if(sx) and (sy) then local distance = getDistanceBetweenPoints3D ( x2, y2, z2,v.PosX, v.PosY, v.PosZ ) if distance < 30 then local fontbig = 3-(distance/10) --dxDrawBorderedCarText("", sx, sy, sx, sy, tocolor(212, 179, 17, 200), fontbig, "default-bold", "center") end end end end) function dxDrawBorderedCarText( text, x, y, w, h, color, scale, font, alignX, alignY, clip, wordBreak, postGUI ) dxDrawText ( text, x - 1, y - 1, w - 1, h - 1, tocolor ( 0, 0, 0, 255 ), scale, font, alignX, alignY, clip, wordBreak, false ) dxDrawText ( text, x + 1, y - 1, w + 1, h - 1, tocolor ( 0, 0, 0, 255 ), scale, font, alignX, alignY, clip, wordBreak, false ) dxDrawText ( text, x - 1, y + 1, w - 1, h + 1, tocolor ( 0, 0, 0, 255 ), scale, font, alignX, alignY, clip, wordBreak, false ) dxDrawText ( text, x + 1, y + 1, w + 1, h + 1, tocolor ( 0, 0, 0, 255 ), scale, font, alignX, alignY, clip, wordBreak, false ) dxDrawText ( text, x - 1, y, w - 1, h, tocolor ( 0, 0, 0, 255 ), scale, font, alignX, alignY, clip, wordBreak, false ) dxDrawText ( text, x + 1, y, w + 1, h, tocolor ( 0, 0, 0, 255 ), scale, font, alignX, alignY, clip, wordBreak, false ) dxDrawText ( text, x, y - 1, w, h - 1, tocolor ( 0, 0, 0, 255 ), scale, font, alignX, alignY, clip, wordBreak, false ) dxDrawText ( text, x, y + 1, w, h + 1, tocolor ( 0, 0, 0, 255 ), scale, font, alignX, alignY, clip, wordBreak, false ) dxDrawText ( text, x, y, w, h, color, scale, font, alignX, alignY, clip, wordBreak, postGUI ) end Link to comment
Other Languages Moderators Lord Henry Posted August 4, 2019 Other Languages Moderators Share Posted August 4, 2019 @yTheuSMyth não fique revivendo tópicos antigos. Crie seu próprio tópico na seção adequada de acordo com as regras. Link to comment
Recommended Posts