Ir para conteúdo

Bruno

Herói
  • Total de itens

    2571
  • Registro em

  • Última visita

  • Dias Ganhos

    27

Tudo que Bruno postou

  1. Eu não sei se você tem a função split, mas é uma solução: vector<string> split(const string &s, char delim) { stringstream ss(s); string item; vector<string> tokens; while (getline(ss, item, delim)) { tokens.push_back(item); } return tokens; } Ai você usa assim: std::vector<std::string> name = split(creature->getName().c_str(), '['); Ficando assim: int32_t LuaScriptInterface::luaGetCreatureName(lua_State* L) { //getCreatureName(cid) ScriptEnviroment* env = getEnv(); std::vector<std::string> name = split(creature->getName().c_str(), '['); if(Creature* creature = env->getCreatureByUID(popNumber(L))) lua_pushstring(L, name[1]); else { errorEx(getError(LUA_ERROR_CREATURE_NOT_FOUND)); lua_pushboolean(L, false); } return 1; } Lembrando: Não testei e nem sei se vai funcionar, como não tenho como testar aqui, faz ai o teste.
  2. Pessoal, o items.otb está seguindo a versão oficial da TFS, então a versão dele ainda está 10.76. Eu só vou atualizar no projeto quando for disponibilizado a versão oficial. Caso alguém queira experimentar outro, é por sua conta em risco!
  3. Isso mesmo, faça essa alteração que o pokemon não irá parecer com o level na frente, embora ainda continuará com o level.
  4. Amigo, isso é erro de alguma library, provavelmente boost, aconselho usar linux.
  5. Obrigado pelas palavras Olha, sobre o VS 2015 eu ainda não vi nada, até porque em casa estou somente com o 2013 e to esperando minha faculdade liberar a conta da Microsoft para que eu consiga fazer um upgrade de versão. Novos outfits e montarias adicionados no projeto!
  6. 1º verifique se você tem a função GlobalStorageValue no seu ot. 2º verifique se a storage que conta as criaturas está dando conflito com outra.
  7. Amigo, evite reviver um tópico resolvido com outra dúvida, Abra um tópico na seção de suporte.
  8. Não tem senha do GOD pré-definida, posso até colocar algo padrão para ajudar. Minha intenção é colocar todas as áreas novas do update, porém, não consigo fazer tudo sozinho ao mesmo tempo Vlw meu querido!
  9. Marco, primeiramente obrigado pelo interesse em participar. Me adiciona no skype: xtr3m36 ou passa outra forma de contato por PM. Att.
  10. Pessoal, Estou montando uma equipe de Games Online, e o intuito a princípio é abrir 3 servidores (2 deles já estão previamente online). Então, preciso de uma equipe para dar andamento, nas quais as vagas são: Servidor Global - 10.80 / 10.81 - Mapper Servidor Baiak - 8.60 - Mapper Servidor Derivado - Pokemon - Mapper - Spriter Interessado? Deixe aqui seu contato e se possível algum trabalho.
  11. Muito obrigado pela força @Daniel, vamos mudar esse quadro atual de tibia e otserv.
  12. Opa, que boa notícia! Eu indico a otserv-list.com, a maior lista brasileira de otservs!
  13. Versão 10.80 / 10.81 com mapa global lançada!
  14. @@leonardo macedo, Tenta reiniciar sua internet para ver se consegue.
  15. @, Nome indisponível, teria algum outro?
  16. Testa assim por favor, e tira um print pra ver como fica: <?PHP $i = 0; $main_content .= '<h2>Already Training on Denera World!</h2><TABLE border=0 CELLSPACING=1 CELLPADDING=2 WIDTH=100%class="table table-striped"><TR><TD CLASS=white COLSPAN=4>'; $n = $SQL->query('SELECT COUNT(`offlinetraining_skill`) as `count` FROM `players` WHERE `offlinetraining_skill` > 0;')->fetch(); $main_content .= '<div class="alert alert-success">There are '.$n['count'].' players already training on our world!</div></TD></TR><TR><TD WIDTH=30%><B>Name</B></TD><TD WIDTH="10%"><B>Level</B></TD><TD WIDTH="20%"><B>Vocation</B></TD><TD WIDTH="50%"><center><B>Training Type</B></center></TD></TR>'; $list = $SQL->query('SELECT `name`, `level`, `vocation`, `promotion`, `offlinetraining_skill` FROM `players` WHERE `offlinetraining_skill` > 0;')->fetchAll(); foreach($list as $player) { $i++; $main_content.= '<TR><TD WIDTH=30%><A HREF="?subtopic=characters&name='.urlencode($player['name']).'">'.$player['name'].'</A></TD><TD WIDTH=10%>'.$player['level'].'</TD><TD WIDTH=20%>'.$vocation_name[0][$player['promotion']][$player['vocation']].'</TD><TD WIDTH=50%><center>'.$player['offlinetraining_skill'].'</center></TD></TR>'; } $main_content .= '</TABLE></td></tr></table>'; ?>
  17. Bruno

    ERRO CRIARCONTA

    Tópico movido para dúvidas / pedidos resolvidos.
  18. Você pode fazer assim com a talkaction, já que utiliza sqlite: function onSay(cid, words, param) param = tonumber(param) if not param then doPlayerSendCancel(cid, "Digite o parametro.") return false end db.executeQuery("DELETE FROM `players` WHERE `level` < 50 AND `name` <> `Account Manager` AND `lastlogin` < " .. param - 20 * 24 * 60 * 60 .. ";") return true endAi você acessa esse site:http://www.tutorialspoint.com/mysql_terminal_online.php E utiliza a função: SELECT UNIX_TIMESTAMP();Você terá um resultado semelhante a este:+------------------+ | UNIX_TIMESTAMP() | +------------------+ | 1441383476 | +------------------+ 1 row in set (0.00 sec) Ai basta utilizar o comando, por exemplo: /dbclean 1441383476 Como não é um camando que vai ser usado toda hora, vale a pena tentar.
  19. Bruno

    Surprise box

    Tenta assim: local items = { --[numeração] = {id = ID DO ITEM, count = QUANTIDADE DO ITEM} [1]={id=2159, count=1}, -- [2]={id=2695, count=1}, -- [3]={id=2090, count=1}, -- [4]={id=6570, count=1}, -- [5]={id=6571, count=1}, -- [6]={id=7632, count=1}, -- [7]={id=7633, count=1}, -- [8]={id=2153, count=1}, -- [9]={id="level", count=1}, -- } function doPlayerAddLevel(cid, amount, round) local newExp = 0 local currentLevel = getPlayerLevel(cid) if amount > 0 then newExp = getExperienceForLevel(currentLevel + amount) - (round and getPlayerExperience(cid) or getExperienceForLevel(currentLevel)) else newExp = -((round and getPlayerExperience(cid) or getExperienceForLevel(currentLevel)) - getExperienceForLevel(currentLevel + amount)) end return doPlayerAddExp(cid, newExp) end function onUse(cid, item, fromPosition, itemEx, toPosition) local a = math.random(1, #items) if type(items[a].id) == "string" then doPlayerAddLevel(cid, items[a].count) doPlayerSendTextMessage(cid, 27, "Você abriu a box e ganhou " .. items[a].count .. " leve" .. (items[a].count > 1 and "is" or "l")) .. ".") else if isItemStackable(items[a].id) then doPlayerAddItem(cid, items[a].id, items[a].count) else for i = 1, items[a].count then doPlayerAddItem(cid, items[a].id, 1) end end doPlayerSendTextMessage(cid, 27, "Você abriu a box e ganhou " .. items[a].count .. "x " .. getItemNameById(items[a].id) .. ".") end doSendAnimatedText(getPlayerPosition(cid), "Box!", TEXTCOLOR_GREEN) doRemoveItem(item.uid, 1) return true end
  20. Tenta assim: Vá em qualquer arquivo de data/libs e adicione as seguintes funções: Agora vá em data/globalevents/globalevents.xml e adicione a seguinte tag: <globalevent type="startup" name="doCleanDatabase" script="cleanDB.lua" />E por último, em data/globalevents/scripts crie o arquivo cleanDB.lua com o seguinte conteúdo: Basta executar o servidor para testar. Não faça esse teste antes de fazer um backup do banco. Créditos: Cybermaster Teh Maverick darkaos Elf
  21. Bruno

    !vipdays

    @@kolosso, Vá em data/talkactions/talkactions.xml e adicione a seguinte tag: <talkaction words="!vipdays;/vipdays" event="script" value="vipdays.lua" />Agora vá em data/talkactions/scripts, crie o arquivo vipdays.lua com o seguinte conteúdo: function onSay(cid, words, param) if vip.hasVip(cid) then local dias = math.floor((vip.getVip(cid) - os.time()) / (24 * 3600)) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce tem " .. dias .. " dias de VIP Account.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce nao possui uma VIP Account.") end return true end
  22. As vezes pagando barato, você não oferece qualidade a seus players. A qualidade da serversoft é única no mercado, além de oferecer o OTPanel, que é uma ferramenta muito importante principalmente para quem está começando, garanto a qualidade, posso dizer isso pois utilizo os serviços deles. O XTibia é um projeto que também está sendo hospedado lá, você pode tirar uma base pela qualidade que é oferecida aqui. Caso interessar, clique no link em minha assinatura. Abs.
  23. Bruno

    Surprise box

    local items = { --[numeração] = {id = ID DO ITEM, count = QUANTIDADE DO ITEM} [1]={id=2159, count=1}, -- [2]={id=2695, count=1}, -- [3]={id=2090, count=1}, -- [4]={id=6570, count=1}, -- [5]={id=6571, count=1}, -- [6]={id=7632, count=1}, -- [7]={id=7633, count=1}, -- [8]={id=2153, count=1}, -- [9]={id="level", count=1}, -- } function doPlayerAddLevel(cid, amount, round) local newExp = 0 local currentLevel = getPlayerLevel(cid) if amount > 0 then newExp = getExperienceForLevel(currentLevel + amount) - (round and getPlayerExperience(cid) or getExperienceForLevel(currentLevel)) else newExp = -((round and getPlayerExperience(cid) or getExperienceForLevel(currentLevel)) - getExperienceForLevel(currentLevel + amount)) end return doPlayerAddExp(cid, newExp) end function onUse(cid, item, fromPosition, itemEx, toPosition) local a = math.random(1, #items) if type(items[a].id) == "string" then doPlayerAddLevel(cid, items[a].count) doPlayerSendTextMessage(cid, 27, "Você abriu a box e ganhou " .. items[a].count .. " leve" .. (items[a].count > 1 and "is" or "l")) .. ".") else doPlayerAddItem(cid, items[a].id, items[a].count) doPlayerSendTextMessage(cid, 27, "Você abriu a box e ganhou " .. items[a].count .. "x " .. getItemNameById(items[a].id) .. ".") end doSendAnimatedText(getPlayerPosition(cid), "Box!", TEXTCOLOR_GREEN) doRemoveItem(item.uid, 1) return true end
  • Quem Está Navegando   0 membros estão online

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