ariana greenblatt — лэндон герлфренд | abraham brooks |
paul mescal
daisy edgar-jones
Lee Know
Hwang Hyun-jin
Мамми потом поправит
Отредактировано ams (2025-11-15 20:16:57)
test ams |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » test ams » Тестовый форум » Общее
ariana greenblatt — лэндон герлфренд | abraham brooks |
paul mescal
daisy edgar-jones
Lee Know
Hwang Hyun-jin
Мамми потом поправит
Отредактировано ams (2025-11-15 20:16:57)
Банк
переработать
На чем заработать:
◘ заполнение хронологии и отношений — 15 cr;
— за ведение данного раздела (после выяснения отношений / создания эпизода заполнили блок с краткой информацией) 5 cr;
◘ приглашение друга на форум — 50 cr (после его первого поста);
◘ написание заявки на нужного персонажа — 20 cr;
◘ забрать персонажа из темы "хочу к вам" (после первого поста) — 50 cr;
◘ попадание на доску почета месяца (в любой категории, начисляются автоматически) — 30 cr;
◘ создание нового личного эпизода (каждому участнику) — 20 cr (после написания поста в эпизоде);
◘ создание нового сюжетного эпизода (каждому участнику) — 25 cr (после написания поста в эпизоде);
◘ закрытый личный эпизод до 10 постов (каждому участнику) — 30 cr;
◘ закрытый личный эпизод от 10 постов (каждому участнику) — 50 cr;
◘ закрытый сюжетный эпизод от 5 постов (каждому участнику) — 60 cr;◘ посты:
— до 4000 символов / пост в альтернативу — 20 cr;
— от 4000 до 7000 символов — 30 cr;
— от 7000 и выше — 40 cr;◘ графика для игроков:
— аватар / гиф — 20 cr;
— комплект — 30 cr;
— парный комплект — 70 cr;
— реклама / эпиграф для форума — 90 cr;◘ голосование в топах ежедневно в течение недели — 30 cr;
◘ первые 500 сообщений — 20 cr;
◘ последующие 500 сообщений — 10 cr;
◘ участие в квесте — 5 cr за каждый пост, плюс по завершению квеста, при условии, что доиграл до конца +30 cr;
◘ каждые 30 реклам форума — 5 cr;На что потратить:
◘ смена внешности персонажа после начала игры — 500 cr;
◘ выкуп внешности для заявки на три недели (при условии наличия заявки) — 250 cr;
◘ выкуп внешности для твинка на 2 недели (нельзя выкупать более 3х раз подряд) — 300 cr;
◘ третий и последующие персонажи — 900 cr;
◘ заказ рекламы с нужным персонажем на 2 недели — 250 cr;
◘ реклама нужного персонажа в гостевой / футоре на 2 недели — 150 cr;
◘ выкуп ингредиента или трав — 150 cr;
◘ выкуп зелья — 650 cr;
◘ подарки — 60 cr;
◘ персональные подарки — 100 cr;Ознакомиться и приобрести подарки / ингредиенты / зелья вы можете в этой теме.
Штрафы:
◘ долг (не написанный пост) в личный эпизод свыше 25 дней — 150 cr;
*по истечении срока в 25 дней с момента последнего поста игроку будет отправлено предупреждение, после которого у него есть возможность исправить ситуацию в течение недели. при условии исправления данная сумма кастар списана с его счета не будет. в ином случае:
— каждый последующий день просрочки будет стоить — 20 cr;
◘ долг в сюжетный личный эпизод свыше 35 дней — 200 cr;
*по истечении срока в 35 дней с момента последнего поста игроку будет отправлено предупреждение, после которого у него есть возможность исправить ситуацию в течение недели. при условии исправления данная сумма кастар списана с его счета не будет. в ином случае:
— каждый последующий день просрочки будет стоить — 30 cr;
◘ долг в квестовый эпизод свыше установленного очередностью срока при условии, что являетесь одной из центровых фигур — 200 cr + пропуск своей очереди в цепочке;
◘ за незаполненные отношения / хронологию в течение 30 дней — 100 cr;
*после создания эпизода необходимо обновить хронологию и отношения с персонажем в течение 30 дней. по истечении данного срока игроку, который не произвел обновления, будет отправлено предупреждение, после которого у него есть возможность исправить ситуацию в течение недели. в таком случае данная сумма кастар списана с его счета не будет. в ином случае:
— каждый последующий день просрочки будет стоить — 5 cr;ВНИМАНИЕ:
— перевод денежных средств между твинками производится без налога.
— при переводе другому игроку взимается налог в размере 10% от суммы перевода (но не менее 20 cr); минимальная сумма для перевода дс 150 cr.
забрать cr.:
Код:[b]за что:[/b] указываем ссылки [b]сумма:[/b] (указываем сколько было и стало)отдать cr.:
Код:[b]за что:[/b] (указываем что приобретаете и ссылки на изображения при необходимости) [b]общая стоимость:[/b] (указываем стоимость, сколько было и стало)перевести cr.:
Код:[b]кому:[/b] ссылка на профиль [b]сколько:[/b] (указываем сумму перевода, сколько было и стало)
Магазин
Система личной страницы
— название форума champagne
— тематика / локация форума - реал-лайф; Англия + Ирландия
— дизайн тест
— дизайн основа
— банковская система основа + магазин— банковская система тест
— правила + фак
— твинки и чьи они (система учета) для амс
— оформление анкет - иваня шаблоны (на доработку)
— оформление тем нужные и ко - иваня шаблоны (на доработку)
— оформление для новостей
— оформление гостевой
— оформление банка / магазина
— конкурсы (кп 30 дней) - иваня, но если будут идеи - накидывайте
— придумать плюшки для профиля— вступительные взносы (стартерпак) + система адаптации (дейка)— структура (скелет) форума (ну вот все эти разделы с гостевой, организацией и пр.) + названия к ним (для теста и основы)
*категории на английском, названия подфорумов на русском. описания к ним можно на английском, можно на русском лето
— смайлы / стикосы для общения (дейка)
— оформление рекламы для теста
— оформление рекламы для основы
— орг аватары для теста
— орг аватары для основы
— оформление первых соо
— личная страница
— текст для гостевой тест + основа лето
— шаблоны для нужников, анкеты и ко - иваня шаблоны (на доработку)
— путеводитель по странам и универам (матчасть по городу можно сделать типа «запрос в гугл: где я?»)
— акция "братство Тринити" (?)
— шаблон эпизода на основу - иваня шаблоны (на доработку)
— занятость + учет персонажей по городам и странам— краткое описание ко всем темам - лето
— шаблон личного звания на основу - иваня шаблоны (на доработку)
— социальная сеть
— шаблон принятия
— графика для магазина - иваня
— список достижений
— оформление достижений
— зарегать топ
— внести в банк пункт про "это интересно"
на тест:
1 день: просто набираем народ, флудим + реклама
1) пазлы с рекламой теста
2 день:
1) лотерея
2) путеводитель
3 день:
1) шаблон анкеты
2) упрощенный прием (домашние анкеты)
3) сбор эмоций для стикерпака
4 день:
1) банк для теста
5 день:
1) письма в бутылке
2) игра на интуицию
6 день: написать себе письмо в будущее. (можно будет проанализировать, чего они ожидают от проекта, мб амс, игроков)
7 день:
[html]<!-- включено по умолчанию -->
<div id="nota-lottery" class="nota-lottery" data-used="1, 5, 6, 7, 8, 11, 10, 13, 16, 18, 21, 25, 26, 30, 38, 41, 49"></div>
<script>
(() => {
const ROOT_ID = 'nota-lottery';
const root = document.getElementById(ROOT_ID);
if (!root) return;
// ==== �� Настройки (меняй под себя) ====
const TICKET_COUNT = 75; // общее количество билетов
const COLUMNS = 15; // количество колонок в ряду
const GRID_WIDTH = '970px'; // ЖЁСТКАЯ ширина сетки (пример: '900px', '100%', 'min(100%, 920px)')
// Полные URL изображений (можно указывать с любых хостингов)
const variantImages = [
'https://notafiles.ru/images/lottery/1.gif',
'https://notafiles.ru/images/lottery/1.gif',
'https://notafiles.ru/images/lottery/1.gif',
'https://notafiles.ru/images/lottery/1.gif',
'https://notafiles.ru/images/lottery/1.gif'
];
const usedImage = 'https://notafiles.ru/images/lottery/x.gif';
const T = { gridCls:'nl-grid', ticketCls:'nl-ticket', numCls:'nl-num', usedCls:'used' };
// ==== Стили ====
(function injectStyles(){
if (document.getElementById('nl-core-styles')) return;
const css = `
#${ROOT_ID}.{grid}{
display:grid;
grid-template-columns:repeat(${COLUMNS},minmax(0,1fr));
gap:8px;
width:100%;
max-width:${GRID_WIDTH};
}
#${ROOT_ID} .${T.ticketCls}{
display:flex;
flex-direction:column;
align-items:center;
gap:4px;
}
#${ROOT_ID} .${T.ticketCls} img{
width:100%;
height:auto;
display:block;
user-select:none;
-webkit-user-drag:none;
opacity:0.7;
}
#${ROOT_ID} .${T.numCls}{
display:block;
font-size:12px;
line-height:1;
text-align:center;
}
#${ROOT_ID} .${T.ticketCls}.${T.usedCls} img{
filter:grayscale(100%);
opacity:.5;
}
`.replace('{grid}', T.gridCls);
const st = document.createElement('style');
st.id = 'nl-core-styles';
st.textContent = css;
document.head.appendChild(st);
})();
// ==== Утилиты ====
const parseUsed = (str) => new Set(
(str||'').split(/[,\s]+/).map(s=>s.trim()).filter(Boolean)
.map(x=>parseInt(x,10)).filter(n=>Number.isInteger(n)&&n>=1&&n<=TICKET_COUNT)
);
const serializeUsed = (set) => Array.from(set).sort((a,b)=>a-b).join(', ');
// Детерминированный выбор варианта по номеру
const pickVariantIndex = (n) => {
const len = Math.max(variantImages.length, 1);
let x = (n * 9301 + 49297) % 233280;
return x % len;
};
// ==== Построение ====
root.classList.add(T.gridCls);
const build = () => {
root.innerHTML = '';
const usedSet = parseUsed(root.getAttribute('data-used')||'');
const frag = document.createDocumentFragment();
for (let i = 1; i <= TICKET_COUNT; i++){
const wrap = document.createElement('div');
wrap.className = T.ticketCls;
wrap.dataset.id = String(i);
const img = document.createElement('img');
if (usedSet.has(i)){
img.src = usedImage;
wrap.classList.add(T.usedCls);
} else {
img.src = variantImages[pickVariantIndex(i)];
}
img.alt = `#${i}`;
const num = document.createElement('span');
num.className = T.numCls;
num.textContent = `#${i}`;
wrap.appendChild(img);
wrap.appendChild(num);
frag.appendChild(wrap);
}
root.appendChild(frag);
};
build();
// ==== API ====
const API = {
getUsed: ()=>Array.from(parseUsed(root.getAttribute('data-used')||'')).sort((a,b)=>a-b),
setUsed: (val)=>{
let set;
if (val instanceof Set) set=val;
else if (Array.isArray(val)) set=new Set(val.map(n=>parseInt(n,10)));
else set=parseUsed(String(val||''));
root.setAttribute('data-used', serializeUsed(set));
root.querySelectorAll('.'+T.ticketCls).forEach(div=>{
const id=parseInt(div.dataset.id,10);
const img=div.querySelector('img');
if(!img) return;
if(set.has(id)){ div.classList.add(T.usedCls); img.src = usedImage; }
else{ div.classList.remove(T.usedCls); img.src = variantImages[pickVariantIndex(id)]; }
});
return set;
},
toggle:(id)=>{
const set=new Set(API.getUsed());
id=parseInt(id,10);
if(!Number.isInteger(id)||id<1||id>TICKET_COUNT) return set;
if(set.has(id)) set.delete(id); else set.add(id);
return API.setUsed(set);
},
serialize:()=>serializeUsed(new Set(API.getUsed()))
};
window.NL = API;
})();
</script>[/html]
<!-- включено по умолчанию -->
<div id="nota-lottery" class="nota-lottery" data-used="1, 5, 6, 7, 8, 11, 10, 13, 16, 18, 21, 25, 26, 30, 38, 41, 49"></div>
<script>
(() => {
const ROOT_ID = 'nota-lottery';
const root = document.getElementById(ROOT_ID);
if (!root) return;
// ==== �� Настройки (меняй под себя) ====
const TICKET_COUNT = 75; // общее количество билетов
const COLUMNS = 15; // количество колонок в ряду
const GRID_WIDTH = '970px'; // ЖЁСТКАЯ ширина сетки (пример: '900px', '100%', 'min(100%, 920px)')
// Полные URL изображений (можно указывать с любых хостингов)
const variantImages = [
'https://notafiles.ru/images/lottery/1.gif',
'https://notafiles.ru/images/lottery/1.gif',
'https://notafiles.ru/images/lottery/1.gif',
'https://notafiles.ru/images/lottery/1.gif',
'https://notafiles.ru/images/lottery/1.gif'
];
const usedImage = 'https://notafiles.ru/images/lottery/x.gif';
const T = { gridCls:'nl-grid', ticketCls:'nl-ticket', numCls:'nl-num', usedCls:'used' };
// ==== Стили ====
(function injectStyles(){
if (document.getElementById('nl-core-styles')) return;
const css = `
#${ROOT_ID}.{grid}{
display:grid;
grid-template-columns:repeat(${COLUMNS},minmax(0,1fr));
gap:8px;
width:100%;
max-width:${GRID_WIDTH};
}
#${ROOT_ID} .${T.ticketCls}{
display:flex;
flex-direction:column;
align-items:center;
gap:4px;
}
#${ROOT_ID} .${T.ticketCls} img{
width:100%;
height:auto;
display:block;
user-select:none;
-webkit-user-drag:none;
opacity:0.7;
}
#${ROOT_ID} .${T.numCls}{
display:block;
font-size:12px;
line-height:1;
text-align:center;
}
#${ROOT_ID} .${T.ticketCls}.${T.usedCls} img{
filter:grayscale(100%);
opacity:.5;
}
`.replace('{grid}', T.gridCls);
const st = document.createElement('style');
st.id = 'nl-core-styles';
st.textContent = css;
document.head.appendChild(st);
})();
// ==== Утилиты ====
const parseUsed = (str) => new Set(
(str||'').split(/[,\s]+/).map(s=>s.trim()).filter(Boolean)
.map(x=>parseInt(x,10)).filter(n=>Number.isInteger(n)&&n>=1&&n<=TICKET_COUNT)
);
const serializeUsed = (set) => Array.from(set).sort((a,b)=>a-b).join(', ');
// Детерминированный выбор варианта по номеру
const pickVariantIndex = (n) => {
const len = Math.max(variantImages.length, 1);
let x = (n * 9301 + 49297) % 233280;
return x % len;
};
// ==== Построение ====
root.classList.add(T.gridCls);
const build = () => {
root.innerHTML = '';
const usedSet = parseUsed(root.getAttribute('data-used')||'');
const frag = document.createDocumentFragment();
for (let i = 1; i <= TICKET_COUNT; i++){
const wrap = document.createElement('div');
wrap.className = T.ticketCls;
wrap.dataset.id = String(i);
const img = document.createElement('img');
if (usedSet.has(i)){
img.src = usedImage;
wrap.classList.add(T.usedCls);
} else {
img.src = variantImages[pickVariantIndex(i)];
}
img.alt = `#${i}`;
const num = document.createElement('span');
num.className = T.numCls;
num.textContent = `#${i}`;
wrap.appendChild(img);
wrap.appendChild(num);
frag.appendChild(wrap);
}
root.appendChild(frag);
};
build();
// ==== API ====
const API = {
getUsed: ()=>Array.from(parseUsed(root.getAttribute('data-used')||'')).sort((a,b)=>a-b),
setUsed: (val)=>{
let set;
if (val instanceof Set) set=val;
else if (Array.isArray(val)) set=new Set(val.map(n=>parseInt(n,10)));
else set=parseUsed(String(val||''));
root.setAttribute('data-used', serializeUsed(set));
root.querySelectorAll('.'+T.ticketCls).forEach(div=>{
const id=parseInt(div.dataset.id,10);
const img=div.querySelector('img');
if(!img) return;
if(set.has(id)){ div.classList.add(T.usedCls); img.src = usedImage; }
else{ div.classList.remove(T.usedCls); img.src = variantImages[pickVariantIndex(id)]; }
});
return set;
},
toggle:(id)=>{
const set=new Set(API.getUsed());
id=parseInt(id,10);
if(!Number.isInteger(id)||id<1||id>TICKET_COUNT) return set;
if(set.has(id)) set.delete(id); else set.add(id);
return API.setUsed(set);
},
serialize:()=>serializeUsed(new Set(API.getUsed()))
};
window.NL = API;
})();
</script>» основные фичи:
нет страданий с таблицей, использованные билеты просто вставляем в строку через запятую:
data-used="1, 5, 6, 7, 8, 11, 10, 13, 16, 18, 21, 25, 26, 30, 38, 41, 49">
остальные настройки также в шапке скрипта для удобства:
// ==== �� Настройки (меняй под себя) ====
const TICKET_COUNT = 75; // общее количество билетов
const COLUMNS = 15; // количество колонок в ряду
const GRID_WIDTH = '970px'; // ЖЁСТКАЯ ширина сетки (пример: '900px', '100%', 'min(100%, 920px)')
» Полные URL изображений (можно указывать с любых хостингов и сколько угодно изображений)
const variantImages = [
'https://notafiles.ru/images/lottery/1.gif',
'https://notafiles.ru/images/lottery/1.gif',
'https://notafiles.ru/images/lottery/1.gif',
'https://notafiles.ru/images/lottery/1.gif',
'https://notafiles.ru/images/lottery/1.gif'
];
» сюда подставляем заюзанный билетик
const usedImage = 'https://notafiles.ru/images/lottery/x.gif';
Вставляем в теги хтмл и пользуемся❤️
айпи катя (даркмиона) 109.229.82.226 санто стефано moondurance@gmail.com (Псков)
89.23.157.75 (волгоградская) мб любаня
Вы здесь » test ams » Тестовый форум » Общее