Ir para conteúdo

lukovisk

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    lukovisk deu reputação a alissonfgp em (Resolvido)[ERRO] Gesior não entrega Item comprado no SHOP   
    shop.lua
     

    -- ### CONFIG ### -- message send to player by script "type" (types you can check in "global.lua") SHOP_MSG_TYPE = 19 -- time (in seconds) between connections to SQL database by shop script SQL_interval = 30 -- ### END OF CONFIG ### function onThink(interval, lastExecution)     local result_plr = db.storeQuery("SELECT * FROM z_ots_comunication")     if(result_plr ~= false) then         repeat             local id = tonumber(result.getDataInt(result_plr, "id"))             local action = tostring(result.getDataString(result_plr, "action"))             local delete = tonumber(result.getDataInt(result_plr, "delete_it"))             local cid = getPlayerByName(tostring(result.getDataString(result_plr, "name")))             if(cid) then                 local itemtogive_id = tonumber(result.getDataInt(result_plr, "param1"))                 local itemtogive_count = tonumber(result.getDataInt(result_plr, "param2"))                 local container_id = tonumber(result.getDataInt(result_plr, "param3"))                 local container_count = tonumber(result.getDataInt(result_plr, "param4"))                 local add_item_type = tostring(result.getDataString(result_plr, "param5"))                 local add_item_name = tostring(result.getDataString(result_plr, "param6"))                 local received_item = 0                 local full_weight = 0                 if(add_item_type == 'container') then                     container_weight = getItemWeight(container_id, 1)                     if(isItemRune(itemtogive_id)) then                         items_weight = container_count * getItemWeight(itemtogive_id, 1)                     else                         items_weight = container_count * getItemWeight(itemtogive_id, itemtogive_count)                     end                     full_weight = items_weight + container_weight                 else                     full_weight = getItemWeight(itemtogive_id, itemtogive_count)                     if(isItemRune(itemtogive_id)) then                         full_weight = getItemWeight(itemtogive_id, 1)                     else                         full_weight = getItemWeight(itemtogive_id, itemtogive_count)                     end                 end                 local free_cap = getPlayerFreeCap(cid)                 if(full_weight <= free_cap) then                     if(add_item_type == 'container') then                         local new_container = doCreateItemEx(container_id, 1)                         local iter = 0                         while(iter ~= container_count) do                             doAddContainerItem(new_container, itemtogive_id, itemtogive_count)                             iter = iter + 1                         end                         received_item = doPlayerAddItemEx(cid, new_container)                     else                         local new_item = doCreateItemEx(itemtogive_id, itemtogive_count)                         received_item = doPlayerAddItemEx(cid, new_item)                     end                     if(type(received_item) == "number" and received_item == RETURNVALUE_NOERROR) then                         doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, 'You received >> '.. add_item_name ..' << from OTS shop.')                         db.query("DELETE FROM `z_ots_comunication` WHERE `id` = " .. id .. ";")                         db.query("UPDATE `z_shop_history_item` SET `trans_state`='realized', `trans_real`=" .. os.time() .. " WHERE id = " .. id .. ";")                     else                         doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_name ..' << from OTS shop is waiting for you. Please make place for this item in your backpack/hands and wait about '.. SQL_interval ..' seconds to get it.')                     end                 else                     doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_name ..' << from OTS shop is waiting for you. It weight is '.. full_weight ..' oz., you have only '.. free_cap ..' oz. free capacity. Put some items in depot and wait about '.. SQL_interval ..' seconds to get it.')                 end             end         until not result.next(result_plr)         result.free(result_plr)     end     return true end
  2. Gostei
    lukovisk deu reputação a Pedriinz em Bug Speed e Attack nos itens   
    Vou tentar explicar da melhor forma possivel, se liga:
    Quando você põe 100 de ataque, ele determina que o ataque daquela arma é de 100 pontos, correto?
    A partir do momento que você põe efeito holy nela ou qualquer outro e determina um valor, ele irá retirar esse valor da quantidade de pontos que você colocou no ataque e irá atribuir o dano elemental.
    Sacou a logica? 
     
    Se você tem uma arma de 100 de dano, e poe lá no items.xml, 30 de holy, então ele continuará sendo 100 de dano no total, porém 30pontos desse dano será dado em dano elemental.
    Então se você quer uma espada com 100 de fisico+30 de holy, você deve adicionar 130 no attack, e 30 no holy!
     

  3. Gostei
    lukovisk deu reputação a Pedriinz em Bug Speed e Attack nos itens   
    Po cara, utiliza a opção code quando for postar um código, ou coloca ele no pastebin.com
    Por que só de ver um código postado assim, da até uma broxada para lê-lo.
    Todavia, dei uma leve olhada na source e gostaria de te perguntar...
    quando você retira o elemento holy, ele funciona corretamente o atributo "attack" ?
     
    Creio ser algo aqui:
    else if(it.weaponType != WEAPON_AMMO && it.weaponType != WEAPON_WAND) { if(it.attack || it.extraAttack || (item && (item->getAttack() || item->getExtraAttack()))) { begin = false; s << " (Atk:"; if(it.hasAbilities() && it.abilities->elementType != COMBAT_NONE) { s << std::max((int32_t)0, int32_t((item ? item->getAttack() : it.attack) - it.abilities->elementDamage)); if(it.extraAttack || (item && item->getExtraAttack())) s << " " << std::showpos << int32_t(item ? item->getExtraAttack() : it.extraAttack) << std::noshowpos; s << " physical + " << it.abilities->elementDamage << " " << getCombatName(it.abilities->elementType); } else { s << int32_t(item ? item->getAttack() : it.attack); if(it.extraAttack || (item && item->getExtraAttack())) s << " " << std::showpos << int32_t(item ? item->getExtraAttack() : it.extraAttack) << std::noshowpos; } } Me confirme o que perguntei, por favor
  4. Gostei
    lukovisk deu reputação a xWhiteWolf em Bug Speed e Attack nos itens   
    então nao sei  tenta verificar na sua source em items.cpp pra ver como ele define
  5. Gostei
    lukovisk deu reputação a xWhiteWolf em Bug Speed e Attack nos itens   
    o itemid que vc tá editando é o 2424 e o id do item que tá na imagem é 2431.
  6. Gostei
    lukovisk deu reputação a xWhiteWolf em Bug Speed e Attack nos itens   
    pelo q entendi ele tá entendendo o attack como total. Tenta colocar 130 pq ai ele separa 30 pro holy e fica 100 de attack fisico.

Informação Importante

Confirmação de Termo