shortgs.qsrc 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709
  1. # shortgs
  2. !! smoker - handles all changes which happen when PC smokes one cigarette
  3. !! use : gs 'shortgs','smoker'
  4. if $ARGS[0] = 'smoker':
  5. siga -= 1
  6. if NarkImmune = 0: smoker += 1
  7. smokeHour = hour
  8. smokeDay = daystart
  9. smokeminut = minut + 5
  10. smokerNeed = 0
  11. cumspclnt = 2
  12. gs 'cum_cleanup'
  13. pcs_breath = 0
  14. pcs_mood += 100
  15. wipo += 100
  16. if pcs_hydra >= 100:
  17. pcs_hydra -= 5
  18. else
  19. pcs_hydra -= 10
  20. end
  21. if pcs_energy < 80: pcs_energy += 4
  22. gs '$menu_obnovit'
  23. end &!--- smoker ---
  24. !! milk_me
  25. !! use href="exec:gt ''shortgs'',''milk_me''"
  26. if $ARGS[0] = 'milk_me':
  27. minut += 15
  28. if $location_type ! 'bathroom':
  29. 'You can''t use it here.'
  30. elseif lactatemv > 0 and pain['nipples'] < 60:
  31. '<center><img <<$set_imgh>> src="images/pc/body/tits/pump_lactating.jpg"></center>'
  32. 'You attach the pump to your breast and start rythmically squeezing the bulb until your breasts feel empty.<br>You give it a few more pumps and detach the pump.<br>You filled the bottle with <<lactatemv/10>>ml of your milk.'
  33. breastcounter += 1
  34. lactatemv = 0
  35. if breastpumped = 1:pain['nipples'] += 10 & 'Your nipples are feeling sore.'
  36. breastpumped = 1
  37. pcs_nips += rand(0,1)
  38. if bcream_used = 1:pcs_nips += 1
  39. elseif lactate = 0 and pain['nipples'] < 60:
  40. if rand(1,100) + breastcounter >= rand(100,200):
  41. '<center><img <<$set_imgh>> src="images/pc/body/tits/lactate_start.jpg"></center>'
  42. 'As usual, you attach the pump but after a few pumps white liquid suddenly starts spurting from your nipples.<br>You started lactating!'
  43. lactate = 1
  44. lactatemv = 0
  45. lactatemm = 100
  46. else
  47. '<center><img <<$set_imgh>> src="images/pc/body/tits/t<<tits>>.jpg"></center>'
  48. 'You attach the pump to your nipples and start squeezing the bulb. The vacuum feels good on your nipples.<br>A few droplets of liquid come out of your nipples but it is not milk.'
  49. breastcounter += 1
  50. if breastpumped = 1:pain['nipples'] += 10 & 'Your nipples are feeling sore.'
  51. breastpumped = 1
  52. pcs_nips += rand(0,1)
  53. if bcream_used = 1:pcs_nips += 1
  54. end
  55. else
  56. 'Your nipples feel too sore to use the pump right now.'
  57. end
  58. act 'Finish':gt $loc, $metka
  59. end &! --- milk_me ---
  60. !! following function counts the number of guys which PC slept with.
  61. !! use func('shortgs','guy') or func('shortgs','guy',X) for subset (X can be 'A','B','C','AB','AC','BC')
  62. if $ARGS[0] = 'guy':
  63. r_sht=0
  64. if $ARGS[1] = '': $temptask = 'ABC' else $temptask = $ARGS[1]
  65. :loop_shtty
  66. $temptaskchar = mid($temptask,1,1)
  67. $temptask = mid($temptask,2,len($temptask)-1)
  68. s_sht=0
  69. :loop_shya
  70. if s_sht<=dyneval("result = <<$temptaskchar>>arraynumber"):
  71. s_sht += 1
  72. if npc_sex['<<$temptaskchar>><<s_sht>>'] > 0: r_sht = r_sht + iif(npc_gender['<<$temptaskchar>><<s_sht>>'] = 0,1,0)
  73. jump 'loop_shya'
  74. end
  75. if len($temptask) > 0:jump 'loop_shtty'
  76. result = r_sht
  77. killvar 'r_sht'
  78. killvar '$temptask'
  79. killvar '$temptaskchar'
  80. killvar 's_sht'
  81. end &! --- guy ---
  82. !! following function counts the number of girls which PC slept with.
  83. !! use func('shortgs','girl') or func('shortgs','girl',X) for subset (X can be 'A','B','C','AB','AC','BC')
  84. if $ARGS[0] = 'girl':
  85. r_sht=0
  86. if $ARGS[1] = '': $temptask = 'ABC' else $temptask = $ARGS[1]
  87. :loop_shttl
  88. $temptaskchar = mid($temptask,1,1)
  89. $temptask = mid($temptask,2,len($temptask)-1)
  90. s_sht=0
  91. :loop_shl
  92. if s_sht<=dyneval("result = <<$temptaskchar>>arraynumber"):
  93. s_sht += 1
  94. if npc_sex['<<$temptaskchar>><<s_sht>>'] > 0: r_sht = r_sht + iif(npc_gender['<<$temptaskchar>><<s_sht>>'] = 1,1,0)
  95. jump 'loop_shl'
  96. end
  97. if len($temptask) > 0: jump 'loop_shttl'
  98. result = r_sht
  99. killvar 'r_sht'
  100. killvar '$temptask'
  101. killvar '$temptaskchar'
  102. killvar 's_sht'
  103. end &! --- girl ---
  104. !! following procedure should be used when PC gets naked, but it should be paired with the reverse procedure
  105. !! use gs 'shortgs','undress'
  106. if $ARGS[0] = 'undress':
  107. gs 'clothing','strip'
  108. gs 'underwear', 'remove'
  109. end &! --- undress ---
  110. !! reverse procedure, it can be modified for lose or stolen panties later.
  111. !! use gs 'shortgs','dress'
  112. if $ARGS[0] = 'dress':
  113. gs 'clothing','wear_last_worn'
  114. gs 'underwear', 'wear'
  115. end &! --- dress ---
  116. !! procedure, which prevents PC to leave a room naked.
  117. !! use gs 'shortgs','checkdress',' <<$loc>>,<<$metka>> ' or equivalent
  118. if $ARGS[0] = 'checkdress':
  119. if $clothingworntype = 'nude':
  120. msg '<b><font color="red">You need to get dressed before going out.</font></b>'
  121. dynamic 'gt <<$ARGS[1]>>'
  122. end
  123. end &! --- checkdress ---
  124. !! this is an integer sqrt function
  125. !! call func('shortgs','sqrt', n)
  126. if $ARGS[0] = 'sqrt':
  127. sqrtnum = ARGS[1]
  128. if sqrtnum = 0: result = 0 & exit
  129. sqrtn = sqrtnum/2 + 1
  130. sqrtn1 = (sqrtn + sqrtnum / sqrtn) / 2
  131. :sqrtloop
  132. if sqrtn1 < sqrtn:
  133. sqrtn = sqrtn1
  134. sqrtn1 = (sqrtn + sqrtnum / sqrtn) / 2
  135. jump 'sqrtloop'
  136. end
  137. result = sqrtn
  138. end
  139. !! this function calculates modul of given arguments as it was coordinates in cartezian systeme
  140. !! use func('shortgs','modul',n1,n2,..n8)
  141. if $ARGS[0] = 'modul':
  142. modul_sum = ARGS[1]*ARGS[1]+ARGS[2]*ARGS[2]+ARGS[3]*ARGS[3]+ARGS[4]*ARGS[4]+ARGS[5]*ARGS[5]+ARGS[6]*ARGS[6]+ARGS[7]*ARGS[7]+ARGS[8]*ARGS[8]
  143. result = func('shortgs','sqrt',modul_sum)
  144. killvar 'modul_sum'
  145. end
  146. !! day of week 1 - Monday .. 7 - Sunday
  147. if $ARGS[0] = 'dow':
  148. if ARGS[1]=0:
  149. D_dow = day
  150. M_dow = month
  151. Y_dow = year
  152. else
  153. D_dow = ARGS[3]
  154. M_dow = ARGS[2]
  155. Y_dow = ARGS[1]
  156. end
  157. dow_a = (14 - M_dow) / 12
  158. dow_Y = Y_dow - dow_a
  159. dow_M = M_dow + 12*dow_a - 2
  160. dummy = (D_dow + dow_y + dow_y/4 - dow_y/100 + dow_y/400 + (31*dow_m)/12) mod 7
  161. if dummy = 0: dummy = 7
  162. result = dummy
  163. end
  164. !! day of year
  165. !! use xdoy = func('shortgs','doy',year,month,day)
  166. if $ARGS[0] = 'doy':
  167. doy_N1 = 275 * ARGS[2] / 9
  168. doy_N2 = (ARGS[2] + 9) / 12
  169. doy_N3 = 1 + (ARGS[1] - 4 * (ARGS[1] / 4) + 2) / 3
  170. result = doy_N1 - (doy_N2 * doy_N3) + ARGS[3] - 30
  171. end
  172. if $ARGS[0] = 'mk1':
  173. gs 'saveposition'
  174. *clr & cla
  175. $mk_subst['0'] = 'M' & $mk_subst['1'] = 'F' & $mk_subst['2'] = 'O' & $mk_subst['3'] = 'L' & $mk_subst['4'] = 'R' & $mk_subst['5'] = 'P'
  176. '<center><font face="courier" size=1>'
  177. '<table border = 1>'
  178. '<tr><th>Mon</th><th>Tue</th><th>Wen</th><th>Thu</th><th>Fri</th><th>Sat</th><th>Sun</th><th>Mon</th><th>Tue</th><th>Wen</th><th>Thu</th><th>Fri</th><th>Sat</th><th>Sun</th>
  179. <th>Mon</th><th>Tue</th><th>Wen</th><th>Thu</th><th>Fri</th><th>Sat</th><th>Sun</th><th>Mon</th><th>Tue</th><th>Wen</th><th>Thu</th><th>Fri</th><th>Sat</th><th>Sun</th></tr>'
  180. i = ArrSize('$MenCal')
  181. empty0 = week + 29 - i - 1
  182. empty1 = min(28,empty0)
  183. full1 = max(0,28 - empty0)
  184. empty2 = max(0,empty0-28)
  185. full2 = i - full1
  186. empty3 = 28 - empty2 - full2
  187. count=0
  188. $tabmc = '<tr>'
  189. :tabmcl1
  190. if empty1 > 0: empty1 -=1 & $tabmc +='<td>&nbsp</td>' & jump 'tabmcl1'
  191. :tabmcl2
  192. if full1 > 0:
  193. full1 -=1
  194. if $MenCal[count]='0': $tabmc +='<td bgcolor="red"><<$mk_subst[$MenCal[count]]>></td>' else $tabmc +='<td><<$mk_subst[$MenCal[count]]>></td>'
  195. count +=1
  196. jump 'tabmcl1'
  197. end
  198. $tabmc += '</tr><tr>'
  199. :tabmcl3
  200. if empty2 > 0: empty2 -=1 & $tabmc +='<td>&nbsp</td>' & jump 'tabmcl3'
  201. :tabmcl4
  202. if full2 > 0:
  203. full2 -=1
  204. if $MenCal[count]='0': $tabmc +='<td bgcolor="red"><<$mk_subst[$MenCal[count]]>></td>' else $tabmc +='<td><<$mk_subst[$MenCal[count]]>></td>'
  205. count +=1
  206. jump 'tabmcl4'
  207. end
  208. :tabmcl5
  209. if empty3 > 0: empty3 -=1 & $tabmc +='<td></td>' & jump 'tabmcl5'
  210. $tabmc += '</tr><table></font></center>'
  211. $tabmc
  212. act 'Back': gt 'restoreposition'
  213. end
  214. !! use gs 'shortgs','mk'
  215. if $ARGS[0] = 'mk':
  216. gs 'saveposition'
  217. *clr & cla
  218. copyarr '$MenCalCopy','$MenCal'
  219. length_of_month_field = arrsize('$MenCalCopy')
  220. if daystart - firstmens > 40:
  221. mensnotfound = 1
  222. i = 0
  223. :tabmcfm
  224. if $MenCalCopy[length_of_month_field-i] = '0' and $MenCalCopy[length_of_month_field-i-1] = '3': mensnotfound = 0
  225. i += 1
  226. if i < length_of_month_field and mensnotfound = 1: jump 'tabmcfm'
  227. if mensnotfound = 0:
  228. firstmens = daystart - i + 1
  229. end
  230. end
  231. i=1
  232. :tabmcc1
  233. if daystart - firstmens < 40:
  234. if (daystart - firstmens + i) = 28:
  235. $MenCalCopy[] = ' bgcolor="#df2020"'
  236. elseif (daystart - firstmens + i) = 29:
  237. $MenCalCopy[] = ' bgcolor="#df3030"'
  238. elseif (daystart - firstmens + i) = 30:
  239. $MenCalCopy[] = ' bgcolor="#df4040"'
  240. elseif (daystart - firstmens + i) = 12:
  241. $MenCalCopy[] = ' bgcolor="#d8ff00"'
  242. elseif (daystart - firstmens + i) = 13:
  243. $MenCalCopy[] = ' bgcolor="#d0ff00"'
  244. elseif (daystart - firstmens + i) = 14:
  245. $MenCalCopy[] = ' bgcolor="#c8ff00"'
  246. elseif (daystart - firstmens + i) = 15:
  247. $MenCalCopy[] = ' bgcolor="#c0ff00"'
  248. elseif (daystart - firstmens + i) = 16:
  249. $MenCalCopy[] = ' bgcolor="#d0ff00"'
  250. elseif (daystart - firstmens + i) = 12+28:
  251. $MenCalCopy[] = ' bgcolor="#d8ff00"'
  252. elseif (daystart - firstmens + i) = 13+28:
  253. $MenCalCopy[] = ' bgcolor="#d0ff00"'
  254. elseif (daystart - firstmens + i) = 14+28:
  255. $MenCalCopy[] = ' bgcolor="#c8ff00"'
  256. elseif (daystart - firstmens + i) = 15+28:
  257. $MenCalCopy[] = ' bgcolor="#c0ff00"'
  258. elseif (daystart - firstmens + i) = 16+28:
  259. $MenCalCopy[] = ' bgcolor="#d0ff00"'
  260. else
  261. $MenCalCopy[] = ''
  262. end
  263. i += 1
  264. if i < 40: jump 'tabmcc1'
  265. end
  266. i = length_of_month_field
  267. :tabmcc2
  268. if i > 0:
  269. if $MenCalCopy[i-1] = '2' and i = 1 : $MenCalCopy[i-1] = ' bgcolor="#c0ff00"'
  270. if $MenCalCopy[i-1] = '2' and $MenCalCopy[i-2] = '2': $MenCalCopy[i-1] = ' bgcolor="#c0ff00"'
  271. if $MenCalCopy[i-1] = '2' and $MenCalCopy[i-2] = '1': $MenCalCopy[i-1] = ' bgcolor="#80ff00"' & $MenCalCopy[i-2] = ' bgcolor="#90ff00"' & $MenCalCopy[i-3] = ' bgcolor="#a0ff00"' & $MenCalCopy[i-4] = ' bgcolor="#b0ff00"' & $MenCalCopy[i-5] = ' bgcolor="#c0ff00"'
  272. if $MenCalCopy[i-1] = '1' and (daystart - firstmens - length_of_month_field + i) < 12: $MenCalCopy[i-1] =''
  273. if $MenCalCopy[i-1] = '1' and (daystart - firstmens - length_of_month_field + i) = 12: $MenCalCopy[i-1] =' bgcolor="#b0ff00"'
  274. if $MenCalCopy[i-1] = '1' and (daystart - firstmens - length_of_month_field + i) = 13: $MenCalCopy[i-1] =' bgcolor="#a0ff00"'
  275. if $MenCalCopy[i-1] = '1' and (daystart - firstmens - length_of_month_field + i) = 14: $MenCalCopy[i-1] =' bgcolor="#90ff00"'
  276. if $MenCalCopy[i-1] = '1' and (daystart - firstmens - length_of_month_field + i) = 15: $MenCalCopy[i-1] =' bgcolor="#80ff00"'
  277. if $MenCalCopy[i-1] = '1' and (daystart - firstmens - length_of_month_field + i) > 15: $MenCalCopy[i-1] =''
  278. if $MenCalCopy[i-1] = '0': $MenCalCopy[i-1] =' bgcolor="#df2020"'
  279. if $MenCalCopy[i-1] = '3': $MenCalCopy[i-1] =''
  280. if $MenCalCopy[i-1] = '4': $MenCalCopy[i-1] =''
  281. if $MenCalCopy[i-1] = '5': $MenCalCopy[i-1] =''
  282. if $MenCalCopy[i-1] = '6': $MenCalCopy[i-1] =''
  283. i -= 1
  284. jump 'tabmcc2'
  285. end
  286. cur_day_doy = func('shortgs','doy',year,month,day)
  287. if month = 1:
  288. dif_days = cur_day_doy + 30
  289. prev_month = 12
  290. prev_month_length = 31
  291. else
  292. prev_month = month - 1
  293. dif_days = cur_day_doy - func('shortgs','doy',year,prev_month,1)
  294. prev_month_length = func('shortgs','doy',year,month,1) - func('shortgs','doy',year,prev_month,1)
  295. end
  296. first_month_first_day_week = week - (dif_days mod 7)
  297. first_month_first_day_index = length_of_month_field -1 - dif_days
  298. r = first_month_first_day_index
  299. if first_month_first_day_week < 1: first_month_first_day_week += 7
  300. i = 42
  301. :tabmc21
  302. $mk1_mdays[] = '&nbsp' & i -= 1 & if i > 0: jump 'tabmc21'
  303. i = 0
  304. :tabmc21a
  305. $mk1_mdays[i+first_month_first_day_week-1] = $str(i+1)
  306. i += 1
  307. if i < prev_month_length: jump 'tabmc21a'
  308. $prev_month_name = $mid($monthName[prev_month],1,1) + '<br>' + $mid($monthName[prev_month],2,1) + '<br>' + $mid($monthName[prev_month],3,1)
  309. k = 0
  310. $tabmc ='<center><font face="courier" size=5>'
  311. $tabmc +='<table border = 1 cellspacing="0" cellpadding="5">'
  312. $tabmc +='<tr><th>Month</th><th>Mon</th><th>Tue</th><th>Wen</th><th>Thu</th><th>Fri</th><th>Sat</th><th>Sun</th></tr>'
  313. month_weeks = (first_month_first_day_week + prev_month_length + 5)/7 - 1
  314. i = month_weeks
  315. :tabmc22
  316. $tabmc +='<tr>'
  317. j = 7
  318. if i = month_weeks:$tabmc +='<td rowspan="<<month_weeks+1>>" align = "center"><<$prev_month_name>></td>'
  319. :tabmc23
  320. if j > 0:
  321. j -=1
  322. if $mk1_mdays[k]='&nbsp':
  323. $tabmc +='<td><<$mk1_mdays[k]>></td>'
  324. else
  325. $tabmc +='<td<<$MenCalCopy[r]>> ><<$mk1_mdays[k]>></td>'
  326. r +=1
  327. end
  328. k +=1
  329. jump 'tabmc23' & !<<$MenCalCopy[r]>>
  330. end
  331. if i > 0: i -=1 & $tabmc +='</tr>' & jump 'tabmc22'
  332. killvar '$mk1_mdays'
  333. killvar '$mk1_mdays_color'
  334. !! current month
  335. if month = 12:
  336. dif_days = day - 1
  337. cur_month = month
  338. cur_month_length = 31
  339. else
  340. dif_days = day - 1
  341. cur_month_length = func('shortgs','doy',year,month+1,1) - func('shortgs','doy',year,month,1)
  342. end
  343. second_month_first_day_week = week - (dif_days mod 7)
  344. second_month_first_day_index = length_of_month_field -1 - dif_days
  345. if second_month_first_day_week < 1: second_month_first_day_week += 7
  346. i = 42
  347. :tabmc31
  348. $mk1_mdays[] = '&nbsp' & i -= 1 & if i > 0: jump 'tabmc31'
  349. i = 0
  350. :tabmc31a
  351. $mk1_mdays[i+second_month_first_day_week-1] = $str(i+1)
  352. i += 1
  353. if i < cur_month_length: jump 'tabmc31a'
  354. $cur_month_name = $mid($monthName[month],1,1) + '<br>' + $mid($monthName[month],2,1) + '<br>' + $mid($monthName[month],3,1)
  355. k = 0
  356. month_weeks = (second_month_first_day_week + cur_month_length + 5)/7 - 1
  357. i = month_weeks
  358. :tabmc32
  359. $tabmc +='<tr>'
  360. j = 7
  361. if i = month_weeks:$tabmc +='<td rowspan="<<month_weeks+1>>" align = "center"><<$cur_month_name>></td>'
  362. :tabmc33
  363. if j > 0:
  364. j -=1
  365. if $mk1_mdays[k]='&nbsp':
  366. $tabmc +='<td><<$mk1_mdays[k]>></td>'
  367. else
  368. if day + second_month_first_day_week - 2 = k: $tabmc +='<td<<$MenCalCopy[r]>> ><u><b><<$mk1_mdays[k]>></b></u></td>' else $tabmc +='<td<<$MenCalCopy[r]>> ><<$mk1_mdays[k]>></td>'
  369. r +=1
  370. end
  371. k +=1
  372. jump 'tabmc33'
  373. end
  374. if i > 0: i -=1 & $tabmc +='</tr>' & jump 'tabmc32'
  375. killvar '$mk1_mdays'
  376. killvar '$mk1_mdays_color'
  377. !! next month
  378. if month = 12:
  379. dif_days = 31 - day + 1
  380. next_month = 1
  381. next_month_length = 31
  382. elseif month = 11:
  383. dif_days = 30 - day + 1
  384. next_month = 12
  385. next_month_length = 31
  386. else
  387. next_month = month + 1
  388. dif_days = cur_month_length - day + 1
  389. next_month_length = func('shortgs','doy',year,month+2,1) - func('shortgs','doy',year,month+1,1)
  390. end
  391. next_month_first_day_week = week + (dif_days mod 7)
  392. next_month_first_day_index = length_of_month_field -1 - dif_days
  393. if next_month_first_day_week < 1: next_month_first_day_week += 7
  394. i = 35
  395. :tabmc41
  396. $mk1_mdays[] = '&nbsp' & i -= 1 & if i > 0: jump 'tabmc41'
  397. i = 0
  398. :tabmc41a
  399. $mk1_mdays[i+next_month_first_day_week-1] = $str(i+1)
  400. !! if next_month_first_day_index + i >= 0: $mk1_mdays[i+next_month_first_day_week-1] += $mk_subst[$MenCal[second_month_first_day_index + i]]
  401. i += 1
  402. if i < next_month_length: jump 'tabmc41a'
  403. $next_month_name = $mid($monthName[next_month],1,1) + '<br>' + $mid($monthName[next_month],2,1) + '<br>' + $mid($monthName[next_month],3,1)
  404. k = 0
  405. month_weeks = (next_month_first_day_week + next_month_length + 5)/7 - 1
  406. i = month_weeks
  407. :tabmc42
  408. $tabmc +='<tr>'
  409. j = 7
  410. if i = month_weeks:$tabmc +='<td rowspan="<<month_weeks+1>>" align = "center"><<$next_month_name>></td>'
  411. :tabmc43
  412. if j > 0:
  413. j -=1
  414. if $mk1_mdays[k]='&nbsp':
  415. $tabmc +='<td><<$mk1_mdays[k]>></td>'
  416. else
  417. $tabmc +='<td<<$MenCalCopy[r]>> ><<$mk1_mdays[k]>></td>'
  418. r +=1
  419. end
  420. k +=1
  421. jump 'tabmc43'
  422. end
  423. if i > 0: i -=1 & $tabmc +='</tr>' & jump 'tabmc42'
  424. killvar '$mk1_mdays'
  425. $tabmc += '</tr><table></font></center>'
  426. $tabmc
  427. act 'Back': gt 'restoreposition'
  428. end
  429. !! gs 'shortgs','fonts'
  430. if $ARGS[0] = 'fonts':
  431. if $ARGS[1] = 'refresh':
  432. jump 'fontsloop'
  433. else
  434. $dynamicreturn = $ARGS[1]
  435. $OpenPhraseSave = $ARGS[2]
  436. $ClosePhraseSave = $ARGS[3]
  437. end
  438. gs 'saveposition'
  439. $fontlist[] = 'Lucida' & $fontlist[] = 'Ariel' & $fontlist[] = 'Tahoma' & $fontlist[] = 'Verdana' & $fontlist[] = 'Courier New' & $fontlist[] = 'Courier' & $fontlist[] = 'Georgia' & $fontlist[] = 'Times New Roman' & $fontlist[] = 'Garamond' & $fontlist[] = 'Bookman' & $fontlist[] = 'Times New Roman' & $fontlist[] = 'Times' & $fontlist[] = 'Comic Sans MS' & $fontlist[] = 'Trebuchet MS' & $fontlist[] = 'Impact' & $fontlist[] = 'BankGothic'
  440. $fontcolor[] = 'aqua' & $fontcolor[] = 'black' & $fontcolor[] = 'blue' & $fontcolor[] = 'fuchsia' & $fontcolor[] = 'green' & $fontcolor[] = 'gray' & $fontcolor[] = 'lime' & $fontcolor[] = 'maroon' & $fontcolor[] = 'navy' & $fontcolor[] = 'olive' & $fontcolor[] = 'purple' & $fontcolor[] = 'red' & $fontcolor[] = 'silver' & $fontcolor[] = 'teal' & $fontcolor[] = 'white' & $fontcolor[] = 'yellow'
  441. i = 15
  442. :fontsloop0
  443. if $CurFont = $fontlist[i]: curfont = i
  444. if $CurColor = $fontcolor[i]: curcolor = i
  445. i -= 1
  446. if i > 0: jump 'fontsloop0'
  447. jump 'fontsloop1'
  448. :fontsloop
  449. $OpenPhrase = '<font size="<<CurFontSize>>" color="<<$CurColor>>" face="<<$CurFont>>" >'+$CurBold+$CurItalic
  450. $ClosePhrase = $CurItalicBack+$CurBoldBack+'</font>'
  451. :fontsloop1
  452. *clr & cla
  453. $OpenPhrase+'Current font is <<$CurFont>> Size <<CurFontSize>>, the color is <<$CurColor>>, the Bold is <<iif($CurBold = ''<b>'',''On'',''Off'')>> and Italic is <<iif($CurItalic = ''<i>'',''On'',''Off'')>>'+$ClosePhrase
  454. '<a href="exec: curfont = (curfont + 1) mod 16 & $CurFont = $fontlist[curfont] & gs ''shortgs'',''fonts'',''refresh'' ">Change the Font</a>'
  455. '<a href="exec: curcolor = (curcolor + 1) mod 16 & $CurColor = $fontcolor[curcolor] & gs ''shortgs'',''fonts'',''refresh'' ">Change the Color</a>'
  456. '<a href="exec:$CurBold = iif($CurBold ! ''<b>'',''<b>'','' '') & $CurBoldBack = iif($CurBold = ''<b>'',''</b>'','' '') & gs ''shortgs'',''fonts'',''refresh'' ">Change the BoldState</a>'
  457. '<a href="exec:$CurItalic = iif($CurItalic ! ''<i>'',''<i>'','' '') & $CurItalicBack = iif($CurItalic = ''<i>'',''</i>'','' '') & gs ''shortgs'',''fonts'',''refresh'' ">Change the ItalicState</a>'
  458. '<a href="exec:CurfontSize -= 1 & gs ''shortgs'',''fonts'',''refresh'' ">Decrease the Font</a>&nbsp&nbsp&nbsp<a href="exec:CurfontSize += 1 & gs ''shortgs'',''fonts'',''refresh'' ">Increase the font</a>'
  459. act 'Back':
  460. killvar '$fontlist'
  461. killvar '$fontcolor'
  462. dynamic '<<$OpenPhraseSave>> = $OpenPhrase'
  463. dynamic '<<$ClosePhraseSave>> = $ClosePhrase'
  464. if $dynamicreturn ! '': dynamic 'dynamic <<$dynamicreturn>>'
  465. gt 'restoreposition'
  466. end
  467. end
  468. !! use gs 'shortgs','ncp_update'
  469. if $ARGS[0] = 'ncp_update':
  470. copyarr 'copy_npc_QW','npc_QW'
  471. copyarr 'copy_npc_rel','npc_rel'
  472. copyarr 'copy_npc_love','npc_love'
  473. copyarr '$copy_npc_usedname','$npc_usedname'
  474. gs 'npcstatic1'
  475. gs 'npcstatic2'
  476. gs 'npcstatic3'
  477. gs 'npcstatic4'
  478. gs 'npcstatic5'
  479. i = arrsize('copy_npc_QW')
  480. j = 1
  481. :loopnpcupdate
  482. $boy = 'A<<j>>'
  483. npc_QW[$boy] = copy_npc_QW[$boy]
  484. npc_rel[$boy] = copy_npc_rel[$boy]
  485. npc_love[$boy] = copy_npc_love[$boy]
  486. $npc_usedname[$boy] = $copy_npc_usedname[$boy]
  487. j += 1
  488. if j <= i: jump 'loopnpcupdate'
  489. killvar 'copy_npc_QW'
  490. killvar 'copy_npc_rel'
  491. killvar 'copy_npc_love'
  492. killvar '$copy_npc_usedname'
  493. end
  494. !! this function returns the numeric index of the array element which is indexed by string value.
  495. !! call func('shortgs', 'get_me_index', 'name of array','string index')
  496. !! the array can be both numeric or string: Be aware, for the search is used the value 'SearchTag' for string arrays and -999 for numeric arrays.
  497. !! if the array consists such value, the fuction can mess the array content and return wrong value
  498. if $ARGS[0] = 'get_me_index':
  499. $test = '<<$ARGS[1]>>[''<<$ARGS[2]>>'']'
  500. testas0 = arrsize('<<$ARGS[1]>>')
  501. if $mid($test,1,1)='$':
  502. $temp=dyneval('$result=<<$test>>')
  503. dynamic '<<$test>> = ''SearchTag'' '
  504. testas1 = arrsize('<<$ARGS[1]>>')
  505. if testas0 = testas1:
  506. res = dyneval('result = arrpos(0,''<<$ARGS[1]>>'',''SearchTag'')')
  507. dynamic '<<$test>> = ''<<$temp>>'' '
  508. else
  509. res = -1
  510. killvar '<<$ARGS[1]>>',testas0
  511. end
  512. else
  513. temp=dyneval('result=<<$test>>')
  514. dynamic '<<$test>> = -999'
  515. testas1 = arrsize('<<$ARGS[1]>>')
  516. if testas0 = testas1:
  517. res = dyneval('result = arrpos(0,''<<$ARGS[1]>>'',-999)')
  518. dynamic '<<$test>> = <<temp>>'
  519. else
  520. res = -1
  521. killvar '<<$ARGS[1]>>',testas0
  522. end
  523. end
  524. result = res
  525. end
  526. !! call gs 'shortgs', 'remove_array_element', 'name of array','string index'
  527. if $ARGS[0] = 'remove_array_element':
  528. i = func('shortgs', 'get_me_index', $ARGS[1],$ARGS[2])
  529. killvar '<<$ARGS[1]>>',i
  530. end
  531. if $ARGS[0] = 'testsize':
  532. arrsize('$npc_cur_rel')
  533. arrsize('$npc_dad')
  534. arrsize('$npc_dna')
  535. arrsize('$npc_firstname')
  536. arrsize('$npc_firstpart')
  537. arrsize('$npc_kidpater')
  538. arrsize('$npc_lastname')
  539. arrsize('$npc_lastpart')
  540. arrsize('$npc_mom')
  541. arrsize('$npc_nickname')
  542. arrsize('$npc_notes')
  543. arrsize('$npc_orgasm_txt')
  544. arrsize('$npc_PersType')
  545. arrsize('$npc_pic')
  546. arrsize('$npc_rel')
  547. arrsize('$npc_thdick')
  548. arrsize('$npc_usedname')
  549. arrsize('npc_agil')
  550. arrsize('npc_app')
  551. arrsize('npc_apprnc')
  552. arrsize('npc_ass')
  553. arrsize('npc_bodyhair')
  554. arrsize('npc_breath')
  555. arrsize('npc_bust')
  556. arrsize('npc_cloc')
  557. arrsize('npc_clothpref')
  558. arrsize('npc_cyc')
  559. arrsize('npc_dance')
  560. arrsize('npc_danceero')
  561. arrsize('npc_def')
  562. arrsize('npc_dick')
  563. arrsize('npc_dnc')
  564. arrsize('npc_dob')
  565. arrsize('npc_dom')
  566. arrsize('npc_drunk')
  567. arrsize('npc_dye')
  568. arrsize('npc_erodnc')
  569. arrsize('npc_eyecol')
  570. arrsize('npc_eyesize')
  571. arrsize('npc_fat')
  572. arrsize('npc_fert')
  573. arrsize('npc_gender')
  574. arrsize('npc_genwart')
  575. arrsize('npc_glasses')
  576. arrsize('npc_Godrep')
  577. arrsize('npc_gon')
  578. arrsize('npc_grades')
  579. arrsize('npc_hair')
  580. arrsize('npc_hairbsh')
  581. arrsize('npc_haircol')
  582. arrsize('npc_haircurl')
  583. arrsize('npc_hairlng')
  584. arrsize('npc_herpes')
  585. arrsize('npc_hgt')
  586. arrsize('npc_hipcurv')
  587. arrsize('npc_Hiv')
  588. arrsize('npc_horny')
  589. arrsize('npc_hymen')
  590. arrsize('npc_chem')
  591. arrsize('npc_chess')
  592. arrsize('npc_chlam')
  593. arrsize('npc_int')
  594. arrsize('npc_intel')
  595. arrsize('npc_jab')
  596. arrsize('npc_job')
  597. arrsize('npc_kick')
  598. arrsize('npc_lashes')
  599. arrsize('npc_lip')
  600. arrsize('npc_lipbalm')
  601. arrsize('npc_lipstick')
  602. arrsize('npc_love')
  603. arrsize('npc_mag')
  604. arrsize('npc_magik')
  605. arrsize('npc_makeup')
  606. arrsize('npc_malen')
  607. arrsize('npc_nerd')
  608. arrsize('npc_nips')
  609. arrsize('npc_orgasm_txt')
  610. arrsize('npc_pantys')
  611. arrsize('npc_Pavrep')
  612. arrsize('npc_pubes')
  613. arrsize('npc_punch')
  614. arrsize('npc_Qstlvl')
  615. arrsize('npc_QW')
  616. arrsize('npc_rel')
  617. arrsize('npc_run')
  618. arrsize('npc_serve')
  619. arrsize('npc_serving')
  620. arrsize('npc_sew')
  621. arrsize('npc_sewing')
  622. arrsize('npc_sex')
  623. arrsize('npc_sexskill')
  624. arrsize('npc_shoot')
  625. arrsize('npc_sing')
  626. arrsize('npc_skin')
  627. arrsize('npc_spermpot')
  628. arrsize('npc_spirit')
  629. arrsize('npc_sprt')
  630. arrsize('npc_str')
  631. arrsize('npc_stren')
  632. arrsize('npc_sub')
  633. arrsize('npc_sweat')
  634. arrsize('npc_syph')
  635. arrsize('npc_syth')
  636. arrsize('npc_tan')
  637. arrsize('npc_teach')
  638. arrsize('npc_thrush')
  639. arrsize('npc_undies')
  640. arrsize('npc_vag')
  641. arrsize('npc_vball')
  642. arrsize('npc_vit')
  643. arrsize('npc_vital')
  644. arrsize('npc_vokal')
  645. arrsize('npcbrokehymen')
  646. end
  647. if $ARGS[0] = 'replace header':
  648. wait(ARGS[1])
  649. RH_Count = ARGS[2]
  650. $RH_temp = $MAINTXT
  651. :RH_label
  652. RH_temp_lenght = LEN($RH_temp)
  653. RH_temp_LFpos = STRPOS($RH_temp,'\n')
  654. $RH_temp = $MID($RH_temp, RH_temp_LFpos+1, RH_temp_lenght - RH_temp_LFpos)
  655. RH_Count -=1
  656. if RH_Count > 0: jump 'RH_label'
  657. *clr
  658. $ARGS[3] & $ARGS[4] & $ARGS[5] & $ARGS[6] & $ARGS[7]
  659. $RH_temp
  660. killvar '$RH_temp'
  661. killvar 'RH_Count'
  662. killvar 'RH_temp_lenght'
  663. killvar 'RH_temp_LFpos'
  664. end
  665. if $ARGS[0]='img msg':
  666. $shortgstemp = '<center><img height=280 src="<<$ARGS[1]>>"></center>'
  667. msg $shortgstemp
  668. killvar '$shortgstemp'
  669. end
  670. --- shortgs ---------------------------------