[image: cdn.discordapp.com][image: cdn.discordapp.com]
[image: yata.yt]
For more info, contact one of our leaders



vavi: forum
vavi [2224491] Level 100 Torn Medical NUKE Standard Reviver
- Forum posts (Torn's count)
- 612 observed
- Archived posts
- 519
- Threads started (archived)
- 24
Boards
From the 519 newest archived posts.
- Company Recruitment
- Faction Recruitment
- Company Discussion
- General Discussion
- Tools & Userscripts
- Graveyard
- Bugs & Issues
- Faction Discussion
Threads started
- Wrong awards differs from HoF/API and profile
- Xanax, EDVDs, Flowers, Plushies, etc
- Nerf city jobs even more/revamp company employees
- -
- Looking for somone to make me a Discord Bot
- [BUYING] LM report
- [HIRING] for 9*/10* OIL 150k+MAN or INT
- -
- No header
- [RW] PT-ShadowRazers vs The Iron Fist
- [RW] PT-ShadowRazers vs Vulpes Vulpes
- 10* Restaurant
- [HIRING] 10* Restaurant
- Change the name of "Blacklist" to "Enemy List"
- Wrong racing position in events
- 10* Logistics [SOLD]
- [Hiring] 5* LM min 45 MAN / 25k END
- Merit missing
- 10* Software Corporation
- vavi's guide to hide 10m for 48h
Most-liked posts
Likes as archived at fetch time, adjusted for how long each post had been up. Scored posts only; the full score pass runs after the import.
[BUYING] Up to ~99% Market Value
🔗 Quick Links
-
Live Price Sheet: Price List
-
Direct Trade: Start a Trade
📦 Purchasing Guidelines
What I Buy:
-
Plushies & Flowers (Individual items or full sets)
-
Drugs (Including Xanax)
-
Common Commodities & High-Volume Trade Items
What I Do Not Buy:
-
RW Weapons, RW Armor, Properties, Cosmetics, or Rare Collector Items.
🛡️ Service Commitments
-
Competitive Pricing: Up to ~99% Market Value.
-
Security: Mug-safe execution and fast transaction turnarounds. i dont mug, just check my stats to confirm it
-
Reliability: Active daily with transparent price lists.
Thank you to everyone who continues to trade with me.
i dont blame the employees, i think is directors fault.
They dont research the market, they want big stats and getting fast to 10*, this directors pay what a employee wants.
There are several ways to run a company:
- One is, you get high stats employees, pay delusional wages, get fast to 8*+, and sell for profit. Usually running a company like this makes you lose money or get a very small profit, you only will get the real profit when you flip it.
- Other way is research the market, search and negociate the wages and get employees givong a fair wage, get stars, and get your ROI overtime, and run it for years.
The employees are not dumb people, they know that some directors lack of wage negociation and pay what they ask, also this directors dont care of inactives, they just replace them asap, and pay whatever it takes to fullfill the spot.
If you chosed to run your company like in point two, you will have a well stablished company, just dont go greedy, and pay a fair wage to your emplooyees, having free spot on the company doesnt mean that you will not perform. just keep the employees you have active and happy..
Also, i like to talk to other directors, and you find everything, you meet good people, willing to share their experience, and some just send you screw up.
By that you can guess how they are running their companies.
Also a tip, i talked to some employees, and they told me they only ask absurd wages to those people who send pre-made mails, and to those directors who are "new" to the game, those are the ones paying the abusrd wages.
my director, for my last company
A person you can thrust, a person easy to deal and always ready to follow your instructions.
recomended 5*
very serious, is a pleasure working with Saub
Recent archived posts
as far as i know, this data "5207154, 1160978475, 9903688091" isnt available in API
if you want to track your bets win and loss you can fetch the events "https://api.torn.com/v2/user/events?striptags=false&limit=100", and then you only get the bets events.
Here's what i did once:
function onOpen() {
const ui = SpreadsheetApp.getUi();
ui.createMenu('Torn API')
.addItem('Fetch & Append Bets', 'fetchTornBookieEvents')
.addToUi();
}
function fetchTornBookieEvents() {
const API_KEY = 'API_KEY_GOES_HERE';
const url = 'https://api.torn.com/v2/user/events?striptags=false&limit=100';
const options = {
'method': 'get',
'headers': {
'accept': 'application/json',
'Authorization': 'ApiKey ' + API_KEY
},
'muteHttpExceptions': true
};
try {
const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
let sheet = spreadsheet.getSheetByName('BETS');
// Create sheet named "BETS" if it does not exist
if (!sheet) {
sheet = spreadsheet.insertSheet('BETS');
}
const response = UrlFetchApp.fetch(url, options);
const statusCode = response.getResponseCode();
if (statusCode !== 200) {
Logger.log(`API Error (${statusCode}): ${response.getContentText()}`);
return;
}
const json = JSON.parse(response.getContentText());
const eventsList = json.events || [];
// Timestamp for January 1, 2026 (00:00:00 UTC)
const TIMESTAMP_2026 = 1767225600;
// Sort from oldest to newest (ascending chronological order)
eventsList.sort((a, b) => (a.timestamp || 0) - (b.timestamp || 0));
// Build Summary Dashboard (Rows 1-4) and Table Headers (Row 11) if missing
if (sheet.getLastRow() < 11) {
// Dashboard Title
sheet.getRange("A1").setValue("PERFORMANCE SUMMARY").setFontWeight("bold").setFontSize(12);
// Summary Headers (Row 3)
const summaryHeaders = [
["Total Bets", "Wins", "Losses", "Win Rate", "Total Staked ($)", "Total Payout ($)", "Net Profit ($)", "ROI (%)"]
];
sheet.getRange(3, 1, 1, summaryHeaders[0].length).setValues(summaryHeaders).setFontWeight("bold").setBackground("#f3f3f3");
// Dynamic Summary Formulas (Row 4) referencing range B12:H
const summaryFormulas = [
[
'=COUNTA(B12:B)',
'=COUNTIF(B12:B, "WON")',
'=COUNTIF(B12:B, "LOST")',
'=IFERROR(COUNTIF(B12:B, "WON")/COUNTA(B12:B), 0)',
'=SUM(F12:F)',
'=SUM(G12:G)',
'=SUM(H12:H)',
'=IFERROR(SUM(H12:H)/SUM(F12:F), 0)'
]
];
sheet.getRange(4, 1, 1, summaryFormulas[0].length).setFormulas(summaryFormulas).setFontWeight("bold");
// Format Summary Cells
sheet.getRange("A4:C4").setNumberFormat("#,##0");
sheet.getRange("D4").setNumberFormat("0.00%");
sheet.getRange("E4:G4").setNumberFormat("$#,##0");
sheet.getRange("H4").setNumberFormat("0.00%");
// Betting Table Headers (Row 11)
const tableHeaders = [
["DATE", "Status", "Match / Event", "Selection", "Estimated Odds", "Stake ($)", "Payout ($)", "Net Profit/Loss ($)"]
];
sheet.getRange(11, 1, 1, tableHeaders[0].length).setValues(tableHeaders).setFontWeight("bold").setBackground("#e0e0e0");
}
const lastRow = sheet.getLastRow();
// Fetch signatures of already registered bets starting from row 12
const existingSignatures = new Set();
if (lastRow >= 12) {
const existingData = sheet.getRange(12, 1, lastRow - 11, 8).getValues();
existingData.forEach(row => {
const dateStr = row[0] instanceof Date ? row[0].getTime() : row[0];
const signature = `${dateStr}_${row[1]}_${row[2]}_${row[3]}_${row[5]}`;
existingSignatures.add(signature);
});
}
// Regular expressions to parse HTML bet details
const winRegex = /You won $([0-9,]+) on your $([0-9,]+) (.*?) bet on (.*?)/i;
const lossRegex = /You lost your $([0-9,]+) (.*?) bet on (.*?)/i;
const newRows = [];
eventsList.forEach(entry => {
const ts = entry.timestamp || 0;
if (ts < TIMESTAMP_2026) return;
const txt = entry.event || "";
const date = ts ? new Date(ts * 1000) : "";
if (txt.includes("You won")) {
const matchWin = txt.match(winRegex);
if (matchWin) {
const payout = parseFloat(matchWin[1].replace(/,/g, ''));
const stake = parseFloat(matchWin[2].replace(/,/g, ''));
const selection = matchWin[3].trim();
const matchName = matchWin[4].trim();
const odds = stake > 0 ? payout / stake : 0;
const net = payout - stake;
const signature = `${date.getTime()}_WON_${matchName}_${selection}_${stake}`;
if (!existingSignatures.has(signature)) {
newRows.push([date, "WON", matchName, selection, odds, stake, payout, net]);
existingSignatures.add(signature);
}
}
} else if (txt.includes("You lost")) {
const matchLoss = txt.match(lossRegex);
if (matchLoss) {
const stake = parseFloat(matchLoss[1].replace(/,/g, ''));
const selection = matchLoss[2].trim();
const matchName = matchLoss[3].trim();
const payout = 0;
const odds = 0;
const net = -stake;
const signature = `${date.getTime()}_LOST_${matchName}_${selection}_${stake}`;
if (!existingSignatures.has(signature)) {
newRows.push([date, "LOST", matchName, selection, odds, stake, payout, net]);
existingSignatures.add(signature);
}
}
}
});
if (newRows.length === 0) {
Logger.log('No new bets found.');
return;
}
// Append new records starting at row 12 or the next available row
const startRow = Math.max(12, lastRow + 1);
sheet.getRange(startRow, 1, newRows.length, 8).setValues(newRows);
// Apply formatting to newly appended rows
sheet.getRange(startRow, 1, newRows.length, 1).setNumberFormat("dd/mm/yyyy");
sheet.getRange(startRow, 5, newRows.length, 1).setNumberFormat("0.00");
sheet.getRange(startRow, 6, newRows.length, 3).setNumberFormat("$#,##0");
} catch (error) {
Logger.log(`Execution Error: ${error.toString()}`);
}
}
up.. Bazaar Open
Bazzar Open
Bazzar Open
Bazzar Open
Bazzar Open
Bazzar Open
Bazzar Open
Bazzar Open
Bazzar Open
Bazzar Open
hello
i've detected a couple weeks ago that the amount of awards i have are different in the hall of fame and on my profile.
i was waiting till i get more awards to see if changes, but keeps the same. i have 2 more awards than shown on HoF and API
Hall of Fame: 565
Api awards:565
Profile awards: 567
Bazzar Open
[BUYING] Up to ~99% Market Value
🔗 Quick Links
-
Live Price Sheet: Price List
-
Direct Trade: Start a Trade
📦 Purchasing Guidelines
What I Buy:
-
Plushies & Flowers (Individual items or full sets)
-
Drugs (Including Xanax)
-
Common Commodities & High-Volume Trade Items
What I Do Not Buy:
-
RW Weapons, RW Armor, Properties, Cosmetics, or Rare Collector Items.
🛡️ Service Commitments
-
Competitive Pricing: Up to ~99% Market Value.
-
Security: Mug-safe execution and fast transaction turnarounds. i dont mug, just check my stats to confirm it
-
Reliability: Active daily with transparent price lists.
Thank you to everyone who continues to trade with me.
Looking to buy a +7* Gent Strip Club
hit me with your best offer.
LF Only for Gent Strip Club 10* after 2nd August
Manual labor 111,088Intelligence 121,514Endurance 109,480Total 342,082
Also buying trains if available to buy.
Looking to buy MAN and END trains, till hit 100k on both.
10* only, please
mail me your prices
Working Stats
- Manual labor 93,811
- Intelligence 120,963
- Endurance 90,835
- Total 305,609
up
I might be interested in sell a 10* Oil Rig
mail me your inquires and offers
30man
Huge Storage Room
Large Staff Room
dont send irrealistic offers plz
up