Ir para conteúdo
  • 0

Script De Ir Em X Lugar


Lucaswc15

Pergunta

Preciso de ajuda nesse script. Tipo, o player tem que falar (/ir Nevor) pra poder teleportar e eu queria que ele pudesse dar (/ir Nevor) e (/ir nevor).

 

 

function onSay(cid, words, param)

local config = {
pz = true, -- players precisam estar em protection zone para usar? (true or false)
battle = true, -- players deve estar sem battle (true or false)
custo = false, -- se os teleport irão custa (true or false)
need_level = true, -- se os teleport irão precisar de level (true or false)
premium = true -- se precisa ser premium account (true or false)
}

--[[ Config lugares]]--
local lugar = {
["Nevor"] = {
pos = {x=611, y=425, z=6},level = 1,price = 0},

}

--[[ Lista de Viagem (Não mexa) ]]--
if (param == "") then
local str = ""
str = str .. "Lugares para ir, diga /ir nome do lugar. \n\n"
doShowTextDialog(cid, 7724, str)
return TRUE
end


local a = lugar[param]
if not(a) then
doPlayerSendTextMessage(cid, 22, "Esse lugar não existe, verifique se digitou o nome correto. Obs: diferencie maíusculas de miníusculas!")
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
return TRUE
elseif config.premium == true and not isPremium(cid) then
doPlayerSendTextMessage(cid, 21, "Apenas players com Premium Account podem se teleportar.")
return TRUE
elseif config.battle == true and getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE then
doPlayerSendTextMessage(cid, 22, "Você nao pode se teleportar com battle.")
return TRUE
elseif config.need_level == true and getPlayerLevel(cid) < a.level then
doPlayerSendTextMessage(cid, 22, "Desculpe,Voce não tem level. voce precisa "..a.level.." level ou mais para ser teleportado.")
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
return TRUE
elseif config.custo == true and doPlayerRemoveMoney(cid, a.price) == FALSE then
doPlayerSendTextMessage(cid, 22, "Desculpe,voce nao tem dinheiro suficiente. Voce precisa "..a.price.." gp para ser teleportado.")
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
return TRUE
end
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_BIGCLOUDS)
doTeleportThing(cid, a.pos)
doSendMagicEffect(a.pos, 40)

doPlayerSendTextMessage(cid, 25, "\n " .. param .. "")
return TRUE
end

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

function onSay(cid, words, param)

 

local config = {

pz = true, -- players precisam estar em protection zone para usar? (true or false)

battle = true, -- players deve estar sem battle (true or false)

custo = false, -- se os teleport irão custa (true or false)

need_level = true, -- se os teleport irão precisar de level (true or false)

premium = true -- se precisa ser premium account (true or false)

}

 

--[[ Config lugares]]--

local lugar = {

["Nevor"] = {

pos = {x=611, y=425, z=6},level = 1,price = 0},

 

["nevor"] = {

pos = {x=611, y=425, z=6},level = 1,price = 0},

 

}

 

--[[ Lista de Viagem (Não mexa) ]]--

if (param == "") then

local str = ""

str = str .. "Lugares para ir, diga /ir nome do lugar. \n\n"

doShowTextDialog(cid, 7724, str)

return TRUE

end

 

 

local a = lugar[param]

if not(a) then

doPlayerSendTextMessage(cid, 22, "Esse lugar não existe, verifique se digitou o nome correto. Obs: diferencie maíusculas de miníusculas!")

doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)

return TRUE

elseif config.premium == true and not isPremium(cid) then

doPlayerSendTextMessage(cid, 21, "Apenas players com Premium Account podem se teleportar.")

return TRUE

elseif config.battle == true and getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE then

doPlayerSendTextMessage(cid, 22, "Você nao pode se teleportar com battle.")

return TRUE

elseif config.need_level == true and getPlayerLevel(cid) < a.level then

doPlayerSendTextMessage(cid, 22, "Desculpe,Voce não tem level. voce precisa "..a.level.." level ou mais para ser teleportado.")

doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)

return TRUE

elseif config.custo == true and doPlayerRemoveMoney(cid, a.price) == FALSE then

doPlayerSendTextMessage(cid, 22, "Desculpe,voce nao tem dinheiro suficiente. Voce precisa "..a.price.." gp para ser teleportado.")

doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)

return TRUE

end

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_BIGCLOUDS)

doTeleportThing(cid, a.pos)

doSendMagicEffect(a.pos, 40)

 

doPlayerSendTextMessage(cid, 25, "\n " .. param .. "")

return TRUE

end

Link para o comentário
Compartilhar em outros sites

  • 0

Ou faiz assim, no nome da cidade poem ["NEVOR"],

E antes disso:

local a = lugar[param]

Poem isso:

param = string.upper(param)

 

Essa função string.upper é de manipulação de string, ela faz com que o parametro que o player passou fique tudo maiusculo. Exemplo:

Player say: /i NeVoR

Quando chegar na parte do "string.upper", o param = NEVOR.

É isso aew. happy.png

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...