Ir para conteúdo

Sekk

Membro
  • Registro em

  • Última visita

Solutions

  1. Sekk's post in (Resolvido)Help corrigir erro mysql was marked as the answer   
    Pode ser q esse tfs n aceita sqlite, somente mysql
  2. Sekk's post in (Resolvido)Converter Talk em Action was marked as the answer   
    @JcA
     
  3. Sekk's post in (Resolvido)Limite de level was marked as the answer   
    Boa noite.
     
    Primeiro vou explicar uma coisa:
    O limite não é de level, e sim de exp. Tipo, O limite não é lvl 717217, o limite é exp 18.446.744.073.709.551.615 tendeu? Em C++(pelo que eu entendi), não conseguimos mandar um numero inteiro pro tfs falando q aquele é o lvl maximo, mandamos o exp.
     
    Então, a primeira coisa a fazer e diminuir o xp dos monstros do server.
    segundo, em player.h das sources, vc procura por
    static uint64_t getExpForLevel(uint32_t lv) Vai estar tipo isso:
    static uint64_t getExpForLevel(uint32_t lv) { lv--; return ((50ULL * lv * lv * lv) - (150ULL * lv * lv) + (400ULL * lv)) / 3ULL; } Mude para isso
    static uint64_t getExpForLevel(int32_t lv) { lv--; return ((150ULL * lv * lv) - (50ULL * lv * lv) + (1200ULL)) / 3ULL; }  
    Nesse caso, o maximo de LEVEL vai ser +- 250.000.000.
     
    Se vc entende ingles, aconselho a seguir o próprio tópico do Gesior pra entender tudo como funciona e alterar ao seu gosto.
     
    https://otland.net/threads/c-how-to-increase-maximum-level-on-server.230364/
     
     
    Obs.: Quando vc alterar o player.h e for compilar, vc precisa dar REBUILD
  4. Sekk's post in Equivalente a math.random? was marked as the answer   
    Resolvido!
     
     
    Fazer o seguinte:
     
    #include <ctime>
    #include <cstdlib>
     
    dentro do int main colocar:
     
    srand(time(NULL));
     
    e usar o seguinte codigo para randomizar:
     
     
    rand() % 10; // 10 é a quantidade de valores que pode pegar, no caso, 10 valores(entre 0 e 9)
     
    Se for colocar algum valor minimo, por exemplo quero 10 numeros, e o inicial é 3:
     
    rand() % 10 + 3; // primeiro numero: 0+3=3.... segundo: 1+3=4..... ultimo: 9+3=12
  5. Sekk's post in (Resolvido)Erro no Dev-Cpp 4.9.9.2 was marked as the answer   
    desculpe kkkkk, ja aconteceu cmg isso, mas ai desisti de tentar, ai um tempo dps voltou tbm kkkkkk
  6. Sekk's post in (Resolvido)bloqueio was marked as the answer   
    @martimtiburcio
     
     
    eu estranhei seu game.cpp pois parecia ja ter sido editado  uahuahauh tenta ai
    Desktop.rar
  7. Sekk's post in (Resolvido)Quest, escolha de item was marked as the answer   
    precisa fazer um script de action assim:
    em actions.xml vc coloca
    <action actionid="9995" script="nomedoarquivo.lua" /> <action actionid="9996" script="nomedoarquivo.lua" /> <action actionid="9997" script="nomedoarquivo.lua" /> <action actionid="9998" script="nomedoarquivo.lua" /> <action actionid="9999" script="nomedoarquivo.lua" /> obs.: as 5 tags usam o mesmo arquivo.
     
    agora no arquivo .lua vc coloca isso:
     
    Nesse script ta configurado para 5 baús, para remover um é só vc remover isso:
    if item.aid == XXXX then if stor <= 0 then doPlayerSendTextMessage(cid,22,"Parabens, voce recebeu seu premio!") doPlayerAddItem(cid,XXXX,1) -- item que vai dar ao player setPlayerStorageValue(cid,100,1) else doPlayerSendTextMessage(cid,22,"Voce ja recebeu seu premio.") end end e para adicionar é o mesmo esquema.
     
    No RME vc adiciona as actionids referentes ao script nos baús
  8. Sekk's post in (Resolvido)Erro end, else, function... help? was marked as the answer   
    function onUse(cid, item, frompos, item2, topos) if (isInArray({2, 6, 10}, getPlayerVocation(cid))) then AtiveGem(cid, item) elseif getPlayerStorageValue(cid, 45783) > 0 then doPlayerSendCancel(cid, "Você já está sob o efeito de uma Magic Gem.") end return true end  
  9. Sekk's post in (Resolvido)Impedir que script deixe de funcionar ao logar was marked as the answer   
    Quando o playere desloga, o script logout entra em ação.
    Deleta esse creaturescript
    <event type="logout" name="perderefeito" event="script" value="perderefeito.lua"/>
     
    e o script referente a ele tbm, alem de tirar o registro do login.lua
  10. Sekk's post in (Resolvido)Não reconhecer do group 4+ was marked as the answer   
    No lugar da linha do IF coloca isso:
    if (getPlayerLevel(cid) < 130 and getPlayerGroupId(cid) < 4) then
     
    To fora de casa, se vc n entendeu eu explico dps
  11. Sekk's post in (Resolvido)Alguém pode me dar uma força? was marked as the answer   
    @tirso
     
    <action itemid="9004" event="script" value="vipkyndrai"/>  
     
     
    Tenta ai, se funcionar acho q vc tem uma noção de como alterar o script
  12. Sekk's post in (Resolvido)[Site] Erro ao Comprar item no shop was marked as the answer   
    O negocio da guild, vai em config.php e procura isso
    $config['site']['guild_need_pacc'] = 1; // guild need pacc 0 / 1 e troca por
    $config['site']['guild_need_pacc'] = 0; // guild need pacc 0 / 1  
    O do cast vou ter q dar uma olhada depois, a nao ser que alguem resolva antes.
     
    O do demon faz o seguinte:
     
    Vá em:
    C:\xampp\htdocs\layouts\tibiacom e procure o arquivo layout_config.ini e abra.
     
    Na linha 'logo_monster' vc edita qual monstro vc quer que apareça(a imagem deve ser .gif e deve estar em htdocs/images/monsters), pode ser um gif aleatório q vc queira, mas coloque na pasta monsters pra não precisar alterar mais nenhum arquivo
  13. Sekk's post in (Resolvido)Promotion item e Talk was marked as the answer   
    Qual o seu tfs?
     
    talkaction(eu uso ela)
    function onSay(cid, words, param) local vocs = { [1] = 5, -- master sorcerer [2] = 6, -- elder druid [3] = 7, -- royal paladin [4] = 8, -- elite knight } local newvoc = vocs[getPlayerVocation(cid)] local price = 20000 if getPlayerPremiumDays(cid) > 0 then if getPlayerMoney(cid) >= price then if vocs[getPlayerVocation(cid)] then doPlayerSetVocation(cid,newvoc) doPlayerRemoveMoney(cid, price) doSendAnimatedText(getPlayerPosition(cid),"PROMOTED", 79) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_BLUE) setPlayerStorageValue(cid, 21323, newvoc) else doPlayerSendCancel(cid, "Voce nao pode ser promovido.") doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) end else doPlayerSendCancel(cid, "Voce nao tem dinheiro suficiente.") doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) end else doPlayerSendCancel(cid, "Voce precisa ser premium para usar esse comando.") doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) end return true end  
     
    seu script:
     
  14. Sekk's post in (Resolvido)Add [DNT] Vip System was marked as the answer   
    @ledcar eu jurava q tinha editado o script ali em cima hauhsuha
     
    function onUse(cid, item, fromPosition, itemEx, toPosition) local days = 30 -- coloque os dias que serão a VIP! local daysvalue = days * 24 * 60 * 60 local storageplayer = getPlayerStorageValue(cid, 13500) local timenow = os.time() if getPlayerStorageValue(cid, 13500) - os.time() <= 0 then time = timenow + daysvalue else time = storageplayer + daysvalue end doRemoveItem(item.uid, 1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.") setPlayerStorageValue(cid, 13500, time) local name = getCreatureName(cid) db.query("UPDATE `players` SET `name` = '[Vip] "..name.."' WHERE `id` = "..getPlayerGUID(cid)..";") doRemoveCreature(cid) --local quantity = math.floor((getPlayerStorageValue(cid, 13500) - timenow)/(24 * 60 * 60)) --doSendMagicEffect(getPlayerPosition(cid), math.random(28,30)) --doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.") return TRUE end  
  15. Sekk's post in (Resolvido)correção convert time do script was marked as the answer   
    na vdd, se vc notar bem, vc está transformando 1 hora em 1 segundo, pois config.time(1) * 1000 = 1000ms = 1s
     
    Então o certo é deixar
        setPlayerStorageValue(cid, config.storage, os.time() + config.time * 60 * 1000)     addEvent(endExpRate, config.time * 60 * 1000, cid)  
  16. Sekk's post in (Resolvido)Correção em um script action was marked as the answer   
    Temos umas respostas com isso:
     
    1. As outfits eram para players PREMIUM e precisavam de ACCESS 5, ou seja, precisava ser da staff. Isso de acordo com o outfits.xml
    <outfit id="33" access="5" premium="yes"> <list gender="0-3" lookType="264" name="Brutetamer"/> </outfit> 2. No script vc n alterou o id da outfit
     
    Mas tudo bem, vamos arrumar agora.
     
    Troque seu outfits.xml por esse:
     
    E troque seu script por esse:
     
     
  17. Sekk's post in (Resolvido)Baú que sorteia 4 itens ou + was marked as the answer   
    n faço ideia se funciona
     
    <actions actionid="9918" event="script" value="random.lua"/>  
    function onUse(cid, item, fromPosition, itemEx, toPosition) local items = {6497,2472,2471} -- defina seus itens local r = items[math.random(#items)] local m = 2160 -- item q usa como moeda local q = 10 -- preço if doPlayerRemoveItem(cid, m, q) then doPlayerAddItem(cid, r, 1) doPlayerSendTextMessage(cid,22,"Você ganhou uma "..getItemNameById(r)) doBroadcastMessage("O player "..getCreatureName(cid).." acabou de ganhar um "..getItemNameById(r).." do random box", 22) else doPlayerSendCancel(cid, "Sorry, you don't have enough money") end return true end  
     
    coloca a actionid 9918 no bau pelo rme
  18. Sekk's post in (Resolvido)Ajuda com check outfit was marked as the answer   
    local water = {490, 491, 492, 493, 4608, 4609, 4610, 4611, 4612, 4613, 4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625} local combat = createCombatObject() local meteor = createCombatObject() setCombatParam(meteor, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatParam(meteor, COMBAT_PARAM_EFFECT, CONST_ME_ICEATTACK) setCombatFormula(meteor, COMBAT_FORMULA_LEVELMAGIC, -7.2, -400, -7.3, -400) local meteor_water = createCombatObject() setCombatParam(meteor_water, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(meteor_water, COMBAT_PARAM_EFFECT, CONST_ME_LOSEENERGY) setCombatFormula(meteor_water, COMBAT_FORMULA_LEVELMAGIC, -7.2, -400, -7.3, -400) combat_arr = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} } local combat_area = createCombatArea(combat_arr) setCombatArea(combat, combat_area) local function meteorCast(p) doCombat(p.cid, p.combat, positionToVariant(p.pos)) end function onTargetTile(cid, pos) if (math.random(0, 0) == 0) then local ground = getThingfromPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 1}) if (isInArray(water, ground.itemid) == TRUE) then local newpos = {x = pos.x + 9, y = pos.y - 8, z = pos.z} doSendDistanceShoot(newpos, pos, 28) addEvent(meteorCast, 100, {cid = cid, pos = pos, combat = meteor_water}) else local newpos = {x = pos.x + 9, y = pos.y - 8, z = pos.z} doSendDistanceShoot(newpos, pos, 28) addEvent(meteorCast, 100, {cid = cid,pos = pos, combat = meteor}) end end end setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile") local o = getCreatureOutfit(cid) local stun = createConditionObject(CONDITION_PARALYZE) function onCastSpell(cid, var) if o.lookType == 144 and o.lookAddons == 3 then setConditionParam(stun, CONDITION_PARAM_TICKS, 20000) setConditionFormula(stun, -0.9, 1, -0.9, 1) setCombatCondition(meteor, stun) doCombat(cid, combat, var) elseif o.lookType == 148 and o.lookAddons == 3 then setConditionParam(stun, CONDITION_PARAM_TICKS, 20000) setConditionFormula(stun, -0.9, 1, -0.9, 1) setCombatCondition(meteor, stun) doCombat(cid, combat, var) else doCombat(cid, combat, var) end local function stunEffect(cid) doSendMagicEffect(getThingPos(cid), CONST_ME_STUN) end  
  19. Sekk's post in (Resolvido)Aumentar area da magia was marked as the answer   
    Sim.
    No exemplo do exori gran, a função que defini a area dele é a seguinte:
    local area = createCombatArea(AREA_SQUARE1X1) setCombatArea(combat, area) Em 'AREA_SQUARE1X1'. No caso, essa area é em quadrado, vc poderia colocar 5x5, então 5 quadrados em todas as direções partindo do seu char são afetados pela magia.
     
    Existe outro tipo de area:
    O exevo gran mas frigo por exemplo:
    local area = createCombatArea(AREA_CROSS5X5) setCombatArea(combat, area) 'AREA_CROSS5X5' é assim:
    {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0} 1 - spell
    3 - vc
    0 - nada
     
    Você pode ver todos os tipos de areas no arquivo data/spells/lib/spells.lua
     
    Alias, você n precisa se limitar a usar apenas os descritos na lib, vc pode criar suas próprias areas dentro do script da spell, ou adicionando na lib, exemplo:
    Adicionando na lib:
    AREA_FUCK = { {0, 0, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 1, 0, 0, 0}, {0, 0, 1, 0, 1, 0, 1, 0, 0}, {0, 0, 1, 0, 1, 0, 1, 0, 0}, {0, 0, 0, 1, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 3, 0, 0, 0, 0}  
    Coloca isso na lib, ai no script da spell, é só escrever AREA_FUCK
    Vc tbm criar essa area diretamente no script da spell.
    Se quiser o meu, deixei em anexo.
    spells.lua
  20. Sekk's post in (Resolvido)Modificar Reset System was marked as the answer   
    O Vodkart me ajudou por PM, ele conseguiu resolver o problema e deixou o script como eu queria haha, ai vai a solução:
     
    data/talkactions/scripts crie um arquivo chamado reset.lua e adicione isso nele:
     
    Em talkactions.xml adicione a seguinte tag:
    <talkaction words="!reset" event="script" value="reset.lua"/>  
     
    Agora para mostrar o reset no look dos players e no seu próprio look, vá em:
    data/creaturescripts/scripts e crie um arquivo chamado resetlook.lua e adicione isso nele:
     
    E em creaturescripts.xml adicione as tags:
    <event type="login" name="resetlook_register" event="script" value="resetlook.lua"/> <event type="look" name="resetlook" event="script" value="resetlook.lua"/>  
  21. Sekk's post in (Resolvido)Comando para mostrar HP/Mana por %% was marked as the answer   
    Precisa editar protocolgame.cpp nas sources
  22. Sekk's post in (Resolvido)Ajuda com Autoloot System was marked as the answer   
    RESOLVIDO! @Vodkart me ajudou, e aqui está a solução:
     
    mods/autoloot.xml
     
     
    data/actions/scripts/aloot.lua
     
    data/actions/actions.xml
    <action itemid="XXXX" script="aloot.lua"/>  
     
    Obrigado cara xD
  23. Sekk's post in (Resolvido)Como executa query? was marked as the answer   
    precisa nao... usa esse aqui ó
     
    Pra executar query nele:
    1 - nos icones, abra o 3o da direita pra esquerda(Open SQL query editor)
    2 - cole a query nele
    3 - aperte F9 pra executar
    sqlitestudio-2.1.4.exe
  24. Sekk's post in (Resolvido)Ajustando Script 2 was marked as the answer   
    function onSay(cid, words, param, channel) local exstorage = 45714 -- any empty storage local time = 5*60 -- h*m*s (5 min = 5*60) if exhaustion.check(cid, exstorage) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Sorry, you need to wait 6 minutes before changing outfit again.") return TRUE end if not isInParty(cid) or getPlayerParty(cid) ~= cid then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não é líder de uma party") end local outfit = getCreatureOutfit(cid) local addons = outfit for _, cid2 in ipairs(getPartyMembers(cid)) do outfit.lookAddons = 0 doCreatureChangeOutfit(cid2, outfit) doPlayerSendTextMessage(cid2, MESSAGE_STATUS_CONSOLE_BLUE, "Outfit da party trocado.") if canPlayerWearOutfit(cid2, outfit.lookType, addons) then outfit.lookAddons = addons doCreatureChangeOutfit(cid2, outfit) doSendMagicEffect(getCreaturePosition(cid2), 66) exhaustion.set(cid, exstorage, time) return true elseif addons == 3 then outfit.lookAddons = (canPlayerWearOutfit(cid2, outfit.lookType, 1) and 1) or (canPlayerWearOutfit(cid2, outfit.lookType, 2) and 2) or 0 doCreatureChangeOutfit(cid2, outfit) doSendMagicEffect(getCreaturePosition(cid2), 66) exhaustion.set(cid, exstorage, time) end end return true end  
  25. Sekk's post in (Resolvido)Mount Doll TFS 1.2 was marked as the answer   
    Acusou erro na ultima linha... Ele quis comentar o site, porém colocou apenas um hífen...
     
    Deixa assim a ultima linha :
    end -- See more at: http://www.tibiaface.com/t438-talkactions-addon-doll-y-mount-doll-fixe-para-tfs-1-0#sthash.K1Pz7BWc.dpuf  

Informação Importante

Confirmação de Termo