forked from Simnation/Main
1418 lines
48 KiB
JavaScript
1418 lines
48 KiB
JavaScript
![]() |
ChoosedButton = 0
|
||
|
InSubMenu = false
|
||
|
OpenedMDT = false
|
||
|
DeathTimer = false
|
||
|
|
||
|
window.addEventListener('message', function(event) {
|
||
|
let data = event.data
|
||
|
|
||
|
if (data.action === "OpenJobMenu"){
|
||
|
InteractionsTable = data.interactionstable
|
||
|
CreateJobMenu()
|
||
|
}
|
||
|
else if (data.action === "OpenMDTMenu"){
|
||
|
OpenedMDT = true
|
||
|
Job = data.job
|
||
|
Medicers = data.medicers
|
||
|
Street = data.street
|
||
|
PlayerName = data.name
|
||
|
MoneyForm = data.moneyform
|
||
|
document.getElementById("MDT").style.animation = "Show_panel 0.5s ease";
|
||
|
$(".MDT").css("display","block")
|
||
|
$(".logo_img").attr('src', "assets/"+Job.job+".png")
|
||
|
InsertHomeData()
|
||
|
RefreshTime()
|
||
|
}
|
||
|
else if(data.action === "MDTGetCalls"){
|
||
|
CitizenCalls = data.table
|
||
|
PlayerId = data.myid
|
||
|
CreateCitizenCalls()
|
||
|
}
|
||
|
else if(data.action === "MDTGetInvoiceTypes"){
|
||
|
Invoices = data.table
|
||
|
TargetName = data.targetname
|
||
|
CreateInvoices()
|
||
|
TypeAhead()
|
||
|
}
|
||
|
else if(data.action === "OpenMedicerMenu"){
|
||
|
Damages = data.damagestable
|
||
|
MedicerItems = data.items
|
||
|
Mediceryou = data.you
|
||
|
DeathStatus = data.deathstatus
|
||
|
Bpm = data.bpm
|
||
|
Gender = data.gender
|
||
|
DeathReason = data.deathreason
|
||
|
document.getElementById("medic_panel").style.animation = "Show_panel 0.5s ease";
|
||
|
document.getElementById("medic_panel_me").style.animation = "Show_panel 0.5s ease";
|
||
|
if (Mediceryou){
|
||
|
$("#medic_panel_me").css("display","block")
|
||
|
}
|
||
|
else{
|
||
|
$("#medic_panel").css("display","block")
|
||
|
}
|
||
|
CreateMedicerMenu()
|
||
|
}
|
||
|
else if (data.action === "OpenInteractionMenu"){
|
||
|
InteractionTable = {"Type" : data.type, "Label" : data.label, "Table" : data.table}
|
||
|
CreateInteractionMenu()
|
||
|
}
|
||
|
else if (data.action === "OpenArmory"){
|
||
|
CreateArmoryMenu()
|
||
|
}
|
||
|
else if (data.action === "OpenShopMenu"){
|
||
|
ShopItems = data.items
|
||
|
MoneyForm = data.moneyform
|
||
|
Card = data.card
|
||
|
CreateShop(Card)
|
||
|
}
|
||
|
else if(data.action === "LiveryMenu"){
|
||
|
document.getElementById("vehicle_livery").style.animation = "Appear_Menu 0.5s ease";
|
||
|
$(".vehicle_livery").css("display", "block")
|
||
|
$("#livery").html("Livery: "+data.livery)
|
||
|
}
|
||
|
else if(data.action === "HideLiveryMenu"){
|
||
|
document.getElementById("vehicle_livery").style.animation = "Hide_panel 0.5s ease";
|
||
|
setTimeout(function(){
|
||
|
$(".vehicle_livery").css("display","none")
|
||
|
}, 400)
|
||
|
}
|
||
|
else if(data.action === "CitizenCallMenu"){
|
||
|
document.getElementById("create_citizen_call").style.animation = "Appear_Menu 0.5s ease";
|
||
|
$("#create_citizen_call").css("display", "block")
|
||
|
}
|
||
|
else if (data.action === "DeathScreen"){
|
||
|
$(".death_screen").css("display","block")
|
||
|
let AllTime = data.time
|
||
|
let Time = data.time
|
||
|
let DeathCall = data.call
|
||
|
let Request = data.request
|
||
|
let WaitTime = data.waittime
|
||
|
let AllWaitTime = data.waittime
|
||
|
DeathTimer = true
|
||
|
|
||
|
function CountbackDeath(){
|
||
|
if (Time > 0){
|
||
|
$(`.death_screen .time_con .time`).html(fancyTimeFormat(Time))
|
||
|
$(`.death_screen .time_con .time_line`).css("width", (Time/AllTime*100)+"%")
|
||
|
}
|
||
|
else{
|
||
|
$(`.death_screen .time_con .time`).html(fancyTimeFormat(WaitTime))
|
||
|
$(`.death_screen .time_con .time_line`).css("width", (WaitTime/AllWaitTime*100)+"%")
|
||
|
}
|
||
|
setTimeout(function(){
|
||
|
if ((Time > 0 || WaitTime > 0) && DeathTimer){
|
||
|
if (Time > 0){
|
||
|
Time = Time - 1
|
||
|
}
|
||
|
else{
|
||
|
WaitTime = WaitTime - 1
|
||
|
if(DeathCall){
|
||
|
document.getElementById("d_info2").style.animation = "none";
|
||
|
document.getElementById("hbtn_press2").style.animation = "none";
|
||
|
$("#d_info2").css("display","block")
|
||
|
}
|
||
|
else{
|
||
|
document.getElementById("d_info").style.animation = "htext_anim 2s ease-in-out";
|
||
|
document.getElementById("hbtn_press").style.animation = "hbtn_anim 2s ease-in-out";
|
||
|
setTimeout(function(){
|
||
|
$("#d_info").css("display","none")
|
||
|
document.getElementById("d_info2").style.animation = "none";
|
||
|
document.getElementById("hbtn_press2").style.animation = "none";
|
||
|
$("#d_info2").css("display","block")
|
||
|
}, 2000)
|
||
|
}
|
||
|
}
|
||
|
CountbackDeath()
|
||
|
}
|
||
|
},1000)
|
||
|
}
|
||
|
|
||
|
if(Request){
|
||
|
document.getElementById("d_info2").style.animation = "htext_anim 2s ease-in-out";
|
||
|
document.getElementById("hbtn_press2").style.animation = "hbtn_anim 2s ease-in-out";
|
||
|
setTimeout(function(){
|
||
|
$("#d_info2").css("display","none")
|
||
|
}, 2000)
|
||
|
}
|
||
|
|
||
|
if (DeathCall){
|
||
|
document.getElementById("d_info").style.animation = "htext_anim 2s ease-in-out";
|
||
|
document.getElementById("hbtn_press").style.animation = "hbtn_anim 2s ease-in-out";
|
||
|
setTimeout(function(){
|
||
|
$("#d_info").css("display","none")
|
||
|
}, 2000)
|
||
|
}
|
||
|
else{
|
||
|
document.getElementById("d_info2").style.animation = "none";
|
||
|
document.getElementById("d_info").style.animation = "none";
|
||
|
document.getElementById("hbtn_press").style.animation = "none";
|
||
|
document.getElementById("hbtn_press2").style.animation = "none";
|
||
|
$("#d_info").css("display","block")
|
||
|
$("#d_info2").css("display","none")
|
||
|
CountbackDeath()
|
||
|
}
|
||
|
}
|
||
|
else if (data.action === "DeathScreenHide"){
|
||
|
DeathTimer = false
|
||
|
$(`.death_screen`).css("display", "none")
|
||
|
}
|
||
|
else if (data.action === "ControlReleased"){
|
||
|
Control = data.control
|
||
|
if(Control === "up" || Control === "down" ){
|
||
|
ChangeFocus(Control)
|
||
|
}
|
||
|
else if(Control === "enter"){
|
||
|
document.getElementById("circle_"+ChoosedButton).click()
|
||
|
}
|
||
|
else if(Control === "backspace"){
|
||
|
if(InSubMenu){
|
||
|
BackJobMenu()
|
||
|
}
|
||
|
else{
|
||
|
Close()
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
else if (data.action === "close"){
|
||
|
Close()
|
||
|
}
|
||
|
})
|
||
|
|
||
|
document.onkeydown = function(data) {
|
||
|
if (event.key == 'Escape') {
|
||
|
Close()
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function Close(){
|
||
|
CloseMDT()
|
||
|
CloseShop()
|
||
|
CloseCitizenCall()
|
||
|
HideJobMenu()
|
||
|
CloseMedicPanel()
|
||
|
HideInteractionMenu()
|
||
|
setTimeout(function(){
|
||
|
$('.modal').modal('hide')
|
||
|
},500)
|
||
|
$.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"close"}))
|
||
|
}
|
||
|
|
||
|
///////////////////////////////////////////////////////////////////// | _ \ __ ) \ | ____| \ | | | \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
|
||
|
///////////////////////////////////////////////////////////////////// | | | __ \ |\/ | __| \ | | | \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
|
||
|
///////////////////////////////////////////////////////////////////// \ | | | | | | | | |\ | | | \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
|
||
|
///////////////////////////////////////////////////////////////////// \___/ \___/ ____/ _| _| _____|_| \_|\___/ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
|
||
|
|
||
|
function ChangeFocus(direction){
|
||
|
if(direction === "up"){
|
||
|
if(InSubMenu === false){
|
||
|
if(InteractionsTable.length >= ChoosedButton +2){
|
||
|
ChoosedButton++
|
||
|
}
|
||
|
else if(InteractionsTable.length === ChoosedButton +1){
|
||
|
ChoosedButton = 0
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
if(InteractionsTable[SubNumber].table.length > ChoosedButton + 1){
|
||
|
ChoosedButton++
|
||
|
}
|
||
|
else if(InteractionsTable[SubNumber].table.length === ChoosedButton +1){
|
||
|
ChoosedButton = 0
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
if(InSubMenu === false){
|
||
|
if(ChoosedButton === 0){
|
||
|
ChoosedButton = InteractionsTable.length -1
|
||
|
}
|
||
|
else{
|
||
|
ChoosedButton = ChoosedButton -1
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
if(ChoosedButton === 0){
|
||
|
ChoosedButton = InteractionsTable[SubNumber].table.length -1
|
||
|
}
|
||
|
else{
|
||
|
ChoosedButton = ChoosedButton -1
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if(InSubMenu){
|
||
|
for(let i=0; i<InteractionsTable[SubNumber].table.length; i++){
|
||
|
document.getElementById("circle_"+i).classList.remove("hovered_circle")
|
||
|
}
|
||
|
Circle_Label = InteractionsTable[SubNumber].table[ChoosedButton].label
|
||
|
}
|
||
|
else{
|
||
|
for(let i=0; i<InteractionsTable.length; i++){
|
||
|
document.getElementById("circle_"+i).classList.remove("hovered_circle")
|
||
|
}
|
||
|
Circle_Label = InteractionsTable[ChoosedButton].label
|
||
|
}
|
||
|
|
||
|
document.getElementById("circle_"+ChoosedButton).classList.add("hovered_circle")
|
||
|
$(".circles_label").html(Circle_Label)
|
||
|
}
|
||
|
|
||
|
function CreateJobMenu(){
|
||
|
InSubMenu = false
|
||
|
let Num_elements = InteractionsTable.length
|
||
|
let Angle = 144/(Num_elements-1)
|
||
|
let Rot = -108
|
||
|
ChoosedButton = 0
|
||
|
|
||
|
document.getElementById("job_menu").style.animation = "ShowJobMenu 1s ease";
|
||
|
|
||
|
$(".job_menu").css("display","block")
|
||
|
|
||
|
$(".circle_container").html("")
|
||
|
for(let i=0; i<Num_elements; i++){
|
||
|
if (InteractionsTable[i].table == undefined){
|
||
|
$(".circle_container").append(`
|
||
|
<button class="circle_element" id="circle_${i}" onclick="SendBackIntButton(id, false)">${InteractionsTable[i].icon}</button>
|
||
|
`)
|
||
|
}
|
||
|
else{
|
||
|
$(".circle_container").append(`
|
||
|
<button class="circle_element" id="circle_${i}" onclick="ChangeJobButtons(id)">${InteractionsTable[i].icon}</button>
|
||
|
`)
|
||
|
}
|
||
|
|
||
|
$(".job_menu #circle_"+i).css("transform", "rotate("+Rot+"deg) translate(150px) rotate("+Rot*(-1)+"deg)")
|
||
|
Rot = Rot - Angle
|
||
|
}
|
||
|
document.getElementById("circle_"+ChoosedButton).classList.add("hovered_circle")
|
||
|
$(".circles_label").html(InteractionsTable[0].label)
|
||
|
}
|
||
|
|
||
|
function HideJobMenu(){
|
||
|
document.getElementById("job_menu").style.animation = "HideJobMenu 1s ease";
|
||
|
setTimeout(function(){
|
||
|
$(".job_menu").css("display","none")
|
||
|
},900)
|
||
|
}
|
||
|
|
||
|
function ChangeJobButtons(id){
|
||
|
InSubMenu = true
|
||
|
document.getElementById("job_menu").style.animation = "ChangeJobMenu 0.8s ease";
|
||
|
|
||
|
SubNumber = id.split('_').pop();
|
||
|
let Num_elements = InteractionsTable[SubNumber].table.length
|
||
|
let Angle = 144/(Num_elements-1)
|
||
|
let Rot = -108
|
||
|
|
||
|
setTimeout(function(){
|
||
|
$(".circle_container").html("")
|
||
|
for(let i=0; i<Num_elements; i++){
|
||
|
$(".circle_container").append(`
|
||
|
<button class="circle_element" id="circle_${i}" onclick="SendBackIntButton(id, true)">${InteractionsTable[SubNumber].table[i].icon}</button>
|
||
|
`)
|
||
|
$(".job_menu #circle_"+i).css("transform", "rotate("+Rot+"deg) translate(150px) rotate("+Rot*(-1)+"deg)")
|
||
|
Rot = Rot - Angle
|
||
|
}
|
||
|
ChoosedButton = 0
|
||
|
document.getElementById("circle_"+ChoosedButton).classList.add("hovered_circle")
|
||
|
$(".circles_label").html(InteractionsTable[SubNumber].table[0].label)
|
||
|
},400)
|
||
|
|
||
|
if (SubNumber == 2){
|
||
|
$.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"JobMenuObject"}))
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function BackJobMenu(){
|
||
|
InSubMenu = false
|
||
|
let Num_elements = InteractionsTable.length
|
||
|
let Angle = 144/(Num_elements-1)
|
||
|
let Rot = -108
|
||
|
|
||
|
document.getElementById("job_menu").style.animation = "BackJobMenu 0.8s ease";
|
||
|
|
||
|
setTimeout(function(){
|
||
|
$(".circle_container").html("")
|
||
|
for(let i=0; i<Num_elements; i++){
|
||
|
if (InteractionsTable[i].table == undefined){
|
||
|
$(".circle_container").append(`
|
||
|
<button class="circle_element" id="circle_${i}" onclick="SendBackIntButton(id, false)">${InteractionsTable[i].icon}</button>
|
||
|
`)
|
||
|
}
|
||
|
else{
|
||
|
$(".circle_container").append(`
|
||
|
<button class="circle_element" id="circle_${i}" onclick="ChangeJobButtons(id)">${InteractionsTable[i].icon}</button>
|
||
|
`)
|
||
|
}
|
||
|
$(".job_menu #circle_"+i).css("transform", "rotate("+Rot+"deg) translate(150px) rotate("+Rot*(-1)+"deg)")
|
||
|
Rot = Rot - Angle
|
||
|
}
|
||
|
ChoosedButton = 0
|
||
|
document.getElementById("circle_"+ChoosedButton).classList.add("hovered_circle")
|
||
|
$(".circles_label").html(InteractionsTable[0].label)
|
||
|
},400)
|
||
|
}
|
||
|
|
||
|
function SendBackIntButton(id, value){
|
||
|
let idnumber = id.split('_').pop()
|
||
|
|
||
|
if (value == true){
|
||
|
for(let i=0; i<InteractionsTable[SubNumber].table.length; i++){
|
||
|
if (i == idnumber){
|
||
|
$.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"JobMenu", id:InteractionsTable[SubNumber].table[i].id}))
|
||
|
break
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
for(let i=0; i<InteractionsTable.length; i++){
|
||
|
if (i == idnumber){
|
||
|
HideJobMenu()
|
||
|
$.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"JobMenu", id:InteractionsTable[i].id}))
|
||
|
break
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
//////////////////////////////////////////////////////////////// INTERACTIONS \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
|
||
|
|
||
|
function CreateInteractionMenu(){
|
||
|
$(".interactions h2").html(InteractionTable.Label)
|
||
|
|
||
|
$(".int_con_sec").html("")
|
||
|
for(let i=0; i<InteractionTable.Table.length; i++){
|
||
|
$(".int_con_sec").append(`
|
||
|
<div class="col">
|
||
|
<div class="d-flex flex-column justify-content-center align-items-center">
|
||
|
<button class="long_btn mb-3" id="${InteractionTable.Table[i].id}" onclick="SetDress(id)">${InteractionTable.Table[i].label}</button>
|
||
|
</div>
|
||
|
</div>
|
||
|
`)
|
||
|
if (InteractionTable.Table[i].label.length > 17){
|
||
|
$("#"+InteractionTable.Table[i].id).css("font-size", "15px")
|
||
|
}
|
||
|
}
|
||
|
document.getElementById("interactions").style.animation = "ShowIneractionMenu 0.7s ease";
|
||
|
$(".interactions").css("display","block")
|
||
|
}
|
||
|
|
||
|
function SetDress(id){
|
||
|
Close()
|
||
|
$.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"interactionmenu", id, table:InteractionTable}))
|
||
|
}
|
||
|
|
||
|
function CreateArmoryMenu(){
|
||
|
$(".interactions h2").html("Storage")
|
||
|
|
||
|
$(".int_con_sec").html("")
|
||
|
$(".int_con_sec").html(`
|
||
|
<div class="col">
|
||
|
<div class="d-flex flex-column justify-content-center align-items-center">
|
||
|
<button class="long_btn mb-3" onclick="Armory()">Armory</button>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="col">
|
||
|
<div class="d-flex flex-column justify-content-center align-items-center">
|
||
|
<button class="long_btn mb-3" onclick="Buy()">Shop</button>
|
||
|
</div>
|
||
|
</div>
|
||
|
`)
|
||
|
|
||
|
document.getElementById("interactions").style.animation = "ShowIneractionMenu 0.7s ease";
|
||
|
$(".interactions").css("display","block")
|
||
|
}
|
||
|
|
||
|
function Armory(){
|
||
|
Close()
|
||
|
$.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"armory"}))
|
||
|
}
|
||
|
|
||
|
function Buy(){
|
||
|
HideInteractionMenu()
|
||
|
$.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"armory-shop"}))
|
||
|
}
|
||
|
|
||
|
function HideInteractionMenu(){
|
||
|
document.getElementById("interactions").style.animation = "HideInteractionMenu 0.7s ease";
|
||
|
setTimeout(function(){
|
||
|
$(".interactions").css("display","none")
|
||
|
},680)
|
||
|
}
|
||
|
|
||
|
///////////////////////////////////////////////////////////////// SHOP MENU \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
|
||
|
|
||
|
function CreateShop(value){
|
||
|
$(".shop").css("display", "block")
|
||
|
setTimeout(function(){
|
||
|
$(".shop").css("scale", "1")
|
||
|
}, 50)
|
||
|
|
||
|
if (value == true){
|
||
|
$(".slider_btn").css("display", "block")
|
||
|
$("#shop_back").css("display", "block")
|
||
|
}
|
||
|
else{
|
||
|
$(".slider_btn").css("display", "none")
|
||
|
$("#shop_back").css("display", "none")
|
||
|
}
|
||
|
|
||
|
$(".shop_elements_container").html("")
|
||
|
for(let i=0; i<ShopItems.length; i++){
|
||
|
$(".shop_elements_container").append(`
|
||
|
<div class="col">
|
||
|
<div class="d-flex flex-column justify-content-center align-items-center">
|
||
|
<div class="shop_element">
|
||
|
<div class="price">${ShopItems[i].price+MoneyForm}</div>
|
||
|
<img class="mx-auto d-block" src="assets/${ShopItems[i].item}.png"></img>
|
||
|
<h4>${ShopItems[i].label}</h4>
|
||
|
<div class="mx-auto d-block">
|
||
|
<div class="input-group input-group-lg num">
|
||
|
<input class="form-control" id="${ShopItems[i].item}" type="text" autofocus="autofocus" value="0" oninput="setlenght(id)" onkeypress="return isNumber(event)">
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
`)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function BuyInShop(){
|
||
|
BuyItems = []
|
||
|
for (let i = 0; i < ShopItems.length; i++) {
|
||
|
if (document.getElementById(ShopItems[i].item).value > 0){
|
||
|
BuyItems.push([ShopItems[i].item, document.getElementById(ShopItems[i].item).value, ShopItems[i].price, ShopItems[i].label])
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if (BuyItems.length > 0){
|
||
|
let Element = document.getElementById("slider_shop")
|
||
|
let Left = Element.offsetLeft
|
||
|
if (Left == 0){
|
||
|
$.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"BuyInShop", BuyItems, paytype:"money"}))
|
||
|
}
|
||
|
else{
|
||
|
$.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"BuyInShop", BuyItems, paytype:"bank"}))
|
||
|
}
|
||
|
}
|
||
|
|
||
|
setTimeout(function(){
|
||
|
for (let i = 0; i < ShopItems.length; i++) {
|
||
|
document.getElementById(ShopItems[i].item).value = 0
|
||
|
}
|
||
|
changemoney()
|
||
|
}, 200)
|
||
|
}
|
||
|
|
||
|
function changemoney(){
|
||
|
let AllMoney = 0
|
||
|
for (let i = 0; i < ShopItems.length; i++) {
|
||
|
AllMoney += ShopItems[i].price * document.getElementById(ShopItems[i].item).value
|
||
|
}
|
||
|
$('.checkout_container h3').html('TOTAL: '+AllMoney+'<money>'+MoneyForm+'</money>')
|
||
|
}
|
||
|
|
||
|
function ChangeSliderbtn(id){
|
||
|
if (id == "shop_slider"){
|
||
|
let Element = document.getElementById("slider_shop")
|
||
|
let Left = Element.offsetLeft
|
||
|
if (Left == 0){
|
||
|
Element.style.left = "50%"
|
||
|
}
|
||
|
else{
|
||
|
Element.style.left = "0%"
|
||
|
}
|
||
|
}
|
||
|
else if (id == "MDT_slider"){
|
||
|
let Element = document.getElementById("slider_MDT")
|
||
|
let Left = Element.offsetLeft
|
||
|
if (Left == 0){
|
||
|
Element.style.left = "50%"
|
||
|
ChangeSearch("vehicles")
|
||
|
}
|
||
|
else{
|
||
|
Element.style.left = "0%"
|
||
|
ChangeSearch("people")
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function CloseShop(){
|
||
|
$(".shop").css("scale", "0")
|
||
|
setTimeout(function(){
|
||
|
$(".shop").css("display", "none")
|
||
|
}, 600)
|
||
|
}
|
||
|
|
||
|
///////////////////////////////////////////////////////////////////// \ | __ \ __ __| \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
|
||
|
///////////////////////////////////////////////////////////////////// |\/ | | | | \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
|
||
|
///////////////////////////////////////////////////////////////////// | | | | | \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
|
||
|
///////////////////////////////////////////////////////////////////// _| _| ____/ _| \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
|
||
|
|
||
|
function CloseMDT(){
|
||
|
document.getElementById("MDT").style.animation = "Hide_panel 0.5s ease";
|
||
|
setTimeout(function(){
|
||
|
$(".MDT").css("display","none")
|
||
|
if (OpenedMDT){
|
||
|
SwitchPage("home")
|
||
|
}
|
||
|
OpenedMDT = false
|
||
|
}, 400)
|
||
|
}
|
||
|
|
||
|
function SwitchPage(id){
|
||
|
|
||
|
if (id == "home"){
|
||
|
MoveBackLogo()
|
||
|
$(".page_data_container").html(`
|
||
|
<div class="background_blur_color"></div>
|
||
|
<div class="home_label mt-3">
|
||
|
<div class="background_effect"></div>
|
||
|
<div class="row">
|
||
|
<div class="col ms-3 mt-1" id="job_name"></div>
|
||
|
<div class="col-2 mt-1" id="home_date">date 213 23</div>
|
||
|
<div class="col me-3 mt-1 text-end" id="street"></div>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
<div class="row mt-3 mx-2">
|
||
|
<div class="col">
|
||
|
<div class="home_stat_con mx-auto d-block">
|
||
|
<div class="background_effect"></div>
|
||
|
<div class="label">Medicers</div>
|
||
|
<div class="main" id="available_medicers">0</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="col">
|
||
|
<div class="home_stat_con mx-auto d-block">
|
||
|
<div class="background_effect"></div>
|
||
|
<div class="label">Rank</div>
|
||
|
<div class="main small" id="player_rang"></div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="col">
|
||
|
<div class="home_stat_con mx-auto d-block">
|
||
|
<div class="background_effect"></div>
|
||
|
<div class="label">Salary</div>
|
||
|
<div class="main" id="salary">100$</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
<div class="welcome_text mt-3">Welcome,<br> <span class="hand_written">Name</span></div>
|
||
|
|
||
|
`)
|
||
|
InsertHomeData()
|
||
|
}
|
||
|
else if (id == "invoices"){
|
||
|
MoveLogo()
|
||
|
$.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"MDTInvoices", type:"get"}))
|
||
|
$(".page_data_container").html(`
|
||
|
<div class="row mt-3">
|
||
|
<div class="col-5">
|
||
|
<h2 class="sub_label">Create an invoice</h2>
|
||
|
<div class="input-group input-group-lg mt-3 px-3">
|
||
|
<input type="text" id="invoice_name" class="form-control text-center" placeholder="Name..." oninput="RefreshCreateInvoiceBTN()" >
|
||
|
</div>
|
||
|
<div class="input-group input-group-lg mt-3 px-3">
|
||
|
<input type="text" id="invoice_value" class="form-control text-center" placeholder="Value..." oninput="RefreshCreateInvoiceBTN()" onkeypress="return isNumber(event)">
|
||
|
</div>
|
||
|
<button class="submenu_btn px-3 m-3 mb-5 mx-auto d-block" id="create_invoice_btn" disabled onclick="CreateInvoice()">Create</button>
|
||
|
<h2 class="sub_label mt-5">Give an invoice</h2>
|
||
|
<div class="input-group input-group-lg mt-3 px-3">
|
||
|
<input type="text" id="in_give_invoice" class="form-control text-center rounded typeahead" data-provide="typeahead" placeholder="Label..." onchange="RefreshGiveInvoiceBTN()" oninput="RefreshGiveInvoiceBTN()">
|
||
|
</div>
|
||
|
<hr style="width: 80%; margin-left: 10%; border-top: solid 3px white; border-radius: 3px;">
|
||
|
<div class="give_invoiceto_con">
|
||
|
<div class="background_effect"></div>
|
||
|
<h2 class="sub_label" id="target_player">-</h2>
|
||
|
<h2 class="sub_label" id="invoice_price">0$</h2>
|
||
|
</div>
|
||
|
<button class="submenu_btn px-3 m-3 mx-auto d-block" id="give_invoice_btn" disabled onclick="GiveInvoice()">Give</button>
|
||
|
</div>
|
||
|
<div class="col">
|
||
|
<h2 class="sub_label">Invoices</h2>
|
||
|
<div class="invoices_container mt-3">
|
||
|
<div class="background_blur_color"></div>
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
`)
|
||
|
}
|
||
|
else if (id == "sos_alert"){
|
||
|
MoveLogo()
|
||
|
$.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"MDTCitizenCall", type:"getcalls"}))
|
||
|
$(".page_data_container").html(`InsertHomeData
|
||
|
<div class="cam_shadow">
|
||
|
</div>
|
||
|
<div class="alert_container_out mt-3">
|
||
|
<div class="alert_container row row-cols-2 p-4">
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
`)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function InsertHomeData(){
|
||
|
$("#available_medicers").html(Medicers)
|
||
|
$("#player_rang").html(Job.label)
|
||
|
$("#salary").html(Job.salary+MoneyForm)
|
||
|
$("#job_name").html(Job.name+" - Database")
|
||
|
$("#street").html(`<i class="fa-solid fa-location-dot"></i> `+Street[0]+",<br>"+Street[1])
|
||
|
$(".welcome_text .hand_written").html(PlayerName)
|
||
|
|
||
|
if (Job.label.length > 6){
|
||
|
$(".home_stat_con .small").css("font-size", "30px")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function RefreshTime(){
|
||
|
if (OpenedMDT){
|
||
|
setTimeout(function(){
|
||
|
RefreshTime()
|
||
|
},100)
|
||
|
}
|
||
|
|
||
|
var date=new Date();
|
||
|
var day=date.getDate();
|
||
|
var month=date.getMonth()+1;
|
||
|
var year=date.getFullYear();
|
||
|
$("#home_date").html(day+"/"+month+"/"+year+"<br>"+date.toLocaleTimeString());
|
||
|
}
|
||
|
|
||
|
function MoveLogo(){
|
||
|
$(".logo_img").css({
|
||
|
"height": "80px",
|
||
|
"left": "15.2px",
|
||
|
})
|
||
|
}
|
||
|
|
||
|
function MoveBackLogo(){
|
||
|
$(".logo_img").css({
|
||
|
"height": "200px",
|
||
|
"left": "870px",
|
||
|
})
|
||
|
}
|
||
|
|
||
|
function CreateCitizenCalls(){
|
||
|
$(".alert_container_out").html(`
|
||
|
<div class="alert_container row row-cols-2 p-4"></div>
|
||
|
`)
|
||
|
let IsRealCall = false
|
||
|
if (CitizenCalls.length > 0){
|
||
|
for (let i = 0; i < CitizenCalls.length; i++) {
|
||
|
if (CitizenCalls[i].closed == false){
|
||
|
IsRealCall = true
|
||
|
if (CitizenCalls[i].medicers.length > 0){
|
||
|
$(".alert_container").append(`
|
||
|
<div class="col">
|
||
|
<div class="alert_element mx-auto d-block" id="alert_element_${i}">
|
||
|
<div class="background_effect"></div>
|
||
|
<div class="row">
|
||
|
<div class="col"><h2>Citizen call</h2></div>
|
||
|
<div class="col"><div class="police_on"><i class="fa-solid fa-user-group"></i> ${CitizenCalls[i].medicers.length}</div></div>
|
||
|
</div>
|
||
|
<div class="main_text">${CitizenCalls[i].text}</div>
|
||
|
<div class="row">
|
||
|
<div class="col-3">
|
||
|
<button class="details_btn px-3 m-3 mt-2" id="call_${i}" onclick="RefreshCallModul(id)" data-bs-toggle="modal" data-bs-target="#call_modal">More</button>
|
||
|
</div>
|
||
|
<div class="col">
|
||
|
<div class="street">${CitizenCalls[i].street}</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
`)
|
||
|
}
|
||
|
else{
|
||
|
$(".alert_container").append(`
|
||
|
<div class="col">
|
||
|
<div class="alert_element mx-auto d-block" id="alert_element_${i}">
|
||
|
<div class="background_effect"></div>
|
||
|
<div class="row">
|
||
|
<div class="col"><h2>Citizen call</h2></div>
|
||
|
<div class="col"><div class="police_on"><i class="fa-solid fa-user-group"></i> ${CitizenCalls[i].medicers.length}</div></div>
|
||
|
</div>
|
||
|
<div class="main_text">${CitizenCalls[i].text}</div>
|
||
|
<div class="row">
|
||
|
<div class="col-3">
|
||
|
<button class="details_btn px-3 m-3 mt-2" id="call_${i}" onclick="RefreshCallModul(id), AcceptCall()" data-bs-toggle="modal" data-bs-target="#call_modal">Accept</button>
|
||
|
</div>
|
||
|
<div class="col">
|
||
|
<div class="street">${CitizenCalls[i].street}</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
`)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if (CitizenCalls[i].medicers.length > 0){
|
||
|
$("#alert_element_"+i).css("background-image", "linear-gradient(var(--main_color_darker), var(--main_color))")
|
||
|
$("#alert_element_"+i+" .main_text").css("background-image", "linear-gradient(rgba(119, 45, 35, 0.548), rgba(175, 67, 53, 0.548))")
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
$(".alert_container_out").html(`
|
||
|
<div class="col not_found_con py-1"><h1 class="text-center">There isn't any call</h1></div>
|
||
|
`)
|
||
|
}
|
||
|
|
||
|
if (IsRealCall == false){
|
||
|
$(".alert_container_out").html(`
|
||
|
<div class="col not_found_con py-1"><h1 class="text-center">There isn't any call</h1></div>
|
||
|
`)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function CreateInvoices(){
|
||
|
document.getElementById("target_player").innerHTML = TargetName
|
||
|
$(".invoices_container").html(`<div class="background_blur_color"></div>`)
|
||
|
for (let i = 0; i < Invoices.length; i++) {
|
||
|
$(".invoices_container").append(`
|
||
|
<div class="invoice_element" id="${i}" onclick="ShowDeleteBTN(id)">
|
||
|
<div class="background_effect"></div>
|
||
|
<div class="row invoice_row" id="invoice_row_${i}">
|
||
|
<div class="col">
|
||
|
<h2 class="name mt-2">${Invoices[i].label}</h2>
|
||
|
</div>
|
||
|
<div class="col">
|
||
|
<h2 class="value mt-2">${Invoices[i].amount+MoneyForm}</h2>
|
||
|
</div>
|
||
|
<div class="delete_con" id="del_${i}" onclick="DeleteInvoice(id)">
|
||
|
<div class="txt">Delete <i class="fa-solid fa-trash"></i></div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
`)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function RefreshCallModul(id){
|
||
|
CallNumber = id.split('_')[1]
|
||
|
let Accepted = false
|
||
|
|
||
|
$(".involved_container").html("")
|
||
|
for (let i = 0; i < CitizenCalls[CallNumber].medicers.length; i++) {
|
||
|
if (CitizenCalls[CallNumber].medicers[i].id == PlayerId){
|
||
|
Accepted = true
|
||
|
}
|
||
|
$(".involved_container").append(`
|
||
|
<div class="involved_element">
|
||
|
${CitizenCalls[CallNumber].medicers[i].name}
|
||
|
</div>
|
||
|
`)
|
||
|
if (i +1 < CitizenCalls[CallNumber].medicers.length){
|
||
|
$(".involved_container").append(`
|
||
|
<hr>
|
||
|
`)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if (CitizenCalls[CallNumber].closed == false){
|
||
|
if (Accepted == true){
|
||
|
$(".call_actions_container").html(`
|
||
|
<div class="input-group mt-3 call_reason_con">
|
||
|
<textarea class="form-control mx-4" id="in_call_reason" oninput="RefreshCloseCallBTN()" placeholder="Reason to close"></textarea>
|
||
|
</div>
|
||
|
<button class="submenu_btn px-3 my-3 mx-auto d-block" id="close_call" data-bs-dismiss="modal" onclick="CloseCall()" disabled>Close</button>
|
||
|
`)
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
$(".call_actions_container").html(`
|
||
|
<h3 class="text-white text-center mt-3">Reason to close</h3>
|
||
|
<div class="input-group call_reason_con">
|
||
|
<textarea class="form-control mx-4" id="in_call_reason" disabled>${CitizenCalls[CallNumber].reason}</textarea>
|
||
|
</div>
|
||
|
`)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function AcceptCall(){
|
||
|
$(".call_actions_container").html(`
|
||
|
<div class="input-group mt-3 call_reason_con">
|
||
|
<textarea class="form-control mx-4" id="in_call_reason" oninput="RefreshCloseCallBTN()" placeholder="Reason to close..."></textarea>
|
||
|
</div>
|
||
|
<button class="submenu_btn my-3 px-3 mx-auto d-block" id="close_call" data-bs-dismiss="modal" onclick="CloseCall()" disabled>Close</button>
|
||
|
`)
|
||
|
|
||
|
let tableid = +CallNumber + +1
|
||
|
$.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"MDTCitizenCall", type:"accept", tableid}))
|
||
|
|
||
|
setTimeout(function(){
|
||
|
$(".involved_container").html("")
|
||
|
for (let i = 0; i < CitizenCalls[CallNumber].medicers.length; i++) {
|
||
|
$(".involved_container").append(`
|
||
|
<div class="involved_element">
|
||
|
${CitizenCalls[CallNumber].medicers[i].name}
|
||
|
</div>
|
||
|
`)
|
||
|
if (i +1 < CitizenCalls[CallNumber].medicers.length){
|
||
|
$(".involved_container").append(`
|
||
|
<hr>
|
||
|
`)
|
||
|
}
|
||
|
}
|
||
|
},700)
|
||
|
}
|
||
|
|
||
|
function CloseCall(){
|
||
|
let tableid = +CallNumber + +1
|
||
|
let text = document.getElementById("in_call_reason").value
|
||
|
$.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"MDTCitizenCall", type:"close", tableid, text}))
|
||
|
|
||
|
document.getElementById("in_call_reason").value = ""
|
||
|
}
|
||
|
|
||
|
function SendPinOnMap(){
|
||
|
Close()
|
||
|
let tableid = +CallNumber + +1
|
||
|
let coords = CitizenCalls[CallNumber].coords
|
||
|
$.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"MDTCitizenCall", type:"blip", coords, tableid}))
|
||
|
}
|
||
|
|
||
|
function RefreshCloseCallBTN(){
|
||
|
let reason = document.getElementById("in_call_reason").value
|
||
|
|
||
|
if (reason.length > 0){
|
||
|
document.getElementById("close_call").disabled = false
|
||
|
}
|
||
|
else{
|
||
|
document.getElementById("close_call").disabled = true
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function ShowDeleteBTN(id){
|
||
|
if (window.getComputedStyle(document.getElementById("invoice_row_"+id)).width == "680px"){
|
||
|
$("#invoice_row_"+id).css("width", "550px")
|
||
|
$("#invoice_row_"+id+" .name").css("font-size", "25px")
|
||
|
}
|
||
|
else{
|
||
|
$("#invoice_row_"+id).css("width", "680px")
|
||
|
$("#invoice_row_"+id+" .name").css("font-size", "32px")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function RefreshCreateInvoiceBTN(){
|
||
|
let name = document.getElementById("invoice_name").value
|
||
|
let value = document.getElementById("invoice_value").value
|
||
|
|
||
|
if (name.length > 0 && value.length > 0){
|
||
|
document.getElementById("create_invoice_btn").disabled = false
|
||
|
}
|
||
|
else{
|
||
|
document.getElementById("create_invoice_btn").disabled = true
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function CreateInvoice(){
|
||
|
let label = document.getElementById("invoice_name").value
|
||
|
let amount = document.getElementById("invoice_value").value
|
||
|
$.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"MDTInvoices", type:"create", label, amount}))
|
||
|
document.getElementById("invoice_name").value = ""
|
||
|
document.getElementById("invoice_value").value = ""
|
||
|
setTimeout(function(){
|
||
|
SwitchPage("invoices")
|
||
|
}, 200)
|
||
|
}
|
||
|
|
||
|
function DeleteInvoice(id){
|
||
|
number = Invoices[(id.split('_')[1])].id
|
||
|
$.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"MDTInvoices", type:"delete", number}))
|
||
|
setTimeout(function(){
|
||
|
SwitchPage("invoices")
|
||
|
}, 200)
|
||
|
}
|
||
|
|
||
|
function RefreshGiveInvoiceBTN(){
|
||
|
let name = document.getElementById("in_give_invoice").value
|
||
|
let found = false
|
||
|
for(let i = 0; i < Invoices.length; i++){
|
||
|
if (name === Invoices[i].label){
|
||
|
document.getElementById("invoice_price").innerHTML = Invoices[i].amount + MoneyForm
|
||
|
found = true
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if (found){
|
||
|
if (TargetName != "-"){
|
||
|
document.getElementById("give_invoice_btn").disabled = false
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
document.getElementById("give_invoice_btn").disabled = true
|
||
|
document.getElementById("invoice_price").innerHTML = "0"+MoneyForm
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function GiveInvoice(){
|
||
|
let label = document.getElementById("in_give_invoice").value
|
||
|
let amount
|
||
|
for(let i = 0; i < Invoices.length; i++){
|
||
|
if (label === Invoices[i].label){
|
||
|
amount = Invoices[i].amount
|
||
|
}
|
||
|
}
|
||
|
$.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"MDTInvoices", type:"give", label, amount}))
|
||
|
document.getElementById("in_give_invoice").value = ""
|
||
|
document.getElementById("invoice_price").innerHTML = "0"+MoneyForm
|
||
|
}
|
||
|
|
||
|
function TypeAhead(){
|
||
|
TypeAheadList = []
|
||
|
for(let i = 0; i < Invoices.length; i++){
|
||
|
TypeAheadList.push(Invoices[i].label)
|
||
|
}
|
||
|
|
||
|
var $input = $(".typeahead");
|
||
|
$input.typeahead({
|
||
|
autocomplete: true,
|
||
|
source: TypeAheadList,
|
||
|
});CreateMedicerMenu
|
||
|
|
||
|
$input.change(function() {
|
||
|
var current = $input.typeahead("getActive");
|
||
|
matches = [];
|
||
|
|
||
|
if (current) {
|
||
|
if (current.name == $input.val()) {
|
||
|
matches.push(current.name);
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
|
||
|
function RefreshCreateCallBTN(){
|
||
|
let in_citizen_call_reason = document.getElementById("in_citizen_call_reason").value
|
||
|
|
||
|
if (in_citizen_call_reason.length > 0){
|
||
|
document.getElementById("create_call_btn").disabled = false
|
||
|
}
|
||
|
else{
|
||
|
document.getElementById("create_call_btn").disabled = true
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function CreateCall(){
|
||
|
let text = document.getElementById("in_citizen_call_reason").value
|
||
|
$.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"MDTCitizenCall", type:"create", text}))
|
||
|
Close()
|
||
|
document.getElementById("in_citizen_call_reason").value = ""
|
||
|
}
|
||
|
|
||
|
function CloseCitizenCall(){
|
||
|
document.getElementById("create_citizen_call").style.animation = "Hide_panel 0.5s ease";
|
||
|
setTimeout(function(){
|
||
|
$("#create_citizen_call").css("display","none")
|
||
|
}, 400)
|
||
|
}
|
||
|
|
||
|
///////////////////////////////////////////////////////////// MEDIC PANEL \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
|
||
|
|
||
|
function CreateMedicerMenu(){
|
||
|
if (Gender == 0){
|
||
|
$(".main_body").attr('src', "assets/main_body_w.png")
|
||
|
$("#head").attr('src', "assets/head_w.png")
|
||
|
$("#body").attr('src', "assets/body_w.png")
|
||
|
$("#right_arm").attr('src', "assets/right_arm_w.png")
|
||
|
$("#left_arm").attr('src', "assets/left_arm_w.png")
|
||
|
$("#right_leg").attr('src', "assets/right_leg_w.png")
|
||
|
$("#left_leg").attr('src', "assets/left_leg_w.png")
|
||
|
}
|
||
|
else{
|
||
|
$(".main_body").attr('src', "assets/main_body.png")
|
||
|
$("#head").attr('src', "assets/head.png")
|
||
|
$("#body").attr('src', "assets/body.png")
|
||
|
$("#right_arm").attr('src', "assets/right_arm.png")
|
||
|
$("#left_arm").attr('src', "assets/left_arm.png")
|
||
|
$("#right_leg").attr('src', "assets/right_leg.png")
|
||
|
$("#left_leg").attr('src', "assets/left_leg.png")
|
||
|
}
|
||
|
|
||
|
DisplayOrNot(Damages.head, "head")
|
||
|
DisplayOrNot(Damages.body, "body")
|
||
|
DisplayOrNot(Damages.larm, "left_arm")
|
||
|
DisplayOrNot(Damages.rarm, "right_arm")
|
||
|
DisplayOrNot(Damages.lleg, "left_leg")
|
||
|
DisplayOrNot(Damages.rleg, "right_leg")
|
||
|
|
||
|
if (DeathStatus){
|
||
|
$(".status_con .box").css("color", "rgb(223, 62, 62)")
|
||
|
$(".status_con .box").html("COMATOSE")
|
||
|
$(".cause_of_death").css("display", "block")
|
||
|
$(".des").css("display", "block")
|
||
|
$(".cause_of_death").html(DeathReason)
|
||
|
}
|
||
|
else{
|
||
|
$(".cause_of_death").css("display", "none")
|
||
|
$(".des").css("display", "none")
|
||
|
if (Damages.bleeding){
|
||
|
$(".status_con .box").css("color", "rgb(223, 62, 62)")
|
||
|
$(".status_con .box").html("BLEEDING")
|
||
|
}
|
||
|
else{
|
||
|
$(".status_con .box").css("color", "rgba(127, 255, 212, 0.87)")
|
||
|
$(".status_con .box").html("NORMAL")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
if (Mediceryou){
|
||
|
$(".patient").html("YOU")
|
||
|
|
||
|
dragMedicElement(document.getElementById("blood_me"), "blood")
|
||
|
DisplayMedicerItem(MedicerItems.Bandage, "blood_me")
|
||
|
}
|
||
|
else{
|
||
|
$(".patient").html("PLAYER")
|
||
|
|
||
|
dragMedicElement(document.getElementById("head_heal"),"head_heal")
|
||
|
dragMedicElement(document.getElementById("body_heal"), "body_heal")
|
||
|
dragMedicElement(document.getElementById("arm_heal"), "arm_heal")
|
||
|
dragMedicElement(document.getElementById("leg_heal"), "leg_heal")
|
||
|
dragMedicElement(document.getElementById("blood"), "blood")
|
||
|
dragMedicElement(document.getElementById("revive"), "revive")
|
||
|
|
||
|
DisplayMedicerItem(MedicerItems.Head, "head_heal")
|
||
|
DisplayMedicerItem(MedicerItems.Body, "body_heal")
|
||
|
DisplayMedicerItem(MedicerItems.Arms, "arm_heal")
|
||
|
DisplayMedicerItem(MedicerItems.Legs, "leg_heal")
|
||
|
DisplayMedicerItem(MedicerItems.Bandage, "blood")
|
||
|
DisplayMedicerItem(MedicerItems.Medikit, "revive")
|
||
|
}
|
||
|
|
||
|
$(".bpm_con .box").html(Bpm)
|
||
|
}
|
||
|
|
||
|
function DisplayMedicerItem(value, id){
|
||
|
if (value != false){
|
||
|
$("#"+id).css("display", "block")
|
||
|
document.getElementById(id).src = "assets/"+value+".png"
|
||
|
}
|
||
|
else{
|
||
|
$("#"+id).css("display", "none")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function DisplayOrNot(value, id){
|
||
|
if (value){
|
||
|
$("#"+id).css("display", "block")
|
||
|
$("#"+id+"2").css("display", "block")
|
||
|
}
|
||
|
else{
|
||
|
$("#"+id).css("display", "none")
|
||
|
$("#"+id+"2").css("display", "none")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function CloseMedicPanel(){
|
||
|
document.getElementById("medic_panel").style.animation = "Hide_panel 0.5s ease";
|
||
|
document.getElementById("medic_panel_me").style.animation = "Hide_panel 0.5s ease";
|
||
|
setTimeout(function(){
|
||
|
$(".medic_panel").css("display","none")
|
||
|
}, 400)
|
||
|
}
|
||
|
|
||
|
OGPos = {"head_heal": {x: null, y:null}, "body_heal": {x: null, y:null}, "arm_heal": {x: null, y:null}, "leg_heal": {x: null, y:null},"blood": {x: 12, y: 12},"revive": {x: null, y:null}}
|
||
|
|
||
|
function dragMedicElement(elmnt, item) {
|
||
|
var pos1 = 0, pos2 = 0, pos3 = 0, pos4 = 0;
|
||
|
|
||
|
if (OGPos[item].x == null){
|
||
|
OGPos[item].x = elmnt.offsetLeft
|
||
|
OGPos[item].y = elmnt.offsetTop
|
||
|
}
|
||
|
|
||
|
elmnt.onmousedown = dragMouseDown
|
||
|
|
||
|
function dragMouseDown(e) {
|
||
|
e = e || window.event;
|
||
|
e.preventDefault();
|
||
|
|
||
|
pos3 = e.clientX;
|
||
|
pos4 = e.clientY;
|
||
|
document.onmouseup = closeDragElement;
|
||
|
document.onmousemove = elementDrag;
|
||
|
}
|
||
|
|
||
|
function elementDrag(e) {
|
||
|
e = e || window.event
|
||
|
e.preventDefault()
|
||
|
|
||
|
pos1 = pos3 - e.clientX
|
||
|
pos2 = pos4 - e.clientY
|
||
|
pos3 = e.clientX
|
||
|
pos4 = e.clientY
|
||
|
|
||
|
elmnt.style.opacity = "0.8"
|
||
|
|
||
|
elmnt.style.top = (elmnt.offsetTop - pos2) + "px"
|
||
|
elmnt.style.left = (elmnt.offsetLeft - pos1) + "px"
|
||
|
|
||
|
if (Mediceryou){
|
||
|
if (elementsOverlap(elmnt, document.getElementById("medic_panel_me")) == false){
|
||
|
closeDragElement()
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
if (elementsOverlap(elmnt, document.getElementById("medic_panel")) == false){
|
||
|
closeDragElement()
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
function closeDragElement() {
|
||
|
UseMedicItem(elmnt, item)
|
||
|
elmnt.style.opacity = "1"
|
||
|
document.onmouseup = null;
|
||
|
document.onmousemove = null;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function UseMedicItem(elmnt, item){
|
||
|
let elm = elmnt
|
||
|
if (Damages.bleeding == false && DeathStatus == false){
|
||
|
if (item == "head_heal"){
|
||
|
if (elementsOverlap(elm, document.getElementById("head_box")) && Damages.head){
|
||
|
ItemAnim(elm, item)
|
||
|
}
|
||
|
else if(elementsOverlap(elm, document.getElementById("head_box")) && Damages.head == false){
|
||
|
WrongItemAnim(elm, item)
|
||
|
}
|
||
|
else{
|
||
|
elm.style.top = OGPos[item].y + "px"
|
||
|
elm.style.left = OGPos[item].x + "px"
|
||
|
}
|
||
|
}
|
||
|
else if (item == "body_heal"){
|
||
|
if (elementsOverlap(elm, document.getElementById("body_box")) && Damages.body){
|
||
|
ItemAnim(elm, item)
|
||
|
}
|
||
|
else if(elementsOverlap(elm, document.getElementById("body_box")) && Damages.body == false){
|
||
|
WrongItemAnim(elm, item)
|
||
|
}
|
||
|
else{
|
||
|
elm.style.top = OGPos[item].y + "px"
|
||
|
elm.style.left = OGPos[item].x + "px"
|
||
|
}
|
||
|
}
|
||
|
else if (item == "arm_heal"){
|
||
|
if (elementsOverlap(elm, document.getElementById("right_arm_box")) && Damages.rarm){
|
||
|
ItemAnim(elm, item, "right")
|
||
|
}
|
||
|
else if(elementsOverlap(elm, document.getElementById("right_arm_box")) && Damages.rarm == false){
|
||
|
WrongItemAnim(elm, item)
|
||
|
}
|
||
|
else if (elementsOverlap(elm, document.getElementById("left_arm_box")) && Damages.larm){
|
||
|
ItemAnim(elm, item, "left")
|
||
|
}
|
||
|
else if(elementsOverlap(elm, document.getElementById("left_arm_box")) && Damages.larm == false){
|
||
|
WrongItemAnim(elm, item)
|
||
|
}
|
||
|
else{
|
||
|
elm.style.top = OGPos[item].y + "px"
|
||
|
elm.style.left = OGPos[item].x + "px"
|
||
|
}
|
||
|
}
|
||
|
else if (item == "leg_heal"){
|
||
|
if (elementsOverlap(elm, document.getElementById("right_leg_box")) && Damages.rleg){
|
||
|
ItemAnim(elm, item, "right")
|
||
|
}
|
||
|
else if(elementsOverlap(elm, document.getElementById("right_leg_box")) && Damages.rleg == false){
|
||
|
WrongItemAnim(elm, item)
|
||
|
}
|
||
|
else if (elementsOverlap(elm, document.getElementById("left_leg_box")) && Damages.lleg){
|
||
|
ItemAnim(elm, item, "left")
|
||
|
}
|
||
|
else if(elementsOverlap(elm, document.getElementById("left_leg_box")) && Damages.lleg == false){
|
||
|
WrongItemAnim(elm, item)
|
||
|
}
|
||
|
else{
|
||
|
elm.style.top = OGPos[item].y + "px"
|
||
|
elm.style.left = OGPos[item].x + "px"
|
||
|
}
|
||
|
}
|
||
|
else if (item == "blood"){
|
||
|
if (elementsOverlap(elm, document.getElementById("body_box")) || elementsOverlap(elm, document.getElementById("body_box2")) || elementsOverlap(elm, document.getElementById("right_leg_box")) || elementsOverlap(elm, document.getElementById("left_leg_box")) || elementsOverlap(elm, document.getElementById("right_arm_box")) || elementsOverlap(elm, document.getElementById("left_arm_box")) || elementsOverlap(elm, document.getElementById("head_box"))){
|
||
|
WrongItemAnim(elm, item)
|
||
|
}
|
||
|
else{
|
||
|
elm.style.top = OGPos[item].y + "px"
|
||
|
elm.style.left = OGPos[item].x + "px"
|
||
|
}
|
||
|
}
|
||
|
else if (item == "revive"){
|
||
|
if (elementsOverlap(elm, document.getElementById("body_box"))){
|
||
|
WrongItemAnim(elm, item)
|
||
|
}
|
||
|
else{
|
||
|
elm.style.top = OGPos[item].y + "px"
|
||
|
elm.style.left = OGPos[item].x + "px"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
else if(DeathStatus){
|
||
|
if (item == "revive"){
|
||
|
if (elementsOverlap(elm, document.getElementById("body_box"))){
|
||
|
ItemAnim(elm, item)
|
||
|
}
|
||
|
else{
|
||
|
elm.style.top = OGPos[item].y + "px"
|
||
|
elm.style.left = OGPos[item].x + "px"
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
elm.style.top = OGPos[item].y + "px"
|
||
|
elm.style.left = OGPos[item].x + "px"
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
if (item == "blood"){
|
||
|
if (elementsOverlap(elm, document.getElementById("body_box")) || elementsOverlap(elm, document.getElementById("body_box2")) || elementsOverlap(elm, document.getElementById("right_leg_box")) || elementsOverlap(elm, document.getElementById("left_leg_box")) || elementsOverlap(elm, document.getElementById("right_arm_box")) || elementsOverlap(elm, document.getElementById("left_arm_box")) || elementsOverlap(elm, document.getElementById("head_box")) && Damages.bleeding){
|
||
|
ItemAnim(elm, item)
|
||
|
}
|
||
|
else if (elementsOverlap(elm, document.getElementById("body_box")) || elementsOverlap(elm, document.getElementById("body_box2")) || elementsOverlap(elm, document.getElementById("right_leg_box")) || elementsOverlap(elm, document.getElementById("left_leg_box")) || elementsOverlap(elm, document.getElementById("right_arm_box")) || elementsOverlap(elm, document.getElementById("left_arm_box")) || elementsOverlap(elm, document.getElementById("head_box")) && Damages.bleeding == false){
|
||
|
WrongItemAnim(elm, item)
|
||
|
}
|
||
|
else{
|
||
|
elm.style.top = OGPos[item].y + "px"
|
||
|
elm.style.left = OGPos[item].x + "px"
|
||
|
}
|
||
|
}
|
||
|
else{
|
||
|
WrongItemAnim(elm, item)
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function ItemAnim(elm, item, part){
|
||
|
elm.style.animation = 'none';
|
||
|
elm.offsetHeight;
|
||
|
elm.style.animation = "itemuseanim 1.2s";
|
||
|
setTimeout(function(){
|
||
|
elm.style.top = OGPos[item].y + "px"
|
||
|
elm.style.left = OGPos[item].x + "px"
|
||
|
elm.style.animation = 'none';
|
||
|
Close()
|
||
|
},1200)
|
||
|
|
||
|
$.post('https://'+GetParentResourceName()+'/UseButton', JSON.stringify({action:"MedicerMenu", type:"useitem", item, you:Mediceryou, part}))
|
||
|
}
|
||
|
|
||
|
function WrongItemAnim(elm, item){
|
||
|
elm.style.animation = 'none';
|
||
|
elm.offsetHeight;
|
||
|
elm.style.animation = "itemnotuseanim 0.8s";
|
||
|
setTimeout(function(){
|
||
|
elm.style.top = OGPos[item].y + "px"
|
||
|
elm.style.left = OGPos[item].x + "px"
|
||
|
elm.style.animation = 'none';
|
||
|
},800)
|
||
|
}
|
||
|
|
||
|
/////////////////////////////////////////////////////////////// BASIC FUNCTIONS \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
|
||
|
|
||
|
|
||
|
function isNumber(evt) {
|
||
|
evt = (evt) ? evt : window.event
|
||
|
var charCode = (evt.which) ? evt.which : evt.keyCode
|
||
|
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
|
||
|
return false
|
||
|
}
|
||
|
return true
|
||
|
}
|
||
|
|
||
|
function setlenght(id) {
|
||
|
if (document.getElementById(id).value.length === 2 && document.getElementById(id).value[0] == 0){
|
||
|
document.getElementById(id).value = document.getElementById(id).value.substring(1)
|
||
|
}
|
||
|
if (document.getElementById(id).value.length === 4){
|
||
|
document.getElementById(id).value = document.getElementById(id).value.substring(1)
|
||
|
}
|
||
|
if (document.getElementById(id).value.length === 0){
|
||
|
document.getElementById(id).value = 0
|
||
|
}
|
||
|
changemoney()
|
||
|
return true
|
||
|
}
|
||
|
|
||
|
function dragElement(elmnt) {
|
||
|
var pos1 = 0, pos2 = 0, pos3 = 0, pos4 = 0;
|
||
|
|
||
|
elmnt.onmousedown = dragMouseDown;
|
||
|
|
||
|
function dragMouseDown(e) {
|
||
|
e = e || window.event;
|
||
|
e.preventDefault();
|
||
|
|
||
|
pos3 = e.clientX;
|
||
|
pos4 = e.clientY;
|
||
|
document.onmouseup = closeDragElement;
|
||
|
document.onmousemove = elementDrag;
|
||
|
}
|
||
|
|
||
|
function elementDrag(e) {
|
||
|
e = e || window.event;
|
||
|
e.preventDefault();
|
||
|
|
||
|
pos1 = pos3 - e.clientX;
|
||
|
pos2 = pos4 - e.clientY;
|
||
|
pos3 = e.clientX;
|
||
|
pos4 = e.clientY;
|
||
|
|
||
|
elmnt.style.opacity = "0.8"
|
||
|
|
||
|
elmnt.style.top = (elmnt.offsetTop - pos2) + "px";
|
||
|
elmnt.style.left = (elmnt.offsetLeft - pos1) + "px";
|
||
|
}
|
||
|
|
||
|
function closeDragElement() {
|
||
|
elmnt.style.opacity = "1"
|
||
|
document.onmouseup = null;
|
||
|
document.onmousemove = null;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function elementsOverlap(el1, el2) {
|
||
|
const domRect1 = el1.getBoundingClientRect();
|
||
|
const domRect2 = el2.getBoundingClientRect();
|
||
|
|
||
|
return !(
|
||
|
domRect1.top+50 > domRect2.bottom ||
|
||
|
domRect1.right-50 < domRect2.left ||
|
||
|
domRect1.bottom-50 < domRect2.top ||
|
||
|
domRect1.left+50 > domRect2.right
|
||
|
);
|
||
|
}
|
||
|
|
||
|
function GetTime(createdtime){
|
||
|
let time = Math.round(Date.now() / (1000 * 60)) - createdtime
|
||
|
return time
|
||
|
}
|
||
|
|
||
|
function fancyTimeFormat(duration)
|
||
|
{
|
||
|
var hrs = ~~(duration / 3600);
|
||
|
var mins = ~~((duration % 3600) / 60);
|
||
|
var secs = ~~duration % 60;
|
||
|
|
||
|
var ret = "";
|
||
|
|
||
|
if (hrs > 0) {
|
||
|
ret += "" + hrs + ":" + (mins < 10 ? "0" : "");
|
||
|
}
|
||
|
|
||
|
ret += "" + mins + ":" + (secs < 10 ? "0" : "");
|
||
|
ret += "" + secs;
|
||
|
return ret;
|
||
|
}
|