Ir para conteúdo

RafaelMan

Campones
  • Total de itens

    5
  • Registro em

  • Última visita

Sobre RafaelMan

Informações

  • Char no Tibia
    Ises Ajah
  • Forma que conheci o xTibia
    Sites de Busca
  • Sou
    OT-Admin

RafaelMan's Achievements

  1. Tem como você definir o tempo que o player vai permanecer online. No arquivo config.lua procure o atributo: idleKickTime = 15 * 60 * 1000 Do jeito que está configurado, o player será kickado depois de 15 minutos. Se você quer mudar o tempo para 01 hora, troque o 15 por 60 (1 hora = 60 minutos). Partindo daí, você pode aumentar ou diminuir o tempo para quanto quiser. O meu stopAttackingAtExit = false está assim. stopAttackingAtExit significa "pare de atacar quando sair". Já para o player parar de atacar após um certo tempo, não sei =/
  2. Para usar a função digite: !whois Nome do Player Irá aparecer uma janela com todas as informações: nome, level, vida, mana, ml e skills. Está dizendo que o arquivo whois.lua não foi encontrado. Você criou ele na pasta data/talkactions/scripts/??? Eu utilizo o tfs 0.4. Olhe a estrutura dos seus arquivos na pasta de talkactions, veja como eles estão declarados e faça da mesma maneira.
  3. Eu fiz este script! Ele está funcionando no tfs 0.4.
  4. Acabei de postar esta função mostrando também os skills do player aqui ~> [Pedido] Talk Spy Para que apenas jogadores premium consigam visualizar, utilize esta função: function onSay(cid, words, param, channel) -- Verifica se há parâmetro no comando if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Digite o nome do player. Ex.: !Whois Nome do Player") return true end -- Verifica se o player é premium if(getPlayerPremiumDays(cid) == 0) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Você precisa ser Premium Account (VIP) para usar este comando!") return true end -- Busca as informações do player de acordo com o nome (param) digitado player = db.getResult("SELECT name, level, maglevel, healthmax, manamax FROM players WHERE UPPER(name) = UPPER('".. param .."')") -- Verifica se aquele nome/player existe if(player:getID() == -1) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Nome '".. param .."' inválido. Ex.: !Whois Nome do Player") return true end -- Monta o texto que vai aparecer na tela local txt = "Nome: " .. player:getDataString("name") .. "\n" txt = txt .. "Life: " .. player:getDataInt("healthmax") .. "\n" txt = txt .. "Mana: " .. player:getDataInt("manamax") .. "\n\n" txt = txt .. "Magic lvl: " .. player:getDataInt("maglevel") .. "\n" local playerid = getPlayerGUIDByName(param) -- Busca skill club local club = db.getResult("SELECT value FROM player_skills WHERE skillid = 1 AND player_id = ".. playerid):getDataInt("value") txt = txt .. "Club: " .. club .. "\n" -- Busca skill sword local sword = db.getResult("SELECT value FROM player_skills WHERE skillid = 2 AND player_id = ".. playerid):getDataInt("value") txt = txt .. "Sword: " .. sword .. "\n" -- Busca skill axe local axe = db.getResult("SELECT value FROM player_skills WHERE skillid = 3 AND player_id = ".. playerid):getDataInt("value") txt = txt .. "Axe: " .. axe .. "\n" -- Busca skill distance local distance = db.getResult("SELECT value FROM player_skills WHERE skillid = 4 AND player_id = ".. playerid):getDataInt("value") txt = txt .. "Distance: " .. distance .. "\n" -- Busca skill shielding local shielding = db.getResult("SELECT value FROM player_skills WHERE skillid = 5 AND player_id = ".. playerid):getDataInt("value") txt = txt .. "Shielding: " .. shielding .. "\n" -- Abre uma janela com as informações acima doPlayerPopupFYI(cid, txt) end No talkactions.xml adicione: <talkaction words="!whois" event="script" value="whois.lua"/> Para usar a função digite: !whois Nome do Player Irá aparecer uma janela com todas as informações: nome, level, vida, mana, ml e skills. A função está toda comentada. Você pode alterar/excluir as informações que quiser. Para utiliar o comando a cada X segundos, vou ficar devendo =/
  5. Fiz o código aqui.. Testei e ficou perfect Cria um arquivo na pasta data/talkactions/scripts com o nome whois e cole o código abaixo: function onSay(cid, words, param, channel) -- Verifica se há parâmetro no comando if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Digite o nome do player. Ex.: !Whois Nome do Player") return true end -- Busca as informações do player de acordo com o nome (param) digitado player = db.getResult("SELECT name, level, maglevel, healthmax, manamax FROM players WHERE UPPER(name) = UPPER('".. param .."')") -- Verifica se aquele nome/player existe if(player:getID() == -1) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Nome '".. param .."' inválido. Ex.: !Whois Nome do Player") return true end -- Monta o texto que vai aparecer na tela local txt = "Nome: " .. player:getDataString("name") .. "\n" txt = txt .. "Life: " .. player:getDataInt("healthmax") .. "\n" txt = txt .. "Mana: " .. player:getDataInt("manamax") .. "\n\n" txt = txt .. "Magic lvl: " .. player:getDataInt("maglevel") .. "\n" -- Busca skill club local club = db.getResult("SELECT value FROM player_skills WHERE skillid = 1 AND player_id = ".. getPlayerGUIDByName(param)):getDataInt("value") txt = txt .. "Club: " .. club .. "\n" -- Busca skill sword local sword = db.getResult("SELECT value FROM player_skills WHERE skillid = 2 AND player_id = ".. getPlayerGUIDByName(param)):getDataInt("value") txt = txt .. "Sword: " .. sword .. "\n" -- Busca skill axe local axe = db.getResult("SELECT value FROM player_skills WHERE skillid = 3 AND player_id = ".. getPlayerGUIDByName(param)):getDataInt("value") txt = txt .. "Axe: " .. axe .. "\n" -- Busca skill distance local distance = db.getResult("SELECT value FROM player_skills WHERE skillid = 4 AND player_id = ".. getPlayerGUIDByName(param)):getDataInt("value") txt = txt .. "Distance: " .. distance .. "\n" -- Busca skill shielding local shielding = db.getResult("SELECT value FROM player_skills WHERE skillid = 5 AND player_id = ".. getPlayerGUIDByName(param)):getDataInt("value") txt = txt .. "Shielding: " .. shielding .. "\n" -- Abre uma janela com as informações acima doPlayerPopupFYI(cid, txt) end Agora adicione no arquivo talkactions.xml o código: <talkaction words="!whois" event="script" value="whois.lua"/> Espero ter ajudado _______________________________________________ Nossa.. fiz a função e postei aqui.. Não tinha visto que o lordbug99 tinha acabado de postar =/ Mas fica aí a função. Pode utilizar como base para pegar qualquer outra informação do player (com um pouco de conhecimento em banco de dados)
  6. Tá dando "Unsuported client version (8)!". Será que meu mapa tá considerado como mapa mais que 8.60? Tem como mudar isso? Acho que consegui. No meu editor também tem a opção PVP Zone Tool. Obrigado!!
  7. O Remere Map Editor? Atualmente estou usando o OTMapEditor. Meu mapa é do OT versão 8.60 e eu não consigo abrir o RME =/ Fica dando o erro do "Cannot find Tibia.dat/.spr". Já coloquei os arquivos na pasta do RME, já tentei buscar de várias pastas instaladas e nada =/ Tem jeito pra isso?
  8. Olá Gostaria de configurar uma área no meu mapa para funcionar como uma arena pvp. Nesta área o player pode matar os outros que não pega skull. Se morrer, não perde nada. É um lugar "cada um por si". Obrigado. Resolvido!!! Solução: é só marcar o lugar no mapa como PVP Zone Tool no seu editor de mapa.
  9. Opa =) De nada :smile_positivo: Você pode usar este script para declarar todas as cidades, aí não precisa ficar criando um arquivo cada vez :button_ok:
  10. RafaelMan

    Quest

    É só você adicionar a função: doPlayerAddItem(cid, id, qtde) Já coloquei ali no código e deixei comentado. Cuidado com o peso do item que você quer colocar e a cap do player. Se ele não suportar ou não tiver espaço, o item vai cair no chão. function onUse(cid, item, fromPosition, itemEx, toPosition) if item.uid == 35400 then queststatus = getPlayerStorageValue(cid,35400) if queststatus == -1 or queststatus == 0 then item = 2160 -- Define o id do item qtde = 20 -- Define a quentidade doCreatureSay(cid, "Você recebeu seu beneficio por ser vip!", TALKTYPE_ORANGE_1) db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..getCreatureName(cid).."' WHERE `id` = "..getPlayerGUID(cid)..";") doPlayerSendTextMessage(cid,25,"Você será kickado em 5 segundos para mudança de nome.") doPlayerAddAddons(cid, 1) addEvent(doRemoveCreature, 5*1000, cid, true) setPlayerStorageValue(cid, 35400, 1) -- Adiciona um item para o player doPlayerAddItem(cid, item, qtde) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_HOLYDAMAGE) else doPlayerSendTextMessage(cid,22,"você ja tem o [vip] no nome.") end return true end end
  11. Fiz o script aqui para você utilizar com o tile. Pode colocar um portal (ou não) no tile para ter uma aparência melhor. Coloque no portal a coordenada para onde o player vai ser transportado. No tile, embaixo do portal, coloque o actionid. Quando o player passar naquele tile, vai ser cidadão de uma determinada cidade e transportado. Crie o arquivo newtown.lua dentro da pasta data/movements/scripts/ e cole este código: -- Escolha o [actionid], id da cidade, "nome" e posição local config = { [12101]={1, "Nome da Cidade", {x=111, y=222, z=7}}, [12102]= {2, "Outra Cidade", {x=222, y=222, z=7}}, [12102]= {3, "Outra Cidade", {x=333, y=222, z=7}} -- O último não possui vírgula. Pode adicionar mais nesta mesma estrutura } function onStepIn(cid, item, pos) -- Verifica se é um player (para monstros e npcs não passarem) if isPlayer(cid) == TRUE then -- Define a nova cidade do player doPlayerSetTown(cid, config[item.actionid][1]) -- Teleporta ele para a determinada posição doTeleportThing(cid, config[item.actionid][3]) -- Mensagem informando sua nova cidade doPlayerSendTextMessage(cid, 24, "Agora você é cidadão de " .. config[item.actionid][2]) end end Adicione o seguinte código no arquivo movements.xml que está na pasta data/movements/: <movevent type="StepIn" actionid="12101;12102;12103" event="script" value="newtown.lua"/> Agora edite seu mapa e coloque o ActionId no seu portal (ou tile) de acordo com suas configurações. Espero ter ajudado
  12. No outro tópico ali fiz um tile por reset. O player só passa quanto tem a quantidade determinada de reset. Aqui~> http://www.xtibia.com/forum/topic/170994-door-por-reset/
  13. Meu Gesior só cria conta com letras maiúsculas. Mesmo digitando todas as letras da conta, no banco de dados é inserido tudo maiúsculo. Como faço para criar do jeito que o usuário digita (minúsculo)? Atualmente: Usuário cria a conta: user Conta inserida no banco: USER Tirei o "strtoupper()" mas na verificação ao clicar em submit verifica e da o erro da linha 231 (no meu editado): elseif(!check_account_name($reg_name)) $reg_form_errors[] = "Formato de conta inválido. Utilize apenas letras e números: A-Z e/ou 0-9."; Como corrigo isso ou altero a função check_account_name?? Obrigado -------------------------------------------------------------- RESOLVIDO É só tirar a função strtoupper() dos arquivos: index.php createaccount.php
  14. Para resolver o problema com os acentos, não da pra utilizar a codificação "windows-1252"? Eu utilizo ela em sistmas php.
  15. Para quem está com o erro do Notice: Notice: Undefined index: page in C:\xampp\htdocs\install.php on line 40 Notice: Undefined index: page in C:\xampp\htdocs\install.php on line 52 Notice: Undefined index: page in C:\xampp\htdocs\install.php on line 63 Solução No caso do WAMP, clique no ícone do WAMPSERVER, vá em PHP e depois em php.ini Procure por: error_reporting = E_ALL Substitua por: error_reporting = E_ALL & ~E_NOTICE Clique no ícone do WAMPSERVER e Reinicie todos os serviços. Feito isso não vai mais dar este erro. Esta configuração vai parar de mostrar as mensagens de Notice do PHP. Se você utiliza outros programas, tente procurar o php.ini no menu e fazer esta alteração (nunca testei em outro).
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...