Apps Home
|
My Uploads
|
Create an App
Memnoch7891_A
Author:
memnoch7891
Description
Source Code
Launch App
Current Users
Created by:
Memnoch7891
App Images
var Genre={aucun:"a",homme:"m",femme:"f",trans:"s",couple:"c"}; var GroupesA={moderateurs:"red",fanClub:"green", tips50:"darkblue",tips250:"lightpurple",tips1000:"darkpurple",possedeToken:"lightblue"}; var Groupes={moderateur:"m",fanClub:"f",tipped:"t",anonymous:"a",withToken:"w",proprietaire:"p"} cb.settings_choices = [ {name:'. . . . . Diffusion aux profils anonymes . . . . ->', type:'choice',choice1:'oui',choice2:'non', defaultValue: 'oui'}, {name:'Si "oui", diffusion intermitente (en sec, 0 = toujours) . . . ->\n--------------------------------------------------', type:'int',minValue:0,maxValue:1000, defaultValue: 0}, //{name: 'min_start_tokens', type: 'int', minValue: 1, maxValue: 1000, defaultValue: 100, label: "Cost to Join Before Show Starts"}, //{name: 'min_join_tokens', type: 'int', minValue: 0, maxValue: 1000, defaultValue: 100, label: "Cost to Join During Show. Set to 0 to Disable Joining During Show."}, //{name: 'hide_message', label: 'Cam Message', type: 'str', minLength: 1, maxLength: 256, defaultValue: 'Secret Show in progress! Tip at least 100 tokens to join in on the fun!' }, ]; var Utilisateurs={ vColl:{}, vLimitCam:[], MAJLimitCam:function(){ cb.sendNotice("MISE A JOUR DES LIMITCAM") var v=[] for (var k in this.vColl){ if (this.vColl[k].visibiliteCam){ cb.sendNotice("affichage de "+k) } } }, utilisateur:function(usr){ u=undefined; if (typeof(usr)=='string'){ u=Utilisateurs.vColl[usr]; }else{ u=Utilisateurs.vColl[usr['user']] } if (typeof(u)=='undefined'){ u=Utilisateurs.ajoute(usr) } return u; }, ajoute:function(usr){ var u={ vName:'', vActif:false, vGenre:Genre.aucun, vTokenInfo:{totalTip:0}, vGroupe:{ fanClub:false, moderateur:false, possedeToken:false, tips50:false, tips250:false, tips1000:false }, vBroadcastInfo:{ visibiliteForcee:false, masquageForce:false, }, vLimitCam:false, majInfo:function(infos){ this.vGroupe.fanClub=infos["in_fanclub"]; this.vGroupe.moderateur=infos['is_mod']; this.vGenre=infos['gender']; this.vGroupe.possedeToken=infos['has_tokens'], this.vGroupe.tips50=infos['tipped_recently']; this.vGroupe.tips250=infos['tipped_alot_recently']; this.vGroupe.tips1000=infos['tipped_tons_recently']; }, onEnter:function(infos){ this.majInfo(infos); this.actif=true; }, onLeave:function(infos){ this.majInfo(infos); this.actif=false; }, onMessage:function(infos){ this.majInfo(infos); this.actif=true; }, onTip:function(infos){ this.vGroupe.fanClub=infos["from_user_in_fanclub"]; this.vGroupe.moderateur=infos['from_user_is_mod']; this.vGenre=infos['from_user_gender']; this.vGroupe.possedeToken=infos['from_user_has_tokens'], this.vGroupe.tips50=infos['from_user_tipped_recently']; this.vGroupe.tips250=infos['from_user_tipped_alot_recently']; this.vGroupe.tips1000=infos['from_user_tipped_tons_recently']; this.vTokenInfo.totalTip+=parseInt(infos['amount']); this.actif=true; }, get proprietaire(){ return this.vName==cb.room_slug; }, MAJLimitCam:function(){ cb.sendNotice("fonction MAJLimitCam pour "+this.name) this.visibiliteCam=(this.actif==true) } }; Object.defineProperty(u,"name",{get:function(){return this.vName},set:function(value){this.vName=value}}); Object.defineProperty(u,"actif",{ get:function(){ return this.vActif }, set:function(value){ if (this.vActif!=value){ cb.sendNotice("definition de actif sur "+value+" pour "+this.name) this.vActif=value; this.MAJLimitCam(); } } }); Object.defineProperty(u,"genre",{get:function(){return this.vGenre}}); Object.defineProperty(u,"totalTip",{get:function(){return this.vTokenInfo.totalTip}}); Object.defineProperty(u,"visibiliteCam",{ get:function(){ return this.vLimitCam; }, set:function(value){ cb.sendNotice("definition de visibiliteCam sur "+value+" pour "+this.name) if (!this.vLimitCam==value){ this.vLimitCam=value; if (value){ LimitCamGestionnaire.addUser(this.name) }else{ LimitCamGestionnaire.removeUser(this.name) } } } }) Object.defineProperty(u,"toString",{get:function(){return this.name+" - "+this.genre}}); if (typeof(usr)=='string'){ u.name=usr; }else{ u.name=usr['user'] } Utilisateurs.vColl[u.name]=u return u; } } Object.defineProperty(Utilisateurs, "taille", {get: function() { var size=0;for (var k in this.vColl){if (this.vColl.hasOwnProperty(k)) size++};return size;},}); function Utilisateur(usr){if (typeof(usr)!='undefined'){u=Utilisateurs.utilisateur(usr);return u;};} var LimitCamGestionnaire={ msgLimitCam:"Votre statut ne permet pas de profiter pleinement du show", removeUser:function(username){ if (cbjs.arrayContains(cb.limitCam_allUsersWithAccess(), username)) { cb.limitCam_removeUsers([username]); //output(cb.room_slug + ' has removed ' + username + ' from the show!'); } }, addUser:function(username){ if (!cbjs.arrayContains(cb.limitCam_allUsersWithAccess(), username)) { cb.limitCam_addUsers(username); } }, innit:function(){ if (!cb.limitCam_isRunning()) cb.limitCam_start(LimitCamGestionnaire.msgLimitCam); } } ////////////////////////////////////////////////// cb.onEnter(function(user) { cb.sendNotice("Un utilisateur s'est connecté..." + user["user"]) u=Utilisateur(user) u.onEnter(user) }); cb.onLeave(function(user) { u=Utilisateur(user) u.onLeave(user) }); cb.onMessage(function (message) { u=Utilisateur(message['user']) u.onMessage(message); }); cb.onTip(function (tip) { u=Utilisateur(tip['from_user']) u.onTip(tip); }); ////////////////////////////////////////////////// LimitCamGestionnaire.innit();
© Copyright Chaturbate 2011- 2024. All Rights Reserved.