
Histórico de Curtidas
-
xTats deu reputação a xWhiteWolf em Slot Cassino [0.36~0.4]Olá pessoas, hoje vim trazer pra vocês um script que inicialmente fiz prum trabalho mas acabei gostando muito dele e decidi postar.
To meio que indo dormir porque daqui a pouquinho tenho aula então vai ser tudo bem rapido e se vcs tiverem alguma dúvida comentem aqui.
Primeiramente façam uma sala parecida com essa aqui:
Não precisa ser necessariamente assim, mas ela deve ter as 3 bolas, uma alavanca e um local pra botar o dinheiro pras apostas.
O sistema é baseado naqueles jogos de slot nos cassinos onde você aposta uma quantidade de dinheiro e se tirar 3 peças iguais você recebe o dobro do dinheiro apostado.
em actions/scripts crie um arquivo chamado cassino.lua e adicione o seguinte dentro dele:
Agora em data/actions/actions.xml adicione:
<action actionid="16541" script="cassino.lua"/>
Agora só botar a actionid na lever e configurar tudo de acordo com seu sv (as posições ali em pieces são as posições de cada peça, ou cada bola, se preferir.)
se quiser fazer várias salas é só copiar o código pra um cassino2.lua e registrar outra tag
<action actionid="16542" script="cassino2.lua"/>;
Tá tudo comentado no código então acho que dispensa uma explicação formal de como editar, espero que vocês gostem
Aqui tem um pequeno gif que o membro @eviltox nos forneceu:
Abraços do Lobo!
-
xTats deu reputação a xWhiteWolf em (Resolvido)Como eu faço o Sistema Training igual ao NTO BRlocal config = { number = 130, --- numero de salas firstPos = {x = 160, y = 54, z = 7}, --- pos da primeira sala (coloque a pos de onde o player irá ficar ao entrar) rangex = 11, --- distancia em X entre cada uma das pos de cada sala rangey = 12 --- distancia em Y entre cada uma das pos de cada sala } function onStepIn(cid, item, position, fromPosition) local room = nil for i = 0, (config.number - 1) do pos = {x = config.firstPos.x + (i * config.rangex), y = config.firstPos.y + (i * config.rangey), z = config.firstPos.z} if isWalkable(pos, true, true, true) then room = pos break end end if room ~= nil then doTeleportThing(cid, room) else doPlayerSendCancel(cid, "All rooms are full") doTeleportThing(cid, fromPosition) doSendMagicEffect(fromPosition, 2) end return true end coloca em movements por actionid/uniqueid e coloca esse action/unique no teleporte. Abraço
-
xTats deu reputação a xWhiteWolf em (Resolvido)[PEDIDO] MiniGame ~ Acerte o AlvoCrie um arquivo chamado 045 - Bird Hunt.lua em data/lib e coloque isso dentro dele:
agr crie um arquivo chamado seagul.lua em data/actions/scripts e coloque isso dentro dele:
a tag no actions.xml é só escolher um action/uniqueid e colocar na porta de entrada.
agr vá em data/movements/scripts e crie um arquivo chamado seagulmove.lua e coloque isso dentro dele:
Agora vc precisa criar um uniqueid/actionid e colocar a tag no movements.xml pra stepin e stepout e vc vai colocar em toda a fileira em que o player pode andar.
Eu terminei faz um tempão mas to bem ocupado com as coisas da facul e eu queria fazer um topico pra ele e tal explicando tudo certinho mas acho que vcs não vão ter problemas, no proprio script tem umas explicações.
A unica coisa que não fiz foi recompensa por tiro mas vc pode tanto adicionar na função que seta o storage pra adicionar dinheiro ao player:
mas dai vc pode tanto fazer como falei acima ou criar um npc que paga pela quantidade de pontos que você fez. Ex: faz 50 pontos vai lá e ele paga 100k, qnd fizer 55 ele paga 200k.. e assim por diante. Pra fazer isso é só pegar o storage recorde que está no movements, nele que vai ficar salvo seu best recorde do jogo.
-
xTats deu reputação a xWhiteWolf em (Resolvido)Sistema de Pesca quase pronto ajudanão é por nada não mas achei que a pessoa que fosse te ajudar seguiria meu modelo de algoritmo. Já que o vod praticamente ignorou meu código eu decidi fazer um script de pesca com base no que eu já havia feito;
não tem melhor ou pior, ambos devem funcionar e se vc já tá usando o dele, continue usando. O meu só tá nos moldes da minha linha de raciocínio anterior.
-
xTats deu reputação a xWhiteWolf em Comando !rank, HELP!@perfollgustavo olha, eu até consigo fazer uma gambiarra muito louca pra conseguir um rank usando essa função mas ia ser mais ou menos seguindo esse raciocinio aqui:
a gente sabe q na variavel str a gente tem algo nesse formato aqui
str = [[
Top 10 for Level:
1. GOD Wolf, 300
2. GM Icaro, 298
3. God Bless, 297
4. Night Wolf, 30
5. Night Wolf, 30
6. Night Wolf, 30
7. Night Wolf, 30
8. Night Wolf, 30
9. Night Wolf, 30
10. Night Wolf, 30
]]
eu ia usar uma função de pattern (provavelmente string.match) para caçar por instancias com god/gm no nome e aí deletar a linha inteira. Mas isso não é o suficiente, teriamos que pegar todas as linhas de baixo dessa linha e diminuir o numero da linha tendo este resultado aqui:
str = [[
Top 10 for Level:
1. Night Wolf, 30
2. Night Wolf, 30
3. Night Wolf, 30
4. Night Wolf, 30
5. Night Wolf, 30
6. Night Wolf, 30
7. Night Wolf, 30
]]
O problema é que essa função é muito engessada e nós estariamos gastando um processamento absurdo para ficar corrigindo, procurando e deletando strings, isso é muito ruim (e caro computacionalmente!)
Uma abordagem um pouco melhor seria parecida com o script do @Artur Henrique de usar queries.
Talvez tenha um erro ou outro nesse código pq eu fiz ele sem testar mas a lógica é essa