Ir para conteúdo

Yan Liima

Héroi
  • Registro em

  • Última visita

Tudo que Yan Liima postou

  1. No seu config do site você tem que editar o diretorio do teu servidor... <?php if($groups = simplexml_load_file($config['site']['server_path'].'/data/XML/groups.xml') or die('<b>Could not load groups!</b>')) foreach($groups->group as $g) $groupList[(int)$g['id']] = $g['name']; $list = $SQL->query("SELECT `name`, `online`, `group_id`, `world_id`, `account_id` FROM `players` WHERE `group_id` > 1 ORDER BY `group_id` DESC"); $showed_players = 0; $main_content .= '<center><h2>Equipe Do Baiak Alpha</h2></center>'; $group_id = 0; foreach($list as $gm) { if($group_id != (int)$gm['group_id']) { if($group_id != 0) $main_content .= '</table>'; $main_content .= '<center><h2>'.$groupList[(int)$gm['group_id']].'</h2></center> <table border="0" cellspacing="1" cellpadding="4" width="100%"> <tr bgcolor="'.$config['site']['vdarkborder'].'"> <td width="75%"><font class=white><b>Nome</b></font></td> <td width="15%"><font class=white><b>Status</b></font></td> <td width="20%"><font class=white><b>Mundo</b></font></td>'; $group_id = (int)$gm['group_id']; } if($config['site']['show_flag']) { $account = $SQL->query('SELECT * FROM `accounts` WHERE '.$SQL->fieldName('id').' = '.$gm['account_id'].'')->fetch(); $flag = '<image src="http://images.boardhost.com/flags/'.$account['flag'].'.png"/> '; } $main_content .= '<tr bgcolor="'.(is_int($showed_players++ / 2) ? $config['site']['darkborder'] : $config['site']['lightborder']).'" class="over"><td>'.$flag.'<a href="?subtopic=characters&name='.urlencode($gm['name']).'">'.$gm['name'].'</a></td><td><font color="'.($gm['online'] == 0 ? 'red">Offline' : 'green">Online').'</font></td><td>'.$config['site']['worlds'][$gm['world_id']].'</td></tr>'; } $main_content .= '</table>'; ?> Se não der use este outro que modifiquei, não irá precisar do groups.xml, só editar no proprio PHP.
  2. Yan Liima respondeu ao post em um tópico de Pedro. em Tutoriais Websites
    Uma ótima observação amigo! Aquela é a mais nova script de anúncio assíncrono do Google. E sim, é possível ganhar grana utilizando ela. Na verdade ela chegou justamente pra isso, para facilitar o recebimento e no carregamento do site, comparado com outras JS. Reparei que não está completo, faltou a parte em que determina o tamanho do anúncio, mas creio que ainda esteja sendo executada, assim podendo estar gerando dinheiro para o individuo... Se esse for realmente o caso, estou decepcionado contigo Yinz ;,(
  3. Tente trocando a tag por essa: <talkaction words="!bug" event="script" value="bug.lua"/>
  4. @damiaotorresO script está certo, isso é erro ao copiar. Só apagar o "?". Se for necessario leia esse tutorial: @Bolletox tu não fez nada além de alterar os segundos. Daria no mesmo. O problema é apenas vir um caractere inválido ao copiar o script.
  5. Yan Liima respondeu ao post em um tópico de Magalhaes92 em Suporte Tibia OTServer
    Faz um script parecido mas usando a função: onThink no lugar de onLogin. Mas pelo que eu vi parece que o personagem é kikado, ai quando ele reloga irá aparecer a msg e ele irá ser teleportado...
  6. Quando o problema é "?" é tranquilo, só dar ctrl + H procurar por "?" e substituir em branco. Chato é quando vem aqueles traços(-) no meio das funções meio que invisivel... Concordo! Isso é problema com o IPBoard, as novas versões estão apresentando esse problema ao copiar. O certo seria falar com a propria desenvolvedora, Invision Power. De qualquer forma espero que esse tópico ajude alguns folgados. Pois a galera só sabe dar ctrl + C e ctrl + V, viu que deu erro nem procura olhar o script pra corrigir. Fica esperando a resposta com a solução , e se demorar alguns ainda fica cobrando como se fosse seu dever corrigir ksksksks
  7. function onUse(cid, item, fromPosition, itemEx, toPosition) local porcentagem = math.random(1, 10) local exhausted_seconds = 1.8 -- Segundos de exhausted local exhausted_storage = 74800 if(os.time() < getPlayerStorageValue(cid, exhausted_storage)) then doSendMagicEffect(fromPosition, CONST_ME_POFF) doPlayerSendCancel(cid, "You are exhausted.") else doCreatureAddHealth(cid, getCreatureMaxHealth(cid) * (porcentagem / 10)) setPlayerStorageValue(cid, exhausted_storage, os.time() + exhausted_seconds) doSendAnimatedText(getThingPos(cid), "Pérola", 71) doSendMagicEffect(getCreaturePosition(cid), 29) doPlayerSendTextMessage(cid,19, porcentagem.."% do seu hp total foi healado!") doRemoveItem(item.uid, 1) end return true end
  8. function onStepIn(cid, item, position, fromPosition) if getPlayerLevel(cid) < 200 then doTeleportThing(cid, fromPosition, true) doPlayerPopupFYI(cid, "Você não tem level o suficiente para passar.") return true end if getPlayerStorageValue(cid, 13602) - os.time() <= 0 then doTeleportThing(cid, fromPosition, true) doPlayerPopupFYI(cid, "[Tesouro] Você não é Ultimate .Para Ter Acesso faça a quest Ultimate!") doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return true end doPlayerPopupFYI(cid, "[Tesouro] Bem Vindo a área Ultimate!") return true end 200 e acima poderá passar. Só substituir 200 pelo level necessário. To pelo cell não sei se o code box funcionou, então ao copiar toma cuidado com caracter invalido.
  9. Booooa! Só acho que o valor padrão: m_confBool[STAMINA_REGEN_PZ] = getGlobalBool("staminaRegenPz", true); Deveria ser false. Mas é coisinha besta, ficou show irmão!
  10. Olá amigo infelizmente por ser Gesior não irei saber te ajudar, sou profissional apenas em Modern Acc. Mas acho que a melhor forma de tu ter descobrido o problema era conversando com o garoto com calma. Fazia a cabeça dele de alguma forma, fingia que ele iria ficar com os items, apenas para você conseguir saber o real problema e concerta-lo ...
  11. Delete a pasta OBJ das suas sources e tente compilar novamente.
  12. O que eu fiz foi uma pequena gambiarra. Usa o do Vodkart amigo, ficou show de bola!
  13. Troque: <globalevent name="StaminaRegen" interval="5" script="Staminareco.lua"/> Por: <globalevent name="StaminaRegen" interval="5000" script="Staminareco.lua"/>
  14. Se estiver fora não! Use o do Vodkart. Muito bom!
  15. Sim, tem que por! É um event onStepIn. Talvez daria para fazer sem os IDs mas dessa maneira seria mais fácil. E fique tranquilo, não irá adicionar em todos os pisos. Apenas naqueles com protection. Mas séra necessário por is IDS
  16. Utilizei o script que eu ja tinha feito, apenas editei. Bom não entendi aquele 0.5, mas vamos la... em movements/scripts/ crie um arquivo.lua e cole isso dentro: local config = { addStamina = 1, -- quantos de stamina irá adicionar delay = 1, -- tempo para adicionar a stamina em minutos msg = 0.5, -- Só pra exibição de valor mesmo... } stamina = {} local function staminadd(cid) if not isPlayer(cid) then stamina[cid] = nil return true end doPlayerSetStamina(cid, getPlayerStamina(cid) + config.addStamina) stamina[cid] = addEvent(staminadd, config.delay*60*1000, cid) end function onStepIn(cid) if isPlayer(cid) then if getTileInfo(getThingPos(cid)).protection then if getPlayerStorageValue(cid, sta) < os.time() then doPlayerSendTextMessage(cid, 20, "{Stamina Recovery} Sua stamina começou a se recuperar, o fator de recuperação é de "..config.msg.." em relação as condições normais.") setPlayerStorageValue(cid, sta, os.time() + 300) end stamina[cid] = addEvent(staminadd, config.delay*60*1000, cid) end end return true end function onStepOut(cid) if isPlayer(cid) then stopEvent(stamina[cid]) stamina[cid] = nil end return true end No seu movements.xml coloque isso: <movevent type="StepIn" itemid="7351" event="script" value="arquivo.lua"/> <movevent type="StepOut" itemid="7351" event="script" value="arquivo.lua"/> Troque: 7351 pelo ID do seu tile(piso). Caso em outras zonas protegida o piso seja diferente só por assim, Ex: 7351-7352... O delay da mensagem está setado para 5 minutos.
  17. Yan Liima respondeu ao post em um tópico de Movie em Suporte Tibia OTServer
    Acontece com todas as spells do teu servidor? Apresenta algum erro na distro?
  18. Está certinho irmão. Verifique se o XML está certo também. No script do movements você poderia deixar assim: function onStepIn(cid, item, position, fromPosition) if isPlayer(cid) then if getPlayerStorageValue(cid, 394335) <= 0 then doTeleportThing(cid, fromPosition, true) doPlayerSendCancel(cid, "Voce nao tem permissao para passar.") return true end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"Bem vindo ".. getCreatureName(cid) .."!") setPlayerStorageValue(cid, 394335, -1) end return true end Ao acessar o tile tendo a storage ele iria remover a storage, ai depois o jogador teria que comprar de novo. Por isso seria bom usar aquele npc que te mandei, pro jogador não ficar perdendo dinheiro sendo que ele ja tem a storage. Mas ai no caso se ele pisasse no piso ai perderia e teria que comprar novamente... Tendeu?
  19. Como você deixou os scripts?
  20. Seria bom você por na script do tile para remover a storage assim que o jogador pisar la. Pois assim ele teria que ir comprar toda vez. Caso contrario, por ele ja ter comprado e ter a storage no jogador dele, ele podia passar sem pagar nada(com o npc que tu pediu)... So adiciona la no script do tile isso: setPlayerStorageValue(cid,DEKU,-1) Mas se mesmo assim quer o npc sem verificar se já tem a storage, aqui esta.. local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg:lower()) end function onThink() npcHandler:onThink() end local talkState = {} function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local money = 10000 local storage = DEKU if msgcontains(msg, "yes") then if getPlayerMoney(cid) >= money then doPlayerRemoveMoney(cid,money) setPlayerStorageValue(cid,storage,1) selfSay("Ótimo, agora você podera passar", cid) else selfSay("Você não tem dinheiro o suficiente.", cid) end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  21. Correção: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg:lower()) end function onThink() npcHandler:onThink() end local talkState = {} function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local money = 10000 local storage = DEKU if msgcontains(msg, "yes") then if getPlayerStorageValue(cid, storage) == 1 then selfSay("Você já tem a passagem", cid) elseif getPlayerStorageValue(cid, storage) <= 0 then if getPlayerMoney(cid) >= money then doPlayerRemoveMoney(cid,money) setPlayerStorageValue(cid,storage,1) selfSay("Ótimo, agora você podera passar", cid) else selfSay("Você não tem dinheiro o suficiente.", cid) end end return true end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Funcionou?
  22. Olha, confesso que deu preguiça de fazer ksks mas como era tu abri uma exeção Script: local config = { addStamina = 1, -- quantos de stamina irá adicionar delay = 1, -- tempo para adicionar a stamina em minutos AREA = {{x=90, y=182, z=7}, {x=102, y=192, z=7}}, -- Canto superior esquerdo / inferior direito da sala. } stamina = {} local function staminadd(cid) if not isPlayer(cid) then stamina[cid] = nil return true end doPlayerSetStamina(cid, getPlayerStamina(cid) + config.addStamina) doPlayerSendTextMessage(cid, 22, "Você recebeu "..config.addStamina.." de stamina.") stamina[cid] = addEvent(staminadd, config.delay*60*1000, cid) end function onStepIn(cid) if isPlayer(cid) then if isInRange(getCreaturePosition(cid), config.AREA[1], config.AREA[2]) then stamina[cid] = addEvent(staminadd, config.delay*60*1000, cid) end end return true end function onStepOut(cid) if isPlayer(cid) then stopEvent(stamina[cid]) stamina[cid] = nil end return true end No movements.xml tu teria que por o ID do tile: <movevent type="StepIn" itemid="7351" event="script" value="CC21-Stamina.lua"/> <movevent type="StepOut" itemid="7351" event="script" value="CC21-Stamina.lua"/> Se caso nesse local tenha pisos diferente só tu por assim: <movevent type="StepIn" itemid="7351-7352" event="script" value="CC21-Stamina.lua"/> <movevent type="StepOut" itemid="7351-7352" event="script" value="CC21-Stamina.lua"/> Testa ai e me diz se deu certo :D
  23. O erro de cima era o caractere "?" vindo junto com o script ao copiar. Sobre o segundo, qual distro você utiliza? Tente assim: function onStepIn(cid, item, position, fromPosition) if isPlayer(cid) then if getPlayerStorageValue(cid, DEKU) <= 0 then doTeleportThing(cid, fromPosition, true) doPlayerSendCancel(cid, "Voce nao tem permissao para passar.") return true end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"Bem vindo ".. getCreatureName(cid) .."!") end return true end
  24. Troque aquele NPC por este, xml: <?xml version="1.0" encoding="UTF-8"?> <npc name="Nome do NPC" script="arquivo.lua" walkinterval="2000" floorchange="0" access="5" level="1" maglevel="1"> <health now="100" max="100"/> <look type="812" head="132" body="79" legs="97" feet="132" corpse="2212"/> <parameters> <parameter key="message_greet" value="Olá |PLAYERNAME|! gostaria de comprar acesso para passar no tile?"/> <parameter key="message_farewell" value="Good bye, |PLAYERNAME|!"/> </parameters> </npc> arquivo.lua local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg:lower()) end function onThink() npcHandler:onThink() end local talkState = {} function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, "yes") then if doPlayerRemoveMoney(cid,10000) == 1 then selfSay("Ótimo, agora você podera passar", cid) setPlayerStorageValue(cid,DEKU,1) else selfSay("Você não tem dinheiro o suficiente.", cid) end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())

Informação Importante

Confirmação de Termo