Ir para conteúdo

-- Please Tutorial --


eduardo190696

Posts Recomendados

Bom não sei se estou na seção correta se não estiver pfv mova para a certa.

 

Eu n quero um script eu quero um tutorial e.e pq se eu fica pedindo scripts nunca vou conseguir nada sózinho

 

eu estou criando um pet system em talkaction e preciso aprender a usar tabelas

 

exemplo :

 

table pets {

Dragon = ( Level = 10 )

Rat = ( Level = 1 )

}

 

basicamente seria isso agora meu script

 

function onSay(cid, words, param, itemEx)
local summons = getCreatureSummons(cid)     

       if getPlayerStorageValue(cid, 78552) == 1 then -- 1

       y = "Rat" -- Monstro que você quer
       l = 1 -- Level minimo para sumonar o Rat

               if getPlayerLevel(cid) >= l then -- 2

                       if(table.maxn(summons) < 1) then -- 3

                       x = doCreateMonster(y, getCreaturePosition(cid))
                       doConvinceCreature(cid, x)
                       doCreatureSay(cid, y ..", go!", 1)
                       doSendMagicEffect(getThingPos(getCreatureSummons(cid)[1]), 2)

                       else
                       doPlayerSendCancel(cid,"You can summon only 1 monster.")
                       return true
                       end -- 3

               else
               doPlayerSendCancel(cid,"You no have level for creat summon.")
               return true
               end -- 2

       else
       doPlayerSendCancel(cid,"Você não tem um Pet.")
       doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Você não tem um Pet.")
       end -- 1

return true
end

 

Bom vocês perceberam que o script começa com o level minimo

 

if getPlayerLevel(cid) >= l then -- 2

 

eu queria entender se tem como o script summonar o monster por level

 

exemplo :

 

se for menor igual a 1 o level do player summona o rat

MAS se

for maior que 1 e menor igual que 10 summona o Dragon

MAS se o level do player for maior que 10 sumone o que vem depois acho que deu pra entender né.

 

+ ou - assim

 

if getPlayerLevel(cid) >= monster.level then -- 2

 

mais oque eu teria que usar no lugar do monster.level

 

e para vocês entender o script vai ver o level do player e vai achar um menor ou igual que tenha na tabela

e se alguem puder me dar alguma dica para o script não ficar summonando o rat, tipo se for maior que o level que tem na tabela ele sumonar um que vem depois

 

a outra duvida é se tem como alguem me ajudar a fazer essa parte

doCreatureSay(cid, y ..", go!", 1)

falar o nome do monster

 

seria só isso obg

 

pfv ajudem

Editado por eduardobean
Link para o comentário
Compartilhar em outros sites

Como você quer aprender, darei um exemplo:

 

local config = {
[{0,1}] = "Rat",
[{2, 10}] = "Dragon",
[{11, 20}] = "Demon"
}

level = 11

for k,v in pairs(config) do
	if level >= k[1] and level <= k[2] then
		print(v)
	end
end

 

Use algum debugger para executar. Pode ser o scite ou o otscriptlive. Caso não tenha acesso a eles, use o site http://www.lua.org/demo.html

Vá alterando o valor de level e veja o que irá aparecer escrito. Bom proveito.

 

flw

Link para o comentário
Compartilhar em outros sites

bom intendi como funciona, mais a minha duvida agora é como eu vou fazer para que no lugar de level = 11 seja o level do player

 

assim ?

 

local config = {

[{0,1}] = "Rat",

[{2, 10}] = "Dragon",

[{11, 20}] = "Demon"

}

 

level = 11

 

for k,v in pairs(config) do

if getPlayerLevel >= k[1] and getPlayerLevel <= k[2] then

print(v)

end

end

 

eu intendi quase tudo só a parte do

 

for k,v in pairs(config) do

 

que n intendi direito

 

Mano ++REP pra vc OBRIGADO mesmo só me explcia certinho a parte do K e o V

Editado por eduardobean
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...