gostei, outra coisa... pra ficar diferente do meu coloca pro player que tiver usar o comando:
/ir house
ir para a casa dele
Por drakylucas, 12 de jul. de 2012 em Actions e Talkactions
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

gostei, outra coisa... pra ficar diferente do meu coloca pro player que tiver usar o comando:
/ir house
ir para a casa dele
info
Grupo: Visconde
Registrado: 12/09/10
Posts: 416
Reputação: +160
Char no Tibia: Draky Lucas

gostei, outra coisa... pra ficar diferente do meu coloca pro player que tiver usar o comando:
/ir house
ir para a casa dele
demorei pra posta pq o xtibia ta caindo =/
atualizado conforme sua dica ![]()
vlw ae... ow vei da uma ideia de algum sistema ae kaposaops.. ta tenso ser criativo em tibia =x
Editado Julho 12 por DrakyLucas
info
Grupo: Infante
Registrado: 13/10/08
Posts: 1.6k
Reputação: +420
Char no Tibia: Demonbholder

Ideia legal, mas o código pode ser melhorado
Parabéns pelo script
Editado Julho 13 por Demonbholder
info
Grupo: Visconde
Registrado: 12/09/10
Posts: 416
Reputação: +160
Char no Tibia: Draky Lucas

vlw.. vou tenta (pq ñ sei se minha ideia irá funcionar) dar uma limpada no script... é que originalmente eu fiz com poucas verificações, sem house, sem muitas mensagens, entao tava codigo limpo, porem ao colocar as verificações de usar ou nao level, custo, etc começou a sujar o codigo nas mensagens =/...
vo tenta dar uma limpada e se consegui posto aqui, e se nao consegui edito esse post falando que não consegui kk
EDIT: Não consegui =/... nada que mude o código significativamente..
apenas mudei o começo do script, para ficar um pouco mais organizado o entendimento.. mas nada que mude significativamente =/
de:
if param == "" or (destino == nil and string.lower(param) ~= "house") then -------------- Verificar destino existente if destino == nil and param ~= "" and param ~= "house" then doPlayerSendTextMessage(cid,19,"Destino Invalido \n\n") end
if destino == nil and string.lower(param) ~= "house" then -------------- Verificar destino existente if param ~= "" then doPlayerSendTextMessage(cid,19,"Destino Invalido \n\n") end
da uma ajuda ae pa diminui a parte das 4 verificações ?(custo = true, level = true) em diante?? é que as mensagens não da para serem colocadas em uma tabela por causa do for, ele acusaria o V e o K de nil caso estivesse setando em uma tabela =/
Pesso que continuem a me criticar, somente assim poderei melhorar ![]()
Editado Julho 13 por DrakyLucas
info
Grupo: Visconde
Registrado: 12/09/10
Posts: 416
Reputação: +160
Char no Tibia: Draky Lucas
bom, o sistema é parecido com o do Bronson Server (/ir), quem ja jogou sabe mais ou menos como é, porém totalmente configuravel.
eu fiz ele, e só depois vi que havia um no forum com a mesma funçao
http://www.xtibia.co...-talk-para-vip/ <-- créditos Vodkart
esse é meu sistema, como poderão ver, está parecido com o sistema do Vodkart porem esse é mais configuravel, podendo configurar skulls, leveis (minimos e maximos), ir para house (dica do vodkart), etc.
em Data-> talkactions -> talkactions.xml
abaixo de
coloque
agora em data->talkactions->scripts crie uma pasta chamada custom, dentro dessa pasta crie um arquivo chamado travel.lua e coloque isso:
--[[ **** <CRÉDITOS> **** ]] -- -- 100% DrakyLucas -- Exclusivo XTIBIA -- Não postar em outros fórums sem a devida autorização -- Não comercializar esse script --[[ **** </CRÉDITOS> **** ]] -- -- PS: Utilizavel com Premium Account, para utiliza-lo com vip-system, fazer as modificações adequadas. local config = { pkRed = true, -- true para RED poder teleportar, false para não poder. pkBlack = false, -- true para BLACK poder teleportar, false para não poder. premium = true, -- true se precisar de premium, false se free poder teleportar. usaLevel = true, -- true para necessitar de level para viajar, false para não precisar de level custo = false, -- true para custar a viagem protectionzone = false, -- tem que estar em protection-zone house = true, -- se pode utilizar o /travel house } -- colocar apenas letras minusculas --[[ Caso esteja configurado acima que não precisa de level, por exemplo, deixe qualquer valor nos campos de level que ele não será mostrado a nenhum jogador. --]] local destinos = { ["cassino"] = {levelMinimo = 1, levelMaximo = 999999, preco = 1000, posicao = {x = 38,y = 84,z = 7}}, ["narnia"] = {levelMinimo = 10, levelMaximo = 15, preco = 100000, posicao = {x = 42,y = 84,z = 7}}, ["castelo de hogwarts"] = {levelMinimo = 6, levelMaximo = 500, preco = 1000000, posicao = {x = 47,y = 84,z = 7}}, } function onSay(cid, words, param, channel) local destino = destinos[string.lower(param)] ----------------- verificar existencia do destino que player digitou if destino == nil and string.lower(param) ~= "house" then -------------- Verificar destino existente if param ~= "" then doPlayerSendTextMessage(cid,19,"Destino Invalido \n\n") end --------------- --------------- Mostrar Destinos existentes doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"Utilize /travel e o nome do lugar na frente.") if(getHouseByPlayerGUID(getPlayerGUID(cid)) ~= nil and config.house == true)then doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"Você tem uma casa, experimente /travel house") end if config.usaLevel == true and config.custo == true then -- precisa de level e dê custo doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"Local - Level Minimo - Level Maximo - Preço") for k,v in pairs(destinos) do doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,k .. " - " .. v.levelMinimo .. " - " ..v.levelMaximo.. " - " ..v.preco .. " gps") end elseif config.usaLevel == true and config.custo == false then -- precisa só de level doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"Local - Level Minimo - Level Maximo") for k,v in pairs(destinos) do doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,k .. " - " .. v.levelMinimo .. " - " ..v.levelMaximo) end elseif config.usaLevel == false and config.custo == true then -- precisa só de custo doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"Local - Preço") for k,v in pairs(destinos) do doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,k .. " - " ..v.preco .. " gps") end else -- não precisa de level e nem de custo doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"Local") for k,v in pairs(destinos) do doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,k) end end --------------- return true end ----------------- if config.premium == true and not isPremium(cid) then return doPlayerSendTextMessage(cid,19,"Você precisa ser premium account para usufruir deste comando.") end if getCreatureCondition(cid, CONDITION_INFIGHT) == true then return doPlayerSendTextMessage(cid,19,"Você não pode viajar com fight.") end if config.pkRed == true and getPlayerSkullType(cid) == SKULL_RED then return doPlayerSendTextMessage(cid,19,"Você não pode viajar com RED SKULL.") end if config.pkBlack == true and getPlayerSkullType(cid) == SKULL_BLACK then return doPlayerSendTextMessage(cid,19,"Você não pode viajar com BLACK SKULL.") end if config.protectionzone == true and getTilePzInfo(getCreaturePosition(cid)) == false then return doPlayerSendTextMessage(cid,19,"Você não pode viajar fora da protection-zone.") end if string.lower(param) == "house" then if(getHouseByPlayerGUID(getPlayerGUID(cid)) ~= nil )then doSendMagicEffect(getCreaturePosition(cid),27) doTeleportThing(cid, getHouseInfo(getHouseByPlayerGUID(getPlayerGUID(cid))).entry) doSendMagicEffect(getCreaturePosition(cid),27) doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"Você viajou para sua casa") return true else return doPlayerSendTextMessage(cid,19,"Você não tem uma casa em seu nome.") end end if(getPlayerLevel(cid) < destino.levelMinimo or getPlayerLevel(cid) > destino.levelMaximo) and config.usaLevel == true then return doPlayerSendTextMessage(cid,19,"Você tem que estar entre os leveis " .. destino.levelMinimo.. " e " .. destino.levelMaximo .. " para poder ir a " .. string.lower(param) .. ".") end if(getPlayerMoney(cid) < destino.preco)and config.custo == true then return doPlayerSendTextMessage(cid,19,"Essa viagem custa " .. destino.preco.. " gps e você só tem " .. getPlayerMoney(cid) .. ".. Consiga dinheiro e tente novamente.") end if config.custo == true then doPlayerRemoveMoney(cid, destino.preco) end doSendMagicEffect(getCreaturePosition(cid),27) doTeleportThing(cid,destino.posicao) doSendMagicEffect(getCreaturePosition(cid),27) doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,"Você viajou para ".. string.lower(param)) return true endacho que nem preciso explicar aqui como configura, ja deixei comentado no script e é facil o entendimento da configuração.
Gostou? COMENTE!
Editado Julho 13 por DrakyLucas