Advertisement
FoxHound

Los Santos Brothel (SAMP 0.3.7)

Jun 18th, 2015
1,013
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 26.47 KB | None | 0 0
  1. /*              Los Santos Brothel
  2.  *       (c) Copyright 2015 by FoxHound
  3.  *
  4.  * @author      : FoxHound
  5.  * @date        : 18 June 2015
  6.  *
  7.  *
  8.  *
  9.  *           ___           ___
  10.  *          /\__\         /|  |
  11.  *         /:/ _/_       |:|  |
  12.  *        /:/ /\__\      |:|  |
  13.  *       /:/ /:/  /    __|:|__|
  14.  *      /:/_/:/  /    /::::\__\_____
  15.  *      \:\/:/  /     ~~~~\::::/___/
  16.  *       \::/__/          |:|~~|
  17.  *        \:\  \          |:|  |
  18.  *         \:\__\         |:|__|
  19.  *          \/__/         |/__/
  20.  *      +--+-+-+-+-+-+-+-+-+-+--+
  21.  *      | p r o d u c t i o n s |
  22.  *      +--+-+-+-+-+-+-+-+-+-+--+
  23.  *
  24.  */
  25.  
  26. #include <a_samp>
  27.  
  28. #define BITCHES 4
  29. #define AKTORS 40
  30.  
  31. #define LMB 0
  32. #define RMB 1
  33.  
  34. new Text:moviemod[2],Text:exctext,Text:bshadow,Text:gagnfuck;
  35. new bitchchecktimer=-1;
  36. new object[26];
  37.  
  38. enum e_Player {
  39.     PlayerText:ExcBalken,pFuckedBitch[BITCHES],pMovieMod,pInArea,pBitch,keyOrder,excMod,excTimer,Float:pExcitement, pFail }
  40. new Player[MAX_PLAYERS][e_Player];
  41.  
  42. new ActorID[AKTORS];
  43.  
  44. enum e_bitches {
  45.     bID, bBusy, Text3D:bLabel }
  46. new Bitch[BITCHES][e_bitches];
  47.  
  48. new Float:iActorPos[AKTORS][4] = {
  49.     {2241.8386,-1192.1924,1029.7969,179.0464},
  50.     {2241.7595,-1193.3571,1029.7969,355.9131},
  51.     {2244.6501,-1184.7622,1029.7969,134.5527},
  52.     {2243.8542,-1185.4703,1029.8043,313.6265},
  53.     {2252.5945,-1158.2295,1030.4410,260.4296},
  54.     {2253.2141,-1158.3763,1030.4410,179.7338},
  55.     {2253.7300,-1160.0260,1029.7969,21.6198},
  56.     {2254.1301,-1160.5228,1029.8234,212.6288},
  57.     {2251.2595,-1164.1918,1029.7969,308.2752},
  58.     {2252.0063,-1163.6501,1029.7969,127.2379},
  59.     {2251.3088,-1164.1071,1029.7969,307.9857},
  60.     {2251.4631,-1163.4331,1029.7969,226.2047},
  61.     {2251.7854,-1164.3396,1029.7969,2.5068},
  62.     {2248.6479,-1185.4998,1030.4155,270.1193},
  63.     {2248.2444,-1185.4559,1030.4408,268.8192},
  64.     {2242.8718,-1149.5781,1029.7969,91.2535},
  65.     {2241.9275,-1149.6183,1029.7969,270.6991},
  66.     {2239.6919,-1159.2660,1029.7969,280.0941},
  67.     {2243.8235,-1189.1289,1029.90,269.4104},
  68.     {2244.50,-1189.0308,1029.8043,179.6376},
  69.     {2233.0732,-1160.9913,25.8906,59.2685},
  70.     {2209.1672,-1144.6469,25.7964,46.4236},
  71.     {2232.4165,-1180.4719,25.8906,69.1516},
  72.     {2232.1416,-1174.6890,25.8972,234.4017},
  73.     {2233.2546,-1168.7101,25.8972,85.0362},
  74.     {2218.9924,-1172.6731,25.7266,2.9911},
  75.     {2209.3762,-1150.4557,29.7969,358.1461},
  76.     {2202.5247,-1163.2509,29.7969,271.0621},
  77.     {2223.6086,-1184.3351,1030.2969,302.8044},
  78.     {2217.1760,-1145.3915,1026.1833,175.3461},
  79.     {2215.8076,-1144.8032,1026.1833,281.5670},
  80.     {2224.1853,-1181.6268,1029.7969,200.9700},
  81.     {2223.5735,-1177.2275,1030.4384,179.2773},
  82.     {2223.6733,-1177.0520,1030.4913,179.3792},
  83.     {2231.7378,-1164.9625,1029.7969,179.9529},
  84.     {2236.0391,-1154.4547,1030.4943,147.3170},
  85.     {2235.4265,-1166.1948,1030.4943,220.4438},
  86.     {2234.7705,-1166.8312,1029.7969,307.1024},
  87.     {2230.8052,-1183.3383,1030.5249,75.9637},
  88.     {2231.5518,-1183.2582,1030.5249,270.0039}
  89. };
  90.  
  91. new iActorAnimLib[AKTORS][2][128] = {
  92.     {"BLOWJOBZ","BJ_COUCH_LOOP_P"},
  93.     {"BLOWJOBZ","BJ_COUCH_LOOP_W"},
  94.     {"BLOWJOBZ","BJ_COUCH_LOOP_P"},
  95.     {"BLOWJOBZ","BJ_COUCH_LOOP_W"},
  96.     {"BEACH","ParkSit_W_Loop"},
  97.     {"BEACH","Lay_Bac_Loop"},
  98.     {"BLOWJOBZ","BJ_COUCH_LOOP_P"},
  99.     {"SWEET","Sweet_injuredloop"},
  100.     {"BLOWJOBZ","BJ_STAND_LOOP_W"},
  101.     {"BLOWJOBZ","BJ_STAND_LOOP_P"},
  102.     {"PAULNMAC","wank_loop"},
  103.     {"PAULNMAC","wank_loop"},
  104.     {"PAULNMAC","wank_loop"},
  105.     {"SNM","SPANKINGW"},
  106.     {"SNM","SPANKINGP"},
  107.     {"BLOWJOBZ","BJ_STAND_LOOP_W"},
  108.     {"WUZI","Wuzi_stand_loop"},
  109.     {"SMOKING","F_smklean_loop"},
  110.     {"CRACK","crckidle1"},
  111.     {"CRACK","crckidle4"},
  112.     {"WUZI","Wuzi_stand_loop"},
  113.     {"GRAVEYARD","mrnF_loop"},
  114.     {"SMOKING","F_smklean_loop"},
  115.     {"PED","phone_talk"},
  116.     {"SMOKING","M_smk_drag"},
  117.     {"BLOWJOBZ","BJ_COUCH_LOOP_P"},
  118.     {"SMOKING","F_smklean_loop"},
  119.     {"PED","phone_talk"},
  120.     {"BEACH","ParkSit_W_Loop"},
  121.     {"BLOWJOBZ","BJ_COUCH_LOOP_P"},
  122.     {"PED","SEAT_IDLE"},
  123.     {"BLOWJOBZ","BJ_COUCH_LOOP_P"},
  124.     {"CRACK","crckidle2"},
  125.     {"CRACK","crckidle2"},
  126.     {"PED","SEAT_IDLE"},
  127.     {"BEACH","Lay_Bac_Loop"},
  128.     {"CRACK","crckidle4"},
  129.     {"PAULNMAC","wank_loop"},
  130.     {"BEACH","Lay_Bac_Loop"},
  131.     {"SWEET","Sweet_injuredloop"}
  132. };
  133.  
  134. new iActorModel[AKTORS] = {
  135.     101,
  136.     237,
  137.     3,
  138.     87,
  139.     237,
  140.     154,
  141.     87,
  142.     8,
  143.     139,
  144.     97,
  145.     154,
  146.     18,
  147.     146,
  148.     64,
  149.     18,
  150.     193,
  151.     33,
  152.     75,
  153.     257,
  154.     64,
  155.     163,
  156.     226,
  157.     237,
  158.     238,
  159.     243,
  160.     131,
  161.     85,
  162.     201,
  163.     63,
  164.     249,
  165.     85,
  166.     207,
  167.     139,
  168.     18,
  169.     245,
  170.     154,
  171.     237,
  172.     146,
  173.     97,
  174.     246
  175. };
  176.  
  177. new Float:iBitchPos[BITCHES][27] = { //bX,bY,bZ,bAngle,bBusyAngle,pedX,pedY,pedZ,pedBusyAngle,camX,camY,camZ,camlookx,camlooky,camlookz,moviemaxX,moviemaxY,moviemaxZ,movieminX,movieminY,movieminZ,moviecamX,moviecamY,moviecamZ,movielookX,movielookY,movielookZ
  178.     {2204.2603,-1193.9603,1030.5249,269.3243,87.7342,2204.4917,-1193.9486,1030.5249,91.0367,2204.0039,-1193.9689,1030.7862,2203.4665,-1193.9736,1029.5133,2211.3813,-1185.0820,1036.0000,2201.5852,-1202.9032,1020.0000,2202.0046, -1195.3774, 1030.0256, 2202.8659, -1194.8697, 1029.9411},//bitch in room no 7
  179.     {2247.0784,-1193.2322,1029.7969,31.3569,213.3587,2247.7520,-1194.1115,1029.7969,28.9105,2242.8777,-1192.4258,1029.7969,2247.7520,-1194.1115,1029.4969,2249.7195,-1179.9448,1033.0021,2238.8054,-1195.9973,1028.0043,2248.3386,-1193.9710,1029.6519,2247.6442,-1193.2555,1029.728}, //bitch in the waiting room
  180.     {2239.0586,-1188.9985,1033.7969,1.3491,1.3491,2239.0454,-1188.0107,1033.7969,183.3017,2243.4841,-1187.6042,1035.6547,2242.5664,-1187.6758,1035.2642,2245.2495,-1179.3004,1037.6178,2238.4856,-1195.7620,1033.0021,2238.8078,-1190.5073,1033.6431,2239.1151,-1189.5558,1033.6402}, //bitch on the waiting room balcony
  181.     {2248.7563,-1165.9019,1029.7969,359.1815,269.1816,2248.5059,-1166.0874,1029.8401,100.8475,2249.296875,-1165.490600,1029.788330,2248.516845,-1166.110229,1029.875122,2249.9209,-1161.5800,1032.4417,2243.0193,-1166.7590,1029.7969,2249.3161,-1167.3656,1029.5098,2249.1120,-1166.3887,1029.5739} };
  182.  
  183. new iBitchModel[BITCHES] = {
  184.     214,
  185.     75,
  186.     131,
  187.     152
  188. };
  189.  
  190. new iBitchCost[BITCHES] = {
  191.     2000,
  192.     500,
  193.     250
  194. };
  195.  
  196. new iBitchHpArmor[BITCHES][2] = {
  197.     {100,100},
  198.     {100,0},
  199.     {30,0},
  200.     {100,50}
  201. };
  202.  
  203. new iBitchLabel[BITCHES][128] = {
  204.     "Anna: {FFFFFF}I'm so horny right now.. Come here!\nPress F for Sex\n{00FF00}$2000",
  205.     "Jessica: {FFFFFF}Wanna have some fun, honey?\nPress F for a Blowjob\n{00FF00}$500",
  206.     "Janet: {FFFFFF}I would love to get something tasty in my mouth.. NOW!\nPress F for a Blowjob\n{00FF00}$250",
  207.     "Lena: {FFFFFF}I'm waiting for you, babe...\nPress F for Sex\n{00FF00}$1000"
  208. };
  209.  
  210. new iBitchAnimLib[BITCHES][14][18] = { //{idlelib,idlename,busystartlib,busystartname,pedstartlib,pedstartname,busylib,busyname,pedbusylib,pedbusyname,busyendlib,busyendname,pedendlib,pedendname
  211.     {"BEACH","SitnWait_loop_W","SNM","SPANKING_IDLE_W","WUZI","Wuzi_stand_loop","SNM","SPANKINGW","SNM","SPANKEDP","BLOWJOBZ","BJ_STAND_END_W","BLOWJOBZ","BJ_STAND_END_P"},
  212.     {"SMOKING","M_smk_drag","BLOWJOBZ","BJ_COUCH_START_W","BLOWJOBZ","BJ_COUCH_START_P","BLOWJOBZ","BJ_COUCH_LOOP_W","BLOWJOBZ","BJ_COUCH_LOOP_P","BLOWJOBZ","BJ_COUCH_END_W","BLOWJOBZ","BJ_COUCH_END_P"},
  213.     {"SMOKING","F_smklean_loop","BLOWJOBZ","BJ_STAND_START_W","BLOWJOBZ","BJ_STAND_START_P","BLOWJOBZ","BJ_STAND_LOOP_W","BLOWJOBZ","BJ_STAND_LOOP_P","BLOWJOBZ","BJ_STAND_END_W","BLOWJOBZ","BJ_STAND_END_P"},
  214.     {"SMOKING","M_smk_drag","CRACK","crckidle1","SNM","SPANKEDP","CRACK","crckidle1","SNM","SPANKEDP","BLOWJOBZ","BJ_STAND_END_W","BLOWJOBZ","BJ_STAND_END_P"}
  215. };
  216.  
  217. public OnFilterScriptInit()
  218. {
  219.     object[0] = CreateObject(974, 2200.5, -1187, 1031.6, 0, 0, 272);
  220.     object[1] = CreateObject(2987, 2232.2, -1167, 1030, 0, 0, 112.498);
  221.     object[2] = CreateObject(323, 2235.1001, -1171.9, 1029.4, 0, 94, 299.75);
  222.     object[3] = CreateObject(1828, 2220.3999, -1150.6, 1024.8, 0, 0, 170);
  223.     object[4] = CreateObject(2819, 2240.5, -1150.9, 1028.8, 0, 0, 0);
  224.     object[5] = CreateObject(2846, 2241.7, -1170.3, 1028.8, 0, 0, 0);
  225.     object[6] = CreateObject(2845, 2233.7, -1167.2, 1028.8, 0, 0, 0);
  226.     object[7] = CreateObject(2987, 2239.3, -1159.8, 1030, 0, 0, 95.248);
  227.     object[8] = CreateObject(2773, 2201.5, -1189.3, 1029.3, 0, 0, 34);
  228.     object[9] = CreateObject(2773, 2201.8999, -1188.1, 1029.3, 0, 0, 351.997);
  229.     object[10] = CreateObject(971, 2214.8999, -1141.2, 1025, 90, 354.053, 95.947);
  230.     object[11] = CreateObject(2079, 2217.3, -1144.5, 1025.8, 0, 0, 90);
  231.     object[12] = CreateObject(2079, 2215.3999, -1144.9, 1025.8, 0, 0, 192);
  232.     object[13] = CreateObject(985, 2235.8999, -1156.6, 1028.7, 270, 180, 90);
  233.     object[14] = CreateObject(976, 2237.5, -1152.2, 1028.7, 270, 180, 180);
  234.     object[15] = CreateObject(985, 2253.7, -1160.2, 1028.7, 270, 180, 300.002);
  235.     object[16] = CreateObject(985, 2233.5, -1167.9, 1028.6, 270, 359.995, 0);
  236.     object[17] = CreateObject(976, 2238, -1192.6, 1032.7, 90, 5.446, 84.554);
  237.     object[18] = CreateObject(976, 2240.5, -1193.4004, 1028.7, 90, 6.01, 4.977);
  238.     object[19] = CreateObject(976, 2251.7, -1186.2, 1028.7, 90, 5.488, 173.241);
  239.     object[20] = CreateObject(976, 2238.3999, -1192.9, 1028.6, 90, 5.274, 40.704);
  240.     object[21] = CreateObject(985, 2228.5, -1180.5, 1028.6, 270, 180, 90);
  241.     object[22] = CreateObject(985, 2221.7, -1182.8, 1028.6, 270, 359.996, 270.002);
  242.     object[23] = CreateObject(985, 2221.8999, -1176.3, 1028.6, 270, 180, 90.005);
  243.     object[24] = CreateObject(976, 2209.6001, -1195.4, 1028.6, 90, 5.371, 174.623);
  244.     object[25] = CreateObject(985, 2248.3999, -1163, 1028.7, 270, 359.996, 120);
  245.  
  246.     moviemod[0] = TextDrawCreate(0.000000,0.000000,"I");
  247.     moviemod[1] = TextDrawCreate(1.000000,340.000000,"I");
  248.     TextDrawUseBox(moviemod[0],1);
  249.     TextDrawBoxColor(moviemod[0],0x000000ff);
  250.     TextDrawTextSize(moviemod[0],641.000000,15.000000);
  251.     TextDrawUseBox(moviemod[1],1);
  252.     TextDrawBoxColor(moviemod[1],0x000000ff);
  253.     TextDrawTextSize(moviemod[1],639.000000,29.000000);
  254.     TextDrawAlignment(moviemod[0],0);
  255.     TextDrawAlignment(moviemod[1],0);
  256.     TextDrawBackgroundColor(moviemod[0],0x000000ff);
  257.     TextDrawBackgroundColor(moviemod[1],0x000000ff);
  258.     TextDrawFont(moviemod[0],3);
  259.     TextDrawLetterSize(moviemod[0],1.000000,10.600008);
  260.     TextDrawFont(moviemod[1],3);
  261.     TextDrawLetterSize(moviemod[1],1.000000,11.900006);
  262.     TextDrawColor(moviemod[0],0x000000ff);
  263.     TextDrawColor(moviemod[1],0x000000ff);
  264.     TextDrawSetOutline(moviemod[0],1);
  265.     TextDrawSetOutline(moviemod[1],1);
  266.     TextDrawSetProportional(moviemod[0],1);
  267.     TextDrawSetProportional(moviemod[1],1);
  268.    
  269.     bshadow = TextDrawCreate(541.000000,109.000000,"_");
  270.     TextDrawUseBox(bshadow,1);
  271.     TextDrawBoxColor(bshadow,0x000000ff);
  272.     TextDrawTextSize(bshadow,625.000000,0.000000);
  273.     TextDrawAlignment(bshadow,0);
  274.     TextDrawBackgroundColor(bshadow,0x00000000);
  275.     TextDrawFont(bshadow,0);
  276.     TextDrawLetterSize(bshadow,-1.099999,0.499998);
  277.     TextDrawColor(bshadow,0xffffffff);
  278.     TextDrawSetOutline(bshadow,1);
  279.     TextDrawSetProportional(bshadow,1);
  280.     TextDrawSetShadow(bshadow,1);
  281.  
  282.     exctext = TextDrawCreate(397.000000,104.000000,"EXCITEMENT:");
  283.     TextDrawAlignment(exctext,0);
  284.     TextDrawBackgroundColor(exctext,0x000000ff);
  285.     TextDrawFont(exctext,2);
  286.     TextDrawLetterSize(exctext,0.499999,1.500000);
  287.     TextDrawColor(exctext,0xffffffff);
  288.     TextDrawSetOutline(exctext,1);
  289.     TextDrawSetProportional(exctext,1);
  290.     TextDrawSetShadow(exctext,1);
  291.  
  292.     gagnfuck = TextDrawCreate(12.000000,110.000000,"Press LMB and RMB in rhythm to gag her");
  293.     TextDrawUseBox(gagnfuck,1);
  294.     TextDrawBoxColor(gagnfuck,0x00000033);
  295.     TextDrawTextSize(gagnfuck,168.000000,3.000000);
  296.     TextDrawAlignment(gagnfuck,0);
  297.     TextDrawBackgroundColor(gagnfuck,0x00000033);
  298.     TextDrawFont(gagnfuck,1);
  299.     TextDrawLetterSize(gagnfuck,0.399999,1.400000);
  300.     TextDrawColor(gagnfuck,0xffffffff);
  301.     TextDrawSetOutline(gagnfuck,1);
  302.     TextDrawSetProportional(gagnfuck,1);
  303.  
  304.     for(new i;i<BITCHES;i++) {
  305.         Bitch[i][bID]=-1;
  306.         Bitch[i][bBusy]=-1; }
  307.  
  308.     for(new i;i<AKTORS;i++) {
  309.         if(!iActorPos[i][0]) break;
  310.         ActorID[i] = CreateActor(iActorModel[i],iActorPos[i][0],iActorPos[i][1],iActorPos[i][2],iActorPos[i][3]);
  311.         ApplyActorAnimation(ActorID[i],iActorAnimLib[i][0],iActorAnimLib[i][1],4,1,0,0,1,0); }
  312.     for(new i;i<BITCHES;i++) {
  313.         if(!iBitchPos[i][0]) break;
  314.         Bitch[i][bID]=CreateActor(iBitchModel[i],iBitchPos[i][0],iBitchPos[i][1],iBitchPos[i][2],iBitchPos[i][3]);
  315.         ApplyActorAnimation(Bitch[i][bID],iBitchAnimLib[i][0],iBitchAnimLib[i][1],4,1,0,0,1,0);
  316.         new Float:add[3];
  317.         if(i==0) { add[0]+=0.8; add[2]-=0.5; }
  318.         else { add[0]=0; add[1]=0; add[2]=0; }
  319.         Bitch[i][bLabel] = Create3DTextLabel(iBitchLabel[i],0xFF0000FF,iBitchPos[i][0]+add[0],iBitchPos[i][1]+add[1],iBitchPos[i][2]+add[2],5.0,0,0);
  320.         Bitch[i][bBusy]=-1; }
  321.  
  322.     bitchchecktimer=SetTimer("isPlayerInArea",1000,1);
  323.  
  324.     print("\n----------------------------------------------------");
  325.     print(" FoxHound's Los Santos Brothel successfully loaded.");
  326.     print("----------------------------------------------------\n");
  327.     return 1;
  328. }
  329.  
  330. static s_animlibz[][] = { !"BLOWJOBZ", !"MISC", !"PED", !"GRAVEYARD", !"PED", !"STRIP", !"BEACH", !"SNM", !"PAULNMAC", !"BEACH", !"CRACK", !"SWEET", !"WUZI", !"SMOKING" };
  331.  
  332. stock static PreloadAnimLib(playerid) {
  333.         for(new i;i<sizeof(s_animlibz);i++){
  334.             ApplyAnimation(playerid,s_animlibz[i],"null",0.0,0,0,0,0,0); } }
  335.  
  336. forward syncActors();
  337. public syncActors()
  338. {
  339.     for(new i;i<AKTORS;i++) {
  340.         if(!IsValidActor(ActorID[i])) continue;
  341.         SetActorPos(ActorID[i],iActorPos[i][0],iActorPos[i][1],iActorPos[i][2]); }
  342.     for(new i;i<BITCHES;i++) {
  343.         if(!IsValidActor(Bitch[i][bID]) || (Bitch[i][bBusy]>-1)) continue;
  344.         SetActorPos(Bitch[i][bID],iBitchPos[i][0],iBitchPos[i][1],iBitchPos[i][2]); }
  345.     return 1;
  346. }
  347.  
  348. new streambugfixtimer=-1;
  349.  
  350. public OnActorStreamIn(actorid,forplayerid)
  351. {
  352.     if(streambugfixtimer==-1) {
  353.         streambugfixtimer=SetTimer("streambugfix",500,0); }
  354.     return 1;
  355. }
  356. forward streambugfix();
  357. public streambugfix() { KillTimer(streambugfixtimer),syncActors(),streambugfixtimer=-1; }
  358.  
  359. public OnFilterScriptExit()
  360. {
  361.     for(new i;i<AKTORS;i++) {
  362.         if(!IsValidActor(ActorID[i])) continue;
  363.         DestroyActor(ActorID[i]);
  364.         ActorID[i]=-1; }
  365.     for(new i;i<BITCHES;i++) {
  366.         if(!IsValidActor(Bitch[i][bID])) continue;
  367.         Delete3DTextLabel(Bitch[i][bLabel]);
  368.         DestroyActor(Bitch[i][bID]);
  369.         Bitch[i][bID]=-1; }
  370.     for(new i;i<sizeof(object);i++) {
  371.         if(IsValidObject(i)) DestroyObject(i); }
  372.     KillTimer(bitchchecktimer);
  373.     return 1;
  374. }
  375.  
  376. public OnPlayerSpawn(playerid)
  377. {
  378.     Player[playerid][pBitch]=-1; Player[playerid][pInArea]=-1; Player[playerid][pMovieMod]=0;
  379.     Player[playerid][pInArea]=-1; Player[playerid][pBitch]=-1; Player[playerid][keyOrder]=0;
  380.     Player[playerid][excMod]=-1; Player[playerid][excTimer]=-1; Player[playerid][pExcitement]=0.0; Player[playerid][pFail]=0;
  381.     for(new b;b<BITCHES;b++) {
  382.         Player[playerid][pFuckedBitch][b]=0; }
  383.     SetTimerEx("CheckPlayerSpawn",500,0,"d",playerid);
  384.     PreloadAnimLib(playerid);
  385.     return 1;
  386. }
  387.  
  388. forward CheckPlayerSpawn(playerid);
  389. public CheckPlayerSpawn(playerid)
  390. {
  391.     syncActors();
  392.     return 1;
  393. }
  394.  
  395. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  396. {
  397.     if((newinteriorid == 15) || ((newinteriorid==0) && (oldinteriorid==15))) {
  398.     for(new b;b<BITCHES;b++) {
  399.         Player[playerid][pFuckedBitch][b]=0; }
  400.     syncActors(); }
  401.     return 1;
  402. }
  403.  
  404. forward Excitement(playerid,bitchid);
  405. public Excitement(playerid,bitchid)
  406. {
  407.     new Float:phealth;
  408.     GetPlayerHealth(playerid,phealth);
  409.     if(Player[playerid][excMod]==0)
  410.     {
  411.         Player[playerid][excMod]=1;
  412.     }
  413.     else if(Player[playerid][excMod]==1)
  414.     {
  415.         Player[playerid][excMod]=2;
  416.         if(bitchid!=1) { Player[playerid][excMod]=3; }
  417.     }
  418.     else if(Player[playerid][excMod]==2)
  419.     {
  420.         Player[playerid][excMod]=3;
  421.     }
  422.     else if(Player[playerid][excMod]==3) {
  423.         Player[playerid][pExcitement]=0.0;
  424.         if((bitchid==0) || (bitchid==3)) TextDrawSetString(gagnfuck,"Press LMB and RMB in rhythm to fuck her.");
  425.         else TextDrawSetString(gagnfuck,"Press LMB and RMB in rhythm to gag her.");
  426.         TextDrawShowForPlayer(playerid,gagnfuck);
  427.         TextDrawShowForPlayer(playerid,exctext);
  428.         TextDrawShowForPlayer(playerid,bshadow);
  429.         if(bitchid==3) {
  430.             ClearAnimations(playerid);
  431.             ClearActorAnimations(Bitch[bitchid][bID]); }
  432.         ApplyAnimation(playerid,iBitchAnimLib[bitchid][8],iBitchAnimLib[bitchid][9],4,1,0,0,1,0,1);
  433.         ApplyActorAnimation(Bitch[bitchid][bID],iBitchAnimLib[bitchid][6],iBitchAnimLib[bitchid][7],4.3,1,0,0,0,0);
  434.         PlayerTextDrawShow(playerid,Player[playerid][ExcBalken]);
  435.         Player[playerid][excMod]=4; }
  436.     else if(Player[playerid][excMod]==4)
  437.     {
  438.         if(Player[playerid][pExcitement]>0) { Player[playerid][pExcitement]-=3.0; }
  439.         if(Player[playerid][pExcitement] < 86.0) //sex/bj NOT complete
  440.         {
  441.             PlayerTextDrawHide(playerid,Player[playerid][ExcBalken]);
  442.             PlayerTextDrawTextSize(playerid,Player[playerid][ExcBalken],Player[playerid][pExcitement]+538.0,2.0);
  443.             PlayerTextDrawShow(playerid,Player[playerid][ExcBalken]);
  444.             if(bitchid==0)
  445.             {
  446.                 new rand=random(12);
  447.                 if(rand==5)
  448.                 {
  449.                     SetPlayerCameraPos(playerid,2204.203857, -1192.829101, 1029.686279);
  450.                     SetPlayerCameraLookAt(playerid,2204.066650, -1194.023681, 1029.513305);
  451.                 }
  452.                 else if(rand==8)
  453.                 {
  454.                     SetPlayerCameraPos(playerid,2205.703857, -1194.029052, 1029.986328);
  455.                     SetPlayerCameraLookAt(playerid,2203.466552, -1193.973632, 1029.513305);
  456.                 }
  457.                 else if(rand==9)//kapıdışarı, oturarak sikerken
  458.                 {
  459.                     SetPlayerCameraPos(playerid,2210.591552, -1189.841796, 1030.527587);
  460.                     SetPlayerCameraLookAt(playerid,2209.8275, -1190.473, 1030.395);
  461.                 }
  462.                 else if(rand==11)
  463.                 {
  464.                     SetPlayerCameraPos(playerid,2204.003906, -1193.968994, 1030.786254);
  465.                     SetPlayerCameraLookAt(playerid,2203.466552, -1193.973632, 1029.513305);
  466.                 }
  467.             }
  468.         }
  469.         else //sex/bj complete
  470.         {
  471.             if(bitchid==0) {
  472.                 DestroyActor(Bitch[bitchid][bID]);
  473.                 Bitch[bitchid][bID]=CreateActor(iBitchModel[bitchid],iBitchPos[bitchid][0],iBitchPos[bitchid][1],iBitchPos[bitchid][2],iBitchPos[bitchid][3]); //0.3.7 Rotatebug-fix
  474.                 SetPlayerCameraPos(playerid,2203.701416,-1191.710449,1029.431396);
  475.                 SetPlayerCameraLookAt(playerid,2204.286865,-1192.479858,1029.686767,CAMERA_MOVE);
  476.                 SetPlayerPos(playerid,2205.2502,-1193.9957,1030.5249);
  477.                 SetPlayerFacingAngle(playerid,85.7275); }
  478.             else if(bitchid==3) {
  479.                 DestroyActor(Bitch[bitchid][bID]);
  480.                 Bitch[bitchid][bID]=CreateActor(iBitchModel[bitchid],iBitchPos[bitchid][0],iBitchPos[bitchid][1],iBitchPos[bitchid][2],iBitchPos[bitchid][3]); //0.3.7 Rotatebug-fix
  481.                 SetPlayerCameraPos(playerid,2245.8842,-1166.4392,1030.9814);
  482.                 SetPlayerCameraLookAt(playerid,2246.7126,-1166.0609,1030.5684);
  483.                 SetPlayerPos(playerid,2248.7732,-1164.9709,1029.8754);
  484.                 SetPlayerFacingAngle(playerid,185.7614); }
  485.             else {
  486.                 SetPlayerCameraPos(playerid,iBitchPos[bitchid][9],iBitchPos[bitchid][10],iBitchPos[bitchid][11]);
  487.                 SetPlayerCameraLookAt(playerid,iBitchPos[bitchid][12],iBitchPos[bitchid][13],iBitchPos[bitchid][14],CAMERA_MOVE); }
  488.             PlayerTextDrawHide(playerid,Player[playerid][ExcBalken]);
  489.             PlayerTextDrawTextSize(playerid,Player[playerid][ExcBalken],624.0,2.0);
  490.             PlayerTextDrawShow(playerid,Player[playerid][ExcBalken]);
  491.             ApplyAnimation(playerid,iBitchAnimLib[bitchid][12],iBitchAnimLib[bitchid][13],4,0,0,0,1,0,1);
  492.             ApplyActorAnimation(Bitch[bitchid][bID],iBitchAnimLib[bitchid][10],iBitchAnimLib[bitchid][11],4,0,0,0,1,0);
  493.             Player[playerid][excMod]=5;
  494.         }
  495.     }
  496.     else if(Player[playerid][excMod]==5)
  497.     {
  498.         Player[playerid][excMod]=6;
  499.     }
  500.     else if(Player[playerid][excMod]==6)
  501.     {
  502.         Player[playerid][excMod]=7;
  503.     }
  504.     else if(Player[playerid][excMod]==7)
  505.     {
  506.         Player[playerid][excMod]=8;
  507.     }
  508.     else if(Player[playerid][excMod]==8)
  509.     {
  510.         Player[playerid][excMod]=9;
  511.         if(bitchid!=1) { Player[playerid][excMod]=11; }
  512.     }
  513.     else if(Player[playerid][excMod]==9)
  514.     {
  515.         Player[playerid][excMod]=10;
  516.     }
  517.     else if(Player[playerid][excMod]==10)
  518.     {
  519.         Player[playerid][excMod]=11;
  520.     }
  521.     else if(Player[playerid][excMod]==11)
  522.     {
  523.         if(!Player[playerid][pFail])
  524.         {
  525.             new Float:addhp;
  526.             if(phealth+iBitchHpArmor[bitchid][0]>100) { addhp=100; } else { addhp+=iBitchHpArmor[bitchid][0]; }
  527.             SetPlayerHealth(playerid,addhp);
  528.             GetPlayerArmour(playerid,phealth);
  529.             if(phealth+iBitchHpArmor[bitchid][1]>100) { addhp=100; } else { addhp+=iBitchHpArmor[bitchid][1]; }
  530.             SetPlayerArmour(playerid,addhp);
  531.             ClearAnimations(playerid);
  532.             ApplyAnimation(playerid,"MISC","Scratchballs_01",4,0,1,1,0,0);
  533.             if(bitchid==0) {
  534.                 SetPlayerPos(playerid,2208.2087,-1190.9595,1029.7969);
  535.                 SetPlayerFacingAngle(playerid,292.6569); }
  536.             TogglePlayerControllable(playerid,1);
  537.             SetCameraBehindPlayer(playerid);
  538.         }
  539.         PlayerTextDrawDestroy(playerid,Player[playerid][ExcBalken]);
  540.         TogglePlayerMovieMod(playerid,0);
  541.         Bitch[bitchid][bLabel] = Create3DTextLabel(iBitchLabel[bitchid],0xFF0000FF,iBitchPos[bitchid][0],iBitchPos[bitchid][1],iBitchPos[bitchid][2],5.0,0,1);
  542.         TextDrawHideForPlayer(playerid,gagnfuck);
  543.         TextDrawHideForPlayer(playerid,bshadow);
  544.         TextDrawHideForPlayer(playerid,exctext);
  545.         DestroyActor(Bitch[bitchid][bID]);
  546.         Bitch[bitchid][bID]=CreateActor(iBitchModel[bitchid],iBitchPos[bitchid][0],iBitchPos[bitchid][1],iBitchPos[bitchid][2],iBitchPos[bitchid][3]); //0.3.7 Rotatebug-fix
  547.         ApplyActorAnimation(Bitch[bitchid][bID],iBitchAnimLib[bitchid][0],iBitchAnimLib[bitchid][1],4,1,0,0,1,0);
  548.         KillTimer(Player[playerid][excTimer]);
  549.         Player[playerid][pFuckedBitch][bitchid]=1;
  550.         Bitch[bitchid][bBusy]=-1;
  551.         Player[playerid][excMod]=0;
  552.         Player[playerid][pFail]=0;
  553.         Player[playerid][pBitch]=-1;
  554.  
  555.         syncActors();
  556.     }
  557.     return 1;
  558. }
  559.  
  560. public OnPlayerDisconnect(playerid,reason)
  561. {
  562.     if(Player[playerid][pBitch]>-1)
  563.     {
  564.         Player[playerid][pFail]=1;
  565.         Player[playerid][excMod]=11;
  566.         KillTimer(Player[playerid][excTimer]);
  567.         Excitement(playerid,Player[playerid][pBitch]);
  568.     }
  569.     return 1;
  570. }
  571.  
  572. public OnPlayerDeath(playerid,killerid,reason)
  573. {
  574.     if(Player[playerid][pBitch]>-1)
  575.     {
  576.         Player[playerid][pFail]=1;
  577.         Player[playerid][excMod]=11;
  578.         KillTimer(Player[playerid][excTimer]);
  579.         Excitement(playerid,Player[playerid][pBitch]);
  580.     }
  581.     return 1;
  582. }
  583.  
  584. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  585. {
  586.     if(newkeys == KEY_SECONDARY_ATTACK)
  587.     {
  588.         for(new i=0;i<BITCHES;i++)
  589.         {
  590.             if(IsPlayerInRangeOfPoint(playerid,3.0,iBitchPos[i][0],iBitchPos[i][1],iBitchPos[i][2]) && (Bitch[i][bBusy]==-1) && (!Player[playerid][pFuckedBitch][i]))
  591.             {
  592.                 if(GetPlayerMoney(playerid) >= iBitchCost[i])
  593.                 {
  594.                     Player[playerid][pBitch]=i;
  595.                     Bitch[i][bBusy]=playerid;
  596.                     PlayerPlaySound(playerid,1150,0,0,0);
  597.                     GivePlayerMoney(playerid,-iBitchCost[i]);
  598.                     Delete3DTextLabel(Bitch[i][bLabel]);
  599.                     TogglePlayerControllable(playerid,0);
  600.                     DestroyActor(Bitch[i][bID]);
  601.                     if(i==3)
  602.                     {
  603.                         Bitch[i][bID]=CreateActor(iBitchModel[i],2248.3857,-1166.1635,1030.6276,269.1816); //0.3.7 Rotatebug-fix
  604.                     }
  605.                     else
  606.                     {
  607.                         Bitch[i][bID]=CreateActor(iBitchModel[i],iBitchPos[i][0],iBitchPos[i][1],iBitchPos[i][2],iBitchPos[i][4]); //0.3.7 Rotatebug-fix
  608.                     }
  609.                     SetPlayerPos(playerid,iBitchPos[i][5],iBitchPos[i][6],iBitchPos[i][7]);
  610.                     SetPlayerFacingAngle(playerid,iBitchPos[i][8]);
  611.                     TogglePlayerMovieMod(playerid,1);
  612.                     SetPlayerCameraPos(playerid,iBitchPos[i][9],iBitchPos[i][10],iBitchPos[i][11]);
  613.                     SetPlayerCameraLookAt(playerid,iBitchPos[i][12],iBitchPos[i][13],iBitchPos[i][14],CAMERA_MOVE);
  614.                     ApplyAnimation(playerid,iBitchAnimLib[i][4],iBitchAnimLib[i][5],4,0,0,0,1,0,1);
  615.                     ApplyActorAnimation(Bitch[i][bID],iBitchAnimLib[i][2],iBitchAnimLib[i][3],4,0,0,0,1,0);
  616.                     Player[playerid][ExcBalken] = CreatePlayerTextDraw(playerid,543.000000,110.000000,"_");
  617.                     PlayerTextDrawUseBox(playerid,Player[playerid][ExcBalken],1);
  618.                     PlayerTextDrawBoxColor(playerid,Player[playerid][ExcBalken],0xffffff99);
  619.                     PlayerTextDrawTextSize(playerid,Player[playerid][ExcBalken],624.000000,2.000000);
  620.                     PlayerTextDrawAlignment(playerid,Player[playerid][ExcBalken],0);
  621.                     PlayerTextDrawBackgroundColor(playerid,Player[playerid][ExcBalken],0x000000ff);
  622.                     PlayerTextDrawFont(playerid,Player[playerid][ExcBalken],3);
  623.                     PlayerTextDrawLetterSize(playerid,Player[playerid][ExcBalken],1.000000,0.299999);
  624.                     PlayerTextDrawColor(playerid,Player[playerid][ExcBalken],0xffffffff);
  625.                     PlayerTextDrawSetOutline(playerid,Player[playerid][ExcBalken],1);
  626.                     PlayerTextDrawSetProportional(playerid,Player[playerid][ExcBalken],1);
  627.                     PlayerTextDrawSetShadow(playerid,Player[playerid][ExcBalken],1);
  628.                     Player[playerid][excMod]=0;
  629.                     Player[playerid][excTimer] = SetTimerEx("Excitement",1000,1,"dd",playerid,i);
  630.                     break;
  631.                 }
  632.             }
  633.         }
  634.     }
  635.     if((Player[playerid][pBitch]>-1) && (Player[playerid][excMod]>=3))
  636.     {
  637.         if((newkeys & KEY_FIRE) && (Player[playerid][keyOrder]==LMB))
  638.         {
  639.             Player[playerid][pExcitement]+=1.0;
  640.             Player[playerid][keyOrder]=RMB;
  641.         }
  642.         if((newkeys & KEY_HANDBRAKE) && (Player[playerid][keyOrder]==RMB))
  643.         {
  644.             Player[playerid][pExcitement]+=1.0;
  645.             Player[playerid][keyOrder]=LMB;
  646.         }
  647.     }
  648.     return 1;
  649. }
  650.  
  651. forward isPlayerInArea();
  652. public isPlayerInArea()
  653. {
  654.     for(new i;i<MAX_PLAYERS;i++) {
  655.         if(GetPlayerInterior(i)!=15) continue;
  656.         for(new b;b<BITCHES;b++)
  657.         {
  658.             if(!IsActorStreamedIn(Bitch[b][bID],i)) continue;
  659.             new Float:ppos[3];
  660.             GetPlayerPos(i,ppos[0],ppos[1],ppos[2]);
  661.             if((ppos[0] <= iBitchPos[b][15]) && (ppos[0] >= iBitchPos[b][18]) && (ppos[1] <= iBitchPos[b][16]) && (ppos[1] >= iBitchPos[b][19]) && (ppos[2] <= iBitchPos[b][17]) && (ppos[2] >= iBitchPos[b][20]) && (!Player[i][pFuckedBitch][b]))
  662.             {
  663.                 if(Bitch[b][bBusy]==-1)
  664.                 {//bX,bY,bZ,bAngle,bBusyAngle,pedX,pedY,pedZ,pedBusyAngle,camX,camY,camZ,camlookx,camlooky,camlookz,moviemaxX,moviemaxY,moviemaxZ,movieminX,movieminY,movieminZ,moviecamX,moviecamY,moviecamZ,movielookX,movielookY,movielookZ
  665.                     if(!Player[i][pMovieMod] && (Player[i][pInArea]!=b))
  666.                     {
  667.                         Player[i][pInArea]=b;
  668.                         SetPlayerCameraPos(i,iBitchPos[b][21],iBitchPos[b][22],iBitchPos[b][23]);
  669.                         SetPlayerCameraLookAt(i,iBitchPos[b][24],iBitchPos[b][25],iBitchPos[b][26],CAMERA_MOVE);
  670.                         TogglePlayerMovieMod(i,1);
  671.                         return 1;
  672.                     }
  673.                 }
  674.             }
  675.             else
  676.             {
  677.                 if(Player[i][pMovieMod] && (Player[i][pInArea]==b))
  678.                 {
  679.                     Player[i][pInArea]=-1;
  680.                     TogglePlayerMovieMod(i,0);
  681.                     SetCameraBehindPlayer(i);
  682.                     return 1;
  683.                 }
  684.             }
  685.         }
  686.     }
  687.     return 1;
  688. }
  689.  
  690. stock TogglePlayerMovieMod(playerid,mod)
  691. {
  692.     if(!mod)
  693.     {
  694.         Player[playerid][pMovieMod]=0;
  695.         TextDrawHideForPlayer(playerid,moviemod[0]);
  696.         TextDrawHideForPlayer(playerid,moviemod[1]);
  697.     }
  698.     else
  699.     {
  700.         Player[playerid][pMovieMod]=1;
  701.         TextDrawShowForPlayer(playerid,moviemod[0]);
  702.         TextDrawShowForPlayer(playerid,moviemod[1]);
  703.     }
  704. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement