telefon.qsrc 63 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941
  1. # telefon
  2. !! Draw screens for mobile phone.
  3. !!
  4. !! The base storage for Contacts is controlled by the Array "$contact". This array is a list of NPC identifiers
  5. !! telling us which ones are in your contact list. There are several other ancillary arrays that support the functions
  6. !! of a contact. Each of these has matching indexes to the $contact array. These are mostly used internally, but a
  7. !! writer can make use of them if they need to.
  8. !!
  9. !! ContactList arrays:
  10. !! $contact[] = NPC code for contact. ('A129', 'A29', 'B13', 'C14')
  11. !! $contactIcon[] = Icon for the contact to use. If path is left off, standard phone icon folder is used. if file extension is left off, '.png' is used
  12. !! $contactOCode[] = Code to execute if call is placed to this contact
  13. !! $contactOSche[] = If statement code to determine schedule for outbound calls
  14. !! $contactICode[] = Code to execute for Incoming call
  15. !! $contactISche[] = if statement code for schedule of incoming calls
  16. !! contactAnon[] = 0 if contact number is known to Sveta, 1 for Anonymous
  17. !! contactToday[] = Calls from this contact today
  18. !! contactWeek[] = Calls from this contact this week
  19. !! contactLastCall[] = last time this Contact called
  20. !
  21. !! Add a contact with AddContact
  22. !! gs 'telefon', 'AddContact', <NPC Code>, <Icon for NPC>, <Code for Incoming Call>, <Limiter for Incoming Call>, <Code for Outgoing Call>, <Limiter for Outgoign Call>, <Anonymous=1>
  23. !! Example, to Add Mother:
  24. !! gs 'telefon', 'AddContact', 'A29', 'icon_npc1', "gs 'telefon', 'Phone_call'", "hour >= 8 and hour <= 20", "gs 'telefon', 'lover'", "hour >= 8 and hour <= 20", 0
  25. !!
  26. !! Remove a contact with DeleteContact
  27. !! gs 'telefon', 'DeleteContact', <NPC Code>
  28. !! Example, to delete Mom:
  29. !! gs 'telefon', 'DeleteContact', 'A29'
  30. !!
  31. !! Header for Phone Screen. Keeps consistent and in one place
  32. $telefon['header'] = {
  33. if telefon['UnreadSMS'] > 0:
  34. $telefon['SMSstatus'] = 'You have <<telefon[''UnreadSMS'']>> unread message(s)'
  35. else
  36. $telefon['SMSstatus'] = ''
  37. end
  38. $result = '<center>
  39. <b><<$mid(100+hour,2,2)>>:<<$mid(100+minut,2,2)>></b><br>
  40. <TABLE cellspacing="0" width="80%">
  41. <TR>
  42. <TD><img src="images/system/icon/icon_statusbar_left.png"></TD>
  43. <TD><<$telefon[''SMSstatus'']>></TD>
  44. <TD align="right"><img src="images/system/icon/icon_statusbar_right.png"></TD>
  45. </TR>
  46. </TABLE><br>'
  47. }
  48. !! Footer for phone screen. Body should be between these two
  49. $telefon['footer'] = {
  50. if $telefon['backButton'] = '': $telefon['backButton'] = 'gs ''telefon'', ''Phone_menu'''
  51. $result = ' <a href="exec:<<$telefon[''backButton'']>>"><img src="images/system/icon/back.png"></a><br><br>
  52. <a href="exec:gs''stat''">Put Phone Away.</a><br>
  53. </center>'
  54. $telefon['backButton'] = 'gs ''telefon'', ''Phone_menu'''
  55. }
  56. !! ''''This is how we print the screen on to the Additional Dscription window
  57. $telefon['print'] = {
  58. clr
  59. pl func('cleanHTML',dyneval($telefon['header']) + $telefon['body'] + dyneval($telefon['footer']))
  60. }
  61. !! This is the formatting function for a row in the Contact List. SHould be run as a DYNEVAL()
  62. $telefon['contact'] = {
  63. !! Contact Row in phone contact list
  64. !! $ARGS[0] = NPC icon
  65. !! $ARGS[1] = NPC Nickname
  66. !! $ARGS[2] = Code to execute for making a Call
  67. !! $ARGS[3] = if statement for determining if NPC is avaiable
  68. $telefon['ContactIcon'] = $ARGS[0]
  69. $telefon['ContactNickName'] = $ARGS[1]
  70. $telefon['ContactCallCode'] = $ARGS[2]
  71. $telefon['ContactCallSchedule'] = $ARGS[3]
  72. !!If file extension is not given, .png is assumed
  73. if instr($telefon['ContactIcon'],'.') = 0:
  74. $telefon['ContactIcon'] += '.png'
  75. end
  76. !!If path is not given, default phone icon path is assumed
  77. if instr($telefon['ContactIcon'],'/') = 0:
  78. $telefon['ContactIcon'] = 'images/system/phone/icons/' + $telefon['ContactIcon']
  79. end
  80. !!If Contact is not in available timeframe, we disable contact calling
  81. if dyneval('result = iif(<<$telefon["ContactCallSchedule"]>>,1,0)') = 0:
  82. $telefon['ContactCallCode'] = "gs 'telefon', 'phone_call_reject'"
  83. end
  84. $result = '<TR>
  85. <TD><img src="<<$telefon[''ContactIcon'']>>" width="75"></TD>
  86. <TD><<$telefon[''ContactNickName'']>></TD>
  87. <TD align="right"><a href="exec:$callerid = ''<<$telefon[''ContactIcon'']>>'' & <<$telefon[''ContactCallCode'']>>"><b>Call</b></a></TD>
  88. </TR>'
  89. }
  90. if $ARGS[0] = 'AddContact':
  91. !! $ARGS[1] = NPC Array identifier
  92. !! $ARGS[2] = Icon
  93. !! $ARGS[3] = Code to execute for Call out
  94. !! $ARGS[4] = If statement code to determine schedule for outbound calls
  95. !! $ARGS[5] = Code to execute for Incoming call
  96. !! $ARGS[6] = if statement code for schedule of incoming calls
  97. !! ARGS[7] = Anonymous? 0 if not, 1 if yes
  98. $telefonCon['NPC'] = $ARGS[1]
  99. $telefonCon['Icon'] = $ARGS[2]
  100. $telefonCon['OutCode'] = $ARGS[3]
  101. $telefonCon['OutSched'] = $ARGS[4]
  102. $telefonCon['InCode'] = $ARGS[5]
  103. $telefonCon['InSched'] = $ARGS[6]
  104. telefonCon['Anonymous'] = ARGS[7]
  105. telefonCon['ContactListID'] = arrpos('$contact',$telefonCon['NPC'])
  106. if telefonCon['ContactListID'] = -1:
  107. telefonCon['ContactListID'] = arrsize('$contact')
  108. $contact[telefonCon['ContactListID']] = $telefonCon['NPC']
  109. end
  110. $contactIcon[telefonCon['ContactListID']] = $telefonCon['Icon']
  111. $contactOCode[telefonCon['ContactListID']] = $telefonCon['OutCode']
  112. $contactOSche[telefonCon['ContactListID']] = $telefonCon['OutSched']
  113. $contactICode[telefonCon['ContactListID']] = $telefonCon['InCode']
  114. $contactISche[telefonCon['ContactListID']] = $telefonCon['InSched']
  115. contactAnon[telefonCon['ContactListID']] = telefonCon['Anonymous']
  116. killvar 'telefonCon'
  117. killvar '$telefonCon'
  118. end &! --- AddContact ---
  119. if $ARGS[0] = 'DeleteContact':
  120. !! $ARGS[1] = NPC Array identifier
  121. $telefonCon['NPC'] = $ARGS[1]
  122. telefonCon['ContactListID'] = arrpos('$contact',$telefonCon['NPC'])
  123. if telefonCon['ContactListID'] > -1:
  124. killvar '$contact', telefonCon['ContactListID']
  125. killvar '$contactIcon', telefonCon['ContactListID']
  126. killvar '$contactCode', telefonCon['ContactListID']
  127. end
  128. killvar 'telefonCon'
  129. killvar '$telefonCon'
  130. end &! --- AddContact ---
  131. if $ARGS[0] = 'ContactList':
  132. $telefon['body'] = '
  133. <font size=6>Contacts</font><br>
  134. <img src="<<FUNC(''$phone_theme'')>>icon_call.png" height="80" width="80"><br><br>
  135. <TABLE cellspacing="0" width="80%">'
  136. !!iterating all Contacts
  137. i=0
  138. :contactloop2
  139. if i < arrsize('$contact'):
  140. if contactAnon[i] = 0:
  141. $telefon['body'] += dyneval($telefon['contact'],$contactIcon[i],$npc_nickname[$contact[i]],$contactOCode[i],$contactOSche[i])
  142. end
  143. i += 1
  144. jump 'contactloop2'
  145. end
  146. !! Oddball Contacts
  147. if telalla > 0:
  148. $telefon['body'] += dyneval($telefon['contact'],'icon_ira1','Alla',"$telsob = 'Alla' & gt 'telefon', 'mobilaraz'","hour >= 8 and hour <= 20")
  149. end
  150. if telmasha > 0:
  151. $telefon['body'] += dyneval($telefon['contact'],'icon_masha','Masha',"$telsob = 'Masha' & gt 'telefon', 'mobilaraz'","hour >= 8 and hour <= 20")
  152. end
  153. !! iterating all lovers
  154. lover_number = 0
  155. :loverloop2
  156. if pcs_lovers[lover_number] = 1 and svidanie[lover_number] = 0:
  157. $telefon['body'] += dyneval($telefon['contact'],'icon_bf'+lover_picture[lover_number],$loverdesc[lover_number],"lover_number = <<lover_number>> & gt 'telefon', 'callingTheLover', <<lover_number>>","hour > 6 and hour < 20")
  158. end
  159. lover_number += 1
  160. if lover_number < arrsize('pcs_lovers'): jump 'loverloop2'
  161. $telefon['body'] += '</TABLE><br>'
  162. dynamic $telefon['print']
  163. killvar 'i'
  164. killvar 'lover_number'
  165. end &! --- ContactList ---
  166. !! Reset Contact Call Stats Daily and Weekly
  167. !!
  168. !! ARGS[1] = New Week if 1, 0 if same week
  169. if $ARGS[0] = 'DailyStatRefresh':
  170. i=0
  171. :DailyStatRefLoop
  172. if i < arrsize('$contact'):
  173. contactToday[i] = 0
  174. if ARGS[1] = 1:
  175. contactWeek[i] = 0
  176. end
  177. i += 1
  178. jump 'DailyStatRefLoop'
  179. end
  180. killvar 'i'
  181. end
  182. !! Determine if any Incoming calls should happen
  183. !!
  184. !! ARGS[1] = Previous totminut
  185. !! ARGS[2] = Current totminut
  186. if $ARGS[0] = 'IncomingCheck':
  187. telefIncCheck['PrevTotalMinutes'] = ARGS[1]
  188. telefIncCheck['NewTotalMinutes'] = ARGS[2]
  189. if telefIncCheck['PrevTotalMinutes'] > telefIncCheck['NewTotalMinutes'] or telefon['LastIncCallCheck'] > telefIncCheck['NewTotalMinutes'] or telefon['LastIncCallCheck'] = 0:
  190. !! Time Cheat has been used, so we should do some cleanup
  191. telefon['LastIncCallCheck'] = telefIncCheck['NewTotalMinutes']
  192. end
  193. !! Limit the number of calls per day
  194. !! right now allow every 60 minutes
  195. if telefIncCheck['NewTotalMinutes'] - telefon['LastIncCallCheck'] > 60 and menu_off = 0 and phone_off = 0:
  196. telefon['LastIncCallCheck'] = telefIncCheck['NewTotalMinutes']
  197. gs 'telefon','IncomingCallChooser'
  198. end
  199. killvar 'telefIncCheck'
  200. end
  201. if $ARGS[0] = 'IncomingCallChooser':
  202. !! When an Incoming call happens, choose who it comes from
  203. !! Add Contacts
  204. i=0
  205. :telefonIncLoop1
  206. if i < arrsize('$contact'):
  207. if $contactICode[i] ! "":
  208. if dyneval('result = iif(<<$contactISche[i]>>,1,0)') = 1:
  209. j = arrsize('$telefIncCall')
  210. if contactAnon[i] = 1:
  211. $telefIncIcon[j] = "images/system/phone/decline.png"
  212. $telefIncName[j] = "Unknown Caller"
  213. else
  214. $telefIncIcon[j] = $contactIcon[i]
  215. $telefIncName[j] = $npc_nickname[$contact[i]]
  216. end
  217. $telefIncCall[j] = $contactICode[i]
  218. $telefIncNPC[j] = $contact[i]
  219. end
  220. end
  221. i += 1
  222. jump 'telefonIncLoop1'
  223. end
  224. !! Add Lovers
  225. i=0
  226. :telefonIncLoop2
  227. if i < 3 and hour > 5 and hour < 20:
  228. if pcs_lovers[i] = 1 and svidanie[i] = 0 and loverday[i] ! daystart and rand(1,100) > 95:
  229. j = arrsize('$telefIncCall')
  230. $telefIncCall[j] = "cls & gs 'telefon', 'lover', <<i>>"
  231. $telefIncIcon[j] = 'images/characters/shared/<<lover_picture[i]>>.jpg'
  232. $telefIncName[j] = $loverdesc[i]
  233. end
  234. i += 1
  235. jump 'telefonIncLoop2'
  236. end
  237. if arrsize('$telefIncCall') > 0:
  238. j = rand(0,arrsize('$telefIncCall')-1)
  239. if $telefIncNPC[j] ! "":
  240. i = arrpos('$contact',$telefIncNPC[j])
  241. contactLastCall[i] = totminut
  242. contactToday[i] += 1
  243. contactWeek[i] += 1
  244. end
  245. gs 'telefon', 'IncomingCall', $telefIncIcon[j], $telefIncName[j], $telefIncCall[j]
  246. end
  247. killvar 'i'
  248. killvar 'j'
  249. killvar '$telefIncIcon'
  250. killvar '$telefIncName'
  251. killvar '$telefIncCall'
  252. killvar '$telefIncNPC'
  253. end
  254. if $ARGS[0] = 'IncomingCall':
  255. !! $ARGS[1] = Icon for contact
  256. !! $ARGS[2] = Nickname of contact
  257. !! $ARGS[3] = Code to execute for this Call
  258. $telefonIncC['Icon'] = $ARGS[1]
  259. $telefonIncC['Name'] = $ARGS[2]
  260. $telefonIncC['Code'] = $ARGS[3]
  261. PLAY 'sound/old_phone.mp3',30
  262. $telefon['body'] = '
  263. <font size=6><<$telefonIncC["Name"]>> calling</font><br>
  264. <img src="<<$telefonIncC["Icon"]>>" width="200"><br>
  265. <br>
  266. <br>
  267. <br>
  268. <a href="exec:<<$telefonIncC["Code"]>>"><img src="images/system/phone/call_accept.png"></a>
  269. <a href="exec:gt $loc, $loc_arg"><img src="images/system/phone/decline.png"></a><br>
  270. <b><font color="red">Your phone is ringing</font></b><br>'
  271. dynamic $telefon['print']
  272. killvar '$telefonIncC'
  273. end
  274. !---------------------------------------------------------------------------------------
  275. ! Generic Calls for dates
  276. !! NPC Date
  277. !! ARGS[1] = contactlist index
  278. !! $ARGS[2] = Date Location
  279. if $ARGS[0] = 'NPCDate':
  280. Call4Date["ContactIndex"] = ARGS[1]
  281. $Call4Date["Location"] = $ARGS[2]
  282. $Call4Date["NPC"] = $contact[Call4Date['ContactIndex']]
  283. $Call4Date["CallerName"] = $npc_nickname[$Call4Date["NPC"]]
  284. !! These variables are setup for certain downstream functions
  285. $caller = $Call4Date["CallerName"]
  286. $callerid = $contactIcon[Call4Date["ContactIndex"]]
  287. $boydesc = $Call4Date["CallerName"]
  288. pcs_mood += 10
  289. npc_rel[$Call4Date["NPC"]] += 3
  290. if $Call4Date["Location"] = 'city_park':
  291. if npc_gender[$Call4Date["NPC"]] = 0:
  292. gt 'dateM','datepark'
  293. else
  294. gt 'dateF','datepark'
  295. end
  296. elseif $Call4Date["Location"] = 'movie':
  297. if npc_gender[$Call4Date["NPC"]] = 0:
  298. gt 'dateM','datecinema'
  299. else
  300. !Not implemented yet
  301. !gt 'dateF','datecinema'
  302. end
  303. elseif $Call4Date["Location"] = 'bar':
  304. if npc_gender[$Call4Date["NPC"]] = 0:
  305. gt 'dateM','datebar'
  306. else
  307. gt 'dateF','datebar'
  308. end
  309. elseif $Call4Date["Location"] = 'cafe':
  310. if npc_gender[$Call4Date["NPC"]] = 0:
  311. gt 'dateM','datecafe'
  312. else
  313. !Not implemented yet
  314. !gt 'dateF','datecafe'
  315. end
  316. end
  317. killvar 'Call4Date'
  318. killvar '$Call4Date'
  319. end
  320. !! Sveta Calls the NPC
  321. !! ARGS[1] = contactlist index
  322. if $ARGS[0] = 'SvetaCallsNPC':
  323. cls
  324. cla
  325. Call4Date["ContactIndex"] = ARGS[1]
  326. $Call4Date["NPC"] = $contact[Call4Date['ContactIndex']]
  327. $Call4Date["CallerName"] = $npc_nickname[$Call4Date["NPC"]]
  328. if npc_gender[$Call4Date["NPC"]] = 0:
  329. $Call4Date["NPC-he"] = 'he'
  330. $Call4Date["NPC-He"] = 'He'
  331. $Call4Date["NPC-his"] = 'his'
  332. $Call4Date["NPC-His"] = 'His'
  333. else
  334. $Call4Date["NPC-he"] = 'her'
  335. $Call4Date["NPC-He"] = 'Her'
  336. $Call4Date["NPC-his"] = 'hers'
  337. $Call4Date["NPC-His"] = 'Hers'
  338. end
  339. !! These variables are setup for certain downstream functions
  340. $caller = $Call4Date["CallerName"]
  341. $callerid = $contactIcon[Call4Date["ContactIndex"]]
  342. gs 'telefon','phone_balance'
  343. gs 'telefon','phone_call_receive'
  344. Call4Date["willAgree"] = (rand(0, 10) > 3)
  345. '"Yes, I''m listening," says a voice from the speaker.'
  346. if month > 5 and temper > 20 and sunWeather = 1:
  347. act 'Invite to the park':
  348. cla
  349. '"Let''s go for a walk in the park."'
  350. if Call4Date["willAgree"]:
  351. '<<$Call4Date["CallerName"]>>, "See you in the park in an hour."'
  352. act 'Go':gt 'telefon', 'NPCDate', Call4Date["ContactIndex"], 'city_park'
  353. else
  354. gs 'telefon','telotkaz',$Call4Date["CallerName"]
  355. end
  356. end
  357. end
  358. act 'Invite to a movie':
  359. cla
  360. '"Want to go see a movie?"'
  361. if Call4Date["willAgree"]:
  362. '<<$Call4Date["CallerName"]>>, "See you at the movie theater in an hour."'
  363. act 'Go':gt 'telefon', 'NPCDate', Call4Date["ContactIndex"], 'movie'
  364. else
  365. gs 'telefon','telotkaz',$Call4Date["CallerName"]
  366. end
  367. end
  368. if $home_town = 'city':
  369. act 'Invite to the bar':
  370. cla
  371. '"Let''s go to the bar."'
  372. if Call4Date["willAgree"]:
  373. '<<$Call4Date["CallerName"]>>, "See you at the bar in an hour."'
  374. act 'Go':gt 'telefon', 'NPCDate', Call4Date["ContactIndex"], 'bar'
  375. else
  376. gs 'telefon','telotkaz',$Call4Date["CallerName"]
  377. end
  378. end
  379. end
  380. act 'Invite to the cafe':
  381. cla
  382. '"Let''s go to the cafe."'
  383. if Call4Date["willAgree"]:
  384. '<<$Call4Date["CallerName"]>>, "See you at the cafe in an hour."'
  385. act 'Go':gt 'telefon', 'NPCDate', Call4Date["ContactIndex"], 'cafe'
  386. else
  387. gs 'telefon','telotkaz',$Call4Date["CallerName"]
  388. end
  389. end
  390. !!Willpower checks for resistance
  391. if npc_rel[$Call4Date["NPC"]] <= 25:
  392. $Call4Date["loverResist"] = 'easy'
  393. elseif npc_rel[$Call4Date["NPC"]] <= 50:
  394. $Call4Date["loverResist"] = 'medium'
  395. else
  396. $Call4Date["loverResist"] = 'hard'
  397. end
  398. gs 'willpower', 'misc', 'self', $Call4Date["loverResist"]
  399. if will_cost <= pcs_willpwr:
  400. act 'I think we should break up... (<<will_cost>> Willpower)':
  401. *clr & cla
  402. gs 'willpower', 'pay', 'self'
  403. gs 'stat'
  404. '<<$Call4Date["NPC-He"]>> sounds hurt, but you insist it is for the best. You both say goodbye and part ways.'
  405. gs 'telefon', 'DeleteContact', $Call4Date["NPC"]
  406. act 'Hang up': gt 'telefon', 'fin'
  407. end
  408. else
  409. act 'I think we should break up... (<font color="red"><<will_cost>> Willpower</font>)':
  410. '<br><font color="red">You don''t have enough willpower to use this action.</font>'
  411. end
  412. end
  413. act 'Hangup':gt 'telefon', 'fin'
  414. killvar 'Call4Date'
  415. killvar '$Call4Date'
  416. killvar '$DateNickName'
  417. end
  418. !! NPC Calls Sveta for a Date
  419. !! ARGS[1] = $contact index number
  420. if $ARGS[0] = 'NPCCallsForDate':
  421. cla
  422. clr
  423. Call4Date["ContactIndex"] = ARGS[1]
  424. $Call4Date["NPC"] = $contact[Call4Date['ContactIndex']]
  425. if npc_gender[$Call4Date["NPC"]] = 0:
  426. $Call4Date["NPC-he"] = 'he'
  427. $Call4Date["NPC-He"] = 'He'
  428. $Call4Date["NPC-his"] = 'his'
  429. $Call4Date["NPC-His"] = 'His'
  430. else
  431. $Call4Date["NPC-he"] = 'her'
  432. $Call4Date["NPC-He"] = 'Her'
  433. $Call4Date["NPC-his"] = 'hers'
  434. $Call4Date["NPC-His"] = 'Hers'
  435. end
  436. !!Pick a nickname that caller will use for Sveta
  437. $DateNickName[0] = 'cutie'
  438. $DateNickName[1] = 'honey'
  439. $DateNickName[2] = 'sweetie'
  440. $DateNickName[3] = 'baby'
  441. $DateNickName[4] = 'hot stuff'
  442. $DateNickName[5] = '<<$pcs_nickname>>'
  443. $Call4Date['SvetaName'] = $DateNickName[rand(0, arrsize('$DateNickName'))]
  444. $Call4Date['CallerName'] = $npc_nickname[$Call4Date["NPC"]]
  445. !! These variables are setup for certain downstream functions
  446. $caller = $Call4Date["CallerName"]
  447. $callerid = $contactIcon[Call4Date["ContactIndex"]]
  448. 'Hey <<$Call4Date["SvetaName"]>>, it''s me, <<$Call4Date["CallerName"]>>. How''s it going?'
  449. act 'Answer':
  450. cla
  451. '"Pretty good, you?"'
  452. '<<$Call4Date["CallerName"]>>, "Great, but I kind of miss you, can we meet today?"'
  453. if week > 1 and week < 5 and workKafe = 1:
  454. act 'Sorry, I''m working today':
  455. cla
  456. '"Sorry, I''m working today."'
  457. '<<$Call4Date["CallerName"]>>, "Okay, I''ll call tomorrow."'
  458. act 'Hang up':gt 'telefon', 'fin'
  459. end
  460. end
  461. act 'Tonight':
  462. cla
  463. npc_rel[$Call4Date["NPC"]] += 1
  464. contMeetDay[Call4Date["ContactIndex"]] = daystart
  465. '"How about this evening?"'
  466. '<<$Call4Date["CallerName"]>>, "Sounds great! When can I come to pick you up?"'
  467. act 'Pick a time':
  468. cla
  469. contMeetHour[Call4Date["ContactIndex"]] = input ("When do you want to be picked up. It is now <<$mid(100+hour,2,2)>>:<<$mid(100+minut,2,2)>>. [Enter the hour only 0 - 20]")
  470. if contMeetHour[Call4Date["ContactIndex"]] <= hour or contMeetHour[Call4Date["ContactIndex"]] > 23:contMeetHour[Call4Date["ContactIndex"]] = 20
  471. '"How about <<contMeetHour[Call4Date["ContactIndex"]]>>:00?."'
  472. '<<$Call4Date["CallerName"]>>, "Okay <<$Call4Date["SvetaName"]>>, see you at <<contMeetHour[Call4Date["ContactIndex"]]>>:00."'
  473. act 'Hang up':gt 'telefon', 'fin'
  474. end
  475. end
  476. act 'Maybe tomorrow':
  477. cla
  478. npc_rel[$Call4Date["NPC"]] -= 1
  479. '"I''m busy today. Call tomorrow."'
  480. if npc_rel[$Call4Date["NPC"]] <= 0:'<<$Call4Date["CallerName"]>>, Are you fucking me, you know what. Suck my dick.' & gs 'telefon', 'DeleteContact', $Call4Date["NPC"]
  481. if npc_rel[$Call4Date["NPC"]] > 0:'(<<$Call4Date["CallerName"]>>) - Okay, I''ll call tomorrow.'
  482. act 'Hang up': gt 'telefon', 'fin'
  483. end
  484. !!Willpower checks for resistance
  485. if npc_rel[$Call4Date["NPC"]] <= 25:
  486. $Call4Date["loverResist"] = 'easy'
  487. elseif npc_rel[$Call4Date["NPC"]] <= 50:
  488. $Call4Date["loverResist"] = 'medium'
  489. else
  490. $Call4Date["loverResist"] = 'hard'
  491. end
  492. gs 'willpower', 'misc', 'self', $Call4Date["loverResist"]
  493. if will_cost <= pcs_willpwr:
  494. act 'I think we should break up... (<<will_cost>> Willpower)':
  495. *clr & cla
  496. gs 'willpower', 'pay', 'self'
  497. gs 'stat'
  498. '<<$Call4Date["NPC-He"]>> sounds hurt, but you insist it is for the best. You both say goodbye and part ways.'
  499. gs 'telefon', 'DeleteContact', $Call4Date["NPC"]
  500. act 'Hang up': gt 'telefon', 'fin'
  501. end
  502. else
  503. act 'I think we should break up... (<font color="red"><<will_cost>> Willpower</font>)':
  504. '<br><font color="red">You don''t have enough willpower to use this action.</font>'
  505. end
  506. end
  507. end
  508. act 'Hang up (end relationship)':
  509. cla
  510. gs 'telefon', 'DeleteContact', $Call4Date["NPC"]
  511. gt 'telefon', 'fin'
  512. end
  513. killvar 'Call4Date'
  514. killvar '$Call4Date'
  515. killvar '$DateNickName'
  516. end
  517. if $ARGS[0] = 'start':
  518. gs 'stat'
  519. gs 'telefon','phone_call_receive'
  520. if npc_QW['A192'] = 1 and week = 6 and pcs_apprnc > 80:
  521. gt 'nastja', 'pos4'
  522. elseif npc_QW['A192'] = 2 and week ! 6 and zenit ! 0 and nastjaday ! daystart:
  523. gt 'nastja', 'pos13'
  524. elseif hour >= 8 and hour <= 20 and npc_QW['A192'] = 2 and week = 6 and pcs_apprnc > 80 and nastjaday ! daystart:
  525. gt 'nastja', 'pos12'
  526. elseif npc_QW['A192'] = 5 and week = 6 and nastjaday ! daystart:
  527. gt 'nastja', 'pos22'
  528. elseif npc_QW['A192'] = 6 and nastjaday ! daystart:
  529. gt 'nastja', 'pos31'
  530. else
  531. $callerid = 'images/system/phone/icons/icon_nastja.png'
  532. gs 'telefon','phone_call_reject'
  533. end
  534. end
  535. !--------------------------------------------------------------------------------------------------
  536. ! Old telephone system. Some of this should be removed.
  537. if $ARGS[0] = 'phone_ring':
  538. $telefon['body'] = '
  539. <font size=6><<$caller>> calling</font><br>
  540. <img src="<<$callerid>>"><br>
  541. <br>
  542. <br>
  543. <br>
  544. <br>'
  545. dynamic $telefon['print']
  546. end &! --- phone_ring ---
  547. if $ARGS[0] = 'phone_call_receive':
  548. $telefon['body'] = '
  549. <font size=6>Talking to <<$caller>></font><br>
  550. <img src="<<$callerid>>"><br>'
  551. dynamic $telefon['print']
  552. end &! --- phone_call_receive ---
  553. if $ARGS[0] = 'phone_balance':
  554. if balans < 4:
  555. $telefon['body'] = '
  556. <font size=6>Not enough credit on your account</font><br>
  557. <img src="<<$callerid>>"><br><br>
  558. <a href="exec:gs ''telefon'', ''Phone_menu'' "><img src="images/system/phone/decline.png"></a><br>'
  559. dynamic $telefon['print']
  560. wait 3500
  561. cla
  562. gt $loc, $loc_arg
  563. elseif balans >= 4:
  564. balans -= 4
  565. end
  566. end &! --- phone_balance ---
  567. if $ARGS[0] = 'Phone_call':
  568. $telefon['body'] = '
  569. <font size=6>Calling <<$npc_nickname[''A29'']>></font><br>
  570. <img src="images/system/phone/icons/icon_npc1.png"><br><br>
  571. <a href="exec:gs ''telefon'', ''Phone_contactlist'' "><img src="images/system/phone/decline.png"></a><br>'
  572. dynamic $telefon['print']
  573. wait 1500
  574. minut += 1
  575. $callerid = 'images/system/phone/icons/icon_npc1.png'
  576. gs 'telefon', 'phone_balance'
  577. $callerid = 'images/system/phone/icons/icon_npc1.png'
  578. gs 'telefon', 'phone_call_reject'
  579. end &! --- Phone_call ---
  580. if $ARGS[0] = 'phone_call_reject':
  581. $telefon['body'] = '
  582. <font size=6>Calling...</font><br>
  583. <img src="<<$callerid>>"><br><br>
  584. <a href="exec:gs ''telefon'', ''Phone_contactlist'' "><img src="images/system/phone/decline.png"></a><br>'
  585. dynamic $telefon['print']
  586. end &! --- phone_call_reject ---
  587. if $ARGS[0] = 'Phone_megafon':
  588. $telefon['body'] = '
  589. <font size=6>MegaFon</font><br>
  590. <img src="<<FUNC(''$phone_theme'')>>icon_megafon.png" height="80" width="80"><br><br>
  591. <b>The balance in the account:</b>
  592. <font size=5><<balans>> ₽.</font><br>'
  593. dynamic $telefon['print']
  594. end &! --- Phone_megafon ---
  595. if $ARGS[0] = 'Edit_Custom_list':
  596. clr
  597. dummyas = arrsize('$contact')
  598. :din_bad_as1
  599. dummyas -= 1
  600. if dummyas >= 0:
  601. $dummyedit = $contact[dummyas]
  602. $dummyedit1 = dyneval('$result = ''</a><a href="exec:killvar ''''$contact'''',<<dummyas>> & gs ''''telefon'''', ''''Edit_Custom_list'''' "><b>Remove</b>'' ')
  603. $dummyedit2 = $replace($dummyedit,'<b>Call</b>',$dummyedit1)
  604. pl $dummyedit2
  605. jump 'din_bad_as1'
  606. end
  607. killvar 'dummyas'
  608. killvar 'dummyedit'
  609. killvar 'dummyedit1'
  610. killvar 'dummyedit2'
  611. pl'<center><a href="exec:gs ''telefon'', ''Phone_menu'' "><img src="images/system/icon/back.png"></a></center>'
  612. !dynamic $telefon['print']
  613. end &! --- Edit_Custom_list ---
  614. if $ARGS[0] = 'mobilaraz':
  615. cls
  616. cla
  617. gs'din_bad'
  618. $caller = '<<$telsob>>'
  619. gs 'telefon','phone_balance'
  620. gs 'telefon','phone_call_receive'
  621. willAgree = (rand(0, 10) > 3)
  622. '"Yes, I''m listening," says a voice from the speaker.'
  623. if month > 5 and temper > 20 and sunWeather = 1:
  624. act 'Invite to the park':
  625. cla
  626. '"Let''s go for a walk in the park."'
  627. if willAgree:
  628. '<<$telsob>>, "See you in the park in an hour."'
  629. act 'Go':gt 'parksvid'
  630. else
  631. gs 'telefon','telotkaz',$telsob
  632. end
  633. end
  634. end
  635. act 'Invite to a movie':
  636. cla
  637. '"Want to go see a movie?"'
  638. if willAgree:
  639. '<<$telsob>>, "See you at the movie theater in an hour."'
  640. act 'Go':gt 'kinosvid'
  641. else
  642. gs 'telefon','telotkaz',$telsob
  643. end
  644. end
  645. act 'Invite to the pool hall':
  646. cla
  647. '"Let''s play pool."'
  648. if willAgree:
  649. '<<$telsob>>, "See you at the pool hall in an hour."'
  650. act 'Go':gt 'billsvid'
  651. else
  652. gs 'telefon','telotkaz',$telsob
  653. end
  654. end
  655. act 'Invite to the cafe':
  656. cla
  657. '"Let''s go to the cafe."'
  658. if willAgree:
  659. '<<$telsob>>, "See you at the cafe in an hour."'
  660. act 'Go':gt 'kafesvid'
  661. else
  662. gs 'telefon','telotkaz',$telsob
  663. end
  664. end
  665. act 'Invite to the casino':
  666. cla
  667. '"Let''s go to the casino."'
  668. if willAgree:
  669. '<<$telsob>>, "See you in the casino in an hour."'
  670. act 'Go':gt 'kazinosvid'
  671. else
  672. gs 'telefon','telotkaz',$telsob
  673. end
  674. end
  675. act 'Hangup':gt 'telefon', 'fin'
  676. end
  677. !----------------End Old Telephone----------------------------
  678. !-----------------------------------------------------------------------------
  679. ! Support for Hardcoded Lovers (BF/GF)
  680. if $ARGS[0] = 'callingTheLover' and loverGender[ARGS[1]] = 1:
  681. cls
  682. cla
  683. gs'din_bad'
  684. lover_number = ARGS[1]
  685. $caller = '<<$loverdesc[lover_number]>>'
  686. $telsob = $caller
  687. $callerid = 'images/characters/shared/'+lover_picture[lover_number]+'.jpg'
  688. gs 'telefon','phone_balance'
  689. gs 'telefon','phone_call_receive'
  690. willAgree = (rand(0, 10) > 3)
  691. '"Yes, I''m listening," says a voice from the speaker.'
  692. if month > 5 and temper > 20 and sunWeather = 1:
  693. act 'Invite to the park':
  694. cla
  695. '"Let''s go for a walk in the park."'
  696. if willAgree:
  697. '<<$telsob>>, "See you in the park in an hour."'
  698. act 'Go': gt 'parksvid'
  699. else
  700. gs 'telefon','telotkaz',$telsob
  701. end
  702. end
  703. end
  704. act 'Invite to a movie':
  705. cla
  706. '"Want to go see a movie?"'
  707. if willAgree:
  708. '<<$telsob>>, "See you at the movie theater in an hour."'
  709. act 'Go': gt 'kinosvid'
  710. else
  711. gs 'telefon','telotkaz',$telsob
  712. end
  713. end
  714. if $home_town = 'city':
  715. act 'Invite to the pool hall':
  716. cla
  717. '"Let''s play pool."'
  718. if willAgree:
  719. '<<$telsob>>, "See you at the pool hall in an hour."'
  720. act 'Go': gt 'billsvid'
  721. else
  722. gs 'telefon','telotkaz',$telsob
  723. end
  724. end
  725. end
  726. act 'Invite to the cafe':
  727. cla
  728. '"Let''s go to the cafe."'
  729. if willAgree:
  730. '<<$telsob>>, "See you at the cafe in an hour."'
  731. act 'Go': gt 'kafesvid'
  732. else
  733. gs 'telefon','telotkaz',$telsob
  734. end
  735. end
  736. act 'Invite to the casino':
  737. cla
  738. '"Let''s go to the casino."'
  739. if willAgree:
  740. '<<$telsob>>, "See you in the casino in an hour."'
  741. act 'Go': gt 'kazinosvid'
  742. else
  743. gs 'telefon','telotkaz',$telsob
  744. end
  745. end
  746. act 'I think we should break up...':
  747. cla
  748. 'She sounds hurt, but you insist it is for the best. You both say goodbye and part ways.'
  749. gs 'lover', 'remove', lover_number
  750. act 'Hangup':gt 'telefon', 'fin'
  751. end
  752. act 'Hangup':gt 'telefon', 'fin'
  753. end
  754. if $ARGS[0] = 'callingTheLover' and loverGender[ARGS[1]] = 0:
  755. cls
  756. cla
  757. gs'din_bad'
  758. lover_number = ARGS[1]
  759. $caller = '<<$loverdesc[lover_number]>>'
  760. $callerid = 'images/characters/shared/'+lover_picture[lover_number]+'.jpg'
  761. gs 'telefon','phone_balance'
  762. gs 'telefon','phone_call_receive'
  763. willAgree = (rand(0, 10) > 3)
  764. '"Yes, I''m listening," says a voice from the speaker.'
  765. if month > 5 and temper > 20 and sunWeather = 1:
  766. act 'Invite to the park':
  767. cla
  768. '"Let''s go for a walk in the park."'
  769. if willAgree:
  770. '<<$loverdesc[lover_number]>>, "See you in the park in an hour."'
  771. act 'Go':gt 'svidboy', 'parksvid'
  772. else
  773. gs 'telefon','telotkaz',$loverdesc[lover_number]
  774. end
  775. end
  776. end
  777. act 'Invite to a movie':
  778. cla
  779. '"Want to go see a movie?"'
  780. if willAgree:
  781. '<<$loverdesc[lover_number]>>, "See you at the movie theater in an hour."'
  782. act 'Go':gt 'svidboy', 'kinosvid'
  783. else
  784. gs 'telefon','telotkaz',$loverdesc[lover_number]
  785. end
  786. end
  787. if $home_town = 'city':
  788. act 'Invite to the pool hall':
  789. cla
  790. '"Let''s play pool."'
  791. if willAgree:
  792. '<<$loverdesc[lover_number]>>, "See you at the pool hall in an hour."'
  793. act 'Go':gt 'svidboy', 'billsvid'
  794. else
  795. gs 'telefon','telotkaz',$loverdesc[lover_number]
  796. end
  797. end
  798. end
  799. act 'Invite to the cafe':
  800. cla
  801. '"Let''s go to the cafe."'
  802. if willAgree:
  803. '<<$loverdesc[lover_number]>>, "See you at the cafe in an hour."'
  804. act 'Go':gt 'svidboy', 'kafesvid'
  805. else
  806. gs 'telefon','telotkaz',$loverdesc[lover_number]
  807. end
  808. end
  809. act 'I think we should break up...':
  810. cla
  811. 'He sounds hurt, but you insist it is for the best. You both say goodbye and part ways.'
  812. gs 'lover', 'remove', lover_number
  813. act 'Hangup':gt 'telefon', 'fin'
  814. end
  815. act 'Hangup':gt 'telefon', 'fin'
  816. end
  817. if $ARGS[0] = 'lover' and loverGender[ARGS[1]] = 0:
  818. cla
  819. clr
  820. lover_number = ARGS[1]
  821. ring = 0
  822. lover_days = daystart - loverday[lover_number]
  823. !gs 'stat'
  824. !gs 'telefon','phone_call_receive'
  825. svetrand = rand(0, 5)
  826. if svetrand = 0:$sveta = 'cutie'
  827. if svetrand = 1:$sveta = 'honey'
  828. if svetrand = 2:$sveta = 'sweetie'
  829. if svetrand = 3:$sveta = 'baby'
  830. if svetrand = 4:$sveta = 'hot stuff'
  831. if svetrand = 5:$sveta = '<<$pcs_nickname>>'
  832. 'Hey <<$sveta>>, it''s me, <<$loverdesc[lover_number]>>. How''s it going?'
  833. act 'Reply':
  834. cla
  835. '"Pretty good, you?"'
  836. '<<$loverdesc[lover_number]>>, "Great, but I kind of miss you, can we meet today?"'
  837. if (pregchem / 24) <= lover_days and knowpreg = 1 and pregtalk = 0:
  838. act 'Tell him he''s going to be a dad':
  839. cla
  840. pregtalk = 1
  841. '"Honey, I''m pregnant with your child."'
  842. if haraklover[lover_number] = 0:
  843. if loverrelation[lover_number] >= 90:
  844. loverlove[lover_number] = 1
  845. '<<$loverdesc[lover_number]>>, "This is wonderful! We have to celebrate!"'
  846. 'You start talking about living together. <<$loverdesc[lover_number]>> tells you that he is not against it on principle, but first he wants you to meet his parents.'
  847. 'He warns you that his mother is very demanding and rigorous. <<$loverdesc[lover_number]>> says that he loves his mother and does not want to upset her. Therefore, you must look gorgeous, wear a dress from a boutique, and have well-groomed and curled hair and makeup in moderation.'
  848. 'When you are totally ready <<$loverdesc[lover_number]>> will take you to his parents.'
  849. act 'Hang up':gt 'telefon', 'fin'
  850. act 'Meet tonight':
  851. cla
  852. svidanie[lover_number] = 1
  853. '"How about this evening?"'
  854. '<<$loverdesc[lover_number]>>, "Sounds great! When can I come to pick you up?"'
  855. act 'Pick a time':
  856. cla
  857. meetday[lover_number] = daystart
  858. meethour[lover_number] = input ("When do you want to be picked up? It is now <<$mid(100+hour,2,2)>>:<<$mid(100+minut,2,2)>>. [Enter the hour only 0 - 20]")
  859. if meethour[lover_number] <= hour or meethour[lover_number] > 23:meethour[lover_number] = 20
  860. '"How about <<meethour[lover_number]>>:00?"'
  861. '<<$loverdesc[lover_number]>>, "Okay <<$sveta>>, see you at <<meethour[lover_number]>>:00."'
  862. act 'Hang up':gt 'telefon', 'fin'
  863. end
  864. end
  865. elseif loverrelation[lover_number] < 90:
  866. money += 20000
  867. '<<$loverdesc[lover_number]>> "I''m not yet ready to become a dad. I''ll give you the money for an abortion. Get rid of the child.'
  868. act 'Hang up':gt 'telefon', 'fin'
  869. end
  870. elseif haraklover[lover_number] = 1:
  871. money += 20000
  872. '<<$loverdesc[lover_number]>> "I''m not yet ready to become a dad. I''ll give you the money get an abortion.'
  873. act 'Hang up':gt 'telefon', 'fin'
  874. elseif haraklover[lover_number] = 2:
  875. pregtalk = 0
  876. '<<$loverdesc[lover_number]>>, "What? You whore! Someone fucked your pussy, and now you drop it on me. You''re dumped.'
  877. gs 'lover', 'remove', lover_number
  878. act 'Hang up':gt 'telefon', 'fin'
  879. end
  880. end
  881. elseif (pregchem / 24) > lover_days and knowpreg = 1 and pregtalk = 0:
  882. act 'Honey, you will soon become a dad':
  883. cla
  884. loverrelation[lover_number] = 0
  885. '"Honey, I''m pregnant with your child."'
  886. '<<$loverdesc[lover_number]>>, "How the fuck did I manage that? Unless I own a time-machine and went back to before we met and fucked you, it''s someone else''s, go and tell him. I don''t want to see you again, goodbye."'
  887. act 'Hang up.':gt 'telefon', 'fin'
  888. end
  889. elseif week > 1 and week < 5 and workKafe = 1:
  890. act 'Sorry, I''m working today':
  891. cla
  892. '"Sorry, I''m working today."'
  893. '<<$loverdesc[lover_number]>>, "Okay, I''ll call tomorrow."'
  894. act 'Hang up':gt 'telefon', 'fin'
  895. end
  896. end
  897. act 'Tonight':
  898. cla
  899. loverrelation[lover_number] += 1
  900. svidanie[lover_number] = 1
  901. meetday[lover_number] = daystart
  902. '"How about this evening?"'
  903. '<<$loverdesc[lover_number]>>, "Sounds great! When can I come to pick you up?"'
  904. act 'Pick a time':
  905. cla
  906. meethour[lover_number] = input ("When do you want to be picked up. It is now <<$mid(100+hour,2,2)>>:<<$mid(100+minut,2,2)>>. [Enter the hour only 0 - 20]")
  907. if meethour[lover_number] <= hour or meethour[lover_number] > 23:meethour[lover_number] = 20
  908. '"How about <<meethour[lover_number]>>:00?."'
  909. '<<$loverdesc[lover_number]>>, "Okay <<$sveta>>, see you at <<meethour[lover_number]>>:00."'
  910. act 'Hang up':gt 'telefon', 'fin'
  911. end
  912. end
  913. act 'Maybe tomorrow':
  914. cla
  915. loverrelation[lover_number] -= 1
  916. '"I''m busy today. Call tomorrow."'
  917. if loverrelation[lover_number] <= 0:'<<$loverdesc[lover_number]>>, Are you fucking me, you know what. Suck my dick.' & gs 'lover', 'remove', lover_number
  918. if loverrelation[lover_number] > 0:'(<<$loverdesc[lover_number]>>) - Okay, I''ll call tomorrow.'
  919. act 'Hang up': gt 'telefon', 'fin'
  920. end
  921. act 'I think we should break up...':
  922. cla
  923. 'He sounds hurt, but you insist it is for the best. You both say goodbye and part ways.'
  924. gs 'lover', 'remove', lover_number
  925. act 'Hang up': gt 'telefon', 'fin'
  926. end
  927. end
  928. act 'Hang up (end relationship)':
  929. cla
  930. gs 'lover', 'remove', lover_number
  931. gt 'telefon', 'fin'
  932. end
  933. end
  934. if $ARGS[0] = 'lover' and loverGender[ARGS[1]] = 1:
  935. cla
  936. clr
  937. lover_number = ARGS[1]
  938. ring = 0
  939. lover_days = daystart - loverday[lover_number]
  940. !gs 'stat'
  941. !gs 'telefon','phone_call_receive'
  942. svetrand = rand(0, 5)
  943. if svetrand = 0:$sveta = 'cutie'
  944. if svetrand = 1:$sveta = 'honey'
  945. if svetrand = 2:$sveta = 'sweetie'
  946. if svetrand = 3:$sveta = 'baby'
  947. if svetrand = 4:$sveta = 'hot stuff'
  948. if svetrand = 5:$sveta = '<<$pcs_nickname>>'
  949. 'Hey <<$sveta>>, it''s me, <<$loverdesc[lover_number]>>. How''s it going?'
  950. act 'Reply':
  951. cla
  952. '"Pretty good, you?"'
  953. '<<$loverdesc[lover_number]>>, "Great, but I kind of miss you, can we meet today?"'
  954. act 'Tonight':
  955. cla
  956. loverrelation[lover_number] += 1
  957. svidanie[lover_number] = 1
  958. meetday[lover_number] = daystart
  959. '"How about this evening?"'
  960. '<<$loverdesc[lover_number]>>, "Sounds great! When can I come to pick you up?"'
  961. act 'Pick a time':
  962. cla
  963. meethour[lover_number] = input ("When do you want to be picked up. It is now <<$mid(100+hour,2,2)>>:<<$mid(100+minut,2,2)>>. [Enter the hour only 0 - 20]")
  964. if meethour[lover_number] <= hour or meethour[lover_number] > 23:meethour[lover_number] = 20
  965. '"How about <<meethour[lover_number]>>:00?."'
  966. '<<$loverdesc[lover_number]>>, "Okay <<$sveta>>, see you at <<meethour[lover_number]>>:00."'
  967. act 'Hang up':gt 'telefon', 'fin'
  968. end
  969. end
  970. act 'Maybe tomorrow':
  971. cla
  972. loverrelation[lover_number] -= 1
  973. '"I''m busy today. Call tomorrow."'
  974. if loverrelation[lover_number] <= 0:'<<$loverdesc[lover_number]>>, Are you fucking me, you know what. Fuck off.' & gs 'lover', 'remove', lover_number
  975. if loverrelation[lover_number] > 0:'(<<$loverdesc[lover_number]>>) - Okay, I''ll call tomorrow.'
  976. act 'Hang up': gt 'telefon', 'fin'
  977. end
  978. act 'I think we should break up...':
  979. cla
  980. 'She sounds hurt, but you insist it is for the best. You both say goodbye and part ways.'
  981. gs 'lover', 'remove', lover_number
  982. act 'Hang up': gt 'telefon', 'fin'
  983. end
  984. end
  985. act 'Hang up (end relationship)':
  986. cla
  987. gs 'lover', 'remove', lover_number
  988. gt 'telefon', 'fin'
  989. end
  990. end
  991. !---------------------- End of Lover support
  992. if $ARGS[0] = 'Phone_notebook':
  993. gs 'housing', 'rent'
  994. $telefon['body'] = '
  995. <font size=6>Planner</font><br>
  996. <img src="<<FUNC(''$phone_theme'')>>icon_notebook.png" height="80" width="80"><br>
  997. <<year>>-<<$month>>-<<day>>, <<$week[week]>><br><br>'
  998. rent1 = -1
  999. rent4 = -1
  1000. if home_owned[1] > 0 and ArendHouseSL > 0:rent1 = ArendHouseSL
  1001. if home_owned[4] > 0 and ArendHouseSL4 > 0:rent4 = ArendHouseSL4
  1002. d1 = day
  1003. w1 = week
  1004. m1 = month
  1005. y1 = year
  1006. i = 0
  1007. $list = '<br>&emsp;<b>•</b> '
  1008. :pnotebook
  1009. daynum = daystart+i
  1010. $calendarday = ''
  1011. if m1 = 1 and d1 >= 1 and d1 <= 8:
  1012. $calendarday += $list + 'New Year holidays'
  1013. if d1 = 1:$calendarday += ', New Year'
  1014. if d1 = 7:$calendarday += ', Christmas'
  1015. end
  1016. if m1 = 2 and d1 = 23:$calendarday += $list + 'Defender of Fatherland Day'
  1017. if m1 = 3 and d1 = 8:$calendarday += $list + 'Women''s Day'
  1018. if m1 = 5 and d1 = 1:$calendarday += $list + 'Spring and Labor Day'
  1019. if m1 = 5 and d1 = 2:$calendarday += $list + 'National holiday'
  1020. if m1 = 5 and d1 = 9:$calendarday += $list + 'Victory Day'
  1021. if m1 = 6 and d1 = 12:$calendarday += $list + 'Russia Day'
  1022. if m1 = 6 and d1 = 13:$calendarday += $list + 'National holiday'
  1023. if m1 = 11 and d1 = 4:$calendarday += $list + 'Unity Day'
  1024. if storyline = 1 and SchoolAtestat = 0:
  1025. if m1 = 1 and d1 = 1:$calendarday += $list + 'First day of Winter break.'
  1026. if m1 = 1 and d1 = 15:$calendarday += $list + 'Last day of Winter break.'
  1027. if m1 = 3 and d1 = 20:$calendarday += $list + 'First day of Spring break.'
  1028. if m1 = 3 and d1 = 26:$calendarday += $list + 'Last day of Spring break.'
  1029. if y1 = 2017 and m1 = 5 and d1 = 25:$calendarday += $list + 'Graduation Day!'
  1030. if m1 = 6 and d1 = 1:$calendarday += $list + 'First day of Summer break.'
  1031. if m1 = 8 and d1 = 31:$calendarday += $list + 'Last day of Summer break.'
  1032. if m1 = 11 and d1 = 4:$calendarday += $list + 'First day of Autumn break.'
  1033. if m1 = 11 and d1 = 11:$calendarday += $list + 'Last day of Autumn break.'
  1034. end
  1035. if daynum >= daylastperiod+28 and daynum < daylastperiod+31:$calendarday += $list + '<font color=''red''><b>Menstruation!</b></font>'
  1036. if daynum >= daylastperiod+12 and daynum < daylastperiod+14:$calendarday += $list + '<font color=#336600><b>Ovulation!</b></font>'
  1037. if pregchem >= 6720:$calendarday += $list + '<font color=''red''><b>Birthing day!</b></font>'
  1038. if w1 < 5 and (workSec >= 1 or BurgerQW['Secretary'] = 1):$calendarday += $list + 'Working as a secretary. <i>(9:00 - 17:00)</i>'
  1039. if w1 < 5 and workFabrika = 1:
  1040. $calendarday += $list + 'Working as a seamstress. '
  1041. if age < 18:$calendarday += '<i>(16:00 - 20:00)</i>' else $calendarday += '<i>(8:00 - 16:00)</i>'
  1042. end
  1043. if w1 > 1 and w1 <= 5 and workhosp = 1:$calendarday += $list + 'Working as a nurse. <i>(8:00 - 16:00)</i>'
  1044. if worksalon = 1 and (w1 = 1 or w1 = 3 or w1 = 5):$calendarday += $list + 'Working as a masseuse. <i>(9:00 - 17:00)</i>'
  1045. !! if maidqw > 0:$calendarday += '<br>&emsp;<b>•</b> Working as maid. <i>(16:00 - 19:00)</i>'
  1046. if pfilmday[i] > 0:$calendarday += $list + 'Porn shoot: <i><<$porndesc[pfilmday[i]]>></i>'
  1047. if d1 = 25 and (BurgerQW['Secretary'] = 1 or workKafe = 1 or workhosp = 1 or worksalon = 1 or tanwork = 1 or workSec = 1 or workFabrika = 1):$calendarday += $list + '<i>Pay day!</i>'
  1048. if d1 = nyp_day and m1 = 12 and SchoolAtestat = 0 and StoryLine = 1:$calendarday += $list + 'New Year''s party at 14:00!'
  1049. if (npc_QW['A33']-2) mod 2 = 1 and sisboyday+1 = daynum:
  1050. if sisboytrioQW = 1:
  1051. $calendarday += $list + '<font color="orange">Threesome with Anya and Roma at 18:00</font>'
  1052. else
  1053. $calendarday += $list + '<font color="orange">Anya having sex with Roma at 18:00</font>'
  1054. end
  1055. end
  1056. if sisboyparty = 2 and sisboyparty_day+1 = daynum:$calendarday += $list + '<font color="orange">Party at Rex''s, gathering before 18:00 at Community Center</font>'
  1057. if rent1 = 0:$calendarday += $list + 'Rent on city apartment expires!'
  1058. if rent4 = 0:$calendarday += $list + 'Rent on Pushkin apartment expires!'
  1059. if birthday = d1 and birthmonth = m1:$calendarday += $list + 'My birthday!'
  1060. if kid > 0:
  1061. k1 = kid
  1062. :kiddieloop
  1063. if daykid[k1] = d1 and monthkid[k1] = m1:$calendarday += $list + 'Birthday of my <<$polreb[k1]>> <<$kidname[k1]>>, my <<kid>>. baby!'
  1064. if k1 > 1:k1 -= 1 & jump 'kiddieloop'
  1065. end
  1066. if $calendarday ! '':
  1067. $telefon['body'] += '<b><<$monthName[m1]>> <<d1>>, <<$week[w1]>>:</b>'
  1068. $telefon['body'] += $calendarday +'<br>'
  1069. end
  1070. if i < 14:
  1071. rent1 -= 1
  1072. rent4 -= 1
  1073. i += 1
  1074. w1 += 1
  1075. if w1 > 7:w1 = 1
  1076. d1 += 1
  1077. if monthsend[m1] < d1:
  1078. m1 += 1 & d1 = 1
  1079. if m1 = 13: m1 = 1 & y1 += 1
  1080. end
  1081. jump 'pnotebook'
  1082. end
  1083. killvar 'calendarday'
  1084. killvar 'rent1'
  1085. killvar 'rent4'
  1086. killvar 'd1'
  1087. killvar 'w1'
  1088. killvar 'm1'
  1089. killvar 'y1'
  1090. killvar 'daynum'
  1091. dynamic $telefon['print']
  1092. end &! --- Phone_notebook ---
  1093. !!----------------------------------------Camera-------------------------------------------------
  1094. !!for viewing photos on your phone
  1095. if $ARGS[0] = 'Phone_pictures':
  1096. gt 'phone_selfies', 'selfies'
  1097. end
  1098. !!picking the selfie image when taking photos, this sets the location variable
  1099. !{
  1100. $ARGS[1] is phone location if left blank it is a generic selfie (one of the locations in $selfieLoc[])
  1101. $ARGS[2] is for flashing when clothed if left blank then it is not flashing
  1102. }
  1103. if $ARGS[0] = 'Phone_camera_selfie':
  1104. minut += rand(5,7)
  1105. if $ARGS[1] <> '':
  1106. gs 'telefon', 'Phone_selfie_image', $ARGS[1], $ARGS[2]
  1107. else
  1108. phone_rand = RAND(1,selfieClotot[0])
  1109. dynamic '<<$selfieLoc[0]>>_closelfie[<<phone_rand>>] = 1'
  1110. gs 'stat'
  1111. if usePopUps = 1:
  1112. msg '<img src="images/pc/activities/selfies/<<$selfieLoc[0]>>/clothed/<<$selfieFilePrefix[0]>><<phone_rand>>.jpg">'
  1113. else
  1114. view 'images/pc/activities/selfies/<<$selfieLoc[0]>>/clothed/<<$selfieFilePrefix[0]>><<phone_rand>>.jpg'
  1115. end
  1116. end
  1117. !if spdirtyf > 0: phone_rand = RAND (m,n) - for SELF in the semen
  1118. !if photo_event_pic = x: phone_rand = RAND (x,y) - for photos during the events (by heart)
  1119. !msg '<img src="images/system/phone/phone_selfie<<phone_rand>>.jpg">'
  1120. end
  1121. !!taking selfies, this chooses a random image for the location for clothed, underwear and nude
  1122. !{
  1123. $ARGS[1] is phone location (one of the locations in $selfieLoc[])
  1124. $ARGS[2] is for flashing when clothed if left blank then it is not flashing
  1125. }
  1126. if $ARGS[0] = 'Phone_selfie_image':
  1127. if $ARGS[2] = '':
  1128. if $clothingworntype = 'swimwear' or $clothingworntype = 'beach':
  1129. !!changing to and unmixed variable so the rng will work
  1130. dynamic 'temp_swim = <<selfieSwimtot[arrpos(1, ''$selfieLoc'', $ARGS[1])]>>'
  1131. if temp_swim > 0:
  1132. phone_rand = rand(1,temp_swim)
  1133. !!Setting the image owned flag to 1
  1134. dynamic '<<$ARGS[1]>>_swim[<<phone_rand>>] = 1'
  1135. gs 'stat'
  1136. if usePopUps = 1:
  1137. msg '<img src="images/pc/activities/selfies/<<$ARGS[1]>>/bikini/<<phone_rand>>.jpg">'
  1138. else
  1139. view 'images/pc/activities/selfies/<<$ARGS[1]>>/bikini/<<phone_rand>>.jpg'
  1140. end
  1141. end
  1142. elseif $clothingworntype ! 'nude':
  1143. !!changing to and unmixed variable so the rng will work
  1144. dynamic 'temp_clotot = <<selfieClotot[arrpos(1, ''$selfieLoc'', $ARGS[1])]>>'
  1145. if temp_clotot > 0:
  1146. phone_rand = rand(1,temp_clotot)
  1147. !!Setting the image owned flag to 1
  1148. dynamic '<<$ARGS[1]>>_closelfie[<<phone_rand>>] = 1'
  1149. gs 'stat'
  1150. if usePopUps = 1:
  1151. msg '<img src="images/pc/activities/selfies/<<$ARGS[1]>>/clothed/<<phone_rand>>.jpg">'
  1152. else
  1153. view 'images/pc/activities/selfies/<<$ARGS[1]>>/clothed/<<phone_rand>>.jpg'
  1154. end
  1155. end
  1156. elseif $pantyworntype ! 'none':
  1157. dynamic 'temp_undtot = <<selfieUndtot[arrpos(1, ''$selfieLoc'', $ARGS[1])]>>'
  1158. if temp_undtot > 0:
  1159. phone_rand = rand(1,temp_undtot)
  1160. dynamic '<<$ARGS[1]>>_undselfie[<<phone_rand>>] = 1'
  1161. gs 'stat'
  1162. if usePopUps = 1:
  1163. msg '<img src="images/pc/activities/selfies/<<$ARGS[1]>>/underwear/<<phone_rand>>.jpg">'
  1164. else
  1165. view 'images/pc/activities/selfies/<<$ARGS[1]>>/underwear/<<phone_rand>>.jpg'
  1166. end
  1167. end
  1168. else
  1169. dynamic 'temp_nudtot = <<selfieNudtot[arrpos(1, ''$selfieLoc'', $ARGS[1])]>>'
  1170. if temp_nudtot > 0:
  1171. phone_rand = rand(1,temp_nudtot)
  1172. dynamic '<<$ARGS[1]>>_nudselfie[<<phone_rand>>] = 1'
  1173. gs 'stat'
  1174. if usePopUps = 1:
  1175. msg '<img src="images/pc/activities/selfies/<<$ARGS[1]>>/nude/<<phone_rand>>.jpg">'
  1176. else
  1177. view 'images/pc/activities/selfies/<<$ARGS[1]>>/nude/<<phone_rand>>.jpg'
  1178. end
  1179. end
  1180. end
  1181. else
  1182. if $ARGS[2] = 'tits':
  1183. dynamic 'temp_titflash = <<selfieTitflash[arrpos(1, ''$selfieLoc'', $ARGS[1])]>>'
  1184. if temp_titflash > 0:
  1185. phone_rand = rand(1,temp_titflash)
  1186. dynamic '<<$ARGS[1]>>_titflash[<<phone_rand>>] = 1'
  1187. gs 'stat'
  1188. if usePopUps = 1:
  1189. msg '<img src="images/pc/activities/selfies/<<$ARGS[1]>>/titflash/<<phone_rand>>.jpg">'
  1190. else
  1191. view 'images/pc/activities/selfies/<<$ARGS[1]>>/titflash/<<phone_rand>>.jpg'
  1192. end
  1193. end
  1194. elseif $ARGS[2] = 'ass':
  1195. dynamic 'temp_assflash = <<selfieAssflash[arrpos(1, ''$selfieLoc'', $ARGS[1])]>>'
  1196. if temp_assflash > 0:
  1197. phone_rand = rand(1,temp_assflash)
  1198. dynamic '<<$ARGS[1]>>_assflash[<<phone_rand>>] = 1'
  1199. gs 'stat'
  1200. if usePopUps = 1:
  1201. msg '<img src="images/pc/activities/selfies/<<$ARGS[1]>>/assflash/<<phone_rand>>.jpg">'
  1202. else
  1203. view 'images/pc/activities/selfies/<<$ARGS[1]>>/assflash/<<phone_rand>>.jpg'
  1204. end
  1205. end
  1206. elseif $ARGS[2] = 'pussy':
  1207. dynamic 'temp_pussyflash = <<selfiePussyflash[arrpos(1, ''$selfieLoc'', $ARGS[1])]>>'
  1208. if temp_pussyflash > 0:
  1209. phone_rand = rand(1,temp_pussyflash)
  1210. dynamic '<<$ARGS[1]>>_pussyflash[<<phone_rand>>] = 1'
  1211. gs 'stat'
  1212. if usePopUps = 1:
  1213. msg '<img src="images/pc/activities/selfies/<<$ARGS[1]>>/pussyflash/<<phone_rand>>.jpg">'
  1214. else
  1215. view 'images/pc/activities/selfies/<<$ARGS[1]>>/pussyflash/<<phone_rand>>.jpg'
  1216. end
  1217. end
  1218. end
  1219. end
  1220. end
  1221. !!taking selfies in the shower or bath
  1222. if $ARGS[0] = 'Phone_selfie_image_bathing':
  1223. minut += rand(5,7)
  1224. if $ARGS[1] = 'shower':
  1225. !!changing to and unmixed variable so the rng will work
  1226. dynamic 'temp_showertot = <<selfieShowertot[arrpos(1, ''$selfieLoc'', ''bathroom'')]>>'
  1227. phone_rand = rand(1,temp_showertot)
  1228. !!Setting the image owned flag to 1
  1229. dynamic 'bathroom_showerselfie[<<phone_rand>>] = 1'
  1230. gs 'stat'
  1231. if usePopUps = 1:
  1232. msg '<img src="images/pc/activities/selfies/bathroom/shower/<<phone_rand>>.jpg">'
  1233. else
  1234. view 'images/pc/activities/selfies/bathroom/shower/<<phone_rand>>.jpg'
  1235. end
  1236. elseif $ARGS[1] = 'bath':
  1237. dynamic 'temp_bathtot = <<selfieBathtot[arrpos(1, ''$selfieLoc'', ''bathroom'')]>>'
  1238. phone_rand = rand(1,temp_bathtot)
  1239. dynamic 'bathroom_bathselfie[<<phone_rand>>] = 1'
  1240. gs 'stat'
  1241. if usePopUps = 1:
  1242. msg '<img src="images/pc/activities/selfies/bathroom/bath/<<phone_rand>>.jpg">'
  1243. else
  1244. view 'images/pc/activities/selfies/bathroom/bath/<<phone_rand>>.jpg'
  1245. end
  1246. end
  1247. end
  1248. !!for taking photos - only selfies for now
  1249. if $ARGS[0] = 'Phone_camera':
  1250. gs 'phone_selfies', 'Phone_selfie_totals'
  1251. if $locclass = 'bedr':
  1252. $phone_loc = 'bedroom'
  1253. elseif $locclass = 'kitr':
  1254. $phone_loc = 'kitchen'
  1255. elseif $locclass = 'livingr':
  1256. $phone_loc = 'livingroom'
  1257. elseif $locclass = 'changingroom':
  1258. $phone_loc = 'changingroom'
  1259. elseif $locclass = 'city_park':
  1260. $phone_loc = 'park'
  1261. elseif $locclass = 'lockeroom':
  1262. $phone_loc = 'lockeroom'
  1263. elseif $locclass = 'beach':
  1264. $phone_loc = 'beach'
  1265. elseif $locclass = 'beach':
  1266. $phone_loc = 'beach'
  1267. elseif $locclass = 'classroom':
  1268. $phone_loc = 'classroom'
  1269. elseif $locclass = 'school_bathroom':
  1270. $phone_loc = 'school_bathroom'
  1271. elseif $locclass = 'restroom':
  1272. $phone_loc = 'restroom'
  1273. elseif $location_type = 'bathroom':
  1274. $phone_loc = 'bathroom'
  1275. else
  1276. $phone_loc = ''
  1277. end
  1278. $telefon['body'] = '<font size=6>Camera</font><br>
  1279. <img src="<<FUNC(''$phone_theme'')>>icon_camera.png" height="80" width="80"><br><br>'
  1280. !! Take a selfie depending on which clothes you are wearing
  1281. $telefon['body'] += '<a href="exec:photoskl_exp += 1 & gs ''telefon'', ''Phone_camera_selfie'', ''<<$phone_loc>>'' "><b>Take a selfie</b></a><br>'
  1282. !! Flashing selfie
  1283. if $clothingworntype ! 'nude' and $phone_loc <> '':
  1284. locIndex = arrpos(1, '$selfieLoc', $phone_loc)
  1285. if (pcs_inhib >= 35 or exhibitionist_lvl > 0 or $phone_loc = 'bedroom') and dyneval("result = <<selfieTitflash[locIndex]>>") > 0:
  1286. $telefon['body'] += '<a href="exec:photoskl_exp += 1 & gs ''telefon'', ''Phone_camera_selfie'', ''<<$phone_loc>>'', ''tits'' "><b>Flash your tits for a selfie</b></a><br>'
  1287. end
  1288. if (exhibitionist_lvl > 0 or $phone_loc = 'bedroom') and dyneval("result = <<selfieAssflash[locIndex]>>") > 0:
  1289. $telefon['body'] += '<a href="exec:photoskl_exp += 1 & gs ''telefon'', ''Phone_camera_selfie'', ''<<$phone_loc>>'', ''ass'' "><b>Flash your ass for a selfie</b></a><br>'
  1290. end
  1291. if (exhibitionist_lvl > 1 or $phone_loc = 'bedroom') and dyneval("result = <<selfiePussyflash[locIndex]>>") > 0:
  1292. $telefon['body'] += '<a href="exec:photoskl_exp += 1 & gs ''telefon'', ''Phone_camera_selfie'', ''<<$phone_loc>>'', ''pussy'' "><b>Flash your pussy for a selfie</b></a><br>'
  1293. end
  1294. end
  1295. dynamic $telefon['print']
  1296. end
  1297. !!-----------------------------------end of Camera------------------------------------------
  1298. !!-----------------------------------start of sms------------------------------------------
  1299. !{
  1300. Send SMS lists the current contacts, then clicking on a contact gives a list of messages that can be sent.
  1301. Receive messages lists the sms messages sent to the player, these can be deleted, they will be in bold until read.
  1302. To add an incoming message
  1303. gs 'telefon', 'add_sms', 'A1', 'Test message the text goes here', 'images\pc\selfies\bathroom\underwear\1.jpg', 'images\pc\selfies\school_bathroom\pussyflash\1.jpg'
  1304. A1 is the NPC code (A1 is Dmitriy Nosov "Dimka")
  1305. You can have up to 4 pictures attached to the message
  1306. To add an out going message that can be sent
  1307. gs 'telefon', 'add_sms_to_send', 'A1', 'Test message the text goes here'
  1308. To add a contact if it doesn't exist
  1309. if arrpos('$contact', 'A1') = -1: gs 'telefon', 'AddContact', 'A1', 'images/characters/pavlovsk/school/head/1.jpg', "", "1 = 0", "", "", 0
  1310. SMS Arrays storing received messages and messages that can be sent
  1311. Received Messages
  1312. telefon['UnreadSMS'] = number of unread SMS messages
  1313. $SMSContact[] = NPC code for contact. ('A129', 'A29', 'B13', 'C14') that sent the sms
  1314. $SMSMessage[] = text for the sms message
  1315. $SMSTime[] = date time the message was received
  1316. $SMSPicture1[] = url for first picture sent as part of the message
  1317. $SMSPicture2[] = url for second picture sent as part of the message
  1318. $SMSPicture3[] = url for third picture sent as part of the message
  1319. $SMSPicture4[] = url for fourth picture sent as part of the message
  1320. SMSMessageRead[] = 0 unread, 1 read
  1321. Send Messages
  1322. $SMSSendContact[] = NPC code for contact. ('A129', 'A29', 'B13', 'C14') that sent the sms
  1323. $SMSSendMessage[] = text for the sms message
  1324. $SMSSendCode[] = Code to execute for Incoming call
  1325. SMSSendRepeatable[] = 0 delete option after send, 1 don't delete option
  1326. $SMSSendDeleteId[] = id passed by the caller
  1327. }
  1328. if $ARGS[0] = 'Phone_sms':
  1329. $telefon['body'] = '
  1330. <font size=6>SMS</font><br>
  1331. <img src="<<FUNC(''$phone_theme'')>>icon_sms.png" height="80" width="80"><br>'
  1332. $telefon['body'] += '<b><a href="exec:gs ''telefon'', ''send_sms''">Send new SMS</a></b><br>'
  1333. $telefon['body'] += '<TABLE cellspacing="0" width="80%"><TR><TH>icon</TH><TH>Name</TH><TH align="right">Received</TH><TH></TH></TR>'
  1334. !!iterating all Messages
  1335. !!reset and recalculate unread messages count, in case they get out of sync
  1336. telefon['UnreadSMS'] = 0
  1337. i=0
  1338. :smsloop
  1339. if i < arrsize('$SMSContact'):
  1340. !! if the person sending is in the contact list display the names and icon
  1341. telefon['contactid'] = arrpos('$contact',$SMSContact[i])
  1342. if telefon['contactid'] = -1:
  1343. $telefonCon['NPCName'] = ''
  1344. $telefonCon['Icon'] = 'icon_na.png'
  1345. else
  1346. $telefonCon['NPCName'] = $npc_nickname[$contact[telefon['contactid']]]
  1347. $telefonCon['Icon'] = $contactIcon[telefon['contactid']]
  1348. end
  1349. if SMSMessageRead[i] = 0: telefon['UnreadSMS'] += 1
  1350. $telefon['body'] += dyneval($telefon['SMS'],i,$telefonCon['Icon'],$telefonCon['NPCName'],$SMSTime[i],SMSMessageRead[i])
  1351. i += 1
  1352. jump 'smsloop'
  1353. end
  1354. $telefon['body'] += '</TABLE><br>'
  1355. dynamic $telefon['print']
  1356. killvar 'i'
  1357. end &! --- Phone_sms ---
  1358. !{
  1359. New SMS Message
  1360. If NPC is not in the contacts list of the phone it will be displayed as unknown until the contact has been added
  1361. $ARGS[1] = NPC code for contact. ('A129', 'A29', 'B13', 'C14')
  1362. $ARGS[2] = Message text to be displayed
  1363. $ARGS[3] = path to a picture to be displayed (optional)
  1364. $ARGS[4] = path to a picture to be displayed (optional)
  1365. $ARGS[5] = path to a picture to be displayed (optional)
  1366. $ARGS[6] = path to a picture to be displayed (optional)
  1367. }
  1368. if $ARGS[0] = 'add_sms':
  1369. $SMSContact[telefon['SMSCount']] = $ARGS[1]
  1370. $SMSMessage[telefon['SMSCount']] = $ARGS[2]
  1371. $SMSTime[telefon['SMSCount']] = '<<$mid(100+hour,2,2)>>:<<$mid(100+minut,2,2)>> <<$week[week]>> <<day>> <<$month>> <<year>>'
  1372. $SMSPicture1[telefon['SMSCount']] = $ARGS[3]
  1373. $SMSPicture2[telefon['SMSCount']] = $ARGS[4]
  1374. $SMSPicture3[telefon['SMSCount']] = $ARGS[5]
  1375. $SMSPicture4[telefon['SMSCount']] = $ARGS[6]
  1376. SMSMessageRead[telefon['SMSCount']] = 0
  1377. telefon['SMSCount'] += 1
  1378. telefon['UnreadSMS'] += 1
  1379. end
  1380. if $ARGS[0] = 'delete_sms':
  1381. telefon['SMSid'] = ARGS[1]
  1382. killvar '$SMSContact', telefon['SMSid']
  1383. killvar '$SMSMessage', telefon['SMSid']
  1384. killvar '$SMSTime', telefon['SMSid']
  1385. killvar '$SMSPicture1', telefon['SMSid']
  1386. killvar '$SMSPicture2', telefon['SMSid']
  1387. killvar '$SMSPicture3', telefon['SMSid']
  1388. killvar '$SMSPicture4', telefon['SMSid']
  1389. killvar 'SMSMessageRead', telefon['SMSid']
  1390. telefon['SMSCount'] -= 1
  1391. gs 'telefon', 'Phone_sms'
  1392. end
  1393. if $ARGS[0] = 'show_sms':
  1394. telefon['SMSid'] = ARGS[1]
  1395. !!set to read and update the number of unread messages
  1396. if SMSMessageRead[telefon['SMSid']] = 0:
  1397. telefon['UnreadSMS'] -= 1
  1398. SMSMessageRead[telefon['SMSid']] = 1
  1399. end
  1400. !! Get image and name if in phone contacts otherwise show unknown
  1401. telefon['contactid'] = arrpos('$contact',$SMSContact[telefon['SMSid']])
  1402. if telefon['contactid'] = -1:
  1403. $telefonCon['NPCName'] = ''
  1404. $telefonCon['Icon'] = 'icon_na.png'
  1405. else
  1406. $telefonCon['NPCName'] = $npc_nickname[$contact[telefon['contactid']]]
  1407. $telefonCon['Icon'] = $contactIcon[telefon['contactid']]
  1408. end
  1409. !!If file extension is not given, .png is assumed
  1410. if instr($telefonCon['Icon'],'.') = 0:
  1411. $telefonCon['Icon'] += '.png'
  1412. end
  1413. !!If path is not given, default phone icon path is assumed
  1414. if instr($telefonCon['Icon'],'/') = 0:
  1415. $telefonCon['Icon'] = 'images/system/phone/icons/' + $telefonCon['Icon']
  1416. end
  1417. $telefon['body'] = '
  1418. <font size=6>SMS</font><br>
  1419. <img src="<<FUNC(''$phone_theme'')>>icon_sms.png" height="80" width="80"><br>'
  1420. $telefon['body'] += '<TABLE cellspacing="0" width="80%">'
  1421. $telefon['body'] += '<TR><TD><img src="<<$telefonCon[''Icon'']>>"></TD><TD><<$telefonCon[''NPCName'']>></TD></TR>'
  1422. $telefon['body'] += '<TR><TD colspan="2"><<$SMSMessage[telefon[''SMSid'']]>></TD></TR>'
  1423. if $SMSPicture1[telefon['SMSid']] <> '':
  1424. $telefon['body'] += '<TR><TD colspan="2"><img src="<<$SMSPicture1[telefon[''SMSid'']]>>"></TD></TR>'
  1425. end
  1426. if $SMSPicture2[telefon['SMSid']] <> '':
  1427. $telefon['body'] += '<TR><TD colspan="2"><img src="<<$SMSPicture2[telefon[''SMSid'']]>>"></TD></TR>'
  1428. end
  1429. if $SMSPicture3[telefon['SMSid']] <> '':
  1430. $telefon['body'] += '<TR><TD colspan="2"><img src="<<$SMSPicture3[telefon[''SMSid'']]>>"></TD></TR>'
  1431. end
  1432. if $SMSPicture4[telefon['SMSid']] <> '':
  1433. $telefon['body'] += '<TR><TD colspan="2"><img src="<<$SMSPicture4[telefon[''SMSid'']]>>"></TD></TR>'
  1434. end
  1435. $telefon['body'] += '</TABLE><br>'
  1436. $telefon['backButton'] = 'gs ''telefon'', ''Phone_sms'''
  1437. dynamic $telefon['print']
  1438. end
  1439. !! This is the formatting function for a row in the SMS message table. SHould be run as a DYNEVAL()
  1440. !{
  1441. SMS Row in messages table
  1442. ARGS[0] = message id
  1443. $ARGS[1] = NPC icon
  1444. $ARGS[2] = NPC Nickname
  1445. $ARGS[3] = Time received
  1446. $ARGS[4] = 0 unread, 1 read
  1447. }
  1448. $telefon['SMS'] = {
  1449. telefon['SMSid'] = ARGS[0]
  1450. $telefon['ContactIcon'] = $ARGS[1]
  1451. $telefon['ContactNickName'] = $ARGS[2]
  1452. $telefon['SMSTime'] = $ARGS[3]
  1453. telefon['SMSStatus'] = ARGS[4]
  1454. !!If file extension is not given, .png is assumed
  1455. if instr($telefon['ContactIcon'],'.') = 0:
  1456. $telefon['ContactIcon'] += '.png'
  1457. end
  1458. !!If path is not given, default phone icon path is assumed
  1459. if instr($telefon['ContactIcon'],'/') = 0:
  1460. $telefon['ContactIcon'] = 'images/system/phone/icons/' + $telefon['ContactIcon']
  1461. end
  1462. !! unread will be bold
  1463. if telefon['SMSStatus'] = 0:
  1464. $telefon['SMSstyle1'] = '<b>'
  1465. $telefon['SMSstyle2'] = '</b>'
  1466. else
  1467. $telefon['SMSstyle1'] = ''
  1468. $telefon['SMSstyle2'] = ''
  1469. end
  1470. $result = '<TR>
  1471. <TD><img src="<<$telefon[''ContactIcon'']>>"></TD>
  1472. <TD><<$telefon[''SMSstyle1'']>><<$telefon[''ContactNickName'']>><<$telefon[''SMSstyle2'']>></TD>
  1473. <TD align="right"><<$telefon[''SMSstyle1'']>><a href="exec:gs ''telefon'', ''show_sms'', <<telefon[''SMSid'']>>"><<$telefon[''SMSTime'']>></a><<$telefon[''SMSstyle2'']>></TD>
  1474. <TD><<$telefon[''SMSstyle1'']>><a href="exec:gs ''telefon'', ''delete_sms'', <<telefon[''SMSid'']>>">Delete</a><<$telefon[''SMSstyle2'']>></TD>
  1475. </TR>'
  1476. }
  1477. !! List of Contacts that you can send sms messages to
  1478. if $ARGS[0] = 'send_sms':
  1479. $telefon['backButton'] = 'gs ''telefon'', ''Phone_sms'''
  1480. $telefon['body'] = '
  1481. <font size=6>Send SMS</font><br>
  1482. <img src="<<FUNC(''$phone_theme'')>>icon_sms.png" height="80" width="80"><br>'
  1483. $telefon['body'] += '<TABLE cellspacing="0" width="80%">'
  1484. !!iterating all Contacts
  1485. i=0
  1486. :smscontactloop
  1487. if i < arrsize('$contact'):
  1488. if contactAnon[i] = 0:
  1489. $telefon['body'] += dyneval($telefon['contactsms'],i)
  1490. end
  1491. i += 1
  1492. jump 'smscontactloop'
  1493. end
  1494. $telefon['body'] += '</TABLE><br>'
  1495. dynamic $telefon['print']
  1496. killvar 'i'
  1497. end
  1498. !! This is the formatting function for a row in the Contact List. SHould be run as a DYNEVAL()
  1499. !! $ARGS[0] = index of contact in the conntact arrays
  1500. $telefon['contactsms'] = {
  1501. !! Contact Row in phone contact list
  1502. $telefon['ContactIcon'] = $contactIcon[ARGS[0]]
  1503. $telefon['ContactNPCcode'] = $contact[ARGS[0]]
  1504. !!If file extension is not given, .png is assumed
  1505. if instr($telefon['ContactIcon'],'.') = 0:
  1506. $telefon['ContactIcon'] += '.png'
  1507. end
  1508. !!If path is not given, default phone icon path is assumed
  1509. if instr($telefon['ContactIcon'],'/') = 0:
  1510. $telefon['ContactIcon'] = 'images/system/phone/icons/' + $telefon['ContactIcon']
  1511. end
  1512. $result = '
  1513. <TR>
  1514. <TD><img src="<<$telefon[''ContactIcon'']>>" width="75"></TD>
  1515. <TD><<$npc_nickname[$telefon[''ContactNPCcode'']]>></TD>
  1516. <TD><a href="exec:gs ''telefon'', ''npcSendListSms'', ''<<$telefon[''ContactNPCcode'']>>''">New Message</a></TD>
  1517. </TR>'
  1518. }
  1519. !! List of SMS messages available to be sent to an NPC
  1520. !! $ARGS[1] = NPC code for the contact we want to display messages for
  1521. if $ARGS[0] = 'npcSendListSms':
  1522. $telefon['backButton'] = 'gs ''telefon'', ''send_sms'''
  1523. $telefon['body'] = '
  1524. <font size=6>Send SMS</font><br>
  1525. <img src="<<FUNC(''$phone_theme'')>>icon_sms.png" height="80" width="80"><br>'
  1526. $telefon['body'] += '<TABLE cellspacing="0" width="80%">'
  1527. !!iterating all send sms messages
  1528. i=0
  1529. :npcSendListSmsLoop
  1530. if i < arrsize('$SMSSendContact'):
  1531. if $SMSSendContact[i] = $ARGS[1]:
  1532. $telefon['body'] += dyneval($telefon['smsMessageToSend'],i)
  1533. end
  1534. i += 1
  1535. jump 'npcSendListSmsLoop'
  1536. end
  1537. $telefon['body'] += '</TABLE><br>'
  1538. dynamic $telefon['print']
  1539. killvar 'i'
  1540. end
  1541. !! This is the formatting function for a row in the messages to send List. SHould be run as a DYNEVAL()
  1542. !! ARGS[0] = index of the message
  1543. $telefon['smsMessageToSend'] = {
  1544. $telefon['ContactNPCcode'] = $SMSSendContact[ARGS[0]]
  1545. $result = '
  1546. <TR>
  1547. <TD><<$npc_nickname[$telefon[''ContactNPCcode'']]>></TD>
  1548. <TD><a href="exec: gs ''telefon'', ''smsSendMessage'', ''<<ARGS[0]>>''"><<$SMSSendMessage[ARGS[0]]>></a></TD>
  1549. </TR>'
  1550. }
  1551. if $ARGS[0] = 'smsSendMessage':
  1552. dynamic '<<$SMSSendCode[ARGS[1]]>>'
  1553. if SMSSendRepeatable[ARGS[1]] = 0:
  1554. gs 'telefon', 'delete_sms_send_index', ARGS[1]
  1555. end
  1556. gs 'telefon', 'Phone_sms'
  1557. end
  1558. !{
  1559. Add a new message that can be sent by the player
  1560. $ARGS[1] NPC code for contact. ('A129', 'A29', 'B13', 'C14') that sent the sms
  1561. $ARGS[2] text for the sms message
  1562. $ARGS[3] Code to execute when the sms is sent
  1563. ARGS[4] 0 delete option after send, 1 dont delete option
  1564. $ARGS[5] id passed by the caller to identify the option to be deleted if it needs to be removed from the options
  1565. }
  1566. if $ARGS[0] = 'add_sms_to_send':
  1567. i = arrsize('$SMSSendContact')
  1568. $SMSSendContact[i] = $ARGS[1]
  1569. $SMSSendMessage[i] = $ARGS[2]
  1570. $SMSSendCode[i] = $ARGS[3]
  1571. SMSSendRepeatable[i] = ARGS[4]
  1572. $SMSSendDeleteId[i] = $ARGS[5]
  1573. end
  1574. if $ARGS[0] = 'delete_sms_send_index':
  1575. killvar '$SMSSendContact', ARGS[1]
  1576. killvar '$SMSSendMessage', ARGS[1]
  1577. killvar '$SMSSendCode', ARGS[1]
  1578. killvar 'SMSSendRepeatable', ARGS[1]
  1579. killvar '$SMSSendDeleteId', ARGS[1]
  1580. end
  1581. !{
  1582. $ARGS[1] = NPC code for contact. ('A129', 'A29', 'B13', 'C14')
  1583. $ARGS[2] = Delete id of the message ($SMSSendDeleteId)
  1584. }
  1585. if $ARGS[0] = 'delete_sms_send_id':
  1586. $telefon['SMStoDeleteFound'] = 'No'
  1587. i = 0
  1588. :findSmsToDeleteLoop
  1589. if (i < arrsize('$SMSSendContact')) and $telefon['SMStoDeleteFound'] = 'No':
  1590. if $SMSSendContact[i] = $ARGS[1] and $SMSSendDeleteId[i] = $ARGS[2]:
  1591. gs 'telefon', 'delete_sms_send_index', i
  1592. $telefon['SMStoDeleteFound'] = 'Yes'
  1593. end
  1594. i += 1
  1595. jump 'findSmsToDeleteLoop'
  1596. end
  1597. end
  1598. !!-----------------------------------end of sms------------------------------------------
  1599. if $ARGS[0] = 'Phone_wheather':
  1600. $telefon['body'] = '
  1601. <font size=6>Weather</font><br>
  1602. <img src="<<FUNC(''$phone_theme'')>>icon_weather.png" height="80" width="80"><br><br>
  1603. <b>Temperature:</b><br>
  1604. <<$temperature>>. <<$osadki>><br>
  1605. P.O.P. today is <<weatherFall>>%<br>'
  1606. dynamic $telefon['print']
  1607. end &! --- Phone_wheather ---
  1608. if $ARGS[0] = 'Phone_calendar':
  1609. $telefon['body'] = '
  1610. <font size=6>Calendar</font><br>
  1611. <img src="<<FUNC(''$phone_theme'')>>icon_calendar.png" height="80" width="80"><br><br>
  1612. <B>Today:</B><br>
  1613. <<$week[week]>>, <<day>> <<$month>> <<year>><br>'
  1614. dynamic $telefon['print']
  1615. end &! --- Phone_calendar ---
  1616. if $ARGS[0] = 'Phone_media':
  1617. $telefon['body'] = '
  1618. <font size=6>Media</font><br>
  1619. <img src="<<FUNC(''$phone_theme'')>>icon_music.png" height="80" width="80"><br>
  1620. <b>This option is not active</b><br>'
  1621. dynamic $telefon['print']
  1622. end &! --- Phone_media ---
  1623. if $ARGS[0] = 'Phone_menu':
  1624. if phone_off = 0:
  1625. $telefon['body'] = '
  1626. <a href="exec:gs ''telefon'', ''Phone_camera'' "><img src="<<FUNC(''$phone_theme'')>>icon_camera.png" height="80" width="80"></a>
  1627. <a href="exec:gs ''telefon'', ''Phone_calendar'' "><img src="<<FUNC(''$phone_theme'')>>icon_calendar.png" height="80" width="80"></a>
  1628. <a href="exec:gs ''telefon'', ''Phone_pictures'' "><img src="<<FUNC(''$phone_theme'')>>icon_pictures.png" height="80" width="80"></a>
  1629. <br>
  1630. <a href="exec:gs ''telefon'', ''Phone_media'' "><img src="<<FUNC(''$phone_theme'')>>icon_music.png" height="80" width="80"></a>
  1631. <a href="exec:gs ''telefon'', ''Phone_notebook'' "><img src="<<FUNC(''$phone_theme'')>>icon_notebook.png" height="80" width="80"></a>
  1632. <a href="exec:gs ''telefon'', ''Phone_wheather'' "><img src="<<FUNC(''$phone_theme'')>>icon_weather.png" height="80" width="80"></a>
  1633. <br>
  1634. <a href="exec:gs ''telefon'', ''ContactList'' "><img src="<<FUNC(''$phone_theme'')>>icon_call.png" height="80" width="80"></a>
  1635. <a href="exec:gs ''telefon'', ''Phone_sms'' "><img src="<<FUNC(''$phone_theme'')>>icon_sms.png" height="80" width="80"></a>
  1636. <a href="exec:gs ''telefon'', ''Phone_megafon'' "><img src="<<FUNC(''$phone_theme'')>>icon_megafon.png" height="80" width="80"></a>
  1637. <br>'
  1638. if menu_off = 1:
  1639. $telefon['body'] += '<a href="exec:gs ''obj_din'', ''menu_disabled''"><img src="<<FUNC(''$phone_theme'')>>icon_settings.png" height="80" width="80"></a><br>'
  1640. else
  1641. $telefon['body'] += '<a href="exec:killvar ''menu_page'' & gs ''Cheatmenu_din'' & dynamic $cheatmenu[''setting'']"><img src="<<FUNC(''$phone_theme'')>>icon_settings.png" height="80" width="80"></a><br>'
  1642. end
  1643. dynamic $telefon['print']
  1644. else
  1645. '<font color="red"><b>Your phone is disabled for this event</b></font>'
  1646. end
  1647. end &! --- Phone_menu ---
  1648. if $ARGS[0] = 'Add_contact':
  1649. $dummy = INPUT('Enter a note:')
  1650. $contact[arrsize('$contact')] = dyneval($telefon['contact'],$ARGS[1],$dummy,$ARGS[2])
  1651. killvar '$dummy'
  1652. end &! --- Add_contact ---
  1653. if $ARGS[0] = 'telotkaz':
  1654. cla
  1655. minut += 10
  1656. '<<$ARGS[1]>>, "Sorry, I''m busy right now, maybe next time."'
  1657. act 'Hangup':gt 'telefon', 'fin'
  1658. end &! --- telotkaz ---
  1659. if $ARGS[0] = 'fin':
  1660. killvar 'lover_number'
  1661. cla
  1662. gt $loc, $loc_arg
  1663. end
  1664. if $ARGS[0] = 'setup':
  1665. !! array $$phonetheme_name is built.
  1666. !! might need a tweak to have it rebuilt when new themes are available.
  1667. $phonetheme_name[0] = 'Custom_Standard'
  1668. $phonetheme_name[1] = 'Bimbo'
  1669. $phonetheme_name[2] = 'Custom_Aluminus'
  1670. $phonetheme_name[3] = 'Custom_Bottlecapped'
  1671. $phonetheme_name[4] = 'Custom_Galactic'
  1672. $phonetheme_name[5] = 'Custom_Vectored'
  1673. $phonetheme_name[6] = 'Custom_Veneer'
  1674. $phonetheme_name[7] = 'Custom_Voidwalker'
  1675. $phonetheme_name[8] = 'Custom_Voidwalker Red'
  1676. $phonetheme_name[9] = 'Custom_Voidwalker Toxic'
  1677. $phonetheme_name[10] = 'Gopnik'
  1678. $phonetheme_name[11] = 'Sports'
  1679. $phonetheme_name[12] = 'Succubus'
  1680. $phonetheme_name[13] = 'Woodshop'
  1681. phonetheme[0] = 1
  1682. end
  1683. --- telefon ---------------------------------