-
Posts
3,875 -
Joined
-
Days Won
67
Everything posted by DNL291
-
Eu costumo usar o runcode. run getCameraMatrix() Pra andar com a camera no estilo do Map editor você pode utilizar o resource freecam, só usar as funções exportadas e ativar in-game, pelo próprio runcode dá pra fazer.
-
Pra quem nunca programou o primeiro passo é estudar lógica da programação, algoritmos e treinar alguns exemplos para iniciantes. Se seu foco é o MTA, Lua é a melhor linguagem, tendo uma experiência longa você também irá aprender sobre banco de dados e um pouco de algumas linguagens, como talvez criar algum projeto front-end, ex: um site básico, fazer integração com o servidor. Lembrando que Python e Lua não tem muita diferença, e Lua dentro do MTA provavelmente será bem mais em conta pra você.
-
Sim dá pra ter um ganho vendendo scripts. Sim, entre essas Python é a melhor para começar, acho até que seria o equivalente a você estudar Lua. Dominando Lua a um nível mais avançado você pode aprender qualquer outra linguagem.
-
1 - Para começar exige um conhecimento em programação caso contrário você vai ter muita dificuldade. Se você já entende um pouco sim, são links úteis, embora o recomendado seja você estudar as sintaxes da linguagem antes pois nada adianta você memorizar as funções e não saber utilizá-las. Se ainda não viu, leia este tópico: A segunda pergunta não ficou clara, o que você quis dizer com "viver de scripts" ?
-
A função 'createZomieForPlayer' é chamada quando? Se for no evento "onResourceStart" é esse o motivo do aviso. O código do lado server carrega antes do cliente, e quando utiliza triggerClientEvent assim que o lado server inicia ocorre esse tipo de erro. Isso também pode ser por algum erro no lado cliente como já foi falado.
-
You are mixing server-side functions with a client-side script. These functions (which you included in the code) are server-side only: getAccountName getPlayerAccount isObjectInACLGroup aclGetGroup
-
Client: No meta vai esses dois, o server e o client.
-
Mostrou algo no debug? Digite no console o comando info nome_do_resource e poste aqui o que mostra. Testei seu código e o comando /ped funcionou.
-
O script funciona, só havia um erro no arquivo meta que o Lord Henry já mostrou.
-
Esse não é o código do seu Hud, tudo que tem aí é getPlayerMoney cheio de gambiarras, sem a função convertNumber (que eu mostrei no meu 1º post). Desse jeito fica mais difícil ajudar... Se você testar meu último código verá que é o mesmo que esse mas funcionando. Assim você já quer script pronto.
-
Isso que eu faria, mas se as markers pra abrir o painel forem só 2 acho que seria mais simples pra ele duplicar os resources com os eventos adaptados para não ter conflitos. Senão o melhor realmente seria adaptar o código para várias markers.
-
Fiquei confuso pois ele disse duplicar as músicas, acho que não foi o que entendi quis ele quis dizer então. Talvez o problema seja depois que toca a primeira, e ocorre na verdade conflito pelo script não ser adaptado para funcionar para várias markers. Para funcionar dessa forma o que ele precisa fazer é tocar o som do jogador (DJ) e salvar ele para a marker que o painel abriu, e tudo mais seguindo essa ideia - ao remover verificar qual a marker que o player está, verificando se existe o sound-element, ao tocar o mesmo, aumentar volume, informações no lado cliente, etc.
-
Eu testei aqui e não teve nenhuma duplicação. playSound3D foi chamada 1x como esperado.
-
Tem como, até dando Ctrl + C - Ctrl + V você só precisa saber aonde colocar. Mostre como está seu código.
-
O que você irá precisar: createMarker "onMarkerHit" -- ou "onClientMarkerHit" createVehicle setElementModel isElement destroyElement setPedAnimation createMarkerAttachedTo -- código: wiki.multitheftauto.com/wiki/CreateMarkerAttachedTo Também pesquise pelo fórum que você encontrará tópicos relacionados.
-
Audio = {} local merkers = { createMarker(299.12530517578, -1816.7014160156, 4.3,"cylinder", 2, 0, 255, 0, 100), --- PRAIA createMarker(299.12530517578, -1816.7014160156, 4.3,"cylinder", 2, 0, 255, 0, 100), } for i=1, #merkers do setElementData( merkers[i], "tocarSom_marker", true, false ) end function mostrarpainel(thePlayer) if not getElementData(source, "tocarSom_marker") or getElementType(thePlayer) ~= "player" then return end if not Audio[thePlayer] then triggerClientEvent( thePlayer, "Dj", getRootElement() ) end end addEventHandler("onMarkerHit", resourceRoot, mostrarpainel) addEvent ( "CrioDJ", true ) addEventHandler ( "CrioDJ", root, function ( Link ) if ( Link ) then if ( isElement ( Audio [ source ] ) ) then local x, y, z = getElementPosition ( Audio [ source ] ) destroyElement ( Audio [ source ] ) end local x, y, z = getElementPosition ( source ) Audio [ source ] = createMarker(x-0.5, y+0.5, z - 1,"cylinder", 1, 0, 255, 255, 0) triggerClientEvent ( root, "CrioDJ", source, source, Link ) triggerClientEvent(root, "Djay", root, getPlayerName( source ) ) end end) addEvent ( "VolumealteradoDJ", true ) addEventHandler ( "VolumealteradoDJ", root, function ( to ) triggerClientEvent ( root, "VolumeDJ", source, source, to ) end ) addEvent ( "DestruiDJ", true ) addEventHandler ( "DestruiDJ", root, function ( ) if ( isElement ( Audio [ source ] ) ) then destroyElement ( Audio [ source ] ) triggerClientEvent ( root, "DestruiDJ", source, source ) end end ) Tenta isso
-
function collectLeite(thePlayer) if getElementType(thePlayer) == "player" then local g_MilkBuckets = tonumber( getElementData(thePlayer,"MilkBuckets") ) or 0 if type(g_MilkBuckets) ~= "number" then return end if g_MilkBuckets < 10 then setElementData(thePlayer,"MilkBuckets", g_MilkBuckets + 1) outputChatBox("#727272You have collected #ffff00 " ..tostring((g_MilkBuckets + 1)).. "/10 Milk Buckets", thePlayer, 255, 255, 255, true) elseif g_MilkBuckets == 10 then outputChatBox("#727272You already have 10/10 Buckets of Milk", thePlayer, 255, 255, 255, true) else outputChatBox( "Unknown error", thePlayer, 255, 0, 0 ) end end end addCommandHandler( "collect", collectLeite ) @LucasDSNL
-
Sem ter o código do resource ninguém vai poder ajudar. Mostre o código aqui.
-
Ou também poderia optar por um resource que iria iniciar todos resources do servidor, permitindo que isso acontecesse após o resource de proteção ser iniciado.
-
Responda essa pergunta @gbmv33
-
alvo, "tempo:prisao", valTimer Nessa ordem. Afinal, se fosse na key você nao iria conseguir retornar o valor do tempo.
-
Sim, então seria setElementData armazenando o tempo "valTimer". Como ficaria no código @Renazz
-
A resposta tá no meu post acima @Renazz valor booleano = true/false Então perguntei se é isso que fará mostrar o tempo de prisão do jogador ou valTimer ? Responda isso