Por FlamesAdmin, 17 de abr. de 2020 em Programação
info
Grupo: Infante
Registrado: 28/01/12
Posts: 1.6k
Reputação: +262
Gênero: Masculino
9 horas atrás, Yan18 disse: Teria que olhar todo o código para ver.
Teria que olhar todo o código para ver.
Eu até tenho uma 0.4 aqui com isso corrigido, mas não consegui extrair os códigos com a correção
if(lootBlock.actionId != -1) tmpItem->setActionId(lootBlock.actionId);
Desse jeito /\ o servidor crasha quando dropa
Minhas sources:
Item* MonsterType::createLoot(const LootBlock& lootBlock) { uint16_t item = lootBlock.ids[0], random = Monsters::getLootRandom(); if(lootBlock.ids.size() > 1) item = lootBlock.ids[random_range((size_t)0, lootBlock.ids.size() - 1)]; Item* tmpItem = NULL; if(Item::items[item].stackable) { if(random < lootBlock.chance) tmpItem = Item::CreateItem(item, (random % lootBlock.count + 1)); } else if(random < lootBlock.chance) tmpItem = Item::CreateItem(item, 0); if(!tmpItem) return NULL; if(lootBlock.subType != -1) tmpItem->setSubType(lootBlock.subType); if(lootBlock.actionId != -1) tmpItem->setAttribute("aid", lootBlock.actionId); if(lootBlock.uniqueId != -1) tmpItem->setUniqueId(lootBlock.uniqueId); if(!lootBlock.text.empty()) tmpItem->setText(lootBlock.text); return tmpItem; }
Editado Abril 24 por FlamesAdmin
info
Grupo: Infante
Registrado: 28/01/12
Posts: 1.6k
Reputação: +262
Gênero: Masculino
Eu até tenho uma 0.4 aqui com isso corrigido, mas não consegui extrair os códigos com a correção
if(lootBlock.actionId != -1) tmpItem->setActionId(lootBlock.actionId);Desse jeito /\ o servidor crasha quando dropa
Minhas sources:
Item* MonsterType::createLoot(const LootBlock& lootBlock) { uint16_t item = lootBlock.ids[0], random = Monsters::getLootRandom(); if(lootBlock.ids.size() > 1) item = lootBlock.ids[random_range((size_t)0, lootBlock.ids.size() - 1)]; Item* tmpItem = NULL; if(Item::items[item].stackable) { if(random < lootBlock.chance) tmpItem = Item::CreateItem(item, (random % lootBlock.count + 1)); } else if(random < lootBlock.chance) tmpItem = Item::CreateItem(item, 0); if(!tmpItem) return NULL; if(lootBlock.subType != -1) tmpItem->setSubType(lootBlock.subType); if(lootBlock.actionId != -1) tmpItem->setAttribute("aid", lootBlock.actionId); if(lootBlock.uniqueId != -1) tmpItem->setUniqueId(lootBlock.uniqueId); if(!lootBlock.text.empty()) tmpItem->setText(lootBlock.text); return tmpItem; }Editado Abril 24 por FlamesAdmin