Postado Junho 29, 2023 1 ano Uso TFS 1.2 downgrade para 8.0 e Otclient V8... Estou tentando botar mais luz padrão do personagem somente para premium account, porém quero que essa luz extra só apareça para a pessoa e não para todos ao redor, por isso estou modificando pelo Otclient. Tentei fazer desse jeito mas não deu certo, nada acontece.. Alguém tem alguma ideia? creature.cpp // local player always have a minimum light in complete darkness if (isLocalPlayer()) { LocalPlayerPtr player = g_game.getLocalPlayer(); if (player->isPremium() == true) { light.intensity = std::max<uint8>(light.intensity, 6); } else { light.intensity = std::max<uint8>(light.intensity, 2); } if (light.color == 0 || light.color > 215) light.color = 215; }
Postado Junho 30, 2023 1 ano // local player always has a minimum light in complete darkness if (isLocalPlayer()) { LocalPlayerPtr player = g_game.getLocalPlayer(); if (player->isPremium()) { light.intensity = std::max<uint8>(light.intensity, 6); } else { light.intensity = std::max<uint8>(light.intensity, 2); } if (light.color == 0 || light.color > 215) { light.color = 215; } // Apply the light only to the local player g_map.setLight(player->getPosition(), light); } testa ai pra ver se funciona ou nao
Postado Junho 30, 2023 1 ano Autor 1 hora atrás, Vortex disse: // local player always has a minimum light in complete darkness if (isLocalPlayer()) { LocalPlayerPtr player = g_game.getLocalPlayer(); if (player->isPremium()) { light.intensity = std::max<uint8>(light.intensity, 6); } else { light.intensity = std::max<uint8>(light.intensity, 2); } if (light.color == 0 || light.color > 215) { light.color = 215; } // Apply the light only to the local player g_map.setLight(player->getPosition(), light); } testa ai pra ver se funciona ou nao Mas ai tem a parte de diferenciar de um player free pra premium que não funcionou nesse if (player->isPremium() ) q eu coloquei.. ficou light.intensity, 2 pra todos
Postado Junho 30, 2023 1 ano if (isLocalPlayer()) { LocalPlayerPtr player = g_game.getLocalPlayer(); if (player->isPremium()) { light.intensity = std::max<uint8>(light.intensity, 6); if (light.color == 0 || light.color > 215) { light.color = 215; } } else { light.intensity = std::max<uint8>(light.intensity, 2); } g_map.setLight(player->getPosition(), light); } creio que vai funcionar! Editado Junho 30, 2023 1 ano por Vortex (veja o histórico de edições)
Postado Junho 30, 2023 1 ano Autor 54 minutos atrás, Vortex disse: if (isLocalPlayer()) { LocalPlayerPtr player = g_game.getLocalPlayer(); if (player->isPremium()) { light.intensity = std::max<uint8>(light.intensity, 6); if (light.color == 0 || light.color > 215) { light.color = 215; } } else { light.intensity = std::max<uint8>(light.intensity, 2); } g_map.setLight(player->getPosition(), light); } creio que vai funcionar! Essa função setLight n recebe 2 argumentos e ainda o personagem free account ficou sem a luz com intensidade 2, e ainda por cima a luz intensidade 6 pegou no personagem premium mas aparece para outra pessoa na tela também 9 minutos atrás, Jordan422 disse: Essa função setLight n recebe 2 argumentos e ainda o personagem free account ficou sem a luz com intensidade 2, e ainda por cima a luz intensidade 6 pegou no personagem premium mas aparece para outra pessoa na tela também Eu tava enganado.. ainda nao funcionou o if isPremium, então talvez tenho q fazer outra verificação para verificar se tem premium na Acc e não no player
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.