mirror of
https://github.com/hypervortex/VH-Bombsquad-Modded-Server-Files
synced 2025-11-07 17:36:08 +00:00
updated files
This commit is contained in:
parent
5ba4986d59
commit
7a5e7698c0
1269 changed files with 551814 additions and 0 deletions
102
dist/ba_root/mods/coinSystem.py
vendored
Normal file
102
dist/ba_root/mods/coinSystem.py
vendored
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
tag_customers = {}
|
||||
|
||||
import _ba,ba,os,json
|
||||
import set
|
||||
from set import *
|
||||
from random import randrange
|
||||
from playersData import pdata
|
||||
from datetime import datetime
|
||||
from typing import List, Sequence, Optional, Dict, Any
|
||||
from ba._enums import SpecialChar
|
||||
|
||||
python_path = _ba.env()["python_directory_user"]
|
||||
bankFile = python_path +'/bank.json'
|
||||
|
||||
correctAnswer = None
|
||||
answeredBy = None
|
||||
bankfile = bankFile
|
||||
|
||||
|
||||
def askQuestion():
|
||||
global answeredBy
|
||||
global correctAnswer
|
||||
keys = []
|
||||
for x in set.questionsList:
|
||||
keys.append(x)
|
||||
question = keys[randrange(len(keys))]
|
||||
correctAnswer = set.questionsList[question]
|
||||
if question == 'add':
|
||||
a = randrange(100, 999)
|
||||
b = randrange(10, 99)
|
||||
correctAnswer = [str(a + b)]
|
||||
question = f'What is {str(a)} + {str(b)}?'
|
||||
elif question == 'multiply':
|
||||
a = randrange(100, 999)
|
||||
availableB = [0, 1, 2, 5, 10]
|
||||
b = availableB[randrange(4)]
|
||||
correctAnswer = [str(a * b)]
|
||||
question = f'What is {str(a)} x {str(b)}?'
|
||||
_ba.chatmessage(question)
|
||||
answeredBy = None
|
||||
return
|
||||
|
||||
|
||||
def checkAnswer(msg: str, client_id: int):
|
||||
global answeredBy
|
||||
if True:#msg.lower() in correctAnswer:
|
||||
if answeredBy is not None:
|
||||
_ba.chatmessage(f'Already awarded to {answeredBy}.')
|
||||
else:
|
||||
ros = _ba.get_game_roster()
|
||||
for i in ros:
|
||||
if (i is not None) and (i != {}) and (i['client_id'] == client_id):
|
||||
answeredBy = i['players'][0]['name']
|
||||
accountID = i['account_id']
|
||||
ba.screenmessage(f"{answeredBy}: {msg}", color=(0,0.6,0.2), transient=True)
|
||||
try:
|
||||
ticket = u'\ue01f'
|
||||
_ba.chatmessage(f"Congratulations {answeredBy}!, You won {ticket}10.")
|
||||
addCoins(accountID, 10)
|
||||
except:
|
||||
pass
|
||||
return
|
||||
|
||||
|
||||
def addCoins(accountID: str, amount: int):
|
||||
if os.path.exists(bankfile):
|
||||
with open(bankfile) as f:
|
||||
bank = json.loads(f.read())
|
||||
else:
|
||||
bank = {}
|
||||
if accountID not in bank:
|
||||
bank[accountID] = 0
|
||||
bank[accountID] += amount
|
||||
with open(bankfile, 'w') as f:
|
||||
f.write(json.dumps(bank))
|
||||
if amount > 0:
|
||||
ba.playsound(ba.getsound('cashRegister'))
|
||||
print("Transaction successful")
|
||||
|
||||
|
||||
def getCoins(accountID: str):
|
||||
if os.path.exists(bankfile):
|
||||
with open(bankfile, 'r') as f:
|
||||
coins = json.loads(f.read())
|
||||
if accountID in coins:
|
||||
return coins[accountID]
|
||||
return 0
|
||||
|
||||
|
||||
cstimer = None
|
||||
if set.coin:
|
||||
ba.Timer(set.questionDelay, ba.Call(askQuestion), timetype=ba.TimeType.REAL, repeat=True)
|
||||
print("Coin system loaded...")
|
||||
|
||||
def checkSettings():
|
||||
global cstimer
|
||||
if (set.coin) and set.askQuestions and (cstimer == None):
|
||||
cstimer = ba.Timer(set.questionDelay, ba.Call(askQuestion), timetype=ba.TimeType.REAL, repeat=True)
|
||||
if not set.coin and not set.askQuestions:
|
||||
cstimer = None
|
||||
checkTimer = ba.Timer(5, ba.Call(checkSettings), timetype=ba.TimeType.REAL, repeat=True)
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue