Jump to content

Stanley Sathler

MTA Contributors
  • Posts

    563
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by Stanley Sathler

  1. Você vai precisar trabalhar um pouco com matemática. Vamos lá: Qual a experiência máxima que o jogador pode atingir para subir de level? O progressBar trabalha, como anteriormente dito, com valores de 0 a 100. Logo, você precisa antes calcular: a cada uma unidade do progressBar, quanto será de experiência? Para tal, calculamos: - Supondo que o exp máximo p/ subir de level seja 200, calculamos: 200/100 = 2. Logo, a cada 2 (dois) de exp, o progressBar vai ganhar 1 (um) de unidade. -- @fileName: client.lua -- @description: esse arquivo necessita ser um client-sided function clientResourceStart( ) progressBar = guiCreateProgressBar( 0.8, 0.8, 0.1, 0.1, true, nil ) end addEventHandler( "onClientResourceStart", getRootElement(), clientResourceStart ) function clientResourceStop( ) destroyElement( progressBar ) end addEventHandler( "onClientResourceStop", getRootElement(), clientResourceStop ) addEvent("onGetExp", true) function addExp(exp) setElementData(localPlayer, "exp", exp) exp = exp/2 guiProgressBarSetProgress(progressBar, guiProgressBarGetProgress(progressBar) + exp) end addEventHandler("onGetExp", resourceRoot, addExp) Bom, esse é seu código geral. Agora, vamos supor que quando um jogador mata um outro jogador, este ganha 15 de experiência. Você vai usar esse código em um arquivo server-sided: -- @fileName: server.lua -- @description: esse arquivo necessita ser um server-sided addEventHandler("onGetExp", resourceRoot, function(attacker, weapon, bodypart, loss) -- source da funcao eh o jogador assassinado killPed(source, attacker, weapon, bodypart) triggerClientEvent("onGetExp", attacker, 15) -- 15 significa a exp ganha ao matar o jogador end) ----------------------------------------------- Isso é um código MUITO básico. Inúmeros detalhes precisariam ser adicionados como, por exemplo, a necessidade de se salvar a experiência do usuário usando setAccountData() toda vez que ele sair (uma vez que os dados salvos com setElementData() são perdidos quando o elemento sai ou é destruído). Outra necessidade é definir (usando guiProgressBarSetProgress()) o exp toda vez que o usuário entrar no jogo. Enfim, são muitas coisas que precisariam ser adicionadas. Outra: eu não sei se o código está 100% certo pois não testei. Escrevi um esboço. Se não entender de scripting você ficará um pouco perdido, é necessário se dedicar.
  2. Bom, existem duas opções: usar o DayZ descompilado e remover todas as referências dos zumbis e, concomitantemente, desenvolver todos os outros recursos inexistentes; ou recriar tudo do zero. Admito ser uma boa ideia, se eu tivesse tempo desenvolveria-a.
  3. Sou dono de um MTA:DayZ e posso garantir que, nem sempre quando se é vendido bases, o objetivo é lucrar com isso. VPS's custam caro, não dá pra ficar bancando R$ 50/60 todo mês só para proporcionar diversão aos outros. Vendo bases e não sou mercenário, tão pouco "quero ficar rico". Aliás, ninguém fica rico sendo dono de servidor no Multi Theft Auto.
  4. Renkon, I tried, but are you sure that is this? I don't know, seems that using 0, 0, 0, the sky becomes very dark. GTA's night is like this?
  5. Hello guys, I'm needing to set a night to my server (normal night, like GTA:SA) using setSkyGradient(). Could someone tell me what properties (topRed, topGreen, topBlue, bottomRed, bottomGreen, bottomBlue) should I use?
  6. Samyaza, vamos lá: @Compilado: scripts compilados são arquivos não editáveis, ou seja, são transformados numa espécie de "binário" e não podem ser editados com simples editores de texto. Compilamos um arquivo quando não queremos que alguém tenha acesso ao código mas que ainda sim possa desfrutar do uso do recurso. É crime se houver uma licença legal em cima, mas licenciado ou não, ainda existem as questões éticas. ---------------------------------------------------- @Carro não funcionar: bom, você não consegue transferir os ítens para os carros spawnados porque para acessar o "inventário" de um ítem, é criado um colshape em cada ítem que pode ser acessado (isso inclui jogadores, veículos e ítens do chão). Quando se spawna um veículo, um colshape não vem junto a ele e, portanto, não se torna acessível de forma que se possa transferir ítens seus p/ o veículo. Agora, nessa questão de dar ítem, você pode dar ítens para qualquer jogador usando setElementData(). -------------------------------------------------- @Spawn: bom, os resources funcionam da seguinte forma: quando zipados, eles não podem estar, por exemplo, na seguinte estrutura: resource.zip > resource > meta.xml [supondo que "resource" é uma pasta]. O meta.xml deve estar sempre na pasta raíz, ou seja, resource.zip > meta.xml. Com o meta.xml você seta os diretórios de todos os outros arquivos (podendo escolher colocá-los em pastas ou não, mas o meta.xml deve sempre estar na pasta raiz). No caso, esse "spawn_with_dependencies" provavelmente continha dois resources dentro: killmessages e spawn. Você fez praticamente certo: deixar ambos (killmessages e spawn) dentro da pasta resources. Após extrair, você pode excluir o "spawn_with_dependencies" pois ele não é um resource e, os resources que haviam lá dentro, você já transferiu pra pasta /resources. ---------------------------------------------------- Por fim, os erros relativos à compilação indicam justamente que ele está SIM compilado. O erro ocorre porque o MTA passou a adotar um novo sistema de compilação, e a mensagem informa que o antigo irá parar de funcionar e manda você compilar os arquivos outra vez usando a ferramenta correta (luac.multitheftauto.com). O DayZ foi compilado usando o sistema antigo, e o MTA informa justamente que ele deve ser recompilado considerando que você é o criador do resource. Como não é, você não pode descompilar algo compilado e, para "compilar pela nova ferramenta", você precisaria de algo descompilado.
  7. Você usou o for de forma totalmente incorreta, Vodka. É facilmente perceptível que você copiou os scripts de exemplo daqui. Você confundiu as coisas. Existem dois exemplos, um que modifica o Bullet e outro que reseta tudo (define todos os valores padrões novamente). Você simplesmente uniu todos em um código só. Além do mais, se notar, no loop usado na linha 2, você usou setModelHandling quando na verdade é getModelHandling. Você quer aumentar a velocidade do veículo e, para tal, é necessário que se saiba a propriedade a ser usada no setModelHandling() (2º argumento) para tal. Logo, você escreverá somente uma linha: addEventHandler("onResourceStart", resourceRoot, function() setModelHandling(id_do_veiculo, propriedade_da_velocidade, valor_da_propriedade) end)
  8. Samyaza, Antes de mais nada, seja muito bem-vindo à comunidade brasileira/portuguesa do MTA. Vejo que parece um pouco perdido. Veio do SA:MP? Se sim, já mexeu com Pawn? Tudo nos servidores são programados e funcionam de acordo com a vontade do programador. Tudo que quer, pode fazer com Lua (aqui não usamos Pawn). O principal problema é que o DayZ é um gamemode que foi desenvolvido e, após liberado, sofreu compilação não permitindo assim qualquer edição (não as que você deseja pelo menos). Se quer ser correto, não poderá fazer o que deseja com seu DayZ. Agora, se optar por uma versão descompilada, então terá de usar Lua para criar todas essas funções. O carro não anda porque, assim que acessa um veículo no DayZ (apenas no DayZ), é realizado uma checagem para ver se o combustível é suficiente. Carros spawnados não possuem gasolina, portanto, não andam.
  9. Oh my god, It's TOTALLY AMAZING. Well done!
  10. Olá Biel, Antes de mais nada, seja bem-vindo à comunidade MTA e, em especial, à comunidade brasileira/portuguesa. Nós do MTA não trabalhamos com Pawn, mas sim com Lua. A documentação completa você encontra aqui: https://wiki.multitheftauto.com/
  11. A princípio, pensei que pudesse ser algum problema relativo ao crack (cogitando você usar uma versão pirata do GTA:San Andreas). No entanto, como relatou, se o GTA abre normalmente o problema não é esse. Já tentou reinstalar o MTA:SA? Sugiro pedir ajuda também aqui.
  12. Did you try change "load" variable name to another name? I don't know, but seems "load" is a reserved name.
  13. If I'm not wrong, you can use getElementsByType("gui") or something like this. I don't remember exactly, but I think that already saw this.
  14. You didn't add the image format. Look: guiCreateStaticImage ( 0, 0, screenW, ScreenH, "images/logoscreen") The file format is missing. You should use logoscreen.png (or .jpeg, .gif, anyway, the file format).
  15. Oh god, it looks amazing! Thanks a lot, you made a fucking great work!
  16. Account suspended, revolution-scripts.com isn't working anymore. Well, it's really sad it work only on local servers, but the idea is great and very, very useful.
  17. DayZ descompilado né, malandrão? Conheeeeeço, haha. Cara, só substituir a função "playSound()" presente no segundo código apresentado pelas linhas do primeiro código. Mais ou menos assim: if itemName == "repairvehicle" then local col = getElementData(getLocalPlayer(), "currentCol") triggerServerEvent("repairVehicle", getLocalPlayer(), getElementData(col, "parent")) local soundX,soundY,soundZ = getElementPosition(getLocalPlayer()) local som = playSound3D("sounds/repair.mp3", soundX, soundY, soundZ) setSoundMaxDistance( som, 30 ) disableMenu() return end Acho que isso funciona. Nomeei as variáveis como "soundX, soundY e soundZ" pra não correr o risco de dar conflito com qualquer outra ocorrência de variáveis com o nome "x,y,z" que possa existir no código.
  18. because they are lazy to make mta on mobile phones I really can't believe you said that. "Lazy", boy? Hope you don't understand what "lazy" word means. Anyway, as Jaysds1 said, I don't think that MTA Team has enough developers free for work on this at the moment.
  19. "Somos responsáveis por inovar todo o gamemode DayZ". Vocês "inovaram" todo o gamemode mas não são capazes de criar um recurso "tão simples"? Acho que no fundo, não fizeram mais do que traduzir os iteNNNNNNNNNs (por favor, as pessoas precisam aprender que na língua portuguesa, item, no plural, se escreve com a letra N). Eu iria ajudar, mas os achei muito convencidos. - POR QUE NÃO ARRUMAR O SCRIPT? Acredito eu que o principal problema esteja no tempo de resposta entre o servidor e o banco de dados. O problema ocorre porque, num período de tempo muito curto, o dado é enviado duas vezes ao banco de dados¹ "duplicando" os ítens. O QUE FAZER? Pelo que eu saiba, o DayZ já vem - por padrão - com um recurso semelhante ao pedido na postagem, onde há um tempo mínimo que, ao não ser respeitado, é mostrado uma mensagem dizendo quase a mesma coisa: "Bug items will result in a ban" (ou uma frase parecida, enfim). Por fim, não vale a pena ajudar porque vocês baixaram SIM a versão descompilada. E aqui nós não damos suporte às versões pirateadas - pelo menos eu não dou. ¹ Todo o gamemode trabalha com banco de dados. Todos os dados são armazenados via SQLite.
  20. Só desabilitar o VoteManager e criar um outro recurso que inicia os mapas conforme desejado.
  21. DNL já disse tudo. 1) Setas azuis: para mostrar/esconder o radar, use a função showPlayerHudComponent(); 2) Setas laranjas: não entendi bem. O que quer que ocorra? Pelo que descreveu, parece que é a mesma função que as setas azuis; 3) Use dois guiCreateStaticImage(). Um para cada "tema", e chame-os quando o botão correspondente for clicado. Para chamar funções após clicar em botões, você precisa usar o evento onClientGUIClick.
  22. Guess your table wasn't declared. You need use: label = {} -- this line means the table is being declared label[1] = guiCreateLabel(20, 97, 224, 33, "Name : ", false, window[1]) guiSetFont(label[1], "default-bold-small") guiSetText (label[1] , getPlayerName(localPlayer))
  23. Bom pessoal, serei muito, mas muito breve: Tenho o código do DayZ aqui. O meu objetivo não é criar um DayZ como todos os outros, mas adicionar muitas outras funcionalidades. Quando me refiro à "outras funcionalidades", não me refiro a adicionar skins, adicionar um mod no radar do jogo, adicionar veículos e pronto. Tenho por objetivo desenvolver meio que uma mesclagem de WarZ com DayZ (quem quiser mais informações sobre os objetivos, contate-me). Porém, não tenho recurso financeiro suficiente disponível no momento para bancar um servidor (que, de início, poderia girar em torno dos 16 players). Logo, procuro alguém que tenha interesse/disposição de pagar um servidor e, juntos, rodarmos um servidor de DayZ (parceria útil para quem anda pensando em abrir um servidor mas não tem conhecimentos em Lua). Tudo que preciso é disso, dinheiro. Prefiro dar detalhes somente para interessados, para não expôr minhas ideias evitando que estas sejam copiadas. Quem tiver interesse, só enviar MP.
  24. I'm going to the army now, so I'm having not much time to play MTA But I normally read some things here when have time.
  25. Oh, it's amazing Nilesh! You made a great work.
×
×
  • Create New...