Ir para conteúdo
Banner com Efeitos

Adriano SwaTT

Membro
  • Registro em

  • Última visita

Tudo que Adriano SwaTT postou

  1. Porque tem que substituir nestas linhas. local nome = {'item1', 'item2', 'item3', 'item4', 'item5', 'item6', 'item7', 'item8', 'item9', 'item10'} -- Nome dos Itens Adicionando o nome dos itens, em ordem. Ex: local nome = {'demon armor', 'fire axe', 'item3', 'item4', 'item5', 'item6', 'item7', 'item8', 'item9', 'item10'} -- Nome dos Itens Entendeu?
  2. Conforme disse, o script não foi feito para ter a função TRADE. E se está falando o nome errado, é porque a ID está errada, pois ele pega o nome diretamente no Items.XML através da ID dos itens do script. E como você adicionou novos itens. Esqueceu de declara-los na resposta do NPC: elseif (msgcontains(msg, 'trade') or msgcontains(msg, 'hi')) then selfSay(' Digite qual item deseja adquirir.', cid) selfSay('Atualmente temos {'..getItemNameById(items[1])..'}, {'..getItemNameById(items[2])..'}, {'..getItemNameById(items[3])..'}, {'..getItemNameById(items[4])..'}, {'..getItemNameById(items[5])..'}, {'..getItemNameById(items[6])..'}, {'..getItemNameById(items[7])..'} e {'..getItemNameById(items[8])..'}.', cid) talkState[talkUser] = 0
  3. Verdade, nem pensei nisso. Colocar como palavra proibida resolve.
  4. Adriano SwaTT postou uma resposta no tópico em Suporte Tibia OTServer
    Peço que selecione uma das opções como Melhor Resposta para que o tópico receba a tag de Resolvido. Que bom que funcionou. Abraços.
  5. Adriano SwaTT postou uma resposta no tópico em Websites
    Por favor, tente por o erro, ou se simplesmente não aparece a mesma, etc.. Para sabermos o que acusa, se não fica impossível de ajudar. Um dos casos, é o Page_Access da database, precisa por "6", se não me engano, para ativar o Painel ADMIN.
  6. Então, se seu servidor for novo, compensa estudar de por para registrar o nome do novo character em 2 tabelas na database. Ex: "name" e "name2", para que quando mudar o nome InGame do player, muda da tabela "name" normalmente, e quando for para criar o novo character ele check se já existe na tabela "name2", onde ficará sempre o nome real do personagem.
  7. Por favor, para os que não tem os scripts, poste-os, EM SPOILER, para que possamos editá-los. Boa sorte.
  8. Deve até ter, mas creio que será um pouco mais chatinho de fazer. Este seria um exemplo: Script. Só que pra mim fazer agora, infelizmente, seria inviável. Enfim, boa sorte.
  9. Não, está por "palavras" mesmo, você configura e fala o nome do item que deseja. Pode dizer help ou ajuda e aparece a lista de itens disponíveis.
  10. Estive olhando, provavelmente é neste arquivo. Pasta: htdocs\account\check_name.php Nesta parte: // PDO and POT connects to database $ots = POT::getInstance(); if($server_config['sqlType'] == "mysql") $ots->connect(POT::DB_MYSQL, array('host' => $mysqlhost, 'user' => $mysqluser, 'password' => $mysqlpass, 'database' => $mysqldatabase) ); elseif($server_config['sqlType'] == "sqlite") $ots->connect(POT::DB_SQLITE, array('database' => $config_ini['server_path'].$sqlitefile)); $name_db = new OTS_Player(); $name_db->find($name); if($name_db->isLoaded()) echo '<font color="red"><b>Player with this name already exist.</b></font>'; else echo '<font color="green">Good. Your name will be:<br />"<b>'.ucwords($name).'</b>"</font>'; Tem que por pra verificar se mesmo tirando o "[VIP]" o nome existe. Agora ficou mais fácil, tomara que venha alguém com conhecimento na área para lhe ajudar. Vou lhe enviar mensagem privada.
  11. Realmente a parte do site deve ficar para alguém que manje um pouco mais de PHP do que eu. Pois teria que conferir na hora de criar o personagem se há algum player com o nome "Fulano" com ou sem o [VIP]. Se der um tempinho aqui eu olho pra você. Boa sorte aí.
  12. Desculpe-me pela demora, é que estou desenvolvendo um site. Enfim, segue o script: Boa sorte.
  13. Adriano SwaTT postou uma resposta no tópico em Suporte Tibia OTServer
    Creio que seja mesmo no config.lua. Veja se não é esta primeira linha: spellNameInsteadOfWords = false -- essa tag emoteSpells = true Pois basicamente significa: "Nome, ao invés de palavra mágica". Boa sorte.
  14. No caso, cada 1 ou cada grupo de 100 itens valem 5 diamantes? #Por favor, facilite nas informações, passe já com maiores detalhes.
  15. O script ficou meio noob, mas não acostumei trabalhar daquela forma acima, mas o que vale é funcionar. Removido Boa sorte.
  16. Todos estes itens por 5 diamantes ou cada um destes itens vale 5 diamante? E eles são itens agrupáveis? ou usaremos 1 de cada mesmo?
  17. Ah sim, então use assim: local strg = 33339 -- valor da sua storage local strg_n = 12120 -- não precisa editar function onLogin(cid) if getPlayerPremiumDays(cid) <= 0 and getPlayerStorageValue(cid, strg_n) == 1 then setPlayerStorageValue(cid, 9898, 1) end if getPlayerStorageValue(cid, 9898) == 1 and getPlayerPremiumDays(cid) <= 0 then local temple = getTownTemplePosition(getPlayerTown(cid)) doTeleportThing(cid, temple) doPlayerPopupFYI(cid, "Sua vip Account acabou.") setPlayerStorageValue(cid, 9898, -1) setPlayerStorageValue(cid, strg_n, -1) if string.find(tostring(getCreatureName(cid)),"[Vip]") then addEvent(EddyHavoc, 3*1000, cid) end end return TRUE end function EddyHavoc(cid) if isPlayer(cid) then db.executeQuery("UPDATE `players` SET `name` = '"..string.sub(getCreatureName(cid), 7).."' WHERE `id` = "..getPlayerGUID(cid)..";") doRemoveCreature(cid) end end
  18. É que você editou a função que postei. Está atualmente checando se o player é PREMIUM ACCOUNT, o que é diferente de VIP. Era pra estar assim, ou coisa do tipo, pra checar se ele ainda tem a storage de VIP. function onLogin(cid) local strg = 33339 -- valor da sua storage local strg_n = 12120 -- não precisa editar if getPlayerStorageValue(cid, strg) - os.time() > 0 then setPlayerStorageValue(cid, 9898, 1) end function EddyHavoc(cid) if isPlayer(cid) then db.executeQuery("UPDATE `players` SET `name` = '"..string.sub(getCreatureName(cid), 7).."' WHERE `id` = "..getPlayerGUID(cid)..";") doRemoveCreature(cid) end end if getPlayerStorageValue(cid, 9898) == 1 and getPlayerStorageValue(cid, strg) - os.time() < 1 or getPlayerStorageValue(cid, strg) - os.time() == 0 then local temple = getTownTemplePosition(getPlayerTown(cid)) doTeleportThing(cid, temple) doPlayerPopupFYI(cid, "Sua vip Account acabou.") setPlayerStorageValue(cid, 9898, -1) setPlayerStorageValue(cid, strg_n, -1) if string.find(tostring(getCreatureName(cid)),"[Vip]") then addEvent(EddyHavoc, 3*1000, cid) end end return TRUE end
  19. NOOOOOOOOSSA cara me desculpe, foi uma falta de atenção minha. Use aí o "endvip.lua" que passei acima e o vip.lua, use este abaixo: function onUse(cid, item, fromPosition, itemEx, toPosition) local name = getCreatureName(cid) local days = 30 -- dias que serão adicionados local strg = 33339 -- valor da sua storage local strg_n = 12120 -- não precisa editar local daysvalue = days * 24 * 60 * 60 local storageplayer = getPlayerStorageValue(cid, strg) local timenow = os.time() if getPlayerStorageValue(cid, strg) - os.time() <= 0 then time = timenow + daysvalue else time = storageplayer + daysvalue end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de SYNC VIP no seu character.") setPlayerStorageValue(cid, strg, time) local quantity = math.floor((getPlayerStorageValue(cid, strg) - timenow)/(24 * 60 * 60)) doSendMagicEffect(getPlayerPosition(cid), math.random(28,30)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de SYNC VIP restantes.") doRemoveItem(item.uid, 1) if getPlayerStorageValue(cid, strg_n) < 1 then setPlayerStorageValue(cid, strg_n, 1) db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..name.."' WHERE `id` = "..getPlayerGUID(cid)..";") doRemoveCreature(cid) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Seus dias foram acrescentados e seu nome ja foi alterado.") end return TRUE end
  20. Me diz o seguinte, está reiniciando o antes de testar server? Está testando o script com um char já vip, com a tag "[VIP]" no nome ou com um sem vip nenhuma?
  21. Vamos por parte. Desta forma funcionou? Pois creio que esta função cheque se o player tem Premium Account, o que na maioria dos servidor são diferentes do sistema de VIP. Mas não custa nada testar.
  22. Ok, eu tentei do modo mais difícil/chato, estou com dor de cabeça, ocupado com códigos.. por isso estes erros.. Enfim, vamos tentar assim agora. vip.lua: function onUse(cid, item, fromPosition, itemEx, toPosition) local name = getCreatureName(cid) local days = 30 -- dias que serão adicionados local strg = 33339 -- valor da sua storage local strg_n = 12120 -- não precisa editar local daysvalue = days * 24 * 60 * 60 local storageplayer = getPlayerStorageValue(cid, strg) local timenow = os.time() if getPlayerStorageValue(cid, strg) - os.time() <= 0 then time = timenow + daysvalue else time = storageplayer + daysvalue end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de SYNC VIP no seu character.") setPlayerStorageValue(cid, strg, time) local quantity = math.floor((getPlayerStorageValue(cid, strg) - timenow)/(24 * 60 * 60)) doSendMagicEffect(getPlayerPosition(cid), math.random(28,30)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de SYNC VIP restantes.") doRemoveItem(item.uid, 1) if getPlayerStorageValue(cid, strg_n) < 1 then db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..name.."' WHERE `id` = "..getPlayerGUID(cid)..";") doRemoveCreature(cid) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Seus dias foram acrescentados e seu nome ja foi alterado.") end return TRUE end endvip.lua: function onLogin(cid) local strg = 33339 -- valor da sua storage local strg_n = 12120 -- não precisa editar if getPlayerStorageValue(cid, strg) - os.time() > 0 then setPlayerStorageValue(cid, 9898, 1) end function EddyHavoc(cid) if isPlayer(cid) then db.executeQuery("UPDATE `players` SET `name` = '"..string.sub(getCreatureName(cid), 7).."' WHERE `id` = "..getPlayerGUID(cid)..";") doRemoveCreature(cid) end end if getPlayerStorageValue(cid, 9898) == 1 and getPlayerStorageValue(cid, strg) - os.time() < 1 or getPlayerStorageValue(cid, strg) - os.time() == 0 then local temple = getTownTemplePosition(getPlayerTown(cid)) doTeleportThing(cid, temple) doPlayerPopupFYI(cid, "Sua vip Account acabou.") setPlayerStorageValue(cid, 9898, -1) setPlayerStorageValue(cid, strg_n, -1) if string.find(tostring(getCreatureName(cid)),"[[Vip]]") then addEvent(EddyHavoc, 3*1000, cid) end end return TRUE end Boa sorte.
  23. Ok, obrigado pelo Rep+. Aguardo retorno.
  24. Certo, teste este script abaixo no "vip.lua". function onUse(cid, item, fromPosition, itemEx, toPosition) local name = getCreatureName(cid) local days = 30 -- dias que serão adicionados local strg = 33339 -- valor da sua storage local daysvalue = days * 24 * 60 * 60 local storageplayer = getPlayerStorageValue(cid, strg) local timenow = os.time() if getPlayerStorageValue(cid, strg) - os.time() <= 0 then time = timenow + daysvalue else time = storageplayer + daysvalue end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de SYNC VIP no seu character.") setPlayerStorageValue(cid, strg, time) local quantity = math.floor((getPlayerStorageValue(cid, strg) - timenow)/(24 * 60 * 60)) doSendMagicEffect(getPlayerPosition(cid), math.random(28,30)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de SYNC VIP restantes.") doRemoveItem(item.uid, 1) if 'name' ~= '[VIP] "..name.."' then db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..name.."' WHERE `id` = "..getPlayerGUID(cid)..";") doRemoveCreature(cid) else return true end return TRUE end
  25. Foi o que disse, você precisa substituir as do Script que enviei pelas suas. Teste assim: vip.lua function onUse(cid, item, fromPosition, itemEx, toPosition) local days = 30 -- dias que serão adicionados local strg = 33339 -- valor da sua storage local daysvalue = days * 24 * 60 * 60 local storageplayer = getPlayerStorageValue(cid, strg) local timenow = os.time() if getPlayerStorageValue(cid, strg) - os.time() <= 0 then time = timenow + daysvalue else time = storageplayer + daysvalue end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de SYNC VIP no seu character.") setPlayerStorageValue(cid, strg, time) local quantity = math.floor((getPlayerStorageValue(cid, strg) - timenow)/(24 * 60 * 60)) doSendMagicEffect(getPlayerPosition(cid), math.random(28,30)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de SYNC VIP restantes.") doRemoveItem(item.uid, 1) local name = getCreatureName(cid) db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..name.."' WHERE `id` = "..getPlayerGUID(cid)..";") doRemoveCreature(cid) return TRUE end endvip.lua: function onLogin(cid) local strg = 33339 -- valor da sua storage if getPlayerStorageValue(cid, strg) - os.time() > 0 then setPlayerStorageValue(cid, 9898, 1) end function EddyHavoc(cid) if isPlayer(cid) then db.executeQuery("UPDATE `players` SET `name` = '"..string.sub(getCreatureName(cid), 7).."' WHERE `id` = "..getPlayerGUID(cid)..";") doRemoveCreature(cid) end end if getPlayerStorageValue(cid, 9898) == 1 and getPlayerStorageValue(cid, strg) - os.time() < 1 or getPlayerStorageValue(cid, strg) - os.time() == 0 then local temple = getTownTemplePosition(getPlayerTown(cid)) doTeleportThing(cid, temple) doPlayerPopupFYI(cid, "Sua vip Account acabou.") setPlayerStorageValue(cid, 9898, -1) if string.find(tostring(getCreatureName(cid)),"[[Vip]]") then addEvent(EddyHavoc, 3*1000, cid) end end return TRUE end Boa sorte.

Informação Importante

Confirmação de Termo