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
5
1.2k
19 de abril de 2012 às 22:37
info
Grupo: Conde
Registrado: 30/06/11
Posts: 631
Reputação: +371
Char no Tibia: Warrior of Mort

20 de abril de 2012 às 10:49
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. ![]()
info
Grupo: Cavaleiro
Registrado: 13/11/11
Posts: 190
Reputação: +20
Char no Tibia: Sweesh

21 de abril de 2012 às 09:25
Ae Viilden eu não queria repetido mas valeu por tentar ajudar.
Ae Jhon rep +
Dúvida Sanada.
Editado Abril 21 por Lucaswc15
info
Grupo: Conde
Registrado: 17/07/11
Posts: 705
Reputação: +108

21 de abril de 2012 às 14:17
Tópico movido para a área de Dúvidas Sanadas.



info
Grupo: Cavaleiro
Registrado: 13/11/11
Posts: 190
Reputação: +20
Char no Tibia: Sweesh
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