Делать ТОЛЬКО транзакцией (как в банках) для исключения читов!
1. проверить пустой ли промежуточный буфер (активна ли транзакция)
2. запомнить показатель, положив в буфер
3. уменьшить число объекта (свойство) - опустошить бутылку
4. увеличить показатель героя на кол-во из буфера.
5. очистить буфер
Это отдельный класс-манипулятор перемещения энергий в игровом мире.
1. В e-mail-серверах обычно есть запуск команд сразу после получения и до отправки писем.
2. Сокет откройте перед e-mail-сервером на и ловите трафик.
Например: [port 25] -> [socket-sniffer-transport: PHP/node.js/other] -> [port 26 (E-Mail server)]
(из вне коннект на 26 - закрыть, соотв.)
1. Задача - найти границы и сделать доп. изображение с обводкой. (на сервере)
2. Смените картинку на созданную сервером (с обводкой) при наведении "мышки" через onhover и поправкой центрирования (CSS).
PS: стандартного - пока ничего нет.
UPD: jsfiddle.net/0pnLL380/5
function compare(a,b) {
if(a==b) return 0;
var m=Math.min(a.length,b.length);
var r=m+1;
if (m>0) {
for (var i=0;i<m;i++)
if (a[i]!=b[i]) {
r=i+1;
break;
}
} else r=1;
return r;
}
var a='Hello';
var b='He_ll_o';
document.write(compare(a,b)); //3
самое простое:
1. вначале всегда смотрите на кол-во объектов при выборке, прежде чем получать сами строки выборки.
2. ограничьте максимальное кол-во записей до 1, если ищите по ID или ключу.
3. увеличьте размер кэша
4. используйте одну транзакцию вместо нескольких подряд.
5. не используйте связанные таблицы в сложных выборках: делайте 2-3 выборки отдельно в одной транзакции через переменные...
А, ну еще ОБЯЗАТЕЛЬНО: перепроектируйте базу в 3НФ!
Используйте исключительно Win32 native API в Delphi....
и без всяких лишних компонент и библиотек!
И будет Вам счастье. (<10Кб должен получиться exe-шник)
Вы сейчас смотрите в сторону "удержания технологий".
А попробуйте посмотреть в сторону "наращивания".
Толку будет больше, т.к. тут все будет упираться во время, а не в унесли/не-унесли инфу...
Делайте постоянно что-то новое и расширяйте бизнес.
Законченный базовый функционал (CORE) закрывайте через модульные API.
А в разработку людям давайте уже новые модули.
И.... работать и работать)