1
0

shortgs 23 KB

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