Mikko.pwn 3.5 MB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704197051970619707197081970919710197111971219713197141971519716197171971819719197201972119722197231972419725197261972719728197291973019731197321973319734197351973619737197381973919740197411974219743197441974519746197471974819749197501975119752197531975419755197561975719758197591976019761197621976319764197651976619767197681976919770197711977219773197741977519776197771977819779197801978119782197831978419785197861978719788197891979019791197921979319794197951979619797197981979919800198011980219803198041980519806198071980819809198101981119812198131981419815198161981719818198191982019821198221982319824198251982619827198281982919830198311983219833198341983519836198371983819839198401984119842198431984419845198461984719848198491985019851198521985319854198551985619857198581985919860198611986219863198641986519866198671986819869198701987119872198731987419875198761987719878198791988019881198821988319884198851988619887198881988919890198911989219893198941989519896198971989819899199001990119902199031990419905199061990719908199091991019911199121991319914199151991619917199181991919920199211992219923199241992519926199271992819929199301993119932199331993419935199361993719938199391994019941199421994319944199451994619947199481994919950199511995219953199541995519956199571995819959199601996119962199631996419965199661996719968199691997019971199721997319974199751997619977199781997919980199811998219983199841998519986199871998819989199901999119992199931999419995199961999719998199992000020001200022000320004200052000620007200082000920010200112001220013200142001520016200172001820019200202002120022200232002420025200262002720028200292003020031200322003320034200352003620037200382003920040200412004220043200442004520046200472004820049200502005120052200532005420055200562005720058200592006020061200622006320064200652006620067200682006920070200712007220073200742007520076200772007820079200802008120082200832008420085200862008720088200892009020091200922009320094200952009620097200982009920100201012010220103201042010520106201072010820109201102011120112201132011420115201162011720118201192012020121201222012320124201252012620127201282012920130201312013220133201342013520136201372013820139201402014120142201432014420145201462014720148201492015020151201522015320154201552015620157201582015920160201612016220163201642016520166201672016820169201702017120172201732017420175201762017720178201792018020181201822018320184201852018620187201882018920190201912019220193201942019520196201972019820199202002020120202202032020420205202062020720208202092021020211202122021320214202152021620217202182021920220202212022220223202242022520226202272022820229202302023120232202332023420235202362023720238202392024020241202422024320244202452024620247202482024920250202512025220253202542025520256202572025820259202602026120262202632026420265202662026720268202692027020271202722027320274202752027620277202782027920280202812028220283202842028520286202872028820289202902029120292202932029420295202962029720298202992030020301203022030320304203052030620307203082030920310203112031220313203142031520316203172031820319203202032120322203232032420325203262032720328203292033020331203322033320334203352033620337203382033920340203412034220343203442034520346203472034820349203502035120352203532035420355203562035720358203592036020361203622036320364203652036620367203682036920370203712037220373203742037520376203772037820379203802038120382203832038420385203862038720388203892039020391203922039320394203952039620397203982039920400204012040220403204042040520406204072040820409204102041120412204132041420415204162041720418204192042020421204222042320424204252042620427204282042920430204312043220433204342043520436204372043820439204402044120442204432044420445204462044720448204492045020451204522045320454204552045620457204582045920460204612046220463204642046520466204672046820469204702047120472204732047420475204762047720478204792048020481204822048320484204852048620487204882048920490204912049220493204942049520496204972049820499205002050120502205032050420505205062050720508205092051020511205122051320514205152051620517205182051920520205212052220523205242052520526205272052820529205302053120532205332053420535205362053720538205392054020541205422054320544205452054620547205482054920550205512055220553205542055520556205572055820559205602056120562205632056420565205662056720568205692057020571205722057320574205752057620577205782057920580205812058220583205842058520586205872058820589205902059120592205932059420595205962059720598205992060020601206022060320604206052060620607206082060920610206112061220613206142061520616206172061820619206202062120622206232062420625206262062720628206292063020631206322063320634206352063620637206382063920640206412064220643206442064520646206472064820649206502065120652206532065420655206562065720658206592066020661206622066320664206652066620667206682066920670206712067220673206742067520676206772067820679206802068120682206832068420685206862068720688206892069020691206922069320694206952069620697206982069920700207012070220703207042070520706207072070820709207102071120712207132071420715207162071720718207192072020721207222072320724207252072620727207282072920730207312073220733207342073520736207372073820739207402074120742207432074420745207462074720748207492075020751207522075320754207552075620757207582075920760207612076220763207642076520766207672076820769207702077120772207732077420775207762077720778207792078020781207822078320784207852078620787207882078920790207912079220793207942079520796207972079820799208002080120802208032080420805208062080720808208092081020811208122081320814208152081620817208182081920820208212082220823208242082520826208272082820829208302083120832208332083420835208362083720838208392084020841208422084320844208452084620847208482084920850208512085220853208542085520856208572085820859208602086120862208632086420865208662086720868208692087020871208722087320874208752087620877208782087920880208812088220883208842088520886208872088820889208902089120892208932089420895208962089720898208992090020901209022090320904209052090620907209082090920910209112091220913209142091520916209172091820919209202092120922209232092420925209262092720928209292093020931209322093320934209352093620937209382093920940209412094220943209442094520946209472094820949209502095120952209532095420955209562095720958209592096020961209622096320964209652096620967209682096920970209712097220973209742097520976209772097820979209802098120982209832098420985209862098720988209892099020991209922099320994209952099620997209982099921000210012100221003210042100521006210072100821009210102101121012210132101421015210162101721018210192102021021210222102321024210252102621027210282102921030210312103221033210342103521036210372103821039210402104121042210432104421045210462104721048210492105021051210522105321054210552105621057210582105921060210612106221063210642106521066210672106821069210702107121072210732107421075210762107721078210792108021081210822108321084210852108621087210882108921090210912109221093210942109521096210972109821099211002110121102211032110421105211062110721108211092111021111211122111321114211152111621117211182111921120211212112221123211242112521126211272112821129211302113121132211332113421135211362113721138211392114021141211422114321144211452114621147211482114921150211512115221153211542115521156211572115821159211602116121162211632116421165211662116721168211692117021171211722117321174211752117621177211782117921180211812118221183211842118521186211872118821189211902119121192211932119421195211962119721198211992120021201212022120321204212052120621207212082120921210212112121221213212142121521216212172121821219212202122121222212232122421225212262122721228212292123021231212322123321234212352123621237212382123921240212412124221243212442124521246212472124821249212502125121252212532125421255212562125721258212592126021261212622126321264212652126621267212682126921270212712127221273212742127521276212772127821279212802128121282212832128421285212862128721288212892129021291212922129321294212952129621297212982129921300213012130221303213042130521306213072130821309213102131121312213132131421315213162131721318213192132021321213222132321324213252132621327213282132921330213312133221333213342133521336213372133821339213402134121342213432134421345213462134721348213492135021351213522135321354213552135621357213582135921360213612136221363213642136521366213672136821369213702137121372213732137421375213762137721378213792138021381213822138321384213852138621387213882138921390213912139221393213942139521396213972139821399214002140121402214032140421405214062140721408214092141021411214122141321414214152141621417214182141921420214212142221423214242142521426214272142821429214302143121432214332143421435214362143721438214392144021441214422144321444214452144621447214482144921450214512145221453214542145521456214572145821459214602146121462214632146421465214662146721468214692147021471214722147321474214752147621477214782147921480214812148221483214842148521486214872148821489214902149121492214932149421495214962149721498214992150021501215022150321504215052150621507215082150921510215112151221513215142151521516215172151821519215202152121522215232152421525215262152721528215292153021531215322153321534215352153621537215382153921540215412154221543215442154521546215472154821549215502155121552215532155421555215562155721558215592156021561215622156321564215652156621567215682156921570215712157221573215742157521576215772157821579215802158121582215832158421585215862158721588215892159021591215922159321594215952159621597215982159921600216012160221603216042160521606216072160821609216102161121612216132161421615216162161721618216192162021621216222162321624216252162621627216282162921630216312163221633216342163521636216372163821639216402164121642216432164421645216462164721648216492165021651216522165321654216552165621657216582165921660216612166221663216642166521666216672166821669216702167121672216732167421675216762167721678216792168021681216822168321684216852168621687216882168921690216912169221693216942169521696216972169821699217002170121702217032170421705217062170721708217092171021711217122171321714217152171621717217182171921720217212172221723217242172521726217272172821729217302173121732217332173421735217362173721738217392174021741217422174321744217452174621747217482174921750217512175221753217542175521756217572175821759217602176121762217632176421765217662176721768217692177021771217722177321774217752177621777217782177921780217812178221783217842178521786217872178821789217902179121792217932179421795217962179721798217992180021801218022180321804218052180621807218082180921810218112181221813218142181521816218172181821819218202182121822218232182421825218262182721828218292183021831218322183321834218352183621837218382183921840218412184221843218442184521846218472184821849218502185121852218532185421855218562185721858218592186021861218622186321864218652186621867218682186921870218712187221873218742187521876218772187821879218802188121882218832188421885218862188721888218892189021891218922189321894218952189621897218982189921900219012190221903219042190521906219072190821909219102191121912219132191421915219162191721918219192192021921219222192321924219252192621927219282192921930219312193221933219342193521936219372193821939219402194121942219432194421945219462194721948219492195021951219522195321954219552195621957219582195921960219612196221963219642196521966219672196821969219702197121972219732197421975219762197721978219792198021981219822198321984219852198621987219882198921990219912199221993219942199521996219972199821999220002200122002220032200422005220062200722008220092201022011220122201322014220152201622017220182201922020220212202222023220242202522026220272202822029220302203122032220332203422035220362203722038220392204022041220422204322044220452204622047220482204922050220512205222053220542205522056220572205822059220602206122062220632206422065220662206722068220692207022071220722207322074220752207622077220782207922080220812208222083220842208522086220872208822089220902209122092220932209422095220962209722098220992210022101221022210322104221052210622107221082210922110221112211222113221142211522116221172211822119221202212122122221232212422125221262212722128221292213022131221322213322134221352213622137221382213922140221412214222143221442214522146221472214822149221502215122152221532215422155221562215722158221592216022161221622216322164221652216622167221682216922170221712217222173221742217522176221772217822179221802218122182221832218422185221862218722188221892219022191221922219322194221952219622197221982219922200222012220222203222042220522206222072220822209222102221122212222132221422215222162221722218222192222022221222222222322224222252222622227222282222922230222312223222233222342223522236222372223822239222402224122242222432224422245222462224722248222492225022251222522225322254222552225622257222582225922260222612226222263222642226522266222672226822269222702227122272222732227422275222762227722278222792228022281222822228322284222852228622287222882228922290222912229222293222942229522296222972229822299223002230122302223032230422305223062230722308223092231022311223122231322314223152231622317223182231922320223212232222323223242232522326223272232822329223302233122332223332233422335223362233722338223392234022341223422234322344223452234622347223482234922350223512235222353223542235522356223572235822359223602236122362223632236422365223662236722368223692237022371223722237322374223752237622377223782237922380223812238222383223842238522386223872238822389223902239122392223932239422395223962239722398223992240022401224022240322404224052240622407224082240922410224112241222413224142241522416224172241822419224202242122422224232242422425224262242722428224292243022431224322243322434224352243622437224382243922440224412244222443224442244522446224472244822449224502245122452224532245422455224562245722458224592246022461224622246322464224652246622467224682246922470224712247222473224742247522476224772247822479224802248122482224832248422485224862248722488224892249022491224922249322494224952249622497224982249922500225012250222503225042250522506225072250822509225102251122512225132251422515225162251722518225192252022521225222252322524225252252622527225282252922530225312253222533225342253522536225372253822539225402254122542225432254422545225462254722548225492255022551225522255322554225552255622557225582255922560225612256222563225642256522566225672256822569225702257122572225732257422575225762257722578225792258022581225822258322584225852258622587225882258922590225912259222593225942259522596225972259822599226002260122602226032260422605226062260722608226092261022611226122261322614226152261622617226182261922620226212262222623226242262522626226272262822629226302263122632226332263422635226362263722638226392264022641226422264322644226452264622647226482264922650226512265222653226542265522656226572265822659226602266122662226632266422665226662266722668226692267022671226722267322674226752267622677226782267922680226812268222683226842268522686226872268822689226902269122692226932269422695226962269722698226992270022701227022270322704227052270622707227082270922710227112271222713227142271522716227172271822719227202272122722227232272422725227262272722728227292273022731227322273322734227352273622737227382273922740227412274222743227442274522746227472274822749227502275122752227532275422755227562275722758227592276022761227622276322764227652276622767227682276922770227712277222773227742277522776227772277822779227802278122782227832278422785227862278722788227892279022791227922279322794227952279622797227982279922800228012280222803228042280522806228072280822809228102281122812228132281422815228162281722818228192282022821228222282322824228252282622827228282282922830228312283222833228342283522836228372283822839228402284122842228432284422845228462284722848228492285022851228522285322854228552285622857228582285922860228612286222863228642286522866228672286822869228702287122872228732287422875228762287722878228792288022881228822288322884228852288622887228882288922890228912289222893228942289522896228972289822899229002290122902229032290422905229062290722908229092291022911229122291322914229152291622917229182291922920229212292222923229242292522926229272292822929229302293122932229332293422935229362293722938229392294022941229422294322944229452294622947229482294922950229512295222953229542295522956229572295822959229602296122962229632296422965229662296722968229692297022971229722297322974229752297622977229782297922980229812298222983229842298522986229872298822989229902299122992229932299422995229962299722998229992300023001230022300323004230052300623007230082300923010230112301223013230142301523016230172301823019230202302123022230232302423025230262302723028230292303023031230322303323034230352303623037230382303923040230412304223043230442304523046230472304823049230502305123052230532305423055230562305723058230592306023061230622306323064230652306623067230682306923070230712307223073230742307523076230772307823079230802308123082230832308423085230862308723088230892309023091230922309323094230952309623097230982309923100231012310223103231042310523106231072310823109231102311123112231132311423115231162311723118231192312023121231222312323124231252312623127231282312923130231312313223133231342313523136231372313823139231402314123142231432314423145231462314723148231492315023151231522315323154231552315623157231582315923160231612316223163231642316523166231672316823169231702317123172231732317423175231762317723178231792318023181231822318323184231852318623187231882318923190231912319223193231942319523196231972319823199232002320123202232032320423205232062320723208232092321023211232122321323214232152321623217232182321923220232212322223223232242322523226232272322823229232302323123232232332323423235232362323723238232392324023241232422324323244232452324623247232482324923250232512325223253232542325523256232572325823259232602326123262232632326423265232662326723268232692327023271232722327323274232752327623277232782327923280232812328223283232842328523286232872328823289232902329123292232932329423295232962329723298232992330023301233022330323304233052330623307233082330923310233112331223313233142331523316233172331823319233202332123322233232332423325233262332723328233292333023331233322333323334233352333623337233382333923340233412334223343233442334523346233472334823349233502335123352233532335423355233562335723358233592336023361233622336323364233652336623367233682336923370233712337223373233742337523376233772337823379233802338123382233832338423385233862338723388233892339023391233922339323394233952339623397233982339923400234012340223403234042340523406234072340823409234102341123412234132341423415234162341723418234192342023421234222342323424234252342623427234282342923430234312343223433234342343523436234372343823439234402344123442234432344423445234462344723448234492345023451234522345323454234552345623457234582345923460234612346223463234642346523466234672346823469234702347123472234732347423475234762347723478234792348023481234822348323484234852348623487234882348923490234912349223493234942349523496234972349823499235002350123502235032350423505235062350723508235092351023511235122351323514235152351623517235182351923520235212352223523235242352523526235272352823529235302353123532235332353423535235362353723538235392354023541235422354323544235452354623547235482354923550235512355223553235542355523556235572355823559235602356123562235632356423565235662356723568235692357023571235722357323574235752357623577235782357923580235812358223583235842358523586235872358823589235902359123592235932359423595235962359723598235992360023601236022360323604236052360623607236082360923610236112361223613236142361523616236172361823619236202362123622236232362423625236262362723628236292363023631236322363323634236352363623637236382363923640236412364223643236442364523646236472364823649236502365123652236532365423655236562365723658236592366023661236622366323664236652366623667236682366923670236712367223673236742367523676236772367823679236802368123682236832368423685236862368723688236892369023691236922369323694236952369623697236982369923700237012370223703237042370523706237072370823709237102371123712237132371423715237162371723718237192372023721237222372323724237252372623727237282372923730237312373223733237342373523736237372373823739237402374123742237432374423745237462374723748237492375023751237522375323754237552375623757237582375923760237612376223763237642376523766237672376823769237702377123772237732377423775237762377723778237792378023781237822378323784237852378623787237882378923790237912379223793237942379523796237972379823799238002380123802238032380423805238062380723808238092381023811238122381323814238152381623817238182381923820238212382223823238242382523826238272382823829238302383123832238332383423835238362383723838238392384023841238422384323844238452384623847238482384923850238512385223853238542385523856238572385823859238602386123862238632386423865238662386723868238692387023871238722387323874238752387623877238782387923880238812388223883238842388523886238872388823889238902389123892238932389423895238962389723898238992390023901239022390323904239052390623907239082390923910239112391223913239142391523916239172391823919239202392123922239232392423925239262392723928239292393023931239322393323934239352393623937239382393923940239412394223943239442394523946239472394823949239502395123952239532395423955239562395723958239592396023961239622396323964239652396623967239682396923970239712397223973239742397523976239772397823979239802398123982239832398423985239862398723988239892399023991239922399323994239952399623997239982399924000240012400224003240042400524006240072400824009240102401124012240132401424015240162401724018240192402024021240222402324024240252402624027240282402924030240312403224033240342403524036240372403824039240402404124042240432404424045240462404724048240492405024051240522405324054240552405624057240582405924060240612406224063240642406524066240672406824069240702407124072240732407424075240762407724078240792408024081240822408324084240852408624087240882408924090240912409224093240942409524096240972409824099241002410124102241032410424105241062410724108241092411024111241122411324114241152411624117241182411924120241212412224123241242412524126241272412824129241302413124132241332413424135241362413724138241392414024141241422414324144241452414624147241482414924150241512415224153241542415524156241572415824159241602416124162241632416424165241662416724168241692417024171241722417324174241752417624177241782417924180241812418224183241842418524186241872418824189241902419124192241932419424195241962419724198241992420024201242022420324204242052420624207242082420924210242112421224213242142421524216242172421824219242202422124222242232422424225242262422724228242292423024231242322423324234242352423624237242382423924240242412424224243242442424524246242472424824249242502425124252242532425424255242562425724258242592426024261242622426324264242652426624267242682426924270242712427224273242742427524276242772427824279242802428124282242832428424285242862428724288242892429024291242922429324294242952429624297242982429924300243012430224303243042430524306243072430824309243102431124312243132431424315243162431724318243192432024321243222432324324243252432624327243282432924330243312433224333243342433524336243372433824339243402434124342243432434424345243462434724348243492435024351243522435324354243552435624357243582435924360243612436224363243642436524366243672436824369243702437124372243732437424375243762437724378243792438024381243822438324384243852438624387243882438924390243912439224393243942439524396243972439824399244002440124402244032440424405244062440724408244092441024411244122441324414244152441624417244182441924420244212442224423244242442524426244272442824429244302443124432244332443424435244362443724438244392444024441244422444324444244452444624447244482444924450244512445224453244542445524456244572445824459244602446124462244632446424465244662446724468244692447024471244722447324474244752447624477244782447924480244812448224483244842448524486244872448824489244902449124492244932449424495244962449724498244992450024501245022450324504245052450624507245082450924510245112451224513245142451524516245172451824519245202452124522245232452424525245262452724528245292453024531245322453324534245352453624537245382453924540245412454224543245442454524546245472454824549245502455124552245532455424555245562455724558245592456024561245622456324564245652456624567245682456924570245712457224573245742457524576245772457824579245802458124582245832458424585245862458724588245892459024591245922459324594245952459624597245982459924600246012460224603246042460524606246072460824609246102461124612246132461424615246162461724618246192462024621246222462324624246252462624627246282462924630246312463224633246342463524636246372463824639246402464124642246432464424645246462464724648246492465024651246522465324654246552465624657246582465924660246612466224663246642466524666246672466824669246702467124672246732467424675246762467724678246792468024681246822468324684246852468624687246882468924690246912469224693246942469524696246972469824699247002470124702247032470424705247062470724708247092471024711247122471324714247152471624717247182471924720247212472224723247242472524726247272472824729247302473124732247332473424735247362473724738247392474024741247422474324744247452474624747247482474924750247512475224753247542475524756247572475824759247602476124762247632476424765247662476724768247692477024771247722477324774247752477624777247782477924780247812478224783247842478524786247872478824789247902479124792247932479424795247962479724798247992480024801248022480324804248052480624807248082480924810248112481224813248142481524816248172481824819248202482124822248232482424825248262482724828248292483024831248322483324834248352483624837248382483924840248412484224843248442484524846248472484824849248502485124852248532485424855248562485724858248592486024861248622486324864248652486624867248682486924870248712487224873248742487524876248772487824879248802488124882248832488424885248862488724888248892489024891248922489324894248952489624897248982489924900249012490224903249042490524906249072490824909249102491124912249132491424915249162491724918249192492024921249222492324924249252492624927249282492924930249312493224933249342493524936249372493824939249402494124942249432494424945249462494724948249492495024951249522495324954249552495624957249582495924960249612496224963249642496524966249672496824969249702497124972249732497424975249762497724978249792498024981249822498324984249852498624987249882498924990249912499224993249942499524996249972499824999250002500125002250032500425005250062500725008250092501025011250122501325014250152501625017250182501925020250212502225023250242502525026250272502825029250302503125032250332503425035250362503725038250392504025041250422504325044250452504625047250482504925050250512505225053250542505525056250572505825059250602506125062250632506425065250662506725068250692507025071250722507325074250752507625077250782507925080250812508225083250842508525086250872508825089250902509125092250932509425095250962509725098250992510025101251022510325104251052510625107251082510925110251112511225113251142511525116251172511825119251202512125122251232512425125251262512725128251292513025131251322513325134251352513625137251382513925140251412514225143251442514525146251472514825149251502515125152251532515425155251562515725158251592516025161251622516325164251652516625167251682516925170251712517225173251742517525176251772517825179251802518125182251832518425185251862518725188251892519025191251922519325194251952519625197251982519925200252012520225203252042520525206252072520825209252102521125212252132521425215252162521725218252192522025221252222522325224252252522625227252282522925230252312523225233252342523525236252372523825239252402524125242252432524425245252462524725248252492525025251252522525325254252552525625257252582525925260252612526225263252642526525266252672526825269252702527125272252732527425275252762527725278252792528025281252822528325284252852528625287252882528925290252912529225293252942529525296252972529825299253002530125302253032530425305253062530725308253092531025311253122531325314253152531625317253182531925320253212532225323253242532525326253272532825329253302533125332253332533425335253362533725338253392534025341253422534325344253452534625347253482534925350253512535225353253542535525356253572535825359253602536125362253632536425365253662536725368253692537025371253722537325374253752537625377253782537925380253812538225383253842538525386253872538825389253902539125392253932539425395253962539725398253992540025401254022540325404254052540625407254082540925410254112541225413254142541525416254172541825419254202542125422254232542425425254262542725428254292543025431254322543325434254352543625437254382543925440254412544225443254442544525446254472544825449254502545125452254532545425455254562545725458254592546025461254622546325464254652546625467254682546925470254712547225473254742547525476254772547825479254802548125482254832548425485254862548725488254892549025491254922549325494254952549625497254982549925500255012550225503255042550525506255072550825509255102551125512255132551425515255162551725518255192552025521255222552325524255252552625527255282552925530255312553225533255342553525536255372553825539255402554125542255432554425545255462554725548255492555025551255522555325554255552555625557255582555925560255612556225563255642556525566255672556825569255702557125572255732557425575255762557725578255792558025581255822558325584255852558625587255882558925590255912559225593255942559525596255972559825599256002560125602256032560425605256062560725608256092561025611256122561325614256152561625617256182561925620256212562225623256242562525626256272562825629256302563125632256332563425635256362563725638256392564025641256422564325644256452564625647256482564925650256512565225653256542565525656256572565825659256602566125662256632566425665256662566725668256692567025671256722567325674256752567625677256782567925680256812568225683256842568525686256872568825689256902569125692256932569425695256962569725698256992570025701257022570325704257052570625707257082570925710257112571225713257142571525716257172571825719257202572125722257232572425725257262572725728257292573025731257322573325734257352573625737257382573925740257412574225743257442574525746257472574825749257502575125752257532575425755257562575725758257592576025761257622576325764257652576625767257682576925770257712577225773257742577525776257772577825779257802578125782257832578425785257862578725788257892579025791257922579325794257952579625797257982579925800258012580225803258042580525806258072580825809258102581125812258132581425815258162581725818258192582025821258222582325824258252582625827258282582925830258312583225833258342583525836258372583825839258402584125842258432584425845258462584725848258492585025851258522585325854258552585625857258582585925860258612586225863258642586525866258672586825869258702587125872258732587425875258762587725878258792588025881258822588325884258852588625887258882588925890258912589225893258942589525896258972589825899259002590125902259032590425905259062590725908259092591025911259122591325914259152591625917259182591925920259212592225923259242592525926259272592825929259302593125932259332593425935259362593725938259392594025941259422594325944259452594625947259482594925950259512595225953259542595525956259572595825959259602596125962259632596425965259662596725968259692597025971259722597325974259752597625977259782597925980259812598225983259842598525986259872598825989259902599125992259932599425995259962599725998259992600026001260022600326004260052600626007260082600926010260112601226013260142601526016260172601826019260202602126022260232602426025260262602726028260292603026031260322603326034260352603626037260382603926040260412604226043260442604526046260472604826049260502605126052260532605426055260562605726058260592606026061260622606326064260652606626067260682606926070260712607226073260742607526076260772607826079260802608126082260832608426085260862608726088260892609026091260922609326094260952609626097260982609926100261012610226103261042610526106261072610826109261102611126112261132611426115261162611726118261192612026121261222612326124261252612626127261282612926130261312613226133261342613526136261372613826139261402614126142261432614426145261462614726148261492615026151261522615326154261552615626157261582615926160261612616226163261642616526166261672616826169261702617126172261732617426175261762617726178261792618026181261822618326184261852618626187261882618926190261912619226193261942619526196261972619826199262002620126202262032620426205262062620726208262092621026211262122621326214262152621626217262182621926220262212622226223262242622526226262272622826229262302623126232262332623426235262362623726238262392624026241262422624326244262452624626247262482624926250262512625226253262542625526256262572625826259262602626126262262632626426265262662626726268262692627026271262722627326274262752627626277262782627926280262812628226283262842628526286262872628826289262902629126292262932629426295262962629726298262992630026301263022630326304263052630626307263082630926310263112631226313263142631526316263172631826319263202632126322263232632426325263262632726328263292633026331263322633326334263352633626337263382633926340263412634226343263442634526346263472634826349263502635126352263532635426355263562635726358263592636026361263622636326364263652636626367263682636926370263712637226373263742637526376263772637826379263802638126382263832638426385263862638726388263892639026391263922639326394263952639626397263982639926400264012640226403264042640526406264072640826409264102641126412264132641426415264162641726418264192642026421264222642326424264252642626427264282642926430264312643226433264342643526436264372643826439264402644126442264432644426445264462644726448264492645026451264522645326454264552645626457264582645926460264612646226463264642646526466264672646826469264702647126472264732647426475264762647726478264792648026481264822648326484264852648626487264882648926490264912649226493264942649526496264972649826499265002650126502265032650426505265062650726508265092651026511265122651326514265152651626517265182651926520265212652226523265242652526526265272652826529265302653126532265332653426535265362653726538265392654026541265422654326544265452654626547265482654926550265512655226553265542655526556265572655826559265602656126562265632656426565265662656726568265692657026571265722657326574265752657626577265782657926580265812658226583265842658526586265872658826589265902659126592265932659426595265962659726598265992660026601266022660326604266052660626607266082660926610266112661226613266142661526616266172661826619266202662126622266232662426625266262662726628266292663026631266322663326634266352663626637266382663926640266412664226643266442664526646266472664826649266502665126652266532665426655266562665726658266592666026661266622666326664266652666626667266682666926670266712667226673266742667526676266772667826679266802668126682266832668426685266862668726688266892669026691266922669326694266952669626697266982669926700267012670226703267042670526706267072670826709267102671126712267132671426715267162671726718267192672026721267222672326724267252672626727267282672926730267312673226733267342673526736267372673826739267402674126742267432674426745267462674726748267492675026751267522675326754267552675626757267582675926760267612676226763267642676526766267672676826769267702677126772267732677426775267762677726778267792678026781267822678326784267852678626787267882678926790267912679226793267942679526796267972679826799268002680126802268032680426805268062680726808268092681026811268122681326814268152681626817268182681926820268212682226823268242682526826268272682826829268302683126832268332683426835268362683726838268392684026841268422684326844268452684626847268482684926850268512685226853268542685526856268572685826859268602686126862268632686426865268662686726868268692687026871268722687326874268752687626877268782687926880268812688226883268842688526886268872688826889268902689126892268932689426895268962689726898268992690026901269022690326904269052690626907269082690926910269112691226913269142691526916269172691826919269202692126922269232692426925269262692726928269292693026931269322693326934269352693626937269382693926940269412694226943269442694526946269472694826949269502695126952269532695426955269562695726958269592696026961269622696326964269652696626967269682696926970269712697226973269742697526976269772697826979269802698126982269832698426985269862698726988269892699026991269922699326994269952699626997269982699927000270012700227003270042700527006270072700827009270102701127012270132701427015270162701727018270192702027021270222702327024270252702627027270282702927030270312703227033270342703527036270372703827039270402704127042270432704427045270462704727048270492705027051270522705327054270552705627057270582705927060270612706227063270642706527066270672706827069270702707127072270732707427075270762707727078270792708027081270822708327084270852708627087270882708927090270912709227093270942709527096270972709827099271002710127102271032710427105271062710727108271092711027111271122711327114271152711627117271182711927120271212712227123271242712527126271272712827129271302713127132271332713427135271362713727138271392714027141271422714327144271452714627147271482714927150271512715227153271542715527156271572715827159271602716127162271632716427165271662716727168271692717027171271722717327174271752717627177271782717927180271812718227183271842718527186271872718827189271902719127192271932719427195271962719727198271992720027201272022720327204272052720627207272082720927210272112721227213272142721527216272172721827219272202722127222272232722427225272262722727228272292723027231272322723327234272352723627237272382723927240272412724227243272442724527246272472724827249272502725127252272532725427255272562725727258272592726027261272622726327264272652726627267272682726927270272712727227273272742727527276272772727827279272802728127282272832728427285272862728727288272892729027291272922729327294272952729627297272982729927300273012730227303273042730527306273072730827309273102731127312273132731427315273162731727318273192732027321273222732327324273252732627327273282732927330273312733227333273342733527336273372733827339273402734127342273432734427345273462734727348273492735027351273522735327354273552735627357273582735927360273612736227363273642736527366273672736827369273702737127372273732737427375273762737727378273792738027381273822738327384273852738627387273882738927390273912739227393273942739527396273972739827399274002740127402274032740427405274062740727408274092741027411274122741327414274152741627417274182741927420274212742227423274242742527426274272742827429274302743127432274332743427435274362743727438274392744027441274422744327444274452744627447274482744927450274512745227453274542745527456274572745827459274602746127462274632746427465274662746727468274692747027471274722747327474274752747627477274782747927480274812748227483274842748527486274872748827489274902749127492274932749427495274962749727498274992750027501275022750327504275052750627507275082750927510275112751227513275142751527516275172751827519275202752127522275232752427525275262752727528275292753027531275322753327534275352753627537275382753927540275412754227543275442754527546275472754827549275502755127552275532755427555275562755727558275592756027561275622756327564275652756627567275682756927570275712757227573275742757527576275772757827579275802758127582275832758427585275862758727588275892759027591275922759327594275952759627597275982759927600276012760227603276042760527606276072760827609276102761127612276132761427615276162761727618276192762027621276222762327624276252762627627276282762927630276312763227633276342763527636276372763827639276402764127642276432764427645276462764727648276492765027651276522765327654276552765627657276582765927660276612766227663276642766527666276672766827669276702767127672276732767427675276762767727678276792768027681276822768327684276852768627687276882768927690276912769227693276942769527696276972769827699277002770127702277032770427705277062770727708277092771027711277122771327714277152771627717277182771927720277212772227723277242772527726277272772827729277302773127732277332773427735277362773727738277392774027741277422774327744277452774627747277482774927750277512775227753277542775527756277572775827759277602776127762277632776427765277662776727768277692777027771277722777327774277752777627777277782777927780277812778227783277842778527786277872778827789277902779127792277932779427795277962779727798277992780027801278022780327804278052780627807278082780927810278112781227813278142781527816278172781827819278202782127822278232782427825278262782727828278292783027831278322783327834278352783627837278382783927840278412784227843278442784527846278472784827849278502785127852278532785427855278562785727858278592786027861278622786327864278652786627867278682786927870278712787227873278742787527876278772787827879278802788127882278832788427885278862788727888278892789027891278922789327894278952789627897278982789927900279012790227903279042790527906279072790827909279102791127912279132791427915279162791727918279192792027921279222792327924279252792627927279282792927930279312793227933279342793527936279372793827939279402794127942279432794427945279462794727948279492795027951279522795327954279552795627957279582795927960279612796227963279642796527966279672796827969279702797127972279732797427975279762797727978279792798027981279822798327984279852798627987279882798927990279912799227993279942799527996279972799827999280002800128002280032800428005280062800728008280092801028011280122801328014280152801628017280182801928020280212802228023280242802528026280272802828029280302803128032280332803428035280362803728038280392804028041280422804328044280452804628047280482804928050280512805228053280542805528056280572805828059280602806128062280632806428065280662806728068280692807028071280722807328074280752807628077280782807928080280812808228083280842808528086280872808828089280902809128092280932809428095280962809728098280992810028101281022810328104281052810628107281082810928110281112811228113281142811528116281172811828119281202812128122281232812428125281262812728128281292813028131281322813328134281352813628137281382813928140281412814228143281442814528146281472814828149281502815128152281532815428155281562815728158281592816028161281622816328164281652816628167281682816928170281712817228173281742817528176281772817828179281802818128182281832818428185281862818728188281892819028191281922819328194281952819628197281982819928200282012820228203282042820528206282072820828209282102821128212282132821428215282162821728218282192822028221282222822328224282252822628227282282822928230282312823228233282342823528236282372823828239282402824128242282432824428245282462824728248282492825028251282522825328254282552825628257282582825928260282612826228263282642826528266282672826828269282702827128272282732827428275282762827728278282792828028281282822828328284282852828628287282882828928290282912829228293282942829528296282972829828299283002830128302283032830428305283062830728308283092831028311283122831328314283152831628317283182831928320283212832228323283242832528326283272832828329283302833128332283332833428335283362833728338283392834028341283422834328344283452834628347283482834928350283512835228353283542835528356283572835828359283602836128362283632836428365283662836728368283692837028371283722837328374283752837628377283782837928380283812838228383283842838528386283872838828389283902839128392283932839428395283962839728398283992840028401284022840328404284052840628407284082840928410284112841228413284142841528416284172841828419284202842128422284232842428425284262842728428284292843028431284322843328434284352843628437284382843928440284412844228443284442844528446284472844828449284502845128452284532845428455284562845728458284592846028461284622846328464284652846628467284682846928470284712847228473284742847528476284772847828479284802848128482284832848428485284862848728488284892849028491284922849328494284952849628497284982849928500285012850228503285042850528506285072850828509285102851128512285132851428515285162851728518285192852028521285222852328524285252852628527285282852928530285312853228533285342853528536285372853828539285402854128542285432854428545285462854728548285492855028551285522855328554285552855628557285582855928560285612856228563285642856528566285672856828569285702857128572285732857428575285762857728578285792858028581285822858328584285852858628587285882858928590285912859228593285942859528596285972859828599286002860128602286032860428605286062860728608286092861028611286122861328614286152861628617286182861928620286212862228623286242862528626286272862828629286302863128632286332863428635286362863728638286392864028641286422864328644286452864628647286482864928650286512865228653286542865528656286572865828659286602866128662286632866428665286662866728668286692867028671286722867328674286752867628677286782867928680286812868228683286842868528686286872868828689286902869128692286932869428695286962869728698286992870028701287022870328704287052870628707287082870928710287112871228713287142871528716287172871828719287202872128722287232872428725287262872728728287292873028731287322873328734287352873628737287382873928740287412874228743287442874528746287472874828749287502875128752287532875428755287562875728758287592876028761287622876328764287652876628767287682876928770287712877228773287742877528776287772877828779287802878128782287832878428785287862878728788287892879028791287922879328794287952879628797287982879928800288012880228803288042880528806288072880828809288102881128812288132881428815288162881728818288192882028821288222882328824288252882628827288282882928830288312883228833288342883528836288372883828839288402884128842288432884428845288462884728848288492885028851288522885328854288552885628857288582885928860288612886228863288642886528866288672886828869288702887128872288732887428875288762887728878288792888028881288822888328884288852888628887288882888928890288912889228893288942889528896288972889828899289002890128902289032890428905289062890728908289092891028911289122891328914289152891628917289182891928920289212892228923289242892528926289272892828929289302893128932289332893428935289362893728938289392894028941289422894328944289452894628947289482894928950289512895228953289542895528956289572895828959289602896128962289632896428965289662896728968289692897028971289722897328974289752897628977289782897928980289812898228983289842898528986289872898828989289902899128992289932899428995289962899728998289992900029001290022900329004290052900629007290082900929010290112901229013290142901529016290172901829019290202902129022290232902429025290262902729028290292903029031290322903329034290352903629037290382903929040290412904229043290442904529046290472904829049290502905129052290532905429055290562905729058290592906029061290622906329064290652906629067290682906929070290712907229073290742907529076290772907829079290802908129082290832908429085290862908729088290892909029091290922909329094290952909629097290982909929100291012910229103291042910529106291072910829109291102911129112291132911429115291162911729118291192912029121291222912329124291252912629127291282912929130291312913229133291342913529136291372913829139291402914129142291432914429145291462914729148291492915029151291522915329154291552915629157291582915929160291612916229163291642916529166291672916829169291702917129172291732917429175291762917729178291792918029181291822918329184291852918629187291882918929190291912919229193291942919529196291972919829199292002920129202292032920429205292062920729208292092921029211292122921329214292152921629217292182921929220292212922229223292242922529226292272922829229292302923129232292332923429235292362923729238292392924029241292422924329244292452924629247292482924929250292512925229253292542925529256292572925829259292602926129262292632926429265292662926729268292692927029271292722927329274292752927629277292782927929280292812928229283292842928529286292872928829289292902929129292292932929429295292962929729298292992930029301293022930329304293052930629307293082930929310293112931229313293142931529316293172931829319293202932129322293232932429325293262932729328293292933029331293322933329334293352933629337293382933929340293412934229343293442934529346293472934829349293502935129352293532935429355293562935729358293592936029361293622936329364293652936629367293682936929370293712937229373293742937529376293772937829379293802938129382293832938429385293862938729388293892939029391293922939329394293952939629397293982939929400294012940229403294042940529406294072940829409294102941129412294132941429415294162941729418294192942029421294222942329424294252942629427294282942929430294312943229433294342943529436294372943829439294402944129442294432944429445294462944729448294492945029451294522945329454294552945629457294582945929460294612946229463294642946529466294672946829469294702947129472294732947429475294762947729478294792948029481294822948329484294852948629487294882948929490294912949229493294942949529496294972949829499295002950129502295032950429505295062950729508295092951029511295122951329514295152951629517295182951929520295212952229523295242952529526295272952829529295302953129532295332953429535295362953729538295392954029541295422954329544295452954629547295482954929550295512955229553295542955529556295572955829559295602956129562295632956429565295662956729568295692957029571295722957329574295752957629577295782957929580295812958229583295842958529586295872958829589295902959129592295932959429595295962959729598295992960029601296022960329604296052960629607296082960929610296112961229613296142961529616296172961829619296202962129622296232962429625296262962729628296292963029631296322963329634296352963629637296382963929640296412964229643296442964529646296472964829649296502965129652296532965429655296562965729658296592966029661296622966329664296652966629667296682966929670296712967229673296742967529676296772967829679296802968129682296832968429685296862968729688296892969029691296922969329694296952969629697296982969929700297012970229703297042970529706297072970829709297102971129712297132971429715297162971729718297192972029721297222972329724297252972629727297282972929730297312973229733297342973529736297372973829739297402974129742297432974429745297462974729748297492975029751297522975329754297552975629757297582975929760297612976229763297642976529766297672976829769297702977129772297732977429775297762977729778297792978029781297822978329784297852978629787297882978929790297912979229793297942979529796297972979829799298002980129802298032980429805298062980729808298092981029811298122981329814298152981629817298182981929820298212982229823298242982529826298272982829829298302983129832298332983429835298362983729838298392984029841298422984329844298452984629847298482984929850298512985229853298542985529856298572985829859298602986129862298632986429865298662986729868298692987029871298722987329874298752987629877298782987929880298812988229883298842988529886298872988829889298902989129892298932989429895298962989729898298992990029901299022990329904299052990629907299082990929910299112991229913299142991529916299172991829919299202992129922299232992429925299262992729928299292993029931299322993329934299352993629937299382993929940299412994229943299442994529946299472994829949299502995129952299532995429955299562995729958299592996029961299622996329964299652996629967299682996929970299712997229973299742997529976299772997829979299802998129982299832998429985299862998729988299892999029991299922999329994299952999629997299982999930000300013000230003300043000530006300073000830009300103001130012300133001430015300163001730018300193002030021300223002330024300253002630027300283002930030300313003230033300343003530036300373003830039300403004130042300433004430045300463004730048300493005030051300523005330054300553005630057300583005930060300613006230063300643006530066300673006830069300703007130072300733007430075300763007730078300793008030081300823008330084300853008630087300883008930090300913009230093300943009530096300973009830099301003010130102301033010430105301063010730108301093011030111301123011330114301153011630117301183011930120301213012230123301243012530126301273012830129301303013130132301333013430135301363013730138301393014030141301423014330144301453014630147301483014930150301513015230153301543015530156301573015830159301603016130162301633016430165301663016730168301693017030171301723017330174301753017630177301783017930180301813018230183301843018530186301873018830189301903019130192301933019430195301963019730198301993020030201302023020330204302053020630207302083020930210302113021230213302143021530216302173021830219302203022130222302233022430225302263022730228302293023030231302323023330234302353023630237302383023930240302413024230243302443024530246302473024830249302503025130252302533025430255302563025730258302593026030261302623026330264302653026630267302683026930270302713027230273302743027530276302773027830279302803028130282302833028430285302863028730288302893029030291302923029330294302953029630297302983029930300303013030230303303043030530306303073030830309303103031130312303133031430315303163031730318303193032030321303223032330324303253032630327303283032930330303313033230333303343033530336303373033830339303403034130342303433034430345303463034730348303493035030351303523035330354303553035630357303583035930360303613036230363303643036530366303673036830369303703037130372303733037430375303763037730378303793038030381303823038330384303853038630387303883038930390303913039230393303943039530396303973039830399304003040130402304033040430405304063040730408304093041030411304123041330414304153041630417304183041930420304213042230423304243042530426304273042830429304303043130432304333043430435304363043730438304393044030441304423044330444304453044630447304483044930450304513045230453304543045530456304573045830459304603046130462304633046430465304663046730468304693047030471304723047330474304753047630477304783047930480304813048230483304843048530486304873048830489304903049130492304933049430495304963049730498304993050030501305023050330504305053050630507305083050930510305113051230513305143051530516305173051830519305203052130522305233052430525305263052730528305293053030531305323053330534305353053630537305383053930540305413054230543305443054530546305473054830549305503055130552305533055430555305563055730558305593056030561305623056330564305653056630567305683056930570305713057230573305743057530576305773057830579305803058130582305833058430585305863058730588305893059030591305923059330594305953059630597305983059930600306013060230603306043060530606306073060830609306103061130612306133061430615306163061730618306193062030621306223062330624306253062630627306283062930630306313063230633306343063530636306373063830639306403064130642306433064430645306463064730648306493065030651306523065330654306553065630657306583065930660306613066230663306643066530666306673066830669306703067130672306733067430675306763067730678306793068030681306823068330684306853068630687306883068930690306913069230693306943069530696306973069830699307003070130702307033070430705307063070730708307093071030711307123071330714307153071630717307183071930720307213072230723307243072530726307273072830729307303073130732307333073430735307363073730738307393074030741307423074330744307453074630747307483074930750307513075230753307543075530756307573075830759307603076130762307633076430765307663076730768307693077030771307723077330774307753077630777307783077930780307813078230783307843078530786307873078830789307903079130792307933079430795307963079730798307993080030801308023080330804308053080630807308083080930810308113081230813308143081530816308173081830819308203082130822308233082430825308263082730828308293083030831308323083330834308353083630837308383083930840308413084230843308443084530846308473084830849308503085130852308533085430855308563085730858308593086030861308623086330864308653086630867308683086930870308713087230873308743087530876308773087830879308803088130882308833088430885308863088730888308893089030891308923089330894308953089630897308983089930900309013090230903309043090530906309073090830909309103091130912309133091430915309163091730918309193092030921309223092330924309253092630927309283092930930309313093230933309343093530936309373093830939309403094130942309433094430945309463094730948309493095030951309523095330954309553095630957309583095930960309613096230963309643096530966309673096830969309703097130972309733097430975309763097730978309793098030981309823098330984309853098630987309883098930990309913099230993309943099530996309973099830999310003100131002310033100431005310063100731008310093101031011310123101331014310153101631017310183101931020310213102231023310243102531026310273102831029310303103131032310333103431035310363103731038310393104031041310423104331044310453104631047310483104931050310513105231053310543105531056310573105831059310603106131062310633106431065310663106731068310693107031071310723107331074310753107631077310783107931080310813108231083310843108531086310873108831089310903109131092310933109431095310963109731098310993110031101311023110331104311053110631107311083110931110311113111231113311143111531116311173111831119311203112131122311233112431125311263112731128311293113031131311323113331134311353113631137311383113931140311413114231143311443114531146311473114831149311503115131152311533115431155311563115731158311593116031161311623116331164311653116631167311683116931170311713117231173311743117531176311773117831179311803118131182311833118431185311863118731188311893119031191311923119331194311953119631197311983119931200312013120231203312043120531206312073120831209312103121131212312133121431215312163121731218312193122031221312223122331224312253122631227312283122931230312313123231233312343123531236312373123831239312403124131242312433124431245312463124731248312493125031251312523125331254312553125631257312583125931260312613126231263312643126531266312673126831269312703127131272312733127431275312763127731278312793128031281312823128331284312853128631287312883128931290312913129231293312943129531296312973129831299313003130131302313033130431305313063130731308313093131031311313123131331314313153131631317313183131931320313213132231323313243132531326313273132831329313303133131332313333133431335313363133731338313393134031341313423134331344313453134631347313483134931350313513135231353313543135531356313573135831359313603136131362313633136431365313663136731368313693137031371313723137331374313753137631377313783137931380313813138231383313843138531386313873138831389313903139131392313933139431395313963139731398313993140031401314023140331404314053140631407314083140931410314113141231413314143141531416314173141831419314203142131422314233142431425314263142731428314293143031431314323143331434314353143631437314383143931440314413144231443314443144531446314473144831449314503145131452314533145431455314563145731458314593146031461314623146331464314653146631467314683146931470314713147231473314743147531476314773147831479314803148131482314833148431485314863148731488314893149031491314923149331494314953149631497314983149931500315013150231503315043150531506315073150831509315103151131512315133151431515315163151731518315193152031521315223152331524315253152631527315283152931530315313153231533315343153531536315373153831539315403154131542315433154431545315463154731548315493155031551315523155331554315553155631557315583155931560315613156231563315643156531566315673156831569315703157131572315733157431575315763157731578315793158031581315823158331584315853158631587315883158931590315913159231593315943159531596315973159831599316003160131602316033160431605316063160731608316093161031611316123161331614316153161631617316183161931620316213162231623316243162531626316273162831629316303163131632316333163431635316363163731638316393164031641316423164331644316453164631647316483164931650316513165231653316543165531656316573165831659316603166131662316633166431665316663166731668316693167031671316723167331674316753167631677316783167931680316813168231683316843168531686316873168831689316903169131692316933169431695316963169731698316993170031701317023170331704317053170631707317083170931710317113171231713317143171531716317173171831719317203172131722317233172431725317263172731728317293173031731317323173331734317353173631737317383173931740317413174231743317443174531746317473174831749317503175131752317533175431755317563175731758317593176031761317623176331764317653176631767317683176931770317713177231773317743177531776317773177831779317803178131782317833178431785317863178731788317893179031791317923179331794317953179631797317983179931800318013180231803318043180531806318073180831809318103181131812318133181431815318163181731818318193182031821318223182331824318253182631827318283182931830318313183231833318343183531836318373183831839318403184131842318433184431845318463184731848318493185031851318523185331854318553185631857318583185931860318613186231863318643186531866318673186831869318703187131872318733187431875318763187731878318793188031881318823188331884318853188631887318883188931890318913189231893318943189531896318973189831899319003190131902319033190431905319063190731908319093191031911319123191331914319153191631917319183191931920319213192231923319243192531926319273192831929319303193131932319333193431935319363193731938319393194031941319423194331944319453194631947319483194931950319513195231953319543195531956319573195831959319603196131962319633196431965319663196731968319693197031971319723197331974319753197631977319783197931980319813198231983319843198531986319873198831989319903199131992319933199431995319963199731998319993200032001320023200332004320053200632007320083200932010320113201232013320143201532016320173201832019320203202132022320233202432025320263202732028320293203032031320323203332034320353203632037320383203932040320413204232043320443204532046320473204832049320503205132052320533205432055320563205732058320593206032061320623206332064320653206632067320683206932070320713207232073320743207532076320773207832079320803208132082320833208432085320863208732088320893209032091320923209332094320953209632097320983209932100321013210232103321043210532106321073210832109321103211132112321133211432115321163211732118321193212032121321223212332124321253212632127321283212932130321313213232133321343213532136321373213832139321403214132142321433214432145321463214732148321493215032151321523215332154321553215632157321583215932160321613216232163321643216532166321673216832169321703217132172321733217432175321763217732178321793218032181321823218332184321853218632187321883218932190321913219232193321943219532196321973219832199322003220132202322033220432205322063220732208322093221032211322123221332214322153221632217322183221932220322213222232223322243222532226322273222832229322303223132232322333223432235322363223732238322393224032241322423224332244322453224632247322483224932250322513225232253322543225532256322573225832259322603226132262322633226432265322663226732268322693227032271322723227332274322753227632277322783227932280322813228232283322843228532286322873228832289322903229132292322933229432295322963229732298322993230032301323023230332304323053230632307323083230932310323113231232313323143231532316323173231832319323203232132322323233232432325323263232732328323293233032331323323233332334323353233632337323383233932340323413234232343323443234532346323473234832349323503235132352323533235432355323563235732358323593236032361323623236332364323653236632367323683236932370323713237232373323743237532376323773237832379323803238132382323833238432385323863238732388323893239032391323923239332394323953239632397323983239932400324013240232403324043240532406324073240832409324103241132412324133241432415324163241732418324193242032421324223242332424324253242632427324283242932430324313243232433324343243532436324373243832439324403244132442324433244432445324463244732448324493245032451324523245332454324553245632457324583245932460324613246232463324643246532466324673246832469324703247132472324733247432475324763247732478324793248032481324823248332484324853248632487324883248932490324913249232493324943249532496324973249832499325003250132502325033250432505325063250732508325093251032511325123251332514325153251632517325183251932520325213252232523325243252532526325273252832529325303253132532325333253432535325363253732538325393254032541325423254332544325453254632547325483254932550325513255232553325543255532556325573255832559325603256132562325633256432565325663256732568325693257032571325723257332574325753257632577325783257932580325813258232583325843258532586325873258832589325903259132592325933259432595325963259732598325993260032601326023260332604326053260632607326083260932610326113261232613326143261532616326173261832619326203262132622326233262432625326263262732628326293263032631326323263332634326353263632637326383263932640326413264232643326443264532646326473264832649326503265132652326533265432655326563265732658326593266032661326623266332664326653266632667326683266932670326713267232673326743267532676326773267832679326803268132682326833268432685326863268732688326893269032691326923269332694326953269632697326983269932700327013270232703327043270532706327073270832709327103271132712327133271432715327163271732718327193272032721327223272332724327253272632727327283272932730327313273232733327343273532736327373273832739327403274132742327433274432745327463274732748327493275032751327523275332754327553275632757327583275932760327613276232763327643276532766327673276832769327703277132772327733277432775327763277732778327793278032781327823278332784327853278632787327883278932790327913279232793327943279532796327973279832799328003280132802328033280432805328063280732808328093281032811328123281332814328153281632817328183281932820328213282232823328243282532826328273282832829328303283132832328333283432835328363283732838328393284032841328423284332844328453284632847328483284932850328513285232853328543285532856328573285832859328603286132862328633286432865328663286732868328693287032871328723287332874328753287632877328783287932880328813288232883328843288532886328873288832889328903289132892328933289432895328963289732898328993290032901329023290332904329053290632907329083290932910329113291232913329143291532916329173291832919329203292132922329233292432925329263292732928329293293032931329323293332934329353293632937329383293932940329413294232943329443294532946329473294832949329503295132952329533295432955329563295732958329593296032961329623296332964329653296632967329683296932970329713297232973329743297532976329773297832979329803298132982329833298432985329863298732988329893299032991329923299332994329953299632997329983299933000330013300233003330043300533006330073300833009330103301133012330133301433015330163301733018330193302033021330223302333024330253302633027330283302933030330313303233033330343303533036330373303833039330403304133042330433304433045330463304733048330493305033051330523305333054330553305633057330583305933060330613306233063330643306533066330673306833069330703307133072330733307433075330763307733078330793308033081330823308333084330853308633087330883308933090330913309233093330943309533096330973309833099331003310133102331033310433105331063310733108331093311033111331123311333114331153311633117331183311933120331213312233123331243312533126331273312833129331303313133132331333313433135331363313733138331393314033141331423314333144331453314633147331483314933150331513315233153331543315533156331573315833159331603316133162331633316433165331663316733168331693317033171331723317333174331753317633177331783317933180331813318233183331843318533186331873318833189331903319133192331933319433195331963319733198331993320033201332023320333204332053320633207332083320933210332113321233213332143321533216332173321833219332203322133222332233322433225332263322733228332293323033231332323323333234332353323633237332383323933240332413324233243332443324533246332473324833249332503325133252332533325433255332563325733258332593326033261332623326333264332653326633267332683326933270332713327233273332743327533276332773327833279332803328133282332833328433285332863328733288332893329033291332923329333294332953329633297332983329933300333013330233303333043330533306333073330833309333103331133312333133331433315333163331733318333193332033321333223332333324333253332633327333283332933330333313333233333333343333533336333373333833339333403334133342333433334433345333463334733348333493335033351333523335333354333553335633357333583335933360333613336233363333643336533366333673336833369333703337133372333733337433375333763337733378333793338033381333823338333384333853338633387333883338933390333913339233393333943339533396333973339833399334003340133402334033340433405334063340733408334093341033411334123341333414334153341633417334183341933420334213342233423334243342533426334273342833429334303343133432334333343433435334363343733438334393344033441334423344333444334453344633447334483344933450334513345233453334543345533456334573345833459334603346133462334633346433465334663346733468334693347033471334723347333474334753347633477334783347933480334813348233483334843348533486334873348833489334903349133492334933349433495334963349733498334993350033501335023350333504335053350633507335083350933510335113351233513335143351533516335173351833519335203352133522335233352433525335263352733528335293353033531335323353333534335353353633537335383353933540335413354233543335443354533546335473354833549335503355133552335533355433555335563355733558335593356033561335623356333564335653356633567335683356933570335713357233573335743357533576335773357833579335803358133582335833358433585335863358733588335893359033591335923359333594335953359633597335983359933600336013360233603336043360533606336073360833609336103361133612336133361433615336163361733618336193362033621336223362333624336253362633627336283362933630336313363233633336343363533636336373363833639336403364133642336433364433645336463364733648336493365033651336523365333654336553365633657336583365933660336613366233663336643366533666336673366833669336703367133672336733367433675336763367733678336793368033681336823368333684336853368633687336883368933690336913369233693336943369533696336973369833699337003370133702337033370433705337063370733708337093371033711337123371333714337153371633717337183371933720337213372233723337243372533726337273372833729337303373133732337333373433735337363373733738337393374033741337423374333744337453374633747337483374933750337513375233753337543375533756337573375833759337603376133762337633376433765337663376733768337693377033771337723377333774337753377633777337783377933780337813378233783337843378533786337873378833789337903379133792337933379433795337963379733798337993380033801338023380333804338053380633807338083380933810338113381233813338143381533816338173381833819338203382133822338233382433825338263382733828338293383033831338323383333834338353383633837338383383933840338413384233843338443384533846338473384833849338503385133852338533385433855338563385733858338593386033861338623386333864338653386633867338683386933870338713387233873338743387533876338773387833879338803388133882338833388433885338863388733888338893389033891338923389333894338953389633897338983389933900339013390233903339043390533906339073390833909339103391133912339133391433915339163391733918339193392033921339223392333924339253392633927339283392933930339313393233933339343393533936339373393833939339403394133942339433394433945339463394733948339493395033951339523395333954339553395633957339583395933960339613396233963339643396533966339673396833969339703397133972339733397433975339763397733978339793398033981339823398333984339853398633987339883398933990339913399233993339943399533996339973399833999340003400134002340033400434005340063400734008340093401034011340123401334014340153401634017340183401934020340213402234023340243402534026340273402834029340303403134032340333403434035340363403734038340393404034041340423404334044340453404634047340483404934050340513405234053340543405534056340573405834059340603406134062340633406434065340663406734068340693407034071340723407334074340753407634077340783407934080340813408234083340843408534086340873408834089340903409134092340933409434095340963409734098340993410034101341023410334104341053410634107341083410934110341113411234113341143411534116341173411834119341203412134122341233412434125341263412734128341293413034131341323413334134341353413634137341383413934140341413414234143341443414534146341473414834149341503415134152341533415434155341563415734158341593416034161341623416334164341653416634167341683416934170341713417234173341743417534176341773417834179341803418134182341833418434185341863418734188341893419034191341923419334194341953419634197341983419934200342013420234203342043420534206342073420834209342103421134212342133421434215342163421734218342193422034221342223422334224342253422634227342283422934230342313423234233342343423534236342373423834239342403424134242342433424434245342463424734248342493425034251342523425334254342553425634257342583425934260342613426234263342643426534266342673426834269342703427134272342733427434275342763427734278342793428034281342823428334284342853428634287342883428934290342913429234293342943429534296342973429834299343003430134302343033430434305343063430734308343093431034311343123431334314343153431634317343183431934320343213432234323343243432534326343273432834329343303433134332343333433434335343363433734338343393434034341343423434334344343453434634347343483434934350343513435234353343543435534356343573435834359343603436134362343633436434365343663436734368343693437034371343723437334374343753437634377343783437934380343813438234383343843438534386343873438834389343903439134392343933439434395343963439734398343993440034401344023440334404344053440634407344083440934410344113441234413344143441534416344173441834419344203442134422344233442434425344263442734428344293443034431344323443334434344353443634437344383443934440344413444234443344443444534446344473444834449344503445134452344533445434455344563445734458344593446034461344623446334464344653446634467344683446934470344713447234473344743447534476344773447834479344803448134482344833448434485344863448734488344893449034491344923449334494344953449634497344983449934500345013450234503345043450534506345073450834509345103451134512345133451434515345163451734518345193452034521345223452334524345253452634527345283452934530345313453234533345343453534536345373453834539345403454134542345433454434545345463454734548345493455034551345523455334554345553455634557345583455934560345613456234563345643456534566345673456834569345703457134572345733457434575345763457734578345793458034581345823458334584345853458634587345883458934590345913459234593345943459534596345973459834599346003460134602346033460434605346063460734608346093461034611346123461334614346153461634617346183461934620346213462234623346243462534626346273462834629346303463134632346333463434635346363463734638346393464034641346423464334644346453464634647346483464934650346513465234653346543465534656346573465834659346603466134662346633466434665346663466734668346693467034671346723467334674346753467634677346783467934680346813468234683346843468534686346873468834689346903469134692346933469434695346963469734698346993470034701347023470334704347053470634707347083470934710347113471234713347143471534716347173471834719347203472134722347233472434725347263472734728347293473034731347323473334734347353473634737347383473934740347413474234743347443474534746347473474834749347503475134752347533475434755347563475734758347593476034761347623476334764347653476634767347683476934770347713477234773347743477534776347773477834779347803478134782347833478434785347863478734788347893479034791347923479334794347953479634797347983479934800348013480234803348043480534806348073480834809348103481134812348133481434815348163481734818348193482034821348223482334824348253482634827348283482934830348313483234833348343483534836348373483834839348403484134842348433484434845348463484734848348493485034851348523485334854348553485634857348583485934860348613486234863348643486534866348673486834869348703487134872348733487434875348763487734878348793488034881348823488334884348853488634887348883488934890348913489234893348943489534896348973489834899349003490134902349033490434905349063490734908349093491034911349123491334914349153491634917349183491934920349213492234923349243492534926349273492834929349303493134932349333493434935349363493734938349393494034941349423494334944349453494634947349483494934950349513495234953349543495534956349573495834959349603496134962349633496434965349663496734968349693497034971349723497334974349753497634977349783497934980349813498234983349843498534986349873498834989349903499134992349933499434995349963499734998349993500035001350023500335004350053500635007350083500935010350113501235013350143501535016350173501835019350203502135022350233502435025350263502735028350293503035031350323503335034350353503635037350383503935040350413504235043350443504535046350473504835049350503505135052350533505435055350563505735058350593506035061350623506335064350653506635067350683506935070350713507235073350743507535076350773507835079350803508135082350833508435085350863508735088350893509035091350923509335094350953509635097350983509935100351013510235103351043510535106351073510835109351103511135112351133511435115351163511735118351193512035121351223512335124351253512635127351283512935130351313513235133351343513535136351373513835139351403514135142351433514435145351463514735148351493515035151351523515335154351553515635157351583515935160351613516235163351643516535166351673516835169351703517135172351733517435175351763517735178351793518035181351823518335184351853518635187351883518935190351913519235193351943519535196351973519835199352003520135202352033520435205352063520735208352093521035211352123521335214352153521635217352183521935220352213522235223352243522535226352273522835229352303523135232352333523435235352363523735238352393524035241352423524335244352453524635247352483524935250352513525235253352543525535256352573525835259352603526135262352633526435265352663526735268352693527035271352723527335274352753527635277352783527935280352813528235283352843528535286352873528835289352903529135292352933529435295352963529735298352993530035301353023530335304353053530635307353083530935310353113531235313353143531535316353173531835319353203532135322353233532435325353263532735328353293533035331353323533335334353353533635337353383533935340353413534235343353443534535346353473534835349353503535135352353533535435355353563535735358353593536035361353623536335364353653536635367353683536935370353713537235373353743537535376353773537835379353803538135382353833538435385353863538735388353893539035391353923539335394353953539635397353983539935400354013540235403354043540535406354073540835409354103541135412354133541435415354163541735418354193542035421354223542335424354253542635427354283542935430354313543235433354343543535436354373543835439354403544135442354433544435445354463544735448354493545035451354523545335454354553545635457354583545935460354613546235463354643546535466354673546835469354703547135472354733547435475354763547735478354793548035481354823548335484354853548635487354883548935490354913549235493354943549535496354973549835499355003550135502355033550435505355063550735508355093551035511355123551335514355153551635517355183551935520355213552235523355243552535526355273552835529355303553135532355333553435535355363553735538355393554035541355423554335544355453554635547355483554935550355513555235553355543555535556355573555835559355603556135562355633556435565355663556735568355693557035571355723557335574355753557635577355783557935580355813558235583355843558535586355873558835589355903559135592355933559435595355963559735598355993560035601356023560335604356053560635607356083560935610356113561235613356143561535616356173561835619356203562135622356233562435625356263562735628356293563035631356323563335634356353563635637356383563935640356413564235643356443564535646356473564835649356503565135652356533565435655356563565735658356593566035661356623566335664356653566635667356683566935670356713567235673356743567535676356773567835679356803568135682356833568435685356863568735688356893569035691356923569335694356953569635697356983569935700357013570235703357043570535706357073570835709357103571135712357133571435715357163571735718357193572035721357223572335724357253572635727357283572935730357313573235733357343573535736357373573835739357403574135742357433574435745357463574735748357493575035751357523575335754357553575635757357583575935760357613576235763357643576535766357673576835769357703577135772357733577435775357763577735778357793578035781357823578335784357853578635787357883578935790357913579235793357943579535796357973579835799358003580135802358033580435805358063580735808358093581035811358123581335814358153581635817358183581935820358213582235823358243582535826358273582835829358303583135832358333583435835358363583735838358393584035841358423584335844358453584635847358483584935850358513585235853358543585535856358573585835859358603586135862358633586435865358663586735868358693587035871358723587335874358753587635877358783587935880358813588235883358843588535886358873588835889358903589135892358933589435895358963589735898358993590035901359023590335904359053590635907359083590935910359113591235913359143591535916359173591835919359203592135922359233592435925359263592735928359293593035931359323593335934359353593635937359383593935940359413594235943359443594535946359473594835949359503595135952359533595435955359563595735958359593596035961359623596335964359653596635967359683596935970359713597235973359743597535976359773597835979359803598135982359833598435985359863598735988359893599035991359923599335994359953599635997359983599936000360013600236003360043600536006360073600836009360103601136012360133601436015360163601736018360193602036021360223602336024360253602636027360283602936030360313603236033360343603536036360373603836039360403604136042360433604436045360463604736048360493605036051360523605336054360553605636057360583605936060360613606236063360643606536066360673606836069360703607136072360733607436075360763607736078360793608036081360823608336084360853608636087360883608936090360913609236093360943609536096360973609836099361003610136102361033610436105361063610736108361093611036111361123611336114361153611636117361183611936120361213612236123361243612536126361273612836129361303613136132361333613436135361363613736138361393614036141361423614336144361453614636147361483614936150361513615236153361543615536156361573615836159361603616136162361633616436165361663616736168361693617036171361723617336174361753617636177361783617936180361813618236183361843618536186361873618836189361903619136192361933619436195361963619736198361993620036201362023620336204362053620636207362083620936210362113621236213362143621536216362173621836219362203622136222362233622436225362263622736228362293623036231362323623336234362353623636237362383623936240362413624236243362443624536246362473624836249362503625136252362533625436255362563625736258362593626036261362623626336264362653626636267362683626936270362713627236273362743627536276362773627836279362803628136282362833628436285362863628736288362893629036291362923629336294362953629636297362983629936300363013630236303363043630536306363073630836309363103631136312363133631436315363163631736318363193632036321363223632336324363253632636327363283632936330363313633236333363343633536336363373633836339363403634136342363433634436345363463634736348363493635036351363523635336354363553635636357363583635936360363613636236363363643636536366363673636836369363703637136372363733637436375363763637736378363793638036381363823638336384363853638636387363883638936390363913639236393363943639536396363973639836399364003640136402364033640436405364063640736408364093641036411364123641336414364153641636417364183641936420364213642236423364243642536426364273642836429364303643136432364333643436435364363643736438364393644036441364423644336444364453644636447364483644936450364513645236453364543645536456364573645836459364603646136462364633646436465364663646736468364693647036471364723647336474364753647636477364783647936480364813648236483364843648536486364873648836489364903649136492364933649436495364963649736498364993650036501365023650336504365053650636507365083650936510365113651236513365143651536516365173651836519365203652136522365233652436525365263652736528365293653036531365323653336534365353653636537365383653936540365413654236543365443654536546365473654836549365503655136552365533655436555365563655736558365593656036561365623656336564365653656636567365683656936570365713657236573365743657536576365773657836579365803658136582365833658436585365863658736588365893659036591365923659336594365953659636597365983659936600366013660236603366043660536606366073660836609366103661136612366133661436615366163661736618366193662036621366223662336624366253662636627366283662936630366313663236633366343663536636366373663836639366403664136642366433664436645366463664736648366493665036651366523665336654366553665636657366583665936660366613666236663366643666536666366673666836669366703667136672366733667436675366763667736678366793668036681366823668336684366853668636687366883668936690366913669236693366943669536696366973669836699367003670136702367033670436705367063670736708367093671036711367123671336714367153671636717367183671936720367213672236723367243672536726367273672836729367303673136732367333673436735367363673736738367393674036741367423674336744367453674636747367483674936750367513675236753367543675536756367573675836759367603676136762367633676436765367663676736768367693677036771367723677336774367753677636777367783677936780367813678236783367843678536786367873678836789367903679136792367933679436795367963679736798367993680036801368023680336804368053680636807368083680936810368113681236813368143681536816368173681836819368203682136822368233682436825368263682736828368293683036831368323683336834368353683636837368383683936840368413684236843368443684536846368473684836849368503685136852368533685436855368563685736858368593686036861368623686336864368653686636867368683686936870368713687236873368743687536876368773687836879368803688136882368833688436885368863688736888368893689036891368923689336894368953689636897368983689936900369013690236903369043690536906369073690836909369103691136912369133691436915369163691736918369193692036921369223692336924369253692636927369283692936930369313693236933369343693536936369373693836939369403694136942369433694436945369463694736948369493695036951369523695336954369553695636957369583695936960369613696236963369643696536966369673696836969369703697136972369733697436975369763697736978369793698036981369823698336984369853698636987369883698936990369913699236993369943699536996369973699836999370003700137002370033700437005370063700737008370093701037011370123701337014370153701637017370183701937020370213702237023370243702537026370273702837029370303703137032370333703437035370363703737038370393704037041370423704337044370453704637047370483704937050370513705237053370543705537056370573705837059370603706137062370633706437065370663706737068370693707037071370723707337074370753707637077370783707937080370813708237083370843708537086370873708837089370903709137092370933709437095370963709737098370993710037101371023710337104371053710637107371083710937110371113711237113371143711537116371173711837119371203712137122371233712437125371263712737128371293713037131371323713337134371353713637137371383713937140371413714237143371443714537146371473714837149371503715137152371533715437155371563715737158371593716037161371623716337164371653716637167371683716937170371713717237173371743717537176371773717837179371803718137182371833718437185371863718737188371893719037191371923719337194371953719637197371983719937200372013720237203372043720537206372073720837209372103721137212372133721437215372163721737218372193722037221372223722337224372253722637227372283722937230372313723237233372343723537236372373723837239372403724137242372433724437245372463724737248372493725037251372523725337254372553725637257372583725937260372613726237263372643726537266372673726837269372703727137272372733727437275372763727737278372793728037281372823728337284372853728637287372883728937290372913729237293372943729537296372973729837299373003730137302373033730437305373063730737308373093731037311373123731337314373153731637317373183731937320373213732237323373243732537326373273732837329373303733137332373333733437335373363733737338373393734037341373423734337344373453734637347373483734937350373513735237353373543735537356373573735837359373603736137362373633736437365373663736737368373693737037371373723737337374373753737637377373783737937380373813738237383373843738537386373873738837389373903739137392373933739437395373963739737398373993740037401374023740337404374053740637407374083740937410374113741237413374143741537416374173741837419374203742137422374233742437425374263742737428374293743037431374323743337434374353743637437374383743937440374413744237443374443744537446374473744837449374503745137452374533745437455374563745737458374593746037461374623746337464374653746637467374683746937470374713747237473374743747537476374773747837479374803748137482374833748437485374863748737488374893749037491374923749337494374953749637497374983749937500375013750237503375043750537506375073750837509375103751137512375133751437515375163751737518375193752037521375223752337524375253752637527375283752937530375313753237533375343753537536375373753837539375403754137542375433754437545375463754737548375493755037551375523755337554375553755637557375583755937560375613756237563375643756537566375673756837569375703757137572375733757437575375763757737578375793758037581375823758337584375853758637587375883758937590375913759237593375943759537596375973759837599376003760137602376033760437605376063760737608376093761037611376123761337614376153761637617376183761937620376213762237623376243762537626376273762837629376303763137632376333763437635376363763737638376393764037641376423764337644376453764637647376483764937650376513765237653376543765537656376573765837659376603766137662376633766437665376663766737668376693767037671376723767337674376753767637677376783767937680376813768237683376843768537686376873768837689376903769137692376933769437695376963769737698376993770037701377023770337704377053770637707377083770937710377113771237713377143771537716377173771837719377203772137722377233772437725377263772737728377293773037731377323773337734377353773637737377383773937740377413774237743377443774537746377473774837749377503775137752377533775437755377563775737758377593776037761377623776337764377653776637767377683776937770377713777237773377743777537776377773777837779377803778137782377833778437785377863778737788377893779037791377923779337794377953779637797377983779937800378013780237803378043780537806378073780837809378103781137812378133781437815378163781737818378193782037821378223782337824378253782637827378283782937830378313783237833378343783537836378373783837839378403784137842378433784437845378463784737848378493785037851378523785337854378553785637857378583785937860378613786237863378643786537866378673786837869378703787137872378733787437875378763787737878378793788037881378823788337884378853788637887378883788937890378913789237893378943789537896378973789837899379003790137902379033790437905379063790737908379093791037911379123791337914379153791637917379183791937920379213792237923379243792537926379273792837929379303793137932379333793437935379363793737938379393794037941379423794337944379453794637947379483794937950379513795237953379543795537956379573795837959379603796137962379633796437965379663796737968379693797037971379723797337974379753797637977379783797937980379813798237983379843798537986379873798837989379903799137992379933799437995379963799737998379993800038001380023800338004380053800638007380083800938010380113801238013380143801538016380173801838019380203802138022380233802438025380263802738028380293803038031380323803338034380353803638037380383803938040380413804238043380443804538046380473804838049380503805138052380533805438055380563805738058380593806038061380623806338064380653806638067380683806938070380713807238073380743807538076380773807838079380803808138082380833808438085380863808738088380893809038091380923809338094380953809638097380983809938100381013810238103381043810538106381073810838109381103811138112381133811438115381163811738118381193812038121381223812338124381253812638127381283812938130381313813238133381343813538136381373813838139381403814138142381433814438145381463814738148381493815038151381523815338154381553815638157381583815938160381613816238163381643816538166381673816838169381703817138172381733817438175381763817738178381793818038181381823818338184381853818638187381883818938190381913819238193381943819538196381973819838199382003820138202382033820438205382063820738208382093821038211382123821338214382153821638217382183821938220382213822238223382243822538226382273822838229382303823138232382333823438235382363823738238382393824038241382423824338244382453824638247382483824938250382513825238253382543825538256382573825838259382603826138262382633826438265382663826738268382693827038271382723827338274382753827638277382783827938280382813828238283382843828538286382873828838289382903829138292382933829438295382963829738298382993830038301383023830338304383053830638307383083830938310383113831238313383143831538316383173831838319383203832138322383233832438325383263832738328383293833038331383323833338334383353833638337383383833938340383413834238343383443834538346383473834838349383503835138352383533835438355383563835738358383593836038361383623836338364383653836638367383683836938370383713837238373383743837538376383773837838379383803838138382383833838438385383863838738388383893839038391383923839338394383953839638397383983839938400384013840238403384043840538406384073840838409384103841138412384133841438415384163841738418384193842038421384223842338424384253842638427384283842938430384313843238433384343843538436384373843838439384403844138442384433844438445384463844738448384493845038451384523845338454384553845638457384583845938460384613846238463384643846538466384673846838469384703847138472384733847438475384763847738478384793848038481384823848338484384853848638487384883848938490384913849238493384943849538496384973849838499385003850138502385033850438505385063850738508385093851038511385123851338514385153851638517385183851938520385213852238523385243852538526385273852838529385303853138532385333853438535385363853738538385393854038541385423854338544385453854638547385483854938550385513855238553385543855538556385573855838559385603856138562385633856438565385663856738568385693857038571385723857338574385753857638577385783857938580385813858238583385843858538586385873858838589385903859138592385933859438595385963859738598385993860038601386023860338604386053860638607386083860938610386113861238613386143861538616386173861838619386203862138622386233862438625386263862738628386293863038631386323863338634386353863638637386383863938640386413864238643386443864538646386473864838649386503865138652386533865438655386563865738658386593866038661386623866338664386653866638667386683866938670386713867238673386743867538676386773867838679386803868138682386833868438685386863868738688386893869038691386923869338694386953869638697386983869938700387013870238703387043870538706387073870838709387103871138712387133871438715387163871738718387193872038721387223872338724387253872638727387283872938730387313873238733387343873538736387373873838739387403874138742387433874438745387463874738748387493875038751387523875338754387553875638757387583875938760387613876238763387643876538766387673876838769387703877138772387733877438775387763877738778387793878038781387823878338784387853878638787387883878938790387913879238793387943879538796387973879838799388003880138802388033880438805388063880738808388093881038811388123881338814388153881638817388183881938820388213882238823388243882538826388273882838829388303883138832388333883438835388363883738838388393884038841388423884338844388453884638847388483884938850388513885238853388543885538856388573885838859388603886138862388633886438865388663886738868388693887038871388723887338874388753887638877388783887938880388813888238883388843888538886388873888838889388903889138892388933889438895388963889738898388993890038901389023890338904389053890638907389083890938910389113891238913389143891538916389173891838919389203892138922389233892438925389263892738928389293893038931389323893338934389353893638937389383893938940389413894238943389443894538946389473894838949389503895138952389533895438955389563895738958389593896038961389623896338964389653896638967389683896938970389713897238973389743897538976389773897838979389803898138982389833898438985389863898738988389893899038991389923899338994389953899638997389983899939000390013900239003390043900539006390073900839009390103901139012390133901439015390163901739018390193902039021390223902339024390253902639027390283902939030390313903239033390343903539036390373903839039390403904139042390433904439045390463904739048390493905039051390523905339054390553905639057390583905939060390613906239063390643906539066390673906839069390703907139072390733907439075390763907739078390793908039081390823908339084390853908639087390883908939090390913909239093390943909539096390973909839099391003910139102391033910439105391063910739108391093911039111391123911339114391153911639117391183911939120391213912239123391243912539126391273912839129391303913139132391333913439135391363913739138391393914039141391423914339144391453914639147391483914939150391513915239153391543915539156391573915839159391603916139162391633916439165391663916739168391693917039171391723917339174391753917639177391783917939180391813918239183391843918539186391873918839189391903919139192391933919439195391963919739198391993920039201392023920339204392053920639207392083920939210392113921239213392143921539216392173921839219392203922139222392233922439225392263922739228392293923039231392323923339234392353923639237392383923939240392413924239243392443924539246392473924839249392503925139252392533925439255392563925739258392593926039261392623926339264392653926639267392683926939270392713927239273392743927539276392773927839279392803928139282392833928439285392863928739288392893929039291392923929339294392953929639297392983929939300393013930239303393043930539306393073930839309393103931139312393133931439315393163931739318393193932039321393223932339324393253932639327393283932939330393313933239333393343933539336393373933839339393403934139342393433934439345393463934739348393493935039351393523935339354393553935639357393583935939360393613936239363393643936539366393673936839369393703937139372393733937439375393763937739378393793938039381393823938339384393853938639387393883938939390393913939239393393943939539396393973939839399394003940139402394033940439405394063940739408394093941039411394123941339414394153941639417394183941939420394213942239423394243942539426394273942839429394303943139432394333943439435394363943739438394393944039441394423944339444394453944639447394483944939450394513945239453394543945539456394573945839459394603946139462394633946439465394663946739468394693947039471394723947339474394753947639477394783947939480394813948239483394843948539486394873948839489394903949139492394933949439495394963949739498394993950039501395023950339504395053950639507395083950939510395113951239513395143951539516395173951839519395203952139522395233952439525395263952739528395293953039531395323953339534395353953639537395383953939540395413954239543395443954539546395473954839549395503955139552395533955439555395563955739558395593956039561395623956339564395653956639567395683956939570395713957239573395743957539576395773957839579395803958139582395833958439585395863958739588395893959039591395923959339594395953959639597395983959939600396013960239603396043960539606396073960839609396103961139612396133961439615396163961739618396193962039621396223962339624396253962639627396283962939630396313963239633396343963539636396373963839639396403964139642396433964439645396463964739648396493965039651396523965339654396553965639657396583965939660396613966239663396643966539666396673966839669396703967139672396733967439675396763967739678396793968039681396823968339684396853968639687396883968939690396913969239693396943969539696396973969839699397003970139702397033970439705397063970739708397093971039711397123971339714397153971639717397183971939720397213972239723397243972539726397273972839729397303973139732397333973439735397363973739738397393974039741397423974339744397453974639747397483974939750397513975239753397543975539756397573975839759397603976139762397633976439765397663976739768397693977039771397723977339774397753977639777397783977939780397813978239783397843978539786397873978839789397903979139792397933979439795397963979739798397993980039801398023980339804398053980639807398083980939810398113981239813398143981539816398173981839819398203982139822398233982439825398263982739828398293983039831398323983339834398353983639837398383983939840398413984239843398443984539846398473984839849398503985139852398533985439855398563985739858398593986039861398623986339864398653986639867398683986939870398713987239873398743987539876398773987839879398803988139882398833988439885398863988739888398893989039891398923989339894398953989639897398983989939900399013990239903399043990539906399073990839909399103991139912399133991439915399163991739918399193992039921399223992339924399253992639927399283992939930399313993239933399343993539936399373993839939399403994139942399433994439945399463994739948399493995039951399523995339954399553995639957399583995939960399613996239963399643996539966399673996839969399703997139972399733997439975399763997739978399793998039981399823998339984399853998639987399883998939990399913999239993399943999539996399973999839999400004000140002400034000440005400064000740008400094001040011400124001340014400154001640017400184001940020400214002240023400244002540026400274002840029400304003140032400334003440035400364003740038400394004040041400424004340044400454004640047400484004940050400514005240053400544005540056400574005840059400604006140062400634006440065400664006740068400694007040071400724007340074400754007640077400784007940080400814008240083400844008540086400874008840089400904009140092400934009440095400964009740098400994010040101401024010340104401054010640107401084010940110401114011240113401144011540116401174011840119401204012140122401234012440125401264012740128401294013040131401324013340134401354013640137401384013940140401414014240143401444014540146401474014840149401504015140152401534015440155401564015740158401594016040161401624016340164401654016640167401684016940170401714017240173401744017540176401774017840179401804018140182401834018440185401864018740188401894019040191401924019340194401954019640197401984019940200402014020240203402044020540206402074020840209402104021140212402134021440215402164021740218402194022040221402224022340224402254022640227402284022940230402314023240233402344023540236402374023840239402404024140242402434024440245402464024740248402494025040251402524025340254402554025640257402584025940260402614026240263402644026540266402674026840269402704027140272402734027440275402764027740278402794028040281402824028340284402854028640287402884028940290402914029240293402944029540296402974029840299403004030140302403034030440305403064030740308403094031040311403124031340314403154031640317403184031940320403214032240323403244032540326403274032840329403304033140332403334033440335403364033740338403394034040341403424034340344403454034640347403484034940350403514035240353403544035540356403574035840359403604036140362403634036440365403664036740368403694037040371403724037340374403754037640377403784037940380403814038240383403844038540386403874038840389403904039140392403934039440395403964039740398403994040040401404024040340404404054040640407404084040940410404114041240413404144041540416404174041840419404204042140422404234042440425404264042740428404294043040431404324043340434404354043640437404384043940440404414044240443404444044540446404474044840449404504045140452404534045440455404564045740458404594046040461404624046340464404654046640467404684046940470404714047240473404744047540476404774047840479404804048140482404834048440485404864048740488404894049040491404924049340494404954049640497404984049940500405014050240503405044050540506405074050840509405104051140512405134051440515405164051740518405194052040521405224052340524405254052640527405284052940530405314053240533405344053540536405374053840539405404054140542405434054440545405464054740548405494055040551405524055340554405554055640557405584055940560405614056240563405644056540566405674056840569405704057140572405734057440575405764057740578405794058040581405824058340584405854058640587405884058940590405914059240593405944059540596405974059840599406004060140602406034060440605406064060740608406094061040611406124061340614406154061640617406184061940620406214062240623406244062540626406274062840629406304063140632406334063440635406364063740638406394064040641406424064340644406454064640647406484064940650406514065240653406544065540656406574065840659406604066140662406634066440665406664066740668406694067040671406724067340674406754067640677406784067940680406814068240683406844068540686406874068840689406904069140692406934069440695406964069740698406994070040701407024070340704407054070640707407084070940710407114071240713407144071540716407174071840719407204072140722407234072440725407264072740728407294073040731407324073340734407354073640737407384073940740407414074240743407444074540746407474074840749407504075140752407534075440755407564075740758407594076040761407624076340764407654076640767407684076940770407714077240773407744077540776407774077840779407804078140782407834078440785407864078740788407894079040791407924079340794407954079640797407984079940800408014080240803408044080540806408074080840809408104081140812408134081440815408164081740818408194082040821408224082340824408254082640827408284082940830408314083240833408344083540836408374083840839408404084140842408434084440845408464084740848408494085040851408524085340854408554085640857408584085940860408614086240863408644086540866408674086840869408704087140872408734087440875408764087740878408794088040881408824088340884408854088640887408884088940890408914089240893408944089540896408974089840899409004090140902409034090440905409064090740908409094091040911409124091340914409154091640917409184091940920409214092240923409244092540926409274092840929409304093140932409334093440935409364093740938409394094040941409424094340944409454094640947409484094940950409514095240953409544095540956409574095840959409604096140962409634096440965409664096740968409694097040971409724097340974409754097640977409784097940980409814098240983409844098540986409874098840989409904099140992409934099440995409964099740998409994100041001410024100341004410054100641007410084100941010410114101241013410144101541016410174101841019410204102141022410234102441025410264102741028410294103041031410324103341034410354103641037410384103941040410414104241043410444104541046410474104841049410504105141052410534105441055410564105741058410594106041061410624106341064410654106641067410684106941070410714107241073410744107541076410774107841079410804108141082410834108441085410864108741088410894109041091410924109341094410954109641097410984109941100411014110241103411044110541106411074110841109411104111141112411134111441115411164111741118411194112041121411224112341124411254112641127411284112941130411314113241133411344113541136411374113841139411404114141142411434114441145411464114741148411494115041151411524115341154411554115641157411584115941160411614116241163411644116541166411674116841169411704117141172411734117441175411764117741178411794118041181411824118341184411854118641187411884118941190411914119241193411944119541196411974119841199412004120141202412034120441205412064120741208412094121041211412124121341214412154121641217412184121941220412214122241223412244122541226412274122841229412304123141232412334123441235412364123741238412394124041241412424124341244412454124641247412484124941250412514125241253412544125541256412574125841259412604126141262412634126441265412664126741268412694127041271412724127341274412754127641277412784127941280412814128241283412844128541286412874128841289412904129141292412934129441295412964129741298412994130041301413024130341304413054130641307413084130941310413114131241313413144131541316413174131841319413204132141322413234132441325413264132741328413294133041331413324133341334413354133641337413384133941340413414134241343413444134541346413474134841349413504135141352413534135441355413564135741358413594136041361413624136341364413654136641367413684136941370413714137241373413744137541376413774137841379413804138141382413834138441385413864138741388413894139041391413924139341394413954139641397413984139941400414014140241403414044140541406414074140841409414104141141412414134141441415414164141741418414194142041421414224142341424414254142641427414284142941430414314143241433414344143541436414374143841439414404144141442414434144441445414464144741448414494145041451414524145341454414554145641457414584145941460414614146241463414644146541466414674146841469414704147141472414734147441475414764147741478414794148041481414824148341484414854148641487414884148941490414914149241493414944149541496414974149841499415004150141502415034150441505415064150741508415094151041511415124151341514415154151641517415184151941520415214152241523415244152541526415274152841529415304153141532415334153441535415364153741538415394154041541415424154341544415454154641547415484154941550415514155241553415544155541556415574155841559415604156141562415634156441565415664156741568415694157041571415724157341574415754157641577415784157941580415814158241583415844158541586415874158841589415904159141592415934159441595415964159741598415994160041601416024160341604416054160641607416084160941610416114161241613416144161541616416174161841619416204162141622416234162441625416264162741628416294163041631416324163341634416354163641637416384163941640416414164241643416444164541646416474164841649416504165141652416534165441655416564165741658416594166041661416624166341664416654166641667416684166941670416714167241673416744167541676416774167841679416804168141682416834168441685416864168741688416894169041691416924169341694416954169641697416984169941700417014170241703417044170541706417074170841709417104171141712417134171441715417164171741718417194172041721417224172341724417254172641727417284172941730417314173241733417344173541736417374173841739417404174141742417434174441745417464174741748417494175041751417524175341754417554175641757417584175941760417614176241763417644176541766417674176841769417704177141772417734177441775417764177741778417794178041781417824178341784417854178641787417884178941790417914179241793417944179541796417974179841799418004180141802418034180441805418064180741808418094181041811418124181341814418154181641817418184181941820418214182241823418244182541826418274182841829418304183141832418334183441835418364183741838418394184041841418424184341844418454184641847418484184941850418514185241853418544185541856418574185841859418604186141862418634186441865418664186741868418694187041871418724187341874418754187641877418784187941880418814188241883418844188541886418874188841889418904189141892418934189441895418964189741898418994190041901419024190341904419054190641907419084190941910419114191241913419144191541916419174191841919419204192141922419234192441925419264192741928419294193041931419324193341934419354193641937419384193941940419414194241943419444194541946419474194841949419504195141952419534195441955419564195741958419594196041961419624196341964419654196641967419684196941970419714197241973419744197541976419774197841979419804198141982419834198441985419864198741988419894199041991419924199341994419954199641997419984199942000420014200242003420044200542006420074200842009420104201142012420134201442015420164201742018420194202042021420224202342024420254202642027420284202942030420314203242033420344203542036420374203842039420404204142042420434204442045420464204742048420494205042051420524205342054420554205642057420584205942060420614206242063420644206542066420674206842069420704207142072420734207442075420764207742078420794208042081420824208342084420854208642087420884208942090420914209242093420944209542096420974209842099421004210142102421034210442105421064210742108421094211042111421124211342114421154211642117421184211942120421214212242123421244212542126421274212842129421304213142132421334213442135421364213742138421394214042141421424214342144421454214642147421484214942150421514215242153421544215542156421574215842159421604216142162421634216442165421664216742168421694217042171421724217342174421754217642177421784217942180421814218242183421844218542186421874218842189421904219142192421934219442195421964219742198421994220042201422024220342204422054220642207422084220942210422114221242213422144221542216422174221842219422204222142222422234222442225422264222742228422294223042231422324223342234422354223642237422384223942240422414224242243422444224542246422474224842249422504225142252422534225442255422564225742258422594226042261422624226342264422654226642267422684226942270422714227242273422744227542276422774227842279422804228142282422834228442285422864228742288422894229042291422924229342294422954229642297422984229942300423014230242303423044230542306423074230842309423104231142312423134231442315423164231742318423194232042321423224232342324423254232642327423284232942330423314233242333423344233542336423374233842339423404234142342423434234442345423464234742348423494235042351423524235342354423554235642357423584235942360423614236242363423644236542366423674236842369423704237142372423734237442375423764237742378423794238042381423824238342384423854238642387423884238942390423914239242393423944239542396423974239842399424004240142402424034240442405424064240742408424094241042411424124241342414424154241642417424184241942420424214242242423424244242542426424274242842429424304243142432424334243442435424364243742438424394244042441424424244342444424454244642447424484244942450424514245242453424544245542456424574245842459424604246142462424634246442465424664246742468424694247042471424724247342474424754247642477424784247942480424814248242483424844248542486424874248842489424904249142492424934249442495424964249742498424994250042501425024250342504425054250642507425084250942510425114251242513425144251542516425174251842519425204252142522425234252442525425264252742528425294253042531425324253342534425354253642537425384253942540425414254242543425444254542546425474254842549425504255142552425534255442555425564255742558425594256042561425624256342564425654256642567425684256942570425714257242573425744257542576425774257842579425804258142582425834258442585425864258742588425894259042591425924259342594425954259642597425984259942600426014260242603426044260542606426074260842609426104261142612426134261442615426164261742618426194262042621426224262342624426254262642627426284262942630426314263242633426344263542636426374263842639426404264142642426434264442645426464264742648426494265042651426524265342654426554265642657426584265942660426614266242663426644266542666426674266842669426704267142672426734267442675426764267742678426794268042681426824268342684426854268642687426884268942690426914269242693426944269542696426974269842699427004270142702427034270442705427064270742708427094271042711427124271342714427154271642717427184271942720427214272242723427244272542726427274272842729427304273142732427334273442735427364273742738427394274042741427424274342744427454274642747427484274942750427514275242753427544275542756427574275842759427604276142762427634276442765427664276742768427694277042771427724277342774427754277642777427784277942780427814278242783427844278542786427874278842789427904279142792427934279442795427964279742798427994280042801428024280342804428054280642807428084280942810428114281242813428144281542816428174281842819428204282142822428234282442825428264282742828428294283042831428324283342834428354283642837428384283942840428414284242843428444284542846428474284842849428504285142852428534285442855428564285742858428594286042861428624286342864428654286642867428684286942870428714287242873428744287542876428774287842879428804288142882428834288442885428864288742888428894289042891428924289342894428954289642897428984289942900429014290242903429044290542906429074290842909429104291142912429134291442915429164291742918429194292042921429224292342924429254292642927429284292942930429314293242933429344293542936429374293842939429404294142942429434294442945429464294742948429494295042951429524295342954429554295642957429584295942960429614296242963429644296542966429674296842969429704297142972429734297442975429764297742978429794298042981429824298342984429854298642987429884298942990429914299242993429944299542996429974299842999430004300143002430034300443005430064300743008430094301043011430124301343014430154301643017430184301943020430214302243023430244302543026430274302843029430304303143032430334303443035430364303743038430394304043041430424304343044430454304643047430484304943050430514305243053430544305543056430574305843059430604306143062430634306443065430664306743068430694307043071430724307343074430754307643077430784307943080430814308243083430844308543086430874308843089430904309143092430934309443095430964309743098430994310043101431024310343104431054310643107431084310943110431114311243113431144311543116431174311843119431204312143122431234312443125431264312743128431294313043131431324313343134431354313643137431384313943140431414314243143431444314543146431474314843149431504315143152431534315443155431564315743158431594316043161431624316343164431654316643167431684316943170431714317243173431744317543176431774317843179431804318143182431834318443185431864318743188431894319043191431924319343194431954319643197431984319943200432014320243203432044320543206432074320843209432104321143212432134321443215432164321743218432194322043221432224322343224432254322643227432284322943230432314323243233432344323543236432374323843239432404324143242432434324443245432464324743248432494325043251432524325343254432554325643257432584325943260432614326243263432644326543266432674326843269432704327143272432734327443275432764327743278432794328043281432824328343284432854328643287432884328943290432914329243293432944329543296432974329843299433004330143302433034330443305433064330743308433094331043311433124331343314433154331643317433184331943320433214332243323433244332543326433274332843329433304333143332433334333443335433364333743338433394334043341433424334343344433454334643347433484334943350433514335243353433544335543356433574335843359433604336143362433634336443365433664336743368433694337043371433724337343374433754337643377433784337943380433814338243383433844338543386433874338843389433904339143392433934339443395433964339743398433994340043401434024340343404434054340643407434084340943410434114341243413434144341543416434174341843419434204342143422434234342443425434264342743428434294343043431434324343343434434354343643437434384343943440434414344243443434444344543446434474344843449434504345143452434534345443455434564345743458434594346043461434624346343464434654346643467434684346943470434714347243473434744347543476434774347843479434804348143482434834348443485434864348743488434894349043491434924349343494434954349643497434984349943500435014350243503435044350543506435074350843509435104351143512435134351443515435164351743518435194352043521435224352343524435254352643527435284352943530435314353243533435344353543536435374353843539435404354143542435434354443545435464354743548435494355043551435524355343554435554355643557435584355943560435614356243563435644356543566435674356843569435704357143572435734357443575435764357743578435794358043581435824358343584435854358643587435884358943590435914359243593435944359543596435974359843599436004360143602436034360443605436064360743608436094361043611436124361343614436154361643617436184361943620436214362243623436244362543626436274362843629436304363143632436334363443635436364363743638436394364043641436424364343644436454364643647436484364943650436514365243653436544365543656436574365843659436604366143662436634366443665436664366743668436694367043671436724367343674436754367643677436784367943680436814368243683436844368543686436874368843689436904369143692436934369443695436964369743698436994370043701437024370343704437054370643707437084370943710437114371243713437144371543716437174371843719437204372143722437234372443725437264372743728437294373043731437324373343734437354373643737437384373943740437414374243743437444374543746437474374843749437504375143752437534375443755437564375743758437594376043761437624376343764437654376643767437684376943770437714377243773437744377543776437774377843779437804378143782437834378443785437864378743788437894379043791437924379343794437954379643797437984379943800438014380243803438044380543806438074380843809438104381143812438134381443815438164381743818438194382043821438224382343824438254382643827438284382943830438314383243833438344383543836438374383843839438404384143842438434384443845438464384743848438494385043851438524385343854438554385643857438584385943860438614386243863438644386543866438674386843869438704387143872438734387443875438764387743878438794388043881438824388343884438854388643887438884388943890438914389243893438944389543896438974389843899439004390143902439034390443905439064390743908439094391043911439124391343914439154391643917439184391943920439214392243923439244392543926439274392843929439304393143932439334393443935439364393743938439394394043941439424394343944439454394643947439484394943950439514395243953439544395543956439574395843959439604396143962439634396443965439664396743968439694397043971439724397343974439754397643977439784397943980439814398243983439844398543986439874398843989439904399143992439934399443995439964399743998439994400044001440024400344004440054400644007440084400944010440114401244013440144401544016440174401844019440204402144022440234402444025440264402744028440294403044031440324403344034440354403644037440384403944040440414404244043440444404544046440474404844049440504405144052440534405444055440564405744058440594406044061440624406344064440654406644067440684406944070440714407244073440744407544076440774407844079440804408144082440834408444085440864408744088440894409044091440924409344094440954409644097440984409944100441014410244103441044410544106441074410844109441104411144112441134411444115441164411744118441194412044121441224412344124441254412644127441284412944130441314413244133441344413544136441374413844139441404414144142441434414444145441464414744148441494415044151441524415344154441554415644157441584415944160441614416244163441644416544166441674416844169441704417144172441734417444175441764417744178441794418044181441824418344184441854418644187441884418944190441914419244193441944419544196441974419844199442004420144202442034420444205442064420744208442094421044211442124421344214442154421644217442184421944220442214422244223442244422544226442274422844229442304423144232442334423444235442364423744238442394424044241442424424344244442454424644247442484424944250442514425244253442544425544256442574425844259442604426144262442634426444265442664426744268442694427044271442724427344274442754427644277442784427944280442814428244283442844428544286442874428844289442904429144292442934429444295442964429744298442994430044301443024430344304443054430644307443084430944310443114431244313443144431544316443174431844319443204432144322443234432444325443264432744328443294433044331443324433344334443354433644337443384433944340443414434244343443444434544346443474434844349443504435144352443534435444355443564435744358443594436044361443624436344364443654436644367443684436944370443714437244373443744437544376443774437844379443804438144382443834438444385443864438744388443894439044391443924439344394443954439644397443984439944400444014440244403444044440544406444074440844409444104441144412444134441444415444164441744418444194442044421444224442344424444254442644427444284442944430444314443244433444344443544436444374443844439444404444144442444434444444445444464444744448444494445044451444524445344454444554445644457444584445944460444614446244463444644446544466444674446844469444704447144472444734447444475444764447744478444794448044481444824448344484444854448644487444884448944490444914449244493444944449544496444974449844499445004450144502445034450444505445064450744508445094451044511445124451344514445154451644517445184451944520445214452244523445244452544526445274452844529445304453144532445334453444535445364453744538445394454044541445424454344544445454454644547445484454944550445514455244553445544455544556445574455844559445604456144562445634456444565445664456744568445694457044571445724457344574445754457644577445784457944580445814458244583445844458544586445874458844589445904459144592445934459444595445964459744598445994460044601446024460344604446054460644607446084460944610446114461244613446144461544616446174461844619446204462144622446234462444625446264462744628446294463044631446324463344634446354463644637446384463944640446414464244643446444464544646446474464844649446504465144652446534465444655446564465744658446594466044661446624466344664446654466644667446684466944670446714467244673446744467544676446774467844679446804468144682446834468444685446864468744688446894469044691446924469344694446954469644697446984469944700447014470244703447044470544706447074470844709447104471144712447134471444715447164471744718447194472044721447224472344724447254472644727447284472944730447314473244733447344473544736447374473844739447404474144742447434474444745447464474744748447494475044751447524475344754447554475644757447584475944760447614476244763447644476544766447674476844769447704477144772447734477444775447764477744778447794478044781447824478344784447854478644787447884478944790447914479244793447944479544796447974479844799448004480144802448034480444805448064480744808448094481044811448124481344814448154481644817448184481944820448214482244823448244482544826448274482844829448304483144832448334483444835448364483744838448394484044841448424484344844448454484644847448484484944850448514485244853448544485544856448574485844859448604486144862448634486444865448664486744868448694487044871448724487344874448754487644877448784487944880448814488244883448844488544886448874488844889448904489144892448934489444895448964489744898448994490044901449024490344904449054490644907449084490944910449114491244913449144491544916449174491844919449204492144922449234492444925449264492744928449294493044931449324493344934449354493644937449384493944940449414494244943449444494544946449474494844949449504495144952449534495444955449564495744958449594496044961449624496344964449654496644967449684496944970449714497244973449744497544976449774497844979449804498144982449834498444985449864498744988449894499044991449924499344994449954499644997449984499945000450014500245003450044500545006450074500845009450104501145012450134501445015450164501745018450194502045021450224502345024450254502645027450284502945030450314503245033450344503545036450374503845039450404504145042450434504445045450464504745048450494505045051450524505345054450554505645057450584505945060450614506245063450644506545066450674506845069450704507145072450734507445075450764507745078450794508045081450824508345084450854508645087450884508945090450914509245093450944509545096450974509845099451004510145102451034510445105451064510745108451094511045111451124511345114451154511645117451184511945120451214512245123451244512545126451274512845129451304513145132451334513445135451364513745138451394514045141451424514345144451454514645147451484514945150451514515245153451544515545156451574515845159451604516145162451634516445165451664516745168451694517045171451724517345174451754517645177451784517945180451814518245183451844518545186451874518845189451904519145192451934519445195451964519745198451994520045201452024520345204452054520645207452084520945210452114521245213452144521545216452174521845219452204522145222452234522445225452264522745228452294523045231452324523345234452354523645237452384523945240452414524245243452444524545246452474524845249452504525145252452534525445255452564525745258452594526045261452624526345264452654526645267452684526945270452714527245273452744527545276452774527845279452804528145282452834528445285452864528745288452894529045291452924529345294452954529645297452984529945300453014530245303453044530545306453074530845309453104531145312453134531445315453164531745318453194532045321453224532345324453254532645327453284532945330453314533245333453344533545336453374533845339453404534145342453434534445345453464534745348453494535045351453524535345354453554535645357453584535945360453614536245363453644536545366453674536845369453704537145372453734537445375453764537745378453794538045381453824538345384453854538645387453884538945390453914539245393453944539545396453974539845399454004540145402454034540445405454064540745408454094541045411454124541345414454154541645417454184541945420454214542245423454244542545426454274542845429454304543145432454334543445435454364543745438454394544045441454424544345444454454544645447454484544945450454514545245453454544545545456454574545845459454604546145462454634546445465454664546745468454694547045471454724547345474454754547645477454784547945480454814548245483454844548545486454874548845489454904549145492454934549445495454964549745498454994550045501455024550345504455054550645507455084550945510455114551245513455144551545516455174551845519455204552145522455234552445525455264552745528455294553045531455324553345534455354553645537455384553945540455414554245543455444554545546455474554845549455504555145552455534555445555455564555745558455594556045561455624556345564455654556645567455684556945570455714557245573455744557545576455774557845579455804558145582455834558445585455864558745588455894559045591455924559345594455954559645597455984559945600456014560245603456044560545606456074560845609456104561145612456134561445615456164561745618456194562045621456224562345624456254562645627456284562945630456314563245633456344563545636456374563845639456404564145642456434564445645456464564745648456494565045651456524565345654456554565645657456584565945660456614566245663456644566545666456674566845669456704567145672456734567445675456764567745678456794568045681456824568345684456854568645687456884568945690456914569245693456944569545696456974569845699457004570145702457034570445705457064570745708457094571045711457124571345714457154571645717457184571945720457214572245723457244572545726457274572845729457304573145732457334573445735457364573745738457394574045741457424574345744457454574645747457484574945750457514575245753457544575545756457574575845759457604576145762457634576445765457664576745768457694577045771457724577345774457754577645777457784577945780457814578245783457844578545786457874578845789457904579145792457934579445795457964579745798457994580045801458024580345804458054580645807458084580945810458114581245813458144581545816458174581845819458204582145822458234582445825458264582745828458294583045831458324583345834458354583645837458384583945840458414584245843458444584545846458474584845849458504585145852458534585445855458564585745858458594586045861458624586345864458654586645867458684586945870458714587245873458744587545876458774587845879458804588145882458834588445885458864588745888458894589045891458924589345894458954589645897458984589945900459014590245903459044590545906459074590845909459104591145912459134591445915459164591745918459194592045921459224592345924459254592645927459284592945930459314593245933459344593545936459374593845939459404594145942459434594445945459464594745948459494595045951459524595345954459554595645957459584595945960459614596245963459644596545966459674596845969459704597145972459734597445975459764597745978459794598045981459824598345984459854598645987459884598945990459914599245993459944599545996459974599845999460004600146002460034600446005460064600746008460094601046011460124601346014460154601646017460184601946020460214602246023460244602546026460274602846029460304603146032460334603446035460364603746038460394604046041460424604346044460454604646047460484604946050460514605246053460544605546056460574605846059460604606146062460634606446065460664606746068460694607046071460724607346074460754607646077460784607946080460814608246083460844608546086460874608846089460904609146092460934609446095460964609746098460994610046101461024610346104461054610646107461084610946110461114611246113461144611546116461174611846119461204612146122461234612446125461264612746128461294613046131461324613346134461354613646137461384613946140461414614246143461444614546146461474614846149461504615146152461534615446155461564615746158461594616046161461624616346164461654616646167461684616946170461714617246173461744617546176461774617846179461804618146182461834618446185461864618746188461894619046191461924619346194461954619646197461984619946200462014620246203462044620546206462074620846209462104621146212462134621446215462164621746218462194622046221462224622346224462254622646227462284622946230462314623246233462344623546236462374623846239462404624146242462434624446245462464624746248462494625046251462524625346254462554625646257462584625946260462614626246263462644626546266462674626846269462704627146272462734627446275462764627746278462794628046281462824628346284462854628646287462884628946290462914629246293462944629546296462974629846299463004630146302463034630446305463064630746308463094631046311463124631346314463154631646317463184631946320463214632246323463244632546326463274632846329463304633146332463334633446335463364633746338463394634046341463424634346344463454634646347463484634946350463514635246353463544635546356463574635846359463604636146362463634636446365463664636746368463694637046371463724637346374463754637646377463784637946380463814638246383463844638546386463874638846389463904639146392463934639446395463964639746398463994640046401464024640346404464054640646407464084640946410464114641246413464144641546416464174641846419464204642146422464234642446425464264642746428464294643046431464324643346434464354643646437464384643946440464414644246443464444644546446464474644846449464504645146452464534645446455464564645746458464594646046461464624646346464464654646646467464684646946470464714647246473464744647546476464774647846479464804648146482464834648446485464864648746488464894649046491464924649346494464954649646497464984649946500465014650246503465044650546506465074650846509465104651146512465134651446515465164651746518465194652046521465224652346524465254652646527465284652946530465314653246533465344653546536465374653846539465404654146542465434654446545465464654746548465494655046551465524655346554465554655646557465584655946560465614656246563465644656546566465674656846569465704657146572465734657446575465764657746578465794658046581465824658346584465854658646587465884658946590465914659246593465944659546596465974659846599466004660146602466034660446605466064660746608466094661046611466124661346614466154661646617466184661946620466214662246623466244662546626466274662846629466304663146632466334663446635466364663746638466394664046641466424664346644466454664646647466484664946650466514665246653466544665546656466574665846659466604666146662466634666446665466664666746668466694667046671466724667346674466754667646677466784667946680466814668246683466844668546686466874668846689466904669146692466934669446695466964669746698466994670046701467024670346704467054670646707467084670946710467114671246713467144671546716467174671846719467204672146722467234672446725467264672746728467294673046731467324673346734467354673646737467384673946740467414674246743467444674546746467474674846749467504675146752467534675446755467564675746758467594676046761467624676346764467654676646767467684676946770467714677246773467744677546776467774677846779467804678146782467834678446785467864678746788467894679046791467924679346794467954679646797467984679946800468014680246803468044680546806468074680846809468104681146812468134681446815468164681746818468194682046821468224682346824468254682646827468284682946830468314683246833468344683546836468374683846839468404684146842468434684446845468464684746848468494685046851468524685346854468554685646857468584685946860468614686246863468644686546866468674686846869468704687146872468734687446875468764687746878468794688046881468824688346884468854688646887468884688946890468914689246893468944689546896468974689846899469004690146902469034690446905469064690746908469094691046911469124691346914469154691646917469184691946920469214692246923469244692546926469274692846929469304693146932469334693446935469364693746938469394694046941469424694346944469454694646947469484694946950469514695246953469544695546956469574695846959469604696146962469634696446965469664696746968469694697046971469724697346974469754697646977469784697946980469814698246983469844698546986469874698846989469904699146992469934699446995469964699746998469994700047001470024700347004470054700647007470084700947010470114701247013470144701547016470174701847019470204702147022470234702447025470264702747028470294703047031470324703347034470354703647037470384703947040470414704247043470444704547046470474704847049470504705147052470534705447055470564705747058470594706047061470624706347064470654706647067470684706947070470714707247073470744707547076470774707847079470804708147082470834708447085470864708747088470894709047091470924709347094470954709647097470984709947100471014710247103471044710547106471074710847109471104711147112471134711447115471164711747118471194712047121471224712347124471254712647127471284712947130471314713247133471344713547136471374713847139471404714147142471434714447145471464714747148471494715047151471524715347154471554715647157471584715947160471614716247163471644716547166471674716847169471704717147172471734717447175471764717747178471794718047181471824718347184471854718647187471884718947190471914719247193471944719547196471974719847199472004720147202472034720447205472064720747208472094721047211472124721347214472154721647217472184721947220472214722247223472244722547226472274722847229472304723147232472334723447235472364723747238472394724047241472424724347244472454724647247472484724947250472514725247253472544725547256472574725847259472604726147262472634726447265472664726747268472694727047271472724727347274472754727647277472784727947280472814728247283472844728547286472874728847289472904729147292472934729447295472964729747298472994730047301473024730347304473054730647307473084730947310473114731247313473144731547316473174731847319473204732147322473234732447325473264732747328473294733047331473324733347334473354733647337473384733947340473414734247343473444734547346473474734847349473504735147352473534735447355473564735747358473594736047361473624736347364473654736647367473684736947370473714737247373473744737547376473774737847379473804738147382473834738447385473864738747388473894739047391473924739347394473954739647397473984739947400474014740247403474044740547406474074740847409474104741147412474134741447415474164741747418474194742047421474224742347424474254742647427474284742947430474314743247433474344743547436474374743847439474404744147442474434744447445474464744747448474494745047451474524745347454474554745647457474584745947460474614746247463474644746547466474674746847469474704747147472474734747447475474764747747478474794748047481474824748347484474854748647487474884748947490474914749247493474944749547496474974749847499475004750147502475034750447505475064750747508475094751047511475124751347514475154751647517475184751947520475214752247523475244752547526475274752847529475304753147532475334753447535475364753747538475394754047541475424754347544475454754647547475484754947550475514755247553475544755547556475574755847559475604756147562475634756447565475664756747568475694757047571475724757347574475754757647577475784757947580475814758247583475844758547586475874758847589475904759147592475934759447595475964759747598475994760047601476024760347604476054760647607476084760947610476114761247613476144761547616476174761847619476204762147622476234762447625476264762747628476294763047631476324763347634476354763647637476384763947640476414764247643476444764547646476474764847649476504765147652476534765447655476564765747658476594766047661476624766347664476654766647667476684766947670476714767247673476744767547676476774767847679476804768147682476834768447685476864768747688476894769047691476924769347694476954769647697476984769947700477014770247703477044770547706477074770847709477104771147712477134771447715477164771747718477194772047721477224772347724477254772647727477284772947730477314773247733477344773547736477374773847739477404774147742477434774447745477464774747748477494775047751477524775347754477554775647757477584775947760477614776247763477644776547766477674776847769477704777147772477734777447775477764777747778477794778047781477824778347784477854778647787477884778947790477914779247793477944779547796477974779847799478004780147802478034780447805478064780747808478094781047811478124781347814478154781647817478184781947820478214782247823478244782547826478274782847829478304783147832478334783447835478364783747838478394784047841478424784347844478454784647847478484784947850478514785247853478544785547856478574785847859478604786147862478634786447865478664786747868478694787047871478724787347874478754787647877478784787947880478814788247883478844788547886478874788847889478904789147892478934789447895478964789747898478994790047901479024790347904479054790647907479084790947910479114791247913479144791547916479174791847919479204792147922479234792447925479264792747928479294793047931479324793347934479354793647937479384793947940479414794247943479444794547946479474794847949479504795147952479534795447955479564795747958479594796047961479624796347964479654796647967479684796947970479714797247973479744797547976479774797847979479804798147982479834798447985479864798747988479894799047991479924799347994479954799647997479984799948000480014800248003480044800548006480074800848009480104801148012480134801448015480164801748018480194802048021480224802348024480254802648027480284802948030480314803248033480344803548036480374803848039480404804148042480434804448045480464804748048480494805048051480524805348054480554805648057480584805948060480614806248063480644806548066480674806848069480704807148072480734807448075480764807748078480794808048081480824808348084480854808648087480884808948090480914809248093480944809548096480974809848099481004810148102481034810448105481064810748108481094811048111481124811348114481154811648117481184811948120481214812248123481244812548126481274812848129481304813148132481334813448135481364813748138481394814048141481424814348144481454814648147481484814948150481514815248153481544815548156481574815848159481604816148162481634816448165481664816748168481694817048171481724817348174481754817648177481784817948180481814818248183481844818548186481874818848189481904819148192481934819448195481964819748198481994820048201482024820348204482054820648207482084820948210482114821248213482144821548216482174821848219482204822148222482234822448225482264822748228482294823048231482324823348234482354823648237482384823948240482414824248243482444824548246482474824848249482504825148252482534825448255482564825748258482594826048261482624826348264482654826648267482684826948270482714827248273482744827548276482774827848279482804828148282482834828448285482864828748288482894829048291482924829348294482954829648297482984829948300483014830248303483044830548306483074830848309483104831148312483134831448315483164831748318483194832048321483224832348324483254832648327483284832948330483314833248333483344833548336483374833848339483404834148342483434834448345483464834748348483494835048351483524835348354483554835648357483584835948360483614836248363483644836548366483674836848369483704837148372483734837448375483764837748378483794838048381483824838348384483854838648387483884838948390483914839248393483944839548396483974839848399484004840148402484034840448405484064840748408484094841048411484124841348414484154841648417484184841948420484214842248423484244842548426484274842848429484304843148432484334843448435484364843748438484394844048441484424844348444484454844648447484484844948450484514845248453484544845548456484574845848459484604846148462484634846448465484664846748468484694847048471484724847348474484754847648477484784847948480484814848248483484844848548486484874848848489484904849148492484934849448495484964849748498484994850048501485024850348504485054850648507485084850948510485114851248513485144851548516485174851848519485204852148522485234852448525485264852748528485294853048531485324853348534485354853648537485384853948540485414854248543485444854548546485474854848549485504855148552485534855448555485564855748558485594856048561485624856348564485654856648567485684856948570485714857248573485744857548576485774857848579485804858148582485834858448585485864858748588485894859048591485924859348594485954859648597485984859948600486014860248603486044860548606486074860848609486104861148612486134861448615486164861748618486194862048621486224862348624486254862648627486284862948630486314863248633486344863548636486374863848639486404864148642486434864448645486464864748648486494865048651486524865348654486554865648657486584865948660486614866248663486644866548666486674866848669486704867148672486734867448675486764867748678486794868048681486824868348684486854868648687486884868948690486914869248693486944869548696486974869848699487004870148702487034870448705487064870748708487094871048711487124871348714487154871648717487184871948720487214872248723487244872548726487274872848729487304873148732487334873448735487364873748738487394874048741487424874348744487454874648747487484874948750487514875248753487544875548756487574875848759487604876148762487634876448765487664876748768487694877048771487724877348774487754877648777487784877948780487814878248783487844878548786487874878848789487904879148792487934879448795487964879748798487994880048801488024880348804488054880648807488084880948810488114881248813488144881548816488174881848819488204882148822488234882448825488264882748828488294883048831488324883348834488354883648837488384883948840488414884248843488444884548846488474884848849488504885148852488534885448855488564885748858488594886048861488624886348864488654886648867488684886948870488714887248873488744887548876488774887848879488804888148882488834888448885488864888748888488894889048891488924889348894488954889648897488984889948900489014890248903489044890548906489074890848909489104891148912489134891448915489164891748918489194892048921489224892348924489254892648927489284892948930489314893248933489344893548936489374893848939489404894148942489434894448945489464894748948489494895048951489524895348954489554895648957489584895948960489614896248963489644896548966489674896848969489704897148972489734897448975489764897748978489794898048981489824898348984489854898648987489884898948990489914899248993489944899548996489974899848999490004900149002490034900449005490064900749008490094901049011490124901349014490154901649017490184901949020490214902249023490244902549026490274902849029490304903149032490334903449035490364903749038490394904049041490424904349044490454904649047490484904949050490514905249053490544905549056490574905849059490604906149062490634906449065490664906749068490694907049071490724907349074490754907649077490784907949080490814908249083490844908549086490874908849089490904909149092490934909449095490964909749098490994910049101491024910349104491054910649107491084910949110491114911249113491144911549116491174911849119491204912149122491234912449125491264912749128491294913049131491324913349134491354913649137491384913949140491414914249143491444914549146491474914849149491504915149152491534915449155491564915749158491594916049161491624916349164491654916649167491684916949170491714917249173491744917549176491774917849179491804918149182491834918449185491864918749188491894919049191491924919349194491954919649197491984919949200492014920249203492044920549206492074920849209492104921149212492134921449215492164921749218492194922049221492224922349224492254922649227492284922949230492314923249233492344923549236492374923849239492404924149242492434924449245492464924749248492494925049251492524925349254492554925649257492584925949260492614926249263492644926549266492674926849269492704927149272492734927449275492764927749278492794928049281492824928349284492854928649287492884928949290492914929249293492944929549296492974929849299493004930149302493034930449305493064930749308493094931049311493124931349314493154931649317493184931949320493214932249323493244932549326493274932849329493304933149332493334933449335493364933749338493394934049341493424934349344493454934649347493484934949350493514935249353493544935549356493574935849359493604936149362493634936449365493664936749368493694937049371493724937349374493754937649377493784937949380493814938249383493844938549386493874938849389493904939149392493934939449395493964939749398493994940049401494024940349404494054940649407494084940949410494114941249413494144941549416494174941849419494204942149422494234942449425494264942749428494294943049431494324943349434494354943649437494384943949440494414944249443494444944549446494474944849449494504945149452494534945449455494564945749458494594946049461494624946349464494654946649467494684946949470494714947249473494744947549476494774947849479494804948149482494834948449485494864948749488494894949049491494924949349494494954949649497494984949949500495014950249503495044950549506495074950849509495104951149512495134951449515495164951749518495194952049521495224952349524495254952649527495284952949530495314953249533495344953549536495374953849539495404954149542495434954449545495464954749548495494955049551495524955349554495554955649557495584955949560495614956249563495644956549566495674956849569495704957149572495734957449575495764957749578495794958049581495824958349584495854958649587495884958949590495914959249593495944959549596495974959849599496004960149602496034960449605496064960749608496094961049611496124961349614496154961649617496184961949620496214962249623496244962549626496274962849629496304963149632496334963449635496364963749638496394964049641496424964349644496454964649647496484964949650496514965249653496544965549656496574965849659496604966149662496634966449665496664966749668496694967049671496724967349674496754967649677496784967949680496814968249683496844968549686496874968849689496904969149692496934969449695496964969749698496994970049701497024970349704497054970649707497084970949710497114971249713497144971549716497174971849719497204972149722497234972449725497264972749728497294973049731497324973349734497354973649737497384973949740497414974249743497444974549746497474974849749497504975149752497534975449755497564975749758497594976049761497624976349764497654976649767497684976949770497714977249773497744977549776497774977849779497804978149782497834978449785497864978749788497894979049791497924979349794497954979649797497984979949800498014980249803498044980549806498074980849809498104981149812498134981449815498164981749818498194982049821498224982349824498254982649827498284982949830498314983249833498344983549836498374983849839498404984149842498434984449845498464984749848498494985049851498524985349854498554985649857498584985949860498614986249863498644986549866498674986849869498704987149872498734987449875498764987749878498794988049881498824988349884498854988649887498884988949890498914989249893498944989549896498974989849899499004990149902499034990449905499064990749908499094991049911499124991349914499154991649917499184991949920499214992249923499244992549926499274992849929499304993149932499334993449935499364993749938499394994049941499424994349944499454994649947499484994949950499514995249953499544995549956499574995849959499604996149962499634996449965499664996749968499694997049971499724997349974499754997649977499784997949980499814998249983499844998549986499874998849989499904999149992499934999449995499964999749998499995000050001500025000350004500055000650007500085000950010500115001250013500145001550016500175001850019500205002150022500235002450025500265002750028500295003050031500325003350034500355003650037500385003950040500415004250043500445004550046500475004850049500505005150052500535005450055500565005750058500595006050061500625006350064500655006650067500685006950070500715007250073500745007550076500775007850079500805008150082500835008450085500865008750088500895009050091500925009350094500955009650097500985009950100501015010250103501045010550106501075010850109501105011150112501135011450115501165011750118501195012050121501225012350124501255012650127501285012950130501315013250133501345013550136501375013850139501405014150142501435014450145501465014750148501495015050151501525015350154501555015650157501585015950160501615016250163501645016550166501675016850169501705017150172501735017450175501765017750178501795018050181501825018350184501855018650187501885018950190501915019250193501945019550196501975019850199502005020150202502035020450205502065020750208502095021050211502125021350214502155021650217502185021950220502215022250223502245022550226502275022850229502305023150232502335023450235502365023750238502395024050241502425024350244502455024650247502485024950250502515025250253502545025550256502575025850259502605026150262502635026450265502665026750268502695027050271502725027350274502755027650277502785027950280502815028250283502845028550286502875028850289502905029150292502935029450295502965029750298502995030050301503025030350304503055030650307503085030950310503115031250313503145031550316503175031850319503205032150322503235032450325503265032750328503295033050331503325033350334503355033650337503385033950340503415034250343503445034550346503475034850349503505035150352503535035450355503565035750358503595036050361503625036350364503655036650367503685036950370503715037250373503745037550376503775037850379503805038150382503835038450385503865038750388503895039050391503925039350394503955039650397503985039950400504015040250403504045040550406504075040850409504105041150412504135041450415504165041750418504195042050421504225042350424504255042650427504285042950430504315043250433504345043550436504375043850439504405044150442504435044450445504465044750448504495045050451504525045350454504555045650457504585045950460504615046250463504645046550466504675046850469504705047150472504735047450475504765047750478504795048050481504825048350484504855048650487504885048950490504915049250493504945049550496504975049850499505005050150502505035050450505505065050750508505095051050511505125051350514505155051650517505185051950520505215052250523505245052550526505275052850529505305053150532505335053450535505365053750538505395054050541505425054350544505455054650547505485054950550505515055250553505545055550556505575055850559505605056150562505635056450565505665056750568505695057050571505725057350574505755057650577505785057950580505815058250583505845058550586505875058850589505905059150592505935059450595505965059750598505995060050601506025060350604506055060650607506085060950610506115061250613506145061550616506175061850619506205062150622506235062450625506265062750628506295063050631506325063350634506355063650637506385063950640506415064250643506445064550646506475064850649506505065150652506535065450655506565065750658506595066050661506625066350664506655066650667506685066950670506715067250673506745067550676506775067850679506805068150682506835068450685506865068750688506895069050691506925069350694506955069650697506985069950700507015070250703507045070550706507075070850709507105071150712507135071450715507165071750718507195072050721507225072350724507255072650727507285072950730507315073250733507345073550736507375073850739507405074150742507435074450745507465074750748507495075050751507525075350754507555075650757507585075950760507615076250763507645076550766507675076850769507705077150772507735077450775507765077750778507795078050781507825078350784507855078650787507885078950790507915079250793507945079550796507975079850799508005080150802508035080450805508065080750808508095081050811508125081350814508155081650817508185081950820508215082250823508245082550826508275082850829508305083150832508335083450835508365083750838508395084050841508425084350844508455084650847508485084950850508515085250853508545085550856508575085850859508605086150862508635086450865508665086750868508695087050871508725087350874508755087650877508785087950880508815088250883508845088550886508875088850889508905089150892508935089450895508965089750898508995090050901509025090350904509055090650907509085090950910509115091250913509145091550916509175091850919509205092150922509235092450925509265092750928509295093050931509325093350934509355093650937509385093950940509415094250943509445094550946509475094850949509505095150952509535095450955509565095750958509595096050961509625096350964509655096650967509685096950970509715097250973509745097550976509775097850979509805098150982509835098450985509865098750988509895099050991509925099350994509955099650997509985099951000510015100251003510045100551006510075100851009510105101151012510135101451015510165101751018510195102051021510225102351024510255102651027510285102951030510315103251033510345103551036510375103851039510405104151042510435104451045510465104751048510495105051051510525105351054510555105651057510585105951060510615106251063510645106551066510675106851069510705107151072510735107451075510765107751078510795108051081510825108351084510855108651087510885108951090510915109251093510945109551096510975109851099511005110151102511035110451105511065110751108511095111051111511125111351114511155111651117511185111951120511215112251123511245112551126511275112851129511305113151132511335113451135511365113751138511395114051141511425114351144511455114651147511485114951150511515115251153511545115551156511575115851159511605116151162511635116451165511665116751168511695117051171511725117351174511755117651177511785117951180511815118251183511845118551186511875118851189511905119151192511935119451195511965119751198511995120051201512025120351204512055120651207512085120951210512115121251213512145121551216512175121851219512205122151222512235122451225512265122751228512295123051231512325123351234512355123651237512385123951240512415124251243512445124551246512475124851249512505125151252512535125451255512565125751258512595126051261512625126351264512655126651267512685126951270512715127251273512745127551276512775127851279512805128151282512835128451285512865128751288512895129051291512925129351294512955129651297512985129951300513015130251303513045130551306513075130851309513105131151312513135131451315513165131751318513195132051321513225132351324513255132651327513285132951330513315133251333513345133551336513375133851339513405134151342513435134451345513465134751348513495135051351513525135351354513555135651357513585135951360513615136251363513645136551366513675136851369513705137151372513735137451375513765137751378513795138051381513825138351384513855138651387513885138951390513915139251393513945139551396513975139851399514005140151402514035140451405514065140751408514095141051411514125141351414514155141651417514185141951420514215142251423514245142551426514275142851429514305143151432514335143451435514365143751438514395144051441514425144351444514455144651447514485144951450514515145251453514545145551456514575145851459514605146151462514635146451465514665146751468514695147051471514725147351474514755147651477514785147951480514815148251483514845148551486514875148851489514905149151492514935149451495514965149751498514995150051501515025150351504515055150651507515085150951510515115151251513515145151551516515175151851519515205152151522515235152451525515265152751528515295153051531515325153351534515355153651537515385153951540515415154251543515445154551546515475154851549515505155151552515535155451555515565155751558515595156051561515625156351564515655156651567515685156951570515715157251573515745157551576515775157851579515805158151582515835158451585515865158751588515895159051591515925159351594515955159651597515985159951600516015160251603516045160551606516075160851609516105161151612516135161451615516165161751618516195162051621516225162351624516255162651627516285162951630516315163251633516345163551636516375163851639516405164151642516435164451645516465164751648516495165051651516525165351654516555165651657516585165951660516615166251663516645166551666516675166851669516705167151672516735167451675516765167751678516795168051681516825168351684516855168651687516885168951690516915169251693516945169551696516975169851699517005170151702517035170451705517065170751708517095171051711517125171351714517155171651717517185171951720517215172251723517245172551726517275172851729517305173151732517335173451735517365173751738517395174051741517425174351744517455174651747517485174951750517515175251753517545175551756517575175851759517605176151762517635176451765517665176751768517695177051771517725177351774517755177651777517785177951780517815178251783517845178551786517875178851789517905179151792517935179451795517965179751798517995180051801518025180351804518055180651807518085180951810518115181251813518145181551816518175181851819518205182151822518235182451825518265182751828518295183051831518325183351834518355183651837518385183951840518415184251843518445184551846518475184851849518505185151852518535185451855518565185751858518595186051861518625186351864518655186651867518685186951870518715187251873518745187551876518775187851879518805188151882518835188451885518865188751888518895189051891518925189351894518955189651897518985189951900519015190251903519045190551906519075190851909519105191151912519135191451915519165191751918519195192051921519225192351924519255192651927519285192951930519315193251933519345193551936519375193851939519405194151942519435194451945519465194751948519495195051951519525195351954519555195651957519585195951960519615196251963519645196551966519675196851969519705197151972519735197451975519765197751978519795198051981519825198351984519855198651987519885198951990519915199251993519945199551996519975199851999520005200152002520035200452005520065200752008520095201052011520125201352014520155201652017520185201952020520215202252023520245202552026520275202852029520305203152032520335203452035520365203752038520395204052041520425204352044520455204652047520485204952050520515205252053520545205552056520575205852059520605206152062520635206452065520665206752068520695207052071520725207352074520755207652077520785207952080520815208252083520845208552086520875208852089520905209152092520935209452095520965209752098520995210052101521025210352104521055210652107521085210952110521115211252113521145211552116521175211852119521205212152122521235212452125521265212752128521295213052131521325213352134521355213652137521385213952140521415214252143521445214552146521475214852149521505215152152521535215452155521565215752158521595216052161521625216352164521655216652167521685216952170521715217252173521745217552176521775217852179521805218152182521835218452185521865218752188521895219052191521925219352194521955219652197521985219952200522015220252203522045220552206522075220852209522105221152212522135221452215522165221752218522195222052221522225222352224522255222652227522285222952230522315223252233522345223552236522375223852239522405224152242522435224452245522465224752248522495225052251522525225352254522555225652257522585225952260522615226252263522645226552266522675226852269522705227152272522735227452275522765227752278522795228052281522825228352284522855228652287522885228952290522915229252293522945229552296522975229852299523005230152302523035230452305523065230752308523095231052311523125231352314523155231652317523185231952320523215232252323523245232552326523275232852329523305233152332523335233452335523365233752338523395234052341523425234352344523455234652347523485234952350523515235252353523545235552356523575235852359523605236152362523635236452365523665236752368523695237052371523725237352374523755237652377523785237952380523815238252383523845238552386523875238852389523905239152392523935239452395523965239752398523995240052401524025240352404524055240652407524085240952410524115241252413524145241552416524175241852419524205242152422524235242452425524265242752428524295243052431524325243352434524355243652437524385243952440524415244252443524445244552446524475244852449524505245152452524535245452455524565245752458524595246052461524625246352464524655246652467524685246952470524715247252473524745247552476524775247852479524805248152482524835248452485524865248752488524895249052491524925249352494524955249652497524985249952500525015250252503525045250552506525075250852509525105251152512525135251452515525165251752518525195252052521525225252352524525255252652527525285252952530525315253252533525345253552536525375253852539525405254152542525435254452545525465254752548525495255052551525525255352554525555255652557525585255952560525615256252563525645256552566525675256852569525705257152572525735257452575525765257752578525795258052581525825258352584525855258652587525885258952590525915259252593525945259552596525975259852599526005260152602526035260452605526065260752608526095261052611526125261352614526155261652617526185261952620526215262252623526245262552626526275262852629526305263152632526335263452635526365263752638526395264052641526425264352644526455264652647526485264952650526515265252653526545265552656526575265852659526605266152662526635266452665526665266752668526695267052671526725267352674526755267652677526785267952680526815268252683526845268552686526875268852689526905269152692526935269452695526965269752698526995270052701527025270352704527055270652707527085270952710527115271252713527145271552716527175271852719527205272152722527235272452725527265272752728527295273052731527325273352734527355273652737527385273952740527415274252743527445274552746527475274852749527505275152752527535275452755527565275752758527595276052761527625276352764527655276652767527685276952770527715277252773527745277552776527775277852779527805278152782527835278452785527865278752788527895279052791527925279352794527955279652797527985279952800528015280252803528045280552806528075280852809528105281152812528135281452815528165281752818528195282052821528225282352824528255282652827528285282952830528315283252833528345283552836528375283852839528405284152842528435284452845528465284752848528495285052851528525285352854528555285652857528585285952860528615286252863528645286552866528675286852869528705287152872528735287452875528765287752878528795288052881528825288352884528855288652887528885288952890528915289252893528945289552896528975289852899529005290152902529035290452905529065290752908529095291052911529125291352914529155291652917529185291952920529215292252923529245292552926529275292852929529305293152932529335293452935529365293752938529395294052941529425294352944529455294652947529485294952950529515295252953529545295552956529575295852959529605296152962529635296452965529665296752968529695297052971529725297352974529755297652977529785297952980529815298252983529845298552986529875298852989529905299152992529935299452995529965299752998529995300053001530025300353004530055300653007530085300953010530115301253013530145301553016530175301853019530205302153022530235302453025530265302753028530295303053031530325303353034530355303653037530385303953040530415304253043530445304553046530475304853049530505305153052530535305453055530565305753058530595306053061530625306353064530655306653067530685306953070530715307253073530745307553076530775307853079530805308153082530835308453085530865308753088530895309053091530925309353094530955309653097530985309953100531015310253103531045310553106531075310853109531105311153112531135311453115531165311753118531195312053121531225312353124531255312653127531285312953130531315313253133531345313553136531375313853139531405314153142531435314453145531465314753148531495315053151531525315353154531555315653157531585315953160531615316253163531645316553166531675316853169531705317153172531735317453175531765317753178531795318053181531825318353184531855318653187531885318953190531915319253193531945319553196531975319853199532005320153202532035320453205532065320753208532095321053211532125321353214532155321653217532185321953220532215322253223532245322553226532275322853229532305323153232532335323453235532365323753238532395324053241532425324353244532455324653247532485324953250532515325253253532545325553256532575325853259532605326153262532635326453265532665326753268532695327053271532725327353274532755327653277532785327953280532815328253283532845328553286532875328853289532905329153292532935329453295532965329753298532995330053301533025330353304533055330653307533085330953310533115331253313533145331553316533175331853319533205332153322533235332453325533265332753328533295333053331533325333353334533355333653337533385333953340533415334253343533445334553346533475334853349533505335153352533535335453355533565335753358533595336053361533625336353364533655336653367533685336953370533715337253373533745337553376533775337853379533805338153382533835338453385533865338753388533895339053391533925339353394533955339653397533985339953400534015340253403534045340553406534075340853409534105341153412534135341453415534165341753418534195342053421534225342353424534255342653427534285342953430534315343253433534345343553436534375343853439534405344153442534435344453445534465344753448534495345053451534525345353454534555345653457534585345953460534615346253463534645346553466534675346853469534705347153472534735347453475534765347753478534795348053481534825348353484534855348653487534885348953490534915349253493534945349553496534975349853499535005350153502535035350453505535065350753508535095351053511535125351353514535155351653517535185351953520535215352253523535245352553526535275352853529535305353153532535335353453535535365353753538535395354053541535425354353544535455354653547535485354953550535515355253553535545355553556535575355853559535605356153562535635356453565535665356753568535695357053571535725357353574535755357653577535785357953580535815358253583535845358553586535875358853589535905359153592535935359453595535965359753598535995360053601536025360353604536055360653607536085360953610536115361253613536145361553616536175361853619536205362153622536235362453625536265362753628536295363053631536325363353634536355363653637536385363953640536415364253643536445364553646536475364853649536505365153652536535365453655536565365753658536595366053661536625366353664536655366653667536685366953670536715367253673536745367553676536775367853679536805368153682536835368453685536865368753688536895369053691536925369353694536955369653697536985369953700537015370253703537045370553706537075370853709537105371153712537135371453715537165371753718537195372053721537225372353724537255372653727537285372953730537315373253733537345373553736537375373853739537405374153742537435374453745537465374753748537495375053751537525375353754537555375653757537585375953760537615376253763537645376553766537675376853769537705377153772537735377453775537765377753778537795378053781537825378353784537855378653787537885378953790537915379253793537945379553796537975379853799538005380153802538035380453805538065380753808538095381053811538125381353814538155381653817538185381953820538215382253823538245382553826538275382853829538305383153832538335383453835538365383753838538395384053841538425384353844538455384653847538485384953850538515385253853538545385553856538575385853859538605386153862538635386453865538665386753868538695387053871538725387353874538755387653877538785387953880538815388253883538845388553886538875388853889538905389153892538935389453895538965389753898538995390053901539025390353904539055390653907539085390953910539115391253913539145391553916539175391853919539205392153922539235392453925539265392753928539295393053931539325393353934539355393653937539385393953940539415394253943539445394553946539475394853949539505395153952539535395453955539565395753958539595396053961539625396353964539655396653967539685396953970539715397253973539745397553976539775397853979539805398153982539835398453985539865398753988539895399053991539925399353994539955399653997539985399954000540015400254003540045400554006540075400854009540105401154012540135401454015540165401754018540195402054021540225402354024540255402654027540285402954030540315403254033540345403554036540375403854039540405404154042540435404454045540465404754048540495405054051540525405354054540555405654057540585405954060540615406254063540645406554066540675406854069540705407154072540735407454075540765407754078540795408054081540825408354084540855408654087540885408954090540915409254093540945409554096540975409854099541005410154102541035410454105541065410754108541095411054111541125411354114541155411654117541185411954120541215412254123541245412554126541275412854129541305413154132541335413454135541365413754138541395414054141541425414354144541455414654147541485414954150541515415254153541545415554156541575415854159541605416154162541635416454165541665416754168541695417054171541725417354174541755417654177541785417954180541815418254183541845418554186541875418854189541905419154192541935419454195541965419754198541995420054201542025420354204542055420654207542085420954210542115421254213542145421554216542175421854219542205422154222542235422454225542265422754228542295423054231542325423354234542355423654237542385423954240542415424254243542445424554246542475424854249542505425154252542535425454255542565425754258542595426054261542625426354264542655426654267542685426954270542715427254273542745427554276542775427854279542805428154282542835428454285542865428754288542895429054291542925429354294542955429654297542985429954300543015430254303543045430554306543075430854309543105431154312543135431454315543165431754318543195432054321543225432354324543255432654327543285432954330543315433254333543345433554336543375433854339543405434154342543435434454345543465434754348543495435054351543525435354354543555435654357543585435954360543615436254363543645436554366543675436854369543705437154372543735437454375543765437754378543795438054381543825438354384543855438654387543885438954390543915439254393543945439554396543975439854399544005440154402544035440454405544065440754408544095441054411544125441354414544155441654417544185441954420544215442254423544245442554426544275442854429544305443154432544335443454435544365443754438544395444054441544425444354444544455444654447544485444954450544515445254453544545445554456544575445854459544605446154462544635446454465544665446754468544695447054471544725447354474544755447654477544785447954480544815448254483544845448554486544875448854489544905449154492544935449454495544965449754498544995450054501545025450354504545055450654507545085450954510545115451254513545145451554516545175451854519545205452154522545235452454525545265452754528545295453054531545325453354534545355453654537545385453954540545415454254543545445454554546545475454854549545505455154552545535455454555545565455754558545595456054561545625456354564545655456654567545685456954570545715457254573545745457554576545775457854579545805458154582545835458454585545865458754588545895459054591545925459354594545955459654597545985459954600546015460254603546045460554606546075460854609546105461154612546135461454615546165461754618546195462054621546225462354624546255462654627546285462954630546315463254633546345463554636546375463854639546405464154642546435464454645546465464754648546495465054651546525465354654546555465654657546585465954660546615466254663546645466554666546675466854669546705467154672546735467454675546765467754678546795468054681546825468354684546855468654687546885468954690546915469254693546945469554696546975469854699547005470154702547035470454705547065470754708547095471054711547125471354714547155471654717547185471954720547215472254723547245472554726547275472854729547305473154732547335473454735547365473754738547395474054741547425474354744547455474654747547485474954750547515475254753547545475554756547575475854759547605476154762547635476454765547665476754768547695477054771547725477354774547755477654777547785477954780547815478254783547845478554786547875478854789547905479154792547935479454795547965479754798547995480054801548025480354804548055480654807548085480954810548115481254813548145481554816548175481854819548205482154822548235482454825548265482754828548295483054831548325483354834548355483654837548385483954840548415484254843548445484554846548475484854849548505485154852548535485454855548565485754858548595486054861548625486354864548655486654867548685486954870548715487254873548745487554876548775487854879548805488154882548835488454885548865488754888548895489054891548925489354894548955489654897548985489954900549015490254903549045490554906549075490854909549105491154912549135491454915549165491754918549195492054921549225492354924549255492654927549285492954930549315493254933549345493554936549375493854939549405494154942549435494454945549465494754948549495495054951549525495354954549555495654957549585495954960549615496254963549645496554966549675496854969549705497154972549735497454975549765497754978549795498054981549825498354984549855498654987549885498954990549915499254993549945499554996549975499854999550005500155002550035500455005550065500755008550095501055011550125501355014550155501655017550185501955020550215502255023550245502555026550275502855029550305503155032550335503455035550365503755038550395504055041550425504355044550455504655047550485504955050550515505255053550545505555056550575505855059550605506155062550635506455065550665506755068550695507055071550725507355074550755507655077550785507955080550815508255083550845508555086550875508855089550905509155092550935509455095550965509755098550995510055101551025510355104551055510655107551085510955110551115511255113551145511555116551175511855119551205512155122551235512455125551265512755128551295513055131551325513355134551355513655137551385513955140551415514255143551445514555146551475514855149551505515155152551535515455155551565515755158551595516055161551625516355164551655516655167551685516955170551715517255173551745517555176551775517855179551805518155182551835518455185551865518755188551895519055191551925519355194551955519655197551985519955200552015520255203552045520555206552075520855209552105521155212552135521455215552165521755218552195522055221552225522355224552255522655227552285522955230552315523255233552345523555236552375523855239552405524155242552435524455245552465524755248552495525055251552525525355254552555525655257552585525955260552615526255263552645526555266552675526855269552705527155272552735527455275552765527755278552795528055281552825528355284552855528655287552885528955290552915529255293552945529555296552975529855299553005530155302553035530455305553065530755308553095531055311553125531355314553155531655317553185531955320553215532255323553245532555326553275532855329553305533155332553335533455335553365533755338553395534055341553425534355344553455534655347553485534955350553515535255353553545535555356553575535855359553605536155362553635536455365553665536755368553695537055371553725537355374553755537655377553785537955380553815538255383553845538555386553875538855389553905539155392553935539455395553965539755398553995540055401554025540355404554055540655407554085540955410554115541255413554145541555416554175541855419554205542155422554235542455425554265542755428554295543055431554325543355434554355543655437554385543955440554415544255443554445544555446554475544855449554505545155452554535545455455554565545755458554595546055461554625546355464554655546655467554685546955470554715547255473554745547555476554775547855479554805548155482554835548455485554865548755488554895549055491554925549355494554955549655497554985549955500555015550255503555045550555506555075550855509555105551155512555135551455515555165551755518555195552055521555225552355524555255552655527555285552955530555315553255533555345553555536555375553855539555405554155542555435554455545555465554755548555495555055551555525555355554555555555655557555585555955560555615556255563555645556555566555675556855569555705557155572555735557455575555765557755578555795558055581555825558355584555855558655587555885558955590555915559255593555945559555596555975559855599556005560155602556035560455605556065560755608556095561055611556125561355614556155561655617556185561955620556215562255623556245562555626556275562855629556305563155632556335563455635556365563755638556395564055641556425564355644556455564655647556485564955650556515565255653556545565555656556575565855659556605566155662556635566455665556665566755668556695567055671556725567355674556755567655677556785567955680556815568255683556845568555686556875568855689556905569155692556935569455695556965569755698556995570055701557025570355704557055570655707557085570955710557115571255713557145571555716557175571855719557205572155722557235572455725557265572755728557295573055731557325573355734557355573655737557385573955740557415574255743557445574555746557475574855749557505575155752557535575455755557565575755758557595576055761557625576355764557655576655767557685576955770557715577255773557745577555776557775577855779557805578155782557835578455785557865578755788557895579055791557925579355794557955579655797557985579955800558015580255803558045580555806558075580855809558105581155812558135581455815558165581755818558195582055821558225582355824558255582655827558285582955830558315583255833558345583555836558375583855839558405584155842558435584455845558465584755848558495585055851558525585355854558555585655857558585585955860558615586255863558645586555866558675586855869558705587155872558735587455875558765587755878558795588055881558825588355884558855588655887558885588955890558915589255893558945589555896558975589855899559005590155902559035590455905559065590755908559095591055911559125591355914559155591655917559185591955920559215592255923559245592555926559275592855929559305593155932559335593455935559365593755938559395594055941559425594355944559455594655947559485594955950559515595255953559545595555956559575595855959559605596155962559635596455965559665596755968559695597055971559725597355974559755597655977559785597955980559815598255983559845598555986559875598855989559905599155992559935599455995559965599755998559995600056001560025600356004560055600656007560085600956010560115601256013560145601556016560175601856019560205602156022560235602456025560265602756028560295603056031560325603356034560355603656037560385603956040560415604256043560445604556046560475604856049560505605156052560535605456055560565605756058560595606056061560625606356064560655606656067560685606956070560715607256073560745607556076560775607856079560805608156082560835608456085560865608756088560895609056091560925609356094560955609656097560985609956100561015610256103561045610556106561075610856109561105611156112561135611456115561165611756118561195612056121561225612356124561255612656127561285612956130561315613256133561345613556136561375613856139561405614156142561435614456145561465614756148561495615056151561525615356154561555615656157561585615956160561615616256163561645616556166561675616856169561705617156172561735617456175561765617756178561795618056181561825618356184561855618656187561885618956190561915619256193561945619556196561975619856199562005620156202562035620456205562065620756208562095621056211562125621356214562155621656217562185621956220562215622256223562245622556226562275622856229562305623156232562335623456235562365623756238562395624056241562425624356244562455624656247562485624956250562515625256253562545625556256562575625856259562605626156262562635626456265562665626756268562695627056271562725627356274562755627656277562785627956280562815628256283562845628556286562875628856289562905629156292562935629456295562965629756298562995630056301563025630356304563055630656307563085630956310563115631256313563145631556316563175631856319563205632156322563235632456325563265632756328563295633056331563325633356334563355633656337563385633956340563415634256343563445634556346563475634856349563505635156352563535635456355563565635756358563595636056361563625636356364563655636656367563685636956370563715637256373563745637556376563775637856379563805638156382563835638456385563865638756388563895639056391563925639356394563955639656397563985639956400564015640256403564045640556406564075640856409564105641156412564135641456415564165641756418564195642056421564225642356424564255642656427564285642956430564315643256433564345643556436564375643856439564405644156442564435644456445564465644756448564495645056451564525645356454564555645656457564585645956460564615646256463564645646556466564675646856469564705647156472564735647456475564765647756478564795648056481564825648356484564855648656487564885648956490564915649256493564945649556496564975649856499565005650156502565035650456505565065650756508565095651056511565125651356514565155651656517565185651956520565215652256523565245652556526565275652856529565305653156532565335653456535565365653756538565395654056541565425654356544565455654656547565485654956550565515655256553565545655556556565575655856559565605656156562565635656456565565665656756568565695657056571565725657356574565755657656577565785657956580565815658256583565845658556586565875658856589565905659156592565935659456595565965659756598565995660056601566025660356604566055660656607566085660956610566115661256613566145661556616566175661856619566205662156622566235662456625566265662756628566295663056631566325663356634566355663656637566385663956640566415664256643566445664556646566475664856649566505665156652566535665456655566565665756658566595666056661566625666356664566655666656667566685666956670566715667256673566745667556676566775667856679566805668156682566835668456685566865668756688566895669056691566925669356694566955669656697566985669956700567015670256703567045670556706567075670856709567105671156712567135671456715567165671756718567195672056721567225672356724567255672656727567285672956730567315673256733567345673556736567375673856739567405674156742567435674456745567465674756748567495675056751567525675356754567555675656757567585675956760567615676256763567645676556766567675676856769567705677156772567735677456775567765677756778567795678056781567825678356784567855678656787567885678956790567915679256793567945679556796567975679856799568005680156802568035680456805568065680756808568095681056811568125681356814568155681656817568185681956820568215682256823568245682556826568275682856829568305683156832568335683456835568365683756838568395684056841568425684356844568455684656847568485684956850568515685256853568545685556856568575685856859568605686156862568635686456865568665686756868568695687056871568725687356874568755687656877568785687956880568815688256883568845688556886568875688856889568905689156892568935689456895568965689756898568995690056901569025690356904569055690656907569085690956910569115691256913569145691556916569175691856919569205692156922569235692456925569265692756928569295693056931569325693356934569355693656937569385693956940569415694256943569445694556946569475694856949569505695156952569535695456955569565695756958569595696056961569625696356964569655696656967569685696956970569715697256973569745697556976569775697856979569805698156982569835698456985569865698756988569895699056991569925699356994569955699656997569985699957000570015700257003570045700557006570075700857009570105701157012570135701457015570165701757018570195702057021570225702357024570255702657027570285702957030570315703257033570345703557036570375703857039570405704157042570435704457045570465704757048570495705057051570525705357054570555705657057570585705957060570615706257063570645706557066570675706857069570705707157072570735707457075570765707757078570795708057081570825708357084570855708657087570885708957090570915709257093570945709557096570975709857099571005710157102571035710457105571065710757108571095711057111571125711357114571155711657117571185711957120571215712257123571245712557126571275712857129571305713157132571335713457135571365713757138571395714057141571425714357144571455714657147571485714957150571515715257153571545715557156571575715857159571605716157162571635716457165571665716757168571695717057171571725717357174571755717657177571785717957180571815718257183571845718557186571875718857189571905719157192571935719457195571965719757198571995720057201572025720357204572055720657207572085720957210572115721257213572145721557216572175721857219572205722157222572235722457225572265722757228572295723057231572325723357234572355723657237572385723957240572415724257243572445724557246572475724857249572505725157252572535725457255572565725757258572595726057261572625726357264572655726657267572685726957270572715727257273572745727557276572775727857279572805728157282572835728457285572865728757288572895729057291572925729357294572955729657297572985729957300573015730257303573045730557306573075730857309573105731157312573135731457315573165731757318573195732057321573225732357324573255732657327573285732957330573315733257333573345733557336573375733857339573405734157342573435734457345573465734757348573495735057351573525735357354573555735657357573585735957360573615736257363573645736557366573675736857369573705737157372573735737457375573765737757378573795738057381573825738357384573855738657387573885738957390573915739257393573945739557396573975739857399574005740157402574035740457405574065740757408574095741057411574125741357414574155741657417574185741957420574215742257423574245742557426574275742857429574305743157432574335743457435574365743757438574395744057441574425744357444574455744657447574485744957450574515745257453574545745557456574575745857459574605746157462574635746457465574665746757468574695747057471574725747357474574755747657477574785747957480574815748257483574845748557486574875748857489574905749157492574935749457495574965749757498574995750057501575025750357504575055750657507575085750957510575115751257513575145751557516575175751857519575205752157522575235752457525575265752757528575295753057531575325753357534575355753657537575385753957540575415754257543575445754557546575475754857549575505755157552575535755457555575565755757558575595756057561575625756357564575655756657567575685756957570575715757257573575745757557576575775757857579575805758157582575835758457585575865758757588575895759057591575925759357594575955759657597575985759957600576015760257603576045760557606576075760857609576105761157612576135761457615576165761757618576195762057621576225762357624576255762657627576285762957630576315763257633576345763557636576375763857639576405764157642576435764457645576465764757648576495765057651576525765357654576555765657657576585765957660576615766257663576645766557666576675766857669576705767157672576735767457675576765767757678576795768057681576825768357684576855768657687576885768957690576915769257693576945769557696576975769857699577005770157702577035770457705577065770757708577095771057711577125771357714577155771657717577185771957720577215772257723577245772557726577275772857729577305773157732577335773457735577365773757738577395774057741577425774357744577455774657747577485774957750577515775257753577545775557756577575775857759577605776157762577635776457765577665776757768577695777057771577725777357774577755777657777577785777957780577815778257783577845778557786577875778857789577905779157792577935779457795577965779757798577995780057801578025780357804578055780657807578085780957810578115781257813578145781557816578175781857819578205782157822578235782457825578265782757828578295783057831578325783357834578355783657837578385783957840578415784257843578445784557846578475784857849578505785157852578535785457855578565785757858578595786057861578625786357864578655786657867578685786957870578715787257873578745787557876578775787857879578805788157882578835788457885578865788757888578895789057891578925789357894578955789657897578985789957900579015790257903579045790557906579075790857909579105791157912579135791457915579165791757918579195792057921579225792357924579255792657927579285792957930579315793257933579345793557936579375793857939579405794157942579435794457945579465794757948579495795057951579525795357954579555795657957579585795957960579615796257963579645796557966579675796857969579705797157972579735797457975579765797757978579795798057981579825798357984579855798657987579885798957990579915799257993579945799557996579975799857999580005800158002580035800458005580065800758008580095801058011580125801358014580155801658017580185801958020580215802258023580245802558026580275802858029580305803158032580335803458035580365803758038580395804058041580425804358044580455804658047580485804958050580515805258053580545805558056580575805858059580605806158062580635806458065580665806758068580695807058071580725807358074580755807658077580785807958080580815808258083580845808558086580875808858089580905809158092580935809458095580965809758098580995810058101581025810358104581055810658107581085810958110581115811258113581145811558116581175811858119581205812158122581235812458125581265812758128581295813058131581325813358134581355813658137581385813958140581415814258143581445814558146581475814858149581505815158152581535815458155581565815758158581595816058161581625816358164581655816658167581685816958170581715817258173581745817558176581775817858179581805818158182581835818458185581865818758188581895819058191581925819358194581955819658197581985819958200582015820258203582045820558206582075820858209582105821158212582135821458215582165821758218582195822058221582225822358224582255822658227582285822958230582315823258233582345823558236582375823858239582405824158242582435824458245582465824758248582495825058251582525825358254582555825658257582585825958260582615826258263582645826558266582675826858269582705827158272582735827458275582765827758278582795828058281582825828358284582855828658287582885828958290582915829258293582945829558296582975829858299583005830158302583035830458305583065830758308583095831058311583125831358314583155831658317583185831958320583215832258323583245832558326583275832858329583305833158332583335833458335583365833758338583395834058341583425834358344583455834658347583485834958350583515835258353583545835558356583575835858359583605836158362583635836458365583665836758368583695837058371583725837358374583755837658377583785837958380583815838258383583845838558386583875838858389583905839158392583935839458395583965839758398583995840058401584025840358404584055840658407584085840958410584115841258413584145841558416584175841858419584205842158422584235842458425584265842758428584295843058431584325843358434584355843658437584385843958440584415844258443584445844558446584475844858449584505845158452584535845458455584565845758458584595846058461584625846358464584655846658467584685846958470584715847258473584745847558476584775847858479584805848158482584835848458485584865848758488584895849058491584925849358494584955849658497584985849958500585015850258503585045850558506585075850858509585105851158512585135851458515585165851758518585195852058521585225852358524585255852658527585285852958530585315853258533585345853558536585375853858539585405854158542585435854458545585465854758548585495855058551585525855358554585555855658557585585855958560585615856258563585645856558566585675856858569585705857158572585735857458575585765857758578585795858058581585825858358584585855858658587585885858958590585915859258593585945859558596585975859858599586005860158602586035860458605586065860758608586095861058611586125861358614586155861658617586185861958620586215862258623586245862558626586275862858629586305863158632586335863458635586365863758638586395864058641586425864358644586455864658647586485864958650586515865258653586545865558656586575865858659586605866158662586635866458665586665866758668586695867058671586725867358674586755867658677586785867958680586815868258683586845868558686586875868858689586905869158692586935869458695586965869758698586995870058701587025870358704587055870658707587085870958710587115871258713587145871558716587175871858719587205872158722587235872458725587265872758728587295873058731587325873358734587355873658737587385873958740587415874258743587445874558746587475874858749587505875158752587535875458755587565875758758587595876058761587625876358764587655876658767587685876958770587715877258773587745877558776587775877858779587805878158782587835878458785587865878758788587895879058791587925879358794587955879658797587985879958800588015880258803588045880558806588075880858809588105881158812588135881458815588165881758818588195882058821588225882358824588255882658827588285882958830588315883258833588345883558836588375883858839588405884158842588435884458845588465884758848588495885058851588525885358854588555885658857588585885958860588615886258863588645886558866588675886858869588705887158872588735887458875588765887758878588795888058881588825888358884588855888658887588885888958890588915889258893588945889558896588975889858899589005890158902589035890458905589065890758908589095891058911589125891358914589155891658917589185891958920589215892258923589245892558926589275892858929589305893158932589335893458935589365893758938589395894058941589425894358944589455894658947589485894958950589515895258953589545895558956589575895858959589605896158962589635896458965589665896758968589695897058971589725897358974589755897658977589785897958980589815898258983589845898558986589875898858989589905899158992589935899458995589965899758998589995900059001590025900359004590055900659007590085900959010590115901259013590145901559016590175901859019590205902159022590235902459025590265902759028590295903059031590325903359034590355903659037590385903959040590415904259043590445904559046590475904859049590505905159052590535905459055590565905759058590595906059061590625906359064590655906659067590685906959070590715907259073590745907559076590775907859079590805908159082590835908459085590865908759088590895909059091590925909359094590955909659097590985909959100591015910259103591045910559106591075910859109591105911159112591135911459115591165911759118591195912059121591225912359124591255912659127591285912959130591315913259133591345913559136591375913859139591405914159142591435914459145591465914759148591495915059151591525915359154591555915659157591585915959160591615916259163591645916559166591675916859169591705917159172591735917459175591765917759178591795918059181591825918359184591855918659187591885918959190591915919259193591945919559196591975919859199592005920159202592035920459205592065920759208592095921059211592125921359214592155921659217592185921959220592215922259223592245922559226592275922859229592305923159232592335923459235592365923759238592395924059241592425924359244592455924659247592485924959250592515925259253592545925559256592575925859259592605926159262592635926459265592665926759268592695927059271592725927359274592755927659277592785927959280592815928259283592845928559286592875928859289592905929159292592935929459295592965929759298592995930059301593025930359304593055930659307593085930959310593115931259313593145931559316593175931859319593205932159322593235932459325593265932759328593295933059331593325933359334593355933659337593385933959340593415934259343593445934559346593475934859349593505935159352593535935459355593565935759358593595936059361593625936359364593655936659367593685936959370593715937259373593745937559376593775937859379593805938159382593835938459385593865938759388593895939059391593925939359394593955939659397593985939959400594015940259403594045940559406594075940859409594105941159412594135941459415594165941759418594195942059421594225942359424594255942659427594285942959430594315943259433594345943559436594375943859439594405944159442594435944459445594465944759448594495945059451594525945359454594555945659457594585945959460594615946259463594645946559466594675946859469594705947159472594735947459475594765947759478594795948059481594825948359484594855948659487594885948959490594915949259493594945949559496594975949859499595005950159502595035950459505595065950759508595095951059511595125951359514595155951659517595185951959520595215952259523595245952559526595275952859529595305953159532595335953459535595365953759538595395954059541595425954359544595455954659547595485954959550595515955259553595545955559556595575955859559595605956159562595635956459565595665956759568595695957059571595725957359574595755957659577595785957959580595815958259583595845958559586595875958859589595905959159592595935959459595595965959759598595995960059601596025960359604596055960659607596085960959610596115961259613596145961559616596175961859619596205962159622596235962459625596265962759628596295963059631596325963359634596355963659637596385963959640596415964259643596445964559646596475964859649596505965159652596535965459655596565965759658596595966059661596625966359664596655966659667596685966959670596715967259673596745967559676596775967859679596805968159682596835968459685596865968759688596895969059691596925969359694596955969659697596985969959700597015970259703597045970559706597075970859709597105971159712597135971459715597165971759718597195972059721597225972359724597255972659727597285972959730597315973259733597345973559736597375973859739597405974159742597435974459745597465974759748597495975059751597525975359754597555975659757597585975959760597615976259763597645976559766597675976859769597705977159772597735977459775597765977759778597795978059781597825978359784597855978659787597885978959790597915979259793597945979559796597975979859799598005980159802598035980459805598065980759808598095981059811598125981359814598155981659817598185981959820598215982259823598245982559826598275982859829598305983159832598335983459835598365983759838598395984059841598425984359844598455984659847598485984959850598515985259853598545985559856598575985859859598605986159862598635986459865598665986759868598695987059871598725987359874598755987659877598785987959880598815988259883598845988559886598875988859889598905989159892598935989459895598965989759898598995990059901599025990359904599055990659907599085990959910599115991259913599145991559916599175991859919599205992159922599235992459925599265992759928599295993059931599325993359934599355993659937599385993959940599415994259943599445994559946599475994859949599505995159952599535995459955599565995759958599595996059961599625996359964599655996659967599685996959970599715997259973599745997559976599775997859979599805998159982599835998459985599865998759988599895999059991599925999359994599955999659997599985999960000600016000260003600046000560006600076000860009600106001160012600136001460015600166001760018600196002060021600226002360024600256002660027600286002960030600316003260033600346003560036600376003860039600406004160042600436004460045600466004760048600496005060051600526005360054600556005660057600586005960060600616006260063600646006560066600676006860069600706007160072600736007460075600766007760078600796008060081600826008360084600856008660087600886008960090600916009260093600946009560096600976009860099601006010160102601036010460105601066010760108601096011060111601126011360114601156011660117601186011960120601216012260123601246012560126601276012860129601306013160132601336013460135601366013760138601396014060141601426014360144601456014660147601486014960150601516015260153601546015560156601576015860159601606016160162601636016460165601666016760168601696017060171601726017360174601756017660177601786017960180601816018260183601846018560186601876018860189601906019160192601936019460195601966019760198601996020060201602026020360204602056020660207602086020960210602116021260213602146021560216602176021860219602206022160222602236022460225602266022760228602296023060231602326023360234602356023660237602386023960240602416024260243602446024560246602476024860249602506025160252602536025460255602566025760258602596026060261602626026360264602656026660267602686026960270602716027260273602746027560276602776027860279602806028160282602836028460285602866028760288602896029060291602926029360294602956029660297602986029960300603016030260303603046030560306603076030860309603106031160312603136031460315603166031760318603196032060321603226032360324603256032660327603286032960330603316033260333603346033560336603376033860339603406034160342603436034460345603466034760348603496035060351603526035360354603556035660357603586035960360603616036260363603646036560366603676036860369603706037160372603736037460375603766037760378603796038060381603826038360384603856038660387603886038960390603916039260393603946039560396603976039860399604006040160402604036040460405604066040760408604096041060411604126041360414604156041660417604186041960420604216042260423604246042560426604276042860429604306043160432604336043460435604366043760438604396044060441604426044360444604456044660447604486044960450604516045260453604546045560456604576045860459604606046160462604636046460465604666046760468604696047060471604726047360474604756047660477604786047960480604816048260483604846048560486604876048860489604906049160492604936049460495604966049760498604996050060501605026050360504605056050660507605086050960510605116051260513605146051560516605176051860519605206052160522605236052460525605266052760528605296053060531605326053360534605356053660537605386053960540605416054260543605446054560546605476054860549605506055160552605536055460555605566055760558605596056060561605626056360564605656056660567605686056960570605716057260573605746057560576605776057860579605806058160582605836058460585605866058760588605896059060591605926059360594605956059660597605986059960600606016060260603606046060560606606076060860609606106061160612606136061460615606166061760618606196062060621606226062360624606256062660627606286062960630606316063260633606346063560636606376063860639606406064160642606436064460645606466064760648606496065060651606526065360654606556065660657606586065960660606616066260663606646066560666606676066860669606706067160672606736067460675606766067760678606796068060681606826068360684606856068660687606886068960690606916069260693606946069560696606976069860699607006070160702607036070460705607066070760708607096071060711607126071360714607156071660717607186071960720607216072260723607246072560726607276072860729607306073160732607336073460735607366073760738607396074060741607426074360744607456074660747607486074960750607516075260753607546075560756607576075860759607606076160762607636076460765607666076760768607696077060771607726077360774607756077660777607786077960780607816078260783607846078560786607876078860789607906079160792607936079460795607966079760798607996080060801608026080360804608056080660807608086080960810608116081260813608146081560816608176081860819608206082160822608236082460825608266082760828608296083060831608326083360834608356083660837608386083960840608416084260843608446084560846608476084860849608506085160852608536085460855608566085760858608596086060861608626086360864608656086660867608686086960870608716087260873608746087560876608776087860879608806088160882608836088460885608866088760888608896089060891608926089360894608956089660897608986089960900609016090260903609046090560906609076090860909609106091160912609136091460915609166091760918609196092060921609226092360924609256092660927609286092960930609316093260933609346093560936609376093860939609406094160942609436094460945609466094760948609496095060951609526095360954609556095660957609586095960960609616096260963609646096560966609676096860969609706097160972609736097460975609766097760978609796098060981609826098360984609856098660987609886098960990609916099260993609946099560996609976099860999610006100161002610036100461005610066100761008610096101061011610126101361014610156101661017610186101961020610216102261023610246102561026610276102861029610306103161032610336103461035610366103761038610396104061041610426104361044610456104661047610486104961050610516105261053610546105561056610576105861059610606106161062610636106461065610666106761068610696107061071610726107361074610756107661077610786107961080610816108261083610846108561086610876108861089610906109161092610936109461095610966109761098610996110061101611026110361104611056110661107611086110961110611116111261113611146111561116611176111861119611206112161122611236112461125611266112761128611296113061131611326113361134611356113661137611386113961140611416114261143611446114561146611476114861149611506115161152611536115461155611566115761158611596116061161611626116361164611656116661167611686116961170611716117261173611746117561176611776117861179611806118161182611836118461185611866118761188611896119061191611926119361194611956119661197611986119961200612016120261203612046120561206612076120861209612106121161212612136121461215612166121761218612196122061221612226122361224612256122661227612286122961230612316123261233612346123561236612376123861239612406124161242612436124461245612466124761248612496125061251612526125361254612556125661257612586125961260612616126261263612646126561266612676126861269612706127161272612736127461275612766127761278612796128061281612826128361284612856128661287612886128961290612916129261293612946129561296612976129861299613006130161302613036130461305613066130761308613096131061311613126131361314613156131661317613186131961320613216132261323613246132561326613276132861329613306133161332613336133461335613366133761338613396134061341613426134361344613456134661347613486134961350613516135261353613546135561356613576135861359613606136161362613636136461365613666136761368613696137061371613726137361374613756137661377613786137961380613816138261383613846138561386613876138861389613906139161392613936139461395613966139761398613996140061401614026140361404614056140661407614086140961410614116141261413614146141561416614176141861419614206142161422614236142461425614266142761428614296143061431614326143361434614356143661437614386143961440614416144261443614446144561446614476144861449614506145161452614536145461455614566145761458614596146061461614626146361464614656146661467614686146961470614716147261473614746147561476614776147861479614806148161482614836148461485614866148761488614896149061491614926149361494614956149661497614986149961500615016150261503615046150561506615076150861509615106151161512615136151461515615166151761518615196152061521615226152361524615256152661527615286152961530615316153261533615346153561536615376153861539615406154161542615436154461545615466154761548615496155061551615526155361554615556155661557615586155961560615616156261563615646156561566615676156861569615706157161572615736157461575615766157761578615796158061581615826158361584615856158661587615886158961590615916159261593615946159561596615976159861599616006160161602616036160461605616066160761608616096161061611616126161361614616156161661617616186161961620616216162261623616246162561626616276162861629616306163161632616336163461635616366163761638616396164061641616426164361644616456164661647616486164961650616516165261653616546165561656616576165861659616606166161662616636166461665616666166761668616696167061671616726167361674616756167661677616786167961680616816168261683616846168561686616876168861689616906169161692616936169461695616966169761698616996170061701617026170361704617056170661707617086170961710617116171261713617146171561716617176171861719617206172161722617236172461725617266172761728617296173061731617326173361734617356173661737617386173961740617416174261743617446174561746617476174861749617506175161752617536175461755617566175761758617596176061761617626176361764617656176661767617686176961770617716177261773617746177561776617776177861779617806178161782617836178461785617866178761788617896179061791617926179361794617956179661797617986179961800618016180261803618046180561806618076180861809618106181161812618136181461815618166181761818618196182061821618226182361824618256182661827618286182961830618316183261833618346183561836618376183861839618406184161842618436184461845618466184761848618496185061851618526185361854618556185661857618586185961860618616186261863618646186561866618676186861869618706187161872618736187461875618766187761878618796188061881618826188361884618856188661887618886188961890618916189261893618946189561896618976189861899619006190161902619036190461905619066190761908619096191061911619126191361914619156191661917619186191961920619216192261923619246192561926619276192861929619306193161932619336193461935619366193761938619396194061941619426194361944619456194661947619486194961950619516195261953619546195561956619576195861959619606196161962619636196461965619666196761968619696197061971619726197361974619756197661977619786197961980619816198261983619846198561986619876198861989619906199161992619936199461995619966199761998619996200062001620026200362004620056200662007620086200962010620116201262013620146201562016620176201862019620206202162022620236202462025620266202762028620296203062031620326203362034620356203662037620386203962040620416204262043620446204562046620476204862049620506205162052620536205462055620566205762058620596206062061620626206362064620656206662067620686206962070620716207262073620746207562076620776207862079620806208162082620836208462085620866208762088620896209062091620926209362094620956209662097620986209962100621016210262103621046210562106621076210862109621106211162112621136211462115621166211762118621196212062121621226212362124621256212662127621286212962130621316213262133621346213562136621376213862139621406214162142621436214462145621466214762148621496215062151621526215362154621556215662157621586215962160621616216262163621646216562166621676216862169621706217162172621736217462175621766217762178621796218062181621826218362184621856218662187621886218962190621916219262193621946219562196621976219862199622006220162202622036220462205622066220762208622096221062211622126221362214622156221662217622186221962220622216222262223622246222562226622276222862229622306223162232622336223462235622366223762238622396224062241622426224362244622456224662247622486224962250622516225262253622546225562256622576225862259622606226162262622636226462265622666226762268622696227062271622726227362274622756227662277622786227962280622816228262283622846228562286622876228862289622906229162292622936229462295622966229762298622996230062301623026230362304623056230662307623086230962310623116231262313623146231562316623176231862319623206232162322623236232462325623266232762328623296233062331623326233362334623356233662337623386233962340623416234262343623446234562346623476234862349623506235162352623536235462355623566235762358623596236062361623626236362364623656236662367623686236962370623716237262373623746237562376623776237862379623806238162382623836238462385623866238762388623896239062391623926239362394623956239662397623986239962400624016240262403624046240562406624076240862409624106241162412624136241462415624166241762418624196242062421624226242362424624256242662427624286242962430624316243262433624346243562436624376243862439624406244162442624436244462445624466244762448624496245062451624526245362454624556245662457624586245962460624616246262463624646246562466624676246862469624706247162472624736247462475624766247762478624796248062481624826248362484624856248662487624886248962490624916249262493624946249562496624976249862499625006250162502625036250462505625066250762508625096251062511625126251362514625156251662517625186251962520625216252262523625246252562526625276252862529625306253162532625336253462535625366253762538625396254062541625426254362544625456254662547625486254962550625516255262553625546255562556625576255862559625606256162562625636256462565625666256762568625696257062571625726257362574625756257662577625786257962580625816258262583625846258562586625876258862589625906259162592625936259462595625966259762598625996260062601626026260362604626056260662607626086260962610626116261262613626146261562616626176261862619626206262162622626236262462625626266262762628626296263062631626326263362634626356263662637626386263962640626416264262643626446264562646626476264862649626506265162652626536265462655626566265762658626596266062661626626266362664626656266662667626686266962670626716267262673626746267562676626776267862679626806268162682626836268462685626866268762688626896269062691626926269362694626956269662697626986269962700627016270262703627046270562706627076270862709627106271162712627136271462715627166271762718627196272062721627226272362724627256272662727627286272962730627316273262733627346273562736627376273862739627406274162742627436274462745627466274762748627496275062751627526275362754627556275662757627586275962760627616276262763627646276562766627676276862769627706277162772627736277462775627766277762778627796278062781627826278362784627856278662787627886278962790627916279262793627946279562796627976279862799628006280162802628036280462805628066280762808628096281062811628126281362814628156281662817628186281962820628216282262823628246282562826628276282862829628306283162832628336283462835628366283762838628396284062841628426284362844628456284662847628486284962850628516285262853628546285562856628576285862859628606286162862628636286462865628666286762868628696287062871628726287362874628756287662877628786287962880628816288262883628846288562886628876288862889628906289162892628936289462895628966289762898628996290062901629026290362904629056290662907629086290962910629116291262913629146291562916629176291862919629206292162922629236292462925629266292762928629296293062931629326293362934629356293662937629386293962940629416294262943629446294562946629476294862949629506295162952629536295462955629566295762958629596296062961629626296362964629656296662967629686296962970629716297262973629746297562976629776297862979629806298162982629836298462985629866298762988629896299062991629926299362994629956299662997629986299963000630016300263003630046300563006630076300863009630106301163012630136301463015630166301763018630196302063021630226302363024630256302663027630286302963030630316303263033630346303563036630376303863039630406304163042630436304463045630466304763048630496305063051630526305363054630556305663057630586305963060630616306263063630646306563066630676306863069630706307163072630736307463075630766307763078630796308063081630826308363084630856308663087630886308963090630916309263093630946309563096630976309863099631006310163102631036310463105631066310763108631096311063111631126311363114631156311663117631186311963120631216312263123631246312563126631276312863129631306313163132631336313463135631366313763138631396314063141631426314363144631456314663147631486314963150631516315263153631546315563156631576315863159631606316163162631636316463165631666316763168631696317063171631726317363174631756317663177631786317963180631816318263183631846318563186631876318863189631906319163192631936319463195631966319763198631996320063201632026320363204632056320663207632086320963210632116321263213632146321563216632176321863219632206322163222632236322463225632266322763228632296323063231632326323363234632356323663237632386323963240632416324263243632446324563246632476324863249632506325163252632536325463255632566325763258632596326063261632626326363264632656326663267632686326963270632716327263273632746327563276632776327863279632806328163282632836328463285632866328763288632896329063291632926329363294632956329663297632986329963300633016330263303633046330563306633076330863309633106331163312633136331463315633166331763318633196332063321633226332363324633256332663327633286332963330633316333263333633346333563336633376333863339633406334163342633436334463345633466334763348633496335063351633526335363354633556335663357633586335963360633616336263363633646336563366633676336863369633706337163372633736337463375633766337763378633796338063381633826338363384633856338663387633886338963390633916339263393633946339563396633976339863399634006340163402634036340463405634066340763408634096341063411634126341363414634156341663417634186341963420634216342263423634246342563426634276342863429634306343163432634336343463435634366343763438634396344063441634426344363444634456344663447634486344963450634516345263453634546345563456634576345863459634606346163462634636346463465634666346763468634696347063471634726347363474634756347663477634786347963480634816348263483634846348563486634876348863489634906349163492634936349463495634966349763498634996350063501635026350363504635056350663507635086350963510635116351263513635146351563516635176351863519635206352163522635236352463525635266352763528635296353063531635326353363534635356353663537635386353963540635416354263543635446354563546635476354863549635506355163552635536355463555635566355763558635596356063561635626356363564635656356663567635686356963570635716357263573635746357563576635776357863579635806358163582635836358463585635866358763588635896359063591635926359363594635956359663597635986359963600636016360263603636046360563606636076360863609636106361163612636136361463615636166361763618636196362063621636226362363624636256362663627636286362963630636316363263633636346363563636636376363863639636406364163642636436364463645636466364763648636496365063651636526365363654636556365663657636586365963660636616366263663636646366563666636676366863669636706367163672636736367463675636766367763678636796368063681636826368363684636856368663687636886368963690636916369263693636946369563696636976369863699637006370163702637036370463705637066370763708637096371063711637126371363714637156371663717637186371963720637216372263723637246372563726637276372863729637306373163732637336373463735637366373763738637396374063741637426374363744637456374663747637486374963750637516375263753637546375563756637576375863759637606376163762637636376463765637666376763768637696377063771637726377363774637756377663777637786377963780637816378263783637846378563786637876378863789637906379163792637936379463795637966379763798637996380063801638026380363804638056380663807638086380963810638116381263813638146381563816638176381863819638206382163822638236382463825638266382763828638296383063831638326383363834638356383663837638386383963840638416384263843638446384563846638476384863849638506385163852638536385463855638566385763858638596386063861638626386363864638656386663867638686386963870638716387263873638746387563876638776387863879638806388163882638836388463885638866388763888638896389063891638926389363894638956389663897638986389963900639016390263903639046390563906639076390863909639106391163912639136391463915639166391763918639196392063921639226392363924639256392663927639286392963930639316393263933639346393563936639376393863939639406394163942639436394463945639466394763948639496395063951639526395363954639556395663957639586395963960639616396263963639646396563966639676396863969639706397163972639736397463975639766397763978639796398063981639826398363984639856398663987639886398963990639916399263993639946399563996639976399863999640006400164002640036400464005640066400764008640096401064011640126401364014640156401664017640186401964020640216402264023640246402564026640276402864029640306403164032640336403464035640366403764038640396404064041640426404364044640456404664047640486404964050640516405264053640546405564056640576405864059640606406164062640636406464065640666406764068640696407064071640726407364074640756407664077640786407964080640816408264083640846408564086640876408864089640906409164092640936409464095640966409764098640996410064101641026410364104641056410664107641086410964110641116411264113641146411564116641176411864119641206412164122641236412464125641266412764128641296413064131641326413364134641356413664137641386413964140641416414264143641446414564146641476414864149641506415164152641536415464155641566415764158641596416064161641626416364164641656416664167641686416964170641716417264173641746417564176641776417864179641806418164182641836418464185641866418764188641896419064191641926419364194641956419664197641986419964200642016420264203642046420564206642076420864209642106421164212642136421464215642166421764218642196422064221642226422364224642256422664227642286422964230642316423264233642346423564236642376423864239642406424164242642436424464245642466424764248642496425064251642526425364254642556425664257642586425964260642616426264263642646426564266642676426864269642706427164272642736427464275642766427764278642796428064281642826428364284642856428664287642886428964290642916429264293642946429564296642976429864299643006430164302643036430464305643066430764308643096431064311643126431364314643156431664317643186431964320643216432264323643246432564326643276432864329643306433164332643336433464335643366433764338643396434064341643426434364344643456434664347643486434964350643516435264353643546435564356643576435864359643606436164362643636436464365643666436764368643696437064371643726437364374643756437664377643786437964380643816438264383643846438564386643876438864389643906439164392643936439464395643966439764398643996440064401644026440364404644056440664407644086440964410644116441264413644146441564416644176441864419644206442164422644236442464425644266442764428644296443064431644326443364434644356443664437644386443964440644416444264443644446444564446644476444864449644506445164452644536445464455644566445764458644596446064461644626446364464644656446664467644686446964470644716447264473644746447564476644776447864479644806448164482644836448464485644866448764488644896449064491644926449364494644956449664497644986449964500645016450264503645046450564506645076450864509645106451164512645136451464515645166451764518645196452064521645226452364524645256452664527645286452964530645316453264533645346453564536645376453864539645406454164542645436454464545645466454764548645496455064551645526455364554645556455664557645586455964560645616456264563645646456564566645676456864569645706457164572645736457464575645766457764578645796458064581645826458364584645856458664587645886458964590645916459264593645946459564596645976459864599646006460164602646036460464605646066460764608646096461064611646126461364614646156461664617646186461964620646216462264623646246462564626646276462864629646306463164632646336463464635646366463764638646396464064641646426464364644646456464664647646486464964650646516465264653646546465564656646576465864659646606466164662646636466464665646666466764668646696467064671646726467364674646756467664677646786467964680646816468264683646846468564686646876468864689646906469164692646936469464695646966469764698646996470064701647026470364704647056470664707647086470964710647116471264713647146471564716647176471864719647206472164722647236472464725647266472764728647296473064731647326473364734647356473664737647386473964740647416474264743647446474564746647476474864749647506475164752647536475464755647566475764758647596476064761647626476364764647656476664767647686476964770647716477264773647746477564776647776477864779647806478164782647836478464785647866478764788647896479064791647926479364794647956479664797647986479964800648016480264803648046480564806648076480864809648106481164812648136481464815648166481764818648196482064821648226482364824648256482664827648286482964830648316483264833648346483564836648376483864839648406484164842648436484464845648466484764848648496485064851648526485364854648556485664857648586485964860648616486264863648646486564866648676486864869648706487164872648736487464875648766487764878648796488064881648826488364884648856488664887648886488964890648916489264893648946489564896648976489864899649006490164902649036490464905649066490764908649096491064911649126491364914649156491664917649186491964920649216492264923649246492564926649276492864929649306493164932649336493464935649366493764938649396494064941649426494364944649456494664947649486494964950649516495264953649546495564956649576495864959649606496164962649636496464965649666496764968649696497064971649726497364974649756497664977649786497964980649816498264983649846498564986649876498864989649906499164992649936499464995649966499764998649996500065001650026500365004650056500665007650086500965010650116501265013650146501565016650176501865019650206502165022650236502465025650266502765028650296503065031650326503365034650356503665037650386503965040650416504265043650446504565046650476504865049650506505165052650536505465055650566505765058650596506065061650626506365064650656506665067650686506965070650716507265073650746507565076650776507865079650806508165082650836508465085650866508765088650896509065091650926509365094650956509665097650986509965100651016510265103651046510565106651076510865109651106511165112651136511465115651166511765118651196512065121651226512365124651256512665127651286512965130651316513265133651346513565136651376513865139651406514165142651436514465145651466514765148651496515065151651526515365154651556515665157651586515965160651616516265163651646516565166651676516865169651706517165172651736517465175651766517765178651796518065181651826518365184651856518665187651886518965190651916519265193651946519565196651976519865199652006520165202652036520465205652066520765208652096521065211652126521365214652156521665217652186521965220652216522265223652246522565226652276522865229652306523165232652336523465235652366523765238652396524065241652426524365244652456524665247652486524965250652516525265253652546525565256652576525865259652606526165262652636526465265652666526765268652696527065271652726527365274652756527665277652786527965280652816528265283652846528565286652876528865289652906529165292652936529465295652966529765298652996530065301653026530365304653056530665307653086530965310653116531265313653146531565316653176531865319653206532165322653236532465325653266532765328653296533065331653326533365334653356533665337653386533965340653416534265343653446534565346653476534865349653506535165352653536535465355653566535765358653596536065361653626536365364653656536665367653686536965370653716537265373653746537565376653776537865379653806538165382653836538465385653866538765388653896539065391653926539365394653956539665397653986539965400654016540265403654046540565406654076540865409654106541165412654136541465415654166541765418654196542065421654226542365424654256542665427654286542965430654316543265433654346543565436654376543865439654406544165442654436544465445654466544765448654496545065451654526545365454654556545665457654586545965460654616546265463654646546565466654676546865469654706547165472654736547465475654766547765478654796548065481654826548365484654856548665487654886548965490654916549265493654946549565496654976549865499655006550165502655036550465505655066550765508655096551065511655126551365514655156551665517655186551965520655216552265523655246552565526655276552865529655306553165532655336553465535655366553765538655396554065541655426554365544655456554665547655486554965550655516555265553655546555565556655576555865559655606556165562655636556465565655666556765568655696557065571655726557365574655756557665577655786557965580655816558265583655846558565586655876558865589655906559165592655936559465595655966559765598655996560065601656026560365604656056560665607656086560965610656116561265613656146561565616656176561865619656206562165622656236562465625656266562765628656296563065631656326563365634656356563665637656386563965640656416564265643656446564565646656476564865649656506565165652656536565465655656566565765658656596566065661656626566365664656656566665667656686566965670656716567265673656746567565676656776567865679656806568165682656836568465685656866568765688656896569065691656926569365694656956569665697656986569965700657016570265703657046570565706657076570865709657106571165712657136571465715657166571765718657196572065721657226572365724657256572665727657286572965730657316573265733657346573565736657376573865739657406574165742657436574465745657466574765748657496575065751657526575365754657556575665757657586575965760657616576265763657646576565766657676576865769657706577165772657736577465775657766577765778657796578065781657826578365784657856578665787657886578965790657916579265793657946579565796657976579865799658006580165802658036580465805658066580765808658096581065811658126581365814658156581665817658186581965820658216582265823658246582565826658276582865829658306583165832658336583465835658366583765838658396584065841658426584365844658456584665847658486584965850658516585265853658546585565856658576585865859658606586165862658636586465865658666586765868658696587065871658726587365874658756587665877658786587965880658816588265883658846588565886658876588865889658906589165892658936589465895658966589765898658996590065901659026590365904659056590665907659086590965910659116591265913659146591565916659176591865919659206592165922659236592465925659266592765928659296593065931659326593365934659356593665937659386593965940659416594265943659446594565946659476594865949659506595165952659536595465955659566595765958659596596065961659626596365964659656596665967659686596965970659716597265973659746597565976659776597865979659806598165982659836598465985659866598765988659896599065991659926599365994659956599665997659986599966000660016600266003660046600566006660076600866009660106601166012660136601466015660166601766018660196602066021660226602366024660256602666027660286602966030660316603266033660346603566036660376603866039660406604166042660436604466045660466604766048660496605066051660526605366054660556605666057660586605966060660616606266063660646606566066660676606866069660706607166072660736607466075660766607766078660796608066081660826608366084660856608666087660886608966090660916609266093660946609566096660976609866099661006610166102661036610466105661066610766108661096611066111661126611366114661156611666117661186611966120661216612266123661246612566126661276612866129661306613166132661336613466135661366613766138661396614066141661426614366144661456614666147661486614966150661516615266153661546615566156661576615866159661606616166162661636616466165661666616766168661696617066171661726617366174661756617666177661786617966180661816618266183661846618566186661876618866189661906619166192661936619466195661966619766198661996620066201662026620366204662056620666207662086620966210662116621266213662146621566216662176621866219662206622166222662236622466225662266622766228662296623066231662326623366234662356623666237662386623966240662416624266243662446624566246662476624866249662506625166252662536625466255662566625766258662596626066261662626626366264662656626666267662686626966270662716627266273662746627566276662776627866279662806628166282662836628466285662866628766288662896629066291662926629366294662956629666297662986629966300663016630266303663046630566306663076630866309663106631166312663136631466315663166631766318663196632066321663226632366324663256632666327663286632966330663316633266333663346633566336663376633866339663406634166342663436634466345663466634766348663496635066351663526635366354663556635666357663586635966360663616636266363663646636566366663676636866369663706637166372663736637466375663766637766378663796638066381663826638366384663856638666387663886638966390663916639266393663946639566396663976639866399664006640166402664036640466405664066640766408664096641066411664126641366414664156641666417664186641966420664216642266423664246642566426664276642866429664306643166432664336643466435664366643766438664396644066441664426644366444664456644666447664486644966450664516645266453664546645566456664576645866459664606646166462664636646466465664666646766468664696647066471664726647366474664756647666477664786647966480664816648266483664846648566486664876648866489664906649166492664936649466495664966649766498664996650066501665026650366504665056650666507665086650966510665116651266513665146651566516665176651866519665206652166522665236652466525665266652766528665296653066531665326653366534665356653666537665386653966540665416654266543665446654566546665476654866549665506655166552665536655466555665566655766558665596656066561665626656366564665656656666567665686656966570665716657266573665746657566576665776657866579665806658166582665836658466585665866658766588665896659066591665926659366594665956659666597665986659966600666016660266603666046660566606666076660866609666106661166612666136661466615666166661766618666196662066621666226662366624666256662666627666286662966630666316663266633666346663566636666376663866639666406664166642666436664466645666466664766648666496665066651666526665366654666556665666657666586665966660666616666266663666646666566666666676666866669666706667166672666736667466675666766667766678666796668066681666826668366684666856668666687666886668966690666916669266693666946669566696666976669866699667006670166702667036670466705667066670766708667096671066711667126671366714667156671666717667186671966720667216672266723667246672566726667276672866729667306673166732667336673466735667366673766738667396674066741667426674366744667456674666747667486674966750667516675266753667546675566756667576675866759667606676166762667636676466765667666676766768667696677066771667726677366774667756677666777667786677966780667816678266783667846678566786667876678866789667906679166792667936679466795667966679766798667996680066801668026680366804668056680666807668086680966810668116681266813668146681566816668176681866819668206682166822668236682466825668266682766828668296683066831668326683366834668356683666837668386683966840668416684266843668446684566846668476684866849668506685166852668536685466855668566685766858668596686066861668626686366864668656686666867668686686966870668716687266873668746687566876668776687866879668806688166882668836688466885668866688766888668896689066891668926689366894668956689666897668986689966900669016690266903669046690566906669076690866909669106691166912669136691466915669166691766918669196692066921669226692366924669256692666927669286692966930669316693266933669346693566936669376693866939669406694166942669436694466945669466694766948669496695066951669526695366954669556695666957669586695966960669616696266963669646696566966669676696866969669706697166972669736697466975669766697766978669796698066981669826698366984669856698666987669886698966990669916699266993669946699566996669976699866999670006700167002670036700467005670066700767008670096701067011670126701367014670156701667017670186701967020670216702267023670246702567026670276702867029670306703167032670336703467035670366703767038670396704067041670426704367044670456704667047670486704967050670516705267053670546705567056670576705867059670606706167062670636706467065670666706767068670696707067071670726707367074670756707667077670786707967080670816708267083670846708567086670876708867089670906709167092670936709467095670966709767098670996710067101671026710367104671056710667107671086710967110671116711267113671146711567116671176711867119671206712167122671236712467125671266712767128671296713067131671326713367134671356713667137671386713967140671416714267143671446714567146671476714867149671506715167152671536715467155671566715767158671596716067161671626716367164671656716667167671686716967170671716717267173671746717567176671776717867179671806718167182671836718467185671866718767188671896719067191671926719367194671956719667197671986719967200672016720267203672046720567206672076720867209672106721167212672136721467215672166721767218672196722067221672226722367224672256722667227672286722967230672316723267233672346723567236672376723867239672406724167242672436724467245672466724767248672496725067251672526725367254672556725667257672586725967260672616726267263672646726567266672676726867269672706727167272672736727467275672766727767278672796728067281672826728367284672856728667287672886728967290672916729267293672946729567296672976729867299673006730167302673036730467305673066730767308673096731067311673126731367314673156731667317673186731967320673216732267323673246732567326673276732867329673306733167332673336733467335673366733767338673396734067341673426734367344673456734667347673486734967350673516735267353673546735567356673576735867359673606736167362673636736467365673666736767368673696737067371673726737367374673756737667377673786737967380673816738267383673846738567386673876738867389673906739167392673936739467395673966739767398673996740067401674026740367404674056740667407674086740967410674116741267413674146741567416674176741867419674206742167422674236742467425674266742767428674296743067431674326743367434674356743667437674386743967440674416744267443674446744567446674476744867449674506745167452674536745467455674566745767458674596746067461674626746367464674656746667467674686746967470674716747267473674746747567476674776747867479674806748167482674836748467485674866748767488674896749067491674926749367494674956749667497674986749967500675016750267503675046750567506675076750867509675106751167512675136751467515675166751767518675196752067521675226752367524675256752667527675286752967530675316753267533675346753567536675376753867539675406754167542675436754467545675466754767548675496755067551675526755367554675556755667557675586755967560675616756267563675646756567566675676756867569675706757167572675736757467575675766757767578675796758067581675826758367584675856758667587675886758967590675916759267593675946759567596675976759867599676006760167602676036760467605676066760767608676096761067611676126761367614676156761667617676186761967620676216762267623676246762567626676276762867629676306763167632676336763467635676366763767638676396764067641676426764367644676456764667647676486764967650676516765267653676546765567656676576765867659676606766167662676636766467665676666766767668676696767067671676726767367674676756767667677676786767967680676816768267683676846768567686676876768867689676906769167692676936769467695676966769767698676996770067701677026770367704677056770667707677086770967710677116771267713677146771567716677176771867719677206772167722677236772467725677266772767728677296773067731677326773367734677356773667737677386773967740677416774267743677446774567746677476774867749677506775167752677536775467755677566775767758677596776067761677626776367764677656776667767677686776967770677716777267773677746777567776677776777867779677806778167782677836778467785677866778767788677896779067791677926779367794677956779667797677986779967800678016780267803678046780567806678076780867809678106781167812678136781467815678166781767818678196782067821678226782367824678256782667827678286782967830678316783267833678346783567836678376783867839678406784167842678436784467845678466784767848678496785067851678526785367854678556785667857678586785967860678616786267863678646786567866678676786867869678706787167872678736787467875678766787767878678796788067881678826788367884678856788667887678886788967890678916789267893678946789567896678976789867899679006790167902679036790467905679066790767908679096791067911679126791367914679156791667917679186791967920679216792267923679246792567926679276792867929679306793167932679336793467935679366793767938679396794067941679426794367944679456794667947679486794967950679516795267953679546795567956679576795867959679606796167962679636796467965679666796767968679696797067971679726797367974679756797667977679786797967980679816798267983679846798567986679876798867989679906799167992679936799467995679966799767998679996800068001680026800368004680056800668007680086800968010680116801268013680146801568016680176801868019680206802168022680236802468025680266802768028680296803068031680326803368034680356803668037680386803968040680416804268043680446804568046680476804868049680506805168052680536805468055680566805768058680596806068061680626806368064680656806668067680686806968070680716807268073680746807568076680776807868079680806808168082680836808468085680866808768088680896809068091680926809368094680956809668097680986809968100681016810268103681046810568106681076810868109681106811168112681136811468115681166811768118681196812068121681226812368124681256812668127681286812968130681316813268133681346813568136681376813868139681406814168142681436814468145681466814768148681496815068151681526815368154681556815668157681586815968160681616816268163681646816568166681676816868169681706817168172681736817468175681766817768178681796818068181681826818368184681856818668187681886818968190681916819268193681946819568196681976819868199682006820168202682036820468205682066820768208682096821068211682126821368214682156821668217682186821968220682216822268223682246822568226682276822868229682306823168232682336823468235682366823768238682396824068241682426824368244682456824668247682486824968250682516825268253682546825568256682576825868259682606826168262682636826468265682666826768268682696827068271682726827368274682756827668277682786827968280682816828268283682846828568286682876828868289682906829168292682936829468295682966829768298682996830068301683026830368304683056830668307683086830968310683116831268313683146831568316683176831868319683206832168322683236832468325683266832768328683296833068331683326833368334683356833668337683386833968340683416834268343683446834568346683476834868349683506835168352683536835468355683566835768358683596836068361683626836368364683656836668367683686836968370683716837268373683746837568376683776837868379683806838168382683836838468385683866838768388683896839068391683926839368394683956839668397683986839968400684016840268403684046840568406684076840868409684106841168412684136841468415684166841768418684196842068421684226842368424684256842668427684286842968430684316843268433684346843568436684376843868439684406844168442684436844468445684466844768448684496845068451684526845368454684556845668457684586845968460684616846268463684646846568466684676846868469684706847168472684736847468475684766847768478684796848068481684826848368484684856848668487684886848968490684916849268493684946849568496684976849868499685006850168502685036850468505685066850768508685096851068511685126851368514685156851668517685186851968520685216852268523685246852568526685276852868529685306853168532685336853468535685366853768538685396854068541685426854368544685456854668547685486854968550685516855268553685546855568556685576855868559685606856168562685636856468565685666856768568685696857068571685726857368574685756857668577685786857968580685816858268583685846858568586685876858868589685906859168592685936859468595685966859768598685996860068601686026860368604686056860668607686086860968610686116861268613686146861568616686176861868619686206862168622686236862468625686266862768628686296863068631686326863368634686356863668637686386863968640686416864268643686446864568646686476864868649686506865168652686536865468655686566865768658686596866068661686626866368664686656866668667686686866968670686716867268673686746867568676686776867868679686806868168682686836868468685686866868768688686896869068691686926869368694686956869668697686986869968700687016870268703687046870568706687076870868709687106871168712687136871468715687166871768718687196872068721687226872368724687256872668727687286872968730687316873268733687346873568736687376873868739687406874168742687436874468745687466874768748687496875068751687526875368754687556875668757687586875968760687616876268763687646876568766687676876868769687706877168772687736877468775687766877768778687796878068781687826878368784687856878668787687886878968790687916879268793687946879568796687976879868799688006880168802688036880468805688066880768808688096881068811688126881368814688156881668817688186881968820688216882268823688246882568826688276882868829688306883168832688336883468835688366883768838688396884068841688426884368844688456884668847688486884968850688516885268853688546885568856688576885868859688606886168862688636886468865688666886768868688696887068871688726887368874688756887668877688786887968880688816888268883688846888568886688876888868889688906889168892688936889468895688966889768898688996890068901689026890368904689056890668907689086890968910689116891268913689146891568916689176891868919689206892168922689236892468925689266892768928689296893068931689326893368934689356893668937689386893968940689416894268943689446894568946689476894868949689506895168952689536895468955689566895768958689596896068961689626896368964689656896668967689686896968970689716897268973689746897568976689776897868979689806898168982689836898468985689866898768988689896899068991689926899368994689956899668997689986899969000690016900269003690046900569006690076900869009690106901169012690136901469015690166901769018690196902069021690226902369024690256902669027690286902969030690316903269033690346903569036690376903869039690406904169042690436904469045690466904769048690496905069051690526905369054690556905669057690586905969060690616906269063690646906569066690676906869069690706907169072690736907469075690766907769078690796908069081690826908369084690856908669087690886908969090690916909269093690946909569096690976909869099691006910169102691036910469105691066910769108691096911069111691126911369114691156911669117691186911969120691216912269123691246912569126691276912869129691306913169132691336913469135691366913769138691396914069141691426914369144691456914669147691486914969150691516915269153691546915569156691576915869159691606916169162691636916469165691666916769168691696917069171691726917369174691756917669177691786917969180691816918269183691846918569186691876918869189691906919169192691936919469195691966919769198691996920069201692026920369204692056920669207692086920969210692116921269213692146921569216692176921869219692206922169222692236922469225692266922769228692296923069231692326923369234692356923669237692386923969240692416924269243692446924569246692476924869249692506925169252692536925469255692566925769258692596926069261692626926369264692656926669267692686926969270692716927269273692746927569276692776927869279692806928169282692836928469285692866928769288692896929069291692926929369294692956929669297692986929969300693016930269303693046930569306693076930869309693106931169312693136931469315693166931769318693196932069321693226932369324693256932669327693286932969330693316933269333693346933569336693376933869339693406934169342693436934469345693466934769348693496935069351693526935369354693556935669357693586935969360693616936269363693646936569366693676936869369693706937169372693736937469375693766937769378693796938069381693826938369384693856938669387693886938969390693916939269393693946939569396693976939869399694006940169402694036940469405694066940769408694096941069411694126941369414694156941669417694186941969420694216942269423694246942569426694276942869429694306943169432694336943469435694366943769438694396944069441694426944369444694456944669447694486944969450694516945269453694546945569456694576945869459694606946169462694636946469465694666946769468694696947069471694726947369474694756947669477694786947969480694816948269483694846948569486694876948869489694906949169492694936949469495694966949769498694996950069501695026950369504695056950669507695086950969510695116951269513695146951569516695176951869519695206952169522695236952469525695266952769528695296953069531695326953369534695356953669537695386953969540695416954269543695446954569546695476954869549695506955169552695536955469555695566955769558695596956069561695626956369564695656956669567695686956969570695716957269573695746957569576695776957869579695806958169582695836958469585695866958769588695896959069591695926959369594695956959669597695986959969600696016960269603696046960569606696076960869609696106961169612696136961469615696166961769618696196962069621696226962369624696256962669627696286962969630696316963269633696346963569636696376963869639696406964169642696436964469645696466964769648696496965069651696526965369654696556965669657696586965969660696616966269663696646966569666696676966869669696706967169672696736967469675696766967769678696796968069681696826968369684696856968669687696886968969690696916969269693696946969569696696976969869699697006970169702697036970469705697066970769708697096971069711697126971369714697156971669717697186971969720697216972269723697246972569726697276972869729697306973169732697336973469735697366973769738697396974069741697426974369744697456974669747697486974969750697516975269753697546975569756697576975869759697606976169762697636976469765697666976769768697696977069771697726977369774697756977669777697786977969780697816978269783697846978569786697876978869789697906979169792697936979469795697966979769798697996980069801698026980369804698056980669807698086980969810698116981269813698146981569816698176981869819698206982169822698236982469825698266982769828698296983069831698326983369834698356983669837698386983969840698416984269843698446984569846698476984869849698506985169852698536985469855698566985769858698596986069861698626986369864698656986669867698686986969870698716987269873698746987569876698776987869879698806988169882698836988469885698866988769888698896989069891698926989369894698956989669897698986989969900699016990269903699046990569906699076990869909699106991169912699136991469915699166991769918699196992069921699226992369924699256992669927699286992969930699316993269933699346993569936699376993869939699406994169942699436994469945699466994769948699496995069951699526995369954699556995669957699586995969960699616996269963699646996569966699676996869969699706997169972699736997469975699766997769978699796998069981699826998369984699856998669987699886998969990699916999269993699946999569996699976999869999700007000170002700037000470005700067000770008700097001070011700127001370014700157001670017700187001970020700217002270023700247002570026700277002870029700307003170032700337003470035700367003770038700397004070041700427004370044700457004670047700487004970050700517005270053700547005570056700577005870059700607006170062700637006470065700667006770068700697007070071700727007370074700757007670077700787007970080700817008270083700847008570086700877008870089700907009170092700937009470095700967009770098700997010070101701027010370104701057010670107701087010970110701117011270113701147011570116701177011870119701207012170122701237012470125701267012770128701297013070131701327013370134701357013670137701387013970140701417014270143701447014570146701477014870149701507015170152701537015470155701567015770158701597016070161701627016370164701657016670167701687016970170701717017270173701747017570176701777017870179701807018170182701837018470185701867018770188701897019070191701927019370194701957019670197701987019970200702017020270203702047020570206702077020870209702107021170212702137021470215702167021770218702197022070221702227022370224702257022670227702287022970230702317023270233702347023570236702377023870239702407024170242702437024470245702467024770248702497025070251702527025370254702557025670257702587025970260702617026270263702647026570266702677026870269702707027170272702737027470275702767027770278702797028070281702827028370284702857028670287702887028970290702917029270293702947029570296702977029870299703007030170302703037030470305703067030770308703097031070311703127031370314703157031670317703187031970320703217032270323703247032570326703277032870329703307033170332703337033470335703367033770338703397034070341703427034370344703457034670347703487034970350703517035270353703547035570356703577035870359703607036170362703637036470365703667036770368703697037070371703727037370374703757037670377703787037970380703817038270383703847038570386703877038870389703907039170392703937039470395703967039770398703997040070401704027040370404704057040670407704087040970410704117041270413704147041570416704177041870419704207042170422704237042470425704267042770428704297043070431704327043370434704357043670437704387043970440704417044270443704447044570446704477044870449704507045170452704537045470455704567045770458704597046070461704627046370464704657046670467704687046970470704717047270473704747047570476704777047870479704807048170482704837048470485704867048770488704897049070491704927049370494704957049670497704987049970500705017050270503705047050570506705077050870509705107051170512705137051470515705167051770518705197052070521705227052370524705257052670527705287052970530705317053270533705347053570536705377053870539705407054170542705437054470545705467054770548705497055070551705527055370554705557055670557705587055970560705617056270563705647056570566705677056870569705707057170572705737057470575705767057770578705797058070581705827058370584705857058670587705887058970590705917059270593705947059570596705977059870599706007060170602706037060470605706067060770608706097061070611706127061370614706157061670617706187061970620706217062270623706247062570626706277062870629706307063170632706337063470635706367063770638706397064070641706427064370644706457064670647706487064970650706517065270653706547065570656706577065870659706607066170662706637066470665706667066770668706697067070671706727067370674706757067670677706787067970680706817068270683706847068570686706877068870689706907069170692706937069470695706967069770698706997070070701707027070370704707057070670707707087070970710707117071270713707147071570716707177071870719707207072170722707237072470725707267072770728707297073070731707327073370734707357073670737707387073970740707417074270743707447074570746707477074870749707507075170752707537075470755707567075770758707597076070761707627076370764707657076670767707687076970770707717077270773707747077570776707777077870779707807078170782707837078470785707867078770788707897079070791707927079370794707957079670797707987079970800708017080270803708047080570806708077080870809708107081170812708137081470815708167081770818708197082070821708227082370824708257082670827708287082970830708317083270833708347083570836708377083870839708407084170842708437084470845708467084770848708497085070851708527085370854708557085670857708587085970860708617086270863708647086570866708677086870869708707087170872708737087470875708767087770878708797088070881708827088370884708857088670887708887088970890708917089270893708947089570896708977089870899709007090170902709037090470905709067090770908709097091070911709127091370914709157091670917709187091970920709217092270923709247092570926709277092870929709307093170932709337093470935709367093770938709397094070941709427094370944709457094670947709487094970950709517095270953709547095570956709577095870959709607096170962709637096470965709667096770968709697097070971709727097370974709757097670977709787097970980709817098270983709847098570986709877098870989709907099170992709937099470995709967099770998709997100071001710027100371004710057100671007710087100971010710117101271013710147101571016710177101871019710207102171022710237102471025710267102771028710297103071031710327103371034710357103671037710387103971040710417104271043710447104571046710477104871049710507105171052710537105471055710567105771058710597106071061710627106371064710657106671067710687106971070710717107271073710747107571076710777107871079710807108171082710837108471085710867108771088710897109071091710927109371094710957109671097710987109971100711017110271103711047110571106711077110871109711107111171112711137111471115711167111771118711197112071121711227112371124711257112671127711287112971130711317113271133711347113571136711377113871139711407114171142711437114471145711467114771148711497115071151711527115371154711557115671157711587115971160711617116271163711647116571166711677116871169711707117171172711737117471175711767117771178711797118071181711827118371184711857118671187711887118971190711917119271193711947119571196711977119871199712007120171202712037120471205712067120771208712097121071211712127121371214712157121671217712187121971220712217122271223712247122571226712277122871229712307123171232712337123471235712367123771238712397124071241712427124371244712457124671247712487124971250712517125271253712547125571256712577125871259712607126171262712637126471265712667126771268712697127071271712727127371274712757127671277712787127971280712817128271283712847128571286712877128871289712907129171292712937129471295712967129771298712997130071301713027130371304713057130671307713087130971310713117131271313713147131571316713177131871319713207132171322713237132471325713267132771328713297133071331713327133371334713357133671337713387133971340713417134271343713447134571346713477134871349713507135171352713537135471355713567135771358713597136071361713627136371364713657136671367713687136971370713717137271373713747137571376713777137871379713807138171382713837138471385713867138771388713897139071391713927139371394713957139671397713987139971400714017140271403714047140571406714077140871409714107141171412714137141471415714167141771418714197142071421714227142371424714257142671427714287142971430714317143271433714347143571436714377143871439714407144171442714437144471445714467144771448714497145071451714527145371454714557145671457714587145971460714617146271463714647146571466714677146871469714707147171472714737147471475714767147771478714797148071481714827148371484714857148671487714887148971490714917149271493714947149571496714977149871499715007150171502715037150471505715067150771508715097151071511715127151371514715157151671517715187151971520715217152271523715247152571526715277152871529715307153171532715337153471535715367153771538715397154071541715427154371544715457154671547715487154971550715517155271553715547155571556715577155871559715607156171562715637156471565715667156771568715697157071571715727157371574715757157671577715787157971580715817158271583715847158571586715877158871589715907159171592715937159471595715967159771598715997160071601716027160371604716057160671607716087160971610716117161271613716147161571616716177161871619716207162171622716237162471625716267162771628716297163071631716327163371634716357163671637716387163971640716417164271643716447164571646716477164871649716507165171652716537165471655716567165771658716597166071661716627166371664716657166671667716687166971670716717167271673716747167571676716777167871679716807168171682716837168471685716867168771688716897169071691716927169371694716957169671697716987169971700717017170271703717047170571706717077170871709717107171171712717137171471715717167171771718717197172071721717227172371724717257172671727717287172971730717317173271733717347173571736717377173871739717407174171742717437174471745717467174771748717497175071751717527175371754717557175671757717587175971760717617176271763717647176571766717677176871769717707177171772717737177471775717767177771778717797178071781717827178371784717857178671787717887178971790717917179271793717947179571796717977179871799718007180171802718037180471805718067180771808718097181071811718127181371814718157181671817718187181971820718217182271823718247182571826718277182871829718307183171832718337183471835718367183771838718397184071841718427184371844718457184671847718487184971850718517185271853718547185571856718577185871859718607186171862718637186471865718667186771868718697187071871718727187371874718757187671877718787187971880718817188271883718847188571886718877188871889718907189171892718937189471895718967189771898718997190071901719027190371904719057190671907719087190971910719117191271913719147191571916719177191871919719207192171922719237192471925719267192771928719297193071931719327193371934719357193671937719387193971940719417194271943719447194571946719477194871949719507195171952719537195471955719567195771958719597196071961719627196371964719657196671967719687196971970719717197271973719747197571976719777197871979719807198171982719837198471985719867198771988719897199071991719927199371994719957199671997719987199972000720017200272003720047200572006720077200872009720107201172012720137201472015720167201772018720197202072021720227202372024720257202672027720287202972030720317203272033720347203572036720377203872039720407204172042720437204472045720467204772048720497205072051720527205372054720557205672057720587205972060720617206272063720647206572066720677206872069720707207172072720737207472075720767207772078720797208072081720827208372084720857208672087720887208972090720917209272093720947209572096720977209872099721007210172102721037210472105721067210772108721097211072111721127211372114721157211672117721187211972120721217212272123721247212572126721277212872129721307213172132721337213472135721367213772138721397214072141721427214372144721457214672147721487214972150721517215272153721547215572156721577215872159721607216172162721637216472165721667216772168721697217072171721727217372174721757217672177721787217972180721817218272183721847218572186721877218872189721907219172192721937219472195721967219772198721997220072201722027220372204722057220672207722087220972210722117221272213722147221572216722177221872219722207222172222722237222472225722267222772228722297223072231722327223372234722357223672237722387223972240722417224272243722447224572246722477224872249722507225172252722537225472255722567225772258722597226072261722627226372264722657226672267722687226972270722717227272273722747227572276722777227872279722807228172282722837228472285722867228772288722897229072291722927229372294722957229672297722987229972300723017230272303723047230572306723077230872309723107231172312723137231472315723167231772318723197232072321723227232372324723257232672327723287232972330723317233272333723347233572336723377233872339723407234172342723437234472345723467234772348723497235072351723527235372354723557235672357723587235972360723617236272363723647236572366723677236872369723707237172372723737237472375723767237772378723797238072381723827238372384723857238672387723887238972390723917239272393723947239572396723977239872399724007240172402724037240472405724067240772408724097241072411724127241372414724157241672417724187241972420724217242272423724247242572426724277242872429724307243172432724337243472435724367243772438724397244072441724427244372444724457244672447724487244972450724517245272453724547245572456724577245872459724607246172462724637246472465724667246772468724697247072471724727247372474724757247672477724787247972480724817248272483724847248572486724877248872489724907249172492724937249472495724967249772498724997250072501725027250372504725057250672507725087250972510725117251272513725147251572516725177251872519725207252172522725237252472525725267252772528725297253072531725327253372534725357253672537725387253972540725417254272543725447254572546725477254872549725507255172552725537255472555725567255772558725597256072561725627256372564725657256672567725687256972570725717257272573725747257572576725777257872579725807258172582725837258472585725867258772588725897259072591725927259372594725957259672597725987259972600726017260272603726047260572606726077260872609726107261172612726137261472615726167261772618726197262072621726227262372624726257262672627726287262972630726317263272633726347263572636726377263872639726407264172642726437264472645726467264772648726497265072651726527265372654726557265672657726587265972660726617266272663726647266572666726677266872669726707267172672726737267472675726767267772678726797268072681726827268372684726857268672687726887268972690726917269272693726947269572696726977269872699727007270172702727037270472705727067270772708727097271072711727127271372714727157271672717727187271972720727217272272723727247272572726727277272872729727307273172732727337273472735727367273772738727397274072741727427274372744727457274672747727487274972750727517275272753727547275572756727577275872759727607276172762727637276472765727667276772768727697277072771727727277372774727757277672777727787277972780727817278272783727847278572786727877278872789727907279172792727937279472795727967279772798727997280072801728027280372804728057280672807728087280972810728117281272813728147281572816728177281872819728207282172822728237282472825728267282772828728297283072831728327283372834728357283672837728387283972840728417284272843728447284572846728477284872849728507285172852728537285472855728567285772858728597286072861728627286372864728657286672867728687286972870728717287272873728747287572876728777287872879728807288172882728837288472885728867288772888728897289072891728927289372894728957289672897728987289972900729017290272903729047290572906729077290872909729107291172912729137291472915729167291772918729197292072921729227292372924729257292672927729287292972930729317293272933729347293572936729377293872939729407294172942729437294472945729467294772948729497295072951729527295372954729557295672957729587295972960729617296272963729647296572966729677296872969729707297172972729737297472975729767297772978729797298072981729827298372984729857298672987729887298972990729917299272993729947299572996729977299872999730007300173002730037300473005730067300773008730097301073011730127301373014730157301673017730187301973020730217302273023730247302573026730277302873029730307303173032730337303473035730367303773038730397304073041730427304373044730457304673047730487304973050730517305273053730547305573056730577305873059730607306173062730637306473065730667306773068730697307073071730727307373074730757307673077730787307973080730817308273083730847308573086730877308873089730907309173092730937309473095730967309773098730997310073101731027310373104731057310673107731087310973110731117311273113731147311573116731177311873119731207312173122731237312473125731267312773128731297313073131731327313373134731357313673137731387313973140731417314273143731447314573146731477314873149731507315173152731537315473155731567315773158731597316073161731627316373164731657316673167731687316973170731717317273173731747317573176731777317873179731807318173182731837318473185731867318773188731897319073191731927319373194731957319673197731987319973200732017320273203732047320573206732077320873209732107321173212732137321473215732167321773218732197322073221732227322373224732257322673227732287322973230732317323273233732347323573236732377323873239732407324173242732437324473245732467324773248732497325073251732527325373254732557325673257732587325973260732617326273263732647326573266732677326873269732707327173272732737327473275732767327773278732797328073281732827328373284732857328673287732887328973290732917329273293732947329573296732977329873299733007330173302733037330473305733067330773308733097331073311733127331373314733157331673317733187331973320733217332273323733247332573326733277332873329733307333173332733337333473335733367333773338733397334073341733427334373344733457334673347733487334973350733517335273353733547335573356733577335873359733607336173362733637336473365733667336773368733697337073371733727337373374733757337673377733787337973380733817338273383733847338573386733877338873389733907339173392733937339473395733967339773398733997340073401734027340373404734057340673407734087340973410734117341273413734147341573416734177341873419734207342173422734237342473425734267342773428734297343073431734327343373434734357343673437734387343973440734417344273443734447344573446734477344873449734507345173452734537345473455734567345773458734597346073461734627346373464734657346673467734687346973470734717347273473734747347573476734777347873479734807348173482734837348473485734867348773488734897349073491734927349373494734957349673497734987349973500735017350273503735047350573506735077350873509735107351173512735137351473515735167351773518735197352073521735227352373524735257352673527735287352973530735317353273533735347353573536735377353873539735407354173542735437354473545735467354773548735497355073551735527355373554735557355673557735587355973560735617356273563735647356573566735677356873569735707357173572735737357473575735767357773578735797358073581735827358373584735857358673587735887358973590735917359273593735947359573596735977359873599736007360173602736037360473605736067360773608736097361073611736127361373614736157361673617736187361973620736217362273623736247362573626736277362873629736307363173632736337363473635736367363773638736397364073641736427364373644736457364673647736487364973650736517365273653736547365573656736577365873659736607366173662736637366473665736667366773668736697367073671736727367373674736757367673677736787367973680736817368273683736847368573686736877368873689736907369173692736937369473695736967369773698736997370073701737027370373704737057370673707737087370973710737117371273713737147371573716737177371873719737207372173722737237372473725737267372773728737297373073731737327373373734737357373673737737387373973740737417374273743737447374573746737477374873749737507375173752737537375473755737567375773758737597376073761737627376373764737657376673767737687376973770737717377273773737747377573776737777377873779737807378173782737837378473785737867378773788737897379073791737927379373794737957379673797737987379973800738017380273803738047380573806738077380873809738107381173812738137381473815738167381773818738197382073821738227382373824738257382673827738287382973830738317383273833738347383573836738377383873839738407384173842738437384473845738467384773848738497385073851738527385373854738557385673857738587385973860738617386273863738647386573866738677386873869738707387173872738737387473875738767387773878738797388073881738827388373884738857388673887738887388973890738917389273893738947389573896738977389873899739007390173902739037390473905739067390773908739097391073911739127391373914739157391673917739187391973920739217392273923739247392573926739277392873929739307393173932739337393473935739367393773938739397394073941739427394373944739457394673947739487394973950739517395273953739547395573956739577395873959739607396173962739637396473965739667396773968739697397073971739727397373974739757397673977739787397973980739817398273983739847398573986739877398873989739907399173992739937399473995739967399773998739997400074001740027400374004740057400674007740087400974010740117401274013740147401574016740177401874019740207402174022740237402474025740267402774028740297403074031740327403374034740357403674037740387403974040740417404274043740447404574046740477404874049740507405174052740537405474055740567405774058740597406074061740627406374064740657406674067740687406974070740717407274073740747407574076740777407874079740807408174082740837408474085740867408774088740897409074091740927409374094740957409674097740987409974100741017410274103741047410574106741077410874109741107411174112741137411474115741167411774118741197412074121741227412374124741257412674127741287412974130741317413274133741347413574136741377413874139741407414174142741437414474145741467414774148741497415074151741527415374154741557415674157741587415974160741617416274163741647416574166741677416874169741707417174172741737417474175741767417774178741797418074181741827418374184741857418674187741887418974190741917419274193741947419574196741977419874199742007420174202742037420474205742067420774208742097421074211742127421374214742157421674217742187421974220742217422274223742247422574226742277422874229742307423174232742337423474235742367423774238742397424074241742427424374244742457424674247742487424974250742517425274253742547425574256742577425874259742607426174262742637426474265742667426774268742697427074271742727427374274742757427674277742787427974280742817428274283742847428574286742877428874289742907429174292742937429474295742967429774298742997430074301743027430374304743057430674307743087430974310743117431274313743147431574316743177431874319743207432174322743237432474325743267432774328743297433074331743327433374334743357433674337743387433974340743417434274343743447434574346743477434874349743507435174352743537435474355743567435774358743597436074361743627436374364743657436674367743687436974370743717437274373743747437574376743777437874379743807438174382743837438474385743867438774388743897439074391743927439374394743957439674397743987439974400744017440274403744047440574406744077440874409744107441174412744137441474415744167441774418744197442074421744227442374424744257442674427744287442974430744317443274433744347443574436744377443874439744407444174442744437444474445744467444774448744497445074451744527445374454744557445674457744587445974460744617446274463744647446574466744677446874469744707447174472744737447474475744767447774478744797448074481744827448374484744857448674487744887448974490744917449274493744947449574496744977449874499745007450174502745037450474505745067450774508745097451074511745127451374514745157451674517745187451974520745217452274523745247452574526745277452874529745307453174532745337453474535745367453774538745397454074541745427454374544745457454674547745487454974550745517455274553745547455574556745577455874559745607456174562745637456474565745667456774568745697457074571745727457374574745757457674577745787457974580745817458274583745847458574586745877458874589745907459174592745937459474595745967459774598745997460074601746027460374604746057460674607746087460974610746117461274613746147461574616746177461874619746207462174622746237462474625746267462774628746297463074631746327463374634746357463674637746387463974640746417464274643746447464574646746477464874649746507465174652746537465474655746567465774658746597466074661746627466374664746657466674667746687466974670746717467274673746747467574676746777467874679746807468174682746837468474685746867468774688746897469074691746927469374694746957469674697746987469974700747017470274703747047470574706747077470874709747107471174712747137471474715747167471774718747197472074721747227472374724747257472674727747287472974730747317473274733747347473574736747377473874739747407474174742747437474474745747467474774748747497475074751747527475374754747557475674757747587475974760747617476274763747647476574766747677476874769747707477174772747737477474775747767477774778747797478074781747827478374784747857478674787747887478974790747917479274793747947479574796747977479874799748007480174802748037480474805748067480774808748097481074811748127481374814748157481674817748187481974820748217482274823748247482574826748277482874829748307483174832748337483474835748367483774838748397484074841748427484374844748457484674847748487484974850748517485274853748547485574856748577485874859748607486174862748637486474865748667486774868748697487074871748727487374874748757487674877748787487974880748817488274883748847488574886748877488874889748907489174892748937489474895748967489774898748997490074901749027490374904749057490674907749087490974910749117491274913749147491574916749177491874919749207492174922749237492474925749267492774928749297493074931749327493374934749357493674937749387493974940749417494274943749447494574946749477494874949749507495174952749537495474955749567495774958749597496074961749627496374964749657496674967749687496974970749717497274973749747497574976749777497874979749807498174982749837498474985749867498774988749897499074991749927499374994749957499674997749987499975000750017500275003750047500575006750077500875009750107501175012750137501475015750167501775018750197502075021750227502375024750257502675027750287502975030750317503275033750347503575036750377503875039750407504175042750437504475045750467504775048750497505075051750527505375054750557505675057750587505975060750617506275063750647506575066750677506875069750707507175072750737507475075750767507775078750797508075081750827508375084750857508675087750887508975090750917509275093750947509575096750977509875099751007510175102751037510475105751067510775108751097511075111751127511375114751157511675117751187511975120751217512275123751247512575126751277512875129751307513175132751337513475135751367513775138751397514075141751427514375144751457514675147751487514975150751517515275153751547515575156751577515875159751607516175162751637516475165751667516775168751697517075171751727517375174751757517675177751787517975180751817518275183751847518575186751877518875189751907519175192751937519475195751967519775198751997520075201752027520375204752057520675207752087520975210752117521275213752147521575216752177521875219752207522175222752237522475225752267522775228752297523075231752327523375234752357523675237752387523975240752417524275243752447524575246752477524875249752507525175252752537525475255752567525775258752597526075261752627526375264752657526675267752687526975270752717527275273752747527575276752777527875279752807528175282752837528475285752867528775288752897529075291752927529375294752957529675297752987529975300753017530275303753047530575306753077530875309753107531175312753137531475315753167531775318753197532075321753227532375324753257532675327753287532975330753317533275333753347533575336753377533875339753407534175342753437534475345753467534775348753497535075351753527535375354753557535675357753587535975360753617536275363753647536575366753677536875369753707537175372753737537475375753767537775378753797538075381753827538375384753857538675387753887538975390753917539275393753947539575396753977539875399754007540175402754037540475405754067540775408754097541075411754127541375414754157541675417754187541975420754217542275423754247542575426754277542875429754307543175432754337543475435754367543775438754397544075441754427544375444754457544675447754487544975450754517545275453754547545575456754577545875459754607546175462754637546475465754667546775468754697547075471754727547375474754757547675477754787547975480754817548275483754847548575486754877548875489754907549175492754937549475495754967549775498754997550075501755027550375504755057550675507755087550975510755117551275513755147551575516755177551875519755207552175522755237552475525755267552775528755297553075531755327553375534755357553675537755387553975540755417554275543755447554575546755477554875549755507555175552755537555475555755567555775558755597556075561755627556375564755657556675567755687556975570755717557275573755747557575576755777557875579755807558175582755837558475585755867558775588755897559075591755927559375594755957559675597755987559975600756017560275603756047560575606756077560875609756107561175612756137561475615756167561775618756197562075621756227562375624756257562675627756287562975630756317563275633756347563575636756377563875639756407564175642756437564475645756467564775648756497565075651756527565375654756557565675657756587565975660756617566275663756647566575666756677566875669756707567175672756737567475675756767567775678756797568075681756827568375684756857568675687756887568975690756917569275693756947569575696756977569875699757007570175702757037570475705757067570775708757097571075711757127571375714757157571675717757187571975720757217572275723757247572575726757277572875729757307573175732757337573475735757367573775738757397574075741757427574375744757457574675747757487574975750757517575275753757547575575756757577575875759757607576175762757637576475765757667576775768757697577075771757727577375774757757577675777757787577975780757817578275783757847578575786757877578875789757907579175792757937579475795757967579775798757997580075801758027580375804758057580675807758087580975810758117581275813758147581575816758177581875819758207582175822758237582475825758267582775828758297583075831758327583375834758357583675837758387583975840758417584275843758447584575846758477584875849758507585175852758537585475855758567585775858758597586075861758627586375864758657586675867758687586975870758717587275873758747587575876758777587875879758807588175882758837588475885758867588775888758897589075891758927589375894758957589675897758987589975900759017590275903759047590575906759077590875909759107591175912759137591475915759167591775918759197592075921759227592375924759257592675927759287592975930759317593275933759347593575936759377593875939759407594175942759437594475945759467594775948759497595075951759527595375954759557595675957759587595975960759617596275963759647596575966759677596875969759707597175972759737597475975759767597775978759797598075981759827598375984759857598675987759887598975990759917599275993759947599575996759977599875999760007600176002760037600476005760067600776008760097601076011760127601376014760157601676017760187601976020760217602276023760247602576026760277602876029760307603176032760337603476035760367603776038760397604076041760427604376044760457604676047760487604976050760517605276053760547605576056760577605876059760607606176062760637606476065760667606776068760697607076071760727607376074760757607676077760787607976080760817608276083760847608576086760877608876089760907609176092760937609476095760967609776098760997610076101761027610376104761057610676107761087610976110761117611276113761147611576116761177611876119761207612176122761237612476125761267612776128761297613076131761327613376134761357613676137761387613976140761417614276143761447614576146761477614876149761507615176152761537615476155761567615776158761597616076161761627616376164761657616676167761687616976170761717617276173761747617576176761777617876179761807618176182761837618476185761867618776188761897619076191761927619376194761957619676197761987619976200762017620276203762047620576206762077620876209762107621176212762137621476215762167621776218762197622076221762227622376224762257622676227762287622976230762317623276233762347623576236762377623876239762407624176242762437624476245762467624776248762497625076251762527625376254762557625676257762587625976260762617626276263762647626576266762677626876269762707627176272762737627476275762767627776278762797628076281762827628376284762857628676287762887628976290762917629276293762947629576296762977629876299763007630176302763037630476305763067630776308763097631076311763127631376314763157631676317763187631976320763217632276323763247632576326763277632876329763307633176332763337633476335763367633776338763397634076341763427634376344763457634676347763487634976350763517635276353763547635576356763577635876359763607636176362763637636476365763667636776368763697637076371763727637376374763757637676377763787637976380763817638276383763847638576386763877638876389763907639176392763937639476395763967639776398763997640076401764027640376404764057640676407764087640976410764117641276413764147641576416764177641876419764207642176422764237642476425764267642776428764297643076431764327643376434764357643676437764387643976440764417644276443764447644576446764477644876449764507645176452764537645476455764567645776458764597646076461764627646376464764657646676467764687646976470764717647276473764747647576476764777647876479764807648176482764837648476485764867648776488764897649076491764927649376494764957649676497764987649976500765017650276503765047650576506765077650876509765107651176512765137651476515765167651776518765197652076521765227652376524765257652676527765287652976530765317653276533765347653576536765377653876539765407654176542765437654476545765467654776548765497655076551765527655376554765557655676557765587655976560765617656276563765647656576566765677656876569765707657176572765737657476575765767657776578765797658076581765827658376584765857658676587765887658976590765917659276593765947659576596765977659876599766007660176602766037660476605766067660776608766097661076611766127661376614766157661676617766187661976620766217662276623766247662576626766277662876629766307663176632766337663476635766367663776638766397664076641766427664376644766457664676647766487664976650766517665276653766547665576656766577665876659766607666176662766637666476665766667666776668766697667076671766727667376674766757667676677766787667976680766817668276683766847668576686766877668876689766907669176692766937669476695766967669776698766997670076701767027670376704767057670676707767087670976710767117671276713767147671576716767177671876719767207672176722767237672476725767267672776728767297673076731767327673376734767357673676737767387673976740767417674276743767447674576746767477674876749767507675176752767537675476755767567675776758767597676076761767627676376764767657676676767767687676976770767717677276773767747677576776767777677876779767807678176782767837678476785767867678776788767897679076791767927679376794767957679676797767987679976800768017680276803768047680576806768077680876809768107681176812768137681476815768167681776818768197682076821768227682376824768257682676827768287682976830768317683276833768347683576836768377683876839768407684176842768437684476845768467684776848768497685076851768527685376854768557685676857768587685976860768617686276863768647686576866768677686876869768707687176872768737687476875768767687776878768797688076881768827688376884768857688676887768887688976890768917689276893768947689576896768977689876899769007690176902769037690476905769067690776908769097691076911769127691376914769157691676917769187691976920769217692276923769247692576926769277692876929769307693176932769337693476935769367693776938769397694076941769427694376944769457694676947769487694976950769517695276953769547695576956769577695876959769607696176962769637696476965769667696776968769697697076971769727697376974769757697676977769787697976980769817698276983769847698576986769877698876989769907699176992769937699476995769967699776998769997700077001770027700377004770057700677007770087700977010770117701277013770147701577016770177701877019770207702177022770237702477025770267702777028770297703077031770327703377034770357703677037770387703977040770417704277043770447704577046770477704877049770507705177052770537705477055770567705777058770597706077061770627706377064770657706677067770687706977070770717707277073770747707577076770777707877079770807708177082770837708477085770867708777088770897709077091770927709377094770957709677097770987709977100771017710277103771047710577106771077710877109771107711177112771137711477115771167711777118771197712077121771227712377124771257712677127771287712977130771317713277133771347713577136771377713877139771407714177142771437714477145771467714777148771497715077151771527715377154771557715677157771587715977160771617716277163771647716577166771677716877169771707717177172771737717477175771767717777178771797718077181771827718377184771857718677187771887718977190771917719277193771947719577196771977719877199772007720177202772037720477205772067720777208772097721077211772127721377214772157721677217772187721977220772217722277223772247722577226772277722877229772307723177232772337723477235772367723777238772397724077241772427724377244772457724677247772487724977250772517725277253772547725577256772577725877259772607726177262772637726477265772667726777268772697727077271772727727377274772757727677277772787727977280772817728277283772847728577286772877728877289772907729177292772937729477295772967729777298772997730077301773027730377304773057730677307773087730977310773117731277313773147731577316773177731877319773207732177322773237732477325773267732777328773297733077331773327733377334773357733677337773387733977340773417734277343773447734577346773477734877349773507735177352773537735477355773567735777358773597736077361773627736377364773657736677367773687736977370773717737277373773747737577376773777737877379773807738177382773837738477385773867738777388773897739077391773927739377394773957739677397773987739977400774017740277403774047740577406774077740877409774107741177412774137741477415774167741777418774197742077421774227742377424774257742677427774287742977430774317743277433774347743577436774377743877439774407744177442774437744477445774467744777448774497745077451774527745377454774557745677457774587745977460774617746277463774647746577466774677746877469774707747177472774737747477475774767747777478774797748077481774827748377484774857748677487774887748977490774917749277493774947749577496774977749877499775007750177502775037750477505775067750777508775097751077511775127751377514775157751677517775187751977520775217752277523775247752577526775277752877529775307753177532775337753477535775367753777538775397754077541775427754377544775457754677547775487754977550775517755277553775547755577556775577755877559775607756177562775637756477565775667756777568775697757077571775727757377574775757757677577775787757977580775817758277583775847758577586775877758877589775907759177592775937759477595775967759777598775997760077601776027760377604776057760677607776087760977610776117761277613776147761577616776177761877619776207762177622776237762477625776267762777628776297763077631776327763377634776357763677637776387763977640776417764277643776447764577646776477764877649776507765177652776537765477655776567765777658776597766077661776627766377664776657766677667776687766977670776717767277673776747767577676776777767877679776807768177682776837768477685776867768777688776897769077691776927769377694776957769677697776987769977700777017770277703777047770577706777077770877709777107771177712777137771477715777167771777718777197772077721777227772377724777257772677727777287772977730777317773277733777347773577736777377773877739777407774177742777437774477745777467774777748777497775077751777527775377754777557775677757777587775977760777617776277763777647776577766777677776877769777707777177772777737777477775777767777777778777797778077781777827778377784777857778677787777887778977790777917779277793777947779577796777977779877799778007780177802778037780477805778067780777808778097781077811778127781377814778157781677817778187781977820778217782277823778247782577826778277782877829778307783177832778337783477835778367783777838778397784077841778427784377844778457784677847778487784977850778517785277853778547785577856778577785877859778607786177862778637786477865778667786777868778697787077871778727787377874778757787677877778787787977880778817788277883778847788577886778877788877889778907789177892778937789477895778967789777898778997790077901779027790377904779057790677907779087790977910779117791277913779147791577916779177791877919779207792177922779237792477925779267792777928779297793077931779327793377934779357793677937779387793977940779417794277943779447794577946779477794877949779507795177952779537795477955779567795777958779597796077961779627796377964779657796677967779687796977970779717797277973779747797577976779777797877979779807798177982779837798477985779867798777988779897799077991779927799377994779957799677997779987799978000780017800278003780047800578006780077800878009780107801178012780137801478015780167801778018780197802078021780227802378024780257802678027780287802978030780317803278033780347803578036780377803878039780407804178042780437804478045780467804778048780497805078051780527805378054780557805678057780587805978060780617806278063780647806578066780677806878069780707807178072780737807478075780767807778078780797808078081780827808378084780857808678087780887808978090780917809278093780947809578096780977809878099781007810178102781037810478105781067810778108781097811078111781127811378114781157811678117781187811978120781217812278123781247812578126781277812878129781307813178132781337813478135781367813778138781397814078141781427814378144781457814678147781487814978150781517815278153781547815578156781577815878159781607816178162781637816478165781667816778168781697817078171781727817378174781757817678177781787817978180781817818278183781847818578186781877818878189781907819178192781937819478195781967819778198781997820078201782027820378204782057820678207782087820978210782117821278213782147821578216782177821878219782207822178222782237822478225782267822778228782297823078231782327823378234782357823678237782387823978240782417824278243782447824578246782477824878249782507825178252782537825478255782567825778258782597826078261782627826378264782657826678267782687826978270782717827278273782747827578276782777827878279782807828178282782837828478285782867828778288782897829078291782927829378294782957829678297782987829978300783017830278303783047830578306783077830878309783107831178312783137831478315783167831778318783197832078321783227832378324783257832678327783287832978330783317833278333783347833578336783377833878339783407834178342783437834478345783467834778348783497835078351783527835378354783557835678357783587835978360783617836278363783647836578366783677836878369783707837178372783737837478375783767837778378783797838078381783827838378384783857838678387783887838978390783917839278393783947839578396
  1. /* /$$$$$$$ /$$$$$$$
  2. | $$__ $$| $$__ $$
  3. | $$ \ $$| $$ \ $$
  4. Sleepless | $$$$$$$/| $$$$$$$/
  5. | $$__ $$| $$____/
  6. | $$ \ $$| $$
  7. | $$ | $$| $$
  8. |__/ |__/|__/
  9. ____ _ _ _ ___ ___ ___ ___
  10. | _ \ (_) | | | |__ \ / _ \ |__ \ / _ \
  11. | |_) |_ _ _| | __| | ) | | | | ) | | | |
  12. | _ <| | | | | |/ _` | / /| | | | / /| | | |
  13. | |_) | |_| | | | (_| | / /_| |_| | / /_| |_| |
  14. |____/ \__,_|_|_|\__,_| |____|\___/ |____|\___/
  15. Sleepless Roleplay
  16. */
  17. //--------------------------[ SCRIPT VERSION INFO ]--------------------------
  18. #define SERVER_VERSION "v1.0"
  19. #define DISCORD "Sleepless/discord"
  20. #define WEBSITE "Sleepless.org"
  21. #define DOUBLE_EXP_ENABLED
  22. //#define TREASURE_HUNT_ENABLED
  23. //--------------------------------------------------------------------------
  24. /*
  25. Punishment Logs:
  26. - Warnings (1)
  27. - Prison (2)
  28. - Fine (3)
  29. - Ban (4) */
  30. //--------------------------------[ INCLUDES ]-------------------------------
  31. #include <a_samp>
  32. #include <audio>
  33. #include <a_zones>
  34. #include <streamer>
  35. #include <foreach>
  36. #include <progress>
  37. #include <ZCMD>
  38. #include <YSI/y_timers.inc>
  39. #include <yom_buttons>
  40. #include <sscanf2>
  41. #include <YSI\y_ini>
  42. #include <gangzones>
  43. #include <weapon-config>
  44. #include <SKY>
  45. #include <mSelection>
  46. //--------------------------------[ DEFINES ]--------------------------------
  47. #define NOTAUTH "You are not authorized to use this command."
  48. #define LANDS 3532
  49. #define LANDS2 3533
  50. #define LANDS3 3534
  51. #define LANDS4 3535
  52. #define LANDS5 3536
  53. #define LANDS6 3537
  54. #define LANDS7 3538
  55. #define LANDS8 3539
  56. #define LANDS9 3540
  57. #define LANDS10 3541
  58. #define DIALOG_SHOW_INFO 13337
  59. new VirtualAntiCheat[MAX_PLAYERS];
  60. // NEon
  61. #define NEONMENU 12321
  62. // QUIZ
  63. new question[64] = "None",
  64. answer[64] = "None";
  65. new bool:quizexist;
  66. #define QUIZCREATE1 5321
  67. #define QUIZCREATE2 5322
  68. #define BPATH "/Business/%i.ini" //Defines the path y_ini will use to find the .ini file we need.
  69. #define LPATH "/Lands/%i.ini" //Defines the path y_ini will use to find the .ini file we need.
  70. new InsideBiz[MAX_PLAYERS];
  71. new NearLand[MAX_PLAYERS];
  72. new IsCheatingDC[MAX_PLAYERS];
  73. // - Unknown command error messages
  74. new Text:Textdraw0z;
  75. new Text:Textdraw1z;
  76. new Text:Textdraw2z;
  77. new Text:Textdraw3z;
  78. new CM;
  79. new TW;
  80. new FW;
  81. new HM;
  82. new JP;
  83. new RDR;
  84. //new JS;
  85. new PlayerText:HealthTD[MAX_PLAYERS];
  86. new PlayerText:ArmorTD[MAX_PLAYERS];
  87. new Text:LockTD;
  88. new Text:Text0;
  89. // - Blood Effects
  90. new Text:Blood[9];
  91. new Timer[MAX_PLAYERS];
  92. new bool:pBlood[MAX_PLAYERS] = {false,...};
  93. // FOR THE NEWBWELCOME
  94. #define DIALOG_NEWBWELCOME 1885
  95. // Cool Nametags
  96. //#define NT_DISTANCE 25.0
  97. //new Text3D:cNametag[MAX_PLAYERS];
  98. #define INVALID_DOOR_ID 99999
  99. #define INVALID_TURF -1
  100. #define MAX_TURFS 10
  101. #define MAX_LANDS 1000
  102. #define MAX_OBJ 500
  103. // Interiors
  104. #define DIALOG_INTERIOR_MENU 1886
  105. #define DIALOG_VEHICLE_REFUND 1887
  106. #define DIALOG_BLACKMARKET1 (8929)
  107. #define DIALOG_BLACKMARKET2 (8928)
  108. new pdleader[128];
  109. new fmdleader[128];
  110. new fbileader[128];
  111. new GMAleader[128];
  112. new aresleader[128];
  113. new governmentleader[128];
  114. new sasdleader[128];
  115. new InTurf[MAX_PLAYERS];
  116. enum lInfo {
  117. lOwned,
  118. lPrice,
  119. lOwner[MAX_PLAYER_NAME],
  120. lType,
  121. Float:pos_X,
  122. Float:pos_Y,
  123. Float:pos_Z,
  124. lObjectCount,
  125. Text3D:lText,
  126. lIcon
  127. }
  128. new LandsInfo[MAX_LANDS][lInfo];
  129. enum objInfo {
  130. objID,
  131. objModel,
  132. Float: oposX,
  133. Float: oposY,
  134. Float: oposZ,
  135. Float: orotX,
  136. Float: orotY,
  137. Float: orotZ,
  138. oUsed,
  139. oCount,
  140. oDoor,
  141. oDLock
  142. }
  143. new ObjectInfo[MAX_OBJ][objInfo];
  144. enum bInfo {
  145. bOwned,
  146. bPrice,
  147. bOwner[MAX_PLAYER_NAME],
  148. bType,
  149. bLocked,
  150. bMoney,
  151. Float:bEntranceX,
  152. Float:bEntranceY,
  153. Float:bEntranceZ,
  154. Float:bEntranceA,
  155. Float:bExitX,
  156. Float:bExitY,
  157. Float:bExitZ,
  158. Float:bExitA,
  159. bInt,
  160. bWorld,
  161. bInsideInt,
  162. bInsideWorld,
  163. bOutsideIcon,
  164. bName[128],
  165. Text3D:bText,
  166. bIT[128]
  167. }
  168. new BusinessInfo[200][bInfo];//We are creating a define to use for our Enum.
  169. new randomMessages[][] = //here, we're creating the array with the name "randomMessages"
  170. {
  171. "Welome to Sleepless roleplay! type /help for commands.",
  172. "Want to donate? check our discord channel for pricelist",
  173. "We have helpers waiting for you to ask! Use /newb to ask for a question!",
  174. "Seen a hacker/rulebreaker/Dmer? (/report)(/reportdm) him!",
  175. "It is not allowed to use hacks or else ban if you get caught.",
  176. "Admins will never help any hacked or stolen accounts.",
  177. "Did you know, you can win awesome prizes such as donator status from events!",
  178. "Please note that if you are having account issues to make an administrative request on our forums!",
  179. "Use /information to view our current information about our server."
  180. };
  181. enum Turf
  182. {
  183. TurfID,
  184. TurfsName[128],
  185. TurfsOwner[128],
  186. TurfsCapper[128],
  187. TurfsColor[128],
  188. TurfsCappingName[MAX_PLAYER_NAME],
  189. TurfsHours,
  190. TurfsGang,
  191. TurfsVulnerable,
  192. TurfsTimer,
  193. TurfsDoing,
  194. TurfshTime,
  195. TurfsgCap
  196. }
  197. new TurfsInfo[MAX_TURFS][Turf];
  198. new GiftAllowed;
  199. new bool:pCBugging[MAX_PLAYERS];
  200. // **** TIMERS
  201. new ptmCBugFreezeOver[MAX_PLAYERS];
  202. // **** TIMESTAMPS
  203. new ptsLastFiredWeapon[MAX_PLAYERS];
  204. #define BLACKMARKET 6665
  205. #define SCM SendClientMessage
  206. // Interiors
  207. #define DIALOG_INTERIOR_MENU 1886
  208. new Dueling[MAX_PLAYERS];
  209. new LastSMS[MAX_PLAYERS];
  210. new Hunted[MAX_PLAYERS];
  211. new AllHunt;
  212. new PlayerText:Textdraw0[MAX_PLAYERS];
  213. new PlayerText:Textdraw1[MAX_PLAYERS];
  214. new Text:Textdraw0s;
  215. new PlayerText:Textdraw1s[MAX_PLAYERS];
  216. new EventTeam[MAX_PLAYERS];
  217. new DoubleXP = 0;
  218. /*new Text:VDB0;
  219. new PlayerText:VDB1[MAX_PLAYERS];
  220. new PlayerText:VDB2[MAX_PLAYERS];
  221. new PlayerText:VDB3[MAX_PLAYERS];
  222. new PlayerText:VDB4[MAX_PLAYERS];
  223. new PlayerText:VDB5[MAX_PLAYERS];*/
  224. //WalkStyle
  225. new walktime[MAX_PLAYERS];
  226. // Sweepers Vehicles (LS)
  227. new SweeperVehicles[17];
  228. // And some other shits.
  229. new PlayerSweeping[MAX_PLAYERS];
  230. new SweeperTime[MAX_PLAYERS];
  231. new SweeperDistance[MAX_PLAYERS];
  232. new Float: fSweeperPos[MAX_PLAYERS][3];
  233. //Fire System
  234. #define MAX_FLAMES 100 // maxmimal flames
  235. #define BurnOthers
  236. //#define EarnMoney // Do you want to earn money for extinguish a fire?
  237. #define FireMessageColor 0x00FF55FF
  238. #define FLAME_ZONE 1.2 // radius in which you start burning if you're too close to a flame
  239. #define ONFOOT_RADIUS 1.5 // radius in which you can extinguish the flames by foot
  240. #define PISSING_WAY 2.0 // radius in which you can extinguish the flames by peeing
  241. #define CAR_RADIUS 8.0 // radius in which you can extinguish the flames by firetruck/SWAT Van
  242. #define Z_DIFFERENCE 2.5 // height which is important for the accurancy of extinguishing. please do not change
  243. #define EXTINGUISH_TIME_VEHICLE 3 // time you have to spray at the fire with a firetruck (seconds)
  244. #define EXTINGUISH_TIME_ONFOOT 5 // time you have to spray at the fire onfoot (seconds)
  245. #define EXTINGUISH_TIME_PEEING 10 // time you have to pee at the fire (seconds)
  246. #define EXTINGUISH_TIME_PLAYER 3 // time it takes to extinguish a player (seconds)
  247. #define FIRE_OBJECT_SLOT 1 // the slot used with SetPlayerAttachedObject and RemovePlayerAttachedObject
  248. forward AddFire(Float:x, Float:y, Float:z);
  249. forward KillFire(id);
  250. forward AddSmoke(Float:x, Float:y, Float:z);
  251. forward KillSmoke(id);
  252. forward DestroyTheSmokeFromFlame(id);
  253. forward OnFireUpdate();
  254. forward FireTimer(playerid, id);
  255. forward SetPlayerBurn(playerid);
  256. forward BurningTimer(playerid);
  257. forward StopPlayerBurning(playerid);
  258. forward Float:GetDistanceBetweenPoints(Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2);
  259. enum FlameInfo
  260. {
  261. Flame_id,
  262. Flame_Exists,
  263. Float:Flame_pos[3],
  264. Smoke[5],
  265. }
  266. new Flame[MAX_FLAMES][FlameInfo];
  267. new ExtTimer[MAX_PLAYERS];
  268. new PlayerOnFire[MAX_PLAYERS];
  269. new PlayerOnFireTimer[MAX_PLAYERS];
  270. new PlayerOnFireTimer2[MAX_PLAYERS];
  271. new Float:PlayerOnFireHP[MAX_PLAYERS];
  272. //---------------------------[ NATIVES ]----------------------------
  273. native WP_Hash(buffer[], len, const str[]);
  274. //native sscanf(const data[], const format[], {Float,_}:...);
  275. //native unformat(const data[], const format[], {Float,_}:...) = sscanf;
  276. // Hidden native
  277. native gpci (playerid, const serial[], maxlen);
  278. // strcpy - Simon / Y_Less
  279. #define strcpy(%0,%1,%2) \
  280. strcat((%0[0] = '\0', %0), %1, %2)
  281. // File parsing
  282. #define ini_SetString(%0,%1,%2) if(%2[0]) fwrite(%0, %1), fputchar(%0, '=', false) && fwrite(%0, %2) && fwrite(%0, "\r\n")
  283. #define ini_SetInteger(%0,%1,%2,%3) format(%1, sizeof(%1), "%s=%d\r\n", %2, %3) && fwrite(%0, %1)
  284. #define ini_SetFloat(%0,%1,%2,%3) format(%1, sizeof(%1), "%s=%.0f\r\n", %2, %3) && fwrite(%0, %1)
  285. // Commodities
  286. #define MAX_BACKPACKS 1000
  287. #define INVALID_BP_ID -1
  288. #define MAX_HOUSES 1000
  289. #define MAX_DMAPICONS 200
  290. #define MAX_DDOORS 1000
  291. #define INVALID_HOUSE_ID -1
  292. #define MAX_NOP_WARNINGS 4
  293. #define FACTION_PAY_PER_RANK 100 // This must be an even number as it's divided by 2 for rank 0 paychecks.
  294. // Player Vehicle Defines
  295. #define MAX_PLAYERVEHICLES 10
  296. #define MAX_PLAYERTOYS 8
  297. #define MAX_PLAYER_ATTOBJECTS 8// Toy limitation
  298. #define MAX_MODS 15
  299. #define MAX_DEALERSHIPVEHICLES 10
  300. #define MAX_CARDEALERSHIPS 15
  301. #define MAX_GANG_VEHICLES 16
  302. #define INVALID_PLAYER_VEHICLE_ID 0
  303. #define BACKPACK 2268
  304. #define BACKPACK2 2267
  305. // Gang related
  306. #define NEW_VULNERABLE 24
  307. #define TIME_TO_CLAIM 1
  308. #define TIME_TO_TAKEOVER 10
  309. #define MAX_FAMILY 10
  310. #define MAX_POINTS 9
  311. #define MAX_CREW 50
  312. #define MAX_GANG_VEHICLES 16
  313. // Other limits
  314. #define MAX_MODS 15
  315. #define MAX_BARRICADES 10
  316. // Main Menu
  317. #define MAINMENU 4070
  318. #define MAINMENU2 4071
  319. //WalkStyles
  320. #define WALK_DEFAULT 0
  321. #define WALK_NORMAL 1
  322. #define WALK_PED 2
  323. #define WALK_GANGSTA 3
  324. #define WALK_GANGSTA2 4
  325. #define WALK_OLD 5
  326. #define WALK_FAT_OLD 6
  327. #define WALK_FAT 7
  328. #define WALK_LADY 8
  329. #define WALK_LADY2 9
  330. #define WALK_WHORE 10
  331. #define WALK_WHORE2 11
  332. #define WALK_DRUNK 12
  333. #define WALK_BLIND 13
  334. // Timer types
  335. #define TYPE_TPMATRUNTIMER 1
  336. #define TYPE_TPDRUGRUNTIMER 2
  337. #define TYPE_ARMSTIMER 3
  338. #define TYPE_GIVEWEAPONTIMER 4
  339. #define TYPE_HOSPITALTIMER 5
  340. #define TYPE_FLOODPROTECTION 7
  341. #define TYPE_GUARDTIMER 9
  342. #define TYPE_TPTRUCKRUNTIMER 10
  343. #define TYPE_SELLMATSTIMER 12
  344. #define TYPE_TPPIZZARUNTIMER 13
  345. #define TYPE_PIZZATIMER 14
  346. #define TYPE_SELLMYTIMER 15
  347. #define TYPE_BETTIMER 16
  348. #define TYPE_BPTIMER 17
  349. // Job Help Dialogs
  350. #define INFO_DIALOG 32767
  351. #define JOBHELPMENU 10000
  352. #define DETECTIVEJOB 10001
  353. #define DETECTIVEJOB2 10002
  354. #define DETECTIVEJOB3 10003
  355. #define LAWYERJOB 10004
  356. #define LAWYERJOB2 10005
  357. #define LAWYERJOB3 10006
  358. #define WHOREJOB 10007
  359. #define WHOREJOB2 10008
  360. #define WHOREJOB3 10009
  361. #define DRUGDEALERJOB 10010
  362. #define DRUGDEALERJOB2 10011
  363. #define DRUGDEALERJOB3 10012
  364. #define MECHANICJOB 10013
  365. #define MECHANICJOB2 10014
  366. #define MECHANICJOB3 10015
  367. #define BODYGUARDJOB 10016
  368. #define BODYGUARDJOB2 10017
  369. #define BODYGUARDJOB3 10018
  370. #define ARMSDEALERJOB 10019
  371. #define ARMSDEALERJOB2 10020
  372. #define ARMSDEALERJOB3 10021
  373. #define BOXERJOB 10022
  374. #define BOXERJOB2 10023
  375. #define BOXERJOB3 10024
  376. #define TAXIJOB 10025
  377. #define TAXIJOB2 10026
  378. #define TAXIJOB3 10027
  379. #define SMUGGLEJOB 10028
  380. #define SMUGGLEJOB2 10029
  381. #define SMUGGLEJOB3 10030
  382. #define CRAFTJOB 10031
  383. #define BARTENDERJOB 10032
  384. #define TRUCKERJOB 10033
  385. #define PIZZAJOB 10034
  386. #define SWEEPERJOB 10035
  387. #define GARBAGEJOB 10036
  388. #define MINERJOB 10037
  389. #define FINDJOB 10035
  390. #define VEHICLE_RESPAWN 2700
  391. #define ResetMoneyBar ResetPlayerMoney
  392. #define UpdateMoneyBar GivePlayerMoney
  393. #define GetPlayerCash(%0) PlayerInfo[%0][pCash]
  394. #define GivePlayerCash(%0,%1) PlayerInfo[%0][pCash] += (%1)
  395. #define GetVehicleName(%0) VehicleName[GetVehicleModel(%0)-400]
  396. #define SetPVarInt(%0,%1,0); DeletePVar(%0,%1);
  397. // Pragma dependencies
  398. // Signcheck dialog
  399. #define SIGNCHECK 6561
  400. // Admin Defines
  401. #define MAX_REPORTS 1000
  402. #define INVALID_REPORT_ID -1
  403. #define REPORTSMENU 10031
  404. #define NOOB_SKIN 299
  405. // Other dialogs
  406. #define FINDDEALERSHIPMENU 4115
  407. #define FINDCARTUNINGMENU 4116
  408. #define DIALOG_HUNT_QUESTION 852
  409. #define DIALOG_HUNT_PRIZE 853
  410. #define DIALOG_NAMECHANGE 261
  411. #define DIALOG_NAMECHANGE2 262
  412. #define DIALOG_SAN_CLOTHES 2289
  413. #define FAMILYSKINDIALOG 5640
  414. #define DOORLOCK 5000
  415. #define DIALOG_CDGLOCKBUY 1310
  416. #define DIALOG_CDGLOCKMENU 1309
  417. #define GTRACKCAR 19102
  418. #define FIGHTMENU 22222
  419. #define COLORMENU 1111
  420. #define STOREMENU 999
  421. #define STOREMENU1 1000
  422. #define REGISTRATION_MENU_ONE 27301
  423. #define REGISTRATION_MENU_TWO 27302
  424. #define REGISTRATION_MENU_THREE 27303
  425. #define REGISTRATION_MENU_FOUR 27304
  426. #define REGISTRATION_MENU_FIVE 27305
  427. #define GOVLOCKERMENU 4012
  428. #define GOVEQUIPMENU 4013
  429. #define GOVSKINMENU 4114
  430. // ADS
  431. #define DIALOG_ADMAIN 32700
  432. #define DIALOG_ADLIST 32701
  433. #define DIALOG_ADPLACE 32702
  434. #define DIALOG_ADPLACEP 32703
  435. #define DIALOG_ADSEARCH 32704
  436. #define DIALOG_ADSEARCHLIST 32705
  437. #define DIALOG_ADFINAL 32706
  438. // Licenses
  439. #define DIALOG_LICENSE_BUY 10040
  440. // NMute & AdMute
  441. #define NMUTE 4100
  442. #define ADMUTE 4101
  443. // Player vehicle dialogs
  444. #define GOTOPLAYERCAR 19103
  445. #define VEHICLESTORAGE 19104
  446. #define REMOVEKEYS 4395
  447. #define GIVEKEYS 4394
  448. #define MPSPAYTICKETSCOP 4392
  449. #define MPSPAYTICKETS 4393
  450. #define TRACKCAR 19101
  451. #define UNMODCARMENU 4388
  452. #define DIALOG_CDLOCKBUY 1312
  453. #define DIALOG_CDLOCKMENU 1311
  454. #define DIALOG_CDGLOCKBUY 1310
  455. #define DIALOG_CDGLOCKMENU 1309
  456. // REFERRAL SHOP
  457. #define DIALOG_REFSHOP 14555
  458. // Toys
  459. #define TOYS 10131
  460. #define DELETETOY 10132
  461. #define WEARTOY 10133
  462. #define BUYTOYS 10134
  463. #define BUYTOYS2 10135
  464. #define BUYTOYS3 10136
  465. #define BUYTOYSGOLD 10137
  466. #define BUYTOYSGOLD2 10138
  467. #define BUYTOYSGOLD3 10139
  468. #define EDITTOYS 10140
  469. #define EDITTOYS2 10141
  470. #define EDITTOYSBONE 10142
  471. #define EDITTOYSPX 10143
  472. #define EDITTOYSPY 10144
  473. #define EDITTOYSPZ 10145
  474. #define EDITTOYSRX 10146
  475. #define EDITTOYSRY 10147
  476. #define EDITTOYSRZ 10148
  477. #define EDITTOYSSX 30765
  478. #define EDITTOYSSY 30766
  479. #define EDITTOYSSZ 30767
  480. #define BUYTOYSPLAT 11148
  481. #define BUYTOYSPLAT2 11149
  482. #define BUYTOYSPLAT3 11150
  483. // COP TOYS
  484. #define BUYTOYSCOP 10153
  485. #define BUYTOYSCOP2 10154
  486. #define BUYTOYSCOP3 10155
  487. // First Radio Menu (start)
  488. #define DIALOG_RADIOMENU_START 2800
  489. // Second Radio Menu (search)
  490. #define DIALOG_RADIOMENU_SEARCH 2798
  491. #define DIALOG_RADIOMENU_SEARCHLIST 2799
  492. // Third Radio Menu (genre)
  493. #define DIALOG_RADIOMENU_GENRE 2801
  494. #define DIALOG_RADIOMENU_PLAY 2802
  495. // First iPod menu (start)
  496. #define DIALOG_MP3_START 2803
  497. // Second iPod Menu (search)
  498. #define DIALOG_MP3_SEARCH 2804
  499. #define DIALOG_MP3_SEARCHLIST 2805
  500. // Third iPod Menu (genre)
  501. #define DIALOG_MP3_GENRE 2806
  502. #define DIALOG_MP3_PLAY 2807
  503. // First Boombox menu (start)
  504. #define DIALOG_BOOMBOX_START 2808
  505. // Second Boombox Menu (search)
  506. #define DIALOG_BOOMBOX_SEARCH 2809
  507. #define DIALOG_BOOMBOX_SEARCHLIST 2810
  508. // Third Boombox Menu (genre)
  509. #define DIALOG_BOOMBOX_GENRE 2811
  510. #define DIALOG_BOOMBOX_PLAY 2812
  511. // Car dealership dialogs
  512. #define DIALOG_CDEDIT 1329
  513. #define DIALOG_CDUPGRADE 1328
  514. #define DIALOG_CDTILL 1327
  515. #define DIALOG_CDEDITCARS 1326
  516. #define DIALOG_CDEDITONE 1325
  517. #define DIALOG_CDEDITMODEL 1324
  518. #define DIALOG_CDEDITCOST 1323
  519. #define DIALOG_CDEDITPARK 1322
  520. #define DIALOG_CDDELVEH 1321
  521. #define DIALOG_CDNEWVEH 1320
  522. #define DIALOG_CDRADIUS 1319
  523. #define DIALOG_CDNAME 1318
  524. #define DIALOG_CDPRICE 1317
  525. #define DIALOG_CDBUY 1316
  526. #define DIALOG_CDWITHDRAW 1315
  527. #define DIALOG_CDDEPOSIT 1314
  528. #define DIALOG_CDSELL 1313
  529. // LSPD
  530. #define DUTYMENU 555
  531. #define DUTYMENU2 666
  532. #define DUTYMENU3 777
  533. #define DUTYMENU4 888
  534. #define DUTYMENU5 11111
  535. // SASD
  536. #define SDUTYMENU 556
  537. #define SDUTYMENU2 667
  538. #define SDUTYMENU3 778
  539. #define SDUTYMENU4 889
  540. #define SDUTYMENU5 11112
  541. // ARES
  542. #define ADUTYMENU 2001
  543. #define ADUTYMENU2 2002
  544. #define ADUTYMENU3 2003
  545. #define ADUTYMENU4 2004
  546. #define ADUTYMENU5 2005
  547. // FBI
  548. #define FDUTYMENU 111
  549. #define FDUTYMENU2 222
  550. #define FDUTYMENU3 333
  551. #define FDUTYMENU4 444
  552. #define FDUTYMENU5 6666
  553. // LSFMD
  554. #define LSFMDMENU 7777
  555. #define LSFMDSKINS 9999
  556. #define LSFMDGEAR 2000
  557. // MDC
  558. #define MDC_START_ID 10098
  559. #define MDC_MAIN 10099
  560. #define MDC_FIND 10100
  561. #define MDC_MEMBERS 10101
  562. #define MDC_BLANK 10102
  563. #define MDC_WARRANTS 10103
  564. #define MDC_CHECK 10104
  565. #define MDC_LICENSES 10105
  566. #define MDC_LSPD 10106
  567. #define MDC_SFPD 10107
  568. #define MDC_FBI 10108
  569. #define MDC_LSFMD 10109
  570. #define MDC_MESSAGE 10110
  571. #define MDC_SMS 10111
  572. #define MDC_BOLOLIST 10112
  573. #define MDC_ISSUE 10113
  574. #define MDC_DELETE 10114
  575. #define MDC_DEL_WARRANT 10115
  576. #define MDC_DEL_BOLO 10116
  577. #define MDC_LOGOUT 10117
  578. #define MDC_CREATE 10118
  579. #define MDC_CIVILIANS 10119
  580. #define MDC_ISSUE_SLOT 10120
  581. #define MDC_MESSAGE_2 10121
  582. #define MDC_SMS_2 10122
  583. #define MDC_BOLO 10123
  584. #define MDC_BOLO_SLOT 10124
  585. #define MDC_END_ID 10125
  586. // LSFMD MDC
  587. #define FMDC 10156
  588. // Bartender dialogs
  589. #define DRINKLISTDIALOG 10127
  590. #define DRINKDIALOG 10128
  591. #define TIPDIALOG 10129
  592. // Trucker Job
  593. #define DIALOG_LOADTRUCK 18301
  594. #define DIALOG_LOADTRUCKL 18302
  595. #define DIALOG_LOADTRUCKI 18303
  596. // Intro Music
  597. #define SOUND_MUSIC1 1097
  598. #define SOUND_OFF 1098
  599. // COLORS
  600. #define TEAM_ARES_COLOR 0x1C77B300
  601. #define COLOR_CRIMSON 0xDC143CAA
  602. #define COLOR_SYNTAX 0xAFAFAFFF
  603. #define COLOR_GREENMIST 0xBCED9100
  604. #define TEAM_HIT_COLOR 0xFFFFFF00
  605. #define COLOR_GRAD1 0xB4B5B7FF
  606. #define COLOR_GRAD2 0xBFC0C2FF
  607. #define COLOR_GRAD3 0xCBCCCEFF
  608. #define COLOR_GRAD4 0xD8D8D8FF
  609. #define COLOR_GRAD5 0xE3E3E3FF
  610. #define COLOR_GRAD6 0xF0F0F0FF
  611. #define COLOR_GREY 0xAFAFAFAA
  612. #define COLOR_RED 0xAA3333AA
  613. #define COLOR_ORANGE 0xFF8000FF
  614. #define COLOR_LIME 0x00FF00FF
  615. #define COLOR_YELLOW 0xFFFF00AA
  616. #define COLOR_FORSTATS 0xFFFF91AA
  617. #define COLOR_HOUSEGREEN 0x00E605AA
  618. #define COLOR_GREEN 0x33AA33AA
  619. #define COLOR_LIGHTGREEN 0x9ACD32AA
  620. #define COLOR_LIGHTSLATEGRAY 0xAAC5E3FF
  621. #define COLOR_LIGHTYELLOW 0xFFFFE0FF
  622. #define COLOR_CYAN 0x40FFFFFF
  623. #define COLOR_PURPLE 0xC2A2DAAA
  624. #define COLOR_BLACK 0x000000AA
  625. #define COLOR_WHITE 0xFFFFFFAA
  626. #define COLOR_FADE1 0xE6E6E6E6
  627. #define COLOR_FADE2 0xC8C8C8C8
  628. #define COLOR_FADE3 0xAAAAAAAA
  629. #define COLOR_FADE4 0x8C8C8C8C
  630. #define COLOR_FADE5 0x6E6E6E6E
  631. #define COLOR_LIGHTRED 0xFF6347AA
  632. #define COLOR_NEWS 0xFFA500AA
  633. #define COLOR_TWWHITE 0xFFFFFFAA
  634. #define TEAM_NEWS_COLOR 0x049C7100
  635. #define COLOR_TWYELLOW 0xFFFF00AA
  636. #define COLOR_TWPINK 0xE75480AA
  637. #define COLOR_TWRED 0xFF0000AA
  638. #define COLOR_TWBROWN 0x654321AA
  639. #define COLOR_TWGRAY 0x808080AA
  640. #define COLOR_TWOLIVE 0x808000AA
  641. #define COLOR_TWPURPLE 0x800080AA
  642. #define COLOR_TWTAN 0xD2B48CAA
  643. #define COLOR_TWAQUA 0x00FFFFAA
  644. #define COLOR_TWORANGE 0xFF8C00AA
  645. #define COLOR_TWAZURE 0x007FFFAA
  646. #define COLOR_TWGREEN 0x008000AA
  647. #define COLOR_TWBLUE 0x0000FFAA
  648. #define COLOR_TWBLACK 0x000000AA
  649. #define COLOR_LIGHTBLUE 0x33CCFFAA
  650. #define TEAM_CYAN_COLOR 0xFF8282AA
  651. #define FIND_COLOR 0xB90000FF
  652. #define TEAM_AZTECAS_COLOR 0x01FCFFC8
  653. #define TEAM_TAXI_COLOR 0xF2FF0000
  654. #define TEAM_CYAN_COLOR 0xFF8282AA
  655. #define DEPTRADIO 0xFFD7004A
  656. #define RADIO 0x8D8DFFFF
  657. #define COLOR_DBLUE 0x2641FEAA
  658. #define COLOR_ALLDEPT 0xFF8282AA
  659. #define TEAM_BLUE_COLOR 0x2641FE00
  660. #define TEAM_FBI_COLOR 0x8D8DFF00
  661. #define TEAM_MED_COLOR 0xFF828200
  662. #define TEAM_APRISON_COLOR 0x9C791200
  663. #define COLOR_NG 0x9ACD3200
  664. #define COLOR_REPORT 0xFFFF91FF
  665. #define COLOR_NEWBIE 0x7DAEFFFF
  666. #define TEAM_ORANGE_COLOR 0xFF800000
  667. #define COLOR_PINK 0xFF66FFAA
  668. #define COLOR_OOC 0xE0FFFFAA
  669. #define COP_GREEN_COLOR 0x33AA33AA
  670. #define PUBLICRADIO_COLOR 0x6DFB6DFF
  671. #define TEAM_GROVE_COLOR 0x00D900C8
  672. #define COLOR_REALRED 0x33CCFFFF
  673. #define TEAM_GREEN_COLOR 0xFFFFFFAA
  674. #define TEAM_ORANGE_COLOR 0xFF800000
  675. #define WANTED_COLOR 0xFF0000FF
  676. #define COLOR_GOV 0xE8E79BAA
  677. #define GARAGE_COLOR 0xFFA500FF
  678. #define ADMINORANGE 0xF6970CAA
  679. #define COLOR_REALREDS 0xFF0606FF
  680. #define COLOR_JEFE 0x089DCEFF
  681. #define HOLDING(%0) \
  682. ((newkeys & (%0)) == (%0))
  683. #define RELEASED(%0) \
  684. (((newkeys & (%0)) != (%0)) && ((oldkeys & (%0)) == (%0)))
  685. #define PRESSED(%0) \
  686. (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
  687. // MISC
  688. #define CHECKPOINT_NONE 0
  689. #define CHECKPOINT_HOME 12
  690. #define CHECKPOINT_HITMAN 123
  691. #define CHECKPOINT_MAXIMUSCLUB 124
  692. #define CHECKPOINT_BLACKMARKET 125
  693. #define CHECKPOINT_LOADTRUCK 97651
  694. #define CHECKPOINT_RETURNTRUCK 97652
  695. #define CHECKPOINT_PICKUPTRASH 98650
  696. #define CHECKPOINT_RETURNTRASH 98651
  697. #define CHECKPOINT_MINER 97653
  698. new Text:MainMenuTxtdraw[14];
  699. new Text:TutTxtDraw[54];
  700. new Text:ObjectsLoadingTD[2];
  701. new Text:WristWatch;
  702. new Text:GPS[MAX_PLAYERS];
  703. new ghour = 0;
  704. new gminute = 0;
  705. new gsecond = 0;
  706. new shifthour = 0;
  707. new timeshift = 0;
  708. new iAdverTimer;
  709. new pointboundaries[9];
  710. new Text:Damage[MAX_PLAYERS];
  711. forward hMoleOn();
  712. new hmole = 1;
  713. new hmoletimer = 600000;
  714. new TotalLogin, TotalConnect, TotalAutoBan, TotalRegister,MaxPlayersConnected,MPDay,MPMonth,MPYear,TotalUptime,PlayerCars;
  715. new Jackpot = 0;
  716. new PlayerDragged[MAX_PLAYERS];
  717. new PlayerDraggedBy[MAX_PLAYERS];
  718. new IsCopDragging[MAX_PLAYERS];
  719. new JustSuicided[MAX_PLAYERS];
  720. new HHcheckUsed = 0;
  721. new GlobalMOTD[128];
  722. new AdminMOTD[128];
  723. new LSPDmotd[128];
  724. new FMDmotd[128];
  725. new FBImotd[128];
  726. new ARESmotd[128];
  727. new SASDmotd[128];
  728. new Lawyers = 0;
  729. new Mechanics = 0;
  730. new Medics = 0;
  731. new TaxiDrivers = 0;
  732. new BusDrivers = 0;
  733. new nonewbie = 0;
  734. new noooc = 1;
  735. new nextteam;
  736. new callcost = 1;
  737. new cchargetime = 60;
  738. new txtcost = 2;
  739. // Paintball
  740. new
  741. gaPaintballGameTimer[10],
  742. gaPaintballGameTimeRemaining[10],
  743. gaPaintballGameNextTeam[4],
  744. gaPaintballTimerHandles[10];
  745. new VehicleStatus[MAX_VEHICLES char] = 0; // 0 == none, 1 == vehicle dead about to respawn
  746. // Trucker Job
  747. new Bar:LoadTruckBar[MAX_PLAYERS] = INVALID_BAR_ID;
  748. new LoadTruckTime[MAX_PLAYERS];
  749. new TruckDeliver[MAX_PLAYERS];
  750. new TruckUsed[MAX_PLAYERS] = INVALID_VEHICLE_ID;
  751. new GarbageUsed[MAX_PLAYERS] = INVALID_VEHICLE_ID;
  752. new TruckContents[MAX_VEHICLES] = 0;
  753. // Buttons / doors
  754. new FBILobbyLeft, FBILobbyLeftBTN[2], FBILobbyRight, FBILobbyRightBTN[2], FBIPrivate[2], FBIPrivateBTN[2];
  755. new lspdcopsonly;
  756. new lspdeveryone;
  757. new lspdcopsonly1;
  758. new lspdeveryone1;
  759. new lspddoor1;
  760. new lspddoor2;
  761. new lspddoor3;
  762. new lspddoor4;
  763. // Faction
  764. new Float:Positions[14][3];
  765. new Barricade[MAX_BARRICADES];
  766. new dildo;
  767. // Faction vehicles
  768. new LSPDVehicles[39];
  769. new ARESVehicles[28];
  770. //new SASDVehicles[28];
  771. new FBIVehicles[13];
  772. new LSFMDVehicles[42];
  773. new SANVehicles[6];
  774. new GovVehicles[18];
  775. // Faction gates
  776. new LSPDGate;
  777. new LSPDGate2;
  778. new FBIGate1;
  779. new FBIGate2;
  780. new LSPDGateStatus;
  781. new LSPDGate2Status;
  782. new FBIGate1Status;
  783. new FBIGate2Status;
  784. // Job vehicles
  785. new TruckerVehicles[37];
  786. // C4 vehicle bomb
  787. new VehicleBomb[MAX_VEHICLES char] = 0;
  788. new PlacedVehicleBomb[MAX_PLAYERS] = INVALID_VEHICLE_ID;
  789. // Vehicle radio stations
  790. new VehicleRadioStation[MAX_VEHICLES] = 0;
  791. // Vehicle mods
  792. new vehicleMods[212][MAX_MODS][4];
  793. // mSelection
  794. new skinlist = mS_INVALID_LISTID;
  795. // Admin prison
  796. /*new Float:GarbageCP[3][3] = {
  797. {1612.42, -996.40, 24.08},
  798. {1141.96, -1347.29, 13.68},
  799. {1422.30, -1319.24, 13.55}
  800. };*/
  801. new
  802. Float:AdminPrisonFloat[18][3] = {
  803. {215.664749, 1806.403198, 1618.534423},
  804. {211.635513, 1806.531005, 1618.534423},
  805. {207.159301, 1806.923339, 1618.535888},
  806. {201.544662, 1806.452758, 1618.535888},
  807. {197.230133, 1806.381225, 1618.535888},
  808. {193.142883, 1806.796752, 1618.535888},
  809. {215.664749, 1806.403198, 1614.260375},
  810. {211.635513, 1806.531005, 1614.260375},
  811. {207.159301, 1806.923339, 1614.260375},
  812. {201.544662, 1806.452758, 1614.260375},
  813. {197.230133, 1806.381225, 1614.260375},
  814. {193.142883, 1806.796752, 1614.260375},
  815. {215.664749, 1806.403198, 1609.985473},
  816. {211.635513, 1806.531005, 1609.985473},
  817. {207.159301, 1806.923339, 1609.985473},
  818. {201.544662, 1806.452758, 1609.985473},
  819. {197.230133, 1806.381225, 1609.985473},
  820. {193.142883, 1806.796752, 1609.985473}
  821. };
  822. // Treasure hunts
  823. #if defined TREASURE_HUNT_ENABLED
  824. new
  825. iHuntLocation,
  826. iHuntPickup,
  827. Text3D: lHunt,
  828. Float: fTreasureHuntLS[80][3] = {
  829. {1229.6487, 2656.6077, 10.8203},
  830. {723.9209, -1827.9728, -11.1979},
  831. {975.8365, -1553.5372, 21.5021},
  832. {2838.0945, -2355.9885, 42.7344},
  833. {2864.8975, -2125.0532, 5.9132},
  834. {2839.2737, -1333.6603, 11.1132},
  835. {305.7408, -1348.6904, 53.3819},
  836. {300.4908, -1343.3966, 60.0211},
  837. {567.0254, -1368.8667, 52.4344},
  838. {-574.8304, -1484.6580, 14.3438},
  839. {-1848.4028, -1708.3975, 41.1117},
  840. {-84.5177, -102.4145, 6.4844},
  841. {359.0852, -1401.2878, 20.4090},
  842. {-406.8927, -1448.9119, 50.9145},
  843. {2783.3496, -1246.1157, 62.2969},
  844. {2750.9673, -2261.2080, 42.2668},
  845. {2423.9233, -2283.6018, 42.4465},
  846. {2258.9204, -2458.7249, 42.1496},
  847. {1627.6660, -2286.4536, 94.1270},
  848. {680.0054, 824.4684, -42.9609},
  849. {-84.7650, -223.2539, 80.1250},
  850. {-1062.0853, -696.3816, 56.3359},
  851. {-744.2923, -796.8502, 152.1255},
  852. {-609.9691, -789.1779, 79.9550},
  853. {1019.3333, -301.4924, 77.3594},
  854. {2351.4570, -653.0359, 128.0547},
  855. {2751.4368, -2189.9272, 46.2275},
  856. {1498.1407, -1665.2388, 34.0469},
  857. {598.8820, -1266.4218, 64.1859},
  858. {1094.6667, -675.9512, 110.1484},
  859. {65.3320, -1820.0994, -57.3189},
  860. {302.2582, 1035.6158, 1104.5601},
  861. {-1094.6779, 606.7272, 1116.5078},
  862. {282.8992, 1088.2625, 5096.7534},
  863. {1094.1510, -2036.9094, 82.7574},
  864. {1786.7986, -1303.2233, 13.5532},
  865. {1956.6277, -1199.6770, 16.5859},
  866. {2216.9233, -1190.1036, 33.5313},
  867. {2708.2070, -2187.5305, 27.9262},
  868. {1846.2129, -1135.9796, 51.8616},
  869. {1986.8707, -1114.6799, 35.6250},
  870. {2179.1436, -2008.8317, 32.4801},
  871. {2216.3784, -2698.1467, 17.8828},
  872. {603.2033, -1628.5216, 28.0547},
  873. {660.7752, -1602.5293, 20.3269},
  874. {688.5105, -1607.3796, 22.0391},
  875. {1654.8735, -1638.1479, 83.7813},
  876. {1671.3395, -1344.6774, 158.4766},
  877. {1651.7982, -1271.9119, 167.5547},
  878. {1681.6056, -1223.9996, 167.5547},
  879. {1278.5238, -1697.4240, 39.4375},
  880. {1481.8771, -1790.1433, 156.7533},
  881. {1764.0298, -2286.3223, 26.7960},
  882. {2202.5444, -2330.3840, 33.7149},
  883. {2280.8369, -1952.3245, 21.2188},
  884. {2737.8037, -1760.2153, 44.1507},
  885. {2840.6848, -2538.9077, 18.2075},
  886. {2745.8557, -1689.5879, 30.6551},
  887. {2660.9539, -1458.9890, 79.3805},
  888. {2606.5115, -1299.3252, 81.1481},
  889. {1099.8422, -824.3608, 114.4477},
  890. {939.5084, -910.8499, 80.7187},
  891. {309.7915, -1146.1421, 92.0492},
  892. {-1412.3374, -23.8541, 6.0000},
  893. {-2483.6931, -1549.5001, 401.5734},
  894. {-2753.6919, -2000.8949, 40.9872},
  895. {-2712.7534, -344.6357, 54.4080},
  896. {-1026.7931, -705.2756, 135.5049},
  897. {2072.7185, -1000.6807, 58.9766},
  898. {919.1627, -1021.8905, 107.5781},
  899. {-84.5577, -223.3596, 80.1250},
  900. {2505.3049, -2640.7354, 13.8623},
  901. {1474.5920, -2287.0769, 42.4205},
  902. {2590.4080, -632.3589, 133.3495},
  903. {-534.0347, -102.9933, 63.2969},
  904. {323.5139, -1131.3894, 80.9141},
  905. {194.7249, -1230.7240, 76.0469},
  906. {226.2876, -1186.0181, 72.0313},
  907. {955.2682, -719.9095, 122.2109},
  908. {1334.1615, -650.9788, 108.2632}
  909. };
  910. #endif
  911. new AdminRelogPassword[MAX_PLAYERS][129];
  912. new AdminLoggedInBefore[MAX_PLAYERS];
  913. new CreatedCars[50];
  914. new CreatedCarsCount;
  915. new gPlayerAccount[MAX_PLAYERS];
  916. new gPlayerLogTries[MAX_PLAYERS];
  917. new gPlayerLogged[MAX_PLAYERS];
  918. //new Float:MenuTime[MAX_PLAYERS];
  919. new InsideMainMenu[MAX_PLAYERS];
  920. new InsideTut[MAX_PLAYERS];
  921. new ActiveChatbox[MAX_PLAYERS];
  922. new PlayerCuffed[MAX_PLAYERS];
  923. new Spectate[MAX_PLAYERS];
  924. new Spectating[MAX_PLAYERS];
  925. new GettingSpectated[MAX_PLAYERS];
  926. new InsideShamal[MAX_PLAYERS];
  927. new HouseOffer[MAX_PLAYERS];
  928. new NOPTrigger[MAX_PLAYERS];
  929. new House[MAX_PLAYERS];
  930. new HousePrice[MAX_PLAYERS];
  931. new hInviteOffer[MAX_PLAYERS];
  932. new hInviteHouse[MAX_PLAYERS];
  933. //new hInviteSlot[MAX_PLAYERS];
  934. new playerTabbed[MAX_PLAYERS];
  935. new playerTabbedTime[MAX_PLAYERS];
  936. new playerAFK[MAX_PLAYERS];
  937. new shutdown;
  938. new playerAFKTime[MAX_PLAYERS];
  939. new playerLastTyped[MAX_PLAYERS];
  940. new playerConnectedS[MAX_PLAYERS];
  941. new playerSeconds[MAX_PLAYERS];
  942. new pCurrentWeapon[MAX_PLAYERS];
  943. new Float:HHcheckFloats[MAX_PLAYERS][6];
  944. new HHcheckInt[MAX_PLAYERS];
  945. new HHcheckVW[MAX_PLAYERS];
  946. new gPlayerCheckpointStatus[MAX_PLAYERS];
  947. new Float:TeleportDest[MAX_PLAYERS][3];
  948. new Float:TeleportDest2[MAX_PLAYERS][3];
  949. new TeleportDestInt[MAX_PLAYERS];
  950. new TeleportDestInt2[MAX_PLAYERS];
  951. new JetPack[MAX_PLAYERS];
  952. new TextSpamTimes[MAX_PLAYERS];
  953. new TextSpamUnmute[MAX_PLAYERS];
  954. new CommandSpamTimes[MAX_PLAYERS];
  955. new CommandSpamUnmute[MAX_PLAYERS];
  956. new gLastCar[MAX_PLAYERS];
  957. new GettingJob[MAX_PLAYERS];
  958. new GettingJob2[MAX_PLAYERS];
  959. new PayCheckCode[MAX_PLAYERS];
  960. new AdminDuty[MAX_PLAYERS];
  961. new FindTimePoints[MAX_PLAYERS];
  962. new FindingPlayer[MAX_PLAYERS];
  963. new FindTime[MAX_PLAYERS];
  964. new UsedFind[MAX_PLAYERS];
  965. new Condom[MAX_PLAYERS];
  966. new SexOffer[MAX_PLAYERS];
  967. new SexPrice[MAX_PLAYERS];
  968. new SexWarn[MAX_PLAYERS][MAX_PLAYERS];
  969. new Text3D:GMA3DText;
  970. new gFam[MAX_PLAYERS];
  971. new InviteCrew[MAX_PLAYERS];
  972. new InviteCrew1[MAX_PLAYERS];
  973. new InviteCrew2[MAX_PLAYERS];
  974. new InviteOffer[MAX_PLAYERS];
  975. new InviteFaction[MAX_PLAYERS];
  976. new InviteFamily[MAX_PLAYERS];
  977. new LockStatus[MAX_VEHICLES];
  978. new PotOffer[MAX_PLAYERS];
  979. new PotPrice[MAX_PLAYERS];
  980. new PotGram[MAX_PLAYERS];
  981. new CrackOffer[MAX_PLAYERS];
  982. new CrackPrice[MAX_PLAYERS];
  983. new CrackGram[MAX_PLAYERS];
  984. new CrackWarn[MAX_PLAYERS][MAX_PLAYERS];
  985. new PotWarn[MAX_PLAYERS][MAX_PLAYERS];
  986. new JobDuty[MAX_PLAYERS];
  987. new WantLawyer[MAX_PLAYERS];
  988. new CallLawyer[MAX_PLAYERS];
  989. new JailPrice[MAX_PLAYERS];
  990. new DefendOffer[MAX_PLAYERS];
  991. new DefendPrice[MAX_PLAYERS];
  992. new CP[MAX_PLAYERS];
  993. new GuardOffer[MAX_PLAYERS];
  994. new GuardPrice[MAX_PLAYERS];
  995. new BetOffer[MAX_PLAYERS];
  996. new BetPrice[MAX_PLAYERS];
  997. new BPOffer[MAX_PLAYERS];
  998. new BPPrice[MAX_PLAYERS];
  999. new FindingDealership[MAX_PLAYERS];
  1000. new GuardWarn[MAX_PLAYERS][MAX_PLAYERS];
  1001. new GunOffer[MAX_PLAYERS];
  1002. new GunId[MAX_PLAYERS];
  1003. new GunMats[MAX_PLAYERS];
  1004. new MatsOffer[MAX_PLAYERS];
  1005. new MatsPrice[MAX_PLAYERS];
  1006. new MatsAmount[MAX_PLAYERS];
  1007. new MatsWarn[MAX_PLAYERS][MAX_PLAYERS];
  1008. new InRing = 0;
  1009. new BoxDelay = 0;
  1010. new RoundStarted = 0;
  1011. new Boxer1 = INVALID_PLAYER_ID;
  1012. new Boxer2 = INVALID_PLAYER_ID;
  1013. new PlayerBoxing[MAX_PLAYERS];
  1014. new BoxOffer[MAX_PLAYERS];
  1015. new BoxWaitTime[MAX_PLAYERS];
  1016. new UsedWeed[MAX_PLAYERS];
  1017. new UsedCrack[MAX_PLAYERS];
  1018. new PlayerStoned[MAX_PLAYERS];
  1019. new TransportDuty[MAX_PLAYERS];
  1020. new TransportValue[MAX_PLAYERS];
  1021. new TransportMoney[MAX_PLAYERS];
  1022. new TransportTime[MAX_PLAYERS];
  1023. new TransportCost[MAX_PLAYERS];
  1024. new TransportDriver[MAX_PLAYERS];
  1025. new ConsumingMoney[MAX_PLAYERS];
  1026. new BusCallTime[MAX_PLAYERS];
  1027. new BusAccepted[MAX_PLAYERS];
  1028. new TaxiCallTime[MAX_PLAYERS];
  1029. new TaxiAccepted[MAX_PLAYERS];
  1030. new TaxiCall = 999;
  1031. new BusCall = 999;
  1032. new MechanicCall = 999;
  1033. new MedicCall = 999;
  1034. new TaxiWarn[MAX_PLAYERS][MAX_PLAYERS];
  1035. new DrinkOffer[MAX_PLAYERS];
  1036. new DrinkWarn[MAX_PLAYERS][MAX_PLAYERS];
  1037. new PayWarn[MAX_PLAYERS][MAX_PLAYERS];
  1038. new Float:StopaniFloats[MAX_PLAYERS][3];
  1039. new Float:FixMyVwFloats[MAX_PLAYERS][3];
  1040. new FishCount[MAX_PLAYERS];
  1041. new CraftOffer[MAX_PLAYERS];
  1042. new CraftId[MAX_PLAYERS];
  1043. new CraftMats[MAX_PLAYERS];
  1044. new CraftName[MAX_PLAYERS][50];
  1045. new VehicleSpawned[MAX_PLAYERS];
  1046. new VehicleOffer[MAX_PLAYERS];
  1047. new VehicleId[MAX_PLAYERS];
  1048. new VehiclePrice[MAX_PLAYERS];
  1049. new ListItemReleaseId[MAX_PLAYERS][50];
  1050. new GiveKeysTo[MAX_PLAYERS];
  1051. new ListItemTrackId[MAX_PLAYERS][50];
  1052. new RepairOffer[MAX_PLAYERS];
  1053. new RepairPrice[MAX_PLAYERS];
  1054. new RepairCar[MAX_PLAYERS];
  1055. new RepairWarn[MAX_PLAYERS][MAX_PLAYERS];
  1056. new OnDuty[MAX_PLAYERS];
  1057. new ConnectedToPC[MAX_PLAYERS];
  1058. new PlayerCuffedTime[MAX_PLAYERS];
  1059. new PhoneOnline[MAX_PLAYERS];
  1060. new pTazer[MAX_PLAYERS];
  1061. new pTazerReplace[MAX_PLAYERS];
  1062. new TazerTimeout[MAX_PLAYERS];
  1063. new TicketOffer[MAX_PLAYERS];
  1064. new TicketMoney[MAX_PLAYERS];
  1065. new arr_Towing[MAX_PLAYERS];
  1066. new Fixr[MAX_PLAYERS];
  1067. new gBug[MAX_PLAYERS];
  1068. new GotHit[MAX_PLAYERS];
  1069. new GoChase[MAX_PLAYERS];
  1070. new GetChased[MAX_PLAYERS];
  1071. new HitOffer[MAX_PLAYERS];
  1072. new HitToGet[MAX_PLAYERS];
  1073. new gNews[MAX_PLAYERS];
  1074. new JustReported[MAX_PLAYERS];
  1075. new NewbieTimer[MAX_PLAYERS];
  1076. new gNewbie[MAX_PLAYERS];
  1077. new Float:EventFloats[MAX_PLAYERS][6]; // 0 = EventLastR 1 = EventLastX 2 = EventLastY 3 = EventLastZ 4 = EventLastH 5 = EventLastA
  1078. new EventLastInt[MAX_PLAYERS]; new EventLastVW[MAX_PLAYERS];
  1079. new Mobile[MAX_PLAYERS];
  1080. new CellTime[MAX_PLAYERS];
  1081. new CalledCops[MAX_PLAYERS];
  1082. new CopsCallTime[MAX_PLAYERS];
  1083. new CalledMedics[MAX_PLAYERS];
  1084. new MedicsCallTime[MAX_PLAYERS];
  1085. new Music[MAX_PLAYERS];
  1086. new PlayerTied[MAX_PLAYERS];
  1087. new gRadio[MAX_PLAYERS];
  1088. new CallCost[MAX_PLAYERS];
  1089. new szAdvert[MAX_PLAYERS][128];
  1090. new IsBoundsShowingFFC[MAX_PLAYERS];
  1091. new IsBoundsShowingMP1[MAX_PLAYERS];
  1092. new IsBoundsShowingMF1[MAX_PLAYERS];
  1093. new IsBoundsShowingMP2[MAX_PLAYERS];
  1094. new IsBoundsShowingMF2[MAX_PLAYERS];
  1095. new IsBoundsShowingAEC[MAX_PLAYERS];
  1096. new IsBoundsShowingDH[MAX_PLAYERS];
  1097. new IsBoundsShowingCL[MAX_PLAYERS];
  1098. new IsBoundsShowingDF[MAX_PLAYERS];
  1099. new GlobalChat[MAX_PLAYERS];
  1100. new GlobalChatTimer[MAX_PLAYERS];
  1101. new EMSCallTime[MAX_PLAYERS];
  1102. new EMSAccepted[MAX_PLAYERS];
  1103. new MedicCallTime[MAX_PLAYERS];
  1104. new MedicAccepted[MAX_PLAYERS];
  1105. new MechanicCallTime[MAX_PLAYERS];
  1106. new DivorceOffer[MAX_PLAYERS];
  1107. new MarryWitness[MAX_PLAYERS];
  1108. new MarryWitnessOffer[MAX_PLAYERS];
  1109. new MarriageCeremoney[MAX_PLAYERS];
  1110. new ProposeOffer[MAX_PLAYERS];
  1111. new ProposedTo[MAX_PLAYERS];
  1112. new GotProposedBy[MAX_PLAYERS];
  1113. new slotselection[MAX_PLAYERS];
  1114. new ServiceTime[MAX_PLAYERS];
  1115. new WasHereForPaycheck[MAX_PLAYERS];
  1116. new SignedPaycheck[MAX_PLAYERS];
  1117. new MissedPaychecks[MAX_PLAYERS];
  1118. new LiveOffer[MAX_PLAYERS];
  1119. new TalkingLive[MAX_PLAYERS];
  1120. new HidePM[MAX_PLAYERS];
  1121. new Backup[MAX_PLAYERS];
  1122. new fBackup[MAX_PLAYERS];
  1123. new FindingJob[MAX_PLAYERS];
  1124. new ShakeHandRequest[MAX_PLAYERS];
  1125. new ShakeHandStyle[MAX_PLAYERS];
  1126. new TutorialProgress[MAX_PLAYERS];
  1127. new Float:ValidArmor[MAX_PLAYERS];
  1128. new PhonePrivacy[MAX_PLAYERS];
  1129. new MP3Station[MAX_PLAYERS];
  1130. new BoomBoxSet[MAX_PLAYERS];
  1131. // Other
  1132. new PizzaVehicles[12];
  1133. new Bar:PizzaBar[MAX_PLAYERS];
  1134. // for /music
  1135. new Songs[7][1] = {
  1136. {1187},
  1137. {1185},
  1138. {1183},
  1139. {1097},
  1140. {1076},
  1141. {1068},
  1142. {1062}
  1143. };
  1144. new CIV[] = {7,19,20,23,73,101,122};
  1145. new STD1[] = {0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3};
  1146. new STD2[] = {0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3};
  1147. new STD3[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3};
  1148. new STD4[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 3};
  1149. new SELLCAR1[] = { 100, 112, 124, 134, 147, 157, 163, 176, 189, 194, 200 };
  1150. new SELLCAR2[] = { 209, 213, 225, 237, 245, 256, 261, 272, 287, 298, 300 };
  1151. new SELLCAR3[] = { 305, 317, 321, 337, 345, 355, 367, 375, 386, 396, 400 };
  1152. new SELLCAR4[] = { 407, 412, 427, 437, 442, 456, 461, 475, 489, 491, 500 };
  1153. new FishNamesNumber = 22;
  1154. new FishNames[22][20] = {
  1155. {"Jacket"}, {"Amberjack"}, {"Grouper"},
  1156. {"Red Snapper"}, {"Pants"}, {"Trout"},
  1157. {"Blue Marlin"}, {"Can"}, {"Mackeral"},
  1158. {"Sea Bass"}, {"Shoes"}, {"Pike"},
  1159. {"Sail Fish"}, {"Garbage"}, {"Tuna"},
  1160. {"Eel"}, {"Dolphin"}, {"Shark"},
  1161. {"Turtle"}, {"Catfish"}, {"Money Bag"},
  1162. {"Swordfish"}
  1163. };
  1164. new Float: fVehSpeed[MAX_PLAYERS];
  1165. new Float:PlayerPos[MAX_PLAYERS][6];
  1166. new Float:TelePos[MAX_PLAYERS][6];
  1167. new levelexp = 4;
  1168. // Advance Miner and Lumberjack job
  1169. #define DIALOG_STARTJOB 49
  1170. #define DIALOG_ENDJOB 50
  1171. #define Lumber_STARTJOB 143
  1172. #define Lumber_ENDJOB 144
  1173. // Forward Miner and Lumberjack job
  1174. forward TimerGiveMiner(playerid);
  1175. forward TimerGiveMinerEx(playerid);
  1176. forward UpdateExit();
  1177. forward UpdateDoors();
  1178. forward TimerGiveLumber(playerid);
  1179. forward TimerGiveLumberEx(playerid);
  1180. // Miner Job
  1181. new vputi, floorlift[3], exitp,
  1182. lift, upgate, downgate, pickup777,
  1183. startjob[MAX_PLAYERS],
  1184. onminer[MAX_PLAYERS],
  1185. prinesmet[MAX_PLAYERS],
  1186. countmet[MAX_PLAYERS], injob[MAX_PLAYERS],
  1187. prinesmetEx[MAX_PLAYERS],
  1188. countmetEx[MAX_PLAYERS],
  1189. ExtraMetall[MAX_PLAYERS],
  1190. minerskin[MAX_PLAYERS];
  1191. static const VehicleName[212][] = {
  1192. "Landstalker","Bravura","Buffalo","Linerunner","Perennial","Sentinel","Dumper","Firetruck","Trashmaster","Stretch",
  1193. "Manana","Infernus","Voodoo","Pony","Mule","Cheetah","Ambulance","Leviathan","Moonbeam","Esperanto","Taxi",
  1194. "Washington","Bobcat","Mr Whoopee","BF Injection","Hunter","Premier","Enforcer","Securicar","Banshee","Predator",
  1195. "Bus","Rhino","Barracks","Hotknife","Trailer","Previon","Coach","Cabbie","Stallion","Rumpo","RC Bandit", "Romero",
  1196. "Packer","Monster","Admiral","Squalo","Seasparrow","Pizzaboy","Tram","Trailer","Turismo","Speeder","Reefer","Tropic","Flatbed",
  1197. "Yankee","Caddy","Solair","Berkley's RC Van","Skimmer","PCJ-600","Faggio","Freeway","RC Baron","RC Raider",
  1198. "Glendale","Oceanic","Sanchez","Sparrow","Patriot","Quad","Coastguard","Dinghy","Hermes","Sabre","Rustler",
  1199. "ZR-350","Walton","Regina","Comet","BMX","Burrito","Camper","Marquis","Baggage","Dozer","Maverick","News Chopper",
  1200. "Rancher","FBI Rancher","Virgo","Greenwood","Jetmax","Hotring Racer","Sandking","Blista Compact","Police Maverick",
  1201. "Boxville","Benson","Mesa","RC Goblin","Hotring Racer A","Hotring Racer B","Bloodring Banger","Rancher","Super GT",
  1202. "Elegant","Journey","Bike","Mountain Bike","Beagle","Cropduster","Stuntplane","Tanker","Road Train","Nebula","Majestic",
  1203. "Buccaneer","Shamal","Hydra","FCR-900","NRG-500","HPV-1000","Cement Truck","Tow Truck","Fortune","Cadrona","FBI Truck",
  1204. "Willard","Forklift","Tractor","Combine","Feltzer","Remington","Slamvan","Blade","Freight","Streak","Vortex","Vincent",
  1205. "Bullet","Clover","Sadler","Firetruck","Hustler","Intruder","Primo","Cargobob","Tampa","Sunrise","Merit","Utility",
  1206. "Nevada","Yosemite","Windsor","Monster A","Monster B","Uranus","Jester","Sultan","Stratum","Elegy","Raindance","RC Tiger",
  1207. "Flash","Tahoma","Savanna","Bandito","Freight","Trailer","Kart","Mower","Duneride","Sweeper","Broadway",
  1208. "Tornado","AT-400","DFT-30","Huntley","Stafford","BF-400","Newsvan","Tug","Trailer","Emperor","Wayfarer",
  1209. "Euros","Hotdog","Club","Trailer","Trailer","Andromada","Dodo","RCCam","Launch","Police Car (LSPD)","Police Car (SFPD)",
  1210. "Police Car (LVPD)","Police Ranger","Picador","S.W.A.T. Van","Alpha","Phoenix","Glendale","Sadler","Luggage Trailer A",
  1211. "Luggage Trailer B","Stair Trailer","Boxville","Farm Plow","Utility Trailer"
  1212. };
  1213. new Peds[217][1] = {
  1214. {299},
  1215. {288},//TEAM_ADMIN
  1216. {286},{287},{228},{113},{120},{147},{294},{227},{61},{171},
  1217. {247},//CIVILIANS DOWN HERE
  1218. {248},{100},{256},{263},{262},{261},{260},{259},{258},{257},{256},{255},
  1219. {253},{252},{251},{249},{246},{245},{244},{243},{242},{241},{240},{239},
  1220. {238},{237},{236},{235},{234},{233},{232},{231},{230},{229},
  1221. {226},{225},{173},{174},{175},{224},{223},{222},{221},{220},{219},{218},
  1222. {217},{216},{215},{214},{213},{212},{211},{210},{209},
  1223. {207},{206},{205},{204},{203},{202},{201},{200},{199},{198},{197},{196},
  1224. {195},{194},{193},{192},{191},{190},{189},{185},{184},{183},
  1225. {182},{181},{180},{179},{178},{176},{172},{170},{168},{167},{162},
  1226. {161},{160},{159},{158},{157},{156},{155},{154},{153},{152},{151},
  1227. {146},{145},{144},{143},{142},{141},{140},{139},{138},{137},{136},{135},
  1228. {134},{133},{132},{131},{130},{129},{128},{254},{99},{97},{96},{95},{94},
  1229. {92},{90},{89},{88},{87},{85},{84},{83},{82},{81},{80},{79},{78},{77},{76},
  1230. {75},{73},{72},{69},{68},{67},{66},{64},{63},{62},{58},{57},{56},{55},
  1231. {54},{53},{52},{51},{50},{49},{45},{44},{43},{41},{39},{38},{37},{36},{35},
  1232. {34},{33},{32},{31},{30},{29},{28},{27},{26},{25},{24},{23},{22},{21},{20},
  1233. {19},{18},{17},{16},{15},{14},{13},{12},{11},{10},{1},{2},
  1234. {290},//ROSE
  1235. {291},//PAUL
  1236. {292},//CESAR
  1237. {293},//OGLOC
  1238. {187},
  1239. {296},//JIZZY
  1240. {297},//MADDOGG
  1241. {298},//CAT
  1242. {299}//ZERO
  1243. };
  1244. new GunNames[54][30] = {
  1245. {"Unarmed"},
  1246. {"Brass Knuckles"},
  1247. {"Golf Club"},
  1248. {"Nite Stick"},
  1249. {"Knife"},
  1250. {"Baseball Bat"},
  1251. {"Shovel"},
  1252. {"Pool Cue"},
  1253. {"Katana"},
  1254. {"Chainsaw"},
  1255. {"Purple Dildo"},
  1256. {"Short Vibrator"},
  1257. {"Long Vibrator"},
  1258. {"White Dildo"},
  1259. {"Flowers"},
  1260. {"Cane"},
  1261. {"Grenades"},
  1262. {"Tear Gas"},
  1263. {"Molotov Cocktails"},
  1264. {"Vehicle Missile"},
  1265. {"Hydra Flare"},
  1266. {"Jetpack"},
  1267. {"9MM Pistol"},
  1268. {"SD Pistol"},
  1269. {"Deagle"},
  1270. {"Shotgun"},
  1271. {"Sawn-off"},
  1272. {"Spas12"},
  1273. {"Mac 10"},
  1274. {"MP5"},
  1275. {"AK47"},
  1276. {"M4"},
  1277. {"Tech 9"},
  1278. {"Country Rifle"},
  1279. {"Sniper Rifle"},
  1280. {"Rocket Launcher"},
  1281. {"HS Rocket Launcher"},
  1282. {"Flamethrower"},
  1283. {"Minigun"},
  1284. {"Satchel Charges"},
  1285. {"Detonator"},
  1286. {"Mace"},
  1287. {"Fire Extinguisher"},
  1288. {"Camera"},
  1289. {"Night Vision"},
  1290. {"Thermal Goggles"},
  1291. {"Parachute"},
  1292. {"Fake Pistol"},
  1293. {"Invalid ID"},
  1294. {"Vehicle Ram"},
  1295. {"HeliBlade/CarPark"},
  1296. {"Explosion"},
  1297. {"Drowned"},
  1298. {"Collision"}
  1299. };
  1300. stock CreateLandObject(playerid, model)
  1301. {
  1302. new ids, string[128];
  1303. for(new h = 1;h < 500; h++)//Loops through all the businesses
  1304. {
  1305. if(ObjectInfo[h][oUsed] == 0)//Checks if the price of a business is 0.
  1306. {
  1307. ids = h;
  1308. break;//It stops looping if it is.
  1309. }
  1310. }
  1311. new Float:x, Float:y, Float:z;
  1312. GetPlayerPos(playerid, x, y, z);
  1313. ObjectInfo[ids][objID] = CreateDynamicObject(model, x, y+3, z, 0.0, 0.0, 0.0);
  1314. ObjectInfo[ids][objModel] = model;
  1315. GetPlayerPos(playerid, ObjectInfo[ids][oposX], ObjectInfo[ids][oposY], ObjectInfo[ids][oposZ]);
  1316. ObjectInfo[ids][orotX] = 0.0;
  1317. ObjectInfo[ids][orotY] = 0.0;
  1318. ObjectInfo[ids][orotZ] = 0.0;
  1319. ObjectInfo[ids][oUsed] = 1;
  1320. ObjectInfo[ids][oCount]++;
  1321. Streamer_Update(playerid);
  1322. EditDynamicObject(playerid, ObjectInfo[ids][objID]);
  1323. format(string, 128, "You are now editing object Slot %d.", ids);
  1324. SCM(playerid, -1, string);
  1325. }
  1326. stock CreateLandDoorObject(playerid, model)
  1327. {
  1328. new ids, string[128];
  1329. for(new h = 1;h < 500; h++)//Loops through all the businesses
  1330. {
  1331. if(ObjectInfo[h][oUsed] == 0)//Checks if the price of a business is 0.
  1332. {
  1333. ids = h;
  1334. break;//It stops looping if it is.
  1335. }
  1336. }
  1337. new Float:x, Float:y, Float:z;
  1338. GetPlayerPos(playerid, x, y, z);
  1339. ObjectInfo[ids][oDoor] = CreateDynamicObject(model, x, y+3, z, 0.0, 0.0, -90.0);
  1340. ObjectInfo[ids][objModel] = model;
  1341. GetPlayerPos(playerid, ObjectInfo[ids][oposX], ObjectInfo[ids][oposY], ObjectInfo[ids][oposZ]);
  1342. ObjectInfo[ids][orotX] = 0.0;
  1343. ObjectInfo[ids][orotY] = -90.0;
  1344. ObjectInfo[ids][orotZ] = 0.0;
  1345. ObjectInfo[ids][oUsed] = 1;
  1346. ObjectInfo[ids][oCount]++;
  1347. ObjectInfo[ids][oDLock] = 1;
  1348. Streamer_Update(playerid);
  1349. EditDynamicObject(playerid, ObjectInfo[ids][oDoor]);
  1350. format(string, 128, "You are now editing object Slot %d.", ids);
  1351. SCM(playerid, -1, string);
  1352. }
  1353. stock CreateLandFloorObject(playerid, model)
  1354. {
  1355. new ids, string[128];
  1356. for(new h = 1;h < 500; h++)//Loops through all the businesses
  1357. {
  1358. if(ObjectInfo[h][oUsed] == 0)//Checks if the price of a business is 0.
  1359. {
  1360. ids = h;
  1361. break;//It stops looping if it is.
  1362. }
  1363. }
  1364. new Float:x, Float:y, Float:z;
  1365. GetPlayerPos(playerid, x, y, z);
  1366. ObjectInfo[ids][objID] = CreateDynamicObject(model, x, y+3, z, 0.0, 0.0, 0.0);
  1367. ObjectInfo[ids][objModel] = model;
  1368. GetPlayerPos(playerid, ObjectInfo[ids][oposX], ObjectInfo[ids][oposY], ObjectInfo[ids][oposZ]);
  1369. ObjectInfo[ids][orotX] = 90.0;
  1370. ObjectInfo[ids][orotY] = 0.0;
  1371. ObjectInfo[ids][orotZ] = 0.0;
  1372. ObjectInfo[ids][oUsed] = 1;
  1373. ObjectInfo[ids][oCount]++;
  1374. Streamer_Update(playerid);
  1375. EditObject(playerid, ObjectInfo[ids][objID]);
  1376. format(string, 128, "You are now editing object Slot %d.", ids);
  1377. SCM(playerid, -1, string);
  1378. }
  1379. stock PlayerPlayMusic(playerid)
  1380. {
  1381. if(IsPlayerConnected(playerid)) {
  1382. SetTimer("StopMusic", 5000, 0);
  1383. PlayerPlaySound(playerid, 1068, 0.0, 0.0, 0.0);
  1384. }
  1385. }
  1386. forward StopMusic();
  1387. public StopMusic()
  1388. {
  1389. foreach(Player, i)
  1390. {
  1391. PlayerPlaySound(i, 1069, 0.0, 0.0, 0.0);
  1392. }
  1393. }
  1394. public OnPlayerModelSelection(playerid, response, listid, modelid)
  1395. {
  1396. if(listid == skinlist)
  1397. {
  1398. if(response)
  1399. {
  1400. SendClientMessage(playerid, COLOR_WHITE, "");
  1401. SetPlayerSkin(playerid, modelid);
  1402. //GivePlayerCash(playerid, -200);
  1403. //BizInfo[PlayerInfo[playerid][InBusiness]][bMoney] += 250;
  1404. //BizInfo[PlayerInfo[playerid][InBusiness]][bSupplies] --;
  1405. }
  1406. else SendClientMessage(playerid, COLOR_WHITE, "");
  1407. return 1;
  1408. }
  1409. return 1;
  1410. }
  1411. public OnPlayerEditDynamicObject(playerid, objectid, response, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz)
  1412. {
  1413. new Float:oldX, Float:oldY, Float:oldZ, Float:oldRotX, Float:oldRotY, Float:oldRotZ;
  1414. GetObjectPos(ObjectInfo[objectid][objID], oldX, oldY, oldZ);
  1415. GetObjectRot(ObjectInfo[objectid][objID], oldRotX, oldRotY, oldRotZ);
  1416. if(response == EDIT_RESPONSE_FINAL)
  1417. {
  1418. SetObjectPos(ObjectInfo[objectid][objID], x, y, z);
  1419. SetObjectRot(ObjectInfo[objectid][objID], rx, ry, rz);
  1420. SetObjectPos(ObjectInfo[objectid][oDoor], x, y, z);
  1421. SetObjectRot(ObjectInfo[objectid][oDoor], rx, ry, rz);
  1422. ObjectInfo[objectid][oposX] = z;
  1423. ObjectInfo[objectid][oposY] = y;
  1424. ObjectInfo[objectid][oposZ] = z;
  1425. ObjectInfo[objectid][orotX] = rx;
  1426. ObjectInfo[objectid][orotY] = ry;
  1427. ObjectInfo[objectid][orotZ] = rz;
  1428. }
  1429. else if(response == EDIT_RESPONSE_CANCEL)
  1430. {
  1431. //The player cancelled, so put the object back to it's old position
  1432. SetObjectPos(ObjectInfo[objectid][objID], oldX, oldY, oldZ);
  1433. SetObjectRot(ObjectInfo[objectid][objID], oldRotX, oldRotY, oldRotZ);
  1434. }
  1435. return 1;
  1436. }
  1437. stock PlayerFixRadio(playerid)
  1438. {
  1439. if(IsPlayerConnected(playerid)) {
  1440. SetTimer("PlayerFixRadio2", 1000, 0);
  1441. PlayerPlaySound(playerid, 1068, 0.0, 0.0, 0.0);
  1442. Fixr[playerid] = 1;
  1443. }
  1444. }
  1445. forward PlayerFixRadio2();
  1446. public PlayerFixRadio2()
  1447. {
  1448. foreach(Player, i)
  1449. {
  1450. if(Fixr[i])
  1451. {
  1452. PlayerPlaySound(i, 1069, 0.0, 0.0, 0.0);
  1453. Fixr[i] = 0;
  1454. }
  1455. }
  1456. }
  1457. stock vehicle_lock_doors(vehicle) {
  1458. new
  1459. vParamArr[7];
  1460. GetVehicleParamsEx(vehicle, vParamArr[0], vParamArr[1], vParamArr[2], vParamArr[3], vParamArr[4], vParamArr[5], vParamArr[6]);
  1461. return SetVehicleParamsEx(vehicle, vParamArr[0], vParamArr[1], vParamArr[2], VEHICLE_PARAMS_ON, vParamArr[4], vParamArr[5], vParamArr[6]);
  1462. }
  1463. stock vehicle_unlock_doors(vehicle) {
  1464. new
  1465. vParamArr[7];
  1466. GetVehicleParamsEx(vehicle, vParamArr[0], vParamArr[1], vParamArr[2], vParamArr[3], vParamArr[4], vParamArr[5], vParamArr[6]);
  1467. return SetVehicleParamsEx(vehicle, vParamArr[0], vParamArr[1], vParamArr[2], VEHICLE_PARAMS_OFF, vParamArr[4], vParamArr[5], vParamArr[6]);
  1468. }
  1469. new OneSeatVehicles[38] =
  1470. {
  1471. 425, 430, 432, 441, 446, 448, 452, 453,
  1472. 454, 464, 465, 472, 473, 476, 481, 484,
  1473. 485, 486, 493, 501, 509, 510, 519, 520,
  1474. 530, 531, 532, 539, 553, 564, 568, 571,
  1475. 572, 574, 583, 592, 594, 595
  1476. };
  1477. stock IsSeatAvailable(vehicleid, seat)
  1478. {
  1479. new carmodel = GetVehicleModel(vehicleid);
  1480. for (new i = 0; i < sizeof(OneSeatVehicles); i++)
  1481. {
  1482. if(carmodel == OneSeatVehicles[i]) return 0;
  1483. }
  1484. foreach(Player, i)
  1485. {
  1486. if(GetPlayerVehicleID(i) == vehicleid && GetPlayerVehicleSeat(i) == seat) return 0;
  1487. }
  1488. return 1;
  1489. }
  1490. stock IsPlayerInInvalidNosVehicle(playerid)
  1491. {
  1492. switch(GetVehicleModel(GetPlayerVehicleID(playerid))) {
  1493. case 581, 523, 462, 521, 463, 522, 461, 448, 468, 586, 509, 481, 510, 472, 473, 493, 595, 484, 430, 453, 452, 446, 454, 590, 569, 537, 538, 570, 449: return 1;
  1494. }
  1495. return 0;
  1496. }
  1497. stock IsAtFishPlace(playerid)
  1498. {
  1499. if(IsPlayerConnected(playerid))
  1500. {
  1501. if(IsPlayerInRangeOfPoint(playerid,1.0,403.8266,-2088.7598,7.8359) || IsPlayerInRangeOfPoint(playerid,1.0,398.7553,-2088.7490,7.8359))
  1502. {//Fishplace at the bigwheel
  1503. return 1;
  1504. }
  1505. else if(IsPlayerInRangeOfPoint(playerid,1.0,396.2197,-2088.6692,7.8359) || IsPlayerInRangeOfPoint(playerid,1.0,391.1094,-2088.7976,7.8359))
  1506. {//Fishplace at the bigwheel
  1507. return 1;
  1508. }
  1509. else if(IsPlayerInRangeOfPoint(playerid,1.0,383.4157,-2088.7849,7.8359) || IsPlayerInRangeOfPoint(playerid,1.0,374.9598,-2088.7979,7.8359))
  1510. {//Fishplace at the bigwheel
  1511. return 1;
  1512. }
  1513. else if(IsPlayerInRangeOfPoint(playerid,1.0,369.8107,-2088.7927,7.8359) || IsPlayerInRangeOfPoint(playerid,1.0,367.3637,-2088.7925,7.8359))
  1514. {//Fishplace at the bigwheel
  1515. return 1;
  1516. }
  1517. else if(IsPlayerInRangeOfPoint(playerid,1.0,362.2244,-2088.7981,7.8359) || IsPlayerInRangeOfPoint(playerid,1.0,354.5382,-2088.7979,7.8359))
  1518. {//Fishplace at the bigwheel
  1519. return 1;
  1520. }
  1521. }
  1522. return 0;
  1523. }
  1524. stock IsAtClothShop(playerid)
  1525. {
  1526. if(IsPlayerConnected(playerid))
  1527. {
  1528. if(IsPlayerInRangeOfPoint(playerid,25.0,207.5627,-103.7291,1005.2578) || IsPlayerInRangeOfPoint(playerid,25.0,203.9068,-41.0728,1001.8047) || IsPlayerInRangeOfPoint(playerid,25.0,203.9068,-41.0728,1001.8047))
  1529. {//Binco & Suburban
  1530. return 1;
  1531. }
  1532. else if(IsPlayerInRangeOfPoint(playerid,30.0,214.4470,-7.6471,1001.2109) || IsPlayerInRangeOfPoint(playerid,50.0,161.3765,-83.8416,1001.8047))
  1533. {//Zip & Victim
  1534. return 1;
  1535. }
  1536. else if(IsPlayerInRangeOfPoint(playerid,5.0,202.6777,-163.0623,1000.5306))
  1537. {//Diedier Sachs
  1538. return 1;
  1539. }
  1540. }
  1541. return 0;
  1542. }
  1543. stock IsAtBar(playerid)
  1544. {
  1545. if(IsPlayerConnected(playerid))
  1546. {
  1547. if(IsPlayerInRangeOfPoint(playerid,3.0,495.7801,-76.0305,998.7578) || IsPlayerInRangeOfPoint(playerid,3.0,499.9654,-20.2515,1000.6797) || IsPlayerInRangeOfPoint(playerid,9.0,1497.5735,-1811.6150,825.3397))
  1548. {//In grove street bar (with girlfriend), and in Havanna
  1549. return 1;
  1550. }
  1551. else if(IsPlayerInRangeOfPoint(playerid,4.0,1215.9480,-13.3519,1000.9219) || IsPlayerInRangeOfPoint(playerid,10.0,-2658.9749,1407.4136,906.2734) || IsPlayerInRangeOfPoint(playerid,10.0,2155.3367,-97.3984,3.8308))
  1552. {//PIG Pen
  1553. return 1;
  1554. }
  1555. else if(IsPlayerInRangeOfPoint(playerid,6.0,300.351287, 1030.323120, 1104.560058) || IsPlayerInRangeOfPoint(playerid,6.0,311.184661, 1011.819274, 1098.540039) || IsPlayerInRangeOfPoint(playerid,10.0,-1091.006958, 607.855773, 1116.507812))
  1556. {// First two: Tableau Club - Last one: The Lubu Gentlemen's club
  1557. return 1;
  1558. }
  1559. else if(IsPlayerInRangeOfPoint(playerid,6.0,255.606887, 1086.537109, 5099.806152))
  1560. {// Santa Maria Surfer's Lounge.
  1561. return 1;
  1562. }
  1563. else if(IsPlayerInRangeOfPoint(playerid,10.0,453.2437,-105.4000,999.5500) || IsPlayerInRangeOfPoint(playerid,10.0,1255.69, -791.76, 1085.38) ||
  1564. IsPlayerInRangeOfPoint(playerid,10.0,2561.94, -1296.44, 1062.04) || IsPlayerInRangeOfPoint(playerid,10.0,1139.72, -3.96, 1000.67) ||
  1565. IsPlayerInRangeOfPoint(playerid,10.0,1139.72, -3.96, 1000.67) || IsPlayerInRangeOfPoint(playerid, 10.0, 880.06, 1430.86, -82.34) ||
  1566. IsPlayerInRangeOfPoint(playerid,10.0,499.96, -20.66, 1000.68))
  1567. {
  1568. //Bars
  1569. return 1;
  1570. }
  1571. }
  1572. return 0;
  1573. }
  1574. stock IsAtATM(playerid)
  1575. {
  1576. if(IsPlayerConnected(playerid))
  1577. {
  1578. if(IsPlayerInRangeOfPoint(playerid,3.0,2065.439453125, -1897.5510253906, 13.19670009613) || IsPlayerInRangeOfPoint(playerid,3.0,1497.7467041016, -1749.8747558594, 15.088212013245) || IsPlayerInRangeOfPoint(playerid,3.0,2093.5124511719, -1359.5474853516, 23.62727355957) || IsPlayerInRangeOfPoint(playerid,3.0,1155.6235351563, -1464.9141845703, 15.44321346283))
  1579. {//ATMS
  1580. return 1;
  1581. }
  1582. else if(IsPlayerInRangeOfPoint(playerid,3.0,2139.4487304688, -1164.0811767578, 23.63508605957) || IsPlayerInRangeOfPoint(playerid,3.0,387.16552734375, -1816.0512695313, 7.4834146499634))
  1583. {//ATMS
  1584. return 1;
  1585. }
  1586. else if(IsPlayerInRangeOfPoint(playerid,3.0,-24.385023117065, -92.001075744629, 1003.1897583008) || IsPlayerInRangeOfPoint(playerid,3.0,-31.811220169067, -58.106018066406, 1003.1897583008) || IsPlayerInRangeOfPoint(playerid,3.0,1212.7785644531, 2.451762676239, 1000.5647583008) || IsPlayerInRangeOfPoint(playerid,3.0,2324.4028320313, -1644.9445800781, 14.469946861267))
  1587. {//ATMS
  1588. return 1;
  1589. }
  1590. else if(IsPlayerInRangeOfPoint(playerid,3.0,2228.39, -1707.78, 13.25) || IsPlayerInRangeOfPoint(playerid,3.0,651.19305419922, -520.48815917969, 15.978837013245) || IsPlayerInRangeOfPoint(playerid, 3.0, 45.78035736084, -291.80926513672, 1.5024013519287) || IsPlayerInRangeOfPoint(playerid,3.0,1275.7958984375, 368.31481933594, 19.19758605957) || IsPlayerInRangeOfPoint(playerid,3.0,2303.4577636719, -13.539554595947, 26.12727355957))/*End of Red County Random ATM's*/
  1591. {//ATMS
  1592. return 1;
  1593. }
  1594. else if(IsPlayerInRangeOfPoint(playerid,3.0,691.08215332031, -618.5625, 15.978837013245) || IsPlayerInRangeOfPoint(playerid,3.0,173.23471069336, -155.07606506348, 1.2210245132446) || IsPlayerInRangeOfPoint(playerid,3.0,1260.8796386719, 209.30152893066, 19.19758605957) || IsPlayerInRangeOfPoint(playerid,3.0,2316.1015625, -88.522567749023, 26.12727355957))
  1595. {//ATMS
  1596. return 1;
  1597. }
  1598. else if(IsPlayerInRangeOfPoint(playerid,3.0,2052.9246, -1660.6346, 13.1300) || IsPlayerInRangeOfPoint(playerid,3.0,-1980.6300,121.5300,27.3100))
  1599. {
  1600. return 1;
  1601. }
  1602. else if(IsPlayerInRangeOfPoint(playerid,3.0,-2453.7600,754.8200,34.8000) || IsPlayerInRangeOfPoint(playerid,3.0,-2678.6201,-283.3400,6.8000))
  1603. {
  1604. return 1;
  1605. }
  1606. else if(IsPlayerInRangeOfPoint(playerid,5.0,519.8157,-2890.8601,4.4609))
  1607. {
  1608. return 1;
  1609. }
  1610. else if(IsPlayerInRangeOfPoint(playerid,5.0,268.820739,1524.135009,1082.683227))
  1611. {// Dice Casino
  1612. return 1;
  1613. }
  1614. else if((IsPlayerInRangeOfPoint(playerid,5.0,487.060546, -2383.360107, 10.782341) && GetPlayerInterior(playerid) == 18))
  1615. { // Saints Mall
  1616. return 1;
  1617. }
  1618. else if(IsPlayerInRangeOfPoint(playerid,5.0,1084.4668, -1713.8372, -20.8792))
  1619. {// Maximus Club
  1620. return 1;
  1621. }
  1622. }
  1623. return 0;
  1624. }
  1625. /*
  1626. // Anti Dialog ID spoofing
  1627. #define ShowPlayerDialogEx(%0, %1, %2, %3, %4, %5, %6) ShowPlayerDialog(%0, %1, %2, %3, %4, %5, %6) \
  1628. SetPVarInt(%0, "dialog", %1)*/
  1629. stock ShowPlayerDialogEx(playerid, dialogid, style, caption[], info[], button1[], button2[]) {
  1630. SetPVarInt(playerid, "dialog", dialogid);
  1631. ShowPlayerDialog(playerid, dialogid, style, caption, info, button1, button2);
  1632. return 1;
  1633. }
  1634. stock IsAtNameChange(playerid)
  1635. {
  1636. if(IsPlayerConnected(playerid))
  1637. {
  1638. if(IsPlayerInRangeOfPoint(playerid, 3.0,1154.7295,-1440.2323,15.7969))
  1639. {
  1640. return 1;
  1641. }
  1642. }
  1643. return 0;
  1644. }
  1645. stock IsAt247(playerid)
  1646. {
  1647. if(IsPlayerConnected(playerid))
  1648. {
  1649. if(IsPlayerInRangeOfPoint(playerid, 100.0, -30.875, -88.9609, 1004.53))
  1650. {
  1651. return 1;
  1652. }
  1653. else if(IsPlayerInRangeOfPoint(playerid, 10.0, -2654.2300,1526.3693,907.1797))
  1654. {
  1655. return 1;
  1656. }
  1657. else if(IsPlayerInRangeOfPoint(playerid, 50.0, 890.66, 1429.08, -82.34))
  1658. {
  1659. return 1;
  1660. }
  1661. else if(IsPlayerInRangeOfPoint(playerid, 50.0, -29.2035, -185.1285, 1003.5469))
  1662. {
  1663. return 1;
  1664. }
  1665. else if(IsPlayerInRangeOfPoint(playerid, 50.0, 2.0450,-29.0116,1003.5494))
  1666. {
  1667. return 1;
  1668. }
  1669. else if(IsPlayerInRangeOfPoint(playerid, 50.0, -28.1463,-89.9533,1003.5469))
  1670. {
  1671. return 1;
  1672. }
  1673. else if(IsPlayerInRangeOfPoint(playerid, 50.0, -22.0699,-138.6297,1003.5469))
  1674. {
  1675. return 1;
  1676. }
  1677. else if(IsPlayerInRangeOfPoint(playerid, 50.0, -22.0699,-138.6297,1003.5469))
  1678. {
  1679. return 1;
  1680. }
  1681. else if(IsPlayerInRangeOfPoint(playerid, 50.0, -30.9772,-29.0228,1003.5573))
  1682. {
  1683. return 1;
  1684. }
  1685. else if(IsPlayerInRangeOfPoint(playerid, 50.0, -23.4488,-55.6319,1003.5469))
  1686. {
  1687. return 1;
  1688. }
  1689. else if((IsPlayerInRangeOfPoint(playerid,130.0,470.430297, -2414.415527, 10.790462) && GetPlayerInterior(playerid) == 18))
  1690. { // Saints Mall
  1691. return 1;
  1692. }
  1693. }
  1694. return 0;
  1695. }
  1696. Float:GetDistanceBetweenPlayers(iPlayerOne, iPlayerTwo)
  1697. {
  1698. new
  1699. Float: fPlayerPos[3];
  1700. GetPlayerPos(iPlayerOne, fPlayerPos[0], fPlayerPos[1], fPlayerPos[2]);
  1701. return GetPlayerDistanceFromPoint(iPlayerTwo, fPlayerPos[0], fPlayerPos[1], fPlayerPos[2]);
  1702. }
  1703. stock RespawnNearbyVehicles(iPlayerID, Float: fRadius) {
  1704. new
  1705. Float: fPlayerPos[3];
  1706. GetPlayerPos(iPlayerID, fPlayerPos[0], fPlayerPos[1], fPlayerPos[2]);
  1707. for(new i = 1; i < MAX_VEHICLES; i++) if(GetVehicleModel(i) && GetVehicleDistanceFromPoint(i, fPlayerPos[0], fPlayerPos[1], fPlayerPos[2]) <= fRadius) {
  1708. foreach(Player, x) if(GetPlayerVehicleID(x) == i) continue;
  1709. SetVehicleToRespawn(i);
  1710. }
  1711. return 1;
  1712. }
  1713. enum VehicleRadioEnum
  1714. {
  1715. radioname[32],
  1716. radiourl[128],
  1717. listeners
  1718. }
  1719. new VehicleRadioListing[220][VehicleRadioEnum] = {
  1720. // Alternative (0-9)
  1721. {"Idobi Radio","http://yp.shoutcast.com/sbin/tunein-station.pls?id=21585"},
  1722. {"181.FM The Buzz","http://yp.shoutcast.com/sbin/tunein-station.pls?id=37586"},
  1723. {"RauteMusik.FM","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1275071"},
  1724. {"FM4","http://yp.shoutcast.com/sbin/tunein-station.pls?id=581319"},
  1725. {"ChroniX Radio","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1377260"},
  1726. {"Pinguin Radio","http://yp.shoutcast.com/sbin/tunein-station.pls?id=199753"},
  1727. {"KEXP","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1272835"},
  1728. {"KCRW Simulcas","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1269598"},
  1729. {"Metal Only","http://yp.shoutcast.com/sbin/tunein-station.pls?id=477309"},
  1730. {"1.FM Channel X","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1274225"},
  1731. // Blues 10-19)
  1732. {"1.FM - Blues","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1270282"},
  1733. {"BellyUp4Blues","http://yp.shoutcast.com/sbin/tunein-station.pls?id=11408"},
  1734. {"CALMRADIO - BLUES","http://yp.shoutcast.com/sbin/tunein-station.pls?id=205177"},
  1735. {"KOQX Blues Radio","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1271824"},
  1736. {"GotRadio - Bit 'O Blues","http://yp.shoutcast.com/sbin/tunein-station.pls?id=533805"},
  1737. {"radioio blues","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1278494"},
  1738. {"Polskie Radio - Blues","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1044755"},
  1739. {"Big Blue Swing","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1377377"},
  1740. {"City Sounds Radio Blues","http://yp.shoutcast.com/sbin/tunein-station.pls?id=20151"},
  1741. {"Calm Radio Blues","http://yp.shoutcast.com/sbin/tunein-station.pls?id=205177"},
  1742. // Classical (20-29)
  1743. {"CLASSICAL 102","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1676910"},
  1744. {"Iowa Public Radio Classical","http://yp.shoutcast.com/sbin/tunein-station.pls?id=177883"},
  1745. {"181.FM Classic Hits","http://yp.shoutcast.com/sbin/tunein-station.pls?id=213419"},
  1746. {"Cinemix","http://yp.shoutcast.com/sbin/tunein-station.pls?id=614375"},
  1747. {"Venice Classic Radio","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1704166"},
  1748. {"Solo Piano SKY.FM.","http://yp.shoutcast.com/sbin/tunein-station.pls?id=600682"},
  1749. {"Mostly Classical - SKY.FM","http://yp.shoutcast.com/sbin/tunein-station.pls?id=744232"},
  1750. {"Adagio.FM","http://yp.shoutcast.com/sbin/tunein-station.pls?id=212505"},
  1751. {"Classical 96.3FM CFMZ","http://yp.shoutcast.com/sbin/tunein-station.pls?id=2271823"},
  1752. {"Abacus.fm Mozart Piano","http://yp.shoutcast.com/sbin/tunein-station.pls?id=119965"},
  1753. // Country (30-39)
  1754. {"181.FM Kickin' Country","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1283687"},
  1755. {"Always Country","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1274260"},
  1756. {"COUNTRY 108","http://yp.shoutcast.com/sbin/tunein-station.pls?id=668943"},
  1757. {"181.FM Highway 181","http://yp.shoutcast.com/sbin/tunein-station.pls?id=147942"},
  1758. {"HPR1","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1270526"},
  1759. {"Radio Positiva Sertaneja","http://yp.shoutcast.com/sbin/tunein-station.pls?id=2890335"},
  1760. {"1.FM Country","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1274603"},
  1761. {"Boot Liquor","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1377561"},
  1762. {"Absolute COUNTRY Hits","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1268458"},
  1763. {"181.FM Real Country","http://yp.shoutcast.com/sbin/tunein-station.pls?id=163622"},
  1764. // Decades (40-49)
  1765. {"Big R Radio Warm 101.6","http://yp.shoutcast.com/sbin/tunein-station.pls?id=33097"},
  1766. {"Big R Radio The Hawk","http://yp.shoutcast.com/sbin/tunein-station.pls?id=211531"},
  1767. {"Big R Radio 100.7 The Mix","http://yp.shoutcast.com/sbin/tunein-station.pls?id=61826"},
  1768. {"Abacus.fm Vintage Jazz","http://yp.shoutcast.com/sbin/tunein-station.pls?id=242774"},
  1769. {"Oldies104","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1271826"},
  1770. {"1.FM 50s and 60s","http://yp.shoutcast.com/sbin/tunein-station.pls?id=37833"},
  1771. {"The Doo-Wop Express","http://yp.shoutcast.com/sbin/tunein-station.pls?id=727560"},
  1772. {"Beatles Radio","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1273220"},
  1773. {"1.FM 80s Channel","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1274599"},
  1774. {"SKY.FM 80s","http://yp.shoutcast.com/sbin/tunein-station.pls?id=737152"},
  1775. // Easy Listening (50-59)
  1776. {"Slow Radio","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1658657"},
  1777. {"MUSIK.LOUNGE","http://yp.shoutcast.com/sbin/tunein-station.pls?id=130940"},
  1778. {"Blue FM","http://yp.shoutcast.com/sbin/tunein-station.pls?id=48138"},
  1779. {"SKY.FM Mostly Classical","http://yp.shoutcast.com/sbin/tunein-station.pls?id=744232"},
  1780. {"Radio227 Easy Listening","http://yp.shoutcast.com/sbin/tunein-station.pls?id=2313198"},
  1781. {"COOL93","http://yp.shoutcast.com/sbin/tunein-station.pls?id=63135"},
  1782. {"KLUX 89.5HD -","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1697"},
  1783. {"AbidingRadio","http://yp.shoutcast.com/sbin/tunein-station.pls?id=470854"},
  1784. {"Lounge Radio","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1288934"},
  1785. {"1.FM The Chillout Loung","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1268725"},
  1786. // Electronic (60-69)
  1787. {"TechnoBase.FM","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1377200"},
  1788. {"Vocal Trance","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1177953"},
  1789. {"MUSIK.HOUSE Funky","http://yp.shoutcast.com/sbin/tunein-station.pls?id=2128868"},
  1790. {"Trance Channel","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1193516"},
  1791. {"HouseTime.FM","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1377360"},
  1792. {"dubstep.fm","http://yp.shoutcast.com/sbin/tunein-station.pls?id=7225"},
  1793. {"54House.FM.","http://yp.shoutcast.com/sbin/tunein-station.pls?id=2808203"},
  1794. {"#MUSIK.DRUMSTEP","http://yp.shoutcast.com/sbin/tunein-station.pls?id=46883"},
  1795. {"HardBase.FM","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1377430"},
  1796. {"Techno4Ever Main","http://yp.shoutcast.com/sbin/tunein-station.pls?id=226769"},
  1797. // Folk (70-79)
  1798. {"Radio Free Vermont","http://yp.shoutcast.com/sbin/tunein-station.pls?id=168942"},
  1799. {"Pink Narodna Muzika","http://yp.shoutcast.com/sbin/tunein-station.pls?id=883729"},
  1800. {"Dzungla Radio","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1279638"},
  1801. {"Folk Alley","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1273365"},
  1802. {"Radio BN","http://yp.shoutcast.com/sbin/tunein-station.pls?id=29949"},
  1803. {"Radio Glas Drine","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1841408"},
  1804. {"COOL radio","http://yp.shoutcast.com/sbin/tunein-station.pls?id=550002"},
  1805. {"AM 1710 Antioch OT","http://yp.shoutcast.com/sbin/tunein-station.pls?id=2699"},
  1806. {"A&P Radio Network","http://yp.shoutcast.com/sbin/tunein-station.pls?id=563824"},
  1807. {"New Age SKY.FM","http://yp.shoutcast.com/sbin/tunein-station.pls?id=412093"},
  1808. // Inspirational (80-89)
  1809. {"Russian Christian Radio","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1280598"},
  1810. {"AbidingRadio INSTRUMENTAL","http://yp.shoutcast.com/sbin/tunein-station.pls?id=470854"},
  1811. {"1-ONE NATION FM","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1988533"},
  1812. {"XL Radio Gurbani Kirtan","http://yp.shoutcast.com/sbin/tunein-station.pls?id=272693"},
  1813. {"Radio Lumiere Miami","http://yp.shoutcast.com/sbin/tunein-station.pls?id=341387"},
  1814. {"Ancient Faith Music","http://yp.shoutcast.com/sbin/tunein-station.pls?id=2010550"},
  1815. {"Bautista Radio 89.7 FM","http://yp.shoutcast.com/sbin/tunein-station.pls?id=347942"},
  1816. {"Radio Nueva Vida","http://yp.shoutcast.com/sbin/tunein-station.pls?id=208506"},
  1817. {"ChristianRock","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1266649"},
  1818. {"FBC Radio","http://yp.shoutcast.com/sbin/tunein-station.pls?id=95154"},
  1819. // International (90-99)
  1820. {"Arabic Music Radio","http://yp.shoutcast.com/sbin/tunein-station.pls?id=326370"},
  1821. {"SEOULFM","http://yp.shoutcast.com/sbin/tunein-station.pls?id=246183"},
  1822. {"Radio CARERA NUMBER ONE","http://yp.shoutcast.com/sbin/tunein-station.pls?id=289391"},
  1823. {"Schlagerhoelle","http://yp.shoutcast.com/sbin/tunein-station.pls?id=702040"},
  1824. {"Ballermann-Radio","http://yp.shoutcast.com/sbin/tunein-station.pls?id=63072"},
  1825. {"RADIONL","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1281197"},
  1826. {"RaDioTEENTAAL","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1268068"},
  1827. {"Tutku Fm","http://yp.shoutcast.com/sbin/tunein-station.pls?id=21994"},
  1828. {"Radio Jacaro","http://yp.shoutcast.com/sbin/tunein-station.pls?id=228698"},
  1829. {"BeirutNights","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1168254"},
  1830. // Jazz (100-109)
  1831. {"SMOOTHJAZZ","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1339789"},
  1832. {"Absolutely Smooth Jazz SKY.FM","http://yp.shoutcast.com/sbin/tunein-station.pls?id=496891"},
  1833. {"SwissGroove","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1269641"},
  1834. {"Dinner Jazz Excursion","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1272149"},
  1835. {"181.fm The Breeze","http://yp.shoutcast.com/sbin/tunein-station.pls?id=133405"},
  1836. {"A1Smooth","http://yp.shoutcast.com/sbin/tunein-station.pls?id=348116"},
  1837. {"SmoothLounge","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1339960"},
  1838. {"1.FM Bay Smooth Jazz","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1271416"},
  1839. {"CROOZE","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1269135"},
  1840. {"Jazz Radio","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1256018"},
  1841. // Latin (110-119)
  1842. {"Salsa SKY.FM","http://yp.shoutcast.com/sbin/tunein-station.pls?id=835183"},
  1843. {"La X Estereo 100 Pura Salsa","http://yp.shoutcast.com/sbin/tunein-station.pls?id=96644"},
  1844. {"Reggaeton 24/7","http://yp.shoutcast.com/sbin/tunein-station.pls?id=56349"},
  1845. {"LATINO FM EN DIRECTO","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1280049"},
  1846. {"Suave 107.3 FM","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1593716"},
  1847. {"LA PACHANGUERA FM","http://yp.shoutcast.com/sbin/tunein-station.pls?id=2147665"},
  1848. {"XHBIO FIESTA MEXICANA","http://yp.shoutcast.com/sbin/tunein-station.pls?id=338824"},
  1849. {"Latin.FM","http://yp.shoutcast.com/sbin/tunein-station.pls?id=381441"},
  1850. {"MKM CARAIBE","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1818724"},
  1851. {"FUSION","http://yp.shoutcast.com/sbin/tunein-station.pls?id=2919730"},
  1852. // Metal (120-129)
  1853. {"MUSIK.ROCK","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1275071"},
  1854. {"RockRadio1","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1105299"},
  1855. {"METAL ONLY","http://yp.shoutcast.com/sbin/tunein-station.pls?id=477309"},
  1856. {"RockRadio1","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1105299"},
  1857. {"ChroniX GRIT Radio","http://yp.shoutcast.com/sbin/tunein-station.pls?id=2187022"},
  1858. {"MUSIK.METAL","http://yp.shoutcast.com/sbin/tunein-station.pls?id=141469"},
  1859. {"Hard Rock Radio","http://yp.shoutcast.com/sbin/tunein-station.pls?id=625229"},
  1860. {"Death.FM","http://yp.shoutcast.com/sbin/tunein-station.pls?id=2885733"},
  1861. {"Big R Radio 80s Metal FM","http://yp.shoutcast.com/sbin/tunein-station.pls?id=278974"},
  1862. {"1.FM High Voltage","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1272098"},
  1863. // Misc (130-139)
  1864. {"TOP100","http://yp.shoutcast.com/sbin/tunein-station.pls?id=239589"},
  1865. {"TOP 100 ReaLCasT","http://yp.shoutcast.com/sbin/tunein-station.pls?id=242423"},
  1866. {"NeoFM","http://yp.shoutcast.com/sbin/tunein-station.pls?id=548973"},
  1867. {"radioparty.pl","http://yp.shoutcast.com/sbin/tunein-station.pls?id=97678"},
  1868. {"Desetka Radio","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1377246"},
  1869. {"Adom 106.3FM","http://yp.shoutcast.com/sbin/tunein-station.pls?id=292951"},
  1870. {"Joy FM","http://yp.shoutcast.com/sbin/tunein-station.pls?id=3730"},
  1871. {"RADIO INFERNO MANELE","http://yp.shoutcast.com/sbin/tunein-station.pls?id=293251"},
  1872. {"Narodni radio","http://yp.shoutcast.com/sbin/tunein-station.pls?id=31307"},
  1873. {"RaDYO DoGu MiX","http://yp.shoutcast.com/sbin/tunein-station.pls?id=245201"},
  1874. //NEW Age (140-149)
  1875. {"Nirvana Radio","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1272871"},
  1876. {"Radio Art","http://yp.shoutcast.com/sbin/tunein-station.pls?id=411208"},
  1877. {"Trancemission.FM","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1272865"},
  1878. {"Pianorama","http://yp.shoutcast.com/sbin/tunein-station.pls?id=27717"},
  1879. {"RADIO GAIA","http://yp.shoutcast.com/sbin/tunein-station.pls?id=187880"},
  1880. {"M2 CHILLOUT","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1279147"},
  1881. {"Underground Eighties","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1377340"},
  1882. {"Digital Relax","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1254140"},
  1883. {"meditation.fm","http://yp.shoutcast.com/sbin/tunein-station.pls?id=2269332"},
  1884. {"1.FM Flashback Alternatives","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1268764"},
  1885. // Pop (150-159)
  1886. {"181.FM - POWER 181","http://www.181.fm/winamp.pls?station=181-power&file-power.pls"},
  1887. {"977Music Hitz","http://977music.com/itunes/hitz.pls"},
  1888. {"POWERHITZ","http://66.85.88.174:80/hitlist"},
  1889. {"181.FM-UP TOP 40","http://s4.onweb.gr:8428/"},
  1890. {"HOT 108 Jamz","http://jbmedia-edge1.cdnstream.com/hot108?cb=47242.mp3"},
  1891. {"Happier","https://oce.oeaa.cc/0166bc12c0e9a4f87ac96f188aebf9d5/RE87rQkXdNw3"},
  1892. {"Young Blood","https://eec.oeaa.cc/e9d87cc56dd8f5c613c9a1fdbf16e184/fpap3RTKjS8"},
  1893. {"DEEJAY","http://listen.defjay.com/"},
  1894. {"HIGH","https://sv2.onlinevideoconverter.com/download?file=j9e4e4h7b1b1a0b1b1"},
  1895. {"EX'B","https://ooa.oeaa.cc/dda6917ebd77cfcd6828d32542ceafd2/4-Ovr7k2xzU"},
  1896. // Public Radio (160-169)
  1897. {"WUNC FM","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1271964"},
  1898. {"KPBS","http://yp.shoutcast.com/sbin/tunein-station.pls?id=632915"},
  1899. {"89.7 WUWM HD","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1278952"},
  1900. {"WHRO","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1544465"},
  1901. {"KCRW ECLECTIC24","http://yp.shoutcast.com/sbin/tunein-station.pls?id=56697"},
  1902. {"SomaFM","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1377771"},
  1903. {"WKCR","http://yp.shoutcast.com/sbin/tunein-station.pls?id=2100812"},
  1904. {"Rete Sport","http://yp.shoutcast.com/sbin/tunein-station.pls?id=3090344"},
  1905. {"North Country Public Radio","http://yp.shoutcast.com/sbin/tunein-station.pls?id=857520"},
  1906. {"RIPR","http://yp.shoutcast.com/sbin/tunein-station.pls?id=232368"},
  1907. // R&B/Urban (170-179)
  1908. {"DEFJAY.DE","http://yp.shoutcast.com/sbin/tunein-station.pls?id=65456"},
  1909. {"Amped FM","http://yp.shoutcast.com/sbin/tunein-station.pls?id=178297"},
  1910. {"HIT104","http://yp.shoutcast.com/sbin/tunein-station.pls?id=663859"},
  1911. {"BreakZ.us","http://yp.shoutcast.com/sbin/tunein-station.pls?id=127014"},
  1912. {"181.fm True R&B","http://yp.shoutcast.com/sbin/tunein-station.pls?id=83968"},
  1913. {"POWERHITZ","http://www.powerhitz.com/ph.pls"},
  1914. {"BlackBeats.FM","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1543115"},
  1915. {"Lenz Radio","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1273477"},
  1916. {"DEFJAY.COM","http://yp.shoutcast.com/sbin/tunein-station.pls?id=616366"},
  1917. {"Spin 1038","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1328653"},
  1918. // Rap (180-189)
  1919. {"HOT 108 JAMZ","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1281016"},
  1920. {"MUSIK.JAM","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1269742"},
  1921. {"181.FM The BEAT","http://yp.shoutcast.com/sbin/tunein-station.pls?id=166078"},
  1922. {"Smoothbeats","http://yp.shoutcast.com/sbin/tunein-station.pls?id=9054"},
  1923. {"108.FM THE HITLIST","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1282490"},
  1924. {"TrueHipHop","http://yp.shoutcast.com/sbin/tunein-station.pls?id=3083251"},
  1925. {"A1Jamz","http://yp.shoutcast.com/sbin/tunein-station.pls?id=49567"},
  1926. {"True Beats","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1267461"},
  1927. {"MKM URBAN","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1818926"},
  1928. {"G'D UP RADIO","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1504548"},
  1929. // Reggae (190-199)
  1930. {"Roots Reggae SKY.FM","http://yp.shoutcast.com/sbin/tunein-station.pls?id=695657"},
  1931. {"La Grosse Radio Reggae","http://yp.shoutcast.com/sbin/tunein-station.pls?id=5661"},
  1932. {"BigUpRadio","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1269793"},
  1933. {"Raggakings","http://yp.shoutcast.com/sbin/tunein-station.pls?id=123431"},
  1934. {"PONdENDS","http://yp.shoutcast.com/sbin/tunein-station.pls?id=221874"},
  1935. {"Reggae141","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1280855"},
  1936. {"Reggae Radio Rasta","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1266989"},
  1937. {"1.FM ReggaeTrade","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1272779"},
  1938. {"Raggakings","http://yp.shoutcast.com/sbin/tunein-station.pls?id=123431"},
  1939. {"Black Roots Radio","http://yp.shoutcast.com/sbin/tunein-station.pls?id=231554"},
  1940. // Rock (200-209)
  1941. {"181.FM - The Buzz","http://yp.shoutcast.com/sbin/tunein-station.pls?id=37586"},
  1942. {"NOISEfm.pl","http://yp.shoutcast.com/sbin/tunein-station.pls?id=3121111"},
  1943. {"Radio Paradise","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1354805"},
  1944. {"MUSIK.ROCK","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1275071"},
  1945. {"181.FM Good Time Oldies","http://yp.shoutcast.com/sbin/tunein-station.pls?id=25287"},
  1946. {"181.fm Rock 181","http://yp.shoutcast.com/sbin/tunein-station.pls?id=302754"},
  1947. {"ROCKY FM","http://yp.shoutcast.com/sbin/tunein-station.pls?id=684390"},
  1948. {"ChroniX Aggression","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1377260"},
  1949. {"Rockenfolie","http://yp.shoutcast.com/sbin/tunein-station.pls?id=2865"},
  1950. {"80s SKY.FM","http://yp.shoutcast.com/sbin/tunein-station.pls?id=737152"},
  1951. // Talk (210-219)
  1952. {"Alex Jones","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1026951"},
  1953. {"AM 1710 Antioch","http://yp.shoutcast.com/sbin/tunein-station.pls?id=2699"},
  1954. {"89.3 KPCC","http://yp.shoutcast.com/sbin/tunein-station.pls?id=179361"},
  1955. {"The Very Best Of Art Bell","http://yp.shoutcast.com/sbin/tunein-station.pls?id=47835"},
  1956. {"KCRW ALL NEWS","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1279013"},
  1957. {"2GB Sydney Talk","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1346749"},
  1958. {"Broadband Comedy Network","http://yp.shoutcast.com/sbin/tunein-station.pls?id=3095781"},
  1959. {"181.FM Comedy Club","http://yp.shoutcast.com/sbin/tunein-station.pls?id=52807"},
  1960. {"Social Crime Radio","http://yp.shoutcast.com/sbin/tunein-station.pls?id=179709"},
  1961. {"Radio Carlin","http://yp.shoutcast.com/sbin/tunein-station.pls?id=1495362"}
  1962. };
  1963. enum pCrime
  1964. {
  1965. pBplayer[32],
  1966. pAccusing[32],
  1967. pAccusedof[32],
  1968. pVictim[32],
  1969. };
  1970. new PlayerCrime[MAX_PLAYERS][pCrime];
  1971. enum EventKernelEnum
  1972. {
  1973. EventAdvisor,
  1974. EventStatus,
  1975. EventType,
  1976. EventInfo[128],
  1977. Float: EventHealth,
  1978. Float: EventArmor,
  1979. Float: EventPositionX,
  1980. Float: EventPositionY,
  1981. Float: EventPositionZ,
  1982. EventInterior,
  1983. EventWorld,
  1984. EventWeapons[5],
  1985. EventTeamColor[2],
  1986. EventTeamSkin[2],
  1987. EventLimit,
  1988. EventTime,
  1989. EventFootRace,
  1990. EventPlayers,
  1991. EventRequest,
  1992. EventStartRequest,
  1993. EventCreator,
  1994. EventStaff[5],
  1995. EventJoinStaff,
  1996. VipOnly,
  1997. Float: EventTeamPosX1,
  1998. Float: EventTeamPosY1,
  1999. Float: EventTeamPosZ1,
  2000. Float: EventTeamPosX2,
  2001. Float: EventTeamPosY2,
  2002. Float: EventTeamPosZ2,
  2003. EventAnim,
  2004. EventHeal
  2005. }
  2006. new EventKernel[EventKernelEnum];
  2007. enum reportinfo
  2008. {
  2009. HasBeenUsed,
  2010. Report[140],
  2011. ReportFrom,
  2012. CheckingReport,
  2013. TimeToExpire,
  2014. BeingUsed,
  2015. ReportExpireTimer,
  2016. ReplyTimerr
  2017. }
  2018. new Reports[MAX_REPORTS][reportinfo];
  2019. new ListItemReportId[MAX_PLAYERS][40];
  2020. new CancelReport[MAX_PLAYERS];
  2021. enum Spikes
  2022. {
  2023. Float:sX,
  2024. Float:sY,
  2025. Float:sZ,
  2026. sObjectID,
  2027. sDeployedBy[MAX_PLAYER_NAME],
  2028. sDeployedAt[MAX_ZONE_NAME]
  2029. }
  2030. new SpikeStrips[10][Spikes];
  2031. enum crInfo
  2032. {
  2033. Crew,
  2034. CrewName[32],
  2035. CrewPay,
  2036. CrewLeader,
  2037. };
  2038. //new CrewInfo[MAX_CREW][crInfo];
  2039. enum fInfo
  2040. {
  2041. FamilyTaken,
  2042. FamilyName[42],
  2043. FamilyMOTD[65],
  2044. FamilyColor[128],
  2045. FamilyTurfTokens,
  2046. FamilyLeader[MAX_PLAYER_NAME],
  2047. FamilyMembers,
  2048. Float:FamilySpawn[4],
  2049. FamilyInterior,
  2050. FamilyCash,
  2051. FamilyBank,
  2052. FamilyMats,
  2053. FamilyPot,
  2054. FamilyCrack,
  2055. Float:FamilySafe[3],
  2056. FamilyUSafe,
  2057. FamilyRank1[20],
  2058. FamilyRank2[20],
  2059. FamilyRank3[20],
  2060. FamilyRank4[20],
  2061. FamilyRank5[20],
  2062. FamilyRank6[20],
  2063. FamilyPickup,
  2064. FamilyMaxSkins,
  2065. FamilySkins[8],
  2066. Float: FamilyEntrance[4],
  2067. Float: FamilyExit[4],
  2068. FamilyEntrancePickup,
  2069. FamilyExitPickup,
  2070. Text3D:FamilyEntranceText,
  2071. Text3D:FamilyExitText,
  2072. FamilyCustomMap,
  2073. FamilyVirtualWorld,
  2074. FamilyResetSpawns,
  2075. FamilyGuns[10],
  2076. FamilyBandana,
  2077. FamilyOnline,
  2078. FamilyCrew1,
  2079. FamilyCrew2,
  2080. FamilyCrew3,
  2081. FamilyCrewname1[128],
  2082. FamilyCrewname2[128],
  2083. FamilyCrewname3[128],
  2084. FamilyInTurf
  2085. };
  2086. new FamilyInfo[MAX_FAMILY][fInfo];
  2087. new FactionPay[5][7];
  2088. enum cdInfo
  2089. {
  2090. cdOwned,
  2091. cdOwner[MAX_PLAYER_NAME],
  2092. Float: cdEntranceX,
  2093. Float: cdEntranceY,
  2094. Float: cdEntranceZ,
  2095. Float: cdExitX,
  2096. Float: cdExitY,
  2097. Float: cdExitZ,
  2098. cdMessage[128],
  2099. cdTill,
  2100. cdInterior,
  2101. Float: cdVehicleSpawn[4],
  2102. Float: cdRadius,
  2103. cdPrice,
  2104. Float: cdVehicleSpawnX[MAX_DEALERSHIPVEHICLES],
  2105. Float: cdVehicleSpawnY[MAX_DEALERSHIPVEHICLES],
  2106. Float: cdVehicleSpawnZ[MAX_DEALERSHIPVEHICLES],
  2107. Float: cdVehicleSpawnAngle[MAX_DEALERSHIPVEHICLES],
  2108. cdVehicleModel[MAX_DEALERSHIPVEHICLES],
  2109. cdVehicleCost[MAX_DEALERSHIPVEHICLES],
  2110. cdVehicleId[MAX_DEALERSHIPVEHICLES], // non-saved
  2111. cdPickupID, // non-saved
  2112. Text3D:cdTextLabel, // non-saved
  2113. Text3D:cdVehicleLabel[MAX_DEALERSHIPVEHICLES], // non-saved
  2114. cdDonator,
  2115. };
  2116. new CarDealershipInfo[MAX_CARDEALERSHIPS][cdInfo];
  2117. enum fvInfo
  2118. {
  2119. fvId,
  2120. fvModelId,
  2121. Float: fvSpawnx,
  2122. Float: fvSpawny,
  2123. Float: fvSpawnz,
  2124. Float: fvSpawna,
  2125. Float: fvSpawnxtmp,
  2126. Float: fvSpawnytmp,
  2127. Float: fvSpawnztmp,
  2128. Float: fvSpawnatmp,
  2129. fvLock,
  2130. fvLocked,
  2131. fvPaintJob,
  2132. fvColor1,
  2133. fvColor2,
  2134. fvMods[MAX_MODS],
  2135. fvPrice,
  2136. fvImpounded,
  2137. Float:fvFuel,
  2138. };
  2139. new FamilyVehicleInfo[MAX_FAMILY][MAX_GANG_VEHICLES][fvInfo];
  2140. enum fPoint
  2141. {
  2142. Float:Pointx,
  2143. Float:Pointy,
  2144. Float:Pointz,
  2145. Type,
  2146. Vulnerable,
  2147. MatPoint,
  2148. CratePoint,
  2149. Announced,
  2150. ClaimerId,
  2151. ClaimerTeam,
  2152. TimeToClaim,
  2153. TimeLeft,
  2154. Owner[32],
  2155. PlayerNameCapping[MAX_PLAYER_NAME],
  2156. CapperName[MAX_PLAYER_NAME],
  2157. Name[32],
  2158. TakeOverTimerStarted,
  2159. TakeOverTimer,
  2160. Text3D:TextLabel,
  2161. CaptureTimerEx2,
  2162. Stock,
  2163. //Text3D:CaptureProccess,
  2164. Text3D:CaptureProgress,
  2165. CaptureProccessEx,
  2166. Float: Capturex,
  2167. Float: Capturey,
  2168. Float: Capturez,
  2169. PointPickupID,
  2170. Bar:PointBarID,
  2171. }
  2172. new Points[MAX_POINTS][fPoint];
  2173. enum pFishing
  2174. {
  2175. pFish1[20],
  2176. pFish2[20],
  2177. pFish3[20],
  2178. pFish4[20],
  2179. pFish5[20],
  2180. pWeight1,
  2181. pWeight2,
  2182. pWeight3,
  2183. pWeight4,
  2184. pWeight5,
  2185. pFid1,
  2186. pFid2,
  2187. pFid3,
  2188. pFid4,
  2189. pFid5,
  2190. pLastFish,
  2191. pFishID,
  2192. pLastWeight,
  2193. };
  2194. new Fishes[MAX_PLAYERS][pFishing];
  2195. stock FishCost(playerid, fish)
  2196. {
  2197. if(IsPlayerConnected(playerid)) {
  2198. new cost = 0;
  2199. switch (fish)
  2200. {
  2201. case 1:
  2202. {
  2203. cost = 1;
  2204. }
  2205. case 2:
  2206. {
  2207. cost = 1;
  2208. }
  2209. case 3:
  2210. {
  2211. cost = 1;
  2212. }
  2213. case 5:
  2214. {
  2215. cost = 5;
  2216. }
  2217. case 6:
  2218. {
  2219. cost = 2;
  2220. }
  2221. case 8:
  2222. {
  2223. cost = 8;
  2224. }
  2225. case 9:
  2226. {
  2227. cost = 12;
  2228. }
  2229. case 11:
  2230. {
  2231. cost = 9;
  2232. }
  2233. case 12:
  2234. {
  2235. cost = 7;
  2236. }
  2237. case 14:
  2238. {
  2239. cost = 12;
  2240. }
  2241. case 15:
  2242. {
  2243. cost = 9;
  2244. }
  2245. case 16:
  2246. {
  2247. cost = 7;
  2248. }
  2249. case 17:
  2250. {
  2251. cost = 7;
  2252. }
  2253. case 18:
  2254. {
  2255. cost = 10;
  2256. }
  2257. case 19:
  2258. {
  2259. cost = 4;
  2260. }
  2261. case 21:
  2262. {
  2263. cost = 3;
  2264. }
  2265. }
  2266. return cost;
  2267. }
  2268. return 0;
  2269. }
  2270. stock ClearFishes(playerid)
  2271. {
  2272. if(IsPlayerConnected(playerid))
  2273. {
  2274. Fishes[playerid][pFid1] = 0; Fishes[playerid][pFid2] = 0; Fishes[playerid][pFid3] = 0;
  2275. Fishes[playerid][pFid4] = 0; Fishes[playerid][pFid5] = 0;
  2276. Fishes[playerid][pWeight1] = 0; Fishes[playerid][pWeight2] = 0; Fishes[playerid][pWeight3] = 0;
  2277. Fishes[playerid][pWeight4] = 0; Fishes[playerid][pWeight5] = 0;
  2278. new string[MAX_PLAYER_NAME];
  2279. format(string, sizeof(string), "None");
  2280. strmid(Fishes[playerid][pFish1], string, 0, strlen(string), 255);
  2281. strmid(Fishes[playerid][pFish2], string, 0, strlen(string), 255);
  2282. strmid(Fishes[playerid][pFish3], string, 0, strlen(string), 255);
  2283. strmid(Fishes[playerid][pFish4], string, 0, strlen(string), 255);
  2284. strmid(Fishes[playerid][pFish5], string, 0, strlen(string), 255);
  2285. }
  2286. return 1;
  2287. }
  2288. stock ClearFishID(playerid, fish)
  2289. {
  2290. if(IsPlayerConnected(playerid))
  2291. {
  2292. new string[MAX_PLAYER_NAME];
  2293. format(string, sizeof(string), "None");
  2294. switch (fish)
  2295. {
  2296. case 1:
  2297. {
  2298. strmid(Fishes[playerid][pFish1], string, 0, strlen(string), 255);
  2299. Fishes[playerid][pWeight1] = 0;
  2300. Fishes[playerid][pFid1] = 0;
  2301. }
  2302. case 2:
  2303. {
  2304. strmid(Fishes[playerid][pFish2], string, 0, strlen(string), 255);
  2305. Fishes[playerid][pWeight2] = 0;
  2306. Fishes[playerid][pFid2] = 0;
  2307. }
  2308. case 3:
  2309. {
  2310. strmid(Fishes[playerid][pFish3], string, 0, strlen(string), 255);
  2311. Fishes[playerid][pWeight3] = 0;
  2312. Fishes[playerid][pFid3] = 0;
  2313. }
  2314. case 4:
  2315. {
  2316. strmid(Fishes[playerid][pFish4], string, 0, strlen(string), 255);
  2317. Fishes[playerid][pWeight4] = 0;
  2318. Fishes[playerid][pFid4] = 0;
  2319. }
  2320. case 5:
  2321. {
  2322. strmid(Fishes[playerid][pFish5], string, 0, strlen(string), 255);
  2323. Fishes[playerid][pWeight5] = 0;
  2324. Fishes[playerid][pFid5] = 0;
  2325. }
  2326. }
  2327. }
  2328. return 1;
  2329. }
  2330. enum hNews
  2331. {
  2332. hTaken1,
  2333. hTaken2,
  2334. hTaken3,
  2335. hTaken4,
  2336. hTaken5,
  2337. hTaken6,
  2338. hTaken7,
  2339. hTaken8,
  2340. hTaken9,
  2341. hTaken10,
  2342. hTaken11,
  2343. hTaken12,
  2344. hTaken13,
  2345. hTaken14,
  2346. hTaken15,
  2347. hTaken16,
  2348. hTaken17,
  2349. hTaken18,
  2350. hTaken19,
  2351. hTaken20,
  2352. hTaken21,
  2353. hAdd1[64],
  2354. hAdd2[64],
  2355. hAdd3[64],
  2356. hAdd4[64],
  2357. hAdd5[64],
  2358. hAdd6[64],
  2359. hAdd7[64],
  2360. hAdd8[64],
  2361. hAdd9[64],
  2362. hAdd10[64],
  2363. hAdd11[64],
  2364. hAdd12[64],
  2365. hAdd13[64],
  2366. hAdd14[64],
  2367. hAdd15[64],
  2368. hAdd16[64],
  2369. hAdd17[64],
  2370. hAdd18[64],
  2371. hAdd19[64],
  2372. hAdd20[64],
  2373. hAdd21[64],
  2374. hContact1[64],
  2375. hContact2[64],
  2376. hContact3[64],
  2377. hContact4[64],
  2378. hContact5[64],
  2379. hContact6[64],
  2380. hContact7[64],
  2381. hContact8[64],
  2382. hContact9[64],
  2383. hContact10[64],
  2384. hContact11[64],
  2385. hContact12[64],
  2386. hContact13[64],
  2387. hContact14[64],
  2388. hContact15[64],
  2389. hContact16[64],
  2390. hContact17[64],
  2391. hContact18[64],
  2392. hContact19[64],
  2393. hContact20[64],
  2394. hContact21[64],
  2395. };
  2396. new News[hNews];
  2397. enum pInfo
  2398. {
  2399. pKey[129],
  2400. pLevel,
  2401. pID,
  2402. pAdmin,
  2403. pAdminName[32],
  2404. pBanAppealer,
  2405. pGangMod,
  2406. pFactionMod,
  2407. pHelperMod,
  2408. pDonator,
  2409. pBanned,
  2410. pWalkStyle,
  2411. pPermaBanned,
  2412. pDisabled,
  2413. pIP[16],
  2414. pReg,
  2415. pTut,
  2416. pSex,
  2417. pAge,
  2418. pSkin,
  2419. Float:pPos_x,
  2420. Float:pPos_y,
  2421. Float:pPos_z,
  2422. Float:pPos_r,
  2423. pConnectTime,
  2424. pRespect,
  2425. pNumber,
  2426. pWarns,
  2427. pGang,
  2428. pFaction,
  2429. pLeader,
  2430. pRank,
  2431. pJob,
  2432. pJob2,
  2433. gPupgrade,
  2434. Float:pSarmor,
  2435. pCash,
  2436. pBank,
  2437. pInsurance,
  2438. pCrimes,
  2439. pArrested,
  2440. pWantedLevel,
  2441. Float:pHealth,
  2442. Float:pArmor,
  2443. pPot,
  2444. pCrack,
  2445. pPackages,
  2446. pCrates,
  2447. pRadio,
  2448. pRadioFreq,
  2449. pPhoneBook,
  2450. pDice,
  2451. pCDPlayer,
  2452. pMats,
  2453. pRope,
  2454. pCigar,
  2455. pSprunk,
  2456. pSpraycan,
  2457. pHouse,
  2458. pHouse2,
  2459. pRenting,
  2460. pInt,
  2461. pVW,
  2462. pJailed,
  2463. pJailTime,
  2464. pGuns[12],
  2465. pAGuns[12],
  2466. pPayCheck,
  2467. pPayReady,
  2468. pHospital,
  2469. pDetSkill,
  2470. pLawSkill,
  2471. pSexSkill,
  2472. pDrugsSkill,
  2473. pSmugSkill,
  2474. pArmsSkill,
  2475. pMechSkill,
  2476. pFishSkill,
  2477. pBoxSkill,
  2478. pTruckSkill,
  2479. pCarSkill,
  2480. //pCraftSkill,
  2481. pLawyerTime,
  2482. pLawyerFreeTime,
  2483. pDrugsTime,
  2484. pMechTime,
  2485. pSexTime,
  2486. pCarTime,
  2487. pFishes,
  2488. pBiggestFish,
  2489. pLockCar, // non-saved
  2490. pWeedObject,
  2491. Float: pWeedPos[3],
  2492. pWeedVW,
  2493. pWeedInt,
  2494. pWeedGrowth,
  2495. pWSeeds,
  2496. pWins,
  2497. pLoses,
  2498. pFightStyle,
  2499. pScrewdriver,
  2500. pSmslog,
  2501. pWristwatch,
  2502. pTire,
  2503. pFirstaid,
  2504. pRccam,
  2505. pReceiver,
  2506. pGPS,
  2507. pSweep,
  2508. pSweepLeft,
  2509. pBugged,
  2510. pVehicleKeys,
  2511. pVehicleKeysFrom,
  2512. pDuty,
  2513. pCarLic,
  2514. pFlyLic,
  2515. pBoatLic,
  2516. pFishLic,
  2517. pGunLic,
  2518. pDivision,
  2519. pLiveBanned,
  2520. pTicketTime,
  2521. pHeadValue,
  2522. pContractBy[32],
  2523. pContractDetail[64],
  2524. pC4,
  2525. pC4Get,
  2526. pC4Used,
  2527. pBombs,
  2528. pCHits,
  2529. pFHits,
  2530. pPrisonedBy[MAX_PLAYER_NAME],
  2531. pPrisonReason[128],
  2532. pAcceptReport,
  2533. pTrashReport,
  2534. pAccent,
  2535. pNMute,
  2536. pNMuteTotal,
  2537. pADMute,
  2538. pADMuteTotal,
  2539. pRMuted,
  2540. pRMutedTotal,
  2541. pRMutedTime,
  2542. pSpeedo,
  2543. pGCMuted,
  2544. pGCMutedTime,
  2545. pCallsAccepted,
  2546. pHelper,
  2547. pPatientsDelivered,
  2548. pTriageTime,
  2549. pGunRes,
  2550. pMarried,
  2551. pMarriedTo[MAX_PLAYER_NAME],
  2552. pKillLog0[128],
  2553. pKillLog1[128],
  2554. pKillLog2[128],
  2555. pKillLog3[128],
  2556. pKillLog4[128],
  2557. pKillLog5[128],
  2558. pKillLog6[128],
  2559. pKillLog7[128],
  2560. pKillLog8[128],
  2561. pKillLog9[128],
  2562. pFlag[128],
  2563. pReferredBy[MAX_PLAYER_NAME],
  2564. pRefTokens,
  2565. pRefTokensOffline,
  2566. pWepRes,
  2567. pFormer,
  2568. pNoDamage,
  2569. pVDB,
  2570. pOS,
  2571. pVintage,
  2572. pFamed,
  2573. pCustomTitle[64],
  2574. pCustomTColor,
  2575. pAdminHide,
  2576. pDamageTimer,
  2577. pDonatorColor,
  2578. pTempWeapons,
  2579. pWeapons,
  2580. pLastGlobal,
  2581. pTT,
  2582. pNC,
  2583. pPills,
  2584. pBizID,
  2585. pClaim,
  2586. pCrew1,
  2587. pCrew2,
  2588. pCrew3,
  2589. pBackpack,
  2590. pBPPot,
  2591. pBPCrack,
  2592. pBPCash,
  2593. pWearingBP,
  2594. pLoopAnim,
  2595. pLand,
  2596. pMiningRock,
  2597. pPickaxe,
  2598. pSpawnMC,
  2599. };
  2600. new PlayerInfo[MAX_PLAYERS + 1][pInfo];
  2601. enum pvInfo
  2602. {
  2603. Float:pvPosX,
  2604. Float:pvPosY,
  2605. Float:pvPosZ,
  2606. Float:pvPosAngle,
  2607. pvId,
  2608. pvModelId,
  2609. pvLock,
  2610. pvLocked,
  2611. pvPaintJob,
  2612. pvColor1,
  2613. pvColor2,
  2614. pvMods[MAX_MODS],
  2615. pvAllowedPlayerId,
  2616. pvPark,
  2617. pvNumberPlate[32],
  2618. pvPrice,
  2619. pvTicket,
  2620. pvWeapons[3],
  2621. pvWepUpgrade,
  2622. pvImpounded,
  2623. pvSpawned,
  2624. pvDisabled,
  2625. Float: pvFuel,
  2626. };
  2627. new PlayerVehicleInfo[MAX_PLAYERS+1][MAX_PLAYERVEHICLES][pvInfo];
  2628. enum ptInfo
  2629. {
  2630. ptModelID,
  2631. ptBone,
  2632. Float:ptPosX,
  2633. Float:ptPosY,
  2634. Float:ptPosZ,
  2635. Float:ptRotX,
  2636. Float:ptRotY,
  2637. Float:ptRotZ,
  2638. Float:ptScaleX,
  2639. Float:ptScaleY,
  2640. Float:ptScaleZ,
  2641. };
  2642. new PlayerToyInfo[MAX_PLAYERS+1][MAX_PLAYERTOYS][ptInfo];
  2643. enum hInfo
  2644. {
  2645. hOwned,
  2646. hLevel,
  2647. hHInteriorWorld,
  2648. hCustomInterior,
  2649. //hDescription[8],
  2650. hOwner[ MAX_PLAYER_NAME ],
  2651. Float: hExteriorX,
  2652. Float: hExteriorY,
  2653. Float: hExteriorZ,
  2654. Float: hExteriorR,
  2655. Float: hExteriorA,
  2656. Float: hInteriorX,
  2657. Float: hInteriorY,
  2658. Float: hInteriorZ,
  2659. Float: hInteriorR,
  2660. Float: hInteriorA,
  2661. hLock,
  2662. hRentable,
  2663. hRentFee,
  2664. hValue,
  2665. hSafeMoney,
  2666. hPot,
  2667. hCrack,
  2668. hMaterials,
  2669. hWeapons[5],
  2670. hGLUpgrade,
  2671. hPickupID,
  2672. Text3D: hTextID,
  2673. hCustomExterior,
  2674. };
  2675. new HouseInfo[MAX_HOUSES][hInfo];
  2676. enum dmpInfo
  2677. {
  2678. dmpMapIconID,
  2679. Float: dmpPosX,
  2680. Float: dmpPosY,
  2681. Float: dmpPosZ,
  2682. dmpMarkerType,
  2683. dmpColor,
  2684. dmpVW,
  2685. dmpInt,
  2686. }
  2687. new DMPInfo[MAX_DMAPICONS][dmpInfo];
  2688. enum ddInfo
  2689. {
  2690. ddDescription[128],
  2691. ddPickupID,
  2692. Text3D: ddTextID,
  2693. ddCustomInterior,
  2694. ddExteriorVW,
  2695. ddExteriorInt,
  2696. ddInteriorVW,
  2697. ddInteriorInt,
  2698. Float: ddExteriorX,
  2699. Float: ddExteriorY,
  2700. Float: ddExteriorZ,
  2701. Float: ddExteriorA,
  2702. Float: ddInteriorX,
  2703. Float: ddInteriorY,
  2704. Float: ddInteriorZ,
  2705. Float: ddInteriorA,
  2706. ddCustomExterior,
  2707. ddVIP,
  2708. ddGang,
  2709. ddFaction,
  2710. ddAdmin,
  2711. ddWanted,
  2712. ddVehicleAble,
  2713. ddColor,
  2714. ddPickupModel,
  2715. ddPass[24],
  2716. ddLocked,
  2717. ddNotEditable,
  2718. };
  2719. new DDoorsInfo[MAX_DDOORS][ddInfo];
  2720. enum bbInfo
  2721. {
  2722. Float:bbPosX,
  2723. Float:bbPosY,
  2724. Float:bbPosZ,
  2725. bbInt,
  2726. bbVW,
  2727. bbStation,
  2728. bbSetBy,
  2729. bbObject,
  2730. };
  2731. new BoomboxInfo[MAX_PLAYERS][bbInfo];
  2732. /*enum rankingEnum {
  2733. iKills,
  2734. iPlayerID,
  2735. }
  2736. new PlayerRatio[MAX_PLAYERS][rankingEnum];*/
  2737. stock DoubleEXPcheck(hour) {
  2738. FixHour(hour);
  2739. hour = shifthour;
  2740. if(hour >= 13 && hour <= 15)
  2741. return 1; // EU timezone
  2742. else if(hour >= 18 && hour <= 20)
  2743. return 1; // US timezone
  2744. else if(hour >= 0 && hour <= 2)
  2745. return 1; // OC timezone
  2746. return 0;
  2747. }
  2748. stock Misc_Save() {
  2749. new
  2750. szFileStr[32],
  2751. File: iFileHandle = fopen("serverConfig.ini", io_write);
  2752. ini_SetInteger(iFileHandle, szFileStr, "Jackpot", Jackpot);
  2753. //ini_SetInteger(iFileHandle, szFileStr, "Tax", Tax);
  2754. //ini_SetFloat(iFileHandle, szFileStr, "Tax", Tax);
  2755. //ini_SetInteger(iFileHandle, szFileStr, "TaxVal", TaxValue);
  2756. ini_SetInteger(iFileHandle, szFileStr, "LoginCount", TotalLogin);
  2757. ini_SetInteger(iFileHandle, szFileStr, "ConnCount", TotalConnect);
  2758. ini_SetInteger(iFileHandle, szFileStr, "ABanCount", TotalAutoBan);
  2759. ini_SetInteger(iFileHandle, szFileStr, "RegCount", TotalRegister);
  2760. ini_SetInteger(iFileHandle, szFileStr, "MaxPCount", MaxPlayersConnected);
  2761. ini_SetInteger(iFileHandle, szFileStr, "MaxPDay", MPDay);
  2762. ini_SetInteger(iFileHandle, szFileStr, "MaxPMonth", MPMonth);
  2763. ini_SetInteger(iFileHandle, szFileStr, "MaxPYear", MPYear);
  2764. ini_SetInteger(iFileHandle, szFileStr, "Uptime", TotalUptime);
  2765. ini_SetString(iFileHandle, "gMOTD", GlobalMOTD);
  2766. ini_SetString(iFileHandle, "aMOTD", AdminMOTD);
  2767. ini_SetString(iFileHandle, "pdMOTD", LSPDmotd);
  2768. ini_SetString(iFileHandle, "fbiMOTD", FBImotd);
  2769. ini_SetString(iFileHandle, "aresMOTD", ARESmotd);
  2770. ini_SetString(iFileHandle, "sasdMOTD", SASDmotd);
  2771. ini_SetString(iFileHandle, "fmdMOTD", FMDmotd);
  2772. fclose(iFileHandle);
  2773. }
  2774. stock Misc_Load() {
  2775. new
  2776. szResult[32],
  2777. szFileStr[160],
  2778. File: iFileHandle = fopen("serverConfig.ini", io_read);
  2779. while(fread(iFileHandle, szFileStr, sizeof(szFileStr))) {
  2780. if(ini_GetValue(szFileStr, "gMOTD", GlobalMOTD, sizeof(GlobalMOTD))) continue;
  2781. if(ini_GetValue(szFileStr, "aMOTD", AdminMOTD, sizeof(AdminMOTD))) continue;
  2782. if(ini_GetValue(szFileStr, "pdMOTD", LSPDmotd, sizeof(LSPDmotd))) continue;
  2783. if(ini_GetValue(szFileStr, "fbiMOTD", FBImotd, sizeof(FBImotd))) continue;
  2784. if(ini_GetValue(szFileStr, "aresMOTD", ARESmotd, sizeof(ARESmotd))) continue;
  2785. if(ini_GetValue(szFileStr, "sasdMOTD", SASDmotd, sizeof(SASDmotd))) continue;
  2786. if(ini_GetValue(szFileStr, "fmdMOTD", FMDmotd, sizeof(FMDmotd))) continue;
  2787. else if(ini_GetValue(szFileStr, "Jackpot", szResult, sizeof(szResult))) Jackpot = strval(szResult);
  2788. //else if(ini_GetValue(szFileStr, "Tax", szResult, sizeof(szResult))) Tax = strval(szResult);
  2789. //else if(ini_GetValue(szFileStr, "TaxVal", szResult, sizeof(szResult))) TaxValue = strval(szResult);
  2790. else if(ini_GetValue(szFileStr, "LoginCount", szResult, sizeof(szResult))) TotalLogin = strval(szResult);
  2791. else if(ini_GetValue(szFileStr, "ConnCount", szResult, sizeof(szResult))) TotalConnect = strval(szResult);
  2792. else if(ini_GetValue(szFileStr, "ABanCount", szResult, sizeof(szResult))) TotalAutoBan = strval(szResult);
  2793. else if(ini_GetValue(szFileStr, "RegCount", szResult, sizeof(szResult))) TotalRegister = strval(szResult);
  2794. else if(ini_GetValue(szFileStr, "MaxPCount", szResult, sizeof(szResult))) MaxPlayersConnected = strval(szResult);
  2795. else if(ini_GetValue(szFileStr, "MaxPDay", szResult, sizeof(szResult))) MPDay = strval(szResult);
  2796. else if(ini_GetValue(szFileStr, "MaxPMonth", szResult, sizeof(szResult))) MPMonth = strval(szResult);
  2797. else if(ini_GetValue(szFileStr, "MaxPYear", szResult, sizeof(szResult))) MPYear = strval(szResult);
  2798. else if(ini_GetValue(szFileStr, "Uptime", szResult, sizeof(szResult))) TotalUptime = strval(szResult);
  2799. }
  2800. fclose(iFileHandle);
  2801. }
  2802. stock LoadThePay()
  2803. {
  2804. new sz_FacPayStr[128], File: i_FileHandle, arrayIndex;
  2805. #define PAY_FILE "factionpay.cfg"
  2806. if(!fexist(PAY_FILE)) return 1;
  2807. i_FileHandle = fopen(PAY_FILE, io_read);
  2808. while (arrayIndex < sizeof(FactionPay))
  2809. {
  2810. fread(i_FileHandle, sz_FacPayStr);
  2811. sscanf(sz_FacPayStr, "p<|>iiiiiii",
  2812. FactionPay[arrayIndex][0],
  2813. FactionPay[arrayIndex][1],
  2814. FactionPay[arrayIndex][2],
  2815. FactionPay[arrayIndex][3],
  2816. FactionPay[arrayIndex][4],
  2817. FactionPay[arrayIndex][5],
  2818. FactionPay[arrayIndex][6]
  2819. );
  2820. arrayIndex++;
  2821. }
  2822. return fclose(i_FileHandle);
  2823. }
  2824. stock SaveThePay()
  2825. {
  2826. new File: i_FileHandle = fopen(PAY_FILE, io_write), arrayIndex, sz_FileStr[128];
  2827. while(arrayIndex < sizeof(FactionPay)) {
  2828. format(sz_FileStr, sizeof(sz_FileStr), "%d|%d|%d|%d|%d|%d|%d\r\n",
  2829. FactionPay[arrayIndex][0],
  2830. FactionPay[arrayIndex][1],
  2831. FactionPay[arrayIndex][2],
  2832. FactionPay[arrayIndex][3],
  2833. FactionPay[arrayIndex][4],
  2834. FactionPay[arrayIndex][5],
  2835. FactionPay[arrayIndex][6]
  2836. );
  2837. fwrite(i_FileHandle, sz_FileStr);
  2838. arrayIndex++;
  2839. }
  2840. #undef PAY_FILE
  2841. return fclose(i_FileHandle);
  2842. }
  2843. ini_GetValue(szParse[], szValueName[], szDest[], iDestLen)
  2844. {
  2845. new
  2846. iPos = strfind(szParse, "=", false),
  2847. iLength = strlen(szParse);
  2848. while(iLength-- && szParse[iLength] <= ' ')
  2849. {
  2850. szParse[iLength] = 0;
  2851. }
  2852. if(strcmp(szParse, szValueName, false, iPos) == 0)
  2853. {
  2854. strmid(szDest, szParse, iPos + 1, iLength + 1, iDestLen);
  2855. return 1;
  2856. }
  2857. return 0;
  2858. }
  2859. stock SetVehicleLights(vehicleid, playerid)
  2860. {
  2861. new engine,lights,alarm,doors,bonnet,boot,objective;
  2862. GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
  2863. if(lights == VEHICLE_PARAMS_ON)
  2864. {
  2865. SetVehicleParamsEx(vehicleid,engine,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
  2866. SendClientMessage(playerid, COLOR_WHITE, "Vehicle lights successfully turned off.");
  2867. }
  2868. else if(lights == VEHICLE_PARAMS_OFF || lights == VEHICLE_PARAMS_UNSET)
  2869. {
  2870. SetVehicleParamsEx(vehicleid,engine,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);
  2871. SendClientMessage(playerid, COLOR_WHITE, "Vehicle lights successfully turned on.");
  2872. }
  2873. return 1;
  2874. }
  2875. stock SetVehicleTrunk(vehicleid, playerid)
  2876. {
  2877. new engine,lights,alarm,doors,bonnet,boot,objective;
  2878. GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
  2879. if(boot == VEHICLE_PARAMS_ON)
  2880. {
  2881. SetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,VEHICLE_PARAMS_OFF,objective);
  2882. SendClientMessage(playerid, COLOR_WHITE, "Vehicle trunk successfully closed.");
  2883. }
  2884. else if(boot == VEHICLE_PARAMS_OFF || boot == VEHICLE_PARAMS_UNSET)
  2885. {
  2886. SetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,VEHICLE_PARAMS_ON,objective);
  2887. SendClientMessage(playerid, COLOR_WHITE, "Vehicle trunk successfully opened.");
  2888. }
  2889. return 1;
  2890. }
  2891. stock SetVehicleHood(vehicleid, playerid)
  2892. {
  2893. new engine,lights,alarm,doors,bonnet,boot,objective;
  2894. GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
  2895. if(bonnet == VEHICLE_PARAMS_ON)
  2896. {
  2897. SetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,VEHICLE_PARAMS_OFF,boot,objective);
  2898. SendClientMessage(playerid, COLOR_WHITE, "Vehicle hood successfully closed.");
  2899. }
  2900. else if(bonnet == VEHICLE_PARAMS_OFF || bonnet == VEHICLE_PARAMS_UNSET)
  2901. {
  2902. SetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,VEHICLE_PARAMS_ON,boot,objective);
  2903. SendClientMessage(playerid, COLOR_WHITE, "Vehicle hood successfully opened.");
  2904. }
  2905. return 1;
  2906. }
  2907. stock ShowNMuteFine(playerid)
  2908. {
  2909. new playername[MAX_PLAYER_NAME];
  2910. GetPlayerName(playerid, playername, sizeof(playername));
  2911. new allmoney;
  2912. if(PlayerInfo[playerid][pHouse] != INVALID_HOUSE_ID && strcmp(GetPlayerNameEx(playerid), HouseInfo[PlayerInfo[playerid][pHouse]][hOwner], true) == 0)
  2913. {
  2914. allmoney = HouseInfo[PlayerInfo[playerid][pHouse]][hSafeMoney]+GetPlayerCash(playerid)+PlayerInfo[playerid][pBank];
  2915. }
  2916. else if(PlayerInfo[playerid][pHouse2] != INVALID_HOUSE_ID && strcmp(GetPlayerNameEx(playerid), HouseInfo[PlayerInfo[playerid][pHouse2]][hOwner], true) == 0)
  2917. {
  2918. allmoney += HouseInfo[PlayerInfo[playerid][pHouse2]][hSafeMoney];
  2919. }
  2920. else
  2921. {
  2922. allmoney = GetPlayerCash(playerid)+PlayerInfo[playerid][pBank];
  2923. }
  2924. new fine = 10*allmoney/100;
  2925. if(PlayerInfo[playerid][pNMuteTotal] < 4)
  2926. {
  2927. new string[64];
  2928. format(string,sizeof(string),"Prison for %d Minutes\nCash Fine ($%d)",PlayerInfo[playerid][pNMuteTotal] * 15, fine);
  2929. ShowPlayerDialogEx(playerid,NMUTE,DIALOG_STYLE_LIST,"Newbie Chat Unmute - Select your Punishment:",string,"Select","Cancel");
  2930. }
  2931. else if(PlayerInfo[playerid][pNMuteTotal] == 4) ShowPlayerDialogEx(playerid,NMUTE,DIALOG_STYLE_LIST,"Newbie Chat Unmute - Select your Punishment:","Prison for 1 Hour","Select","Cancel");
  2932. else if(PlayerInfo[playerid][pNMuteTotal] == 5) ShowPlayerDialogEx(playerid,NMUTE,DIALOG_STYLE_LIST,"Newbie Chat Unmute - Select your Punishment:","Prison for 1 Hour and 15 Minutes","Select","Cancel");
  2933. else if(PlayerInfo[playerid][pNMuteTotal] == 6) ShowPlayerDialogEx(playerid,NMUTE,DIALOG_STYLE_LIST,"Newbie Chat Unmute - Select your Punishment:","Prison for 1 Hour and 30 Minutes","Select","Cancel");
  2934. }
  2935. forward RespawnVehicleFunction(vehicleid);
  2936. public RespawnVehicleFunction(vehicleid) {
  2937. return SetVehicleToRespawn(vehicleid);
  2938. }
  2939. stock ShowAdMuteFine(playerid)
  2940. {
  2941. new string[128];
  2942. new playername[MAX_PLAYER_NAME];
  2943. GetPlayerName(playerid, playername, sizeof(playername));
  2944. new allmoney;
  2945. if(PlayerInfo[playerid][pHouse] != INVALID_HOUSE_ID && strcmp(GetPlayerNameEx(playerid), HouseInfo[PlayerInfo[playerid][pHouse]][hOwner], true) == 0)
  2946. {
  2947. allmoney = HouseInfo[PlayerInfo[playerid][pHouse]][hSafeMoney]+GetPlayerCash(playerid)+PlayerInfo[playerid][pBank];
  2948. }
  2949. else if(PlayerInfo[playerid][pHouse2] != INVALID_HOUSE_ID && strcmp(GetPlayerNameEx(playerid), HouseInfo[PlayerInfo[playerid][pHouse2]][hOwner], true) == 0)
  2950. {
  2951. allmoney += HouseInfo[PlayerInfo[playerid][pHouse2]][hSafeMoney];
  2952. }
  2953. else
  2954. {
  2955. allmoney = GetPlayerCash(playerid)+PlayerInfo[playerid][pBank];
  2956. }
  2957. new fine = 10*allmoney/100;
  2958. if(PlayerInfo[playerid][pADMuteTotal] < 4)
  2959. {
  2960. format(string,sizeof(string),"Prison for %d Minutes\nCash Fine ($%d)",PlayerInfo[playerid][pADMuteTotal]*15,fine);
  2961. }
  2962. if(PlayerInfo[playerid][pADMuteTotal] == 4)
  2963. {
  2964. format(string,sizeof(string),"Prison for 1 Hour");
  2965. }
  2966. if(PlayerInfo[playerid][pADMuteTotal] == 5)
  2967. {
  2968. format(string,sizeof(string),"Prison for 1 Hour and 15 Minutes)");
  2969. }
  2970. if(PlayerInfo[playerid][pADMuteTotal] == 6)
  2971. {
  2972. format(string,sizeof(string),"Prison for 1 Hour and 30 Minutes");
  2973. }
  2974. ShowPlayerDialogEx(playerid,ADMUTE,DIALOG_STYLE_LIST,"Advertisements Unmute - Select your Punishment:",string,"Select","Cancel");
  2975. }
  2976. stock FindFreeAttachedObjectSlot(playerid)
  2977. {
  2978. new index;
  2979. while (index < MAX_PLAYER_ATTOBJECTS && IsPlayerAttachedObjectSlotUsed(playerid, index))
  2980. {
  2981. index++;
  2982. }
  2983. if(index == MAX_PLAYER_ATTOBJECTS) return -1;
  2984. return index;
  2985. }
  2986. // Interiors
  2987. new InteriorDialogNames[149][] =
  2988. {
  2989. "Four Dragons' Managerial Suite",
  2990. "Ganton Gym",
  2991. "Brothel",
  2992. "Brothel2",
  2993. "Inside Track Betting",
  2994. "Blastin' Fools Records",
  2995. "The Big Spread Ranch",
  2996. "Warehouse 1",
  2997. "Warehouse 2",
  2998. "B Dup's Apartment",
  2999. "B Dup's Crack Palace",
  3000. "Wheel Arch Angels",
  3001. "OG Loc's House",
  3002. "Barber Shop",
  3003. "Planning Department",
  3004. "Las Venturas Police Department",
  3005. "Pro-Laps",
  3006. "Sex Shop",
  3007. "Las Venturas Tattoo parlor",
  3008. "Lost San Fierro Tattoo parlor",
  3009. "24/7 (version 1)",
  3010. "Diner 1",
  3011. "Pizza Stack",
  3012. "Rusty Brown's Donuts",
  3013. "Ammu-nation",
  3014. "Victim",
  3015. "Loco Low Co",
  3016. "San Fierro Police Department",
  3017. "24/7 (version 2 - large)",
  3018. "Below The Belt Gym (Las Venturas)",
  3019. "Transfenders",
  3020. "World of Coq",
  3021. "Ammu-nation (version 2)",
  3022. "SubUrban",
  3023. "Denise's Bedroom",
  3024. "Helena's Barn",
  3025. "Barbara's Love nest",
  3026. "San Fierro Garage",
  3027. "Oval Stadium",
  3028. "8-Track Stadium",
  3029. "The Pig Pen (strip club 2)",
  3030. "Four Dragons",
  3031. "Liberty City",
  3032. "Ryder's house",
  3033. "Sweet's House",
  3034. "RC Battlefield",
  3035. "The Johnson House",
  3036. "Burger shot",
  3037. "Caligula's Casino",
  3038. "Katie's Lovenest",
  3039. "Barber Shop 2 (Reece's)",
  3040. "Angel Pine Trailer",
  3041. "24/7 (version 3)",
  3042. "Zip",
  3043. "The Pleasure Domes",
  3044. "Madd Dogg's Mansion",
  3045. "Big Smoke's Crack Palace",
  3046. "Burning Desire Building",
  3047. "Wu-Zi Mu's",
  3048. "Abandoned AC tower",
  3049. "Wardrobe/Changing room",
  3050. "Didier Sachs",
  3051. "Casino (Redsands West)",
  3052. "Kickstart Stadium",
  3053. "Club",
  3054. "Atrium",
  3055. "Los Santos Tattoo Parlor",
  3056. "Safe House group 1",
  3057. "Safe House group 2",
  3058. "Safe House group 3",
  3059. "Safe House group 4",
  3060. "Sherman Dam",
  3061. "24/7 (version 4)",
  3062. "Jefferson Motel",
  3063. "Jet Interior",
  3064. "The Welcome Pump",
  3065. "Burglary House X1",
  3066. "Burglary House X2",
  3067. "Burglary House X3",
  3068. "Burglary House X4",
  3069. "Binco",
  3070. "4 Burglary houses",
  3071. "Blood Bowl Stadium",
  3072. "Budget Inn Motel Room",
  3073. "Palamino Bank",
  3074. "Palamino Diner",
  3075. "Dillimore Gas Station",
  3076. "Lil' Probe Inn",
  3077. "Torreno's Ranch",
  3078. "Zombotech - lobby area",
  3079. "Crypt in LS cemetery (temple)",
  3080. "Blueberry Liquor Store",
  3081. "Pair of Burglary Houses",
  3082. "Crack Den",
  3083. "Burglary House X11",
  3084. "Burglary House X12",
  3085. "Ammu-nation (version 3)",
  3086. "Jay's Diner",
  3087. "24/7 (version 5)",
  3088. "Warehouse 3",
  3089. "Michelle's Love Nest*",
  3090. "Burglary House X14",
  3091. "Sindacco Abatoir",
  3092. "K.A.C.C. Military Fuels Depot",
  3093. "Area 69",
  3094. "Burglary House X13",
  3095. "Unused Safe House",
  3096. "Millie's Bedroom",
  3097. "Barber Shop",
  3098. "Dirtbike Stadium",
  3099. "Cobra Gym",
  3100. "Los Santos Police Department",
  3101. "Los Santos Airport",
  3102. "Burglary House X15",
  3103. "Burglary House X16",
  3104. "Burglary House X17",
  3105. "Bike School",
  3106. "Francis International Airport",
  3107. "Vice Stadium",
  3108. "Burglary House X18",
  3109. "Burglary House X19",
  3110. "Zero's RC Shop",
  3111. "Ammu-nation (version 4)",
  3112. "Ammu-nation (version 5)",
  3113. "Burglary House X20",
  3114. "24/7 (version 6)",
  3115. "Secret Valley Diner",
  3116. "Rosenberg's Office in Caligulas",
  3117. "Fanny Batter's Whore House",
  3118. "Colonel Furhberger's",
  3119. "Cluckin' Bell",
  3120. "The Camel's Toe Safehouse",
  3121. "Caligula's Roof",
  3122. "Old Venturas Strip Casino",
  3123. "Driving School",
  3124. "Verdant Bluffs Safehouse",
  3125. "Bike School",
  3126. "Andromada",
  3127. "Four Dragons' Janitor's Office",
  3128. "Bar",
  3129. "Burglary House X21",
  3130. "Willowfield Safehouse",
  3131. "Burglary House X22",
  3132. "Burglary House X23",
  3133. "Otto's Autos",
  3134. "Wang Cars",
  3135. "Loco Low",
  3136. "Wheel Arch Angels",
  3137. "Transfender"
  3138. };
  3139. new Float:InteriorDialogData[149][4] =
  3140. {
  3141. {2003.1178, 1015.1948, 33.008, 351.5789},
  3142. {770.8033, -0.7033, 1000.7267, 22.8599},
  3143. {974.0177, -9.5937, 1001.1484, 22.6045},
  3144. {961.9308, -51.9071, 1001.1172, 95.5381},
  3145. {830.6016, 5.9404, 1004.1797, 125.8149},
  3146. {1037.8276, 0.397, 1001.2845, 353.9335},
  3147. {1212.1489, -28.5388, 1000.9531, 170.5692},
  3148. {1290.4106, 1.9512, 1001.0201, 179.9419},
  3149. {1412.1472, -2.2836, 1000.9241, 114.661},
  3150. {1527.0468, -12.0236, 1002.0971, 350.0013},
  3151. {1523.5098, -47.8211, 1002.2699, 262.7038},
  3152. {612.2191, -123.9028, 997.9922, 266.5704},
  3153. {512.9291, -11.6929, 1001.5653, 198.7669},
  3154. {418.4666, -80.4595, 1001.8047, 343.2358},
  3155. {386.5259, 173.6381, 1008.3828, 63.7399},
  3156. {288.4723, 170.0647, 1007.1794, 22.0477},
  3157. {206.4627, -137.7076, 1003.0938, 10.9347},
  3158. {-100.2674, -22.9376, 1000.7188, 17.285},
  3159. {-201.2236, -43.2465, 1002.2734, 45.8613},
  3160. {-202.9381, -6.7006, 1002.2734, 204.2693},
  3161. {-25.7220, -187.8216, 1003.5469, 5.0760},
  3162. {454.9853, -107.2548, 999.4376, 309.0195},
  3163. {372.5565, -131.3607, 1001.4922, 354.2285},
  3164. {378.026, -190.5155, 1000.6328, 141.0245},
  3165. {315.244, -140.8858, 999.6016, 7.4226},
  3166. {225.0306, -9.1838, 1002.218, 85.5322},
  3167. {611.3536, -77.5574, 997.9995, 320.9263},
  3168. {246.0688, 108.9703, 1003.2188, 0.2922},
  3169. {6.0856, -28.8966, 1003.5494, 5.0365},
  3170. {773.7318, -74.6957, 1000.6542, 5.2304},
  3171. {621.4528, -23.7289, 1000.9219, 15.6789},
  3172. {445.6003, -6.9823, 1000.7344, 172.2105},
  3173. {285.8361, -39.0166, 1001.5156, 0.7529},
  3174. {204.1174, -46.8047, 1001.8047, 357.5777},
  3175. {245.2307, 304.7632, 999.1484, 273.4364},
  3176. {290.623, 309.0622, 999.1484, 89.9164},
  3177. {322.5014, 303.6906, 999.1484, 8.1747},
  3178. {-2041.2334, 178.3969, 28.8465, 156.2153},
  3179. {-1402.6613, 106.3897, 1032.2734, 105.1356},
  3180. {-1403.0116, -250.4526, 1043.5341, 355.8576},
  3181. {1204.6689, -13.5429, 1000.9219, 350.0204},
  3182. {2016.1156, 1017.1541, 996.875, 88.0055},
  3183. {-741.8495, 493.0036, 1371.9766, 71.7782},
  3184. {2447.8704, -1704.4509, 1013.5078, 314.5253},
  3185. {2527.0176, -1679.2076, 1015.4986, 260.9709},
  3186. {-1129.8909, 1057.5424, 1346.4141, 274.5268},
  3187. {2496.0549, -1695.1749, 1014.7422, 179.2174},
  3188. {366.0248, -73.3478, 1001.5078, 292.0084},
  3189. {2233.9363, 1711.8038, 1011.6312, 184.3891},
  3190. {269.6405, 305.9512, 999.1484, 215.6625},
  3191. {414.2987, -18.8044, 1001.8047, 41.4265},
  3192. {1.1853, -3.2387, 999.4284, 87.5718},
  3193. {-30.9875, -89.6806, 1003.5469, 359.8401},
  3194. {161.4048, -94.2416, 1001.8047, 0.7938},
  3195. {-2638.8232, 1407.3395, 906.4609, 94.6794},
  3196. {1267.8407, -776.9587, 1091.9063, 231.3418},
  3197. {2536.5322, -1294.8425, 1044.125, 254.9548},
  3198. {2350.1597, -1181.0658, 1027.9766, 99.1864},
  3199. {-2158.6731, 642.09, 1052.375, 86.5402},
  3200. {419.8936, 2537.1155, 10.0, 67.6537},
  3201. {256.9047, -41.6537, 1002.0234, 85.8774},
  3202. {204.1658, -165.7678, 1000.5234, 181.7583},
  3203. {1133.35, -7.8462, 1000.6797, 165.8482},
  3204. {-1420.4277, 1616.9221, 1052.5313, 159.1255},
  3205. {493.1443, -24.2607, 1000.6797, 356.9864},
  3206. {1727.2853, -1642.9451, 20.2254, 172.4193},
  3207. {-202.842, -24.0325, 1002.2734, 252.8154},
  3208. {2233.6919, -1112.8107, 1050.8828, 8.6483},
  3209. {1211.2484, 1049.0234, 359.941, 170.9341},
  3210. {2319.1272, -1023.9562, 1050.2109, 167.3959},
  3211. {2261.0977, -1137.8833, 1050.6328, 266.88},
  3212. {-944.2402, 1886.1536, 5.0051, 179.8548},
  3213. {-26.1856, -140.9164, 1003.5469, 2.9087},
  3214. {2217.281, -1150.5349, 1025.7969, 273.7328},
  3215. {1.5491, 23.3183, 1199.5938, 359.9054},
  3216. {681.6216, -451.8933, -25.6172, 166.166},
  3217. {234.6087, 1187.8195, 1080.2578, 349.4844},
  3218. {225.5707, 1240.0643, 1082.1406, 96.2852},
  3219. {224.288, 1289.1907, 1082.1406, 359.868},
  3220. {239.2819, 1114.1991, 1080.9922, 270.2654},
  3221. {207.5219, -109.7448, 1005.1328, 358.62},
  3222. {295.1391, 1473.3719, 1080.2578, 352.9526},
  3223. {-1417.8927, 932.4482, 1041.5313, 0.7013},
  3224. {446.3247, 509.9662, 1001.4195, 330.5671},
  3225. {2306.3826, -15.2365, 26.7496, 274.49},
  3226. {2331.8984, 6.7816, 26.5032, 100.2357},
  3227. {663.0588, -573.6274, 16.3359, 264.9829},
  3228. {-227.5703, 1401.5544, 27.7656, 269.2978},
  3229. {-688.1496, 942.0826, 13.6328, 177.6574},
  3230. {-1916.1268, 714.8617, 46.5625, 152.2839},
  3231. {818.7714, -1102.8689, 25.794, 91.1439},
  3232. {255.2083, -59.6753, 1.5703, 1.4645},
  3233. {446.626, 1397.738, 1084.3047, 343.9647},
  3234. {227.3922, 1114.6572, 1080.9985, 267.459},
  3235. {227.7559, 1114.3844, 1080.9922, 266.2624},
  3236. {261.1165, 1287.2197, 1080.2578, 178.9149},
  3237. {291.7626, -80.1306, 1001.5156, 290.2195},
  3238. {449.0172, -88.9894, 999.5547, 89.6608},
  3239. {-27.844, -26.6737, 1003.5573, 184.3118},
  3240. {2135.2004, -2276.2815, 20.6719, 318.59},
  3241. {306.1966, 307.819, 1003.3047, 203.1354},
  3242. {24.3769, 1341.1829, 1084.375, 8.3305},
  3243. {963.0586, 2159.7563, 1011.0303, 175.313},
  3244. {2548.4807, 2823.7429, 10.8203, 270.6003},
  3245. {215.1515, 1874.0579, 13.1406, 177.5538},
  3246. {221.6766, 1142.4962, 1082.6094, 184.9618},
  3247. {2323.7063, -1147.6509, 1050.7101, 206.5352},
  3248. {344.9984, 307.1824, 999.1557, 193.643},
  3249. {411.9707, -51.9217, 1001.8984, 173.3449},
  3250. {-1421.5618, -663.8262, 1059.5569, 170.9341},
  3251. {773.8887, -47.7698, 1000.5859, 10.7161},
  3252. {246.6695, 65.8039, 1003.6406, 7.9562},
  3253. {-1864.9434, 55.7325, 1055.5276, 85.8541},
  3254. {-262.1759, 1456.6158, 1084.3672, 82.459},
  3255. {22.861, 1404.9165, 1084.4297, 349.6158},
  3256. {140.3679, 1367.8837, 1083.8621, 349.2372},
  3257. {1494.8589, 1306.48, 1093.2953, 196.065},
  3258. {-1813.213, -58.012, 1058.9641, 335.3199},
  3259. {-1401.067, 1265.3706, 1039.8672, 178.6483},
  3260. {234.2826, 1065.229, 1084.2101, 4.3864},
  3261. {-68.5145, 1353.8485, 1080.2109, 3.5742},
  3262. {-2240.1028, 136.973, 1035.4141, 269.0954},
  3263. {297.144, -109.8702, 1001.5156, 20.2254},
  3264. {316.5025, -167.6272, 999.5938, 10.3031},
  3265. {-285.2511, 1471.197, 1084.375, 85.6547},
  3266. {-26.8339, -55.5846, 1003.5469, 3.9528},
  3267. {442.1295, -52.4782, 999.7167, 177.9394},
  3268. {2182.2017, 1628.5848, 1043.8723, 224.8601},
  3269. {748.4623, 1438.2378, 1102.9531, 0.6069},
  3270. {2807.3604, -1171.7048, 1025.5703, 193.7117},
  3271. {366.0002, -9.4338, 1001.8516, 160.528},
  3272. {2216.1282, -1076.3052, 1050.4844, 86.428},
  3273. {2268.5156, 1647.7682, 1084.2344, 99.7331},
  3274. {2236.6997, -1078.9478, 1049.0234, 2.5706},
  3275. {-2031.1196, -115.8287, 1035.1719, 190.1877},
  3276. {2365.1089, -1133.0795, 1050.875, 177.3947},
  3277. {1168.512, 1360.1145, 10.9293, 196.5933},
  3278. {315.4544, 976.5972, 1960.8511, 359.6368},
  3279. {1893.0731, 1017.8958, 31.8828, 86.1044},
  3280. {501.9578, -70.5648, 998.7578, 171.5706},
  3281. {-42.5267, 1408.23, 1084.4297, 172.068},
  3282. {2283.3118, 1139.307, 1050.8984, 19.7032},
  3283. {84.9244, 1324.2983, 1083.8594, 159.5582},
  3284. {260.7421, 1238.2261, 1084.2578, 84.3084},
  3285. {-1658.1656, 1215.0002, 7.25, 103.9074},
  3286. {-1961.6281, 295.2378, 35.4688, 264.4891},
  3287. {616.7820, -74.8151, 997.6350, 264.4891},
  3288. {615.2851, -124.2390, 997.6350, 264.4891},
  3289. {617.5380, -1.9900, 1000.6829, 264.4891}
  3290. };
  3291. new InteriorDialogInteriors[149][1] =
  3292. {
  3293. {11},
  3294. {5},
  3295. {3},
  3296. {3},
  3297. {3},
  3298. {3},
  3299. {3},
  3300. {18},
  3301. {1},
  3302. {3},
  3303. {2},
  3304. {3},
  3305. {3},
  3306. {3},
  3307. {3},
  3308. {3},
  3309. {3},
  3310. {3},
  3311. {3},
  3312. {17},
  3313. {17},
  3314. {5},
  3315. {5},
  3316. {17},
  3317. {7},
  3318. {5},
  3319. {2},
  3320. {10},
  3321. {10},
  3322. {7},
  3323. {1},
  3324. {1},
  3325. {1},
  3326. {1},
  3327. {1},
  3328. {3},
  3329. {5},
  3330. {1},
  3331. {1},
  3332. {7},
  3333. {2},
  3334. {10},
  3335. {1},
  3336. {2},
  3337. {1},
  3338. {10},
  3339. {3},
  3340. {10},
  3341. {1},
  3342. {2},
  3343. {2},
  3344. {2},
  3345. {18},
  3346. {18},
  3347. {3},
  3348. {5},
  3349. {2},
  3350. {5},
  3351. {1},
  3352. {10},
  3353. {14},
  3354. {14},
  3355. {12},
  3356. {14},
  3357. {17},
  3358. {18},
  3359. {16},
  3360. {5},
  3361. {6},
  3362. {9},
  3363. {10},
  3364. {17},
  3365. {16},
  3366. {15},
  3367. {1},
  3368. {1},
  3369. {3},
  3370. {2},
  3371. {1},
  3372. {5},
  3373. {15},
  3374. {15},
  3375. {15},
  3376. {12},
  3377. {0},
  3378. {0},
  3379. {0},
  3380. {18},
  3381. {0},
  3382. {0},
  3383. {0},
  3384. {0},
  3385. {2},
  3386. {5},
  3387. {5},
  3388. {4},
  3389. {4},
  3390. {4},
  3391. {4},
  3392. {0},
  3393. {4},
  3394. {10},
  3395. {1},
  3396. {0},
  3397. {0},
  3398. {4},
  3399. {12},
  3400. {6},
  3401. {12},
  3402. {4},
  3403. {6},
  3404. {6},
  3405. {14},
  3406. {4},
  3407. {5},
  3408. {5},
  3409. {3},
  3410. {14},
  3411. {16},
  3412. {6},
  3413. {6},
  3414. {6},
  3415. {6},
  3416. {6},
  3417. {15},
  3418. {6},
  3419. {6},
  3420. {2},
  3421. {6},
  3422. {8},
  3423. {9},
  3424. {1},
  3425. {1},
  3426. {2},
  3427. {3},
  3428. {8},
  3429. {0},
  3430. {9},
  3431. {10},
  3432. {11},
  3433. {8},
  3434. {11},
  3435. {9},
  3436. {9},
  3437. {0},
  3438. {0},
  3439. {2},
  3440. {3},
  3441. {1}
  3442. };
  3443. enum HoldingEnumAll
  3444. {
  3445. holdingmodelid,
  3446. holdingprice,
  3447. holdingmodelname[24]
  3448. }
  3449. new HoldingObjectsShop[][HoldingEnumAll] = {
  3450. {365,50, "Spray Can"},
  3451. {373,100, "Armour model"},
  3452. {371,100, "Parachute"},
  3453. {1486,100, "Beer Bottle"},
  3454. {1575,500, "white sack of cocaine"},
  3455. {1212,500, "money packet"},
  3456. {348, 1000, "deagle toy"},
  3457. {349, 500, "shotgun toy"},
  3458. {352, 500, "uzi toy"},
  3459. {353, 500, "mp5 toy"},
  3460. {343, 50, "teargas grenade"},
  3461. {326, 50, "cane"},
  3462. {325, 50, "flowers"},
  3463. {355, 1000, "AK47 toy"},
  3464. {371, 50, "parachute bag"},
  3465. {1484, 50, "beer bottle"},
  3466. {3028, 500, "sword"},
  3467. {1279, 50, "drug bundle"},
  3468. {19348, 10, "cane"},
  3469. {19349, 10, "monocle"},
  3470. {19350, 10, "moustache1"},
  3471. {19469, 10, "scarf"},
  3472. {19472, 500, "gasmask"},
  3473. {19352, 50, "Top hat 01"},
  3474. {19487,50, "tophat02"},
  3475. {351,1700, "Combat Shotgun"},
  3476. {335,1500, "Combat Knife"},
  3477. {356,1500, "M4 Assault Rifle"},
  3478. {373,50, "Armour Model"},
  3479. {1550,350,"sack of money"},
  3480. {1212,350,"money packet"}
  3481. };
  3482. new HoldingObjectsCop[13][HoldingEnumAll] = {
  3483. {18642,100,"Taser1"},
  3484. {19141,250,"SWATHelmet1"},
  3485. {19142,250,"SWATArmour1"},
  3486. {18636,100,"PoliceCap1"},
  3487. {19099,100,"PoliceCap2"},
  3488. {19100,100,"PoliceCap3"},
  3489. {18637,100,"PoliceShield1"},
  3490. {19161,100,"PoliceHat1"},
  3491. {19162,100,"PoliceHat2"},
  3492. {19200,100,"PoliceHelmet1"},
  3493. {19138,100,"PoliceGlasses1"},
  3494. {19139,100,"PoliceGlasses2"},
  3495. {19140,100,"PoliceGlasses3"}
  3496. };
  3497. new HoldingObjectsAll[56][HoldingEnumAll] = {
  3498. {18642,100,"Taser1"},
  3499. {18643,1000,"LaserPointer1"},
  3500. {19080,1000,"LaserPointer2"},
  3501. {19081,1000,"LaserPointer3"},
  3502. {19082,1000,"LaserPointer4"},
  3503. {19083,1000,"LaserPointer5"},
  3504. {19084,1000,"LaserPointer6"},
  3505. {19086,500,"ChainsawDildo1"},
  3506. {18675,1000,"SmokePuff"},
  3507. {19701,1000,"SmallFlame"},
  3508. {18693,1000,"LargeFlame"},
  3509. {18698,1000,"Insects"},
  3510. {18708,1000,"Bubbles"},
  3511. {19141,250,"SWATHelmet1"},
  3512. {19142,250,"SWATArmour1"},
  3513. {18636,100,"PoliceCap1"},
  3514. {19099,100,"PoliceCap2"},
  3515. {19100,100,"PoliceCap3"},
  3516. {18637,100,"PoliceShield1"},
  3517. {19161,100,"PoliceHat1"},
  3518. {19162,100,"PoliceHat2"},
  3519. {19200,100,"PoliceHelmet1"},
  3520. {19138,100,"PoliceGlasses1"},
  3521. {19139,100,"PoliceGlasses2"},
  3522. {19140,100,"PoliceGlasses3"},
  3523. {365,50,"Spray Can"},
  3524. {373,100,"Armour model"},
  3525. {371,100,"Parachute"},
  3526. {1486,100,"Beer Bottle"},
  3527. {1575,500,"white sack of cocaine"},
  3528. {1212,500,"money packet"},
  3529. {348, 1000,"deagle toy"},
  3530. {349, 500,"shotgun toy"},
  3531. {352, 500,"uzi toy"},
  3532. {353, 500,"mp5 toy"},
  3533. {343, 50,"teargas grenade"},
  3534. {326, 50,"cane"},
  3535. {325, 50,"flowers"},
  3536. {355, 1000,"AK47 toy"},
  3537. {371, 50,"parachute bag"},
  3538. {1484, 50,"beer bottle"},
  3539. {3028, 500,"sword"},
  3540. {1279, 50,"drug bundle"},
  3541. {19348, 10,"cane"},
  3542. {19349, 10,"monocle"},
  3543. {19350, 10,"moustache1"},
  3544. {19469, 10,"scarf"},
  3545. {19472, 500,"gasmask"},
  3546. {19352, 50,"Top hat 01"},
  3547. {19487,50,"tophat02"},
  3548. {351,1700,"Combat Shotgun"},
  3549. {335,1500,"Combat Knife"},
  3550. {356,1500,"M4 Assault Rifle"},
  3551. {373,50,"Armour Model"},
  3552. {1550,350,"sack of money"},
  3553. {1212,350,"money packet"}
  3554. };
  3555. enum HoldingEnum
  3556. {
  3557. holdingmodelid,
  3558. holdingprice,
  3559. holdingmodelname[24]
  3560. }
  3561. new HoldingObjects[202][HoldingEnum] = {
  3562. {18632,100,"FishingRod"},
  3563. {18633,150,"Wrench"},
  3564. {18634,100,"Crowbar"},
  3565. {18635,100,"Hammer"},
  3566. {18638,50,"HardHat"},
  3567. {19093,50,"HardHat2"},
  3568. {19160,50,"HardHat3"},
  3569. {18639,50,"BlackHat"},
  3570. {18640,70,"Hair"},
  3571. {18975,70,"Hair2"},
  3572. {19136,70,"Hair3"},
  3573. {19274,70,"Hair4"},
  3574. {18641,100,"Flashlight"},
  3575. {18644,500,"Screwdriver"},
  3576. {18865,50,"MobilePhone1"},
  3577. {18866,50,"MobilePhone2"},
  3578. {18867,50,"MobilePhone3"},
  3579. {18868,50,"MobilePhone4"},
  3580. {18869,50,"MobilePhone5"},
  3581. {18870,100,"MobilePhone6"},
  3582. {18871,100,"MobilePhone7"},
  3583. {18872,100,"MobilePhone8"},
  3584. {18873,100,"MobilePhone9"},
  3585. {18874,100,"MobilePhone10"},
  3586. {18875,75,"Pager"},
  3587. {18890,50,"Rake"},
  3588. {18891,50,"Bandana1"},
  3589. {18892,50,"Bandana2"},
  3590. {18893,50,"Bandana3"},
  3591. {18894,50,"Bandana4"},
  3592. {18895,50,"Bandana5"},
  3593. {18896,50,"Bandana6"},
  3594. {18897,50,"Bandana7"},
  3595. {18898,50,"Bandana8"},
  3596. {18899,50,"Bandana9"},
  3597. {18900,50,"Bandana10"},
  3598. {18901,75,"Bandana11"},
  3599. {18902,75,"Bandana12"},
  3600. {18903,75,"Bandana13"},
  3601. {18904,75,"Bandana14"},
  3602. {18905,75,"Bandana15"},
  3603. {18906,75,"Bandana16"},
  3604. {18907,75,"Bandana17"},
  3605. {18908,75,"Bandana18"},
  3606. {18909,75,"Bandana19"},
  3607. {18910,75,"Bandana20"},
  3608. {18911,100,"Mask1"},
  3609. {18912,100,"Mask2"},
  3610. {18913,100,"Mask3"},
  3611. {18914,100,"Mask4"},
  3612. {18915,100,"Mask5"},
  3613. {18916,100,"Mask6"},
  3614. {18917,100,"Mask7"},
  3615. {18918,100,"Mask8"},
  3616. {18919,100,"Mask9"},
  3617. {18920,100,"Mask10"},
  3618. {18921,50,"Beret1"},
  3619. {18922,50,"Beret2"},
  3620. {18923,75,"Beret3"},
  3621. {18924,100,"Beret4"},
  3622. {18925,100,"Beret5"},
  3623. {18926,50,"Hat1"},
  3624. {18927,50,"Hat2"},
  3625. {18928,50,"Hat3"},
  3626. {18929,50,"Hat4"},
  3627. {18930,50,"Hat5"},
  3628. {18931,100,"Hat6"},
  3629. {18932,100,"Hat7"},
  3630. {18933,100,"Hat8"},
  3631. {18934,100,"Hat9"},
  3632. {18935,100,"Hat10"},
  3633. {18936,50,"Helmet1"},
  3634. {18937,75,"Helmet2"},
  3635. {18938,100,"Helmet3"},
  3636. {18939,75,"CapBack1"},
  3637. {18940,75,"CapBack2"},
  3638. {18941,75,"CapBack3"},
  3639. {18942,100,"CapBack4"},
  3640. {18943,100,"CapBack5"},
  3641. {18944,100,"HatBoater1"},
  3642. {18945,125,"HatBoater2"},
  3643. {18946,150,"HatBoater3"},
  3644. {18947,100,"HatBowler1"},
  3645. {18948,100,"HatBowler2"},
  3646. {18949,100,"HatBowler3"},
  3647. {18950,100,"HatBowler4"},
  3648. {18951,100,"HatBowler5"},
  3649. {18952,150,"BoxingHelmet"},
  3650. {18953,50,"CapKnit1"},
  3651. {18954,75,"CapKnit2"},
  3652. {18955,75,"CapOverEye1"},
  3653. {18956,75,"CapOverEye2"},
  3654. {18957,75,"CapOverEye3"},
  3655. {18958,75,"CapOverEye4"},
  3656. {18959,75,"CapOverEye5"},
  3657. {18960,100,"CapRimUp1"},
  3658. {18961,75,"CapTrucker1"},
  3659. {18962,75,"CowboyHat2"},
  3660. {18964,100,"SkullyCap1"},
  3661. {18965,125,"SkullyCap2"},
  3662. {18966,150,"SkullyCap3"},
  3663. {18967,100,"HatMan1"},
  3664. {18968,100,"HatMan2"},
  3665. {18969,100,"HatMan3"},
  3666. {18970,200,"HatTiger"},
  3667. {18971,100,"HatCool1"},
  3668. {18972,125,"HatCool2"},
  3669. {18973,150,"HatCool3"},
  3670. {18974,1000,"MaskZorro1"},
  3671. {18645,150,"MotorcycleHelmet"},
  3672. {18976,100,"MotorcycleHelmet2"},
  3673. {18977,100,"MotorcycleHelmet3"},
  3674. {18978,125,"MotorcycleHelmet4"},
  3675. {18979,150,"MotorcycleHelmet5"},
  3676. {19006,50,"GlassesType1"},
  3677. {19007,50,"GlassesType2"},
  3678. {19008,50,"GlassesType3"},
  3679. {19009,50,"GlassesType4"},
  3680. {19010,50,"GlassesType5"},
  3681. {19011,50,"GlassesType6"},
  3682. {19012,50,"GlassesType7"},
  3683. {19013,50,"GlassesType8"},
  3684. {19014,50,"GlassesType9"},
  3685. {19015,50,"GlassesType10"},
  3686. {19016,100,"GlassesType11"},
  3687. {19017,100,"GlassesType12"},
  3688. {19018,100,"GlassesType13"},
  3689. {19019,100,"GlassesType14"},
  3690. {19020,100,"GlassesType15"},
  3691. {19021,100,"GlassesType16"},
  3692. {19022,100,"GlassesType17"},
  3693. {19023,100,"GlassesType18"},
  3694. {19024,100,"GlassesType19"},
  3695. {19025,100,"GlassesType20"},
  3696. {19026,150,"GlassesType21"},
  3697. {19027,150,"GlassesType22"},
  3698. {19028,150,"GlassesType23"},
  3699. {19029,150,"GlassesType24"},
  3700. {19030,150,"GlassesType25"},
  3701. {19031,150,"GlassesType26"},
  3702. {19032,150,"GlassesType27"},
  3703. {19033,150,"GlassesType28"},
  3704. {19034,150,"GlassesType29"},
  3705. {19035,150,"GlassesType30"},
  3706. {19036,200,"HockeyMask1"},
  3707. {19037,200,"HockeyMask2"},
  3708. {19038,200,"HockeyMask3"},
  3709. {19039,50,"WatchType1"},
  3710. {19040,50,"WatchType2"},
  3711. {19041,50,"WatchType3"},
  3712. {19042,50,"WatchType4"},
  3713. {19043,50,"WatchType5"},
  3714. {19044,50,"WatchType6"},
  3715. {19045,50,"WatchType7"},
  3716. {19046,100,"WatchType8"},
  3717. {19047,100,"WatchType9"},
  3718. {19048,100,"WatchType10"},
  3719. {19049,100,"WatchType11"},
  3720. {19050,100,"WatchType12"},
  3721. {19051,100,"WatchType13"},
  3722. {19052,100,"WatchType14"},
  3723. {19053,100,"WatchType15"},
  3724. {19064,1000, "SantaHat1"},
  3725. {19065,2000, "SantaHat2"},
  3726. {19066,300, "SantaHat3"},
  3727. {19067,100, "HoodyHat1"},
  3728. {19068,100, "HoodyHat2"},
  3729. {19069,100, "HoodyHat3"},
  3730. {19078,750, "TheParrot1"},
  3731. {19079,750, "TheParrot2"},
  3732. {19085,500, "EyePatch"},
  3733. {19090,150, "PomPomBlue"},
  3734. {19091,150, "PomPomRed"},
  3735. {19092,150, "PomPomGreen"},
  3736. {19094,200, "BurgerShotHat"},
  3737. {19095,50, "CowboyHat1"},
  3738. {19096,50, "CowboyHat3"},
  3739. {19097,100, "CowboyHat4"},
  3740. {19098,100, "CowboyHat5"},
  3741. {19101,200, "ArmyHelmet1"},
  3742. {19102,200, "ArmyHelmet2"},
  3743. {19103,200, "ArmyHelmet3"},
  3744. {19104,200, "ArmyHelmet4"},
  3745. {19105,200, "ArmyHelmet5"},
  3746. {19106,200, "ArmyHelmet6"},
  3747. {19107,400, "ArmyHelmet7"},
  3748. {19108,400, "ArmyHelmet8"},
  3749. {19109,400, "ArmyHelmet9"},
  3750. {19110,400, "ArmyHelmet10"},
  3751. {19111,400, "ArmyHelmet11"},
  3752. {19112,400, "ArmyHelmet12"},
  3753. {19113,100, "SillyHelmet1"},
  3754. {19114,200, "SillyHelmet2"},
  3755. {19115,300, "SillyHelmet3"},
  3756. {19116,50, "PlainHelmet1"},
  3757. {19117,50, "PlainHelmet2"},
  3758. {19118,75, "PlainHelmet3"},
  3759. {19119,100, "PlainHelmet4"},
  3760. {19120,100, "PlainHelmet5"},
  3761. {19137,500, "CluckinBellHat"},
  3762. {19163,100, "GimpMask"},
  3763. {1210,50, "Briefcase"}
  3764. };
  3765. new HoldingBones[][] = {
  3766. "None",
  3767. "Spine",
  3768. "Head",
  3769. "Left upper arm",
  3770. "Right upper arm",
  3771. "Left hand",
  3772. "Right hand",
  3773. "Left thigh",
  3774. "Right thigh",
  3775. "Left foot",
  3776. "Right foot",
  3777. "Right calf",
  3778. "Left calf",
  3779. "Left forearm",
  3780. "Right forearm",
  3781. "Left clavicle",
  3782. "Right clavicle",
  3783. "Neck",
  3784. "Jaw"
  3785. };
  3786. stock player_remove_vip_toys(iTargetID)
  3787. {
  3788. if(PlayerInfo[iTargetID][pDonator] >= 3) return 1;
  3789. else for(new iToyIter; iToyIter < MAX_PLAYER_ATTOBJECTS; ++iToyIter) {
  3790. for(new LoopRapist; LoopRapist < sizeof(HoldingObjectsCop); ++LoopRapist) {
  3791. if(HoldingObjectsCop[LoopRapist][holdingmodelid] == PlayerToyInfo[iTargetID][iToyIter][ptModelID]) {
  3792. PlayerToyInfo[iTargetID][iToyIter][ptModelID] = 0;
  3793. PlayerToyInfo[iTargetID][iToyIter][ptBone] = 0;
  3794. PlayerToyInfo[iTargetID][iToyIter][ptPosX] = 0.0;
  3795. PlayerToyInfo[iTargetID][iToyIter][ptPosY] = 0.0;
  3796. PlayerToyInfo[iTargetID][iToyIter][ptPosZ] = 0.0;
  3797. PlayerToyInfo[iTargetID][iToyIter][ptPosX] = 0.0;
  3798. PlayerToyInfo[iTargetID][iToyIter][ptPosY] = 0.0;
  3799. PlayerToyInfo[iTargetID][iToyIter][ptPosZ] = 0.0;
  3800. if(IsPlayerAttachedObjectSlotUsed(iTargetID, iToyIter)) RemovePlayerAttachedObject(iTargetID, iToyIter);
  3801. }
  3802. }
  3803. }
  3804. SendClientMessage(iTargetID, COLOR_WHITE, "All accessories/toys that were property of your former employer have been removed.");
  3805. return 1;
  3806. }
  3807. stock Float:GetDistance(Float: x1, Float: y1, Float: z1, Float: x2, Float: y2, Float: z2)
  3808. {
  3809. new Float:d;
  3810. d += floatpower(x1-x2, 2.0);
  3811. d += floatpower(y1-y2, 2.0);
  3812. d += floatpower(z1-z2, 2.0);
  3813. d = floatsqroot(d);
  3814. return d;
  3815. }
  3816. stock Float: GetDistanceToCar(playerid, veh) {
  3817. new
  3818. Float: fVehiclePos[3];
  3819. GetVehiclePos(veh, fVehiclePos[0], fVehiclePos[1], fVehiclePos[2]);
  3820. return GetPlayerDistanceFromPoint(playerid, fVehiclePos[0], fVehiclePos[1], fVehiclePos[2]);
  3821. }
  3822. stock GetClosestCar(iPlayer, iException = INVALID_VEHICLE_ID, Float: fRange = Float: 0x7F800000) {
  3823. new
  3824. iReturnID = -1,
  3825. Float: fVehiclePos[4];
  3826. for(new i = 1; i <= MAX_VEHICLES; ++i) if(GetVehicleModel(i) && i != iException) {
  3827. GetVehiclePos(i, fVehiclePos[0], fVehiclePos[1], fVehiclePos[2]);
  3828. if((fVehiclePos[3] = GetPlayerDistanceFromPoint(iPlayer, fVehiclePos[0], fVehiclePos[1], fVehiclePos[2])) < fRange) {
  3829. fRange = fVehiclePos[3];
  3830. iReturnID = i;
  3831. }
  3832. }
  3833. return iReturnID;
  3834. }
  3835. stock GetPlayerFactionInfo(targetid, rank[64], division[64], employer[64]) {
  3836. switch(PlayerInfo[targetid][pFaction]) { // employer/rank/division data is pulled from here
  3837. case 1: {
  3838. employer = "LSPD";
  3839. switch(PlayerInfo[targetid][pRank]) {
  3840. case 1: rank = "Officer";
  3841. case 2: rank = "Corporal";
  3842. case 3: rank = "Sergeant";
  3843. case 4: rank = "Lieutenant";
  3844. case 5: rank = "Captain";
  3845. case 6: rank = "Chief of Police";
  3846. default: rank = "Cadet";
  3847. }
  3848. switch(PlayerInfo[targetid][pDivision]) {
  3849. case 1: division = "None";
  3850. case 3: division = "FTO";
  3851. case 4: division = "S.W.A.T.";
  3852. case 5: division = "D.E.B.";
  3853. case 7: division = "TE";
  3854. default: division = "None";
  3855. }
  3856. }
  3857. case 2: {
  3858. employer = "FBI";
  3859. switch(PlayerInfo[targetid][pRank]) {
  3860. case 1: rank = "Agent";
  3861. case 2: rank = "Senior Agent";
  3862. case 3: rank = "Special Agent";
  3863. case 4: rank = "Supervisory Agent";
  3864. case 5: rank = "Assistant Director";
  3865. case 6: rank = "Director";
  3866. default: rank = "Intern";
  3867. }
  3868. switch(PlayerInfo[targetid][pDivision]) {
  3869. case 1: division = "None";
  3870. case 2: division = "GU";
  3871. case 3: division = "FAN";
  3872. case 4: division = "CID";
  3873. case 5: division = "IA";
  3874. case 6: division = "NSB";
  3875. default: division = "None";
  3876. }
  3877. }
  3878. case 3: {
  3879. employer = "LSFMD";
  3880. switch(PlayerInfo[targetid][pRank]) {
  3881. case 0: rank = "Probationary";
  3882. case 1: rank = "EMT Intermediate";
  3883. case 2: rank = "EMT Paramedic";
  3884. case 3: rank = "Lieutenant";
  3885. case 4: rank = "Captain";
  3886. case 5: rank = "Deputy Chief";
  3887. case 6: rank = "Chief";
  3888. default: rank = "Volunteer";
  3889. }
  3890. division = "None";
  3891. switch(PlayerInfo[targetid][pDivision]) {
  3892. case 1: division = "FD";
  3893. case 2: division = "IA";
  3894. case 3: division = "HR";
  3895. case 4: division = "LF";
  3896. default: division = "None";
  3897. }
  3898. }
  3899. case 4: {
  3900. employer = "Hitman Agency";
  3901. switch(PlayerInfo[targetid][pRank])
  3902. {
  3903. case 1: rank = "Freelancer";
  3904. case 2: rank = "Marksman";
  3905. case 3: rank = "Agent";
  3906. case 4: rank = "Special Agent";
  3907. case 5: rank = "Vice Director";
  3908. case 6: rank = "Director";
  3909. default: rank = "Freelancer";
  3910. }
  3911. division = "None";
  3912. }
  3913. case 5: {
  3914. employer = "Government";
  3915. switch(PlayerInfo[targetid][pRank]) {
  3916. case 1: {
  3917. if(PlayerInfo[targetid][pDivision] == 5)
  3918. rank = "Intern";
  3919. else
  3920. rank = "Employee";
  3921. }
  3922. case 2: {
  3923. if(PlayerInfo[targetid][pDivision] == 5)
  3924. rank = "Bodyguard";
  3925. else
  3926. rank = "Public Advocate";
  3927. }
  3928. case 3: {
  3929. if(PlayerInfo[targetid][pDivision] == 5)
  3930. rank = "Agent";
  3931. else
  3932. rank = "Secretary";
  3933. }
  3934. case 4: {
  3935. if(PlayerInfo[targetid][pDivision] == 5)
  3936. rank = "Special Agent";
  3937. else
  3938. rank = "Councilor";
  3939. }
  3940. case 5: {
  3941. if(PlayerInfo[targetid][pDivision] == 5)
  3942. rank = "Head of Security";
  3943. else
  3944. rank = "Vice Mayor";
  3945. }
  3946. case 6: rank = "Mayor";
  3947. default: rank = "Staff";
  3948. }
  3949. division = "None";
  3950. switch(PlayerInfo[targetid][pDivision]) {
  3951. case 1: division = "None";
  3952. case 2: division = "Executive";
  3953. case 3: division = "Judicial";
  3954. case 4: division = "Legislative";
  3955. case 5: division = "SS";
  3956. default: division = "None";
  3957. }
  3958. }
  3959. case 9: {
  3960. employer = "GMA";
  3961. switch(PlayerInfo[targetid][pRank]) {
  3962. case 1: rank = "Intern";
  3963. case 2: rank = "Local Journalist";
  3964. case 3: rank = "Local Reporter";
  3965. case 4: rank = "Network Anchor";
  3966. case 5: rank = "Asst. Network Producer";
  3967. case 6: rank = "Network Producer";
  3968. default: rank = "Intern";
  3969. }
  3970. division = "None";
  3971. switch(PlayerInfo[targetid][pDivision]) {
  3972. case 1: division = "Security";
  3973. default: division = "";
  3974. }
  3975. }
  3976. case 10: {
  3977. employer = "ARES";
  3978. switch(PlayerInfo[targetid][pRank]) {
  3979. case 1: rank = "Operative";
  3980. case 2: rank = "Specialist";
  3981. case 3: rank = "Staff Sergeant";
  3982. case 4: rank = "Major";
  3983. case 5: rank = "Vice-Commander";
  3984. case 6: rank = "Commander";
  3985. default: rank = "Recruit";
  3986. }
  3987. switch(PlayerInfo[targetid][pDivision]) {
  3988. case 1: division = "None";
  3989. case 3: division = "FTO";
  3990. case 4: division = "S.W.A.T.";
  3991. case 5: division = "D.E.B.";
  3992. case 7: division = "TE";
  3993. default: division = "None";
  3994. }
  3995. }
  3996. case 11: {
  3997. employer = "SASD";
  3998. switch(PlayerInfo[targetid][pRank]) {
  3999. case 1: rank = "Corporal";
  4000. case 2: rank = "Sergeant";
  4001. case 3: rank = "Lieutenant";
  4002. case 4: rank = "Captain";
  4003. case 5: rank = "Major";
  4004. case 6: rank = "Chief of Sasd";
  4005. default: rank = "Cadet";
  4006. }
  4007. switch(PlayerInfo[targetid][pDivision]) {
  4008. case 1: division = "None";
  4009. case 3: division = "FTO";
  4010. case 4: division = "S.W.A.T.";
  4011. case 5: division = "D.E.B.";
  4012. case 7: division = "TE";
  4013. default: division = "None";
  4014. }
  4015. }
  4016. default: { employer = "None"; division = "None"; rank = "None"; }
  4017. }
  4018. return 1;
  4019. }
  4020. stock IsARestricted(modelid) {
  4021. switch(modelid)
  4022. {
  4023. case 460,476,511,512,513,520,519,553,577,592,593,548,425,417,488,497,563,447,416,433,523,427,490,528,407,544,596,598,597,599,432,601,472,473
  4024. ,493,595,484,430,453,452,446,454,441,464,465,501,522,564,594,538,532,486,406,537,571,449,539,435,450,569,570,584,590,591,606,607,608,610,611,568
  4025. ,444,556,557,470,495,415,494,502,503,504,524:
  4026. return 1;
  4027. }
  4028. return 0;
  4029. }
  4030. stock IsASweeper(carid)
  4031. {
  4032. for(new v = 0; v < sizeof(SweeperVehicles); v++) {
  4033. if(carid == SweeperVehicles[v]) return true;
  4034. }
  4035. return false;
  4036. }
  4037. stock IsACopCar(carid)
  4038. {
  4039. for(new v = 0; v < sizeof(LSPDVehicles); v++) {
  4040. if(carid == LSPDVehicles[v]) return 1;
  4041. }
  4042. return 0;
  4043. }
  4044. stock IsAnARESCar(carid)
  4045. {
  4046. for(new v = 0; v < sizeof(ARESVehicles); v++) {
  4047. if(carid == ARESVehicles[v]) return 1;
  4048. }
  4049. return 0;
  4050. }
  4051. stock IsAFBICar(carid)
  4052. {
  4053. for(new v = 0; v < sizeof(FBIVehicles); v++) {
  4054. if(carid == FBIVehicles[v]) return 1;
  4055. }
  4056. return 0;
  4057. }
  4058. stock IsAnAmbulance(carid)
  4059. {
  4060. for(new v = 0; v < sizeof(LSFMDVehicles); v++) {
  4061. if(carid == LSFMDVehicles[v]) return 1;
  4062. }
  4063. return 0;
  4064. }
  4065. stock IGMAVeh(vehid) {
  4066. for(new v = 0; v < sizeof(SANVehicles); v++) {
  4067. if(vehid == SANVehicles[v]) return 1;
  4068. }
  4069. return 0;
  4070. }
  4071. stock IsAGovCar(carid)
  4072. {
  4073. for(new v = 0; v < sizeof(GovVehicles); v++) {
  4074. if(carid == GovVehicles[v]) return 1;
  4075. }
  4076. return 0;
  4077. }
  4078. IsACop(playerid)
  4079. {
  4080. if(IsPlayerConnected(playerid))
  4081. {
  4082. new leader = PlayerInfo[playerid][pLeader];
  4083. new member = PlayerInfo[playerid][pFaction];
  4084. if(member==1 || member==2 || member==10 || member==11)
  4085. {
  4086. return 1;
  4087. }
  4088. else if(leader==1 || leader==2 || leader==10 || leader==11)
  4089. {
  4090. return 1;
  4091. }
  4092. }
  4093. return 0;
  4094. }
  4095. stock IsInLSFMD(playerid)
  4096. {
  4097. if(IsPlayerConnected(playerid))
  4098. {
  4099. new leader = PlayerInfo[playerid][pLeader];
  4100. new member = PlayerInfo[playerid][pFaction];
  4101. if(member==3)
  4102. {
  4103. return 1;
  4104. }
  4105. else if(leader==3)
  4106. {
  4107. return 1;
  4108. }
  4109. }
  4110. return 0;
  4111. }
  4112. stock IsAtDeliverPatientPoint(playerid)
  4113. {
  4114. if(IsPlayerConnected(playerid))
  4115. {
  4116. if(IsPlayerInRangeOfPoint(playerid, 3.0,1142.4733,-1326.3633,13.6259) || IsPlayerInRangeOfPoint(playerid, 5.0, 1165.1564,-1368.8240,26.6502) || IsPlayerInRangeOfPoint(playerid, 3.0,2027.0599,-1410.6870,16.9922) || IsPlayerInRangeOfPoint(playerid, 5.0, 2024.5742,-1382.7844,48.3359))
  4117. {//ALLSAINTS, ALL SAINTS ROOF, COUNTY GENERAL, COUNTY ROOF
  4118. return 1;
  4119. }
  4120. }
  4121. return 0;
  4122. }
  4123. stock IsAtImpoundingPoint(playerid) {
  4124. return (IsPlayerInRangeOfPoint(playerid, 4.0,1602.002197, -1608.801879, 13.662560));
  4125. }
  4126. stock IsAtArrestPoint(playerid)
  4127. {
  4128. if(IsPlayerConnected(playerid))
  4129. {
  4130. if(IsPlayerInRangeOfPoint(playerid, 4.0, 1528.082397, -1677.978637, 5.890625))
  4131. {// LSPD
  4132. return 1;
  4133. }
  4134. else if(IsPlayerInRangeOfPoint(playerid, 4.0, 1564.830932, -1652.506469, 28.395606))
  4135. {// LSPD roof
  4136. return 1;
  4137. }
  4138. else if(IsPlayerInRangeOfPoint(playerid, 4.0, 304.796508, -1526.349731, 76.539062))
  4139. {// FBI roof
  4140. return 1;
  4141. }
  4142. else if(IsPlayerInRangeOfPoint(playerid, 4.0, 298.313842, -1536.036865, 24.593750))
  4143. {// FBI
  4144. return 1;
  4145. }
  4146. if(PlayerInfo[playerid][pVW] == 20002 || PlayerInfo[playerid][pVW] == 1324123)
  4147. {//LSPD int and FBI int
  4148. return 1;
  4149. }
  4150. }
  4151. return 0;
  4152. }
  4153. stock JoinPaintballGame(playerid, game) {
  4154. if(game == 0)
  4155. return 0;
  4156. switch(game) {
  4157. case 1: { // dm lv warehouse
  4158. SetPlayerPos(playerid, 1059.895996, 2081.685791, 10.820312);
  4159. SetPlayerInterior(playerid, 0); // just for clarity
  4160. SetPlayerVirtualWorld(playerid, 60);
  4161. SetPVarInt(playerid, "PBM", 1);
  4162. }
  4163. case 2: { // dm random warehouse
  4164. SetPlayerPos(playerid, 1283.287841, 5.694778, 1001.011779);
  4165. SetPlayerInterior(playerid, 18);
  4166. SetPlayerVirtualWorld(playerid, 61);
  4167. SetPVarInt(playerid, "PBM", 2);
  4168. }
  4169. case 3: { // dm rc battlefield
  4170. SetPlayerPos(playerid, -975.975708, 1060.983032, 1345.671875);
  4171. SetPlayerInterior(playerid, 10);
  4172. SetPlayerVirtualWorld(playerid, 62);
  4173. SetPVarInt(playerid, "PBM", 3);
  4174. }
  4175. case 4: { // tdm lv warehouse
  4176. SetPlayerInterior(playerid, 0);
  4177. SetPlayerVirtualWorld(playerid, 63);
  4178. SetPVarInt(playerid, "PBM", 4);
  4179. if(gaPaintballGameNextTeam[0] == 0) {
  4180. gaPaintballGameNextTeam[0] = 1;
  4181. SetPVarInt(playerid, "PBMT", 0);
  4182. SetPlayerPos(playerid, 1068.6324, 2082.7930, 10.8203);
  4183. SetPlayerFacingAngle(playerid, 359.9999);
  4184. SetPlayerColor(playerid, 0xFFFF0000);
  4185. } else {
  4186. gaPaintballGameNextTeam[0] = 0;
  4187. SetPVarInt(playerid, "PBMT", 1);
  4188. SetPlayerPos(playerid, 1069.3499, 2127.0828, 10.8203);
  4189. SetPlayerFacingAngle(playerid, 181.4610);
  4190. SetPlayerColor(playerid, 0x33CCFF00);
  4191. }
  4192. }
  4193. case 5: { // tdm random warehouse
  4194. SetPlayerInterior(playerid, 18);
  4195. SetPlayerVirtualWorld(playerid, 64);
  4196. SetPVarInt(playerid, "PBM", 5);
  4197. if(gaPaintballGameNextTeam[1] == 0) {
  4198. gaPaintballGameNextTeam[1] = 1;
  4199. SetPVarInt(playerid, "PBMT", 0);
  4200. SetPlayerPos(playerid, 1305.5143, 3.6555, 1001.0269);
  4201. SetPlayerFacingAngle(playerid, 0);
  4202. SetPlayerColor(playerid, 0xFFFF0000);
  4203. } else {
  4204. gaPaintballGameNextTeam[1] = 0;
  4205. SetPVarInt(playerid, "PBMT", 1);
  4206. SetPlayerPos(playerid, 1252.7601,-46.6263,1001.0282);
  4207. SetPlayerFacingAngle(playerid, 133.2679);
  4208. SetPlayerColor(playerid, 0x33CCFF00);
  4209. }
  4210. }
  4211. case 6: { // tdm rc battlefield
  4212. SetPlayerInterior(playerid, 10);
  4213. SetPlayerVirtualWorld(playerid, 65);
  4214. SetPVarInt(playerid, "PBM", 6);
  4215. if(gaPaintballGameNextTeam[2] == 0) {
  4216. gaPaintballGameNextTeam[2] = 1;
  4217. SetPVarInt(playerid, "PBMT", 0);
  4218. SetPlayerPos(playerid, -1128.8225, 1057.4939, 1346.4141);
  4219. SetPlayerFacingAngle(playerid, 260);
  4220. SetPlayerColor(playerid, 0xFFFF0000);
  4221. } else {
  4222. gaPaintballGameNextTeam[2] = 0;
  4223. SetPVarInt(playerid, "PBMT", 1);
  4224. SetPlayerPos(playerid, -976.2924, 1061.0496, 1345.6719);
  4225. SetPlayerFacingAngle(playerid, 90);
  4226. SetPlayerColor(playerid, 0x33CCFF00);
  4227. }
  4228. }
  4229. case 7: { // Dm Death Arena
  4230. SetPlayerPos(playerid, 2020.721557,-2504.503906,1022.186950);
  4231. SetPlayerInterior(playerid, 1); // just for clarity
  4232. SetPlayerVirtualWorld(playerid, 0);
  4233. SetPVarInt(playerid, "PBM", 7);
  4234. }
  4235. case 8: { // tdm
  4236. SetPlayerInterior(playerid, 1);
  4237. SetPlayerVirtualWorld(playerid, 0);
  4238. SetPVarInt(playerid, "PBM", 8);
  4239. if(gaPaintballGameNextTeam[3] == 0) {
  4240. gaPaintballGameNextTeam[3] = 1;
  4241. SetPVarInt(playerid, "PBMT", 0);
  4242. SetPlayerPos(playerid, 1750.824462,-1896.36669,1060.747314);
  4243. SetPlayerFacingAngle(playerid, 260);
  4244. SetPlayerColor(playerid, 0xFFFF0000);
  4245. } else {
  4246. gaPaintballGameNextTeam[3] = 0;
  4247. SetPVarInt(playerid, "PBMT", 1);
  4248. SetPlayerPos(playerid, 1718.805175,-1839.844238,1060.749633);
  4249. SetPlayerFacingAngle(playerid, 90);
  4250. SetPlayerColor(playerid, 0x33CCFF00);
  4251. }
  4252. }
  4253. case 9: { // Dm Glass arena
  4254. SetPlayerPos(playerid, 667.301635, 1617.449218, 57.244319);
  4255. SetPlayerInterior(playerid, 1); // just for clarity
  4256. SetPlayerVirtualWorld(playerid, 1);
  4257. SetPVarInt(playerid, "PBM", 9);
  4258. }
  4259. }
  4260. new
  4261. szMessage[64],
  4262. iCount;
  4263. format(szMessage, sizeof(szMessage), "%s has joined the paintball game.", GetPlayerNameEx(playerid));
  4264. foreach(Player, i) {
  4265. if(GetPVarInt(i, "PBM") == game && GetPVarInt(i, "PBM") > 0) {
  4266. SendClientMessage(i, COLOR_RED, szMessage);
  4267. iCount++;
  4268. }
  4269. }
  4270. ResetPlayerWeapons(playerid);
  4271. if(gaPaintballGameTimer[game] <= 0 && iCount > 0 && gaPaintballGameTimeRemaining[game] > 0) {
  4272. GivePlayerValidAdminWeapon(playerid, 24, 99999);
  4273. GivePlayerValidAdminWeapon(playerid, 27, 99999);
  4274. GivePlayerValidAdminWeapon(playerid, 29, 99999);
  4275. GivePlayerValidAdminWeapon(playerid, 31, 99999);
  4276. GivePlayerValidAdminWeapon(playerid, 34, 99999);
  4277. TogglePlayerControllable(playerid, true);
  4278. SendClientMessage(playerid, COLOR_RED, "You've joined after the game has started. You might not win this one!");
  4279. } else {
  4280. if(iCount == 0) {
  4281. SendClientMessage(playerid, COLOR_GREY, "You're the only player in the game right now. You can't play until another player enters.");
  4282. SetPVarInt(playerid, "IsFrozen", 1);
  4283. TogglePlayerControllable(playerid, false);
  4284. } else {
  4285. SendClientMessage(playerid, COLOR_GREY, "The game hasn't started yet, you'll be frozen until it starts.");
  4286. SetPVarInt(playerid, "IsFrozen", 1);
  4287. TogglePlayerControllable(playerid, false);
  4288. if(gaPaintballTimerHandles[game] == 0) {
  4289. gaPaintballGameTimer[game] = 5;
  4290. gaPaintballTimerHandles[game] = SetTimerEx("PaintballTimer", 1000, true, "d", game);
  4291. }
  4292. }
  4293. }
  4294. SendClientMessage(playerid, COLOR_GREY, "If for whatever reason you want to quit during the game, please type /exitpaintball.");
  4295. return 1;
  4296. }
  4297. forward PaintballTimer(game);
  4298. public PaintballTimer(game) {
  4299. gaPaintballGameTimer[game]--;
  4300. if(gaPaintballGameTimer[game] <= 0) {
  4301. foreach(Player, i) {
  4302. if(GetPVarInt(i, "PBM") == game) {
  4303. GameTextForPlayer(i, "Game begins...~n~~g~NOW!", 2000, 3);
  4304. DeletePVar(i, "IsFrozen");
  4305. TogglePlayerControllable(i, true);
  4306. SendClientMessage(i, COLOR_RED, "GO!");
  4307. GivePlayerValidAdminWeapon(i, 24, 99999);
  4308. GivePlayerValidAdminWeapon(i, 27, 99999);
  4309. GivePlayerValidAdminWeapon(i, 29, 99999);
  4310. GivePlayerValidAdminWeapon(i, 31, 99999);
  4311. GivePlayerValidAdminWeapon(i, 34, 99999);
  4312. }
  4313. }
  4314. gaPaintballGameTimeRemaining[game] = 5 * 60;
  4315. KillTimer(gaPaintballTimerHandles[game]);
  4316. gaPaintballTimerHandles[game] = 0;
  4317. } else {
  4318. new
  4319. szMessage[32];
  4320. format(szMessage, sizeof(szMessage), "Game begins in...~n~~r~%d", gaPaintballGameTimer[game]);
  4321. foreach(Player, i) {
  4322. if(GetPVarInt(i, "PBM") == game)
  4323. GameTextForPlayer(i, szMessage, 1000, 3);
  4324. }
  4325. }
  4326. return 1;
  4327. }
  4328. stock IsMDCPermitted(playerid)
  4329. {
  4330. if( PlayerInfo[playerid][pFaction] == 1|| PlayerInfo[playerid][pLeader] == 1 ||
  4331. PlayerInfo[playerid][pFaction] == 2 || PlayerInfo[playerid][pLeader] == 2||
  4332. PlayerInfo[playerid][pFaction] == 5 || PlayerInfo[playerid][pLeader] == 5||
  4333. PlayerInfo[playerid][pFaction] == 3 || PlayerInfo[playerid][pLeader] == 3||
  4334. PlayerInfo[playerid][pFaction] == 10 || PlayerInfo[playerid][pLeader] == 10||
  4335. PlayerInfo[playerid][pLeader] == 11 || PlayerInfo[playerid][pLeader] == 11)
  4336. {
  4337. return 1;
  4338. }
  4339. return 0;
  4340. }
  4341. stock IsATowTruck(carid)
  4342. {
  4343. if(GetVehicleModel(carid) == 485 || GetVehicleModel(carid) == 525 || GetVehicleModel(carid) == 583 || GetVehicleModel(carid) == 574) {
  4344. return 1;
  4345. }
  4346. return 0;
  4347. }
  4348. stock IsABike(carid) {
  4349. switch(GetVehicleModel(carid)) {
  4350. case 509, 481, 510, 462, 448, 581, 522, 461, 521, 523, 463, 586, 468, 471: return 1;
  4351. }
  4352. return 0;
  4353. }
  4354. /*stock HighScores(array[][rankingEnum], left, right) {
  4355. new
  4356. tempLeft = left,
  4357. tempRight = right,
  4358. pivot = array[(left + right) / 2][iKills],
  4359. tempVar
  4360. ;
  4361. while(tempLeft <= tempRight)
  4362. {
  4363. while(array[tempLeft][iKills] > pivot) tempLeft++;
  4364. while(array[tempRight][iKills] < pivot) tempRight--;
  4365. if(tempLeft <= tempRight)
  4366. {
  4367. tempVar = array[tempLeft][iKills], array[tempLeft][iKills] = array[tempRight][iKills], array[tempRight][iKills] = tempVar;
  4368. tempVar = array[tempLeft][iPlayerID], array[tempLeft][iPlayerID] = array[tempRight][iPlayerID], array[tempRight][iPlayerID] = tempVar;
  4369. tempLeft++, tempRight--;
  4370. }
  4371. }
  4372. if(left < tempRight) HighScores(array, left, tempRight);
  4373. if(tempLeft < right) HighScores(array, tempLeft, right);
  4374. }*/
  4375. stock QSort(numbers[], left, right)
  4376. {
  4377. new
  4378. pivot = numbers[left],
  4379. l_hold = left,
  4380. r_hold = right;
  4381. while (left < right)
  4382. {
  4383. while ((numbers[right] >= pivot) && (left < right)) right--;
  4384. if (left != right)
  4385. {
  4386. numbers[left] = numbers[right];
  4387. left++;
  4388. }
  4389. while ((numbers[left] <= pivot) && (left < right)) left++;
  4390. if (left != right)
  4391. {
  4392. numbers[right] = numbers[left];
  4393. right--;
  4394. }
  4395. }
  4396. numbers[left] = pivot;
  4397. pivot = left;
  4398. left = l_hold;
  4399. right = r_hold;
  4400. if (left < pivot) QSort(numbers, left, pivot - 1);
  4401. if (right > pivot) QSort(numbers, pivot + 1, right);
  4402. }
  4403. stock IsARC(carid)
  4404. {
  4405. switch(GetVehicleModel(carid)) {
  4406. case 441, 464, 465, 501, 564: return 1;
  4407. }
  4408. return 0;
  4409. }
  4410. stock IsABoat(carid) {
  4411. switch(GetVehicleModel(carid)) {
  4412. case 472, 473, 493, 484, 430, 454, 453, 452, 446: return 1;
  4413. }
  4414. return 0;
  4415. }
  4416. stock IsAPlane(carid)
  4417. {
  4418. switch(GetVehicleModel(carid)) {
  4419. case 592, 577, 511, 512, 593, 520, 553, 476, 519, 460, 513, 548, 425, 417, 487, 488, 497, 563, 447, 469: return 1;
  4420. }
  4421. return 0;
  4422. }
  4423. stock IsAnBus(carid)
  4424. {
  4425. if(GetVehicleModel(carid) == 431 || GetVehicleModel(carid) == 437) {
  4426. return 1;
  4427. }
  4428. return 0;
  4429. }
  4430. stock IsAnTaxi(carid)
  4431. {
  4432. if(GetVehicleModel(carid) == 420 || GetVehicleModel(carid) == 438) {
  4433. return 1;
  4434. }
  4435. return 0;
  4436. }
  4437. stock IsAPizzaCar(carid)
  4438. {
  4439. if(GetVehicleModel(carid) == 448) {
  4440. return 1;
  4441. }
  4442. return 0;
  4443. }
  4444. stock IsAGarbageCar(carid)
  4445. {
  4446. if(GetVehicleModel(carid) == 408) {
  4447. return 1;
  4448. }
  4449. return 0;
  4450. }
  4451. stock IsATruckerCar(carid)
  4452. {
  4453. for(new v = 0; v < sizeof(TruckerVehicles); v++) {
  4454. if(carid == TruckerVehicles[v]) return 1;
  4455. }
  4456. return 0;
  4457. }
  4458. stock factionName(id)
  4459. {
  4460. new name[32];
  4461. switch(id)
  4462. {
  4463. case 1: name = "LSPD";
  4464. case 2: name = "FBI";
  4465. case 3: name = "LSFMD";
  4466. case 4: name = "Hitman Agency";
  4467. case 5: name = "Government";
  4468. case 9: name = "SA News";
  4469. }
  4470. return name;
  4471. }
  4472. stock Float:GetPizzaDistance(houseid)
  4473. {
  4474. new Float: pizzaDistance;
  4475. pizzaDistance = GetDistance(2104.1999511719, -1787.5999755859, 13.60000038147, HouseInfo[houseid][hExteriorX], HouseInfo[houseid][hExteriorY], HouseInfo[houseid][hExteriorZ]);
  4476. return pizzaDistance;
  4477. }
  4478. stock Float:IsABoomboxNearby(Float:posX, Float:posY, Float:posZ, playerid)
  4479. {
  4480. new Float: boomboxDistance;
  4481. boomboxDistance = GetDistance(posX, posY, posZ, BoomboxInfo[playerid][bbPosX], BoomboxInfo[playerid][bbPosY], BoomboxInfo[playerid][bbPosZ]);
  4482. return boomboxDistance;
  4483. }
  4484. stock LoadPoints()
  4485. {
  4486. new arrCoords[9][64];
  4487. new strFromFile2[256];
  4488. new File: file = fopen("points.cfg", io_read);
  4489. if(file)
  4490. {
  4491. new idx;
  4492. while (idx < sizeof(Points))
  4493. {
  4494. fread(file, strFromFile2);
  4495. splits(strFromFile2, arrCoords, '|');
  4496. Points[idx][Pointx] = floatstr(arrCoords[0]);
  4497. Points[idx][Pointy] = floatstr(arrCoords[1]);
  4498. Points[idx][Pointz] = floatstr(arrCoords[2]);
  4499. Points[idx][Type] = strval(arrCoords[3]);
  4500. Points[idx][Vulnerable] = strval(arrCoords[4]);
  4501. strmid(Points[idx][Owner], arrCoords[5], 0, strlen(arrCoords[5]), 255);
  4502. strmid(Points[idx][CapperName], arrCoords[6], 0, strlen(arrCoords[6]), 255);
  4503. strmid(Points[idx][Name], arrCoords[7], 0, strlen(arrCoords[7]), 255);
  4504. Points[idx][MatPoint] = strval(arrCoords[8]);
  4505. //printf("%s Type:%d Owner:%s",Points[idx][Name],Points[idx][Type],Points[idx][Owner]);
  4506. Points[idx][CaptureTimerEx2] = -1;
  4507. Points[idx][ClaimerId] = INVALID_PLAYER_ID;
  4508. Points[idx][PointPickupID] = CreatePickup(1239, 23, Points[idx][Pointx], Points[idx][Pointy], Points[idx][Pointz], -1);
  4509. idx++;
  4510. }
  4511. fclose(file);
  4512. }
  4513. return 1;
  4514. }
  4515. stock UpdatePoints()
  4516. {
  4517. new idx;
  4518. new File: file2;
  4519. while (idx < sizeof(Points))
  4520. {
  4521. new coordsstring[256];
  4522. format(coordsstring, sizeof(coordsstring), "%f|%f|%f|%d|%d|%s|%s|%s|%d\n",
  4523. Points[idx][Pointx],
  4524. Points[idx][Pointy],
  4525. Points[idx][Pointz],
  4526. Points[idx][Type],
  4527. Points[idx][Vulnerable],
  4528. Points[idx][Owner],
  4529. Points[idx][CapperName],
  4530. Points[idx][Name],
  4531. Points[idx][MatPoint]);
  4532. if(idx == 0)
  4533. {
  4534. file2 = fopen("points.cfg", io_write);
  4535. }
  4536. else
  4537. {
  4538. file2 = fopen("points.cfg", io_append);
  4539. }
  4540. fwrite(file2, coordsstring);
  4541. idx++;
  4542. fclose(file2);
  4543. }
  4544. return 1;
  4545. }
  4546. stock ClearFamily(family)
  4547. {
  4548. foreach(Player, i) {
  4549. if(PlayerInfo[i][pGang] == family) {
  4550. SendClientMessage(i, COLOR_LIGHTBLUE, "* The gang you're in has just been deleted by an Administrator, you have been kicked out automatically.");
  4551. PlayerInfo[i][pGang] = 255;
  4552. PlayerInfo[i][pRank] = 0;
  4553. PlayerInfo[i][pCrew1] = 255; PlayerInfo[i][pCrew2] = 255; PlayerInfo[i][pCrew3] = 255;
  4554. }
  4555. }
  4556. new string[MAX_PLAYER_NAME];
  4557. format(string, sizeof(string), "None");
  4558. FamilyInfo[family][FamilyTaken] = 0;
  4559. strmid(FamilyInfo[family][FamilyName], string, 0, strlen(string), 255);
  4560. strmid(FamilyInfo[family][FamilyMOTD], string, 0, strlen(string), 255);
  4561. strmid(FamilyInfo[family][FamilyLeader], string, 0, strlen(string), 255);
  4562. format(string, sizeof(string), "Outsider");
  4563. strmid(FamilyInfo[family][FamilyRank1], string, 0, strlen(string), 255);
  4564. format(string, sizeof(string), "Associate");
  4565. strmid(FamilyInfo[family][FamilyRank2], string, 0, strlen(string), 255);
  4566. format(string, sizeof(string), "Soldier");
  4567. strmid(FamilyInfo[family][FamilyRank3], string, 0, strlen(string), 255);
  4568. format(string, sizeof(string), "Capo");
  4569. strmid(FamilyInfo[family][FamilyRank4], string, 0, strlen(string), 255);
  4570. format(string, sizeof(string), "Underboss");
  4571. strmid(FamilyInfo[family][FamilyRank5], string, 0, strlen(string), 255);
  4572. format(string, sizeof(string), "Godfather");
  4573. strmid(FamilyInfo[family][FamilyRank6], string, 0, strlen(string), 255);
  4574. FamilyInfo[family][FamilyColor] = 0;
  4575. FamilyInfo[family][FamilyTurfTokens] = 24;
  4576. FamilyInfo[family][FamilyMembers] = 0;
  4577. FamilyInfo[family][FamilySpawn][0] = 0.0;
  4578. FamilyInfo[family][FamilySpawn][1] = 0.0;
  4579. FamilyInfo[family][FamilySpawn][2] = 0.0;
  4580. FamilyInfo[family][FamilySpawn][3] = 0.0;
  4581. FamilyInfo[family][FamilyGuns][0] = 0;
  4582. FamilyInfo[family][FamilyGuns][2] = 0;
  4583. FamilyInfo[family][FamilyGuns][3] = 0;
  4584. FamilyInfo[family][FamilyGuns][4] = 0;
  4585. FamilyInfo[family][FamilyGuns][5] = 0;
  4586. FamilyInfo[family][FamilyGuns][6] = 0;
  4587. FamilyInfo[family][FamilyGuns][7] = 0;
  4588. FamilyInfo[family][FamilyGuns][8] = 0;
  4589. FamilyInfo[family][FamilyGuns][9] = 0;
  4590. FamilyInfo[family][FamilyCash] = 0;
  4591. FamilyInfo[family][FamilyMats] = 0;
  4592. FamilyInfo[family][FamilyPot] = 0;
  4593. FamilyInfo[family][FamilyCrack] = 0;
  4594. FamilyInfo[family][FamilySafe][0] = 0.0;
  4595. FamilyInfo[family][FamilySafe][1] = 0.0;
  4596. FamilyInfo[family][FamilySafe][2] = 0.0;
  4597. FamilyInfo[family][FamilyUSafe] = 0;
  4598. //if(IsValidDynamicPickup(FamilyInfo[family][FamilyEntrancePickup])) DestroyPickup(FamilyInfo[family][FamilyEntrancePickup]);
  4599. //if(IsValidDynamicPickup(FamilyInfo[family][FamilyExitPickup])) DestroyPickup(FamilyInfo[family][FamilyExitPickup]);
  4600. DestroyPickup(FamilyInfo[family][FamilyEntrancePickup]);
  4601. DestroyPickup(FamilyInfo[family][FamilyExitPickup]);
  4602. DestroyDynamic3DTextLabel(Text3D:FamilyInfo[family][FamilyEntranceText]);
  4603. DestroyDynamic3DTextLabel(Text3D:FamilyInfo[family][FamilyExitText]);
  4604. DestroyPickup(FamilyInfo[family][FamilyPickup]);
  4605. FamilyInfo[family][FamilyBandana] = 0;
  4606. SaveFamilies();
  4607. return 1;
  4608. }
  4609. stock ClearCrime(playerid)
  4610. {
  4611. if(IsPlayerConnected(playerid)) {
  4612. new string[MAX_PLAYER_NAME];
  4613. format(string, sizeof(string), "********");
  4614. strmid(PlayerCrime[playerid][pBplayer], string, 0, strlen(string), 255);
  4615. strmid(PlayerCrime[playerid][pVictim], string, 0, strlen(string), 255);
  4616. strmid(PlayerCrime[playerid][pAccusing], string, 0, strlen(string), 255);
  4617. strmid(PlayerCrime[playerid][pAccusedof], string, 0, strlen(string), 255);
  4618. }
  4619. return 1;
  4620. }
  4621. stock LoadFamilies() {
  4622. if(!fexist("families.cfg")) return 1;
  4623. new
  4624. szFileStr[512],
  4625. iIndex,
  4626. File: iFileHandle = fopen("families.cfg", io_read);
  4627. while (iIndex < sizeof(FamilyInfo) && fread(iFileHandle, szFileStr)) {
  4628. sscanf(szFileStr, "p<|>is[42]s[65]s[24]iiifffiiis[20]s[20]s[20]s[20]s[20]s[20]iiiiiiiiiiiiiiiiiiiiiix",
  4629. FamilyInfo[iIndex][FamilyTaken],
  4630. FamilyInfo[iIndex][FamilyName],
  4631. FamilyInfo[iIndex][FamilyMOTD],
  4632. FamilyInfo[iIndex][FamilyLeader],
  4633. FamilyInfo[iIndex][FamilyBank],
  4634. FamilyInfo[iIndex][FamilyCash],
  4635. FamilyInfo[iIndex][FamilyUSafe],
  4636. FamilyInfo[iIndex][FamilySafe][0],
  4637. FamilyInfo[iIndex][FamilySafe][1],
  4638. FamilyInfo[iIndex][FamilySafe][2],
  4639. FamilyInfo[iIndex][FamilyPot],
  4640. FamilyInfo[iIndex][FamilyCrack],
  4641. FamilyInfo[iIndex][FamilyMats],
  4642. FamilyInfo[iIndex][FamilyRank1],
  4643. FamilyInfo[iIndex][FamilyRank2],
  4644. FamilyInfo[iIndex][FamilyRank3],
  4645. FamilyInfo[iIndex][FamilyRank4],
  4646. FamilyInfo[iIndex][FamilyRank5],
  4647. FamilyInfo[iIndex][FamilyRank6],
  4648. FamilyInfo[iIndex][FamilyMembers],
  4649. FamilyInfo[iIndex][FamilyMaxSkins],
  4650. FamilyInfo[iIndex][FamilySkins][0],
  4651. FamilyInfo[iIndex][FamilySkins][1],
  4652. FamilyInfo[iIndex][FamilySkins][2],
  4653. FamilyInfo[iIndex][FamilySkins][3],
  4654. FamilyInfo[iIndex][FamilySkins][4],
  4655. FamilyInfo[iIndex][FamilySkins][5],
  4656. FamilyInfo[iIndex][FamilySkins][6],
  4657. FamilyInfo[iIndex][FamilySkins][7],
  4658. FamilyInfo[iIndex][FamilyColor],
  4659. FamilyInfo[iIndex][FamilyTurfTokens],
  4660. FamilyInfo[iIndex][FamilyGuns][0],
  4661. FamilyInfo[iIndex][FamilyGuns][1],
  4662. FamilyInfo[iIndex][FamilyGuns][2],
  4663. FamilyInfo[iIndex][FamilyGuns][3],
  4664. FamilyInfo[iIndex][FamilyGuns][4],
  4665. FamilyInfo[iIndex][FamilyGuns][5],
  4666. FamilyInfo[iIndex][FamilyGuns][6],
  4667. FamilyInfo[iIndex][FamilyGuns][7],
  4668. FamilyInfo[iIndex][FamilyGuns][8],
  4669. FamilyInfo[iIndex][FamilyGuns][9],
  4670. FamilyInfo[iIndex][FamilyCrew1],
  4671. FamilyInfo[iIndex][FamilyCrew2],
  4672. FamilyInfo[iIndex][FamilyCrew3],
  4673. FamilyInfo[iIndex][FamilyCrewname1],
  4674. FamilyInfo[iIndex][FamilyCrewname2],
  4675. FamilyInfo[iIndex][FamilyCrewname3],
  4676. FamilyInfo[iIndex][FamilyBandana]
  4677. );
  4678. ++iIndex;
  4679. }
  4680. return fclose(iFileHandle);
  4681. }
  4682. stock SaveFamilies()
  4683. {
  4684. new idx;
  4685. new File: file2;
  4686. while (idx < sizeof(FamilyInfo))
  4687. {
  4688. new coordsstring[512];
  4689. format(coordsstring, sizeof(coordsstring), "%d|%s|%s|%s|%d|%d|%d|%f|%f|%f|%d|%d|%d|%s|%s|%s|%s|%s|%s|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%x\n",
  4690. FamilyInfo[idx][FamilyTaken],
  4691. FamilyInfo[idx][FamilyName],
  4692. FamilyInfo[idx][FamilyMOTD],
  4693. FamilyInfo[idx][FamilyLeader],
  4694. FamilyInfo[idx][FamilyBank],
  4695. FamilyInfo[idx][FamilyCash],
  4696. FamilyInfo[idx][FamilyUSafe],
  4697. FamilyInfo[idx][FamilySafe][0],
  4698. FamilyInfo[idx][FamilySafe][1],
  4699. FamilyInfo[idx][FamilySafe][2],
  4700. FamilyInfo[idx][FamilyPot],
  4701. FamilyInfo[idx][FamilyCrack],
  4702. FamilyInfo[idx][FamilyMats],
  4703. FamilyInfo[idx][FamilyRank1],
  4704. FamilyInfo[idx][FamilyRank2],
  4705. FamilyInfo[idx][FamilyRank3],
  4706. FamilyInfo[idx][FamilyRank4],
  4707. FamilyInfo[idx][FamilyRank5],
  4708. FamilyInfo[idx][FamilyRank6],
  4709. FamilyInfo[idx][FamilyMembers],
  4710. FamilyInfo[idx][FamilyMaxSkins],
  4711. FamilyInfo[idx][FamilySkins][0],
  4712. FamilyInfo[idx][FamilySkins][1],
  4713. FamilyInfo[idx][FamilySkins][2],
  4714. FamilyInfo[idx][FamilySkins][3],
  4715. FamilyInfo[idx][FamilySkins][4],
  4716. FamilyInfo[idx][FamilySkins][5],
  4717. FamilyInfo[idx][FamilySkins][6],
  4718. FamilyInfo[idx][FamilySkins][7],
  4719. FamilyInfo[idx][FamilyColor],
  4720. FamilyInfo[idx][FamilyTurfTokens],
  4721. FamilyInfo[idx][FamilyGuns][0],
  4722. FamilyInfo[idx][FamilyGuns][1],
  4723. FamilyInfo[idx][FamilyGuns][2],
  4724. FamilyInfo[idx][FamilyGuns][3],
  4725. FamilyInfo[idx][FamilyGuns][4],
  4726. FamilyInfo[idx][FamilyGuns][5],
  4727. FamilyInfo[idx][FamilyGuns][6],
  4728. FamilyInfo[idx][FamilyGuns][7],
  4729. FamilyInfo[idx][FamilyGuns][8],
  4730. FamilyInfo[idx][FamilyGuns][9],
  4731. FamilyInfo[idx][FamilyCrew1],
  4732. FamilyInfo[idx][FamilyCrew2],
  4733. FamilyInfo[idx][FamilyCrew3],
  4734. FamilyInfo[idx][FamilyCrewname1],
  4735. FamilyInfo[idx][FamilyCrewname2],
  4736. FamilyInfo[idx][FamilyCrewname3],
  4737. FamilyInfo[idx][FamilyBandana]);
  4738. if(idx == 0)
  4739. {
  4740. file2 = fopen("families.cfg", io_write);
  4741. }
  4742. else
  4743. {
  4744. file2 = fopen("families.cfg", io_append);
  4745. }
  4746. fwrite(file2, coordsstring);
  4747. idx++;
  4748. fclose(file2);
  4749. }
  4750. return 1;
  4751. }
  4752. stock LoadFamiliesHQ()
  4753. {
  4754. new string2[64];
  4755. format(string2, sizeof(string2), "familieshq.ini");
  4756. new File: GangFile = fopen(string2, io_read);
  4757. //printf("[DEBUG] LoadFamiliesHQ: string2 (%s)", string2);
  4758. if(GangFile)
  4759. {
  4760. //print("[DEBUG] LoadFamiliesHQ: GangFile exists, the handle parsed.");
  4761. new key[ 256 ] , val[ 256 ];
  4762. new Data[ 256 ];
  4763. //print("[DEBUG] Starting while (fread(GangFile , Data , sizeof(Data)))");
  4764. while (fread(GangFile , Data , sizeof(Data)))
  4765. {
  4766. new string[128];
  4767. for(new f = 0; f < MAX_FAMILY; f++)
  4768. {
  4769. key = ini_GetKey(Data);
  4770. format(string, 128, "Family%dEntranceX",f);
  4771. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); FamilyInfo[f][FamilyEntrance][0] = floatstr(val); }
  4772. format(string, 128, "Family%dEntranceY",f);
  4773. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); FamilyInfo[f][FamilyEntrance][1] = floatstr(val); }
  4774. format(string, 128, "Family%dEntranceZ",f);
  4775. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); FamilyInfo[f][FamilyEntrance][2] = floatstr(val); }
  4776. format(string, 128, "Family%dEntranceA",f);
  4777. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); FamilyInfo[f][FamilyEntrance][3] = floatstr(val); }
  4778. format(string, 128, "Family%dExitX",f);
  4779. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); FamilyInfo[f][FamilyExit][0] = floatstr(val); }
  4780. format(string, 128, "Family%dExitY",f);
  4781. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); FamilyInfo[f][FamilyExit][1] = floatstr(val); }
  4782. format(string, 128, "Family%dExitZ",f);
  4783. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); FamilyInfo[f][FamilyExit][2] = floatstr(val); }
  4784. format(string, 128, "Family%dExitA",f);
  4785. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); FamilyInfo[f][FamilyExit][3] = floatstr(val); }
  4786. format(string, 128, "Family%dInterior",f);
  4787. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); FamilyInfo[f][FamilyInterior] = strval(val); }
  4788. format(string, 128, "Family%dCustomMap",f);
  4789. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); FamilyInfo[f][FamilyCustomMap] = strval(val); }
  4790. format(string, 128, "Family%dVirtualWorld",f);
  4791. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); FamilyInfo[f][FamilyVirtualWorld] = strval(val); }
  4792. for(new fv = 0; fv < MAX_GANG_VEHICLES; fv++)
  4793. {
  4794. format(string, 128, "Family%dVeh%dModelId",f, fv);
  4795. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); FamilyVehicleInfo[f][fv][fvModelId] = strval(val); }
  4796. format(string, 128, "Family%dVeh%dSpawnx",f, fv);
  4797. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); FamilyVehicleInfo[f][fv][fvSpawnx] = floatstr(val); }
  4798. format(string, 128, "Family%dVeh%dSpawny",f, fv);
  4799. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); FamilyVehicleInfo[f][fv][fvSpawny] = floatstr(val); }
  4800. format(string, 128, "Family%dVeh%dSpawnz",f, fv);
  4801. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); FamilyVehicleInfo[f][fv][fvSpawnz] = floatstr(val); }
  4802. format(string, 128, "Family%dVeh%dSpawna",f, fv);
  4803. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); FamilyVehicleInfo[f][fv][fvSpawna] = floatstr(val); }
  4804. format(string, 128, "Family%dVeh%dLock",f, fv);
  4805. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); FamilyVehicleInfo[f][fv][fvLock] = strval(val); }
  4806. format(string, 128, "Family%dVeh%dLocked",f, fv);
  4807. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); FamilyVehicleInfo[f][fv][fvLocked] = strval(val); }
  4808. format(string, 128, "Family%dVeh%dPaintJob",f, fv);
  4809. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); FamilyVehicleInfo[f][fv][fvPaintJob] = strval(val); }
  4810. format(string, 128, "Family%dVeh%dColor1",f, fv);
  4811. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); FamilyVehicleInfo[f][fv][fvColor1] = strval(val); }
  4812. format(string, 128, "Family%dVeh%dColor2",f, fv);
  4813. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); FamilyVehicleInfo[f][fv][fvColor2] = strval(val); }
  4814. format(string, 128, "Family%dVeh%dFuel",f, fv);
  4815. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); FamilyVehicleInfo[f][fv][fvFuel] = floatstr(val); }
  4816. }
  4817. //printf("Family %d loaded [DEBUG] FamilyEntranceX: %.1f FamilyEntranceY: %.1f FamilyEntranceZ: %.1f", f, FamilyInfo[f][FamilyEntrance][0], FamilyInfo[f][FamilyEntrance][1], FamilyInfo[f][FamilyEntrance][2]);
  4818. }
  4819. }
  4820. fclose(GangFile);
  4821. }
  4822. return 1;
  4823. }
  4824. stock IsVehicleOccupied(vehicleid) {
  4825. foreach(Player,i) {
  4826. if(GetPlayerVehicleID(i) == vehicleid && IsPlayerInAnyVehicle(i))
  4827. return 1;
  4828. }
  4829. return INVALID_VEHICLE_ID;
  4830. }
  4831. stock SaveFamiliesHQ()
  4832. {
  4833. new string3[32];
  4834. //GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
  4835. format(string3, sizeof(string3), "familieshq.ini");
  4836. new File: hFile = fopen(string3, io_write);
  4837. if(hFile)
  4838. {
  4839. new var[32];
  4840. for(new f = 0; f < MAX_FAMILY; f++)
  4841. {
  4842. format(var, 32, "Family%dEntranceX=%.1f\n",f, FamilyInfo[f][FamilyEntrance][0]); fwrite(hFile, var);
  4843. format(var, 32, "Family%dEntranceY=%.1f\n",f, FamilyInfo[f][FamilyEntrance][1]); fwrite(hFile, var);
  4844. format(var, 32, "Family%dEntranceZ=%.1f\n",f, FamilyInfo[f][FamilyEntrance][2]); fwrite(hFile, var);
  4845. format(var, 32, "Family%dEntranceA=%.1f\n",f, FamilyInfo[f][FamilyEntrance][3]); fwrite(hFile, var);
  4846. format(var, 32, "Family%dExitX=%.1f\n",f, FamilyInfo[f][FamilyExit][0]); fwrite(hFile, var);
  4847. format(var, 32, "Family%dExitY=%.1f\n",f, FamilyInfo[f][FamilyExit][1]); fwrite(hFile, var);
  4848. format(var, 32, "Family%dExitZ=%.1f\n",f, FamilyInfo[f][FamilyExit][2]); fwrite(hFile, var);
  4849. format(var, 32, "Family%dExitA=%.1f\n",f, FamilyInfo[f][FamilyExit][3]); fwrite(hFile, var);
  4850. format(var, 32, "Family%dInterior=%d\n",f, FamilyInfo[f][FamilyInterior]); fwrite(hFile, var);
  4851. format(var, 32, "Family%dCustomMap=%d\n",f, FamilyInfo[f][FamilyCustomMap]); fwrite(hFile, var);
  4852. format(var, 32, "Family%dVirtualWorld=%d\n",f, FamilyInfo[f][FamilyVirtualWorld]); fwrite(hFile, var);
  4853. for(new fv = 0; fv < MAX_GANG_VEHICLES; fv++)
  4854. {
  4855. format(var, 32, "Family%dVeh%dModelId=%d\n",f, fv, FamilyVehicleInfo[f][fv][fvModelId]); fwrite(hFile, var);
  4856. format(var, 32, "Family%dVeh%dSpawnx=%.1f\n",f, fv,FamilyVehicleInfo[f][fv][fvSpawnx]); fwrite(hFile, var);
  4857. format(var, 32, "Family%dVeh%dSpawny=%.1f\n",f, fv,FamilyVehicleInfo[f][fv][fvSpawny]); fwrite(hFile, var);
  4858. format(var, 32, "Family%dVeh%dSpawnz=%.1f\n",f, fv,FamilyVehicleInfo[f][fv][fvSpawnz]); fwrite(hFile, var);
  4859. format(var, 32, "Family%dVeh%dSpawna=%.1f\n",f, fv,FamilyVehicleInfo[f][fv][fvSpawna]); fwrite(hFile, var);
  4860. format(var, 32, "Family%dVeh%dLock=%d\n",f, fv,FamilyVehicleInfo[f][fv][fvLock]); fwrite(hFile, var);
  4861. format(var, 32, "Family%dVeh%dLocked=%d\n",f, fv,FamilyVehicleInfo[f][fv][fvLocked]); fwrite(hFile, var);
  4862. format(var, 32, "Family%dVeh%dPaintJob=%d\n",f, fv,FamilyVehicleInfo[f][fv][fvPaintJob]); fwrite(hFile, var);
  4863. format(var, 32, "Family%dVeh%dColor1=%d\n",f, fv,FamilyVehicleInfo[f][fv][fvColor1]); fwrite(hFile, var);
  4864. format(var, 32, "Family%dVeh%dColor2=%d\n",f, fv,FamilyVehicleInfo[f][fv][fvColor2]); fwrite(hFile, var);
  4865. //if(FamilyVehicleInfo[f][fv][fvId] != INVALID_VEHICLE_ID) FamilyVehicleInfo[f][fv][fvFuel] = VehicleFuel[FamilyVehicleInfo[f][fv][fvId]];
  4866. format(var, 32, "Family%dVeh%dFuel=%.1f\n",f, fv,FamilyVehicleInfo[f][fv][fvFuel]); fwrite(hFile, var);
  4867. }
  4868. }
  4869. fclose(hFile);
  4870. }
  4871. return 1;
  4872. }
  4873. stock LoadcDealerships()
  4874. {
  4875. new string2[64];
  4876. format(string2, sizeof(string2), "dealerships.ini");
  4877. new File: Dealerships = fopen(string2, io_read);
  4878. if(Dealerships)
  4879. {
  4880. new key[ 256 ] , val[ 256 ];
  4881. new Data[ 256 ];
  4882. while (fread(Dealerships , Data , sizeof(Data)))
  4883. {
  4884. new string[128];
  4885. for(new f = 0; f < MAX_CARDEALERSHIPS; f++)
  4886. {
  4887. key = ini_GetKey(Data);
  4888. format(string, 128, "cd%dOwned",f);
  4889. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); CarDealershipInfo[f][cdOwned] = strval(val); }
  4890. format(string, 128, "cd%dOwner",f);
  4891. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); strmid(CarDealershipInfo[f][cdOwner], val, 0, strlen(val)-1, 255); }
  4892. format(string, 128, "cd%dEntranceX",f);
  4893. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); CarDealershipInfo[f][cdEntranceX] = floatstr(val); }
  4894. format(string, 128, "cd%dEntranceY",f);
  4895. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); CarDealershipInfo[f][cdEntranceY] = floatstr(val); }
  4896. format(string, 128, "cd%dEntranceZ",f);
  4897. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); CarDealershipInfo[f][cdEntranceZ] = floatstr(val); }
  4898. format(string, 128, "cd%dExitX",f);
  4899. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); CarDealershipInfo[f][cdExitX] = floatstr(val); }
  4900. format(string, 128, "cd%dExitY",f);
  4901. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); CarDealershipInfo[f][cdExitY] = floatstr(val); }
  4902. format(string, 128, "cd%dExitZ",f);
  4903. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); CarDealershipInfo[f][cdExitZ] = floatstr(val); }
  4904. format(string, 128, "cd%dMessage",f);
  4905. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); strmid(CarDealershipInfo[f][cdMessage], val, 0, strlen(val)-1, 255); }
  4906. format(string, 128, "cd%dTill",f);
  4907. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); CarDealershipInfo[f][cdTill] = strval(val); }
  4908. format(string, 128, "cd%dInterior",f);
  4909. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); CarDealershipInfo[f][cdInterior] = strval(val); }
  4910. format(string, 128, "cd%dVehicleSpawnX",f);
  4911. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); CarDealershipInfo[f][cdVehicleSpawn][0] = floatstr(val); }
  4912. format(string, 128, "cd%dVehicleSpawnY",f);
  4913. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); CarDealershipInfo[f][cdVehicleSpawn][1] = floatstr(val); }
  4914. format(string, 128, "cd%dVehicleSpawnZ",f);
  4915. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); CarDealershipInfo[f][cdVehicleSpawn][2] = floatstr(val); }
  4916. format(string, 128, "cd%dVehicleSpawnA",f);
  4917. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); CarDealershipInfo[f][cdVehicleSpawn][3] = floatstr(val); }
  4918. format(string, 128, "cd%dRadius",f);
  4919. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); CarDealershipInfo[f][cdRadius] = floatstr(val); }
  4920. format(string, 128, "cd%dPrice",f);
  4921. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); CarDealershipInfo[f][cdPrice] = strval(val); }
  4922. for(new m = 0; m < MAX_DEALERSHIPVEHICLES; m++)
  4923. {
  4924. format(string, 128, "cd%dVehicleSpawnX%d", f, m);
  4925. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); CarDealershipInfo[f][cdVehicleSpawnX][m] = floatstr(val); }
  4926. format(string, 128, "cd%dVehicleSpawnY%d", f, m);
  4927. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); CarDealershipInfo[f][cdVehicleSpawnY][m] = floatstr(val); }
  4928. format(string, 128, "cd%dVehicleSpawnZ%d", f, m);
  4929. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); CarDealershipInfo[f][cdVehicleSpawnZ][m] = floatstr(val); }
  4930. format(string, 128, "cd%dVehicleSpawnA%d", f, m);
  4931. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); CarDealershipInfo[f][cdVehicleSpawnAngle][m] = floatstr(val); }
  4932. format(string, 128, "cd%dVehicleModel%d", f, m);
  4933. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); CarDealershipInfo[f][cdVehicleModel][m] = strval(val); }
  4934. format(string, 128, "cd%dVehicleCost%d", f, m);
  4935. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); CarDealershipInfo[f][cdVehicleCost][m] = strval(val); }
  4936. }
  4937. format(string, 128, "cd%dDonator",f);
  4938. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); CarDealershipInfo[f][cdDonator] = strval(val); }
  4939. }
  4940. }
  4941. fclose(Dealerships);
  4942. }
  4943. return 1;
  4944. }
  4945. stock UpdateGMABroadcast()
  4946. {
  4947. new string[42];
  4948. if(broadcasting == 0)
  4949. {
  4950. format(string, sizeof(string), "Currently: Not Broadcasting\nViewers: %d", viewers);
  4951. }
  4952. else
  4953. {
  4954. format(string, sizeof(string), "Currently: LIVE\nViewers: %d", viewers);
  4955. }
  4956. UpdateDynamic3DTextLabelText(GMA3DText, COLOR_LIGHTBLUE, string);
  4957. }
  4958. stock SavecDealerships()
  4959. {
  4960. new string3[32];
  4961. //GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
  4962. format(string3, sizeof(string3), "dealerships.ini");
  4963. new File: hFile = fopen(string3, io_write);
  4964. if(hFile)
  4965. {
  4966. new var[32];
  4967. for(new f = 0; f < MAX_CARDEALERSHIPS; f++)
  4968. {
  4969. format(var, 32, "cd%dOwned=%d\n", f, CarDealershipInfo[f][cdOwned]); fwrite(hFile, var);
  4970. format(var, 32, "cd%dOwner=%s\n", f, CarDealershipInfo[f][cdOwner]); fwrite(hFile, var);
  4971. format(var, 32, "cd%dEntranceX=%.1f\n", f, CarDealershipInfo[f][cdEntranceX]); fwrite(hFile, var);
  4972. format(var, 32, "cd%dEntranceY=%.1f\n", f, CarDealershipInfo[f][cdEntranceY]); fwrite(hFile, var);
  4973. format(var, 32, "cd%dEntranceZ=%.1f\n", f, CarDealershipInfo[f][cdEntranceZ]); fwrite(hFile, var);
  4974. format(var, 32, "cd%dExitX=%.1f\n", f, CarDealershipInfo[f][cdExitX]); fwrite(hFile, var);
  4975. format(var, 32, "cd%dExitY=%.1f\n", f, CarDealershipInfo[f][cdExitY]); fwrite(hFile, var);
  4976. format(var, 32, "cd%dExitZ=%.1f\n", f, CarDealershipInfo[f][cdExitZ]); fwrite(hFile, var);
  4977. format(var, 32, "cd%dMessage=%s\n", f, CarDealershipInfo[f][cdMessage]); fwrite(hFile, var);
  4978. format(var, 32, "cd%dTill=%d\n", f, CarDealershipInfo[f][cdTill]); fwrite(hFile, var);
  4979. format(var, 32, "cd%dInterior=%d\n", f, CarDealershipInfo[f][cdInterior]); fwrite(hFile, var);
  4980. format(var, 32, "cd%dVehicleSpawnX=%.1f\n", f, CarDealershipInfo[f][cdVehicleSpawn][0]); fwrite(hFile, var);
  4981. format(var, 32, "cd%dVehicleSpawnY=%.1f\n", f, CarDealershipInfo[f][cdVehicleSpawn][1]); fwrite(hFile, var);
  4982. format(var, 32, "cd%dVehicleSpawnZ=%.1f\n", f, CarDealershipInfo[f][cdVehicleSpawn][2]); fwrite(hFile, var);
  4983. format(var, 32, "cd%dVehicleSpawnA=%.1f\n", f, CarDealershipInfo[f][cdVehicleSpawn][3]); fwrite(hFile, var);
  4984. format(var, 32, "cd%dRadius=%.1f\n", f, CarDealershipInfo[f][cdRadius]); fwrite(hFile, var);
  4985. format(var, 32, "cd%dPrice=%d\n", f, CarDealershipInfo[f][cdPrice]); fwrite(hFile, var);
  4986. for(new m = 0; m < MAX_DEALERSHIPVEHICLES; m++)
  4987. {
  4988. format(var, 32, "cd%dVehicleSpawnX%d=%.1f\n", f, m, CarDealershipInfo[f][cdVehicleSpawnX][m]); fwrite(hFile, var);
  4989. format(var, 32, "cd%dVehicleSpawnY%d=%.1f\n", f, m, CarDealershipInfo[f][cdVehicleSpawnY][m]); fwrite(hFile, var);
  4990. format(var, 32, "cd%dVehicleSpawnZ%d=%.1f\n", f, m, CarDealershipInfo[f][cdVehicleSpawnZ][m]); fwrite(hFile, var);
  4991. format(var, 32, "cd%dVehicleSpawnA%d=%.1f\n", f, m, CarDealershipInfo[f][cdVehicleSpawnAngle][m]); fwrite(hFile, var);
  4992. format(var, 32, "cd%dVehicleModel%d=%d\n", f, m, CarDealershipInfo[f][cdVehicleModel][m]); fwrite(hFile, var);
  4993. format(var, 32, "cd%dVehicleCost%d=%d\n", f, m, CarDealershipInfo[f][cdVehicleCost][m]); fwrite(hFile, var);
  4994. }
  4995. format(var, 32, "cd%dDonator=%d\n", f, CarDealershipInfo[f][cdDonator]); fwrite(hFile, var);
  4996. }
  4997. fclose(hFile);
  4998. }
  4999. return 1;
  5000. }
  5001. stock LoadHouses()
  5002. {
  5003. if(!fexist("houses.cfg")) return 1;
  5004. new
  5005. szFileStr[1024],
  5006. File: iFileHandle = fopen("houses.cfg", io_read),
  5007. iIndex;
  5008. while(iIndex < sizeof(HouseInfo) && fread(iFileHandle, szFileStr))
  5009. {
  5010. sscanf(szFileStr, "p<|>iiis[24]ffffffffiiiiiiiiiiiiiiiiiff",
  5011. HouseInfo[iIndex][hOwned],
  5012. HouseInfo[iIndex][hLevel],
  5013. HouseInfo[iIndex][hHInteriorWorld],
  5014. //HouseInfo[iIndex][hDescription],
  5015. HouseInfo[iIndex][hOwner],
  5016. HouseInfo[iIndex][hExteriorX],
  5017. HouseInfo[iIndex][hExteriorY],
  5018. HouseInfo[iIndex][hExteriorZ],
  5019. HouseInfo[iIndex][hExteriorR],
  5020. HouseInfo[iIndex][hInteriorX],
  5021. HouseInfo[iIndex][hInteriorY],
  5022. HouseInfo[iIndex][hInteriorZ],
  5023. HouseInfo[iIndex][hInteriorR],
  5024. HouseInfo[iIndex][hLock],
  5025. HouseInfo[iIndex][hRentable],
  5026. HouseInfo[iIndex][hRentFee],
  5027. HouseInfo[iIndex][hValue],
  5028. HouseInfo[iIndex][hSafeMoney],
  5029. HouseInfo[iIndex][hPot],
  5030. HouseInfo[iIndex][hCrack],
  5031. HouseInfo[iIndex][hMaterials],
  5032. HouseInfo[iIndex][hWeapons][0],
  5033. HouseInfo[iIndex][hWeapons][1],
  5034. HouseInfo[iIndex][hWeapons][2],
  5035. HouseInfo[iIndex][hWeapons][3],
  5036. HouseInfo[iIndex][hWeapons][4],
  5037. HouseInfo[iIndex][hGLUpgrade],
  5038. HouseInfo[iIndex][hPickupID],
  5039. HouseInfo[iIndex][hCustomInterior],
  5040. HouseInfo[iIndex][hCustomExterior],
  5041. HouseInfo[iIndex][hExteriorA],
  5042. HouseInfo[iIndex][hInteriorA]
  5043. );
  5044. if(HouseInfo[iIndex][hLevel] != 0)
  5045. {
  5046. if(HouseInfo[iIndex][hOwned])
  5047. {
  5048. if(HouseInfo[iIndex][hRentable] == 0) format(szFileStr, sizeof(szFileStr), "House owner: %s\nLevel: %d\nID: %d",HouseInfo[iIndex][hOwner],HouseInfo[iIndex][hLevel],iIndex);
  5049. else format(szFileStr, sizeof(szFileStr), "House owner: %s\nLevel: %d\nID: %d\nRent: $%d\nType /rentroom to rent a room",HouseInfo[iIndex][hOwner],HouseInfo[iIndex][hLevel],iIndex,HouseInfo[iIndex][hRentFee]);
  5050. }
  5051. else format(szFileStr, sizeof(szFileStr), "This house is for sale!\n Level: %d\nID: %d\nPrice: $%d\nTo buy this house type /buyhouse",HouseInfo[iIndex][hLevel],iIndex,HouseInfo[iIndex][hValue]);
  5052. HouseInfo[iIndex][hPickupID] = CreatePickup(1273, 23, HouseInfo[iIndex][hExteriorX], HouseInfo[iIndex][hExteriorY], HouseInfo[iIndex][hExteriorZ], -1);
  5053. HouseInfo[iIndex][hTextID] = CreateDynamic3DTextLabel(szFileStr, COLOR_HOUSEGREEN, HouseInfo[iIndex][hExteriorX], HouseInfo[iIndex][hExteriorY], HouseInfo[iIndex][hExteriorZ]+0.5,20.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 10.0);
  5054. }
  5055. ++iIndex;
  5056. }
  5057. return fclose(iFileHandle);
  5058. }
  5059. stock SaveHouses()
  5060. {
  5061. new
  5062. szFileStr[1024],
  5063. File: fHandle = fopen("houses.cfg", io_write);
  5064. for(new iIndex; iIndex < MAX_HOUSES; iIndex++) {
  5065. format(szFileStr, sizeof(szFileStr), "%d|%d|%d|%s|%f|%f|%f|%f|%f|%f|%f|%f|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%f|%f\r\n",
  5066. HouseInfo[iIndex][hOwned],
  5067. HouseInfo[iIndex][hLevel],
  5068. HouseInfo[iIndex][hHInteriorWorld],
  5069. //HouseInfo[iIndex][hDescription],
  5070. HouseInfo[iIndex][hOwner],
  5071. HouseInfo[iIndex][hExteriorX],
  5072. HouseInfo[iIndex][hExteriorY],
  5073. HouseInfo[iIndex][hExteriorZ],
  5074. HouseInfo[iIndex][hExteriorR],
  5075. HouseInfo[iIndex][hInteriorX],
  5076. HouseInfo[iIndex][hInteriorY],
  5077. HouseInfo[iIndex][hInteriorZ],
  5078. HouseInfo[iIndex][hInteriorR],
  5079. HouseInfo[iIndex][hLock],
  5080. HouseInfo[iIndex][hRentable],
  5081. HouseInfo[iIndex][hRentFee],
  5082. HouseInfo[iIndex][hValue],
  5083. HouseInfo[iIndex][hSafeMoney],
  5084. HouseInfo[iIndex][hPot],
  5085. HouseInfo[iIndex][hCrack],
  5086. HouseInfo[iIndex][hMaterials],
  5087. HouseInfo[iIndex][hWeapons][0],
  5088. HouseInfo[iIndex][hWeapons][1],
  5089. HouseInfo[iIndex][hWeapons][2],
  5090. HouseInfo[iIndex][hWeapons][3],
  5091. HouseInfo[iIndex][hWeapons][4],
  5092. HouseInfo[iIndex][hGLUpgrade],
  5093. HouseInfo[iIndex][hPickupID],
  5094. HouseInfo[iIndex][hCustomInterior],
  5095. HouseInfo[iIndex][hCustomExterior],
  5096. HouseInfo[iIndex][hExteriorA],
  5097. HouseInfo[iIndex][hInteriorA]
  5098. );
  5099. fwrite(fHandle, szFileStr);
  5100. }
  5101. return fclose(fHandle);
  5102. }
  5103. stock LoadDynamicMapIcons()
  5104. {
  5105. new arrCoords[7][64];
  5106. new strFromFile2[256];
  5107. new File: file = fopen("dynamicmapicons.cfg", io_read);
  5108. if(file)
  5109. {
  5110. new idx;
  5111. while (idx < sizeof(DMPInfo))
  5112. {
  5113. fread(file, strFromFile2);
  5114. splits(strFromFile2, arrCoords, '|');
  5115. DMPInfo[idx][dmpMarkerType] = strval(arrCoords[0]);
  5116. DMPInfo[idx][dmpColor] = strval(arrCoords[1]);
  5117. DMPInfo[idx][dmpVW] = strval(arrCoords[2]);
  5118. DMPInfo[idx][dmpInt] = strval(arrCoords[3]);
  5119. DMPInfo[idx][dmpPosX] = floatstr(arrCoords[4]);
  5120. DMPInfo[idx][dmpPosY] = floatstr(arrCoords[5]);
  5121. DMPInfo[idx][dmpPosZ] = floatstr(arrCoords[6]);
  5122. if(DMPInfo[idx][dmpMarkerType] != 0)
  5123. {
  5124. DMPInfo[idx][dmpMapIconID] = CreateDynamicMapIcon(DMPInfo[idx][dmpPosX], DMPInfo[idx][dmpPosY], DMPInfo[idx][dmpPosZ], DMPInfo[idx][dmpMarkerType], DMPInfo[idx][dmpColor], DMPInfo[idx][dmpVW], DMPInfo[idx][dmpInt], -1, 500.0);
  5125. }
  5126. idx++;
  5127. }
  5128. fclose(file);
  5129. }
  5130. return 1;
  5131. }
  5132. stock SaveDynamicMapIcons()
  5133. {
  5134. new
  5135. szFileStr[326],
  5136. File: fHandle = fopen("dynamicmapicons.cfg", io_write);
  5137. for(new iIndex; iIndex < MAX_DMAPICONS; iIndex++) {
  5138. format(szFileStr, sizeof(szFileStr), "%d|%d|%d|%d|%f|%f|%f\r\n",
  5139. DMPInfo[iIndex][dmpMarkerType],
  5140. DMPInfo[iIndex][dmpColor],
  5141. DMPInfo[iIndex][dmpVW],
  5142. DMPInfo[iIndex][dmpInt],
  5143. DMPInfo[iIndex][dmpPosX],
  5144. DMPInfo[iIndex][dmpPosY],
  5145. DMPInfo[iIndex][dmpPosZ]
  5146. );
  5147. fwrite(fHandle, szFileStr);
  5148. }
  5149. return fclose(fHandle);
  5150. }
  5151. stock LoadDynamicDoors()
  5152. {
  5153. new arrCoords[26][64];
  5154. new strFromFile2[256];
  5155. new File: file = fopen("dynamicdoors.cfg", io_read);
  5156. if(file)
  5157. {
  5158. new idx;
  5159. while (idx < sizeof(DDoorsInfo))
  5160. {
  5161. fread(file, strFromFile2);
  5162. splits(strFromFile2, arrCoords, '|');
  5163. strmid(DDoorsInfo[idx][ddDescription], arrCoords[0], 0, strlen(arrCoords[0]), 128);
  5164. DDoorsInfo[idx][ddCustomInterior] = strval(arrCoords[1]);
  5165. DDoorsInfo[idx][ddExteriorVW] = strval(arrCoords[2]);
  5166. DDoorsInfo[idx][ddExteriorInt] = strval(arrCoords[3]);
  5167. DDoorsInfo[idx][ddInteriorVW] = strval(arrCoords[4]);
  5168. DDoorsInfo[idx][ddInteriorInt] = strval(arrCoords[5]);
  5169. DDoorsInfo[idx][ddExteriorX] = floatstr(arrCoords[6]);
  5170. DDoorsInfo[idx][ddExteriorY] = floatstr(arrCoords[7]);
  5171. DDoorsInfo[idx][ddExteriorZ] = floatstr(arrCoords[8]);
  5172. DDoorsInfo[idx][ddExteriorA] = floatstr(arrCoords[9]);
  5173. DDoorsInfo[idx][ddInteriorX] = floatstr(arrCoords[10]);
  5174. DDoorsInfo[idx][ddInteriorY] = floatstr(arrCoords[11]);
  5175. DDoorsInfo[idx][ddInteriorZ] = floatstr(arrCoords[12]);
  5176. DDoorsInfo[idx][ddInteriorA] = floatstr(arrCoords[13]);
  5177. DDoorsInfo[idx][ddCustomExterior] = strval(arrCoords[14]);
  5178. DDoorsInfo[idx][ddVIP] = strval(arrCoords[15]);
  5179. DDoorsInfo[idx][ddGang] = strval(arrCoords[16]);
  5180. DDoorsInfo[idx][ddFaction] = strval(arrCoords[17]);
  5181. DDoorsInfo[idx][ddAdmin] = strval(arrCoords[18]);
  5182. DDoorsInfo[idx][ddWanted] = strval(arrCoords[19]);
  5183. DDoorsInfo[idx][ddVehicleAble] = strval(arrCoords[20]);
  5184. DDoorsInfo[idx][ddColor] = strval(arrCoords[21]);
  5185. DDoorsInfo[idx][ddPickupModel] = strval(arrCoords[22]);
  5186. strmid(DDoorsInfo[idx][ddPass], arrCoords[23], 0, strlen(arrCoords[23]), 24);
  5187. DDoorsInfo[idx][ddLocked] = strval(arrCoords[24]);
  5188. DDoorsInfo[idx][ddNotEditable] = strval(arrCoords[25]);
  5189. if(!isnull(DDoorsInfo[idx][ddDescription]))
  5190. {
  5191. CreateDynamicDoor(idx);
  5192. }
  5193. idx++;
  5194. }
  5195. fclose(file);
  5196. }
  5197. return 1;
  5198. }
  5199. stock SaveDynamicDoors()
  5200. {
  5201. new
  5202. szFileStr[512],
  5203. File: fHandle = fopen("dynamicdoors.cfg", io_write);
  5204. for(new iIndex; iIndex < MAX_DDOORS; iIndex++) {
  5205. format(szFileStr, sizeof(szFileStr), "%s|%d|%d|%d|%d|%d|%f|%f|%f|%f|%f|%f|%f|%f|%d|%d|%d|%d|%d|%d|%d|%d|%d|%s|%d|%d\r\n",
  5206. DDoorsInfo[iIndex][ddDescription],
  5207. DDoorsInfo[iIndex][ddCustomInterior],
  5208. DDoorsInfo[iIndex][ddExteriorVW],
  5209. DDoorsInfo[iIndex][ddExteriorInt],
  5210. DDoorsInfo[iIndex][ddInteriorVW],
  5211. DDoorsInfo[iIndex][ddInteriorInt],
  5212. DDoorsInfo[iIndex][ddExteriorX],
  5213. DDoorsInfo[iIndex][ddExteriorY],
  5214. DDoorsInfo[iIndex][ddExteriorZ],
  5215. DDoorsInfo[iIndex][ddExteriorA],
  5216. DDoorsInfo[iIndex][ddInteriorX],
  5217. DDoorsInfo[iIndex][ddInteriorY],
  5218. DDoorsInfo[iIndex][ddInteriorZ],
  5219. DDoorsInfo[iIndex][ddInteriorA],
  5220. DDoorsInfo[iIndex][ddCustomExterior],
  5221. DDoorsInfo[iIndex][ddVIP],
  5222. DDoorsInfo[iIndex][ddGang],
  5223. DDoorsInfo[iIndex][ddFaction],
  5224. DDoorsInfo[iIndex][ddAdmin],
  5225. DDoorsInfo[iIndex][ddWanted],
  5226. DDoorsInfo[iIndex][ddVehicleAble],
  5227. DDoorsInfo[iIndex][ddColor],
  5228. DDoorsInfo[iIndex][ddPickupModel],
  5229. DDoorsInfo[iIndex][ddPass],
  5230. DDoorsInfo[iIndex][ddLocked],
  5231. DDoorsInfo[iIndex][ddNotEditable]
  5232. );
  5233. fwrite(fHandle, szFileStr);
  5234. }
  5235. return fclose(fHandle);
  5236. }
  5237. stock CreateDynamicDoor(doorid)
  5238. {
  5239. new string[128];
  5240. format(string, sizeof(string), "%s\n ID: %d",DDoorsInfo[doorid][ddDescription],doorid);
  5241. switch(DDoorsInfo[doorid][ddColor])
  5242. {
  5243. case -1:{ /* Disable 3d Textdraw */ }
  5244. case 1:{DDoorsInfo[doorid][ddTextID] = CreateDynamic3DTextLabel(string, COLOR_TWWHITE, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ]+0.7,10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, DDoorsInfo[doorid][ddExteriorVW], DDoorsInfo[doorid][ddExteriorInt], -1);}
  5245. case 2:{DDoorsInfo[doorid][ddTextID] = CreateDynamic3DTextLabel(string, COLOR_TWPINK, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ]+0.7,10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, DDoorsInfo[doorid][ddExteriorVW], DDoorsInfo[doorid][ddExteriorInt], -1);}
  5246. case 3:{DDoorsInfo[doorid][ddTextID] = CreateDynamic3DTextLabel(string, COLOR_TWRED, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ]+0.7,10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, DDoorsInfo[doorid][ddExteriorVW], DDoorsInfo[doorid][ddExteriorInt], -1);}
  5247. case 4:{DDoorsInfo[doorid][ddTextID] = CreateDynamic3DTextLabel(string, COLOR_TWBROWN, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ]+0.7,10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, DDoorsInfo[doorid][ddExteriorVW], DDoorsInfo[doorid][ddExteriorInt], -1);}
  5248. case 5:{DDoorsInfo[doorid][ddTextID] = CreateDynamic3DTextLabel(string, COLOR_TWGRAY, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ]+0.7,10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, DDoorsInfo[doorid][ddExteriorVW], DDoorsInfo[doorid][ddExteriorInt], -1);}
  5249. case 6:{DDoorsInfo[doorid][ddTextID] = CreateDynamic3DTextLabel(string, COLOR_TWOLIVE, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ]+0.7,10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, DDoorsInfo[doorid][ddExteriorVW], DDoorsInfo[doorid][ddExteriorInt], -1);}
  5250. case 7:{DDoorsInfo[doorid][ddTextID] = CreateDynamic3DTextLabel(string, COLOR_TWPURPLE, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ]+0.7,10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, DDoorsInfo[doorid][ddExteriorVW], DDoorsInfo[doorid][ddExteriorInt], -1);}
  5251. case 8:{DDoorsInfo[doorid][ddTextID] = CreateDynamic3DTextLabel(string, COLOR_TWORANGE, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ]+0.7,10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, DDoorsInfo[doorid][ddExteriorVW], DDoorsInfo[doorid][ddExteriorInt], -1);}
  5252. case 9:{DDoorsInfo[doorid][ddTextID] = CreateDynamic3DTextLabel(string, COLOR_TWAZURE, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ]+0.7,10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, DDoorsInfo[doorid][ddExteriorVW], DDoorsInfo[doorid][ddExteriorInt], -1);}
  5253. case 10:{DDoorsInfo[doorid][ddTextID] = CreateDynamic3DTextLabel(string, COLOR_TWGREEN, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ]+0.7,10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, DDoorsInfo[doorid][ddExteriorVW], DDoorsInfo[doorid][ddExteriorInt], -1);}
  5254. case 11:{DDoorsInfo[doorid][ddTextID] = CreateDynamic3DTextLabel(string, COLOR_TWBLUE, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ]+0.7,10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, DDoorsInfo[doorid][ddExteriorVW], DDoorsInfo[doorid][ddExteriorInt], -1);}
  5255. case 12:{DDoorsInfo[doorid][ddTextID] = CreateDynamic3DTextLabel(string, COLOR_TWBLACK, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ]+0.7,10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, DDoorsInfo[doorid][ddExteriorVW], DDoorsInfo[doorid][ddExteriorInt], -1);}
  5256. case 13:{DDoorsInfo[doorid][ddTextID] = CreateDynamic3DTextLabel(string, COLOR_LIGHTSLATEGRAY, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ]+0.7,10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, DDoorsInfo[doorid][ddExteriorVW], DDoorsInfo[doorid][ddExteriorInt], -1);}
  5257. default:
  5258. {
  5259. DDoorsInfo[doorid][ddTextID] = CreateDynamic3DTextLabel(string, COLOR_YELLOW, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ]+0.7,10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, DDoorsInfo[doorid][ddExteriorVW], DDoorsInfo[doorid][ddExteriorInt], -1);
  5260. }
  5261. }
  5262. switch(DDoorsInfo[doorid][ddPickupModel])
  5263. {
  5264. case -1: { /* Disable Pickup */ }
  5265. case 1:
  5266. {
  5267. {DDoorsInfo[doorid][ddPickupID] = CreatePickup(1210, 23, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ], DDoorsInfo[doorid][ddExteriorVW]);}
  5268. }
  5269. case 2: {DDoorsInfo[doorid][ddPickupID] = CreatePickup(1212, 23, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ], DDoorsInfo[doorid][ddExteriorVW]);}
  5270. case 3:{DDoorsInfo[doorid][ddPickupID] = CreatePickup(1239, 23, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ], DDoorsInfo[doorid][ddExteriorVW]);}
  5271. case 4:{DDoorsInfo[doorid][ddPickupID] = CreatePickup(1240, 23, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ], DDoorsInfo[doorid][ddExteriorVW]);}
  5272. case 5:{DDoorsInfo[doorid][ddPickupID] = CreatePickup(1241, 23, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ], DDoorsInfo[doorid][ddExteriorVW]);}
  5273. case 6:{DDoorsInfo[doorid][ddPickupID] = CreatePickup(1242, 23, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ], DDoorsInfo[doorid][ddExteriorVW]);}
  5274. case 7:{DDoorsInfo[doorid][ddPickupID] = CreatePickup(1247, 23, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ], DDoorsInfo[doorid][ddExteriorVW]);}
  5275. case 8:{DDoorsInfo[doorid][ddPickupID] = CreatePickup(1248, 23, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ], DDoorsInfo[doorid][ddExteriorVW]);}
  5276. case 9:{DDoorsInfo[doorid][ddPickupID] = CreatePickup(1252, 23, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ], DDoorsInfo[doorid][ddExteriorVW]);}
  5277. case 10:{DDoorsInfo[doorid][ddPickupID] = CreatePickup(1253, 23, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ], DDoorsInfo[doorid][ddExteriorVW]);}
  5278. case 11:{DDoorsInfo[doorid][ddPickupID] = CreatePickup(1254, 23, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ], DDoorsInfo[doorid][ddExteriorVW]);}
  5279. case 12:{DDoorsInfo[doorid][ddPickupID] = CreatePickup(1313, 23, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ], DDoorsInfo[doorid][ddExteriorVW]);}
  5280. case 13:{DDoorsInfo[doorid][ddPickupID] = CreatePickup(1272, 23, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ], DDoorsInfo[doorid][ddExteriorVW]);}
  5281. case 14:{DDoorsInfo[doorid][ddPickupID] = CreatePickup(1273, 23, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ], DDoorsInfo[doorid][ddExteriorVW]);}
  5282. case 15:{DDoorsInfo[doorid][ddPickupID] = CreatePickup(1274, 23, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ], DDoorsInfo[doorid][ddExteriorVW]);}
  5283. case 16:{DDoorsInfo[doorid][ddPickupID] = CreatePickup(1275, 23, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ], DDoorsInfo[doorid][ddExteriorVW]);}
  5284. case 17:{DDoorsInfo[doorid][ddPickupID] = CreatePickup(1276, 23, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ], DDoorsInfo[doorid][ddExteriorVW]);}
  5285. case 18:{DDoorsInfo[doorid][ddPickupID] = CreatePickup(1277, 23, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ], DDoorsInfo[doorid][ddExteriorVW]);}
  5286. case 19:{DDoorsInfo[doorid][ddPickupID] = CreatePickup(1279, 23, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ], DDoorsInfo[doorid][ddExteriorVW]);}
  5287. case 20:{DDoorsInfo[doorid][ddPickupID] = CreatePickup(1314, 23, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ], DDoorsInfo[doorid][ddExteriorVW]);}
  5288. case 21:{DDoorsInfo[doorid][ddPickupID] = CreatePickup(1316, 23, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ], DDoorsInfo[doorid][ddExteriorVW]);}
  5289. case 22:{DDoorsInfo[doorid][ddPickupID] = CreatePickup(1317, 23, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ], DDoorsInfo[doorid][ddExteriorVW]);}
  5290. case 23:{DDoorsInfo[doorid][ddPickupID] = CreatePickup(1559, 23, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ], DDoorsInfo[doorid][ddExteriorVW]);}
  5291. case 24:{DDoorsInfo[doorid][ddPickupID] = CreatePickup(1582, 23, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ], DDoorsInfo[doorid][ddExteriorVW]);}
  5292. case 25:{DDoorsInfo[doorid][ddPickupID] = CreatePickup(2894, 23, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ], DDoorsInfo[doorid][ddExteriorVW]);}
  5293. default:
  5294. {
  5295. DDoorsInfo[doorid][ddPickupID] = CreatePickup(1318, 23, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ], DDoorsInfo[doorid][ddExteriorVW]);
  5296. }
  5297. }
  5298. }
  5299. stock ClearHouse(houseid)
  5300. {
  5301. HouseInfo[houseid][hOwned] = 0;
  5302. HouseInfo[houseid][hSafeMoney] = 0;
  5303. HouseInfo[houseid][hPot] = 0;
  5304. HouseInfo[houseid][hCrack] = 0;
  5305. HouseInfo[houseid][hMaterials] = 0;
  5306. HouseInfo[houseid][hWeapons][0] = 0;
  5307. HouseInfo[houseid][hWeapons][1] = 0;
  5308. HouseInfo[houseid][hWeapons][2] = 0;
  5309. HouseInfo[houseid][hWeapons][3] = 0;
  5310. HouseInfo[houseid][hWeapons][4] = 0;
  5311. HouseInfo[houseid][hGLUpgrade] = 1;
  5312. }
  5313. stock ResetPlayerCash(playerid)
  5314. {
  5315. PlayerInfo[playerid][pCash] = 0;
  5316. ResetPlayerMoney(playerid);
  5317. return 1;
  5318. }
  5319. SetFamilySkin(playerid, skinid)
  5320. {
  5321. new gang;
  5322. new skin;
  5323. gang = PlayerInfo[playerid][pGang];
  5324. skin = FamilyInfo[gang][FamilySkins][skinid];
  5325. if(skin==0) return 1;
  5326. PlayerInfo[playerid][pSkin] = skin;
  5327. SetPlayerSkin(playerid, skin);
  5328. return 1;
  5329. }
  5330. stock Random(min, max)
  5331. {
  5332. new a = random(max - min) + min;
  5333. return a;
  5334. }
  5335. stock doesAccountExist(account_name[])
  5336. {
  5337. new sz_accStr[MAX_PLAYER_NAME + 12], File:f_Handle;
  5338. format(sz_accStr, sizeof(sz_accStr), "users/%s.ini", account_name);
  5339. if(fexist(sz_accStr)) {
  5340. if(!(f_Handle = fopen(sz_accStr, io_read))) {
  5341. return 1;
  5342. }
  5343. if(flength(f_Handle) > 0) {
  5344. fclose(f_Handle);
  5345. return 1;
  5346. }
  5347. fclose(f_Handle);
  5348. }
  5349. return 0;
  5350. }
  5351. forward ServerRestart();
  5352. public ServerRestart()
  5353. {
  5354. //new string[128];
  5355. ABroadCast(COLOR_YELLOW, "{AA3333}Server restart{FFFF00}: Freezing Accounts...", 5);
  5356. foreach(Player, i) {
  5357. TogglePlayerControllable(i, false);
  5358. }
  5359. foreach(Player, i)
  5360. {
  5361. GameTextForPlayer(i, "~w~Server restarting...", 5000, 5);
  5362. }
  5363. ABroadCast(COLOR_YELLOW, "{AA3333}Server restart{FFFF00}: Force Saving Houses...", 5);
  5364. SaveHouses();
  5365. ABroadCast(COLOR_YELLOW, "{AA3333}Server restart{FFFF00}: Force Saving Dynamic Doors...", 5);
  5366. SaveDynamicDoors();
  5367. ABroadCast(COLOR_YELLOW, "{AA3333}Server restart{FFFF00}: Force Saving Map Icons...", 5);
  5368. SaveDynamicMapIcons();
  5369. ABroadCast(COLOR_YELLOW, "{AA3333}Server restart{FFFF00}: Force Saving Server Configuration", 5);
  5370. Misc_Save();
  5371. ABroadCast(COLOR_YELLOW, "{AA3333}Server restart{FFFF00}: Force Saving Faction Pay...", 5);
  5372. SaveThePay();
  5373. ABroadCast(COLOR_YELLOW, "{AA3333}Server restart{FFFF00}: Streamer Plugin Shutting Down...", 5);
  5374. DestroyAllDynamicObjects();
  5375. DestroyAllDynamicPickups();
  5376. DestroyAllDynamic3DTextLabels();
  5377. DestroyAllDynamicCPs();
  5378. DestroyAllDynamicMapIcons();
  5379. DestroyAllDynamicRaceCPs();
  5380. DestroyAllDynamicAreas();
  5381. ABroadCast(COLOR_YELLOW, "{AA3333}Server restart{FFFF00}: Force Saving Accounts...", 5);
  5382. foreach(Player, i)
  5383. {
  5384. GameTextForPlayer(i, "~w~Server restarting...", 5000, 5);
  5385. DisablePlayerCheckpoint(i);
  5386. gPlayerCheckpointStatus[i] = CHECKPOINT_NONE;
  5387. for(new s = 0; s < 12; s++)
  5388. {
  5389. if(PlayerInfo[i][pAGuns][s] != 0)
  5390. {
  5391. RemovePlayerWeapon(i, PlayerInfo[i][pAGuns][s]);
  5392. }
  5393. }
  5394. PlayerInfo[i][pInt] = GetPlayerInterior(i);
  5395. if(GetPVarType(i, "tabbedVW") != 0) {
  5396. PlayerInfo[i][pVW] = GetPVarInt(i, "tabbedVW");
  5397. } else PlayerInfo[i][pVW] = GetPlayerVirtualWorld(i);
  5398. GetPlayerIp(i, PlayerInfo[i][pIP], 32);
  5399. GetPlayerPos(i, PlayerInfo[i][pPos_x], PlayerInfo[i][pPos_y], PlayerInfo[i][pPos_z]);
  5400. GetPlayerFacingAngle(i, PlayerInfo[i][pPos_r]);
  5401. OnPlayerStatsUpdate(i);
  5402. ResetPlayerWeapons(i);
  5403. }
  5404. SetTimer("FinishServerRestart", 10000, false);
  5405. return 1;
  5406. }
  5407. forward FinishServerRestart();
  5408. public FinishServerRestart()
  5409. {
  5410. SendClientMessageToAllEx(COLOR_LIGHTBLUE, "* The server is now restarting. Please /quit and relog.");
  5411. foreach(Player, i) {
  5412. Kick(i);
  5413. }
  5414. SendRconCommand("exit");
  5415. return 1;
  5416. }
  5417. stock SendReportToQueue(reportfrom, report[])
  5418. {
  5419. new bool:breakingloop = false, newid = INVALID_REPORT_ID;
  5420. for(new i=0;i<MAX_REPORTS;i++)
  5421. {
  5422. if(!breakingloop)
  5423. {
  5424. if(Reports[i][HasBeenUsed] == 0)
  5425. {
  5426. breakingloop = true;
  5427. newid = i;
  5428. }
  5429. }
  5430. }
  5431. if(newid != INVALID_REPORT_ID)
  5432. {
  5433. foreach(Player, i)
  5434. {
  5435. if(PlayerInfo[i][pAdmin] >= 1)
  5436. {
  5437. GameTextForPlayer(i, "~p~New Report /reports", 1500, 1);
  5438. }
  5439. }
  5440. strmid(Reports[newid][Report], report, 0, strlen(report), 140);
  5441. Reports[newid][ReportFrom] = reportfrom;
  5442. Reports[newid][TimeToExpire] = 5;
  5443. Reports[newid][HasBeenUsed] = 1;
  5444. Reports[newid][BeingUsed] = 1;
  5445. Reports[newid][ReportExpireTimer] = SetTimerEx("ReportTimer", 60000, 0, "d", newid);
  5446. new string[140];
  5447. format(string, sizeof(string), "Report from [%i] %s (RID: %i): %s", reportfrom, GetPlayerNameEx(reportfrom), newid, (report));
  5448. ABroadCast(COLOR_REPORT,string,1);
  5449. }
  5450. else
  5451. {
  5452. ClearReports();
  5453. SendReportToQueue(reportfrom, report);
  5454. }
  5455. }
  5456. stock SendDMReportToQueue(reportfrom, id)
  5457. {
  5458. new bool:breakingloop = false, newid = INVALID_REPORT_ID;
  5459. for(new i=0;i<MAX_REPORTS;i++)
  5460. {
  5461. if(!breakingloop)
  5462. {
  5463. if(Reports[i][HasBeenUsed] == 0)
  5464. {
  5465. breakingloop = true;
  5466. newid = i;
  5467. }
  5468. }
  5469. }
  5470. if(newid != INVALID_REPORT_ID)
  5471. {
  5472. foreach(Player, i)
  5473. {
  5474. if(PlayerInfo[i][pAdmin] >= 1)
  5475. {
  5476. GameTextForPlayer(i, "~p~Priority Report ~r~/reports", 1500, 1);
  5477. }
  5478. }
  5479. Reports[newid][ReportFrom] = reportfrom;
  5480. Reports[newid][TimeToExpire] = 5;
  5481. Reports[newid][HasBeenUsed] = 1;
  5482. Reports[newid][BeingUsed] = 1;
  5483. Reports[newid][ReportExpireTimer] = SetTimerEx("ReportTimer", 60000, 0, "d", newid);
  5484. new string[140];
  5485. format(string, sizeof(string), "Report from [%i] %s (RID: %i): ID %d DM (/reportdm)", reportfrom, GetPlayerNameEx(reportfrom), newid, id);
  5486. ABroadCast(COLOR_REPORT,string,1);
  5487. }
  5488. else
  5489. {
  5490. ClearReports();
  5491. SendDMReportToQueue(reportfrom, id);
  5492. }
  5493. }
  5494. stock ClearReports()
  5495. {
  5496. for(new i=0;i<MAX_REPORTS;i++)
  5497. {
  5498. strmid(Reports[i][Report], "None", 0, 4, 4);
  5499. Reports[i][CheckingReport] = 999;
  5500. Reports[i][ReportFrom] = 999;
  5501. Reports[i][TimeToExpire] = 5;
  5502. Reports[i][HasBeenUsed] = 0;
  5503. Reports[i][BeingUsed] = 0;
  5504. }
  5505. return 1;
  5506. }
  5507. stock ClearChatbox(playerid)
  5508. {
  5509. for(new i = 0; i < 50; i++) {
  5510. SendClientMessage(playerid, COLOR_BLACK, "");
  5511. }
  5512. return 1;
  5513. }
  5514. ClearChat(playerid)
  5515. {
  5516. for(new i = 0; i < 30; i ++)
  5517. {
  5518. SendClientMessage(playerid, COLOR_BLACK, " ");
  5519. }
  5520. }
  5521. stock PlayerFacePlayer(playerid, targetplayerid)
  5522. {
  5523. new Float: Angle;
  5524. GetPlayerFacingAngle(playerid, Angle);
  5525. SetPlayerFacingAngle(targetplayerid, Angle+180);
  5526. return true;
  5527. }
  5528. stock GivePlayerEventWeapons(playerid)
  5529. {
  5530. if(GetPVarInt(playerid, "EventToken") == 1)
  5531. {
  5532. GivePlayerWeapon(playerid, EventKernel[EventWeapons][0], 60000);
  5533. GivePlayerWeapon(playerid, EventKernel[EventWeapons][1], 60000);
  5534. GivePlayerWeapon(playerid, EventKernel[EventWeapons][2], 60000);
  5535. GivePlayerWeapon(playerid, EventKernel[EventWeapons][ 3 ], 60000);
  5536. GivePlayerWeapon(playerid, EventKernel[EventWeapons][4], 60000);
  5537. }
  5538. return 1;
  5539. }
  5540. stock ScoreUpdate()
  5541. {
  5542. new LevScore;
  5543. foreach(Player, i)
  5544. {
  5545. LevScore = PlayerInfo[i][pLevel];
  5546. SetPlayerScore(i, LevScore);
  5547. }
  5548. return 1;
  5549. }
  5550. stock ExecuteHackerAction(playerid, weaponid)
  5551. {
  5552. if(!gPlayerLogged[playerid]) { return 1; }
  5553. if(PlayerInfo[playerid][pTut] == 0) { return 1; } // NOT IMPLEMENTED YET
  5554. if(playerTabbed[playerid] == 1) { return 1; }
  5555. if(GetPVarInt(playerid, "PBM") > 0) { return 1; }
  5556. new String[ 128 ], WeaponName[ 128 ];
  5557. GetWeaponName(weaponid, WeaponName, sizeof(WeaponName));
  5558. format(String, sizeof(String), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) may possibly be weapon hacking (%s).", GetPlayerNameEx(playerid), playerid, WeaponName);
  5559. ABroadCast(COLOR_YELLOW, String, 2);
  5560. SetPVarInt(playerid, "wpH", GetPVarInt(playerid, "wpH")+1);
  5561. if(GetPVarInt(playerid, "wpH") >= 3) {
  5562. format(String, sizeof(String), "%s may possibly be weapon hacking (%s).", GetPlayerNameEx(playerid), WeaponName);
  5563. AddAutomatedFlag(playerid, String);
  5564. }
  5565. //format(String, sizeof(String), "%s (ID %d) may possibly be weapon hacking (%s)", GetPlayerNameEx(playerid), playerid, WeaponName);
  5566. //Log("logs/hack.log", String);
  5567. return 1;
  5568. }
  5569. stock IsValidIP(ip[])
  5570. {
  5571. new a;
  5572. for (new i = 0; i < strlen(ip); i++)
  5573. {
  5574. if(ip[i] == '.')
  5575. {
  5576. a++;
  5577. }
  5578. }
  5579. if(a != 3)
  5580. {
  5581. return 1;
  5582. }
  5583. return 0;
  5584. }
  5585. stock fcreate(filename[])
  5586. {
  5587. if(fexist(filename)) return false;
  5588. new File:fhnd;
  5589. fhnd=fopen(filename,io_write);
  5590. if(fhnd) {
  5591. fclose(fhnd);
  5592. return true;
  5593. }
  5594. return false;
  5595. }
  5596. stock CheckBan(ip[])
  5597. {
  5598. new string[20];
  5599. new File: file = fopen("ban.cfg", io_read);
  5600. while(fread(file, string))
  5601. {
  5602. if(strcmp(ip, string, true, strlen(ip)) == 0)
  5603. {
  5604. fclose(file);
  5605. return 1;
  5606. }
  5607. }
  5608. fclose(file);
  5609. return 0;
  5610. }
  5611. stock AddBan(ip[])
  5612. {
  5613. if(CheckBan(ip) == 0)
  5614. {
  5615. new File: file = fopen("ban.cfg", io_append);
  5616. new string[20];
  5617. format(string, sizeof(string), "\n%s", ip);
  5618. fwrite(file, string);
  5619. fclose(file);
  5620. foreach(Player, playerid)
  5621. {
  5622. new playerIP[16];
  5623. GetPlayerIp(playerid, playerIP, sizeof(playerIP));
  5624. if(strcmp(playerIP, ip) == 0)
  5625. {
  5626. SendClientMessage(playerid, COLOR_NEWS, "You're banned from Sleepless Roleplay. You can appeal your ban at www.Serenity");
  5627. Kick(playerid);
  5628. }
  5629. }
  5630. return 1;
  5631. }
  5632. return 0;
  5633. }
  5634. stock RemoveBan(ip[])
  5635. {
  5636. if(CheckBan(ip) == 1)
  5637. {
  5638. new string[20];
  5639. new File: file = fopen("ban.cfg", io_read);
  5640. fcreate("tempBan.cfg");
  5641. new File: file2 = fopen("tempBan.cfg", io_append);
  5642. while(fread(file, string))
  5643. {
  5644. if(strcmp(ip, string, true, strlen(ip)) != 0 && strcmp("\n", string) != 0)
  5645. {
  5646. fwrite(file2, string);
  5647. }
  5648. }
  5649. fclose(file);
  5650. fclose(file2);
  5651. file = fopen("ban.cfg", io_write);
  5652. file2 = fopen("tempBan.cfg", io_read);
  5653. while(fread(file2, string))
  5654. {
  5655. fwrite(file, string);
  5656. }
  5657. fclose(file);
  5658. fclose(file2);
  5659. fremove("tempBan.cfg");
  5660. return 1;
  5661. }
  5662. return 0;
  5663. }
  5664. /*stock GetPlayerNameEx(playerid)
  5665. {
  5666. new name[MAX_PLAYER_NAME];
  5667. GetPlayerName(playerid, name, sizeof(name));
  5668. return name;
  5669. }*/
  5670. /*forward F12Warning(playerid);
  5671. public F12Warning(playerid) {
  5672. if(PlayerInfo[playerid][pAdmin] < 1)
  5673. return KillTimer(GetPVarInt(playerid, "F12Timer"));
  5674. switch(GetPVarInt(playerid, "F12Count")) {
  5675. case 0: GameTextForPlayer(playerid, "~r~Do NOT ~g~forget ~b~to ~p~press ~y~F12", 1000, 3);
  5676. case 1: GameTextForPlayer(playerid, "~r~Do NOT ~b~forget ~y~to ~w~press ~p~F12", 1000, 3);
  5677. case 2: GameTextForPlayer(playerid, "~r~Do NOT ~y~forget ~w~to ~p~press ~g~F12", 1000, 3);
  5678. case 3: GameTextForPlayer(playerid, "~r~Do NOT ~w~forget ~p~to ~g~press ~b~F12", 1000, 3);
  5679. }
  5680. SetPVarInt(playerid, "F12Count", GetPVarInt(playerid, "F12Count")+1);
  5681. if(GetPVarInt(playerid, "F12Count") >= 4) {
  5682. KillTimer(GetPVarInt(playerid, "F12Timer"));
  5683. DeletePVar(playerid, "F12Timer");
  5684. DeletePVar(playerid, "F12Count");
  5685. return 1;
  5686. }
  5687. return 1;
  5688. }*/
  5689. public OnPlayerPressButton(playerid, buttonid)
  5690. {
  5691. // LSPD
  5692. if(buttonid == lspdcopsonly)
  5693. {
  5694. if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pFaction] == 1 || PlayerInfo[playerid][pFaction] == 2 || PlayerInfo[playerid][pFaction] == 5 || PlayerInfo[playerid][pFaction] == 10 || PlayerInfo[playerid][pFaction] == 10)
  5695. {
  5696. DoorOpen(playerid);
  5697. SetTimer("DoorClose", 4000, 0);
  5698. }
  5699. else
  5700. {
  5701. SendClientMessage(playerid, COLOR_GREY, " You're not a LEO");
  5702. }
  5703. }
  5704. if(buttonid == lspdeveryone)
  5705. {
  5706. DoorOpen(playerid);
  5707. SetTimer("DoorClose", 3500, 0);
  5708. }
  5709. // LSPD v1
  5710. if(buttonid == lspdcopsonly1)
  5711. {
  5712. if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pFaction] == 1 || PlayerInfo[playerid][pFaction] == 2 || PlayerInfo[playerid][pFaction] == 5 || PlayerInfo[playerid][pFaction] == 10 || PlayerInfo[playerid][pFaction] == 10)
  5713. {
  5714. DoorOpen1(playerid);
  5715. SetTimer("DoorClose1", 4000, 0);
  5716. }
  5717. else
  5718. {
  5719. SendClientMessage(playerid, COLOR_GREY, " You're not a LEO");
  5720. }
  5721. }
  5722. if(buttonid == lspdeveryone1)
  5723. {
  5724. DoorOpen1(playerid);
  5725. SetTimer("DoorClose1", 3500, 0);
  5726. }
  5727. // FBI
  5728. if(buttonid == FBILobbyLeftBTN[0] || buttonid == FBILobbyLeftBTN[1])
  5729. {
  5730. if(PlayerInfo[playerid][pFaction] == 2 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pFaction] == 5)
  5731. {
  5732. MoveDynamicObject(FBILobbyLeft,293.93002319,-1498.43457031,-46.13965225,4);
  5733. SetTimer("CloseFBILobbyLeft", 2500, 0);
  5734. }
  5735. else
  5736. {
  5737. SendClientMessage(playerid,COLOR_GREY,"Access denied.");
  5738. return 1;
  5739. }
  5740. }
  5741. if(buttonid == FBILobbyRightBTN[0] || buttonid == FBILobbyRightBTN[1])
  5742. {
  5743. if(PlayerInfo[playerid][pFaction] == 2 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pFaction] == 5)
  5744. {
  5745. MoveDynamicObject(FBILobbyRight,303.84756470,-1521.62988281,-46.13965225,4);
  5746. SetTimer("CloseFBILobbyRight", 2500, 0);
  5747. }
  5748. else
  5749. {
  5750. SendClientMessage(playerid,COLOR_GREY,"Access denied.");
  5751. return 1;
  5752. }
  5753. }
  5754. if(buttonid == FBIPrivateBTN[0] || buttonid == FBIPrivateBTN[1])
  5755. {
  5756. if((PlayerInfo[playerid][pFaction] == 2 || PlayerInfo[playerid][pLeader] == 2) && PlayerInfo[playerid][pRank] >= 5 || PlayerInfo[playerid][pFaction] == 5)
  5757. {
  5758. MoveDynamicObject(FBIPrivate[0],299.29986572,-1491.75842285,-28.73300552,4);
  5759. MoveDynamicObject(FBIPrivate[1],299.33737183,-1496.86145020,-28.73300552,4);
  5760. SetTimer("CloseFBIPrivate", 2500, 0);
  5761. }
  5762. else
  5763. {
  5764. SendClientMessage(playerid,COLOR_GREY,"Access denied.");
  5765. return 1;
  5766. }
  5767. }
  5768. return false;
  5769. }
  5770. forward DoorOpen(playerid);
  5771. public DoorOpen(playerid)
  5772. {
  5773. MoveDynamicObject(lspddoor1, 1788.9044, -1045.2696, -26.3865, 3.5000);
  5774. MoveDynamicObject(lspddoor2, 1789.0209, -1050.3466, -26.4055, 3.5000);
  5775. return 1;
  5776. }
  5777. forward DoorClose(playerid);
  5778. public DoorClose(playerid)
  5779. {
  5780. MoveDynamicObject(lspddoor1, 1788.90442, -1046.27759, -26.38650, 3.5000);
  5781. MoveDynamicObject(lspddoor2, 1788.99072, -1049.24573, -26.40553, 3.5000);
  5782. return 1;
  5783. }
  5784. forward DoorOpen1(playerid);
  5785. public DoorOpen1(playerid)
  5786. {
  5787. MoveDynamicObject(lspddoor3, 1775.4126, -1041.7201, -26.4146, 3.5000);
  5788. MoveDynamicObject(lspddoor4, 1775.4470, -1036.7138, -26.4146, 3.5000);
  5789. return 1;
  5790. }
  5791. forward DoorClose1(playerid);
  5792. public DoorClose1(playerid)
  5793. {
  5794. MoveDynamicObject(lspddoor3, 1775.41260, -1040.68811, -26.41463, 3.5000);
  5795. MoveDynamicObject(lspddoor4, 1775.44702, -1037.73376, -26.41463, 3.5000);
  5796. return 1;
  5797. }
  5798. forward CloseFBILobbyLeft();
  5799. public CloseFBILobbyLeft()
  5800. {
  5801. MoveDynamicObject(FBILobbyLeft,295.40136719,-1498.43457031,-46.13965225,4);
  5802. return 1;
  5803. }
  5804. forward CloseFBILobbyRight();
  5805. public CloseFBILobbyRight()
  5806. {
  5807. MoveDynamicObject(FBILobbyRight,302.39355469,-1521.62988281,-46.13965225,4);
  5808. return 1;
  5809. }
  5810. forward CloseFBIPrivate();
  5811. public CloseFBIPrivate()
  5812. {
  5813. MoveDynamicObject(FBIPrivate[0],299.29986572,-1492.82666016,-28.73300552,4);
  5814. MoveDynamicObject(FBIPrivate[1],299.33737183,-1495.83911133,-28.73300552,4);
  5815. return 1;
  5816. }
  5817. stock crc32(string[])
  5818. {
  5819. new crc_table[256] = {
  5820. 0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA, 0x076DC419, 0x706AF48F, 0xE963A535,
  5821. 0x9E6495A3, 0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988, 0x09B64C2B, 0x7EB17CBD,
  5822. 0xE7B82D07, 0x90BF1D91, 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE, 0x1ADAD47D,
  5823. 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7, 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC,
  5824. 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5, 0x3B6E20C8, 0x4C69105E, 0xD56041E4,
  5825. 0xA2677172, 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B, 0x35B5A8FA, 0x42B2986C,
  5826. 0xDBBBC9D6, 0xACBCF940, 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59, 0x26D930AC,
  5827. 0x51DE003A, 0xC8D75180, 0xBFD06116, 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F,
  5828. 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924, 0x2F6F7C87, 0x58684C11, 0xC1611DAB,
  5829. 0xB6662D3D, 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A, 0x71B18589, 0x06B6B51F,
  5830. 0x9FBFE4A5, 0xE8B8D433, 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818, 0x7F6A0DBB,
  5831. 0x086D3D2D, 0x91646C97, 0xE6635C01, 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E,
  5832. 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457, 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA,
  5833. 0xFCB9887C, 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65, 0x4DB26158, 0x3AB551CE,
  5834. 0xA3BC0074, 0xD4BB30E2, 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB, 0x4369E96A,
  5835. 0x346ED9FC, 0xAD678846, 0xDA60B8D0, 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9,
  5836. 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086, 0x5768B525, 0x206F85B3, 0xB966D409,
  5837. 0xCE61E49F, 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4, 0x59B33D17, 0x2EB40D81,
  5838. 0xB7BD5C3B, 0xC0BA6CAD, 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A, 0xEAD54739,
  5839. 0x9DD277AF, 0x04DB2615, 0x73DC1683, 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8,
  5840. 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1, 0xF00F9344, 0x8708A3D2, 0x1E01F268,
  5841. 0x6906C2FE, 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7, 0xFED41B76, 0x89D32BE0,
  5842. 0x10DA7A5A, 0x67DD4ACC, 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5, 0xD6D6A3E8,
  5843. 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252, 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B,
  5844. 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60, 0xDF60EFC3, 0xA867DF55, 0x316E8EEF,
  5845. 0x4669BE79, 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236, 0xCC0C7795, 0xBB0B4703,
  5846. 0x220216B9, 0x5505262F, 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04, 0xC2D7FFA7,
  5847. 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D, 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A,
  5848. 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713, 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE,
  5849. 0x0CB61B38, 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21, 0x86D3D2D4, 0xF1D4E242,
  5850. 0x68DDB3F8, 0x1FDA836E, 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777, 0x88085AE6,
  5851. 0xFF0F6A70, 0x66063BCA, 0x11010B5C, 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45,
  5852. 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2, 0xA7672661, 0xD06016F7, 0x4969474D,
  5853. 0x3E6E77DB, 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0, 0xA9BCAE53, 0xDEBB9EC5,
  5854. 0x47B2CF7F, 0x30B5FFE9, 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6, 0xBAD03605,
  5855. 0xCDD70693, 0x54DE5729, 0x23D967BF, 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94,
  5856. 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D
  5857. };
  5858. new crc = -1;
  5859. for(new i = 0; i < strlen(string); i++)
  5860. {
  5861. crc = (crc >>> 8) ^ crc_table[(crc ^ string[i]) & 0xFF];
  5862. }
  5863. return crc ^ -1;
  5864. }
  5865. stock GetPlayerNameEx(playerid)
  5866. {
  5867. new
  5868. sz_playerName[MAX_PLAYER_NAME],
  5869. i_pos;
  5870. GetPlayerName(playerid, sz_playerName, MAX_PLAYER_NAME);
  5871. while ((i_pos = strfind(sz_playerName, "_", false, i_pos)) != -1) sz_playerName[i_pos] = ' ';
  5872. return sz_playerName;
  5873. }
  5874. stock IsKeyJustDown(key, newkeys, oldkeys)
  5875. {
  5876. if((newkeys & key) && !(oldkeys & key)) return 1;
  5877. return 0;
  5878. }
  5879. stock IsInvalidSkin(skin)
  5880. {
  5881. if(!(0 <= skin <= 299)) return 1;
  5882. return 0;
  5883. }
  5884. stock IsValidSkin(skinid)
  5885. {
  5886. if(skinid < 0 || skinid > 299)
  5887. return 0;
  5888. switch (skinid)
  5889. {
  5890. case
  5891. 0, 105, 106, 107, 102, 103, 69, 123,
  5892. 104, 114, 115, 116, 174, 175, 100, 247, 173,
  5893. 248, 117, 118, 147, 163, 21, 24, 143, 71,
  5894. 156, 176, 177, 108, 109, 110, 165, 166,
  5895. 265, 266, 267, 269, 270, 271, 274, 276,
  5896. 277, 278, 279, 280, 281, 282, 283, 284,
  5897. 285, 286, 287, 288, 294, 296, 297: return 0;
  5898. }
  5899. return 1;
  5900. }
  5901. stock IsAHelicopter(carid)
  5902. {
  5903. if(GetVehicleModel(carid) == 548 || GetVehicleModel(carid) == 425 || GetVehicleModel(carid) == 417 || GetVehicleModel(carid) == 487 || GetVehicleModel(carid) == 488 || GetVehicleModel(carid) == 497 || GetVehicleModel(carid) == 563 || GetVehicleModel(carid) == 447 || GetVehicleModel(carid) == 469 || GetVehicleModel(carid) == 593) {
  5904. return 1;
  5905. }
  5906. return 0;
  5907. }
  5908. stock Float: GetVehicleSpeedByVehicleID(vehicleid)
  5909. {
  5910. new
  5911. Float: fVelocity[4];
  5912. GetVehicleVelocity(vehicleid, fVelocity[0], fVelocity[1], fVelocity[2]);
  5913. fVelocity[3] = floatsqroot((fVelocity[0] * fVelocity[0]) + (fVelocity[1] * fVelocity[1]) + (fVelocity[2] * fVelocity[2])) * 100;
  5914. fVelocity[3] += fVelocity[3] / 2;
  5915. return fVelocity[3];
  5916. }
  5917. stock Float: player_get_speed(playerid)
  5918. {
  5919. new
  5920. Float: fVelocity[4];
  5921. GetVehicleVelocity(GetPlayerVehicleID(playerid), fVelocity[0], fVelocity[1], fVelocity[2]);
  5922. fVelocity[3] = floatsqroot((fVelocity[0] * fVelocity[0]) + (fVelocity[1] * fVelocity[1]) + (fVelocity[2] * fVelocity[2])) * 100;
  5923. fVelocity[3] += fVelocity[3] / 2;
  5924. return fVelocity[3];
  5925. }
  5926. stock CheckVPH(newph)
  5927. {
  5928. new PHList[32];
  5929. new number;
  5930. new string[32];
  5931. new File: file = fopen("PHList.cfg", io_read);
  5932. if(file)
  5933. {
  5934. while(fread(file, string))
  5935. {
  5936. strmid(PHList, string, 0, strlen(string)-2, 255);
  5937. number = strval(PHList);
  5938. if(number == newph)
  5939. {
  5940. fclose(file);
  5941. return 1;
  5942. }
  5943. }
  5944. fclose(file);
  5945. return 0;
  5946. }
  5947. return 1;
  5948. }
  5949. stock CheckPH(playerid)
  5950. {
  5951. if(!fexist("PHList.cfg")) return 1;
  5952. if(PlayerInfo[playerid][pNumber] == 0) {return 0;}
  5953. new PHList[32];
  5954. new number;
  5955. new string[32];
  5956. new File: file = fopen("PHList.cfg", io_read);
  5957. if(file)
  5958. {
  5959. while(fread(file, string))
  5960. {
  5961. strmid(PHList, string, 0, strlen(string)-2, 255);
  5962. number = strval(PHList);
  5963. if(number == PlayerInfo[playerid][pNumber])
  5964. {
  5965. fclose(file);
  5966. return 1;
  5967. }
  5968. }
  5969. fclose(file);
  5970. new File: file2 = fopen("PHList.cfg", io_append);
  5971. format(string, sizeof(string), "%d\r\n", PlayerInfo[playerid][pNumber]);
  5972. fwrite(file2, string);
  5973. fclose(file2);
  5974. //printf("New number added to PHList.cfg, ph:%d player:%s", PlayerInfo[playerid][pNumber], GetPlayerNameEx(playerid));
  5975. return 0;
  5976. }
  5977. return 1;
  5978. }
  5979. stock ReplacePH(oldph, newph)
  5980. {
  5981. new File: file2 = fopen("tmpPHList.cfg", io_write);
  5982. new number;
  5983. new string[32];
  5984. new PHList[32];
  5985. format(string, sizeof(string), "%d\r\n", newph);
  5986. fwrite(file2, string);
  5987. fclose(file2);
  5988. file2 = fopen("tmpPHList.cfg", io_append);
  5989. new File: file = fopen("PHList.cfg", io_read);
  5990. while(fread(file, string))
  5991. {
  5992. strmid(PHList, string, 0, strlen(string)-1, 255);
  5993. number = strval(PHList);
  5994. if(number != oldph)
  5995. {
  5996. format(string, sizeof(string), "%d\r\n", number);
  5997. fwrite(file2, string);
  5998. }
  5999. }
  6000. fclose(file);
  6001. fclose(file2);
  6002. file2 = fopen("PHList.cfg", io_write);
  6003. file = fopen("tmpPHList.cfg", io_read);
  6004. while(fread(file, string))
  6005. {
  6006. strmid(PHList, string, 0, strlen(string)-1, 255);
  6007. number = strval(PHList);
  6008. if(number != oldph)
  6009. {
  6010. format(string, sizeof(string), "%d\r\n", number);
  6011. fwrite(file2, string);
  6012. }
  6013. }
  6014. fclose(file);
  6015. fclose(file2);
  6016. fremove("tmpPHList.cfg");
  6017. //printf("ph %d replaced with ph %d in PHList.cfg", oldph, newph);
  6018. return 1;
  6019. }
  6020. stock SearchingHit(playerid)
  6021. {
  6022. new string[ 128 ];
  6023. SendClientMessage(playerid, COLOR_WHITE, "Available Contracts:");
  6024. new hits;
  6025. foreach(Player, i)
  6026. {
  6027. if(PlayerInfo[i][pFaction] != 4 && PlayerInfo[i][pHeadValue] > 0)
  6028. {
  6029. if(GotHit[i] == 0)
  6030. {
  6031. hits++;
  6032. format(string, sizeof(string), "Name: %s (ID %d) | Price: $%d | Contracted By: %s | Details: %s | Chased By: Nobody", GetPlayerNameEx(i), i, PlayerInfo[i][pHeadValue], PlayerInfo[i][pContractBy], PlayerInfo[i][pContractDetail]);
  6033. SendClientMessage(playerid, COLOR_GRAD2, string);
  6034. }
  6035. else
  6036. {
  6037. format(string, sizeof(string), "Name: %s (ID %d) | Price: $%d | Contracted By: %s | Details: %s | Chased By: %s", GetPlayerNameEx(i), i, PlayerInfo[i][pHeadValue], PlayerInfo[i][pContractBy], PlayerInfo[i][pContractDetail], GetPlayerNameEx(GetChased[i]));
  6038. SendClientMessage(playerid, COLOR_GRAD2, string);
  6039. }
  6040. }
  6041. }
  6042. if(hits && PlayerInfo[playerid][pRank] <= 1 && PlayerInfo[playerid][pFaction] == 4)
  6043. {
  6044. SendClientMessage(playerid, COLOR_YELLOW, "Use /givemehit to assign a contract to yourself.");
  6045. }
  6046. if(hits && PlayerInfo[playerid][pRank] >= 6 && PlayerInfo[playerid][pFaction] == 4 && PlayerInfo[playerid][pLeader] == 4)
  6047. {
  6048. SendClientMessage(playerid, COLOR_YELLOW, "Use /givehit to assign a contract to one of the hitmen.");
  6049. }
  6050. if(hits == 0)
  6051. {
  6052. SendClientMessage(playerid, COLOR_GREY, "There are no hits available.");
  6053. }
  6054. return 0;
  6055. }
  6056. stock GivePlayerValidAdminWeapon(playerid, WeaponID, Ammo)
  6057. {
  6058. if(PlayerInfo[playerid][pConnectTime] < 2 && WeaponID != 46 && WeaponID != 43) return 1;
  6059. switch(WeaponID)
  6060. {
  6061. case 0, 1:
  6062. {
  6063. PlayerInfo[playerid][pAGuns][0] = WeaponID;
  6064. GivePlayerWeapon(playerid, WeaponID, Ammo);
  6065. }
  6066. case 2, 3, 4, 5, 6, 7, 8, 9:
  6067. {
  6068. PlayerInfo[playerid][pAGuns][1] = WeaponID;
  6069. GivePlayerWeapon(playerid, WeaponID, Ammo);
  6070. }
  6071. case 22, 23, 24:
  6072. {
  6073. PlayerInfo[playerid][pAGuns][2] = WeaponID;
  6074. GivePlayerWeapon(playerid, WeaponID, Ammo);
  6075. }
  6076. case 25, 26, 27:
  6077. {
  6078. PlayerInfo[playerid][pAGuns][ 3 ] = WeaponID;
  6079. GivePlayerWeapon(playerid, WeaponID, Ammo);
  6080. }
  6081. case 28, 29, 32:
  6082. {
  6083. PlayerInfo[playerid][pAGuns][4] = WeaponID;
  6084. GivePlayerWeapon(playerid, WeaponID, Ammo);
  6085. }
  6086. case 30, 31:
  6087. {
  6088. PlayerInfo[playerid][pAGuns][5] = WeaponID;
  6089. GivePlayerWeapon(playerid, WeaponID, Ammo);
  6090. }
  6091. case 33, 34:
  6092. {
  6093. PlayerInfo[playerid][pAGuns][6] = WeaponID;
  6094. GivePlayerWeapon(playerid, WeaponID, Ammo);
  6095. }
  6096. case 35, 36, 37, 38:
  6097. {
  6098. PlayerInfo[playerid][pAGuns][7] = WeaponID;
  6099. GivePlayerWeapon(playerid, WeaponID, Ammo);
  6100. }
  6101. case 16, 17, 18, 39, 40:
  6102. {
  6103. PlayerInfo[playerid][pAGuns][8] = WeaponID;
  6104. GivePlayerWeapon(playerid, WeaponID, Ammo);
  6105. }
  6106. case 41, 42, 43:
  6107. {
  6108. PlayerInfo[playerid][pAGuns][9] = WeaponID;
  6109. GivePlayerWeapon(playerid, WeaponID, Ammo);
  6110. }
  6111. case 10, 11, 12, 13, 14, 15:
  6112. {
  6113. PlayerInfo[playerid][pAGuns][10] = WeaponID;
  6114. GivePlayerWeapon(playerid, WeaponID, Ammo);
  6115. }
  6116. case 44, 45, 46:
  6117. {
  6118. PlayerInfo[playerid][pAGuns][11] = WeaponID;
  6119. GivePlayerWeapon(playerid, WeaponID, Ammo);
  6120. }
  6121. }
  6122. return 1;
  6123. }
  6124. stock GivePlayerValidWeapon(playerid, WeaponID, Ammo)
  6125. {
  6126. if(PlayerInfo[playerid][pConnectTime] < 2 && WeaponID != 46 && WeaponID != 43) return 1;
  6127. switch(WeaponID)
  6128. {
  6129. case 0, 1:
  6130. {
  6131. PlayerInfo[playerid][pGuns][0] = WeaponID;
  6132. GivePlayerWeapon(playerid, WeaponID, Ammo);
  6133. }
  6134. case 2, 3, 4, 5, 6, 7, 8, 9:
  6135. {
  6136. PlayerInfo[playerid][pGuns][1] = WeaponID;
  6137. GivePlayerWeapon(playerid, WeaponID, Ammo);
  6138. }
  6139. case 22, 23, 24:
  6140. {
  6141. PlayerInfo[playerid][pGuns][2] = WeaponID;
  6142. GivePlayerWeapon(playerid, WeaponID, Ammo);
  6143. }
  6144. case 25, 26, 27:
  6145. {
  6146. PlayerInfo[playerid][pGuns][ 3 ] = WeaponID;
  6147. GivePlayerWeapon(playerid, WeaponID, Ammo);
  6148. }
  6149. case 28, 29, 32:
  6150. {
  6151. PlayerInfo[playerid][pGuns][4] = WeaponID;
  6152. GivePlayerWeapon(playerid, WeaponID, Ammo);
  6153. }
  6154. case 30, 31:
  6155. {
  6156. PlayerInfo[playerid][pGuns][5] = WeaponID;
  6157. GivePlayerWeapon(playerid, WeaponID, Ammo);
  6158. }
  6159. case 33, 34:
  6160. {
  6161. PlayerInfo[playerid][pGuns][6] = WeaponID;
  6162. GivePlayerWeapon(playerid, WeaponID, Ammo);
  6163. }
  6164. case 35, 36, 37, 38:
  6165. {
  6166. PlayerInfo[playerid][pGuns][7] = WeaponID;
  6167. GivePlayerWeapon(playerid, WeaponID, Ammo);
  6168. }
  6169. case 16, 17, 18, 39, 40:
  6170. {
  6171. PlayerInfo[playerid][pGuns][8] = WeaponID;
  6172. GivePlayerWeapon(playerid, WeaponID, Ammo);
  6173. }
  6174. case 41, 42, 43:
  6175. {
  6176. PlayerInfo[playerid][pGuns][9] = WeaponID;
  6177. GivePlayerWeapon(playerid, WeaponID, Ammo);
  6178. }
  6179. case 10, 11, 12, 13, 14, 15:
  6180. {
  6181. PlayerInfo[playerid][pGuns][10] = WeaponID;
  6182. GivePlayerWeapon(playerid, WeaponID, Ammo);
  6183. }
  6184. case 44, 45, 46:
  6185. {
  6186. PlayerInfo[playerid][pGuns][11] = WeaponID;
  6187. GivePlayerWeapon(playerid, WeaponID, Ammo);
  6188. }
  6189. }
  6190. return 1;
  6191. }
  6192. stock SetPlayerWeapons(playerid)
  6193. {
  6194. if(GetPVarInt(playerid, "PBM") > 0) { return 1; }
  6195. ResetPlayerWeapons(playerid);
  6196. for(new s = 0; s < 12; s++)
  6197. {
  6198. if(PlayerInfo[playerid][pGuns][s] > 0 && PlayerInfo[playerid][pAGuns][s] == 0)
  6199. {
  6200. if(PlayerInfo[playerid][pGuns][s] == 17)
  6201. GivePlayerValidWeapon(playerid, PlayerInfo[playerid][pGuns][s], 5);
  6202. else
  6203. GivePlayerValidWeapon(playerid, PlayerInfo[playerid][pGuns][s], 60000);
  6204. }
  6205. }
  6206. return 1;
  6207. }
  6208. stock SetPlayerWeaponsEx(playerid)
  6209. {
  6210. ResetPlayerWeapons(playerid);
  6211. for(new s = 0; s < 12; s++)
  6212. {
  6213. if(PlayerInfo[playerid][pGuns][s] > 0)
  6214. {
  6215. GivePlayerValidWeapon(playerid, PlayerInfo[playerid][pGuns][s], 60000);
  6216. }
  6217. }
  6218. SetPlayerArmedWeapon(playerid, GetPVarInt(playerid, "LastWeapon"));
  6219. }
  6220. stock ResetPlayerWeaponsEx(playerid)
  6221. {
  6222. ResetPlayerWeapons(playerid);
  6223. PlayerInfo[playerid][pGuns][0] = 0;
  6224. PlayerInfo[playerid][pGuns][1] = 0;
  6225. PlayerInfo[playerid][pGuns][2] = 0;
  6226. PlayerInfo[playerid][pGuns][ 3 ] = 0;
  6227. PlayerInfo[playerid][pGuns][4] = 0;
  6228. PlayerInfo[playerid][pGuns][5] = 0;
  6229. PlayerInfo[playerid][pGuns][6] = 0;
  6230. PlayerInfo[playerid][pGuns][7] = 0;
  6231. PlayerInfo[playerid][pGuns][8] = 0;
  6232. PlayerInfo[playerid][pGuns][9] = 0;
  6233. PlayerInfo[playerid][pGuns][10] = 0;
  6234. PlayerInfo[playerid][pGuns][11] = 0;
  6235. PlayerInfo[playerid][pAGuns][0] = 0;
  6236. PlayerInfo[playerid][pAGuns][1] = 0;
  6237. PlayerInfo[playerid][pAGuns][2] = 0;
  6238. PlayerInfo[playerid][pAGuns][ 3 ] = 0;
  6239. PlayerInfo[playerid][pAGuns][4] = 0;
  6240. PlayerInfo[playerid][pAGuns][5] = 0;
  6241. PlayerInfo[playerid][pAGuns][6] = 0;
  6242. PlayerInfo[playerid][pAGuns][7] = 0;
  6243. PlayerInfo[playerid][pAGuns][8] = 0;
  6244. PlayerInfo[playerid][pAGuns][9] = 0;
  6245. PlayerInfo[playerid][pAGuns][10] = 0;
  6246. PlayerInfo[playerid][pAGuns][11] = 0;
  6247. return 1;
  6248. }
  6249. RemovePlayerWeapon(playerid, weaponid)
  6250. {
  6251. new plyWeapons[13];
  6252. for(new s = 0; s < 12; s++)
  6253. {
  6254. new wep, ammo;
  6255. GetPlayerWeaponData(playerid, s, wep, ammo);
  6256. if(wep != weaponid)
  6257. {
  6258. GetPlayerWeaponData(playerid, s, plyWeapons[s], ammo);
  6259. }
  6260. else
  6261. {
  6262. PlayerInfo[playerid][pGuns][s] = 0;
  6263. PlayerInfo[playerid][pAGuns][s] = 0;
  6264. }
  6265. }
  6266. ResetPlayerWeapons(playerid);
  6267. for(new s = 0; s < 12; s++)
  6268. {
  6269. GivePlayerValidWeapon(playerid, plyWeapons[s], 60000);
  6270. }
  6271. return 1;
  6272. }
  6273. stock GetWeaponSlot(weaponid)
  6274. {
  6275. switch(weaponid)
  6276. {
  6277. case 0, 1:
  6278. {
  6279. return 0;
  6280. }
  6281. case 2, 3, 4, 5, 6, 7, 8, 9:
  6282. {
  6283. return 1;
  6284. }
  6285. case 22, 23, 24:
  6286. {
  6287. return 2;
  6288. }
  6289. case 25, 26, 27:
  6290. {
  6291. return 3;
  6292. }
  6293. case 28, 29, 32:
  6294. {
  6295. return 4;
  6296. }
  6297. case 30, 31:
  6298. {
  6299. return 5;
  6300. }
  6301. case 33, 34:
  6302. {
  6303. return 6;
  6304. }
  6305. case 35, 36, 37, 38:
  6306. {
  6307. return 7;
  6308. }
  6309. case 16, 17, 18, 39, 40:
  6310. {
  6311. return 8;
  6312. }
  6313. case 41, 42, 43:
  6314. {
  6315. return 9;
  6316. }
  6317. case 10, 11, 12, 13, 14, 15:
  6318. {
  6319. return 10;
  6320. }
  6321. case 44, 45, 46:
  6322. {
  6323. return 11;
  6324. }
  6325. }
  6326. return -1;
  6327. }
  6328. stock partType(type)
  6329. {
  6330. new name[32];
  6331. switch(type)
  6332. {
  6333. case 0:
  6334. {
  6335. name = "Spoiler";
  6336. }
  6337. case 1:
  6338. {
  6339. name = "Hood";
  6340. }
  6341. case 2:
  6342. {
  6343. name = "Roof";
  6344. }
  6345. case 3:
  6346. {
  6347. name = "Sideskirt";
  6348. }
  6349. case 4:
  6350. {
  6351. name = "Lamps";
  6352. }
  6353. case 5:
  6354. {
  6355. name = "Nitro";
  6356. }
  6357. case 6:
  6358. {
  6359. name = "Exhaust";
  6360. }
  6361. case 7:
  6362. {
  6363. name = "Wheels";
  6364. }
  6365. case 8:
  6366. {
  6367. name = "Stereo";
  6368. }
  6369. case 9:
  6370. {
  6371. name = "Hydraulics";
  6372. }
  6373. case 10:
  6374. {
  6375. name = "Front Bumper";
  6376. }
  6377. case 11:
  6378. {
  6379. name = "Rear Bumper";
  6380. }
  6381. case 12:
  6382. {
  6383. name = "Left Vent";
  6384. }
  6385. case 13:
  6386. {
  6387. name = "Right Vent";
  6388. }
  6389. default:
  6390. {
  6391. name = "Unknown";
  6392. }
  6393. }
  6394. return name;
  6395. }
  6396. stock partName(part)
  6397. {
  6398. new name[32];
  6399. switch(part - 1000)
  6400. {
  6401. case 0:
  6402. {
  6403. name = "Pro";
  6404. }
  6405. case 1:
  6406. {
  6407. name = "Win";
  6408. }
  6409. case 2:
  6410. {
  6411. name = "Drag";
  6412. }
  6413. case 3:
  6414. {
  6415. name = "Alpha";
  6416. }
  6417. case 4:
  6418. {
  6419. name = "Champ Scoop";
  6420. }
  6421. case 5:
  6422. {
  6423. name = "Fury Scoop";
  6424. }
  6425. case 6:
  6426. {
  6427. name = "Roof Scoop";
  6428. }
  6429. case 7:
  6430. {
  6431. name = "Sideskirt";
  6432. }
  6433. case 8:
  6434. {
  6435. name = "2x";
  6436. }
  6437. case 9:
  6438. {
  6439. name = "5x";
  6440. }
  6441. case 10:
  6442. {
  6443. name = "10x";
  6444. }
  6445. case 11:
  6446. {
  6447. name = "Race Scoop";
  6448. }
  6449. case 12:
  6450. {
  6451. name = "Worx Scoop";
  6452. }
  6453. case 13:
  6454. {
  6455. name = "Round Fog";
  6456. }
  6457. case 14:
  6458. {
  6459. name = "Champ";
  6460. }
  6461. case 15:
  6462. {
  6463. name = "Race";
  6464. }
  6465. case 16:
  6466. {
  6467. name = "Worx";
  6468. }
  6469. case 17:
  6470. {
  6471. name = "Sideskirt";
  6472. }
  6473. case 18:
  6474. {
  6475. name = "Upswept";
  6476. }
  6477. case 19:
  6478. {
  6479. name = "Twin";
  6480. }
  6481. case 20:
  6482. {
  6483. name = "Large";
  6484. }
  6485. case 21:
  6486. {
  6487. name = "Medium";
  6488. }
  6489. case 22:
  6490. {
  6491. name = "Small";
  6492. }
  6493. case 23:
  6494. {
  6495. name = "Fury";
  6496. }
  6497. case 24:
  6498. {
  6499. name = "Square Fog";
  6500. }
  6501. case 26:
  6502. {
  6503. name = "Alien";
  6504. }
  6505. case 27:
  6506. {
  6507. name = "Alien";
  6508. }
  6509. case 28:
  6510. {
  6511. name = "Alien";
  6512. }
  6513. case 29:
  6514. {
  6515. name = "X-Flow";
  6516. }
  6517. case 30:
  6518. {
  6519. name = "X-Flow";
  6520. }
  6521. case 31:
  6522. {
  6523. name = "X-Flow";
  6524. }
  6525. case 32:
  6526. {
  6527. name = "Alien Roof Vent";
  6528. }
  6529. case 33:
  6530. {
  6531. name = "X-Flow Roof Vent";
  6532. }
  6533. case 34:
  6534. {
  6535. name = "Alien";
  6536. }
  6537. case 35:
  6538. {
  6539. name = "X-Flow Roof Vent";
  6540. }
  6541. case 36:
  6542. {
  6543. name = "Alien";
  6544. }
  6545. case 37:
  6546. {
  6547. name = "X-Flow";
  6548. }
  6549. case 38:
  6550. {
  6551. name = "Alien Roof Vent";
  6552. }
  6553. case 39:
  6554. {
  6555. name = "X-Flow";
  6556. }
  6557. case 40:
  6558. {
  6559. name = "Alien";
  6560. }
  6561. case 41:
  6562. {
  6563. name = "X-Flow";
  6564. }
  6565. case 42:
  6566. {
  6567. name = "Chrome";
  6568. }
  6569. case 43:
  6570. {
  6571. name = "Slamin";
  6572. }
  6573. case 44:
  6574. {
  6575. name = "Chrome";
  6576. }
  6577. case 45:
  6578. {
  6579. name = "X-Flow";
  6580. }
  6581. case 46:
  6582. {
  6583. name = "Alien";
  6584. }
  6585. case 47:
  6586. {
  6587. name = "Alien";
  6588. }
  6589. case 48:
  6590. {
  6591. name = "X-Flow";
  6592. }
  6593. case 49:
  6594. {
  6595. name = "Alien";
  6596. }
  6597. case 50:
  6598. {
  6599. name = "X-Flow";
  6600. }
  6601. case 51:
  6602. {
  6603. name = "Alien";
  6604. }
  6605. case 52:
  6606. {
  6607. name = "X-Flow";
  6608. }
  6609. case 53:
  6610. {
  6611. name = "X-Flow";
  6612. }
  6613. case 54:
  6614. {
  6615. name = "Alien";
  6616. }
  6617. case 55:
  6618. {
  6619. name = "Alien";
  6620. }
  6621. case 56:
  6622. {
  6623. name = "Alien";
  6624. }
  6625. case 57:
  6626. {
  6627. name = "X-Flow";
  6628. }
  6629. case 58:
  6630. {
  6631. name = "Alien";
  6632. }
  6633. case 59:
  6634. {
  6635. name = "X-Flow";
  6636. }
  6637. case 60:
  6638. {
  6639. name = "X-Flow";
  6640. }
  6641. case 61:
  6642. {
  6643. name = "X-Flow";
  6644. }
  6645. case 62:
  6646. {
  6647. name = "Alien";
  6648. }
  6649. case 63:
  6650. {
  6651. name = "X-Flow";
  6652. }
  6653. case 64:
  6654. {
  6655. name = "Alien";
  6656. }
  6657. case 65:
  6658. {
  6659. name = "Alien";
  6660. }
  6661. case 66:
  6662. {
  6663. name = "X-Flow";
  6664. }
  6665. case 67:
  6666. {
  6667. name = "Alien";
  6668. }
  6669. case 68:
  6670. {
  6671. name = "X-Flow";
  6672. }
  6673. case 69:
  6674. {
  6675. name = "Alien";
  6676. }
  6677. case 70:
  6678. {
  6679. name = "X-Flow";
  6680. }
  6681. case 71:
  6682. {
  6683. name = "Alien";
  6684. }
  6685. case 72:
  6686. {
  6687. name = "X-Flow";
  6688. }
  6689. case 88:
  6690. {
  6691. name = "Alien";
  6692. }
  6693. case 89:
  6694. {
  6695. name = "X-Flow";
  6696. }
  6697. case 90:
  6698. {
  6699. name = "Alien";
  6700. }
  6701. case 91:
  6702. {
  6703. name = "X-Flow";
  6704. }
  6705. case 92:
  6706. {
  6707. name = "Alien";
  6708. }
  6709. case 93:
  6710. {
  6711. name = "X-Flow";
  6712. }
  6713. case 94:
  6714. {
  6715. name = "Alien";
  6716. }
  6717. case 95:
  6718. {
  6719. name = "X-Flow";
  6720. }
  6721. case 99:
  6722. {
  6723. name = "Chrome";
  6724. }
  6725. case 100:
  6726. {
  6727. name = "Chrome Grill";
  6728. }
  6729. case 101:
  6730. {
  6731. name = "Chrome Flames";
  6732. }
  6733. case 102:
  6734. {
  6735. name = "Chrome Strip";
  6736. }
  6737. case 103:
  6738. {
  6739. name = "Covertible";
  6740. }
  6741. case 104:
  6742. {
  6743. name = "Chrome";
  6744. }
  6745. case 105:
  6746. {
  6747. name = "Slamin";
  6748. }
  6749. case 106:
  6750. {
  6751. name = "Chrome Arches";
  6752. }
  6753. case 107:
  6754. {
  6755. name = "Chrome Strip";
  6756. }
  6757. case 108:
  6758. {
  6759. name = "Chrome Strip";
  6760. }
  6761. case 109:
  6762. {
  6763. name = "Chrome";
  6764. }
  6765. case 110:
  6766. {
  6767. name = "Slamin";
  6768. }
  6769. case 113:
  6770. {
  6771. name = "Chrome";
  6772. }
  6773. case 114:
  6774. {
  6775. name = "Slamin";
  6776. }
  6777. case 115:
  6778. {
  6779. name = "Chrome";
  6780. }
  6781. case 116:
  6782. {
  6783. name = "Slamin";
  6784. }
  6785. case 117:
  6786. {
  6787. name = "Chrome";
  6788. }
  6789. case 118:
  6790. {
  6791. name = "Chrome Trim";
  6792. }
  6793. case 119:
  6794. {
  6795. name = "Wheelcovers";
  6796. }
  6797. case 120:
  6798. {
  6799. name = "Chrome Trim";
  6800. }
  6801. case 121:
  6802. {
  6803. name = "Wheelcovers";
  6804. }
  6805. case 122:
  6806. {
  6807. name = "Chrome Flames";
  6808. }
  6809. case 123:
  6810. {
  6811. name = "Bullbar Chrome Bars";
  6812. }
  6813. case 124:
  6814. {
  6815. name = "Chrome Arches";
  6816. }
  6817. case 125:
  6818. {
  6819. name = "Bullbar Chrome Lights";
  6820. }
  6821. case 126:
  6822. {
  6823. name = "Chrome";
  6824. }
  6825. case 127:
  6826. {
  6827. name = "Slamin";
  6828. }
  6829. case 128:
  6830. {
  6831. name = "Vinyl Hardtop";
  6832. }
  6833. case 129:
  6834. {
  6835. name = "Chrome";
  6836. }
  6837. case 130:
  6838. {
  6839. name = "Hardtop";
  6840. }
  6841. case 131:
  6842. {
  6843. name = "Softtop";
  6844. }
  6845. case 132:
  6846. {
  6847. name = "Slamin";
  6848. }
  6849. case 133:
  6850. {
  6851. name = "Chrome Strip";
  6852. }
  6853. case 134:
  6854. {
  6855. name = "Chrome Strip";
  6856. }
  6857. case 135:
  6858. {
  6859. name = "Slamin";
  6860. }
  6861. case 136:
  6862. {
  6863. name = "Chrome";
  6864. }
  6865. case 137:
  6866. {
  6867. name = "Chrome Strip";
  6868. }
  6869. case 138:
  6870. {
  6871. name = "Alien";
  6872. }
  6873. case 139:
  6874. {
  6875. name = "X-Flow";
  6876. }
  6877. case 140:
  6878. {
  6879. name = "X-Flow";
  6880. }
  6881. case 141:
  6882. {
  6883. name = "Alien";
  6884. }
  6885. case 142:
  6886. {
  6887. name = "Left Oval Vents";
  6888. }
  6889. case 143:
  6890. {
  6891. name = "Right Oval Vents";
  6892. }
  6893. case 144:
  6894. {
  6895. name = "Left Square Vents";
  6896. }
  6897. case 145:
  6898. {
  6899. name = "Right Square Vents";
  6900. }
  6901. case 146:
  6902. {
  6903. name = "X-Flow";
  6904. }
  6905. case 147:
  6906. {
  6907. name = "Alien";
  6908. }
  6909. case 148:
  6910. {
  6911. name = "X-Flow";
  6912. }
  6913. case 149:
  6914. {
  6915. name = "Alien";
  6916. }
  6917. case 150:
  6918. {
  6919. name = "Alien";
  6920. }
  6921. case 151:
  6922. {
  6923. name = "X-Flow";
  6924. }
  6925. case 152:
  6926. {
  6927. name = "X-Flow";
  6928. }
  6929. case 153:
  6930. {
  6931. name = "Alien";
  6932. }
  6933. case 154:
  6934. {
  6935. name = "Alien";
  6936. }
  6937. case 155:
  6938. {
  6939. name = "Alien";
  6940. }
  6941. case 156:
  6942. {
  6943. name = "X-Flow";
  6944. }
  6945. case 157:
  6946. {
  6947. name = "X-Flow";
  6948. }
  6949. case 158:
  6950. {
  6951. name = "X-Flow";
  6952. }
  6953. case 159:
  6954. {
  6955. name = "Alien";
  6956. }
  6957. case 160:
  6958. {
  6959. name = "Alien";
  6960. }
  6961. case 161:
  6962. {
  6963. name = "X-Flow";
  6964. }
  6965. case 162:
  6966. {
  6967. name = "Alien";
  6968. }
  6969. case 163:
  6970. {
  6971. name = "X-Flow";
  6972. }
  6973. case 164:
  6974. {
  6975. name = "Alien";
  6976. }
  6977. case 165:
  6978. {
  6979. name = "X-Flow";
  6980. }
  6981. case 166:
  6982. {
  6983. name = "Alien";
  6984. }
  6985. case 167:
  6986. {
  6987. name = "X-Flow";
  6988. }
  6989. case 168:
  6990. {
  6991. name = "Alien";
  6992. }
  6993. case 169:
  6994. {
  6995. name = "Alien";
  6996. }
  6997. case 170:
  6998. {
  6999. name = "X-Flow";
  7000. }
  7001. case 171:
  7002. {
  7003. name = "Alien";
  7004. }
  7005. case 172:
  7006. {
  7007. name = "X-Flow";
  7008. }
  7009. case 173:
  7010. {
  7011. name = "X-Flow";
  7012. }
  7013. case 174:
  7014. {
  7015. name = "Chrome";
  7016. }
  7017. case 175:
  7018. {
  7019. name = "Slamin";
  7020. }
  7021. case 176:
  7022. {
  7023. name = "Chrome";
  7024. }
  7025. case 177:
  7026. {
  7027. name = "Slamin";
  7028. }
  7029. case 178:
  7030. {
  7031. name = "Slamin";
  7032. }
  7033. case 179:
  7034. {
  7035. name = "Chrome";
  7036. }
  7037. case 180:
  7038. {
  7039. name = "Chrome";
  7040. }
  7041. case 181:
  7042. {
  7043. name = "Slamin";
  7044. }
  7045. case 182:
  7046. {
  7047. name = "Chrome";
  7048. }
  7049. case 183:
  7050. {
  7051. name = "Slamin";
  7052. }
  7053. case 184:
  7054. {
  7055. name = "Chrome";
  7056. }
  7057. case 185:
  7058. {
  7059. name = "Slamin";
  7060. }
  7061. case 186:
  7062. {
  7063. name = "Slamin";
  7064. }
  7065. case 187:
  7066. {
  7067. name = "Chrome";
  7068. }
  7069. case 188:
  7070. {
  7071. name = "Slamin";
  7072. }
  7073. case 189:
  7074. {
  7075. name = "Chrome";
  7076. }
  7077. case 190:
  7078. {
  7079. name = "Slamin";
  7080. }
  7081. case 191:
  7082. {
  7083. name = "Chrome";
  7084. }
  7085. case 192:
  7086. {
  7087. name = "Chrome";
  7088. }
  7089. case 193:
  7090. {
  7091. name = "Slamin";
  7092. }
  7093. }
  7094. return name;
  7095. }
  7096. stock SetPlayerSpawn(playerid)
  7097. {
  7098. if(IsPlayerConnected(playerid))
  7099. {
  7100. DeletePVar(playerid, "OPD");
  7101. SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
  7102. if(GetPVarInt(playerid, "SpecOff") == 1)
  7103. {
  7104. SetPlayerPos(playerid, GetPVarFloat(playerid, "SpecPosX"), GetPVarFloat(playerid, "SpecPosY"), GetPVarFloat(playerid, "SpecPosZ"));
  7105. SetPlayerInterior(playerid, GetPVarInt(playerid, "SpecInt"));
  7106. SetPlayerVirtualWorld(playerid, GetPVarInt(playerid, "SpecVW"));
  7107. DeletePVar(playerid, "SpecOff");
  7108. return 1;
  7109. }
  7110. if(PlayerInfo[playerid][pTut] == 0)
  7111. {
  7112. TogglePlayerControllable(playerid,0);
  7113. SetPlayerColor(playerid,TEAM_HIT_COLOR);
  7114. SetPlayerPos(playerid, 766.50, -1684.32, -6.86);
  7115. SetPlayerCameraPos(playerid, 751.93, -1673.95, 16.01);
  7116. SetPlayerCameraLookAt(playerid, 699.55, -1628.93, 5.88);
  7117. ShowPlayerDialogEx(playerid, REGISTRATION_MENU_ONE, DIALOG_STYLE_MSGBOX, "{FFA500}Registration", "{FFFFFF}What do you want your character's gender to be?", "Male", "Female");
  7118. SetPlayerVirtualWorld(playerid, 70707);
  7119. return 1;
  7120. }
  7121. if(AdminDuty[playerid] == 1)
  7122. {
  7123. SetPlayerVirtualWorld(playerid, GetPVarInt(playerid,"AdminDeathVW"));
  7124. SetPlayerInterior(playerid, GetPVarInt(playerid,"AdminDeathInt"));
  7125. DeletePVar(playerid, "AdminDeathVW");
  7126. DeletePVar(playerid, "AdminDeathInt");
  7127. SetPlayerHealth(playerid, 100);
  7128. ClearAnimations(playerid);
  7129. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
  7130. return 1;
  7131. }
  7132. if(PlayerInfo[playerid][pJailed] == 1)
  7133. {
  7134. PhoneOnline[playerid] = 1;
  7135. TogglePlayerControllable(playerid, 0);
  7136. for(new o = 0; o < 2; o++)
  7137. {
  7138. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  7139. TextDrawSetString(ObjectsLoadingTD[1], "OBJECTS LOADING...");
  7140. }
  7141. SetPVarInt(playerid, "LoadingObjects", 1);
  7142. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  7143. SetPlayerInterior(playerid, 6);
  7144. PlayerInfo[playerid][pVW] = 20002;
  7145. PlayerInfo[playerid][pInt] = 6;
  7146. SetPlayerVirtualWorld(playerid, 20002);
  7147. SetPlayerPos(playerid,263.343597, 77.532028, 1001.039062);
  7148. ResetPlayerWeaponsEx(playerid);
  7149. SendClientMessage(playerid, COLOR_LIGHTRED, "Incomplete jail sentence, back to jail you go.");
  7150. return 1;
  7151. }
  7152. if(PlayerInfo[playerid][pJailed] == 2)
  7153. {
  7154. PhoneOnline[playerid] = 1;
  7155. TogglePlayerControllable(playerid, 0);
  7156. for(new o = 0; o < 2; o++)
  7157. {
  7158. TextDrawSetString(ObjectsLoadingTD[1], "OBJECTS LOADING...");
  7159. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  7160. }
  7161. SetPVarInt(playerid, "LoadingObjects", 1);
  7162. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  7163. SetPlayerInterior(playerid, 1);
  7164. PlayerInfo[playerid][pVW] = 1324123;
  7165. PlayerInfo[playerid][pInt] = 1;
  7166. SetPlayerVirtualWorld(playerid, 1324123);
  7167. SetPlayerPos(playerid,315.1677,-1451.5564,-33.5292);
  7168. ResetPlayerWeaponsEx(playerid);
  7169. SendClientMessage(playerid, COLOR_LIGHTRED, "Incomplete jail sentence, back to jail you go.");
  7170. return 1;
  7171. }
  7172. if(PlayerInfo[playerid][pJailed] == 3)
  7173. {
  7174. PhoneOnline[playerid] = 1;
  7175. TogglePlayerControllable(playerid, 0);
  7176. for(new o = 0; o < 2; o++)
  7177. {
  7178. TextDrawSetString(ObjectsLoadingTD[1], "OBJECTS LOADING...");
  7179. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  7180. }
  7181. SetPVarInt(playerid, "LoadingObjects", 1);
  7182. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  7183. SetPlayerInterior(playerid, 69);
  7184. PlayerInfo[playerid][pVW] = 696969;
  7185. PlayerInfo[playerid][pInt] = 69;
  7186. SetPlayerVirtualWorld(playerid, 696969);
  7187. new rand = random(sizeof(AdminPrisonFloat));
  7188. SetPlayerPos(playerid, AdminPrisonFloat[rand][0], AdminPrisonFloat[rand][1], AdminPrisonFloat[rand][2]);
  7189. ResetPlayerWeaponsEx(playerid);
  7190. SetPlayerColor(playerid, TEAM_APRISON_COLOR);
  7191. SetPlayerSkin(playerid, 50);
  7192. new string[128];
  7193. format(string, sizeof(string), "You're in prison because you were prisoned by %s, reason: %s", PlayerInfo[playerid][pPrisonedBy], PlayerInfo[playerid][pPrisonReason]);
  7194. SendClientMessage(playerid, COLOR_LIGHTRED, string);
  7195. return 1;
  7196. }
  7197. if(PlayerInfo[playerid][pJailed] == 4)
  7198. {
  7199. PhoneOnline[playerid] = 1;
  7200. TogglePlayerControllable(playerid, 0);
  7201. for(new o = 0; o < 2; o++)
  7202. {
  7203. TextDrawSetString(ObjectsLoadingTD[1], "OBJECTS LOADING...");
  7204. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  7205. }
  7206. SetPVarInt(playerid, "LoadingObjects", 1);
  7207. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  7208. SetPlayerInterior(playerid, 69);
  7209. PlayerInfo[playerid][pVW] = 696969;
  7210. PlayerInfo[playerid][pInt] = 69;
  7211. SetPlayerVirtualWorld(playerid, 696969);
  7212. new rand = random(sizeof(AdminPrisonFloat));
  7213. SetPlayerPos(playerid, AdminPrisonFloat[rand][0], AdminPrisonFloat[rand][1], AdminPrisonFloat[rand][2]);
  7214. ResetPlayerWeaponsEx(playerid);
  7215. SetPlayerColor(playerid, TEAM_ORANGE_COLOR);
  7216. SetPlayerSkin(playerid, 50);
  7217. return 1;
  7218. }
  7219. if(Dueling[playerid] != INVALID_PLAYER_ID)
  7220. {
  7221. SetPlayerWeapons(playerid);
  7222. SetPlayerPos(playerid, GetPVarFloat(playerid, "dlx"), GetPVarFloat(playerid, "dly"), GetPVarFloat(playerid, "dlz"));
  7223. SetPlayerHealth(playerid, GetPVarFloat(playerid, "dlhealth"));
  7224. SetPlayerArmourEx(playerid, GetPVarFloat(playerid, "dlarmour"));
  7225. SetPlayerInterior(playerid, GetPVarInt(playerid, "dlint"));
  7226. SetPlayerWeaponsEx(Dueling[playerid]);
  7227. Dueling[playerid] = INVALID_PLAYER_ID;
  7228. SetPlayerWeaponsEx(playerid);
  7229. return 1;
  7230. }
  7231. if(Hunted[playerid] == 1)
  7232. {
  7233. SetPlayerWeapons(playerid);
  7234. SetPlayerPos(playerid, GetPVarFloat(playerid, "alx"), GetPVarFloat(playerid, "aly"), GetPVarFloat(playerid, "alz"));
  7235. SetPlayerHealth(playerid, GetPVarFloat(playerid, "alhealth"));
  7236. SetPlayerArmourEx(playerid, GetPVarFloat(playerid, "alarmour"));
  7237. SetPlayerInterior(playerid, GetPVarInt(playerid, "alint"));
  7238. SetPlayerColor(playerid, TEAM_HIT_COLOR);
  7239. SetPlayerWeaponsEx(playerid);
  7240. Hunted[playerid] = 0;
  7241. AllHunt = 0;
  7242. return 1;
  7243. }
  7244. if(GetPVarInt(playerid, "Injured") == 1 && GetPVarInt(playerid, "PBM") < 1)
  7245. {
  7246. SendEMSQueue(playerid,1);
  7247. return 1;
  7248. }
  7249. if(GetPVarInt(playerid, "PBM") > 0) {
  7250. GivePlayerValidAdminWeapon(playerid, 24, 99999);
  7251. GivePlayerValidAdminWeapon(playerid, 27, 99999);
  7252. GivePlayerValidAdminWeapon(playerid, 29, 99999);
  7253. GivePlayerValidAdminWeapon(playerid, 31, 99999);
  7254. GivePlayerValidAdminWeapon(playerid, 34, 99999);
  7255. if(GetPVarType(playerid, "PBMT") != 0) {
  7256. switch(GetPVarType(playerid, "PBMT")) {
  7257. case 0: SetPlayerColor(playerid, 0xFFFF0000);
  7258. case 1: SetPlayerColor(playerid, 0x33CCFF00);
  7259. }
  7260. }
  7261. switch(GetPVarInt(playerid, "PBM")) {
  7262. case 1: { // dm lv warehouse
  7263. SetPlayerPos(playerid, 1059.895996, 2081.685791, 10.820312);
  7264. SetPlayerInterior(playerid, 0); // just for clarity
  7265. SetPlayerVirtualWorld(playerid, 60);
  7266. }
  7267. case 2: { // dm random warehouse
  7268. SetPlayerPos(playerid, 1283.287841, 5.694778, 1001.011779);
  7269. SetPlayerInterior(playerid, 18);
  7270. SetPlayerVirtualWorld(playerid, 61);
  7271. }
  7272. case 3: { // dm rc battlefield
  7273. SetPlayerPos(playerid, -975.975708, 1060.983032, 1345.671875);
  7274. SetPlayerInterior(playerid, 10);
  7275. SetPlayerVirtualWorld(playerid, 62);
  7276. }
  7277. case 4: { // tdm lv warehouse
  7278. SetPlayerInterior(playerid, 0);
  7279. SetPlayerVirtualWorld(playerid, 63);
  7280. if(gaPaintballGameNextTeam[0] == 0) {
  7281. SetPlayerPos(playerid, 1068.6324, 2082.7930, 10.8203);
  7282. SetPlayerFacingAngle(playerid, 359.9999);
  7283. } else {
  7284. SetPlayerPos(playerid, 1069.3499, 2127.0828, 10.8203);
  7285. SetPlayerFacingAngle(playerid, 181.4610);
  7286. }
  7287. }
  7288. case 5: { // tdm random warehouse
  7289. SetPlayerInterior(playerid, 18);
  7290. SetPlayerVirtualWorld(playerid, 64);
  7291. if(gaPaintballGameNextTeam[1] == 0) {
  7292. SetPlayerPos(playerid, 1305.5143, 3.6555, 1001.0269);
  7293. SetPlayerFacingAngle(playerid, 0);
  7294. } else {
  7295. SetPlayerPos(playerid, 1252.7601,-46.6263,1001.0282);
  7296. SetPlayerFacingAngle(playerid, 133.2679);
  7297. }
  7298. }
  7299. case 6: { // tdm rc battlefield
  7300. SetPlayerInterior(playerid, 10);
  7301. SetPlayerVirtualWorld(playerid, 65);
  7302. if(gaPaintballGameNextTeam[2] == 0) {
  7303. SetPlayerPos(playerid, -1128.8225, 1057.4939, 1346.4141);
  7304. SetPlayerFacingAngle(playerid, 260);
  7305. } else {
  7306. SetPlayerPos(playerid, -976.2924, 1061.0496, 1345.6719);
  7307. SetPlayerFacingAngle(playerid, 90);
  7308. }
  7309. }
  7310. case 7: { // dm Death Arena
  7311. SetPlayerPos(playerid, 2020.721557,-2504.503906,1022.186950);
  7312. SetPlayerInterior(playerid, 1);
  7313. SetPlayerVirtualWorld(playerid, 0);
  7314. }
  7315. case 8: { // tdm
  7316. SetPlayerInterior(playerid, 1);
  7317. SetPlayerVirtualWorld(playerid, 0);
  7318. if(gaPaintballGameNextTeam[3] == 0) {
  7319. SetPlayerPos(playerid, 1750.824462,-1896.36669,1060.747314);
  7320. SetPlayerFacingAngle(playerid, 260);
  7321. } else {
  7322. SetPlayerPos(playerid, 1718.805175,-1839.844238,1060.749633);
  7323. SetPlayerFacingAngle(playerid, 90);
  7324. }
  7325. }
  7326. }
  7327. return 1;
  7328. }
  7329. if(GetPVarInt(playerid, "EventToken") == 1) {
  7330. DeletePVar(playerid, "EventToken");
  7331. SetPlayerWeapons(playerid);
  7332. SetPlayerPos(playerid,EventFloats[playerid][1],EventFloats[playerid][2],EventFloats[playerid][3]);
  7333. //PlayerInfo[playerid][pInterior] = PlayerInfo[playerid][pInt];
  7334. SetPlayerVirtualWorld(playerid, EventLastVW[playerid]);
  7335. SetPlayerFacingAngle(playerid, EventFloats[playerid][0]);
  7336. SetPlayerInterior(playerid,EventLastInt[playerid]);
  7337. SetPlayerHealth(playerid, EventFloats[playerid][4]);
  7338. SetPlayerArmourEx(playerid, EventFloats[playerid][5]);
  7339. for(new i = 0; i < 6; i++)
  7340. {
  7341. EventFloats[playerid][i] = 0.0;
  7342. }
  7343. EventLastVW[playerid] = 0;
  7344. EventLastInt[playerid] = 0;
  7345. return 1;
  7346. }
  7347. if(GetPVarInt(playerid, "EventToken") == 1)
  7348. {
  7349. if(EventKernel[EventType] == 4)
  7350. {
  7351. SetPlayerPos(playerid, EventKernel[ EventPositionX ], EventKernel[ EventPositionY ], EventKernel[ EventPositionZ ] );
  7352. SetPlayerInterior(playerid, EventKernel[ EventInterior ] );
  7353. SetPlayerVirtualWorld(playerid, EventKernel[ EventWorld ] );
  7354. SendClientMessageEx(playerid, COLOR_WHITE, "You are a zombie! Use /bite to infect others");
  7355. SetPlayerHealth(playerid, 30);
  7356. SetPlayerArmour(playerid, 0);
  7357. SetPlayerSkin(playerid, 134);
  7358. SetPlayerColor(playerid, 0x0BC43600);
  7359. SetPVarInt(playerid, "pEventZombie", 1);
  7360. return 1;
  7361. }
  7362. else
  7363. {
  7364. DeletePVar(playerid, "EventToken");
  7365. SetPlayerWeapons(playerid);
  7366. SetPlayerPos(playerid,EventFloats[playerid][1],EventFloats[playerid][2],EventFloats[playerid][3]);
  7367. //PlayerInfo[playerid][pInterior] = PlayerInfo[playerid][pInt];
  7368. SetPlayerVirtualWorld(playerid, EventLastVW[playerid]);
  7369. SetPlayerFacingAngle(playerid, EventFloats[playerid][0]);
  7370. SetPlayerInterior(playerid,EventLastInt[playerid]);
  7371. SetPlayerHealth(playerid, EventFloats[playerid][4]);
  7372. SetPlayerArmour(playerid, EventFloats[playerid][5]);
  7373. for(new i = 0; i < 6; i++)
  7374. {
  7375. EventFloats[playerid][i] = 0.0;
  7376. }
  7377. EventLastVW[playerid] = 0;
  7378. EventLastInt[playerid] = 0;
  7379. return 1;
  7380. }
  7381. }
  7382. for(new i; i < sizeof(EventKernel[EventStaff]); i++)
  7383. {
  7384. if(EventKernel[EventStaff][i] == playerid)
  7385. {
  7386. SetPlayerWeapons(playerid);
  7387. SetPlayerPos(playerid,EventFloats[playerid][1],EventFloats[playerid][2],EventFloats[playerid][3]);
  7388. //PlayerInfo[playerid][pInterior] = PlayerInfo[playerid][pInt];
  7389. SetPlayerVirtualWorld(playerid, EventLastVW[playerid]);
  7390. SetPlayerFacingAngle(playerid, EventFloats[playerid][0]);
  7391. SetPlayerInterior(playerid,EventLastInt[playerid]);
  7392. SetPlayerHealth(playerid, EventFloats[playerid][4]);
  7393. SetPlayerArmourEx(playerid, EventFloats[playerid][5]);
  7394. for(new d = 0; d < 6; d++)
  7395. {
  7396. EventFloats[playerid][d] = 0.0;
  7397. }
  7398. EventLastInt[playerid] = 0;
  7399. EventLastVW[playerid] = 0;
  7400. EventKernel[EventStaff][i] = 999;
  7401. }
  7402. }
  7403. if(GetPVarInt(playerid, "MedicBill") == 1 && PlayerInfo[playerid][pJailed] == 0) {
  7404. SendClientMessage(playerid, TEAM_CYAN_COLOR, "Before you're discharged, hospital staff will confiscate your weapons.");
  7405. PlayerInfo[playerid][pDuty] = 0;
  7406. PlayerInfo[playerid][pVW] = 0;
  7407. PlayerInfo[playerid][pInt] = 0;
  7408. SetPlayerVirtualWorld(playerid, 0);
  7409. ResetPlayerWeapons(playerid);
  7410. if(GetPVarInt(playerid, "EventToken") != 1)
  7411. ResetPlayerWeaponsEx(playerid);
  7412. SetPVarInt(playerid, "MedicBill", 1);
  7413. SetPlayerInterior(playerid, 0);
  7414. new string[70+MAX_PLAYER_NAME];
  7415. if(PlayerInfo[playerid][pInsurance] == 1)
  7416. {
  7417. if(PlayerInfo[playerid][pWantedLevel] >= 1)
  7418. {
  7419. SendClientMessage(playerid, COLOR_YELLOW, " The police has been warned that you're wanted and they are on their way.");
  7420. format(string, sizeof(string), " All Saints Hospital has reported %s as a wanted person.", GetPlayerNameEx(playerid));
  7421. SendRadioMessage(1, DEPTRADIO, string);
  7422. SendRadioMessage(2, DEPTRADIO, string);
  7423. SendRadioMessage(10, DEPTRADIO, string);
  7424. }
  7425. SetPlayerCameraPos(playerid,1188.4574,-1309.2242,13.5625+6.0);
  7426. SetPlayerCameraLookAt(playerid,1175.5581,-1324.7922,18.1610);
  7427. SetPlayerPos(playerid, 1188.4574,-1309.2242,10.5625);
  7428. SetPVarInt(playerid, "Hospital", 1);
  7429. }
  7430. else if(PlayerInfo[playerid][pInsurance] == 2)
  7431. {
  7432. if(PlayerInfo[playerid][pWantedLevel] >= 1)
  7433. {
  7434. SendClientMessage(playerid, COLOR_YELLOW, " The police has been warned that you're wanted and they are on their way.");
  7435. format(string, sizeof(string), " County General Hospital has reported %s as a wanted person.", GetPlayerNameEx(playerid));
  7436. SendRadioMessage(1, DEPTRADIO, string);
  7437. SendRadioMessage(2, DEPTRADIO, string);
  7438. SendRadioMessage(10, DEPTRADIO, string);
  7439. }
  7440. SetPlayerCameraPos(playerid,1999.5308,-1449.3281,13.5594+6.0);
  7441. SetPlayerCameraLookAt(playerid,2036.2179,-1410.3223,17.1641);
  7442. SetPlayerPos(playerid, 1999.5308,-1449.3281,10.5594);
  7443. SetPVarInt(playerid, "Hospital", 2);
  7444. }
  7445. if(PlayerInfo[playerid][pInsurance] == 0)
  7446. {
  7447. new randhos = Random(1,3);
  7448. switch (randhos)
  7449. {
  7450. case 1:
  7451. {
  7452. if(PlayerInfo[playerid][pWantedLevel] >= 1)
  7453. {
  7454. SendClientMessage(playerid, COLOR_YELLOW, " The police has been warned that you're wanted and they are on their way.");
  7455. format(string, sizeof(string), " All Saints Hospital has reported %s as a wanted person.", GetPlayerNameEx(playerid));
  7456. SendRadioMessage(1, DEPTRADIO, string);
  7457. SendRadioMessage(2, DEPTRADIO, string);
  7458. SendRadioMessage(10, DEPTRADIO, string);
  7459. }
  7460. SetPlayerCameraPos(playerid,1188.4574,-1309.2242,13.5625+6.0);
  7461. SetPlayerCameraLookAt(playerid,1175.5581,-1324.7922,18.1610);
  7462. SetPlayerPos(playerid, 1188.4574,-1309.2242,10.5625);
  7463. SetPVarInt(playerid, "Hospital", 1);
  7464. }
  7465. case 2:
  7466. {
  7467. if(PlayerInfo[playerid][pWantedLevel] >= 1)
  7468. {
  7469. SendClientMessage(playerid, COLOR_YELLOW, " The police has been warned that you're wanted and they are on their way.");
  7470. format(string, sizeof(string), " County General Hospital has reported %s as a wanted person.", GetPlayerNameEx(playerid));
  7471. SendRadioMessage(1, DEPTRADIO, string);
  7472. SendRadioMessage(2, DEPTRADIO, string);
  7473. SendRadioMessage(10, DEPTRADIO, string);
  7474. }
  7475. SetPlayerCameraPos(playerid,1999.5308,-1449.3281,13.5594+6.0);
  7476. SetPlayerCameraLookAt(playerid,2036.2179,-1410.3223,17.1641);
  7477. SetPlayerPos(playerid, 1999.5308,-1449.3281,10.5594);
  7478. SetPVarInt(playerid, "Hospital", 2);
  7479. }
  7480. }
  7481. }
  7482. TogglePlayerControllable(playerid, 0);
  7483. SetPlayerHealth(playerid, 0.5);
  7484. SetPVarInt(playerid, "HospitalTimer", 30);
  7485. SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_HOSPITALTIMER);
  7486. return 1;
  7487. }
  7488. if(GetPVarInt(playerid, "Hospital") == 0)
  7489. {
  7490. SetPlayerPos(playerid,PlayerInfo[playerid][pPos_x],PlayerInfo[playerid][pPos_y],PlayerInfo[playerid][pPos_z]);
  7491. //PlayerInfo[playerid][pInterior] = PlayerInfo[playerid][pInt];
  7492. SetPlayerVirtualWorld(playerid, PlayerInfo[playerid][pVW]);
  7493. SetPlayerFacingAngle(playerid, PlayerInfo[playerid][pPos_r]);
  7494. SetPlayerInterior(playerid,PlayerInfo[playerid][pInt]);
  7495. SetPlayerHealth(playerid, PlayerInfo[playerid][pHealth]);
  7496. SetPlayerArmourEx(playerid, PlayerInfo[playerid][pArmor]);
  7497. SetCameraBehindPlayer(playerid);
  7498. if(PlayerInfo[playerid][pInt] > 0)
  7499. {
  7500. TogglePlayerControllable(playerid, 0);
  7501. for(new o = 0; o < 2; o++)
  7502. {
  7503. TextDrawSetString(ObjectsLoadingTD[1], "OBJECTS LOADING...");
  7504. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  7505. }
  7506. SetPVarInt(playerid, "LoadingObjects", 1);
  7507. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  7508. }
  7509. }
  7510. else
  7511. {
  7512. PlayerInfo[playerid][pDuty] = 0;
  7513. PlayerInfo[playerid][pVW] = 0;
  7514. PlayerInfo[playerid][pInt] = 0;
  7515. SetPlayerVirtualWorld(playerid, 0);
  7516. if(GetPVarInt(playerid, "EventToken") != 1)
  7517. ResetPlayerWeaponsEx(playerid);
  7518. SetPVarInt(playerid, "MedicBill", 1);
  7519. new string[70+MAX_PLAYER_NAME];
  7520. if(PlayerInfo[playerid][pInsurance] == 1)
  7521. {
  7522. if(PlayerInfo[playerid][pWantedLevel] >= 1)
  7523. {
  7524. SendClientMessage(playerid, COLOR_YELLOW, "The police have been informed of your current location and are on their way.");
  7525. format(string, sizeof(string), " All Saints Hospital has reported %s as a wanted person.", GetPlayerNameEx(playerid));
  7526. SendRadioMessage(1, DEPTRADIO, string);
  7527. SendRadioMessage(2, DEPTRADIO, string);
  7528. }
  7529. SetPlayerCameraPos(playerid,1999.5308,-1449.3281,13.5594+6.0);
  7530. SetPlayerCameraLookAt(playerid,2036.2179,-1410.3223,17.1641);
  7531. SetPlayerPos(playerid, 1999.5308,-1449.3281,10.5594);
  7532. SetPVarInt(playerid, "Hospital", 2);
  7533. }
  7534. else if(PlayerInfo[playerid][pInsurance] == 2)
  7535. {
  7536. if(PlayerInfo[playerid][pWantedLevel] >= 1)
  7537. {
  7538. SendClientMessage(playerid, COLOR_YELLOW, "The police have been informed of your current location and are on their way.");
  7539. format(string, sizeof(string), " County General Hospital has reported %s as a wanted person.", GetPlayerNameEx(playerid));
  7540. SendRadioMessage(1, DEPTRADIO, string);
  7541. SendRadioMessage(2, DEPTRADIO, string);
  7542. }
  7543. SetPlayerCameraPos(playerid,1188.4574,-1309.2242,13.5625+6.0);
  7544. SetPlayerCameraLookAt(playerid,1175.5581,-1324.7922,18.1610);
  7545. SetPlayerPos(playerid, 1188.4574,-1309.2242,10.5625);
  7546. SetPVarInt(playerid, "Hospital", 1);
  7547. }
  7548. if(PlayerInfo[playerid][pInsurance] == 0)
  7549. {
  7550. new randhos = Random(1,3);
  7551. switch(randhos)
  7552. {
  7553. case 1:
  7554. {
  7555. if(PlayerInfo[playerid][pWantedLevel] >= 1)
  7556. {
  7557. SendClientMessage(playerid, COLOR_YELLOW, " The police has been warned that you're wanted and they are on their way.");
  7558. format(string, sizeof(string), " All Saints Hospital Hospital has reported %s as a wanted person.", GetPlayerNameEx(playerid));
  7559. SendRadioMessage(1, DEPTRADIO, string);
  7560. SendRadioMessage(2, DEPTRADIO, string);
  7561. }
  7562. SetPlayerCameraPos(playerid,1188.4574,-1309.2242,13.5625+6.0);
  7563. SetPlayerCameraLookAt(playerid,1175.5581,-1324.7922,18.1610);
  7564. SetPlayerPos(playerid, 1188.4574,-1309.2242,10.5625); // Warp the player
  7565. SetPVarInt(playerid, "Hospital", 2);
  7566. }
  7567. case 2:
  7568. {
  7569. if(PlayerInfo[playerid][pWantedLevel] >= 1)
  7570. {
  7571. SendClientMessage(playerid, COLOR_YELLOW, " The police has been warned that you're wanted and they are on their way.");
  7572. format(string, sizeof(string), " County General Hospital has reported %s as a wanted person.", GetPlayerNameEx(playerid));
  7573. SendRadioMessage(1, DEPTRADIO, string);
  7574. SendRadioMessage(2, DEPTRADIO, string);
  7575. }
  7576. SetPlayerCameraPos(playerid,1999.5308,-1449.3281,13.5594+6.0);
  7577. SetPlayerCameraLookAt(playerid,2036.2179,-1410.3223,17.1641);
  7578. SetPlayerPos(playerid, 1999.5308,-1449.3281,10.5594);
  7579. SetPVarInt(playerid, "Hospital", 1);
  7580. }
  7581. }
  7582. }
  7583. TogglePlayerControllable(playerid, 0);
  7584. SetPlayerHealth(playerid, 0.5);
  7585. SetPVarInt(playerid, "HospitalTimer", 30);
  7586. SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_HOSPITALTIMER);
  7587. }
  7588. new Float: x, Float: y, Float: z;
  7589. GetPlayerPos(playerid, x, y, z);
  7590. if(x == 0.0 && y == 0.0)
  7591. {
  7592. SetPlayerInterior(playerid,0);
  7593. SetPlayerPos(playerid, 1773.459350, -1942.273437, 13.569922);
  7594. SetPlayerFacingAngle(playerid, 329.64);
  7595. SetCameraBehindPlayer(playerid);
  7596. }
  7597. SetPlayerToTeamColor(playerid);
  7598. return 1;
  7599. }
  7600. return 1;
  7601. }
  7602. stock Log(sz_fileName[], sz_input[]) {
  7603. new
  7604. sz_logEntry[156],
  7605. i_dateTime[2][3],
  7606. File: fileHandle = fopen(sz_fileName, io_append);
  7607. gettime(i_dateTime[0][0], i_dateTime[0][1], i_dateTime[0][2]);
  7608. getdate(i_dateTime[1][0], i_dateTime[1][1], i_dateTime[1][2]);
  7609. format(sz_logEntry, sizeof(sz_logEntry), "[%i/%i/%i - %i:%i:%i] %s\r\n", i_dateTime[1][0], i_dateTime[1][1], i_dateTime[1][2], i_dateTime[0][0], i_dateTime[0][1], i_dateTime[0][2], sz_input);
  7610. fwrite(fileHandle, sz_logEntry);
  7611. return fclose(fileHandle);
  7612. }
  7613. IsNumeric(const string[])
  7614. {
  7615. for (new i = 0, j = strlen(string); i < j; i++)
  7616. {
  7617. if(string[i] > '9' || string[i] < '0') return 0;
  7618. }
  7619. return 1;
  7620. }
  7621. ReturnUser(text[]) {
  7622. new
  7623. strPos,
  7624. returnID = 0,
  7625. bool: isnum = true;
  7626. while(text[strPos]) {
  7627. if(isnum) {
  7628. if('0' <= text[strPos] <= '9') returnID = (returnID * 10) + (text[strPos] - '0');
  7629. else isnum = false;
  7630. }
  7631. strPos++;
  7632. }
  7633. if(isnum) {
  7634. if(IsPlayerConnected(returnID)) return returnID;
  7635. }
  7636. else {
  7637. new
  7638. sz_playerName[MAX_PLAYER_NAME];
  7639. foreach(Player, i) {
  7640. GetPlayerName(i, sz_playerName, MAX_PLAYER_NAME);
  7641. if(!strcmp(sz_playerName, text, true, strPos)) return i;
  7642. }
  7643. }
  7644. return INVALID_PLAYER_ID;
  7645. }
  7646. stock InvalidNameCheck(playerid)
  7647. {
  7648. new
  7649. szPlayerName[MAX_PLAYER_NAME],
  7650. arrForbiddenNames[][] = {
  7651. "com1", "com2", "com3", "com4",
  7652. "com5", "com6", "com7", "com8",
  7653. "com9", "lpt4", "lpt5", "lpt6",
  7654. "lpt7", "lpt8", "lpt9", "nul",
  7655. "clock$", "aux", "prn", "con",
  7656. "InvalidNick", "BannedPlayer"
  7657. },
  7658. iLength,
  7659. i;
  7660. GetPlayerName(playerid, szPlayerName, sizeof(szPlayerName));
  7661. iLength = strlen(szPlayerName);
  7662. while(i < sizeof(arrForbiddenNames)) if(strcmp(arrForbiddenNames[i++], szPlayerName, true) == 0) {
  7663. SetPlayerName(playerid, "InvalidNick");
  7664. SendClientMessage(playerid, COLOR_NEWS, "You have been kicked for using an invalid name.");
  7665. Kick(playerid);
  7666. return 0;
  7667. }
  7668. if(szPlayerName[iLength - 1] == '_' || szPlayerName[0] == '_' || strfind(szPlayerName, "_", false) == -1)
  7669. {
  7670. SendClientMessage(playerid, COLOR_NEWS, "You have been kicked for failing to connect with a role play name (i.e. John_Smith).");
  7671. SetPlayerName(playerid, "InvalidNick");
  7672. Kick(playerid);
  7673. return 0;
  7674. }
  7675. return 1;
  7676. }
  7677. stock SendBugMessage(member, color, string[])
  7678. {
  7679. foreach(Player, i)
  7680. {
  7681. if(PlayerInfo[i][pFaction] == member && gBug[i] == 1)
  7682. {
  7683. SendClientMessage(i, color, string);
  7684. }
  7685. }
  7686. }
  7687. stock SendRadioMessage(member, color, string[])
  7688. {
  7689. foreach(Player, i) {
  7690. if(PlayerInfo[i][pFaction] == member) {
  7691. SendClientMessage(i, color, string);
  7692. }
  7693. /*if(PlayerInfo[i][pAdmin] > 1 && BigEar[i] == 4 && BigEarFaction[i] == member) {
  7694. new szAntiprivacy[128];
  7695. format(szAntiprivacy, sizeof(szAntiprivacy), "(BE) %s", string);
  7696. SendClientMessage(i, color, szAntiprivacy);
  7697. }*/
  7698. }
  7699. }
  7700. stock CrewRadioBroadCast(family, color, string[])
  7701. {
  7702. foreach(Player, i)
  7703. {
  7704. if(PlayerInfo[i][pCrew1] == family || PlayerInfo[i][pCrew2] == family || PlayerInfo[i][pCrew3] == family)
  7705. {
  7706. SendClientMessageEx(i, color, string);
  7707. }
  7708. }
  7709. }
  7710. stock SendFamilyMessage(family, color, string[])
  7711. {
  7712. foreach(Player, i) {
  7713. if(PlayerInfo[i][pFaction] == family || PlayerInfo[i][pLeader] == family) {
  7714. if(!gFam[i]) {
  7715. SendClientMessage(i, color, string);
  7716. }
  7717. }
  7718. }
  7719. }
  7720. stock RadioBroadCast(playerid, string[])
  7721. {
  7722. new MiscString[128], Float: aaaPositions[3];
  7723. foreach(Player, i)
  7724. {
  7725. if(PlayerInfo[i][pRadioFreq] == PlayerInfo[playerid][pRadioFreq] && PlayerInfo[i][pRadio] >= 1 && gRadio[i] != 0)
  7726. {
  7727. GetPlayerPos(i, aaaPositions[0], aaaPositions[1], aaaPositions[2]);
  7728. format(MiscString, sizeof(MiscString), "** Radio (%d kHz) ** %s: %s", PlayerInfo[playerid][pRadioFreq], GetPlayerNameEx(playerid), string);
  7729. SendClientMessage(i, PUBLICRADIO_COLOR, MiscString);
  7730. format(MiscString, sizeof(MiscString), "(radio) %s", string);
  7731. SetPlayerChatBubble(playerid,MiscString,COLOR_WHITE,15.0,5000);
  7732. }
  7733. }
  7734. }
  7735. stock SendJobMessage(job, color, string[])
  7736. {
  7737. foreach(Player, i) {
  7738. if((PlayerInfo[i][pJob] == job || PlayerInfo[i][pJob2] == job) && JobDuty[i] == 1) {
  7739. SendClientMessage(i, color, string);
  7740. }
  7741. }
  7742. }
  7743. stock SendTaxiMessage(color, string[])
  7744. {
  7745. foreach(Player, i) {
  7746. if(TransportDuty[i] == 1 && (PlayerInfo[i][pJob] == 17 || PlayerInfo[i][pJob2] == 17))
  7747. {
  7748. SendClientMessage(i, color, string);
  7749. }
  7750. }
  7751. }
  7752. stock SendBusMessage(color, string[])
  7753. {
  7754. foreach(Player, i) {
  7755. if(TransportDuty[i] == 2 && (PlayerInfo[i][pJob] == 17 || PlayerInfo[i][pJob2] == 17))
  7756. {
  7757. SendClientMessage(i, color, string);
  7758. }
  7759. }
  7760. }
  7761. stock SendNewFamilyMessage(family, color, string[])
  7762. {
  7763. foreach(Player, i) {
  7764. if(PlayerInfo[i][pGang] == family) {
  7765. if(!gFam[i]) {
  7766. SendClientMessage(i, color, string);
  7767. }
  7768. }
  7769. /*if(PlayerInfo[i][pAdmin] > 1 && BigEarFamily[i] == family && BigEar[i] == 5) {
  7770. new szAntiprivacy[128];
  7771. format(szAntiprivacy, sizeof(szAntiprivacy), "(BE) %s", string);
  7772. SendClientMessage(i, color, szAntiprivacy);
  7773. }*/
  7774. }
  7775. }
  7776. stock SetPlayerArmourEx(playerid, Float:armour)
  7777. {
  7778. ValidArmor[playerid] = armour;
  7779. SetPlayerArmour(playerid, armour);
  7780. return 1;
  7781. }
  7782. stock SendClientMessageEx(playerid, color, string[])
  7783. {
  7784. if(InsideMainMenu[playerid] == 1 || InsideTut[playerid] == 1 || ActiveChatbox[playerid] == 0)
  7785. return 0;
  7786. else SendClientMessage(playerid, color, string);
  7787. return 1;
  7788. }
  7789. stock ICNews(color, string[]) {
  7790. foreach(Player, i) {
  7791. if(gNews[i] == 0)
  7792. SendClientMessageEx(i, color, string);
  7793. }
  7794. return 1;
  7795. }
  7796. stock SendClientMessageToAllEx(color, string[])
  7797. {
  7798. foreach(Player, i) {
  7799. if(InsideMainMenu[i] == 1 || InsideTut[i] == 1 || ActiveChatbox[i] == 0) {}
  7800. else SendClientMessage(i, color, string);
  7801. }
  7802. return 1;
  7803. }
  7804. stock ShowMainMenuGUI(playerid) {
  7805. InsideMainMenu[playerid] = 1;
  7806. new string[22];
  7807. format(string, sizeof(string), "Players online: %d", Iter_Count(Player));
  7808. TextDrawSetString(MainMenuTxtdraw[11], string);
  7809. for(new i = 0; i < 14; i++) {
  7810. TextDrawShowForPlayer(playerid, MainMenuTxtdraw[i]);
  7811. }
  7812. return 1;
  7813. }
  7814. stock HideMainMenuGUI(playerid) {
  7815. InsideMainMenu[playerid] = 0;
  7816. ActiveChatbox[playerid] = 1;
  7817. for(new i = 0; i < 14; i++) {
  7818. TextDrawHideForPlayer(playerid, MainMenuTxtdraw[i]);
  7819. }
  7820. return 1;
  7821. }
  7822. stock ShowMainMenuDialog(playerid, frame) {
  7823. new
  7824. string[180];
  7825. switch(frame) {
  7826. case 1: {
  7827. format(string, sizeof(string), "{FFFFFF}That username is registered, please enter your password below.\n\n{FFA500}Username: {FFFFFF}%s\n\n{FFA500}Password:", GetPlayerNameEx(playerid));
  7828. ShowPlayerDialogEx(playerid,MAINMENU,DIALOG_STYLE_PASSWORD,"{FFA500}Login {FFA500}[www.Serenity]",string,"Login","Quit");
  7829. PlayerInfo[playerid][pTut] = 1;
  7830. PlayerInfo[playerid][pAge] = 18;
  7831. }
  7832. case 2: {
  7833. format(string, sizeof(string), "{FFFFFF}You may register this username by entering your desired password below.\n\n{FFA500}Username: {FFFFFF}%s\n\n{FFA500}Choose a Password:", GetPlayerNameEx(playerid));
  7834. ShowPlayerDialogEx(playerid,MAINMENU2,DIALOG_STYLE_PASSWORD,"{FFA500}Registration {FFA500}[www.Serenity]",string,"Register","Quit");
  7835. }
  7836. case 3: {
  7837. format(string, sizeof(string), "{FFFFFF}Wrong password.\n\n{FFFFFF}That username is registered, please enter your password below.\n\n{FFA500}Username: {FFFFFF}%s\n\n{FFA500}Password:", GetPlayerNameEx(playerid));
  7838. ShowPlayerDialogEx(playerid,MAINMENU,DIALOG_STYLE_PASSWORD,"{FFA500}Login {FFA500}[www.Serenity]",string,"Login","Quit");
  7839. }
  7840. }
  7841. return 1;
  7842. }
  7843. forward BackupClear(playerid, calledbytimer);
  7844. public BackupClear(playerid, calledbytimer)
  7845. {
  7846. if(IsPlayerConnected(playerid))
  7847. {
  7848. if(IsACop(playerid) || PlayerInfo[playerid][pFaction] == 3 && PlayerInfo[playerid][pDivision] == 2 || PlayerInfo[playerid][pFaction] == 3 && PlayerInfo[playerid][pRank] >= 5)
  7849. {
  7850. if(Backup[playerid] == 1)
  7851. {
  7852. foreach(Player, i)
  7853. {
  7854. if(IsACop(i))
  7855. {
  7856. SetPlayerMarkerForPlayer(i, playerid, TEAM_HIT_COLOR);
  7857. }
  7858. }
  7859. SetPlayerToTeamColor(playerid);
  7860. if(calledbytimer != 1)
  7861. {
  7862. SendClientMessage(playerid, COLOR_GRAD2, "Your backup request has been cleared.");
  7863. }
  7864. else
  7865. {
  7866. SendClientMessage(playerid, COLOR_GRAD2, "Your backup request has been cleared automatically.");
  7867. }
  7868. Backup[playerid] = 0;
  7869. }
  7870. else
  7871. {
  7872. if(calledbytimer != 1)
  7873. {
  7874. SendClientMessage(playerid, COLOR_GRAD2, "You don't have an active backup request!");
  7875. }
  7876. }
  7877. }
  7878. else
  7879. {
  7880. if(calledbytimer != 1)
  7881. {
  7882. SendClientMessage(playerid, COLOR_GREY, " You're not a Cop / FBI / Coastguard!");
  7883. }
  7884. }
  7885. }
  7886. return 1;
  7887. }
  7888. forward fBackupClear(playerid, calledbytimer);
  7889. public fBackupClear(playerid, calledbytimer)
  7890. {
  7891. if(IsPlayerConnected(playerid))
  7892. {
  7893. if(PlayerInfo[playerid][pGang] < 255)
  7894. {
  7895. if(fBackup[playerid] == 1)
  7896. {
  7897. foreach(Player, i)
  7898. {
  7899. if(PlayerInfo[i][pGang] == PlayerInfo[playerid][pGang])
  7900. {
  7901. SetPlayerMarkerForPlayer(i, playerid, TEAM_HIT_COLOR);
  7902. }
  7903. }
  7904. SetPlayerToTeamColor(playerid);
  7905. if(calledbytimer != 1)
  7906. {
  7907. SendClientMessage(playerid, COLOR_GRAD2, "Your backup request has been cleared.");
  7908. }
  7909. else
  7910. {
  7911. SendClientMessage(playerid, COLOR_GRAD2, "Your backup request has been cleared automatically.");
  7912. }
  7913. fBackup[playerid] = 0;
  7914. }
  7915. else
  7916. {
  7917. if(calledbytimer != 1)
  7918. {
  7919. SendClientMessage(playerid, COLOR_GRAD2, "You don't have an active backup request!");
  7920. }
  7921. }
  7922. }
  7923. else
  7924. {
  7925. if(calledbytimer != 1)
  7926. {
  7927. SendClientMessage(playerid, COLOR_GREY, " You're not in a Family!");
  7928. }
  7929. }
  7930. }
  7931. return 1;
  7932. }
  7933. forward ClearDrugs(playerid);
  7934. public ClearDrugs(playerid)
  7935. {
  7936. UsedWeed[playerid] = 0;
  7937. UsedCrack[playerid] = 0;
  7938. return 1;
  7939. }
  7940. stock HelperBroadcast(color, string[], level) {
  7941. foreach(Player, i) {
  7942. if(PlayerInfo[i][pHelper] >= level && GetPVarInt(i, "cschat") == 0) {
  7943. SendClientMessage(i, color, string);
  7944. }
  7945. }
  7946. return 1;
  7947. }
  7948. stock ABroadCast(color,string[],level)
  7949. {
  7950. foreach(Player, i)
  7951. {
  7952. if(PlayerInfo[i][pAdmin] >= level || PlayerInfo[i][pFormer] == 1)
  7953. {
  7954. SendClientMessage(i, color, string);
  7955. //printf("%s", string);
  7956. }
  7957. }
  7958. return 1;
  7959. }
  7960. stock VACMessage(color,string[],level)
  7961. {
  7962. foreach(Player, i)
  7963. {
  7964. if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pSecretAdmin] >= 1)
  7965. {
  7966. if(VirtualAntiCheat[playerid] == 1)
  7967. {
  7968. SendClientMessage(i, color, string);
  7969. }
  7970. }
  7971. }
  7972. return 1;
  7973. }
  7974. stock ExecuteNOPAction(playerid)
  7975. {
  7976. new string[128];
  7977. new newcar = GetPlayerVehicleID(playerid);
  7978. if(NOPTrigger[playerid] >= MAX_NOP_WARNINGS) { return 1; }
  7979. NOPTrigger[playerid]++;
  7980. RemovePlayerFromVehicle(playerid);
  7981. new Float:X, Float:Y, Float:Z;
  7982. GetPlayerPos(playerid, X, Y, Z);
  7983. SetPlayerPos(playerid, X, Y, Z+2);
  7984. NOPCheck(playerid);
  7985. if(NOPTrigger[playerid] > 1)
  7986. {
  7987. new sec = (NOPTrigger[playerid] * 5000)/1000-1;
  7988. format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) may be NOP hacking - restricted vehicle (model %d) for %d seconds.", GetPlayerNameEx(playerid), playerid, GetVehicleModel(newcar),sec);
  7989. ABroadCast(COLOR_YELLOW, string, 2);
  7990. }
  7991. return 1;
  7992. }
  7993. stock SetPlayerToTeamColor(playerid) {
  7994. if(GetPVarInt(playerid, "PBM") > 0) {
  7995. if(GetPVarType(playerid, "PBMT") != 0) {
  7996. switch(GetPVarType(playerid, "PBMT")) {
  7997. case 0: SetPlayerColor(playerid, 0xFFFF0000);
  7998. case 1: SetPlayerColor(playerid, 0x33CCFF00);
  7999. }
  8000. }
  8001. else if(GetPVarType(playerid, "pEventZombie"))
  8002. {
  8003. SetPlayerColor(playerid, 0x0BC43600);
  8004. }
  8005. return 1;
  8006. }
  8007. if((PlayerInfo[playerid][pJob] == 17 || PlayerInfo[playerid][pJob2] == 17) && TransportDuty[playerid] != 0)
  8008. {
  8009. SetPlayerColor(playerid,TEAM_TAXI_COLOR);
  8010. }
  8011. else
  8012. {
  8013. SetPlayerColor(playerid,TEAM_HIT_COLOR);
  8014. }
  8015. if(GetPVarInt(playerid, "DonatorColor") == 0)
  8016. {
  8017. SetPlayerColor(playerid, COLOR_LIGHTSLATEGRAY);
  8018. }
  8019. else
  8020. {
  8021. SetPlayerColor(playerid, TEAM_HIT_COLOR);
  8022. }
  8023. if(PlayerInfo[playerid][pDonatorColor] > 1)
  8024. {
  8025. SetPlayerColor(playerid, COLOR_LIGHTSLATEGRAY);
  8026. }
  8027. else
  8028. {
  8029. SetPlayerColor(playerid, TEAM_HIT_COLOR);
  8030. }
  8031. if(PlayerInfo[playerid][pWantedLevel] > 5)
  8032. {
  8033. SetPlayerColor(playerid,WANTED_COLOR);
  8034. }
  8035. if(PlayerInfo[playerid][pJailed] == 3)
  8036. {
  8037. SetPlayerColor(playerid,TEAM_APRISON_COLOR);
  8038. return 1;
  8039. }
  8040. else if(PlayerInfo[playerid][pJailed] == 4)
  8041. {
  8042. SetPlayerColor(playerid,TEAM_ORANGE_COLOR);
  8043. return 1;
  8044. }
  8045. else
  8046. {
  8047. SetPlayerColor(playerid,TEAM_HIT_COLOR);
  8048. }
  8049. if(IsACop(playerid))
  8050. {
  8051. if(PlayerInfo[playerid][pDuty] == 1)
  8052. {
  8053. if(PlayerInfo[playerid][pFaction] == 1 || PlayerInfo[playerid][pLeader] == 1)
  8054. {
  8055. SetPlayerColor(playerid,TEAM_BLUE_COLOR);
  8056. }
  8057. else if(PlayerInfo[playerid][pFaction] == 10 || PlayerInfo[playerid][pLeader] == 10)
  8058. {
  8059. SetPlayerColor(playerid,TEAM_ARES_COLOR);
  8060. }
  8061. else if(PlayerInfo[playerid][pFaction] == 11 || PlayerInfo[playerid][pLeader] == 11)
  8062. {
  8063. SetPlayerColor(playerid,COLOR_ORANGE);
  8064. }
  8065. else if(PlayerInfo[playerid][pFaction] == 2 || PlayerInfo[playerid][pLeader] == 2)
  8066. {
  8067. SetPlayerColor(playerid,TEAM_FBI_COLOR);
  8068. }
  8069. else
  8070. {
  8071. SetPlayerColor(playerid,TEAM_HIT_COLOR); // white
  8072. }
  8073. }
  8074. else
  8075. {
  8076. SetPlayerColor(playerid,TEAM_HIT_COLOR); // white
  8077. }
  8078. }
  8079. else
  8080. {
  8081. if((PlayerInfo[playerid][pFaction] == 3 || PlayerInfo[playerid][pLeader] == 3) && PlayerInfo[playerid][pDuty] == 1) {
  8082. SetPlayerColor(playerid, TEAM_MED_COLOR);
  8083. }
  8084. else if((PlayerInfo[playerid][pFaction] == 9 || PlayerInfo[playerid][pLeader] == 9) && PlayerInfo[playerid][pDuty] == 1) {
  8085. SetPlayerColor(playerid,TEAM_NEWS_COLOR);
  8086. }
  8087. else if((PlayerInfo[playerid][pFaction] == 10 || PlayerInfo[playerid][pLeader] == 10) && PlayerInfo[playerid][pDuty] == 1) {
  8088. SetPlayerColor(playerid,TEAM_ARES_COLOR);
  8089. }
  8090. else if((PlayerInfo[playerid][pFaction] == 11 || PlayerInfo[playerid][pLeader] == 11) && PlayerInfo[playerid][pDuty] == 1) {
  8091. SetPlayerColor(playerid,COLOR_ORANGE);
  8092. }
  8093. else SetPlayerColor(playerid,TEAM_HIT_COLOR); // white
  8094. }
  8095. return 1;
  8096. }
  8097. stock ShowBackpack(targetid)
  8098. {
  8099. if(IsPlayerConnected(targetid))
  8100. {
  8101. new string[128], string2[128];
  8102. new pot = PlayerInfo[targetid][pBPPot];
  8103. new crack = PlayerInfo[targetid][pBPCrack];
  8104. new cash = PlayerInfo[targetid][pBPCash];
  8105. format(string2, sizeof(string2), "%s's Backpack", GetPlayerNameEx(targetid));
  8106. format(string, sizeof(string), "{FFFF00}Pot:\t{FFFFFF}%d\n{FFFF00}Crack:\t{FFFFFF}%d\n{FFFF00}Cash:\t{FFFFFF}$%d", pot, crack, cash);
  8107. ShowPlayerDialogEx(targetid, BACKPACK2, DIALOG_STYLE_MSGBOX, string2, string, "Close", "");
  8108. }
  8109. }
  8110. stock ShowStats(playerid,targetid)
  8111. {
  8112. if(IsPlayerConnected(targetid))
  8113. {
  8114. new facgang[20], employer[64], rank[64], division[64], jtext[20], jtext2[20];
  8115. new level = PlayerInfo[targetid][pLevel];
  8116. new phours = PlayerInfo[targetid][pConnectTime];
  8117. new respect = PlayerInfo[targetid][pRespect];
  8118. new nxtlevel = PlayerInfo[targetid][pLevel]+1;
  8119. new expamount = nxtlevel*levelexp;
  8120. new costlevel = nxtlevel*2500;
  8121. new pnumber = PlayerInfo[targetid][pNumber];
  8122. new warns = PlayerInfo[targetid][pWarns];
  8123. facgang = "Faction";
  8124. employer = "None";
  8125. rank = "None";
  8126. if(PlayerInfo[targetid][pGang] < 255)
  8127. {
  8128. facgang = "Family"; division = "None";
  8129. format(employer, sizeof(employer), "%s", FamilyInfo[PlayerInfo[targetid][pGang]][FamilyName]);
  8130. switch(PlayerInfo[targetid][pRank])
  8131. {
  8132. case 1: format(rank, sizeof(rank), "%s", FamilyInfo[PlayerInfo[targetid][pGang]][FamilyRank1]);
  8133. case 2: format(rank, sizeof(rank), "%s", FamilyInfo[PlayerInfo[targetid][pGang]][FamilyRank2]);
  8134. case 3: format(rank, sizeof(rank), "%s", FamilyInfo[PlayerInfo[targetid][pGang]][FamilyRank3]);
  8135. case 4: format(rank, sizeof(rank), "%s", FamilyInfo[PlayerInfo[targetid][pGang]][FamilyRank4]);
  8136. case 5: format(rank, sizeof(rank), "%s", FamilyInfo[PlayerInfo[targetid][pGang]][FamilyRank5]);
  8137. case 6: format(rank, sizeof(rank), "%s", FamilyInfo[PlayerInfo[targetid][pGang]][FamilyRank6]);
  8138. default: format(rank, sizeof(rank), "%s", FamilyInfo[PlayerInfo[targetid][pGang]][FamilyRank1]);
  8139. }
  8140. }
  8141. else GetPlayerFactionInfo(targetid, rank, division, employer);
  8142. switch(PlayerInfo[targetid][pJob])
  8143. {
  8144. case 1: jtext = "Detective";
  8145. case 2: jtext = "Lawyer";
  8146. case 3: jtext = "Whore";
  8147. case 4: jtext = "Drugs Dealer";
  8148. case 5: jtext = "Car Jacker";
  8149. //case 6: jtext = "News Reporter";
  8150. case 7: jtext = "Car Mechanic";
  8151. case 8: jtext = "Bodyguard";
  8152. case 9: jtext = "Arms Dealer";
  8153. //case 10: jtext = "Car Dealer";
  8154. case 12: jtext = "Boxer";
  8155. case 14: jtext = "Drug Smuggler";
  8156. //case 15: jtext = "Paper Boy";
  8157. //case 16: jtext = "Trucker";
  8158. case 17: jtext = "Taxi Driver";
  8159. case 18: jtext = "Craftsman";
  8160. case 19: jtext = "Bartender";
  8161. case 20: jtext = "Trucker";
  8162. case 21: jtext = "Pizza Boy";
  8163. case 22: jtext = "Garbage Man";
  8164. case 23: jtext = "Miner";
  8165. default: jtext = "None";
  8166. }
  8167. switch(PlayerInfo[targetid][pJob2])
  8168. {
  8169. case 1: jtext2 = "Detective";
  8170. case 2: jtext2 = "Lawyer";
  8171. case 3: jtext2 = "Whore";
  8172. case 4: jtext2 = "Drugs Dealer";
  8173. case 5: jtext2 = "Car Jacker";
  8174. //case 6: jtext2 = "News Reporter";
  8175. case 7: jtext2 = "Car Mechanic";
  8176. case 8: jtext2 = "Bodyguard";
  8177. case 9: jtext2 = "Arms Dealer";
  8178. //case 10: jtext2 = "Car Dealer";
  8179. case 12: jtext2 = "Boxer";
  8180. case 14: jtext2 = "Drug Smuggler";
  8181. //case 15: jtext2 = "Paper Boy";
  8182. //case 16: jtext2 = "Trucker";
  8183. case 17: jtext2 = "Taxi Driver";
  8184. case 18: jtext2 = "Craftsman";
  8185. case 19: jtext2 = "Bartender";
  8186. case 20: jtext2 = "Trucker";
  8187. case 21: jtext2 = "Pizza Boy";
  8188. case 22: jtext = "Garbage Man";
  8189. case 23: jtext = "Miner";
  8190. default: jtext2 = "None";
  8191. }
  8192. new jlevel;
  8193. switch(PlayerInfo[targetid][pJob])
  8194. {
  8195. case 1:
  8196. {
  8197. new skilllevel = PlayerInfo[targetid][pDetSkill];
  8198. if(skilllevel >= 0 && skilllevel <= 50) { jlevel = 1; }
  8199. else if(skilllevel >= 51 && skilllevel <= 100) { jlevel = 2; }
  8200. else if(skilllevel >= 101 && skilllevel <= 200) { jlevel = 3; }
  8201. else if(skilllevel >= 201 && skilllevel <= 400) { jlevel = 4; }
  8202. else if(skilllevel >= 401) { jlevel = 5; }
  8203. }
  8204. case 2:
  8205. {
  8206. new skilllevel = PlayerInfo[targetid][pLawSkill];
  8207. if(skilllevel >= 0 && skilllevel <= 50) { jlevel = 1; }
  8208. else if(skilllevel >= 51 && skilllevel <= 100) { jlevel = 2; }
  8209. else if(skilllevel >= 101 && skilllevel <= 200) { jlevel = 3; }
  8210. else if(skilllevel >= 201 && skilllevel <= 400) { jlevel = 4; }
  8211. else if(skilllevel >= 401) { jlevel = 5; }
  8212. }
  8213. case 3:
  8214. {
  8215. new skilllevel = PlayerInfo[targetid][pSexSkill];
  8216. if(skilllevel >= 0 && skilllevel <= 50) { jlevel = 1; }
  8217. else if(skilllevel >= 51 && skilllevel <= 100) { jlevel = 2; }
  8218. else if(skilllevel >= 101 && skilllevel <= 200) { jlevel = 3; }
  8219. else if(skilllevel >= 201 && skilllevel <= 400) { jlevel = 4; }
  8220. else if(skilllevel >= 401) { jlevel = 5; }
  8221. }
  8222. case 4:
  8223. {
  8224. new skilllevel = PlayerInfo[targetid][pDrugsSkill];
  8225. if(skilllevel >= 0 && skilllevel <= 50) { jlevel = 1; }
  8226. else if(skilllevel >= 51 && skilllevel <= 100) { jlevel = 2; }
  8227. else if(skilllevel >= 101 && skilllevel <= 200) { jlevel = 3; }
  8228. else if(skilllevel >= 201 && skilllevel <= 400) { jlevel = 4; }
  8229. else if(skilllevel >= 401) { jlevel = 5; }
  8230. }
  8231. case 5:
  8232. {
  8233. new skilllevel = PlayerInfo[targetid][pCarSkill];
  8234. if(skilllevel >= 0 && skilllevel <= 50) { jlevel = 1; }
  8235. else if(skilllevel >= 51 && skilllevel <= 100) { jlevel = 2; }
  8236. else if(skilllevel >= 101 && skilllevel <= 200) { jlevel = 3; }
  8237. else if(skilllevel >= 201 && skilllevel <= 400) { jlevel = 4; }
  8238. else if(skilllevel >= 401) { jlevel = 5; }
  8239. }
  8240. case 7:
  8241. {
  8242. new skilllevel = PlayerInfo[targetid][pMechSkill];
  8243. if(skilllevel >= 0 && skilllevel <= 50) { jlevel = 1; }
  8244. else if(skilllevel >= 51 && skilllevel <= 100) { jlevel = 2; }
  8245. else if(skilllevel >= 101 && skilllevel <= 200) { jlevel = 3; }
  8246. else if(skilllevel >= 201 && skilllevel <= 400) { jlevel = 4; }
  8247. else if(skilllevel >= 401) { jlevel = 5; }
  8248. }
  8249. case 9:
  8250. {
  8251. new skilllevel = PlayerInfo[targetid][pArmsSkill];
  8252. if(skilllevel >= 0 && skilllevel < 50) { jlevel = 1; }
  8253. else if(skilllevel >= 50 && skilllevel < 100) { jlevel = 2; }
  8254. else if(skilllevel >= 100 && skilllevel < 200) { jlevel = 3; }
  8255. else if(skilllevel >= 200 && skilllevel < 400) { jlevel = 4; }
  8256. else if(skilllevel >= 400) { jlevel = 5; }
  8257. }
  8258. case 12:
  8259. {
  8260. new skilllevel = PlayerInfo[targetid][pBoxSkill];
  8261. if(skilllevel >= 0 && skilllevel <= 50) { jlevel = 1; }
  8262. else if(skilllevel >= 51 && skilllevel <= 100) { jlevel = 2; }
  8263. else if(skilllevel >= 101 && skilllevel <= 200) { jlevel = 3; }
  8264. else if(skilllevel >= 201 && skilllevel <= 400) { jlevel = 4; }
  8265. else if(skilllevel >= 401) { jlevel = 5; }
  8266. }
  8267. case 14:
  8268. {
  8269. new skilllevel = PlayerInfo[targetid][pSmugSkill];
  8270. if(skilllevel >= 0 && skilllevel <= 50) { jlevel = 1; }
  8271. else if(skilllevel >= 51 && skilllevel <= 100) { jlevel = 2; }
  8272. else if(skilllevel >= 101 && skilllevel <= 200) { jlevel = 3; }
  8273. else if(skilllevel >= 201 && skilllevel <= 400) { jlevel = 4; }
  8274. else if(skilllevel >= 401) { jlevel = 5; }
  8275. }
  8276. /*case 18:
  8277. {
  8278. new skilllevel = PlayerInfo[targetid][pCraftSkill];
  8279. if(skilllevel >= 0 && skilllevel <= 50) { jlevel = 1; }
  8280. else if(skilllevel >= 51 && skilllevel <= 100) { jlevel = 2; }
  8281. else if(skilllevel >= 101 && skilllevel <= 200) { jlevel = 3; }
  8282. else if(skilllevel >= 201 && skilllevel <= 400) { jlevel = 4; }
  8283. else if(skilllevel >= 401) { jlevel = 5; }
  8284. }*/
  8285. case 20:
  8286. {
  8287. new skilllevel = PlayerInfo[targetid][pTruckSkill];
  8288. if(skilllevel >= 0 && skilllevel <= 50) { jlevel = 1; }
  8289. else if(skilllevel >= 51 && skilllevel <= 100) { jlevel = 2; }
  8290. else if(skilllevel >= 101 && skilllevel <= 200) { jlevel = 3; }
  8291. else if(skilllevel >= 201 && skilllevel <= 400) { jlevel = 4; }
  8292. else if(skilllevel >= 401) { jlevel = 5; }
  8293. }
  8294. default: jlevel = 0;
  8295. }
  8296. new jlevel2;
  8297. switch(PlayerInfo[targetid][pJob2])
  8298. {
  8299. case 1:
  8300. {
  8301. new skilllevel = PlayerInfo[targetid][pDetSkill];
  8302. if(skilllevel >= 0 && skilllevel <= 50) { jlevel2 = 1; }
  8303. else if(skilllevel >= 51 && skilllevel <= 100) { jlevel2 = 2; }
  8304. else if(skilllevel >= 101 && skilllevel <= 200) { jlevel2 = 3; }
  8305. else if(skilllevel >= 201 && skilllevel <= 400) { jlevel2 = 4; }
  8306. else if(skilllevel >= 401) { jlevel2 = 5; }
  8307. }
  8308. case 2:
  8309. {
  8310. new skilllevel = PlayerInfo[targetid][pLawSkill];
  8311. if(skilllevel >= 0 && skilllevel <= 50) { jlevel2 = 1; }
  8312. else if(skilllevel >= 51 && skilllevel <= 100) { jlevel2 = 2; }
  8313. else if(skilllevel >= 101 && skilllevel <= 200) { jlevel2 = 3; }
  8314. else if(skilllevel >= 201 && skilllevel <= 400) { jlevel2 = 4; }
  8315. else if(skilllevel >= 401) { jlevel2 = 5; }
  8316. }
  8317. case 3:
  8318. {
  8319. new skilllevel = PlayerInfo[targetid][pSexSkill];
  8320. if(skilllevel >= 0 && skilllevel <= 50) { jlevel2 = 1; }
  8321. else if(skilllevel >= 51 && skilllevel <= 100) { jlevel2 = 2; }
  8322. else if(skilllevel >= 101 && skilllevel <= 200) { jlevel2 = 3; }
  8323. else if(skilllevel >= 201 && skilllevel <= 400) { jlevel2 = 4; }
  8324. else if(skilllevel >= 401) { jlevel2 = 5; }
  8325. }
  8326. case 4:
  8327. {
  8328. new skilllevel = PlayerInfo[targetid][pDrugsSkill];
  8329. if(skilllevel >= 0 && skilllevel <= 50) { jlevel2 = 1; }
  8330. else if(skilllevel >= 51 && skilllevel <= 100) { jlevel2 = 2; }
  8331. else if(skilllevel >= 101 && skilllevel <= 200) { jlevel2 = 3; }
  8332. else if(skilllevel >= 201 && skilllevel <= 400) { jlevel2 = 4; }
  8333. else if(skilllevel >= 401) { jlevel2 = 5; }
  8334. }
  8335. case 5:
  8336. {
  8337. new skilllevel = PlayerInfo[targetid][pCarSkill];
  8338. if(skilllevel >= 0 && skilllevel <= 50) { jlevel2 = 1; }
  8339. else if(skilllevel >= 51 && skilllevel <= 100) { jlevel2 = 2; }
  8340. else if(skilllevel >= 101 && skilllevel <= 200) { jlevel2 = 3; }
  8341. else if(skilllevel >= 201 && skilllevel <= 400) { jlevel2 = 4; }
  8342. else if(skilllevel >= 401) { jlevel2 = 5; }
  8343. }
  8344. case 7:
  8345. {
  8346. new skilllevel = PlayerInfo[targetid][pMechSkill];
  8347. if(skilllevel >= 0 && skilllevel <= 50) { jlevel2 = 1; }
  8348. else if(skilllevel >= 51 && skilllevel <= 100) { jlevel2 = 2; }
  8349. else if(skilllevel >= 101 && skilllevel <= 200) { jlevel2 = 3; }
  8350. else if(skilllevel >= 201 && skilllevel <= 400) { jlevel2 = 4; }
  8351. else if(skilllevel >= 401) { jlevel2 = 5; }
  8352. }
  8353. case 9:
  8354. {
  8355. new skilllevel = PlayerInfo[targetid][pArmsSkill];
  8356. if(skilllevel >= 0 && skilllevel < 50) { jlevel2 = 1; }
  8357. else if(skilllevel >= 50 && skilllevel < 100) { jlevel2 = 2; }
  8358. else if(skilllevel >= 100 && skilllevel < 200) { jlevel2 = 3; }
  8359. else if(skilllevel >= 200 && skilllevel < 400) { jlevel2 = 4; }
  8360. else if(skilllevel >= 400) { jlevel2 = 5; }
  8361. }
  8362. case 12:
  8363. {
  8364. new skilllevel = PlayerInfo[targetid][pBoxSkill];
  8365. if(skilllevel >= 0 && skilllevel <= 50) { jlevel2 = 1; }
  8366. else if(skilllevel >= 51 && skilllevel <= 100) { jlevel2 = 2; }
  8367. else if(skilllevel >= 101 && skilllevel <= 200) { jlevel2 = 3; }
  8368. else if(skilllevel >= 201 && skilllevel <= 400) { jlevel2 = 4; }
  8369. else if(skilllevel >= 401) { jlevel2 = 5; }
  8370. }
  8371. case 14:
  8372. {
  8373. new skilllevel = PlayerInfo[targetid][pSmugSkill];
  8374. if(skilllevel >= 0 && skilllevel <= 50) { jlevel2 = 1; }
  8375. else if(skilllevel >= 51 && skilllevel <= 100) { jlevel2 = 2; }
  8376. else if(skilllevel >= 101 && skilllevel <= 200) { jlevel2 = 3; }
  8377. else if(skilllevel >= 201 && skilllevel <= 400) { jlevel2 = 4; }
  8378. else if(skilllevel >= 401) { jlevel2 = 5; }
  8379. }
  8380. /*case 18:
  8381. {
  8382. new skilllevel = PlayerInfo[targetid][pCraftSkill];
  8383. if(skilllevel >= 0 && skilllevel <= 50) { jlevel2 = 1; }
  8384. else if(skilllevel >= 51 && skilllevel <= 100) { jlevel2 = 2; }
  8385. else if(skilllevel >= 101 && skilllevel <= 200) { jlevel2 = 3; }
  8386. else if(skilllevel >= 201 && skilllevel <= 400) { jlevel2 = 4; }
  8387. else if(skilllevel >= 401) { jlevel2 = 5; }
  8388. }*/
  8389. case 20:
  8390. {
  8391. new skilllevel = PlayerInfo[targetid][pTruckSkill];
  8392. if(skilllevel >= 0 && skilllevel <= 50) { jlevel2 = 1; }
  8393. else if(skilllevel >= 51 && skilllevel <= 100) { jlevel2 = 2; }
  8394. else if(skilllevel >= 101 && skilllevel <= 200) { jlevel2 = 3; }
  8395. else if(skilllevel >= 201 && skilllevel <= 400) { jlevel2 = 4; }
  8396. else if(skilllevel >= 401) { jlevel2 = 5; }
  8397. }
  8398. default: jlevel2 = 0;
  8399. }
  8400. new upgrade = PlayerInfo[targetid][gPupgrade];
  8401. new Float:sarmor = PlayerInfo[targetid][pSarmor];
  8402. new cash = GetPlayerCash(targetid);
  8403. new bank = PlayerInfo[targetid][pBank];
  8404. new totalwealth = cash + bank;
  8405. new insur[20];
  8406. new backpack[20];
  8407. switch(PlayerInfo[targetid][pInsurance])
  8408. {
  8409. case 1: insur = "All Saints";
  8410. case 2: insur = "County General";
  8411. default: insur = "None";
  8412. }
  8413. switch(PlayerInfo[targetid][pBackpack])
  8414. {
  8415. case 1: backpack = "Large";
  8416. case 2: backpack = "Medium";
  8417. case 3: backpack = "Small";
  8418. default: backpack = "None";
  8419. }
  8420. new crimes = PlayerInfo[targetid][pCrimes];
  8421. new arrests = PlayerInfo[targetid][pArrested];
  8422. new wanted = PlayerInfo[targetid][pWantedLevel];
  8423. new Float:health, Float:armor;
  8424. GetPlayerHealth(targetid,health);
  8425. GetPlayerArmour(targetid,armor);
  8426. new pot = PlayerInfo[targetid][pPot];
  8427. new crack = PlayerInfo[targetid][pCrack];
  8428. new packages = GetPVarInt(targetid, "Packages");
  8429. new crates = PlayerInfo[targetid][pCrates];
  8430. new radiofreq = PlayerInfo[targetid][pRadioFreq];
  8431. new mats = PlayerInfo[targetid][pMats];
  8432. new rope = PlayerInfo[targetid][pRope];
  8433. new cigars = PlayerInfo[targetid][pCigar];
  8434. new sprunk = PlayerInfo[targetid][pSprunk];
  8435. new spray = PlayerInfo[targetid][pSpraycan];
  8436. new bigfish = PlayerInfo[targetid][pBiggestFish];
  8437. // Eight line (admin only)
  8438. new house = PlayerInfo[targetid][pHouse];
  8439. //new house2 = PlayerInfo[targetid][pHouse2];
  8440. new rent = PlayerInfo[targetid][pRenting];
  8441. new interior = PlayerInfo[targetid][pInt];
  8442. new vw = PlayerInfo[targetid][pVW];
  8443. new realvw = GetPlayerVirtualWorld(targetid);
  8444. new jtime = PlayerInfo[targetid][pJailTime];
  8445. // Added
  8446. new married[20];
  8447. strmid(married, PlayerInfo[targetid][pMarriedTo], 0, strlen(PlayerInfo[targetid][pMarriedTo]), 255);
  8448. //new screwdrivers = PlayerInfo[targetid][pScrewdriver];
  8449. new reftokens = PlayerInfo[targetid][pRefTokens];
  8450. new sext[16];
  8451. if(PlayerInfo[targetid][pSex] == 1) { sext = "Male"; } else { sext = "Female"; }
  8452. new age = PlayerInfo[targetid][pAge];
  8453. new donatortxt[16];
  8454. if(PlayerInfo[targetid][pDonator] == 0) { donatortxt = "No"; }
  8455. else if(PlayerInfo[targetid][pDonator] == 1) { donatortxt = "Ruby"; }
  8456. else if(PlayerInfo[targetid][pDonator] == 2) { donatortxt = "Sapphire"; }
  8457. else if(PlayerInfo[targetid][pDonator] == 3) { donatortxt = "Diamond"; }
  8458. else { donatortxt = "No"; }
  8459. new nmutes = PlayerInfo[targetid][pNMuteTotal];
  8460. new admutes = PlayerInfo[targetid][pADMuteTotal];
  8461. new rmutes = PlayerInfo[targetid][pRMutedTotal];
  8462. SendClientMessage(playerid, COLOR_NEWS,"___________________________________________________________________________________________________");
  8463. new coordsstring[128];
  8464. format(coordsstring, sizeof(coordsstring),"%s - (Level: %d) - (Playing hours: %d) - (Gender: %s) - (Age: %d) - (Phone number: %d) - (Warnings: %d)", GetPlayerNameEx(targetid), level, phours, sext, age, pnumber, warns);
  8465. SendClientMessage(playerid, COLOR_WHITE, coordsstring);
  8466. format(coordsstring, sizeof(coordsstring),"(%s: %s) - (Rank: %s [%d]) - (Division: %s) - (Job: %s [lvl: %d]) - (Job 2: %s [lvl: %d])", facgang, employer, rank, PlayerInfo[targetid][pRank], division, jtext, jlevel, jtext2, jlevel2);
  8467. SendClientMessage(playerid, COLOR_FORSTATS, coordsstring);
  8468. format(coordsstring, sizeof(coordsstring),"(Total wealth: $%s) - (Cash: $%s) - (Bank balance: $%s) - (Insurance: %s) - (Married to: %s)", Comma(totalwealth), Comma(cash), Comma(bank), insur, married);
  8469. SendClientMessage(playerid, COLOR_WHITE, coordsstring);
  8470. format(coordsstring, sizeof(coordsstring),"(Respect points: %d/%d [$%d]) - (Upgrade Points: %d) - (Spawn armor: %.1f) - (Health: %.1f) - (Armor: %.1f) - (Radio: %d) ", respect, expamount, costlevel, upgrade, sarmor, health, armor, radiofreq);
  8471. SendClientMessage(playerid, COLOR_FORSTATS, coordsstring);
  8472. format(coordsstring, sizeof(coordsstring),"(Crimes: %d) - (Arrests: %d) - (Wanted Level: %d) - (Materials: %s) - (Pot: %d) - (Crack: %d) - (Packages: %d) - (Crates: %d)", crimes, arrests, wanted, Comma(mats), pot, crack, packages, crates);
  8473. SendClientMessage(playerid, COLOR_WHITE, coordsstring);
  8474. format(coordsstring, sizeof(coordsstring),"(Rope: %d) - (Cigars: %d) - (Sprunk: %d) - (Spray: %d) - (Biggest fish: %d) - (Referral Tokens: %d) - (Donator: %s)", rope, cigars, sprunk, spray, bigfish, reftokens, donatortxt);
  8475. SendClientMessage(playerid, COLOR_FORSTATS, coordsstring);
  8476. if(PlayerInfo[playerid][pAdmin] >= 1)
  8477. {
  8478. format(coordsstring, sizeof(coordsstring), "(House: %d) - (Renting: %d) - (Int: %d) - (VW: %d) - (Real VW: %d) - (Jail: %d secs) - (Mutes: [N: %d] [AD: %d] [R: %d])", house, rent, interior, vw, realvw, jtime, nmutes, admutes, rmutes);
  8479. SendClientMessage(playerid, COLOR_WHITE,coordsstring);
  8480. if(PlayerInfo[targetid][pAdmin] >= 1 && PlayerInfo[playerid][pAdmin] >= 5 && AdminDuty[playerid] == 1)
  8481. {
  8482. format(coordsstring, sizeof(coordsstring), "Accepted reports: %d | Trashed reports: %d", PlayerInfo[targetid][pAcceptReport], PlayerInfo[targetid][pTrashReport]);
  8483. SendClientMessage(playerid, COLOR_FORSTATS,coordsstring);
  8484. }
  8485. /*new tabbed[4];
  8486. if(playerTabbedTime[targetid] > 0) tabbed = "Yes";
  8487. else tabbed = "No";
  8488. new afk[4];
  8489. if(playerAFK[targetid] != 0 && playerAFKTime[targetid] > 0) afk = "Yes";
  8490. else afk = "No";
  8491. format(coordsstring, sizeof(coordsstring), "(Alt-tabbed: %s [%d secs]) - (AFK: %s [%d secs])", tabbed, playerTabbedTime[targetid], afk, playerAFKTime[targetid]);
  8492. SendClientMessage(playerid, COLOR_WHITE,coordsstring);*/
  8493. }
  8494. SendClientMessage(playerid, COLOR_NEWS,"___________________________________________________________________________________________________");
  8495. }
  8496. }
  8497. public OnPlayerCommandPerformed(playerid, cmdtext[], success)
  8498. {
  8499. //if(!success) SendClientMessageEx(playerid, COLOR_GREY, "{FFFFFF}That command does not exist. You can use {FFA500}/help{FFFFFF} to see a list of commands or {FFA500}/gethelp{FFFFFF} for further help.");
  8500. if(!success)
  8501. {
  8502. TextDrawShowForPlayer(playerid, Textdraw0z);
  8503. TextDrawShowForPlayer(playerid, Textdraw1z);
  8504. TextDrawShowForPlayer(playerid, Textdraw2z);
  8505. TextDrawShowForPlayer(playerid, Textdraw3z);
  8506. SetTimerEx("unknowncommand", 5000, false, "i", playerid);
  8507. }
  8508. return 1;
  8509. }
  8510. public OnPlayerCommandReceived(playerid, cmdtext[])
  8511. {
  8512. playerLastTyped[playerid] = 0;
  8513. printf("[cmd] [%s]: %s", GetPlayerNameEx(playerid), cmdtext);
  8514. if(gPlayerLogged[playerid] != 1)
  8515. {
  8516. SendClientMessage(playerid, COLOR_RED, "You're not logged in.");
  8517. return 0;
  8518. }
  8519. if(GetPVarInt(playerid, "LoadingObjects") == 1)
  8520. {
  8521. SendClientMessage(playerid, COLOR_GRAD2, "You can't do this right now.");
  8522. return 0;
  8523. }
  8524. if(PlayerInfo[playerid][pTut] == 0)
  8525. return 1;
  8526. // (TEMPORARY - Howard NOTE)
  8527. /*if(PlayerInfo[playerid][pMuted] == 1)
  8528. {
  8529. SendClientMessage(playerid, COLOR_GREY, "You can't speak, you have been silenced!");
  8530. return 0;
  8531. }*/
  8532. if(CommandSpamUnmute[playerid] != 0)
  8533. {
  8534. if(PlayerInfo[playerid][pAdmin] < 6)
  8535. {
  8536. SendClientMessage(playerid, COLOR_WHITE, "You're muted from submitting commands right now.");
  8537. return 0;
  8538. }
  8539. }
  8540. if(PlayerInfo[playerid][pAdmin] < 6)
  8541. {
  8542. CommandSpamTimes[playerid]++;
  8543. if(CommandSpamTimes[playerid] == 10)
  8544. {
  8545. CommandSpamTimes[playerid] = 0;
  8546. CommandSpamUnmute[playerid] = 10;
  8547. SendClientMessage(playerid, COLOR_YELLOW, "You have been muted automatically for spamming. Please wait 10 seconds and try again.");
  8548. SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_FLOODPROTECTION);
  8549. return 0;
  8550. }
  8551. }
  8552. if(strfind(cmdtext, "|", true) != -1)
  8553. {
  8554. SendClientMessage(playerid, COLOR_RED, "You can't use the '|' character in commands.");
  8555. return 0;
  8556. }
  8557. if(PlayerInfo[playerid][pAdmin] < 4)
  8558. {
  8559. if(strfind(cmdtext, ":", true) != -1)
  8560. {
  8561. new
  8562. i_numcount,
  8563. i_period,
  8564. i_pos;
  8565. while(cmdtext[i_pos]) {
  8566. if('0' <= cmdtext[i_pos] <= '9') i_numcount++;
  8567. else if(cmdtext[i_pos] == '.') i_period++;
  8568. i_pos++;
  8569. }
  8570. if(i_numcount >= 8 && i_period >= 3) {
  8571. new string[128];
  8572. format(string,sizeof(string),"Warning: %s may be server advertising: '%s'.", GetPlayerNameEx(playerid),cmdtext);
  8573. ABroadCast(COLOR_PINK, string, 2);
  8574. Log("logs/hack.log", string);
  8575. return 0;
  8576. }
  8577. }
  8578. }
  8579. return 1;
  8580. }
  8581. public OnPlayerLeaveGangZone(playerid, zone)
  8582. {
  8583. InTurf[playerid] = -1;
  8584. PlayerTextDrawSetString(playerid, Textdraw1s[playerid], "Neutral");
  8585. PlayerTextDrawColor(playerid, Textdraw1s[playerid], COLOR_WHITE);
  8586. PlayerTextDrawHide(playerid, Textdraw1s[playerid]);
  8587. PlayerTextDrawShow(playerid, Textdraw1s[playerid]);
  8588. if(PlayerInfo[playerid][pGang] < 255)
  8589. {
  8590. FamilyInfo[PlayerInfo[playerid][pGang]][FamilyInTurf]--;
  8591. if(FamilyInfo[PlayerInfo[playerid][pGang]][FamilyColor] != 0)
  8592. {
  8593. SetPlayerColor(playerid, TEAM_HIT_COLOR);
  8594. foreach(Player, i)
  8595. {
  8596. if(InTurf[i] == InTurf[playerid])
  8597. {
  8598. SetPlayerMarkerForPlayer(i, playerid, TEAM_HIT_COLOR);
  8599. }
  8600. }
  8601. }
  8602. }
  8603. return 1;
  8604. }
  8605. public OnPlayerEnterGangZone(playerid, zone)
  8606. {
  8607. new string[128];
  8608. if(zone == TurfsInfo[0][TurfID])
  8609. {
  8610. InTurf[playerid] = 0;
  8611. }
  8612. else if(zone == TurfsInfo[1][TurfID])
  8613. {
  8614. InTurf[playerid] = 1;
  8615. }
  8616. else if(zone == TurfsInfo[2][TurfID])
  8617. {
  8618. InTurf[playerid] = 2;
  8619. }
  8620. else if(zone == TurfsInfo[3][TurfID])
  8621. {
  8622. InTurf[playerid] = 3;
  8623. }
  8624. else if(zone == TurfsInfo[4][TurfID])
  8625. {
  8626. InTurf[playerid] = 4;
  8627. }
  8628. else if(zone == TurfsInfo[5][TurfID])
  8629. {
  8630. InTurf[playerid] = 5;
  8631. }
  8632. else if(zone == TurfsInfo[6][TurfID])
  8633. {
  8634. InTurf[playerid] = 6;
  8635. }
  8636. else if(zone == TurfsInfo[7][TurfID])
  8637. {
  8638. InTurf[playerid] = 7;
  8639. }
  8640. else if(zone == TurfsInfo[8][TurfID])
  8641. {
  8642. InTurf[playerid] = 8;
  8643. }
  8644. else if(zone == TurfsInfo[9][TurfID])
  8645. {
  8646. InTurf[playerid] = 9;
  8647. }
  8648. else
  8649. {
  8650. InTurf[playerid] = -1;
  8651. }
  8652. if(TurfsInfo[InTurf[playerid]][TurfsGang] != 255)
  8653. {
  8654. new hex, str[32];
  8655. format(str, sizeof(str), "%x", FamilyInfo[TurfsInfo[InTurf[playerid]][TurfsGang]][FamilyColor]);
  8656. sscanf(str, "x", hex);
  8657. format(string, sizeof(string), "%s", FamilyInfo[TurfsInfo[InTurf[playerid]][TurfsGang]][FamilyName]);
  8658. PlayerTextDrawColor(playerid, Textdraw1s[playerid], hex);
  8659. PlayerTextDrawSetString(playerid, Textdraw1s[playerid], string);
  8660. PlayerTextDrawHide(playerid, Textdraw1s[playerid]);
  8661. PlayerTextDrawShow(playerid, Textdraw1s[playerid]);
  8662. }
  8663. else
  8664. {
  8665. PlayerTextDrawSetString(playerid, Textdraw1s[playerid], "Neutral");
  8666. PlayerTextDrawColor(playerid, Textdraw1s[playerid], -1);
  8667. PlayerTextDrawHide(playerid, Textdraw1s[playerid]);
  8668. PlayerTextDrawShow(playerid, Textdraw1s[playerid]);
  8669. }
  8670. if(TurfsInfo[InTurf[playerid]][TurfsDoing] == 1)
  8671. {
  8672. if(PlayerInfo[playerid][pGang] < 255)
  8673. {
  8674. if(FamilyInfo[PlayerInfo[playerid][pGang]][FamilyColor] != 0)
  8675. {
  8676. foreach(Player, i)
  8677. {
  8678. if(InTurf[i] == InTurf[playerid])
  8679. {
  8680. SetPlayerColor(playerid, FamilyInfo[PlayerInfo[playerid][pGang]][FamilyColor]);
  8681. SetPlayerMarkerForPlayer(i, playerid, FamilyInfo[PlayerInfo[i][pGang]][FamilyColor]);
  8682. }
  8683. }
  8684. }
  8685. }
  8686. }
  8687. foreach(Player, i)
  8688. {
  8689. if(PlayerInfo[i][pGang] == PlayerInfo[playerid][pGang])
  8690. {
  8691. if(InTurf[i] == InTurf[playerid])
  8692. {
  8693. FamilyInfo[PlayerInfo[i][pGang]][FamilyInTurf]++;
  8694. }
  8695. }
  8696. }
  8697. return 1;
  8698. }
  8699. CMD:turfsedithoursforall(playerid, params[])
  8700. {
  8701. new turf = InTurf[playerid];
  8702. if(turf == -1) return SCM(playerid, COLOR_GRAD2, "You are not in a turf.");
  8703. TurfsInfo[turf][TurfsHours] = 1;
  8704. return 1;
  8705. }
  8706. CMD:setplayeralwayswingamble(playerid, params[])
  8707. {
  8708. if(PlayerInfo[playerid][pAdmin] >= 6)
  8709. {
  8710. new id;
  8711. if(sscanf(params, "u", id)) return SCM(playerid, -1, "USAGE: /setplayeralwayswingamble [playerid]");
  8712. SCM(playerid, -1, "Only works if the player has /accept dicebet.");
  8713. if(IsPlayerConnected(id))
  8714. {
  8715. if(IsCheatingDC[id] == 0)
  8716. {
  8717. IsCheatingDC[id] = 1;
  8718. }
  8719. else
  8720. {
  8721. IsCheatingDC[id] = 0;
  8722. }
  8723. }
  8724. }
  8725. return 1;
  8726. }
  8727. CMD:fmotd(playerid, params[])
  8728. {
  8729. if(PlayerInfo[playerid][pGang] == 255)
  8730. {
  8731. SCM(playerid, COLOR_GREY, "You are not in a Gang!");
  8732. return 1;
  8733. }
  8734. new string[128];
  8735. format(string, 128, "Family MOTD: %s", FamilyInfo[PlayerInfo[playerid][pGang]][FamilyMOTD]);
  8736. SCM(playerid, COLOR_YELLOW, string);
  8737. return 1;
  8738. }
  8739. CMD:facmotd(playerid, params[])
  8740. {
  8741. if(PlayerInfo[playerid][pFaction] == 0)
  8742. {
  8743. SCM(playerid, COLOR_GREY, "You are not in a faction!");
  8744. return 1;
  8745. }
  8746. new string[128];
  8747. if(PlayerInfo[playerid][pFaction] == 1)
  8748. format(string, 128, "LSPD MOTD: %s", LSPDmotd);
  8749. else if(PlayerInfo[playerid][pFaction] == 2)
  8750. format(string, 128, "FBI MOTD: %s", FBImotd);
  8751. else if(PlayerInfo[playerid][pFaction] == 10)
  8752. format(string, 128, "ARES MOTD: %s", ARESmotd);
  8753. else if(PlayerInfo[playerid][pFaction] == 11)
  8754. format(string, 128, "SASD MOTD: %s", SASDmotd);
  8755. else if(PlayerInfo[playerid][pFaction] == 3)
  8756. format(string, 128, "FMD MOTD: %s", FMDmotd);
  8757. SCM(playerid, COLOR_YELLOW, string);
  8758. return 1;
  8759. }
  8760. CMD:editfacmotd(playerid, params[])
  8761. {
  8762. if(PlayerInfo[playerid][pFaction] > 0 || PlayerInfo[playerid][pLeader] > 0)
  8763. {
  8764. if(PlayerInfo[playerid][pRank] >= 5 || PlayerInfo[playerid][pLeader] >= 1)
  8765. {
  8766. if(!isnull(params))
  8767. {
  8768. if(PlayerInfo[playerid][pFaction] == 1)
  8769. format(LSPDmotd, sizeof(LSPDmotd), "%s", params);
  8770. else if(PlayerInfo[playerid][pFaction] == 2)
  8771. format(FBImotd, sizeof(FBImotd), "%s", params);
  8772. else if(PlayerInfo[playerid][pFaction] == 10)
  8773. format(ARESmotd, sizeof(ARESmotd), "%s", params);
  8774. else if(PlayerInfo[playerid][pFaction] == 11)
  8775. format(SASDmotd, sizeof(SASDmotd), "%s", params);
  8776. else if(PlayerInfo[playerid][pFaction] == 3)
  8777. format(FMDmotd, sizeof(FMDmotd), "%s", params);
  8778. Misc_Save();
  8779. }
  8780. else return SCM(playerid, -1, "USAGE: /editfacmotd [message]");
  8781. }
  8782. else return SCM(playerid, -1, "You are not authorized to use this command!");
  8783. }
  8784. else return SCM(playerid, COLOR_GRAD2, "You are not in any factions.");
  8785. return 1;
  8786. }
  8787. /*CMD:movedoor(playerid, params[])
  8788. {
  8789. if(PlayerInfo[playerid][pLand] >= 1)
  8790. {
  8791. new obj;
  8792. for(new b = 1; b < MAX_OBJ; b++)
  8793. {
  8794. if(ObjectInfo[b][objModel] != 0)
  8795. {
  8796. new Float:fy, Float:fx, Float:fz;
  8797. GetObjectPos(ObjectInfo[b][oDoor], fx, fy, fz);
  8798. if(IsPlayerInRangeOfPoint(playerid, 3.0, fx, fy, fz))
  8799. {
  8800. obj = b;
  8801. break;
  8802. }
  8803. }
  8804. }
  8805. new Float:nx, Float:ny, Float:nz;
  8806. if(ObjectInfo[obj][oDLock] == 0)
  8807. {
  8808. GetObjectRot(ObjectInfo[obj][oDoor], nx, ny, nz);
  8809. SetObjectRot(ObjectInfo[obj][oDoor], nx, ny, -180.0);
  8810. ObjectInfo[obj][oDLock] = 1;
  8811. SCM(playerid, -1, "You have opened your land door.");
  8812. }
  8813. else if(ObjectInfo[obj][oDLock] == 1)
  8814. {
  8815. SetObjectRot(ObjectInfo[obj][oDoor], nx, ny, -90.0);
  8816. ObjectInfo[obj][oDLock] = 0;
  8817. SCM(playerid, -1, "You have closed your land door.");
  8818. }
  8819. }
  8820. return 1;
  8821. }
  8822. CMD:movedoor(playerid, params[])
  8823. {
  8824. if(IsACop(playerid) || PlayerInfo[playerid][pLeader] == 10 || PlayerInfo[playerid][pFaction] == 10)
  8825. {
  8826. if(IsPlayerInRangeOfPoint(playerid, 2.0, 9391.490234, -2717.333007, 826.277465))
  8827. {
  8828. if(ARES1status == 0)
  8829. {
  8830. SetObjectRot(ARES1, 0.0, 0.0, 90);
  8831. ARES1status = 1;
  8832. }
  8833. else
  8834. {
  8835. SetObjectRot(ARES1, 0.0, 0.0, 0);
  8836. ARES1status = 0;
  8837. }
  8838. }
  8839. else if(IsPlayerInRangeOfPoint(playerid, 2.0, 9397.961914, -2717.343750, 826.277465))
  8840. {
  8841. if(ARES2status == 0)
  8842. {
  8843. SetObjectRot(ARES2, 0.0, 0.0, 90);
  8844. ARES2status = 1;
  8845. }
  8846. else
  8847. {
  8848. SetObjectRot(ARES2, 0.0, 0.0, 0);
  8849. ARES2status = 0;
  8850. }
  8851. }
  8852. }
  8853. else return SCM(playerid, COLOR_GREY, "You are not a cop!");
  8854. return 1;
  8855. }*/
  8856. CMD:lands(playerid, params[])
  8857. {
  8858. ShowPlayerDialogEx(playerid, LANDS, DIALOG_STYLE_LIST, "Lands - Select an option", "Buy land\nEdit land\nSell land", "Select", "Close");
  8859. return 1;
  8860. }
  8861. CMD:resetclaimgiftforplayer(playerid, params[])
  8862. {
  8863. if(PlayerInfo[playerid][pAdmin] == 7)
  8864. {
  8865. new id;
  8866. if(sscanf(params, "u", id)) return SCM(playerid, -1, "USAGE: /resetclaimgiftforplayer [playerid]");
  8867. if(IsPlayerConnected(id))
  8868. {
  8869. PlayerInfo[id][pClaim] = 1;
  8870. }
  8871. }
  8872. return 1;
  8873. }
  8874. CMD:togturfs(playerid, params[])
  8875. {
  8876. if(GetPVarInt(playerid, "TurfsTD") == 0)
  8877. {
  8878. TextDrawShowForPlayer(playerid, Textdraw0s);
  8879. PlayerTextDrawShow(playerid, Textdraw1s[playerid]);
  8880. SetPVarInt(playerid, "TurfsTD", 1);
  8881. }
  8882. else if(GetPVarInt(playerid, "TurfsTD") == 1)
  8883. {
  8884. TextDrawHideForPlayer(playerid, Textdraw0s);
  8885. PlayerTextDrawHide(playerid, Textdraw1s[playerid]);
  8886. SetPVarInt(playerid, "TurfsTD", 0);
  8887. }
  8888. return 1;
  8889. }
  8890. CMD:businessmenu(playerid, params[])
  8891. {
  8892. if(PlayerInfo[playerid][pBizID] == 0) return SCM(playerid, COLOR_GREY, "You don't own a biz!");
  8893. if(InsideBiz[playerid] != PlayerInfo[playerid][pBizID]) return SCM(playerid, COLOR_GREY, "You are not inside your business!");
  8894. ShowPlayerDialogEx(playerid, 5215, DIALOG_STYLE_LIST, "Business Menu", "Change store name\nChange name\nBalance", "Select", "Close");
  8895. /*BusinessInfo[PlayerInfo[playerid][pBizID]][bName] = name;
  8896. SCM(playerid, COLOR_YELLOW, "Business name changed!");
  8897. new strs[142];
  8898. new id = PlayerInfo[playerid][pBizID];
  8899. format(strs, 142, "%s\nOwner: %s\nType: %s\nID: %d", BusinessInfo[id][bName], BusinessInfo[id][bOwner], BusinessType(id), id);
  8900. UpdateDynamic3DTextLabelText(BusinessInfo[id][bText], COLOR_REALRED, strs);*/
  8901. return 1;
  8902. }
  8903. CMD:sellbusiness(playerid, params[])
  8904. {
  8905. new string[128];
  8906. new id = PlayerInfo[playerid][pBizID];
  8907. if(PlayerInfo[playerid][pBizID] == 0) return SCM(playerid, COLOR_GREY, "You don't own a biz!");
  8908. BusinessInfo[id][bOwned] = 0;
  8909. BusinessInfo[id][bOwner] = 0;
  8910. BusinessInfo[id][bLocked] = 0;
  8911. GivePlayerCash(playerid, BusinessInfo[id][bPrice]);
  8912. PlayerInfo[playerid][pBizID] = 0;
  8913. SCM(playerid, COLOR_YELLOW, "Business sold!");
  8914. format(string, sizeof(string), "This business is for sale!\nType: %s\nPrice: $%d\nID: %d", BusinessType(id), BusinessInfo[id][bPrice], id);
  8915. UpdateDynamic3DTextLabelText(BusinessInfo[id][bText], COLOR_REALRED, string);
  8916. return 1;
  8917. }
  8918. CMD:buybusiness(playerid, params[])
  8919. {
  8920. new id = IsPlayerNearBizEnt(playerid);
  8921. if(id == -1 || id == 0) return SendClientMessage(playerid, COLOR_GREY, "You are not near a biz");
  8922. if(BusinessInfo[id][bOwned] != 0 || BusinessInfo[id][bPrice] == 0) return SendClientMessage(playerid, COLOR_GREY, "This biz is not for sale.");
  8923. if(PlayerInfo[playerid][pCash] < BusinessInfo[id][bPrice]) return SendClientMessage(playerid, COLOR_LIGHTRED, "Sorry, you can not afford this biz.");
  8924. PlayerInfo[playerid][pBizID] = id;
  8925. GivePlayerCash(playerid, -BusinessInfo[id][bPrice]);
  8926. BusinessInfo[id][bLocked] = 0;
  8927. BusinessInfo[id][bOwned] = 1;
  8928. BusinessInfo[id][bOwner] = GetPlayerNameEx(playerid);
  8929. new strs[142];
  8930. SendClientMessage(playerid, COLOR_YELLOW, "Congratulations on your new biz! Use /bizhelp to get help, or /newb!");
  8931. format(strs, 142, "%s\nOwner: %s (%d)", BusinessInfo[id][bName], BusinessInfo[id][bOwner], id);
  8932. UpdateDynamic3DTextLabelText(BusinessInfo[id][bText], COLOR_REALRED, strs);
  8933. return 1;
  8934. }
  8935. CMD:asellbusiness(playerid, params[])
  8936. {
  8937. if(PlayerInfo[playerid][pAdmin] <= 5)
  8938. {
  8939. return SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  8940. }
  8941. new id;
  8942. if(sscanf(params, "d", id)) return SendClientMessage(playerid, COLOR_GREY, "YCMD: /deletebiz [id]");
  8943. if(BusinessInfo[id][bOwned] == 0) return SCM(playerid, COLOR_GREY, "This biz is not owned.");//Checks if the biz is owned, if it is it won't allow it to be deleted.
  8944. BusinessInfo[id][bOwned] = 0;
  8945. BusinessInfo[id][bOwner] = 0;
  8946. BusinessInfo[id][bLocked] = 0;
  8947. format(BusinessInfo[id][bOwner], MAX_PLAYER_NAME, "None");
  8948. new string[128];
  8949. format(string, sizeof(string), "This business is for sale!\nType: %s\nPrice: $%d\nID: %d", BusinessType(id), BusinessInfo[id][bPrice], id);
  8950. UpdateDynamic3DTextLabelText(BusinessInfo[id][bText], COLOR_REALRED, string);
  8951. return 1;
  8952. }
  8953. CMD:deletebiz(playerid, params[])
  8954. {
  8955. if(PlayerInfo[playerid][pAdmin] <= 5)
  8956. {
  8957. return SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  8958. }
  8959. new id;
  8960. if(sscanf(params, "d", id)) return SendClientMessage(playerid, COLOR_GREY, "YCMD: /deletebiz [id]");
  8961. if(BusinessInfo[id][bOwned] == 1) return SCM(playerid, COLOR_GREY, "This biz is owned.");//Checks if the biz is owned, if it is it won't allow it to be deleted.
  8962. //Below it resets all the biz enum info.
  8963. BusinessInfo[id][bOwned] = 0;
  8964. BusinessInfo[id][bPrice] = 0;
  8965. BusinessInfo[id][bOwner] = 0;
  8966. BusinessInfo[id][bType] = 0;
  8967. BusinessInfo[id][bLocked] = 0;
  8968. BusinessInfo[id][bName] = 0;
  8969. BusinessInfo[id][bMoney] = 0;
  8970. BusinessInfo[id][bEntranceX] = 0;
  8971. BusinessInfo[id][bEntranceY] = 0;
  8972. BusinessInfo[id][bEntranceZ] = 0;
  8973. BusinessInfo[id][bEntranceA] = 0;
  8974. BusinessInfo[id][bExitX] = 0;
  8975. BusinessInfo[id][bExitY] = 0;
  8976. BusinessInfo[id][bExitZ] = 0;
  8977. BusinessInfo[id][bExitA] = 0;
  8978. BusinessInfo[id][bInt] = 0;
  8979. BusinessInfo[id][bWorld] = 0;
  8980. if(BusinessInfo[id][bOutsideIcon]) DestroyDynamicPickup(BusinessInfo[id][bOutsideIcon]);//Destroys the pickup.
  8981. if(BusinessInfo[id][bText]) DestroyDynamic3DTextLabel(BusinessInfo[id][bText]);//Destroys the pickup.
  8982. new string[128];
  8983. format(string, sizeof(string), BPATH, id);
  8984. fremove(string);
  8985. return 1;
  8986. }
  8987. IsPlayerNearBizEnt(playerid)
  8988. {
  8989. for(new b = 1; b < sizeof(BusinessInfo); b++)
  8990. {
  8991. if(IsPlayerInRangeOfPoint(playerid, 2.0, BusinessInfo[b][bEntranceX], BusinessInfo[b][bEntranceY], BusinessInfo[b][bEntranceZ])) return b;
  8992. }
  8993. return -1;
  8994. }
  8995. IsPlayerNearLand(playerid)
  8996. {
  8997. for(new b = 1; b < sizeof(LandsInfo); b++)
  8998. {
  8999. if(IsPlayerInRangeOfPoint(playerid, 10.0, LandsInfo[b][pos_X], LandsInfo[b][pos_Y], LandsInfo[b][pos_Z])) return b;
  9000. }
  9001. return -1;
  9002. }
  9003. stock LandType(l)// creates a stock.
  9004. {
  9005. new string[30];
  9006. switch(LandsInfo[l][lType])//You should know what switch is.
  9007. {
  9008. case 3: string = "Large";
  9009. case 2: string = "Medium";
  9010. case 1: string = "Small";
  9011. default: string = "Undefined";
  9012. }
  9013. return string;
  9014. }
  9015. stock BusinessType(b)// creates a stock.
  9016. {
  9017. new string[30];
  9018. switch(BusinessInfo[b][bType])//You should know what switch is.
  9019. {
  9020. case 6: string = "Bar";
  9021. case 5: string = "Club";
  9022. case 4: string = "Advertisement";
  9023. case 3: string = "Ammunation";
  9024. case 2: string = "Clothes Shop";
  9025. case 1: string = "24/7";
  9026. default: string = "Undefined";
  9027. }
  9028. return string;
  9029. }
  9030. /*CMD:createland(playerid, params[])
  9031. {
  9032. if(PlayerInfo[playerid][pAdmin] >= 6)
  9033. {
  9034. new price, type, id, string[128];
  9035. if(sscanf(params, "dd", price, type)) return SCM(playerid, -1, "USAGE: /createland [price] [type]");
  9036. if(price < 10000) return SCM(playerid, COLOR_WHITE, "Price must be above $10,000.");
  9037. for(new h = 1;h < sizeof(LandsInfo);h++)//Loops through all the businesses
  9038. {
  9039. if(LandsInfo[h][lType] == 0)//Checks if the price of a business is 0.
  9040. {
  9041. id = h;
  9042. break;//It stops looping if it is.
  9043. }
  9044. }
  9045. LandsInfo[id][lPrice] = price;
  9046. LandsInfo[id][lType] = type;
  9047. LandsInfo[id][lOwned] = 0;
  9048. format(LandsInfo[id][lOwner], MAX_PLAYER_NAME, "Nobody");
  9049. GetPlayerPos(playerid, LandsInfo[id][pos_X], LandsInfo[id][pos_Y], LandsInfo[id][pos_Z]);
  9050. if(LandsInfo[id][lIcon]) DestroyDynamicPickup(LandsInfo[id][lIcon]);
  9051. LandsInfo[id][lIcon] = CreateDynamicPickup(19523, 1, LandsInfo[id][pos_X], LandsInfo[id][pos_Y], LandsInfo[id][pos_Z], 0);//Creates a pickup at your location
  9052. format(string, sizeof(string), "This land is for sale! (%d)\nPrice: $%s\nType: %s", id, Comma(LandsInfo[id][lPrice]), LandType(id));
  9053. LandsInfo[id][lText] = CreateDynamic3DTextLabel(string, COLOR_REALRED, LandsInfo[id][pos_X], LandsInfo[id][pos_Y], LandsInfo[id][pos_Z]+0.5, 20.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, -1, -1, -1, -1, 10.0);
  9054. format(string, sizeof(string), "You have created a land. (ID: %d | Price: $%s | Type: %s)", id, Comma(price), LandType(id));
  9055. SCM(playerid, -1, string);
  9056. new file4[40];
  9057. format(file4, sizeof(file4), LPATH, id);
  9058. new INI:File = INI_Open(file4);
  9059. INI_SetTag(File,"data");
  9060. INI_WriteInt(File,"lOwned", LandsInfo[id][lOwned]);
  9061. INI_WriteInt(File,"lPrice", LandsInfo[id][lPrice]);
  9062. INI_WriteString(File,"lOwner", LandsInfo[id][lOwner]);
  9063. INI_WriteInt(File,"lType", LandsInfo[id][lType]);
  9064. INI_WriteFloat(File,"pos_X", LandsInfo[id][pos_X]);
  9065. INI_WriteFloat(File,"pos_Y", LandsInfo[id][pos_Y]);
  9066. INI_WriteFloat(File,"pos_Z", LandsInfo[id][pos_Z]);
  9067. INI_WriteInt(File,"lObjectCount", LandsInfo[id][lObjectCount]);
  9068. INI_Close(File);
  9069. }
  9070. else SCM(playerid, -1, NOTAUTH);
  9071. return 1;
  9072. }*/
  9073. CMD:createland(playerid, params[])
  9074. {
  9075. return SCM(playerid, -1, "This command is not available yet!");
  9076. }
  9077. CMD:createbusiness(playerid, params[])
  9078. {
  9079. if(PlayerInfo[playerid][pAdmin] <= 5)
  9080. {
  9081. return SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  9082. }
  9083. new price, level, id, int, world, string[128], Float:Xi, Float:Yi, Float:Zi, inti;//All the new defines we will need.
  9084. if(sscanf(params, "dddfff", price, level, inti, Xi, Yi, Zi)) return SendClientMessage(playerid, COLOR_GREY, "USAGE: /createbiz [price] [type] [interior] [X] [Y] [Z] = (1) 24/7 (2) Clothes Shop (3) Gun Shop (4) Advertisement (5) Club (6) Bar ");//d stands for integer, f stands for float.
  9085. if(level < 0 || level > 10) return SendClientMessage(playerid, COLOR_GREY, "Type cannot go below 0, or above 10.");//
  9086. if(price < 10000) return SendClientMessage(playerid, COLOR_GREY, " Price cannot go below $10,000.");// Check if the price is below 1000, if it is it will return a message saying it.
  9087. for(new h = 1;h < sizeof(BusinessInfo);h++)//Loops through all the businesses
  9088. {
  9089. if(BusinessInfo[h][bPrice] == 0)//Checks if the price of a business is 0.
  9090. {
  9091. id = h;
  9092. break;//It stops looping if it is.
  9093. }
  9094. }
  9095. new Float:X,Float:Y,Float:Z,Float:A;//More new defines.
  9096. GetPlayerPos(playerid, X, Y, Z);//Gets your player position, and saves it into floats.
  9097. GetPlayerFacingAngle(playerid, A);//Gets your facing angle, and saves it into a float.
  9098. int = GetPlayerInterior(playerid);//Gets your interior, and saves it into a integer.
  9099. world = GetPlayerVirtualWorld(playerid);//Gets your Virtual World, and saves it into a integer
  9100. BusinessInfo[id][bInsideInt] = inti;
  9101. BusinessInfo[id][bExitX] = Xi;
  9102. BusinessInfo[id][bExitY] = Yi;
  9103. BusinessInfo[id][bExitZ] = Zi;
  9104. BusinessInfo[id][bLocked] = 0;
  9105. BusinessInfo[id][bOwned] = 0;
  9106. BusinessInfo[id][bPrice] = price;
  9107. BusinessInfo[id][bType] = level;
  9108. GetPlayerPos(playerid, BusinessInfo[id][bEntranceX], BusinessInfo[id][bEntranceY], BusinessInfo[id][bEntranceZ]);
  9109. BusinessInfo[id][bInt] =int;
  9110. BusinessInfo[id][bWorld] =world;
  9111. BusinessInfo[id][bInsideWorld] =id;
  9112. format(string, sizeof(string), "None");
  9113. strmid(BusinessInfo[id][bName], string, 0, strlen(string), 255);
  9114. format(string, sizeof(string), "None");
  9115. strmid(BusinessInfo[id][bOwner], string, 0, strlen(string), 255);
  9116. format(string, sizeof(string), "None");
  9117. strmid(BusinessInfo[id][bIT], string, 0, strlen(string), 255);
  9118. format(string, sizeof(string), "This business is for sale!\nType: %s\nPrice: $%d\nID: %d", BusinessType(id), BusinessInfo[id][bPrice], id);
  9119. if(BusinessInfo[id][bOutsideIcon]) DestroyDynamicPickup(BusinessInfo[id][bOutsideIcon]);
  9120. BusinessInfo[id][bOutsideIcon] = CreateDynamicPickup(1272, 1, BusinessInfo[id][bEntranceX], BusinessInfo[id][bEntranceY], BusinessInfo[id][bEntranceZ], BusinessInfo[id][bWorld]);//Creates a pickup at your location
  9121. BusinessInfo[id][bText] = CreateDynamic3DTextLabel(string, COLOR_REALRED, BusinessInfo[id][bEntranceX], BusinessInfo[id][bEntranceY], BusinessInfo[id][bEntranceZ]+0.5,20.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 10.0);
  9122. new file4[40];
  9123. format(file4, sizeof(file4), BPATH, id);
  9124. new INI:File = INI_Open(file4);
  9125. INI_SetTag(File,"data");
  9126. INI_WriteInt(File,"bOwned", BusinessInfo[id][bOwned]);
  9127. INI_WriteInt(File,"bPrice", BusinessInfo[id][bPrice]);
  9128. INI_WriteString(File,"bOwner", BusinessInfo[id][bOwner]);
  9129. INI_WriteInt(File,"bType", BusinessInfo[id][bType]);
  9130. INI_WriteInt(File,"bLocked", BusinessInfo[id][bLocked]);
  9131. INI_WriteInt(File,"bMoney", BusinessInfo[id][bMoney]);
  9132. INI_WriteFloat(File,"bEntranceX", BusinessInfo[id][bEntranceX]);
  9133. INI_WriteFloat(File,"bEntranceY", BusinessInfo[id][bEntranceY]);
  9134. INI_WriteFloat(File,"bEntranceZ", BusinessInfo[id][bEntranceZ]);
  9135. INI_WriteFloat(File,"bEntranceA", BusinessInfo[id][bEntranceA]);
  9136. INI_WriteFloat(File,"bExitX", BusinessInfo[id][bExitX]);
  9137. INI_WriteFloat(File,"bExitY", BusinessInfo[id][bExitY]);
  9138. INI_WriteFloat(File,"bExitZ", BusinessInfo[id][bExitZ]);
  9139. INI_WriteFloat(File,"bExitA", BusinessInfo[id][bExitA]);
  9140. INI_WriteInt(File,"bInt", BusinessInfo[id][bInt]);
  9141. INI_WriteInt(File,"bWorld", BusinessInfo[id][bWorld]);
  9142. INI_WriteInt(File,"bInsideInt", BusinessInfo[id][bInsideInt]);
  9143. INI_WriteInt(File,"bInsideWorld", BusinessInfo[id][bInsideWorld]);
  9144. INI_WriteString(File,"bName", BusinessInfo[id][bName]);
  9145. INI_Close(File);
  9146. return 1;
  9147. }
  9148. CMD:createfire(playerid, params[])
  9149. {
  9150. if(PlayerInfo[playerid][pAdmin] > 4)
  9151. {
  9152. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 8)
  9153. {
  9154. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  9155. return 1;
  9156. }
  9157. new Float:x, Float:y, Float:z, Float:a;
  9158. GetXYInFrontOfPlayer(playerid, x, y, z, a, 2.5);
  9159. AddFire(x, y, z);
  9160. SendClientMessage(playerid, -1, " You created a fire");
  9161. }
  9162. else
  9163. {
  9164. SendClientMessage(playerid, COLOR_GRAD1, " You're not Authorized to use that command");
  9165. }
  9166. return 1;
  9167. }
  9168. CMD:announcefire(playerid, params[])
  9169. {
  9170. if(PlayerInfo[playerid][pAdmin] > 4)
  9171. {
  9172. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 8)
  9173. {
  9174. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  9175. return 1;
  9176. }
  9177. new zone[28], string[128];
  9178. new Float:X,Float:Y,Float:Z;
  9179. GetPlayerPos(playerid, X, Y, Z);
  9180. GetPlayer2DZone(playerid, zone, MAX_ZONE_NAME);
  9181. format(string, sizeof(string), "** All Fireman theres a fire at %s", zone);
  9182. SendRadioMessage(3, TEAM_MED_COLOR, string);
  9183. format(string, sizeof(string), "You announced to the Los Santos Fire&Medic Department (LSFMD) that there's a fire at %s", zone);
  9184. SendClientMessage(playerid, TEAM_MED_COLOR, string);
  9185. foreach(Player, i)
  9186. {
  9187. if(IsInLSFMD(i))
  9188. {
  9189. SetPlayerCheckpoint(i, X, Y, Z, 5);
  9190. }
  9191. }
  9192. }
  9193. else
  9194. {
  9195. SendClientMessage(playerid, COLOR_GRAD1, " You're not Authorized to use that command");
  9196. }
  9197. return 1;
  9198. }
  9199. CMD:destroyfire(playerid, params[])
  9200. {
  9201. if(PlayerInfo[playerid][pAdmin] > 4)
  9202. {
  9203. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 8)
  9204. {
  9205. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  9206. return 1;
  9207. }
  9208. for(new i; i < MAX_FLAMES; i++)
  9209. {
  9210. KillFire(i);
  9211. }
  9212. SendClientMessage(playerid, COLOR_WHITE, " You have deleted the fires");
  9213. }
  9214. else
  9215. {
  9216. SendClientMessage(playerid, COLOR_GRAD1, " You're not Authorized to use that command");
  9217. }
  9218. return 1;
  9219. }
  9220. /*CMD:owner(playerid, params[])
  9221. {
  9222. SendClientMessage(playerid, COLOR_CRIMSON, "_______{FFA500}SERVER OWNER{FFA500}_______");
  9223. SendClientMessage(playerid, COLOR_PINK, "Owner and Co - Owner");
  9224. SendClientMessage(playerid, COLOR_RED, "Server Owner{FFFFFF} | Howard McAdam");
  9225. SendClientMessage(playerid, COLOR_RED, "Special thanks to{FFFFFF}: Charly Mesina (https://web.facebook.com/profile.php?id=100025698540541)");
  9226. SendClientMessage(playerid, COLOR_CRIMSON, "___________________________________________");
  9227. return 1;
  9228. }*/
  9229. CMD:takepills(playerid, params[])
  9230. {
  9231. if(PlayerInfo[playerid][pDonator] > 1)
  9232. {
  9233. if(PlayerInfo[playerid][pPills] == 0)
  9234. {
  9235. SCM(playerid, COLOR_GREY, "You don't have any pills.");
  9236. return 1;
  9237. }
  9238. new result = random(2) + 1;
  9239. new str[128];
  9240. if(result == 1)
  9241. {
  9242. SetPlayerHealth(playerid, 0);
  9243. }
  9244. else if(result == 2)
  9245. {
  9246. SetPlayerHealth(playerid, 100);
  9247. SetPlayerArmour(playerid, 100);
  9248. }
  9249. format(str, sizeof(str), "* %s has used some pills.", GetPlayerNameEx(playerid));
  9250. ProxDetector(5.0, playerid, str, COLOR_NG,COLOR_NG,COLOR_NG,COLOR_NG,COLOR_NG);
  9251. }
  9252. else SCM(playerid, COLOR_GREY, "You must be atleast Sapphire Donator to use this feature.");
  9253. return 1;
  9254. }
  9255. CMD:factions(playerid, params[])
  9256. {
  9257. if(PlayerInfo[playerid][pAdmin] <= 1)
  9258. {
  9259. return SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  9260. }
  9261. SCM(playerid, COLOR_YELLOW, "Factions:");
  9262. new lspd, fbi, hma, fmd, GMA, ares, government, sasd;
  9263. foreach(Player, i)
  9264. {
  9265. if(PlayerInfo[i][pFaction] == 1)
  9266. {
  9267. lspd++;
  9268. }
  9269. else if(PlayerInfo[i][pFaction] == 2)
  9270. {
  9271. fbi++;
  9272. }
  9273. else if(PlayerInfo[i][pFaction] == 3)
  9274. {
  9275. fmd++;
  9276. }
  9277. else if(PlayerInfo[i][pFaction] == 4)
  9278. {
  9279. hma++;
  9280. }
  9281. else if(PlayerInfo[i][pFaction] == 5)
  9282. {
  9283. government++;
  9284. }
  9285. else if(PlayerInfo[i][pFaction] == 9)
  9286. {
  9287. GMA++;
  9288. }
  9289. else if(PlayerInfo[i][pFaction] == 10)
  9290. {
  9291. ares++;
  9292. }
  9293. else if(PlayerInfo[i][pFaction] == 11)
  9294. {
  9295. sasd++;
  9296. }
  9297. }
  9298. new string[128];
  9299. format(string, sizeof(string), "1. {2641FE}Los Santos Police Department {FFFFFF}| Leader: %s | Members Online: %d.", pdleader, lspd);
  9300. SCM(playerid, -1, string);
  9301. format(string, sizeof(string), "2. {8D8DFF}Federal Bureu of Investigation {FFFFFF}| Leader: %s | Members Online: %d.", fbileader, fbi);
  9302. SCM(playerid, -1, string);
  9303. format(string, sizeof(string), "3. {FF8282}Los Santos Fire & Medical Department {FFFFFF}| Leader: %s | Members Online: %d.", fmdleader, fmd);
  9304. SCM(playerid, -1, string);
  9305. format(string, sizeof(string), "4. Hitman Agency {FFFFFF}| Leader: Secret | Members Online: %d.", hma);
  9306. SCM(playerid, -1, string);
  9307. format(string, sizeof(string), "5. Los Santos Government {FFFFFF}| Leader: %s | Members Online: %d.", governmentleader, government);
  9308. SCM(playerid, -1, string);
  9309. format(string, sizeof(string), "6. {049C71}San Andreas News {FFFFFF}| Leader: %s | Members Online: %d.", GMAleader, GMA);
  9310. SCM(playerid, -1, string);
  9311. format(string, sizeof(string), "7. {1C77B3}Ares Defence Solution {FFFFFF}| Leader: %s | Members Online: %d.", aresleader, ares);
  9312. SCM(playerid, -1, string);
  9313. format(string, sizeof(string), "8. {FF8C00}San Andreas Sheriff Department {FFFFFF}| Leader: %s | Members Online: %d.", sasdleader, sasd);
  9314. SCM(playerid, -1, string);
  9315. return 1;
  9316. }
  9317. CMD:setwepres(playerid, params[])
  9318. {
  9319. if(PlayerInfo[playerid][pAdmin] >= 4)
  9320. {
  9321. new string[128], id, hrs;
  9322. if(sscanf(params, "ud", id, hrs)) return SCM(playerid, -1, "USAGE: /setwepres [playerid/partofname] [hours]");
  9323. if(IsPlayerConnected(id))
  9324. {
  9325. format(string, sizeof(string), "Admin %s has set your wep restriction to %d.", GetPlayerNameEx(playerid), hrs);
  9326. SCM(id, -1, string);
  9327. format(string, sizeof(string), "You have set %s's wep restriction to %d..", GetPlayerNameEx(id), hrs);
  9328. SCM(playerid, -1, string);
  9329. PlayerInfo[id][pWepRes] = hrs;
  9330. format(string, sizeof(string), "AdmCmd: %s has set %s's weapon restriction to '%d'.", GetPlayerNameEx(playerid), GetPlayerNameEx(id), hrs);
  9331. ABroadCast(COLOR_LIGHTRED, string, 1);
  9332. }
  9333. else return SCM(playerid, COLOR_GREY, "Invalid player specified.");
  9334. }
  9335. else return SCM(playerid, COLOR_GREY, "You are not authorized to use this command!");
  9336. return 1;
  9337. }
  9338. CMD:setformeradmin(playerid, params[])
  9339. {
  9340. if(PlayerInfo[playerid][pAdmin] >= 8)
  9341. {
  9342. new string[128], id;
  9343. if(sscanf(params, "u", id)) return SCM(playerid, -1, "USAGE: /setformeradmin [playerid/partofname]");
  9344. if(IsPlayerConnected(id))
  9345. {
  9346. if(PlayerInfo[id][pFormer] == 0)
  9347. {
  9348. format(string, sizeof(string), "You have been set to former admin tag by %s.", GetPlayerNameEx(playerid));
  9349. SCM(id, -1, string);
  9350. format(string, sizeof(string), "You have set %s to Former Admin tag.", GetPlayerNameEx(id));
  9351. SCM(playerid, -1, string);
  9352. PlayerInfo[id][pFormer] = 1;
  9353. }
  9354. else
  9355. {
  9356. format(string, sizeof(string), "Your former admin tag has been revoked by %s.", GetPlayerNameEx(playerid));
  9357. SCM(id, -1, string);
  9358. format(string, sizeof(string), "You have revoked %s's former admin tag.", GetPlayerNameEx(id));
  9359. SCM(playerid, -1, string);
  9360. PlayerInfo[id][pFormer] = 0;
  9361. }
  9362. }
  9363. else return SCM(playerid, COLOR_GREY, "Invalid player specified.");
  9364. }
  9365. else return SCM(playerid, COLOR_GREY, "You are not authorized to use this command!");
  9366. return 1;
  9367. }
  9368. CMD:setoldschool(playerid, params[])
  9369. {
  9370. if(PlayerInfo[playerid][pAdmin] >= 8)
  9371. {
  9372. new string[128], id;
  9373. if(sscanf(params, "u", id)) return SCM(playerid, -1, "USAGE: /setoldschool [playerid/partofname]");
  9374. if(IsPlayerConnected(id))
  9375. {
  9376. if(PlayerInfo[id][pOS] == 0)
  9377. {
  9378. format(string, sizeof(string), "You have been set to Old School tag by %s.", GetPlayerNameEx(playerid));
  9379. SCM(id, -1, string);
  9380. format(string, sizeof(string), "You have set %s to Old School tag.", GetPlayerNameEx(id));
  9381. SCM(playerid, -1, string);
  9382. PlayerInfo[id][pOS] = 1;
  9383. }
  9384. else
  9385. {
  9386. format(string, sizeof(string), "Your Old School tag has been revoked by %s.", GetPlayerNameEx(playerid));
  9387. SCM(id, -1, string);
  9388. format(string, sizeof(string), "You have revoked %s's Old School tag.", GetPlayerNameEx(id));
  9389. SCM(playerid, -1, string);
  9390. PlayerInfo[id][pOS] = 0;
  9391. }
  9392. }
  9393. else return SCM(playerid, COLOR_GREY, "Invalid player specified.");
  9394. }
  9395. else return SCM(playerid, COLOR_GREY, "You are not authorized to use this command!");
  9396. return 1;
  9397. }
  9398. CMD:setvintage(playerid, params[])
  9399. {
  9400. if(PlayerInfo[playerid][pAdmin] >= 8)
  9401. {
  9402. new string[128], id;
  9403. if(sscanf(params, "u", id)) return SCM(playerid, -1, "USAGE: /setvintage [playerid/partofname]");
  9404. if(IsPlayerConnected(id))
  9405. {
  9406. if(PlayerInfo[id][pVintage] == 0)
  9407. {
  9408. format(string, sizeof(string), "You have been set to Vintage tag by %s.", GetPlayerNameEx(playerid));
  9409. SCM(id, -1, string);
  9410. format(string, sizeof(string), "You have set %s to Vintage tag.", GetPlayerNameEx(id));
  9411. SCM(playerid, -1, string);
  9412. PlayerInfo[id][pVintage] = 1;
  9413. }
  9414. else
  9415. {
  9416. format(string, sizeof(string), "Your Vintage tag has been revoked by %s.", GetPlayerNameEx(playerid));
  9417. SCM(id, -1, string);
  9418. format(string, sizeof(string), "You have revoked %s's Vintage tag.", GetPlayerNameEx(id));
  9419. SCM(playerid, -1, string);
  9420. PlayerInfo[id][pVintage] = 0;
  9421. }
  9422. }
  9423. else return SCM(playerid, COLOR_GREY, "Invalid player specified.");
  9424. }
  9425. else return SCM(playerid, COLOR_GREY, "You are not authorized to use this command!");
  9426. return 1;
  9427. }
  9428. CMD:setfamed(playerid, params[])
  9429. {
  9430. if(PlayerInfo[playerid][pAdmin] >= 8)
  9431. {
  9432. new string[128], id;
  9433. if(sscanf(params, "u", id)) return SCM(playerid, -1, "USAGE: /setfamed [playerid/partofname]");
  9434. if(IsPlayerConnected(id))
  9435. {
  9436. if(PlayerInfo[id][pFamed] == 0)
  9437. {
  9438. format(string, sizeof(string), "You have been set to Famed tag by %s.", GetPlayerNameEx(playerid));
  9439. SCM(id, -1, string);
  9440. format(string, sizeof(string), "You have set %s to Famed tag.", GetPlayerNameEx(id));
  9441. SCM(playerid, -1, string);
  9442. PlayerInfo[id][pFamed] = 1;
  9443. }
  9444. else
  9445. {
  9446. format(string, sizeof(string), "Your Famed tag has been revoked by %s.", GetPlayerNameEx(playerid));
  9447. SCM(id, -1, string);
  9448. format(string, sizeof(string), "You have revoked %s's Famed tag.", GetPlayerNameEx(id));
  9449. SCM(playerid, -1, string);
  9450. PlayerInfo[id][pFamed] = 0;
  9451. }
  9452. }
  9453. else return SCM(playerid, COLOR_GREY, "Invalid player specified.");
  9454. }
  9455. else return SCM(playerid, COLOR_GREY, "You are not authorized to use this command!");
  9456. return 1;
  9457. }
  9458. CMD:wepres(playerid, params[])
  9459. {
  9460. if(PlayerInfo[playerid][pWepRes] == 0)
  9461. return SCM(playerid, -1, "You currently don't have an admin wep restriction.");
  9462. new string[128];
  9463. format(string, sizeof(string), "You are weapon restricted for the next %d hours.", PlayerInfo[playerid][pWepRes]);
  9464. SCM(playerid, -1, string);
  9465. return 1;
  9466. }
  9467. /*CMD:bm(playerid, params[]) return cmd_blackmarket(playerid, params);
  9468. CMD:blackmarket(playerid, params[])
  9469. {
  9470. if(PlayerInfo[playerid][pGunRes]> 0)
  9471. {
  9472. SendClientMessage(playerid, COLOR_GREY, "You're not allowed to take weapons while having gun restriction!");
  9473. return 1;
  9474. }
  9475. if(PlayerInfo[playerid][pDonator] <1)
  9476. {
  9477. SendClientMessage(playerid, COLOR_LIGHTSLATEGRAY, "You need a donator package to access this blackmarket.");
  9478. return 1;
  9479. }
  9480. if(IsPlayerInRangeOfPoint(playerid,3,-20.229053,17.140705,467.120300) || IsPlayerInRangeOfPoint(playerid,3,1040.369995,-1409.241210,-6.406630))
  9481. {
  9482. if(PlayerInfo[playerid][pDonator] >= 1)
  9483. ShowPlayerDialogEx(playerid, 7483, DIALOG_STYLE_LIST, "Blackmarket's Menu", "Donator Guns\nDonator Clothes\nDonator Toys\nDonator Jobs", "Select", "Cancel");
  9484. }
  9485. else
  9486. SendClientMessage(playerid, COLOR_GRAD1, "You're not inside in the Blackmarket!");
  9487. return 1;
  9488. }*/
  9489. CMD:bm(playerid, params[]) return cmd_blackmarket(playerid, params);
  9490. CMD:blackmarket(playerid, params[])
  9491. {
  9492. if(PlayerInfo[playerid][pDonator] < 1)
  9493. {
  9494. return SendClientMessage(playerid, COLOR_LIGHTSLATEGRAY, "You need a donator package to access this market.");
  9495. }
  9496. if(IsPlayerInRangeOfPoint(playerid,3,-20.229053,17.140705,467.120300) || IsPlayerInRangeOfPoint(playerid,3,1040.369995,-1409.241210,-6.406630) || IsPlayerInRangeOfPoint(playerid,3,-4118.0459, 863.6408, 10.0257))
  9497. {
  9498. if(PlayerInfo[playerid][pDonator] == 2)
  9499. {
  9500. new string[1536] = "#\tWeapon Name\tCost", title[64];
  9501. strcat(string, "\n1.\tHealth\t(FREE)");
  9502. strcat(string, "\n2.\tArmor\t($500)");
  9503. strcat(string, "\n3.\tKatana\t(FREE)");
  9504. strcat(string, "\n4.\t9MM\t($200)");
  9505. strcat(string, "\n5.\tSilenced Pistol\t($200)");
  9506. strcat(string, "\n6.\tDesert Eagle\t($1000)");
  9507. strcat(string, "\n7.\tSPAS-12\t($2000)");
  9508. strcat(string, "\n8.\tSniper\t($1000)");
  9509. strcat(string, "\n9.\tM4-A1\t($1000)");
  9510. strcat(string, "\n10.\tMp5\t($700)");
  9511. strcat(string, "\n11.\tShotgun\t($500)");
  9512. format(title, sizeof(title), "{AAC5E3}Sapphire Donator");
  9513. return ShowPlayerDialogEx(playerid, DIALOG_BLACKMARKET2, DIALOG_STYLE_TABLIST_HEADERS, title, string, "Buy", "Cancel");
  9514. //return ShowPlayerDialogEx(playerid, DIALOG_BLACKMARKET2, DIALOG_STYLE_LIST, "{AAC5E3}Sapphire Donator", "(FREE) Health\n($500) Armor\n(FREE) Katana\n($200) 9MM\n($200) Silenced Pistol\n($1000) Desert Eagle\n($2000) SPAS-12\n($2500) Sniper\n($1000) M4A1\n($700) MP5\n($500) Shotgun", "Select", "Cancel");
  9515. }
  9516. if(PlayerInfo[playerid][pDonator] == 3)
  9517. {
  9518. new string[1536] = "#\tWeapon Name\tCost", title[64];
  9519. strcat(string, "\n1.\tHealth\t(FREE)");
  9520. strcat(string, "\n2.\tArmor\t($500)");
  9521. strcat(string, "\n3.\tKatana\t(FREE)");
  9522. strcat(string, "\n4.\t9MM\t($200)");
  9523. strcat(string, "\n5.\tSilenced Pistol\t($200)");
  9524. strcat(string, "\n6.\tDesert Eagle\t($1000)");
  9525. strcat(string, "\n7.\tSPAS-12\t($2000)");
  9526. strcat(string, "\n8.\tSniper\t($1000)");
  9527. strcat(string, "\n9.\tM4-A1\t($1000)");
  9528. strcat(string, "\n10.\tMp5\t($700)");
  9529. strcat(string, "\n11.\tShotgun\t($500)");
  9530. format(title, sizeof(title), "{AAC5E3}Diamond Donator");
  9531. return ShowPlayerDialogEx(playerid, DIALOG_BLACKMARKET2, DIALOG_STYLE_TABLIST_HEADERS, title, string, "Buy", "Cancel");
  9532. //return ShowPlayerDialogEx(playerid, DIALOG_BLACKMARKET2, DIALOG_STYLE_LIST, "{AAC5E3}Diamond Donator", "(FREE) Health\n($500) Armor\n(FREE) Katana\n($200) 9MM\n($200) Silenced Pistol\n($1000) Desert Eagle\n($2000) SPAS-12\n($2500) Sniper\n($1000) M4A1\n($700) MP5\n($500) Shotgun", "Select", "Cancel");
  9533. }
  9534. if(PlayerInfo[playerid][pDonator] == 1)
  9535. {
  9536. new string[1536] = "#\tWeapon Name\tCost", title[64];
  9537. strcat(string, "\n1.\tHealth\t(FREE)");
  9538. strcat(string, "\n2.\tArmor\t($600)");
  9539. strcat(string, "\n3.\tKatana\t(FREE)");
  9540. strcat(string, "\n4.\t9MM\t($300)");
  9541. strcat(string, "\n5.\tSilenced Pistol\t($300)");
  9542. strcat(string, "\n6.\tMp5\t($800)");
  9543. strcat(string, "\n7.\tShotgun\t($600)");
  9544. format(title, sizeof(title), "{AAC5E3}Ruby Donator");
  9545. return ShowPlayerDialogEx(playerid, DIALOG_BLACKMARKET1, DIALOG_STYLE_TABLIST_HEADERS, title, string, "Buy", "Cancel");
  9546. }
  9547. //ShowPlayerDialogEx(playerid, DIALOG_BLACKMARKET1, DIALOG_STYLE_LIST, "{AAC5E3}Ruby Donator", "(FREE) Health\n($600) Armor\n(FREE) Katana\n($300) 9MM\n($300) Silenced Pistol\n($800) MP5\n($600) Shotgun", "Select", "Cancel");
  9548. }
  9549. else return SendClientMessage(playerid, COLOR_GRAD1, "You are not near at the black market order room.");
  9550. return 1;
  9551. }
  9552. CMD:dlocker(playerid, params[]) return cmd_donatorlocker(playerid, params);
  9553. CMD:donatorlocker(playerid, params[])
  9554. {
  9555. if(PlayerInfo[playerid][pGunRes]> 0)
  9556. {
  9557. SendClientMessage(playerid, COLOR_GREY, "You're not allowed to take weapons while having gun restriction!");
  9558. return 1;
  9559. }
  9560. if(PlayerInfo[playerid][pDonator] <1)
  9561. {
  9562. SendClientMessage(playerid, COLOR_LIGHTSLATEGRAY, "You need a donator package to access this maximus club.");
  9563. return 1;
  9564. }
  9565. if(IsPlayerInRangeOfPoint(playerid,3,1073.609008,-1698.879638,-20.454763))
  9566. {
  9567. if(PlayerInfo[playerid][pDonator] >= 1)
  9568. //ShowPlayerDialogEx(playerid, BLACKMARKET, DIALOG_STYLE_LIST, "Donator Guns", "Deagle ($1,000) \nSpas-12 ($2,750) \nM4 ($1,750) \nKevlar Vest ($350) \nFirst aid kit ($250) \nSniper ($3,250) \nFull Set ($8,750) ", "OK", "Cancel");
  9569. ShowPlayerDialogEx(playerid, 7483, DIALOG_STYLE_LIST, "{AAC5E3}Donator Locker", "{FFFFFF}Change your job\nChange your skin\nAccess the Black Market\nBuy donator toys\nSet insurance to Maximus Club", "Select", "Cancel");
  9570. }
  9571. else
  9572. SendClientMessage(playerid, COLOR_WHITE, "You're not inside in the Maximus Club.");
  9573. return 1;
  9574. }
  9575. CMD:spawnatmc(playerid, params[])
  9576. {
  9577. if(IsPlayerInRangeOfPoint(playerid,3,1075.941894,-1706.718261,-20.454763))
  9578. {
  9579. if(PlayerInfo[playerid][pDonator] >= 1)
  9580. {
  9581. PlayerInfo[playerid][pSpawnMC] = 1;
  9582. SendClientMessageEx(playerid, COLOR_LIGHTSLATEGRAY, "Donator: You will now respawn at the Maximus Club instead.");
  9583. }
  9584. else
  9585. {
  9586. SendClientMessageEx(playerid, COLOR_LIGHTSLATEGRAY, "You need a donator package to access this feature.");
  9587. }
  9588. }
  9589. else return SendClientMessage(playerid, -1, "You're not in the Maximus Club.");
  9590. return 1;
  9591. }
  9592. /*CMD:maximusclothes(playerid, params[])
  9593. {
  9594. if(PlayerInfo[playerid][pDonator] < 1)
  9595. {
  9596. SendClientMessage(playerid, COLOR_WHITE, "You must be a donator.");
  9597. return 1;
  9598. }
  9599. if(IsPlayerInRangeOfPoint(playerid,3,2371.556884,-1471.276489,-18.824062))
  9600. {
  9601. if(PlayerInfo[playerid][pDonator] < 1)
  9602. {
  9603. ShowPlayerDialogEx(playerid, 3495, DIALOG_STYLE_INPUT, "Skin Selection","Please enter a Skin ID!\n\nNote: Skin Changes cost $250.", "Buy", "Cancel");
  9604. }
  9605. else
  9606. {
  9607. ShowModelSelectionMenu(playerid, skinlist, "Choose Skin");
  9608. }
  9609. }
  9610. else return SendClientMessage(playerid, -1, "You're not in the Maximus Club.");
  9611. return 1;
  9612. }*/
  9613. CMD:resetallhunt(playerid, params[])
  9614. {
  9615. AllHunt = 0;
  9616. foreach(Player, i)
  9617. {
  9618. Hunted[i] = 0;
  9619. }
  9620. return 1;
  9621. }
  9622. CMD:backpack(playerid, params[])
  9623. {
  9624. if(PlayerInfo[playerid][pWearingBP] == 0)
  9625. {
  9626. SetPlayerAttachedObject(playerid, 9, 3026, 1, -0.125, -0.046, -0.004, -1.299, -0.5, -6.297, 1.0, 1.0, 1.0); // Backpack
  9627. SendClientMessage(playerid, COLOR_WHITE, "You have weared your backpack!");
  9628. PlayerInfo[playerid][pWearingBP] = 1;
  9629. }
  9630. else
  9631. {
  9632. RemovePlayerAttachedObject(playerid, 9);
  9633. SendClientMessage(playerid, COLOR_WHITE, "You un-weared your backpack!");
  9634. PlayerInfo[playerid][pWearingBP] = 0;
  9635. }
  9636. return 1;
  9637. }
  9638. CMD:removebackpack(playerid, params[])
  9639. {
  9640. if(PlayerInfo[playerid][pBackpack] > 0)
  9641. {
  9642. if(GetPVarInt(playerid, "BPConfirm") == 0)
  9643. {
  9644. SetPVarInt(playerid, "BPConfirm", 1);
  9645. SendClientMessage(playerid, -1, "Are you sure want to remove your backpack?, you will dont get money either refund. Type /removebackpack again to remove.");
  9646. return 1;
  9647. }
  9648. PlayerInfo[playerid][pBackpack] = 0;
  9649. PlayerInfo[playerid][pBPPot] = 0;
  9650. PlayerInfo[playerid][pBPCrack] = 0;
  9651. PlayerInfo[playerid][pBPCash] = 0;
  9652. SendClientMessage(playerid, COLOR_WHITE, "You have removed your backpack!");
  9653. }
  9654. else SendClientMessage(playerid, COLOR_GREY, "You dont have any backpack!");
  9655. return 1;
  9656. }
  9657. CMD:mybackpack(playerid, params[])
  9658. {
  9659. if(gPlayerLogged[playerid] != 0)
  9660. {
  9661. if(PlayerInfo[playerid][pBackpack] > 0)
  9662. {
  9663. ShowBackpack(playerid);
  9664. }
  9665. else
  9666. {
  9667. SendClientMessage(playerid, COLOR_GREY, "You don't have any backpack.");
  9668. }
  9669. }
  9670. return 1;
  9671. }
  9672. CMD:buybackpack(playerid, params[])
  9673. {
  9674. SendClientMessage(playerid, -1, "This command has been removed. If you still want backpack you can donate at www.Serenity/donate");
  9675. SendClientMessage(playerid, -1, "How much is backpack each? Well, Small Backpack = $0.1, Medium Backpack = $0.2, and Large Backpack = $0.3. They're affordable arent they?");
  9676. return 1;
  9677. }
  9678. CMD:acceptbackpack(playerid, params[])
  9679. {
  9680. new string[128], backpack[20];
  9681. if(BPOffer[playerid] < 999)
  9682. {
  9683. if(GetPlayerCash(playerid) >= BPPrice[playerid])
  9684. {
  9685. if(IsPlayerConnected(BPOffer[playerid]))
  9686. {
  9687. if(ProxDetectorS(6.0, playerid, BPOffer[playerid]))
  9688. {
  9689. if(PlayerBoxing[playerid] == 1)
  9690. {
  9691. SendClientMessage(playerid, COLOR_GREY, "You can't accept dice bet while boxing.");
  9692. return 1;
  9693. }
  9694. switch(PlayerInfo[BPOffer[playerid]][pBackpack])
  9695. {
  9696. case 1: backpack = "large";
  9697. case 2: backpack = "medium";
  9698. case 3: backpack = "small";
  9699. default: backpack = "none";
  9700. }
  9701. if(GetPVarInt(playerid, "BuyBPConfirm") == 0)
  9702. {
  9703. SetPVarInt(playerid, "BuyBPConfirm", 1);
  9704. format(string, sizeof(string), "Are you sure want to accept the %s backpack for $%d with from %s? If yes, then type /acceptback again.", backpack, BPPrice[playerid], GetPlayerNameEx(BPOffer[playerid]));
  9705. SendClientMessage(playerid, -1, string);
  9706. return 1;
  9707. }
  9708. if(PlayerInfo[playerid][pBackpack] > 0)
  9709. {
  9710. SendClientMessage(playerid, COLOR_WHITE, "You already have a backpack!");
  9711. return 1;
  9712. }
  9713. format(string, sizeof(string), "* You accepted the %s backpack for $%d from %s.",backpack, BPPrice[playerid],GetPlayerNameEx(BPOffer[playerid]));
  9714. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  9715. format(string, sizeof(string), "* %s accepted your %s backpack for $%d.",GetPlayerNameEx(playerid),backpack, BPPrice[playerid]);
  9716. SendClientMessage(BPOffer[playerid], COLOR_LIGHTBLUE, string);
  9717. GivePlayerCash(playerid, -BPPrice[playerid]);
  9718. GivePlayerCash(BPOffer[playerid], BPPrice[playerid]);
  9719. SetPVarInt(playerid, "BuyBPConfirm", 0);
  9720. new bp = PlayerInfo[BPOffer[playerid]][pBackpack];
  9721. PlayerInfo[playerid][pBackpack] = bp;
  9722. PlayerInfo[BPOffer[playerid]][pBackpack] = 0;
  9723. BPOffer[playerid] = 999;
  9724. BPPrice[playerid] = 0;
  9725. return 1;
  9726. }
  9727. else {
  9728. SendClientMessage(playerid, COLOR_GRAD2, "You're not near the person offering you a backpack!");
  9729. return 1;
  9730. }
  9731. }
  9732. return 1;
  9733. }
  9734. else
  9735. {
  9736. SendClientMessage(playerid, COLOR_GREY, " You can't afford the backpack!");
  9737. return 1;
  9738. }
  9739. }
  9740. else {
  9741. SendClientMessage(playerid, COLOR_GREY, " No-one offered you any backpack!");
  9742. return 1;
  9743. }
  9744. }
  9745. CMD:sellbackpack(playerid, params[])
  9746. {
  9747. /*if(WatchingTV[playerid] != 0)
  9748. {
  9749. SendClientMessage(playerid, COLOR_GREY, "You can't do this while watching TV!");
  9750. return 1;
  9751. }*/
  9752. if(PlayerBoxing[playerid] > 0)
  9753. {
  9754. SendClientMessage(playerid, COLOR_GREY, "You can't sell backpack while you're boxing.");
  9755. return 1;
  9756. }
  9757. new string[128], giveplayerid, money;
  9758. if(sscanf(params, "ud", giveplayerid, money)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /sellbackpack [playerid/partofname] [price]");
  9759. if(GetPVarInt(playerid, "BPTimer") > 0)
  9760. {
  9761. format(string, sizeof(string), " You must wait %d seconds before selling another backpack.", GetPVarInt(playerid, "BPTimer"));
  9762. SendClientMessage(playerid,COLOR_GREY,string);
  9763. return 1;
  9764. }
  9765. if(PlayerInfo[playerid][pBackpack] == 0) { SendClientMessage(playerid, COLOR_GREY, "You don't have any backpack!"); return 1; }
  9766. if(money < 1 || money > 50000000) { SendClientMessage(playerid, COLOR_GREY, "Specified price must be between $1 and $50,000,000"); return 1; }
  9767. if(IsPlayerConnected(giveplayerid))
  9768. {
  9769. if(ProxDetectorS(8.0, playerid, giveplayerid))
  9770. {
  9771. if(giveplayerid == playerid)
  9772. {
  9773. SendClientMessage(playerid, COLOR_GREY, "You cant /sellbackpack yourself");
  9774. return 1;
  9775. }
  9776. SetPVarInt(playerid, "BPTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_BPTIMER);
  9777. format(string, sizeof(string), "* You offered %s a backpack for $%d.", GetPlayerNameEx(giveplayerid), money);
  9778. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  9779. format(string, sizeof(string), "* %s offered you a backpack $%d, type /acceptbackpack to accept.", GetPlayerNameEx(playerid), money);
  9780. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  9781. BPOffer[giveplayerid] = playerid;
  9782. BPPrice[giveplayerid] = money;
  9783. }
  9784. else
  9785. {
  9786. SendClientMessage(playerid, COLOR_GREY, "That player isn't near you.");
  9787. }
  9788. }
  9789. else
  9790. {
  9791. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  9792. }
  9793. return 1;
  9794. }
  9795. CMD:checkbp(playerid, params[])
  9796. {
  9797. if(PlayerInfo[playerid][pAdmin] >= 2)
  9798. {
  9799. new giveplayerid;
  9800. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_GRAD1, "USAGE: /checkbackpack [playerid/partofname]");
  9801. if(IsPlayerConnected(giveplayerid))
  9802. {
  9803. ShowBackpack(giveplayerid);
  9804. }
  9805. else
  9806. {
  9807. SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  9808. }
  9809. }
  9810. else
  9811. {
  9812. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  9813. }
  9814. return 1;
  9815. }
  9816. CMD:bpwithdraw(playerid, params[])
  9817. {
  9818. if(PlayerInfo[playerid][pBackpack] > 0)
  9819. {
  9820. new string[127], choice[36], amount;
  9821. if(sscanf(params, "s[36]d", choice, amount))
  9822. {
  9823. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /bpwithdraw [name] [amount]");
  9824. SendClientMessage(playerid, COLOR_GREY, "Available names: Pot, Crack, Cash");
  9825. return 1;
  9826. }
  9827. if(strcmp(choice,"pot", true) == 0)
  9828. {
  9829. if(PlayerInfo[playerid][pBPPot] > 0)
  9830. {
  9831. if(amount <= PlayerInfo[playerid][pPot])
  9832. {
  9833. SendClientMessage(playerid, COLOR_GREY, "You don't have that enough pot!");
  9834. return 1;
  9835. }
  9836. PlayerInfo[playerid][pPot] += amount;
  9837. PlayerInfo[playerid][pBPPot] -= amount;
  9838. format(string, sizeof(string), "You withdrawn %d pot in your backpack.", amount);
  9839. SendClientMessage(playerid, COLOR_WHITE, string);
  9840. format(string, sizeof(string), "%s opens their backpack and withdraws %d pots in their backpack.", GetPlayerNameEx(playerid), amount);
  9841. ProxDetector(5.0, playerid, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
  9842. }
  9843. else SendClientMessage(playerid, COLOR_GREY, "You don't have that enough amount!");
  9844. }
  9845. if(strcmp(choice,"crack", true) == 0)
  9846. {
  9847. if(PlayerInfo[playerid][pBPCrack] > 0)
  9848. {
  9849. if(amount <= PlayerInfo[playerid][pCrack])
  9850. {
  9851. SendClientMessage(playerid, COLOR_GREY, "You don't have that enough Crack!");
  9852. return 1;
  9853. }
  9854. PlayerInfo[playerid][pCrack] += amount;
  9855. PlayerInfo[playerid][pBPCrack] -= amount;
  9856. format(string, sizeof(string), "You withdrawn %d crack in your backpack.", amount);
  9857. SendClientMessage(playerid, COLOR_WHITE, string);
  9858. format(string, sizeof(string), "%s opens their backpack and withdraws %d cracks in their backpack.", GetPlayerNameEx(playerid), amount);
  9859. ProxDetector(5.0, playerid, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
  9860. }
  9861. else SendClientMessage(playerid, COLOR_GREY, "You don't have that enough amount!");
  9862. }
  9863. if(strcmp(choice,"cash", true) == 0)
  9864. {
  9865. if(PlayerInfo[playerid][pBPCash] > 0)
  9866. {
  9867. if(amount < 1 || amount > 2000000) { SendClientMessage(playerid, COLOR_GREY, "Specified amount must be between $1 and $2,000,000"); return 1; }
  9868. PlayerInfo[playerid][pBPCash] -= amount;
  9869. GivePlayerCash(playerid, amount);
  9870. format(string, sizeof(string), "You withdrawn $%d in your backpack.", amount);
  9871. SendClientMessage(playerid, COLOR_WHITE, string);
  9872. format(string, sizeof(string), "%s opens their backpack and withdraws $%d in their backpack.", GetPlayerNameEx(playerid), amount);
  9873. ProxDetector(5.0, playerid, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
  9874. }
  9875. else SendClientMessage(playerid, COLOR_GREY, "You don't have that enough amount!");
  9876. }
  9877. }
  9878. else SendClientMessage(playerid, COLOR_GREY, "You don't have any backpack!");
  9879. return 1;
  9880. }
  9881. CMD:bpdeposit(playerid, params[])
  9882. {
  9883. if(PlayerInfo[playerid][pBackpack] > 0)
  9884. {
  9885. new string[127], choice[32], amount;
  9886. if(sscanf(params, "s[32]d", choice, amount))
  9887. {
  9888. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /bpdeposit [name] [amount]");
  9889. SendClientMessage(playerid, COLOR_GREY, "Available names: Pot, Crack, Cash");
  9890. return 1;
  9891. }
  9892. if(strcmp(choice,"pot", true) == 0)
  9893. {
  9894. if(PlayerInfo[playerid][pPot] > 0)
  9895. {
  9896. if(PlayerInfo[playerid][pPot] <= amount)
  9897. {
  9898. SendClientMessage(playerid, COLOR_GREY, "You don't have that enough pot!");
  9899. return 1;
  9900. }
  9901. PlayerInfo[playerid][pBPPot] += amount;
  9902. PlayerInfo[playerid][pPot] -= amount;
  9903. format(string, sizeof(string), "You deposited %d pot in your backpack.", amount);
  9904. SendClientMessage(playerid, COLOR_WHITE, string);
  9905. format(string, sizeof(string), "%s opens their backpack and deposits %d pots in their backpack.", GetPlayerNameEx(playerid), amount);
  9906. ProxDetector(5.0, playerid, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
  9907. }
  9908. else
  9909. {
  9910. SendClientMessage(playerid, COLOR_GREY, "You don't have that enough amount!");
  9911. }
  9912. }
  9913. if(strcmp(choice,"crack", true) == 0)
  9914. {
  9915. if(PlayerInfo[playerid][pCrack] > 0)
  9916. {
  9917. if(PlayerInfo[playerid][pCrack] <= amount)
  9918. {
  9919. SendClientMessage(playerid, COLOR_GREY, "You don't have that enough crack!");
  9920. return 1;
  9921. }
  9922. PlayerInfo[playerid][pBPCrack] += amount;
  9923. PlayerInfo[playerid][pCrack] -= amount;
  9924. format(string, sizeof(string), "You deposited %d crack in your backpack.", amount);
  9925. SendClientMessage(playerid, COLOR_WHITE, string);
  9926. format(string, sizeof(string), "%s opens their backpack and deposits %d cracks in their backpack.", GetPlayerNameEx(playerid), amount);
  9927. ProxDetector(5.0, playerid, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
  9928. }
  9929. else
  9930. {
  9931. SendClientMessage(playerid, COLOR_GREY, "You don't have that enough amount!");
  9932. }
  9933. }
  9934. if(strcmp(choice,"cash", true) == 0)
  9935. {
  9936. if(PlayerInfo[playerid][pCash] > 0)
  9937. {
  9938. if(GetPlayerCash(playerid) <= amount)
  9939. {
  9940. SendClientMessage(playerid, COLOR_GREY, "You don't have that enough cash!");
  9941. return 1;
  9942. }
  9943. if(amount < 1 || amount > 2000000) { SendClientMessage(playerid, COLOR_GREY, "Specified amount must be between $1 and $2,000,000"); return 1; }
  9944. PlayerInfo[playerid][pBPCash] += amount;
  9945. GivePlayerCash(playerid, -amount);
  9946. format(string, sizeof(string), "You deposited $%d in your backpack.", amount);
  9947. SendClientMessage(playerid, COLOR_WHITE, string);
  9948. format(string, sizeof(string), "%s opens their backpack and deposits $%d in their backpack.", GetPlayerNameEx(playerid), amount);
  9949. ProxDetector(5.0, playerid, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
  9950. }
  9951. else
  9952. {
  9953. SendClientMessage(playerid, COLOR_GREY, "You don't have that enough amount!");
  9954. }
  9955. }
  9956. }
  9957. else SendClientMessage(playerid, COLOR_GREY, "You don't have any backpack!");
  9958. return 1;
  9959. }
  9960. CMD:agivebackpack(playerid, params[])
  9961. {
  9962. if(PlayerInfo[playerid][pAdmin] < 5)
  9963. {
  9964. SendClientMessage(playerid, COLOR_GRAD2, "You're not authorized to use that command!");
  9965. return 1;
  9966. }
  9967. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  9968. {
  9969. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  9970. return 1;
  9971. }
  9972. new string[128], id, type, backpack[40];
  9973. if(sscanf(params, "ud", id, type)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /agivebackpack [playerid/partofname] [backpack type]");
  9974. if(type < 1 || type > 3) { SendClientMessage(playerid, COLOR_GREY, "Backpack type must be 1 - 3"); return 1; }
  9975. if(IsPlayerConnected(id))
  9976. {
  9977. switch(type)
  9978. {
  9979. case 1: backpack = "Large";
  9980. case 2: backpack = "Medium";
  9981. case 3: backpack = "Small";
  9982. default: backpack = "None";
  9983. }
  9984. PlayerInfo[id][pBackpack] = type;
  9985. format(string, sizeof(string), "AdmCmd: %s (ID %d) has given %s (ID %d) a %s backpack.", GetPlayerNameEx(playerid), playerid, GetPlayerNameEx(id), id, backpack);
  9986. ABroadCast(COLOR_LIGHTRED, string, 1);
  9987. format(string, sizeof(string), "Administrator %s has given you a %s backpack.", GetPlayerNameEx(playerid), playerid, GetPlayerNameEx(id), backpack);
  9988. SendClientMessage(id, COLOR_WHITE, string);
  9989. format(string, sizeof(string), "You have given %s a %s backpack.", GetPlayerNameEx(id), backpack);
  9990. SendClientMessage(playerid, COLOR_WHITE, string);
  9991. }
  9992. else SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  9993. return 1;
  9994. }
  9995. CMD:stats(playerid, params[])
  9996. {
  9997. if(gPlayerLogged[playerid] != 0)
  9998. {
  9999. ShowStats(playerid,playerid);
  10000. }
  10001. return 1;
  10002. }
  10003. CMD:kiosk(playerid, params[])
  10004. {
  10005. if(gPlayerLogged[playerid] != 0)
  10006. {
  10007. WelcomePlayer(playerid);
  10008. }
  10009. return 1;
  10010. }
  10011. CMD:netstats(playerid, params[]) {
  10012. if(gPlayerLogged[playerid] != 0) {
  10013. new strStats[401], szTitle[64];
  10014. GetPlayerNetworkStats(playerid, strStats, sizeof(strStats));
  10015. format(szTitle, sizeof(szTitle), "Network Stats (ID: %d) - %s", playerid, GetPlayerNameEx(playerid));
  10016. ShowPlayerDialogEx(playerid, 0, DIALOG_STYLE_MSGBOX, szTitle, strStats, "Close", "");
  10017. }
  10018. return 1;
  10019. }
  10020. CMD:anetstats(playerid, params[])
  10021. {
  10022. if(PlayerInfo[playerid][pAdmin] < 2) {
  10023. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  10024. return 1;
  10025. }
  10026. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  10027. {
  10028. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  10029. return 1;
  10030. }
  10031. new giveplayerid, strStats[401], szTitle[64];
  10032. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /anetstats [playerid/partofname]");
  10033. if(gPlayerLogged[giveplayerid] != 0) {
  10034. GetPlayerNetworkStats(giveplayerid, strStats, sizeof(strStats));
  10035. format(szTitle, sizeof(szTitle), "Network Stats (ID: %d) - %s", giveplayerid, GetPlayerNameEx(giveplayerid));
  10036. ShowPlayerDialogEx(playerid, 0, DIALOG_STYLE_MSGBOX, szTitle, strStats, "Close", "");
  10037. }
  10038. return 1;
  10039. }
  10040. CMD:join(playerid, params[])
  10041. {
  10042. if(PlayerInfo[playerid][pJob] == 0)
  10043. {
  10044. if(PlayerInfo[playerid][pJob] == 0 && GetPlayerState(playerid) == 1 && IsPlayerInRangeOfPoint(playerid,3.0, 1776.386962,-1047.542968,-25.408025))
  10045. {
  10046. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Detective, type /accept job.");
  10047. GettingJob[playerid] = 1;
  10048. return 1;
  10049. }
  10050. else if(PlayerInfo[playerid][pJob] == 0 && GetPlayerState(playerid) == 1 && IsPlayerInRangeOfPoint(playerid,3.0,1380.8955,-1088.6808,27.3844))
  10051. {
  10052. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Lawyer, type /accept job.");
  10053. GettingJob[playerid] = 2;
  10054. return 1;
  10055. }
  10056. else if(PlayerInfo[playerid][pJob] == 0 && GetPlayerState(playerid) == 1 && IsPlayerInRangeOfPoint(playerid,3.0,1215.1304,-11.8431,1000.9219))
  10057. {
  10058. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Whore, type /accept job.");
  10059. GettingJob[playerid] = 3;
  10060. return 1;
  10061. }
  10062. else if(PlayerInfo[playerid][pJob] == 0 && GetPlayerState(playerid) == 1 && IsPlayerInRangeOfPoint(playerid,3.0,2166.3772,-1675.3829,15.0859))
  10063. {
  10064. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Drugs Dealer, type /accept job.");
  10065. GettingJob[playerid] = 4;
  10066. return 1;
  10067. }
  10068. else if(PlayerInfo[playerid][pJob] == 0 && GetPlayerState(playerid) == 1 && IsPlayerInRangeOfPoint(playerid,3.0,2330.117675, -2315.346435, 13.546875))
  10069. {
  10070. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Car Mechanic, type /accept job.");
  10071. GettingJob[playerid] = 7;
  10072. return 1;
  10073. }
  10074. else if(PlayerInfo[playerid][pJob] == 0 && GetPlayerState(playerid) == 1 && IsPlayerInRangeOfPoint(playerid,3.0,2226.1716,-1718.1792,13.5165))
  10075. { // Ganton Gym
  10076. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Bodyguard, type /accept job.");
  10077. GettingJob[playerid] = 8;
  10078. return 1;
  10079. }
  10080. else if(PlayerInfo[playerid][pJob] == 0 && GetPlayerState(playerid) == 1 && IsPlayerInRangeOfPoint(playerid,3.0,1099.73,-1504.67,15.800))
  10081. { // All Saints Mall
  10082. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Bodyguard, type /accept job.");
  10083. GettingJob[playerid] = 8;
  10084. return 1;
  10085. }
  10086. else if(PlayerInfo[playerid][pJob] == 0 && GetPlayerState(playerid) == 1 && IsPlayerInRangeOfPoint(playerid,3.0,1366.4325,-1275.2096,13.5469))
  10087. { // Big Ammunation
  10088. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Arms Dealer type /accept job.");
  10089. GettingJob[playerid] = 9;
  10090. return 1;
  10091. }
  10092. else if(PlayerInfo[playerid][pJob] == 0 && GetPlayerState(playerid) == 1 && IsPlayerInRangeOfPoint(playerid,3.0,766.0804,14.5133,1000.7004))
  10093. {
  10094. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Boxer, type /accept job.");
  10095. GettingJob[playerid] = 12;
  10096. return 1;
  10097. }
  10098. else if(PlayerInfo[playerid][pJob] == 0 && GetPlayerState(playerid) == 1 && IsPlayerInRangeOfPoint(playerid,3.0,758.98, -60.32, 1000.78))
  10099. {
  10100. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Boxer, type /accept job.");
  10101. GettingJob[playerid] = 12;
  10102. return 1;
  10103. }
  10104. else if(PlayerInfo[playerid][pJob] == 0 && GetPlayerState(playerid) == 1 && IsPlayerInRangeOfPoint(playerid,3.0,2354.2808,-1169.2959,28.0066))
  10105. {
  10106. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Drug Smuggler, type /accept job.");
  10107. GettingJob[playerid] = 14;
  10108. return 1;
  10109. }
  10110. else if(PlayerInfo[playerid][pJob] == 0 && GetPlayerState(playerid) == 1 && IsPlayerInRangeOfPoint(playerid,3.0,1741.5199,-1863.4615,13.5750))
  10111. {
  10112. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Taxi Driver, type /accept job.");
  10113. GettingJob[playerid] = 17;
  10114. return 1;
  10115. }
  10116. else if(PlayerInfo[playerid][pJob] == 0 && GetPlayerState(playerid) == 1 && IsPlayerInRangeOfPoint(playerid,3.0,2195.8335,-1973.0638,13.5589))
  10117. {
  10118. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Craftsman, type /accept job.");
  10119. GettingJob[playerid] = 18;
  10120. return 1;
  10121. }
  10122. else if(PlayerInfo[playerid][pJob] == 0 && GetPlayerState(playerid) == 1 && IsPlayerInRangeOfPoint(playerid,3.0,502.6696,-11.6603,1000.6797))
  10123. {
  10124. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Bartender, type /accept job.");
  10125. GettingJob[playerid] = 19;
  10126. return 1;
  10127. }
  10128. else if(PlayerInfo[playerid][pJob] == 0 && GetPlayerState(playerid) == 1 && IsPlayerInRangeOfPoint(playerid,3.0,2214.979736, -2661.346923, 13.546875))
  10129. {
  10130. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Trucker, type /accept job.");
  10131. GettingJob[playerid] = 20;
  10132. return 1;
  10133. }
  10134. else if(PlayerInfo[playerid][pJob] == 0 && GetPlayerState(playerid) == 1 && IsPlayerInRangeOfPoint(playerid,3.0,378.58, -114.26, 1001.49))
  10135. {
  10136. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Pizza Boy, type /accept job.");
  10137. GettingJob[playerid] = 21;
  10138. return 1;
  10139. }
  10140. else if(PlayerInfo[playerid][pJob] == 0 && GetPlayerState(playerid) == 1 && IsPlayerInRangeOfPoint(playerid,3.0,2473.52, -2530.29, 13.65))
  10141. {
  10142. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Garbageman, type /accept job.");
  10143. GettingJob[playerid] = 22;
  10144. return 1;
  10145. }
  10146. else if(PlayerInfo[playerid][pJob] == 0 && GetPlayerState(playerid) == 1 && IsPlayerInRangeOfPoint(playerid,3.0,1280.6154,-1272.4631,13.5365))
  10147. {
  10148. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Miner, type /accept job.");
  10149. GettingJob[playerid] = 23;
  10150. return 1;
  10151. }
  10152. else
  10153. {
  10154. SendClientMessage(playerid, COLOR_GREY, "You're not even near a place to get a Job!");
  10155. }
  10156. }
  10157. else if(PlayerInfo[playerid][pJob] != 0 && PlayerInfo[playerid][pDonator] < 2 && PlayerInfo[playerid][pLevel] < 25)
  10158. {
  10159. SendClientMessage(playerid, COLOR_GREY, "You already have a Job, use /leavejob first!");
  10160. SendClientMessage(playerid, COLOR_GREY, "Only donators and level 25+ can get two jobs!");
  10161. }
  10162. else if(PlayerInfo[playerid][pJob2] == 0 && (PlayerInfo[playerid][pDonator] >= 2 || PlayerInfo[playerid][pLevel] >= 25))
  10163. {
  10164. if(PlayerInfo[playerid][pJob2] == 0 && GetPlayerState(playerid) == 1 && IsPlayerInRangeOfPoint(playerid,3.0, 1776.386962,-1047.542968,-25.408025))
  10165. {
  10166. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Detective, type /accept job.");
  10167. GettingJob2[playerid] = 1;
  10168. return 1;
  10169. }
  10170. else if(PlayerInfo[playerid][pJob2] == 0 && GetPlayerState(playerid) == 1 && IsPlayerInRangeOfPoint(playerid,3.0,1380.8955,-1088.6808,27.3844))
  10171. {
  10172. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Lawyer, type /accept job.");
  10173. GettingJob2[playerid] = 2;
  10174. return 1;
  10175. }
  10176. else if(PlayerInfo[playerid][pJob2] == 0 && GetPlayerState(playerid) == 1 && IsPlayerInRangeOfPoint(playerid,3.0,1215.1304,-11.8431,1000.9219))
  10177. {
  10178. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Whore, type /accept job.");
  10179. GettingJob2[playerid] = 3;
  10180. return 1;
  10181. }
  10182. else if(PlayerInfo[playerid][pJob2] == 0 && GetPlayerState(playerid) == 1 && IsPlayerInRangeOfPoint(playerid,3.0,2166.3772,-1675.3829,15.0859))
  10183. {
  10184. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Drugs Dealer, type /accept job.");
  10185. GettingJob2[playerid] = 4;
  10186. return 1;
  10187. }
  10188. else if(PlayerInfo[playerid][pJob2] == 0 && GetPlayerState(playerid) == 1 && IsPlayerInRangeOfPoint(playerid,3.0,2330.117675, -2315.346435, 13.546875))
  10189. {
  10190. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Car Mechanic, type /accept job.");
  10191. GettingJob2[playerid] = 7;
  10192. return 1;
  10193. }
  10194. else if(PlayerInfo[playerid][pJob2] == 0 && GetPlayerState(playerid) == 1 && IsPlayerInRangeOfPoint(playerid,3.0,2226.1716,-1718.1792,13.5165))
  10195. { // Ganton Gym
  10196. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Bodyguard, type /accept job.");
  10197. GettingJob2[playerid] = 8;
  10198. return 1;
  10199. }
  10200. else if(PlayerInfo[playerid][pJob2] == 0 && GetPlayerState(playerid) == 1 && IsPlayerInRangeOfPoint(playerid,3.0,1099.73,-1504.67,15.800))
  10201. { // All Saints Mall
  10202. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Bodyguard, type /accept job.");
  10203. GettingJob2[playerid] = 8;
  10204. return 1;
  10205. }
  10206. else if(PlayerInfo[playerid][pJob2] == 0 && GetPlayerState(playerid) == 1 && IsPlayerInRangeOfPoint(playerid,3.0,1366.4325,-1275.2096,13.5469))
  10207. { // Big Ammunation
  10208. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Arms Dealer, type /accept job.");
  10209. GettingJob2[playerid] = 9;
  10210. return 1;
  10211. }
  10212. else if(PlayerInfo[playerid][pJob2] == 0 && GetPlayerState(playerid) == 1 && IsPlayerInRangeOfPoint(playerid,3.0,766.0804,14.5133,1000.7004))
  10213. {
  10214. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Boxer, type /accept job.");
  10215. GettingJob2[playerid] = 12;
  10216. return 1;
  10217. }
  10218. else if(PlayerInfo[playerid][pJob2] == 0 && GetPlayerState(playerid) == 1 && IsPlayerInRangeOfPoint(playerid,3.0,758.98, -60.32, 1000.78))
  10219. {
  10220. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Boxer, type /accept job.");
  10221. GettingJob2[playerid] = 12;
  10222. return 1;
  10223. }
  10224. else if(PlayerInfo[playerid][pJob2] == 0 && GetPlayerState(playerid) == 1 && IsPlayerInRangeOfPoint(playerid,3.0,2354.2808,-1169.2959,28.0066))
  10225. {
  10226. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Drug Smuggler, type /accept job.");
  10227. GettingJob2[playerid] = 14;
  10228. return 1;
  10229. }
  10230. else if(PlayerInfo[playerid][pJob2] == 0 && GetPlayerState(playerid) == 1 && IsPlayerInRangeOfPoint(playerid,3.0,1741.5199,-1863.4615,13.5750))
  10231. {
  10232. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Taxi Driver, type /accept job.");
  10233. GettingJob2[playerid] = 17;
  10234. return 1;
  10235. }
  10236. else if(PlayerInfo[playerid][pJob2] == 0 && GetPlayerState(playerid) == 1 && IsPlayerInRangeOfPoint(playerid,3.0,2195.8335,-1973.0638,13.5589))
  10237. {
  10238. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Craftsman, type /accept job.");
  10239. GettingJob2[playerid] = 18;
  10240. return 1;
  10241. }
  10242. else if(PlayerInfo[playerid][pJob2] == 0 && GetPlayerState(playerid) == 1 && IsPlayerInRangeOfPoint(playerid,3.0,502.6696,-11.6603,1000.6797))
  10243. {
  10244. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Bartender, type /accept job.");
  10245. GettingJob2[playerid] = 19;
  10246. return 1;
  10247. }
  10248. else if(PlayerInfo[playerid][pJob2] == 0 && GetPlayerState(playerid) == 1 && IsPlayerInRangeOfPoint(playerid,3.0,2214.979736, -2661.346923, 13.546875))
  10249. {
  10250. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Trucker, type /accept job.");
  10251. GettingJob2[playerid] = 20;
  10252. return 1;
  10253. }
  10254. else if(PlayerInfo[playerid][pJob2] == 0 && GetPlayerState(playerid) == 1 && IsPlayerInRangeOfPoint(playerid,3.0,378.58, -114.26, 1001.49))
  10255. {
  10256. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Pizza Boy, type /accept job.");
  10257. GettingJob2[playerid] = 21;
  10258. return 1;
  10259. }
  10260. else if(PlayerInfo[playerid][pJob2] == 0 && GetPlayerState(playerid) == 1 && IsPlayerInRangeOfPoint(playerid,3.0,2473.52, -2530.29, 13.65))
  10261. {
  10262. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Garbageman, type /accept job.");
  10263. GettingJob2[playerid] = 22;
  10264. return 1;
  10265. }
  10266. else if(PlayerInfo[playerid][pJob2] == 0 && GetPlayerState(playerid) == 1 && IsPlayerInRangeOfPoint(playerid,3.0,1280.6154,-1272.4631,13.5365))
  10267. {
  10268. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Miner, type /accept job.");
  10269. GettingJob2[playerid] = 23;
  10270. return 1;
  10271. }
  10272. else
  10273. {
  10274. SendClientMessage(playerid, COLOR_GREY, "You're not even near a place to get a Job!");
  10275. }
  10276. }
  10277. else if(PlayerInfo[playerid][pJob] != 0 && PlayerInfo[playerid][pJob2] != 0)
  10278. {
  10279. SendClientMessage(playerid, COLOR_GREY, "You already have 2 Jobs, use /leavejob first!");
  10280. }
  10281. return 1;
  10282. }
  10283. CMD:leavejob(playerid, params[]) return cmd_quitjob(playerid, params);
  10284. CMD:quitjob(playerid, params[])
  10285. {
  10286. if(PlayerInfo[playerid][pDonator] >= 2)
  10287. {
  10288. new jobid;
  10289. if(sscanf(params, "d", jobid))
  10290. {
  10291. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /leavejob [jobid]");
  10292. SendClientMessage(playerid, COLOR_GREY, "Available: 1, 2");
  10293. return 1;
  10294. }
  10295. switch(jobid)
  10296. {
  10297. case 1:
  10298. {
  10299. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You have quit your Job.");
  10300. PlayerInfo[playerid][pJob] = 0;
  10301. if(GetPVarType(playerid, "NPS") != 0) {
  10302. SetPlayerSkin(playerid, GetPVarInt(playerid, "NPS"));
  10303. DeletePVar(playerid,"NPS");
  10304. }
  10305. DestroyProgressBar(LoadTruckBar[playerid]);
  10306. LoadTruckBar[playerid] = INVALID_BAR_ID;
  10307. LoadTruckTime[playerid] = 0;
  10308. DeletePVar(playerid, "TruckDeliver");
  10309. TruckUsed[playerid] = INVALID_VEHICLE_ID;
  10310. gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
  10311. DisablePlayerCheckpoint(playerid);
  10312. }
  10313. case 2:
  10314. {
  10315. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You have quit your secondary Job.");
  10316. PlayerInfo[playerid][pJob2] = 0;
  10317. if(GetPVarType(playerid, "NPS") != 0) {
  10318. SetPlayerSkin(playerid, GetPVarInt(playerid, "NPS"));
  10319. DeletePVar(playerid,"NPS");
  10320. }
  10321. DestroyProgressBar(LoadTruckBar[playerid]);
  10322. LoadTruckBar[playerid] = INVALID_BAR_ID;
  10323. LoadTruckTime[playerid] = 0;
  10324. DeletePVar(playerid, "TruckDeliver");
  10325. TruckUsed[playerid] = INVALID_VEHICLE_ID;
  10326. gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
  10327. DisablePlayerCheckpoint(playerid);
  10328. }
  10329. default:
  10330. {
  10331. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /leavejob [jobid]");
  10332. SendClientMessage(playerid, COLOR_GREY, "Available: 1, 2");
  10333. }
  10334. }
  10335. }
  10336. else
  10337. {
  10338. if(PlayerInfo[playerid][pJob] > 0)
  10339. {
  10340. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You have quit your Job.");
  10341. PlayerInfo[playerid][pJob] = 0;
  10342. if(GetPVarType(playerid, "NPS") != 0) {
  10343. SetPlayerSkin(playerid, GetPVarInt(playerid, "NPS"));
  10344. DeletePVar(playerid,"NPS");
  10345. }
  10346. DestroyProgressBar(LoadTruckBar[playerid]);
  10347. LoadTruckBar[playerid] = INVALID_BAR_ID;
  10348. LoadTruckTime[playerid] = 0;
  10349. DeletePVar(playerid, "TruckDeliver");
  10350. TruckUsed[playerid] = INVALID_VEHICLE_ID;
  10351. gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
  10352. DisablePlayerCheckpoint(playerid);
  10353. }
  10354. else
  10355. {
  10356. SendClientMessage(playerid, COLOR_GREY, "You don't even have a Job!");
  10357. }
  10358. }
  10359. return 1;
  10360. }
  10361. CMD:getpizza(playerid, params[])
  10362. {
  10363. if(PlayerInfo[playerid][pJob] != 21 && PlayerInfo[playerid][pJob2] != 21)
  10364. {
  10365. SendClientMessage(playerid,COLOR_GREY," You're not a Pizza Boy!");
  10366. return 1;
  10367. }
  10368. new vehicleid = GetPlayerVehicleID(playerid);
  10369. if(!(IsAPizzaCar(vehicleid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER))
  10370. {
  10371. SendClientMessage(playerid,COLOR_GREY," You need to be driving a pizzaboy found at the side of the Pizza Stack!");
  10372. return 1;
  10373. }
  10374. if(!(GetPlayerSkin(playerid) == 155))
  10375. {
  10376. SendClientMessage(playerid,COLOR_GREY," You need to be in the Pizza Stack uniform!");
  10377. return 1;
  10378. }
  10379. new playername[MAX_PLAYER_NAME];
  10380. GetPlayerName(playerid, playername, sizeof(playername));
  10381. if(!IsPlayerInRangeOfPoint(playerid, 3.0, 2104.1999511719, -1787.5999755859, 13.60000038147))
  10382. {
  10383. SendClientMessage(playerid,COLOR_GREY," You're not at the Pizza Stack pickup!");
  10384. return 1;
  10385. }
  10386. if(GetPVarInt(playerid, "Pizza") > 0)
  10387. {
  10388. SendClientMessage(playerid, COLOR_GREY, " You're already delivering pizzas!");
  10389. return 1;
  10390. }
  10391. /*new rand = random(MAX_HOUSES -1);
  10392. while(!(HouseInfo[rand][hExteriorZ] < 150.0 && HouseInfo[rand][hExteriorX] > 17.59 && HouseInfo[rand][hExteriorX] < 3004.64 && HouseInfo[rand][hExteriorY] < -805.45 && HouseInfo[rand][hExteriorY] > -2736.25))
  10393. {
  10394. rand++;
  10395. if(rand == MAX_HOUSES) {
  10396. rand = 1;
  10397. }
  10398. //printf("%d", rand);
  10399. }*/
  10400. new rand = random(165);
  10401. while(!(HouseInfo[rand][hExteriorZ] < 150.0 && HouseInfo[rand][hExteriorX] > 17.59 && HouseInfo[rand][hExteriorX] < 3004.64 && HouseInfo[rand][hExteriorY] < -805.45 && HouseInfo[rand][hExteriorY] > -2736.25))
  10402. {
  10403. rand++;
  10404. if(rand == 165) {
  10405. rand = 1;
  10406. }
  10407. //printf("%d", rand);
  10408. }
  10409. SetPVarInt(playerid, "tpPizzaTimer", floatround((GetPizzaDistance(rand) / 60), floatround_round));
  10410. SetPVarInt(playerid, "pizzaTotal", floatround((GetPizzaDistance(rand) / 10), floatround_round));
  10411. SetPVarInt(playerid, "pizzaTimer", GetPVarInt(playerid, "pizzaTotal"));
  10412. SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_TPPIZZARUNTIMER);
  10413. SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_PIZZATIMER);
  10414. new szMessage[128];
  10415. if(HouseInfo[rand][hOwned] == 0)
  10416. {
  10417. format(szMessage, sizeof(szMessage), "You have picked up a pizza for someone. You have %d seconds to deliver it!", GetPVarInt(playerid, "pizzaTotal"));
  10418. }
  10419. else
  10420. {
  10421. format(szMessage, sizeof(szMessage), "You have picked up a pizza for %s. You have %d seconds to deliver it!", HouseInfo[rand][hOwner], GetPVarInt(playerid, "pizzaTotal"));
  10422. }
  10423. SendClientMessage(playerid, COLOR_WHITE, szMessage);
  10424. SetPVarInt(playerid, "Pizza", rand);
  10425. PizzaBar[playerid] = CreateProgressBar(258.00, 137.00, 131.50, 3.19, COLOR_GREEN, 100.0);
  10426. SetProgressBarValue(PizzaBar[playerid], 100.0);
  10427. ShowProgressBarForPlayer(playerid, PizzaBar[playerid]);
  10428. SetPlayerCheckpoint(playerid, HouseInfo[rand][hExteriorX], HouseInfo[rand][hExteriorY], HouseInfo[rand][hExteriorZ], 5);
  10429. return 1;
  10430. }
  10431. CMD:pickuptrash(playerid, params[])
  10432. {
  10433. if(PlayerInfo[playerid][pJob] == 22 || PlayerInfo[playerid][pJob2] == 22)
  10434. {
  10435. new vehicleid = GetPlayerVehicleID(playerid);
  10436. if(IsAGarbageCar(vehicleid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  10437. {
  10438. if(GetPVarInt(playerid, "Trashup") == 0)
  10439. {
  10440. SendClientMessage(playerid, COLOR_LIGHTBLUE, "Pickup the trash/garbage on your map/radar.");
  10441. SetPlayerCheckpoint(playerid, 1423.93, -1317.97, 13.55, 5.0);
  10442. SetPVarInt(playerid, "Trashup", 1);
  10443. }
  10444. else SendClientMessage(playerid, COLOR_GREY, " You're already picking up trash, use /killcheckpoint to stop.");
  10445. }
  10446. else SendClientMessage(playerid, COLOR_GREY, " You are not driving a Trashmaster.");
  10447. }
  10448. else SendClientMessage(playerid, COLOR_GREY, " You're not a Garbage Man!");
  10449. return 1;
  10450. }
  10451. CMD:mine(playerid, params[])
  10452. {
  10453. if(PlayerInfo[playerid][pJob] != 23 && PlayerInfo[playerid][pJob2] != 23)
  10454. {
  10455. SendClientMessage(playerid,COLOR_GREY," You're not a Miner!");
  10456. return 1;
  10457. }
  10458. if(!IsPlayerNearMiningArea(playerid)) return SendClientMessage(playerid, COLOR_GREY, "You are not near at the mining area.");
  10459. GameTextForPlayer(playerid, "~w~Mining...", 6000, 3);
  10460. ApplyAnimation(playerid, "BASEBALL", "BAT_4", 4.1, 1, 0, 0, 0, 0, 1);
  10461. DisablePlayerCheckpoint(playerid);
  10462. SetPlayerAttachedObject(playerid, 9, 337, 6);
  10463. SetTimerEx("TimerGiveMinerEx2", 5000, false, "i", playerid);
  10464. return 1;
  10465. }
  10466. CMD:jobhelp(playerid, params[]) {
  10467. return ShowPlayerDialogEx(playerid, JOBHELPMENU, DIALOG_STYLE_LIST, "Which job do you need help with?","Detective\nLawyer\nWhore\nDrug Dealer\nMechanic\nBodyguard\nArms Dealer\nBoxer\nTaxi Driver\nDrug Smuggling\nCraftsman\nBartender\nTrucker\nPizza Boy\nStreet Sweeper\nMiner", "Select", "Cancel");
  10468. }
  10469. CheckPointCheck(iTargetID) {
  10470. return (GetPVarType(iTargetID, "Packages") || FindingJob[iTargetID] != 0 || TaxiAccepted[iTargetID] != 999 || EMSAccepted[iTargetID] != 999 || BusAccepted[iTargetID] != 999 || MedicAccepted[iTargetID] != 999 || MechanicCallTime[iTargetID] >= 1 || gPlayerCheckpointStatus[iTargetID] != CHECKPOINT_NONE || CP[iTargetID] != 0 || GetPVarType(iTargetID, "CrateDeliver") || GetPVarType(iTargetID, "Trash") || GetPVarType(iTargetID, "TrackCar"));
  10471. }
  10472. CMD:accept(playerid, params[])
  10473. {
  10474. if(AdminDuty[playerid] == 1)
  10475. {
  10476. SendClientMessage(playerid,COLOR_WHITE, "You can't use this command while on-duty as admin.");
  10477. return 1;
  10478. }
  10479. new string[128];
  10480. new sendername[MAX_PLAYER_NAME];
  10481. new giveplayer[MAX_PLAYER_NAME];
  10482. //new giveplayerid;
  10483. if(IsPlayerConnected(playerid)) {
  10484. if(isnull(params)) {
  10485. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /accept [name]");
  10486. SendClientMessage(playerid, COLOR_GREY, "Available names: Sex, Mats, Crack, Pot, Weapon, Craft, Repair, Bodyguard, Job, Divorce, Frisk");
  10487. SendClientMessage(playerid, COLOR_GREY, "Available names: Faction, Family, Taxi, Bus, Boxing, Medic, Mechanic, Ticket, Car, Death");
  10488. return 1;
  10489. }
  10490. if(strcmp(params,"job",true) == 0) {
  10491. if(GettingJob[playerid] > 0) {
  10492. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Congratulations with your new Job, type /help to see your new command.");
  10493. if(GettingJob[playerid] == 14) {
  10494. SendClientMessage(playerid, COLOR_WHITE, "HINT: You can find drug crates in Blueberry. (Go to checkpoint)");
  10495. if(CheckPointCheck(playerid)) {
  10496. PlayerInfo[playerid][pJob] = GettingJob[playerid];
  10497. GettingJob[playerid] = 0;
  10498. SendClientMessage(playerid, COLOR_WHITE, "Please ensure that your current checkpoint is destroyed first (you either have material packages, or another existing checkpoint).");
  10499. return 1;
  10500. }
  10501. SetPlayerCheckpoint(playerid, 51.9720,-292.6349,1.7031, 3);
  10502. }
  10503. if(GettingJob[playerid] == 21) {
  10504. SendClientMessage(playerid, COLOR_WHITE, "You have been given a Pizza Stack uniform!");
  10505. SetPVarInt(playerid, "NPS", GetPlayerSkin(playerid)); // non pizza skin
  10506. PlayerInfo[playerid][pSkin] = 155;
  10507. SetPlayerSkin(playerid, 155);
  10508. }
  10509. PlayerInfo[playerid][pJob] = GettingJob[playerid];
  10510. GettingJob[playerid] = 0;
  10511. return 1;
  10512. }
  10513. if(GettingJob2[playerid] > 0) {
  10514. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Congratulations with your new Job, type /help to see your new command.");
  10515. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You have taken this as a secondary job.");
  10516. if(GettingJob[playerid] == 14) {
  10517. SendClientMessage(playerid, COLOR_WHITE, "HINT: You can find drug crates in Blueberry. (Go to checkpoint)");
  10518. if(CheckPointCheck(playerid)) {
  10519. PlayerInfo[playerid][pJob] = GettingJob[playerid];
  10520. GettingJob[playerid] = 0;
  10521. SendClientMessage(playerid, COLOR_WHITE, "Please ensure that your current checkpoint is destroyed first (you either have material packages, or another existing checkpoint).");
  10522. return 1;
  10523. }
  10524. SetPlayerCheckpoint(playerid, 51.9720,-292.6349,1.7031, 3);
  10525. }
  10526. if(GettingJob[playerid] == 21) {
  10527. SendClientMessage(playerid, COLOR_WHITE, "You have been given a Pizza Stack uniform!");
  10528. SetPVarInt(playerid, "NPS", GetPlayerSkin(playerid)); // non pizza skin
  10529. PlayerInfo[playerid][pSkin] = 155;
  10530. SetPlayerSkin(playerid, 155);
  10531. }
  10532. PlayerInfo[playerid][pJob2] = GettingJob2[playerid];
  10533. GettingJob2[playerid] = 0;
  10534. return 1;
  10535. }
  10536. else {
  10537. SendClientMessage(playerid, COLOR_GREY, " You haven't even been at a job place yet!");
  10538. return 1;
  10539. }
  10540. }
  10541. if(strcmp(params,"frisk",true) == 0) {
  10542. if(GetPVarType(playerid, "FriskREQ") == 0)
  10543. return SendClientMessage(playerid, COLOR_GREY, "You do not have any requests to be frisked.");
  10544. format(string, sizeof(string), "* %s has accepted your frisk request.", GetPlayerNameEx(playerid));
  10545. SendClientMessage(GetPVarInt(playerid, "FriskREQ"), COLOR_LIGHTBLUE, string);
  10546. SendClientMessage(GetPVarInt(playerid, "FriskREQ"), COLOR_GREEN, "_______________________________________");
  10547. format(string, sizeof(string), "*** %s' items... ***", GetPlayerNameEx(playerid));
  10548. SendClientMessage(GetPVarInt(playerid, "FriskREQ"), COLOR_WHITE, string);
  10549. if(PlayerInfo[playerid][pWSeeds] == 1)
  10550. SendClientMessage(GetPVarInt(playerid, "FriskREQ"), COLOR_GREY, "Marijuana Seeds");
  10551. if(PlayerInfo[playerid][pPhoneBook] > 0)
  10552. SendClientMessage(GetPVarInt(playerid, "FriskREQ"), COLOR_GREY, "Phone book.");
  10553. if(PlayerInfo[playerid][pCDPlayer] > 0)
  10554. SendClientMessage(GetPVarInt(playerid, "FriskREQ"), COLOR_GREY, "CD player.");
  10555. if(PlayerInfo[playerid][pCrack] > 0) {
  10556. format(string, sizeof(string), "%d grams of crack.", PlayerInfo[playerid][pCrack]);
  10557. SendClientMessage(GetPVarInt(playerid, "FriskREQ"), COLOR_GREY, string);
  10558. }
  10559. if(PlayerInfo[playerid][pPot] > 0) {
  10560. format(string, sizeof(string), "%d grams of pot.", PlayerInfo[playerid][pPot]);
  10561. SendClientMessage(GetPVarInt(playerid, "FriskREQ"), COLOR_GREY, string);
  10562. }
  10563. if(PlayerInfo[playerid][pMats] > 0) {
  10564. format(string, sizeof(string), "%d materials.", PlayerInfo[playerid][pMats]);
  10565. SendClientMessage(GetPVarInt(playerid, "FriskREQ"), COLOR_GREY, string);
  10566. }
  10567. if(Fishes[playerid][pWeight1] > 0 || Fishes[playerid][pWeight2] > 0 || Fishes[playerid][pWeight3] > 0 || Fishes[playerid][pWeight4] > 0 || Fishes[playerid][pWeight5] > 0) {
  10568. format(string, sizeof(string), "%d fish.", PlayerInfo[playerid][pFishes]);
  10569. SendClientMessage(GetPVarInt(playerid, "FriskREQ"), COLOR_GREY, string);
  10570. }
  10571. new weaponname[50];
  10572. format(string, sizeof(string), "*** %s' weapons... ***", GetPlayerNameEx(playerid));
  10573. SendClientMessage(GetPVarInt(playerid, "FriskREQ"), COLOR_WHITE, string);
  10574. for(new i = 0; i < 12; i++) {
  10575. if(PlayerInfo[playerid][pGuns][i] > 0) {
  10576. GetWeaponName(PlayerInfo[playerid][pGuns][i], weaponname, sizeof(weaponname));
  10577. format(string, sizeof(string), "Weapon: %s.", weaponname);
  10578. SendClientMessage(GetPVarInt(playerid, "FriskREQ"), COLOR_GRAD1, string);
  10579. }
  10580. }
  10581. SendClientMessage(GetPVarInt(playerid, "FriskREQ"), COLOR_GREEN, "_______________________________________");
  10582. format(string, sizeof(string), "* %s has frisked %s.", GetPlayerNameEx(GetPVarInt(playerid, "FriskREQ")),GetPlayerNameEx(playerid));
  10583. ProxDetector(30.0, GetPVarInt(playerid, "FriskREQ"), string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  10584. DeletePVar(playerid, "FriskREQ");
  10585. }
  10586. if(strcmp(params,"death",true) == 0) {
  10587. if(GetPVarInt(playerid, "Injured") == 1) {
  10588. SendClientMessage(playerid, COLOR_WHITE, "You gave up hope and fell unconscious, you were immediately sent to the hospital.");
  10589. KillEMSQueue(playerid);
  10590. ResetPlayerWeaponsEx(playerid);
  10591. SpawnPlayer(playerid);
  10592. }
  10593. else { SendClientMessage(playerid, COLOR_GREY, " You're not injured, you can't do this right now!"); }
  10594. }
  10595. if(strcmp(params,"drink",true) == 0) {
  10596. if((DrinkOffer[playerid] != INVALID_PLAYER_ID) && (IsPlayerConnected(DrinkOffer[playerid]))) {
  10597. if(ProxDetectorS(8.0, playerid, DrinkOffer[playerid])) {
  10598. ShowPlayerDialogEx(playerid, DRINKLISTDIALOG, DIALOG_STYLE_LIST, "Available Drinks", "Beer ($60)\nVodka ($100)\nWhiskey ($100)\nWater ($20)\nSoda($20)", "Purchase", "Cancel");
  10599. }
  10600. else {
  10601. SendClientMessage(playerid, COLOR_GREY, "You're too far away from the bartender.");
  10602. DrinkOffer[playerid] = INVALID_PLAYER_ID;
  10603. return 1;
  10604. }
  10605. return 1;
  10606. }
  10607. else {
  10608. SendClientMessage(playerid, COLOR_GREY, " No-one has offered you a drink.");
  10609. return 1;
  10610. }
  10611. }
  10612. if(strcmp(params,"car",true) == 0) {
  10613. if(VehicleOffer[playerid] < 999) {
  10614. if(IsPlayerConnected(VehicleOffer[playerid])) {
  10615. if(GetPlayerCash(playerid) > VehiclePrice[playerid]) {
  10616. if(IsPlayerInVehicle(VehicleOffer[playerid], PlayerVehicleInfo[VehicleOffer[playerid]][VehicleId[playerid]][pvId])) {
  10617. if(!ProxDetectorS(8.0, VehicleOffer[playerid], playerid)) return SendClientMessage(playerid, COLOR_GREY, "You're not near the car dealer");
  10618. new playervehicleid = GetPlayerFreeVehicleId(playerid);
  10619. new carsamount = GetPlayerVehicleCount(playerid);
  10620. // (TEMPORARY - Howard NOTE) TempDonator not added yet
  10621. if(PlayerInfo[playerid][pDonator] == 0 && carsamount >= 5) //PlayerInfo[playerid][pTempDonator] > 0) && carsamount >= 5)
  10622. {
  10623. SendClientMessage(playerid, COLOR_GREY, "ERROR: You can't have more cars, non-donator can only own 5 cars.");
  10624. return 1;
  10625. }
  10626. if(PlayerInfo[playerid][pDonator] == 1 && carsamount >= 7)
  10627. {
  10628. SendClientMessage(playerid, COLOR_GREY, "ERROR: You can't have more cars, Ruby Donator can only own 7 cars.");
  10629. return 1;
  10630. }
  10631. if(PlayerInfo[playerid][pDonator] == 2 && carsamount >= 8)
  10632. {
  10633. SendClientMessage(playerid, COLOR_GREY, "ERROR: You can't have more cars, Sapphire Donator can only own 8 cars.");
  10634. return 1;
  10635. }
  10636. if(PlayerInfo[playerid][pDonator] == 3 && carsamount >= 10)
  10637. {
  10638. SendClientMessage(playerid, COLOR_GREY, "ERROR: You can't have more cars, Diamond Donator can only own 10 cars.");
  10639. return 1;
  10640. }
  10641. /*if(PlayerInfo[playerid][pDonator] >= 4 && carsamount >= 10)
  10642. {
  10643. SendClientMessage(playerid, COLOR_GREY, "ERROR: You can't have more cars, Platinum+ VIP can only own 10 cars.");
  10644. return 1;
  10645. }*/
  10646. if(playervehicleid == -1)
  10647. {
  10648. SendClientMessage(playerid, COLOR_GREY, "ERROR: You can't have more cars.");
  10649. return 1;
  10650. }
  10651. if(PlayerInfo[playerid][pDonator] == 0 && VehicleSpawned[playerid] >= 1)
  10652. {
  10653. SendClientMessage(playerid, COLOR_GREY, "As non-donator you can only have 1 vehicle spawned. You must store a vehicle in order to spawn another one.");
  10654. return 1;
  10655. }
  10656. if(PlayerInfo[playerid][pDonator] == 1 && VehicleSpawned[playerid] >= 2)
  10657. {
  10658. SendClientMessage(playerid, COLOR_GREY, "As Ruby Donator you can only have 2 vehicles spawned. You must store a vehicle in order to spawn another one.");
  10659. return 1;
  10660. }
  10661. if(PlayerInfo[playerid][pDonator] == 2 && VehicleSpawned[playerid] >= 3)
  10662. {
  10663. SendClientMessage(playerid, COLOR_GREY, "As Sapphire Donator you can only have 3 vehicles spawned. You must store a vehicle in order to spawn another one.");
  10664. return 1;
  10665. }
  10666. if(PlayerInfo[playerid][pDonator] == 3 && VehicleSpawned[playerid] >= 4)
  10667. {
  10668. SendClientMessage(playerid, COLOR_GREY, "As Diamond Donator you can only have 4 vehicles spawned. You must store a vehicle in order to spawn another one.");
  10669. return 1;
  10670. }
  10671. /*if(PlayerInfo[playerid][pDonator] == 4 && VehicleSpawned[playerid] >= 5)
  10672. {
  10673. SendClientMessage(playerid, COLOR_GREY, "As Undefined Donator you can only have 5 vehicles spawned. You must store a vehicle in order to spawn another one.");
  10674. return 1;
  10675. }
  10676. if(PlayerInfo[playerid][pDonator] == 5 && VehicleSpawned[playerid] >= 5)
  10677. {
  10678. SendClientMessage(playerid, COLOR_GREY, "As Undefined Donator you can only have 5 vehicles spawned. You must store a vehicle in order to spawn another one.");
  10679. return 1;
  10680. }*/
  10681. if(PlayerInfo[playerid][pDonator] < 0 || PlayerInfo[playerid][pDonator] > 3)
  10682. {
  10683. SendClientMessage(playerid, COLOR_GREY, "You have an invalid Donator level.");
  10684. return 1;
  10685. }
  10686. new ip[32], ipex[32];
  10687. GetPlayerIp(playerid, ip, sizeof(ip));
  10688. GetPlayerIp(VehicleOffer[playerid], ipex, sizeof(ipex));
  10689. format(string, sizeof(string), "[CAR] %s (IP: %s) has paid $%d to %s for the %s (IP: %s)", GetPlayerNameEx(playerid), ip, VehiclePrice[playerid], GetPlayerNameEx(VehicleOffer[playerid]), GetVehicleName(PlayerVehicleInfo[VehicleOffer[playerid]][VehicleId[playerid]][pvId]), ipex);
  10690. Log("logs/pay.log", string);
  10691. GetPlayerName(VehicleOffer[playerid], giveplayer, sizeof(giveplayer));
  10692. GetPlayerName(playerid, sendername, sizeof(sendername));
  10693. format(string, sizeof(string), "* You bought the %s for $%d, from %s. (Check /carhelp for more help)", GetVehicleName(PlayerVehicleInfo[VehicleOffer[playerid]][VehicleId[playerid]][pvId]), VehiclePrice[playerid],giveplayer);
  10694. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  10695. format(string, sizeof(string), "* You sold your %s to %s for $%d.",GetVehicleName(PlayerVehicleInfo[VehicleOffer[playerid]][VehicleId[playerid]][pvId]), sendername,VehiclePrice[playerid]);
  10696. SendClientMessage(VehicleOffer[playerid], COLOR_LIGHTBLUE, string);
  10697. GivePlayerCash(VehicleOffer[playerid], VehiclePrice[playerid]);
  10698. GivePlayerCash(playerid, -VehiclePrice[playerid]);
  10699. RemovePlayerFromVehicle(VehicleOffer[playerid]);
  10700. new Float:slx, Float:sly, Float:slz;
  10701. GetPlayerPos(VehicleOffer[playerid], slx, sly, slz);
  10702. SetPlayerPos(VehicleOffer[playerid], slx, sly, slz+2);
  10703. PlayerVehicleInfo[playerid][playervehicleid][pvId] = PlayerVehicleInfo[VehicleOffer[playerid]][VehicleId[playerid]][pvId];
  10704. PlayerVehicleInfo[playerid][playervehicleid][pvModelId] = PlayerVehicleInfo[VehicleOffer[playerid]][VehicleId[playerid]][pvModelId];
  10705. PlayerVehicleInfo[playerid][playervehicleid][pvPosX] = PlayerVehicleInfo[VehicleOffer[playerid]][VehicleId[playerid]][pvPosX];
  10706. PlayerVehicleInfo[playerid][playervehicleid][pvPosY] = PlayerVehicleInfo[VehicleOffer[playerid]][VehicleId[playerid]][pvPosY];
  10707. PlayerVehicleInfo[playerid][playervehicleid][pvPosZ] = PlayerVehicleInfo[VehicleOffer[playerid]][VehicleId[playerid]][pvPosZ];
  10708. PlayerVehicleInfo[playerid][playervehicleid][pvPosAngle] = PlayerVehicleInfo[VehicleOffer[playerid]][VehicleId[playerid]][pvPosAngle];
  10709. PlayerVehicleInfo[playerid][playervehicleid][pvLock] = PlayerVehicleInfo[VehicleOffer[playerid]][VehicleId[playerid]][pvLock];
  10710. PlayerVehicleInfo[playerid][playervehicleid][pvLocked] = PlayerVehicleInfo[VehicleOffer[playerid]][VehicleId[playerid]][pvLocked];
  10711. PlayerVehicleInfo[playerid][playervehicleid][pvPaintJob] = PlayerVehicleInfo[VehicleOffer[playerid]][VehicleId[playerid]][pvPaintJob];
  10712. PlayerVehicleInfo[playerid][playervehicleid][pvColor1] = PlayerVehicleInfo[VehicleOffer[playerid]][VehicleId[playerid]][pvColor1];
  10713. PlayerVehicleInfo[playerid][playervehicleid][pvColor2] = PlayerVehicleInfo[VehicleOffer[playerid]][VehicleId[playerid]][pvColor2];
  10714. PlayerVehicleInfo[playerid][playervehicleid][pvAllowedPlayerId] = PlayerVehicleInfo[VehicleOffer[playerid]][VehicleId[playerid]][pvAllowedPlayerId];
  10715. PlayerVehicleInfo[playerid][playervehicleid][pvPark] = PlayerVehicleInfo[VehicleOffer[playerid]][VehicleId[playerid]][pvPark];
  10716. PlayerVehicleInfo[playerid][playervehicleid][pvSpawned] = 1;
  10717. VehicleSpawned[playerid]++;
  10718. for(new m = 0; m < MAX_MODS; m++) {
  10719. PlayerVehicleInfo[playerid][playervehicleid][pvMods][m] = PlayerVehicleInfo[VehicleOffer[playerid]][VehicleId[playerid]][pvMods][m];
  10720. }
  10721. PlayerVehicleInfo[VehicleOffer[playerid]][VehicleId[playerid]][pvId] = 0;
  10722. PlayerVehicleInfo[VehicleOffer[playerid]][VehicleId[playerid]][pvModelId] = 0;
  10723. PlayerVehicleInfo[VehicleOffer[playerid]][VehicleId[playerid]][pvPosX] = 0.0;
  10724. PlayerVehicleInfo[VehicleOffer[playerid]][VehicleId[playerid]][pvPosY] = 0.0;
  10725. PlayerVehicleInfo[VehicleOffer[playerid]][VehicleId[playerid]][pvPosZ] = 0.0;
  10726. PlayerVehicleInfo[VehicleOffer[playerid]][VehicleId[playerid]][pvPosAngle] = 0.0;
  10727. PlayerVehicleInfo[VehicleOffer[playerid]][VehicleId[playerid]][pvLock] = 0;
  10728. PlayerVehicleInfo[VehicleOffer[playerid]][VehicleId[playerid]][pvLocked] = 0;
  10729. PlayerVehicleInfo[VehicleOffer[playerid]][VehicleId[playerid]][pvPaintJob] = -1;
  10730. PlayerVehicleInfo[VehicleOffer[playerid]][VehicleId[playerid]][pvColor1] = 0;
  10731. PlayerVehicleInfo[VehicleOffer[playerid]][VehicleId[playerid]][pvImpounded] = 0;
  10732. PlayerVehicleInfo[VehicleOffer[playerid]][VehicleId[playerid]][pvColor2] = 0;
  10733. PlayerVehicleInfo[VehicleOffer[playerid]][VehicleId[playerid]][pvAllowedPlayerId] = INVALID_PLAYER_ID;
  10734. PlayerVehicleInfo[VehicleOffer[playerid]][VehicleId[playerid]][pvPark] = 0;
  10735. PlayerVehicleInfo[VehicleOffer[playerid]][VehicleId[playerid]][pvSpawned] = 0;
  10736. VehicleSpawned[VehicleOffer[playerid]]--;
  10737. for(new m = 0; m < MAX_MODS; m++) {
  10738. PlayerVehicleInfo[VehicleOffer[playerid]][VehicleId[playerid]][pvMods][m] = 0;
  10739. }
  10740. VehicleOffer[playerid] = 999;
  10741. VehiclePrice[playerid] = 0;
  10742. return 1;
  10743. }
  10744. else {
  10745. SendClientMessage(playerid, COLOR_GREY, " The Car Dealer is not in the offered car!");
  10746. return 1;
  10747. }
  10748. }
  10749. else {
  10750. SendClientMessage(playerid, COLOR_GREY, " You can't afford the car!");
  10751. return 1;
  10752. }
  10753. }
  10754. return 1;
  10755. }
  10756. else {
  10757. SendClientMessage(playerid, COLOR_GREY, " Nobody offered to buy a car!");
  10758. return 1;
  10759. }
  10760. }
  10761. if(strcmp(params,"house",true) == 0) {
  10762. if(HouseOffer[playerid] < 999) {
  10763. if(IsPlayerConnected(HouseOffer[playerid]))
  10764. {
  10765. if(PlayerInfo[HouseOffer[playerid]][pHouse] == INVALID_HOUSE_ID)
  10766. {
  10767. SendClientMessage(playerid, COLOR_WHITE, "They don't own that house.");
  10768. return 1;
  10769. }
  10770. if(GetPlayerCash(playerid) > HousePrice[playerid])
  10771. {
  10772. new house;
  10773. if(House[playerid] == 1) house = PlayerInfo[HouseOffer[playerid]][pHouse];
  10774. else if(House[playerid] == 2) house = PlayerInfo[HouseOffer[playerid]][pHouse2];
  10775. else return SendClientMessage(playerid, COLOR_RED, "Error: No house specified");
  10776. ClearHouse(house);
  10777. HouseInfo[house][hLock] = 1;
  10778. format(HouseInfo[house][hOwner], 128, "Nobody");
  10779. sendername = GetPlayerNameEx(HouseOffer[playerid]);
  10780. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  10781. format(string, sizeof(string), "~w~Congratulations~n~ You have sold your property for ~n~~g~$%d", HousePrice[playerid]);
  10782. GameTextForPlayer(HouseOffer[playerid], string, 4000, 3);
  10783. if(House[playerid] == 1) PlayerInfo[HouseOffer[playerid]][pHouse] = INVALID_HOUSE_ID;
  10784. else PlayerInfo[HouseOffer[playerid]][pHouse2] = INVALID_HOUSE_ID;
  10785. SaveHouses();
  10786. OnPlayerStatsUpdate(HouseOffer[playerid]);
  10787. DestroyPickup(HouseInfo[house][hPickupID]);
  10788. HouseInfo[house][hPickupID] = CreatePickup(1273, 23, HouseInfo[house][hExteriorX], HouseInfo[house][hExteriorY], HouseInfo[house][hExteriorZ], -1);
  10789. GivePlayerCash(HouseOffer[playerid],HousePrice[playerid]);
  10790. PlayerInfo[playerid][pHouse] = house;
  10791. HouseInfo[house][hOwned] = 1;
  10792. GetPlayerName(playerid, sendername, sizeof(sendername));
  10793. strmid(HouseInfo[house][hOwner], sendername, 0, strlen(sendername), 255);
  10794. GivePlayerCash(playerid,-HousePrice[playerid]);
  10795. SendClientMessage(playerid, COLOR_WHITE, "Congratulations on your new purchase!");
  10796. SendClientMessage(playerid, COLOR_WHITE, "Type /help to review the property help section!");
  10797. SaveHouses();
  10798. OnPlayerStatsUpdate(playerid);
  10799. DestroyPickup(HouseInfo[house][hPickupID]);
  10800. HouseInfo[house][hPickupID] = CreatePickup(1273, 23, HouseInfo[house][hExteriorX], HouseInfo[house][hExteriorY], HouseInfo[house][hExteriorZ], -1);
  10801. format(string, sizeof(string), "House owner: %s\nLevel: %d\nID: %d",HouseInfo[house][hOwner],HouseInfo[house][hLevel],house);
  10802. UpdateDynamic3DTextLabelText(HouseInfo[house][hTextID], COLOR_HOUSEGREEN, string);
  10803. new ip[32], ipex[32];
  10804. GetPlayerIp(HouseOffer[playerid],ip,sizeof(ip));
  10805. GetPlayerIp(playerid,ipex,sizeof(ipex));
  10806. format(string,sizeof(string),"%s (IP: %s) has sold their house (ID %d) to %s (IP: %s) for $%d.",GetPlayerNameEx(HouseOffer[playerid]),ip,house,GetPlayerNameEx(playerid),ipex,HousePrice[playerid]);
  10807. Log("logs/house.log", string);
  10808. HouseOffer[playerid] = 999;
  10809. HousePrice[playerid] = 0;
  10810. House[playerid] = 0;
  10811. }
  10812. else {
  10813. SendClientMessage(playerid, COLOR_GREY, " You can't afford the house!");
  10814. HouseOffer[playerid] = 999;
  10815. HousePrice[playerid] = 0;
  10816. House[playerid] = 0;
  10817. return 1;
  10818. }
  10819. }
  10820. return 1;
  10821. }
  10822. else {
  10823. SendClientMessage(playerid, COLOR_GREY, " Nobody offered to buy a house!");
  10824. return 1;
  10825. }
  10826. }
  10827. else if(strcmp(params,"invite",true) == 0)
  10828. {
  10829. if(hInviteOffer[playerid] < 999)
  10830. {
  10831. if(IsPlayerConnected(hInviteOffer[playerid]))
  10832. {
  10833. if(CheckPointCheck(playerid)) {
  10834. SendClientMessage(playerid, COLOR_WHITE, "Please ensure that your current checkpoint is destroyed first (you either have material packages, or another existing checkpoint).");
  10835. return 1;
  10836. }
  10837. hInviteHouse[playerid] = PlayerInfo[hInviteOffer[playerid]][pHouse];
  10838. format(string, sizeof(string), "* You have accepted %s's house invite, a checkpoint has been set to their house.", GetPlayerNameEx(hInviteOffer[playerid]));
  10839. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  10840. format(string, sizeof(string), "* %s has accepted your house invite.", GetPlayerNameEx(playerid));
  10841. SendClientMessage(hInviteOffer[playerid], COLOR_LIGHTBLUE, string);
  10842. DisablePlayerCheckpoint(playerid);
  10843. SetPlayerCheckpoint(playerid,HouseInfo[hInviteHouse[playerid]][hExteriorX], HouseInfo[hInviteHouse[playerid]][hExteriorY], HouseInfo[hInviteHouse[playerid]][hExteriorZ], 4.0);
  10844. gPlayerCheckpointStatus[playerid] = CHECKPOINT_HOME;
  10845. //hInviteSlot[playerid] = 0;
  10846. hInviteOffer[playerid] = 999;
  10847. hInviteHouse[playerid] = INVALID_HOUSE_ID;
  10848. return 1;
  10849. }
  10850. else
  10851. {
  10852. //hInviteSlot[playerid] = 0;
  10853. hInviteOffer[playerid] = 999;
  10854. hInviteHouse[playerid] = INVALID_HOUSE_ID;
  10855. SendClientMessage(playerid, COLOR_GREY, "The player who sent you a house invite has disconnected.");
  10856. }
  10857. }
  10858. else
  10859. {
  10860. SendClientMessage(playerid, COLOR_GREY, "Nobody sent you a house invite.");
  10861. return 1;
  10862. }
  10863. return 1;
  10864. }
  10865. else if(strcmp(params, "handshake",true) == 0)
  10866. {
  10867. if(ShakeHandStyle[playerid] != 0 && ShakeHandRequest[playerid] != 999)
  10868. {
  10869. if (ProxDetectorS(1.3, playerid, ShakeHandRequest[playerid]) && (GetPlayerVirtualWorld(ShakeHandRequest[playerid]) == GetPlayerVirtualWorld(playerid)))
  10870. {
  10871. PlayerFacePlayer(playerid, ShakeHandRequest[playerid]);
  10872. if(ShakeHandStyle[playerid] == 1)
  10873. {
  10874. ApplyAnimation(playerid,"GANGS","prtial_hndshk_biz_01", 4.0, 0, 0, 0, 0, 0);
  10875. ApplyAnimation(ShakeHandRequest[playerid],"GANGS","prtial_hndshk_biz_01", 4.0, 0, 0, 0, 0, 0);
  10876. }
  10877. if(ShakeHandStyle[playerid] == 2)
  10878. {
  10879. ApplyAnimation(playerid,"GANGS","prtial_hndshk_01", 4.0, 0, 0, 0, 0, 0);
  10880. ApplyAnimation(ShakeHandRequest[playerid],"GANGS","prtial_hndshk_01", 4.0, 0, 0, 0, 0, 0);
  10881. }
  10882. if((ShakeHandStyle[playerid] == 3) && (GetPlayerState(playerid) ==PLAYER_STATE_ONFOOT) && (GetPlayerState(ShakeHandRequest[playerid]) ==PLAYER_STATE_ONFOOT))
  10883. {
  10884. ApplyAnimation(playerid,"GANGS","hndshkaa", 4.0, 0, 0, 0, 0, 0);
  10885. ApplyAnimation(ShakeHandRequest[playerid],"GANGS","hndshkaa", 4.0, 0, 0, 0, 0, 0);
  10886. }
  10887. if((ShakeHandStyle[playerid] == 4) && (GetPlayerState(playerid) ==PLAYER_STATE_ONFOOT) && (GetPlayerState(ShakeHandRequest[playerid]) ==PLAYER_STATE_ONFOOT))
  10888. {
  10889. ApplyAnimation(playerid,"GANGS","hndshkba", 4.0, 0, 0, 0, 0, 0);
  10890. ApplyAnimation(ShakeHandRequest[playerid],"GANGS","hndshkba", 4.0, 0, 0, 0, 0, 0);
  10891. }
  10892. if((ShakeHandStyle[playerid] == 5) && (GetPlayerState(playerid) ==PLAYER_STATE_ONFOOT) && (GetPlayerState(ShakeHandRequest[playerid]) ==PLAYER_STATE_ONFOOT))
  10893. {
  10894. ApplyAnimation(playerid,"GANGS","hndshkca", 4.0, 0, 0, 0, 0, 0);
  10895. ApplyAnimation(ShakeHandRequest[playerid],"GANGS","hndshkca", 4.0, 0, 0, 0, 0, 0);
  10896. }
  10897. if((ShakeHandStyle[playerid] == 6) && (GetPlayerState(playerid) ==PLAYER_STATE_ONFOOT) && (GetPlayerState(ShakeHandRequest[playerid]) ==PLAYER_STATE_ONFOOT))
  10898. {
  10899. ApplyAnimation(playerid,"GANGS","hndshkcb", 4.0, 0, 0, 0, 0, 0);
  10900. ApplyAnimation(ShakeHandRequest[playerid],"GANGS","hndshkcb", 4.0, 0, 0, 0, 0, 0);
  10901. }
  10902. if((ShakeHandStyle[playerid] == 7) && (GetPlayerState(playerid) ==PLAYER_STATE_ONFOOT) && (GetPlayerState(ShakeHandRequest[playerid]) ==PLAYER_STATE_ONFOOT))
  10903. {
  10904. ApplyAnimation(playerid,"GANGS","hndshkda", 4.0, 0, 0, 0, 0, 0);
  10905. ApplyAnimation(ShakeHandRequest[playerid],"GANGS","hndshkda", 4.0, 0, 0, 0, 0, 0);
  10906. }
  10907. if((ShakeHandStyle[playerid] == 8) && (GetPlayerState(playerid) ==PLAYER_STATE_ONFOOT) && (GetPlayerState(ShakeHandRequest[playerid]) ==PLAYER_STATE_ONFOOT))
  10908. {
  10909. ApplyAnimation(playerid,"GANGS","hndshkea", 4.0, 0, 0, 0, 0, 0);
  10910. ApplyAnimation(ShakeHandRequest[playerid],"GANGS","hndshkea", 4.0, 0, 0, 0, 0, 0);
  10911. }
  10912. if((ShakeHandStyle[playerid] == 9) && (GetPlayerState(playerid) ==PLAYER_STATE_ONFOOT) && (GetPlayerState(ShakeHandRequest[playerid]) ==PLAYER_STATE_ONFOOT))
  10913. {
  10914. ApplyAnimation(playerid,"GANGS","hndshkfa", 4.0, 0, 0, 0, 0, 0);
  10915. ApplyAnimation(ShakeHandRequest[playerid],"GANGS","hndshkfa", 4.0, 0, 0, 0, 0, 0);
  10916. }
  10917. if((ShakeHandStyle[playerid] == 10) && (GetPlayerState(playerid) ==PLAYER_STATE_ONFOOT) && (GetPlayerState(ShakeHandRequest[playerid]) ==PLAYER_STATE_ONFOOT))
  10918. {
  10919. ApplyAnimation(playerid,"GANGS","hndshkfa_swt", 4.0, 0, 0, 0, 0, 0);
  10920. ApplyAnimation(ShakeHandRequest[playerid],"GANGS","hndshkfa_swt", 4.0, 0, 0, 0, 0, 0);
  10921. }
  10922. format(string, sizeof(string), "* %s has shook hands with %s.", GetPlayerNameEx(ShakeHandRequest[playerid]), GetPlayerNameEx(playerid));
  10923. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  10924. ShakeHandRequest[playerid] = 999;
  10925. ShakeHandStyle[playerid] = 0;
  10926. return 1;
  10927. }
  10928. else
  10929. {
  10930. format(string, sizeof(string), "%s reaches for %s's hand but misses.", GetPlayerNameEx(playerid), GetPlayerNameEx(ShakeHandRequest[playerid]));
  10931. ProxDetector(10.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  10932. }
  10933. }
  10934. else SendClientMessage(playerid, COLOR_WHITE, "You don't have any handshake requests.");
  10935. return 1;
  10936. }
  10937. else if(strcmp(params,"taxi",true) == 0) {
  10938. if(TransportDuty[playerid] != 1) {
  10939. SendClientMessage(playerid, COLOR_GREY, " You're not a Taxi Driver!");
  10940. return 1;
  10941. }
  10942. if(TaxiCallTime[playerid] > 0) {
  10943. SendClientMessage(playerid, COLOR_GREY, " You have already accepted a taxi call!");
  10944. return 1;
  10945. }
  10946. if(TaxiCall < 999) {
  10947. if(IsPlayerConnected(TaxiCall)) {
  10948. GetPlayerName(playerid, sendername, sizeof(sendername));
  10949. GetPlayerName(TaxiCall, giveplayer, sizeof(giveplayer));
  10950. format(string, sizeof(string), "* You have accepted the taxi call from %s, you will see the marker until you have reached it.",giveplayer);
  10951. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  10952. new zone[MAX_ZONE_NAME];
  10953. GetPlayer3DZone(TaxiCall, zone, sizeof(zone));
  10954. format(string, sizeof(string), "* %s can be found at %s.", GetPlayerNameEx(TaxiCall), zone);
  10955. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  10956. format(string, sizeof(string), "* Taxi Driver %s has accepted your Taxi Call; please wait at your current position.",sendername);
  10957. SendClientMessage(TaxiCall, COLOR_LIGHTBLUE, string);
  10958. GameTextForPlayer(playerid, "~w~Taxi Caller~n~~r~Go to the red marker.", 5000, 1);
  10959. TaxiCallTime[playerid] = 1;
  10960. TaxiAccepted[playerid] = TaxiCall;
  10961. TaxiCall = 999;
  10962. return 1;
  10963. }
  10964. }
  10965. else {
  10966. SendClientMessage(playerid, COLOR_GREY, " Nobody called for a taxi yet!");
  10967. return 1;
  10968. }
  10969. }
  10970. else if(strcmp(params,"bus",true) == 0) {
  10971. if(TransportDuty[playerid] != 2) {
  10972. SendClientMessage(playerid, COLOR_GREY, " You're not a bus driver!");
  10973. return 1;
  10974. }
  10975. if(BusCallTime[playerid] > 0) {
  10976. SendClientMessage(playerid, COLOR_GREY, " You have already accepted a bus call!");
  10977. return 1;
  10978. }
  10979. if(BusCall < 999) {
  10980. if(IsPlayerConnected(BusCall)) {
  10981. if(CheckPointCheck(playerid)) {
  10982. SendClientMessage(playerid, COLOR_WHITE, "Please ensure that your current checkpoint is destroyed first (you either have material packages, or another existing checkpoint).");
  10983. return 1;
  10984. }
  10985. GetPlayerName(playerid, sendername, sizeof(sendername));
  10986. GetPlayerName(BusCall, giveplayer, sizeof(giveplayer));
  10987. format(string, sizeof(string), "* You have accepted the Bus Call from %s, you will see the marker untill you have reached it.",giveplayer);
  10988. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  10989. new zone[MAX_ZONE_NAME];
  10990. GetPlayer3DZone(BusCall, zone, sizeof(zone));
  10991. format(string, sizeof(string), "* %s can be found at %s.", GetPlayerNameEx(BusCall), zone);
  10992. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  10993. format(string, sizeof(string), "* Bus Driver %s has accepted your bus call; please wait at your current position.",sendername);
  10994. SendClientMessage(BusCall, COLOR_LIGHTBLUE, string);
  10995. new Float:X,Float:Y,Float:Z;
  10996. GetPlayerPos(BusCall, X, Y, Z);
  10997. SetPlayerCheckpoint(playerid, X, Y, Z, 5);
  10998. GameTextForPlayer(playerid, "~w~Bus Caller~n~~r~Goto redmarker", 5000, 1);
  10999. BusCallTime[playerid] = 1;
  11000. BusAccepted[playerid] = BusCall;
  11001. BusCall = 999;
  11002. return 1;
  11003. }
  11004. }
  11005. else {
  11006. SendClientMessage(playerid, COLOR_GREY, " No-one called for a Bus yet!");
  11007. return 1;
  11008. }
  11009. }
  11010. else if(strcmp(params,"medic",true) == 0) {
  11011. if(PlayerInfo[playerid][pFaction] == 3 || PlayerInfo[playerid][pLeader] == 3) {
  11012. if(MedicCallTime[playerid] > 0) {
  11013. SendClientMessage(playerid, COLOR_GREY, " You have already accepted a Medic Call!");
  11014. return 1;
  11015. }
  11016. if(CheckPointCheck(playerid)) {
  11017. SendClientMessage(playerid, COLOR_WHITE, "Please ensure that your current checkpoint is destroyed first (you either have material packages, or another existing checkpoint).");
  11018. return 1;
  11019. }
  11020. if(MedicCall < 999) {
  11021. if(IsPlayerConnected(MedicCall)) {
  11022. GetPlayerName(playerid, sendername, sizeof(sendername));
  11023. GetPlayerName(MedicCall, giveplayer, sizeof(giveplayer));
  11024. format(string, sizeof(string), "* You have accepted the Medic Call from %s",giveplayer);
  11025. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  11026. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* After the 45 Seconds the Red Marker will dissapear.");
  11027. format(string, sizeof(string), "* Medic %s has accepted your Medic Call please wait at your current Position.",sendername);
  11028. SendClientMessage(MedicCall, COLOR_LIGHTBLUE, string);
  11029. new Float:X,Float:Y,Float:Z;
  11030. GetPlayerPos(MedicCall, X, Y, Z);
  11031. SetPlayerCheckpoint(playerid, X, Y, Z, 5);
  11032. new zone[MAX_ZONE_NAME];
  11033. GetPlayer3DZone(MedicCall, zone, sizeof(zone));
  11034. format(string, sizeof(string), "HINT: %s is located in %s", GetPlayerNameEx(MedicCall), zone);
  11035. SendClientMessage(playerid, COLOR_WHITE, string);
  11036. MedicCallTime[playerid] = 1;
  11037. MedicAccepted[playerid] = MedicCall;
  11038. MedicCall = 999;
  11039. return 1;
  11040. }
  11041. }
  11042. else {
  11043. SendClientMessage(playerid, COLOR_GREY, " No-one called for a Medic yet!");
  11044. return 1;
  11045. }
  11046. }
  11047. else {
  11048. SendClientMessage(playerid, COLOR_GREY, " You're not a Medic!");
  11049. return 1;
  11050. }
  11051. }
  11052. else if(strcmp(params,"mechanic",true) == 0) {
  11053. if(PlayerInfo[playerid][pJob] != 7 && PlayerInfo[playerid][pJob2] != 7) {
  11054. SendClientMessage(playerid, COLOR_GREY, " You're not a Car Mechanic!");
  11055. return 1;
  11056. }
  11057. if(MechanicCallTime[playerid] > 0) {
  11058. SendClientMessage(playerid, COLOR_GREY, " You have already accepted a Mechanic Call!");
  11059. return 1;
  11060. }
  11061. if(CheckPointCheck(playerid)) {
  11062. SendClientMessage(playerid, COLOR_WHITE, "Please ensure that your current checkpoint is destroyed first (you either have material packages, or another existing checkpoint).");
  11063. return 1;
  11064. }
  11065. if(MechanicCall < 999) {
  11066. if(IsPlayerConnected(MechanicCall)) {
  11067. if(playerid == MechanicCall) return 1;
  11068. GetPlayerName(playerid, sendername, sizeof(sendername));
  11069. GetPlayerName(MechanicCall, giveplayer, sizeof(giveplayer));
  11070. format(string, sizeof(string), "* You have accepted the Mechanic Call from %s, you have 30 Seconds to get there.",giveplayer);
  11071. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  11072. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* After the 30 Seconds the Red Marker will dissapear.");
  11073. format(string, sizeof(string), "* Car Mechanic %s has accepted your Mechanic Call please wait at your current Position.",sendername);
  11074. SendClientMessage(MechanicCall, COLOR_LIGHTBLUE, string);
  11075. new Float:X,Float:Y,Float:Z;
  11076. GetPlayerPos(MechanicCall, X, Y, Z);
  11077. SetPlayerCheckpoint(playerid, X, Y, Z, 5);
  11078. GameTextForPlayer(playerid, "~w~Mechanic Caller~n~~r~Goto redmarker", 5000, 1);
  11079. MechanicCallTime[playerid] = 1;
  11080. MechanicCall = 999;
  11081. return 1;
  11082. }
  11083. }
  11084. else {
  11085. SendClientMessage(playerid, COLOR_GREY, " No-one called for a Car Mechanic yet!");
  11086. return 1;
  11087. }
  11088. }
  11089. else if(strcmp(params,"divorce",true) == 0) {
  11090. if(DivorceOffer[playerid] < 999) {
  11091. if(IsPlayerConnected(DivorceOffer[playerid])) {
  11092. if(ProxDetectorS(10.0, playerid, DivorceOffer[playerid])) {
  11093. GetPlayerName(DivorceOffer[playerid], giveplayer, sizeof(giveplayer));
  11094. GetPlayerName(playerid, sendername, sizeof(sendername));
  11095. format(string, sizeof(string), "* You have signed the divorce papers from %s, you're now single again.", giveplayer);
  11096. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  11097. format(string, sizeof(string), "* %s has signed the divorce papers, you're now single again.", sendername);
  11098. SendClientMessage(DivorceOffer[playerid], COLOR_LIGHTBLUE, string);
  11099. ClearMarriage(playerid);
  11100. ClearMarriage(DivorceOffer[playerid]);
  11101. return 1;
  11102. }
  11103. else {
  11104. SendClientMessage(playerid, COLOR_GREY, " The player that sent you the Divorce Papers is not near you!");
  11105. return 1;
  11106. }
  11107. }
  11108. }
  11109. else {
  11110. SendClientMessage(playerid, COLOR_GREY, "Nobody sent you any divorce papers.");
  11111. return 1;
  11112. }
  11113. }
  11114. else if(strcmp(params,"witness",true) == 0) {
  11115. if(MarryWitnessOffer[playerid] < 999) {
  11116. if(IsPlayerConnected(MarryWitnessOffer[playerid])) {
  11117. if(ProxDetectorS(10.0, playerid, MarryWitnessOffer[playerid])) {
  11118. GetPlayerName(MarryWitnessOffer[playerid], giveplayer, sizeof(giveplayer));
  11119. GetPlayerName(playerid, sendername, sizeof(sendername));
  11120. format(string, sizeof(string), "* You have accepted %s's request to be their marriage witness.", giveplayer);
  11121. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  11122. format(string, sizeof(string), "* %s has accepted your request to be your marriage witness.", sendername);
  11123. SendClientMessage(MarryWitnessOffer[playerid], COLOR_LIGHTBLUE, string);
  11124. MarryWitness[MarryWitnessOffer[playerid]] = playerid;
  11125. MarryWitnessOffer[playerid] = 999;
  11126. return 1;
  11127. }
  11128. else {
  11129. SendClientMessage(playerid, COLOR_GREY, " The player that requested you to be their marriage witness is not near you!");
  11130. return 1;
  11131. }
  11132. }
  11133. }
  11134. else {
  11135. SendClientMessage(playerid, COLOR_GREY, " No-one asked you to be their marriage witness!");
  11136. return 1;
  11137. }
  11138. }
  11139. else if(strcmp(params,"marriage",true) == 0) {
  11140. if(ProposeOffer[playerid] < 999) {
  11141. if(IsPlayerConnected(ProposeOffer[playerid])) {
  11142. if(ProxDetectorS(10.0, playerid, ProposeOffer[playerid])) {
  11143. if(MarryWitness[ProposeOffer[playerid]] == 999) {
  11144. SendClientMessage(playerid, COLOR_GREY, " The proposer doesn't have a marriage witness!");
  11145. return 1;
  11146. }
  11147. if(IsPlayerConnected(MarryWitness[ProposeOffer[playerid]])) {
  11148. if(ProxDetectorS(12.0, ProposeOffer[playerid], MarryWitness[ProposeOffer[playerid]])) {
  11149. if(IsPlayerInRangeOfPoint(playerid, 10.0, 1963.9612, -369.1851, 1093.7289)) {
  11150. GetPlayerName(ProposeOffer[playerid], giveplayer, sizeof(giveplayer));
  11151. GetPlayerName(playerid, sendername, sizeof(sendername));
  11152. format(string, sizeof(string), "* You have accepted %s's request to be your husband.", giveplayer);
  11153. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  11154. format(string, sizeof(string), "* %s has accepted your request to be your wife.", sendername);
  11155. SendClientMessage(ProposeOffer[playerid], COLOR_LIGHTBLUE, string);
  11156. format(string, sizeof(string), "Priest: %s, do you take %s as your lovely husband? (Type 'yes', as anything else will reject the marriage.)", sendername, giveplayer);
  11157. SendClientMessage(playerid, COLOR_WHITE, string);
  11158. MarriageCeremoney[playerid] = 1;
  11159. ProposedTo[ProposeOffer[playerid]] = playerid;
  11160. GotProposedBy[playerid] = ProposeOffer[playerid];
  11161. MarryWitness[ProposeOffer[playerid]] = 999;
  11162. ProposeOffer[playerid] = 999;
  11163. return 1;
  11164. }
  11165. else {
  11166. SendClientMessage(playerid, COLOR_GREY, " You're not at the church!");
  11167. return 1;
  11168. }
  11169. }
  11170. else {
  11171. SendClientMessage(playerid, COLOR_GREY, " The marriage witness is not near your proposer!");
  11172. return 1;
  11173. }
  11174. }
  11175. return 1;
  11176. }
  11177. else {
  11178. SendClientMessage(playerid, COLOR_GREY, " The player that proposed to you is not near you!");
  11179. return 1;
  11180. }
  11181. }
  11182. }
  11183. else {
  11184. SendClientMessage(playerid, COLOR_GREY, " Nobody proposed to you!");
  11185. return 1;
  11186. }
  11187. }
  11188. else if(strcmp(params,"contract",true) == 0) {
  11189. if(HitOffer[playerid] < 999) {
  11190. if(HitToGet[playerid] < 999) {
  11191. if(IsPlayerConnected(HitToGet[playerid])) {
  11192. format(string, sizeof(string), "* %s has accepted the contract to kill %s.", GetPlayerNameEx(playerid),GetPlayerNameEx(HitToGet[playerid]));
  11193. SendClientMessage(HitOffer[playerid], COLOR_LIGHTBLUE, string);
  11194. format(string, sizeof(string), "* You have accepted the contract to kill %s, you will recieve $%d when completed.", GetPlayerNameEx(HitToGet[playerid]), PlayerInfo[HitToGet[playerid]][pHeadValue] / 4 * 2);
  11195. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  11196. format(string, sizeof(string), "%s has been assigned to the contract on %s, for $%d.", GetPlayerNameEx(playerid), GetPlayerNameEx(HitToGet[playerid]), PlayerInfo[HitToGet[playerid]][pHeadValue] / 4 * 2);
  11197. SendFamilyMessage(4, COLOR_YELLOW, string);
  11198. GoChase[playerid] = HitToGet[playerid];
  11199. GetChased[HitToGet[playerid]] = playerid;
  11200. GotHit[HitToGet[playerid]] = 1;
  11201. HitToGet[playerid] = 999;
  11202. HitOffer[playerid] = 999;
  11203. return 1;
  11204. }
  11205. else {
  11206. HitToGet[playerid] = 999;
  11207. HitOffer[playerid] = 999;
  11208. return 1;
  11209. }
  11210. }
  11211. }
  11212. else {
  11213. SendClientMessage(playerid, COLOR_GREY, " No-one offered you a contract!");
  11214. return 1;
  11215. }
  11216. }
  11217. else if(strcmp(params,"ticket",true) == 0) {
  11218. if(TicketOffer[playerid] < 999) {
  11219. if(IsPlayerConnected(TicketOffer[playerid])) {
  11220. if(ProxDetectorS(5.0, playerid, TicketOffer[playerid])) {
  11221. if(GetPlayerCash(playerid) >= TicketMoney[playerid]) {
  11222. //new ip[32], ipex[32];
  11223. //GetPlayerIp(playerid, ip, sizeof(ip));
  11224. //GetPlayerIp(TicketOffer[playerid], ipex, sizeof(ipex));
  11225. //format(string, sizeof(string), "[FACTION TICKET] %s (IP: %s) has paid $%d to %s (IP: %s)", GetPlayerNameEx(playerid), ip, TicketMoney[playerid], GetPlayerNameEx(TicketOffer[playerid]), ipex);
  11226. // Log("logs/pay.log", string);
  11227. format(string, sizeof(string), "* You have paid the ticket of $%d to %s.", TicketMoney[playerid], GetPlayerNameEx(TicketOffer[playerid]));
  11228. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  11229. format(string, sizeof(string), "* %s has paid your ticket of $%d.", GetPlayerNameEx(playerid), TicketMoney[playerid]);
  11230. SendClientMessage(TicketOffer[playerid], COLOR_LIGHTBLUE, string);
  11231. format(string, sizeof(string), "* %s has paid the ticket.", GetPlayerNameEx(playerid));
  11232. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  11233. GivePlayerCash(playerid, - TicketMoney[playerid]);
  11234. TicketOffer[playerid] = 999;
  11235. TicketMoney[playerid] = 0;
  11236. if(GetPlayerCash(playerid) < 1) GivePlayerCash(playerid, 0);
  11237. return 1;
  11238. }
  11239. }
  11240. else {
  11241. SendClientMessage(playerid, COLOR_GREY, " The officer is not near you!");
  11242. return 1;
  11243. }
  11244. }
  11245. }
  11246. else {
  11247. SendClientMessage(playerid, COLOR_GREY, " No-one offered you a ticket!");
  11248. return 1;
  11249. }
  11250. }
  11251. else if(strcmp(params,"repair",true) == 0) {
  11252. if(RepairOffer[playerid] < 999) {
  11253. if(GetPlayerCash(playerid) > RepairPrice[playerid]) {
  11254. if(IsPlayerInAnyVehicle(playerid)) {
  11255. if(IsPlayerConnected(RepairOffer[playerid])) {
  11256. GetPlayerName(RepairOffer[playerid], giveplayer, sizeof(giveplayer));
  11257. GetPlayerName(playerid, sendername, sizeof(sendername));
  11258. RepairCar[playerid] = GetPlayerVehicleID(playerid);
  11259. RepairVehicle(RepairCar[playerid]);
  11260. PlayerInfo[RepairOffer[playerid]][pTire]--;
  11261. GivePlayerCash(RepairOffer[playerid], RepairPrice[playerid]);
  11262. GivePlayerCash(playerid, -RepairPrice[playerid]);
  11263. new ip[32], ipex[32];
  11264. GetPlayerIp(playerid, ip, sizeof(ip));
  11265. GetPlayerIp(RepairOffer[playerid], ipex, sizeof(ipex));
  11266. //format(string, sizeof(string), "%s(IP:%s) has repaired the vehicle from %s(IP:%s) for $%d", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(RepairOffer[playerid]), ipex, RepairPrice[playerid]);
  11267. //Log("logs/pay.log", string);
  11268. format(string, sizeof(string), "* %s has repaired %s's vehicle.", giveplayer, GetPlayerNameEx(playerid));
  11269. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  11270. format(string, sizeof(string), "* You repaired your car for $%d by Car Mechanic %s.",RepairPrice[playerid],giveplayer);
  11271. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  11272. RepairWarn[playerid][RepairOffer[playerid]] += RepairPrice[playerid];
  11273. if(RepairWarn[playerid][RepairOffer[playerid]] >= 2500 && (PlayerInfo[RepairOffer[playerid]][pLevel] <= 3 || PlayerInfo[RepairOffer[playerid]][pLevel] <= 3)) {
  11274. format(string, sizeof(string), "%s (IP:%s) has repaired %s (IP:%s) $%d in this session.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(RepairOffer[playerid]), ipex, RepairWarn[playerid][RepairOffer[playerid]]);
  11275. //Log("logs/pay.log", string);
  11276. ABroadCast(COLOR_YELLOW, string, 1);
  11277. }
  11278. format(string, sizeof(string), "* You fixed %s's car, the $%d has been added to your money on hand!",sendername,RepairPrice[playerid]);
  11279. SendClientMessage(RepairOffer[playerid], COLOR_LIGHTBLUE, string);
  11280. if(DoubleXP == 1)
  11281. {
  11282. new hour,minuite,second;
  11283. gettime(hour,minuite,second);
  11284. if(DoubleEXPcheck(hour)) {
  11285. PlayerInfo[RepairOffer[playerid]][pMechSkill] += 2;
  11286. SendClientMessage(RepairOffer[playerid], COLOR_YELLOW, "* You have gained two skill points for this job due to double experience.");
  11287. }
  11288. }
  11289. else
  11290. {
  11291. PlayerInfo[RepairOffer[playerid]][pMechSkill]++;
  11292. }
  11293. RepairOffer[playerid] = 999;
  11294. RepairPrice[playerid] = 0;
  11295. return 1;
  11296. }
  11297. return 1;
  11298. }
  11299. return 1;
  11300. }
  11301. else {
  11302. SendClientMessage(playerid, COLOR_GREY, " You can't afford the Repair!");
  11303. return 1;
  11304. }
  11305. }
  11306. else {
  11307. SendClientMessage(playerid, COLOR_GREY, " No-one offered you to Repair your Car!");
  11308. return 1;
  11309. }
  11310. }
  11311. else if(strcmp(params,"craft",true) == 0) {
  11312. if(CraftOffer[playerid] < 999) {
  11313. if(IsPlayerConnected(CraftOffer[playerid])) {
  11314. if(ProxDetectorS(5.0, playerid, CraftOffer[playerid])) {
  11315. if(GetPVarInt(playerid, "Hospital") == 1 || GetPVarInt(playerid, "Hospital") == 2 || GetPVarInt(playerid, "Hospital") == 3 || GetPVarInt(playerid, "Hospital") == 4 || GetPVarInt(playerid, "Hospital") == 5) {
  11316. SendClientMessage(playerid, COLOR_GREY, "You can't spawn a weapon whilst in Hospital.");
  11317. return 1;
  11318. }
  11319. if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_GRAD2, "Please exit the vehicle, before using this command.");
  11320. new weaponname[50];
  11321. format(weaponname, 50, "%s", CraftName[playerid]);
  11322. switch(CraftId[playerid]) {
  11323. case 1: {
  11324. PlayerInfo[playerid][pScrewdriver]++;
  11325. SendClientMessage(playerid, COLOR_LIGHTBLUE, "/sellgun");
  11326. }
  11327. case 3:
  11328. {
  11329. PlayerInfo[playerid][pWristwatch]++;
  11330. SendClientMessage(playerid, COLOR_LIGHTBLUE, "/wristwatch");
  11331. }
  11332. case 5:
  11333. {
  11334. PlayerInfo[playerid][pTire]++;
  11335. SendClientMessage(playerid, COLOR_LIGHTBLUE, "/repair");
  11336. }
  11337. case 7:
  11338. {
  11339. PlayerInfo[playerid][pFirstaid]++;
  11340. SendClientMessage(playerid, COLOR_LIGHTBLUE, "/firstaid");
  11341. }
  11342. case 8:
  11343. {
  11344. GivePlayerValidWeapon(playerid, 43, 50);
  11345. }
  11346. case 9:
  11347. {
  11348. PlayerInfo[playerid][pRccam]++;
  11349. SendClientMessage(playerid, COLOR_LIGHTBLUE, "/rccam");
  11350. }
  11351. case 10:
  11352. {
  11353. PlayerInfo[playerid][pReceiver]++;
  11354. SetPVarInt(playerid, "pReceiverMLeft", 40);
  11355. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You will receive the next four department radio messages.");
  11356. }
  11357. case 11:
  11358. {
  11359. PlayerInfo[playerid][pGPS]++;
  11360. SendClientMessage(playerid, COLOR_LIGHTBLUE, "/gps");
  11361. }
  11362. case 12:
  11363. {
  11364. PlayerInfo[playerid][pSweep]++;
  11365. PlayerInfo[playerid][pSweepLeft] = 3;
  11366. SendClientMessage(playerid, COLOR_LIGHTBLUE, "/sweep");
  11367. }
  11368. case 13:
  11369. {
  11370. GivePlayerValidWeapon(playerid, 46, 99999);
  11371. }
  11372. }
  11373. format(string, sizeof(string), " You have given %s, a %s.", GetPlayerNameEx(playerid),weaponname);
  11374. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  11375. SendClientMessage(CraftOffer[playerid], COLOR_GRAD1, string);
  11376. format(string, sizeof(string), " You have recieved a %s from %s.", weaponname, GetPlayerNameEx(CraftOffer[playerid]));
  11377. SendClientMessage(playerid, COLOR_GRAD1, string);
  11378. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  11379. format(string, sizeof(string), "* %s created something from Materials, and hands it to %s.", GetPlayerNameEx(CraftOffer[playerid]), GetPlayerNameEx(playerid));
  11380. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  11381. //new ip[32], ipex[32];
  11382. //GetPlayerIp(playerid, ip, sizeof(ip));
  11383. //GetPlayerIp(CraftOffer[playerid], ipex, sizeof(ipex));
  11384. //format(string, sizeof(string), "[CRAFTSMAN DEAL] %s (IP: %s) has bought a %s from %s (IP: %s)", GetPlayerNameEx(playerid), ip, weaponname, GetPlayerNameEx(CraftOffer[playerid]), ipex);
  11385. //Log("logs/pay.log", string);
  11386. PlayerInfo[CraftOffer[playerid]][pMats] -= CraftMats[playerid];
  11387. //PlayerInfo[CraftOffer[playerid]][pCraftSkill]++;
  11388. CraftOffer[playerid] = 999;
  11389. CraftId[playerid] = 0;
  11390. CraftMats[playerid] = 0;
  11391. return 1;
  11392. }
  11393. else {
  11394. SendClientMessage(playerid, COLOR_GRAD2, "You need to be the near the player that is selling you the weapon!");
  11395. return 1;
  11396. }
  11397. }
  11398. return 1;
  11399. }
  11400. else {
  11401. SendClientMessage(playerid, COLOR_GREY, " No-one offered you a Weapon!");
  11402. return 1;
  11403. }
  11404. }
  11405. else if(strcmp(params,"taxi",true) == 0) {
  11406. if(TransportDuty[playerid] != 1) {
  11407. SendClientMessage(playerid, COLOR_GREY, " You're not a Taxi Driver!");
  11408. return 1;
  11409. }
  11410. if(TaxiCallTime[playerid] > 0) {
  11411. SendClientMessage(playerid, COLOR_GREY, " You have already accepted a taxi call!");
  11412. return 1;
  11413. }
  11414. if(TaxiCall < 999) {
  11415. if(IsPlayerConnected(TaxiCall)) {
  11416. if(CheckPointCheck(playerid)) {
  11417. SendClientMessage(playerid, COLOR_WHITE, "Please ensure that your current checkpoint is destroyed first (you either have material packages, or another existing checkpoint).");
  11418. return 1;
  11419. }
  11420. GetPlayerName(playerid, sendername, sizeof(sendername));
  11421. GetPlayerName(TaxiCall, giveplayer, sizeof(giveplayer));
  11422. format(string, sizeof(string), "* You have accepted the taxi call from %s, you will see the marker until you have reached it.",giveplayer);
  11423. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  11424. new zone[MAX_ZONE_NAME];
  11425. GetPlayer3DZone(TaxiCall, zone, sizeof(zone));
  11426. format(string, sizeof(string), "* %s can be found at %s.", GetPlayerNameEx(TaxiCall), zone);
  11427. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  11428. format(string, sizeof(string), "* Taxi Driver %s has accepted your Taxi Call; please wait at your current position.",sendername);
  11429. SendClientMessage(TaxiCall, COLOR_LIGHTBLUE, string);
  11430. GameTextForPlayer(playerid, "~w~Taxi Caller~n~~r~Go to the red marker.", 5000, 1);
  11431. TaxiCallTime[playerid] = 1;
  11432. TaxiAccepted[playerid] = TaxiCall;
  11433. TaxiCall = 999;
  11434. return 1;
  11435. }
  11436. }
  11437. else {
  11438. SendClientMessage(playerid, COLOR_GREY, " Nobody called for a taxi yet!");
  11439. return 1;
  11440. }
  11441. }
  11442. else if(strcmp(params,"bus",true) == 0) {
  11443. if(TransportDuty[playerid] != 2) {
  11444. SendClientMessage(playerid, COLOR_GREY, " You're not a bus driver!");
  11445. return 1;
  11446. }
  11447. if(BusCallTime[playerid] > 0) {
  11448. SendClientMessage(playerid, COLOR_GREY, " You have already accepted a bus call!");
  11449. return 1;
  11450. }
  11451. if(BusCall < 999) {
  11452. if(IsPlayerConnected(BusCall)) {
  11453. if(CheckPointCheck(playerid)) {
  11454. SendClientMessage(playerid, COLOR_WHITE, "Please ensure that your current checkpoint is destroyed first (you either have material packages, or another existing checkpoint).");
  11455. return 1;
  11456. }
  11457. GetPlayerName(playerid, sendername, sizeof(sendername));
  11458. GetPlayerName(BusCall, giveplayer, sizeof(giveplayer));
  11459. format(string, sizeof(string), "* You have accepted the Bus Call from %s, you will see the marker untill you have reached it.",giveplayer);
  11460. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  11461. new zone[MAX_ZONE_NAME];
  11462. GetPlayer3DZone(BusCall, zone, sizeof(zone));
  11463. format(string, sizeof(string), "* %s can be found at %s.", GetPlayerNameEx(BusCall), zone);
  11464. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  11465. format(string, sizeof(string), "* Bus Driver %s has accepted your bus call; please wait at your current position.",sendername);
  11466. SendClientMessage(BusCall, COLOR_LIGHTBLUE, string);
  11467. new Float:X,Float:Y,Float:Z;
  11468. GetPlayerPos(BusCall, X, Y, Z);
  11469. SetPlayerCheckpoint(playerid, X, Y, Z, 5);
  11470. GameTextForPlayer(playerid, "~w~Bus Caller~n~~r~Goto redmarker", 5000, 1);
  11471. BusCallTime[playerid] = 1;
  11472. BusAccepted[playerid] = BusCall;
  11473. BusCall = 999;
  11474. return 1;
  11475. }
  11476. }
  11477. else {
  11478. SendClientMessage(playerid, COLOR_GREY, " No-one called for a Bus yet!");
  11479. return 1;
  11480. }
  11481. }
  11482. else if(strcmp(params,"boxing",true) == 0) {
  11483. if(BoxOffer[playerid] < 999) {
  11484. if(IsPlayerConnected(BoxOffer[playerid])) {
  11485. new points;
  11486. new mypoints;
  11487. GetPlayerName(BoxOffer[playerid], giveplayer, sizeof(giveplayer));
  11488. GetPlayerName(playerid, sendername, sizeof(sendername));
  11489. new level = PlayerInfo[BoxOffer[playerid]][pBoxSkill];
  11490. if(level >= 0 && level <= 50) { points = 40; }
  11491. else if(level >= 51 && level <= 100) { points = 50; }
  11492. else if(level >= 101 && level <= 200) { points = 60; }
  11493. else if(level >= 201 && level <= 400) { points = 70; }
  11494. else if(level >= 401) { points = 80; }
  11495. if(PlayerInfo[playerid][pJob] == 12 || PlayerInfo[playerid][pJob2] == 12) {
  11496. new clevel = PlayerInfo[playerid][pBoxSkill];
  11497. if(clevel >= 0 && clevel <= 50) { mypoints = 40; }
  11498. else if(clevel >= 51 && clevel <= 100) { mypoints = 50; }
  11499. else if(clevel >= 101 && clevel <= 200) { mypoints = 60; }
  11500. else if(clevel >= 201 && clevel <= 400) { mypoints = 70; }
  11501. else if(clevel >= 401) { mypoints = 80; }
  11502. }
  11503. else {
  11504. mypoints = 30;
  11505. }
  11506. if(GetPVarInt(playerid, "Injured") != 0||PlayerCuffed[playerid]!=0||GetPVarInt(playerid, "Hospital")!=0)
  11507. {
  11508. SendClientMessage(playerid, COLOR_GRAD2, "You can't do this right now.");
  11509. return 1;
  11510. }
  11511. else if(GetPVarInt(BoxOffer[playerid], "Injured") != 0||PlayerCuffed[BoxOffer[playerid]]!=0||GetPVarInt(BoxOffer[playerid], "Hospital")!=0)
  11512. {
  11513. SendClientMessage(playerid, COLOR_GRAD2, "You can't do this right now.");
  11514. return 1;
  11515. }
  11516. if(PlayerInfo[playerid][pJob] != 12 && PlayerInfo[playerid][pJob2] != 12)
  11517. {
  11518. SendClientMessage(playerid, COLOR_GRAD2, "You do not have the Boxer Job!");
  11519. return 1;
  11520. }
  11521. if(IsPlayerInRangeOfPoint(playerid,25.0, 765.952270, 4.167977, 1000.719238) && IsPlayerInRangeOfPoint(BoxOffer[playerid],25.0, 765.952270, 4.167977, 1000.719238))
  11522. {
  11523. format(string, sizeof(string), "* You have accepted the Boxing Challenge from %s, and will fight with %d Health.",giveplayer,mypoints);
  11524. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  11525. format(string, sizeof(string), "* %s has accepted your Boxing Challenge Request, you will fight with %d Health.",sendername,points);
  11526. SendClientMessage(BoxOffer[playerid], COLOR_LIGHTBLUE, string);
  11527. ResetPlayerWeapons(playerid);
  11528. ResetPlayerWeapons(BoxOffer[playerid]);
  11529. SetPlayerHealth(playerid, mypoints);
  11530. SetPlayerHealth(BoxOffer[playerid], points);
  11531. SetPlayerArmourEx(playerid, 0);
  11532. SetPlayerArmourEx(BoxOffer[playerid],0);
  11533. SetPlayerInterior(playerid, 5); SetPlayerInterior(BoxOffer[playerid], 5);
  11534. SetPlayerPos(playerid, 758.498596, -1.915163, 1001.594238); SetPlayerFacingAngle(playerid, 309.27);
  11535. SetPlayerPos(BoxOffer[playerid], 763.229248, 2.429135, 1001.594238); SetPlayerFacingAngle(BoxOffer[playerid], 133.83);
  11536. TogglePlayerControllable(playerid, 0); TogglePlayerControllable(BoxOffer[playerid], 0);
  11537. GameTextForPlayer(playerid, "~r~Waiting", 3000, 1); GameTextForPlayer(BoxOffer[playerid], "~r~Waiting", 3000, 1);
  11538. BoxWaitTime[playerid] = 1; BoxWaitTime[BoxOffer[playerid]] = 1;
  11539. if(BoxDelay < 1) { BoxDelay = 10; }
  11540. InRing = 1;
  11541. Boxer1 = BoxOffer[playerid];
  11542. Boxer2 = playerid;
  11543. PlayerBoxing[playerid] = 1;
  11544. PlayerBoxing[BoxOffer[playerid]] = 1;
  11545. BoxOffer[playerid] = 999;
  11546. return 1;
  11547. }
  11548. else
  11549. {
  11550. SendClientMessage(playerid, COLOR_WHITE, "One of the boxers is not inside Ganton Gym!");
  11551. return 1;
  11552. }
  11553. }
  11554. return 1;
  11555. }
  11556. else {
  11557. SendClientMessage(playerid, COLOR_GREY, " No-one offered you a Boxing Challenge!");
  11558. return 1;
  11559. }
  11560. }
  11561. else if(strcmp(params,"mats",true) == 0)
  11562. {
  11563. if(MatsOffer[playerid] < 999)
  11564. {
  11565. if(GetPlayerCash(playerid) >= MatsPrice[playerid])
  11566. {
  11567. if(IsPlayerConnected(MatsOffer[playerid]))
  11568. {
  11569. if(GetPVarInt(playerid, "SellMatsTimer") > 0)
  11570. {
  11571. format(string, sizeof(string), "You must wait %d seconds before accepting materials.", GetPVarInt(playerid, "SellMatsTimer"));
  11572. SendClientMessage(playerid,COLOR_GREY,string);
  11573. return 1;
  11574. }
  11575. if(PlayerInfo[MatsOffer[playerid]][pMats] < MatsAmount[playerid])
  11576. {
  11577. SendClientMessage(playerid,COLOR_GREY, "That player does not have that amount of materials anymore!");
  11578. return 1;
  11579. }
  11580. new ip[32], ipex[32];
  11581. GetPlayerIp(playerid, ip, sizeof(ip));
  11582. GetPlayerIp(MatsOffer[playerid], ipex, sizeof(ipex));
  11583. format(string, sizeof(string), "[MATERIALS (%d)] %s (IP:%s) has paid $%d to %s (IP:%s)", MatsAmount[playerid], GetPlayerNameEx(playerid), ip, MatsPrice[playerid], GetPlayerNameEx(MatsOffer[playerid]), ipex);
  11584. Log("logs/pay.log", string);
  11585. MatsWarn[playerid][MatsOffer[playerid]] += MatsPrice[playerid];
  11586. if(MatsWarn[playerid][MatsOffer[playerid]] >= 2500 && (PlayerInfo[MatsOffer[playerid]][pLevel] <= 3 || PlayerInfo[playerid][pLevel] <= 3))
  11587. {
  11588. format(string, sizeof(string), "%s (IP:%s) has sold %s (IP:%s) $%d of materials in this session.", GetPlayerNameEx(MatsOffer[playerid]), ipex, GetPlayerNameEx(playerid), ip, MatsWarn[playerid][MatsOffer[playerid]]);
  11589. ABroadCast(COLOR_YELLOW, string, 1);
  11590. }
  11591. format(string, sizeof(string), "* You bought %d materials for $%d from %s.", MatsAmount[playerid], MatsPrice[playerid], GetPlayerNameEx(MatsOffer[playerid]));
  11592. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  11593. format(string, sizeof(string), "* %s has bought your %d materials, the $%d was added to your money.", GetPlayerNameEx(playerid), MatsAmount[playerid], MatsPrice[playerid]);
  11594. SendClientMessage(MatsOffer[playerid], COLOR_LIGHTBLUE, string);
  11595. GivePlayerCash(MatsOffer[playerid], MatsPrice[playerid]);
  11596. GivePlayerCash(playerid, -MatsPrice[playerid]);
  11597. PlayerInfo[playerid][pMats] += MatsAmount[playerid];
  11598. PlayerInfo[MatsOffer[playerid]][pMats] -= MatsAmount[playerid];
  11599. MatsOffer[playerid] = 999;
  11600. MatsPrice[playerid] = 0;
  11601. MatsAmount[playerid] = 0;
  11602. }
  11603. }
  11604. else
  11605. {
  11606. SendClientMessage(playerid, COLOR_GREY, "You can't afford those materials!");
  11607. return 1;
  11608. }
  11609. }
  11610. else
  11611. {
  11612. SendClientMessage(playerid, COLOR_GREY, "No-one offered you any materials!");
  11613. return 1;
  11614. }
  11615. }
  11616. else if(strcmp(params,"weapon",true) == 0) {
  11617. if(GunOffer[playerid] < 999) {
  11618. if(IsPlayerConnected(GunOffer[playerid])) {
  11619. if(ProxDetectorS(5.0, playerid, GunOffer[playerid])) {
  11620. if(GetPVarInt(playerid, "Hospital") == 1 || GetPVarInt(playerid, "Hospital") == 2 || GetPVarInt(playerid, "Hospital") == 3 || GetPVarInt(playerid, "Hospital") == 4 || GetPVarInt(playerid, "Hospital") == 5) {
  11621. SendClientMessage(playerid, COLOR_GREY, "You can't spawn a weapon whilst in Hospital.");
  11622. return 1;
  11623. }
  11624. if(PlayerInfo[playerid][pConnectTime] < 2) return SendClientMessage(playerid, COLOR_GRAD2, "You can't use this as you're currently restricted from possessing weapons!");
  11625. if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_GRAD2, "Please exit the vehicle, before using this command.");
  11626. new weaponname[32];
  11627. GetWeaponName(GunId[playerid], weaponname, sizeof(weaponname));
  11628. format(string, sizeof(string), " You have given %s, a %s.", GetPlayerNameEx(playerid),weaponname);
  11629. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  11630. SendClientMessage(GunOffer[playerid], COLOR_GRAD1, string);
  11631. format(string, sizeof(string), " You have recieved a %s from %s.", weaponname, GetPlayerNameEx(GunOffer[playerid]));
  11632. SendClientMessage(playerid, COLOR_GRAD1, string);
  11633. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  11634. format(string, sizeof(string), "* %s created a Gun from Materials, and hands it to %s.", GetPlayerNameEx(GunOffer[playerid]), GetPlayerNameEx(playerid));
  11635. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  11636. GivePlayerValidWeapon(playerid,GunId[playerid],50000);
  11637. //new ip[32], ipex[32];
  11638. //GetPlayerIp(playerid, ip, sizeof(ip));
  11639. //GetPlayerIp(GunOffer[playerid], ipex, sizeof(ipex));
  11640. //format(string, sizeof(string), "[WEAPON DEAL] %s(IP:%s) has bought a %s from %s(IP:%s)", GetPlayerNameEx(playerid), ip, weaponname, GetPlayerNameEx(GunOffer[playerid]), ipex);
  11641. //Log("logs/pay.log", string);
  11642. PlayerInfo[GunOffer[playerid]][pMats] -= GunMats[playerid];
  11643. if(GunId[playerid] > 15) {
  11644. if(DoubleXP == 1)
  11645. {
  11646. new hour,minuite,second;
  11647. gettime(hour,minuite,second);
  11648. if(DoubleEXPcheck(hour)) {
  11649. PlayerInfo[GunOffer[playerid]][pArmsSkill] += 2;
  11650. SendClientMessage(GunOffer[playerid], COLOR_YELLOW, "* You have gained two skill points for this job due to double experience.");
  11651. }
  11652. /*else {
  11653. SendClientMessage(GunOffer[playerid], COLOR_YELLOW, "* You have only gained one skill point for this job since it's not within the double experience hours.");
  11654. PlayerInfo[GunOffer[playerid]][pArmsSkill]++;
  11655. }*/
  11656. }
  11657. else
  11658. {
  11659. PlayerInfo[GunOffer[playerid]][pArmsSkill]++;
  11660. }
  11661. }
  11662. if(PlayerInfo[GunOffer[playerid]][pArmsSkill] == 50)
  11663. { SendClientMessage(GunOffer[playerid], COLOR_YELLOW, "* Your Arms Dealer Skill is now Level 2, more weapons are available to sell."); }
  11664. else if(PlayerInfo[GunOffer[playerid]][pArmsSkill] == 100)
  11665. { SendClientMessage(GunOffer[playerid], COLOR_YELLOW, "* Your Arms Dealer Skill is now Level 3, more weapons are available to sell."); }
  11666. else if(PlayerInfo[GunOffer[playerid]][pArmsSkill] == 200)
  11667. { SendClientMessage(GunOffer[playerid], COLOR_YELLOW, "* Your Arms Dealer Skill is now Level 4, more weapons are available to sell."); }
  11668. else if(PlayerInfo[GunOffer[playerid]][pArmsSkill] == 400)
  11669. { SendClientMessage(GunOffer[playerid], COLOR_YELLOW, "* Your Arms Dealer Skill is now Level 5, more weapons are available to sell."); }
  11670. GunOffer[playerid] = 999;
  11671. GunId[playerid] = 0;
  11672. GunMats[playerid] = 0;
  11673. return 1;
  11674. }
  11675. else {
  11676. SendClientMessage(playerid, COLOR_GRAD2, "You need to be the near the player that is selling you the weapon!");
  11677. return 1;
  11678. }
  11679. }
  11680. }
  11681. else {
  11682. SendClientMessage(playerid, COLOR_GREY, " No-one offered you a Weapon!");
  11683. return 1;
  11684. }
  11685. }
  11686. else if(strcmp(params,"bodyguard",true) == 0) {
  11687. if(GuardOffer[playerid] < 999) {
  11688. if(GetPlayerCash(playerid) > GuardPrice[playerid]) {
  11689. if(IsPlayerConnected(GuardOffer[playerid])) {
  11690. if(ProxDetectorS(6.0, playerid, GuardOffer[playerid])) {
  11691. new Float:armour;
  11692. GetPlayerArmour(playerid, armour);
  11693. if(armour >= 50) {
  11694. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You already have a vest!");
  11695. return 1;
  11696. }
  11697. if(PlayerBoxing[playerid] == 1)
  11698. {
  11699. SendClientMessage(playerid, COLOR_GREY, "You can't accept bodyguard while boxing.");
  11700. return 1;
  11701. }
  11702. new ip[32], ipex[32];
  11703. GetPlayerIp(playerid, ip, sizeof(ip));
  11704. GetPlayerIp(GuardOffer[playerid], ipex, sizeof(ipex));
  11705. //format(string, sizeof(string), "[BODYGUARD] %s (IP:%s) has paid $%d to %s (IP:%s)", GetPlayerNameEx(playerid), ip, GuardPrice[playerid], GetPlayerNameEx(GuardOffer[playerid]), ipex);
  11706. // Log("logs/pay.log", string);
  11707. GuardWarn[playerid][GuardOffer[playerid]] += GuardPrice[playerid];
  11708. if(GuardWarn[playerid][GuardOffer[playerid]] >= 2500 && (PlayerInfo[GuardOffer[playerid]][pLevel] <= 3 || PlayerInfo[playerid][pLevel] <= 3)) {
  11709. format(string, sizeof(string), "%s (IP:%s) has guarded %s (IP:%s) $%d in this session.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(GuardOffer[playerid]), ipex, GuardWarn[playerid][GuardOffer[playerid]]);
  11710. // Log("logs/pay.log", string);
  11711. ABroadCast(COLOR_YELLOW, string, 1);
  11712. }
  11713. SetPlayerArmourEx(playerid, 50);
  11714. GetPlayerName(GuardOffer[playerid], giveplayer, sizeof(giveplayer));
  11715. GetPlayerName(playerid, sendername, sizeof(sendername));
  11716. format(string, sizeof(string), "* You accepted the protection for $%d from %s.",GuardPrice[playerid],GetPlayerNameEx(GuardOffer[playerid]));
  11717. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  11718. format(string, sizeof(string), "* %s accepted your protection, and the $%d was added to your money.",GetPlayerNameEx(playerid),GuardPrice[playerid]);
  11719. SendClientMessage(GuardOffer[playerid], COLOR_LIGHTBLUE, string);
  11720. GivePlayerCash(GuardOffer[playerid], GuardPrice[playerid]);
  11721. GivePlayerCash(playerid, -GuardPrice[playerid]);
  11722. GuardOffer[playerid] = 999;
  11723. GuardPrice[playerid] = 0;
  11724. return 1;
  11725. }
  11726. else {
  11727. SendClientMessage(playerid, COLOR_GRAD2, "You're not near the person offering you guard!");
  11728. return 1;
  11729. }
  11730. }
  11731. return 1;
  11732. }
  11733. else {
  11734. SendClientMessage(playerid, COLOR_GREY, " You can't afford the Protection!");
  11735. return 1;
  11736. }
  11737. }
  11738. else {
  11739. SendClientMessage(playerid, COLOR_GREY, " No-one offered you any Protection!");
  11740. return 1;
  11741. }
  11742. }
  11743. else if(strcmp(params,"dicebet",true) == 0) {
  11744. if(BetOffer[playerid] < 999) {
  11745. if(GetPlayerCash(playerid) >= BetPrice[playerid]) {
  11746. if(IsPlayerConnected(BetOffer[playerid])) {
  11747. if(ProxDetectorS(6.0, playerid, BetOffer[playerid])) {
  11748. GetPlayerName(GuardOffer[playerid], giveplayer, sizeof(giveplayer));
  11749. GetPlayerName(playerid, sendername, sizeof(sendername));
  11750. if(BetOffer[playerid] == 999)
  11751. {
  11752. SCM(playerid, COLOR_WHITE, "Your bet has been cancelled or the player might have logged off.");
  11753. return 1;
  11754. }
  11755. if(GetPVarInt(playerid, "betConfirm") == 0)
  11756. {
  11757. SetPVarInt(playerid, "betConfirm", 1);
  11758. format(string, sizeof(string), "* Are you really sure to bet with %s for $%s, type /accept dicebet to confirm.", giveplayer, Comma(BetPrice[playerid]));
  11759. SendClientMessage(playerid, -1, string);
  11760. }
  11761. else
  11762. {
  11763. DeletePVar(playerid, "betConfirm");
  11764. new dice1 = random(12)+1; // playerid
  11765. new dice2 = random(12)+1; // betoffer
  11766. if(IsCheatingDC[playerid] == 1)
  11767. {
  11768. dice1 = 12;
  11769. }
  11770. if(dice1 == dice2 && dice2 == dice1)
  11771. {
  11772. format(string, sizeof(string), "* %s rolls two dices that land on a total of %d with a bet of $%s.", GetPlayerNameEx(playerid), dice1, Comma(BetPrice[playerid]));
  11773. ProxDetector(30.0, playerid, string, COLOR_NG, COLOR_NG, COLOR_NG, COLOR_NG, COLOR_NG);
  11774. format(string, sizeof(string), "* %s rolls two dices that land on a total of %d with a bet of $%s.", GetPlayerNameEx(BetOffer[playerid]), dice2, Comma(BetPrice[playerid]));
  11775. ProxDetector(30.0, playerid, string, COLOR_NG, COLOR_NG, COLOR_NG, COLOR_NG, COLOR_NG);
  11776. format(string, sizeof(string), "* Nobody has won the bet of $%s because the dice landed on the same amount.", Comma(BetPrice[playerid]));
  11777. SendClientMessage(playerid, -1, string);
  11778. SendClientMessage(BetOffer[playerid], -1, string);
  11779. }
  11780. else if(dice1 >= dice2 && dice2 <= dice1)
  11781. {
  11782. GivePlayerCash(BetOffer[playerid], -BetPrice[playerid]);
  11783. GivePlayerCash(playerid, BetPrice[playerid]);
  11784. format(string, sizeof(string), "* %s rolls two dices that land on a total of %d with a bet of $%s.", GetPlayerNameEx(playerid), dice1, Comma(BetPrice[playerid]));
  11785. ProxDetector(30.0, playerid, string, COLOR_NG, COLOR_NG, COLOR_NG, COLOR_NG, COLOR_NG);
  11786. format(string, sizeof(string), "* %s rolls two dices that land on a total of %d with a bet of $%s.", GetPlayerNameEx(BetOffer[playerid]), dice2, Comma(BetPrice[playerid]));
  11787. ProxDetector(30.0, playerid, string, COLOR_NG, COLOR_NG, COLOR_NG, COLOR_NG, COLOR_NG);
  11788. format(string, sizeof(string), "* %s has won the bet for $%s.", GetPlayerNameEx(playerid), Comma(BetPrice[playerid]));
  11789. SendClientMessage(playerid, -1, string);
  11790. SendClientMessage(BetOffer[playerid], -1, string);
  11791. }
  11792. else if(dice2 >= dice1 && dice1 <= dice2)
  11793. {
  11794. GivePlayerCash(BetOffer[playerid], BetPrice[playerid]);
  11795. GivePlayerCash(playerid, -BetPrice[playerid]);
  11796. format(string, sizeof(string), "* %s rolls two dices that land on a total of %d with a bet of $%s.", GetPlayerNameEx(playerid), dice1, Comma(BetPrice[playerid]));
  11797. ProxDetector(30.0, playerid, string, COLOR_NG, COLOR_NG, COLOR_NG, COLOR_NG, COLOR_NG);
  11798. format(string, sizeof(string), "* %s rolls two dices that land on a total of %d with a bet of $%s.", GetPlayerNameEx(BetOffer[playerid]), dice2, Comma(BetPrice[playerid]));
  11799. ProxDetector(30.0, playerid, string, COLOR_NG, COLOR_NG, COLOR_NG, COLOR_NG, COLOR_NG);
  11800. format(string, sizeof(string), "* %s has won the bet for $%s.", GetPlayerNameEx(BetOffer[playerid]), Comma(BetPrice[playerid]));
  11801. SendClientMessage(playerid, -1, string);
  11802. SendClientMessage(BetOffer[playerid], -1, string);
  11803. }
  11804. format(string, sizeof(string), "* You accepted the bet for $%s from %s.",Comma(BetPrice[playerid]),GetPlayerNameEx(BetOffer[playerid]));
  11805. SendClientMessage(playerid, -1, string);
  11806. format(string, sizeof(string), "* %s accepted your dice bet offer for $%s.",GetPlayerNameEx(playerid),Comma(BetPrice[playerid]));
  11807. SendClientMessage(BetOffer[playerid], -1, string);
  11808. BetOffer[playerid] = 999;
  11809. BetPrice[playerid] = 0;
  11810. return 1;
  11811. }
  11812. }
  11813. else {
  11814. SendClientMessage(playerid, COLOR_GRAD2, "You're not near the person offering you bet!");
  11815. return 1;
  11816. }
  11817. }
  11818. return 1;
  11819. }
  11820. else {
  11821. SendClientMessage(playerid, COLOR_GREY, " You can't afford the bet!");
  11822. return 1;
  11823. }
  11824. }
  11825. else {
  11826. SendClientMessage(playerid, COLOR_GREY, " No-one offered you any bet!");
  11827. return 1;
  11828. }
  11829. }
  11830. else if(strcmp(params,"sex",true) == 0) {
  11831. if(SexOffer[playerid] < 999) {
  11832. if(GetPlayerCash(playerid) > SexPrice[playerid]) {
  11833. if(IsPlayerConnected(SexOffer[playerid])) {
  11834. new Car = GetPlayerVehicleID(playerid);
  11835. if(IsPlayerInAnyVehicle(playerid) && IsPlayerInVehicle(SexOffer[playerid], Car)) {
  11836. GetPlayerName(SexOffer[playerid], giveplayer, sizeof(giveplayer));
  11837. GetPlayerName(playerid, sendername, sizeof(sendername));
  11838. format(string, sizeof(string), "* You had sex with Whore %s, for $%d.", giveplayer, SexPrice[playerid]);
  11839. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  11840. format(string, sizeof(string), "* %s had sex with you. You have earned $%d.", sendername, SexPrice[playerid]);
  11841. SendClientMessage(SexOffer[playerid], COLOR_LIGHTBLUE, string);
  11842. new ip[32], ipex[32];
  11843. GetPlayerIp(playerid, ip, sizeof(ip));
  11844. GetPlayerIp(SexOffer[playerid], ipex, sizeof(ipex));
  11845. //format(string, sizeof(string), "[SEX] %s (IP:%s) had sex with %s (IP:%s) for %d.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(SexOffer[playerid]), ipex, SexPrice[playerid]);
  11846. //Log("logs/pay.log", string);
  11847. SexWarn[playerid][SexOffer[playerid]] += SexPrice[playerid];
  11848. if(SexWarn[playerid][SexOffer[playerid]] >= 2500 && (PlayerInfo[SexOffer[playerid]][pLevel] <= 3 || PlayerInfo[playerid][pLevel] <= 3)) {
  11849. format(string, sizeof(string), "%s (IP:%s) had sex with %s (IP:%s) for $%d in this session.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(SexOffer[playerid]), ipex, SexWarn[playerid][SexOffer[playerid]]);
  11850. //Log("logs/pay.log", string);
  11851. ABroadCast(COLOR_YELLOW, string, 1);
  11852. }
  11853. GivePlayerCash(SexOffer[playerid], SexPrice[playerid]);
  11854. GivePlayerCash(playerid, -SexPrice[playerid]);
  11855. if(DoubleXP == 1)
  11856. {
  11857. new hour,minuite,second;
  11858. gettime(hour,minuite,second);
  11859. if(DoubleEXPcheck(hour))
  11860. {
  11861. PlayerInfo[SexOffer[playerid]][pSexSkill] += 2;
  11862. SendClientMessage(SexOffer[playerid], COLOR_YELLOW, "* You have gained two skill points for this job due to double experience.");
  11863. }
  11864. /*else
  11865. {
  11866. SendClientMessage(SexOffer[playerid], COLOR_YELLOW, "* You have only gained one skill point for this job since it's not within the double experience hours.");
  11867. PlayerInfo[SexOffer[playerid]][pSexSkill]++;
  11868. }*/
  11869. }
  11870. else
  11871. {
  11872. PlayerInfo[SexOffer[playerid]][pSexSkill]++;
  11873. }
  11874. if(PlayerInfo[SexOffer[playerid]][pSexSkill] == 50) {
  11875. SendClientMessage(SexOffer[playerid], COLOR_YELLOW, "* Your Sex Skill is now Level 2, you offer better Sex (health) and less chance on STI.");
  11876. }
  11877. else if(PlayerInfo[SexOffer[playerid]][pSexSkill] == 100) {
  11878. SendClientMessage(SexOffer[playerid], COLOR_YELLOW, "* Your Sex Skill is now Level 3, you offer better Sex (health) and less chance on STI.");
  11879. }
  11880. else if(PlayerInfo[SexOffer[playerid]][pSexSkill] == 200) {
  11881. SendClientMessage(SexOffer[playerid], COLOR_YELLOW, "* Your Sex Skill is now Level 4, you offer better Sex (health) and less chance on STI.");
  11882. }
  11883. else if(PlayerInfo[SexOffer[playerid]][pSexSkill] == 400) {
  11884. SendClientMessage(SexOffer[playerid], COLOR_YELLOW, "* Your Sex Skill is now Level 5, you offer better Sex (health) and less chance on STI.");
  11885. }
  11886. if(!GetPVarType(playerid, "STD")) {
  11887. if(Condom[playerid] < 1) {
  11888. new Float:health;
  11889. new level = PlayerInfo[SexOffer[playerid]][pSexSkill];
  11890. if(level >= 0 && level <= 50) {
  11891. GetPlayerHealth(playerid, health);
  11892. if(health < 100) {
  11893. if(health > 90) {
  11894. SetPlayerHealth(playerid, 100);
  11895. }
  11896. else {
  11897. SetPlayerHealth(playerid, health + 10.0);
  11898. }
  11899. }
  11900. new rand = random(sizeof(STD1));
  11901. SetPVarInt(playerid, "STD", STD1[rand]);
  11902. SetPVarInt(SexOffer[playerid], "STD", STD1[rand]);
  11903. if(STD1[rand] == 0) {
  11904. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You got 10 Health + no STI while having Sex."); SendClientMessage(SexOffer[playerid], COLOR_LIGHTBLUE, "* You haven't got a STI while having Sex.");
  11905. }
  11906. else if(STD1[rand] == 1) { SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You got 10 Health + a Chlamydia because of the Sex."); SendClientMessage(SexOffer[playerid], COLOR_LIGHTBLUE, "* You got a Chlamydia because of the Sex."); }
  11907. else if(STD1[rand] == 2) { SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You got 10 Health + a Gonorrhea because of the Sex."); SendClientMessage(SexOffer[playerid], COLOR_LIGHTBLUE, "* You got a Gonorrhea because of the Sex."); }
  11908. else if(STD1[rand] == 3) { SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You got 10 Health + a Syphilis because of the Sex."); SendClientMessage(SexOffer[playerid], COLOR_LIGHTBLUE, "* You got a Syphilis because of the Sex."); }
  11909. }
  11910. else if(level >= 51 && level <= 100) {
  11911. GetPlayerHealth(playerid, health);
  11912. if(health < 100) {
  11913. if(health > 80) {
  11914. SetPlayerHealth(playerid, 100);
  11915. }
  11916. else {
  11917. SetPlayerHealth(playerid, health + 20.0);
  11918. }
  11919. }
  11920. new rand = random(sizeof(STD2));
  11921. SetPVarInt(playerid, "STD", STD2[rand]);
  11922. SetPVarInt(SexOffer[playerid], "STD", STD2[rand]);
  11923. if(STD2[rand] == 0) { SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You got 20 Health + no STD while having Sex."); SendClientMessage(SexOffer[playerid], COLOR_LIGHTBLUE, "* You haven't got a STI while having Sex."); }
  11924. else if(STD2[rand] == 1) { SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You got 20 Health + a Chlamydia because of the Sex."); SendClientMessage(SexOffer[playerid], COLOR_LIGHTBLUE, "* You got a Chlamydia because of the Sex."); }
  11925. else if(STD2[rand] == 2) { SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You got 20 Health + a Gonorrhea because of the Sex."); SendClientMessage(SexOffer[playerid], COLOR_LIGHTBLUE, "* You got a Gonorrhea because of the Sex."); }
  11926. else if(STD2[rand] == 3) { SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You got 20 Health + a Syphilis because of the Sex."); SendClientMessage(SexOffer[playerid], COLOR_LIGHTBLUE, "* You got a Syphilis because of the Sex."); }
  11927. }
  11928. else if(level >= 101 && level <= 200) {
  11929. GetPlayerHealth(playerid, health);
  11930. if(health < 100) {
  11931. if(health > 70) {
  11932. SetPlayerHealth(playerid, 100);
  11933. }
  11934. else {
  11935. SetPlayerHealth(playerid, health + 30.0);
  11936. }
  11937. }
  11938. new rand = random(sizeof(STD3));
  11939. SetPVarInt(playerid, "STD", STD3[rand]);
  11940. SetPVarInt(SexOffer[playerid], "STD", STD3[rand]);
  11941. if(STD3[rand] == 0) { SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You got 30 Health + no STI while having Sex."); SendClientMessage(SexOffer[playerid], COLOR_LIGHTBLUE, "* You haven't got a STI while having Sex."); }
  11942. else if(STD3[rand] == 1) { SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You got 30 Health + a Chlamydia because of the Sex."); SendClientMessage(SexOffer[playerid], COLOR_LIGHTBLUE, "* You got a Chlamydia because of the Sex."); }
  11943. else if(STD3[rand] == 2) { SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You got 30 Health + a Gonorrhea because of the Sex."); SendClientMessage(SexOffer[playerid], COLOR_LIGHTBLUE, "* You got a Gonorrhea because of the Sex."); }
  11944. else if(STD3[rand] == 3) { SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You got 30 Health + a Syphilis because of the Sex."); SendClientMessage(SexOffer[playerid], COLOR_LIGHTBLUE, "* You got a Syphilis because of the Sex."); }
  11945. }
  11946. else if(level >= 201 && level <= 400) {
  11947. GetPlayerHealth(playerid, health);
  11948. if(health < 100) {
  11949. if(health > 60) {
  11950. SetPlayerHealth(playerid, 100);
  11951. }
  11952. else {
  11953. SetPlayerHealth(playerid, health + 40.0);
  11954. }
  11955. }
  11956. new rand = random(sizeof(STD4));
  11957. SetPVarInt(playerid, "STD", STD4[rand]);
  11958. SetPVarInt(SexOffer[playerid], "STD", STD4[rand]);
  11959. if(STD4[rand] == 0) { SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You got 40 Health + no STI while having Sex."); SendClientMessage(SexOffer[playerid], COLOR_LIGHTBLUE, "* You haven't got a STI while having Sex."); }
  11960. else if(STD4[rand] == 1) { SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You got 40 Health + a Chlamydia because of the Sex."); SendClientMessage(SexOffer[playerid], COLOR_LIGHTBLUE, "* You got a Chlamydia because of the Sex."); }
  11961. else if(STD4[rand] == 2) { SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You got 40 Health + a Gonorrhea because of the Sex."); SendClientMessage(SexOffer[playerid], COLOR_LIGHTBLUE, "* You got a Gonorrhea because of the Sex."); }
  11962. else if(STD4[rand] == 3) { SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You got 40 Health + a Syphilis because of the Sex."); SendClientMessage(SexOffer[playerid], COLOR_LIGHTBLUE, "* You got a Syphilis because of the Sex."); }
  11963. }
  11964. else if(level >= 401) {
  11965. GetPlayerHealth(playerid, health);
  11966. if(health > 50) {
  11967. SetPlayerHealth(playerid, 100);
  11968. }
  11969. else {
  11970. SetPlayerHealth(playerid, health + 50.0);
  11971. }
  11972. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Your Sex Skill Level is so high you gave high health and No STD.");
  11973. SendClientMessage(SexOffer[playerid], COLOR_LIGHTBLUE, "* The Whore's Sex Skill Level is so high you got high health and No STD.");
  11974. }
  11975. }
  11976. else {
  11977. SendClientMessage(SexOffer[playerid], COLOR_LIGHTBLUE, "* The player used a Condom.");
  11978. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You used a Condom.");
  11979. Condom[playerid] --;
  11980. }
  11981. }
  11982. else {
  11983. SendClientMessage(SexOffer[playerid], COLOR_LIGHTBLUE, "* That player was already infected with a STI, can't get another one.");
  11984. }
  11985. SexOffer[playerid] = 999;
  11986. return 1;
  11987. }
  11988. else {
  11989. SendClientMessage(playerid, COLOR_GREY, " You or the Whore are not both in a Car!");
  11990. return 1;
  11991. }
  11992. } //Connected or not
  11993. return 1;
  11994. }
  11995. else {
  11996. SendClientMessage(playerid, COLOR_GREY, " You can't afford the Sex!");
  11997. return 1;
  11998. }
  11999. }
  12000. else {
  12001. SendClientMessage(playerid, COLOR_GREY, " You don't have any sex offered by a Whore!");
  12002. return 1;
  12003. }
  12004. }
  12005. else if(strcmp(params,"pot",true) == 0) {
  12006. if(PotOffer[playerid] < 999) {
  12007. if(GetPlayerCash(playerid) > PotPrice[playerid]) {
  12008. if(PlayerInfo[playerid][pPot] < 25) {
  12009. if(IsPlayerConnected(PotOffer[playerid])) {
  12010. if(PlayerInfo[PotOffer[playerid]][pPot] < PotGram[playerid])
  12011. {
  12012. SendClientMessage(playerid,COLOR_GREY, "That player does not have that amount of pot anymore!");
  12013. return 1;
  12014. }
  12015. new ip[32], ipex[32];
  12016. GetPlayerIp(playerid, ip, sizeof(ip));
  12017. GetPlayerIp(PotOffer[playerid], ipex, sizeof(ipex));
  12018. //format(string, sizeof(string), "[POT (%d GRAMS)] %s (IP:%s) has paid $%d to %s (IP:%s)", PotGram[playerid], GetPlayerNameEx(playerid), ip, PotPrice[playerid], GetPlayerNameEx(PotOffer[playerid]), ipex);
  12019. //Log("logs/pay.log", string);*/
  12020. PotWarn[playerid][PotOffer[playerid]] += PotPrice[playerid];
  12021. if(PotWarn[playerid][PotOffer[playerid]] >= 2500 && (PlayerInfo[PotOffer[playerid]][pLevel] <= 3 || PlayerInfo[PotOffer[playerid]][pLevel] <= 3)) {
  12022. format(string, sizeof(string), "%s (IP:%s) has sold %s (IP:%s) $%d of pot in this session.", GetPlayerNameEx(PotOffer[playerid]), ipex, GetPlayerNameEx(playerid), ip, PotWarn[playerid][PotOffer[playerid]]);
  12023. //Log("logs/pay.log", string);
  12024. ABroadCast(COLOR_YELLOW, string, 1);
  12025. }
  12026. GetPlayerName(PotOffer[playerid], giveplayer, sizeof(giveplayer));
  12027. GetPlayerName(playerid, sendername, sizeof(sendername));
  12028. format(string, sizeof(string), "* You bought %d gram(s) for $%d from Drug Dealer %s.",PotGram[playerid],PotPrice[playerid],giveplayer);
  12029. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  12030. format(string, sizeof(string), "* %s has bought your %d gram(s), the $%d was added to your money.",sendername,PotGram[playerid],PotPrice[playerid]);
  12031. SendClientMessage(PotOffer[playerid], COLOR_LIGHTBLUE, string);
  12032. PlayerInfo[PotOffer[playerid]][pCash] += PotPrice[playerid];
  12033. if(DoubleXP == 1)
  12034. {
  12035. new hour,minuite,second;
  12036. gettime(hour,minuite,second);
  12037. if(DoubleEXPcheck(hour))
  12038. {
  12039. PlayerInfo[PotOffer[playerid]][pDrugsSkill] += 2;
  12040. SendClientMessage(PotOffer[playerid], COLOR_YELLOW, "* You have gained two skill points for this job due to double experience.");
  12041. }
  12042. /*else
  12043. {
  12044. SendClientMessage(PotOffer[playerid], COLOR_YELLOW, "* You have only gained one skill point for this job since it's not within the double experience hours.");
  12045. PlayerInfo[PotOffer[playerid]][pDrugsSkill]++;
  12046. }*/
  12047. }
  12048. else
  12049. {
  12050. PlayerInfo[PotOffer[playerid]][pDrugsSkill]++;
  12051. }
  12052. GivePlayerCash(playerid, -PotPrice[playerid]);
  12053. PlayerInfo[playerid][pPot] += PotGram[playerid];
  12054. PlayerInfo[PotOffer[playerid]][pPot] -= PotGram[playerid];
  12055. if(PlayerInfo[PotOffer[playerid]][pDrugsSkill] == 50)
  12056. { SendClientMessage(PotOffer[playerid], COLOR_YELLOW, "* Your Drug Dealer Skill is now Level 2, you can buy more Grams and Cheaper."); }
  12057. else if(PlayerInfo[PotOffer[playerid]][pDrugsSkill] == 100)
  12058. { SendClientMessage(PotOffer[playerid], COLOR_YELLOW, "* Your Drug Dealer Skill is now Level 3, you can buy more Grams and Cheaper."); }
  12059. else if(PlayerInfo[PotOffer[playerid]][pDrugsSkill] == 200)
  12060. { SendClientMessage(PotOffer[playerid], COLOR_YELLOW, "* Your Drug Dealer Skill is now Level 4, you can buy more Grams and Cheaper."); }
  12061. else if(PlayerInfo[PotOffer[playerid]][pDrugsSkill] == 400)
  12062. { SendClientMessage(PotOffer[playerid], COLOR_YELLOW, "* Your Drug Dealer Skill is now Level 5, you can buy more Grams and Cheaper."); }
  12063. PotOffer[playerid] = 999;
  12064. PotPrice[playerid] = 0;
  12065. PotGram[playerid] = 0;
  12066. return 1;
  12067. }
  12068. return 1;
  12069. }
  12070. else {
  12071. SendClientMessage(playerid, COLOR_GREY, " You're fully loaded with Drugs, use them first!");
  12072. return 1;
  12073. }
  12074. }
  12075. else {
  12076. SendClientMessage(playerid, COLOR_GREY, " You can't afford those Pot!");
  12077. return 1;
  12078. }
  12079. }
  12080. else {
  12081. SendClientMessage(playerid, COLOR_GREY, " No-one offered you any Pot!");
  12082. return 1;
  12083. }
  12084. }
  12085. else if(strcmp(params,"crack",true) == 0) {
  12086. if(CrackOffer[playerid] < 999) {
  12087. if(GetPlayerCash(playerid) > CrackPrice[playerid]) {
  12088. if(PlayerInfo[playerid][pCrack] < 25) {
  12089. if(IsPlayerConnected(CrackOffer[playerid])) {
  12090. if(PlayerInfo[CrackOffer[playerid]][pCrack] < CrackGram[playerid])
  12091. {
  12092. SendClientMessage(playerid,COLOR_GREY, "That player does not have that amount of crack anymore!");
  12093. return 1;
  12094. }
  12095. new ip[32], ipex[32];
  12096. GetPlayerIp(playerid, ip, sizeof(ip));
  12097. GetPlayerIp(CrackOffer[playerid], ipex, sizeof(ipex));
  12098. //format(string, sizeof(string), "[CRACK DEAL (%d GRAMS)] %s (IP:%s) has paid $%d to %s (IP:%s)", CrackGram[playerid], GetPlayerNameEx(playerid), ip, CrackPrice[playerid], GetPlayerNameEx(CrackOffer[playerid]), ipex);
  12099. // Log("logs/pay.log", string);
  12100. CrackWarn[playerid][CrackOffer[playerid]] += CrackPrice[playerid];
  12101. if(CrackWarn[playerid][CrackOffer[playerid]] >= 2500 && (PlayerInfo[CrackOffer[playerid]][pLevel] <= 3 || PlayerInfo[CrackOffer[playerid]][pLevel] <= 3)) {
  12102. format(string, sizeof(string), "%s (IP:%s) has sold %s (IP:%s) $%d of crack in this session.", GetPlayerNameEx(CrackOffer[playerid]), ipex, GetPlayerNameEx(playerid), ip, CrackWarn[playerid][CrackOffer[playerid]]);
  12103. ABroadCast(COLOR_YELLOW, string, 1);
  12104. }
  12105. GivePlayerCash(playerid, -CrackPrice[playerid]);
  12106. GivePlayerCash(CrackOffer[playerid], CrackPrice[playerid]);
  12107. GetPlayerName(CrackOffer[playerid], giveplayer, sizeof(giveplayer));
  12108. GetPlayerName(playerid, sendername, sizeof(sendername));
  12109. format(string, sizeof(string), "* You bought %d gram(s) for $%d from Drug Dealer %s.",CrackGram[playerid],CrackPrice[playerid],giveplayer);
  12110. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  12111. format(string, sizeof(string), "* %s has bought your %d gram(s), the $%d was added to your money.",sendername,CrackGram[playerid],CrackPrice[playerid]);
  12112. SendClientMessage(CrackOffer[playerid], COLOR_LIGHTBLUE, string);
  12113. if(DoubleXP == 1)
  12114. {
  12115. new hour,minuite,second;
  12116. gettime(hour,minuite,second);
  12117. if(DoubleEXPcheck(hour))
  12118. {
  12119. PlayerInfo[CrackOffer[playerid]][pDrugsSkill] += 2;
  12120. SendClientMessage(CrackOffer[playerid], COLOR_YELLOW, "* You have gained two skill points for this job due to double experience.");
  12121. }
  12122. /*else
  12123. {
  12124. SendClientMessage(CrackOffer[playerid], COLOR_YELLOW, "* You have only gained one skill point for this job since it's not within the double experience hours.");
  12125. PlayerInfo[CrackOffer[playerid]][pDrugsSkill]++;
  12126. }*/
  12127. }
  12128. else
  12129. {
  12130. PlayerInfo[CrackOffer[playerid]][pDrugsSkill]++;
  12131. }
  12132. PlayerInfo[playerid][pCrack] += CrackGram[playerid];
  12133. PlayerInfo[CrackOffer[playerid]][pCrack] -= CrackGram[playerid];
  12134. if(PlayerInfo[CrackOffer[playerid]][pDrugsSkill] == 50)
  12135. { SendClientMessage(CrackOffer[playerid], COLOR_YELLOW, "* Your Drug Dealer Skill is now Level 2, you can buy more Grams and Cheaper."); }
  12136. else if(PlayerInfo[CrackOffer[playerid]][pDrugsSkill] == 100)
  12137. { SendClientMessage(CrackOffer[playerid], COLOR_YELLOW, "* Your Drug Dealer Skill is now Level 3, you can buy more Grams and Cheaper."); }
  12138. else if(PlayerInfo[CrackOffer[playerid]][pDrugsSkill] == 200)
  12139. { SendClientMessage(CrackOffer[playerid], COLOR_YELLOW, "* Your Drug Dealer Skill is now Level 4, you can buy more Grams and Cheaper."); }
  12140. else if(PlayerInfo[CrackOffer[playerid]][pDrugsSkill] == 400)
  12141. { SendClientMessage(CrackOffer[playerid], COLOR_YELLOW, "* Your Drug Dealer Skill is now Level 5, you can buy more Grams and Cheaper."); }
  12142. CrackOffer[playerid] = 999;
  12143. CrackPrice[playerid] = 0;
  12144. CrackGram[playerid] = 0;
  12145. return 1;
  12146. }
  12147. return 1;
  12148. }
  12149. else {
  12150. SendClientMessage(playerid, COLOR_GREY, " You're fully loaded with Crack, use them first!");
  12151. return 1;
  12152. }
  12153. }
  12154. else {
  12155. SendClientMessage(playerid, COLOR_GREY, " You can't afford that Crack!");
  12156. return 1;
  12157. }
  12158. }
  12159. else {
  12160. SendClientMessage(playerid, COLOR_GREY, " No-one offered you any Crack!");
  12161. return 1;
  12162. }
  12163. }
  12164. else if(strcmp(params,"defense",true) == 0) {
  12165. if(DefendOffer[playerid] < 999) {
  12166. if(GetPlayerCash(playerid) > DefendPrice[playerid]) {
  12167. if(IsPlayerConnected(DefendOffer[playerid])) {
  12168. /*new ip[32], ipex[32];
  12169. GetPlayerIp(playerid, ip, sizeof(ip));
  12170. GetPlayerIp(DefendOffer[playerid], ipex, sizeof(ipex));
  12171. format(string, sizeof(string), "[LAWYER] %s (IP:%s) has paid $%d to %s (IP:%s)", GetPlayerNameEx(playerid), ip, DefendPrice[playerid], GetPlayerNameEx(DefendOffer[playerid]), ipex);
  12172. Log("logs/pay.log", string);*/
  12173. PlayerInfo[playerid][pWantedLevel]--;
  12174. SetPlayerWantedLevel(playerid, PlayerInfo[playerid][pWantedLevel]);
  12175. SetPlayerToTeamColor(playerid);
  12176. giveplayer = GetPlayerNameEx(DefendOffer[playerid]);
  12177. sendername = GetPlayerNameEx(playerid);
  12178. format(string, sizeof(string), "* You accepted the Defense for $%d from Lawyer %s.",DefendPrice[playerid],giveplayer);
  12179. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  12180. format(string, sizeof(string), "* %s accepted your Defense, and the $%d was added to your money.",sendername,DefendPrice[playerid]);
  12181. SendClientMessage(DefendOffer[playerid], COLOR_LIGHTBLUE, string);
  12182. if(DoubleXP == 1)
  12183. {
  12184. new hour,minuite,second;
  12185. gettime(hour,minuite,second);
  12186. if(DoubleEXPcheck(hour))
  12187. {
  12188. PlayerInfo[DefendOffer[playerid]][pLawSkill] += 2;
  12189. SendClientMessage(DefendOffer[playerid], COLOR_YELLOW, "* You have gained two skill points for this job due to double experience.");
  12190. }
  12191. /*else
  12192. {
  12193. SendClientMessage(DefendOffer[playerid], COLOR_YELLOW, "* You have only gained one skill point for this job since it's not within the double experience hours.");
  12194. PlayerInfo[DefendOffer[playerid]][pLawSkill]++;
  12195. }*/
  12196. }
  12197. else
  12198. {
  12199. PlayerInfo[DefendOffer[playerid]][pLawSkill]++;
  12200. }
  12201. GivePlayerCash(DefendOffer[playerid],DefendPrice[playerid]);
  12202. GivePlayerCash(playerid, -DefendPrice[playerid]);
  12203. DefendOffer[playerid] = 999;
  12204. DefendPrice[playerid] = 0;
  12205. return 1;
  12206. }
  12207. return 1;
  12208. }
  12209. else {
  12210. SendClientMessage(playerid, COLOR_GREY, " You can't afford the Protection!");
  12211. return 1;
  12212. }
  12213. }
  12214. else {
  12215. SendClientMessage(playerid, COLOR_GREY, " No-one offered you any Protection!");
  12216. return 1;
  12217. }
  12218. }
  12219. else if(strcmp(params,"faction",true) == 0) {
  12220. if(InviteOffer[playerid] < 999) {
  12221. if(IsPlayerConnected(InviteOffer[playerid])) {
  12222. if(GetPVarInt(playerid, "PBM") > 0) {
  12223. SendClientMessage(playerid, COLOR_WHITE, "You can't do this while playing paintball.");
  12224. return 1;
  12225. }
  12226. if(InviteFaction[playerid] > 0 && InviteFamily[playerid] == 255) {
  12227. PlayerInfo[playerid][pFaction] = InviteFaction[playerid];
  12228. PlayerInfo[playerid][pRank] = 0;
  12229. PlayerInfo[playerid][pDivision] = 0;
  12230. format(string, sizeof(string), "%s has accepted %s's invite to join the %s.", GetPlayerNameEx(playerid), GetPlayerNameEx(InviteOffer[playerid]), factionName(InviteFaction[playerid]));
  12231. Log("logs/faction.log", string);
  12232. format(string, sizeof(string), " You have accepted the invitation and joined the %s, you were invited by %s.", factionName(InviteFaction[playerid]), GetPlayerNameEx(InviteOffer[playerid]));
  12233. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  12234. format(string, sizeof(string), " %s has accepted the invitation and joined the %s.", GetPlayerNameEx(playerid), factionName(InviteFaction[playerid]));
  12235. SendClientMessage(InviteOffer[playerid], COLOR_LIGHTBLUE, string);
  12236. InviteOffer[playerid] = 999;
  12237. InviteFaction[playerid] = 0;
  12238. InviteFamily[playerid] = 255;
  12239. }
  12240. }
  12241. }
  12242. else {
  12243. SendClientMessage(playerid, COLOR_GREY, " No one has invited you to join an organisation/family!");
  12244. return 1;
  12245. }
  12246. }
  12247. else if(strcmp(params,"crew",true) == 0) {
  12248. if(InviteOffer[playerid] < 999) {
  12249. if(IsPlayerConnected(InviteOffer[playerid])) {
  12250. if(InviteFaction[playerid] == 0 && InviteCrew[playerid] != 255) {
  12251. if(GetPVarInt(playerid, "PBM") >= 1) {
  12252. SendClientMessageEx(playerid, COLOR_WHITE, "Please wait until your Paintball Arena match is over.");
  12253. return 1;
  12254. }
  12255. if(PlayerInfo[playerid][pJailTime] > 1) {
  12256. SendClientMessageEx(playerid, COLOR_WHITE, "Please wait until you are released from jail/prison before you accept the invite.");
  12257. return 1;
  12258. }
  12259. format(string, sizeof(string), " You have accepted the invitation and joined the Family Crew, you were invited by %s.", GetPlayerNameEx(InviteOffer[playerid]));
  12260. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string);
  12261. format(string, sizeof(string), " %s has accepted the invitation and joined the %s.", GetPlayerNameEx(playerid));
  12262. SendClientMessageEx(InviteOffer[playerid], COLOR_LIGHTBLUE, string);
  12263. PlayerInfo[playerid][pCrew1] = InviteCrew[playerid];
  12264. PlayerInfo[playerid][pCrew2] = InviteCrew1[playerid];
  12265. PlayerInfo[playerid][pCrew3] = InviteCrew2[playerid];
  12266. SaveFamilies();
  12267. SendClientMessageEx(playerid, COLOR_WHITE, "Use (/cr)ew to talk in crew chat.");
  12268. InviteOffer[playerid] = 999;
  12269. InviteCrew[playerid] = 255;
  12270. }
  12271. }
  12272. }
  12273. else {
  12274. SendClientMessageEx(playerid, COLOR_GREY, " No one has invited you to join an organisation/family/crew!");
  12275. return 1;
  12276. }
  12277. }
  12278. else if(strcmp(params,"family",true) == 0) {
  12279. if(InviteOffer[playerid] < 999) {
  12280. if(IsPlayerConnected(InviteOffer[playerid])) {
  12281. if(InviteFaction[playerid] == 0 && InviteFamily[playerid] != 255) {
  12282. if(GetPVarInt(playerid, "PBM") > 0) {
  12283. SendClientMessage(playerid, COLOR_WHITE, "You can't do this while playing paintball.");
  12284. return 1;
  12285. }
  12286. if(PlayerInfo[playerid][pJailTime] > 1) {
  12287. SendClientMessage(playerid, COLOR_WHITE, "Please wait until you're released from jail/prison before you accept the invite.");
  12288. return 1;
  12289. }
  12290. if(PlayerInfo[playerid][pFaction] >= 3 || PlayerInfo[playerid][pGang] != 255 || PlayerInfo[playerid][pLeader] >= 3 || PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pFaction] == 1 || PlayerInfo[playerid][pFaction] == 2) {
  12291. SendClientMessage(playerid, COLOR_WHITE, "You can't accept this invite as you're already in a family/faction.");
  12292. }
  12293. else {
  12294. PlayerInfo[playerid][pGang] = InviteFamily[playerid];
  12295. PlayerInfo[playerid][pRank] = 1;
  12296. FamilyInfo[InviteFamily[playerid]][FamilyMembers] ++;
  12297. FamilyInfo[InviteFamily[playerid]][FamilyOnline] ++;
  12298. PlayerInfo[playerid][pCrew1] = 255;
  12299. PlayerInfo[playerid][pCrew2] = 255;
  12300. PlayerInfo[playerid][pCrew3] = 255;
  12301. SaveFamilies();
  12302. format(string, sizeof(string), " You have accepted the invitation and joined the %s, you were invited by %s.", FamilyInfo[InviteFamily[playerid]][FamilyName], GetPlayerNameEx(InviteOffer[playerid]));
  12303. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  12304. format(string, sizeof(string), " %s has accepted the invitation and joined the %s.", GetPlayerNameEx(playerid),FamilyInfo[InviteFamily[playerid]][FamilyName]);
  12305. SendClientMessage(InviteOffer[playerid], COLOR_LIGHTBLUE, string);
  12306. SendClientMessage(playerid, COLOR_WHITE, "Use (/f)amily to talk in family chat. If you wish to acquire a family skin, type /clothes inside a clothing store.");
  12307. /*SetPlayerInterior(playerid,0);
  12308. ChosenSkin[playerid] = FamilyInfo[InviteFamily[playerid]][FamilySkins][0];
  12309. new rand = random(sizeof(gInviteSpawns));
  12310. // Warp the player
  12311. SetPlayerPos(playerid, gInviteSpawns[rand][0], gInviteSpawns[rand][1], gInviteSpawns[rand][2]);
  12312. SetPlayerFacingAngle(playerid, gInviteSpawns[rand][3]);
  12313. SetPlayerCameraPos(playerid,gInviteSpawns[rand][0] + 3, gInviteSpawns[rand][1], gInviteSpawns[rand][2]);
  12314. SetPlayerCameraLookAt(playerid,gInviteSpawns[rand][0], gInviteSpawns[rand][1], gInviteSpawns[rand][2]);
  12315. TogglePlayerControllable(playerid, 0);
  12316. SetPlayerSkin(playerid, ChosenSkin[playerid]);
  12317. SelectFChar[playerid] = 255;
  12318. SelectFCharID[playerid] = PlayerInfo[playerid][pGang];
  12319. SelectFCharPlace[playerid] = 1;
  12320. PlayerInfo[playerid][pSkin] = ChosenSkin[playerid];
  12321. PlayerInfo[playerid][pChar] = ChosenSkin[playerid];
  12322. SendClientMessage(playerid, COLOR_LIGHTRED, "* Use 'next' to browse through the available skins.");
  12323. SendClientMessage(playerid, COLOR_LIGHTRED, "* If you've found the skin you wish to use, type 'done'.");*/
  12324. InviteOffer[playerid] = 999;
  12325. InviteFaction[playerid] = 0;
  12326. InviteFamily[playerid] = 255;
  12327. }
  12328. }
  12329. }
  12330. }
  12331. else {
  12332. SendClientMessage(playerid, COLOR_GREY, " No one has invited you to join an organisation/family!");
  12333. return 1;
  12334. }
  12335. }
  12336. }
  12337. return 1;
  12338. }
  12339. CMD:payday(playerid, params[])
  12340. {
  12341. return cmd_paycheck(playerid, params);
  12342. }
  12343. CMD:paycheck(playerid, params[])
  12344. {
  12345. if(PlayerInfo[playerid][pAdmin] >= 5)
  12346. {
  12347. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  12348. {
  12349. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  12350. return 1;
  12351. }
  12352. foreach(Player, i)
  12353. {
  12354. if(WasHereForPaycheck[i] == 1)
  12355. {
  12356. SendClientMessage(playerid,COLOR_WHITE, "The paycheck codes of the last paycheck have not expired yet.");
  12357. return 1;
  12358. }
  12359. }
  12360. PayDay();
  12361. }
  12362. return 1;
  12363. }
  12364. CMD:veh(playerid, params[]) {
  12365. if(PlayerInfo[playerid][pAdmin] >= 4) {
  12366. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  12367. return SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  12368. new
  12369. iVehicle,
  12370. iColors[2] = { -1, -1 };
  12371. if(sscanf(params, "iII", iVehicle, iColors[0], iColors[1]))
  12372. {
  12373. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /veh [model ID] [(optional) color 1] [(optional) color 2]");
  12374. }
  12375. else if(!(400 <= iVehicle <= 611))
  12376. {
  12377. SendClientMessage(playerid, COLOR_GRAD2, "Invalid model specified (model IDs start at 400, and end at 611).");
  12378. }
  12379. else if(iColors[0] < -1 || iColors[0] > 255 || iColors[1] < -1 || iColors[1] > 255) {
  12380. SendClientMessage(playerid, COLOR_GRAD2, "Invalid colour specified (IDs start at -1, and end at 255).");
  12381. }
  12382. else if(CreatedCarsCount >= 50)
  12383. {
  12384. SendClientMessage(playerid, COLOR_GRAD2, "Only a maximum of 50 cars can be admin spawned at a time. Use /destroycar or /destroycars");
  12385. return 1;
  12386. }
  12387. else for(new iIterator; iIterator < sizeof(CreatedCars); iIterator++) if(CreatedCars[iIterator] == INVALID_VEHICLE_ID)
  12388. {
  12389. new
  12390. Float: fVehPos[4];
  12391. GetPlayerPos(playerid, fVehPos[0], fVehPos[1], fVehPos[2]);
  12392. GetPlayerFacingAngle(playerid, fVehPos[3]);
  12393. CreatedCars[iIterator] = CreateVehicle(iVehicle, fVehPos[0], fVehPos[1], fVehPos[2], fVehPos[3], iColors[0], iColors[1], -1);
  12394. CreatedCarsCount++;
  12395. LinkVehicleToInterior(CreatedCars[iIterator], GetPlayerInterior(playerid));
  12396. return SendClientMessage(playerid, COLOR_GREY, "Vehicle spawned!");
  12397. }
  12398. }
  12399. else SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  12400. return 1;
  12401. }
  12402. CMD:vehname(playerid, params[])
  12403. {
  12404. if(PlayerInfo[playerid][pAdmin] >= 4)
  12405. {
  12406. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  12407. {
  12408. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  12409. return 1;
  12410. }
  12411. SendClientMessage(playerid, COLOR_NEWS,"___________________________________________________________________________________________________");
  12412. SendClientMessage(playerid, COLOR_WHITE, "Vehicle Search:");
  12413. new
  12414. string[128];
  12415. if(isnull(params)) return SendClientMessage(playerid, COLOR_GREY, "No keyword specified.");
  12416. if(!params[2]) return SendClientMessage(playerid, COLOR_GREY, "Search keyword too short.");
  12417. for(new v; v < sizeof(VehicleName); v++) {
  12418. if(strfind(VehicleName[v], params, true) != -1) {
  12419. if(isnull(string)) format(string, sizeof(string), "%s (ID %d)", VehicleName[v], v+400);
  12420. else format(string, sizeof(string), "%s | %s (ID %d)", string, VehicleName[v], v+400);
  12421. }
  12422. }
  12423. if(!string[0]) SendClientMessage(playerid, COLOR_GREY, "No results found.");
  12424. else if(string[127]) SendClientMessage(playerid, COLOR_GREY, "Too many results found.");
  12425. else SendClientMessage(playerid, COLOR_WHITE, string);
  12426. SendClientMessage(playerid, COLOR_NEWS,"___________________________________________________________________________________________________");
  12427. }
  12428. return 1;
  12429. }
  12430. CMD:fixveh(playerid, params[])
  12431. {
  12432. if(IsPlayerConnected(playerid))
  12433. {
  12434. if(PlayerInfo[playerid][pAdmin] < 4)
  12435. {
  12436. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  12437. return 1;
  12438. }
  12439. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  12440. {
  12441. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  12442. return 1;
  12443. }
  12444. if(IsPlayerInAnyVehicle(playerid))
  12445. {
  12446. RepairVehicle(GetPlayerVehicleID(playerid));
  12447. SendClientMessage(playerid, COLOR_GREY, "Vehicle Fixed!");
  12448. }
  12449. }
  12450. return 1;
  12451. }
  12452. CMD:fixvehall(playerid, params[])
  12453. {
  12454. if(IsPlayerConnected(playerid)) {
  12455. if(PlayerInfo[playerid][pAdmin] < 5)
  12456. {
  12457. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  12458. return 1;
  12459. }
  12460. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  12461. {
  12462. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  12463. return 1;
  12464. }
  12465. for(new v = 0; v < MAX_VEHICLES; v++) {
  12466. RepairVehicle(v);
  12467. }
  12468. SendClientMessage(playerid, COLOR_GREY, "All vehicles fixed!");
  12469. }
  12470. return 1;
  12471. }
  12472. CMD:grab(playerid, params[]) return cmd_restrain(playerid, params);
  12473. CMD:drag(playerid, params[]) return cmd_restrain(playerid, params);
  12474. CMD:unrestrain(playerid, params[]) return cmd_restrain(playerid, params);
  12475. CMD:restrain(playerid, params[])
  12476. {
  12477. if(IsACop(playerid) || PlayerInfo[playerid][pFaction] == 5 && PlayerInfo[playerid][pDivision] == 5 || PlayerInfo[playerid][pFaction] == 5 && PlayerInfo[playerid][pDivision] == 2) {
  12478. new id, string[ 128 ];
  12479. if( sscanf( params, "u", id ) )
  12480. return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /drag [playerid/partofname]");
  12481. if(!IsPlayerConnected(id))
  12482. return SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  12483. if(GetDistanceBetweenPlayers(id, playerid) > 4)
  12484. return SendClientMessage(playerid, COLOR_GREY, "You're not close enough to the player!");
  12485. if(PlayerCuffed[id] == 0)
  12486. return SendClientMessage(playerid, COLOR_GREY, "That person isn't cuffed.");
  12487. if(PlayerCuffed[id] == 1)
  12488. return SendClientMessage(playerid, COLOR_GREY, "You can't drag a tazed player.");
  12489. if(id == playerid)
  12490. return SendClientMessage(playerid, COLOR_GREY, "You can't restrain yourself!");
  12491. if(GetPlayerState(id) != PLAYER_STATE_ONFOOT)
  12492. return SendClientMessage(playerid, COLOR_GREY, "That person is in a car - get them out first.");
  12493. if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT)
  12494. return SendClientMessage(playerid, COLOR_GREY, "You're in a car - get out first.");
  12495. if(GetPVarInt(playerid, "PBM") > 0)
  12496. return SendClientMessage(playerid, COLOR_WHITE, "You're not able to do this while in a paintball game.");
  12497. if(GetPVarInt(playerid, "EventToken") != 0)
  12498. return SendClientMessage(playerid, COLOR_GREY, "You can't use the tazer while you're in an event.");
  12499. if(PlayerCuffedTime[playerid] > 0)
  12500. return SendClientMessage(playerid, COLOR_GREY, "You can't do this right now.");
  12501. if(GetPVarInt(playerid, "Injured") == 1)
  12502. return SendClientMessage(playerid, COLOR_GREY, "You can't do this right now.");
  12503. if(PlayerInfo[playerid][pJailed] > 0)
  12504. return SendClientMessage(playerid, COLOR_WHITE, "You can't use this in jail/prison.");
  12505. if(PlayerCuffed[playerid] >= 1)
  12506. return SendClientMessage(playerid, COLOR_WHITE, "You can't use this while tazed/cuffed.");
  12507. if(GetPVarInt(id, "Injured") == 1)
  12508. return SendClientMessage(playerid, COLOR_GREY, "You can't cuff injured people.");
  12509. if(PlayerDragged[id] == 1) {
  12510. format(string, sizeof(string), "* %s looks into %s's eyes and then slowly releases them.", GetPlayerNameEx(playerid), GetPlayerNameEx(id));
  12511. ProxDetector(30.0, playerid, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
  12512. GameTextForPlayer(id, "~r~Released!", 2500, 3);
  12513. IsCopDragging[PlayerDraggedBy[id]] = INVALID_PLAYER_ID;
  12514. PlayerDragged[id] = 0;
  12515. PlayerDraggedBy[id] = INVALID_PLAYER_ID;
  12516. DeletePVar(playerid, "Dragging");
  12517. } else {
  12518. if(IsCopDragging[playerid] != INVALID_PLAYER_ID)
  12519. return SendClientMessage(playerid, COLOR_GREY, "You can't drag more than one person.");
  12520. format(string, sizeof(string), "* %s quickly grabs %s by the right arm, restraining them.", GetPlayerNameEx(playerid), GetPlayerNameEx(id));
  12521. ProxDetector(30.0, playerid, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
  12522. GameTextForPlayer(id, "~r~Restrained!", 2500, 3);
  12523. ApplyAnimation(id, "CARRY", "crry_prtial", 4.0, 0, 0, 0, 0, 0, 1);
  12524. SetPlayerSpecialAction(id, SPECIAL_ACTION_CUFFED);
  12525. PlayerDragged[id] = 1;
  12526. PlayerDraggedBy[id] = playerid;
  12527. IsCopDragging[playerid] = id;
  12528. SetPVarInt(playerid, "Dragging", id);
  12529. }
  12530. }
  12531. else SendClientMessage(playerid, COLOR_GREY, " You're not a Cop / FBI!");
  12532. return true;
  12533. }
  12534. CMD:destroycars(playerid, params[])
  12535. {
  12536. if(PlayerInfo[playerid][pAdmin] < 4)
  12537. {
  12538. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  12539. return 1;
  12540. }
  12541. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  12542. {
  12543. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  12544. return 1;
  12545. }
  12546. for(new i = 0; i < sizeof(CreatedCars); i++)
  12547. {
  12548. if(CreatedCars[i] != INVALID_VEHICLE_ID)
  12549. {
  12550. DestroyVehicle(CreatedCars[i]);
  12551. VehicleRadioStation[CreatedCars[i]] = 0;
  12552. CreatedCarsCount = 0;
  12553. CreatedCars[i] = INVALID_VEHICLE_ID;
  12554. }
  12555. }
  12556. SendClientMessage(playerid, COLOR_GREY, "Created vehicles destroyed!");
  12557. return 1;
  12558. }
  12559. CMD:destroycar(playerid, params[])
  12560. {
  12561. new string[128];
  12562. if(PlayerInfo[playerid][pAdmin] < 4)
  12563. {
  12564. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  12565. return 1;
  12566. }
  12567. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  12568. {
  12569. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  12570. return 1;
  12571. }
  12572. new bool:breakingloop = false, newid = INVALID_VEHICLE_ID;
  12573. if(IsPlayerInAnyVehicle(playerid))
  12574. {
  12575. for(new i=0;i<sizeof(CreatedCars);i++)
  12576. {
  12577. if(!breakingloop)
  12578. {
  12579. if(CreatedCars[i] == GetPlayerVehicleID(playerid)) // Checking for next available ID.
  12580. {
  12581. breakingloop = true;
  12582. newid = i;
  12583. }
  12584. }
  12585. }
  12586. if(newid != INVALID_VEHICLE_ID)
  12587. {
  12588. new carid = GetPlayerVehicleID(playerid);
  12589. DestroyVehicle(carid);
  12590. VehicleRadioStation[carid] = 0;
  12591. CreatedCarsCount--;
  12592. CreatedCars[newid] = INVALID_VEHICLE_ID;
  12593. format(string, sizeof(string), "Car %d destroyed.", carid);
  12594. SendClientMessage(playerid, COLOR_GREY, string);
  12595. }
  12596. }
  12597. return 1;
  12598. }
  12599. CMD:healnear(playerid, params[])
  12600. {
  12601. if(PlayerInfo[playerid][pAdmin] >= 4)
  12602. {
  12603. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  12604. {
  12605. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  12606. return 1;
  12607. }
  12608. new string[128];
  12609. new count;
  12610. foreach(Player, i) {
  12611. if(ProxDetectorS(12.0, playerid, i)) {
  12612. SetPlayerHealth(i, 100);
  12613. SetPlayerArmourEx(i, 100);
  12614. count++;
  12615. }
  12616. }
  12617. format(string, sizeof(string), "You have healed everyone (%d) nearby.", count);
  12618. SendClientMessage(playerid, COLOR_WHITE, string);
  12619. }
  12620. return 1;
  12621. }
  12622. CMD:guardnear(playerid, params[])
  12623. {
  12624. if(PlayerInfo[playerid][pDonator] >= 3)
  12625. {
  12626. if(PlayerInfo[playerid][pJob] != 8 && PlayerInfo[playerid][pJob2] != 8)
  12627. {
  12628. SendClientMessage(playerid, COLOR_GREY, "You're not a bodyguard.");
  12629. return 1;
  12630. }
  12631. new string[128], price;
  12632. if(sscanf(params, "d", price)) return SCM(playerid, -1, "USAGE: /guardnear [price]");
  12633. if(price < 200 || price > 1000) { SendClientMessage(playerid, COLOR_GREY, "Specified price must be between $200 and $1000."); return 1; }
  12634. if(GetPVarInt(playerid, "GuardTimer") > 0)
  12635. {
  12636. format(string, sizeof(string), " You must wait %d seconds before selling another vest.", GetPVarInt(playerid, "GuardTimer"));
  12637. SendClientMessage(playerid,COLOR_GREY,string);
  12638. return 1;
  12639. }
  12640. new count;
  12641. foreach(Player, i) {
  12642. if(ProxDetectorS(15.0, playerid, i)) {
  12643. if(playerid == i) return 1;
  12644. SetPVarInt(playerid, "GuardTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GUARDTIMER);
  12645. format(string, sizeof(string), "* You offered protection to %s for $%d.", GetPlayerNameEx(i), price);
  12646. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  12647. format(string, sizeof(string), "* Bodyguard %s wants to protect you for $%d, type /accept bodyguard to accept.", GetPlayerNameEx(playerid), price);
  12648. SendClientMessage(i, COLOR_LIGHTBLUE, string);
  12649. GuardOffer[i] = playerid;
  12650. GuardPrice[i] = price;
  12651. count++;
  12652. }
  12653. }
  12654. }
  12655. else return SCM(playerid, COLOR_GREY, " You must be a Diamond Donator to use this feature!");
  12656. return 1;
  12657. }
  12658. CMD:sethp(playerid, params[])
  12659. {
  12660. new string[128], playa, health;
  12661. if(sscanf(params, "ud", playa, health))
  12662. {
  12663. SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /sethp [playerid/partofname] [health]");
  12664. return 1;
  12665. }
  12666. if(PlayerInfo[playerid][pAdmin] >= 4)
  12667. {
  12668. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  12669. {
  12670. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  12671. return 1;
  12672. }
  12673. if(IsPlayerConnected(playa)) {
  12674. if(playa != INVALID_PLAYER_ID)
  12675. {
  12676. SetPlayerHealth(playa, health);
  12677. format(string, sizeof(string), "You have set %s's health to %d.", GetPlayerNameEx(playa), health);
  12678. SendClientMessage(playerid, COLOR_WHITE, string);
  12679. }
  12680. }
  12681. else SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  12682. }
  12683. else {
  12684. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  12685. }
  12686. return 1;
  12687. }
  12688. CMD:setarmor(playerid, params[])
  12689. {
  12690. new string[128], playa, health;
  12691. if(sscanf(params, "ud", playa, health))
  12692. {
  12693. SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /setarmor [playerid/partofname] [armor]");
  12694. return 1;
  12695. }
  12696. if(PlayerInfo[playerid][pAdmin] >= 4)
  12697. {
  12698. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  12699. {
  12700. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  12701. return 1;
  12702. }
  12703. if(IsPlayerConnected(playa))
  12704. {
  12705. if(playa != INVALID_PLAYER_ID)
  12706. {
  12707. SetPlayerArmourEx(playa, health);
  12708. format(string, sizeof(string), "You have set %s's armor to %d.", GetPlayerNameEx(playa), health);
  12709. SendClientMessage(playerid, COLOR_WHITE, string);
  12710. }
  12711. }
  12712. }
  12713. else
  12714. {
  12715. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  12716. }
  12717. return 1;
  12718. }
  12719. CMD:setarmorall(playerid, params[])
  12720. {
  12721. new armor;
  12722. if(sscanf(params, "d", armor)) {
  12723. SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /setarmorall [armor]");
  12724. return 1;
  12725. }
  12726. if(PlayerInfo[playerid][pAdmin] >= 5)
  12727. {
  12728. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  12729. {
  12730. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  12731. return 1;
  12732. }
  12733. foreach(Player, i)
  12734. {
  12735. SetPlayerArmourEx(i, armor);
  12736. }
  12737. }
  12738. else {
  12739. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  12740. }
  12741. return 1;
  12742. }
  12743. CMD:givegun(playerid, params[])
  12744. {
  12745. if(PlayerInfo[playerid][pAdmin] >= 4)
  12746. {
  12747. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  12748. {
  12749. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  12750. return 1;
  12751. }
  12752. new sstring[128], playa, gun;
  12753. if(sscanf(params, "ud", playa, gun)) {
  12754. SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /givegun [playerid/partofname] [weaponid]");
  12755. SendClientMessage(playerid, COLOR_GREEN, "_______________________________________");
  12756. SendClientMessage(playerid, COLOR_GRAD4, "1: Brass Knuckles 2: Golf Club 3: Nite Stick 4: Knife 5: Baseball Bat 6: Shovel 7: Pool Cue 8: Katana 9: Chainsaw");
  12757. SendClientMessage(playerid, COLOR_GRAD4, "10: Purple Dildo 11: Small White Vibrator 12: Large White Vibrator 13: Silver Vibrator 14: Flowers 15: Cane 16: Frag Grenade");
  12758. SendClientMessage(playerid, COLOR_GRAD3, "17: Tear Gas 18: Molotov Cocktail 19: Vehicle Missile 20: Hydra Flare 21: Jetpack 22: 9mm 23: Silenced 9mm 24: Desert Eagle");
  12759. SendClientMessage(playerid, COLOR_GRAD4, "26: Sawnoff Shotgun 27: Combat Shotgun 28: Micro SMG (Mac 10) 29: SMG (MP5) 30: AK-47 31: M4 32: Tec9 33: Rifle");
  12760. SendClientMessage(playerid, COLOR_GRAD4, "25: Shotgun 34: Sniper Rifle 35: Rocket Launcher 36: HS Rocket Launcher 37: Flamethrower 38: Minigun 39: Satchel Charge");
  12761. SendClientMessage(playerid, COLOR_GRAD4, "40: Detonator 41: Spraycan 42: Fire Extinguisher 43: Camera 44: Nightvision Goggles 45: Infared Goggles 46: Parachute");
  12762. SendClientMessage(playerid, COLOR_GREEN, "_______________________________________");
  12763. return 1;
  12764. }
  12765. if(gun < 1||gun > 47)
  12766. { SendClientMessage(playerid, COLOR_GRAD1, "Invalid weapon ID!"); return 1; }
  12767. if(IsPlayerConnected(playa)) {
  12768. if(PlayerInfo[playa][pConnectTime] < 2 && gun != 46 && gun != 43) return SendClientMessage(playerid, COLOR_GRAD2, "That player is currently restricted from carrying weapons");
  12769. if(playa != INVALID_PLAYER_ID && gun <= 20 || gun >= 22) {
  12770. GivePlayerValidAdminWeapon(playa, gun, 60000);
  12771. new weaponname[32];
  12772. GetWeaponName(gun, weaponname, sizeof(weaponname));
  12773. format(sstring, sizeof(sstring), "You have given %s gun ID %d (%s)!",GetPlayerNameEx(playa), gun, weaponname);
  12774. SendClientMessage(playerid, COLOR_GRAD1, sstring);
  12775. }
  12776. else if(playa != INVALID_PLAYER_ID && gun == 21) {
  12777. JetPack[playa] = 1;
  12778. SetPlayerSpecialAction(playa, SPECIAL_ACTION_USEJETPACK);
  12779. SendClientMessage(playerid, COLOR_GRAD1, sstring);
  12780. }
  12781. }
  12782. }
  12783. else {
  12784. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  12785. }
  12786. return 1;
  12787. }
  12788. CMD:signcheck(playerid, params[])
  12789. {
  12790. if(PayCheckCode[playerid] == 0) return SendClientMessage(playerid, COLOR_WHITE, "There is no paycheck to sign. Please wait for the next paycheck.");
  12791. new string[128];
  12792. format(string, sizeof(string), "Check code: %d\n\nEnter your check code to receive your paycheck:", PayCheckCode[playerid]);
  12793. ShowPlayerDialogEx(playerid, SIGNCHECK, DIALOG_STYLE_INPUT, "Sign check", string, "Sign check","Cancel");
  12794. return 1;
  12795. }
  12796. CMD:drop(playerid, params[]) {
  12797. new string[128], choice[32];
  12798. if(sscanf(params, "s[32]", choice))
  12799. {
  12800. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /drop [name]");
  12801. SendClientMessage(playerid, COLOR_GREY, "Available names: Weapons, Pot, Crack, Materials, Packages, Crates, Radio, Pizza");
  12802. return 1;
  12803. }
  12804. if(strcmp(choice,"materials",true) == 0)
  12805. {
  12806. if(PlayerInfo[playerid][pMats] > 0)
  12807. {
  12808. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  12809. format(string, sizeof(string), "You have dropped %d materials.", PlayerInfo[playerid][pMats]);
  12810. SendClientMessage(playerid, COLOR_WHITE, string);
  12811. format(string, sizeof(string), "* %s has thrown away their materials.", GetPlayerNameEx(playerid));
  12812. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  12813. PlayerInfo[playerid][pMats] = 0;
  12814. }
  12815. else
  12816. {
  12817. SendClientMessage(playerid, COLOR_GREY, "You're not carrying any materials to throw away!");
  12818. }
  12819. }
  12820. else if(strcmp(choice,"radio",true) == 0)
  12821. {
  12822. if(PlayerInfo[playerid][pRadio] != 0)
  12823. {
  12824. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  12825. format(string, sizeof(string), "* %s has thrown away their portable radio.", GetPlayerNameEx(playerid));
  12826. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  12827. PlayerInfo[playerid][pRadio] = 0;
  12828. PlayerInfo[playerid][pRadioFreq] = 0;
  12829. }
  12830. else
  12831. {
  12832. SendClientMessage(playerid, COLOR_GREY, "You're not carrying a portable radio to throw away!");
  12833. }
  12834. }
  12835. else if(strcmp(choice,"weapons",true) == 0)
  12836. {
  12837. if(GetPVarInt(playerid, "PBM") > 0)
  12838. {
  12839. SendClientMessage(playerid, COLOR_WHITE, "You're not able to do this while in a paintball game.");
  12840. return 1;
  12841. }
  12842. if(GetPVarInt(playerid, "EventToken") != 0)
  12843. {
  12844. SendClientMessage(playerid, COLOR_GREY, "You can't use this while you're in an event.");
  12845. return 1;
  12846. }
  12847. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  12848. ResetPlayerWeaponsEx(playerid);
  12849. format(string, sizeof(string), "* %s has thrown away their Weapons.", GetPlayerNameEx(playerid));
  12850. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  12851. }
  12852. else if(strcmp(choice,"pot",true) == 0)
  12853. {
  12854. if(PlayerInfo[playerid][pPot] > 0)
  12855. {
  12856. format(string, sizeof(string), "You have dropped %d grams of pot.", PlayerInfo[playerid][pPot]);
  12857. SendClientMessage(playerid, COLOR_WHITE, string);
  12858. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  12859. format(string, sizeof(string), "* %s has thrown away their pot.", GetPlayerNameEx(playerid));
  12860. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  12861. PlayerInfo[playerid][pPot] = 0;
  12862. }
  12863. else
  12864. {
  12865. SendClientMessage(playerid, COLOR_GREY, "You're not carrying any pot to throw away!");
  12866. }
  12867. }
  12868. else if(strcmp(choice,"crack",true) == 0)
  12869. {
  12870. if(PlayerInfo[playerid][pCrack] > 0)
  12871. {
  12872. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  12873. format(string, sizeof(string), "You have dropped %d grams of crack.", PlayerInfo[playerid][pCrack]);
  12874. SendClientMessage(playerid, COLOR_WHITE, string);
  12875. format(string, sizeof(string), "* %s has thrown away their crack.", GetPlayerNameEx(playerid));
  12876. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  12877. PlayerInfo[playerid][pCrack] = 0;
  12878. }
  12879. else
  12880. {
  12881. SendClientMessage(playerid, COLOR_GREY, "You're not carrying any crack to throw away!");
  12882. }
  12883. }
  12884. else if(strcmp(choice,"packages",true) == 0) {
  12885. if(GetPVarType(playerid, "Packages") > 0) {
  12886. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  12887. format(string, sizeof(string), "* %s has thrown away their material packages.", GetPlayerNameEx(playerid));
  12888. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  12889. DisablePlayerCheckpoint(playerid);
  12890. gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
  12891. GivePlayerCash(playerid, 50); // refund their packages
  12892. DeletePVar(playerid, "tpMatRunTimer");
  12893. DeletePVar(playerid, "Packages");
  12894. DeletePVar(playerid, "MatDelivery");
  12895. }
  12896. else SendClientMessage(playerid, COLOR_GREY, "You're not carrying any material packages to throw away!");
  12897. }
  12898. else if(strcmp(choice,"crates",true) == 0)
  12899. {
  12900. if(PlayerInfo[playerid][pCrates] > 0)
  12901. {
  12902. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  12903. format(string, sizeof(string), "* %s has thrown away their drug crates.", GetPlayerNameEx(playerid));
  12904. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  12905. PlayerInfo[playerid][pCrates] = 0;
  12906. }
  12907. else
  12908. {
  12909. SendClientMessage(playerid, COLOR_GREY, "You're not carrying any drug crates to throw away!");
  12910. }
  12911. }
  12912. else if(strcmp(choice,"pizza",true) == 0)
  12913. {
  12914. if(GetPVarInt(playerid, "Pizza") > 0)
  12915. {
  12916. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  12917. format(string, sizeof(string), "* %s has thrown away their pizza delivery.", GetPlayerNameEx(playerid));
  12918. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  12919. SetPVarInt(playerid, "Pizza", 0);
  12920. DestroyProgressBar(PizzaBar[playerid]);
  12921. }
  12922. else
  12923. {
  12924. SendClientMessage(playerid, COLOR_GREY, "You're not delivering any pizzas!");
  12925. }
  12926. }
  12927. else
  12928. {
  12929. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /drop [name]");
  12930. SendClientMessage(playerid, COLOR_GREY, "Available names: Weapons, Pot, Crack, Materials, Packages, Crates, Radio");
  12931. }
  12932. return 1;
  12933. }
  12934. CMD:setfightstyle(playerid, params[])
  12935. {
  12936. if(PlayerInfo[playerid][pAdmin] >= 4)
  12937. {
  12938. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  12939. {
  12940. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  12941. return 1;
  12942. }
  12943. new string[128], giveplayerid, fightstyle;
  12944. if(sscanf(params, "ud", giveplayerid, fightstyle))
  12945. {
  12946. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setfightstyle [playerid/partofname] [fightstyle]");
  12947. SendClientMessage(playerid, COLOR_GRAD2, "Available fighting styles: 4, 5, 6, 7, 15, 26.");
  12948. return 1;
  12949. }
  12950. if(fightstyle > 3 && fightstyle < 8 || fightstyle == 15 || fightstyle == 26)
  12951. {
  12952. format(string, sizeof(string), " Your fighting style has been changed to %d.", fightstyle);
  12953. SendClientMessage(giveplayerid,COLOR_YELLOW,string);
  12954. format(string, sizeof(string), " You have changed %s's fighting style to %d.", GetPlayerNameEx(giveplayerid), fightstyle);
  12955. SendClientMessage(playerid,COLOR_YELLOW,string);
  12956. SetPlayerFightingStyle(giveplayerid, fightstyle);
  12957. PlayerInfo[playerid][pFightStyle] = fightstyle;
  12958. return 1;
  12959. }
  12960. }
  12961. else
  12962. {
  12963. SendClientMessage(playerid, COLOR_GRAD2, "You're not authorized to use that command!");
  12964. }
  12965. return 1;
  12966. }
  12967. CMD:hospital(playerid, params[])
  12968. {
  12969. if(PlayerInfo[playerid][pAdmin] >= 2)
  12970. {
  12971. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  12972. {
  12973. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  12974. return 1;
  12975. }
  12976. if(GetPVarInt(playerid, "Hospital") > 0)
  12977. {
  12978. DeletePVar(playerid, "HospitalTimer");
  12979. HospitalSpawn(playerid);
  12980. DeletePVar(playerid, "Hospital");
  12981. }
  12982. else
  12983. {
  12984. SendClientMessage(playerid, COLOR_GRAD2, "You're not in the hospital!");
  12985. }
  12986. }
  12987. return 1;
  12988. }
  12989. CMD:payhelp(playerid, params[])
  12990. {
  12991. ShowPlayerDialogEx(playerid,INFO_DIALOG,DIALOG_STYLE_MSGBOX,"Paycheck information","Paychecks come in every hour and require you to sign them with /signcheck.\n\nThe longer you play in the hour, the bigger your paycheck.\n\nThe higher your level, the bigger your paycheck.\n\nPaychecks go directly to your bank account rather than your on-hand cash.\n\nIf you miss a paycheck, then the missed amount will be added to your next paycheck.","Close","");
  12992. return 1;
  12993. }
  12994. CMD:taxhelp(playerid, params[])
  12995. {
  12996. ShowPlayerDialogEx(playerid,INFO_DIALOG,DIALOG_STYLE_MSGBOX,"Income tax information","Paychecks have a progressive income tax as opposed to a flat tax.\n\nThis basically means that the higher your paycheck is, the higher the percentage of income tax.\n\nThe percentages are as following:\n\nAnything below $1250 - 10% taxation\n$1250 to $1999 - 15% taxation\n$2000 to $2499 - 25% taxation\n$2500 to $3499 - 30% taxation\nAnything above $3500 - 35% taxation","Close","");
  12997. return 1;
  12998. }
  12999. CMD:refhelp(playerid, params[])
  13000. {
  13001. ShowPlayerDialogEx(playerid,12768,DIALOG_STYLE_MSGBOX,"Referral system information", "The referral system allows players to refer their friends to the server and receive a reward for doing so.\n\nIn the registration screen the new player can enter a player's name if they were referred by a friend.\n\nIf the new player reaches 8 playing hours then the person who referred them will receive 1 referral token.","Next","");
  13002. return 1;
  13003. }
  13004. CMD:destroycheckpoint(playerid, params[]) {
  13005. return cmd_killcheckpoint(playerid, params);
  13006. }
  13007. CMD:kcp(playerid, params[]) return cmd_killcheckpoint(playerid, params);
  13008. CMD:killcheckpoint(playerid, params[]) {
  13009. TaxiAccepted[playerid] = 999;
  13010. BusAccepted[playerid] = 999;
  13011. MedicAccepted[playerid] = 999;
  13012. DeletePVar(playerid, "Trashup");
  13013. MechanicCallTime[playerid] = 0;
  13014. DeletePVar(playerid, "TrackCar");
  13015. DeletePVar(playerid, "CrateDeliver");
  13016. DeletePVar(playerid, "Packages");
  13017. EMSAccepted[playerid] = 999;
  13018. DisablePlayerCheckpoint(playerid);
  13019. gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
  13020. TaxiCallTime[playerid] = 0;
  13021. BusCallTime[playerid] = 0;
  13022. EMSCallTime[playerid] = 0;
  13023. DeletePVar(playerid, "Pizza");
  13024. CP[playerid] = 0;
  13025. FindingJob[playerid] = 0;
  13026. FindingDealership[playerid] = 0;
  13027. SendClientMessage(playerid,COLOR_WHITE,"All current checkpoints, trackers and accepted fares have been reset.");
  13028. return 1;
  13029. }
  13030. CMD:finddealership(playerid, params[]) {
  13031. if(CheckPointCheck(playerid))
  13032. return SendClientMessage(playerid, COLOR_WHITE, "Please ensure that your current checkpoint is destroyed first (you either have material packages, or another existing checkpoint).");
  13033. new
  13034. szDealershipName[128],
  13035. szMessage[1024];
  13036. for(new d = 0; d < sizeof(CarDealershipInfo); d++) {
  13037. if(CarDealershipInfo[d][cdEntranceX] != 0.0 && CarDealershipInfo[d][cdEntranceY] != 0.0) {
  13038. if(CarDealershipInfo[d][cdOwned]) {
  13039. format(szDealershipName, sizeof(szDealershipName), "%s\n", CarDealershipInfo[d][cdMessage]);
  13040. strcat(szMessage, szDealershipName, sizeof(szMessage));
  13041. }
  13042. }
  13043. }
  13044. if(strlen(szMessage) == 0)
  13045. {
  13046. strcat(szMessage, "No dealership were found.", sizeof(szMessage));
  13047. }
  13048. ShowPlayerDialogEx(playerid, FINDDEALERSHIPMENU, DIALOG_STYLE_LIST, "Sleepless Roleplay - Dealerships", szMessage, "Select", "Cancel");
  13049. return 1;
  13050. }
  13051. CMD:findcartuning(playerid, params[])
  13052. {
  13053. if(CheckPointCheck(playerid))
  13054. return SendClientMessage(playerid, COLOR_WHITE, "Please ensure that your current checkpoint is destroyed first (you either have material packages, or another existing checkpoint).");
  13055. ShowPlayerDialogEx(playerid, FINDCARTUNINGMENU, DIALOG_STYLE_LIST, "Select a vehicle tuning garage", "TransFender - San Fierro\nWheel Arch Angels - San Fierro\nLowRider Tuning Garage - Los Santos\nTransFender - Los Santos\nTransFender - Las Venturas", "Select", "Cancel");
  13056. return 1;
  13057. }
  13058. CMD:help(playerid, params[])
  13059. {
  13060. if(PlayerInfo[playerid][pLevel] <= 3)
  13061. {
  13062. SendClientMessage(playerid, COLOR_WHITE,"*** HELP *** /report (/newb)ie /tognewbie /reportdm");
  13063. }
  13064. SendClientMessage(playerid, COLOR_WHITE,"*** ACCOUNT *** /rules /(net)stats /inventory /myguns /buylevel /upgrade /changepass /killcheckpoint /resetupgrades(10k)");
  13065. SendClientMessage(playerid, COLOR_WHITE,"*** CHAT *** /w(hisper) /o(oc) /s(hout) /l(ow) /b /ad(vertise) /f(amily) /me /toggc /togfam /togwhisper /tourhouse");
  13066. SendClientMessage(playerid, COLOR_WHITE,"*** BANK *** /balance /withdraw /deposit /wiretransfer /abalance /awithdraw /adeposit /awiretransfer");
  13067. SendClientMessage(playerid, COLOR_WHITE,"*** GENERAL *** /pay /charity /time /buy /id /music /showlicenses /clothes /buyclothes /tognews");
  13068. SendClientMessage(playerid, COLOR_WHITE,"*** GENERAL *** /skill /stopani /do /me /kill /droplicense /calculate /car /families /requesthelp");
  13069. SendClientMessage(playerid, COLOR_WHITE,"*** GENERAL *** /fixmyvw /cancel /accept /eject /usepot /usecrack /contract /service /checkweed /information");
  13070. SendClientMessage(playerid, COLOR_WHITE,"*** OTHER *** /bizhelp /cellphonehelp /carhelp /househelp /toyhelp /renthelp /jobhelp");
  13071. SendClientMessage(playerid, COLOR_WHITE,"*** OTHER *** /samphelp /backpackhelp /crewhelp /leaderhelp /animhelp /fishhelp /insurehelp");
  13072. //SendClientMessage(playerid, COLOR_LIGHTBLUE,"*** MINIGAME/HUNGERGAME *** /joingame /joingame2 /claimgift /restartgame /getwep /survivors /exitgame");
  13073. switch(PlayerInfo[playerid][pJob])
  13074. {
  13075. case 1: SendClientMessage(playerid,COLOR_WHITE,"*** JOB *** /find");
  13076. case 2: SendClientMessage(playerid,COLOR_WHITE,"*** JOB *** /lawyerduty /free /defend /wanted");
  13077. case 3: SendClientMessage(playerid,COLOR_WHITE,"*** JOB *** /sex");
  13078. case 4: SendClientMessage(playerid,COLOR_WHITE,"*** JOB *** /sellpot /sellcrack /getcrack /getseeds /plantseeds /pickweed /checkweed");
  13079. case 5: SendClientMessage(playerid,COLOR_WHITE,"*** JOB *** /dropcar");
  13080. case 7: SendClientMessage(playerid,COLOR_WHITE,"*** JOB *** /fix /nos /hyd /repair /mechduty");
  13081. case 8: SendClientMessage(playerid,COLOR_WHITE,"*** JOB *** /guard /frisk");
  13082. case 9: SendClientMessage(playerid,COLOR_WHITE,"*** JOB *** /getmats /sellmats /sellgun");
  13083. //case 10: SendClientMessage(playerid,COLOR_WHITE,"*** JOB *** /sellnewcar");
  13084. case 12: SendClientMessage(playerid,COLOR_WHITE,"*** JOB *** /fight");
  13085. case 14: SendClientMessage(playerid,COLOR_WHITE,"*** JOB *** /getcrate");
  13086. //case 15: SendClientMessage(playerid,COLOR_WHITE,"*** JOB *** /papers /bring /deliver");
  13087. case 17: SendClientMessage(playerid,COLOR_WHITE,"*** JOB *** /fare");
  13088. case 18: SendClientMessage(playerid,COLOR_WHITE,"*** JOB *** /getmats /sellmats /craft");
  13089. case 19: SendClientMessage(playerid,COLOR_WHITE,"*** JOB *** /selldrink");
  13090. case 20: SendClientMessage(playerid,COLOR_WHITE,"*** JOB *** /loadtruck /checktruck /hijacktruck");
  13091. case 21: SendClientMessage(playerid,COLOR_WHITE,"*** JOB *** /getpizza");
  13092. }
  13093. switch(PlayerInfo[playerid][pJob2])
  13094. {
  13095. case 1: SendClientMessage(playerid,COLOR_WHITE,"*** JOB *** /find");
  13096. case 2: SendClientMessage(playerid,COLOR_WHITE,"*** JOB *** /lawyerduty /free /defend /wanted");
  13097. case 3: SendClientMessage(playerid,COLOR_WHITE,"*** JOB *** /sex");
  13098. case 4: SendClientMessage(playerid,COLOR_WHITE,"*** JOB *** /sellpot /sellcrack /getcrack /getseeds /plantseeds /pickweed /checkweed");
  13099. case 5: SendClientMessage(playerid,COLOR_WHITE,"*** JOB *** /dropcar");
  13100. case 7: SendClientMessage(playerid,COLOR_WHITE,"*** JOB *** /fix /nos /hyd /repair /refill /mechduty");
  13101. case 8: SendClientMessage(playerid,COLOR_WHITE,"*** JOB *** /guard /frisk");
  13102. case 9: SendClientMessage(playerid,COLOR_WHITE,"*** JOB *** /getmats /sellmats /sellgun");
  13103. //case 10: SendClientMessage(playerid,COLOR_WHITE,"*** JOB *** /sellnewcar");
  13104. case 12: SendClientMessage(playerid,COLOR_WHITE,"*** JOB *** /fight");
  13105. case 14: SendClientMessage(playerid,COLOR_WHITE,"*** JOB *** /getcrate");
  13106. //case 15: SendClientMessage(playerid,COLOR_WHITE,"*** JOB *** /papers /bring /deliver");
  13107. case 17: SendClientMessage(playerid,COLOR_WHITE,"*** JOB *** /fare");
  13108. case 18: SendClientMessage(playerid,COLOR_WHITE,"*** JOB *** /getmats /sellmats /craft");
  13109. case 19: SendClientMessage(playerid,COLOR_WHITE,"*** JOB *** /selldrink");
  13110. case 20: SendClientMessage(playerid,COLOR_WHITE,"*** JOB *** /loadtruck /checktruck /hijacktruck");
  13111. case 21: SendClientMessage(playerid,COLOR_WHITE,"*** JOB *** /getpizza");
  13112. }
  13113. switch(PlayerInfo[playerid][pFaction]) {
  13114. case 1: {
  13115. SendClientMessage(playerid, TEAM_BLUE_COLOR, "*** LSPD *** (/r)adio (/d)epartments (/m)egaphone (/su)spect /mdc /detain /arrest /wanted /cuff /tazer");
  13116. SendClientMessage(playerid, TEAM_BLUE_COLOR, "*** LSPD *** /frisk /take /ticket (/gov)ernment /ram /invite /giverank /deployspikes /destroyspikes /spikestrips /badge");
  13117. SendClientMessage(playerid, TEAM_BLUE_COLOR, "*** LSPD *** /deploycade /destroycade /revokedl /vcheck /vmdc /vticket /tow /untow /impound /dmvrelease /lspddiv");
  13118. SendClientMessage(playerid, TEAM_BLUE_COLOR, "*** LSPD *** /searchcar /checktruck /radargun /backup /destroyplant /warrantarrest");
  13119. }
  13120. case 2: {
  13121. SendClientMessage(playerid, TEAM_FBI_COLOR, "*** FBI *** (/r)adio (/d)epartments (/m)egaphone (/su)spect /locker /mdc /detain /arrest /wanted /cuff /tazer");
  13122. SendClientMessage(playerid, TEAM_FBI_COLOR, "*** FBI *** /frisk /take /ticket (/gov)ernment /ram /invite /giverank /deployspikes /destroyspikes /spikestrips /badge");
  13123. SendClientMessage(playerid, TEAM_FBI_COLOR, "*** FBI *** /deploycade /destroycade /revokedl /vcheck /vmdc /vticket /tow /untow /impound /dmvrelease /fbidiv");
  13124. SendClientMessage(playerid, TEAM_FBI_COLOR, "*** FBI *** /searchcar /checktruck /radargun /backup /destroyplant /warrantarrest");
  13125. }
  13126. case 3: {
  13127. SendClientMessage(playerid, TEAM_MED_COLOR, "*** LSFMD *** (/r)adio (/d)epartments (/m)egaphone /heal /invite /giverank /lsfmd /revokeboatdl /lsfmddiv");
  13128. SendClientMessage(playerid, TEAM_MED_COLOR, "*** LSFMD *** /getpt /movept /loadpt /deliverpt /destroyplant /fmdc /triage /badge /backup /respawnfreefactionvehs");
  13129. }
  13130. case 4: {
  13131. SendClientMessage(playerid, COLOR_PINK, "*** HITMAN AGENCY *** (/f)amily /contracts /givemehit /order /ranks /profile /hbadge");
  13132. SendClientMessage(playerid, COLOR_PINK, "*** HITMAN AGENCY *** /plantbomb /plantcarbomb /pickupbomb /invite /giverank /showmehq");
  13133. if(PlayerInfo[playerid][pRank] >= 5 || PlayerInfo[playerid][pLeader] >= 1)
  13134. {
  13135. SCM(playerid, COLOR_PINK, "*** LEADER *** /hmole");
  13136. }
  13137. }
  13138. case 5: {
  13139. SendClientMessage(playerid, COLOR_LIGHTBLUE, "*** GOVERNMENT *** (/r)adio (/d)epartments /govl /govdiv /gov");
  13140. if(PlayerInfo[playerid][pDivision] == 5) {
  13141. SendClientMessage(playerid, COLOR_LIGHTBLUE, "*** GOVERNMENT *** (/r)adio (/d)epartments (/m)egaphone (/su)spect /mdc /detain /arrest /wanted /cuff /tazer /showbadge");
  13142. }
  13143. }
  13144. case 9: {
  13145. SendClientMessage(playerid, TEAM_NEWS_COLOR, "*** SA News *** /nr /badge (/r)adio");
  13146. if(PlayerInfo[playerid][pRank] >= 4)
  13147. SendClientMessage(playerid, TEAM_NEWS_COLOR, "*** SA News *** /stopnews /startnews");
  13148. if(PlayerInfo[playerid][pLeader] == 9)
  13149. SendClientMessage(playerid, TEAM_NEWS_COLOR, "*** SA News *** /giverank /uninvite /ouninvite");
  13150. }
  13151. case 10: {
  13152. SendClientMessage(playerid, TEAM_ARES_COLOR, "*** ARES *** (/r)adio (/d)epartments (/m)egaphone (/su)spect /locker /mdc /detain /arrest /wanted /cuff /tazer");
  13153. SendClientMessage(playerid, TEAM_ARES_COLOR, "*** ARES *** /frisk /take /ticket (/gov)ernment /ram /invite /giverank /deployspikes /destroyspikes /spikestrips /badge");
  13154. SendClientMessage(playerid, TEAM_ARES_COLOR, "*** ARES *** /deploycade /destroycade /revokedl /vcheck /vmdc /vticket /tow /untow /impound /dmvrelease");
  13155. SendClientMessage(playerid, TEAM_ARES_COLOR, "*** ARES *** /searchcar /checktruck /radargun /backup /destroyplant /warrantarrest");
  13156. }
  13157. case 11: {
  13158. SendClientMessage(playerid, COLOR_ORANGE, "*** SASD *** (/r)adio (/d)epartments (/m)egaphone (/su)spect /locker /mdc /detain /arrest /wanted /cuff /tazer");
  13159. SendClientMessage(playerid, COLOR_ORANGE, "*** SASD *** /frisk /take /ticket (/gov)ernment /ram /invite /giverank /deployspikes /destroyspikes /spikestrips /badge");
  13160. SendClientMessage(playerid, COLOR_ORANGE, "*** SASD *** /deploycade /destroycade /revokedl /vcheck /vmdc /vticket /tow /untow /impound /dmvrelease");
  13161. SendClientMessage(playerid, COLOR_ORANGE, "*** SASD *** /searchcar /checktruck /radargun /backup /destroyplant /warrantarrest");
  13162. }
  13163. }
  13164. if(PlayerInfo[playerid][pGang] != 255) {
  13165. if(PlayerInfo[playerid][pRank] < 5) {
  13166. SendClientMessage(playerid, COLOR_WHITE, "*** FAMILY *** (/f)amily /clothes /safehelp");
  13167. } else {
  13168. SendClientMessage(playerid, COLOR_WHITE, "*** FAMILY *** (/f)amily /clothes /safehelp /fdeposit /fwithdraw /fbalance /capture /adjust");
  13169. SendClientMessage(playerid, COLOR_WHITE, "*** FAMILY *** /adjustrank /adjustrankname /gpark /gvlock /gbuylock");
  13170. }
  13171. }
  13172. if(PlayerInfo[playerid][pAdmin] >= 1)
  13173. SendClientMessage(playerid, COLOR_REALREDS, "*** ADMIN *** (/a)dmin (/ah)elp");
  13174. if(PlayerInfo[playerid][pHelper] >= 1)
  13175. SendClientMessage(playerid, COLOR_LIGHTBLUE, "*** HELPER *** /newb /helpers");
  13176. if(PlayerInfo[playerid][pHelper] >= 2)
  13177. SendClientMessage(playerid, COLOR_LIGHTBLUE, "*** HELPER *** /togc /c /accepthelp /helprequests /quithelp /nrn");
  13178. if(PlayerInfo[playerid][pDonator] >= 1)
  13179. SendClientMessage(playerid, COLOR_LIGHTSLATEGRAY, "*** DONATOR *** /showmemclub /showmebm /neon /changegender /changeage /changeplates /changeph ");
  13180. if(PlayerInfo[playerid][pDonator] >= 3)
  13181. SendClientMessage(playerid, COLOR_LIGHTSLATEGRAY, "*** DONATOR (DIAMOND) *** /spawnatmc /placebb /pickupbb /blackmarket(/bm) /donatorlocker(/dlocker) /togdcolor /dc");
  13182. return 1;
  13183. }
  13184. CMD:id(playerid, params[])
  13185. {
  13186. new string[128], giveplayerid, color;
  13187. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /id [playerid/partofname]");
  13188. if(IsPlayerConnected(giveplayerid))
  13189. {
  13190. if((color = GetPlayerColor(giveplayerid)) == 0xFFFFFF00) {
  13191. color = 0xFFFFFFFF;
  13192. }
  13193. format(string, sizeof(string), "ID: %d | Name: {%06x}%s{FFFFFF} | Level: %d | Ping: %d", giveplayerid, color >>> 8, GetPlayerNameEx(giveplayerid), PlayerInfo[giveplayerid][pLevel], GetPlayerPing(giveplayerid));
  13194. SendClientMessage(playerid, COLOR_WHITE, string);
  13195. }
  13196. else
  13197. {
  13198. SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  13199. }
  13200. return 1;
  13201. }
  13202. /*stock RefundPlayer(playerid)
  13203. {
  13204. GivePlayerCash(playerid, 5000);
  13205. PlayerInfo[playerid][pLevel] = 0;
  13206. PlayerInfo[playerid][pConnectTime] = 2;
  13207. PlayerInfo[playerid][pDonator] = 0;
  13208. return 1;
  13209. }*/
  13210. stock RefundPlayer(playerid)
  13211. {
  13212. GivePlayerCash(playerid, 5000);
  13213. PlayerInfo[playerid][pLevel] = 0;
  13214. PlayerInfo[playerid][pMats] = 5000;
  13215. PlayerInfo[playerid][pConnectTime] = 2;
  13216. PlayerInfo[playerid][pDonator] = 0;
  13217. //ShowPlayerDialogEx(playerid, DIALOG_VEHICLE_REFUND, DIALOG_STYLE_INPUT, "{FFA500} Sleepless Roleplay - Vehicle Refund", "{FFFFFF}Please put the specific Vehicle ID to get free car(Not the restricted ones)", "Ok", "");
  13218. SendClientMessage(playerid, COLOR_PINK, "Mikko: Thank you for joining, heres my gift");
  13219. return 1;
  13220. }
  13221. CMD:skiptut(playerid, params[])
  13222. {
  13223. if(PlayerInfo[playerid][pAdmin] < 4)
  13224. {
  13225. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  13226. return 1;
  13227. }
  13228. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  13229. {
  13230. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  13231. return 1;
  13232. }
  13233. new giveplayerid;
  13234. if(sscanf(params, "u", giveplayerid))
  13235. return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /skiptut [playerid/partofname]");
  13236. if(IsPlayerConnected(giveplayerid))
  13237. {
  13238. for(new t = 0; t < 54; t++)
  13239. {
  13240. TextDrawHideForPlayer(giveplayerid, TutTxtDraw[t]);
  13241. }
  13242. SetPlayerInterior(giveplayerid, 0);
  13243. SetPlayerVirtualWorld(giveplayerid, 0);
  13244. TogglePlayerControllable(giveplayerid, 1);
  13245. SetPlayerPos(giveplayerid, 1773.459350, -1942.273437, 13.569922);
  13246. SetPlayerFacingAngle(giveplayerid, 329.64);
  13247. SetCameraBehindPlayer(giveplayerid);
  13248. InsideTut[giveplayerid] = 0;
  13249. DeletePVar(giveplayerid, "MedicBill");
  13250. SetPlayerColor(giveplayerid,TEAM_HIT_COLOR);
  13251. PlayerInfo[giveplayerid][pTut] = 1;
  13252. PlayerInfo[giveplayerid][pSex] = 1;
  13253. PlayerInfo[giveplayerid][pAge] = 25;
  13254. PlayerInfo[giveplayerid][pSkin] = 299;
  13255. SetPlayerSkin(giveplayerid, 299);
  13256. PlayerInfo[playerid][pFormer] = 0;
  13257. PlayerInfo[playerid][pOS] = 0;
  13258. PlayerInfo[playerid][pVintage] = 0;
  13259. PlayerInfo[playerid][pFamed] = 0;
  13260. ClearChatbox(giveplayerid);
  13261. new string[128];
  13262. format(string, sizeof(string), "Welcome to Sleepless Roleplay, %s.", GetPlayerNameEx(giveplayerid));
  13263. SendClientMessage(giveplayerid, COLOR_NEWS, string);
  13264. format(string, sizeof(string), "~w~Welcome~n~~y~%s", GetPlayerNameEx(giveplayerid));
  13265. GameTextForPlayer(giveplayerid, string, 5000, 1);
  13266. SendClientMessage(giveplayerid, COLOR_YELLOW, "If you have any further questions, please use /newb. You can also /report if you see any rule-breakers.");
  13267. format(string, sizeof(string), "> {FFA500} %s {FFFF00} has just spawned on Sleepless Roleplay for the first time!", GetPlayerNameEx(giveplayerid));
  13268. foreach(Player, i)
  13269. {
  13270. if(PlayerInfo[i][pAdmin] >= 1 || PlayerInfo[i][pHelper] >= 1 || PlayerInfo[i][pLevel] >= 1)
  13271. {
  13272. SendClientMessageEx(i, COLOR_YELLOW, string);
  13273. }
  13274. }
  13275. RefundPlayer(giveplayerid);
  13276. WelcomePlayer(giveplayerid);
  13277. ShowPlayerDialogEx(giveplayerid, DIALOG_NEWBWELCOME, DIALOG_STYLE_MSGBOX, "{FFFFFF}Welcome to {FFA500}Sleepless Roleplay", "Would you like one of our Senior Helpers to give you a tour of the server?", "Yes", "No");
  13278. new motdstring[128];
  13279. format(motdstring, sizeof(motdstring), "News: %s", GlobalMOTD);
  13280. SendClientMessage(giveplayerid, COLOR_WHITE, motdstring);
  13281. DeletePVar(giveplayerid, "IsFrozen");
  13282. TutorialProgress[giveplayerid] = 0;
  13283. }
  13284. return 1;
  13285. }
  13286. CMD:myangle(playerid, params[])
  13287. {
  13288. new myString[128], Float:a;
  13289. GetPlayerFacingAngle(playerid, a);
  13290. format(myString, sizeof(myString), "Your angle is: %0.2f", a);
  13291. SendClientMessage(playerid, 0xFFFFFFFF, myString);
  13292. new Float:x, Float:y, Float:z;
  13293. GetPlayerPos(playerid, x, y, z);
  13294. format(myString, sizeof(myString), "Your position is: %f, %f, %f", x, y, z);
  13295. SendClientMessage(playerid, 0xFFFFFFFF, myString);
  13296. new playername[MAX_PLAYER_NAME];
  13297. GetPlayerName(playerid, playername, sizeof(playername));
  13298. if(strcmp(playername, "Howard", true) == 0 && PlayerInfo[playerid][pAdmin] == 6) SendClientMessage(playerid, COLOR_WHITE, "Last updated 26 April 2012, reason: Patched a trucker exploit & Removed tombstone joke");
  13299. return 1;
  13300. }
  13301. CMD:serverstats(playerid, params[]) {
  13302. new
  13303. string[128],
  13304. iVehCount,
  13305. x;
  13306. while(x < MAX_VEHICLES)
  13307. if(GetVehicleModel(++x))
  13308. ++iVehCount;
  13309. format(string,sizeof(string),"Server Statistics - Sleepless Roleplay %s (recorded since the 16th of February, 2019).",SERVER_VERSION);
  13310. SendClientMessage(playerid, COLOR_NEWS, string);
  13311. format(string, sizeof(string), "* Objects: %d | Pickups: %d | Map icons: %d | 3D text labels: %d | Max houses: %d",CountDynamicObjects(),CountDynamicPickups(),CountDynamicMapIcons(),CountDynamic3DTextLabels(), MAX_HOUSES);
  13312. SendClientMessage(playerid, COLOR_PINK, string);
  13313. format(string, sizeof(string), "* Logins: %d | Connections: %d | Registrations: %d | Hackers autobanned: %d | Uptime: %d hours",TotalLogin, TotalConnect, TotalRegister, TotalAutoBan, TotalUptime);
  13314. SendClientMessage(playerid, COLOR_PINK, string);
  13315. format(string, sizeof(string), "* Players connected: %d | Peak player count: %d (%d/%d/%d) | Player vehicles loaded: %d | Total vehicles: %d",Iter_Count(Player),MaxPlayersConnected,MPDay,MPMonth,MPYear,PlayerCars, iVehCount);
  13316. SendClientMessage(playerid, COLOR_PINK, string);
  13317. return 1;
  13318. }
  13319. CMD:fixmyvw(playerid, params[])
  13320. {
  13321. if(GetPVarInt(playerid, "PBM") > 0)
  13322. return SendClientMessage(playerid, COLOR_WHITE, "You're not able to do this while in a paintball game.");
  13323. if(FixMyVwFloats[playerid][0] != 0)
  13324. {
  13325. SendClientMessage (playerid, COLOR_GREY, "You're already attempting to fix your virtual world!");
  13326. return 1;
  13327. }
  13328. if(PlayerInfo[playerid][pInt] != 0)
  13329. {
  13330. SendClientMessage (playerid, COLOR_GREY, "You're on the interior you can't to this command.");
  13331. return 1;
  13332. }
  13333. else
  13334. {
  13335. GetPlayerPos(playerid, FixMyVwFloats[playerid][0], FixMyVwFloats[playerid][1], FixMyVwFloats[playerid][2]);
  13336. SetTimerEx("FixMyVwTimer", 5000, 0, "d", playerid);
  13337. SendClientMessage (playerid, COLOR_YELLOW, "Do not move for 5 seconds to have your virtual will fix!");
  13338. }
  13339. return 1;
  13340. }
  13341. forward FixMyVwTimer(playerid);
  13342. public FixMyVwTimer(playerid)
  13343. {
  13344. new Float:posX, Float:posY, Float:posZ;
  13345. GetPlayerPos(playerid, posX, posY, posZ);
  13346. if(FixMyVwFloats[playerid][0] != posX || FixMyVwFloats[playerid][1] != posY || FixMyVwFloats[playerid][2] != posZ)
  13347. {
  13348. SendClientMessage (playerid, COLOR_YELLOW, "Failed to virtual fix because you moved!");
  13349. for(new i = 0; i < 3; i++)
  13350. {
  13351. FixMyVwFloats[playerid][i] = 0;
  13352. }
  13353. return 1;
  13354. }
  13355. SendClientMessage (playerid, COLOR_YELLOW, "Your virtual world has been fixed!");
  13356. SetPlayerVirtualWorld(playerid, 0);
  13357. PlayerInfo[playerid][pVW] = 0;
  13358. SetPlayerInterior(playerid, 0);
  13359. for(new i = 0; i < 3; i++)
  13360. {
  13361. FixMyVwFloats[playerid][i] = 0;
  13362. }
  13363. return 1;
  13364. }
  13365. CMD:updates(playerid, params[])
  13366. {
  13367. SendClientMessage(playerid, COLOR_NEWS, "______________________________________________");
  13368. SendClientMessage(playerid, COLOR_NEWS, "Updates as of "SERVER_VERSION"");
  13369. SendClientMessage(playerid, COLOR_WHITE, "* Donation system implemented. More information available on the forum (/information).");
  13370. SendClientMessage(playerid, COLOR_WHITE, "* Helper system implemented. More information available on the forum (/information).");
  13371. SendClientMessage(playerid, COLOR_WHITE, "* All broken radio stations overhauled (some fixed, some replaced with new ones).");
  13372. SendClientMessage(playerid, COLOR_WHITE, "* Some division adjustments for factions.");
  13373. SendClientMessage(playerid, COLOR_WHITE, "* A feature where players who alt tab for a long time become no longer visible to normal players until they come back.");
  13374. SendClientMessage(playerid, COLOR_WHITE, "* Various bug fixes, as mentioned in /fixes.");
  13375. SendClientMessage(playerid, COLOR_WHITE, "* Added 3 Event in Paintball v.2 which is Blast DM Arena , Death DM Arena , Blast TDM Arena");
  13376. SendClientMessage(playerid, COLOR_WHITE, "* Added /spam for massive spam.");
  13377. SendClientMessage(playerid, COLOR_WHITE, "* Added /adminrules");
  13378. SendClientMessage(playerid, COLOR_WHITE, "* Added /createfire , /announcefire /destroyfire");
  13379. SendClientMessage(playerid, COLOR_WHITE, "* Added /god");
  13380. SendClientMessage(playerid, COLOR_WHITE, "* Added Blood HP Blink");
  13381. SendClientMessage(playerid, COLOR_WHITE, "* Added New Interior of San Andreas Sheriff Department Faction.");
  13382. SendClientMessage(playerid, COLOR_NEWS, "______________________________________________");
  13383. return 1;
  13384. }
  13385. CMD:fixes(playerid, params[])
  13386. {
  13387. SendClientMessage(playerid, COLOR_NEWS, "______________________________________________");
  13388. SendClientMessage(playerid, COLOR_NEWS, "Bug fixes as of "SERVER_VERSION"");
  13389. SendClientMessage(playerid, COLOR_WHITE, "* Fixed an issue with audio streams sending to the wrong players.");
  13390. SendClientMessage(playerid, COLOR_WHITE, "* Fixed a bug with the anti-cheat against armor hacks.");
  13391. SendClientMessage(playerid, COLOR_WHITE, "* Fixed a mistake in /refshop.");
  13392. SendClientMessage(playerid, COLOR_WHITE, "* Fixed the MainMenuTextDraw.");
  13393. SendClientMessage(playerid, COLOR_WHITE, "* Fixed the Color gangs which can save now.");
  13394. SendClientMessage(playerid, COLOR_WHITE, "* Fixed an issue in /factions.");
  13395. SendClientMessage(playerid, COLOR_WHITE, "* Fixed an issue in /gangs");
  13396. SendClientMessage(playerid, COLOR_NEWS, "______________________________________________");
  13397. return 1;
  13398. }
  13399. CMD:fixr(playerid, params[])
  13400. {
  13401. PlayerFixRadio(playerid);
  13402. return 1;
  13403. }
  13404. CMD:time(playerid, params[])
  13405. {
  13406. new string[128];
  13407. new mtext[20];
  13408. new year, month,day;
  13409. getdate(year, month, day);
  13410. if(month == 1) { mtext = "January"; }
  13411. else if(month == 2) { mtext = "February"; }
  13412. else if(month == 3) { mtext = "March"; }
  13413. else if(month == 4) { mtext = "April"; }
  13414. else if(month == 5) { mtext = "May"; }
  13415. else if(month == 6) { mtext = "June"; }
  13416. else if(month == 7) { mtext = "July"; }
  13417. else if(month == 8) { mtext = "August"; }
  13418. else if(month == 9) { mtext = "September"; }
  13419. else if(month == 10) { mtext = "October"; }
  13420. else if(month == 11) { mtext = "November"; }
  13421. else if(month == 12) { mtext = "December"; }
  13422. new hour,minuite,second;
  13423. gettime(hour,minuite,second);
  13424. FixHour(hour);
  13425. hour = shifthour;
  13426. if(minuite < 10)
  13427. {
  13428. if(PlayerInfo[playerid][pJailTime] > 0)
  13429. {
  13430. format(string, sizeof(string), "~y~%d %s~n~~g~|~w~%d:0%d~g~|~n~~w~Jail Time Left: %d sec", day, mtext, hour, minuite, PlayerInfo[playerid][pJailTime]);
  13431. }
  13432. else
  13433. {
  13434. format(string, sizeof(string), "~y~%d %s~n~~g~|~w~%d:0%d~g~|", day, mtext, hour, minuite);
  13435. }
  13436. }
  13437. else
  13438. {
  13439. if(PlayerInfo[playerid][pJailTime] > 0)
  13440. {
  13441. format(string, sizeof(string), "~y~%d %s~n~~g~|~w~%d:%d~g~|~n~~w~Jail Time Left: %d sec", day, mtext, hour, minuite, PlayerInfo[playerid][pJailTime]);
  13442. }
  13443. else
  13444. {
  13445. format(string, sizeof(string), "~y~%d %s~n~~g~|~w~%d:%d~g~|", day, mtext, hour, minuite);
  13446. }
  13447. }
  13448. GameTextForPlayer(playerid, string, 5000, 1);
  13449. return 1;
  13450. }
  13451. CMD:flipcoin(playerid, params[])
  13452. {
  13453. if(PlayerInfo[playerid][pCash] < 1)
  13454. return SendClientMessage(playerid, COLOR_GREY,"You do not have any coins on you.");
  13455. new
  13456. szMessage[124];
  13457. switch(random(2)) {
  13458. case 0: format(szMessage, sizeof(szMessage), "* %s flips a coin that lands on heads.", GetPlayerNameEx(playerid));
  13459. case 1: format(szMessage, sizeof(szMessage), "* %s flips a coin that lands on tails.", GetPlayerNameEx(playerid));
  13460. }
  13461. return ProxDetector(5.0, playerid, szMessage, COLOR_NG,COLOR_NG,COLOR_NG,COLOR_NG,COLOR_NG);
  13462. }
  13463. CMD:rules(playerid, params[])
  13464. {
  13465. SendClientMessage(playerid, COLOR_PINK,"*** Server Rules ***");
  13466. SendClientMessage(playerid, COLOR_WHITE,"Deathmatching (DM) - Killing a player without a valid in-character reason is not allowed.");
  13467. SendClientMessage(playerid, COLOR_WHITE,"Revenge Killing (RK) - Killing a player for killing you is not allowed. After hospital, you lose all memory of the last 30 minutes.");
  13468. SendClientMessage(playerid, COLOR_WHITE,"Non-RP Car Ramming - Do not car ram people without a valid reason, or repeatedly car ram people.");
  13469. SendClientMessage(playerid, COLOR_WHITE,"Gun Discharge Exploits - Do not crack shoot (CS), C-Bug, C-Slide, quickshoot, quickswap.");
  13470. SendClientMessage(playerid, COLOR_WHITE,"Powergaming/Metagaming (PG/MG) - Impossible roleplay and mixing IC & OOC is not allowed.");
  13471. SendClientMessage(playerid, COLOR_WHITE,"Logging to Avoid - Logging or Tabbing off the game to avoid roleplay, death or arrest is not allowed.");
  13472. SendClientMessage(playerid, COLOR_WHITE,"Exploiting - Do not exploit ninjajacking, planebombing, animations, etc.");
  13473. SendClientMessage(playerid, COLOR_WHITE,"Hacking/Cheats - Any change to your game to give any advantage is not allowed.");
  13474. SendClientMessage(playerid, COLOR_PINK,"*** This is a short version of our server rulebook. Please visit "WEBSITE" to see a full list of the server rules ***");
  13475. return 1;
  13476. }
  13477. CMD:startlotto(playerid, params[])
  13478. {
  13479. if(PlayerInfo[playerid][pAdmin] < 4)
  13480. {
  13481. SendClientMessage(playerid, COLOR_GREY, "You're not authorized to use that command!");
  13482. return 1;
  13483. }
  13484. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  13485. {
  13486. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  13487. return 1;
  13488. }
  13489. SendClientMessage(playerid,COLOR_WHITE, "The /startlotto command is currently disabled (reason: we need to let the economy grow a bit before we enable this).");
  13490. return 1;
  13491. }
  13492. CMD:refshop(playerid, params[]) {
  13493. if(PlayerCuffed[playerid] >= 1 || GetPVarInt(playerid, "Injured") == 1)
  13494. return SendClientMessage(playerid, COLOR_WHITE, "You can't do this right now.");
  13495. if(GetPVarInt(playerid, "EventToken") != 0)
  13496. return SendClientMessage(playerid, COLOR_GREY, "You can't access the referral shop while you're in an event.");
  13497. if(PlayerInfo[playerid][pJailed] > 0)
  13498. return SendClientMessage(playerid, COLOR_WHITE, "You can't use this in jail/prison.");
  13499. if(IsPlayerInAnyVehicle(playerid))
  13500. return SendClientMessage(playerid, COLOR_GREY, "You can't do this while you're in a vehicle.");
  13501. new LineOne[465];
  13502. new LineTwo[410];
  13503. new string[875];
  13504. format(LineOne,sizeof(LineOne),"{FFFFFF}50 pot, 25 crack {00F70C}(Price: 1 token)\n{FFFFFF}2,500 materials {00F70C}(Price: 1 token)\n{FFFFFF}4 respect points {00F70C}(Price: 1 token)\n{FFFFFF}SPAS-12 & Deagle {00F70C}(Price: 1 token)\n{FFFFFF}100 pot, 50 crack {00F70C}(Price: 2 tokens)\n{FFFFFF}Full weapon set {00F70C}(Price: 2 tokens)\n{FFFFFF}8 respect points {00F70C}(Price: 2 tokens)\n{FFFFFF}5,000 materials {00F70C}(Price: 2 tokens)\n{FFFFFF}12 respect points {00F70C}(Price: 3 tokens)");
  13505. format(LineTwo,sizeof(LineOne),"{FFFFFF}10,000 materials {00F70C}(Price: 3 tokens)\n{FFFFFF}16 respect points {00F70C}(Price: 4 tokens)\n{FFFFFF}15,000 materials {00F70C}(Price: 4 tokens)\n{FFFFFF}20 respect points {00F70C}(Price: 5 tokens)\n{FFFFFF}20,000 materials {00F70C}(Price: 5 tokens)\n{FFFFFF}One level up & 2 upgrade points {00F70C}(Price: 10 tokens)\n{FFFFFF}Car of choice from one of the dealerships {00F70C}(Price: 10 tokens)");
  13506. format(string,sizeof(string),"%s\n%s",LineOne, LineTwo);
  13507. ShowPlayerDialogEx(playerid, DIALOG_REFSHOP, DIALOG_STYLE_LIST, "Referral shop", string, "Purchase", "Cancel");
  13508. return 1;
  13509. }
  13510. CMD:gmx(playerid, params[]) {
  13511. return cmd_restartserver(playerid, params);
  13512. }
  13513. CMD:restartserver(playerid, params[])
  13514. {
  13515. if(PlayerInfo[playerid][pAdmin] < 5)
  13516. return SendClientMessage(playerid, COLOR_GRAD2, "You're not authorized to use this command.");
  13517. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  13518. return SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  13519. SetTimer("ServerRestart", 30000, false);
  13520. SendClientMessageToAllEx(COLOR_LIGHTBLUE, "* The server will be restarting in 30 seconds.");
  13521. return 1;
  13522. }
  13523. CMD:dynamichelp(playerid, params[]) {
  13524. if(PlayerInfo[playerid][pAdmin] >= 3) {
  13525. SendClientMessage(playerid, COLOR_YELLOW, "Dynamic Help List Commands");
  13526. SendClientMessage(playerid, COLOR_PINK, "Dynamic House Help{FFFFFF}: /hnext /hedit /hname /gotohouse /goinhouse /interiors");
  13527. SendClientMessage(playerid, COLOR_PINK, "Dynamic Door Help{FFFFFF}: /ddedit /ddnext /ddnear /ddstatus /ddpass /ddname /gotodoor /goindoor");
  13528. SendClientMessage(playerid, COLOR_PINK, "Dynamic Business Help{FFFFFF}: /createbusiness /bedit /deletebusiness");
  13529. SendClientMessage(playerid, COLOR_PINK, "Dynamic Map Icon Help{FFFFFF}: /dmpnext /dmpnear /dmpedit");
  13530. return 1;
  13531. }
  13532. return 1;
  13533. }
  13534. CMD:ahelp(playerid, params[]) {
  13535. return cmd_ah(playerid, params);
  13536. }
  13537. CMD:ah(playerid, params[]) {
  13538. if(PlayerInfo[playerid][pAdmin] >= 1) {
  13539. SendClientMessage(playerid, COLOR_CRIMSON,"_______{FFA500}ADMIN COMMANDS{FFA500}_______");
  13540. SendClientMessage(playerid, COLOR_TWPURPLE, "*** Admin *** /adminrules /admins /check /jail /kick /skick /aduty /showflags /nrn /namechanges /reports /ar /tr /post /nro /nao /rtnc /norevive");
  13541. if(PlayerInfo[playerid][pAdmin] >= 2) {
  13542. SendClientMessage(playerid, COLOR_ORANGE,"*** Junior Admin *** /factions /checkbp /spec /freeze /unfreeze /gethere /gotoid /gotoplayerscar /setvw /setint /oldcar /gotocar /entercar");
  13543. SendClientMessage(playerid, COLOR_ORANGE,"*** Junior Admin *** /afk /gotoco /(o)flag /(o)clearflag /ban /sban /hhcheck /slap /listguns /warn /(o)kills /(o)ipcheck /ip /goto /mark /mark2");
  13544. SendClientMessage(playerid, COLOR_ORANGE,"*** Junior Admin *** /jetpack /paused /watch /hospital /prisoners /sendtols /nmute /nunmute /admute /adunmute /anetstats /serial /approvename /denyname");
  13545. }
  13546. if(PlayerInfo[playerid][pAdmin] >= 3) {
  13547. SendClientMessage(playerid, COLOR_TWPINK,"*** General Admin *** /prison /fine /pfine /takeadminweapons /takeweapons /setskin /release /force(death/hospital) /rto /rtoreset /mole /revive");
  13548. SendClientMessage(playerid, COLOR_TWPINK,"*** General Admin *** /reloadpvehicles /aimpound /nonewbie /owarn /ocheck /ofine /oprison /respawncar(s) /deletead /atip");
  13549. SendClientMessage(playerid, COLOR_TWPINK,"*** General Admin *** /dm /spam /dynamichelp /noooc /gcto /gcreset /switchfam /switchfac /respawnfreegangvehs /apark");
  13550. }
  13551. if(PlayerInfo[playerid][pAdmin] >= 4) {
  13552. SendClientMessage(playerid, COLOR_LIGHTGREEN,"*** Senior Admin *** /asellhouse /givenos /blowup /setname /forcesave /oban /cnn /fixveh /sethp /setarmor /setarmorall /givegun");
  13553. SendClientMessage(playerid, COLOR_LIGHTGREEN,"*** Senior Admin *** /adivorce /eventhelp /sprison /unban /unbanip /setinsurance /(goto/goin)house /pointfix /givelicense /fackick");
  13554. SendClientMessage(playerid, COLOR_LIGHTGREEN,"*** Senior Admin *** /setmyname /createpvehicle /destroypvehicle /hnext /(goto/goin)door /veh /vehname /healnear /destroycar /destroycars");
  13555. SendClientMessage(playerid, COLOR_LIGHTGREEN,"*** Senior Admin *** /setfightingstyle /fixveh /fcreate /fdelete /fedit /creategvehicle /destroygvehicle /deletehit /countdown");
  13556. SendClientMessage(playerid, COLOR_LIGHTGREEN,"*** Senior Admin *** /refund /clearall /listtoys /dd(edit/next/near/name) /leaders /givemoney /setmoney /setstat /skiptut ");
  13557. }
  13558. if(PlayerInfo[playerid][pAdmin] >= 5) {
  13559. SendClientMessage(playerid, COLOR_LIGHTRED,"*** Head Admin *** /cc /pedit /permaban /setcolor /paycheck /clearallreports /makeleader /changeuserpassword /setdonator");
  13560. SendClientMessage(playerid, COLOR_LIGHTRED,"*** Head Admin *** /agivebackpack /amotd /restartserver /rmute /hedit /hname /setadminname /fixvehall /cnnn /gotodoor /dedit");
  13561. }
  13562. if(PlayerInfo[playerid][pAdmin] >= 6) {
  13563. SendClientMessage(playerid, COLOR_TWPURPLE,"*** Assistant Management *** /edit /dmp(edit/next/near) /listfacpay /facpay /gotodmp /createdealership /destroydealership");
  13564. SendClientMessage(playerid, COLOR_TWPURPLE,"*** Assistant Management *** /createcdveh /destroycdveh /forceoffduty");
  13565. }
  13566. if(PlayerInfo[playerid][pAdmin] >= 7) {
  13567. SendClientMessage(playerid, COLOR_PINK,"*** Management *** /(o)sethelper /fws /allhunt /setwepres");
  13568. SendClientMessage(playerid, COLOR_PINK,"*** Management *** /god /togvac /quiz /motd /interiors /cc");
  13569. }
  13570. if(PlayerInfo[playerid][pAdmin] >= 8) {
  13571. SendClientMessage(playerid, COLOR_LIGHTBLUE,"*** Server Manager *** /setformeradmin /setvintage /setfamed /setoldschool /(o)setadmin /setbanmod /setfactionmod /setgangmod");
  13572. SendClientMessage(playerid, COLOR_LIGHTBLUE,"*** Server Manager *** /createfire /announcefire /destroyfire");
  13573. }
  13574. if(PlayerInfo[playerid][pBanAppealer] > 0) SendClientMessage(playerid, COLOR_YELLOW, "*** BAN APPEALER *** /unban /unbanip");
  13575. if(PlayerInfo[playerid][pGangMod] > 0) SendClientMessage(playerid, COLOR_YELLOW, "*** GANG MODERATOR *** /fedit /fdelete /fcreate /switchfam /adjust name /setgangcolor /respawnfreegangvehs");
  13576. if(PlayerInfo[playerid][pFactionMod] > 0) SendClientMessage(playerid, COLOR_YELLOW, "*** FACTION MODERATOR *** /switchfac /leaders /makeleader");
  13577. if(PlayerInfo[playerid][pHelperMod] > 0) SendClientMessage(playerid, COLOR_YELLOW, "*** HELPER MODERATOR *** /osethelper /sethelper /helpers");
  13578. }
  13579. return 1;
  13580. }
  13581. CMD:charity(playerid, params[]) {
  13582. new
  13583. string[128],
  13584. moneys;
  13585. if(isnull(params))
  13586. return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /charity [amount]");
  13587. moneys = strval(params);
  13588. if(moneys < 0)
  13589. return SendClientMessage(playerid, COLOR_GRAD1, "That's not enough!");
  13590. if(GetPlayerCash(playerid) < moneys)
  13591. return SendClientMessage(playerid, COLOR_GRAD1, "You don't have that much money.");
  13592. GivePlayerCash(playerid, -moneys);
  13593. format(string, sizeof(string), "%s, thank you for your donation of $%d.",GetPlayerNameEx(playerid), moneys);
  13594. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  13595. SendClientMessage(playerid, COLOR_GRAD1, string);
  13596. if(moneys >= 50000)
  13597. {
  13598. format(string, 128, "Thanks for %s for donating $%s to the Sleepless Roleplay Community.", GetPlayerNameEx(playerid), Comma(moneys));
  13599. SendClientMessageToAll(COLOR_YELLOW, string);
  13600. }
  13601. return 1;
  13602. }
  13603. CMD:quiz(playerid, params[])
  13604. {
  13605. if(PlayerInfo[playerid][pAdmin] >= 7)
  13606. {
  13607. new choice[10];
  13608. if(sscanf(params, "s[10]", choice)) return SendClientMessage(playerid, COLOR_GREY, "USAGE: /quiz [create/end]");
  13609. if(!strcmp(choice, "create"))
  13610. {
  13611. {
  13612. if(!quizexist)
  13613. {
  13614. ShowPlayerDialogEx(playerid, QUIZCREATE1, DIALOG_STYLE_INPUT, "Create a quiz", "Input the quiz question", "Next", "Cancel");
  13615. }
  13616. else return SendClientMessage(playerid, COLOR_GREY, "There is already an active quiz.");
  13617. }
  13618. }
  13619. else if(!strcmp(choice, "end"))
  13620. {
  13621. if(quizexist)
  13622. {
  13623. new string[100];
  13624. format(string, sizeof(string), "The quiz round has been finished!");
  13625. SendClientMessageToAll(COLOR_LIGHTRED, string);
  13626. quizexist = false;
  13627. format(question, 256, "None");
  13628. format(answer, 256, "None");
  13629. }
  13630. else return SendClientMessage(playerid, COLOR_GREY, "ERROR: There is no active quiz.");
  13631. }
  13632. else return SendClientMessage(playerid, COLOR_GREY, "USAGE: /quiz [create/end]");
  13633. }
  13634. else
  13635. {
  13636. SendClientMessage(playerid, COLOR_GREY, "You're not authorized to use that command.");
  13637. }
  13638. return 1;
  13639. }
  13640. CMD:answer(playerid, params[])
  13641. {
  13642. if(quizexist)
  13643. {
  13644. if(!isnull(params))
  13645. {
  13646. if(!strcmp(params, answer, true))
  13647. {
  13648. new string[128];
  13649. format(string, sizeof(string), "QUIZ: %s has the correct answer (%s)!", GetPlayerNameEx(playerid), answer);
  13650. SendClientMessageToAll(COLOR_LIGHTRED, string);
  13651. SendClientMessageToAll(COLOR_LIGHTRED, "The quiz round has been finished!");
  13652. SCM(playerid, COLOR_YELLOW, "QUIZ PRIZE: $1,000");
  13653. GivePlayerCash(playerid, 1000);
  13654. quizexist = false;
  13655. format(question, 256, "None");
  13656. format(answer, 256, "None");
  13657. }
  13658. else return SendClientMessage(playerid, COLOR_GREY, "ERROR: Incorrect answer.");
  13659. }
  13660. else return SendClientMessage(playerid, COLOR_GREY, "USAGE: /answer [answer]");
  13661. }
  13662. else
  13663. {
  13664. SendClientMessage(playerid, COLOR_GREY, "There is no active quiz.");
  13665. }
  13666. return 1;
  13667. }
  13668. CMD:resetupgrades(playerid, params[]) {
  13669. if(gPlayerLogged[playerid] == 0) {
  13670. SendClientMessage(playerid, COLOR_GRAD1, "You're not logged in.");
  13671. }
  13672. else if(GetPlayerCash(playerid) < 10000) {
  13673. SendClientMessage(playerid, COLOR_GRAD1, "You need $10,000 to reset your upgrade points.");
  13674. }
  13675. else if(PlayerInfo[playerid][pLevel] < 2) {
  13676. SendClientMessage(playerid, COLOR_GRAD1, "You must be at least level 2.");
  13677. }
  13678. else {
  13679. PlayerInfo[playerid][gPupgrade] = (PlayerInfo[playerid][pLevel]-2)*2;
  13680. PlayerInfo[playerid][pSarmor] = 0.0;
  13681. new bool: iSaveHouses; // We don't want to save houses every time
  13682. if(PlayerInfo[playerid][pHouse] != INVALID_HOUSE_ID) {
  13683. HouseInfo[PlayerInfo[playerid][pHouse]][hGLUpgrade] = 1;
  13684. iSaveHouses = true;
  13685. }
  13686. if(PlayerInfo[playerid][pHouse2] != INVALID_HOUSE_ID) {
  13687. HouseInfo[PlayerInfo[playerid][pHouse2]][hGLUpgrade] = 1;
  13688. iSaveHouses = true;
  13689. }
  13690. for(new d = 0 ; d < MAX_PLAYERVEHICLES; d++)
  13691. {
  13692. PlayerVehicleInfo[playerid][d][pvWepUpgrade] = 0;
  13693. }
  13694. if(iSaveHouses) SaveHouses();
  13695. GivePlayerCash(playerid,-10000);
  13696. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  13697. new szMessage[73];
  13698. format(szMessage, sizeof(szMessage), "You have reset your upgrades - you now have %i unspent upgrade points.",PlayerInfo[playerid][gPupgrade]);
  13699. SendClientMessage(playerid, COLOR_GRAD2, szMessage);
  13700. }
  13701. return 1;
  13702. }
  13703. CMD:leaders(playerid, params[])
  13704. {
  13705. if(PlayerInfo[playerid][pAdmin] >= 4)
  13706. {
  13707. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  13708. {
  13709. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  13710. return 1;
  13711. }
  13712. SendClientMessage(playerid, COLOR_WHITE, "Faction leaders online:");
  13713. new string[128], sz_FacInfo[3][64];
  13714. foreach(Player, i) if(PlayerInfo[i][pLeader] >= 1) {
  13715. GetPlayerFactionInfo(i, sz_FacInfo[0], sz_FacInfo[1], sz_FacInfo[2]);
  13716. format(string, sizeof(string), "(%s) %s %s", sz_FacInfo[2], sz_FacInfo[0], GetPlayerNameEx(i));
  13717. SendClientMessage(playerid, COLOR_GRAD2, string);
  13718. }
  13719. }
  13720. return 1;
  13721. }
  13722. CMD:findjob(playerid, params[])
  13723. {
  13724. if(CheckPointCheck(playerid))
  13725. {
  13726. SendClientMessage(playerid, COLOR_WHITE, "Please ensure that your current checkpoint is destroyed first (you either have material packages, or another existing checkpoint).");
  13727. return 1;
  13728. }
  13729. ShowPlayerDialogEx(playerid, FINDJOB, DIALOG_STYLE_LIST, "Select a job", "Detective\nLawyer\nWhore\nDrug Dealer\nCar Mechanic\nBodyguard\nArms Dealer\nBoxer\nDrug Smuggler\nTaxi Driver\nCraftsman\nBartender\nTrucker\nPizza Boy\nFishing\nStreet Sweeper\nMiner", "Select", "Cancel");
  13730. return 1;
  13731. }
  13732. CMD:shakehand(playerid, params[])
  13733. {
  13734. new string[128], giveplayerid, style;
  13735. if(sscanf(params, "ud", giveplayerid, style)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /shakehand [playerid/partofname] [style (1-8)]");
  13736. if(IsPlayerConnected(giveplayerid))
  13737. {
  13738. if(giveplayerid == playerid)
  13739. {
  13740. SendClientMessage(playerid, COLOR_GREY, "You can't shake your own hand.");
  13741. return 1;
  13742. }
  13743. if(style >= 1 && style < 9)
  13744. {
  13745. new Float: ppFloats[3];
  13746. GetPlayerPos(giveplayerid, ppFloats[0], ppFloats[1], ppFloats[2]);
  13747. if(!IsPlayerInRangeOfPoint(playerid, 5, ppFloats[0], ppFloats[1], ppFloats[2]))
  13748. {
  13749. SendClientMessage(playerid, COLOR_GREY, "You're too far away. You can't shake hands right now.");
  13750. return 1;
  13751. }
  13752. ShakeHandRequest[giveplayerid] = playerid;
  13753. ShakeHandStyle[giveplayerid] = style;
  13754. format(string, sizeof(string), "You have requested to shake %s's hand, please wait for them to respond.", GetPlayerNameEx(giveplayerid));
  13755. SendClientMessage(playerid, COLOR_WHITE, string);
  13756. format(string, sizeof(string), "%s has requested to shake your hand, please use '/accept handshake' to approve the hand shake.", GetPlayerNameEx(playerid));
  13757. SendClientMessage(giveplayerid, COLOR_WHITE, string);
  13758. }
  13759. else
  13760. {
  13761. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /shakehand [playerid/partofname] [style (1-8)]");
  13762. }
  13763. }
  13764. else
  13765. {
  13766. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  13767. }
  13768. return 1;
  13769. }
  13770. CMD:buylevel(playerid, params[])
  13771. {
  13772. if(gPlayerLogged[playerid] != 0)
  13773. {
  13774. if(PlayerInfo[playerid][pLevel] >= 0)
  13775. {
  13776. new nxtlevel = PlayerInfo[playerid][pLevel]+1;
  13777. new costlevel = nxtlevel*2500;
  13778. new expamount = nxtlevel*levelexp;
  13779. if(GetPlayerCash(playerid) < costlevel)
  13780. {
  13781. new string[128];
  13782. format(string, sizeof(string), "You don't have enough cash ($%d).",costlevel);
  13783. SendClientMessage(playerid, COLOR_GRAD1, string);
  13784. return 1;
  13785. }
  13786. else if(PlayerInfo[playerid][pRespect] < expamount)
  13787. {
  13788. new string[58];
  13789. format(string, sizeof(string), "You need %d more respect points to buy your next level.", expamount - PlayerInfo[playerid][pRespect]);
  13790. SendClientMessage(playerid, COLOR_GRAD1, string);
  13791. return 1;
  13792. }
  13793. else
  13794. {
  13795. new string[92];
  13796. format(string, sizeof(string), "~g~LEVEL UP~n~~w~You're Now Level %d", nxtlevel);
  13797. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  13798. GivePlayerCash(playerid, (-costlevel));
  13799. PlayerInfo[playerid][pLevel]++;
  13800. PlayerInfo[playerid][pRespect] = PlayerInfo[playerid][pRespect]-expamount;
  13801. PlayerInfo[playerid][gPupgrade] = PlayerInfo[playerid][gPupgrade]+2;
  13802. GameTextForPlayer(playerid, string, 5000, 1);
  13803. format(string, sizeof(string), "You have bought level %d for $%d, and gained %i upgrade points! /upgrade to use them.", nxtlevel, costlevel, PlayerInfo[playerid][gPupgrade]);
  13804. SendClientMessage(playerid, COLOR_GRAD1, string);
  13805. SetPlayerScore(playerid, PlayerInfo[playerid][pLevel]);
  13806. /*if(PlayerInfo[playerid][pLevel] == 6)
  13807. {
  13808. SendClientMessage(playerid, COLOR_WHITE, "Newbie chat will now be automatically togged off on login.");
  13809. }*/
  13810. }
  13811. }
  13812. return 1;
  13813. }
  13814. else
  13815. {
  13816. SendClientMessage(playerid, COLOR_GRAD1, "You're not logged in.");
  13817. }
  13818. return 1;
  13819. }
  13820. CMD:upgrade(playerid, params[])
  13821. {
  13822. if(isnull(params))
  13823. {
  13824. new string[64];
  13825. format(string, sizeof(string), "USAGE: /upgrade [upgradename] (you have %d upgrade points).",PlayerInfo[playerid][gPupgrade]);
  13826. SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
  13827. SendClientMessage(playerid, COLOR_WHITE,"*** UPGRADES ***");
  13828. SendClientMessage(playerid, COLOR_GRAD2,string);
  13829. //SendClientMessage(playerid, COLOR_GRAD5, "armor gunlocker gunlocker2 cargunlocker");
  13830. SendClientMessage(playerid, COLOR_GRAD5, "armor gunlocker cargunlocker");
  13831. SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
  13832. return 1;
  13833. }
  13834. if(PlayerInfo[playerid][gPupgrade] >= 1)
  13835. {
  13836. if(PlayerInfo[playerid][pLevel] >= 1 && strcmp(params, "armor", true) == 0)
  13837. {
  13838. if(PlayerInfo[playerid][pSarmor] < 100)
  13839. {
  13840. new string[51];
  13841. ++PlayerInfo[playerid][pSarmor];
  13842. PlayerInfo[playerid][gPupgrade]--;
  13843. format(string, sizeof(string), "New Upgrade: You will now spawn with %.2f armor.",PlayerInfo[playerid][pSarmor]);
  13844. SendClientMessage(playerid, COLOR_GRAD6, string);
  13845. }
  13846. else
  13847. {
  13848. SendClientMessage(playerid, COLOR_GRAD6, " You have maximum spawn armor.");
  13849. return 1;
  13850. }
  13851. }
  13852. else if(strcmp(params, "gunlocker", true) == 0)
  13853. {
  13854. new playername[MAX_PLAYER_NAME];
  13855. GetPlayerName(playerid, playername, sizeof(playername));
  13856. if(PlayerInfo[playerid][pHouse] != INVALID_HOUSE_ID && strcmp(playername, HouseInfo[PlayerInfo[playerid][pHouse]][hOwner], true) == 0)
  13857. {
  13858. if(PlayerInfo[playerid][gPupgrade] < 2)
  13859. {
  13860. SendClientMessage(playerid, COLOR_GRAD6, " You need at least 2 respect points to upgrade your gun locker.");
  13861. return 1;
  13862. }
  13863. switch(HouseInfo[PlayerInfo[playerid][pHouse]][hGLUpgrade])
  13864. {
  13865. case 0:
  13866. {
  13867. if(PlayerInfo[playerid][pCash] >= 5000)
  13868. {
  13869. PlayerInfo[playerid][pCash] -= 5000;
  13870. HouseInfo[PlayerInfo[playerid][pHouse]][hGLUpgrade] = 1;
  13871. HouseInfo[PlayerInfo[playerid][pHouse]][hWeapons][0] = 0;
  13872. SendClientMessage(playerid, COLOR_WHITE, "You have purchased a new locker space, you have been charged $5000.");
  13873. SendClientMessage(playerid, COLOR_GRAD2, "HINT: To use your lockers, the commands are /storegun and /getgun. You have 1 locker space available.");
  13874. }
  13875. else
  13876. {
  13877. SendClientMessage(playerid, COLOR_WHITE, "You don't have enough ($5000).");
  13878. return 1;
  13879. }
  13880. }
  13881. case 1:
  13882. {
  13883. if(PlayerInfo[playerid][pCash] >= 5000)
  13884. {
  13885. PlayerInfo[playerid][pCash] -= 5000;
  13886. HouseInfo[PlayerInfo[playerid][pHouse]][hGLUpgrade]++;
  13887. HouseInfo[PlayerInfo[playerid][pHouse]][hWeapons][1] = 0;
  13888. SendClientMessage(playerid, COLOR_WHITE, "You have purchased a new locker space, you have been charged $5000.");
  13889. SendClientMessage(playerid, COLOR_GRAD2, "HINT: To use your lockers, the commands are /storegun and /getgun. You have 2 locker space available.");
  13890. }
  13891. else
  13892. {
  13893. SendClientMessage(playerid, COLOR_WHITE, "You don't have enough ($5000).");
  13894. return 1;
  13895. }
  13896. }
  13897. case 2:
  13898. {
  13899. if(PlayerInfo[playerid][pCash] >= 5000)
  13900. {
  13901. PlayerInfo[playerid][pCash] -= 5000;
  13902. HouseInfo[PlayerInfo[playerid][pHouse]][hGLUpgrade]++;
  13903. HouseInfo[PlayerInfo[playerid][pHouse]][hWeapons][2] = 0;
  13904. SendClientMessage(playerid, COLOR_WHITE, "You have purchased a new locker space, you have been charged $5000.");
  13905. SendClientMessage(playerid, COLOR_GRAD2, "HINT: To use your lockers, the commands are /storegun and /getgun. You have 3 locker space available.");
  13906. }
  13907. else
  13908. {
  13909. SendClientMessage(playerid, COLOR_WHITE, "You don't have enough ($5000).");
  13910. return 1;
  13911. }
  13912. }
  13913. case 3:
  13914. {
  13915. if(PlayerInfo[playerid][pCash] >= 5000)
  13916. {
  13917. PlayerInfo[playerid][pCash] -= 5000;
  13918. HouseInfo[PlayerInfo[playerid][pHouse]][hGLUpgrade]++;
  13919. HouseInfo[PlayerInfo[playerid][pHouse]][hWeapons][3] = 0;
  13920. SendClientMessage(playerid, COLOR_WHITE, "You have purchased a new locker space, you have been charged $5000.");
  13921. SendClientMessage(playerid, COLOR_GRAD2, "HINT: To use your lockers, the commands are /storegun and /getgun. You have 4 locker space available.");
  13922. }
  13923. else
  13924. {
  13925. SendClientMessage(playerid, COLOR_WHITE, "You don't have enough ($5000).");
  13926. return 1;
  13927. }
  13928. }
  13929. case 4:
  13930. {
  13931. if(PlayerInfo[playerid][pCash] >= 5000)
  13932. {
  13933. PlayerInfo[playerid][pCash] -= 5000;
  13934. HouseInfo[PlayerInfo[playerid][pHouse]][hGLUpgrade]++;
  13935. HouseInfo[PlayerInfo[playerid][pHouse]][hWeapons][4] = 0;
  13936. SendClientMessage(playerid, COLOR_WHITE, "You have purchased a new locker space, you have been charged $5000.");
  13937. SendClientMessage(playerid, COLOR_GRAD2, "HINT: To use your lockers, the commands are /storegun and /getgun. You have 5 locker space available.");
  13938. }
  13939. else
  13940. {
  13941. SendClientMessage(playerid, COLOR_WHITE, "You don't have enough ($5000).");
  13942. return 1;
  13943. }
  13944. }
  13945. case 5:
  13946. {
  13947. SendClientMessage(playerid, COLOR_WHITE, "Sorry, there are no more spaces available.");
  13948. return 1;
  13949. }
  13950. }
  13951. PlayerInfo[playerid][gPupgrade] -= 2;
  13952. SaveHouses();
  13953. }
  13954. else
  13955. {
  13956. SendClientMessage(playerid, COLOR_GRAD2, "You're not a house owner.");
  13957. return 1;
  13958. }
  13959. }
  13960. // Second houses disabled for now
  13961. else if(strcmp(params, "gunlocker2", true) == 0)
  13962. {
  13963. new playername[MAX_PLAYER_NAME];
  13964. GetPlayerName(playerid, playername, sizeof(playername));
  13965. if(PlayerInfo[playerid][pHouse2] != INVALID_HOUSE_ID && strcmp(playername, HouseInfo[PlayerInfo[playerid][pHouse2]][hOwner], true) == 0)
  13966. {
  13967. if(PlayerInfo[playerid][gPupgrade] < 2)
  13968. {
  13969. SendClientMessage(playerid, COLOR_GRAD6, " You need at least 2 respect points.");
  13970. return 1;
  13971. }
  13972. switch(HouseInfo[PlayerInfo[playerid][pHouse2]][hGLUpgrade])
  13973. {
  13974. case 0:
  13975. {
  13976. if(PlayerInfo[playerid][pCash] >= 5000)
  13977. {
  13978. PlayerInfo[playerid][pCash] -= 5000;
  13979. HouseInfo[PlayerInfo[playerid][pHouse2]][hGLUpgrade] = 1;
  13980. HouseInfo[PlayerInfo[playerid][pHouse2]][hWeapons][0] = 0;
  13981. SendClientMessage(playerid, COLOR_WHITE, "You have purchased a new locker space, you have been charged $5000.");
  13982. SendClientMessage(playerid, COLOR_GRAD2, "HINT: To use your lockers, the commands are /storegun and /getgun. You have 1 locker space available.");
  13983. }
  13984. else
  13985. {
  13986. SendClientMessage(playerid, COLOR_WHITE, "You don't have enough ($5000).");
  13987. return 1;
  13988. }
  13989. }
  13990. case 1:
  13991. {
  13992. if(PlayerInfo[playerid][pCash] >= 5000)
  13993. {
  13994. PlayerInfo[playerid][pCash] -= 5000;
  13995. HouseInfo[PlayerInfo[playerid][pHouse2]][hGLUpgrade]++;
  13996. HouseInfo[PlayerInfo[playerid][pHouse2]][hWeapons][1] = 0;
  13997. SendClientMessage(playerid, COLOR_WHITE, "You have purchased a new locker space, you have been charged $5000.");
  13998. SendClientMessage(playerid, COLOR_GRAD2, "HINT: To use your lockers, the commands are /storegun and /getgun. You have 2 locker space available.");
  13999. }
  14000. else
  14001. {
  14002. SendClientMessage(playerid, COLOR_WHITE, "You don't have enough ($5000).");
  14003. return 1;
  14004. }
  14005. }
  14006. case 2:
  14007. {
  14008. if(PlayerInfo[playerid][pCash] >= 5000)
  14009. {
  14010. PlayerInfo[playerid][pCash] -= 5000;
  14011. HouseInfo[PlayerInfo[playerid][pHouse2]][hGLUpgrade]++;
  14012. HouseInfo[PlayerInfo[playerid][pHouse2]][hWeapons][2] = 0;
  14013. SendClientMessage(playerid, COLOR_WHITE, "You have purchased a new locker space, you have been charged $5000.");
  14014. SendClientMessage(playerid, COLOR_GRAD2, "HINT: To use your lockers, the commands are /storegun and /getgun. You have 3 locker space available.");
  14015. }
  14016. else
  14017. {
  14018. SendClientMessage(playerid, COLOR_WHITE, "You don't have enough ($5000).");
  14019. return 1;
  14020. }
  14021. }
  14022. case 3:
  14023. {
  14024. if(PlayerInfo[playerid][pCash] >= 5000)
  14025. {
  14026. PlayerInfo[playerid][pCash] -= 5000;
  14027. HouseInfo[PlayerInfo[playerid][pHouse2]][hGLUpgrade]++;
  14028. HouseInfo[PlayerInfo[playerid][pHouse2]][hWeapons][3] = 0;
  14029. SendClientMessage(playerid, COLOR_WHITE, "You have purchased a new locker space, you have been charged $5000.");
  14030. SendClientMessage(playerid, COLOR_GRAD2, "HINT: To use your lockers, the commands are /storegun and /getgun. You have 4 locker space available.");
  14031. }
  14032. else
  14033. {
  14034. SendClientMessage(playerid, COLOR_WHITE, "You don't have enough ($5000).");
  14035. return 1;
  14036. }
  14037. }
  14038. case 4:
  14039. {
  14040. if(PlayerInfo[playerid][pCash] >= 5000)
  14041. {
  14042. PlayerInfo[playerid][pCash] -= 5000;
  14043. HouseInfo[PlayerInfo[playerid][pHouse2]][hGLUpgrade]++;
  14044. HouseInfo[PlayerInfo[playerid][pHouse2]][hWeapons][4] = 0;
  14045. SendClientMessage(playerid, COLOR_WHITE, "You have purchased a new locker space, you have been charged $5000.");
  14046. SendClientMessage(playerid, COLOR_GRAD2, "HINT: To use your lockers, the commands are /storegun and /getgun. You have 5 locker space available.");
  14047. }
  14048. else
  14049. {
  14050. SendClientMessage(playerid, COLOR_WHITE, "You don't have enough ($5000).");
  14051. return 1;
  14052. }
  14053. }
  14054. case 5:
  14055. {
  14056. SendClientMessage(playerid, COLOR_WHITE, "Sorry, there are no more spaces available.");
  14057. return 1;
  14058. }
  14059. }
  14060. PlayerInfo[playerid][gPupgrade]--;
  14061. SaveHouses();
  14062. }
  14063. else
  14064. {
  14065. SendClientMessage(playerid, COLOR_GRAD2, " You don't own a second house.");
  14066. return 1;
  14067. }
  14068. }
  14069. else if(strcmp(params, "cargunlocker", true) == 0)
  14070. {
  14071. new Float: x, Float: y, Float: z;
  14072. for(new d = 0 ; d < MAX_PLAYERVEHICLES; d++)
  14073. {
  14074. if(PlayerVehicleInfo[playerid][d][pvId] != INVALID_PLAYER_VEHICLE_ID) GetVehiclePos(PlayerVehicleInfo[playerid][d][pvId], x, y, z);
  14075. if(IsPlayerInRangeOfPoint(playerid, 3.0, x, y, z))
  14076. {
  14077. if(PlayerInfo[playerid][gPupgrade] < 2)
  14078. {
  14079. SendClientMessage(playerid, COLOR_GRAD6, " You need at least 2 respect points.");
  14080. return 1;
  14081. }
  14082. if(PlayerVehicleInfo[playerid][d][pvWepUpgrade] < 2)
  14083. {
  14084. new string[114];
  14085. GameTextForPlayer(playerid,"~r~Vehicle Gunlocker Upgraded!",5000,6);
  14086. PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
  14087. PlayerVehicleInfo[playerid][d][pvWepUpgrade]++;
  14088. PlayerInfo[playerid][gPupgrade] = PlayerInfo[playerid][gPupgrade]-2;
  14089. SendClientMessage(playerid, COLOR_WHITE, "You have purchased a new car locker space.");
  14090. format(string, sizeof(string), "HINT: To use your car lockers, the commands are /trunkput and /trunktake. You have %d locker spaces available.", PlayerVehicleInfo[playerid][d][pvWepUpgrade]+1);
  14091. SendClientMessage(playerid, COLOR_GRAD2, string);
  14092. return 1;
  14093. }
  14094. else
  14095. {
  14096. SendClientMessage(playerid, COLOR_GREY, "You have already upgraded your car gunlocker slots.");
  14097. return 1;
  14098. }
  14099. }
  14100. }
  14101. SendClientMessage(playerid, COLOR_GREY, "You're not near any vehicle that you own.");
  14102. return 1;
  14103. }
  14104. else
  14105. {
  14106. SendClientMessage(playerid, COLOR_GRAD6, " Unrecognized upgrade.");
  14107. return 1;
  14108. }
  14109. }
  14110. else
  14111. {
  14112. SendClientMessage(playerid, COLOR_GRAD6, " You have 0 Upgrade Points.");
  14113. return 1;
  14114. }
  14115. return 1;
  14116. }
  14117. CMD:cancel(playerid, params[])
  14118. {
  14119. new string[128], choice[32];
  14120. if(sscanf(params, "s[32]", choice))
  14121. {
  14122. SendClientMessage(playerid, COLOR_WHITE, "|__________________ Cancel __________________|");
  14123. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /cancel [name]");
  14124. SendClientMessage(playerid, COLOR_GREY, "Available names: Sex, Mats, Pot, Crack, Weapon, Craft, Repair, Lawyer, Bodyguard, Car, Boxing");
  14125. SendClientMessage(playerid, COLOR_GREY, "Available names: Taxi, Bus, Medic, Mechanic, Ticket, Witness, Marriage, Divorce, Drink, House, Truck");
  14126. SendClientMessage(playerid, COLOR_WHITE, "|____________________________________________|");
  14127. return 1;
  14128. }
  14129. if(strcmp(choice,"sex",true) == 0) { SexOffer[playerid] = 999; SexPrice[playerid] = 0; }
  14130. else if(strcmp(choice,"mats",true) == 0) { MatsOffer[playerid] = 999; MatsPrice[playerid] = 0; MatsAmount[playerid] = 0; }
  14131. else if(strcmp(choice,"pot",true) == 0) { PotOffer[playerid] = 999; PotPrice[playerid] = 0; PotGram[playerid] = 0; }
  14132. else if(strcmp(choice,"crack",true) == 0) { CrackOffer[playerid] = 999; CrackPrice[playerid] = 0; CrackGram[playerid] = 0; }
  14133. else if(strcmp(choice,"weapon",true) == 0) { GunOffer[playerid] = 999; GunId[playerid] = 0; }
  14134. else if(strcmp(choice,"craft",true) == 0) { CraftOffer[playerid] = 999; CraftId[playerid] = 0; }
  14135. else if(strcmp(choice,"repair",true) == 0) { RepairOffer[playerid] = 999; RepairPrice[playerid] = 0; RepairCar[playerid] = 0; }
  14136. else if(strcmp(choice,"lawyer",true) == 0) { WantLawyer[playerid] = 0; CallLawyer[playerid] = 0; }
  14137. else if(strcmp(choice,"bodyguard",true) == 0) { GuardOffer[playerid] = 999; GuardPrice[playerid] = 0; }
  14138. else if(strcmp(choice,"dicebet",true) == 0) { BetOffer[playerid] = 999; BetPrice[playerid] = 0; }
  14139. //else if(strcmp(choice,"refill",true) == 0) { RefillOffer[playerid] = 999; RefillPrice[playerid] = 0; }
  14140. else if(strcmp(choice,"car",true) == 0) { VehicleOffer[playerid] = 999; VehiclePrice[playerid] = 0; VehicleId[playerid] = -1; }
  14141. else if(strcmp(choice,"house",true) == 0) { HouseOffer[playerid] = 999; HousePrice[playerid] = 0; House[playerid] = 0; }
  14142. else if(strcmp(choice,"boxing",true) == 0) { BoxOffer[playerid] = 999; }
  14143. else if(strcmp(choice,"witness",true) == 0) { MarryWitnessOffer[playerid] = 999; }
  14144. else if(strcmp(choice,"marriage",true) == 0) { ProposeOffer[playerid] = 999; }
  14145. else if(strcmp(choice,"divorce",true) == 0) { DivorceOffer[playerid] = 999; }
  14146. else if(strcmp(choice,"drink",true) == 0) { DrinkOffer[playerid] = INVALID_PLAYER_ID; }
  14147. else if(strcmp(choice,"truck",true) == 0)
  14148. {
  14149. DestroyProgressBar(LoadTruckBar[playerid]);
  14150. LoadTruckBar[playerid] = INVALID_BAR_ID;
  14151. LoadTruckTime[playerid] = 0;
  14152. DeletePVar(playerid, "TruckDeliver");
  14153. TruckUsed[playerid] = INVALID_VEHICLE_ID;
  14154. gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
  14155. DisablePlayerCheckpoint(playerid);
  14156. }
  14157. else if(strcmp(choice,"contract",true) == 0)
  14158. {
  14159. new Float:X, Float:Y, Float:Z;
  14160. GetPlayerPos(playerid, X, Y, Z);
  14161. if(!IsPlayerInRangeOfPoint(GoChase[playerid], 225, X, Y, Z))
  14162. {
  14163. new Float:health;
  14164. GetPlayerHealth(playerid, health);
  14165. new hpint = floatround(health, floatround_round);
  14166. if(hpint >= 80)
  14167. {
  14168. HitToGet[playerid] = 999;
  14169. HitOffer[playerid] = 999;
  14170. GetChased[GoChase[playerid]] = 999;
  14171. GotHit[GoChase[playerid]] = 0;
  14172. GoChase[playerid] = 999;
  14173. }
  14174. else return SendClientMessage(playerid, COLOR_GRAD1, "You can't cancel the contract if your health is below 80!");
  14175. }
  14176. else return SendClientMessage(playerid, COLOR_GRAD1, "You're too close to the target to cancel the contract. There must be a greater distance between you and the target.");
  14177. }
  14178. else if(strcmp(choice,"ticket",true) == 0) { TicketOffer[playerid] = 999; TicketMoney[playerid] = 0; }
  14179. else if(strcmp(choice,"medic",true) == 0) { if(IsPlayerConnected(MedicCall)) { if(MedicCall == playerid) { MedicCall = 999; } else { SendClientMessage(playerid, COLOR_GREY, " You're not the current Caller!"); return 1; } } }
  14180. else if(strcmp(choice,"mechanic",true) == 0) { if(IsPlayerConnected(MechanicCall)) { if(MechanicCall == playerid) { MechanicCall = 999; } else { SendClientMessage(playerid, COLOR_GREY, " You're not the current Caller!"); return 1; } } }
  14181. //else if(strcmp(choice,"help",true) == 0) { if(IsPlayerConnected(AdvisorCall)) { if(AdvisorCall == playerid) { AdvisorCall = 999; } else { SendClientMessage(playerid, COLOR_GREY, " You're not the current Caller!"); return 1; } } }
  14182. else if(strcmp(choice,"taxi",true) == 0)
  14183. {
  14184. if(TaxiCall < 999)
  14185. {
  14186. if(TransportDuty[playerid] == 1 && TaxiCallTime[playerid] > 0)
  14187. {
  14188. TaxiAccepted[playerid] = 999;
  14189. GameTextForPlayer(playerid, "~w~You have~n~~r~Canceled the call", 5000, 1);
  14190. TaxiCallTime[playerid] = 0;
  14191. DisablePlayerCheckpoint(playerid);
  14192. TaxiCall = 999;
  14193. }
  14194. else
  14195. {
  14196. if(IsPlayerConnected(TaxiCall)) { if(TaxiCall == playerid) { TaxiCall = 999; } }
  14197. foreach(Player, i)
  14198. {
  14199. if(TaxiAccepted[i] < 999)
  14200. {
  14201. if(TaxiAccepted[i] == playerid)
  14202. {
  14203. TaxiAccepted[i] = 999;
  14204. GameTextForPlayer(i, "~w~Taxi Caller~n~~r~Canceled the call", 5000, 1);
  14205. TaxiCallTime[i] = 0;
  14206. DisablePlayerCheckpoint(i);
  14207. }
  14208. }
  14209. }
  14210. }
  14211. }
  14212. }
  14213. else if(strcmp(choice,"bus",true) == 0)
  14214. {
  14215. if(BusCall < 999)
  14216. {
  14217. if(TransportDuty[playerid] == 2 && BusCallTime[playerid] > 0)
  14218. {
  14219. BusAccepted[playerid] = 999;
  14220. GameTextForPlayer(playerid, "~w~You have~n~~r~Canceled the call", 5000, 1);
  14221. BusCallTime[playerid] = 0;
  14222. DisablePlayerCheckpoint(playerid);
  14223. BusCall = 999;
  14224. }
  14225. else
  14226. {
  14227. if(IsPlayerConnected(BusCall)) { if(BusCall == playerid) { BusCall = 999; } }
  14228. foreach(Player, i)
  14229. {
  14230. if(BusAccepted[i] < 999)
  14231. {
  14232. if(BusAccepted[i] == playerid)
  14233. {
  14234. BusAccepted[i] = 999;
  14235. GameTextForPlayer(i, "~w~Bus Caller~n~~r~Canceled the call", 5000, 1);
  14236. BusCallTime[i] = 0;
  14237. DisablePlayerCheckpoint(i);
  14238. }
  14239. }
  14240. }
  14241. }
  14242. }
  14243. }
  14244. else { return 1; }
  14245. format(string, sizeof(string), "* You have canceled: %s.", choice);
  14246. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  14247. return 1;
  14248. }
  14249. CMD:myguns(playerid, params[])
  14250. {
  14251. new string[128], myweapons[13][2], weaponname[50], encryption[256], name[MAX_PLAYER_NAME];
  14252. GetPlayerName(playerid, name, sizeof(name));
  14253. SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
  14254. format(string, sizeof(string), "Weapons on %s: (at %d)", name, gettime());
  14255. SendClientMessage(playerid, COLOR_WHITE, string);
  14256. for (new i = 0; i < 13; i++)
  14257. {
  14258. GetPlayerWeaponData(playerid, i, myweapons[i][0], myweapons[i][1]);
  14259. if(myweapons[i][0] > 0)
  14260. {
  14261. if(PlayerInfo[playerid][pGuns][i] == myweapons[i][0])
  14262. {
  14263. GetWeaponName(myweapons[i][0], weaponname, sizeof(weaponname));
  14264. format(string, sizeof(string), "%s (%d)", weaponname, myweapons[i][0]);
  14265. SendClientMessage(playerid, COLOR_GRAD1, string);
  14266. format(encryption, sizeof(encryption), "%s%d", encryption, myweapons[i][0]);
  14267. }
  14268. }
  14269. }
  14270. new year, month, day, hour, minute, second;
  14271. getdate(year, month, day);
  14272. gettime(hour, minute, second);
  14273. format(encryption, sizeof(encryption), "%s%s%d%d%d%d%d6524", encryption, name, month, day, year, hour, minute);
  14274. new encrypt = crc32(encryption);
  14275. format(string, sizeof(string), "[%d/%d/%d %d:%d:%d] - [%d]", month, day, year, hour, minute,second, encrypt);
  14276. SendClientMessage(playerid, COLOR_GREEN, string);
  14277. SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
  14278. return 1;
  14279. }
  14280. CMD:eject(playerid, params[])
  14281. {
  14282. new State;
  14283. if(IsPlayerInAnyVehicle(playerid))
  14284. {
  14285. State=GetPlayerState(playerid);
  14286. if(State!=PLAYER_STATE_DRIVER)
  14287. {
  14288. SendClientMessage(playerid,COLOR_GREY," You can only eject people as the driver!");
  14289. return 1;
  14290. }
  14291. new string[128], giveplayerid;
  14292. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /eject [playerid/partofname]");
  14293. new test;
  14294. test = GetPlayerVehicleID(playerid);
  14295. if(IsPlayerConnected(giveplayerid))
  14296. {
  14297. if(giveplayerid != INVALID_PLAYER_ID)
  14298. {
  14299. if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "You can't eject yourself!"); return 1; }
  14300. if(IsPlayerInVehicle(giveplayerid,test))
  14301. {
  14302. if(GetPVarInt(giveplayerid, "EMSAttempt") != 0) return SendClientMessage(playerid, COLOR_GRAD2, "You can't eject patients!");
  14303. format(string, sizeof(string), "* You have thrown %s out of the car.", GetPlayerNameEx(giveplayerid));
  14304. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  14305. format(string, sizeof(string), "* You have been thrown out the car by %s.", GetPlayerNameEx(playerid));
  14306. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  14307. RemovePlayerFromVehicle(giveplayerid);
  14308. /*new Float:slx, Float:sly, Float:slz;
  14309. GetPlayerPos(giveplayerid, slx, sly, slz);
  14310. SetPlayerPos(giveplayerid, slx, sly+3, slz+1);*/
  14311. format(string, sizeof(string), "* %s has ejected %s from the vehicle.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  14312. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  14313. }
  14314. else
  14315. {
  14316. SendClientMessage(playerid, COLOR_GREY, " That player is not in your car!");
  14317. return 1;
  14318. }
  14319. }
  14320. }
  14321. else
  14322. {
  14323. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  14324. }
  14325. }
  14326. else
  14327. {
  14328. SendClientMessage(playerid, COLOR_GREY, " You need to be in a vehicle to use this!");
  14329. }
  14330. return 1;
  14331. }
  14332. CMD:refund(playerid, params[])
  14333. {
  14334. if(PlayerInfo[playerid][pAdmin] < 4)
  14335. {
  14336. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  14337. return 1;
  14338. }
  14339. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  14340. {
  14341. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  14342. return 1;
  14343. }
  14344. new string[128], giveplayerid, item[32], amount;
  14345. if(sscanf(params, "us[32]d", giveplayerid, item, amount))
  14346. {
  14347. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /refund [playerid] [item] [weapon ID or amount]");
  14348. SendClientMessage(playerid, COLOR_GREY, "Available items: Gun, Mats, Pot, Crack");
  14349. SendClientMessage(playerid, COLOR_GREEN, "_______________________________________");
  14350. SendClientMessage(playerid, COLOR_GRAD4, "1: Brass Knuckles 2: Golf Club 3: Nite Stick 4: Knife 5: Baseball Bat 6: Shovel 7: Pool Cue 8: Katana");
  14351. SendClientMessage(playerid, COLOR_GRAD4, "10: Purple Dildo 11: Small White Vibrator 12: Large White Vibrator 13: Silver Vibrator 14: Flowers 15: Cane");
  14352. SendClientMessage(playerid, COLOR_GRAD3, "22: 9mm 23: Silenced 9mm 24: Desert Eagle 27: Combat Shotgun 28: Micro SMG (Mac 10) 29: SMG (MP5)");
  14353. SendClientMessage(playerid, COLOR_GRAD4, " 30: AK-47 31: M4 32: Tec9 33: Rifle 25: Shotgun 34: Sniper Rifle ");
  14354. SendClientMessage(playerid, COLOR_GREEN, "_______________________________________");
  14355. return 1;
  14356. }
  14357. new sstring[128];
  14358. if(strcmp(item, "gun", true) == 0)
  14359. {
  14360. if(PlayerInfo[giveplayerid][pWepRes] != 0)
  14361. {
  14362. SCM(playerid, -1, "That player is wep restricted.");
  14363. return 1;
  14364. }
  14365. if(amount < 1 || amount > 34 || amount == 9 || (amount >= 16 && amount <= 21) || amount == 26)
  14366. { SendClientMessage(playerid, COLOR_GRAD1, "You can't refund that weapon ID!"); return 1; }
  14367. if(IsPlayerConnected(giveplayerid)) {
  14368. if(PlayerInfo[giveplayerid][pConnectTime] < 2 && amount != 46 && amount != 43) return SendClientMessage(playerid, COLOR_GRAD2, "That player is currently restricted from carrying weapons");
  14369. if(giveplayerid != INVALID_PLAYER_ID)
  14370. {
  14371. GivePlayerValidWeapon(giveplayerid, amount, 60000);
  14372. new weaponname[32];
  14373. GetWeaponName(amount, weaponname, sizeof(weaponname));
  14374. format(sstring, sizeof(sstring), "You have refunded %s gun ID %d (%s)!",GetPlayerNameEx(giveplayerid), amount, weaponname);
  14375. SendClientMessage(playerid, COLOR_WHITE, sstring);
  14376. format(sstring, sizeof(sstring), "Admin %s has refunded you gun ID %d (%s).", GetPlayerNameEx(playerid), amount, weaponname);
  14377. SendClientMessage(giveplayerid, COLOR_WHITE, sstring);
  14378. format(sstring, sizeof(sstring), "%s has refunded %s weapon ID %d (%s).", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), amount, weaponname);
  14379. Log("logs/refunds.log", sstring);
  14380. }
  14381. else SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  14382. }
  14383. else SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  14384. }
  14385. if(strcmp(item, "mats", true) == 0)
  14386. {
  14387. if(amount < 1 || amount > 100000)
  14388. {
  14389. SendClientMessage(playerid,COLOR_WHITE, "The amount can't be lower than 1 or higher than 100,000.");
  14390. return 1;
  14391. }
  14392. if(IsPlayerConnected(giveplayerid))
  14393. {
  14394. PlayerInfo[giveplayerid][pMats] += amount;
  14395. format(string, sizeof(string), "You have refunded %s %d materials!",GetPlayerNameEx(giveplayerid), amount);
  14396. SendClientMessage(playerid, COLOR_WHITE, string);
  14397. format(string, sizeof(string), "Admin %s has refunded you %d materials.", GetPlayerNameEx(playerid), amount);
  14398. SendClientMessage(giveplayerid, COLOR_WHITE, string);
  14399. format(string, sizeof(string), "%s has refunded %s %d materials.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), amount);
  14400. Log("logs/refunds.log", string);
  14401. }
  14402. else SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  14403. }
  14404. if(strcmp(item, "pot", true) == 0)
  14405. {
  14406. if(amount < 1 || amount > 100000)
  14407. {
  14408. SendClientMessage(playerid,COLOR_WHITE, "The amount can't be lower than 1 or higher than 100,000.");
  14409. return 1;
  14410. }
  14411. if(IsPlayerConnected(giveplayerid))
  14412. {
  14413. PlayerInfo[giveplayerid][pPot] += amount;
  14414. format(string, sizeof(string), "You have refunded %s %d gram(s) of pot!",GetPlayerNameEx(giveplayerid), amount);
  14415. SendClientMessage(playerid, COLOR_WHITE, string);
  14416. format(string, sizeof(string), "Admin %s has refunded you %d gram(s) of pot.", GetPlayerNameEx(playerid), amount);
  14417. SendClientMessage(giveplayerid, COLOR_WHITE, string);
  14418. format(string, sizeof(string), "%s has refunded %s %d gram(s) of pot.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), amount);
  14419. Log("logs/refunds.log", string);
  14420. }
  14421. else SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  14422. }
  14423. if(strcmp(item, "crack", true) == 0)
  14424. {
  14425. if(amount < 1 || amount > 100000)
  14426. {
  14427. SendClientMessage(playerid,COLOR_WHITE, "The amount can't be lower than 1 or higher than 100,000.");
  14428. return 1;
  14429. }
  14430. if(IsPlayerConnected(giveplayerid))
  14431. {
  14432. PlayerInfo[giveplayerid][pCrack] += amount;
  14433. format(string, sizeof(string), "You have refunded %s %d gram(s) of crack!",GetPlayerNameEx(giveplayerid), amount);
  14434. SendClientMessage(playerid, COLOR_WHITE, string);
  14435. format(string, sizeof(string), "Admin %s has refunded you %d gram(s) of crack.", GetPlayerNameEx(playerid), amount);
  14436. SendClientMessage(giveplayerid, COLOR_WHITE, string);
  14437. format(string, sizeof(string), "%s has refunded %s %d gram(s) of crack.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), amount);
  14438. Log("logs/refunds.log", string);
  14439. }
  14440. else SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  14441. }
  14442. return 1;
  14443. }
  14444. CMD:forceoffduty(playerid, params[])
  14445. {
  14446. if(PlayerInfo[playerid][pAdmin] < 6)
  14447. {
  14448. SendClientMessage(playerid, COLOR_GREY, "You're not authorized to use that command!");
  14449. return 1;
  14450. }
  14451. new string[128], giveplayerid;
  14452. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /forceoffduty [playerid/partofname]");
  14453. if(PlayerInfo[giveplayerid][pAdmin] < 1)
  14454. {
  14455. SendClientMessage(playerid, COLOR_WHITE, "That player is not an admin.");
  14456. return 1;
  14457. }
  14458. if(AdminDuty[giveplayerid] != 1)
  14459. {
  14460. SendClientMessage(playerid, COLOR_WHITE, "That admin is not on-duty.");
  14461. return 1;
  14462. }
  14463. new pState = GetPlayerState(giveplayerid);
  14464. if(pState == PLAYER_STATE_WASTED)
  14465. {
  14466. SendClientMessage(playerid, COLOR_GRAD2, "You can't do this while the admin is wasted.");
  14467. return 1;
  14468. }
  14469. format(string, sizeof(string), "AdmCmd: %s has forced %s to go off-duty as admin.",GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  14470. ABroadCast(COLOR_LIGHTRED,string,1);
  14471. if(AdminDuty[giveplayerid] != 0) {
  14472. if(!doesAccountExist(PlayerInfo[giveplayerid][pAdminName])) {
  14473. DeletePVar(giveplayerid, "MedicBill");
  14474. DeletePVar(giveplayerid, "HospitalTimer");
  14475. DeletePVar(giveplayerid, "Hospital");
  14476. DeletePVar(giveplayerid, "Injured");
  14477. DeletePVar(giveplayerid, "EMSAttempt");
  14478. DeletePVar(giveplayerid, "MedicCall");
  14479. TogglePlayerControllable(giveplayerid, 1);
  14480. ClearAnimations(giveplayerid);
  14481. PlayerCuffed[giveplayerid] = 0;
  14482. PlayerCuffedTime[giveplayerid] = 0;
  14483. DeletePVar(giveplayerid, "PlayerCuffed");
  14484. HouseOffer[giveplayerid] = 999;
  14485. House[giveplayerid] = 0;
  14486. HousePrice[giveplayerid] = 0;
  14487. SexOffer[giveplayerid] = 999;
  14488. SexPrice[giveplayerid] = 0;
  14489. InviteOffer[giveplayerid]=999;
  14490. InviteFaction[giveplayerid]=0;
  14491. InviteFamily[giveplayerid]=255;
  14492. PotOffer[giveplayerid] = 999;
  14493. CrackOffer[giveplayerid] = 999;
  14494. PotPrice[giveplayerid]=0;
  14495. CrackPrice[giveplayerid]=0;
  14496. PotGram[giveplayerid]=0;
  14497. CrackGram[giveplayerid]=0;
  14498. JailPrice[giveplayerid]=0;
  14499. DefendOffer[giveplayerid] = 999;
  14500. DefendPrice[giveplayerid] = 0;
  14501. GuardOffer[giveplayerid] = 999;
  14502. GuardPrice[giveplayerid]=0;
  14503. GunOffer[giveplayerid] = 999;
  14504. GunId[giveplayerid] = 0;
  14505. GunMats[giveplayerid] = 0;
  14506. MatsOffer[giveplayerid] = 999;
  14507. MatsPrice[giveplayerid] = 0;
  14508. MatsAmount[giveplayerid] = 0;
  14509. CraftOffer[giveplayerid] = 999;
  14510. CraftId[giveplayerid]=0;
  14511. CraftMats[giveplayerid]=0;
  14512. VehicleOffer[giveplayerid] = 999;
  14513. VehiclePrice[giveplayerid] = 0;
  14514. VehicleId[giveplayerid] = -1;
  14515. RepairCar[giveplayerid]=0;
  14516. OnDuty[giveplayerid]=0;
  14517. TicketOffer[giveplayerid] = 999;
  14518. TicketMoney[giveplayerid] = 0;
  14519. arr_Towing[giveplayerid] = INVALID_VEHICLE_ID;
  14520. GotHit[giveplayerid]=0;
  14521. GoChase[giveplayerid]=999;
  14522. GetChased[giveplayerid]=999;
  14523. DivorceOffer[giveplayerid] = 999;
  14524. MarryWitness[giveplayerid] = 999;
  14525. MarryWitnessOffer[giveplayerid] = 999;
  14526. MarriageCeremoney[giveplayerid] = 0;
  14527. ProposeOffer[giveplayerid] = 999;
  14528. ProposedTo[giveplayerid] = 999;
  14529. GotProposedBy[giveplayerid] = 999;
  14530. WasHereForPaycheck[giveplayerid] = 0;
  14531. SignedPaycheck[giveplayerid] = 0;
  14532. MissedPaychecks[giveplayerid] = 0;
  14533. PayCheckCode[giveplayerid] = 0;
  14534. PhoneOnline[giveplayerid] = 0;
  14535. SetPVarInt(giveplayerid, "AdminUndercover", 0);
  14536. new username[MAX_PLAYER_NAME];
  14537. GetPVarString(giveplayerid, "TempNameName", username, sizeof(username));
  14538. SetPVarInt(giveplayerid, "TempName", 0);
  14539. SetPlayerName(giveplayerid, username);
  14540. AdminDuty[giveplayerid] = 0;
  14541. format(string, sizeof(string), "%s (ID %d - %s) is now off-duty as Level %d Admin.", PlayerInfo[giveplayerid][pAdminName], giveplayerid, GetPlayerNameEx(giveplayerid), PlayerInfo[giveplayerid][pAdmin]);
  14542. ABroadCast(COLOR_WHITE, string, 1);
  14543. if(PlayerInfo[giveplayerid][pAdmin] == 1) {
  14544. SendClientMessage(giveplayerid, COLOR_YELLOW, "You're now off-duty as admin, but still have access to your Level 1 Admin commands.");
  14545. }
  14546. if(PlayerInfo[giveplayerid][pAdmin] > 1 && PlayerInfo[giveplayerid][pAdmin] < 6) {
  14547. SendClientMessage(giveplayerid, COLOR_YELLOW, "You're now off-duty as admin, and only have access to /admins /check /jail /ban /sban /kick /skick");
  14548. }
  14549. if(PlayerInfo[giveplayerid][pAdmin] == 6) {
  14550. SendClientMessage(giveplayerid, COLOR_YELLOW, "You're now off-duty as admin, but still have access to all of your commands since you're a Level 6 Admin.");
  14551. }
  14552. SendClientMessage(giveplayerid, COLOR_REALRED, "Please remember to turn off any hacks you may have (press F12 to disable s0beit).");
  14553. OnPlayerLogin(giveplayerid, AdminRelogPassword[giveplayerid]);
  14554. }
  14555. else {
  14556. SendClientMessage(giveplayerid, COLOR_WHITE, "This name is already registered.");
  14557. }
  14558. }
  14559. return 1;
  14560. }
  14561. CMD:asellhouse(playerid, params[])
  14562. {
  14563. if(PlayerInfo[playerid][pAdmin] >= 4)
  14564. {
  14565. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  14566. {
  14567. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  14568. return 1;
  14569. }
  14570. new playername[MAX_PLAYER_NAME];
  14571. GetPlayerName(playerid, playername, sizeof(playername));
  14572. new string[128], house;
  14573. if(sscanf(params, "d", house)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /asellhouse [houseid]");
  14574. HouseInfo[house][hLock] = 1;
  14575. new ip[32];
  14576. GetPlayerIp(playerid,ip,sizeof(ip));
  14577. format(string,sizeof(string),"Admin %s (IP: %s) has admin-sold house ID %d (was owned by %s).",GetPlayerNameEx(playerid),ip,house,HouseInfo[house][hOwner]);
  14578. Log("logs/house.log", string);
  14579. ClearHouse(house);
  14580. format(HouseInfo[house][hOwner], 128, "Nobody");
  14581. HouseInfo[house][hGLUpgrade] = 1;
  14582. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  14583. format(string, sizeof(string), "~w~You have sold house %d.", house);
  14584. GameTextForPlayer(playerid, string, 10000, 3);
  14585. SaveHouses();
  14586. DestroyPickup(HouseInfo[house][hPickupID]);
  14587. HouseInfo[house][hPickupID] = CreatePickup(1273, 23, HouseInfo[house][hExteriorX], HouseInfo[house][hExteriorY], HouseInfo[house][hExteriorZ], -1);
  14588. DestroyDynamic3DTextLabel(HouseInfo[house][hTextID]);
  14589. format(string, sizeof(string), "This house is for sale!\n Level: %d\nID: %d\nPrice: $%d\nTo buy this house type /buyhouse",HouseInfo[house][hLevel],house,HouseInfo[house][hValue]);
  14590. HouseInfo[house][hTextID] = CreateDynamic3DTextLabel(string, COLOR_HOUSEGREEN, HouseInfo[house][hExteriorX], HouseInfo[house][hExteriorY], HouseInfo[house][hExteriorZ]+0.5, 20.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 10.0);
  14591. return 1;
  14592. }
  14593. else
  14594. {
  14595. SendClientMessage(playerid, COLOR_GREY, "You're not authorized to use that command!");
  14596. }
  14597. return 1;
  14598. }
  14599. CMD:kill(playerid, params[]) {
  14600. if(GetPVarInt(playerid, "EventToken") == 1 || GetPVarInt(playerid, "Injured") != 0 || PlayerCuffed[playerid]!= 0 || GetPVarInt(playerid, "Hospital")!= 0 || PlayerInfo[playerid][pJailed]!= 0)
  14601. return SendClientMessage (playerid, COLOR_GRAD2, "You can't do this at this time.");
  14602. if(GetPVarInt(playerid, "EventToken") >= 1 || GetPVarInt(playerid, "PBM") > 0)
  14603. ResetPlayerWeapons(playerid);
  14604. SetPlayerHealth(playerid, 0);
  14605. return 1;
  14606. }
  14607. CMD:setstat(playerid, params[]) {
  14608. if(PlayerInfo[playerid][pAdmin] >= 4) {
  14609. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  14610. return SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  14611. new string[128], giveplayerid, statcode, amount;
  14612. if(sscanf(params, "udd", giveplayerid, statcode, amount)) {
  14613. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setstat [playerid/partofname] [statcode] [amount]");
  14614. SendClientMessage(playerid, COLOR_GRAD4, "|1 Level |2 SpawnArmor |3 UpgradePoints |4 BankAccount |5 PhoneNumber |6 RespectPoints |7 Playing hours");
  14615. SendClientMessage(playerid, COLOR_GRAD2, "|8 Gang |9 Det |10 Lawyer |11 Mech |12 Drug |13 Whore |14 Box |15 Arms |16 Materials |17 Pot |18 Crack");
  14616. SendClientMessage(playerid, COLOR_GRAD2, "|19 Fishing |20 Job |21 Rank |22 Packages |23 Crates |24 Smuggler |25 Warnings |26 Screwdriver");
  14617. SendClientMessage(playerid, COLOR_GRAD1, "|27 Age |28 Sex |29 NMute |30 AdMute |31 Faction |32 RMute |33 Carjacker |34 Trucker |35 Pills");
  14618. SendClientMessage(playerid, COLOR_GRAD2, "|36 Firstaid Kit");
  14619. return 1;
  14620. }
  14621. if(IsPlayerConnected(giveplayerid)) {
  14622. switch(statcode) {
  14623. case 1: {
  14624. PlayerInfo[giveplayerid][pLevel] = amount;
  14625. format(string, sizeof(string), " %s's Level has been set to %d", GetPlayerNameEx(giveplayerid), amount);
  14626. SetPlayerScore(giveplayerid, PlayerInfo[giveplayerid][pLevel]);
  14627. }
  14628. case 2: {
  14629. PlayerInfo[giveplayerid][pSarmor] = amount;
  14630. format(string, sizeof(string), " %s's ArmorUpgrade has been set to %d", GetPlayerNameEx(giveplayerid), amount);
  14631. }
  14632. case 3: {
  14633. PlayerInfo[giveplayerid][gPupgrade] = amount;
  14634. format(string, sizeof(string), " %s's Upgrade Points has been set %d", GetPlayerNameEx(giveplayerid), amount);
  14635. }
  14636. case 4: {
  14637. PlayerInfo[giveplayerid][pBank] = amount;
  14638. format(string, sizeof(string), " %s's Bank Account has been set to $%d", GetPlayerNameEx(giveplayerid), amount);
  14639. }
  14640. case 5: {
  14641. if(CheckVPH(amount))
  14642. return SendClientMessage(playerid, COLOR_GREY, "That number already exists.");
  14643. if(amount == 0 || amount == 911 || amount == 912 || amount == 913 || amount == 914 || amount == 555)
  14644. return SendClientMessage(playerid, COLOR_GREY, "The phone number can't be 911, 912, 913, 914 or 555.");
  14645. if(AdminDuty[giveplayerid] == 1)
  14646. return SendClientMessage(playerid, COLOR_GREY, "You can't change the phone number of on-duty admins.");
  14647. ReplacePH(PlayerInfo[giveplayerid][pNumber], amount);
  14648. PlayerInfo[giveplayerid][pNumber] = amount;
  14649. PlayerInfo[giveplayerid][pInt] = GetPlayerInterior(giveplayerid);
  14650. if(GetPVarType(giveplayerid, "tabbedVW") != 0) {
  14651. PlayerInfo[giveplayerid][pVW] = GetPVarInt(playerid, "tabbedVW");
  14652. } else PlayerInfo[giveplayerid][pVW] = GetPlayerVirtualWorld(giveplayerid);
  14653. GetPlayerIp(giveplayerid, PlayerInfo[giveplayerid][pIP], 32);
  14654. GetPlayerPos(giveplayerid, PlayerInfo[giveplayerid][pPos_x], PlayerInfo[giveplayerid][pPos_y], PlayerInfo[giveplayerid][pPos_z]);
  14655. GetPlayerFacingAngle(giveplayerid, PlayerInfo[giveplayerid][pPos_r]);
  14656. OnPlayerStatsUpdate(giveplayerid);
  14657. format(string, sizeof(string), " %s's Phone Number has been set to %d", GetPlayerNameEx(giveplayerid), amount);
  14658. }
  14659. case 6: {
  14660. PlayerInfo[giveplayerid][pRespect] = amount;
  14661. format(string, sizeof(string), " %s's Respect Points have been set to %d", GetPlayerNameEx(giveplayerid), amount);
  14662. }
  14663. case 7: {
  14664. PlayerInfo[giveplayerid][pConnectTime] = amount;
  14665. format(string, sizeof(string), " %s's Playing Hours has been set to %d", GetPlayerNameEx(giveplayerid), amount);
  14666. }
  14667. case 8: {
  14668. PlayerInfo[giveplayerid][pGang] = amount-1;
  14669. format(string, sizeof(string), " %s's Family Membership has been set to %d", GetPlayerNameEx(giveplayerid), amount);
  14670. }
  14671. case 9: {
  14672. PlayerInfo[giveplayerid][pDetSkill] = amount;
  14673. format(string, sizeof(string), " %s's Detective Skill has been set to %d", GetPlayerNameEx(giveplayerid), amount);
  14674. }
  14675. case 10: {
  14676. PlayerInfo[giveplayerid][pLawSkill] = amount;
  14677. format(string, sizeof(string), " %s's Lawyer Skill has been set to %d", GetPlayerNameEx(giveplayerid), amount);
  14678. }
  14679. case 11: {
  14680. PlayerInfo[giveplayerid][pMechSkill] = amount;
  14681. format(string, sizeof(string), " %s's Car Mechanic Skill has been set to %d", GetPlayerNameEx(giveplayerid), amount);
  14682. }
  14683. case 12: {
  14684. PlayerInfo[giveplayerid][pDrugsSkill] = amount;
  14685. format(string, sizeof(string), " %s's Drug Dealer Skill has been set to %d", GetPlayerNameEx(giveplayerid), amount);
  14686. }
  14687. case 13: {
  14688. PlayerInfo[giveplayerid][pSexSkill] = amount;
  14689. format(string, sizeof(string), " %s's Whore Skill has been set to %d", GetPlayerNameEx(giveplayerid), amount);
  14690. }
  14691. case 14: {
  14692. PlayerInfo[giveplayerid][pBoxSkill] = amount;
  14693. format(string, sizeof(string), " %s's Box Skill has been set to %d", GetPlayerNameEx(giveplayerid), amount);
  14694. }
  14695. case 15: {
  14696. PlayerInfo[giveplayerid][pArmsSkill] = amount;
  14697. format(string, sizeof(string), " %s's Arms Skill has been set to %d", GetPlayerNameEx(giveplayerid), amount);
  14698. }
  14699. case 16: {
  14700. PlayerInfo[giveplayerid][pMats] = amount;
  14701. format(string, sizeof(string), " %s's Materials have been set to %d", GetPlayerNameEx(giveplayerid), amount);
  14702. }
  14703. case 17: {
  14704. PlayerInfo[giveplayerid][pPot] = amount;
  14705. format(string, sizeof(string), " %s's Pot has been set to %d", GetPlayerNameEx(giveplayerid), amount);
  14706. }
  14707. case 18: {
  14708. PlayerInfo[giveplayerid][pCrack] = amount;
  14709. format(string, sizeof(string), " %s's Crack has been set to %d", GetPlayerNameEx(giveplayerid), amount);
  14710. }
  14711. case 19: {
  14712. PlayerInfo[giveplayerid][pFishSkill] = amount;
  14713. format(string, sizeof(string), " %s's Fishing Skill has been set to %d", GetPlayerNameEx(giveplayerid), amount);
  14714. }
  14715. case 20: {
  14716. PlayerInfo[giveplayerid][pJob] = amount;
  14717. format(string, sizeof(string), " %s's Job has been set to %d", GetPlayerNameEx(giveplayerid), amount);
  14718. }
  14719. case 21: {
  14720. PlayerInfo[giveplayerid][pRank] = amount;
  14721. format(string, sizeof(string), " %s's Rank has been to %d", GetPlayerNameEx(giveplayerid), amount);
  14722. }
  14723. case 22: {
  14724. SetPVarInt(playerid, "Packages", amount);
  14725. format(string, sizeof(string), " %s's Materials Packages have been set to %d", GetPlayerNameEx(giveplayerid), amount);
  14726. }
  14727. case 23: {
  14728. PlayerInfo[giveplayerid][pCrates] = amount;
  14729. format(string, sizeof(string), " %s's Drug Crates have been set to %d", GetPlayerNameEx(giveplayerid), amount);
  14730. }
  14731. case 24: {
  14732. PlayerInfo[giveplayerid][pSmugSkill] = amount;
  14733. format(string, sizeof(string), " %s's Smuggler Skill has been set to %d", GetPlayerNameEx(giveplayerid), amount);
  14734. }
  14735. case 25: {
  14736. PlayerInfo[giveplayerid][pWarns] = amount;
  14737. format(string, sizeof(string), " %s's Warnings have been set to %d", GetPlayerNameEx(giveplayerid), amount);
  14738. }
  14739. case 26: {
  14740. PlayerInfo[giveplayerid][pScrewdriver] = amount;
  14741. format(string, sizeof(string), " %s's Screwdrivers have been set to %d", GetPlayerNameEx(giveplayerid), amount);
  14742. }
  14743. case 27: {
  14744. PlayerInfo[giveplayerid][pAge] = amount;
  14745. format(string, sizeof(string), " %s's Age has been set to %d", GetPlayerNameEx(giveplayerid), amount);
  14746. }
  14747. case 28: {
  14748. PlayerInfo[giveplayerid][pSex] = amount;
  14749. format(string, sizeof(string), " %s's Sex has been set to %d", GetPlayerNameEx(giveplayerid), amount);
  14750. }
  14751. case 29: {
  14752. PlayerInfo[giveplayerid][pNMuteTotal] = amount;
  14753. format(string, sizeof(string), " %s's Total Newbie Mutes has been set to %d", GetPlayerNameEx(giveplayerid), amount);
  14754. }
  14755. case 30: {
  14756. PlayerInfo[giveplayerid][pADMuteTotal] = amount;
  14757. format(string, sizeof(string), " %s's Total Ad Mutes has been set to %d", GetPlayerNameEx(giveplayerid), amount);
  14758. }
  14759. case 31: {
  14760. PlayerInfo[giveplayerid][pFaction] = amount;
  14761. format(string, sizeof(string), " %s's Faction has been set to %d", GetPlayerNameEx(giveplayerid), amount);
  14762. }
  14763. case 32: {
  14764. PlayerInfo[giveplayerid][pRMutedTotal] = amount;
  14765. format(string, sizeof(string), " %s's Report Mutes has been set to %d", GetPlayerNameEx(giveplayerid), amount);
  14766. }
  14767. case 33: {
  14768. PlayerInfo[giveplayerid][pCarSkill] = amount;
  14769. format(string, sizeof(string), " %s's Car Jacker Skill has been set to %d", GetPlayerNameEx(giveplayerid), amount);
  14770. }
  14771. case 34: {
  14772. PlayerInfo[giveplayerid][pTruckSkill] = amount;
  14773. format(string, sizeof(string), " %s's Trucker Skill has been set to %d", GetPlayerNameEx(giveplayerid), amount);
  14774. }
  14775. case 35: {
  14776. PlayerInfo[giveplayerid][pPills] = amount;
  14777. format(string, sizeof(string), " %s's Pills has been set to %d", GetPlayerNameEx(giveplayerid), amount);
  14778. }
  14779. case 36: {
  14780. PlayerInfo[giveplayerid][pFirstaid] = amount;
  14781. format(string, sizeof(string), " %s's FirstaidKit has been set to %d", GetPlayerNameEx(giveplayerid), amount);
  14782. }
  14783. default: {
  14784. format(string, sizeof(string), " Invalid stat code.", amount);
  14785. }
  14786. }
  14787. new log[128];
  14788. format(log, sizeof(log), "%s by %s", string, GetPlayerNameEx(playerid));
  14789. Log("logs/stats.log", log);
  14790. SendClientMessage(playerid, COLOR_WHITE, string);
  14791. }
  14792. }
  14793. return 1;
  14794. }
  14795. CMD:setinsurance(playerid, params[])
  14796. {
  14797. if(PlayerInfo[playerid][pAdmin] >= 4)
  14798. {
  14799. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  14800. {
  14801. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  14802. return 1;
  14803. }
  14804. new string[128], giveplayerid, insurance;
  14805. if(sscanf(params, "ud", giveplayerid, insurance))
  14806. {
  14807. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setinsurance [playerid/partofname] [insurance]");
  14808. SendClientMessage(playerid, COLOR_GRAD2, "Available Insurances: 0, 1, 2");
  14809. return 1;
  14810. }
  14811. if(insurance >= 0 && insurance <= 2)
  14812. {
  14813. format(string, sizeof(string), " Your insurance has been changed to %d.", insurance);
  14814. SendClientMessage(giveplayerid,COLOR_YELLOW,string);
  14815. format(string, sizeof(string), " You have changed %s's insurance to %d.", GetPlayerNameEx(giveplayerid), insurance);
  14816. SendClientMessage(playerid,COLOR_YELLOW,string);
  14817. PlayerInfo[giveplayerid][pInsurance] = insurance;
  14818. return 1;
  14819. }
  14820. }
  14821. else
  14822. {
  14823. SendClientMessage(playerid, COLOR_GRAD2, "You're not authorized to use that command!");
  14824. }
  14825. return 1;
  14826. }
  14827. CMD:countdown(playerid, params[])
  14828. {
  14829. if(PlayerInfo[playerid][pAdmin] >= 4)
  14830. {
  14831. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  14832. {
  14833. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  14834. return 1;
  14835. }
  14836. SetTimer("Three", 1000, 0);
  14837. SetTimer("Two", 2000, 0);
  14838. SetTimer("One", 3000, 0);
  14839. SetTimer("GoGoGo", 4000, 0);
  14840. }
  14841. else
  14842. {
  14843. SendClientMessage(playerid, COLOR_GRAD2, "You're not authorized to use that command!");
  14844. }
  14845. return 1;
  14846. }
  14847. forward Three();
  14848. public Three()
  14849. {
  14850. SendClientMessageToAllEx(COLOR_LIGHTBLUE, "3");
  14851. return 1;
  14852. }
  14853. forward Two();
  14854. public Two()
  14855. {
  14856. SendClientMessageToAllEx(COLOR_LIGHTBLUE, "2");
  14857. return 1;
  14858. }
  14859. forward One();
  14860. public One()
  14861. {
  14862. SendClientMessageToAllEx(COLOR_LIGHTBLUE, "1");
  14863. return 1;
  14864. }
  14865. forward GoGoGo();
  14866. public GoGoGo()
  14867. {
  14868. SendClientMessageToAllEx(COLOR_LIGHTBLUE, "Go!");
  14869. return 1;
  14870. }
  14871. CMD:fackick(playerid, params[])
  14872. {
  14873. if(PlayerInfo[playerid][pAdmin] >= 4)
  14874. {
  14875. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  14876. {
  14877. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  14878. return 1;
  14879. }
  14880. new string[128], giveplayerid;
  14881. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /fackick [playerid/partofname]");
  14882. if(IsPlayerConnected(giveplayerid))
  14883. {
  14884. if(PlayerInfo[giveplayerid][pFaction] >= 1 || PlayerInfo[giveplayerid][pLeader] >= 1)
  14885. {
  14886. format(string, sizeof(string), "You have been faction-kicked, by %s.", GetPlayerNameEx(playerid));
  14887. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  14888. PlayerInfo[giveplayerid][pFaction] = 0;
  14889. PlayerInfo[giveplayerid][pRank] = 0;
  14890. PlayerInfo[giveplayerid][pDuty] = 0;
  14891. PlayerInfo[giveplayerid][pLeader] = 0;
  14892. PlayerInfo[giveplayerid][pDivision] = 0;
  14893. if(!IsValidSkin(GetPlayerSkin(giveplayerid)))
  14894. {
  14895. new rand = random(sizeof(CIV));
  14896. SetPlayerSkin(giveplayerid,CIV[rand]);
  14897. PlayerInfo[giveplayerid][pSkin] = CIV[rand];
  14898. }
  14899. player_remove_vip_toys(giveplayerid);
  14900. pTazer[giveplayerid] = 0;
  14901. SetPlayerToTeamColor(giveplayerid);
  14902. format(string, sizeof(string), "You have faction-kicked %s.", GetPlayerNameEx(giveplayerid));
  14903. SendClientMessage(playerid, COLOR_WHITE, string);
  14904. }
  14905. else
  14906. {
  14907. SendClientMessage(playerid, COLOR_WHITE, "You can't kick someone from a faction if they're not a member.");
  14908. }
  14909. }
  14910. else
  14911. {
  14912. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified..");
  14913. }
  14914. }
  14915. return 1;
  14916. }
  14917. CMD:setmyname(playerid, params[]) {
  14918. new string[128];
  14919. if(isnull(params))
  14920. return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setmyname [newname]");
  14921. if(PlayerInfo[playerid][pAdmin] >= 4) {
  14922. if(AdminDuty[playerid] != 1)
  14923. return SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  14924. if(strcmp(params, "Howard", true) == 0 && PlayerInfo[playerid][pAdmin] < 6)
  14925. return SendClientMessage(playerid, COLOR_WHITE, "stop ! im howard ! you're not howard !");
  14926. if(strfind(params, "_", false) == -1 && strcmp(params, "off") != 0)
  14927. return SendClientMessage(playerid, COLOR_GREY, "Your name must include an underscore ('_').");
  14928. if(strlen(params) > 18)
  14929. return SendClientMessage(playerid, COLOR_GREY, "Your name exceeds the character limit for names in SA-MP.");
  14930. if(GetPVarInt(playerid, "AdminUndercover") == 0)
  14931. {
  14932. if(!doesAccountExist(params))
  14933. {
  14934. format(string, sizeof(string), "You have temporarily set your name to %s.", params);
  14935. SendClientMessage(playerid, COLOR_YELLOW, string);
  14936. SendClientMessage(playerid, COLOR_YELLOW, "Use '/setmyname off' to go back to your admin name.");
  14937. SetPVarInt(playerid, "AdminUndercover", 1);
  14938. SetPlayerName(playerid, params);
  14939. format(string, sizeof(string), "%s has changed their name to %s.", PlayerInfo[playerid][pAdminName], params);
  14940. Log("logs/undercover.log", string);
  14941. }
  14942. else
  14943. {
  14944. SendClientMessage(playerid, COLOR_WHITE, "This name is already registered.");
  14945. }
  14946. }
  14947. else
  14948. {
  14949. format(string, sizeof(string), "You changed your name back to %s", PlayerInfo[playerid][pAdminName]);
  14950. SendClientMessage(playerid, COLOR_YELLOW, string);
  14951. SetPVarInt(playerid, "AdminUndercover", 0);
  14952. SetPlayerName(playerid, PlayerInfo[playerid][pAdminName]);
  14953. }
  14954. }
  14955. return 1;
  14956. }
  14957. CMD:jetpack(playerid, params[])
  14958. {
  14959. if(PlayerInfo[playerid][pAdmin] < 1)
  14960. {
  14961. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  14962. return 1;
  14963. }
  14964. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  14965. {
  14966. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  14967. return 1;
  14968. }
  14969. if(PlayerInfo[playerid][pAdmin] >= 1 && PlayerInfo[playerid][pAdmin] < 4) {
  14970. JetPack[playerid] = 1;
  14971. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USEJETPACK);
  14972. return 1;
  14973. }
  14974. new string[128], plo;
  14975. if(sscanf(params, "u", plo)) {
  14976. SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /jetpack [playerid/partofname]");
  14977. return 1;
  14978. }
  14979. if(IsPlayerConnected(plo)) {
  14980. if(plo != INVALID_PLAYER_ID) {
  14981. if(PlayerInfo[playerid][pAdmin] >= 4) {
  14982. SendClientMessage(plo, COLOR_GRAD1, "Enjoy your new jetpack!");
  14983. JetPack[plo] = 1;
  14984. SetPlayerSpecialAction(plo, SPECIAL_ACTION_USEJETPACK);
  14985. format(string, sizeof(string), "AdmCmd: %s has received a jetpack from %s", GetPlayerNameEx(plo), GetPlayerNameEx(playerid));
  14986. ABroadCast(COLOR_LIGHTRED, string, 1);
  14987. }
  14988. else {
  14989. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  14990. }
  14991. }
  14992. }
  14993. else SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  14994. return 1;
  14995. }
  14996. CMD:serial(playerid, params[])
  14997. {
  14998. if(PlayerInfo[playerid][pAdmin] >= 2)
  14999. {
  15000. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  15001. {
  15002. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  15003. return 1;
  15004. }
  15005. new giveplayerid;
  15006. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /serial [playerid/partofname]");
  15007. if(IsPlayerConnected(giveplayerid))
  15008. {
  15009. new string[256];
  15010. new serial[128];
  15011. gpci(giveplayerid, serial, sizeof(serial));
  15012. format(string, sizeof(string), "(ID: %d) - (Name: %s) - (Serial: %s)", giveplayerid, GetPlayerNameEx(giveplayerid), serial);
  15013. SendClientMessage(playerid, COLOR_WHITE, string);
  15014. }
  15015. else SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  15016. }
  15017. else
  15018. {
  15019. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  15020. }
  15021. return 1;
  15022. }
  15023. CMD:ipcheck(playerid, params[])
  15024. {
  15025. if(PlayerInfo[playerid][pAdmin] >= 2)
  15026. {
  15027. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  15028. {
  15029. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  15030. return 1;
  15031. }
  15032. new string[128], giveplayerid;
  15033. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /ipcheck [playerid/partofname]");
  15034. if(giveplayerid == INVALID_PLAYER_ID) return 1;
  15035. if(IsPlayerConnected(giveplayerid))
  15036. {
  15037. new playerip[32];
  15038. GetPlayerIp(giveplayerid, playerip, sizeof(playerip));
  15039. format(string, sizeof(string), "(ID: %d) - (Name: %s) - (IP: %s)", giveplayerid, GetPlayerNameEx(giveplayerid), playerip);
  15040. SendClientMessage(playerid, COLOR_WHITE, string);
  15041. }
  15042. else SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  15043. }
  15044. else
  15045. {
  15046. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  15047. }
  15048. return 1;
  15049. }
  15050. CMD:giftall(playerid, params[])
  15051. {
  15052. if(PlayerInfo[playerid][pAdmin] >= 5)
  15053. {
  15054. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  15055. {
  15056. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  15057. return 1;
  15058. }
  15059. if(GiftAllowed)
  15060. {
  15061. new string[128];
  15062. format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s has just sent a Gift Box to all players.", GetPlayerNameEx(playerid));
  15063. ABroadCast(COLOR_YELLOW, string, 2);
  15064. GiftAllowed = 0;
  15065. foreach(Player, i)
  15066. {
  15067. MysteryEggGift(playerid, i);
  15068. }
  15069. }
  15070. else
  15071. {
  15072. return SendClientMessageEx(playerid, COLOR_GRAD2, "This command has already been used, wait until the next paycheck!");
  15073. }
  15074. }
  15075. return 1;
  15076. }
  15077. CMD:oipcheck(playerid, params[])
  15078. {
  15079. if(PlayerInfo[playerid][pAdmin] < 2)
  15080. {
  15081. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  15082. return 1;
  15083. }
  15084. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  15085. {
  15086. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  15087. return 1;
  15088. }
  15089. new string[128], name[MAX_PLAYER_NAME];
  15090. if(sscanf(params, "s", name)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /oipcheck [name]");
  15091. if(doesAccountExist(name))
  15092. {
  15093. OnPlayerOfflineLogin(name);
  15094. format(string, sizeof(string), "%s's IP: %s", name,PlayerInfo[MAX_PLAYERS][pIP]);
  15095. SendClientMessage(playerid, COLOR_WHITE, string);
  15096. }
  15097. return 1;
  15098. }
  15099. CMD:ip(playerid, params[])
  15100. {
  15101. if(PlayerInfo[playerid][pAdmin] >= 2)
  15102. {
  15103. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  15104. {
  15105. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  15106. return 1;
  15107. }
  15108. if(isnull(params)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /ip [ip]");
  15109. new string[128], IP[32];
  15110. foreach(Player, i)
  15111. {
  15112. GetPlayerIp(i, IP, sizeof(IP));
  15113. if(strfind(IP, params, true) != -1)
  15114. {
  15115. format(string, sizeof(string), "Player: %s (ID: %d) | IP: %s", GetPlayerNameEx(i), i, IP);
  15116. SendClientMessage(playerid, COLOR_WHITE, string);
  15117. }
  15118. }
  15119. }
  15120. return 1;
  15121. }
  15122. CMD:unbanip(playerid, params[])
  15123. {
  15124. if(PlayerInfo[playerid][pAdmin] >= 4 || PlayerInfo[playerid][pBanAppealer] >= 1)
  15125. {
  15126. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  15127. {
  15128. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  15129. return 1;
  15130. }
  15131. if(isnull(params)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /unbanip [ip]");
  15132. if(IsValidIP(params)) return SendClientMessage(playerid, COLOR_WHITE, "That is not a valid IP address!");
  15133. new string[128];
  15134. RemoveBan(params);
  15135. format(string, 128, "AdmCmd: %s has unbanned IP %s", GetPlayerNameEx(playerid), params);
  15136. ABroadCast(COLOR_LIGHTRED,string,2);
  15137. format(string, sizeof(string), "AdmCmd: %s has unbanned IP %s", GetPlayerNameEx(playerid), params);
  15138. Log("logs/ban.log", string);
  15139. }
  15140. return 1;
  15141. }
  15142. CMD:unban(playerid, params[])
  15143. {
  15144. if(PlayerInfo[playerid][pAdmin] >= 4 || PlayerInfo[playerid][pBanAppealer] >= 1)
  15145. {
  15146. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  15147. {
  15148. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  15149. return 1;
  15150. }
  15151. new string[128];
  15152. if(isnull(params)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /unban [playername]");
  15153. if(doesAccountExist(params))
  15154. {
  15155. OnPlayerOfflineLogin(params);
  15156. if(PlayerInfo[MAX_PLAYERS][pPermaBanned] == 1)
  15157. {
  15158. SendClientMessage(playerid, COLOR_WHITE, "Permanently banned accounts can only be unbanned via FTP.");
  15159. }
  15160. else
  15161. {
  15162. if(PlayerInfo[MAX_PLAYERS][pBanned] >= 1)
  15163. {
  15164. PlayerInfo[MAX_PLAYERS][pBanned] = 0;
  15165. if(PlayerInfo[MAX_PLAYERS][pWarns] == 3) // reset warnings if they're 3
  15166. PlayerInfo[MAX_PLAYERS][pWarns] = 0;
  15167. RemoveBan(PlayerInfo[MAX_PLAYERS][pIP]);
  15168. OnPlayerOfflineSave(params);
  15169. format(string, 128, "AdmCmd: %s (IP:%s) was unbanned by %s.", params, PlayerInfo[MAX_PLAYERS][pIP], GetPlayerNameEx(playerid));
  15170. ABroadCast(COLOR_LIGHTRED,string,1);
  15171. format(string, sizeof(string), "AdmCmd: %s (IP:%s) was unbanned by %s.", params, PlayerInfo[MAX_PLAYERS][pIP], GetPlayerNameEx(playerid));
  15172. Log("logs/ban.log", string);
  15173. }
  15174. else
  15175. {
  15176. SendClientMessage(playerid, COLOR_WHITE, "Not a banned account!");
  15177. }
  15178. }
  15179. }
  15180. else
  15181. {
  15182. SendClientMessage(playerid, COLOR_WHITE, "That account doesn't exist.");
  15183. }
  15184. }
  15185. else
  15186. {
  15187. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  15188. }
  15189. return 1;
  15190. }
  15191. CMD:ocreatepvehicle(playerid, params[])
  15192. {
  15193. if(PlayerInfo[playerid][pAdmin] < 4)
  15194. {
  15195. SendClientMessage(playerid, COLOR_GREY, "You're not allowed to use this command.");
  15196. return 1;
  15197. }
  15198. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  15199. {
  15200. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  15201. return 1;
  15202. }
  15203. new string[128], giveplayerid, modelid, color1, color2, playername[MAX_PLAYER_NAME];
  15204. if(sscanf(params, "s[MAX_PLAYER_NAME]ddd", playername, modelid, color1, color2)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /ocreatepvehicle [playername] [modelid] [color 1] [color 2]");
  15205. giveplayerid = ReturnUser(playername);
  15206. if(IsPlayerConnected(giveplayerid))
  15207. {
  15208. SendClientMessage(playerid, COLOR_GRAD2, "That player is online, use /createpvehicle for online players.");
  15209. }
  15210. else if(doesAccountExist(playername))
  15211. {
  15212. OnPlayerOfflineLogin(playername);
  15213. if(color1 < 0 || color1 > 255) { SendClientMessage(playerid, COLOR_GREY, " Color Number can't be below 0 or above 255!"); return 1; }
  15214. if(color2 < 0 || color2 > 255) { SendClientMessage(playerid, COLOR_GREY, " Color Number can't be below 0 or above 255!"); return 1; }
  15215. if(modelid < 400 || modelid > 611) { SendClientMessage(playerid, COLOR_GREY, " Vehicle Number can't be below 400 or above 611!"); return 1; }
  15216. new playervehicleid = GetPlayerFreeVehicleId(MAX_PLAYERS);
  15217. new carsamount = GetPlayerVehicleCount(giveplayerid);
  15218. // (TEMPORARY - Howard NOTE) TempDonator not added yet
  15219. if(PlayerInfo[MAX_PLAYERS][pDonator] == 0 && carsamount >= 5) //PlayerInfo[giveplayerid][pTempDonator] > 0) && carsamount >= 5)
  15220. {
  15221. SendClientMessage(giveplayerid, COLOR_GREY, "That player can't have more cars, non-donator can only own 5 cars.");
  15222. return 1;
  15223. }
  15224. if(PlayerInfo[MAX_PLAYERS][pDonator] == 1 && carsamount >= 7)
  15225. {
  15226. SendClientMessage(giveplayerid, COLOR_GREY, "That player can't have more cars, Ruby Donator can only own 7 cars.");
  15227. return 1;
  15228. }
  15229. if(PlayerInfo[MAX_PLAYERS][pDonator] == 2 && carsamount >= 8)
  15230. {
  15231. SendClientMessage(giveplayerid, COLOR_GREY, "That player can't have more cars, Sapphire Donator can only own 8 cars.");
  15232. return 1;
  15233. }
  15234. if(PlayerInfo[MAX_PLAYERS][pDonator] == 3 && carsamount >= 10)
  15235. {
  15236. SendClientMessage(giveplayerid, COLOR_GREY, "That player can't have more cars, Diamond Donator can only own 10 cars.");
  15237. return 1;
  15238. }
  15239. /*if(PlayerInfo[giveplayerid][pDonator] >= 4 && carsamount >= 10)
  15240. {
  15241. SendClientMessage(giveplayerid, COLOR_GREY, "That player can't have more cars, Platinum+ VIP can only own 10 cars.");
  15242. return 1;
  15243. }*/
  15244. if(playervehicleid == -1) return SendClientMessage(playerid, COLOR_GREY, "ERROR: That player can't have more cars.");
  15245. if(PlayerInfo[MAX_PLAYERS][pDonator] == 0)
  15246. {
  15247. SendClientMessage(MAX_PLAYERS, COLOR_GREY, "That player is non-donator and can only have 1 vehicle spawned. The player must store that vehicle in order to create a new one.");
  15248. return 1;
  15249. }
  15250. if(PlayerInfo[MAX_PLAYERS][pDonator] == 1)
  15251. {
  15252. SendClientMessage(MAX_PLAYERS, COLOR_GREY, "That player is Ruby Donator and can only have 2 vehicles spawned. The player must store that vehicle in order to create a new one.");
  15253. return 1;
  15254. }
  15255. if(PlayerInfo[giveplayerid][pDonator] == 2)
  15256. {
  15257. SendClientMessage(MAX_PLAYERS, COLOR_GREY, "That player is Sapphire Donator and can only have 3 vehicles spawned. The player must store a vehicle in order to create a new one.");
  15258. return 1;
  15259. }
  15260. if(PlayerInfo[giveplayerid][pDonator] == 3)
  15261. {
  15262. SendClientMessage(MAX_PLAYERS, COLOR_GREY, "That player is Diamond Donator and can only have 4 vehicles spawned. The player must store a vehicle in order to create a new one.");
  15263. return 1;
  15264. }
  15265. /*if(PlayerInfo[giveplayerid][pDonator] == 4 && VehicleSpawned[giveplayerid] >= 5)
  15266. {
  15267. SendClientMessage(giveplayerid, COLOR_GREY, "That player is Undefined Donator and can only have 5 vehicles spawned. The player must store a vehicle in order to create a new one.");
  15268. return 1;
  15269. }
  15270. if(PlayerInfo[giveplayerid][pDonator] == 5 && VehicleSpawned[giveplayerid] >= 5)
  15271. {
  15272. SendClientMessage(giveplayerid, COLOR_GREY, "That player is a VIP Moderator and can only have 5 vehicles spawned. The player must store a vehicle in order to create a new one.");
  15273. return 1;
  15274. }*/
  15275. if(PlayerInfo[MAX_PLAYERS][pDonator] < 0 || PlayerInfo[MAX_PLAYERS][pDonator] > 3)
  15276. {
  15277. SendClientMessage(MAX_PLAYERS, COLOR_GREY, "ERROR: That player has an invalid Donator level.");
  15278. return 1;
  15279. }
  15280. new car = CreatePlayerVehicle(MAX_PLAYERS, playervehicleid, modelid, PlayerInfo[MAX_PLAYERS][pPos_x], PlayerInfo[MAX_PLAYERS][pPos_y], PlayerInfo[MAX_PLAYERS][pPos_z], 50, color1, color2, 0);
  15281. if(car == INVALID_PLAYER_VEHICLE_ID)
  15282. {
  15283. SendClientMessage(playerid, COLOR_GREY, "ERROR: Something went wrong and the car didn't get created.");
  15284. }
  15285. else
  15286. {
  15287. format(string, sizeof(string), " Vehicle successfully created with ID %d.", car);
  15288. SendClientMessage(playerid, COLOR_GRAD1, string);
  15289. }
  15290. format(string, sizeof(string), "%s has created a %s for %s (Color 1: %d | Color 2: %d).", GetPlayerNameEx(playerid), GetVehicleName(car), playername, color1, color2);
  15291. Log("logs/playervehicle.log", string);
  15292. OnPlayerOfflineSave(playername);
  15293. }
  15294. else SCM(playerid, COLOR_WHITE, "That account does not exist.");
  15295. return 1;
  15296. }
  15297. CMD:oban(playerid, params[])
  15298. {
  15299. if(PlayerInfo[playerid][pAdmin] < 4)
  15300. {
  15301. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  15302. return 1;
  15303. }
  15304. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  15305. {
  15306. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  15307. return 1;
  15308. }
  15309. new string[128], playername[MAX_PLAYER_NAME], reason[64];
  15310. if(sscanf(params, "s[MAX_PLAYER_NAME]s[64]", playername, reason)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /oban [playername] [reason]");
  15311. new giveplayerid = ReturnUser(playername);
  15312. if(IsPlayerConnected(giveplayerid))
  15313. {
  15314. SendClientMessage(playerid, COLOR_GRAD2, "That player is online, use /ban for online players.");
  15315. }
  15316. else if(doesAccountExist(playername))
  15317. {
  15318. OnPlayerOfflineLogin(playername);
  15319. if(PlayerInfo[MAX_PLAYERS][pPermaBanned] == 1)
  15320. {
  15321. SendClientMessage(playerid, COLOR_WHITE, "That player is already permabanned!");
  15322. return 1;
  15323. }
  15324. if(PlayerInfo[MAX_PLAYERS][pAdmin] >= 1)
  15325. {
  15326. SendClientMessage(playerid, COLOR_WHITE, "You can't ban admin accounts!");
  15327. return 1;
  15328. }
  15329. else
  15330. {
  15331. if(PlayerInfo[MAX_PLAYERS][pBanned] >= 0)
  15332. {
  15333. PlayerInfo[MAX_PLAYERS][pBanned] = 1;
  15334. AddBan(PlayerInfo[MAX_PLAYERS][pIP]);
  15335. OnPlayerOfflineSave(playername);
  15336. format(string, sizeof(string), "AdmCmd: %s (IP:%s) was offline banned by %s, reason: %s", playername, PlayerInfo[MAX_PLAYERS][pIP], GetPlayerNameEx(playerid), reason);
  15337. Log("logs/ban.log", string);
  15338. format(string, 128, "AdmCmd: %s (IP:%s) was offline banned by %s, reason: %s", playername, PlayerInfo[MAX_PLAYERS][pIP], GetPlayerNameEx(playerid), reason);
  15339. ABroadCast(COLOR_LIGHTRED,string,1);
  15340. }
  15341. else
  15342. {
  15343. SendClientMessage(playerid, COLOR_WHITE, "That player is already banned!");
  15344. }
  15345. }
  15346. }
  15347. else
  15348. {
  15349. SendClientMessage(playerid, COLOR_WHITE, "That account doesn't exist.");
  15350. }
  15351. return 1;
  15352. }
  15353. CMD:hmole(playerid, params[])
  15354. {
  15355. if(PlayerInfo[playerid][pFaction] == 4 || PlayerInfo[playerid][pLeader] == 4)
  15356. {
  15357. if ((!hmole))
  15358. {
  15359. SendClientMessageEx(playerid, COLOR_GRAD2, "Please try again later, Hitman Agency Mole can be submitted every 10 Mins.");
  15360. return 1;
  15361. }
  15362. new string[128];
  15363. if(isnull(params)) return SendClientMessageEx(playerid, COLOR_WHITE, "USAGE: /hmole [contract text]");
  15364. SetTimer("hMoleOn", hmoletimer, 0);hmole = 0;
  15365. format(string, sizeof(string), "SMS: %s ((/contract)), Sender: MOLE (555) ",params);
  15366. SendClientMessageToAllEx(COLOR_YELLOW, string);
  15367. }
  15368. else
  15369. {
  15370. SendClientMessageEx(playerid, COLOR_GREY, "ERROR: You are not a member of The Hitman Agency");
  15371. return 1;
  15372. }
  15373. return 1;
  15374. }
  15375. CMD:mole(playerid, params[])
  15376. {
  15377. if(PlayerInfo[playerid][pAdmin] < 3)
  15378. {
  15379. SendClientMessage(playerid, COLOR_GREY, "You're not authorized to use that command!");
  15380. return 1;
  15381. }
  15382. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  15383. {
  15384. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  15385. return 1;
  15386. }
  15387. new string[128];
  15388. if(isnull(params)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /mole [mole text]");
  15389. format(string, sizeof(string), "SMS: %s, Sender: MOLE (555)",params);
  15390. SendClientMessageToAllEx(COLOR_YELLOW, string);
  15391. return 1;
  15392. }
  15393. CMD:warn(playerid, params[])
  15394. {
  15395. if(PlayerInfo[playerid][pAdmin] >= 2)
  15396. {
  15397. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  15398. {
  15399. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  15400. return 1;
  15401. }
  15402. new string[128], giveplayerid, reason[64];
  15403. if(sscanf(params, "us[64]", giveplayerid, reason)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /warn [playerid/partofname] [reason]");
  15404. if(IsPlayerConnected(giveplayerid))
  15405. {
  15406. if(PlayerInfo[giveplayerid][pAdmin] >= 1)
  15407. {
  15408. SendClientMessage(playerid, COLOR_GRAD2, "Admins can't be warned!");
  15409. return 1;
  15410. }
  15411. PlayerInfo[giveplayerid][pWarns] += 1;
  15412. if(PlayerInfo[giveplayerid][pWarns] >= 3)
  15413. {
  15414. new ip[32];
  15415. GetPlayerIp(giveplayerid,ip,sizeof(ip));
  15416. format(string, sizeof(string), "AdmCmd: %s (IP: %s) was banned by %s (had 3 Warnings), reason: %s", GetPlayerNameEx(giveplayerid), ip, GetPlayerNameEx(playerid), reason);
  15417. Log("logs/ban.log", string);
  15418. format(string, sizeof(string), "AdmCmd: %s was banned by %s (had 3 Warnings), reason: %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason);
  15419. SendClientMessageToAllEx(COLOR_LIGHTRED, string);
  15420. PlayerInfo[giveplayerid][pBanned] = 1;
  15421. AddBan(ip);
  15422. Kick(giveplayerid);
  15423. return 1;
  15424. }
  15425. format(string, sizeof(string), "AdmCmd: %s was warned by %s, reason: %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason);
  15426. ABroadCast(COLOR_LIGHTRED, string, 1);
  15427. format(string, sizeof(string), "AdmCmd: %s was warned by %s, reason: %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason);
  15428. Log("logs/admin.log", string);
  15429. format(string, sizeof(string), "You were warned by %s, reason: %s", GetPlayerNameEx(playerid), reason);
  15430. SendClientMessage(giveplayerid, COLOR_LIGHTRED, string);
  15431. return 1;
  15432. }
  15433. }
  15434. else SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  15435. return 1;
  15436. }
  15437. CMD:owarn(playerid, params[])
  15438. {
  15439. if(PlayerInfo[playerid][pAdmin] < 3)
  15440. {
  15441. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  15442. return 1;
  15443. }
  15444. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  15445. {
  15446. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  15447. return 1;
  15448. }
  15449. new string[128], name[MAX_PLAYER_NAME], reason[64];
  15450. if(sscanf(params, "s[24]s[64]", name, reason)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /owarn [name] [reason]");
  15451. new giveplayerid = ReturnUser(name);
  15452. if(giveplayerid != INVALID_PLAYER_ID)
  15453. {
  15454. SendClientMessage(playerid, COLOR_GRAD2, "That player is online, use /warn for online players.");
  15455. return 1;
  15456. }
  15457. if(doesAccountExist(name))
  15458. {
  15459. OnPlayerOfflineLogin(name);
  15460. if(PlayerInfo[MAX_PLAYERS][pPermaBanned] == 1)
  15461. {
  15462. SendClientMessage(playerid, COLOR_WHITE, "That player is already permabanned!");
  15463. return 1;
  15464. }
  15465. if(PlayerInfo[MAX_PLAYERS][pBanned] > 0)
  15466. {
  15467. SendClientMessage(playerid, COLOR_WHITE, "That player is already banned!");
  15468. return 1;
  15469. }
  15470. if(PlayerInfo[MAX_PLAYERS][pAdmin] >= 1)
  15471. {
  15472. SendClientMessage(playerid, COLOR_WHITE, "You can't warn admin accounts!");
  15473. return 1;
  15474. }
  15475. PlayerInfo[MAX_PLAYERS][pWarns] += 1;
  15476. if(PlayerInfo[MAX_PLAYERS][pWarns] >= 3)
  15477. {
  15478. format(string, sizeof(string), "AdmCmd: %s (IP:%s) was offline banned by %s (had 3 Warnings), reason: %s", name, PlayerInfo[MAX_PLAYERS][pIP], GetPlayerNameEx(playerid), reason);
  15479. Log("logs/ban.log", string);
  15480. format(string, sizeof(string), "AdmCmd: %s was offline banned by %s (had 3 Warnings), reason: %s", name, GetPlayerNameEx(playerid), reason);
  15481. ABroadCast(COLOR_LIGHTRED,string,1);
  15482. PlayerInfo[MAX_PLAYERS][pBanned] = 1;
  15483. AddBan(PlayerInfo[MAX_PLAYERS][pIP]);
  15484. OnPlayerOfflineSave(name);
  15485. return 1;
  15486. }
  15487. format(string, sizeof(string), "AdmCmd: %s was offline warned by %s, reason: %s", name, GetPlayerNameEx(playerid), reason);
  15488. ABroadCast(COLOR_LIGHTRED, string, 1);
  15489. format(string, sizeof(string), "AdmCmd: %s was offline warned by %s, reason: %s", name, GetPlayerNameEx(playerid), reason);
  15490. Log("logs/admin.log", string);
  15491. OnPlayerOfflineSave(name);
  15492. return 1;
  15493. }
  15494. return 1;
  15495. }
  15496. CMD:ofine(playerid, params[])
  15497. {
  15498. if(PlayerInfo[playerid][pAdmin] >= 3)
  15499. {
  15500. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  15501. {
  15502. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  15503. return 1;
  15504. }
  15505. new string[128], name[MAX_PLAYER_NAME], amount, reason[64];
  15506. if(sscanf(params, "s[24]ds[64]", name, amount, reason)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /ofine [name] [amount] [reason]");
  15507. if(doesAccountExist(name))
  15508. {
  15509. OnPlayerOfflineLogin(name);
  15510. if(PlayerInfo[MAX_PLAYERS][pPermaBanned] == 1)
  15511. {
  15512. SendClientMessage(playerid, COLOR_WHITE, "That player is already permabanned!");
  15513. return 1;
  15514. }
  15515. if(PlayerInfo[MAX_PLAYERS][pBanned] > 0)
  15516. {
  15517. SendClientMessage(playerid, COLOR_WHITE, "That player is already banned!");
  15518. return 1;
  15519. }
  15520. if(PlayerInfo[MAX_PLAYERS][pAdmin] >= 1)
  15521. {
  15522. SendClientMessage(playerid, COLOR_WHITE, "You can't fine admin accounts!");
  15523. return 1;
  15524. }
  15525. if(amount < 1)
  15526. {
  15527. SendClientMessage(playerid, COLOR_GRAD2, "Amount must be greater than 0");
  15528. return 1;
  15529. }
  15530. format(string, sizeof(string), "AdmCmd: %s was offline fined $%d by %s, reason: %s", name, amount, GetPlayerNameEx(playerid), reason);
  15531. Log("logs/admin.log", string);
  15532. format(string, sizeof(string), "AdmCmd: %s was offline fined $%d by %s, reason: %s", name, amount, GetPlayerNameEx(playerid), reason);
  15533. ABroadCast(COLOR_LIGHTRED,string,1);
  15534. if(PlayerInfo[MAX_PLAYERS][pBank] >= amount)
  15535. {
  15536. PlayerInfo[MAX_PLAYERS][pBank] -= amount;
  15537. }
  15538. else
  15539. {
  15540. PlayerInfo[MAX_PLAYERS][pCash] -= amount;
  15541. }
  15542. OnPlayerOfflineSave(name);
  15543. return 1;
  15544. }
  15545. else
  15546. {
  15547. SendClientMessage(playerid, COLOR_WHITE, "That account does not exist!");
  15548. }
  15549. }
  15550. else
  15551. {
  15552. SendClientMessage(playerid, COLOR_WHITE, "You're not a level three admin.");
  15553. }
  15554. return 1;
  15555. }
  15556. CMD:showflags(playerid, params[])
  15557. {
  15558. if(PlayerInfo[playerid][pAdmin] >= 1)
  15559. {
  15560. new string[128];
  15561. SendClientMessage(playerid, COLOR_YELLOW, "Outstanding flags:");
  15562. new fCounter;
  15563. foreach(Player, i)
  15564. {
  15565. if(strlen(PlayerInfo[i][pFlag]) > 0)
  15566. {
  15567. format(string, sizeof(string), "%s (ID %d) | Reason: %s.",GetPlayerNameEx(i),i,PlayerInfo[i][pFlag]);
  15568. SendClientMessage(playerid, COLOR_GRAD1, string);
  15569. fCounter += 1;
  15570. }
  15571. }
  15572. if(fCounter <= 0)
  15573. {
  15574. SendClientMessage(playerid, COLOR_GRAD1, "None.");
  15575. }
  15576. }
  15577. else
  15578. {
  15579. SendClientMessage(playerid, COLOR_GRAD1, " You're not authorized to use that command!");
  15580. }
  15581. return 1;
  15582. }
  15583. CMD:oflag(playerid, params[])
  15584. {
  15585. if(PlayerInfo[playerid][pAdmin] >= 2)
  15586. {
  15587. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  15588. {
  15589. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  15590. return 1;
  15591. }
  15592. new string[128], name[MAX_PLAYER_NAME], reason[64];
  15593. if(sscanf(params, "s[24]s[64]", name, reason)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /oflag [PlayerName] [reason]");
  15594. new giveplayerid = ReturnUser(name);
  15595. if(IsPlayerConnected(giveplayerid))
  15596. {
  15597. AddFlag(giveplayerid, playerid, reason);
  15598. SendClientMessage(playerid, COLOR_WHITE, "The player is online and has been flagged!");
  15599. format(string, sizeof(string), "AdmCmd: %s was flagged by %s, reason: %s.", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason);
  15600. ABroadCast(COLOR_LIGHTRED, string, 1);
  15601. }
  15602. else if(OAddFlag(name, playerid, reason))
  15603. {
  15604. format(string, sizeof(string), "AdmCmd: %s was offline flagged by %s, reason: %s.", name, GetPlayerNameEx(playerid), reason);
  15605. ABroadCast(COLOR_LIGHTRED, string, 1);
  15606. }
  15607. else
  15608. {
  15609. SendClientMessage(playerid, COLOR_WHITE,"That account does not exist!");
  15610. }
  15611. return 1;
  15612. }
  15613. return 1;
  15614. }
  15615. CMD:flag(playerid, params[]) {
  15616. if(PlayerInfo[playerid][pAdmin] >= 1) {
  15617. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  15618. return SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  15619. new string[128], giveplayerid, reason[64];
  15620. if(sscanf(params, "us[64]", giveplayerid, reason))
  15621. return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /flag [playerid/partofname] [reason]");
  15622. if(giveplayerid != INVALID_PLAYER_ID) {
  15623. AddFlag(giveplayerid, playerid, reason);
  15624. format(string, sizeof(string), "AdmCmd: %s has flagged %s, reason: %s.", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason);
  15625. ABroadCast(COLOR_LIGHTRED, string, 1);
  15626. return 1;
  15627. } else SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  15628. }
  15629. else if(PlayerInfo[playerid][pHelper] >= 1) {
  15630. new string[128], giveplayerid, reason[64];
  15631. if(sscanf(params, "us[64]", giveplayerid, reason))
  15632. return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /flag [playerid/partofname] [reason]");
  15633. if(giveplayerid != INVALID_PLAYER_ID) {
  15634. if(strlen(PlayerInfo[giveplayerid][pFlag]) != 0) {
  15635. return SendClientMessage(playerid, COLOR_GREY, "This player already has an active flag, helpers can only create flags on players who don't have them already.");
  15636. }
  15637. AddFlag(giveplayerid, playerid, reason);
  15638. format(string, sizeof(string), "AdmCmd: %s was flagged by Helper %s, reason: %s.", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason);
  15639. ABroadCast(COLOR_LIGHTRED, string, 1);
  15640. format(string, sizeof(string), "Your flag on %s has been placed with the reason of %s.", GetPlayerNameEx(giveplayerid), reason);
  15641. SendClientMessage(playerid, COLOR_WHITE, string);
  15642. return 1;
  15643. } else SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  15644. }
  15645. return 1;
  15646. }
  15647. CMD:oclearflag(playerid, params[])
  15648. {
  15649. if(PlayerInfo[playerid][pAdmin] >= 2)
  15650. {
  15651. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  15652. {
  15653. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  15654. return 1;
  15655. }
  15656. new string[128], name[MAX_PLAYER_NAME];
  15657. if(sscanf(params, "s[24]", name)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /oclearflag [PlayerName]");
  15658. if(ORemoveFlag(name))
  15659. {
  15660. format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s has cleared all flags on %s.",GetPlayerNameEx(playerid),name);
  15661. ABroadCast(COLOR_YELLOW,string,1);
  15662. }
  15663. else
  15664. {
  15665. format(string, sizeof(string), "Account not found: %s.", name);
  15666. SendClientMessage(playerid, COLOR_GRAD1, string);
  15667. }
  15668. }
  15669. else
  15670. {
  15671. SendClientMessage(playerid, COLOR_GRAD1, " You're not authorized to use that command!");
  15672. return 1;
  15673. }
  15674. return 1;
  15675. }
  15676. CMD:clearflag(playerid, params[]) {
  15677. if(PlayerInfo[playerid][pAdmin] >= 2)
  15678. {
  15679. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  15680. {
  15681. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  15682. return 1;
  15683. }
  15684. new
  15685. iTargetID;
  15686. if(sscanf(params, "u", iTargetID)) {
  15687. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /clearflag [playerid/partofname]");
  15688. }
  15689. else if(IsPlayerConnected(iTargetID)) {
  15690. if(!isnull(PlayerInfo[iTargetID][pFlag])) {
  15691. new
  15692. szMessage[59 + (MAX_PLAYER_NAME * 2)];
  15693. format(PlayerInfo[iTargetID][pFlag], 128, "");
  15694. format(szMessage, sizeof(szMessage), "{AA3333}AdmWarning{FFFF00}: %s has cleared all flags on %s.", GetPlayerNameEx(playerid), GetPlayerNameEx(iTargetID));
  15695. PlayerInfo[iTargetID][pInt] = GetPlayerInterior(iTargetID);
  15696. if(GetPVarType(iTargetID, "tabbedVW") != 0) {
  15697. PlayerInfo[iTargetID][pVW] = GetPVarInt(iTargetID, "tabbedVW");
  15698. } else PlayerInfo[iTargetID][pVW] = GetPlayerVirtualWorld(iTargetID);
  15699. GetPlayerIp(iTargetID, PlayerInfo[iTargetID][pIP], 32);
  15700. GetPlayerPos(iTargetID, PlayerInfo[iTargetID][pPos_x], PlayerInfo[iTargetID][pPos_y], PlayerInfo[iTargetID][pPos_z]);
  15701. GetPlayerFacingAngle(iTargetID, PlayerInfo[iTargetID][pPos_r]);
  15702. OnPlayerStatsUpdate(iTargetID);
  15703. return ABroadCast(COLOR_YELLOW, szMessage, 1);
  15704. }
  15705. SendClientMessage(playerid, COLOR_GRAD1, "That player has no outstanding flags.");
  15706. }
  15707. else SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  15708. }
  15709. else SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  15710. return 1;
  15711. }
  15712. CMD:revokedl(playerid, params[])
  15713. {
  15714. if(IsACop(playerid))
  15715. {
  15716. new string[128], giveplayerid, reason[64];
  15717. if(sscanf(params, "us[64]", giveplayerid, reason)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /revokedl [playerid/partofname] [reason]");
  15718. new copveh = GetPlayerVehicleID(playerid);
  15719. if((IsACopCar(copveh)) || (IsAFBICar(copveh)))
  15720. {
  15721. if((IsPlayerConnected(giveplayerid)) && (giveplayerid != INVALID_PLAYER_ID))
  15722. {
  15723. if(PlayerInfo[giveplayerid][pCarLic] == 0)
  15724. {
  15725. SendClientMessage(playerid, COLOR_GRAD2, "This player has no driver's license to revoke.");
  15726. return 1;
  15727. }
  15728. switch(PlayerInfo[playerid][pFaction])
  15729. {
  15730. case 1: // LSPD
  15731. {
  15732. format(string,sizeof(string),"The Los Santos Police Department has revoked your driver's license, reason: %s.",reason);
  15733. SendClientMessage(giveplayerid,COLOR_LIGHTBLUE,string);
  15734. switch(PlayerInfo[playerid][pRank])
  15735. {
  15736. case 3: format(string,sizeof(string),"HQ: LSPD Sergeant %s has revoked %s's driver's license, reason: %s.",GetPlayerNameEx(playerid),GetPlayerNameEx(giveplayerid),reason);
  15737. case 4: format(string,sizeof(string),"HQ: LSPD Lieutenant %s has revoked %s's driver's license, reason: %s.",GetPlayerNameEx(playerid),GetPlayerNameEx(giveplayerid),reason);
  15738. case 5: format(string,sizeof(string),"HQ: LSPD Captain %s has revoked %s's driver's license, reason: %s.",GetPlayerNameEx(playerid),GetPlayerNameEx(giveplayerid),reason);
  15739. case 6: format(string,sizeof(string),"HQ: Chief of Police %s has revoked %s's driver's license, reason: %s.",GetPlayerNameEx(playerid),GetPlayerNameEx(giveplayerid),reason);
  15740. }
  15741. }
  15742. case 2: // FBI
  15743. {
  15744. format(string,sizeof(string),"The Federal Bureau of Investigation has revoked your driver's license, reason: %s.",reason);
  15745. SendClientMessage(giveplayerid,COLOR_LIGHTBLUE,string);
  15746. switch(PlayerInfo[playerid][pRank])
  15747. {
  15748. case 0: format(string,sizeof(string),"HQ: FBI Intern %s has revoked %s's driver's license, reason: %s.",GetPlayerNameEx(playerid),GetPlayerNameEx(giveplayerid),reason);
  15749. case 1: format(string,sizeof(string),"HQ: FBI Staff %s has revoked %s's driver's license, reason: %s.",GetPlayerNameEx(playerid),GetPlayerNameEx(giveplayerid),reason);
  15750. case 2: format(string,sizeof(string),"HQ: FBI Agent %s has revoked %s's driver's license, reason: %s.",GetPlayerNameEx(playerid),GetPlayerNameEx(giveplayerid),reason);
  15751. case 3: format(string,sizeof(string),"HQ: FBI Agent %s has revoked %s's driver's license, reason: %s.",GetPlayerNameEx(playerid),GetPlayerNameEx(giveplayerid),reason);
  15752. case 4: format(string,sizeof(string),"HQ: FBI Special Agent %s has revoked %s's driver's license, reason: %s.",GetPlayerNameEx(playerid),GetPlayerNameEx(giveplayerid),reason);
  15753. case 5: format(string,sizeof(string),"HQ: FBI Assistant Director %s has revoked %s's driver's license, reason: %s.",GetPlayerNameEx(playerid),GetPlayerNameEx(giveplayerid),reason);
  15754. case 6: format(string,sizeof(string),"HQ: FBI Director %s has revoked %s's driver's license, reason: %s.",GetPlayerNameEx(playerid),GetPlayerNameEx(giveplayerid),reason);
  15755. }
  15756. }
  15757. }
  15758. SendRadioMessage(1,TEAM_BLUE_COLOR,string);
  15759. SendRadioMessage(2,TEAM_BLUE_COLOR,string);
  15760. SendClientMessage(giveplayerid,COLOR_WHITE,"(( A new driver's license can be acquired at City Hall. If you deem this action as abuse, contact an admin. ))");
  15761. format(string,sizeof(string),"You have revoked %s's driver's license.",GetPlayerNameEx(giveplayerid));
  15762. SendClientMessage(playerid,COLOR_WHITE,string);
  15763. format(string, sizeof(string), "%s took %s's driver's license. REASON: %s.", GetPlayerNameEx(playerid),GetPlayerNameEx(giveplayerid),reason);
  15764. Log("logs/licenses.log", string);
  15765. PlayerInfo[giveplayerid][pCarLic] = 0;
  15766. return 1;
  15767. }
  15768. SendClientMessage(playerid, COLOR_GRAD2, "Invalid player specified.");
  15769. }
  15770. else
  15771. {
  15772. SendClientMessage(playerid, COLOR_GRAD2,"You must be in a faction vehicle to do this.");
  15773. return 1;
  15774. }
  15775. }
  15776. SendClientMessage(playerid, COLOR_GRAD2, "You're not authorised to do this.");
  15777. return 1;
  15778. }
  15779. CMD:revokeboatdl(playerid, params[])
  15780. {
  15781. if(PlayerInfo[playerid][pFaction] == 3)
  15782. {
  15783. new string[128], giveplayerid, reason[64];
  15784. if(sscanf(params, "us[64]", giveplayerid, reason)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /revokeboatdl [playerid/partofname] [reason]");
  15785. new carid = GetPlayerVehicleID(playerid);
  15786. if(!IsAnAmbulance(carid))
  15787. {
  15788. SendClientMessage(playerid, COLOR_GRAD2,"You must be in a faction vehicle to do this.");
  15789. return 1;
  15790. }
  15791. if((IsPlayerConnected(giveplayerid)) && (giveplayerid != INVALID_PLAYER_ID))
  15792. {
  15793. if(PlayerInfo[giveplayerid][pBoatLic] == 0)
  15794. {
  15795. SendClientMessage(playerid, COLOR_GRAD2, "This player has no boating license to revoke.");
  15796. return 1;
  15797. }
  15798. format(string,sizeof(string),"The Coast Guard has revoked your boating license, reason: %s.",reason);
  15799. SendClientMessage(giveplayerid,COLOR_LIGHTBLUE,string);
  15800. format(string,sizeof(string),"HQ: Coast Guardsman %s has revoked %s's boating license, reason: %s.",GetPlayerNameEx(playerid),GetPlayerNameEx(giveplayerid),reason);
  15801. SendRadioMessage(1,TEAM_BLUE_COLOR,string);
  15802. SendRadioMessage(2,TEAM_BLUE_COLOR,string);
  15803. SendRadioMessage(3,TEAM_BLUE_COLOR,string);
  15804. SendClientMessage(giveplayerid,COLOR_WHITE,"(( A new boating license can be acquired at City Hall. If you deem this action as abuse, contact an admin. ))");
  15805. format(string,sizeof(string),"You have revoked %s's boating license.",GetPlayerNameEx(giveplayerid));
  15806. SendClientMessage(playerid,COLOR_WHITE,string);
  15807. format(string, sizeof(string), "%s took %s's boating license. REASON: %s.",GetPlayerNameEx(playerid),GetPlayerNameEx(giveplayerid),reason);
  15808. Log("logs/licenses.log", string);
  15809. PlayerInfo[giveplayerid][pBoatLic] = 0;
  15810. return 1;
  15811. }
  15812. SendClientMessage(playerid, COLOR_GRAD2, "Invalid player specified.");
  15813. return 1;
  15814. }
  15815. SendClientMessage(playerid, COLOR_GRAD2, "You're not authorized to do this.");
  15816. return 1;
  15817. }
  15818. CMD:revokeairdl(playerid, params[])
  15819. {
  15820. if((PlayerInfo[playerid][pFaction] == 2 || PlayerInfo[playerid][pFaction] == 2) && PlayerInfo[playerid][pRank] >= 3)
  15821. {
  15822. new string[128], giveplayerid, reason[64];
  15823. if(sscanf(params, "us[64]", giveplayerid, reason)) return SendClientMessage(playerid, COLOR_WHITE, "No player specified. USAGE: /revokeairdl [playerid/partofname] [reason]");
  15824. new carid = GetPlayerVehicleID(playerid);
  15825. if(!IsAFBICar(carid))
  15826. {
  15827. SendClientMessage(playerid, COLOR_GRAD2,"You must be in a faction vehicle to do this.");
  15828. return 1;
  15829. }
  15830. if((IsPlayerConnected(giveplayerid)) && (giveplayerid != INVALID_PLAYER_ID))
  15831. {
  15832. if(PlayerInfo[giveplayerid][pFlyLic] == 0)
  15833. {
  15834. SendClientMessage(playerid, COLOR_GRAD2, "This player has no pilot license to revoke.");
  15835. return 1;
  15836. }
  15837. format(string,sizeof(string),"The Federal Bureau of Investigation has revoked your pilot license, reason: %s.",reason);
  15838. SendClientMessage(giveplayerid,COLOR_LIGHTBLUE,string);
  15839. switch(PlayerInfo[playerid][pRank])
  15840. {
  15841. case 3: format(string,sizeof(string),"HQ: FBI Agent %s has revoked %s's pilot license, reason: %s.",GetPlayerNameEx(playerid),GetPlayerNameEx(giveplayerid),reason);
  15842. case 4: format(string,sizeof(string),"HQ: FBI Special Agent %s has revoked %s's pilot license, reason: %s.",GetPlayerNameEx(playerid),GetPlayerNameEx(giveplayerid),reason);
  15843. case 5: format(string,sizeof(string),"HQ: FBI Assistant Director %s has revoked %s's pilot license, reason: %s.",GetPlayerNameEx(playerid),GetPlayerNameEx(giveplayerid),reason);
  15844. case 6: format(string,sizeof(string),"HQ: FBI Director %s has revoked %s's pilot license, reason: %s.",GetPlayerNameEx(playerid),GetPlayerNameEx(giveplayerid),reason);
  15845. }
  15846. SendRadioMessage(1,TEAM_BLUE_COLOR,string);
  15847. SendRadioMessage(2,TEAM_BLUE_COLOR,string);
  15848. SendRadioMessage(3,TEAM_BLUE_COLOR,string);
  15849. SendClientMessage(giveplayerid,COLOR_WHITE,"(( A new pilot license can be acquired at City Hall. If you deem this action as abuse, contact an admin. ))");
  15850. format(string,sizeof(string),"You have revoked %s's pilot license.",GetPlayerNameEx(giveplayerid));
  15851. SendClientMessage(playerid,COLOR_WHITE,string);
  15852. format(string, sizeof(string), "%s took %s's pilot license. REASON: %s.",GetPlayerNameEx(playerid),GetPlayerNameEx(giveplayerid),reason);
  15853. Log("logs/licenses.log", string);
  15854. PlayerInfo[giveplayerid][pFlyLic] = 0;
  15855. return 1;
  15856. }
  15857. SendClientMessage(playerid, COLOR_GRAD2, "Invalid player specified.");
  15858. return 1;
  15859. }
  15860. SendClientMessage(playerid, COLOR_GRAD2, "You're not authorized to do this.");
  15861. return 1;
  15862. }
  15863. CMD:getlicense(playerid, params[])
  15864. {
  15865. if(!IsPlayerInRangeOfPoint(playerid,2.0,366.559448,158.745285,1008.382812)) { return 1; }
  15866. if(PlayerInfo[playerid][pWantedLevel] > 0)
  15867. {
  15868. SendClientMessage(playerid, COLOR_LIGHTRED, "You have an outstanding arrest warrant - acquisition of a license is prohibited.");
  15869. return 1;
  15870. }
  15871. ShowPlayerDialogEx(playerid, DIALOG_LICENSE_BUY, DIALOG_STYLE_LIST, "Select the type of license you wish to acquire.", "Driver's License ($500)\r\nBoating License ($500)\r\nPilot License ($2500)", "Purchase", "Cancel");
  15872. return 1;
  15873. }
  15874. CMD:droplicense(playerid, params[])
  15875. {
  15876. new string[128], type;
  15877. if(sscanf(params, "d", type))
  15878. {
  15879. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /droplicense [type]");
  15880. SendClientMessage(playerid, COLOR_GRAD2, "Types: 1 = Driving, 2 = Boating, 3 = Flying.");
  15881. }
  15882. switch(type)
  15883. {
  15884. case 1:
  15885. {
  15886. if(PlayerInfo[playerid][pCarLic] == 0)
  15887. {
  15888. SendClientMessage(playerid, COLOR_GRAD2, "You don't have a driver's license to drop.");
  15889. return 1;
  15890. }
  15891. format(string, sizeof(string), "You have dropped your driver's license.");
  15892. SendClientMessage(playerid, COLOR_WHITE, string);
  15893. PlayerInfo[playerid][pCarLic] = 0;
  15894. return 1;
  15895. }
  15896. case 2:
  15897. {
  15898. if(PlayerInfo[playerid][pBoatLic] == 0)
  15899. {
  15900. SendClientMessage(playerid, COLOR_GRAD2, "You don't have a boating license to drop.");
  15901. return 1;
  15902. }
  15903. format(string, sizeof(string), "You have dropped your boating license.");
  15904. SendClientMessage(playerid, COLOR_WHITE, string);
  15905. PlayerInfo[playerid][pBoatLic] = 0;
  15906. return 1;
  15907. }
  15908. case 3:
  15909. {
  15910. if(PlayerInfo[playerid][pFlyLic] == 0)
  15911. {
  15912. SendClientMessage(playerid, COLOR_GRAD2, "You don't have a pilot license to drop.");
  15913. return 1;
  15914. }
  15915. format(string, sizeof(string), "You have dropped your pilot license.");
  15916. SendClientMessage(playerid, COLOR_WHITE, string);
  15917. PlayerInfo[playerid][pFlyLic] = 0;
  15918. return 1;
  15919. }
  15920. default:
  15921. {
  15922. SendClientMessage(playerid, COLOR_WHITE, "Invalid license type! /droplicense [type]");
  15923. SendClientMessage(playerid, COLOR_GRAD2, "Types: 1 = Driving, 2 = Boating, 3 = Flying.");
  15924. }
  15925. }
  15926. return 1;
  15927. }
  15928. CMD:rfgv(playerid, params[]) return cmd_respawnfreegangvehs(playerid, params);
  15929. CMD:respawnfreegangvehs(playerid, params[]) {
  15930. if(PlayerInfo[playerid][pAdmin] >= 3) {
  15931. new
  15932. iGang;
  15933. if(sscanf(params, "d", iGang))
  15934. return SendClientMessage(playerid, COLOR_GREY, "USAGE: /respawnfreegangvehs [gang slot ID]");
  15935. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6) {
  15936. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  15937. return 1;
  15938. }
  15939. if(iGang < 1 || iGang > MAX_FAMILY || iGang > 255)
  15940. return SendClientMessage(playerid, COLOR_GREY, "Family slot must be between 1 and 14.");
  15941. iGang--; // the silly way the family system is scripted
  15942. for(new v = 0; v < MAX_GANG_VEHICLES; v++) {
  15943. if(FamilyVehicleInfo[iGang][v][fvId] > 0 && IsVehicleOccupied(FamilyVehicleInfo[iGang][v][fvId]) == INVALID_VEHICLE_ID)
  15944. SetVehicleToRespawn(FamilyVehicleInfo[iGang][v][fvId]);
  15945. }
  15946. new
  15947. szMessage[64];
  15948. format(szMessage, sizeof(szMessage), "You have respawned all gang vehicles for %s.", FamilyInfo[iGang][FamilyName]);
  15949. SendClientMessage(playerid, COLOR_WHITE, szMessage);
  15950. } else return SendClientMessage(playerid, COLOR_GREY, "Invalid gang ID.");
  15951. return 1;
  15952. }
  15953. CMD:rffv(playerid, params[]) return cmd_respawnfreefactionvehs(playerid, params);
  15954. CMD:respawnfreefactionvehs(playerid, params[]) {
  15955. if(PlayerInfo[playerid][pFaction] == 1 && PlayerInfo[playerid][pRank] >= 5 || PlayerInfo[playerid][pLeader] == 1) {
  15956. for(new v = 0; v < sizeof(LSPDVehicles); v++) {
  15957. if(LSPDVehicles[v] > 0 && IsVehicleOccupied(LSPDVehicles[v]) == INVALID_VEHICLE_ID)
  15958. SetVehicleToRespawn(LSPDVehicles[v]);
  15959. }
  15960. SendClientMessage(playerid, COLOR_WHITE, "All unoccupied vehicles for your faction (LSPD) have been respawned.");
  15961. } else if(PlayerInfo[playerid][pFaction] == 10 && PlayerInfo[playerid][pRank] >= 5 || PlayerInfo[playerid][pLeader] == 10) {
  15962. for(new v = 0; v < sizeof(ARESVehicles); v++) {
  15963. if(ARESVehicles[v] > 0 && IsVehicleOccupied(ARESVehicles[v]) == INVALID_VEHICLE_ID)
  15964. SetVehicleToRespawn(ARESVehicles[v]);
  15965. }
  15966. SendClientMessage(playerid, COLOR_WHITE, "All unoccupied vehicles for your faction (ARES) have been respawned.");
  15967. } else if(PlayerInfo[playerid][pFaction] == 2 && PlayerInfo[playerid][pRank] >= 5 || PlayerInfo[playerid][pLeader] == 2) {
  15968. for(new v = 0; v < sizeof(FBIVehicles); v++) {
  15969. if(FBIVehicles[v] > 0 && IsVehicleOccupied(FBIVehicles[v]) == INVALID_VEHICLE_ID)
  15970. SetVehicleToRespawn(FBIVehicles[v]);
  15971. }
  15972. SendClientMessage(playerid, COLOR_WHITE, "All unoccupied vehicles for your faction (FBI) have been respawned.");
  15973. } else if(PlayerInfo[playerid][pFaction] == 3 && PlayerInfo[playerid][pRank] >= 5 || PlayerInfo[playerid][pLeader] == 3) {
  15974. for(new v = 0; v < sizeof(LSFMDVehicles); v++) {
  15975. if(LSFMDVehicles[v] > 0 && IsVehicleOccupied(LSFMDVehicles[v]) == INVALID_VEHICLE_ID)
  15976. SetVehicleToRespawn(LSFMDVehicles[v]);
  15977. }
  15978. SendClientMessage(playerid, COLOR_WHITE, "All unoccupied vehicles for your faction (LSFMD) have been respawned.");
  15979. } else if(PlayerInfo[playerid][pFaction] == 5 && PlayerInfo[playerid][pRank] >= 5 || PlayerInfo[playerid][pLeader] == 5) {
  15980. for(new v = 0; v < sizeof(GovVehicles); v++) {
  15981. if(GovVehicles[v] > 0 && IsVehicleOccupied(GovVehicles[v]) == INVALID_VEHICLE_ID)
  15982. SetVehicleToRespawn(GovVehicles[v]);
  15983. }
  15984. SendClientMessage(playerid, COLOR_WHITE, "All unoccupied vehicles for your faction (GOVERNMENT) have been respawned.");
  15985. } else return SendClientMessage(playerid, COLOR_GREY, "You're not authorized to use this command (or your faction does not have any vehicles that can be dynamically respawned).");
  15986. return 1;
  15987. }
  15988. CMD:givelicense(playerid, params[])
  15989. {
  15990. if(PlayerInfo[playerid][pAdmin]>=4)
  15991. {
  15992. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  15993. {
  15994. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  15995. return 1;
  15996. }
  15997. new string[128], giveplayerid, type;
  15998. if(sscanf(params, "ud", giveplayerid, type))
  15999. {
  16000. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givelicense [playerid/partofname] [type]");
  16001. SendClientMessage(playerid, COLOR_GRAD2, "Types: 1 = Driving, 2 = Boating, 3 = Flying.");
  16002. return 1;
  16003. }
  16004. if(!IsPlayerConnected(giveplayerid))
  16005. {
  16006. SendClientMessage(playerid, COLOR_GRAD2, "Invalid player specified.");
  16007. return 1;
  16008. }
  16009. switch(type)
  16010. {
  16011. case 1:
  16012. {
  16013. if(PlayerInfo[giveplayerid][pCarLic] == 1)
  16014. {
  16015. SendClientMessage(playerid, COLOR_GRAD2, "This player already has a driver's license.");
  16016. return 1;
  16017. }
  16018. format(string, sizeof(string), "You have given a driver's license to %s.",GetPlayerNameEx(giveplayerid));
  16019. SendClientMessage(playerid, COLOR_WHITE, string);
  16020. format(string, sizeof(string), "Admin %s has given you a driver's license.",GetPlayerNameEx(playerid));
  16021. SendClientMessage(giveplayerid, COLOR_WHITE, string);
  16022. format(string, sizeof(string), "Admin %s has given a driver's license to %s.",GetPlayerNameEx(playerid),GetPlayerNameEx(giveplayerid));
  16023. Log("logs/licenses.log", string);
  16024. PlayerInfo[giveplayerid][pCarLic] = 1;
  16025. return 1;
  16026. }
  16027. case 2:
  16028. {
  16029. if(PlayerInfo[giveplayerid][pBoatLic] == 1)
  16030. {
  16031. SendClientMessage(playerid, COLOR_GRAD2, "This player already has a boating license.");
  16032. return 1;
  16033. }
  16034. format(string, sizeof(string), "You have given a boating license to %s.",GetPlayerNameEx(giveplayerid));
  16035. SendClientMessage(playerid, COLOR_WHITE, string);
  16036. format(string, sizeof(string), "Admin %s has given you a boating license.",GetPlayerNameEx(playerid));
  16037. SendClientMessage(giveplayerid, COLOR_WHITE, string);
  16038. format(string, sizeof(string), "Admin %s has given a boating license to %s.",GetPlayerNameEx(playerid),GetPlayerNameEx(giveplayerid));
  16039. Log("logs/licenses.log", string);
  16040. PlayerInfo[giveplayerid][pBoatLic] = 1;
  16041. return 1;
  16042. }
  16043. case 3:
  16044. {
  16045. if(PlayerInfo[giveplayerid][pFlyLic] == 1)
  16046. {
  16047. SendClientMessage(playerid, COLOR_GRAD2, "This player already has a pilot license.");
  16048. return 1;
  16049. }
  16050. format(string, sizeof(string), "You have given a pilot license to %s.",GetPlayerNameEx(giveplayerid));
  16051. SendClientMessage(playerid, COLOR_WHITE, string);
  16052. format(string, sizeof(string), "Admin %s has given you a pilot license.",GetPlayerNameEx(playerid));
  16053. SendClientMessage(giveplayerid, COLOR_WHITE, string);
  16054. format(string, sizeof(string), "Admin %s has given a pilot license to %s.",GetPlayerNameEx(playerid),GetPlayerNameEx(giveplayerid));
  16055. Log("logs/licenses.log", string);
  16056. PlayerInfo[giveplayerid][pFlyLic] = 1;
  16057. return 1;
  16058. }
  16059. default:
  16060. {
  16061. SendClientMessage(playerid, COLOR_WHITE, "Invalid license type! /givelicense [playerid/partofname] [type]");
  16062. SendClientMessage(playerid, COLOR_GRAD2, "Types: 1 = Driving, 2 = Boating, 3 = Flying.");
  16063. }
  16064. }
  16065. }
  16066. else SendClientMessage(playerid, COLOR_GREY, "You're not authorised to use this command.");
  16067. return 1;
  16068. }
  16069. CMD:rto(playerid, params[])
  16070. {
  16071. if(PlayerInfo[playerid][pAdmin] >= 3)
  16072. {
  16073. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  16074. {
  16075. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  16076. return 1;
  16077. }
  16078. new string[512], giveplayerid, reason[64];
  16079. if(sscanf(params, "us[64]", giveplayerid, reason)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /rto [playerid/partofname] [reason]");
  16080. if(IsPlayerConnected(giveplayerid))
  16081. {
  16082. if(PlayerInfo[giveplayerid][pRMuted] == 0)
  16083. {
  16084. if(PlayerInfo[giveplayerid][pRMutedTotal] == 0)
  16085. {
  16086. PlayerInfo[giveplayerid][pRMutedTotal] = 1;
  16087. format(string, sizeof(string), "AdmCmd: %s has given %s their first warning about report abuse, reason: %s",GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), reason);
  16088. ABroadCast(COLOR_LIGHTRED,string,1);
  16089. format(string, sizeof(string), "An admin warns you not to abuse /report.\n\nNote that future abuse of /report could result in a mute from /report or loss of that privilege altogether.");
  16090. ShowPlayerDialogEx(giveplayerid,7954,DIALOG_STYLE_MSGBOX,"Report abuse warning", string,"Next", "");
  16091. format(string, sizeof(string), "AdmCmd: %s has given %s their first warning about report abuse, reason: %s", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), reason);
  16092. Log("logs/mute.log", string);
  16093. }
  16094. else if(PlayerInfo[giveplayerid][pRMutedTotal] == 1)
  16095. {
  16096. PlayerInfo[giveplayerid][pRMuted] = 2;
  16097. PlayerInfo[giveplayerid][pRMutedTotal] = 2;
  16098. PlayerInfo[giveplayerid][pRMutedTime] = 15*60;
  16099. format(string, sizeof(string), "AdmCmd: %s has temporarily blocked %s from submitting reports, reason: %s",GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), reason);
  16100. ABroadCast(COLOR_LIGHTRED,string,1);
  16101. format(string, sizeof(string), "You have been temporarily blocked from submitting reports by %s, reason: %s.\n\nAs this is the second time you have been blocked from reporting, you will not be able to use /report for 15 minutes.\n\nNote that future abuse of /report could result in a longer mute from /report or loss of that privilege altogether.", GetPlayerNameEx(playerid), reason);
  16102. ShowPlayerDialogEx(giveplayerid,7954,DIALOG_STYLE_MSGBOX,"Temporarily blocked from reports", string,"Next", "");
  16103. format(string, sizeof(string), "AdmCmd: %s was temporarily blocked from /report by %s, reason: %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason);
  16104. Log("logs/mute.log", string);
  16105. }
  16106. else if(PlayerInfo[giveplayerid][pRMutedTotal] == 2)
  16107. {
  16108. PlayerInfo[giveplayerid][pRMuted] = 2;
  16109. PlayerInfo[giveplayerid][pRMutedTotal] = 3;
  16110. PlayerInfo[giveplayerid][pRMutedTime] = 30*60;
  16111. format(string, sizeof(string), "AdmCmd: %s has temporarily blocked %s from submitting reports, reason: %s",GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), reason);
  16112. ABroadCast(COLOR_LIGHTRED,string,1);
  16113. format(string, sizeof(string), "You have been temporarily blocked from submitting reports by %s, reason: %s.\n\nAs this is the third time you have been blocked from reporting, you will not be able to use /report for 30 minutes.\n\nNote that future abuse of /report could result in a longer mute from /report or loss of that privilege altogether.", GetPlayerNameEx(playerid), reason);
  16114. ShowPlayerDialogEx(giveplayerid,7954,DIALOG_STYLE_MSGBOX,"Temporarily blocked from reports", string,"Next", "");
  16115. format(string, sizeof(string), "AdmCmd: %s was temporarily blocked from /report by %s, reason: %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason);
  16116. Log("logs/mute.log", string);
  16117. }
  16118. else if(PlayerInfo[giveplayerid][pRMutedTotal] == 3)
  16119. {
  16120. PlayerInfo[giveplayerid][pRMuted] = 2;
  16121. PlayerInfo[giveplayerid][pRMutedTotal] = 4;
  16122. PlayerInfo[giveplayerid][pRMutedTime] = 45*60;
  16123. format(string, sizeof(string), "AdmCmd: %s has temporarily blocked %s from submitting reports, reason: %s",GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), reason);
  16124. ABroadCast(COLOR_LIGHTRED,string,1);
  16125. format(string, sizeof(string), "You have been temporarily blocked from submitting reports by %s, reason: %s.\n\nAs this is the fourth time you have been blocked from reporting, you will not be able to use /report for 45 minutes.\n\nNote that future abuse of /report could result in a longer mute from /report or loss of that privilege altogether.", GetPlayerNameEx(playerid), reason);
  16126. ShowPlayerDialogEx(giveplayerid,7954,DIALOG_STYLE_MSGBOX,"Temporarily blocked from reports", string,"Next", "");
  16127. format(string, sizeof(string), "AdmCmd: %s was temporarily blocked from /report by %s, reason: %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason);
  16128. Log("logs/mute.log", string);
  16129. }
  16130. else if(PlayerInfo[giveplayerid][pRMutedTotal] == 4)
  16131. {
  16132. PlayerInfo[giveplayerid][pRMuted] = 2;
  16133. PlayerInfo[giveplayerid][pRMutedTotal] = 5;
  16134. PlayerInfo[giveplayerid][pRMutedTime] = 60*60;
  16135. format(string, sizeof(string), "AdmCmd: %s has temporarily blocked %s from submitting reports, reason: %s",GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), reason);
  16136. ABroadCast(COLOR_LIGHTRED,string,1);
  16137. format(string, sizeof(string), "You have been temporarily blocked from submitting reports by %s, reason: %s.\n\nAs this is the fifth time you have been blocked from reporting, you will not be able to use /report for 60 minutes.\n\nNote that future abuse of /report could result in a loss of that privilege altogether.", GetPlayerNameEx(playerid), reason);
  16138. ShowPlayerDialogEx(giveplayerid,7954,DIALOG_STYLE_MSGBOX,"Temporarily blocked from reports", string,"Next", "");
  16139. format(string, sizeof(string), "AdmCmd: %s was temporarily blocked from /report by %s, reason: %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason);
  16140. Log("logs/mute.log", string);
  16141. }
  16142. else if(PlayerInfo[giveplayerid][pRMutedTotal] >= 5)
  16143. {
  16144. PlayerInfo[giveplayerid][pRMuted] = 2;
  16145. PlayerInfo[giveplayerid][pRMutedTotal] = 6;
  16146. PlayerInfo[giveplayerid][pRMutedTime] = 300*60;
  16147. format(string, sizeof(string), "AdmCmd: %s has temporarily blocked %s from submitting reports, reason: %s",GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), reason);
  16148. ABroadCast(COLOR_LIGHTRED,string,1);
  16149. format(string, sizeof(string), "You have been temporarily blocked from submitting reports by %s, reason: %s.\n\nAs this is the sixth time you have been blocked from reporting, you will not be able to use /report for 5 hours.\n\nNote that future abuse of /report could result in a loss of that privilege altogether.", GetPlayerNameEx(playerid), reason);
  16150. ShowPlayerDialogEx(giveplayerid,7954,DIALOG_STYLE_MSGBOX,"Temporarily blocked from reports", string,"Next", "");
  16151. format(string, sizeof(string), "AdmCmd: %s was temporarily blocked from /report by %s, reason: %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason);
  16152. Log("logs/mute.log", string);
  16153. }
  16154. for(new i = 0; i < MAX_REPORTS; i++)
  16155. {
  16156. if(Reports[i][ReportFrom] == giveplayerid)
  16157. {
  16158. Reports[i][BeingUsed] = 0;
  16159. }
  16160. }
  16161. }
  16162. else
  16163. {
  16164. SendClientMessage(playerid, COLOR_GRAD2, "That player is already disabled from /reports.");
  16165. }
  16166. }
  16167. }
  16168. else
  16169. {
  16170. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  16171. }
  16172. return 1;
  16173. }
  16174. CMD:rtoreset(playerid, params[])
  16175. {
  16176. if(PlayerInfo[playerid][pAdmin] >= 3)
  16177. {
  16178. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  16179. {
  16180. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  16181. return 1;
  16182. }
  16183. new string[128], giveplayerid, reason[64];
  16184. if(sscanf(params, "us[64]", giveplayerid, reason)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /rtoreset [playerid/partofname] [reason]");
  16185. if(IsPlayerConnected(giveplayerid))
  16186. {
  16187. if(PlayerInfo[giveplayerid][pRMuted] == 2)
  16188. {
  16189. PlayerInfo[giveplayerid][pRMuted] = 0;
  16190. PlayerInfo[giveplayerid][pRMutedTotal]--;
  16191. PlayerInfo[giveplayerid][pRMutedTime] = 0;
  16192. format(string, sizeof(string), "AdmCmd: %s has unblocked %s from reporting, reason: %s",GetPlayerNameEx(playerid),GetPlayerNameEx(giveplayerid), reason);
  16193. ABroadCast(COLOR_LIGHTRED,string,1);
  16194. SendClientMessage(giveplayerid, COLOR_GRAD2, "You have been unblocked from submitting reports. You may now use the reporting system again.");
  16195. SendClientMessage(giveplayerid, COLOR_GRAD2, "Please accept our apologies for any error and inconvenience this may have caused.");
  16196. format(string, sizeof(string), "AdmCmd: %s was unblocked from /report by %s, reason: %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason);
  16197. Log("logs/mute.log", string);
  16198. }
  16199. else
  16200. {
  16201. SendClientMessage(playerid, COLOR_GRAD1, "That player is not blocked from reporting!");
  16202. }
  16203. }
  16204. }
  16205. else
  16206. {
  16207. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  16208. }
  16209. return 1;
  16210. }
  16211. CMD:rmute(playerid, params[])
  16212. {
  16213. if(PlayerInfo[playerid][pAdmin] >= 5)
  16214. {
  16215. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  16216. {
  16217. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  16218. return 1;
  16219. }
  16220. new string[128], giveplayerid;
  16221. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /rmute [playerid/partofname]");
  16222. if(IsPlayerConnected(giveplayerid))
  16223. {
  16224. if(PlayerInfo[giveplayerid][pRMuted] == 0)
  16225. {
  16226. PlayerInfo[giveplayerid][pRMuted] = 1;
  16227. format(string, sizeof(string), "AdmCmd: %s has indefinitely blocked %s from submitting reports.",GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  16228. ABroadCast(COLOR_LIGHTRED,string,1);
  16229. format(string, sizeof(string), "You have been blocked from submitting /reports by %s.", GetPlayerNameEx(playerid));
  16230. SendClientMessage(giveplayerid, COLOR_GRAD2, string);
  16231. SendClientMessage(giveplayerid, COLOR_GRAD2, "You will not be able to submit reports until you're unblocked. To appeal this action contact us on "WEBSITE);
  16232. format(string, sizeof(string), "AdmCmd: %s was blocked from /report by %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid));
  16233. Log("logs/mute.log", string);
  16234. }
  16235. else
  16236. {
  16237. PlayerInfo[giveplayerid][pRMuted] = 0;
  16238. PlayerInfo[giveplayerid][pRMutedTime] = 0;
  16239. format(string, sizeof(string), "AdmCmd: %s has been re-allowed to submit reports by %s",GetPlayerNameEx(giveplayerid),GetPlayerNameEx(playerid));
  16240. ABroadCast(COLOR_LIGHTRED,string,1);
  16241. format(string, sizeof(string), "You have been re-allowed to submitting /reports again by %s.", GetPlayerNameEx(playerid));
  16242. SendClientMessage(giveplayerid, COLOR_GRAD2, string);
  16243. format(string, sizeof(string), "AdmCmd: %s was unblocked from /report by %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid));
  16244. Log("logs/mute.log", string);
  16245. }
  16246. }
  16247. }
  16248. else
  16249. {
  16250. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  16251. }
  16252. return 1;
  16253. }
  16254. CMD:sellgun(playerid, params[])
  16255. {
  16256. new string[128];
  16257. if(AdminDuty[playerid] == 1)
  16258. {
  16259. SendClientMessage(playerid,COLOR_WHITE, "You can't use this command while on-duty as admin.");
  16260. return 1;
  16261. }
  16262. if(GetPVarInt(playerid, "PBM") > 0) {
  16263. SendClientMessage(playerid,COLOR_GREY," You can't do this while being in a arena!");
  16264. return 1;
  16265. }
  16266. if(GetPVarInt(playerid, "EventToken") == 1) {
  16267. SendClientMessage(playerid, COLOR_WHITE, "You can't use this command while in an event.");
  16268. return 1;
  16269. }
  16270. if(PlayerInfo[playerid][pJob] != 9 && PlayerInfo[playerid][pJob2] != 9) {
  16271. SendClientMessage(playerid,COLOR_GREY," You're not a Arms Dealer!");
  16272. return 1;
  16273. }
  16274. /*if(WatchingTV[playerid] != 0) {
  16275. SendClientMessage(playerid, COLOR_GREY, "You can't do this while watching TV!");
  16276. return 1;
  16277. }*/
  16278. if(PlayerInfo[playerid][pScrewdriver] == 0) {
  16279. SendClientMessage(playerid,COLOR_GREY," You need a screwdriver from a craftsman to make a weapon!");
  16280. return 1;
  16281. }
  16282. if(PlayerInfo[playerid][pJailTime] > 0) {
  16283. SendClientMessage(playerid,COLOR_GREY,"You can't make guns while in jail or prison!");
  16284. return 1;
  16285. }
  16286. if(PlayerInfo[playerid][pWepRes] != 0)
  16287. {
  16288. format(string, sizeof(string), "You are weapon restricted for the next %d hours.", PlayerInfo[playerid][pWepRes]);
  16289. SCM(playerid, -1, string);
  16290. return 1;
  16291. }
  16292. if(PlayerBoxing[playerid] == 1)
  16293. {
  16294. SendClientMessage(playerid, COLOR_GREY, "You can make guns while you're boxing.");
  16295. return 1;
  16296. }
  16297. if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_GREY, "You can't sell a weapon while in a vehicle.");
  16298. if(GetPVarInt(playerid, "ArmsTimer") > 0) {
  16299. format(string, sizeof(string), " You must wait %d seconds before selling another weapon.", GetPVarInt(playerid, "ArmsTimer"));
  16300. SendClientMessage(playerid,COLOR_GREY,string);
  16301. return 1;
  16302. }
  16303. if(GetPVarInt(playerid, "Hospital") == 1 || GetPVarInt(playerid, "Hospital") == 2 || GetPVarInt(playerid, "Hospital") == 3 || GetPVarInt(playerid, "Hospital") == 4 || GetPVarInt(playerid, "Hospital") == 5) {
  16304. SendClientMessage(playerid, COLOR_GREY, "You can't spawn a weapon whilst in Hospital.");
  16305. return 1;
  16306. }
  16307. new giveplayerid,x_weapon[20],weapon,price;
  16308. if(sscanf(params, "us[20]", giveplayerid, x_weapon)) {
  16309. SendClientMessage(playerid, COLOR_GREEN, "________________________________________________");
  16310. SendClientMessage(playerid, COLOR_YELLOW, "<< Available weapons >>");
  16311. new level = PlayerInfo[playerid][pArmsSkill];
  16312. if(level >= 0 && level < 50) {
  16313. SendClientMessage(playerid, COLOR_GRAD1, "sdpistol(100) flowers(25)");
  16314. SendClientMessage(playerid, COLOR_GRAD1, "9mm(150)");
  16315. SendClientMessage(playerid, COLOR_GRAD1, "shotgun(200) knuckles(25)");
  16316. }
  16317. else if(level >= 50 && level < 100) {
  16318. SendClientMessage(playerid, COLOR_GRAD1, "sdpistol(100) flowers(25)");
  16319. SendClientMessage(playerid, COLOR_GRAD1, "9mm(150)");
  16320. SendClientMessage(playerid, COLOR_GRAD1, "shotgun(200) knuckles(25)");
  16321. SendClientMessage(playerid, COLOR_GRAD1, "mp5(400) baseballbat(25)");
  16322. SendClientMessage(playerid, COLOR_GRAD1, "rifle(1000) cane(25)");
  16323. }
  16324. else if(level >= 100 && level < 200) {
  16325. SendClientMessage(playerid, COLOR_GRAD1, "sdpistol(100) flowers(25)");
  16326. SendClientMessage(playerid, COLOR_GRAD1, "9mm(150)");
  16327. SendClientMessage(playerid, COLOR_GRAD1, "shotgun(200) knuckles(25)");
  16328. SendClientMessage(playerid, COLOR_GRAD1, "mp5(400) baseballbat(25)");
  16329. SendClientMessage(playerid, COLOR_GRAD1, "rifle(1000) cane(25)");
  16330. SendClientMessage(playerid, COLOR_GRAD1, "deagle(2000) shovel(25)");
  16331. }
  16332. else if(level >= 200 && level < 400) {
  16333. SendClientMessage(playerid, COLOR_GRAD1, "sdpistol(100) flowers(25)");
  16334. SendClientMessage(playerid, COLOR_GRAD1, "9mm(150)");
  16335. SendClientMessage(playerid, COLOR_GRAD1, "shotgun(200) knuckles(25)");
  16336. SendClientMessage(playerid, COLOR_GRAD1, "mp5(400) baseballbat(25)");
  16337. SendClientMessage(playerid, COLOR_GRAD1, "rifle(1000) cane(25)");
  16338. SendClientMessage(playerid, COLOR_GRAD1, "deagle(2000) shovel(25)");
  16339. SendClientMessage(playerid, COLOR_GRAD1, "ak47(3500) poolcue(25)");
  16340. SendClientMessage(playerid, COLOR_GRAD1, "m4(4500) golfclub(25)");
  16341. }
  16342. else if(level >= 400) {
  16343. SendClientMessage(playerid, COLOR_GRAD1, "sdpistol(100) flowers(25)");
  16344. SendClientMessage(playerid, COLOR_GRAD1, "9mm(150)");
  16345. SendClientMessage(playerid, COLOR_GRAD1, "shotgun(200) knuckles(25)");
  16346. SendClientMessage(playerid, COLOR_GRAD1, "mp5(400) baseballbat(25)");
  16347. SendClientMessage(playerid, COLOR_GRAD1, "rifle(1000) cane(25)");
  16348. SendClientMessage(playerid, COLOR_GRAD1, "deagle(2000) shovel(25)");
  16349. SendClientMessage(playerid, COLOR_GRAD1, "ak47(3500) poolcue(25)");
  16350. SendClientMessage(playerid, COLOR_GRAD1, "m4(4500) golfclub(25)");
  16351. SendClientMessage(playerid, COLOR_GRAD1, "spas12(6500) dildo(25)");
  16352. SendClientMessage(playerid, COLOR_GRAD1, "sniper(7000) katana(25)");
  16353. }
  16354. /*if(PlayerInfo[playerid][pDonator] >= 3)
  16355. {
  16356. SendClientMessage(playerid, COLOR_YELLOW, "Gold+ VIP Feature: uzi(1250) tec9(1250)");
  16357. }*/
  16358. SendClientMessage(playerid, COLOR_GREEN, "________________________________________________");
  16359. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /sellgun [playerid/partofname] [weaponname]");
  16360. return 1;
  16361. }
  16362. if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, "You can't sell a weapon to this player as they're not connected.");\
  16363. if(PlayerInfo[giveplayerid][pWepRes] != 0)
  16364. return SCM(playerid, COLOR_GREY, "You can't sell gun to this player as they are wep restriction.");
  16365. if(strcmp(x_weapon,"dildo",true) == 0) {
  16366. if(PlayerInfo[playerid][pArmsSkill] < 400) return SendClientMessage(playerid, COLOR_GREY, "You're not the required level to create that!");
  16367. if(PlayerInfo[playerid][pMats] > 24) {
  16368. weapon = 10; price = 25;
  16369. }
  16370. else {
  16371. SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that Weapon!");
  16372. return 1;
  16373. }
  16374. }
  16375. else if(strcmp(x_weapon,"katana",true) == 0) {
  16376. if(PlayerInfo[playerid][pArmsSkill] < 400) return SendClientMessage(playerid, COLOR_GREY, "You're not the required level to create that!");
  16377. if(PlayerInfo[playerid][pMats] > 24) {
  16378. weapon = 8; price = 25;
  16379. }
  16380. else {
  16381. SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that Weapon!");
  16382. return 1;
  16383. }
  16384. }
  16385. else if(strcmp(x_weapon,"golfclub",true) == 0) {
  16386. if(PlayerInfo[playerid][pArmsSkill] < 200) return SendClientMessage(playerid, COLOR_GREY, "You're not the required level to create that!");
  16387. if(PlayerInfo[playerid][pMats] > 24) {
  16388. weapon = 2; price = 25;
  16389. }
  16390. else {
  16391. SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that Weapon!");
  16392. return 1;
  16393. }
  16394. }
  16395. else if(strcmp(x_weapon,"poolcue",true) == 0) {
  16396. if(PlayerInfo[playerid][pArmsSkill] < 200) return SendClientMessage(playerid, COLOR_GREY, "You're not the required level to create that!");
  16397. if(PlayerInfo[playerid][pMats] > 24) {
  16398. weapon = 7; price = 25;
  16399. }
  16400. else {
  16401. SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that Weapon!");
  16402. return 1;
  16403. }
  16404. }
  16405. else if(strcmp(x_weapon,"shovel",true) == 0) {
  16406. if(PlayerInfo[playerid][pArmsSkill] < 100) return SendClientMessage(playerid, COLOR_GREY, "You're not the required level to create that!");
  16407. if(PlayerInfo[playerid][pMats] > 24) {
  16408. weapon = 6; price = 25;
  16409. }
  16410. else {
  16411. SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that Weapon!");
  16412. return 1;
  16413. }
  16414. }
  16415. else if(strcmp(x_weapon,"cane",true) == 0) {
  16416. if(PlayerInfo[playerid][pArmsSkill] < 50) return SendClientMessage(playerid, COLOR_GREY, "You're not the required level to create that!");
  16417. if(PlayerInfo[playerid][pMats] > 24) {
  16418. weapon = 15; price = 25;
  16419. }
  16420. else {
  16421. SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that Weapon!");
  16422. return 1;
  16423. }
  16424. }
  16425. else if(strcmp(x_weapon,"baseballbat",true) == 0) {
  16426. if(PlayerInfo[playerid][pArmsSkill] < 50) return SendClientMessage(playerid, COLOR_GREY, "You're not the required level to create that!");
  16427. if(PlayerInfo[playerid][pMats] > 24) {
  16428. weapon = 5; price = 25;
  16429. }
  16430. else {
  16431. SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that Weapon!");
  16432. return 1;
  16433. }
  16434. }
  16435. else if(strcmp(x_weapon,"knuckles",true) == 0) {
  16436. if(PlayerInfo[playerid][pMats] > 24) {
  16437. weapon = 1; price = 25;
  16438. }
  16439. else {
  16440. SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that Weapon!");
  16441. return 1;
  16442. }
  16443. }
  16444. else if(strcmp(x_weapon,"sdpistol",true) == 0) {
  16445. if(PlayerInfo[playerid][pMats] > 99) {
  16446. weapon = 23; price = 100;
  16447. }
  16448. else {
  16449. SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that Weapon!");
  16450. return 1;
  16451. }
  16452. }
  16453. else if(strcmp(x_weapon,"flowers",true) == 0) {
  16454. if(PlayerInfo[playerid][pMats] > 24) {
  16455. weapon = 14; price = 25;
  16456. }
  16457. else {
  16458. SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that Weapon!");
  16459. return 1;
  16460. }
  16461. }
  16462. else if(strcmp(x_weapon,"deagle",true) == 0) {
  16463. if(PlayerInfo[playerid][pArmsSkill] < 100) return SendClientMessage(playerid, COLOR_GREY, "You're not the required level to create that!");
  16464. if(PlayerInfo[playerid][pMats] > 1999) {
  16465. weapon = 24; price = 2000;
  16466. }
  16467. else {
  16468. SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that Weapon!");
  16469. return 1;
  16470. }
  16471. }
  16472. else if(strcmp(x_weapon,"mp5",true) == 0) {
  16473. if(PlayerInfo[playerid][pArmsSkill] < 50) return SendClientMessage(playerid, COLOR_GREY, "You're not the required level to create that!");
  16474. if(PlayerInfo[playerid][pMats] > 399) {
  16475. weapon = 29; price = 400;
  16476. }
  16477. else {
  16478. SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that Weapon!");
  16479. return 1;
  16480. }
  16481. }
  16482. /*else if(strcmp(x_weapon,"uzi",true) == 0) {
  16483. if(PlayerInfo[playerid][pDonator] < 3) return SendClientMessage(playerid, COLOR_GREY, "You're not a Gold+ VIP!");
  16484. if(PlayerInfo[playerid][pMats] > 1249) {
  16485. weapon = 28; price = 1250;
  16486. }
  16487. else {
  16488. SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that Weapon!");
  16489. return 1;
  16490. }
  16491. }
  16492. else if(strcmp(x_weapon,"tec9",true) == 0) {
  16493. if(PlayerInfo[playerid][pDonator] < 3) return SendClientMessage(playerid, COLOR_GREY, "You're not a Gold+ VIP!");
  16494. if(PlayerInfo[playerid][pMats] > 1249) {
  16495. weapon = 32; price = 1250;
  16496. }
  16497. else {
  16498. SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that Weapon!");
  16499. return 1;
  16500. }
  16501. }*/
  16502. else if(strcmp(x_weapon,"shotgun",true) == 0) {
  16503. if(PlayerInfo[playerid][pMats] > 199) {
  16504. weapon = 25; price = 200;
  16505. }
  16506. else {
  16507. SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that Weapon!");
  16508. return 1;
  16509. }
  16510. }
  16511. else if(strcmp(x_weapon,"9mm",true) == 0) {
  16512. if(PlayerInfo[playerid][pMats] > 149) {
  16513. weapon = 22; price = 150;
  16514. }
  16515. else {
  16516. SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that Weapon!");
  16517. return 1;
  16518. }
  16519. }
  16520. else if(strcmp(x_weapon,"spas12",true) == 0) {
  16521. if(PlayerInfo[playerid][pArmsSkill] < 400) return SendClientMessage(playerid, COLOR_GREY, "You're not the required level to create that!");
  16522. if(PlayerInfo[playerid][pMats] > 6499) {
  16523. weapon = 27; price = 6500;
  16524. }
  16525. else {
  16526. SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that Weapon!");
  16527. return 1;
  16528. }
  16529. }
  16530. else if(strcmp(x_weapon,"sniper",true) == 0) {
  16531. if(PlayerInfo[playerid][pArmsSkill] < 400) return SendClientMessage(playerid, COLOR_GREY, "You're not the required level to create that!");
  16532. if(PlayerInfo[playerid][pMats] > 6999) {
  16533. weapon = 34; price = 7000;
  16534. }
  16535. else {
  16536. SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that Weapon!");
  16537. return 1;
  16538. }
  16539. }
  16540. else if(strcmp(x_weapon,"ak47",true) == 0) {
  16541. if(PlayerInfo[playerid][pArmsSkill] < 200) return SendClientMessage(playerid, COLOR_GREY, "You're not the required level to create that!");
  16542. if(PlayerInfo[playerid][pMats] > 3499) {
  16543. weapon = 30; price = 3500;
  16544. }
  16545. else {
  16546. SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that Weapon!");
  16547. return 1;
  16548. }
  16549. }
  16550. else if(strcmp(x_weapon,"m4",true) == 0) {
  16551. if(PlayerInfo[playerid][pArmsSkill] < 200) return SendClientMessage(playerid, COLOR_GREY, "You're not the required level to create that!");
  16552. if(PlayerInfo[playerid][pMats] > 4499) {
  16553. weapon = 31; price = 4500;
  16554. }
  16555. else {
  16556. SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that Weapon!");
  16557. return 1;
  16558. }
  16559. }
  16560. else if(strcmp(x_weapon,"rifle",true) == 0) {
  16561. if(PlayerInfo[playerid][pArmsSkill] < 50) return SendClientMessage(playerid, COLOR_GREY, "You're not the required level to create that!");
  16562. if(PlayerInfo[playerid][pMats] > 999) {
  16563. weapon = 33; price = 1000;
  16564. }
  16565. else {
  16566. SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that Weapon!");
  16567. return 1;
  16568. }
  16569. }
  16570. else { SendClientMessage(playerid,COLOR_GREY," Invalid Weapon name!"); return 1; }
  16571. if(ProxDetectorS(5.0, playerid, giveplayerid)) {
  16572. if(PlayerInfo[giveplayerid][pConnectTime] < 2) return SendClientMessage(playerid, COLOR_GRAD2, "That player is currently restricted from possessing weapons!");
  16573. if(giveplayerid == playerid) {
  16574. format(string, sizeof(string), " You have given yourself a %s.", x_weapon);
  16575. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  16576. SendClientMessage(playerid, COLOR_GRAD1, string);
  16577. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  16578. switch(PlayerInfo[playerid][pSex])
  16579. {
  16580. case 1: format(string, sizeof(string), "* %s created a Gun from Materials, and hands it to himself.", GetPlayerNameEx(playerid));
  16581. case 2: format(string, sizeof(string), "* %s created a Gun from Materials, and hands it to herself.", GetPlayerNameEx(playerid));
  16582. }
  16583. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  16584. GivePlayerValidWeapon(playerid,weapon,50000);
  16585. PlayerInfo[playerid][pMats] -= price;
  16586. if(weapon > 15) {
  16587. if(DoubleXP == 1)
  16588. {
  16589. new hour,minuite,second;
  16590. gettime(hour,minuite,second);
  16591. if(DoubleEXPcheck(hour))
  16592. {
  16593. PlayerInfo[playerid][pArmsSkill] += 2;
  16594. SendClientMessage(playerid, COLOR_YELLOW, "* You have gained two skill points for this job due to double experience.");
  16595. }
  16596. /*else
  16597. {
  16598. SendClientMessage(playerid, COLOR_YELLOW, "* You have only gained one skill point for this job since it's not within the double experience hours.");
  16599. PlayerInfo[playerid][pArmsSkill]++;
  16600. }*/
  16601. }
  16602. else
  16603. {
  16604. PlayerInfo[playerid][pArmsSkill]++;
  16605. }
  16606. }
  16607. /*if(AdminDuty[playerid] != 1)
  16608. {
  16609. SetPVarInt(playerid, "ArmsTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_ARMSTIMER);
  16610. }*/
  16611. SetPVarInt(playerid, "ArmsTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_ARMSTIMER);
  16612. if(PlayerInfo[playerid][pArmsSkill] == 50)
  16613. { SendClientMessage(playerid, COLOR_YELLOW, "* Your Arms Dealer Skill is now Level 2, more weapons are available to sell."); }
  16614. else if(PlayerInfo[playerid][pArmsSkill] == 100)
  16615. { SendClientMessage(playerid, COLOR_YELLOW, "* Your Arms Dealer Skill is now Level 3, more weapons are available to sell."); }
  16616. else if(PlayerInfo[playerid][pArmsSkill] == 200)
  16617. { SendClientMessage(playerid, COLOR_YELLOW, "* Your Arms Dealer Skill is now Level 4, more weapons are available to sell."); }
  16618. else if(PlayerInfo[playerid][pArmsSkill] == 400)
  16619. { SendClientMessage(playerid, COLOR_YELLOW, "* Your Arms Dealer Skill is now Level 5, more weapons are available to sell."); }
  16620. return 1;
  16621. }
  16622. format(string, sizeof(string), "* You offered %s to buy a %s.", GetPlayerNameEx(giveplayerid), x_weapon);
  16623. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  16624. format(string, sizeof(string), "* Arms Dealer %s wants to sell you a %s, (type /accept weapon) to buy.", GetPlayerNameEx(playerid), x_weapon);
  16625. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  16626. GunOffer[giveplayerid] = playerid;
  16627. GunId[giveplayerid] = weapon;
  16628. GunMats[giveplayerid] = price;
  16629. /*if(AdminDuty[playerid] != 1) {
  16630. SetPVarInt(playerid, "ArmsTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_ARMSTIMER);
  16631. }*/
  16632. SetPVarInt(playerid, "ArmsTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_ARMSTIMER);
  16633. }
  16634. else
  16635. {
  16636. SendClientMessage(playerid, COLOR_GREY, "That player isn't near you.");
  16637. return 1;
  16638. }
  16639. return 1;
  16640. }
  16641. CMD:giveweapon(playerid, params[])
  16642. {
  16643. if(AdminDuty[playerid] == 1)
  16644. {
  16645. SendClientMessage(playerid,COLOR_WHITE, "You can't use this command while on-duty as admin.");
  16646. return 1;
  16647. }
  16648. if(GetPVarInt(playerid, "PBM") > 0)
  16649. {
  16650. SendClientMessage(playerid, COLOR_WHITE, "You're not able to do this while in a paintball game.");
  16651. return 1;
  16652. }
  16653. if(GetPVarInt(playerid, "EventToken") != 0)
  16654. {
  16655. SendClientMessage(playerid, COLOR_GREY, "You can't use this while you're in an event.");
  16656. return 1;
  16657. }
  16658. /*if(PlayerInfo[playerid][pDonator] > 2)
  16659. {
  16660. SendClientMessage(playerid, COLOR_GRAD1, "You can't give away weapons if you're Gold+ VIP!");
  16661. return 1;
  16662. }*/
  16663. new Float:health;
  16664. GetPlayerHealth(playerid, health);
  16665. if(health < 80)
  16666. {
  16667. SendClientMessage(playerid, COLOR_GRAD1, "You can't give weapons if your health is below 80!");
  16668. return 1;
  16669. }
  16670. if(GetPVarInt(playerid, "Injured") != 0||PlayerCuffed[playerid]!=0||GetPVarInt(playerid, "Hospital")!=0||GetPlayerState(playerid) == 7)
  16671. {
  16672. SendClientMessage (playerid, COLOR_GRAD2, "You can't do this at this time.");
  16673. return 1;
  16674. }
  16675. if(IsPlayerInAnyVehicle(playerid))
  16676. {
  16677. SendClientMessage (playerid, COLOR_GRAD2, "You can't give weapons in a vehicle!");
  16678. return 1;
  16679. }
  16680. if(GetPVarInt(playerid, "GiveWeaponTimer") > 0)
  16681. {
  16682. new string[58];
  16683. format(string, sizeof(string), "You must wait %d seconds before giving another weapon.", GetPVarInt(playerid, "GiveWeaponTimer"));
  16684. SendClientMessage(playerid,COLOR_GREY,string);
  16685. return 1;
  16686. }
  16687. new string[128], giveplayerid, weapon[64];
  16688. if(sscanf(params, "us[64]", giveplayerid, weapon))
  16689. {
  16690. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /giveweapon [playerid/partofname] [weapon name]");
  16691. SendClientMessage(playerid, COLOR_GRAD2, "Available Names: sdpistol, shotgun, 9mm, mp5, uzi, tec9, rifle, deagle, ak47, m4, spas12, sniper");
  16692. SendClientMessage(playerid, COLOR_GRAD2, "Available Names: flowers, knuckles, baseballbat, cane, shovel, poolcue, golfclub, katana, dildo, parachute");
  16693. return 1;
  16694. }
  16695. if(giveplayerid == INVALID_PLAYER_ID)
  16696. return SendClientMessage(playerid, COLOR_GREY, "You can't give a weapon to this player as they're not connected.");
  16697. if(PlayerInfo[giveplayerid][pWepRes] != 0)
  16698. return SCM(playerid, -1, "You can't give the player as they are weapon restricted.");
  16699. if(IsPlayerInAnyVehicle(giveplayerid))
  16700. {
  16701. SendClientMessage (playerid, COLOR_GRAD2, "You can't give weapons to players in vehicles!");
  16702. return 1;
  16703. }
  16704. if(giveplayerid == playerid)
  16705. {
  16706. SendClientMessage(playerid, COLOR_GRAD1, "You can't give a weapon to yourself!");
  16707. return 1;
  16708. }
  16709. if(!ProxDetectorS(3.0, playerid, giveplayerid))
  16710. {
  16711. SendClientMessage(playerid, COLOR_GREY, "That player isn't near you.");
  16712. return 1;
  16713. }
  16714. if(PlayerInfo[playerid][pFaction] != PlayerInfo[giveplayerid][pFaction] && PlayerInfo[playerid][pFaction] > 0)
  16715. {
  16716. SendClientMessage(playerid, COLOR_GRAD1, "You can't give weapons to players outside your faction!");
  16717. return 1;
  16718. }
  16719. if(PlayerInfo[giveplayerid][pConnectTime] < 2) return SendClientMessage(playerid, COLOR_GRAD2, "That player is currently restricted from possessing weapons");
  16720. if(IsPlayerInAnyVehicle(giveplayerid)) return SendClientMessage(playerid, COLOR_GRAD2, "Please exit the vehicle, before using this command.");
  16721. if(strcmp(weapon, "sdpistol", true) == 0)
  16722. {
  16723. if(PlayerInfo[playerid][pGuns][2] == 23)
  16724. {
  16725. if(PlayerInfo[giveplayerid][pGuns][2] != 23 && PlayerInfo[giveplayerid][pGuns][2] != 24)
  16726. {
  16727. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have given away your silenced pistol.");
  16728. format(string, sizeof(string), "* %s has given %s their silenced pistol.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  16729. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  16730. RemovePlayerWeapon(playerid, 23);
  16731. GivePlayerValidWeapon(giveplayerid, 23, 60000);
  16732. /*new ip[32], ipex[32];
  16733. GetPlayerIp(playerid, ip, sizeof(ip));
  16734. GetPlayerIp(giveplayerid, ipex, sizeof(ipex));
  16735. GetPlayerIp(giveplayerid, ipex, sizeof(ipex));format(string, sizeof(string), "%s (IP:%s) has given %s(IP:%s) has given %s (IP:%s) their silenced pistol.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(giveplayerid), ipex);
  16736. Log("logs/pay.log", string);*/
  16737. }
  16738. else
  16739. {
  16740. SendClientMessage(playerid, COLOR_GREY, "That player already has a silenced pistol or Desert Eeagle!");
  16741. }
  16742. }
  16743. else
  16744. {
  16745. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  16746. }
  16747. }
  16748. if(strcmp(weapon, "9mm", true) == 0)
  16749. {
  16750. if(PlayerInfo[playerid][pGuns][2] == 22)
  16751. {
  16752. if(PlayerInfo[giveplayerid][pGuns][2] != 22 && PlayerInfo[giveplayerid][pGuns][2] != 24)
  16753. {
  16754. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have given away your 9mm pistol.");
  16755. format(string, sizeof(string), "* %s has given %s their 9mm pistol.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  16756. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  16757. RemovePlayerWeapon(playerid, 22);
  16758. GivePlayerValidWeapon(giveplayerid, 22, 60000);
  16759. /*new ip[32], ipex[32];
  16760. GetPlayerIp(playerid, ip, sizeof(ip));
  16761. GetPlayerIp(giveplayerid, ipex, sizeof(ipex));
  16762. GetPlayerIp(giveplayerid, ipex, sizeof(ipex));format(string, sizeof(string), "%s (IP:%s) has given %s (IP:%s) their 9mm pistol.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(giveplayerid), ipex);
  16763. Log("logs/pay.log", string);*/
  16764. }
  16765. else
  16766. {
  16767. SendClientMessage(playerid, COLOR_GREY, "That player already has a silenced pistol or Desert Eeagle!");
  16768. }
  16769. }
  16770. else
  16771. {
  16772. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  16773. }
  16774. }
  16775. else if(strcmp(weapon, "shotgun", true) == 0)
  16776. {
  16777. if(PlayerInfo[playerid][pGuns][ 3 ] == 25)
  16778. {
  16779. if(PlayerInfo[giveplayerid][pGuns][ 3 ] != 25 && PlayerInfo[giveplayerid][pGuns][ 3 ] != 27)
  16780. {
  16781. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have given away your shotgun.");
  16782. format(string, sizeof(string), "* %s has given %s their shotgun.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  16783. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  16784. RemovePlayerWeapon(playerid, 25);
  16785. GivePlayerValidWeapon(giveplayerid, 25, 60000);
  16786. /*new ip[32], ipex[32];
  16787. GetPlayerIp(playerid, ip, sizeof(ip));
  16788. GetPlayerIp(giveplayerid, ipex, sizeof(ipex));format(string, sizeof(string), "%s (IP:%s) has given %s(IP:%s) has given %s (IP:%s) their shotgun.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(giveplayerid), ipex);
  16789. Log("logs/pay.log", string);*/
  16790. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  16791. }
  16792. else
  16793. {
  16794. SendClientMessage(playerid, COLOR_GREY, "That player already has a MP5, Micro SMG or Tec-9!");
  16795. }
  16796. }
  16797. else
  16798. {
  16799. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  16800. }
  16801. }
  16802. else if(strcmp(weapon, "mp5", true) == 0) {
  16803. if(PlayerInfo[playerid][pGuns][4] == 29)
  16804. {
  16805. if(PlayerInfo[giveplayerid][pGuns][4] != 28 && PlayerInfo[giveplayerid][pGuns][4] != 29 && PlayerInfo[giveplayerid][pGuns][4] != 32)
  16806. {
  16807. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have given away your MP5.");
  16808. format(string, sizeof(string), "* %s has given %s their MP5.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  16809. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  16810. RemovePlayerWeapon(playerid, 29);
  16811. GivePlayerValidWeapon(giveplayerid, 29, 60000);
  16812. /*new ip[32], ipex[32];
  16813. GetPlayerIp(playerid, ip, sizeof(ip));
  16814. GetPlayerIp(giveplayerid, ipex, sizeof(ipex));format(string, sizeof(string), "%s (IP:%s) has given %s (IP:%s) their MP5.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(giveplayerid), ipex);
  16815. Log("logs/pay.log", string);*/
  16816. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  16817. }
  16818. else
  16819. {
  16820. SendClientMessage(playerid, COLOR_GREY, "That player already has a MP5!");
  16821. }
  16822. }
  16823. else
  16824. {
  16825. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  16826. }
  16827. }
  16828. else if(strcmp(weapon, "uzi", true) == 0)
  16829. {
  16830. if(PlayerInfo[playerid][pGuns][4] == 28)
  16831. {
  16832. if(PlayerInfo[giveplayerid][pGuns][4] != 28 && PlayerInfo[giveplayerid][pGuns][4] != 29 && PlayerInfo[giveplayerid][pGuns][4] != 32)
  16833. {
  16834. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have given away your Micro SMG.");
  16835. format(string, sizeof(string), "* %s has given %s their Micro SMG.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  16836. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  16837. RemovePlayerWeapon(playerid, 28);
  16838. GivePlayerValidWeapon(giveplayerid, 28, 60000);
  16839. /*new ip[32], ipex[32];
  16840. GetPlayerIp(playerid, ip, sizeof(ip));
  16841. GetPlayerIp(giveplayerid, ipex, sizeof(ipex));format(string, sizeof(string), "%s (IP:%s) has given %s (IP:%s) their Micro SMG.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(giveplayerid), ipex);
  16842. Log("logs/pay.log", string);*/
  16843. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  16844. }
  16845. else
  16846. {
  16847. SendClientMessage(playerid, COLOR_GREY, "That player already has a MP5, Micro SMG or Tec-9!");
  16848. }
  16849. }
  16850. else
  16851. {
  16852. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  16853. }
  16854. }
  16855. else if(strcmp(weapon, "tec9", true) == 0)
  16856. {
  16857. if(PlayerInfo[playerid][pGuns][4] == 32)
  16858. {
  16859. if(PlayerInfo[giveplayerid][pGuns][4] != 28 && PlayerInfo[giveplayerid][pGuns][4] != 29 && PlayerInfo[giveplayerid][pGuns][4] != 32)
  16860. {
  16861. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have given away your Tec-9.");
  16862. format(string, sizeof(string), "* %s has given %s their Tec-9.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  16863. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  16864. RemovePlayerWeapon(playerid, 32);
  16865. GivePlayerValidWeapon(giveplayerid, 32, 60000);
  16866. /*new ip[32], ipex[32];
  16867. GetPlayerIp(playerid, ip, sizeof(ip));
  16868. GetPlayerIp(giveplayerid, ipex, sizeof(ipex));format(string, sizeof(string), "%s (IP:%s) has given %s (IP:%s) their Tec-9.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(giveplayerid), ipex);
  16869. Log("logs/pay.log", string);*/
  16870. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  16871. }
  16872. else
  16873. {
  16874. SendClientMessage(playerid, COLOR_GREY, "That player already has a MP5, Micro SMG or Tec-9!");
  16875. }
  16876. }
  16877. else
  16878. {
  16879. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  16880. }
  16881. }
  16882. else if(strcmp(weapon, "deagle", true) == 0)
  16883. {
  16884. if(PlayerInfo[playerid][pGuns][2] == 24)
  16885. {
  16886. if(PlayerInfo[giveplayerid][pGuns][2] != 24)
  16887. {
  16888. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have given away your Desert Eagle.");
  16889. format(string, sizeof(string), "* %s has given %s their Desert Eeagle.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  16890. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  16891. RemovePlayerWeapon(playerid, 24);
  16892. GivePlayerValidWeapon(giveplayerid, 24, 60000);
  16893. /*new ip[32], ipex[32];
  16894. GetPlayerIp(playerid, ip, sizeof(ip));
  16895. GetPlayerIp(giveplayerid, ipex, sizeof(ipex));format(string, sizeof(string), "%s (IP:%s) has given %s (IP:%s) their Desert Eagle.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(giveplayerid), ipex);
  16896. Log("logs/pay.log", string);*/
  16897. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  16898. }
  16899. else
  16900. {
  16901. SendClientMessage(playerid, COLOR_GREY, "That player already has a Desert Eeagle!");
  16902. }
  16903. }
  16904. else
  16905. {
  16906. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  16907. }
  16908. }
  16909. else if(strcmp(weapon, "rifle", true) == 0)
  16910. {
  16911. if(PlayerInfo[playerid][pGuns][6] == 33)
  16912. {
  16913. if(PlayerInfo[giveplayerid][pGuns][6] != 33 && PlayerInfo[giveplayerid][pGuns][6] != 34)
  16914. {
  16915. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have given away your rifle.");
  16916. format(string, sizeof(string), "* %s has given %s their rifle.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  16917. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  16918. RemovePlayerWeapon(playerid, 33);
  16919. GivePlayerValidWeapon(giveplayerid, 33, 60000);
  16920. /*new ip[32], ipex[32];
  16921. GetPlayerIp(playerid, ip, sizeof(ip));
  16922. GetPlayerIp(giveplayerid, ipex, sizeof(ipex));format(string, sizeof(string), "%s (IP:%s) has given %s (IP:%s) their rifle.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(giveplayerid), ipex);
  16923. Log("logs/pay.log", string);*/
  16924. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  16925. }
  16926. else
  16927. {
  16928. SendClientMessage(playerid, COLOR_GREY, "That player already has a rifle!");
  16929. }
  16930. }
  16931. else
  16932. {
  16933. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  16934. }
  16935. }
  16936. else if(strcmp(weapon, "ak47", true) == 0)
  16937. {
  16938. if(PlayerInfo[playerid][pGuns][5] == 30)
  16939. {
  16940. if(PlayerInfo[giveplayerid][pGuns][5] != 30 && PlayerInfo[giveplayerid][pGuns][5] != 31)
  16941. {
  16942. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have given away your AK-47.");
  16943. format(string, sizeof(string), "* %s has given %s their AK-47.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  16944. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  16945. RemovePlayerWeapon(playerid, 30);
  16946. GivePlayerValidWeapon(giveplayerid, 30, 60000);
  16947. /*new ip[32], ipex[32];
  16948. GetPlayerIp(playerid, ip, sizeof(ip));
  16949. GetPlayerIp(giveplayerid, ipex, sizeof(ipex));format(string, sizeof(string), "%s (IP:%s) has given %s (IP:%s) their AK-47.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(giveplayerid), ipex);
  16950. Log("logs/pay.log", string);*/
  16951. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  16952. }
  16953. else
  16954. {
  16955. SendClientMessage(playerid, COLOR_GREY, "That player already has a AK-47 or M4!");
  16956. }
  16957. }
  16958. else
  16959. {
  16960. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  16961. }
  16962. }
  16963. else if(strcmp(weapon, "m4", true) == 0)
  16964. {
  16965. if(PlayerInfo[playerid][pGuns][5] == 31)
  16966. {
  16967. if(PlayerInfo[giveplayerid][pGuns][5] != 31)
  16968. {
  16969. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have given away your M4.");
  16970. format(string, sizeof(string), "* %s has given %s their M4.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  16971. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  16972. RemovePlayerWeapon(playerid, 31);
  16973. GivePlayerValidWeapon(giveplayerid, 31, 60000);
  16974. /*new ip[32], ipex[32];
  16975. GetPlayerIp(playerid, ip, sizeof(ip));
  16976. GetPlayerIp(giveplayerid, ipex, sizeof(ipex));format(string, sizeof(string), "%s (IP:%s) has given %s (IP:%s) their M4.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(giveplayerid), ipex);
  16977. Log("logs/pay.log", string);*/
  16978. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  16979. }
  16980. else
  16981. {
  16982. SendClientMessage(playerid, COLOR_GREY, "That player already has a M4!");
  16983. }
  16984. }
  16985. else
  16986. {
  16987. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  16988. }
  16989. }
  16990. else if(strcmp(weapon, "spas12", true) == 0)
  16991. {
  16992. if(PlayerInfo[playerid][pGuns][ 3 ] == 27)
  16993. {
  16994. if(PlayerInfo[giveplayerid][pGuns][ 3 ] != 27)
  16995. {
  16996. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have given away your SPAS-12.");
  16997. format(string, sizeof(string), "* %s has given %s their SPAS-12.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  16998. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  16999. RemovePlayerWeapon(playerid, 27);
  17000. GivePlayerValidWeapon(giveplayerid, 27, 60000);
  17001. /*new ip[32], ipex[32];
  17002. GetPlayerIp(playerid, ip, sizeof(ip));
  17003. GetPlayerIp(giveplayerid, ipex, sizeof(ipex));format(string, sizeof(string), "%s (IP:%s) has given %s (IP:%s) their SPAS-12.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(giveplayerid), ipex);
  17004. Log("logs/pay.log", string);*/
  17005. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  17006. }
  17007. else
  17008. {
  17009. SendClientMessage(playerid, COLOR_GREY, "That player already has a SPAS-12!");
  17010. }
  17011. }
  17012. else
  17013. {
  17014. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17015. }
  17016. }
  17017. else if(strcmp(weapon, "sniper", true) == 0)
  17018. {
  17019. if(PlayerInfo[playerid][pGuns][6] == 34)
  17020. {
  17021. if(PlayerInfo[giveplayerid][pGuns][6] != 34)
  17022. {
  17023. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have given away your sniper rifle.");
  17024. format(string, sizeof(string), "* %s has given %s their sniper rifle.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  17025. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17026. RemovePlayerWeapon(playerid, 34);
  17027. GivePlayerValidWeapon(giveplayerid, 34, 60000);
  17028. /*new ip[32], ipex[32];
  17029. GetPlayerIp(playerid, ip, sizeof(ip));
  17030. GetPlayerIp(giveplayerid, ipex, sizeof(ipex));format(string, sizeof(string), "%s (IP:%s) has given %s (IP:%s) their sniper rifle.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(giveplayerid), ipex);
  17031. Log("logs/pay.log", string);*/
  17032. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  17033. }
  17034. else
  17035. {
  17036. SendClientMessage(playerid, COLOR_GREY, "That player already has a sniper rifle!");
  17037. }
  17038. }
  17039. else
  17040. {
  17041. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17042. }
  17043. }
  17044. else if(strcmp(weapon, "flowers", true) == 0)
  17045. {
  17046. if(PlayerInfo[playerid][pGuns][10] == 14)
  17047. {
  17048. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have given away your flowers.");
  17049. format(string, sizeof(string), "* %s has given %s their flowers.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  17050. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17051. RemovePlayerWeapon(playerid, 14);
  17052. GivePlayerValidWeapon(giveplayerid, 14, 60000);
  17053. /*new ip[32], ipex[32];
  17054. GetPlayerIp(playerid, ip, sizeof(ip));
  17055. GetPlayerIp(giveplayerid, ipex, sizeof(ipex));format(string, sizeof(string), "%s (IP:%s) has given %s (IP:%s) their flowers.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(giveplayerid), ipex);
  17056. Log("logs/pay.log", string);*/
  17057. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  17058. }
  17059. else
  17060. {
  17061. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17062. }
  17063. }
  17064. else if(strcmp(weapon, "knuckles", true) == 0)
  17065. {
  17066. if(PlayerInfo[playerid][pGuns][0] == 1)
  17067. {
  17068. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have given away your brass knuckles.");
  17069. format(string, sizeof(string), "* %s has given %s their brass knuckles.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  17070. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17071. RemovePlayerWeapon(playerid, 1);
  17072. GivePlayerValidWeapon(giveplayerid, 1, 60000);
  17073. /*new ip[32], ipex[32];
  17074. GetPlayerIp(playerid, ip, sizeof(ip));
  17075. GetPlayerIp(giveplayerid, ipex, sizeof(ipex));format(string, sizeof(string), "%s (IP:%s) has given %s (IP:%s) their brass knuckles.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(giveplayerid), ipex);
  17076. Log("logs/pay.log", string);*/
  17077. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  17078. }
  17079. else
  17080. {
  17081. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17082. }
  17083. }
  17084. else if(strcmp(weapon, "baseballbat", true) == 0)
  17085. {
  17086. if(PlayerInfo[playerid][pGuns][1] == 5)
  17087. {
  17088. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have given away your baseball bat.");
  17089. format(string, sizeof(string), "* %s has given %s their baseball bat.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  17090. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17091. RemovePlayerWeapon(playerid, 5);
  17092. GivePlayerValidWeapon(giveplayerid, 5, 60000);
  17093. /*new ip[32], ipex[32];
  17094. GetPlayerIp(playerid, ip, sizeof(ip));
  17095. GetPlayerIp(giveplayerid, ipex, sizeof(ipex));format(string, sizeof(string), "%s (IP:%s) has given %s (IP:%s) their baseball bat.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(giveplayerid), ipex);
  17096. Log("logs/pay.log", string);*/
  17097. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  17098. }
  17099. else
  17100. {
  17101. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17102. }
  17103. }
  17104. else if(strcmp(weapon, "cane", true) == 0)
  17105. {
  17106. if(PlayerInfo[playerid][pGuns][10] == 15)
  17107. {
  17108. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have given away your cane.");
  17109. format(string, sizeof(string), "* %s has given %s their cane.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  17110. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17111. RemovePlayerWeapon(playerid, 15);
  17112. GivePlayerValidWeapon(giveplayerid, 15, 60000);
  17113. /*new ip[32], ipex[32];
  17114. GetPlayerIp(playerid, ip, sizeof(ip));
  17115. GetPlayerIp(giveplayerid, ipex, sizeof(ipex));format(string, sizeof(string), "%s (IP:%s) has given %s (IP:%s) their cane.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(giveplayerid), ipex);
  17116. Log("logs/pay.log", string);*/
  17117. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  17118. }
  17119. else
  17120. {
  17121. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17122. }
  17123. }
  17124. else if(strcmp(weapon, "shovel", true) == 0)
  17125. {
  17126. if(PlayerInfo[playerid][pGuns][6] == 6)
  17127. {
  17128. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have given away your shovel.");
  17129. format(string, sizeof(string), "* %s has given %s their shovel.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  17130. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17131. RemovePlayerWeapon(playerid, 6);
  17132. GivePlayerValidWeapon(giveplayerid, 6, 60000);
  17133. /*new ip[32], ipex[32];
  17134. GetPlayerIp(playerid, ip, sizeof(ip));
  17135. GetPlayerIp(giveplayerid, ipex, sizeof(ipex));format(string, sizeof(string), "%s (IP:%s) has given %s (IP:%s) their shovel.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(giveplayerid), ipex);
  17136. Log("logs/pay.log", string);*/
  17137. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  17138. }
  17139. else
  17140. {
  17141. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17142. }
  17143. }
  17144. else if(strcmp(weapon, "golfclub", true) == 0)
  17145. {
  17146. if(PlayerInfo[playerid][pGuns][1] == 2)
  17147. {
  17148. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have given away your golf club.");
  17149. format(string, sizeof(string), "* %s has given %s golf club.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  17150. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17151. RemovePlayerWeapon(playerid, 2);
  17152. GivePlayerValidWeapon(giveplayerid, 2, 60000);
  17153. /*new ip[32], ipex[32];
  17154. GetPlayerIp(playerid, ip, sizeof(ip));
  17155. GetPlayerIp(giveplayerid, ipex, sizeof(ipex));format(string, sizeof(string), "%s (IP:%s) has given %s (IP:%s) their golf club.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(giveplayerid), ipex);
  17156. Log("logs/pay.log", string);*/
  17157. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  17158. }
  17159. else
  17160. {
  17161. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17162. }
  17163. }
  17164. else if(strcmp(weapon, "katana") == 0)
  17165. {
  17166. if(PlayerInfo[playerid][pGuns][1] == 8)
  17167. {
  17168. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have given away your katana.");
  17169. format(string, sizeof(string), "* %s has given %s their katana.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  17170. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17171. RemovePlayerWeapon(playerid, 8);
  17172. GivePlayerValidWeapon(giveplayerid, 8, 60000);
  17173. /*new ip[32], ipex[32];
  17174. GetPlayerIp(playerid, ip, sizeof(ip));
  17175. GetPlayerIp(giveplayerid, ipex, sizeof(ipex));format(string, sizeof(string), "%s (IP:%s) has given %s (IP:%s) their katana.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(giveplayerid), ipex);
  17176. Log("logs/pay.log", string);*/
  17177. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  17178. }
  17179. else
  17180. {
  17181. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17182. }
  17183. }
  17184. else if(strcmp(weapon, "dildo", true) == 0)
  17185. {
  17186. if(PlayerInfo[playerid][pGuns][10] == 10)
  17187. {
  17188. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have given away your dildo.");
  17189. format(string, sizeof(string), "* %s has given %s their dildo.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  17190. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17191. RemovePlayerWeapon(playerid, 10);
  17192. GivePlayerValidWeapon(giveplayerid, 10, 60000);
  17193. /*new ip[32], ipex[32];
  17194. GetPlayerIp(playerid, ip, sizeof(ip));
  17195. GetPlayerIp(giveplayerid, ipex, sizeof(ipex));format(string, sizeof(string), "%s (IP:%s) has given %s (IP:%s) their dildo.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(giveplayerid), ipex);
  17196. Log("logs/pay.log", string);*/
  17197. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  17198. }
  17199. else
  17200. {
  17201. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17202. }
  17203. }
  17204. else if(strcmp(weapon, "parachute", true) == 0)
  17205. {
  17206. if(PlayerInfo[playerid][pGuns][11] == 46)
  17207. {
  17208. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have given away your parachute.");
  17209. format(string, sizeof(string), "* %s has given %s their parachute.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  17210. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17211. RemovePlayerWeapon(playerid, 46);
  17212. GivePlayerValidWeapon(giveplayerid, 46, 60000);
  17213. /*new ip[32], ipex[32];
  17214. GetPlayerIp(playerid, ip, sizeof(ip));
  17215. GetPlayerIp(giveplayerid, ipex, sizeof(ipex));
  17216. format(string, sizeof(string), "%s (IP:%s) has given %s (IP:%s) their parachute.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(giveplayerid), ipex);
  17217. Log("logs/pay.log", string);*/
  17218. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  17219. }
  17220. else
  17221. {
  17222. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17223. }
  17224. }
  17225. else
  17226. {
  17227. SendClientMessage(playerid, COLOR_GRAD1, "You have entered an invalid weapon name.");
  17228. }
  17229. return 1;
  17230. }
  17231. CMD:dropweapon(playerid, params[])
  17232. {
  17233. return cmd_dropgun(playerid, params);
  17234. }
  17235. CMD:dropgun(playerid, params[])
  17236. {
  17237. if(isnull(params))
  17238. {
  17239. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /dropweapon [weapon name]");
  17240. SendClientMessage(playerid, COLOR_GRAD2, "Available Names: sdpistol, shotgun, 9mm, mp5, uzi, tec9, rifle, deagle, ak47, m4, spas12, sniper, camera");
  17241. SendClientMessage(playerid, COLOR_GRAD2, "Available Names: flowers, knuckles, baseballbat, cane, shovel, poolcue, golfclub, katana, dildo, parachute");
  17242. if(PlayerInfo[playerid][pFaction] == 4 || PlayerInfo[playerid][pLeader] == 4)
  17243. {
  17244. SendClientMessage(playerid, COLOR_GRAD2, "Available Names: knife");
  17245. }
  17246. if(PlayerInfo[playerid][pFaction] == 1 || PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pFaction] == 2 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pFaction] == 3 || PlayerInfo[playerid][pLeader] == 3)
  17247. {
  17248. SendClientMessage(playerid, COLOR_GRAD2, "Available Names: nitestick, mace, smoke, chainsaw, fire");
  17249. }
  17250. return 1;
  17251. }
  17252. if(IsPlayerInAnyVehicle(playerid))
  17253. {
  17254. SendClientMessage (playerid, COLOR_GRAD2, "You can't drop weapons in a vehicle!");
  17255. return 1;
  17256. }
  17257. if(GetPVarInt(playerid, "PBM") > 0)
  17258. {
  17259. SendClientMessage(playerid, COLOR_WHITE, "You're not able to do this while in a paintball game.");
  17260. return 1;
  17261. }
  17262. if(GetPVarInt(playerid, "EventToken") != 0)
  17263. {
  17264. SendClientMessage(playerid, COLOR_GREY, "You can't use this while you're in an event.");
  17265. return 1;
  17266. }
  17267. new string[128];
  17268. if(strcmp(params, "sdpistol", true) == 0)
  17269. {
  17270. if(PlayerInfo[playerid][pGuns][2] == 23)
  17271. {
  17272. if(pTazer[playerid] == 1) return SendClientMessage(playerid, COLOR_RED, "You can't drop your tazer.");
  17273. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have dropped your silenced pistol.");
  17274. format(string, sizeof(string), "* %s has dropped their silenced pistol.", GetPlayerNameEx(playerid));
  17275. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17276. RemovePlayerWeapon(playerid, 23);
  17277. }
  17278. else
  17279. {
  17280. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17281. }
  17282. }
  17283. else if(strcmp(params, "camera", true) == 0)
  17284. {
  17285. if(PlayerInfo[playerid][pGuns][9] == 43)
  17286. {
  17287. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have dropped your camera.");
  17288. format(string, sizeof(string), "* %s has dropped their camera.", GetPlayerNameEx(playerid));
  17289. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17290. RemovePlayerWeapon(playerid, 43);
  17291. }
  17292. else
  17293. {
  17294. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17295. }
  17296. }
  17297. else if(strcmp(params, "nitestick", true) == 0)
  17298. {
  17299. if(PlayerInfo[playerid][pGuns][1] == 3)
  17300. {
  17301. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have dropped your nitestick.");
  17302. format(string, sizeof(string), "* %s has dropped their nitestick.", GetPlayerNameEx(playerid));
  17303. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17304. RemovePlayerWeapon(playerid, 3);
  17305. }
  17306. else
  17307. {
  17308. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17309. }
  17310. }
  17311. else if(strcmp(params, "mace", true) == 0)
  17312. {
  17313. if(PlayerInfo[playerid][pGuns][9] == 41)
  17314. {
  17315. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have dropped your mace.");
  17316. format(string, sizeof(string), "* %s has dropped their mace.", GetPlayerNameEx(playerid));
  17317. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17318. RemovePlayerWeapon(playerid, 41);
  17319. }
  17320. else
  17321. {
  17322. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17323. }
  17324. }
  17325. else if(strcmp(params, "knife", true) == 0)
  17326. {
  17327. if(PlayerInfo[playerid][pGuns][1] == 4)
  17328. {
  17329. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have dropped your knife.");
  17330. format(string, sizeof(string), "* %s has dropped their knife.", GetPlayerNameEx(playerid));
  17331. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17332. RemovePlayerWeapon(playerid, 4);
  17333. }
  17334. else
  17335. {
  17336. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17337. }
  17338. }
  17339. else if(strcmp(params, "9mm", true) == 0)
  17340. {
  17341. if(PlayerInfo[playerid][pGuns][2] == 22)
  17342. {
  17343. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have dropped your 9mm pistol.");
  17344. format(string, sizeof(string), "* %s has dropped their 9mm pistol.", GetPlayerNameEx(playerid));
  17345. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17346. RemovePlayerWeapon(playerid, 22);
  17347. }
  17348. else
  17349. {
  17350. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17351. }
  17352. }
  17353. else if(strcmp(params, "shotgun", true) == 0)
  17354. {
  17355. if(PlayerInfo[playerid][pGuns][ 3 ] == 25)
  17356. {
  17357. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have dropped your shotgun.");
  17358. format(string, sizeof(string), "* %s has dropped their shotgun.", GetPlayerNameEx(playerid));
  17359. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17360. RemovePlayerWeapon(playerid, 25);
  17361. }
  17362. else
  17363. {
  17364. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17365. }
  17366. }
  17367. else if(strcmp(params, "mp5", true) == 0)
  17368. {
  17369. if(PlayerInfo[playerid][pGuns][4] == 29)
  17370. {
  17371. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have dropped your MP5.");
  17372. format(string, sizeof(string), "* %s has dropped their MP5.", GetPlayerNameEx(playerid));
  17373. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17374. RemovePlayerWeapon(playerid, 29);
  17375. }
  17376. else
  17377. {
  17378. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17379. }
  17380. }
  17381. else if(strcmp(params, "uzi", true) == 0)
  17382. {
  17383. if(PlayerInfo[playerid][pGuns][4] == 28)
  17384. {
  17385. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have dropped your Micro SMG.");
  17386. format(string, sizeof(string), "* %s has dropped their Micro SMG.", GetPlayerNameEx(playerid));
  17387. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17388. RemovePlayerWeapon(playerid, 28);
  17389. }
  17390. else
  17391. {
  17392. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17393. }
  17394. }
  17395. else if(strcmp(params, "uzi", true) == 0)
  17396. {
  17397. if(PlayerInfo[playerid][pGuns][4] == 32)
  17398. {
  17399. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have dropped your Tec-9.");
  17400. format(string, sizeof(string), "* %s has dropped their Tec-9.", GetPlayerNameEx(playerid));
  17401. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17402. RemovePlayerWeapon(playerid, 32);
  17403. }
  17404. else
  17405. {
  17406. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17407. }
  17408. }
  17409. else if(strcmp(params, "deagle", true) == 0)
  17410. {
  17411. if(PlayerInfo[playerid][pGuns][2] == 24)
  17412. {
  17413. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have dropped your Desert Eagle.");
  17414. format(string, sizeof(string), "* %s has dropped their Desert Eagle.", GetPlayerNameEx(playerid));
  17415. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17416. RemovePlayerWeapon(playerid, 24);
  17417. }
  17418. else
  17419. {
  17420. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17421. }
  17422. }
  17423. else if(strcmp(params, "rifle", true) == 0)
  17424. {
  17425. if(PlayerInfo[playerid][pGuns][6] == 33)
  17426. {
  17427. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have dropped your rifle.");
  17428. format(string, sizeof(string), "* %s has dropped their rifle.", GetPlayerNameEx(playerid));
  17429. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17430. RemovePlayerWeapon(playerid, 33);
  17431. }
  17432. else
  17433. {
  17434. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17435. }
  17436. }
  17437. else if(strcmp(params, "ak47", true) == 0)
  17438. {
  17439. if(PlayerInfo[playerid][pGuns][5] == 30)
  17440. {
  17441. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have dropped your AK-47.");
  17442. format(string, sizeof(string), "* %s has dropped their AK-47.", GetPlayerNameEx(playerid));
  17443. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17444. RemovePlayerWeapon(playerid, 30);
  17445. }
  17446. else
  17447. {
  17448. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17449. }
  17450. }
  17451. else if(strcmp(params, "m4", true) == 0)
  17452. {
  17453. if(PlayerInfo[playerid][pGuns][5] == 31)
  17454. {
  17455. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have dropped your M4.");
  17456. format(string, sizeof(string), "* %s has dropped their M4.", GetPlayerNameEx(playerid));
  17457. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17458. RemovePlayerWeapon(playerid, 31);
  17459. }
  17460. else
  17461. {
  17462. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17463. }
  17464. }
  17465. else if(strcmp(params, "spas12", true) == 0)
  17466. {
  17467. if(PlayerInfo[playerid][pGuns][ 3 ] == 27)
  17468. {
  17469. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have dropped your SPAS-12.");
  17470. format(string, sizeof(string), "* %s has dropped their SPAS-12.", GetPlayerNameEx(playerid));
  17471. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17472. RemovePlayerWeapon(playerid, 27);
  17473. }
  17474. else
  17475. {
  17476. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17477. }
  17478. }
  17479. else if(strcmp(params, "sniper", true) == 0)
  17480. {
  17481. if(PlayerInfo[playerid][pGuns][6] == 34)
  17482. {
  17483. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have dropped your sniper rifle.");
  17484. format(string, sizeof(string), "* %s has dropped their sniper rifle.", GetPlayerNameEx(playerid));
  17485. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17486. RemovePlayerWeapon(playerid, 34);
  17487. }
  17488. else
  17489. {
  17490. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17491. }
  17492. }
  17493. else if(strcmp(params, "flowers", true) == 0)
  17494. {
  17495. if(PlayerInfo[playerid][pGuns][10] == 14)
  17496. {
  17497. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have dropped your flowers.");
  17498. format(string, sizeof(string), "* %s has dropped their flowers.", GetPlayerNameEx(playerid));
  17499. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17500. RemovePlayerWeapon(playerid, 14);
  17501. }
  17502. else
  17503. {
  17504. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17505. }
  17506. }
  17507. else if(strcmp(params, "knuckles", true) == 0)
  17508. {
  17509. if(PlayerInfo[playerid][pGuns][0] == 1)
  17510. {
  17511. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have dropped your brass knuckles.");
  17512. format(string, sizeof(string), "* %s has dropped their brass knuckles.", GetPlayerNameEx(playerid));
  17513. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17514. RemovePlayerWeapon(playerid, 1);
  17515. }
  17516. else
  17517. {
  17518. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17519. }
  17520. }
  17521. else if(strcmp(params, "baseballbat", true) == 0)
  17522. {
  17523. if(PlayerInfo[playerid][pGuns][1] == 5)
  17524. {
  17525. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have dropped your baseball bat.");
  17526. format(string, sizeof(string), "* %s has dropped their baseball bat.", GetPlayerNameEx(playerid));
  17527. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17528. RemovePlayerWeapon(playerid, 5);
  17529. }
  17530. else
  17531. {
  17532. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17533. }
  17534. }
  17535. else if(strcmp(params, "cane", true) == 0)
  17536. {
  17537. if(PlayerInfo[playerid][pGuns][10] == 15)
  17538. {
  17539. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have dropped your cane.");
  17540. format(string, sizeof(string), "* %s has dropped their cane.", GetPlayerNameEx(playerid));
  17541. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17542. PlayerInfo[playerid][pGuns][10] = 0;
  17543. RemovePlayerWeapon(playerid, 15);
  17544. }
  17545. else
  17546. {
  17547. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17548. }
  17549. }
  17550. else if(strcmp(params, "shovel", true) == 0)
  17551. {
  17552. if(PlayerInfo[playerid][pGuns][1] == 6)
  17553. {
  17554. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have dropped your shovel.");
  17555. format(string, sizeof(string), "* %s has dropped their shovel.", GetPlayerNameEx(playerid));
  17556. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17557. RemovePlayerWeapon(playerid, 6);
  17558. }
  17559. else
  17560. {
  17561. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17562. }
  17563. }
  17564. else if(strcmp(params, "golfclub", true) == 0)
  17565. {
  17566. if(PlayerInfo[playerid][pGuns][1] == 2)
  17567. {
  17568. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have dropped your golf club.");
  17569. format(string, sizeof(string), "* %s has dropped their golf club.", GetPlayerNameEx(playerid));
  17570. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17571. RemovePlayerWeapon(playerid, 2);
  17572. }
  17573. else
  17574. {
  17575. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17576. }
  17577. }
  17578. else if(strcmp(params, "katana") == 0)
  17579. {
  17580. if(PlayerInfo[playerid][pGuns][1] == 8)
  17581. {
  17582. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have dropped your katana.");
  17583. format(string, sizeof(string), "* %s has dropped their katana.", GetPlayerNameEx(playerid));
  17584. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17585. RemovePlayerWeapon(playerid, 8);
  17586. }
  17587. else
  17588. {
  17589. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17590. }
  17591. }
  17592. else if(strcmp(params, "dildo", true) == 0)
  17593. {
  17594. if(PlayerInfo[playerid][pGuns][10] == 10)
  17595. {
  17596. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have dropped your dildo.");
  17597. format(string, sizeof(string), "* %s has dropped their dildo.", GetPlayerNameEx(playerid));
  17598. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17599. RemovePlayerWeapon(playerid, 10);
  17600. }
  17601. else
  17602. {
  17603. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17604. }
  17605. }
  17606. else if(strcmp(params, "parachute", true) == 0)
  17607. {
  17608. if(PlayerInfo[playerid][pGuns][11] == 46)
  17609. {
  17610. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have dropped your parachute.");
  17611. format(string, sizeof(string), "* %s has dropped their parachute.", GetPlayerNameEx(playerid));
  17612. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17613. RemovePlayerWeapon(playerid, 46);
  17614. }
  17615. else
  17616. {
  17617. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17618. }
  17619. }
  17620. else if(strcmp(params, "smoke", true) == 0)
  17621. {
  17622. if(PlayerInfo[playerid][pGuns][8] == 17)
  17623. {
  17624. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have dropped your smoke grenade.");
  17625. format(string, sizeof(string), "* %s has dropped their smoke grenade.", GetPlayerNameEx(playerid));
  17626. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17627. RemovePlayerWeapon(playerid, 17);
  17628. }
  17629. else
  17630. {
  17631. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17632. }
  17633. }
  17634. else if(strcmp(params, "chainsaw", true) == 0)
  17635. {
  17636. if(PlayerInfo[playerid][pGuns][1] == 9)
  17637. {
  17638. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have dropped your chainsaw.");
  17639. format(string, sizeof(string), "* %s has dropped their chainsaw.", GetPlayerNameEx(playerid));
  17640. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17641. RemovePlayerWeapon(playerid, 9);
  17642. }
  17643. else
  17644. {
  17645. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17646. }
  17647. }
  17648. else if(strcmp(params, "fire", true) == 0)
  17649. {
  17650. if(PlayerInfo[playerid][pGuns][9] == 42)
  17651. {
  17652. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have dropped your fire extinguisher.");
  17653. format(string, sizeof(string), "* %s has dropped their fire extinguisher.", GetPlayerNameEx(playerid));
  17654. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17655. RemovePlayerWeapon(playerid, 42);
  17656. }
  17657. else
  17658. {
  17659. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17660. }
  17661. }
  17662. else if(strcmp(params, "minigun", true) == 0)
  17663. {
  17664. if(PlayerInfo[playerid][pGuns][7] == 38)
  17665. {
  17666. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have dropped your minigun.");
  17667. format(string, sizeof(string), "* %s has dropped their minigun.", GetPlayerNameEx(playerid));
  17668. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17669. RemovePlayerWeapon(playerid, 38);
  17670. }
  17671. else
  17672. {
  17673. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17674. }
  17675. }
  17676. else if(strcmp(params, "poolcue", true) == 0)
  17677. {
  17678. if(PlayerInfo[playerid][pGuns][1] == 7)
  17679. {
  17680. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have dropped your pool cue.");
  17681. format(string, sizeof(string), "* %s has dropped their pool cue.", GetPlayerNameEx(playerid));
  17682. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17683. RemovePlayerWeapon(playerid, 7);
  17684. }
  17685. else
  17686. {
  17687. SendClientMessage(playerid, COLOR_GREY, "You do not have that weapon!");
  17688. }
  17689. }
  17690. else
  17691. {
  17692. SendClientMessage(playerid, COLOR_GRAD1, "You have entered an invalid weapon name.");
  17693. }
  17694. return 1;
  17695. }
  17696. CMD:backup(playerid, params[])
  17697. {
  17698. if(IsACop(playerid) || PlayerInfo[playerid][pFaction] == 3 && PlayerInfo[playerid][pDivision] == 2 || PlayerInfo[playerid][pFaction] == 3 && PlayerInfo[playerid][pRank] >= 5)
  17699. {
  17700. if(Backup[playerid] != 1)
  17701. {
  17702. new
  17703. zone[MAX_ZONE_NAME],
  17704. string[40 + MAX_PLAYER_NAME];
  17705. GetPlayer3DZone(playerid, zone, sizeof(zone));
  17706. format(string, sizeof(string), "* %s requests backup over their radio.", GetPlayerNameEx(playerid));
  17707. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17708. format(string, sizeof(string), "%s is requesting immediate backup at %s.", GetPlayerNameEx(playerid), zone);
  17709. Backup[playerid] = 1;
  17710. foreach(Player, i)
  17711. {
  17712. if(IsACop(i))
  17713. {
  17714. SetPlayerMarkerForPlayer(i, playerid, 0x2641FEAA);
  17715. SendClientMessage(i, TEAM_BLUE_COLOR, string);
  17716. }
  17717. }
  17718. SendClientMessage(playerid, COLOR_WHITE, "Type /nobackup to clear your backup request.");
  17719. SetTimerEx("BackupClear", 180000, false, "ii", playerid, 1);
  17720. }
  17721. else
  17722. {
  17723. SendClientMessage(playerid, COLOR_GREY, " You already have an active backup request!");
  17724. }
  17725. }
  17726. else
  17727. {
  17728. SendClientMessage(playerid, COLOR_GRAD2, " You're not a Cop / FBI / Coastguard!");
  17729. }
  17730. return 1;
  17731. }
  17732. CMD:neon(playerid, params[])
  17733. {
  17734. if(PlayerInfo[playerid][pDonator] < 1)
  17735. {
  17736. SendClientMessage(playerid, COLOR_WHITE, "You must be at least Ruby+Donator to use this feature.");
  17737. return 1;
  17738. }
  17739. if(IsPlayerInAnyVehicle(playerid))
  17740. {
  17741. if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)
  17742. {
  17743. SendClientMessage(playerid, COLOR_WHITE, "You are not the driver");
  17744. return 1;
  17745. }
  17746. ShowPlayerDialogEx(playerid, NEONMENU, DIALOG_STYLE_LIST, "Pick Neon Color", "Blue\nRed\nGreen\nWhite\nPink\nYellow\nRemove Neon", "Select", "Cancel");
  17747. }
  17748. else
  17749. {
  17750. SendClientMessage(playerid, COLOR_WHITE, " You are not in a vehicle");
  17751. }
  17752. return 1;
  17753. }
  17754. CMD:fbackup(playerid, params[])
  17755. {
  17756. if(PlayerInfo[playerid][pGang] < 255)
  17757. {
  17758. if(PlayerInfo[playerid][pGPS] == 0) return SCM(playerid, COLOR_GREY, "You don't have a GPS.");
  17759. if(fBackup[playerid] != 1)
  17760. {
  17761. new
  17762. zone[MAX_ZONE_NAME],
  17763. string[40 + MAX_PLAYER_NAME];
  17764. GetPlayer3DZone(playerid, zone, sizeof(zone));
  17765. format(string, sizeof(string), "* %s requests backup over their radio.", GetPlayerNameEx(playerid));
  17766. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17767. format(string, sizeof(string), "%s is requesting immediate backup at %s.", GetPlayerNameEx(playerid), zone);
  17768. fBackup[playerid] = 1;
  17769. foreach(Player, i)
  17770. {
  17771. if(PlayerInfo[i][pGang] == PlayerInfo[playerid][pGang])
  17772. {
  17773. SetPlayerMarkerForPlayer(i, playerid, COLOR_YELLOW);
  17774. SendClientMessage(i, COLOR_YELLOW, string);
  17775. }
  17776. }
  17777. SendClientMessage(playerid, COLOR_WHITE, "Type /nobackup to clear your backup request.");
  17778. SetTimerEx("fBackupClear", 180000, false, "ii", playerid, 1);
  17779. }
  17780. else
  17781. {
  17782. SendClientMessage(playerid, COLOR_GREY, " You already have an active backup request!");
  17783. }
  17784. }
  17785. else
  17786. {
  17787. SendClientMessage(playerid, COLOR_GRAD2, " You're not in a Gang!");
  17788. }
  17789. return 1;
  17790. }
  17791. CMD:nobackup(playerid, params[])
  17792. {
  17793. if(PlayerInfo[playerid][pGang] < 255) { fBackupClear(playerid, 0); }
  17794. if(PlayerInfo[playerid][pFaction] > 0) { BackupClear(playerid, 0); }
  17795. return 1;
  17796. }
  17797. CMD:badge(playerid, params[]) {
  17798. if(IsACop(playerid) || PlayerInfo[playerid][pFaction] == 3 || PlayerInfo[playerid][pLeader] == 3 || PlayerInfo[playerid][pFaction] == 9 || PlayerInfo[playerid][pLeader] == 9 || PlayerInfo[playerid][pFaction] == 10 || PlayerInfo[playerid][pLeader] == 10 || PlayerInfo[playerid][pFaction] == 11 || PlayerInfo[playerid][pLeader] == 11)
  17799. {
  17800. if(GetPVarInt(playerid, "EventToken") == 1)
  17801. {
  17802. SendClientMessage(playerid, COLOR_WHITE, "You can't use this command while in an event.");
  17803. return 1;
  17804. }
  17805. if(PlayerInfo[playerid][pDuty])
  17806. {
  17807. PlayerInfo[playerid][pDuty] = 0;
  17808. SetPlayerToTeamColor(playerid);
  17809. SendClientMessage(playerid, COLOR_WHITE, "You have hidden your badge, and will now be identified as being off-duty.");
  17810. }
  17811. else
  17812. {
  17813. PlayerInfo[playerid][pDuty] = 1;
  17814. SetPlayerToTeamColor(playerid);
  17815. SendClientMessage(playerid, COLOR_WHITE, "You have shown your badge, and will now be identified as being on-duty.");
  17816. }
  17817. }
  17818. return 1;
  17819. }
  17820. CMD:me(playerid, params[])
  17821. {
  17822. if(isnull(params)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /me [action]");
  17823. new string[128];
  17824. format(string, sizeof(string), "* %s %s", GetPlayerNameEx(playerid), params);
  17825. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17826. return 1;
  17827. }
  17828. CMD:do(playerid, params[])
  17829. {
  17830. if(gPlayerLogged[playerid] == 0)
  17831. {
  17832. SendClientMessage(playerid, COLOR_GREY, "You're not logged in.");
  17833. return 1;
  17834. }
  17835. if(isnull(params)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /do [action]");
  17836. else if(strlen(params) >= 100) return SendClientMessage(playerid, COLOR_GREY, "The specified message must not be longer than 99 characters in length.");
  17837. new string[128];
  17838. format(string, sizeof(string), "* %s (( %s ))", params, GetPlayerNameEx(playerid));
  17839. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17840. return 1;
  17841. }
  17842. CMD:shout(playerid, params[]) {
  17843. return cmd_s(playerid, params);
  17844. }
  17845. CMD:s(playerid, params[]) {
  17846. if(gPlayerLogged[playerid] == 0)
  17847. return SendClientMessage(playerid, COLOR_GREY, "You're not logged in.");
  17848. if(isnull(params))
  17849. return SendClientMessage(playerid, COLOR_WHITE, "USAGE: (/s)hout [shout chat]");
  17850. new string[128];
  17851. format(string, sizeof(string), "(shouts) %s!", params);
  17852. SetPlayerChatBubble(playerid,string,COLOR_WHITE,60.0,5000);
  17853. format(string, sizeof(string), "%s shouts: %s!", GetPlayerNameEx(playerid), params);
  17854. ProxDetector(30.0, playerid, string,COLOR_WHITE,COLOR_WHITE,COLOR_WHITE,COLOR_FADE1,COLOR_FADE2);
  17855. if(PlayerInfo[playerid][pBugged] == 1) {
  17856. format(string, sizeof(string), "(bug) %s shouts: %s!", GetPlayerNameEx(playerid), params);
  17857. SendBugMessage(2, COLOR_LIGHTGREEN, string);
  17858. }
  17859. return 1;
  17860. }
  17861. CMD:low(playerid, params[]) {
  17862. return cmd_l(playerid, params);
  17863. }
  17864. CMD:l(playerid, params[])
  17865. {
  17866. if(gPlayerLogged[playerid] == 0)
  17867. {
  17868. SendClientMessage(playerid, COLOR_GREY, "You're not logged in.");
  17869. return 1;
  17870. }
  17871. if(isnull(params)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: (/l)ow [close chat]");
  17872. new string[128];
  17873. format(string, sizeof(string), "%s says quietly: %s", GetPlayerNameEx(playerid), params);
  17874. ProxDetector(5.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
  17875. format(string, sizeof(string), "(quietly) %s", params);
  17876. SetPlayerChatBubble(playerid,string,COLOR_WHITE,5.0,5000);
  17877. if(PlayerInfo[playerid][pBugged] == 1)
  17878. {
  17879. format(string, sizeof(string), "(bug) %s says quietly: %s", GetPlayerNameEx(playerid), params);
  17880. SendBugMessage(2, COLOR_LIGHTGREEN, string);
  17881. }
  17882. return 1;
  17883. }
  17884. CMD:b(playerid, params[])
  17885. {
  17886. if(gPlayerLogged[playerid] == 0)
  17887. {
  17888. SendClientMessage(playerid, COLOR_GREY, "You're not logged in.");
  17889. return 1;
  17890. }
  17891. if(isnull(params)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /b [local ooc chat]");
  17892. new string[128];
  17893. format(string, sizeof(string), "%s says: (( %s ))", GetPlayerNameEx(playerid), params);
  17894. ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
  17895. return 1;
  17896. }
  17897. CMD:w(playerid, params[])
  17898. {
  17899. new giveplayerid, whisper[128];
  17900. if(gPlayerLogged[playerid] == 0)
  17901. {
  17902. SendClientMessage(playerid, COLOR_GREY, "You're not logged in.");
  17903. return 1;
  17904. }
  17905. if(sscanf(params, "us[128]", giveplayerid, whisper))
  17906. {
  17907. SendClientMessage(playerid, COLOR_WHITE, "USAGE: (/w)hisper [playerid/partofname] [text]");
  17908. return 1;
  17909. }
  17910. /*if(WatchingTV[playerid] != 0 && PlayerInfo[playerid][pAdmin] < 2)
  17911. {
  17912. SendClientMessage(playerid, COLOR_GRAD2, "You can't do this while watching TV.");
  17913. return 1;
  17914. }*/
  17915. if(IsPlayerConnected(giveplayerid))
  17916. {
  17917. if(HidePM[giveplayerid] > 0)
  17918. {
  17919. SendClientMessage(playerid, COLOR_GREY, "That player is blocking whispers!");
  17920. return 1;
  17921. }
  17922. new giveplayer[MAX_PLAYER_NAME], sendername[MAX_PLAYER_NAME], string[128];
  17923. sendername = GetPlayerNameEx(playerid);
  17924. giveplayer = GetPlayerNameEx(giveplayerid);
  17925. if(giveplayerid == playerid)
  17926. {
  17927. if(PlayerInfo[playerid][pSex] == 1) format(string, sizeof(string), "* %s mutters something to himself.", GetPlayerNameEx(playerid));
  17928. else format(string, sizeof(string), "* %s mutters something to herself.", GetPlayerNameEx(playerid));
  17929. return ProxDetector(5.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  17930. }
  17931. if(ProxDetectorS(5.0, playerid, giveplayerid) || AdminDuty[playerid] == 1)
  17932. {
  17933. format(string, sizeof(string), "%s (ID %d) whispers to you: %s", GetPlayerNameEx(playerid), playerid, whisper);
  17934. if(strlen(string) > 92)
  17935. {
  17936. new firstline[128], secondline[128];
  17937. strmid(firstline, string, 0, 88);
  17938. strmid(secondline, string, 88, 128);
  17939. format(firstline, sizeof(firstline), "%s ...", firstline);
  17940. SendClientMessage(giveplayerid, COLOR_YELLOW, firstline);
  17941. SendClientMessage(giveplayerid, COLOR_YELLOW, secondline);
  17942. }
  17943. else SendClientMessage(giveplayerid,COLOR_YELLOW, string);
  17944. format(string, sizeof(string), "You whispered to %s: %s", GetPlayerNameEx(giveplayerid),whisper);
  17945. if(strlen(string) > 92)
  17946. {
  17947. new firstline[128], secondline[128];
  17948. strmid(firstline, string, 0, 88);
  17949. strmid(secondline, string, 88, 128);
  17950. format(firstline, sizeof(firstline), "%s ...", firstline);
  17951. SendClientMessage(playerid, COLOR_YELLOW, firstline);
  17952. SendClientMessage(playerid, COLOR_YELLOW, secondline);
  17953. }
  17954. else SendClientMessage(playerid,COLOR_YELLOW, string);
  17955. return 1;
  17956. }
  17957. else
  17958. {
  17959. SendClientMessage(playerid, COLOR_GREY, "That player isn't near you.");
  17960. }
  17961. return 1;
  17962. }
  17963. else
  17964. {
  17965. SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  17966. }
  17967. return 1;
  17968. }
  17969. CMD:togwhisper(playerid, params[])
  17970. {
  17971. if(!HidePM[playerid])
  17972. {
  17973. HidePM[playerid] = 1;
  17974. SendClientMessage(playerid, COLOR_GRAD2, "You have disabled whisper chat.");
  17975. }
  17976. else
  17977. {
  17978. HidePM[playerid] = 0;
  17979. SendClientMessage(playerid, COLOR_GRAD2, "You have enabled whisper chat.");
  17980. }
  17981. return 1;
  17982. }
  17983. CMD:getparachute(playerid, params[]) {
  17984. if(IsPlayerInRangeOfPoint(playerid, 2.0, 1544.2, -1353.4, 329.4)) { // Startower parachute
  17985. if(PlayerInfo[playerid][pGuns][11] == 46)
  17986. RemovePlayerWeapon(playerid, 46);
  17987. if(PlayerInfo[playerid][pGuns][11] != 46) {
  17988. GivePlayerValidWeapon(playerid, 46, 99999);
  17989. }
  17990. else SendClientMessage(playerid, COLOR_GREY,"You already have a parachute.");
  17991. }
  17992. else SendClientMessage(playerid, COLOR_GREY,"You're not close enough to the parachute on Startower.");
  17993. return 1;
  17994. }
  17995. CMD:changename(playerid, params[])
  17996. {
  17997. if(IsAtNameChange(playerid))
  17998. {
  17999. if(AdminDuty[playerid] == 1)
  18000. {
  18001. SendClientMessage(playerid,COLOR_WHITE, "You can't access this while on-duty as admin.");
  18002. return 1;
  18003. }
  18004. if(PlayerInfo[playerid][pFaction] == 2 || PlayerInfo[playerid][pFaction] == 4)
  18005. {
  18006. ShowPlayerDialogEx(playerid, DIALOG_NAMECHANGE, DIALOG_STYLE_INPUT, "Name Change","Please enter your new desired name!\n\nNote: Name Changes are free for hitmen and FBI.", "Change", "Cancel");
  18007. }
  18008. else
  18009. {
  18010. ShowPlayerDialogEx(playerid, DIALOG_NAMECHANGE, DIALOG_STYLE_INPUT, "Name Change","Please enter your new desired name!\n\nNote: Name Changes cost $1500 per level.", "Change", "Cancel");
  18011. }
  18012. }
  18013. else
  18014. {
  18015. SendClientMessage(playerid, COLOR_WHITE, " You're not in the Name Change Place!");
  18016. }
  18017. return 1;
  18018. }
  18019. CMD:nrn(playerid, params[]) {
  18020. if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pHelper] >= 2) {
  18021. new string[128], giveplayerid;
  18022. if(sscanf(params, "u", giveplayerid))
  18023. return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /nrn [playerid/partofname]");
  18024. if(IsPlayerConnected(giveplayerid)) {
  18025. if(PlayerInfo[giveplayerid][pAdmin] >= 1 || PlayerInfo[giveplayerid][pHelper] >= 1 || PlayerInfo[giveplayerid][pLevel] >= 2 && PlayerInfo[playerid][pAdmin] < 1)
  18026. return SendClientMessage(playerid, COLOR_GRAD2, "You can't use that command on admins, helpers or players higher than level 1 (if you're a helper).");
  18027. format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s has offered %s a free name change because their name is non-RP.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  18028. ABroadCast(COLOR_YELLOW, string, 1);
  18029. ShowPlayerDialogEx(giveplayerid, DIALOG_NAMECHANGE2, DIALOG_STYLE_INPUT, "Free name change","This is a roleplay server where you must have a name in this format: Firstname_Lastname.\nFor example: John_Smith or Jimmy_Johnson\n\nAn admin has offered you to change your name to the correct format for free. Please enter your desired name below.\n\nNote: If you press cancel you will be kicked from the server.", "Change", "Cancel");
  18030. format(string, sizeof(string), "You have forced %s to change their name.", GetPlayerNameEx(giveplayerid));
  18031. SendClientMessage(playerid, COLOR_WHITE, string);
  18032. if(strlen(PlayerInfo[giveplayerid][pFlag]) == 0)
  18033. AddFlag(giveplayerid, playerid, "Non-RP name, needs to be changed");
  18034. }
  18035. }
  18036. return 1;
  18037. }
  18038. CMD:nchange(playerid, params[])
  18039. return cmd_namechanges(playerid, params);
  18040. CMD:namechanges(playerid, params[])
  18041. {
  18042. if(PlayerInfo[playerid][pAdmin] >= 1)
  18043. {
  18044. new
  18045. nstring[64 + (MAX_PLAYER_NAME * 2)],
  18046. newname[ MAX_PLAYER_NAME ];
  18047. SendClientMessage(playerid, COLOR_GREEN, "* Pending name changes:");
  18048. foreach(Player, i)
  18049. {
  18050. if(GetPVarType(i, "RequestingNameChange"))
  18051. {
  18052. GetPVarString(i, "NewNameRequest", newname, MAX_PLAYER_NAME);
  18053. format(nstring, sizeof(nstring), "Current name: %s (ID: %d) | Requested name: %s | Price: %d", GetPlayerNameEx(i), i, newname, GetPVarInt(i, "NameChangeCost"));
  18054. SendClientMessage(playerid, COLOR_YELLOW, nstring);
  18055. }
  18056. }
  18057. SendClientMessage(playerid, COLOR_GREEN, "_____________________________________________________");
  18058. }
  18059. return 1;
  18060. }
  18061. CMD:approvename(playerid, params[])
  18062. {
  18063. new string[128], giveplayerid;
  18064. new playername[MAX_PLAYER_NAME];
  18065. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /approvename [playerid/partofname]");
  18066. if(IsPlayerConnected(giveplayerid))
  18067. {
  18068. if(PlayerInfo[playerid][pAdmin] >= 1)
  18069. {
  18070. if(GetPVarInt(giveplayerid, "RequestingNameChange") == 0)
  18071. {
  18072. SendClientMessage(playerid, COLOR_GRAD2, "That player isn't requesting a namechange!");
  18073. return 1;
  18074. }
  18075. GetPlayerName(giveplayerid, playername, sizeof(playername));
  18076. new newname[MAX_PLAYER_NAME];
  18077. GetPVarString(giveplayerid, "NewNameRequest", newname, MAX_PLAYER_NAME);
  18078. if(doesAccountExist(newname))
  18079. {
  18080. SendClientMessage(giveplayerid, COLOR_GRAD2, "That name already exists, please choose a different one.");
  18081. SendClientMessage(playerid, COLOR_GRAD2, "That name already exists.");
  18082. DeletePVar(giveplayerid, "RequestingNameChange");
  18083. return 1;
  18084. }
  18085. //format(newname, sizeof(newname), "users/%s.ini", tmp);
  18086. if(PlayerInfo[giveplayerid][pHouse] != INVALID_HOUSE_ID && strcmp(playername, HouseInfo[PlayerInfo[giveplayerid][pHouse]][hOwner], true) == 0)
  18087. {
  18088. //strmid(HouseInfo[PlayerInfo[giveplayerid][pHouse]][hOwner], newname, 0, strlen(newname), 255);
  18089. format(HouseInfo[PlayerInfo[giveplayerid][pHouse]][hOwner], MAX_PLAYER_NAME, "%s", newname);
  18090. format(string, sizeof(string), "House owner: %s\nLevel: %d\nID: %d",HouseInfo[PlayerInfo[giveplayerid][pHouse]][hOwner],HouseInfo[PlayerInfo[giveplayerid][pHouse]][hLevel],PlayerInfo[giveplayerid][pHouse]);
  18091. UpdateDynamic3DTextLabelText(HouseInfo[PlayerInfo[giveplayerid][pHouse]][hTextID], COLOR_HOUSEGREEN, string);
  18092. }
  18093. if(PlayerInfo[giveplayerid][pHouse2] != INVALID_HOUSE_ID && strcmp(playername, HouseInfo[PlayerInfo[giveplayerid][pHouse2]][hOwner], true) == 0)
  18094. {
  18095. //strmid(HouseInfo[PlayerInfo[giveplayerid][pHouse]][hOwner], newname, 0, strlen(newname), 255);
  18096. format(HouseInfo[PlayerInfo[giveplayerid][pHouse2]][hOwner], MAX_PLAYER_NAME, "%s", newname);
  18097. format(string, sizeof(string), "House owner: %s\nLevel: %d\nID: %d",HouseInfo[PlayerInfo[giveplayerid][pHouse2]][hOwner],HouseInfo[PlayerInfo[giveplayerid][pHouse2]][hLevel],PlayerInfo[giveplayerid][pHouse2]);
  18098. UpdateDynamic3DTextLabelText(HouseInfo[PlayerInfo[giveplayerid][pHouse2]][hTextID], COLOR_HOUSEGREEN, string);
  18099. }
  18100. if(PlayerInfo[giveplayerid][pDonator] >= 1)
  18101. {
  18102. new string2[128];
  18103. format(string2, sizeof(string2), "[DONATOR NAMECHANGES] %s has changed their name to %s.", GetPlayerNameEx(giveplayerid), newname);
  18104. Log("logs/donatornames.log", string2);
  18105. }
  18106. if(PlayerInfo[giveplayerid][pFaction] == 2 || PlayerInfo[giveplayerid][pFaction] == 4)
  18107. {
  18108. format(string, sizeof(string), " Your name has been changed from %s to %s for free (hitman or FBI).", GetPlayerNameEx(giveplayerid), newname);
  18109. SendClientMessage(giveplayerid,COLOR_YELLOW,string);
  18110. format(string, sizeof(string), " You have changed %s's name to %s at no cost.", GetPlayerNameEx(giveplayerid), newname);
  18111. SendClientMessage(playerid,COLOR_YELLOW,string);
  18112. format(string, sizeof(string), "%s changed \"%s\"s name to \"%s\" for free (hitman or FBI).",GetPlayerNameEx(playerid),GetPlayerNameEx(giveplayerid),newname);
  18113. Log("logs/stats.log", string);
  18114. format(string, sizeof(string), "%s has approved %s's name change to %s at no cost (hitman or FBI).",GetPlayerNameEx(playerid),GetPlayerNameEx(giveplayerid), newname);
  18115. ABroadCast(COLOR_YELLOW, string, 1);
  18116. SetPlayerName(giveplayerid, newname);
  18117. PlayerInfo[giveplayerid][pInt] = GetPlayerInterior(giveplayerid);
  18118. if(GetPVarType(giveplayerid, "tabbedVW") != 0) {
  18119. PlayerInfo[giveplayerid][pVW] = GetPVarInt(giveplayerid, "tabbedVW");
  18120. } else PlayerInfo[giveplayerid][pVW] = GetPlayerVirtualWorld(giveplayerid);
  18121. GetPlayerIp(giveplayerid, PlayerInfo[giveplayerid][pIP], 32);
  18122. GetPlayerPos(giveplayerid, PlayerInfo[giveplayerid][pPos_x], PlayerInfo[giveplayerid][pPos_y], PlayerInfo[giveplayerid][pPos_z]);
  18123. GetPlayerFacingAngle(giveplayerid, PlayerInfo[giveplayerid][pPos_r]);
  18124. OnPlayerStatsUpdate(giveplayerid);
  18125. DeletePVar(giveplayerid, "RequestingNameChange");
  18126. }
  18127. else
  18128. {
  18129. if(GetPVarInt(giveplayerid, "NameChangeCost") == 0)
  18130. {
  18131. format(string, sizeof(string), " Your name has been changed from %s to %s for free (non-RP name).", GetPlayerNameEx(giveplayerid), newname);
  18132. SendClientMessage(giveplayerid,COLOR_YELLOW,string);
  18133. format(string, sizeof(string), " You have changed %s's name to %s for free (non-RP name).", GetPlayerNameEx(giveplayerid), newname);
  18134. SendClientMessage(playerid,COLOR_YELLOW,string);
  18135. format(string, sizeof(string), "%s changed \"%s\"s name to \"%s\" for free (non-RP name).",GetPlayerNameEx(playerid),GetPlayerNameEx(giveplayerid),newname);
  18136. Log("logs/stats.log", string);
  18137. format(string, sizeof(string), "%s has approved %s's name change to %s for free (non-RP name).",GetPlayerNameEx(playerid),GetPlayerNameEx(giveplayerid), newname);
  18138. ABroadCast(COLOR_YELLOW, string, 1);
  18139. SetPlayerName(giveplayerid, newname);
  18140. PlayerInfo[giveplayerid][pInt] = GetPlayerInterior(giveplayerid);
  18141. if(GetPVarType(giveplayerid, "tabbedVW") != 0) {
  18142. PlayerInfo[giveplayerid][pVW] = GetPVarInt(giveplayerid, "tabbedVW");
  18143. } else PlayerInfo[giveplayerid][pVW] = GetPlayerVirtualWorld(giveplayerid);
  18144. GetPlayerIp(giveplayerid, PlayerInfo[giveplayerid][pIP], 32);
  18145. GetPlayerPos(giveplayerid, PlayerInfo[giveplayerid][pPos_x], PlayerInfo[giveplayerid][pPos_y], PlayerInfo[giveplayerid][pPos_z]);
  18146. GetPlayerFacingAngle(giveplayerid, PlayerInfo[giveplayerid][pPos_r]);
  18147. OnPlayerStatsUpdate(giveplayerid);
  18148. DeletePVar(giveplayerid, "RequestingNameChange");
  18149. format(PlayerInfo[giveplayerid][pFlag], 128, "");
  18150. }
  18151. else
  18152. {
  18153. GivePlayerCash(giveplayerid, -GetPVarInt(giveplayerid, "NameChangeCost"));
  18154. format(string, sizeof(string), " Your name has been changed from %s to %s for $%d.", GetPlayerNameEx(giveplayerid), newname, GetPVarInt(giveplayerid, "NameChangeCost"));
  18155. SendClientMessage(giveplayerid,COLOR_YELLOW,string);
  18156. format(string, sizeof(string), " You have changed %s's name to %s for $%d.", GetPlayerNameEx(giveplayerid), newname, GetPVarInt(giveplayerid, "NameChangeCost"));
  18157. SendClientMessage(playerid,COLOR_YELLOW,string);
  18158. format(string, sizeof(string), "%s changed \"%s\"s name to \"%s\" for $%d",GetPlayerNameEx(playerid),GetPlayerNameEx(giveplayerid),newname,GetPVarInt(giveplayerid, "NameChangeCost"));
  18159. Log("logs/stats.log", string);
  18160. format(string, sizeof(string), "%s has approved %s's name change to %s for $%d",GetPlayerNameEx(playerid),GetPlayerNameEx(giveplayerid), newname, GetPVarInt(giveplayerid, "NameChangeCost"));
  18161. ABroadCast(COLOR_YELLOW, string, 1);
  18162. SetPlayerName(giveplayerid, newname);
  18163. PlayerInfo[giveplayerid][pInt] = GetPlayerInterior(giveplayerid);
  18164. if(GetPVarType(giveplayerid, "tabbedVW") != 0) {
  18165. PlayerInfo[giveplayerid][pVW] = GetPVarInt(giveplayerid, "tabbedVW");
  18166. } else PlayerInfo[giveplayerid][pVW] = GetPlayerVirtualWorld(giveplayerid);
  18167. GetPlayerIp(giveplayerid, PlayerInfo[giveplayerid][pIP], 32);
  18168. GetPlayerPos(giveplayerid, PlayerInfo[giveplayerid][pPos_x], PlayerInfo[giveplayerid][pPos_y], PlayerInfo[giveplayerid][pPos_z]);
  18169. GetPlayerFacingAngle(giveplayerid, PlayerInfo[giveplayerid][pPos_r]);
  18170. OnPlayerStatsUpdate(giveplayerid);
  18171. DeletePVar(giveplayerid, "RequestingNameChange");
  18172. }
  18173. }
  18174. format(string, sizeof(string), "users/%s.ini", playername);
  18175. fremove(string);
  18176. if(doesAccountExist(playername)) // If it doesn't get removed, blank the file with write io and check its length when a player attempts to authenticate (it'll be 0)
  18177. {
  18178. new File: BlankTheFile = fopen(string, io_write);
  18179. SendClientMessage(playerid, COLOR_GRAD2, "The old account couldn't be removed completely (it's been blanked for future use).");
  18180. fclose(BlankTheFile);
  18181. }
  18182. }
  18183. else
  18184. {
  18185. SendClientMessage(playerid, COLOR_GRAD2, "You're not authorised to use this command.");
  18186. }
  18187. }
  18188. else
  18189. {
  18190. SendClientMessage(playerid, COLOR_GRAD2, "No such player.");
  18191. }
  18192. return 1;
  18193. }
  18194. CMD:denyname(playerid, params[])
  18195. {
  18196. new string[128], giveplayerid;
  18197. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /denyname [playerid/partofname]");
  18198. if(IsPlayerConnected(giveplayerid))
  18199. {
  18200. if(PlayerInfo[playerid][pAdmin] >= 1)
  18201. {
  18202. if(GetPVarInt(giveplayerid, "RequestingNameChange") == 0)
  18203. {
  18204. SendClientMessage(playerid, COLOR_GRAD2, "That player isn't requesting a namechange!");
  18205. return 1;
  18206. }
  18207. SendClientMessage(giveplayerid,COLOR_YELLOW," Your name change request has been denied.");
  18208. format(string, sizeof(string), " You have denied %s's name change request.", GetPlayerNameEx(giveplayerid));
  18209. SendClientMessage(playerid,COLOR_YELLOW,string);
  18210. format(string, sizeof(string), "%s has denied %s's name change request",GetPlayerNameEx(playerid),GetPlayerNameEx(giveplayerid));
  18211. ABroadCast(COLOR_YELLOW, string, 1);
  18212. DeletePVar(giveplayerid, "RequestingNameChange");
  18213. }
  18214. else
  18215. {
  18216. SendClientMessage(playerid, COLOR_GRAD2, "You're not authorised to use this command.");
  18217. }
  18218. }
  18219. else
  18220. {
  18221. SendClientMessage(playerid, COLOR_GRAD2, "No such player.");
  18222. }
  18223. return 1;
  18224. }
  18225. CMD:window(playerid, params[])
  18226. {
  18227. new string[128];
  18228. if(InsideShamal[playerid] != INVALID_VEHICLE_ID)
  18229. {
  18230. if(GetPlayerInterior(playerid) == 1)
  18231. {
  18232. new
  18233. Float: fSpecPos[6];
  18234. GetPlayerPos(playerid, fSpecPos[0], fSpecPos[1], fSpecPos[2]);
  18235. GetPlayerFacingAngle(playerid, fSpecPos[3]);
  18236. GetPlayerHealth(playerid, fSpecPos[4]);
  18237. GetPlayerArmour(playerid, fSpecPos[5]);
  18238. SetPVarFloat(playerid, "air_Xpos", fSpecPos[0]);
  18239. SetPVarFloat(playerid, "air_Ypos", fSpecPos[1]);
  18240. SetPVarFloat(playerid, "air_Zpos", fSpecPos[2]);
  18241. SetPVarFloat(playerid, "air_Rpos", fSpecPos[3]);
  18242. SetPVarFloat(playerid, "air_HP", fSpecPos[4]);
  18243. SetPVarFloat(playerid, "air_Arm", fSpecPos[5]);
  18244. SetPlayerInterior(playerid, 0);
  18245. SetPlayerVirtualWorld(playerid, 0);
  18246. TogglePlayerSpectating(playerid, 1);
  18247. PlayerSpectateVehicle(playerid, InsideShamal[playerid]);
  18248. format(string, sizeof(string), "* %s glances out the window.", GetPlayerNameEx(playerid));
  18249. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  18250. }
  18251. else TogglePlayerSpectating(playerid, 0);
  18252. }
  18253. return 1;
  18254. }
  18255. CMD:calculate(playerid, params[])
  18256. {
  18257. new string[128], method[20], value1, value2;
  18258. if(sscanf(params, "ds[20]d", value1, method, value2))
  18259. {
  18260. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /calculate [value] [operation] [value].");
  18261. SendClientMessage(playerid, COLOR_GRAD2, "Operations: Add, Subtract, Multiply, Divide.");
  18262. return 1;
  18263. }
  18264. if(strcmp(method,"multiply",true) == 0 || strcmp(method,"*",true) == 0)
  18265. {
  18266. new sum = value1*value2;
  18267. format(string,sizeof(string),"%d multiplied by %d equals %d.",value1,value2,sum);
  18268. SendClientMessage(playerid,COLOR_WHITE,string);
  18269. }
  18270. if(strcmp(method,"divide",true) == 0 || strcmp(method,"/",true) == 0)
  18271. {
  18272. if(value2 == 0)
  18273. return GameTextForPlayer(playerid, "face~r~palm", 1000, 3);
  18274. new sum = value1/value2;
  18275. format(string,sizeof(string),"%d divided by %d equals %d.",value1,value2,sum);
  18276. SendClientMessage(playerid,COLOR_WHITE,string);
  18277. }
  18278. if(strcmp(method,"add",true) == 0 || strcmp(method,"+",true) == 0)
  18279. {
  18280. new sum = value1+value2;
  18281. format(string,sizeof(string),"%d added to %d equals %d.",value1,value2,sum);
  18282. SendClientMessage(playerid,COLOR_WHITE,string);
  18283. }
  18284. if(strcmp(method,"subtract",true) == 0 || strcmp(method,"-",true) == 0)
  18285. {
  18286. new sum = value1-value2;
  18287. format(string,sizeof(string),"%d subtracted by %d equals %d.",value1,value2,sum);
  18288. SendClientMessage(playerid,COLOR_WHITE,string);
  18289. }
  18290. return 1;
  18291. }
  18292. CMD:kills(playerid, params[])
  18293. {
  18294. if(PlayerInfo[playerid][pAdmin] >= 2)
  18295. {
  18296. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  18297. {
  18298. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  18299. return 1;
  18300. }
  18301. new string[128], giveplayerid;
  18302. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /kills [playerid/partofname]");
  18303. if(IsPlayerConnected(giveplayerid))
  18304. {
  18305. SendClientMessage(playerid, COLOR_GREEN, "________________________________________________");
  18306. format(string, sizeof(string), "<< Last 10 Kills/Deaths of %s >>", GetPlayerNameEx(giveplayerid));
  18307. SendClientMessage(playerid, COLOR_YELLOW, string);
  18308. SendClientMessage(playerid, COLOR_YELLOW, PlayerInfo[giveplayerid][pKillLog9]);
  18309. SendClientMessage(playerid, COLOR_YELLOW, PlayerInfo[giveplayerid][pKillLog8]);
  18310. SendClientMessage(playerid, COLOR_YELLOW, PlayerInfo[giveplayerid][pKillLog7]);
  18311. SendClientMessage(playerid, COLOR_YELLOW, PlayerInfo[giveplayerid][pKillLog6]);
  18312. SendClientMessage(playerid, COLOR_YELLOW, PlayerInfo[giveplayerid][pKillLog5]);
  18313. SendClientMessage(playerid, COLOR_YELLOW, PlayerInfo[giveplayerid][pKillLog4]);
  18314. SendClientMessage(playerid, COLOR_YELLOW, PlayerInfo[giveplayerid][pKillLog3]);
  18315. SendClientMessage(playerid, COLOR_YELLOW, PlayerInfo[giveplayerid][pKillLog2]);
  18316. SendClientMessage(playerid, COLOR_YELLOW, PlayerInfo[giveplayerid][pKillLog1]);
  18317. SendClientMessage(playerid, COLOR_YELLOW, PlayerInfo[giveplayerid][pKillLog0]);
  18318. }
  18319. else
  18320. {
  18321. SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  18322. }
  18323. }
  18324. else
  18325. {
  18326. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  18327. }
  18328. return 1;
  18329. }
  18330. CMD:okills(playerid, params[])
  18331. {
  18332. if(PlayerInfo[playerid][pAdmin] >= 2)
  18333. {
  18334. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  18335. {
  18336. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  18337. return 1;
  18338. }
  18339. if(isnull(params)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /okills [name]");
  18340. new string[128], giveplayerid;
  18341. giveplayerid = ReturnUser(params);
  18342. if(giveplayerid != INVALID_PLAYER_ID)
  18343. {
  18344. SendClientMessage(playerid, COLOR_GRAD2, "That player is online, use /kills for online players.");
  18345. return 1;
  18346. }
  18347. if(doesAccountExist(params))
  18348. {
  18349. OnPlayerOfflineLogin(params);
  18350. SendClientMessage(playerid, COLOR_GREEN, "________________________________________________");
  18351. format(string, sizeof(string), "<< Last 10 Kills/Deaths of %s >>", params);
  18352. SendClientMessage(playerid, COLOR_YELLOW, string);
  18353. SendClientMessage(playerid, COLOR_YELLOW, PlayerInfo[MAX_PLAYERS][pKillLog9]);
  18354. SendClientMessage(playerid, COLOR_YELLOW, PlayerInfo[MAX_PLAYERS][pKillLog8]);
  18355. SendClientMessage(playerid, COLOR_YELLOW, PlayerInfo[MAX_PLAYERS][pKillLog7]);
  18356. SendClientMessage(playerid, COLOR_YELLOW, PlayerInfo[MAX_PLAYERS][pKillLog6]);
  18357. SendClientMessage(playerid, COLOR_YELLOW, PlayerInfo[MAX_PLAYERS][pKillLog5]);
  18358. SendClientMessage(playerid, COLOR_YELLOW, PlayerInfo[MAX_PLAYERS][pKillLog4]);
  18359. SendClientMessage(playerid, COLOR_YELLOW, PlayerInfo[MAX_PLAYERS][pKillLog3]);
  18360. SendClientMessage(playerid, COLOR_YELLOW, PlayerInfo[MAX_PLAYERS][pKillLog2]);
  18361. SendClientMessage(playerid, COLOR_YELLOW, PlayerInfo[MAX_PLAYERS][pKillLog1]);
  18362. SendClientMessage(playerid, COLOR_YELLOW, PlayerInfo[MAX_PLAYERS][pKillLog0]);
  18363. }
  18364. else
  18365. {
  18366. SendClientMessage(playerid, COLOR_WHITE, "That account does not exist!");
  18367. }
  18368. }
  18369. else
  18370. {
  18371. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  18372. }
  18373. return 1;
  18374. }
  18375. CMD:clothes(playerid, params[])
  18376. {
  18377. if(PlayerInfo[playerid][pFaction] == 9) {
  18378. return ShowPlayerDialogEx(playerid, DIALOG_SAN_CLOTHES, DIALOG_STYLE_LIST, "Faction clothes", "Male Reporter (ID: 113)\nFemale Reporter (ID: 148)", "OK", "Cancel");
  18379. }
  18380. else if(PlayerInfo[playerid][pGang] != 255) {
  18381. if(IsAtClothShop(playerid)) {
  18382. new string[128];
  18383. new PG = PlayerInfo[playerid][pGang];
  18384. if(FamilyInfo[PG][FamilyMaxSkins] == 0)
  18385. {
  18386. SendClientMessage(playerid, COLOR_WHITE, "Your family skins have not been set by an admin yet.");
  18387. }
  18388. if(FamilyInfo[PG][FamilyMaxSkins] == 1)
  18389. {
  18390. format(string,sizeof(string),"Skin 1: %d", FamilyInfo[PG][FamilySkins][0]);
  18391. ShowPlayerDialogEx(playerid,FAMILYSKINDIALOG,DIALOG_STYLE_LIST,"Family skin selection",string,"Select","Cancel");
  18392. }
  18393. if(FamilyInfo[PG][FamilyMaxSkins] == 2)
  18394. {
  18395. format(string,sizeof(string),"Skin 1: ID %d\nSkin 2: ID %d", FamilyInfo[PG][FamilySkins][0], FamilyInfo[PG][FamilySkins][1]);
  18396. ShowPlayerDialogEx(playerid,FAMILYSKINDIALOG,DIALOG_STYLE_LIST,"Family skin selection",string,"Select","Cancel");
  18397. }
  18398. if(FamilyInfo[PG][FamilyMaxSkins] == 3)
  18399. {
  18400. format(string,sizeof(string),"Skin 1: ID %d\nSkin 2: ID %d\nSkin 3: ID %d", FamilyInfo[PG][FamilySkins][0], FamilyInfo[PG][FamilySkins][1], FamilyInfo[PG][FamilySkins][2]);
  18401. ShowPlayerDialogEx(playerid,FAMILYSKINDIALOG,DIALOG_STYLE_LIST,"Family skin selection",string,"Select","Cancel");
  18402. }
  18403. if(FamilyInfo[PG][FamilyMaxSkins] == 4)
  18404. {
  18405. format(string,sizeof(string),"Skin 1: ID %d\nSkin 2: ID %d\nSkin 3: ID %d\nSkin 4: ID %d", FamilyInfo[PG][FamilySkins][0], FamilyInfo[PG][FamilySkins][1], FamilyInfo[PG][FamilySkins][2], FamilyInfo[PG][FamilySkins][3]);
  18406. ShowPlayerDialogEx(playerid,FAMILYSKINDIALOG,DIALOG_STYLE_LIST,"Family skin selection",string,"Select","Cancel");
  18407. }
  18408. if(FamilyInfo[PG][FamilyMaxSkins] == 5)
  18409. {
  18410. format(string,sizeof(string),"Skin 1: ID %d\nSkin 2: ID %d\nSkin 3: ID %d\nSkin 4: ID %d\nSkin 5: ID %d", FamilyInfo[PG][FamilySkins][0], FamilyInfo[PG][FamilySkins][1], FamilyInfo[PG][FamilySkins][2], FamilyInfo[PG][FamilySkins][3], FamilyInfo[PG][FamilySkins][4]);
  18411. ShowPlayerDialogEx(playerid,FAMILYSKINDIALOG,DIALOG_STYLE_LIST,"Family skin selection",string,"Select","Cancel");
  18412. }
  18413. if(FamilyInfo[PG][FamilyMaxSkins] == 6)
  18414. {
  18415. format(string,sizeof(string),"Skin 1: ID %d\nSkin 2: ID %d\nSkin 3: ID %d\nSkin 4: ID %d\nSkin 5: ID %d\nSkin 6: ID %d", FamilyInfo[PG][FamilySkins][0], FamilyInfo[PG][FamilySkins][1], FamilyInfo[PG][FamilySkins][2], FamilyInfo[PG][FamilySkins][3], FamilyInfo[PG][FamilySkins][4], FamilyInfo[PG][FamilySkins][5]);
  18416. ShowPlayerDialogEx(playerid,FAMILYSKINDIALOG,DIALOG_STYLE_LIST,"Family skin selection",string,"Select","Cancel");
  18417. }
  18418. if(FamilyInfo[PG][FamilyMaxSkins] == 7)
  18419. {
  18420. format(string,sizeof(string),"Skin 1: ID %d\nSkin 2: ID %d\nSkin 3: ID %d\nSkin 4: ID %d\nSkin 5: ID %d\nSkin 6: ID %d\nSkin 7: ID %d", FamilyInfo[PG][FamilySkins][0], FamilyInfo[PG][FamilySkins][1], FamilyInfo[PG][FamilySkins][2], FamilyInfo[PG][FamilySkins][3], FamilyInfo[PG][FamilySkins][4], FamilyInfo[PG][FamilySkins][5], FamilyInfo[PG][FamilySkins][6]);
  18421. ShowPlayerDialogEx(playerid,FAMILYSKINDIALOG,DIALOG_STYLE_LIST,"Family skin selection",string,"Select","Cancel");
  18422. }
  18423. if(FamilyInfo[PG][FamilyMaxSkins] == 8)
  18424. {
  18425. format(string,sizeof(string),"Skin 1: ID %d\nSkin 2: ID %d\nSkin 3: ID %d\nSkin 4: ID %d\nSkin 5: ID %d\nSkin 6: ID %d\nSkin 7: ID %d\nSkin 8: ID %d", FamilyInfo[PG][FamilySkins][0], FamilyInfo[PG][FamilySkins][1], FamilyInfo[PG][FamilySkins][2], FamilyInfo[PG][FamilySkins][3], FamilyInfo[PG][FamilySkins][4], FamilyInfo[PG][FamilySkins][5], FamilyInfo[PG][FamilySkins][6], FamilyInfo[PG][FamilySkins][7]);
  18426. ShowPlayerDialogEx(playerid,FAMILYSKINDIALOG,DIALOG_STYLE_LIST,"Family skin selection",string,"Select","Cancel");
  18427. }
  18428. return 1;
  18429. }
  18430. else {
  18431. SendClientMessage(playerid, COLOR_GRAD2, " You're not in a Clothing Shop!");
  18432. return 1;
  18433. }
  18434. }
  18435. else
  18436. {
  18437. SendClientMessage(playerid,COLOR_GREY, " You're not in a Family, use /buyclothes instead!");
  18438. }
  18439. return 1;
  18440. }
  18441. CMD:licenses(playerid, params[])
  18442. {
  18443. new string[128], text1[20], text2[20], text4[20];
  18444. if(PlayerInfo[playerid][pCarLic]) { text1 = "Acquired"; } else { text1 = "Not acquired"; }
  18445. if(PlayerInfo[playerid][pFlyLic]) { text4 = "Acquired"; } else { text4 = "Not acquired"; }
  18446. if(PlayerInfo[playerid][pBoatLic]) { text2 = "Acquired"; } else { text2 = "Not acquired"; }
  18447. SendClientMessage(playerid, COLOR_WHITE, "Your licenses...");
  18448. format(string, sizeof(string), "** Driver's license: %s.", text1);
  18449. SendClientMessage(playerid, COLOR_GREY, string);
  18450. format(string, sizeof(string), "** Pilot license: %s.", text4);
  18451. SendClientMessage(playerid, COLOR_GREY, string);
  18452. format(string, sizeof(string), "** Boating license: %s.", text2);
  18453. SendClientMessage(playerid, COLOR_GREY, string);
  18454. return 1;
  18455. }
  18456. CMD:showlicenses(playerid, params[])
  18457. {
  18458. new string[128], giveplayerid;
  18459. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /showlicenses [playerid/partofname]");
  18460. if(IsPlayerConnected(giveplayerid))
  18461. {
  18462. if(ProxDetectorS(8.0, playerid, giveplayerid))
  18463. {
  18464. if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "You can't show licenses to yourself - use /licenses for that."); return 1; }
  18465. new text1[20], text2[20], text4[20];
  18466. if(PlayerInfo[playerid][pCarLic]) { text1 = "Acquired"; } else { text1 = "Not acquired"; }
  18467. if(PlayerInfo[playerid][pFlyLic]) { text4 = "Acquired"; } else { text4 = "Not acquired"; }
  18468. if(PlayerInfo[playerid][pBoatLic]) { text2 = "Acquired"; } else { text2 = "Not acquired"; }
  18469. format(string, sizeof(string), "Listing %s's licenses...", GetPlayerNameEx(playerid));
  18470. SendClientMessage(giveplayerid, COLOR_WHITE, string);
  18471. format(string, sizeof(string), "** Driver's license: %s.", text1);
  18472. SendClientMessage(giveplayerid, COLOR_GREY, string);
  18473. format(string, sizeof(string), "** Pilot license: %s.", text4);
  18474. SendClientMessage(giveplayerid, COLOR_GREY, string);
  18475. format(string, sizeof(string), "** Boating license: %s.", text2);
  18476. SendClientMessage(giveplayerid, COLOR_GREY, string);
  18477. format(string, sizeof(string), "* %s has shown their licenses to you.", GetPlayerNameEx(playerid));
  18478. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  18479. format(string, sizeof(string), "* You have shown your licenses to %s.", GetPlayerNameEx(giveplayerid));
  18480. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  18481. format(string, sizeof(string), "* %s has shown their licenses to %s.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  18482. ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  18483. }
  18484. else
  18485. {
  18486. SendClientMessage(playerid, COLOR_GREY, "That player isn't near you.");
  18487. return 1;
  18488. }
  18489. }
  18490. else
  18491. {
  18492. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  18493. return 1;
  18494. }
  18495. return 1;
  18496. }
  18497. CMD:showbadge(playerid, params[])
  18498. {
  18499. if(PlayerInfo[playerid][pFaction] >= 1 || PlayerInfo[playerid][pLeader] >= 1) {
  18500. new string[128], giveplayerid;
  18501. if(sscanf(params, "u", giveplayerid))
  18502. return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /showbadge [playerid/partofname]");
  18503. if(giveplayerid != INVALID_PLAYER_ID) {
  18504. if(ProxDetectorS(5.0, playerid, giveplayerid)) {
  18505. switch(PlayerInfo[playerid][pFaction]) {
  18506. case 1, 2, 3, 5: {
  18507. new
  18508. infoArrays[3][64];
  18509. GetPlayerFactionInfo(playerid, infoArrays[0], infoArrays[1], infoArrays[2]);
  18510. SendClientMessage(giveplayerid, COLOR_GRAD2, "----------------------------------------------------------------------------------------------------");
  18511. format(string, sizeof(string), "%s %s is a duly sworn member of the %s (%s).", infoArrays[0], GetPlayerNameEx(playerid), infoArrays[2], infoArrays[1]);
  18512. SendClientMessage(giveplayerid, COLOR_WHITE, string);
  18513. format(string, sizeof(string), "Current Assignment: %s.", infoArrays[1]);
  18514. SendClientMessage(giveplayerid, COLOR_WHITE, string);
  18515. switch(PlayerInfo[playerid][pFaction]) {
  18516. case 1: SendClientMessage(giveplayerid, COLOR_WHITE, "Under the Authority of the City of Los Santos.");
  18517. case 2, 5: SendClientMessage(giveplayerid, COLOR_WHITE, "Under the Authority of the United States Government.");
  18518. default: SendClientMessage(giveplayerid, COLOR_WHITE, "Under the Authority of the State of San Andreas.");
  18519. }
  18520. if(PlayerInfo[playerid][pFaction] != 3) SendClientMessage(giveplayerid, COLOR_WHITE, "Official has the authority to arrest.");
  18521. if(PlayerInfo[playerid][pFaction] == 3) SendClientMessage(giveplayerid, COLOR_WHITE, "Official has the authority to assist in arrest.");
  18522. SendClientMessage(giveplayerid, COLOR_GRAD2, "----------------------------------------------------------------------------------------------------");
  18523. format(string, sizeof(string), "* %s shows their badge to %s.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  18524. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  18525. }
  18526. default: SendClientMessage(playerid, COLOR_WHITE, "You're not in a civil service faction.");
  18527. }
  18528. }
  18529. else SendClientMessage(playerid, COLOR_GREY, "That player isn't near you.");
  18530. }
  18531. else SendClientMessage(playerid, COLOR_WHITE, "You're not in a civil service faction.");
  18532. }
  18533. return 1;
  18534. }
  18535. CMD:service(playerid, params[])
  18536. {
  18537. new string[128], choice[32];
  18538. if(sscanf(params, "s[32]", choice))
  18539. {
  18540. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /service [name]");
  18541. SendClientMessage(playerid, COLOR_GREY, "Available names: Taxi, Bus, Medic, Mechanic, EMS");
  18542. return 1;
  18543. }
  18544. if(PlayerInfo[playerid][pJailed] > 0)
  18545. {
  18546. SendClientMessage(playerid, COLOR_WHITE, "You can't use this in jail/prison.");
  18547. return 1;
  18548. }
  18549. if(ServiceTime[playerid] > 0) return SendClientMessage(playerid, COLOR_WHITE, "You must wait 30 seconds before using this command again. ");
  18550. if(strcmp(choice,"ems",true) == 0)
  18551. {
  18552. if(GetPVarInt(playerid, "Injured") == 0)
  18553. {
  18554. SendClientMessage(playerid, COLOR_GREY, " You're not injured, you can't call for EMS now!");
  18555. return 1;
  18556. }
  18557. new zone[MAX_ZONE_NAME];
  18558. GetPlayer2DZone(playerid, zone, MAX_ZONE_NAME);
  18559. SetPVarInt(playerid, "EMSAttempt", 1);
  18560. SendClientMessage(playerid, COLOR_WHITE, "The EMS have been informed of your current location and are on their way.");
  18561. format(string, sizeof(string), "Emergency Dispatch has reported (%d) %s to be wounded at %s, They require immediate emergency transport.",playerid, GetPlayerNameEx(playerid), zone);
  18562. SendRadioMessage(3, TEAM_MED_COLOR, string);
  18563. ServiceTime[playerid] = 30;
  18564. return 1;
  18565. }
  18566. else if(strcmp(choice,"taxi",true) == 0)
  18567. {
  18568. if(TaxiDrivers < 1)
  18569. {
  18570. SendClientMessage(playerid, COLOR_GREY, " There are no taxi drivers on duty at the moment, try again later!");
  18571. return 1;
  18572. }
  18573. if(TransportDuty[playerid] > 0)
  18574. {
  18575. SendClientMessage(playerid, COLOR_GREY, " You can't call for a taxi now!");
  18576. return 1;
  18577. }
  18578. new
  18579. szZoneName[MAX_ZONE_NAME];
  18580. GetPlayer2DZone(playerid, szZoneName, MAX_ZONE_NAME);
  18581. format(string, sizeof(string), "** %s is in need of a taxi driver at %s - use /accept taxi to accept the call.", GetPlayerNameEx(playerid), szZoneName);
  18582. SendTaxiMessage(TEAM_AZTECAS_COLOR, string);
  18583. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You have called for a taxi driver, wait for a reply.");
  18584. TaxiCall = playerid;
  18585. ServiceTime[playerid] = 30;
  18586. return 1;
  18587. }
  18588. else if(strcmp(choice,"bus",true) == 0)
  18589. {
  18590. if(BusDrivers < 1)
  18591. {
  18592. SendClientMessage(playerid, COLOR_GREY, " There are no bus drivers at the moment, try again later!");
  18593. return 1;
  18594. }
  18595. if(TransportDuty[playerid] > 0)
  18596. {
  18597. SendClientMessage(playerid, COLOR_GREY, " You can't call for a bus now!");
  18598. return 1;
  18599. }
  18600. format(string, sizeof(string), "** %s is in need of a bus driver - use /accept bus to accept the call.", GetPlayerNameEx(playerid));
  18601. SendBusMessage(TEAM_AZTECAS_COLOR, string);
  18602. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You have called for a bus driver, wait for a reply.");
  18603. BusCall = playerid;
  18604. ServiceTime[playerid] = 30;
  18605. return 1;
  18606. }
  18607. else if(strcmp(choice,"medic",true) == 0)
  18608. {
  18609. if(Medics < 1)
  18610. {
  18611. SendClientMessage(playerid, COLOR_GREY, " There are no medics on duty at the moment, try again later!");
  18612. return 1;
  18613. }
  18614. format(string, sizeof(string), "** %s is in need of a Medic - use /accept medic to accept the call.", GetPlayerNameEx(playerid));
  18615. SendRadioMessage(3, TEAM_AZTECAS_COLOR, string);
  18616. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You have called for a medic, wait for a reply.");
  18617. MedicCall = playerid;
  18618. ServiceTime[playerid] = 30;
  18619. return 1;
  18620. }
  18621. else if(strcmp(choice,"mechanic",true) == 0)
  18622. {
  18623. if(Mechanics < 1)
  18624. {
  18625. SendClientMessage(playerid, COLOR_GREY, " There are no car mechanics on duty at the moment, try again later!");
  18626. return 1;
  18627. }
  18628. format(string, sizeof(string), "** %s is in need of a car mechanic - use /accept mechanic to accept the call.", GetPlayerNameEx(playerid));
  18629. SendJobMessage(7, TEAM_AZTECAS_COLOR, string);
  18630. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You have called for a car mechanic, wait for a reply.");
  18631. MechanicCall = playerid;
  18632. ServiceTime[playerid] = 30;
  18633. return 1;
  18634. }
  18635. else
  18636. {
  18637. SendClientMessage(playerid, COLOR_GREY, " Unknown service name!");
  18638. return 1;
  18639. }
  18640. }
  18641. CMD:toyhelp(playerid, params[])
  18642. {
  18643. SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
  18644. SendClientMessage(playerid, COLOR_WHITE,"*** TOY HELP ***");
  18645. SendClientMessage(playerid, COLOR_GRAD3,"To buy a toy, go to any clothing store and type {AA3333}/buytoys");
  18646. SendClientMessage(playerid, COLOR_GRAD3,"To attach/dettach, edit, or delete a toy type {AA3333}/toys");
  18647. SendClientMessage(playerid, COLOR_GRAD3,"To quickly attach all your toys, type {AA3333}/wat");
  18648. SendClientMessage(playerid, COLOR_GRAD3,"To quickly detach all your toys, type {AA3333}/dat");
  18649. return 1;
  18650. }
  18651. /*CMD:dtoys(playerid, params[])
  18652. {
  18653. // (TEMPORARY - Howard NOTE) NO VIP added yet
  18654. if(IsPlayerInRangeOfPoint(playerid,3,2371.557373,-1472.172851,-18.824062))
  18655. {
  18656. if(PlayerInfo[playerid][pDonator] < 1)
  18657. {
  18658. SendClientMessage(playerid, COLOR_WHITE, "You must be at least Ruby+Donator to use this feature.");
  18659. }
  18660. else
  18661. {
  18662. ShowPlayerDialogEx(playerid, BUYTOYSGOLD, DIALOG_STYLE_MSGBOX, "Toy Store", "Welcome to the Donator toy store! Here you can buy accessories to attach to your player.\n\nFirst, we will choose a slot to store the toy in.","Continue", "Cancel");
  18663. }
  18664. }
  18665. else
  18666. {
  18667. SendClientMessage(playerid, COLOR_WHITE, "You're not in a Maximus Club!");
  18668. }
  18669. return 1;
  18670. }*/
  18671. CMD:buytoys(playerid, params[])
  18672. {
  18673. if(IsAtClothShop(playerid))
  18674. {
  18675. ShowPlayerDialogEx(playerid, BUYTOYS, DIALOG_STYLE_MSGBOX, "Toy Store", "Welcome to the toy store! Here you can buy accessories to attach to your player.\n\nFirst, we will choose a slot to store the toy in.\n(Note: Non-Donators can only hold 5 toys, Ruby-Diamond Donator can hold 6-8)","Continue", "Cancel");
  18676. //ShowPlayerDialogEx(playerid, BUYTOYS, DIALOG_STYLE_MSGBOX, "Toy Store", "Welcome to the toy store! Here you can buy accessories to attach to your player.\n\nFirst, we will choose a slot to store the toy in.\n(Note: You can only hold 5 toys)","Continue", "Cancel");
  18677. }
  18678. else
  18679. {
  18680. SendClientMessage(playerid, COLOR_WHITE, " You're not in a Clothing Shop!");
  18681. }
  18682. return 1;
  18683. }
  18684. CMD:listtoys(playerid, params[]) {
  18685. if(PlayerInfo[playerid][pAdmin] >= 4)
  18686. {
  18687. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  18688. {
  18689. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  18690. return 1;
  18691. }
  18692. new
  18693. iTargetID;
  18694. if(sscanf(params, "u", iTargetID)) {
  18695. SendClientMessage(playerid, COLOR_GREY, "USAGE: /listtoys [playerid/partofname]");
  18696. }
  18697. else if(IsPlayerConnected(iTargetID)) for(new iToyIter, szMessage[128]; iToyIter < MAX_PLAYER_ATTOBJECTS; ++iToyIter) {
  18698. for(new LoopRapist; LoopRapist < sizeof(HoldingObjectsAll); ++LoopRapist) {
  18699. if(HoldingObjectsAll[LoopRapist][holdingmodelid] == PlayerToyInfo[iTargetID][iToyIter][ptModelID]) {
  18700. format(szMessage, sizeof(szMessage), "%s (slot %i, bone: %s)", HoldingObjectsAll[LoopRapist][holdingmodelname], iToyIter, HoldingBones[PlayerToyInfo[iTargetID][iToyIter][ptBone]]);
  18701. SendClientMessage(playerid, COLOR_WHITE, szMessage);
  18702. break;
  18703. }
  18704. }
  18705. }
  18706. else SendClientMessage(playerid, COLOR_GRAD2, "Invalid player specified.");
  18707. }
  18708. return 1;
  18709. }
  18710. CMD:toys(playerid, params[])
  18711. {
  18712. ShowPlayerDialogEx(playerid, TOYS, DIALOG_STYLE_LIST, "Toy Menu", "Attach/Dettach a Toy\nEdit a Toy\nDelete a Toy","Select", "Cancel");
  18713. return 1;
  18714. }
  18715. CMD:wat(playerid, params[])
  18716. {
  18717. SendClientMessage(playerid, COLOR_WHITE, "* Attached all toys.");
  18718. if(PlayerInfo[playerid][pDonator] <= 0)
  18719. {
  18720. for(new x;x<5;x++)
  18721. {
  18722. if(PlayerToyInfo[playerid][x][ptScaleX] == 0) {
  18723. PlayerToyInfo[playerid][x][ptScaleX] = 1.0;
  18724. PlayerToyInfo[playerid][x][ptScaleY] = 1.0;
  18725. PlayerToyInfo[playerid][x][ptScaleZ] = 1.0;
  18726. }
  18727. if(PlayerToyInfo[playerid][x][ptModelID] != 0) SetPlayerAttachedObject(playerid, x, PlayerToyInfo[playerid][x][ptModelID], PlayerToyInfo[playerid][x][ptBone], PlayerToyInfo[playerid][x][ptPosX], PlayerToyInfo[playerid][x][ptPosY], PlayerToyInfo[playerid][x][ptPosZ], PlayerToyInfo[playerid][x][ptRotX], PlayerToyInfo[playerid][x][ptRotY], PlayerToyInfo[playerid][x][ptRotZ], PlayerToyInfo[playerid][x][ptScaleX], PlayerToyInfo[playerid][x][ptScaleY], PlayerToyInfo[playerid][x][ptScaleZ]);
  18728. }
  18729. }
  18730. else if(PlayerInfo[playerid][pDonator] == 1)
  18731. {
  18732. for(new x;x<6;x++)
  18733. {
  18734. if(PlayerToyInfo[playerid][x][ptScaleX] == 0) {
  18735. PlayerToyInfo[playerid][x][ptScaleX] = 1.0;
  18736. PlayerToyInfo[playerid][x][ptScaleY] = 1.0;
  18737. PlayerToyInfo[playerid][x][ptScaleZ] = 1.0;
  18738. }
  18739. if(PlayerToyInfo[playerid][x][ptModelID] != 0) SetPlayerAttachedObject(playerid, x, PlayerToyInfo[playerid][x][ptModelID], PlayerToyInfo[playerid][x][ptBone], PlayerToyInfo[playerid][x][ptPosX], PlayerToyInfo[playerid][x][ptPosY], PlayerToyInfo[playerid][x][ptPosZ], PlayerToyInfo[playerid][x][ptRotX], PlayerToyInfo[playerid][x][ptRotY], PlayerToyInfo[playerid][x][ptRotZ], PlayerToyInfo[playerid][x][ptScaleX], PlayerToyInfo[playerid][x][ptScaleY], PlayerToyInfo[playerid][x][ptScaleZ]);
  18740. }
  18741. }
  18742. else if(PlayerInfo[playerid][pDonator] == 2)
  18743. {
  18744. for(new x;x<7;x++)
  18745. {
  18746. if(PlayerToyInfo[playerid][x][ptScaleX] == 0) {
  18747. PlayerToyInfo[playerid][x][ptScaleX] = 1.0;
  18748. PlayerToyInfo[playerid][x][ptScaleY] = 1.0;
  18749. PlayerToyInfo[playerid][x][ptScaleZ] = 1.0;
  18750. }
  18751. if(PlayerToyInfo[playerid][x][ptModelID] != 0) SetPlayerAttachedObject(playerid, x, PlayerToyInfo[playerid][x][ptModelID], PlayerToyInfo[playerid][x][ptBone], PlayerToyInfo[playerid][x][ptPosX], PlayerToyInfo[playerid][x][ptPosY], PlayerToyInfo[playerid][x][ptPosZ], PlayerToyInfo[playerid][x][ptRotX], PlayerToyInfo[playerid][x][ptRotY], PlayerToyInfo[playerid][x][ptRotZ], PlayerToyInfo[playerid][x][ptScaleX], PlayerToyInfo[playerid][x][ptScaleY], PlayerToyInfo[playerid][x][ptScaleZ]);
  18752. }
  18753. }
  18754. else if(PlayerInfo[playerid][pDonator] >= 3)
  18755. {
  18756. for(new x;x<8;x++)
  18757. {
  18758. if(PlayerToyInfo[playerid][x][ptScaleX] == 0) {
  18759. PlayerToyInfo[playerid][x][ptScaleX] = 1.0;
  18760. PlayerToyInfo[playerid][x][ptScaleY] = 1.0;
  18761. PlayerToyInfo[playerid][x][ptScaleZ] = 1.0;
  18762. }
  18763. if(PlayerToyInfo[playerid][x][ptModelID] != 0) SetPlayerAttachedObject(playerid, x, PlayerToyInfo[playerid][x][ptModelID], PlayerToyInfo[playerid][x][ptBone], PlayerToyInfo[playerid][x][ptPosX], PlayerToyInfo[playerid][x][ptPosY], PlayerToyInfo[playerid][x][ptPosZ], PlayerToyInfo[playerid][x][ptRotX], PlayerToyInfo[playerid][x][ptRotY], PlayerToyInfo[playerid][x][ptRotZ], PlayerToyInfo[playerid][x][ptScaleX], PlayerToyInfo[playerid][x][ptScaleY], PlayerToyInfo[playerid][x][ptScaleZ]);
  18764. }
  18765. }
  18766. return 1;
  18767. }
  18768. CMD:dat(playerid, params[])
  18769. {
  18770. SendClientMessage(playerid, COLOR_WHITE, "* Deattached all toys.");
  18771. for(new x;x<MAX_PLAYERTOYS;x++)
  18772. {
  18773. RemovePlayerAttachedObject(playerid, x);
  18774. }
  18775. return 1;
  18776. }
  18777. CMD:divorce(playerid, params[])
  18778. {
  18779. if(PlayerInfo[playerid][pMarried] < 1)
  18780. {
  18781. SendClientMessage(playerid, COLOR_GREY, "You're not Married!");
  18782. return 1;
  18783. }
  18784. new string[128], giveplayerid;
  18785. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /divorce [playerid/partofname]");
  18786. if(IsPlayerConnected(giveplayerid))
  18787. {
  18788. if(ProxDetectorS(8.0, playerid, giveplayerid))
  18789. {
  18790. new dstring[MAX_PLAYER_NAME];
  18791. new wstring[MAX_PLAYER_NAME];
  18792. new giveplayer[MAX_PLAYER_NAME];
  18793. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  18794. format(string, sizeof(string), "%s", giveplayer);
  18795. strmid(wstring, string, 0, strlen(string), 24);
  18796. format(string, sizeof(string), "%s", PlayerInfo[playerid][pMarriedTo]);
  18797. strmid(dstring, string, 0, strlen(string), 24);
  18798. if(strcmp(dstring ,wstring, true) == 0)
  18799. {
  18800. format(string, sizeof(string), "* You've sent Divorce Papers to %s.", GetPlayerNameEx(giveplayerid));
  18801. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  18802. format(string, sizeof(string), "* %s just sent you their Divorce Papers (type /accept divorce) to accept.", GetPlayerNameEx(playerid));
  18803. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  18804. DivorceOffer[giveplayerid] = playerid;
  18805. return 1;
  18806. }
  18807. else
  18808. {
  18809. SendClientMessage(playerid, COLOR_GREY, " That player is not Married to you!");
  18810. return 1;
  18811. }
  18812. }
  18813. else
  18814. {
  18815. SendClientMessage(playerid, COLOR_GREY, "That player isn't near you.");
  18816. return 1;
  18817. }
  18818. }
  18819. else
  18820. {
  18821. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  18822. return 1;
  18823. }
  18824. }
  18825. CMD:adivorce(playerid, params[])
  18826. {
  18827. if(PlayerInfo[playerid][pAdmin] > 3)
  18828. {
  18829. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  18830. {
  18831. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  18832. return 1;
  18833. }
  18834. new string[128], giveplayerid;
  18835. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /adivorce [playerid/partofname]");
  18836. if(IsPlayerConnected(giveplayerid))
  18837. {
  18838. ClearMarriage(giveplayerid);
  18839. format(string, sizeof(string), "* You've admin divorced %s.", GetPlayerNameEx(giveplayerid));
  18840. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  18841. format(string, sizeof(string), "* You have been admin divorced by an admin.", GetPlayerNameEx(playerid));
  18842. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  18843. return 1;
  18844. }
  18845. else
  18846. {
  18847. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  18848. return 1;
  18849. }
  18850. }
  18851. else
  18852. {
  18853. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  18854. return 1;
  18855. }
  18856. }
  18857. CMD:witness(playerid, params[])
  18858. {
  18859. new string[128], giveplayerid;
  18860. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /witness [playerid/partofname]");
  18861. if(IsPlayerConnected(giveplayerid))
  18862. {
  18863. if(ProxDetectorS(8.0, playerid, giveplayerid))
  18864. {
  18865. if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "You can't Propose to yourself!"); return 1; }
  18866. format(string, sizeof(string), "* You requested %s to be your Marriage Witness.", GetPlayerNameEx(giveplayerid));
  18867. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  18868. format(string, sizeof(string), "* %s just requested you to be their Marriage Witness (type /accept witness) to accept.", GetPlayerNameEx(playerid));
  18869. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  18870. MarryWitnessOffer[giveplayerid] = playerid;
  18871. }
  18872. else
  18873. {
  18874. SendClientMessage(playerid, COLOR_GREY, "That player isn't near you.");
  18875. return 1;
  18876. }
  18877. }
  18878. else
  18879. {
  18880. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  18881. return 1;
  18882. }
  18883. return 1;
  18884. }
  18885. CMD:propose(playerid, params[])
  18886. {
  18887. if(GetPlayerCash(playerid) < 10000)
  18888. {
  18889. SendClientMessage(playerid, COLOR_GREY, " The Marriage & Reception costs $10000!");
  18890. return 1;
  18891. }
  18892. if(PlayerInfo[playerid][pMarried] > 0)
  18893. {
  18894. SendClientMessage(playerid, COLOR_GREY, " You're already Married!");
  18895. return 1;
  18896. }
  18897. new string[128], giveplayerid;
  18898. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /propose [playerid/partofname]");
  18899. if(IsPlayerConnected(giveplayerid))
  18900. {
  18901. if(PlayerInfo[giveplayerid][pMarried] > 0)
  18902. {
  18903. SendClientMessage(playerid, COLOR_GREY, " That player is already married!");
  18904. return 1;
  18905. }
  18906. else if(MarryWitness[playerid] == giveplayerid) {
  18907. return SendClientMessage(playerid, COLOR_GREY, " You can't marry the witness!");
  18908. }
  18909. if(ProxDetectorS(8.0, playerid, giveplayerid))
  18910. {
  18911. if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "You can't Propose to yourself!"); return 1; }
  18912. format(string, sizeof(string), "* You proposed to %s.", GetPlayerNameEx(giveplayerid));
  18913. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  18914. format(string, sizeof(string), "* %s just proposed to you (type /accept marriage) to accept.", GetPlayerNameEx(playerid));
  18915. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  18916. ProposeOffer[giveplayerid] = playerid;
  18917. }
  18918. else
  18919. {
  18920. SendClientMessage(playerid, COLOR_GREY, "That player isn't near you.");
  18921. return 1;
  18922. }
  18923. }
  18924. else
  18925. {
  18926. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  18927. return 1;
  18928. }
  18929. return 1;
  18930. }
  18931. CMD:buyinsurance(playerid, params[])
  18932. {
  18933. if(IsPlayerInRangeOfPoint(playerid,2.0,1169.7209472656,-1348.3218994141,2423.0461425781) && PlayerInfo[playerid][pVW] == 1) {
  18934. if(GetPlayerCash(playerid) >= 400) {
  18935. if(PlayerInfo[playerid][pInsurance] != 1) {
  18936. GivePlayerCash(playerid, -400);
  18937. PlayerInfo[playerid][pInsurance] = 1;
  18938. SendClientMessage(playerid, COLOR_WHITE, " Insurance purchased, you paid $150 + a one-time transfer fee of $250, you will now be healed at All Saints Hospital for $150.");
  18939. return 1;
  18940. }
  18941. else {
  18942. SendClientMessage(playerid, COLOR_GRAD4, "You already have insurance at All Saints Hospital!");
  18943. }
  18944. }
  18945. else {
  18946. SendClientMessage(playerid, COLOR_GRAD4, "You don't have enough money for this insurance!");
  18947. }
  18948. }
  18949. else if(IsPlayerInRangeOfPoint(playerid,2.0,1169.7209472656,-1348.3218994141,2423.0461425781) && PlayerInfo[playerid][pVW] == 2) {
  18950. if(GetPlayerCash(playerid) >= 400) {
  18951. if(PlayerInfo[playerid][pInsurance] != 2) {
  18952. GivePlayerCash(playerid, -400);
  18953. PlayerInfo[playerid][pInsurance] = 2;
  18954. SendClientMessage(playerid, COLOR_WHITE, " Insurance purchased, you paid $150 + a one-time transfer fee of $250, you will now be healed at County General Hospital for $150.");
  18955. return 1;
  18956. }
  18957. else {
  18958. SendClientMessage(playerid, COLOR_GRAD4, "You already have insurance at County General Hospital!");
  18959. }
  18960. }
  18961. else {
  18962. SendClientMessage(playerid, COLOR_GRAD4, "You don't have enough money for this insurance!");
  18963. }
  18964. }
  18965. return 1;
  18966. }
  18967. CMD:insurehelp(playerid, params[])
  18968. {
  18969. SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
  18970. SendClientMessage(playerid, COLOR_WHITE,"*** INSURANCE HELP *** - type a command for more infomation.");
  18971. SendClientMessage(playerid, COLOR_GRAD3,"*** INSURANCE *** /buyinsurance");
  18972. SendClientMessage(playerid, COLOR_LIGHTRED,"*** INSURANCE *** ALL SAINTS: $150 + Transfer (One Time) Fee of $250");
  18973. SendClientMessage(playerid, COLOR_LIGHTRED,"*** INSURANCE *** COUNTY: $150 + Transfer (One Time) Fee of $250");
  18974. return 1;
  18975. }
  18976. CMD:fmdc(playerid, params[])
  18977. {
  18978. new MemberString[1024], giveplayer[MAX_PLAYER_NAME], duty[10], string[128];
  18979. if(PlayerInfo[playerid][pLeader] == 3 || PlayerInfo[playerid][pFaction] == 3 && PlayerInfo[playerid][pRank] >= 4)
  18980. {
  18981. if(IsPlayerInAnyVehicle(playerid))
  18982. {
  18983. foreach(Player, i)
  18984. {
  18985. giveplayer = GetPlayerNameEx(i);
  18986. if(PlayerInfo[i][pFaction] == 3)
  18987. {
  18988. switch(PlayerInfo[i][pDuty])
  18989. {
  18990. case 0:
  18991. {
  18992. duty = "Off Duty";
  18993. }
  18994. case 1:
  18995. {
  18996. duty = "On Duty";
  18997. }
  18998. }
  18999. format(string, sizeof(string), "*(%s) - (Calls Accepted: %d) - (Patients Delivered: %d) - (%s)\n", giveplayer, PlayerInfo[i][pCallsAccepted], PlayerInfo[i][pPatientsDelivered], duty);
  19000. strcat(MemberString, string, sizeof(MemberString));
  19001. }
  19002. }
  19003. if(strlen(MemberString) == 0)
  19004. {
  19005. strcat(MemberString, "No Members online at this time.", sizeof(MemberString));
  19006. }
  19007. ShowPlayerDialogEx(playerid, FMDC, DIALOG_STYLE_LIST, "FMDC - Logged in | LSFMD Members", MemberString, "Select", "Cancel");
  19008. }
  19009. else SendClientMessage(playerid, COLOR_GREY, "You're not in a vehicle.");
  19010. }
  19011. return 1;
  19012. }
  19013. CMD:healme(playerid, params[])
  19014. {
  19015. if(IsPlayerInRangeOfPoint(playerid, 2.0, 1179.4012451172,-1331.5632324219,2423.0461425781))
  19016. {
  19017. if(GetPVarType(playerid, "STD"))
  19018. {
  19019. DeletePVar(playerid, "STD");
  19020. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* you're no longer infected with a STD anymore because of the Hospital's help!");
  19021. GivePlayerCash(playerid, -100);
  19022. SendClientMessage(playerid, TEAM_CYAN_COLOR, "Doc: Your medical bill contained $100. Have a nice day!");
  19023. }
  19024. else
  19025. {
  19026. SendClientMessage(playerid, COLOR_GREY, " You don't have a STD to heal!");
  19027. return 1;
  19028. }
  19029. }
  19030. else
  19031. {
  19032. SendClientMessage(playerid, COLOR_GREY, " You're not at a Hospital!");
  19033. }
  19034. return 1;
  19035. }
  19036. CMD:triage(playerid, params[])
  19037. {
  19038. if(PlayerInfo[playerid][pFaction]==3||PlayerInfo[playerid][pLeader]==3)//model
  19039. {
  19040. if(PlayerInfo[playerid][pTriageTime] != 0)
  19041. {
  19042. SendClientMessage(playerid, COLOR_GREY, "You must wait for 2 minutes to use this command.");
  19043. return 1;
  19044. }
  19045. new string[128], giveplayerid;
  19046. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /triage [playerid/partofname]");
  19047. if(IsPlayerConnected(giveplayerid))
  19048. {
  19049. if(playerid == giveplayerid) return SendClientMessage(playerid, COLOR_GRAD2, "You can't use this command on yourself.");
  19050. if(ProxDetectorS(5.0, playerid, giveplayerid))
  19051. {
  19052. new Float: health;
  19053. GetPlayerHealth(giveplayerid, health);
  19054. if(health >= 85) SetPlayerHealth(giveplayerid, 100);
  19055. else SetPlayerHealth(giveplayerid, health+15.0);
  19056. format(string, sizeof(string), "* %s has healed %s.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  19057. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  19058. PlayerInfo[playerid][pTriageTime] = 120;
  19059. }
  19060. else
  19061. {
  19062. SendClientMessage(playerid, COLOR_GREY, "That player isn't near you.");
  19063. }
  19064. }
  19065. }
  19066. return 1;
  19067. }
  19068. CMD:heal(playerid, params[])
  19069. {
  19070. new giveplayerid, price;
  19071. if(sscanf(params, "ud", giveplayerid, price)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /heal [playerid/partofname] [price]");
  19072. if(price < 20 || price > 100)
  19073. {
  19074. SendClientMessage(playerid, COLOR_GREY, "Healing price can't below $20 or above $100.");
  19075. return 1;
  19076. }
  19077. if(giveplayerid == playerid)
  19078. {
  19079. SendClientMessage(playerid, COLOR_GRAD1, "You can't heal yourself.");
  19080. return 1;
  19081. }
  19082. if(IsPlayerConnected(giveplayerid))
  19083. {
  19084. if(GetDistanceBetweenPlayers(giveplayerid, playerid) > 10)
  19085. return SendClientMessage(playerid, COLOR_GREY, "You're too far away from the target to heal them.");
  19086. if(PlayerInfo[giveplayerid][pCash] < price && price > 0)
  19087. return SendClientMessage(playerid, COLOR_GREY, "The heal price is too expensive for the player.");
  19088. new iVehicle = GetPlayerVehicleID(playerid);
  19089. if(PlayerInfo[playerid][pFaction] == 3 || PlayerInfo[playerid][pLeader] == 3)
  19090. {
  19091. if(GetPlayerVehicleID(giveplayerid) == iVehicle && IsAnAmbulance(iVehicle))
  19092. {
  19093. new Float:tempheal;
  19094. GetPlayerHealth(giveplayerid,tempheal);
  19095. if(tempheal >= 100.0)
  19096. {
  19097. SendClientMessage(playerid, TEAM_GREEN_COLOR,"That person is fully healed.");
  19098. return 1;
  19099. }
  19100. new string[64];
  19101. format(string, sizeof(string), "You healed %s for $%d.", GetPlayerNameEx(giveplayerid),price);
  19102. SendClientMessage(playerid, COLOR_PINK, string);
  19103. GivePlayerCash(playerid, price / 2);
  19104. GivePlayerCash(giveplayerid, -price);
  19105. SetPlayerHealth(giveplayerid, 100);
  19106. PlayerPlaySound(playerid, 1150, 0.0, 0.0, 0.0);
  19107. PlayerPlaySound(giveplayerid, 1150, 0.0, 0.0, 0.0);
  19108. format(string, sizeof(string), "You have been healed to 100 health for $%d by %s.",price, GetPlayerNameEx(playerid));
  19109. SendClientMessage(giveplayerid, TEAM_GREEN_COLOR,string);
  19110. if(GetPVarType(giveplayerid, "STD"))
  19111. {
  19112. DeletePVar(giveplayerid, "STD");
  19113. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, "* you're no longer infected with a STD because of the medic's help.");
  19114. }
  19115. }
  19116. else
  19117. {
  19118. SendClientMessage(playerid, COLOR_GRAD1, "Both you and the patient must be in an ambulance.");
  19119. return 1;
  19120. }
  19121. }
  19122. else
  19123. {
  19124. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  19125. return 1;
  19126. }
  19127. }
  19128. else
  19129. {
  19130. SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  19131. }
  19132. return 1;
  19133. }
  19134. CMD:lsfmd(playerid, params[])
  19135. {
  19136. if(PlayerInfo[playerid][pFaction] == 3 || PlayerInfo[playerid][pLeader] == 3)
  19137. {
  19138. if(IsPlayerInRangeOfPoint(playerid,3,1188.5157470703,-1350.9741210938, 2423.2648925781) || IsPlayerInRangeOfPoint(playerid,3,1377.696655,-918.741760,-15.741325))
  19139. {
  19140. ShowPlayerDialogEx(playerid, LSFMDMENU, DIALOG_STYLE_LIST, "LSFMD","Duty\nUniform\nEquipment\nCivilian", "Select", "Cancel");
  19141. }
  19142. else
  19143. {
  19144. SendClientMessage(playerid, COLOR_RED, "You're not in range of your LSFMD lockers.");
  19145. }
  19146. }
  19147. return 1;
  19148. }
  19149. CMD:lsfmddiv(playerid, params[])
  19150. {
  19151. if(PlayerInfo[playerid][pFaction] == 3 && PlayerInfo[playerid][pRank] >= 5)
  19152. {
  19153. new string[128], giveplayerid, division;
  19154. if(sscanf(params, "ud", giveplayerid, division))
  19155. {
  19156. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /lsfmddiv [playerid/partofname] [division]");
  19157. SendClientMessage(playerid, COLOR_GRAD2, "Available division names: 0 (None), 1 (FD), 2 (EMS), 3 (HR), 4(LF)");
  19158. return 1;
  19159. }
  19160. if(PlayerInfo[playerid][pRank] >= 5)
  19161. {
  19162. if(IsPlayerConnected(giveplayerid))
  19163. {
  19164. if(PlayerInfo[playerid][pFaction] == 3 && PlayerInfo[playerid][pRank] >= 5)
  19165. {
  19166. if(division == 4)
  19167. {
  19168. if(PlayerInfo[giveplayerid][pFaction] == 3)
  19169. {
  19170. PlayerInfo[giveplayerid][pDivision] = 4;
  19171. format(string, sizeof(string), "You're now in the Life Flight division, invited by %s.", GetPlayerNameEx(playerid));
  19172. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  19173. format(string, sizeof(string), "You have invited %s to join the Life Flight Division.", GetPlayerNameEx(giveplayerid));
  19174. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  19175. }
  19176. }
  19177. if(division == 3)
  19178. {
  19179. if(PlayerInfo[giveplayerid][pFaction] == 3)
  19180. {
  19181. PlayerInfo[giveplayerid][pDivision] = 3;
  19182. format(string, sizeof(string), "You're now in the Human Resources division, invited by %s.", GetPlayerNameEx(playerid));
  19183. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  19184. format(string, sizeof(string), "You have invited %s to join the Human Resources Division.", GetPlayerNameEx(giveplayerid));
  19185. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  19186. }
  19187. }
  19188. if(division == 2)
  19189. {
  19190. if(PlayerInfo[giveplayerid][pFaction] == 3)
  19191. {
  19192. PlayerInfo[giveplayerid][pDivision] = 2;
  19193. format(string, sizeof(string), "You're now in the IA, invited by %s.", GetPlayerNameEx(playerid));
  19194. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  19195. format(string, sizeof(string), "You have invited %s to join the Bureau of EMS.", GetPlayerNameEx(giveplayerid));
  19196. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  19197. }
  19198. }
  19199. else if(division == 1)
  19200. {
  19201. if(PlayerInfo[giveplayerid][pFaction] == 3)
  19202. {
  19203. PlayerInfo[giveplayerid][pDivision] = 1;
  19204. format(string, sizeof(string), "You're now in the Fire Department division, invited by %s.", GetPlayerNameEx(playerid));
  19205. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  19206. format(string, sizeof(string), "You have invited %s to join the Fire Department Division.", GetPlayerNameEx(giveplayerid));
  19207. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  19208. }
  19209. }
  19210. else if(division == 0)
  19211. {
  19212. if(PlayerInfo[giveplayerid][pFaction] == 3)
  19213. {
  19214. PlayerInfo[giveplayerid][pDivision] = 0;
  19215. format(string, sizeof(string), "You have been kicked from your division by %s.", GetPlayerNameEx(playerid));
  19216. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  19217. format(string, sizeof(string), "You have kicked %s out of their division.", GetPlayerNameEx(giveplayerid));
  19218. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  19219. }
  19220. }
  19221. }
  19222. }
  19223. }
  19224. else
  19225. {
  19226. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command - only R4+ can do this.");
  19227. }
  19228. }
  19229. return 1;
  19230. }
  19231. CMD:getpt(playerid, params[])
  19232. {
  19233. if(PlayerInfo[playerid][pLeader] == 3 || PlayerInfo[playerid][pFaction] == 3)
  19234. {
  19235. new string[128], giveplayerid;
  19236. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /getpt(patient) [playerid/partofname]");
  19237. if(IsPlayerConnected(giveplayerid))
  19238. {
  19239. if(giveplayerid == playerid)
  19240. {
  19241. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You can't accept your own Emergency Dispatch call!");
  19242. return 1;
  19243. }
  19244. if(GetPVarInt(giveplayerid,"MedicCall") == 1)
  19245. {
  19246. if(PlayerInfo[giveplayerid][pJailed] > 0) return SendClientMessage(playerid, COLOR_GRAD2, "You can't use this command on jailed players.");
  19247. format(string, sizeof(string), "EMS Driver %s has accepted the Emergency Dispatch call for (%d) %s.",GetPlayerNameEx(playerid),giveplayerid,GetPlayerNameEx(giveplayerid));
  19248. SendRadioMessage(3, TEAM_MED_COLOR, string);
  19249. format(string, sizeof(string), "* You have accepted EMS Call from %s, you will see the marker until you have reached it.",GetPlayerNameEx(giveplayerid));
  19250. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  19251. format(string, sizeof(string), "* EMS Driver %s has accepted your EMS Call; please wait at your current position.",GetPlayerNameEx(playerid));
  19252. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  19253. GameTextForPlayer(playerid, "~w~EMS Caller~n~~r~Go to the red marker.", 5000, 1);
  19254. EMSCallTime[playerid] = 1;
  19255. EMSAccepted[playerid] = giveplayerid;
  19256. SetPVarInt(giveplayerid, "EMSAttempt", 1);
  19257. PlayerInfo[playerid][pCallsAccepted]++;
  19258. }
  19259. else
  19260. {
  19261. SendClientMessage(playerid, COLOR_WHITE, "The player has not requested any EMS attention!");
  19262. }
  19263. }
  19264. }
  19265. return 1;
  19266. }
  19267. CMD:listpt(playerid, params[]) {
  19268. if(PlayerInfo[playerid][pLeader] == 3 || PlayerInfo[playerid][pFaction] == 3) {
  19269. new
  19270. szPlayerZone[MAX_ZONE_NAME],
  19271. szMessage[128],
  19272. Float:health;
  19273. SendClientMessage(playerid, TEAM_CYAN_COLOR, "Patients awaiting treatment:");
  19274. foreach(Player, i) {
  19275. if(GetPVarInt(i, "Injured") == 1) {
  19276. GetPlayerHealth(i,health);
  19277. GetPlayer3DZone(i, szPlayerZone, MAX_ZONE_NAME);
  19278. format(szMessage, sizeof(szMessage), "%s | Near %s | %.1f health remaining", GetPlayerNameEx(i), szPlayerZone, health);
  19279. SendClientMessage(playerid, COLOR_WHITE, szMessage);
  19280. }
  19281. }
  19282. }
  19283. return 1;
  19284. }
  19285. CMD:movept(playerid, params[])
  19286. {
  19287. if(PlayerInfo[playerid][pLeader] == 3 || PlayerInfo[playerid][pFaction] == 3)
  19288. {
  19289. new string[128], giveplayerid;
  19290. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /movepatient [playerid/partofname]");
  19291. if(IsPlayerConnected(giveplayerid))
  19292. {
  19293. if(GetPVarInt(giveplayerid,"Injured") == 1)
  19294. {
  19295. if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_GRAD2, "You can't use this command while in a vehicle.");
  19296. if(PlayerInfo[giveplayerid][pJailed] > 0) return SendClientMessage(playerid, COLOR_GRAD2, "You can't use this command on jailed players.");
  19297. if(GetPVarInt(giveplayerid, "OnStretcher") == 1)
  19298. {
  19299. SendClientMessage(playerid, COLOR_GRAD2, "The player is already on a stretcher, you can't do this right now!");
  19300. return 1;
  19301. }
  19302. new Float:mX, Float:mY, Float:mZ;
  19303. GetPlayerPos(giveplayerid, mX, mY, mZ);
  19304. if(!IsPlayerInRangeOfPoint(playerid, 5.0, mX, mY, mZ))
  19305. {
  19306. SendClientMessage(playerid, COLOR_GRAD2, "You have to be close to the patient to be able to move them!");
  19307. return 1;
  19308. }
  19309. SendClientMessage(playerid, COLOR_GRAD2, "You have 30 seconds to move to another location or you can either press the '{AA3333}FIRE{BFC0C2}' button.");
  19310. format(string, sizeof(string), "* You have been put on a stretcher by %s.", GetPlayerNameEx(playerid));
  19311. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  19312. format(string, sizeof(string), "* You have put %s on a stretcher, you may move them now.", GetPlayerNameEx(giveplayerid));
  19313. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  19314. format(string, sizeof(string), "* %s puts %s on a stretcher, tightening the belts securely.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  19315. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  19316. SetPVarInt(giveplayerid, "OnStretcher", 1);
  19317. SetPVarInt(playerid, "TickEMSMove", SetTimerEx("MoveEMS", 30000, false, "d", playerid));
  19318. SetPVarInt(playerid, "MovingStretcher", giveplayerid);
  19319. }
  19320. else
  19321. {
  19322. SendClientMessage(playerid, COLOR_GRAD2, "The player has to be injured in-order to move them!");
  19323. }
  19324. }
  19325. }
  19326. return 1;
  19327. }
  19328. CMD:loadpt(playerid, params[])
  19329. {
  19330. if(PlayerInfo[playerid][pFaction] == 3 || PlayerInfo[playerid][pLeader] ==3)
  19331. {
  19332. if(IsPlayerInAnyVehicle(playerid))
  19333. {
  19334. SendClientMessage(playerid, COLOR_GREY, "You can't use this while you're in a car!");
  19335. return 1;
  19336. }
  19337. new string[128], giveplayerid, seat;
  19338. if(sscanf(params, "ud", giveplayerid, seat)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /loadpt [playerid/partofname] [seatid]");
  19339. if(IsPlayerConnected(giveplayerid))
  19340. {
  19341. if(giveplayerid != INVALID_PLAYER_ID)
  19342. {
  19343. if(seat < 2 || seat > 3)
  19344. {
  19345. SendClientMessage(playerid, COLOR_GRAD1, "The seat ID can't be above 3 or below 2.");
  19346. return 1;
  19347. }
  19348. if(GetPVarInt(giveplayerid, "Injured") != 1)
  19349. {
  19350. SendClientMessage(playerid, COLOR_GREY, " That patient not injured - you can't load them.");
  19351. return 1;
  19352. }
  19353. if(IsPlayerInAnyVehicle(giveplayerid))
  19354. {
  19355. SendClientMessage(playerid, COLOR_GREY, " That patient is inside a car - you can't load them.");
  19356. return 1;
  19357. }
  19358. if(ProxDetectorS(8.0, playerid, giveplayerid))
  19359. {
  19360. if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "You can't load yourself!"); return 1; }
  19361. if(PlayerInfo[giveplayerid][pJailed] > 0) return SendClientMessage(playerid, COLOR_GRAD2, "You can't use this command on jailed players.");
  19362. new carid = gLastCar[playerid];
  19363. if(IsAnAmbulance(carid))
  19364. {
  19365. new Float:pos[6];
  19366. GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
  19367. GetPlayerPos(giveplayerid, pos[3], pos[4], pos[5]);
  19368. GetVehiclePos(carid, pos[0], pos[1], pos[2]);
  19369. if(floatcmp(floatabs(floatsub(pos[0], pos[3])), 10.0) != -1 &&
  19370. floatcmp(floatabs(floatsub(pos[1], pos[4])), 10.0) != -1 &&
  19371. floatcmp(floatabs(floatsub(pos[2], pos[5])), 10.0) != -1) return false;
  19372. format(string, sizeof(string), "* You were loaded by paramedic %s.", GetPlayerNameEx(playerid));
  19373. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  19374. format(string, sizeof(string), "* You loaded patient %s.", GetPlayerNameEx(giveplayerid));
  19375. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  19376. format(string, sizeof(string), "* %s loads %s in the ambulance.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  19377. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  19378. SetPVarInt(giveplayerid, "EMSAttempt", 3);
  19379. ClearAnimations(giveplayerid);
  19380. PutPlayerInVehicle(giveplayerid,carid,seat);
  19381. TogglePlayerControllable(giveplayerid, false);
  19382. }
  19383. else
  19384. {
  19385. SendClientMessage(playerid, COLOR_GRAD2, "Your last car needs to be an ambulance!");
  19386. }
  19387. }
  19388. else
  19389. {
  19390. SendClientMessage(playerid, COLOR_GREY, "You're not close enough to the player or your car!");
  19391. return 1;
  19392. }
  19393. }
  19394. }
  19395. else
  19396. {
  19397. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  19398. return 1;
  19399. }
  19400. }
  19401. else
  19402. {
  19403. SendClientMessage(playerid, COLOR_GRAD2, " You're not a LSFMD!");
  19404. }
  19405. return 1;
  19406. }
  19407. CMD:deliverpt(playerid, params[])
  19408. {
  19409. if(PlayerInfo[playerid][pFaction]==3||PlayerInfo[playerid][pLeader]==3)
  19410. {
  19411. if(IsPlayerInAnyVehicle(playerid))
  19412. {
  19413. new string[128], giveplayerid;
  19414. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /deliverpt [playerid/partofname]");
  19415. new carid = GetPlayerVehicleID(playerid);
  19416. new caridex = GetPlayerVehicleID(giveplayerid);
  19417. if(IsAnAmbulance(carid))
  19418. {
  19419. if(carid == caridex)
  19420. {
  19421. if(IsAtDeliverPatientPoint(playerid))
  19422. {
  19423. if(playerid == giveplayerid)
  19424. {
  19425. SendClientMessage(playerid, COLOR_GRAD2, "You can't deliver yourself to the hospital!");
  19426. return 1;
  19427. }
  19428. if(GetPVarInt(giveplayerid, "Injured") == 0)
  19429. {
  19430. return SendClientMessage(playerid, COLOR_GRAD2, "That player is not injured!");
  19431. }
  19432. if(playerTabbed[giveplayerid] == 1)
  19433. {
  19434. SendClientMessage(playerid, COLOR_GRAD2, "That player is paused, you can't currently deliver him!");
  19435. return 1;
  19436. }
  19437. SetPlayerHealth(giveplayerid, 100);
  19438. if(GetPVarType(giveplayerid, "STD"))
  19439. {
  19440. DeletePVar(giveplayerid, "STD");
  19441. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, "* you're no longer infected with a STD anymore because of the hospital's help!");
  19442. }
  19443. GivePlayerCash(giveplayerid, -100);
  19444. GivePlayerCash(playerid,250);
  19445. KillEMSQueue(giveplayerid);
  19446. SetPVarInt(giveplayerid, "MedicBill", 0);
  19447. SendClientMessage(giveplayerid, TEAM_CYAN_COLOR, "Doc: Your medical bill comes in at $100. Have a nice day!");
  19448. format(string,sizeof(string),"You received $250 for successfully delivering the patient!");
  19449. SendClientMessage(playerid, TEAM_CYAN_COLOR, string);
  19450. SetPlayerPos(giveplayerid, 1169.7588,-1351.5490,2423.0461);
  19451. SetPlayerInterior(giveplayerid, 1);
  19452. PlayerInfo[giveplayerid][pInt] = 1;
  19453. TogglePlayerControllable(giveplayerid, 0);
  19454. for(new o = 0; o < 2; o++)
  19455. {
  19456. TextDrawSetString(ObjectsLoadingTD[1], "OBJECTS LOADING...");
  19457. TextDrawShowForPlayer(giveplayerid, ObjectsLoadingTD[o]);
  19458. }
  19459. SetPVarInt(giveplayerid, "LoadingObjects", 1);
  19460. SetTimerEx("SafeLoadObjects", 3000, 0, "d", giveplayerid);
  19461. PlayerInfo[playerid][pPatientsDelivered]++;
  19462. format(string, sizeof(string), "EMS Driver %s has successfully delivered Patient %s to the hospital.",GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  19463. SendRadioMessage(3, TEAM_MED_COLOR, string);
  19464. if(IsPlayerInRangeOfPoint(playerid, 5.0,1142.4733,-1326.3633,13.6259) || IsPlayerInRangeOfPoint(playerid, 5.0, 1165.1564,-1368.8240,26.6502) || IsPlayerInRangeOfPoint(playerid, 5.0, 1607.820434,-2158.261718,13.554687))
  19465. {
  19466. SetPlayerVirtualWorld(giveplayerid, 1);
  19467. PlayerInfo[giveplayerid][pVW] = 1;
  19468. }
  19469. else if(IsPlayerInRangeOfPoint(playerid, 5.0,2027.0599,-1410.6870,16.9922) || IsPlayerInRangeOfPoint(playerid, 5.0, 2024.5742,-1382.7844,48.3359) || IsPlayerInRangeOfPoint(playerid, 5.0, 1607.820434,-2158.261718,13.554687))
  19470. {
  19471. SetPlayerVirtualWorld(giveplayerid, 2);
  19472. PlayerInfo[giveplayerid][pVW] = 2;
  19473. }
  19474. }
  19475. else
  19476. {
  19477. SendClientMessage(playerid, COLOR_GRAD2, "You're not near a deliver point - look out near the hospitals.");
  19478. }
  19479. }
  19480. else
  19481. {
  19482. SendClientMessage(playerid, COLOR_GRAD2, "Patient must be in your car in order to deliver him.");
  19483. }
  19484. }
  19485. else
  19486. {
  19487. SendClientMessage(playerid, COLOR_GRAD2, "You're not in an LSFMD vehicle.");
  19488. }
  19489. }
  19490. }
  19491. return 1;
  19492. }
  19493. CMD:god(playerid, params[])
  19494. {
  19495. if(PlayerInfo[playerid][pAdmin] > 7)
  19496. {
  19497. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 8)
  19498. {
  19499. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  19500. return 1;
  19501. }
  19502. if(!PlayerInfo[playerid][pNoDamage])
  19503. {
  19504. PlayerInfo[playerid][pNoDamage] = 1;
  19505. SendClientMessage(playerid, COLOR_GREY, "You are now in GODMODE, you will no longer take damage from ANYTHING.");
  19506. }
  19507. else
  19508. {
  19509. PlayerInfo[playerid][pNoDamage] = 0;
  19510. SendClientMessage(playerid, COLOR_GREY, "You've turned off GODMODE, you will now take damage normally.");
  19511. }
  19512. return 1;
  19513. }
  19514. return 0;
  19515. }
  19516. CMD:toggc(playerid, params[])
  19517. {
  19518. if(GlobalChat[playerid] == 0)
  19519. {
  19520. SendClientMessage(playerid, COLOR_WHITE, "You have enabled global chat, use /g to chat.");
  19521. GlobalChat[playerid] = 1;
  19522. }
  19523. else if(GlobalChat[playerid] == 1)
  19524. {
  19525. SendClientMessage(playerid, COLOR_WHITE, "You have disabled global chat.");
  19526. GlobalChat[playerid] = 0;
  19527. }
  19528. return 1;
  19529. }
  19530. CMD:g(playerid, params[])
  19531. {
  19532. if(gPlayerLogged[playerid] == 0)
  19533. {
  19534. SendClientMessage(playerid, COLOR_GREY, "You're not logged in.");
  19535. return 1;
  19536. }
  19537. if(PlayerInfo[playerid][pGCMuted] > 0)
  19538. {
  19539. SendClientMessage(playerid, COLOR_GREY, "You're muted from this channel.");
  19540. return 1;
  19541. }
  19542. new string[128];
  19543. if(GlobalChatTimer[playerid] > 0)
  19544. {
  19545. format(string, sizeof(string), "You must wait %d seconds before speaking again in this channel.", GlobalChatTimer[playerid]);
  19546. SendClientMessage(playerid, COLOR_GREY, string);
  19547. return 1;
  19548. }
  19549. if(GlobalChat[playerid] == 0)
  19550. {
  19551. SendClientMessage(playerid, COLOR_WHITE, "You're not in the global chat, type /toggc.");
  19552. return 1;
  19553. }
  19554. if(isnull(params))
  19555. return SendClientMessage(playerid, COLOR_WHITE, "USAGE: (/g) [text]");
  19556. if(strlen(params) > 80)
  19557. return SendClientMessage(playerid, COLOR_GREY, "Your message is too long - the limit is 80 characters.");
  19558. if(PlayerInfo[playerid][pAdmin] == 0 && PlayerInfo[playerid][pDonator] == 0 && PlayerInfo[playerid][pFormer] == 1)
  19559. {
  19560. format(string, sizeof(string), "(( Former Admin %s: %s ))", GetPlayerNameEx(playerid), params);
  19561. GlobalChatTimer[playerid] = 5;
  19562. }
  19563. else if(PlayerInfo[playerid][pAdmin] == 0 && PlayerInfo[playerid][pDonator] == 1 && PlayerInfo[playerid][pFormer] == 1)
  19564. {
  19565. format(string, sizeof(string), "(( Former Admin %s: %s ))", GetPlayerNameEx(playerid), params);
  19566. GlobalChatTimer[playerid] = 5;
  19567. }
  19568. else if(PlayerInfo[playerid][pAdmin] == 0 && PlayerInfo[playerid][pDonator] == 2 && PlayerInfo[playerid][pFormer] == 1)
  19569. {
  19570. format(string, sizeof(string), "(( Former Admin %s: %s ))", GetPlayerNameEx(playerid), params);
  19571. GlobalChatTimer[playerid] = 5;
  19572. }
  19573. if(PlayerInfo[playerid][pAdmin] == 0 && PlayerInfo[playerid][pDonator] == 3 && PlayerInfo[playerid][pFormer] == 1)
  19574. {
  19575. format(string, sizeof(string), "(( Former Admin %s: %s ))", GetPlayerNameEx(playerid), params);
  19576. GlobalChatTimer[playerid] = 5;
  19577. }
  19578. else if(PlayerInfo[playerid][pAdmin] < 1 && PlayerInfo[playerid][pFamed] < 1 && PlayerInfo[playerid][pVintage] < 1 && PlayerInfo[playerid][pOS] <1 && PlayerInfo[playerid][pDonator] == 1)
  19579. {
  19580. format(string, sizeof(string), "(( {AAC5E3}Ruby Donator{FFA500} %s: %s ))", GetPlayerNameEx(playerid), params);
  19581. GlobalChatTimer[playerid] = 5;
  19582. }
  19583. else if(PlayerInfo[playerid][pAdmin] < 1 && PlayerInfo[playerid][pFamed] < 1 && PlayerInfo[playerid][pVintage] < 1 && PlayerInfo[playerid][pOS] < 1 && PlayerInfo[playerid][pDonator] == 2)
  19584. {
  19585. format(string, sizeof(string), "(( {AAC5E3}Sapphire Donator{FFA500} %s: %s ))", GetPlayerNameEx(playerid), params);
  19586. GlobalChatTimer[playerid] = 5;
  19587. }
  19588. else if(PlayerInfo[playerid][pAdmin] < 1 && PlayerInfo[playerid][pFamed] < 1 && PlayerInfo[playerid][pVintage] < 1 && PlayerInfo[playerid][pOS] < 1 && PlayerInfo[playerid][pDonator] == 3)
  19589. {
  19590. format(string, sizeof(string), "(( {AAC5E3}Diamond Donator{FFA500} %s: %s ))", GetPlayerNameEx(playerid), params);
  19591. GlobalChatTimer[playerid] = 5;
  19592. }
  19593. else if(PlayerInfo[playerid][pDonator] == 0 && PlayerInfo[playerid][pOS] == 1)
  19594. {
  19595. format(string, sizeof(string), "(( {078C00}Old School{FFA500} %s: %s ))", GetPlayerNameEx(playerid), params);
  19596. GlobalChatTimer[playerid] = 5;
  19597. }
  19598. else if(PlayerInfo[playerid][pDonator] == 1 && PlayerInfo[playerid][pOS] == 1)
  19599. {
  19600. format(string, sizeof(string), "(( {078C00}Old School{FFA500} %s: %s ))", GetPlayerNameEx(playerid), params);
  19601. GlobalChatTimer[playerid] = 5;
  19602. }
  19603. else if(PlayerInfo[playerid][pDonator] == 2 && PlayerInfo[playerid][pOS] == 1)
  19604. {
  19605. format(string, sizeof(string), "(( {078C00}Old School{FFA500} %s: %s ))", GetPlayerNameEx(playerid), params);
  19606. GlobalChatTimer[playerid] = 5;
  19607. }
  19608. else if(PlayerInfo[playerid][pDonator] == 3 && PlayerInfo[playerid][pOS] == 1)
  19609. {
  19610. format(string, sizeof(string), "(( {078C00}Old School{FFA500} %s: %s ))", GetPlayerNameEx(playerid), params);
  19611. GlobalChatTimer[playerid] = 5;
  19612. }
  19613. else if(PlayerInfo[playerid][pDonator] == 0 && PlayerInfo[playerid][pVintage] == 1)
  19614. {
  19615. format(string, sizeof(string), "(( {8cd11d}Vintage{FFA500} %s: %s ))", GetPlayerNameEx(playerid), params);
  19616. GlobalChatTimer[playerid] = 5;
  19617. }
  19618. else if(PlayerInfo[playerid][pDonator] == 1 && PlayerInfo[playerid][pVintage] == 1)
  19619. {
  19620. format(string, sizeof(string), "(( {8cd11d}Vintage{FFA500} %s: %s ))", GetPlayerNameEx(playerid), params);
  19621. GlobalChatTimer[playerid] = 5;
  19622. }
  19623. else if(PlayerInfo[playerid][pDonator] == 2 && PlayerInfo[playerid][pVintage] == 1)
  19624. {
  19625. format(string, sizeof(string), "(( {8cd11d}Vintage{FFA500} %s: %s ))", GetPlayerNameEx(playerid), params);
  19626. GlobalChatTimer[playerid] = 5;
  19627. }
  19628. else if(PlayerInfo[playerid][pDonator] == 3 && PlayerInfo[playerid][pVintage] == 1)
  19629. {
  19630. format(string, sizeof(string), "(( {8cd11d}Vintage{FFA500} %s: %s ))", GetPlayerNameEx(playerid), params);
  19631. GlobalChatTimer[playerid] = 5;
  19632. }
  19633. else if(PlayerInfo[playerid][pDonator] == 0 && PlayerInfo[playerid][pFamed] == 1)
  19634. {
  19635. format(string, sizeof(string), "(( {FF8C00}Famed{FFA500} %s: %s ))", GetPlayerNameEx(playerid), params);
  19636. GlobalChatTimer[playerid] = 5;
  19637. }
  19638. else if(PlayerInfo[playerid][pDonator] == 1 && PlayerInfo[playerid][pFamed] == 1)
  19639. {
  19640. format(string, sizeof(string), "(( {FF8C00}Famed{FFA500} %s: %s ))", GetPlayerNameEx(playerid), params);
  19641. GlobalChatTimer[playerid] = 5;
  19642. }
  19643. else if(PlayerInfo[playerid][pDonator] == 2 && PlayerInfo[playerid][pFamed] == 1)
  19644. {
  19645. format(string, sizeof(string), "(( {FF8C00}Famed{FFA500} %s: %s ))", GetPlayerNameEx(playerid), params);
  19646. GlobalChatTimer[playerid] = 5;
  19647. }
  19648. else if(PlayerInfo[playerid][pDonator] == 3 && PlayerInfo[playerid][pFamed] == 1)
  19649. {
  19650. format(string, sizeof(string), "(( {FF8C00}Famed{FFA500} %s: %s ))", GetPlayerNameEx(playerid), params);
  19651. GlobalChatTimer[playerid] = 5;
  19652. }
  19653. else if(PlayerInfo[playerid][pHelper] == 1)
  19654. {
  19655. format(string, sizeof(string), "(( {33CCFF}Junior Helper{FFA500} %s: %s ))", GetPlayerNameEx(playerid), params);
  19656. GlobalChatTimer[playerid] = 2;
  19657. }
  19658. else if(PlayerInfo[playerid][pHelper] == 2)
  19659. {
  19660. format(string, sizeof(string), "(( {33CCFF}Senior Helper{FFA500} %s: %s ))", GetPlayerNameEx(playerid), params);
  19661. GlobalChatTimer[playerid] = 2;
  19662. }
  19663. else if(PlayerInfo[playerid][pHelper] == 3)
  19664. {
  19665. format(string, sizeof(string), "(( {33CCFF}Asst. Head Helper{FFA500} %s: %s ))", GetPlayerNameEx(playerid), params);
  19666. GlobalChatTimer[playerid] = 2;
  19667. }
  19668. else if(PlayerInfo[playerid][pHelper] == 4)
  19669. {
  19670. format(string, sizeof(string), "(( {33CCFF}Head Helper{FFA500} %s: %s ))", GetPlayerNameEx(playerid), params);
  19671. GlobalChatTimer[playerid] = 2;
  19672. }
  19673. else if(PlayerInfo[playerid][pAdmin] > 1 && PlayerInfo[playerid][pDonator] == 1)
  19674. {
  19675. format(string, sizeof(string), "(( Level %d Player %s: %s ))", PlayerInfo[playerid][pLevel], GetPlayerNameEx(playerid), params);
  19676. GlobalChatTimer[playerid] = 5;
  19677. }
  19678. else if(PlayerInfo[playerid][pAdmin] < 1 && PlayerInfo[playerid][pDonator] == 0)
  19679. {
  19680. format(string, sizeof(string), "(( Level %d Player %s: %s ))", PlayerInfo[playerid][pLevel], GetPlayerNameEx(playerid), params);
  19681. GlobalChatTimer[playerid] = 5;
  19682. }
  19683. else if(PlayerInfo[playerid][pAdmin] >= 1)
  19684. {
  19685. format(string, sizeof(string), "(( %s{FFA500} %s: %s ))", GetAdminRank(playerid), GetPlayerNameEx(playerid), params);
  19686. }
  19687. foreach(Player, i)
  19688. {
  19689. if(GlobalChat[i] == 1)
  19690. {
  19691. SendClientMessage(i, COLOR_NEWS, string);
  19692. }
  19693. }
  19694. return 1;
  19695. }
  19696. CMD:settitle(playerid, params[])
  19697. {
  19698. return SCM(playerid, -1, "This command is not available yet!");
  19699. }
  19700. CMD:requesthelp(playerid, params[]) return cmd_gethelp(playerid, params);
  19701. CMD:gethelp(playerid, params[]) {
  19702. if(isnull(params))
  19703. return SendClientMessage(playerid, COLOR_GREY, "USAGE: /gethelp [help reason]");
  19704. if(PlayerInfo[playerid][pConnectTime] < 12 || PlayerInfo[playerid][pNMute] == 0) {
  19705. SetPVarString(playerid, "helpreq", params);
  19706. SendClientMessage(playerid, COLOR_WHITE, "Your help request has been submitted to the team of helpers.");
  19707. new
  19708. szMessage[128];
  19709. format(szMessage, sizeof(szMessage), "HelpCmd: %s has just sent a request for help; %s", GetPlayerNameEx(playerid), params);
  19710. HelperBroadcast(COLOR_LIGHTBLUE, szMessage, 1);
  19711. } else SendClientMessage(playerid, COLOR_GREY, "You must have less thna 12 playing hours and can't be muted from newbie chat to request help.");
  19712. return 1;
  19713. }
  19714. CMD:members(playerid, params[])
  19715. {
  19716. if(PlayerInfo[playerid][pFaction] > 0) {
  19717. new
  19718. szMessage[128],
  19719. szRank[64],
  19720. szEmployer[64],
  19721. szDivision[64];
  19722. SendClientMessage(playerid, COLOR_NEWS, "Members Online:");
  19723. foreach(Player, i) {
  19724. if(PlayerInfo[playerid][pFaction] == PlayerInfo[i][pFaction] && AdminDuty[i] != 1) {
  19725. GetPlayerFactionInfo(i, szRank, szDivision, szEmployer);
  19726. if(PlayerInfo[i][pDivision] != 0) {
  19727. format(szMessage, sizeof(szMessage), "* %s %s %s (%i)", szDivision, szRank, GetPlayerNameEx(i), PlayerInfo[i][pRank]);
  19728. SendClientMessage(playerid, COLOR_WHITE, szMessage);
  19729. } else {
  19730. format(szMessage, sizeof(szMessage), "* %s %s (%i)", szRank, GetPlayerNameEx(i), PlayerInfo[i][pRank]);
  19731. SendClientMessage(playerid, COLOR_WHITE, szMessage);
  19732. }
  19733. }
  19734. }
  19735. } else if(PlayerInfo[playerid][pGang] != 255) {
  19736. new
  19737. szMessage[128],
  19738. szRank[64];
  19739. SendClientMessage(playerid, COLOR_NEWS, "Members Online:");
  19740. foreach(Player, i) {
  19741. if(PlayerInfo[playerid][pGang] == PlayerInfo[i][pGang] && AdminDuty[i] != 1) {
  19742. switch(PlayerInfo[i][pRank])
  19743. {
  19744. case 1: format(szRank, sizeof(szRank), "%s", FamilyInfo[PlayerInfo[i][pGang]][FamilyRank1]);
  19745. case 2: format(szRank, sizeof(szRank), "%s", FamilyInfo[PlayerInfo[i][pGang]][FamilyRank2]);
  19746. case 3: format(szRank, sizeof(szRank), "%s", FamilyInfo[PlayerInfo[i][pGang]][FamilyRank3]);
  19747. case 4: format(szRank, sizeof(szRank), "%s", FamilyInfo[PlayerInfo[i][pGang]][FamilyRank4]);
  19748. case 5: format(szRank, sizeof(szRank), "%s", FamilyInfo[PlayerInfo[i][pGang]][FamilyRank5]);
  19749. case 6: format(szRank, sizeof(szRank), "%s", FamilyInfo[PlayerInfo[i][pGang]][FamilyRank6]);
  19750. default: format(szRank, sizeof(szRank), "%s", FamilyInfo[PlayerInfo[i][pGang]][FamilyRank1]);
  19751. }
  19752. format(szMessage, sizeof(szMessage), "* %s %s (%i)", szRank, GetPlayerNameEx(i), PlayerInfo[i][pRank]);
  19753. SendClientMessage(playerid, COLOR_WHITE, szMessage);
  19754. }
  19755. }
  19756. } else SendClientMessage(playerid, COLOR_GRAD2, "You are not a member of a faction or family.");
  19757. return true;
  19758. }
  19759. CMD:pointinfo(playerid, params[])
  19760. {
  19761. new
  19762. iCount,
  19763. szMessage[128];
  19764. SendClientMessage(playerid, COLOR_NEWS, "Point Info:");
  19765. for(new i; i < MAX_POINTS; i++) {
  19766. if(Points[i][Type] >= 0) {
  19767. if(Points[i][Vulnerable] == 0 && Points[i][TakeOverTimerStarted] > 0) {
  19768. if(Points[i][TakeOverTimer] == 0) {
  19769. format(szMessage, sizeof(szMessage), "* %s | Capper: %s | Family: %s | Time left: Less than 1 minute", Points[i][Name], Points[i][PlayerNameCapping], FamilyInfo[Points[i][ClaimerTeam]][FamilyName]);
  19770. SendClientMessage(playerid, COLOR_WHITE, szMessage);
  19771. iCount++;
  19772. } else {
  19773. format(szMessage, sizeof(szMessage), "* %s | Capper: %s | Family: %s | Time left: %d minutes", Points[i][Name], Points[i][PlayerNameCapping], FamilyInfo[Points[i][ClaimerTeam]][FamilyName], Points[i][TakeOverTimer]);
  19774. SendClientMessage(playerid, COLOR_WHITE, szMessage);
  19775. iCount++;
  19776. }
  19777. }
  19778. }
  19779. }
  19780. if(iCount == 0)
  19781. return SendClientMessage(playerid, COLOR_GRAD2, "No family has capped the point or the point is not ready to be capped.");
  19782. return 1;
  19783. }
  19784. CMD:turfinfo(playerid, params[])
  19785. {
  19786. new
  19787. iCount,
  19788. szMessage[128];
  19789. SendClientMessage(playerid, COLOR_NEWS, "Turfs Info:");
  19790. for(new i = 0; i < MAX_TURFS; i++)
  19791. {
  19792. if(TurfsInfo[i][TurfsVulnerable] == 1 && TurfsInfo[i][TurfsDoing] == 1)
  19793. {
  19794. format(szMessage, 128, "%s | Capper: %s | Time left: %d minute(s)", TurfsInfo[i][TurfsName], TurfsInfo[i][TurfsCappingName], TurfsInfo[i][TurfshTime]);
  19795. iCount++;
  19796. }
  19797. }
  19798. SCM(playerid, -1, szMessage);
  19799. if(iCount == 0)
  19800. return SendClientMessage(playerid, COLOR_GRAD2, "No turf has capped the point or the turf is not ready to be capped.");
  19801. return 1;
  19802. }
  19803. CMD:dc(playerid, params[])
  19804. {
  19805. if(PlayerInfo[playerid][pDonator] > 0)
  19806. {
  19807. new szMessage[128];
  19808. if(!isnull(params))
  19809. {
  19810. if(PlayerInfo[playerid][pDonator] == 1)
  19811. format(szMessage, sizeof(szMessage), "(Ruby Donator) %s: %s", GetPlayerNameEx(playerid), params);
  19812. else if(PlayerInfo[playerid][pDonator] == 2)
  19813. format(szMessage, sizeof(szMessage), "(Sapphire Donator) %s: %s", GetPlayerNameEx(playerid), params);
  19814. if(PlayerInfo[playerid][pDonator] == 3)
  19815. format(szMessage, sizeof(szMessage), "(Diamond Donator) %s: %s", GetPlayerNameEx(playerid), params);
  19816. foreach(Player, x)
  19817. {
  19818. if(PlayerInfo[x][pDonator] > 0)
  19819. {
  19820. SCM(x, COLOR_LIGHTSLATEGRAY, szMessage);
  19821. }
  19822. }
  19823. }
  19824. else SCM(playerid, -1, "USAGE: /(d)onator(c)hat [message]");
  19825. }
  19826. else SCM(playerid, COLOR_GREY, "You must be a Donator.");
  19827. return 1;
  19828. }
  19829. CMD:togdcolor(playerid, params[])
  19830. {
  19831. if(PlayerInfo[playerid][pDonator] >= 1)
  19832. {
  19833. if(GetPVarInt(playerid, "DonatorColor") == 0)
  19834. {
  19835. SetPlayerColor(playerid, COLOR_LIGHTSLATEGRAY);
  19836. SCM(playerid, -1, "You have toggled on your Donator Color.");
  19837. SetPVarInt(playerid, "DonatorColor", 1);
  19838. }
  19839. else
  19840. {
  19841. SetPlayerColor(playerid, TEAM_HIT_COLOR);
  19842. SCM(playerid, -1, "You have toggled off your Donator Color.");
  19843. SetPVarInt(playerid, "DonatorColor", 0);
  19844. }
  19845. }
  19846. else SCM(playerid, -1, "You must be a donator.");
  19847. return 1;
  19848. }
  19849. /*CMD:spawnathome(playerid, params[])
  19850. {
  19851. if(PlayerInfo[playerid][pHouse] != INVALID_HOUSE_ID)
  19852. {
  19853. if(PlayerInfo[playerid][pDonator] >= 1)
  19854. {
  19855. PlayerInfo[playerid][pSpawnHome] = 1;
  19856. SendClientMessageEx(playerid, COLOR_LIGHTSLATEGRAY, "Donator: You will now spawn at your house after deaths.");
  19857. }
  19858. else
  19859. {
  19860. SendClientMessageEx(playerid, COLOR_LIGHTSLATEGRAY, "You need a donator package to access this feature.");
  19861. }
  19862. }
  19863. else
  19864. {
  19865. SendClientMessageEx(playerid, COLOR_WHITE, "You do not own a house.");
  19866. }
  19867. return 1;
  19868. }*/
  19869. CMD:helpers(playerid, params[]) {
  19870. if(PlayerInfo[playerid][pHelper] >= 1 || PlayerInfo[playerid][pAdmin] >= 1) {
  19871. new
  19872. iCount,
  19873. szMessage[128];
  19874. SCM(playerid, COLOR_ORANGE, "_______________________________________________________");
  19875. SCM(playerid, COLOR_ORANGE, "Helpers Online:");
  19876. foreach(Player, x) {
  19877. if(PlayerInfo[x][pHelper] > 0) {
  19878. if(PlayerInfo[x][pHelper] == 1)
  19879. {
  19880. format(szMessage, sizeof(szMessage), "Junior Helper %s | {939496}Newb Chats: {FFFFFF}%d", GetPlayerNameEx(x), PlayerInfo[x][pNC]);
  19881. iCount++;
  19882. }
  19883. else if(PlayerInfo[x][pHelper] == 2)
  19884. {
  19885. format(szMessage, sizeof(szMessage), "Senior Helper %s | {939496}Accepted Requests: {FFFFFF}%d", GetPlayerNameEx(x), PlayerInfo[x][pAcceptReport]);
  19886. iCount++;
  19887. }
  19888. else if(PlayerInfo[x][pHelper] == 3)
  19889. {
  19890. format(szMessage, sizeof(szMessage), "Asst. Head Helper %s | {939496}Accepted Requests: {FFFFFF}%d", GetPlayerNameEx(x), PlayerInfo[x][pAcceptReport]);
  19891. iCount++;
  19892. }
  19893. else if(PlayerInfo[x][pHelper] == 4)
  19894. {
  19895. format(szMessage, sizeof(szMessage), "Head Helper %s | {939496}Accepted Requests: {FFFFFF}%d", GetPlayerNameEx(x), PlayerInfo[x][pAcceptReport]);
  19896. iCount++;
  19897. }
  19898. SendClientMessage(playerid, COLOR_LIGHTBLUE, szMessage);
  19899. }
  19900. }
  19901. SCM(playerid, COLOR_ORANGE, "_______________________________________________________");
  19902. if(iCount == 0)
  19903. return SendClientMessage(playerid, COLOR_GREY, "There aren't any helpers online right now.");
  19904. }
  19905. return 1;
  19906. }
  19907. CMD:helprequests(playerid, params[]) {
  19908. if(PlayerInfo[playerid][pHelper] >= 2 || PlayerInfo[playerid][pAdmin] >= 1) {
  19909. new
  19910. szReason[100],
  19911. iCount,
  19912. szMessage[128];
  19913. foreach(Player, x) {
  19914. if(GetPVarType(x, "helpreq") != 0) {
  19915. GetPVarString(x, "helpreq", szReason, sizeof(szReason));
  19916. format(szMessage, sizeof(szMessage), "Name: %s (ID: %d) | Message: %s", GetPlayerNameEx(x), x, szReason);
  19917. SendClientMessage(playerid, COLOR_WHITE, szMessage);
  19918. iCount++;
  19919. }
  19920. }
  19921. if(iCount == 0)
  19922. SendClientMessage(playerid, COLOR_GREY, "There are no active help requests right now.");
  19923. }
  19924. return 1;
  19925. }
  19926. CMD:accepthelp(playerid, params[]) {
  19927. if(PlayerInfo[playerid][pHelper] >= 2 || PlayerInfo[playerid][pAdmin] >= 1) {
  19928. new
  19929. szMessage[128],
  19930. szReason[100],
  19931. iTarget;
  19932. if(sscanf(params, "u", iTarget))
  19933. return SendClientMessage(playerid, COLOR_GREY, "USAGE: /accepthelp [playerid]");
  19934. if(iTarget == INVALID_PLAYER_ID)
  19935. return SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  19936. if(GetPVarType(iTarget, "helpreq") == 0)
  19937. return SendClientMessage(playerid, COLOR_GREY, "The player specified has not requested help.");
  19938. GetPVarString(iTarget, "helpreq", szReason, sizeof(szReason));
  19939. format(szMessage, sizeof(szMessage), "You have accepted %s's help request; %s", GetPlayerNameEx(iTarget), szReason);
  19940. SendClientMessage(playerid, COLOR_WHITE, szMessage);
  19941. GetPlayerPos(playerid, PlayerInfo[playerid][pPos_x], PlayerInfo[playerid][pPos_y], PlayerInfo[playerid][pPos_z]);
  19942. SetPVarFloat(playerid, "posX", PlayerInfo[playerid][pPos_x]);
  19943. SetPVarFloat(playerid, "posY", PlayerInfo[playerid][pPos_y]);
  19944. SetPVarFloat(playerid, "posZ", PlayerInfo[playerid][pPos_z]);
  19945. SetPVarInt(playerid, "posInt", GetPlayerInterior(playerid));
  19946. GetPlayerPos(iTarget, PlayerInfo[iTarget][pPos_x], PlayerInfo[iTarget][pPos_y], PlayerInfo[iTarget][pPos_z]);
  19947. SetPlayerPosFindZ(playerid, PlayerInfo[iTarget][pPos_x], PlayerInfo[iTarget][pPos_y]+5, PlayerInfo[iTarget][pPos_z]);
  19948. PlayerInfo[playerid][pAcceptReport]++;
  19949. format(szMessage, sizeof(szMessage), "%s has accepted your help request.", GetPlayerNameEx(playerid));
  19950. SendClientMessage(iTarget, COLOR_LIGHTBLUE, szMessage);
  19951. format(szMessage, sizeof(szMessage), "HelpCmd: %s has accepted %s's (ID: %d) help request.", GetPlayerNameEx(playerid), GetPlayerNameEx(iTarget), iTarget);
  19952. HelperBroadcast(COLOR_ORANGE, szMessage, 1);
  19953. DeletePVar(iTarget, "helpreq");
  19954. }
  19955. return 1;
  19956. }
  19957. CMD:quithelp(playerid, params[]) {
  19958. if(PlayerInfo[playerid][pAdmin] >= 2 || PlayerInfo[playerid][pHelper] >= 1) {
  19959. if(GetPVarType(playerid, "posX") != 0) {
  19960. SetPlayerInterior(playerid, GetPVarInt(playerid, "posInt"));
  19961. SetPlayerPos(playerid, GetPVarFloat(playerid, "posX"), GetPVarFloat(playerid, "posY"), GetPVarFloat(playerid, "posZ"));
  19962. SendClientMessage(playerid, COLOR_WHITE, "You have teleported back to your previous position prior to logging off.");
  19963. DeletePVar(playerid, "posX");
  19964. DeletePVar(playerid, "posY");
  19965. DeletePVar(playerid, "posZ");
  19966. DeletePVar(playerid, "posInt");
  19967. } else SendClientMessage(playerid, COLOR_GREY, "You are not actively helping someone.");
  19968. }
  19969. return 1;
  19970. }
  19971. CMD:togc(playerid, params[]) {
  19972. if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pHelper] >= 2) {
  19973. switch(GetPVarInt(playerid, "cschat")) {
  19974. case 0: {
  19975. SetPVarInt(playerid, "cschat", 1);
  19976. SendClientMessage(playerid, COLOR_WHITE, "You will no longer see messages in the /c channel. Use /togc to see messages again.");
  19977. }
  19978. case 1: {
  19979. DeletePVar(playerid, "cschat");
  19980. SendClientMessage(playerid, COLOR_WHITE, "You will now see messages in the /c channel again.");
  19981. }
  19982. }
  19983. }
  19984. return 1;
  19985. }
  19986. CMD:c(playerid, params[]) {
  19987. if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pHelper] >= 2 || PlayerInfo[playerid][pAdmin] == 1 || PlayerInfo[playerid][pFormer] == 1) {
  19988. if(isnull(params))
  19989. return SendClientMessage(playerid, COLOR_GREY, "USAGE: /c(ommunitystaff) [message]");
  19990. new
  19991. string[128];
  19992. if(PlayerInfo[playerid][pAdmin] > 0)
  19993. format(string, sizeof(string), "** %s{33CCFF} %s: %s", GetAdminRank(playerid), GetPlayerNameEx(playerid), params);
  19994. else if(PlayerInfo[playerid][pHelper] == 2)
  19995. format(string, sizeof(string), "*** {33CCFF}Senior Helper{33CCFF} %s: %s", GetPlayerNameEx(playerid), params);
  19996. else if(PlayerInfo[playerid][pHelper] == 3)
  19997. format(string, sizeof(string), "*** {33CCFF}Asst. Head Helper{33CCFF} %s: %s", GetPlayerNameEx(playerid), params);
  19998. else if(PlayerInfo[playerid][pHelper] == 4)
  19999. format(string, sizeof(string), "*** {33CCFF}Head Helper{33CCFF} %s: %s", GetPlayerNameEx(playerid), params);
  20000. foreach(Player, x) {
  20001. if(PlayerInfo[x][pAdmin] > 0 && GetPVarInt(x, "cschat") == 0 || PlayerInfo[x][pHelper] >= 2 && GetPVarInt(x, "cschat") == 0 || PlayerInfo[x][pFormer] == 1)
  20002. SendClientMessage(x, COLOR_LIGHTBLUE, string);
  20003. }
  20004. }
  20005. return 1;
  20006. }
  20007. CMD:setdonator(playerid, params[]) {
  20008. if(PlayerInfo[playerid][pAdmin] >= 5) {
  20009. new string[128], giveplayerid, level;
  20010. if(sscanf(params, "ud", giveplayerid, level)) {
  20011. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setdonator [player] [level]");
  20012. SendClientMessage(playerid, COLOR_GRAD3, "Available Levels: |0| None |1| Ruby |2| Sapphire |3| Diamond");
  20013. return 1;
  20014. }
  20015. if(IsPlayerConnected(giveplayerid))
  20016. {
  20017. if(giveplayerid != INVALID_PLAYER_ID)
  20018. {
  20019. if(level < 0 || level > 3)
  20020. {
  20021. SendClientMessage(playerid, COLOR_GRAD1, "Donator Level can't be below 0 or above 3!");
  20022. return 1;
  20023. }
  20024. PlayerInfo[giveplayerid][pDonator] = level;
  20025. new playerip[32];
  20026. GetPlayerIp(giveplayerid, playerip, sizeof(playerip));
  20027. if(level == 0)
  20028. {
  20029. format(string, sizeof(string), "AdmCmd: %s has set %s's donator level to None (%d).", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), level);
  20030. ABroadCast(COLOR_LIGHTRED,string, 4);
  20031. format(string, sizeof(string), "Your donator level has been set to None by Admin %s.", GetPlayerNameEx(playerid));
  20032. SendClientMessage(giveplayerid, COLOR_WHITE, string);
  20033. format(string, sizeof(string), "AdmCmd: %s has set %s's (IP:%s) donator level to None (%d).", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), playerip, level);
  20034. Log("logs/setvip.log", string);
  20035. return 1;
  20036. }
  20037. if(level == 1)
  20038. {
  20039. format(string, sizeof(string), "AdmCmd: %s has set %s's donator level to Ruby (%d).", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), level);
  20040. ABroadCast(COLOR_LIGHTRED,string, 4);
  20041. format(string, sizeof(string), "Your donator level has been set to Ruby by Admin %s.", GetPlayerNameEx(playerid));
  20042. SendClientMessage(giveplayerid, COLOR_WHITE, string);
  20043. format(string, sizeof(string), "AdmCmd: %s has set %s's (IP:%s) donator level to Ruby (%d).", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), playerip, level);
  20044. Log("logs/setvip.log", string);
  20045. return 1;
  20046. }
  20047. if(level == 2)
  20048. {
  20049. format(string, sizeof(string), "AdmCmd: %s has set %s's donator level to Sapphire (%d).", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), level);
  20050. ABroadCast(COLOR_LIGHTRED,string, 4);
  20051. format(string, sizeof(string), "Your donator level has been set to Sapphire by Admin %s.", GetPlayerNameEx(playerid));
  20052. SendClientMessage(giveplayerid, COLOR_WHITE, string);
  20053. format(string, sizeof(string), "AdmCmd: %s has set %s's (IP:%s) donator level to Sapphire (%d).", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), playerip, level);
  20054. Log("logs/setvip.log", string);
  20055. return 1;
  20056. }
  20057. if(level == 3)
  20058. {
  20059. format(string, sizeof(string), "AdmCmd: %s has set %s's donator level to Diamond (%d).", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), level);
  20060. ABroadCast(COLOR_LIGHTRED,string, 4);
  20061. format(string, sizeof(string), "Your donator level has been set to Diamond by Admin %s.", GetPlayerNameEx(playerid));
  20062. SendClientMessage(giveplayerid, COLOR_WHITE, string);
  20063. format(string, sizeof(string), "AdmCmd: %s has set %s's (IP:%s) donator level to Diamond (%d).", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), playerip, level);
  20064. Log("logs/setvip.log", string);
  20065. return 1;
  20066. }
  20067. }
  20068. }
  20069. }
  20070. else
  20071. {
  20072. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  20073. }
  20074. return 1;
  20075. }
  20076. CMD:gcto(playerid, params[])
  20077. {
  20078. if(PlayerInfo[playerid][pAdmin] >= 3)
  20079. {
  20080. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  20081. {
  20082. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  20083. return 1;
  20084. }
  20085. new string[128], giveplayerid, reason[64];
  20086. if(sscanf(params, "us[64]", giveplayerid, reason)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /gcto [playerid/partofname] [reason]");
  20087. if(IsPlayerConnected(giveplayerid))
  20088. {
  20089. if(PlayerInfo[giveplayerid][pGCMuted] == 0)
  20090. {
  20091. PlayerInfo[giveplayerid][pGCMutedTime] = 15*60;
  20092. PlayerInfo[giveplayerid][pGCMuted] = 2;
  20093. format(string, sizeof(string), "AdmCmd: %s has temporarily blocked %s from using Global Chat, reason: %s",GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), reason);
  20094. ABroadCast(COLOR_LIGHTRED,string,1);
  20095. format(string, sizeof(string), "You have been temporarily blocked from using Global Chat by %s, reason: %s.", GetPlayerNameEx(playerid), reason);
  20096. SendClientMessage(giveplayerid, COLOR_GRAD2, string);
  20097. SendClientMessage(giveplayerid, COLOR_GRAD2, "You will not be able to use Global Chat for 15 minutes.");
  20098. SendClientMessage(giveplayerid, COLOR_GRAD2, "Note the future abuse of Global Chat could result in loss of that privilege altogether or being banned from the server.");
  20099. format(string, sizeof(string), "AdmCmd: %s was temporarily blocked from Global Chat by %s, reason: %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid));
  20100. Log("logs/mute.log", string);
  20101. }
  20102. else
  20103. {
  20104. SendClientMessage(playerid, COLOR_GRAD2, "That player is already disabled from Global Chat.");
  20105. }
  20106. }
  20107. }
  20108. else
  20109. {
  20110. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  20111. }
  20112. return 1;
  20113. }
  20114. CMD:gcreset(playerid, params[])
  20115. {
  20116. if(PlayerInfo[playerid][pAdmin] >= 3)
  20117. {
  20118. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  20119. {
  20120. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  20121. return 1;
  20122. }
  20123. new string[128], giveplayerid, reason[64];
  20124. if(sscanf(params, "us[64]", giveplayerid, reason)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /gcoreset [playerid/partofname] [reason]");
  20125. if(IsPlayerConnected(giveplayerid))
  20126. {
  20127. if(PlayerInfo[giveplayerid][pGCMuted] == 2)
  20128. {
  20129. PlayerInfo[giveplayerid][pGCMuted] = 0;
  20130. PlayerInfo[giveplayerid][pGCMutedTime] = 0;
  20131. format(string, sizeof(string), "AdmCmd: %s has unblocked %s from using Global Chat, reason: %s",GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), reason);
  20132. ABroadCast(COLOR_LIGHTRED,string,1);
  20133. SendClientMessage(giveplayerid, COLOR_GRAD2, "You have been unblocked from using Global Chat. You may now use the Global Chat system again.");
  20134. SendClientMessage(giveplayerid, COLOR_GRAD2, "Please accept our apologies for any error and inconvenience this may have caused.");
  20135. format(string, sizeof(string), "AdmCmd: %s was unblocked from Global Chat by %s, reason: %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid),reason);
  20136. Log("logs/mute.log", string);
  20137. }
  20138. else
  20139. {
  20140. SendClientMessage(playerid, COLOR_GRAD2, "That player is not temporarily disabled from Global Chat.");
  20141. }
  20142. }
  20143. }
  20144. else
  20145. {
  20146. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  20147. }
  20148. return 1;
  20149. }
  20150. CMD:gcmute(playerid, params[])
  20151. {
  20152. if(PlayerInfo[playerid][pAdmin] >= 5)
  20153. {
  20154. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  20155. {
  20156. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  20157. return 1;
  20158. }
  20159. new string[128], giveplayerid;
  20160. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /gcmute [playerid/partofname]");
  20161. if(IsPlayerConnected(giveplayerid))
  20162. {
  20163. if(PlayerInfo[giveplayerid][pGCMuted] == 0)
  20164. {
  20165. PlayerInfo[giveplayerid][pGCMuted] = 1;
  20166. format(string, sizeof(string), "AdmCmd: %s has indefinitely blocked %s from using Global Chat.",GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  20167. ABroadCast(COLOR_LIGHTRED,string,1);
  20168. foreach(Player, i)
  20169. {
  20170. if(GlobalChat[i] == 1 && PlayerInfo[i][pAdmin] < 2)
  20171. {
  20172. SendClientMessage(playerid, COLOR_LIGHTRED, string);
  20173. }
  20174. }
  20175. format(string, sizeof(string), "You have been indefinitely muted from Global Chat for abuse by %s. You may appeal this on the forums (admin complaint)", GetPlayerNameEx(playerid));
  20176. SendClientMessage(giveplayerid, COLOR_GRAD2, string);
  20177. format(string, sizeof(string), "AdmCmd: %s was blocked from /gc by %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid));
  20178. Log("logs/mute.log", string);
  20179. }
  20180. else
  20181. {
  20182. PlayerInfo[giveplayerid][pGCMuted] = 0;
  20183. PlayerInfo[giveplayerid][pGCMutedTime] = 0;
  20184. format(string, sizeof(string), "AdmCmd: %s has been re-allowed to use Global Chat by %s.",GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid));
  20185. ABroadCast(COLOR_LIGHTRED,string,1);
  20186. foreach(Player, i)
  20187. {
  20188. if(GlobalChat[i] == 1 && PlayerInfo[i][pAdmin] < 2)
  20189. {
  20190. SendClientMessage(playerid, COLOR_LIGHTRED, string);
  20191. }
  20192. }
  20193. format(string, sizeof(string), "You have been re-allowed to use Global Chat by %s.", GetPlayerNameEx(playerid));
  20194. SendClientMessage(giveplayerid, COLOR_GRAD2, string);
  20195. format(string, sizeof(string), "AdmCmd: %s was unblocked from /gc by %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid));
  20196. Log("logs/mute.log", string);
  20197. }
  20198. }
  20199. }
  20200. else
  20201. {
  20202. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  20203. }
  20204. return 1;
  20205. }
  20206. CMD:listfacpay(playerid, params[])
  20207. {
  20208. if(PlayerInfo[playerid][pAdmin] >= 6)
  20209. {
  20210. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  20211. {
  20212. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  20213. return 1;
  20214. }
  20215. if(isnull(params)) {
  20216. return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /listfacpay [faction ID 1-5]");
  20217. }
  20218. new iFactionID = strval(params);
  20219. if(iFactionID < 1 || iFactionID > 5) {
  20220. return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /listfacpay [faction ID 1-5]");
  20221. }
  20222. new
  20223. szMessage[37];
  20224. format(szMessage, sizeof(szMessage), "Listing Faction ID %i's paychecks...", iFactionID);
  20225. SendClientMessage(playerid, COLOR_LIGHTBLUE, szMessage);
  20226. for(new x; x < 7; x++) {
  20227. format(szMessage, sizeof(szMessage), "Rank %i: $%i", x, FactionPay[iFactionID - 1][x]);
  20228. SendClientMessage(playerid, COLOR_WHITE, szMessage);
  20229. }
  20230. }
  20231. else SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use this command.");
  20232. return 1;
  20233. }
  20234. CMD:facpay(playerid, params[])
  20235. {
  20236. if(PlayerInfo[playerid][pAdmin] >= 6)
  20237. {
  20238. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  20239. {
  20240. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  20241. return 1;
  20242. }
  20243. new
  20244. iFactionID,
  20245. iRankValue,
  20246. iPayValue;
  20247. if(sscanf(params, "ddd", iFactionID, iRankValue, iPayValue)) {
  20248. return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /facpay [faction ID] [rank] [pay amount]");
  20249. }
  20250. --iFactionID;
  20251. if(!(0 <= iFactionID < sizeof(FactionPay))) {
  20252. return SendClientMessage(playerid, COLOR_WHITE, "Valid faction IDs run from 1 to 4.");
  20253. }
  20254. else if(!(0 <= iRankValue <= 6)) {
  20255. return SendClientMessage(playerid, COLOR_WHITE, "Valid ranks are 0 to 6.");
  20256. }
  20257. else if(!(1 <= iPayValue <= 800)) {
  20258. return SendClientMessage(playerid, COLOR_GRAD1, "The specified pay amount must be between $1 and $800.");
  20259. }
  20260. FactionPay[iFactionID][iRankValue] = iPayValue;
  20261. new
  20262. szMessage[46 + MAX_PLAYER_NAME];
  20263. format(szMessage, sizeof(szMessage), "You have set faction %d's pay for rank %d to $%d.", iFactionID + 1, iRankValue, iPayValue);
  20264. SendClientMessage(playerid, COLOR_WHITE, szMessage);
  20265. format(szMessage, sizeof(szMessage), "%s has set faction %i's pay for rank %i to %i.", GetPlayerNameEx(playerid), iFactionID + 1, iRankValue, iPayValue);
  20266. Log("logs/admin.log", szMessage);
  20267. SaveThePay();
  20268. }
  20269. else SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use this command.");
  20270. return 1;
  20271. }
  20272. CMD:speedo(playerid, params[]) {
  20273. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) {
  20274. SendClientMessage(playerid, COLOR_GREY, "You're not driving a vehicle.");
  20275. }
  20276. else if(!PlayerInfo[playerid][pSpeedo]) {
  20277. SendClientMessage(playerid, COLOR_WHITE, "You have enabled your speedometer.");
  20278. PlayerInfo[playerid][pSpeedo] = 1;
  20279. if(!FindTimePoints[playerid]) {
  20280. new
  20281. szSpeed[42];
  20282. format(szSpeed, sizeof(szSpeed),"~n~~n~~n~~n~~n~~n~~n~~n~~n~~w~%.0f MPH", player_get_speed(playerid));
  20283. GameTextForPlayer(playerid, szSpeed, 1500, 3);
  20284. }
  20285. }
  20286. else {
  20287. SendClientMessage(playerid, COLOR_WHITE, "You have disabled your speedometer.");
  20288. PlayerInfo[playerid][pSpeedo] = 0;
  20289. if(!FindTimePoints[playerid]) GameTextForPlayer(playerid, " ", 1500, 3);
  20290. }
  20291. return 1;
  20292. }
  20293. CMD:checktruck(playerid, params[])
  20294. {
  20295. if(PlayerInfo[playerid][pJob] != 20 && PlayerInfo[playerid][pJob2] != 20 && !IsACop(playerid))
  20296. {
  20297. SendClientMessage(playerid, COLOR_GRAD2, "You're not a Trucker or a Cop!");
  20298. return 1;
  20299. }
  20300. new carid = GetPlayerVehicleID(playerid);
  20301. new closestcar = GetClosestCar(playerid, carid);
  20302. if(IsPlayerInRangeOfVehicle(playerid, closestcar, 6.0) && IsATruckerCar(closestcar))
  20303. {
  20304. new string[128];
  20305. new truckcontents = TruckContents[closestcar];
  20306. new truckcontentname[50];
  20307. if(truckcontents == 0)
  20308. { format(truckcontentname, sizeof(truckcontentname), "None"); }
  20309. else if(truckcontents >= 1 && truckcontents <= 3)
  20310. { format(truckcontentname, sizeof(truckcontentname), "{00F70C}Food & beverages");}
  20311. else if(truckcontents >= 4 && truckcontents <= 6)
  20312. { format(truckcontentname, sizeof(truckcontentname), "{00F70C}Clothing"); }
  20313. else if(truckcontents == 7)
  20314. { format(truckcontentname, sizeof(truckcontentname), "{00F70C}Legal materials"); }
  20315. else if(truckcontents >= 8 && truckcontents <= 10)
  20316. { format(truckcontentname, sizeof(truckcontentname), "{00F70C}24/7 items"); }
  20317. else if(truckcontents >= 11 && truckcontents <= 15)
  20318. { format(truckcontentname, sizeof(truckcontentname), "{33CCFF}Illegal weapons"); }
  20319. else if(truckcontents >= 16 && truckcontents <= 20)
  20320. { format(truckcontentname, sizeof(truckcontentname), "{33CCFF}Illegal drugs"); }
  20321. else if(truckcontents >= 21 && truckcontents <= 25)
  20322. { format(truckcontentname, sizeof(truckcontentname), "{33CCFF}Illegal materials"); }
  20323. SendClientMessage(playerid, COLOR_GREEN,"________________ OCEAN DOCKS TRUCK ________________");
  20324. if(IsPlayerInVehicle(playerid, closestcar))
  20325. {
  20326. SendClientMessage(playerid, COLOR_WHITE, "There is a player in that Truck. In order to check the content of the Truck the driver must be removed.");
  20327. return 1;
  20328. }
  20329. format(string, sizeof(string), "Vehicle registration: %s (%d)", GetVehicleName(closestcar), closestcar);
  20330. SendClientMessage(playerid, COLOR_WHITE, string);
  20331. format(string, sizeof(string), "Content: %s", truckcontentname);
  20332. SendClientMessage(playerid, COLOR_WHITE, string);
  20333. if(IsACop(playerid) && truckcontents >= 11)
  20334. {
  20335. SendClientMessage(playerid, COLOR_YELLOW, "To remove the illegal goods type /cleartruck near the Truck.");
  20336. }
  20337. if(PlayerInfo[playerid][pJob] == 20 || PlayerInfo[playerid][pJob2] == 20)
  20338. {
  20339. if(truckcontents > 0 && TruckUsed[playerid] == INVALID_VEHICLE_ID)
  20340. {
  20341. SendClientMessage(playerid, COLOR_YELLOW, "To deliver the goods type /hijacktruck as the driver.");
  20342. }
  20343. else if(TruckUsed[playerid] == INVALID_VEHICLE_ID)
  20344. {
  20345. SendClientMessage(playerid, COLOR_YELLOW, "To get goods type /loadtruck as the driver.");
  20346. }
  20347. else if(TruckUsed[playerid] == closestcar && gPlayerCheckpointStatus[playerid] == CHECKPOINT_RETURNTRUCK)
  20348. {
  20349. SendClientMessage(playerid, COLOR_YELLOW, "This is your Truck, you have not returned it to the docks yet for your pay.");
  20350. }
  20351. else if(TruckUsed[playerid] == closestcar)
  20352. {
  20353. SendClientMessage(playerid, COLOR_YELLOW, "This is your Truck, you have not delivered your goods yet.");
  20354. }
  20355. else if(TruckUsed[playerid] != INVALID_VEHICLE_ID)
  20356. {
  20357. SendClientMessage(playerid, COLOR_YELLOW, "You're already on another delivery, type /cancel truck to cancel that delivery.");
  20358. }
  20359. }
  20360. SendClientMessage(playerid, COLOR_GREEN,"_________________________________________________________");
  20361. }
  20362. else
  20363. {
  20364. SendClientMessage(playerid, COLOR_GRAD1, "You're not near a Ocean Docks Truck.");
  20365. }
  20366. return 1;
  20367. }
  20368. CMD:cleartruck(playerid, params[])
  20369. {
  20370. if(!IsACop(playerid))
  20371. {
  20372. SendClientMessage(playerid, COLOR_GRAD2, "You're not a Cop!");
  20373. return 1;
  20374. }
  20375. new carid = GetPlayerVehicleID(playerid);
  20376. new closestcar = GetClosestCar(playerid, carid);
  20377. if(IsPlayerInRangeOfVehicle(playerid, closestcar, 6.0) && IsATruckerCar(closestcar))
  20378. {
  20379. new truckcontents = TruckContents[closestcar];
  20380. if(truckcontents < 11)
  20381. {
  20382. SendClientMessage(playerid, COLOR_WHITE, "There are no illegal items in that Truck.");
  20383. return 1;
  20384. }
  20385. new string[128];
  20386. new truckcontentname[50];
  20387. if(truckcontents >= 11 && truckcontents <= 15)
  20388. { format(truckcontentname, sizeof(truckcontentname), "{33CCFF}illegal weapons"); }
  20389. else if(truckcontents >= 16 && truckcontents <= 20)
  20390. { format(truckcontentname, sizeof(truckcontentname), "{33CCFF}illegal drugs"); }
  20391. else if(truckcontents >= 21 && truckcontents <= 25)
  20392. { format(truckcontentname, sizeof(truckcontentname), "{33CCFF}illegal materials"); }
  20393. foreach(Player, i)
  20394. {
  20395. if(TruckUsed[i] == closestcar)
  20396. {
  20397. DestroyProgressBar(LoadTruckBar[i]);
  20398. LoadTruckBar[i] = INVALID_BAR_ID;
  20399. LoadTruckTime[i] = 0;
  20400. DeletePVar(i, "TruckDeliver");
  20401. TruckUsed[i] = INVALID_VEHICLE_ID;
  20402. TruckContents[closestcar] = 0;
  20403. DisablePlayerCheckpoint(i);
  20404. gPlayerCheckpointStatus[i] = CHECKPOINT_NONE;
  20405. SendClientMessage(i, COLOR_WHITE, "Your Truck delivery has failed. Law enforcement has confiscated the illegal goods.");
  20406. }
  20407. }
  20408. format(string, sizeof(string), "You removed the %s {FFFFFF}from the Truck.", truckcontentname);
  20409. SendClientMessage(playerid, COLOR_WHITE, string);
  20410. format(string, sizeof(string), "* %s has taken the illegal items from the Truck.", GetPlayerNameEx(playerid));
  20411. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  20412. }
  20413. else
  20414. {
  20415. SendClientMessage(playerid, COLOR_GRAD1, "You're not near a Ocean Docks Truck.");
  20416. }
  20417. return 1;
  20418. }
  20419. CMD:hijacktruck(playerid, params[])
  20420. {
  20421. if(PlayerInfo[playerid][pJob] == 20 || PlayerInfo[playerid][pJob2] == 20)
  20422. {
  20423. new vehicleid = GetPlayerVehicleID(playerid);
  20424. if(IsATruckerCar(vehicleid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  20425. {
  20426. if(CheckPointCheck(playerid)) return SendClientMessage(playerid, COLOR_WHITE, "Please ensure that your current checkpoint is destroyed first (you either have material packages, or another existing checkpoint).");
  20427. if(GetProgressBarValue(LoadTruckBar[playerid]) > 10)
  20428. {
  20429. SendClientMessage(playerid, COLOR_WHITE, "You're currently loading your Truck!");
  20430. return 1;
  20431. }
  20432. if(TruckUsed[playerid] != INVALID_VEHICLE_ID)
  20433. {
  20434. SendClientMessage(playerid, COLOR_WHITE, "You're already on another delivery, type /cancel truck to cancel that delivery.");
  20435. return 1;
  20436. }
  20437. if(TruckContents[vehicleid] == 0)
  20438. {
  20439. SendClientMessage(playerid, COLOR_WHITE, "This Truck is empty, it does not contain any goods!");
  20440. return 1;
  20441. }
  20442. if(IsPlayerInRangeOfPoint(playerid, 65, 2225.343261, -2635.977294, 13.438463))
  20443. {
  20444. SendClientMessage(playerid, COLOR_WHITE, "You can't hijack when that close to the Ocean Docks!");
  20445. return 1;
  20446. }
  20447. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* you're now attempting to hijack the truck, please wait....");
  20448. TogglePlayerControllable(playerid, 0);
  20449. SetPVarInt(playerid, "IsFrozen", 1);
  20450. LoadTruckBar[playerid] = CreateProgressBar(258.00, 137.00, 131.50, 3.19, COLOR_GREEN, 100.0);
  20451. SetProgressBarValue(LoadTruckBar[playerid], 100.0);
  20452. ShowProgressBarForPlayer(playerid, LoadTruckBar[playerid]);
  20453. SetTimerEx("HijackTruck", 1000, 0, "dd", playerid);
  20454. }
  20455. else return SendClientMessage(playerid, COLOR_GREY, "You're not driving a Ocean Docks Truck!");
  20456. }
  20457. else return SendClientMessage(playerid, COLOR_GREY, "You're not a Trucker!");
  20458. return 1;
  20459. }
  20460. forward HijackTruck(playerid);
  20461. public HijackTruck(playerid)
  20462. {
  20463. new vehicleid = GetPlayerVehicleID(playerid);
  20464. LoadTruckTime[playerid]--;
  20465. SetProgressBarValue(LoadTruckBar[playerid], GetProgressBarValue(LoadTruckBar[playerid])-10.0);
  20466. UpdateProgressBar(LoadTruckBar[playerid], playerid);
  20467. if(GetProgressBarValue(LoadTruckBar[playerid]) > 10) SetTimerEx("HijackTruck", 1000, 0, "d", playerid);
  20468. if(GetProgressBarValue(LoadTruckBar[playerid]) == 50.0)
  20469. {
  20470. SetProgressBarColor(LoadTruckBar[playerid], COLOR_YELLOW);
  20471. UpdateProgressBar(LoadTruckBar[playerid], playerid);
  20472. }
  20473. else if(GetProgressBarValue(LoadTruckBar[playerid]) == 20.0)
  20474. {
  20475. SetProgressBarColor(LoadTruckBar[playerid], COLOR_RED);
  20476. UpdateProgressBar(LoadTruckBar[playerid], playerid);
  20477. }
  20478. else if(GetProgressBarValue(LoadTruckBar[playerid]) <= 10.0)
  20479. {
  20480. DeletePVar(playerid, "IsFrozen");
  20481. TogglePlayerControllable(playerid, 1);
  20482. DestroyProgressBar(LoadTruckBar[playerid]);
  20483. LoadTruckBar[playerid] = INVALID_BAR_ID;
  20484. if(!IsPlayerInVehicle(playerid, vehicleid))
  20485. {
  20486. DestroyProgressBar(LoadTruckBar[playerid]);
  20487. LoadTruckBar[playerid] = INVALID_BAR_ID;
  20488. LoadTruckTime[playerid] = 0;
  20489. DeletePVar(playerid, "TruckDeliver");
  20490. TruckUsed[playerid] = INVALID_VEHICLE_ID;
  20491. gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
  20492. DisablePlayerCheckpoint(playerid);
  20493. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* You failed to hijack the truck.");
  20494. return 1;
  20495. }
  20496. foreach(Player, i)
  20497. {
  20498. if(TruckUsed[i] == vehicleid)
  20499. {
  20500. DestroyProgressBar(LoadTruckBar[i]);
  20501. LoadTruckBar[i] = INVALID_BAR_ID;
  20502. LoadTruckTime[i] = 0;
  20503. DeletePVar(i, "TruckDeliver");
  20504. TruckUsed[i] = INVALID_VEHICLE_ID;
  20505. DisablePlayerCheckpoint(i);
  20506. gPlayerCheckpointStatus[i] = CHECKPOINT_NONE;
  20507. SendClientMessage(i, COLOR_WHITE, "Your Truck delivery has failed. Your Truck was hijacked.");
  20508. }
  20509. }
  20510. new truckdeliver = TruckContents[vehicleid];
  20511. SetPVarInt(playerid, "TruckDeliver", truckdeliver);
  20512. TruckUsed[playerid] = vehicleid;
  20513. if(truckdeliver == 1)
  20514. {
  20515. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* Your hijacked a Truck filled with food & beverages.");
  20516. SetPlayerCheckpoint(playerid, 812.287231, -1623.678222, 13.546875, 5);
  20517. }
  20518. else if(truckdeliver == 2)
  20519. {
  20520. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* Your hijacked a Truck filled with food & beverages.");
  20521. SetPlayerCheckpoint(playerid, 1204.510375, -920.674499, 43.074016, 5);
  20522. }
  20523. else if(truckdeliver == 3)
  20524. {
  20525. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* Your hijacked a Truck filled with food & beverages.");
  20526. SetPlayerCheckpoint(playerid, 2402.169677, -1502.789306, 23.834865, 5);
  20527. }
  20528. else if(truckdeliver == 4)
  20529. {
  20530. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* Your hijacked a Truck filled with clothing.");
  20531. SetPlayerCheckpoint(playerid, 2110.254394, -1214.892578, 23.485479, 5);
  20532. }
  20533. else if(truckdeliver == 5)
  20534. {
  20535. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* Your hijacked a Truck filled with clothing.");
  20536. SetPlayerCheckpoint(playerid, 1458.425292, -1140.346069, 23.938444, 5);
  20537. }
  20538. else if(truckdeliver == 6)
  20539. {
  20540. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* Your hijacked a Truck filled with clothing.");
  20541. SetPlayerCheckpoint(playerid, 500.889678, -1352.339843, 15.463395, 5);
  20542. }
  20543. else if(truckdeliver == 7)
  20544. {
  20545. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* Your hijacked a Truck filled with materials.");
  20546. SetPlayerCheckpoint(playerid, 334.012207, -1373.775146, 14.230167, 5);
  20547. }
  20548. else if(truckdeliver == 8)
  20549. {
  20550. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* Your hijacked a Truck filled with 24/7 items.");
  20551. SetPlayerCheckpoint(playerid, 1317.785522, -870.413818, 39.089378, 5);
  20552. }
  20553. else if(truckdeliver == 9)
  20554. {
  20555. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* Your hijacked a Truck filled with 24/7 items.");
  20556. SetPlayerCheckpoint(playerid, 1342.577026, -1748.498535, 12.934987, 5);
  20557. }
  20558. else if(truckdeliver == 10)
  20559. {
  20560. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* Your hijacked a Truck filled with 24/7 items.");
  20561. SetPlayerCheckpoint(playerid, 653.629699, -579.503051, 15.889705, 5);
  20562. }
  20563. else if(truckdeliver >= 11 && truckdeliver <= 15)
  20564. {
  20565. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* Your hijacked a Truck filled with weapons.");
  20566. SetPlayerCheckpoint(playerid, 1634.834716, 757.830017, 10.820312, 5);
  20567. new level = PlayerInfo[playerid][pTruckSkill];
  20568. if(level >= 0 && level <= 50)
  20569. { SetPVarInt(playerid, "TruckDeliver", 11); }
  20570. else if(level >= 51 && level <= 100)
  20571. { SetPVarInt(playerid, "TruckDeliver", 12); }
  20572. else if(level >= 101 && level <= 200)
  20573. { SetPVarInt(playerid, "TruckDeliver", 13); }
  20574. else if(level >= 201 && level <= 400)
  20575. { SetPVarInt(playerid, "TruckDeliver", 14); }
  20576. else if(level >= 401)
  20577. { SetPVarInt(playerid, "TruckDeliver", 15); }
  20578. }
  20579. else if(truckdeliver >= 16 && truckdeliver <= 20)
  20580. {
  20581. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* Your hijacked a Truck filled with drugs.");
  20582. SetPlayerCheckpoint(playerid, 2833.109375, 893.754699, 10.757797, 5);
  20583. new level = PlayerInfo[playerid][pTruckSkill];
  20584. if(level >= 0 && level <= 50)
  20585. { SetPVarInt(playerid, "TruckDeliver", 16); }
  20586. else if(level >= 51 && level <= 100)
  20587. { SetPVarInt(playerid, "TruckDeliver", 17); }
  20588. else if(level >= 101 && level <= 200)
  20589. { SetPVarInt(playerid, "TruckDeliver", 18); }
  20590. else if(level >= 201 && level <= 400)
  20591. { SetPVarInt(playerid, "TruckDeliver", 19); }
  20592. else if(level >= 401)
  20593. { SetPVarInt(playerid, "TruckDeliver", 20); }
  20594. }
  20595. else if(truckdeliver >= 21 && truckdeliver <= 25)
  20596. {
  20597. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* Your hijacked a Truck filled with illegal materials.");
  20598. SetPlayerCheckpoint(playerid, -510.522918, -501.250030, 25.523437, 5);
  20599. new level = PlayerInfo[playerid][pTruckSkill];
  20600. if(level >= 0 && level <= 50)
  20601. { SetPVarInt(playerid, "TruckDeliver", 21); }
  20602. else if(level >= 51 && level <= 100)
  20603. { SetPVarInt(playerid, "TruckDeliver", 22); }
  20604. else if(level >= 101 && level <= 200)
  20605. { SetPVarInt(playerid, "TruckDeliver", 23); }
  20606. else if(level >= 201 && level <= 400)
  20607. { SetPVarInt(playerid, "TruckDeliver", 24); }
  20608. else if(level >= 401)
  20609. { SetPVarInt(playerid, "TruckDeliver", 25); }
  20610. }
  20611. SendClientMessage(playerid, COLOR_WHITE, "HINT: Deliver the goods to the specified location (see checkpoint on radar).");
  20612. SendClientMessage(playerid, COLOR_REALRED, "WARNING: Watch out for truck hijackers, they can hijack your truck and get away with the goods.");
  20613. if(truckdeliver >= 9)
  20614. {
  20615. SendClientMessage(playerid, COLOR_REALRED, "WARNING #2: you're transporting illegal goods so watch out for law enforcement.");
  20616. }
  20617. // If hijacked near delivery point it would send an inaccurate warning.
  20618. /*SetPVarInt(playerid, "tpTruckRunTimer", 10);
  20619. SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_TPTRUCKRUNTIMER);*/
  20620. }
  20621. return 1;
  20622. }
  20623. CMD:loadtruck(playerid, params[])
  20624. {
  20625. if(PlayerInfo[playerid][pJob] == 20 || PlayerInfo[playerid][pJob2] == 20)
  20626. {
  20627. new vehicleid = GetPlayerVehicleID(playerid);
  20628. if(IsATruckerCar(vehicleid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  20629. {
  20630. if(CheckPointCheck(playerid))return SendClientMessage(playerid, COLOR_WHITE, "Please ensure that your current checkpoint is destroyed first (you either have material packages, or another existing checkpoint).");
  20631. if(GetProgressBarValue(LoadTruckBar[playerid]) > 10)
  20632. {
  20633. SendClientMessage(playerid, COLOR_WHITE, "You're currently loading your Truck!");
  20634. return 1;
  20635. }
  20636. if(TruckUsed[playerid] != INVALID_VEHICLE_ID)
  20637. {
  20638. SendClientMessage(playerid, COLOR_WHITE, "You're already on another delivery, type /cancel truck to cancel that delivery.");
  20639. return 1;
  20640. }
  20641. gPlayerCheckpointStatus[playerid] = CHECKPOINT_LOADTRUCK;
  20642. SetPlayerCheckpoint(playerid,2197.660644, -2662.190185, 13.546875, 5);
  20643. GameTextForPlayer(playerid, "~w~Waypoint set ~r~Ocean Docks", 5000, 1);
  20644. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Pick up some goods to transport with your Truck at Ocean Docks (see checkpoint on radar).");
  20645. }
  20646. else return SendClientMessage(playerid, COLOR_GREY, "You're not driving a Ocean Docks Truck!");
  20647. }
  20648. else return SendClientMessage(playerid, COLOR_GREY, "You're not a Trucker!");
  20649. return 1;
  20650. }
  20651. forward LoadTruck(playerid);
  20652. public LoadTruck(playerid)
  20653. {
  20654. LoadTruckTime[playerid]--;
  20655. SetProgressBarValue(LoadTruckBar[playerid], GetProgressBarValue(LoadTruckBar[playerid])-10.0);
  20656. UpdateProgressBar(LoadTruckBar[playerid], playerid);
  20657. if(GetProgressBarValue(LoadTruckBar[playerid]) > 10) SetTimerEx("LoadTruck", 1000, 0, "d", playerid);
  20658. if(GetProgressBarValue(LoadTruckBar[playerid]) == 50.0)
  20659. {
  20660. SetProgressBarColor(LoadTruckBar[playerid], COLOR_YELLOW);
  20661. UpdateProgressBar(LoadTruckBar[playerid], playerid);
  20662. }
  20663. else if(GetProgressBarValue(LoadTruckBar[playerid]) == 20.0)
  20664. {
  20665. SetProgressBarColor(LoadTruckBar[playerid], COLOR_RED);
  20666. UpdateProgressBar(LoadTruckBar[playerid], playerid);
  20667. }
  20668. else if(GetProgressBarValue(LoadTruckBar[playerid]) <= 10.0)
  20669. {
  20670. DeletePVar(playerid, "IsFrozen");
  20671. TogglePlayerControllable(playerid, 1);
  20672. DestroyProgressBar(LoadTruckBar[playerid]);
  20673. LoadTruckBar[playerid] = INVALID_BAR_ID;
  20674. new vehicleid = GetPlayerVehicleID(playerid);
  20675. new truckdeliver = GetPVarInt(playerid, "TruckDeliver");
  20676. TruckContents[vehicleid] = truckdeliver;
  20677. TruckUsed[playerid] = vehicleid;
  20678. if(truckdeliver == 1)
  20679. {
  20680. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* Your Truck was filled with food & beverages.");
  20681. SetPlayerCheckpoint(playerid, 812.287231, -1623.678222, 13.546875, 5);
  20682. }
  20683. else if(truckdeliver == 2)
  20684. {
  20685. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* Your Truck was filled with food & beverages.");
  20686. SetPlayerCheckpoint(playerid, 1204.510375, -920.674499, 43.074016, 5);
  20687. }
  20688. else if(truckdeliver == 3)
  20689. {
  20690. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* Your Truck was filled with food & beverages.");
  20691. SetPlayerCheckpoint(playerid, 2402.169677, -1502.789306, 23.834865, 5);
  20692. }
  20693. else if(truckdeliver == 4)
  20694. {
  20695. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* Your Truck was filled with clothing.");
  20696. SetPlayerCheckpoint(playerid, 2110.254394, -1214.892578, 23.485479, 5);
  20697. }
  20698. else if(truckdeliver == 5)
  20699. {
  20700. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* Your Truck was filled with clothing.");
  20701. SetPlayerCheckpoint(playerid, 1458.425292, -1140.346069, 23.938444, 5);
  20702. }
  20703. else if(truckdeliver == 6)
  20704. {
  20705. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* Your Truck was filled with clothing.");
  20706. SetPlayerCheckpoint(playerid, 500.889678, -1352.339843, 15.463395, 5);
  20707. }
  20708. else if(truckdeliver == 7)
  20709. {
  20710. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* Your Truck was filled with materials.");
  20711. SetPlayerCheckpoint(playerid, 334.012207, -1373.775146, 14.230167, 5);
  20712. }
  20713. else if(truckdeliver == 8)
  20714. {
  20715. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* Your Truck was filled with 24/7 items.");
  20716. SetPlayerCheckpoint(playerid, 1317.785522, -870.413818, 39.089378, 5);
  20717. }
  20718. else if(truckdeliver == 9)
  20719. {
  20720. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* Your Truck was filled with 24/7 items.");
  20721. SetPlayerCheckpoint(playerid, 1342.577026, -1748.498535, 12.934987, 5);
  20722. }
  20723. else if(truckdeliver == 10)
  20724. {
  20725. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* Your Truck was filled with 24/7 items.");
  20726. SetPlayerCheckpoint(playerid, 653.629699, -579.503051, 15.889705, 5);
  20727. }
  20728. else if(truckdeliver >= 11 && truckdeliver <= 15)
  20729. {
  20730. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* Your Truck was filled with weapons.");
  20731. SetPlayerCheckpoint(playerid, 1634.834716, 757.830017, 10.820312, 5);
  20732. }
  20733. else if(truckdeliver >= 16 && truckdeliver <= 20)
  20734. {
  20735. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* Your Truck was filled with drugs.");
  20736. SetPlayerCheckpoint(playerid, 2833.109375, 893.754699, 10.757797, 5);
  20737. }
  20738. else if(truckdeliver >= 21 && truckdeliver <= 25)
  20739. {
  20740. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* Your Truck was filled with illegal materials.");
  20741. SetPlayerCheckpoint(playerid, -510.522918, -501.250030, 25.523437, 5);
  20742. }
  20743. SendClientMessage(playerid, COLOR_WHITE, "HINT: Deliver the goods to the specified location (see checkpoint on radar).");
  20744. SendClientMessage(playerid, COLOR_REALRED, "WARNING: Watch out for truck hijackers, they can hijack your truck and get away with the goods.");
  20745. if(truckdeliver >= 11)
  20746. {
  20747. SendClientMessage(playerid, COLOR_REALRED, "WARNING #2: you're transporting illegal goods so watch out for law enforcement.");
  20748. }
  20749. SetPVarInt(playerid, "tpTruckRunTimer", 30);
  20750. SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_TPTRUCKRUNTIMER);
  20751. }
  20752. return 1;
  20753. }
  20754. CMD:mp3(playerid, params[])
  20755. {
  20756. if(PlayerInfo[playerid][pDonator] < 2)
  20757. return SendClientMessage(playerid, COLOR_WHITE, "You must be at least Sapphire+ Donator to use this feature.");
  20758. if(PlayerCuffed[playerid] >= 1 || GetPVarInt(playerid, "Injured") == 1)
  20759. return SendClientMessage(playerid, COLOR_WHITE, "You can't do this right now.");
  20760. ShowPlayerDialogEx(playerid, DIALOG_MP3_START, DIALOG_STYLE_LIST, "Radio", "Turn off MP3 player\nSearch by name\nFind by genre", "Select", "Cancel");
  20761. return 1;
  20762. }
  20763. CMD:placeboombox(playerid, params[]) {
  20764. return cmd_placebb(playerid, params);
  20765. }
  20766. CMD:placebb(playerid, params[])
  20767. {
  20768. if(PlayerInfo[playerid][pDonator] < 3)
  20769. return SendClientMessage(playerid, COLOR_WHITE, "You must be at least Diamond+ Donator to use this feature.");
  20770. if(PlayerCuffed[playerid] >= 1 || GetPVarInt(playerid, "Injured") == 1)
  20771. return SendClientMessage(playerid, COLOR_WHITE, "You can't do this right now.");
  20772. if(GetPVarInt(playerid, "EventToken") != 0)
  20773. return SendClientMessage(playerid, COLOR_GREY, "You can't place boomboxes while you're in an event.");
  20774. if(PlayerInfo[playerid][pJailed] > 0)
  20775. return SendClientMessage(playerid, COLOR_GREY, "You can't use this in jail/prison.");
  20776. if(IsPlayerInAnyVehicle(playerid))
  20777. return SendClientMessage(playerid, COLOR_GREY, "You can't do this while you're in a vehicle.");
  20778. if(GetPlayerInterior(playerid) == 0)
  20779. return SendClientMessage(playerid, COLOR_GREY, "Boomboxes can only be placed in interiors.");
  20780. if((GetPlayerVirtualWorld(playerid) == 373737 && GetPlayerInterior(playerid) == 37) || (GetPlayerVirtualWorld(playerid) == 363636 && GetPlayerInterior(playerid) == 36) || (GetPlayerVirtualWorld(playerid) == 353535 && GetPlayerInterior(playerid) == 35))
  20781. return SendClientMessage(playerid, COLOR_GREY, "You can not place a boombox in this interior since there is already music playing here.");
  20782. if(BoomBoxSet[playerid] != 0)
  20783. return SendClientMessage(playerid, COLOR_GREY, "You can only place one boombox at a time. Use /pickupbb to remove it.");
  20784. new Float:posX, Float:posY, Float:posZ;
  20785. GetPlayerPos(playerid, posX, posY, posZ);
  20786. foreach(Player, i)
  20787. {
  20788. if(IsABoomboxNearby(posX, posY, posZ, i) < 150.0)
  20789. return SendClientMessage(playerid, COLOR_GREY, "There is already a boombox in this interior. Use /pickupbb to remove it.");
  20790. }
  20791. ShowPlayerDialogEx(playerid, DIALOG_BOOMBOX_START, DIALOG_STYLE_LIST, "Boombox", "Search by name\nFind by genre", "Select", "Cancel");
  20792. return 1;
  20793. }
  20794. CMD:pickupboombox(playerid, params[]) {
  20795. return cmd_pickupbb(playerid, params);
  20796. }
  20797. CMD:pickupbb(playerid, params[])
  20798. {
  20799. if(PlayerCuffed[playerid] >= 1 || GetPVarInt(playerid, "Injured") == 1)
  20800. return SendClientMessage(playerid, COLOR_WHITE, "You can't do this right now.");
  20801. if(GetPVarInt(playerid, "EventToken") != 0)
  20802. return SendClientMessage(playerid, COLOR_GREY, "You can't pick up boomboxes while you're in an event.");
  20803. if(PlayerInfo[playerid][pJailed] > 0)
  20804. return SendClientMessage(playerid, COLOR_WHITE, "You can't do this in jail/prison.");
  20805. if(IsPlayerInAnyVehicle(playerid))
  20806. return SendClientMessage(playerid, COLOR_GREY, "You can't do this while you're in a vehicle.");
  20807. if(GetPlayerInterior(playerid) == 0)
  20808. return SendClientMessage(playerid, COLOR_GREY, "Boomboxes can only be found in interiors.");
  20809. new Float:posX, Float:posY, Float:posZ;
  20810. GetPlayerPos(playerid, posX, posY, posZ);
  20811. new iCount;
  20812. foreach(Player, i)
  20813. {
  20814. if(IsABoomboxNearby(posX, posY, posZ, i) < 3.0) {
  20815. if(IsPlayerInRangeOfPoint(i,150.0,BoomboxInfo[i][bbPosX],BoomboxInfo[i][bbPosY],BoomboxInfo[i][bbPosZ]) && GetPlayerInterior(i) == BoomboxInfo[i][bbInt] && GetPlayerVirtualWorld(i) == BoomboxInfo[i][bbVW])
  20816. {
  20817. foreach(Player, x) {
  20818. if(GetDistanceBetweenPlayers(x, i) < 150.0) StopAudioStreamForPlayer(x);
  20819. }
  20820. StopAudioStreamForPlayer(i);
  20821. }
  20822. BoomBoxSet[i] = 0;
  20823. BoomboxInfo[i][bbPosX] = 0.0;
  20824. BoomboxInfo[i][bbPosY] = 0.0;
  20825. BoomboxInfo[i][bbPosZ] = 0.0;
  20826. BoomboxInfo[i][bbInt] = 0;
  20827. BoomboxInfo[i][bbVW] = 0;
  20828. BoomboxInfo[i][bbStation] = 0;
  20829. BoomboxInfo[i][bbSetBy] = 999;
  20830. DestroyDynamicObject(BoomboxInfo[i][bbObject]);
  20831. BoomboxInfo[i][bbObject] = 0;
  20832. iCount++;
  20833. }
  20834. }
  20835. if(iCount == 0) SendClientMessage(playerid, COLOR_GREY, "You are not near any boomboxes.");
  20836. else
  20837. {
  20838. ApplyAnimation(playerid,"BOMBER","BOM_Plant",4.0,0,0,0,0,0);
  20839. ApplyAnimation(playerid,"BOMBER","BOM_Plant",4.0,0,0,0,0,0);
  20840. new string[128];
  20841. format(string, sizeof(string), "* %s has picked up a Boombox.", GetPlayerNameEx(playerid));
  20842. ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  20843. }
  20844. return 1;
  20845. }
  20846. CMD:setstation(playerid, params[]) {
  20847. return cmd_setradio(playerid, params);
  20848. }
  20849. CMD:setradio(playerid, params[])
  20850. {
  20851. if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  20852. {
  20853. ShowPlayerDialogEx(playerid, DIALOG_RADIOMENU_START, DIALOG_STYLE_LIST, "Radio station", "Turn off radio\nSearch by name\nFind by genre", "Select", "Cancel");
  20854. }
  20855. else
  20856. {
  20857. SendClientMessage(playerid, COLOR_GRAD1, "You're not driving any vehicle.");
  20858. }
  20859. return 1;
  20860. }
  20861. CMD:togphone(playerid, params[])
  20862. {
  20863. if(PlayerInfo[playerid][pJailed] > 0)
  20864. {
  20865. SendClientMessage(playerid, COLOR_GRAD2, "You can't use your phone in jail/prison.");
  20866. return 1;
  20867. }
  20868. if(!PhoneOnline[playerid])
  20869. {
  20870. PhoneOnline[playerid] = 1;
  20871. SendClientMessage(playerid, COLOR_GRAD2, "Your phone is now switched off.");
  20872. }
  20873. else
  20874. {
  20875. PhoneOnline[playerid] = 0;
  20876. SendClientMessage(playerid, COLOR_GRAD2, "Your phone is now switched on.");
  20877. }
  20878. return 1;
  20879. }
  20880. CMD:ad(playerid, params[])
  20881. {
  20882. return cmd_advertisements(playerid, params);
  20883. }
  20884. CMD:ads(playerid, params[]) {
  20885. return cmd_advertisements(playerid, params);
  20886. }
  20887. CMD:advertise(playerid, params[]) {
  20888. return cmd_advertisements(playerid, params);
  20889. }
  20890. CMD:advertisements(playerid, params[]) {
  20891. if(gPlayerLogged[playerid] == 0) {
  20892. SendClientMessage(playerid, COLOR_GREY, "You're not logged in.");
  20893. }
  20894. else if(GetPVarType(playerid, "Injured")) {
  20895. SendClientMessage(playerid, COLOR_GREY, "You can't use advertisements while injured.");
  20896. }
  20897. else if(PlayerCuffed[playerid] != 0) {
  20898. SendClientMessage(playerid, COLOR_GREY, "You can't use advertisements right now.");
  20899. }
  20900. else if(PlayerInfo[playerid][pJailTime] > 0) {
  20901. SendClientMessage(playerid, COLOR_GREY, "You can't use advertisements while in jail.");
  20902. }
  20903. else ShowPlayerDialogEx(playerid, DIALOG_ADMAIN, DIALOG_STYLE_LIST, "Advertisements", "List Advertisements\nSearch Advertisements\nPlace Advertisement\nPlace Priority Advertisement", "Select", "Cancel");
  20904. return 1;
  20905. }
  20906. CMD:awithdraw(playerid, params[])
  20907. {
  20908. if(AdminDuty[playerid] == 1)
  20909. {
  20910. SendClientMessage(playerid,COLOR_WHITE, "You can't use this command while on-duty as admin.");
  20911. return 1;
  20912. }
  20913. if(!IsAtATM(playerid))
  20914. {
  20915. SendClientMessage(playerid, COLOR_GREY, " You're not at an ATM!");
  20916. return 1;
  20917. }
  20918. new string[128], amount;
  20919. if(sscanf(params, "d", amount))
  20920. {
  20921. SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /awithdraw [amount]");
  20922. format(string, sizeof(string), " You have $%d in your account.", PlayerInfo[playerid][pBank]);
  20923. SendClientMessage(playerid, COLOR_GRAD3, string);
  20924. return 1;
  20925. }
  20926. if(amount > PlayerInfo[playerid][pBank] || amount < 1)
  20927. {
  20928. SendClientMessage(playerid, COLOR_GRAD2, " You don't have that much!");
  20929. return 1;
  20930. }
  20931. if(PlayerInfo[playerid][pDonator] == 0)
  20932. {
  20933. new fee;
  20934. fee = 3*amount/100;
  20935. PlayerInfo[playerid][pBank]=PlayerInfo[playerid][pBank]-fee;
  20936. format(string, sizeof(string), "-$%d money as a 3 percent fee.", fee);
  20937. SendClientMessage(playerid, COLOR_GRAD2, string);
  20938. }
  20939. if(PlayerInfo[playerid][pBank]-amount < 1)
  20940. return SendClientMessage(playerid, COLOR_GREY, "You don't have enough money combined with the ATM charges, go to a bank to withdraw your full amount of money.");
  20941. PlayerInfo[playerid][pBank]=PlayerInfo[playerid][pBank]-amount;
  20942. GivePlayerCash(playerid,amount);
  20943. format(string, sizeof(string), " You have withdrawn $%d from your account. Current balance: $%d ", amount,PlayerInfo[playerid][pBank]);
  20944. SendClientMessage(playerid, COLOR_YELLOW, string);
  20945. return 1;
  20946. }
  20947. CMD:adeposit(playerid, params[]) {
  20948. if(AdminDuty[playerid] == 1)
  20949. {
  20950. SendClientMessage(playerid,COLOR_WHITE, "You can't use this command while on-duty as admin.");
  20951. return 1;
  20952. }
  20953. if(!IsAtATM(playerid))
  20954. {
  20955. SendClientMessage(playerid, COLOR_GREY, " You're not at an ATM!");
  20956. return 1;
  20957. }
  20958. new string[128], amount;
  20959. if(sscanf(params, "d", amount))
  20960. {
  20961. SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /adeposit [amount]");
  20962. format(string, sizeof(string), " You have $%d in your account.", PlayerInfo[playerid][pBank]);
  20963. SendClientMessage(playerid, COLOR_GRAD3, string);
  20964. return 1;
  20965. }
  20966. if(amount > GetPlayerCash(playerid) || amount < 1)
  20967. {
  20968. SendClientMessage(playerid, COLOR_GRAD2, " You don't have that much.");
  20969. return 1;
  20970. }
  20971. if(PlayerInfo[playerid][pDonator] == 0)
  20972. {
  20973. new fee;
  20974. fee = 3*amount/100;
  20975. PlayerInfo[playerid][pBank]=PlayerInfo[playerid][pBank]-fee;
  20976. format(string, sizeof(string), "-$%d money (3 percent fee).", fee);
  20977. SendClientMessage(playerid, COLOR_GRAD2, string);
  20978. }
  20979. GivePlayerCash(playerid,-amount);
  20980. new curfunds = PlayerInfo[playerid][pBank];
  20981. PlayerInfo[playerid][pBank]=amount+PlayerInfo[playerid][pBank];
  20982. SendClientMessage(playerid, COLOR_WHITE, "|___ ATM STATMENT ___|");
  20983. format(string, sizeof(string), " Old Balance: $%d", curfunds);
  20984. SendClientMessage(playerid, COLOR_GRAD2, string);
  20985. format(string, sizeof(string), " Deposit: $%d",amount);
  20986. SendClientMessage(playerid, COLOR_GRAD4, string);
  20987. SendClientMessage(playerid, COLOR_GRAD6, "|-----------------------------------------|");
  20988. format(string, sizeof(string), " New Balance: $%d", PlayerInfo[playerid][pBank]);
  20989. SendClientMessage(playerid, COLOR_WHITE, string);
  20990. return 1;
  20991. }
  20992. CMD:abalance(playerid, params[])
  20993. {
  20994. if(!IsAtATM(playerid))
  20995. {
  20996. SendClientMessage(playerid, COLOR_GREY, " You're not at an ATM!");
  20997. return 1;
  20998. }
  20999. new string[128];
  21000. format(string, sizeof(string), " You have $%d in your account.",PlayerInfo[playerid][pBank]);
  21001. SendClientMessage(playerid, COLOR_YELLOW, string);
  21002. return 1;
  21003. }
  21004. CMD:awiretransfer(playerid, params[])
  21005. {
  21006. if(PlayerInfo[playerid][pLevel] < 3)
  21007. {
  21008. SendClientMessage(playerid, COLOR_GRAD1, " You must be at least level 3!");
  21009. return 1;
  21010. }
  21011. if(AdminDuty[playerid] == 1)
  21012. {
  21013. SendClientMessage(playerid,COLOR_WHITE, "You can't use this command while on-duty as admin.");
  21014. return 1;
  21015. }
  21016. if(!IsAtATM(playerid))
  21017. {
  21018. SendClientMessage(playerid, COLOR_GREY, " You're not at an ATM!");
  21019. return 1;
  21020. }
  21021. new string[128], giveplayerid, amount;
  21022. if(sscanf(params, "ud", giveplayerid, amount)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /awiretransfer [playerid/partofname] [amount]");
  21023. if(IsPlayerConnected(giveplayerid))
  21024. {
  21025. if(giveplayerid != INVALID_PLAYER_ID)
  21026. {
  21027. new playermoney = PlayerInfo[playerid][pBank];
  21028. if(amount > 0 && playermoney >= amount)
  21029. {
  21030. if(PlayerInfo[playerid][pDonator] == 0)
  21031. {
  21032. new fee;
  21033. fee = 3*amount/100;
  21034. PlayerInfo[playerid][pBank]=PlayerInfo[playerid][pBank]-fee;
  21035. format(string, sizeof(string), "-$%d money (3 percent fee).", fee);
  21036. SendClientMessage(playerid, COLOR_GRAD2, string);
  21037. }
  21038. PlayerInfo[playerid][pBank] -= amount;
  21039. PlayerInfo[giveplayerid][pBank] += amount;
  21040. format(string, sizeof(string), " You have transferred $%d to %s's account.", amount, GetPlayerNameEx(giveplayerid),giveplayerid);
  21041. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  21042. SendClientMessage(playerid, COLOR_GRAD1, string);
  21043. format(string, sizeof(string), " You have recieved $%d to into your account from %s.", amount, GetPlayerNameEx(playerid), playerid);
  21044. SendClientMessage(giveplayerid, COLOR_GRAD1, string);
  21045. new ip[32], ipex[32];
  21046. GetPlayerIp(playerid, ip, sizeof(ip));
  21047. GetPlayerIp(giveplayerid, ipex, sizeof(ipex));
  21048. format(string, sizeof(string), "[ATM] %s (IP:%s) has transferred $%d to %s (IP:%s).", GetPlayerNameEx(playerid), ip, amount, GetPlayerNameEx(giveplayerid), ipex);
  21049. if(amount >= 42000)
  21050. {
  21051. ABroadCast(COLOR_YELLOW,string,2);
  21052. }
  21053. Log("logs/pay.log", string);
  21054. PlayerPlaySound(giveplayerid, 1052, 0.0, 0.0, 0.0);
  21055. }
  21056. else
  21057. {
  21058. SendClientMessage(playerid, COLOR_GRAD1, " Invalid transaction amount.");
  21059. }
  21060. }
  21061. }
  21062. else SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  21063. return 1;
  21064. }
  21065. CMD:withdraw(playerid, params[])
  21066. {
  21067. if(AdminDuty[playerid] == 1)
  21068. {
  21069. SendClientMessage(playerid,COLOR_WHITE, "You can't use this command while on-duty as admin.");
  21070. return 1;
  21071. }
  21072. if(!IsPlayerInRangeOfPoint(playerid, 15.0, 1667.4260, -972.6691, 683.6873))
  21073. {
  21074. SendClientMessage(playerid, COLOR_GREY, "You're not at the bank!");
  21075. return 1;
  21076. }
  21077. new string[128], amount;
  21078. if(sscanf(params, "d", amount))
  21079. {
  21080. SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /withdraw [amount]");
  21081. format(string, sizeof(string), " You have $%d in your account.", PlayerInfo[playerid][pBank]);
  21082. SendClientMessage(playerid, COLOR_GRAD3, string);
  21083. return 1;
  21084. }
  21085. if(amount > PlayerInfo[playerid][pBank] || amount < 1)
  21086. {
  21087. SendClientMessage(playerid, COLOR_GRAD2, " You don't have that much!");
  21088. return 1;
  21089. }
  21090. GivePlayerCash(playerid,amount);
  21091. PlayerInfo[playerid][pBank]=PlayerInfo[playerid][pBank]-amount;
  21092. format(string, sizeof(string), " You have withdrawn $%d from your account. Current balance: $%d ", amount,PlayerInfo[playerid][pBank]);
  21093. SendClientMessage(playerid, COLOR_YELLOW, string);
  21094. return 1;
  21095. }
  21096. CMD:deposit(playerid, params[]) {
  21097. if(AdminDuty[playerid] == 1)
  21098. {
  21099. SendClientMessage(playerid,COLOR_WHITE, "You can't use this command while on-duty as admin.");
  21100. return 1;
  21101. }
  21102. if(!IsPlayerInRangeOfPoint(playerid, 15.0, 1667.4260, -972.6691, 683.6873))
  21103. {
  21104. SendClientMessage(playerid, COLOR_GREY, "You're not at the bank!");
  21105. return 1;
  21106. }
  21107. new string[128], amount;
  21108. if(sscanf(params, "d", amount))
  21109. {
  21110. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /deposit [amount]");
  21111. format(string, sizeof(string), " You have $%d in your account.", PlayerInfo[playerid][pBank]);
  21112. SendClientMessage(playerid, COLOR_GRAD3, string);
  21113. return 1;
  21114. }
  21115. if(amount > GetPlayerCash(playerid) || amount < 1)
  21116. {
  21117. SendClientMessage(playerid, COLOR_GRAD2, " You don't have that much.");
  21118. return 1;
  21119. }
  21120. GivePlayerCash(playerid,-amount);
  21121. new curfunds = PlayerInfo[playerid][pBank];
  21122. PlayerInfo[playerid][pBank]=amount+PlayerInfo[playerid][pBank];
  21123. SendClientMessage(playerid, COLOR_WHITE, "|___ BANK STATMENT ___|");
  21124. format(string, sizeof(string), " Old Balance: $%d", curfunds);
  21125. SendClientMessage(playerid, COLOR_GRAD2, string);
  21126. format(string, sizeof(string), " Deposit: $%d",amount);
  21127. SendClientMessage(playerid, COLOR_GRAD4, string);
  21128. SendClientMessage(playerid, COLOR_GRAD6, "|-----------------------------------------|");
  21129. format(string, sizeof(string), " New Balance: $%d", PlayerInfo[playerid][pBank]);
  21130. SendClientMessage(playerid, COLOR_WHITE, string);
  21131. return 1;
  21132. }
  21133. CMD:balance(playerid, params[])
  21134. {
  21135. new string[128];
  21136. if(!IsPlayerInRangeOfPoint(playerid, 15.0, 1667.4260, -972.6691, 683.6873))
  21137. {
  21138. SendClientMessage(playerid, COLOR_GREY, "You're not at the bank!");
  21139. return 1;
  21140. }
  21141. format(string, sizeof(string), "You have $%d in your account.",PlayerInfo[playerid][pBank]);
  21142. SendClientMessage(playerid, COLOR_YELLOW, string);
  21143. return 1;
  21144. }
  21145. CMD:wiretransfer(playerid, params[])
  21146. {
  21147. if(PlayerInfo[playerid][pLevel] < 3)
  21148. {
  21149. SendClientMessage(playerid, COLOR_GRAD1, " You must be at least level 3!");
  21150. return 1;
  21151. }
  21152. if(AdminDuty[playerid] == 1)
  21153. {
  21154. SendClientMessage(playerid,COLOR_WHITE, "You can't use this command while on-duty as admin.");
  21155. return 1;
  21156. }
  21157. if(!IsPlayerInRangeOfPoint(playerid, 15.0, 1667.4260, -972.6691, 683.6873))
  21158. {
  21159. SendClientMessage(playerid, COLOR_GREY, "You're not at the bank!");
  21160. return 1;
  21161. }
  21162. new string[128], giveplayerid, amount;
  21163. if(sscanf(params, "ud", giveplayerid, amount)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /wiretransfer [playerid/partofname] [amount]");
  21164. if(IsPlayerConnected(giveplayerid))
  21165. {
  21166. if(giveplayerid != INVALID_PLAYER_ID)
  21167. {
  21168. new playermoney = PlayerInfo[playerid][pBank] ;
  21169. if(amount > 0 && playermoney >= amount)
  21170. {
  21171. PlayerInfo[playerid][pBank] -= amount;
  21172. PlayerInfo[giveplayerid][pBank] += amount;
  21173. format(string, sizeof(string), " You have transferred $%d to %s's account.", amount, GetPlayerNameEx(giveplayerid),giveplayerid);
  21174. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  21175. SendClientMessage(playerid, COLOR_GRAD1, string);
  21176. format(string, sizeof(string), " You have recieved $%d to into your account from %s.", amount, GetPlayerNameEx(playerid), playerid);
  21177. SendClientMessage(giveplayerid, COLOR_GRAD1, string);
  21178. new ip[32], ipex[32];
  21179. GetPlayerIp(playerid, ip, sizeof(ip));
  21180. GetPlayerIp(giveplayerid, ipex, sizeof(ipex));
  21181. format(string, sizeof(string), "[BANK] %s (IP:%s) has transferred $%d to %s (IP:%s).", GetPlayerNameEx(playerid), ip, amount, GetPlayerNameEx(giveplayerid), ipex);
  21182. if(amount >= 500000)
  21183. {
  21184. ABroadCast(COLOR_YELLOW,string,2);
  21185. }
  21186. Log("logs/pay.log", string);
  21187. PlayerPlaySound(giveplayerid, 1052, 0.0, 0.0, 0.0);
  21188. }
  21189. else
  21190. {
  21191. SendClientMessage(playerid, COLOR_GRAD1, " Invalid transaction amount.");
  21192. }
  21193. }
  21194. }
  21195. else SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  21196. return 1;
  21197. }
  21198. CMD:togpr(playerid, params[])
  21199. {
  21200. if(PlayerInfo[playerid][pRadio] == 1)
  21201. {
  21202. if(gRadio[playerid] == 0)
  21203. {
  21204. new string[128];
  21205. gRadio[playerid] = 1;
  21206. format(string,sizeof(string),"You have switched your portable radio on, and it is now broadcasting at %d kHz.",PlayerInfo[playerid][pRadioFreq]);
  21207. SendClientMessage(playerid,COLOR_WHITE,string);
  21208. }
  21209. else
  21210. {
  21211. gRadio[playerid] = 0;
  21212. SendClientMessage(playerid,COLOR_WHITE,"You have switched off your portable radio.");
  21213. }
  21214. }
  21215. else
  21216. {
  21217. SendClientMessage(playerid, COLOR_GRAD2, "You do not have a portable radio!");
  21218. }
  21219. return 1;
  21220. }
  21221. CMD:buyclothes(playerid, params[])
  21222. {
  21223. if(IsAtClothShop(playerid) || BusinessInfo[InsideBiz[playerid]][bType] == 2)
  21224. {
  21225. if(PlayerInfo[playerid][pFaction] == 0 && PlayerInfo[playerid][pLeader] == 0 && PlayerInfo[playerid][pDonator] == 0)
  21226. {
  21227. ShowPlayerDialogEx(playerid, 3495, DIALOG_STYLE_INPUT, "Skin Selection","Please enter a Skin ID!\n\nNote: Skin Changes cost $250.", "Buy", "Cancel");
  21228. }
  21229. else
  21230. {
  21231. ShowModelSelectionMenu(playerid, skinlist, "Choose Skin");
  21232. }
  21233. }
  21234. else
  21235. {
  21236. SendClientMessage(playerid, COLOR_WHITE, " You're not in a Clothing Shop!");
  21237. }
  21238. return 1;
  21239. }
  21240. CMD:buy(playerid, params[])
  21241. {
  21242. if(BusinessInfo[InsideBiz[playerid]][bType] == 1)
  21243. {
  21244. ShowPlayerDialogEx(playerid, STOREMENU1, DIALOG_STYLE_LIST, "24/7", "24/7 Items\n24/7 Vehicle Locks\nGang Vehicle Locks", "Select", "Cancel");
  21245. }
  21246. else if(BusinessInfo[InsideBiz[playerid]][bType] == 2)
  21247. {
  21248. if(PlayerInfo[playerid][pFaction] == 0 && PlayerInfo[playerid][pLeader] == 0 && PlayerInfo[playerid][pDonator] == 0)
  21249. {
  21250. ShowModelSelectionMenu(playerid, skinlist, "Choose Skin");
  21251. }
  21252. }
  21253. else if(BusinessInfo[InsideBiz[playerid]][bType] == 3)
  21254. {
  21255. if(PlayerInfo[playerid][pConnectTime] >= 2 || PlayerInfo[playerid][pWepRes] >= 0)
  21256. {
  21257. ShowPlayerDialogEx(playerid, 5218, DIALOG_STYLE_LIST, "Guns list", "Shotgun ($800)\n9mm ($200)\nCounty Rifle ($1,200)\nHalf Vest ($200)", "Select", "Close");
  21258. }
  21259. else return SCM(playerid, COLOR_WHITE, "You are currently weapon restricted.");
  21260. }
  21261. else if(BusinessInfo[InsideBiz[playerid]][bType] == 4)
  21262. {
  21263. ShowPlayerDialogEx(playerid, DIALOG_ADMAIN, DIALOG_STYLE_LIST, "Advertisements", "List Advertisements\nSearch Advertisements\nPlace Advertisement\nPlace Priority Advertisement", "Select", "Cancel");
  21264. }
  21265. else return SendClientMessage(playerid, COLOR_GRAD2, "You are not in any business!");
  21266. return 1;
  21267. }
  21268. CMD:cellphonehelp(playerid, params[])
  21269. {
  21270. SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
  21271. if(PlayerInfo[playerid][pNumber] > 0) {
  21272. SendClientMessage(playerid, COLOR_WHITE,"*** HELP *** - type a command for more infomation.");
  21273. SendClientMessage(playerid, COLOR_GRAD3,"*** CELLPHONE *** /call 'eg: /call 911' /sms (/p)ickup (/h)angup /number");
  21274. }
  21275. else {
  21276. SendClientMessage(playerid, COLOR_WHITE,"You can buy a cell phone in any 24-7");
  21277. }
  21278. return 1;
  21279. }
  21280. CMD:call(playerid, params[])
  21281. {
  21282. new string[128], phonenumb;
  21283. if(strval(params) < 1)
  21284. return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /call [phonenumber]");
  21285. phonenumb = strval(params);
  21286. if(PlayerInfo[playerid][pJailTime] > 0)
  21287. {
  21288. SendClientMessage(playerid,COLOR_GREY,"You can't use your phone while in jail.");
  21289. return 1;
  21290. }
  21291. if(PlayerTied[playerid] != 0 || PlayerCuffed[playerid] != 0)
  21292. {
  21293. SendClientMessage(playerid,COLOR_GREY,"You can't use your phone whilist restrained.");
  21294. return 1;
  21295. }
  21296. if(PlayerInfo[playerid][pNumber] == 0)
  21297. {
  21298. SendClientMessage(playerid, COLOR_GRAD2, "You don't have a cell phone.");
  21299. return 1;
  21300. }
  21301. if(PhoneOnline[playerid] > 0)
  21302. {
  21303. SendClientMessage(playerid, COLOR_GREY, "Your phone is off.");
  21304. return 1;
  21305. }
  21306. format(string, sizeof(string), "* %s takes out a cellphone.", GetPlayerNameEx(playerid));
  21307. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  21308. if(phonenumb == 911)
  21309. {
  21310. if(PlayerInfo[playerid][pJailed] == 3 || PlayerInfo[playerid][pJailed] == 4)
  21311. {
  21312. SendClientMessage(playerid, COLOR_WHITE, "Can't use this whilst prison!");
  21313. return 1;
  21314. }
  21315. SendClientMessage(playerid, COLOR_WHITE, "HINT: You now use T to talk on your cellphone, type /hangup to hang up.");
  21316. SendClientMessage(playerid, COLOR_ALLDEPT, "EMERGENCY: Which service do you require, police or paramedic?");
  21317. Mobile[playerid] = 911;
  21318. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USECELLPHONE);
  21319. SetPlayerAttachedObject(playerid, 9, 330, 6);
  21320. return 1;
  21321. }
  21322. if(phonenumb == PlayerInfo[playerid][pNumber])
  21323. {
  21324. SendClientMessage(playerid, COLOR_GRAD2, " You just get a busy tone...");
  21325. return 1;
  21326. }
  21327. if(Mobile[playerid] != INVALID_PLAYER_ID)
  21328. {
  21329. SendClientMessage(playerid, COLOR_GRAD2, "You're already in a call...");
  21330. return 1;
  21331. }
  21332. foreach(Player, i)
  21333. {
  21334. if(PlayerInfo[i][pNumber] == phonenumb && phonenumb != 0)
  21335. {
  21336. new giveplayerid = i;
  21337. Mobile[playerid] = giveplayerid; //caller connecting
  21338. if(IsPlayerConnected(giveplayerid))
  21339. {
  21340. if(giveplayerid != INVALID_PLAYER_ID)
  21341. {
  21342. if(PhoneOnline[giveplayerid] > 0)
  21343. {
  21344. SendClientMessage(playerid, COLOR_GREY, "That player's phone is switched off.");
  21345. Mobile[playerid] = INVALID_PLAYER_ID;
  21346. return 1;
  21347. }
  21348. if(Mobile[giveplayerid] != INVALID_PLAYER_ID)
  21349. {
  21350. SendClientMessage(playerid, COLOR_GRAD2, "You just get a busy tone...");
  21351. Mobile[playerid] = INVALID_PLAYER_ID;
  21352. return 1;
  21353. }
  21354. if(Spectating[giveplayerid]!=0)
  21355. {
  21356. SendClientMessage(playerid, COLOR_GRAD2, "You just get a busy tone...");
  21357. Mobile[playerid] = INVALID_PLAYER_ID;
  21358. return 1;
  21359. }
  21360. if(Mobile[giveplayerid] == INVALID_PLAYER_ID)
  21361. {
  21362. format(string, sizeof(string), "Your mobile is ringing - type /p to answer it. [Caller ID: %s]", GetPlayerNameEx(playerid));
  21363. SendClientMessage(giveplayerid, COLOR_YELLOW, string);
  21364. format(string, sizeof(string), "* %s's phone begins to ring.", GetPlayerNameEx(i));
  21365. SendClientMessage(playerid, COLOR_WHITE, "HINT: You now use T to talk on your cellphone, type /hangup to hang up.");
  21366. ProxDetector(30.0, i, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  21367. CellTime[playerid] = 1;
  21368. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USECELLPHONE);
  21369. SetPlayerAttachedObject(playerid, 9, 330, 6);
  21370. return 1;
  21371. }
  21372. }
  21373. }
  21374. }
  21375. }
  21376. SendClientMessage(playerid, COLOR_GRAD2, "Your call can't be completed as dialed, please check the number and try again.");
  21377. return 1;
  21378. }
  21379. CMD:rt(playerid, params[])
  21380. {
  21381. new string[128], text[100];
  21382. if(sscanf(params, "s[100]", text)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /rt [text chat]");
  21383. if(gPlayerLogged[playerid] == 0)
  21384. return SendClientMessage(playerid, COLOR_GREY, " You haven't logged in yet!");
  21385. if(GetPVarInt(playerid, "Injured") != 0||GetPVarInt(playerid, "Hospital")!=0)
  21386. return SendClientMessage (playerid, COLOR_GRAD2, "You can't do this at this time.");
  21387. if(PlayerTied[playerid] != 0 || PlayerCuffed[playerid] != 0)
  21388. return SendClientMessage(playerid,COLOR_GREY,"You can't use your phone while you're restrained.");
  21389. if(PlayerInfo[playerid][pNumber] == 0)
  21390. return SendClientMessage(playerid, COLOR_GRAD2, " You don't have a cell phone...");
  21391. if(PlayerInfo[playerid][pJailTime] > 0)
  21392. return SendClientMessage(playerid,COLOR_GREY," You can't use your phone while in jail or prison!");
  21393. if(PhoneOnline[playerid] > 0)
  21394. return SendClientMessage(playerid, COLOR_GREY, "Your phone is off.");
  21395. if(Spectating[playerid] == 0){
  21396. format(string, sizeof(string), "* %s takes out a cellphone.", GetPlayerNameEx(playerid));
  21397. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  21398. }
  21399. if(LastSMS[playerid] == 555)
  21400. return SendClientMessage(playerid, COLOR_GREY, "The number you have dialed has not been recognized.");
  21401. foreach(Player, i) {
  21402. if(PlayerInfo[i][pNumber] == LastSMS[playerid] && LastSMS[playerid] != 0) {
  21403. new giveplayerid = i;
  21404. Mobile[playerid] = giveplayerid; //caller connecting
  21405. if(IsPlayerConnected(giveplayerid)) {
  21406. if(PhoneOnline[giveplayerid] > 0 || PhonePrivacy[giveplayerid] > 0) {
  21407. SendClientMessage(playerid, COLOR_GREY, "That player's phone is switched off.");
  21408. Mobile[playerid] = INVALID_PLAYER_ID;
  21409. return 1;
  21410. }
  21411. if(PhonePrivacy[playerid] == 1)
  21412. format(string, sizeof(string), "SMS: %s, Sender: Unknown.", text, GetPlayerNameEx(playerid), PlayerInfo[playerid][pNumber]);
  21413. else format(string, sizeof(string), "SMS: %s, Sender: %s (%d)", text, GetPlayerNameEx(playerid), PlayerInfo[playerid][pNumber]);
  21414. LastSMS[playerid] = PlayerInfo[giveplayerid][pNumber];
  21415. LastSMS[giveplayerid] = PlayerInfo[playerid][pNumber];
  21416. SendClientMessage(giveplayerid, COLOR_YELLOW, string);
  21417. SendClientMessage(playerid, COLOR_YELLOW, string);
  21418. SendClientMessage(playerid, COLOR_WHITE, "Text message delivered.");
  21419. format(string, sizeof(string), "~r~$-%d", txtcost);
  21420. GameTextForPlayer(playerid, string, 5000, 1);
  21421. GivePlayerCash(playerid,-txtcost);
  21422. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  21423. Mobile[playerid] = INVALID_PLAYER_ID;
  21424. return 1;
  21425. }
  21426. }
  21427. }
  21428. SendClientMessage(playerid, COLOR_GRAD2, " Message delivery failed...");
  21429. return 1;
  21430. }
  21431. CMD:t(playerid, params[])
  21432. {
  21433. return cmd_sms(playerid, params);
  21434. }
  21435. CMD:txt(playerid, params[])
  21436. {
  21437. return cmd_sms(playerid, params);
  21438. }
  21439. CMD:sms(playerid, params[])
  21440. {
  21441. if(gPlayerLogged[playerid] == 0)
  21442. {
  21443. SendClientMessage(playerid, COLOR_GREY, " You haven't logged in yet!");
  21444. return 1;
  21445. }
  21446. if(GetPVarInt(playerid, "Injured") != 0||GetPVarInt(playerid, "Hospital")!=0)
  21447. {
  21448. SendClientMessage (playerid, COLOR_GRAD2, "You can't do this at this time.");
  21449. return 1;
  21450. }
  21451. if(PlayerTied[playerid] != 0 || PlayerCuffed[playerid] != 0)
  21452. {
  21453. SendClientMessage(playerid,COLOR_GREY,"You can't use your phone while you're restrained.");
  21454. return 1;
  21455. }
  21456. new string[128], phonenumb, text[100];
  21457. if(sscanf(params, "ds[100]", phonenumb, text)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: (/t)ext [phonenumber] [text chat]");
  21458. if(PlayerInfo[playerid][pNumber] == 0)
  21459. {
  21460. SendClientMessage(playerid, COLOR_GRAD2, " You don't have a cell phone...");
  21461. return 1;
  21462. }
  21463. if(PlayerInfo[playerid][pJailTime] > 0)
  21464. {
  21465. SendClientMessage(playerid,COLOR_GREY," You can't use your phone while in jail or prison!");
  21466. return 1;
  21467. }
  21468. if(PhoneOnline[playerid] > 0)
  21469. {
  21470. SendClientMessage(playerid, COLOR_GREY, "Your phone is off.");
  21471. return 1;
  21472. }
  21473. if(Spectating[playerid]==0)
  21474. {
  21475. format(string, sizeof(string), "* %s takes out a cellphone.", GetPlayerNameEx(playerid));
  21476. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  21477. }
  21478. if(phonenumb == 555)
  21479. {
  21480. SendClientMessage(playerid, COLOR_GREY, "The number you have dialed has not been recognized.");
  21481. return 1;
  21482. }
  21483. foreach(Player, i)
  21484. {
  21485. if(PlayerInfo[i][pNumber] == phonenumb && phonenumb != 0)
  21486. {
  21487. new giveplayerid = i;
  21488. Mobile[playerid] = giveplayerid; //caller connecting
  21489. if(IsPlayerConnected(giveplayerid)) {
  21490. if(giveplayerid != INVALID_PLAYER_ID) {
  21491. if(PhoneOnline[giveplayerid] > 0) {
  21492. SendClientMessage(playerid, COLOR_GREY, "That player's phone is switched off.");
  21493. Mobile[playerid] = INVALID_PLAYER_ID;
  21494. return 1;
  21495. }
  21496. if(PhonePrivacy[playerid] == 1)
  21497. format(string, sizeof(string), "SMS: %s, Sender: Unknown.", text,GetPlayerNameEx(playerid),PlayerInfo[playerid][pNumber]);
  21498. else format(string, sizeof(string), "SMS: %s, Sender: %s (%d)", text,GetPlayerNameEx(playerid),PlayerInfo[playerid][pNumber]);
  21499. LastSMS[playerid] = PlayerInfo[giveplayerid][pNumber];
  21500. LastSMS[giveplayerid] = PlayerInfo[playerid][pNumber];
  21501. SendClientMessage(giveplayerid, COLOR_YELLOW, string);
  21502. SendClientMessage(playerid, COLOR_YELLOW, string);
  21503. SendClientMessage(playerid, COLOR_WHITE, "Text message delivered.");
  21504. format(string, sizeof(string), "~r~$-%d", txtcost);
  21505. GameTextForPlayer(playerid, string, 5000, 1);
  21506. GivePlayerCash(playerid,-txtcost);
  21507. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  21508. Mobile[playerid] = INVALID_PLAYER_ID;
  21509. return 1;
  21510. }
  21511. }
  21512. }
  21513. }
  21514. SendClientMessage(playerid, COLOR_GRAD2, " Message delivery failed...");
  21515. return 1;
  21516. }
  21517. CMD:p(playerid, params[])
  21518. {
  21519. new string[128];
  21520. if(Mobile[playerid] != INVALID_PLAYER_ID)
  21521. {
  21522. SendClientMessage(playerid, COLOR_GRAD2, " you're already on a call...");
  21523. return 1;
  21524. }
  21525. if(GetPVarInt(playerid, "Injured") != 0||PlayerCuffed[playerid]!=0||GetPVarInt(playerid, "Hospital")!=0)
  21526. {
  21527. SendClientMessage (playerid, COLOR_GRAD2, "You can't do this at this time.");
  21528. return 1;
  21529. }
  21530. foreach(Player, i)
  21531. {
  21532. if(Mobile[i] == playerid)
  21533. {
  21534. Mobile[playerid] = i; //caller connecting
  21535. SendClientMessage(i, COLOR_GRAD2, " They picked up the call.");
  21536. format(string, sizeof(string), "* %s answers their cellphone.", GetPlayerNameEx(playerid));
  21537. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  21538. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USECELLPHONE);
  21539. SetPlayerAttachedObject(playerid, 9, 330, 6);
  21540. }
  21541. }
  21542. return 1;
  21543. }
  21544. CMD:h(playerid,params[])
  21545. {
  21546. new string[128];
  21547. if(GetPVarInt(playerid, "Injured") != 0||PlayerCuffed[playerid]!=0||GetPVarInt(playerid, "Hospital")!=0)
  21548. {
  21549. SendClientMessage (playerid, COLOR_GRAD2, "You can't do this at this time.");
  21550. return 1;
  21551. }
  21552. new caller = Mobile[playerid];
  21553. if((IsPlayerConnected(caller) && caller != INVALID_PLAYER_ID)|| caller == 911 || caller == 912 || caller == 913 || caller == 914)
  21554. {
  21555. if(caller < 500)
  21556. {
  21557. SendClientMessage(caller, COLOR_GRAD2, " They hung up.");
  21558. format(string, sizeof(string), "* %s puts away their cellphone.", GetPlayerNameEx(caller));
  21559. ProxDetector(30.0, caller, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  21560. CellTime[caller] = 0;
  21561. Mobile[caller] = INVALID_PLAYER_ID;
  21562. }
  21563. CellTime[playerid] = 0;
  21564. SendClientMessage(playerid, COLOR_GRAD2, " You hung up.");
  21565. format(string, sizeof(string), "* %s puts away their cellphone.", GetPlayerNameEx(playerid));
  21566. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  21567. Mobile[playerid] = INVALID_PLAYER_ID;
  21568. CellTime[playerid] = 0;
  21569. SetPlayerSpecialAction(caller, SPECIAL_ACTION_STOPUSECELLPHONE);
  21570. RemovePlayerAttachedObject(caller, 9);
  21571. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_STOPUSECELLPHONE);
  21572. RemovePlayerAttachedObject(playerid, 9);
  21573. return 1;
  21574. }
  21575. SendClientMessage(playerid, COLOR_GRAD2, " Your phone is in your pocket.");
  21576. return 1;
  21577. }
  21578. CMD:number(playerid, params[]) {
  21579. if(PlayerInfo[playerid][pPhoneBook] == 1) {
  21580. new
  21581. iTarget;
  21582. if(sscanf(params, "u", iTarget)) {
  21583. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /number [playerid/partofname]");
  21584. }
  21585. else if(IsPlayerConnected(iTarget)) {
  21586. new
  21587. szNumber[16 + MAX_PLAYER_NAME];
  21588. format(szNumber, sizeof(szNumber), "* %s (%i)", GetPlayerNameEx(iTarget), PlayerInfo[iTarget][pNumber]);
  21589. SendClientMessage(playerid, COLOR_GRAD1, szNumber);
  21590. }
  21591. else SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  21592. }
  21593. else SendClientMessage(playerid, COLOR_GRAD1, "You don't have a phone book.");
  21594. return 1;
  21595. }
  21596. CMD:dice(playerid, params[])
  21597. {
  21598. new string[128];
  21599. new dice = random(6)+1;
  21600. if(PlayerInfo[playerid][pDice])
  21601. {
  21602. format(string, sizeof(string), "* %s rolls a dice that lands on %d.", GetPlayerNameEx(playerid),dice);
  21603. ProxDetector(5.0, playerid, string, COLOR_NG,COLOR_NG,COLOR_NG,COLOR_NG,COLOR_NG);
  21604. }
  21605. else
  21606. {
  21607. SendClientMessage(playerid, COLOR_GRAD2, "You don't have a dice.");
  21608. return 1;
  21609. }
  21610. return 1;
  21611. }
  21612. CMD:music(playerid, params[])
  21613. {
  21614. if(PlayerInfo[playerid][pCDPlayer])
  21615. {
  21616. new choice[32];
  21617. if(sscanf(params, "s[32]", choice))
  21618. {
  21619. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /music [name]");
  21620. SendClientMessage(playerid, COLOR_GREY, "Available names: On, Off, Next");
  21621. return 1;
  21622. }
  21623. if(strcmp(choice,"on",true) == 0)
  21624. {
  21625. GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~n~~g~CD Player On", 5000, 5);
  21626. new channel = Music[playerid];
  21627. PlayerPlaySound(playerid, Songs[channel][0], 0.0, 0.0, 0.0);
  21628. }
  21629. else if(strcmp(choice,"off",true) == 0)
  21630. {
  21631. GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~n~~r~CD Player Off", 5000, 5);
  21632. PlayerFixRadio(playerid);
  21633. }
  21634. else if(strcmp(choice,"next",true) == 0)
  21635. {
  21636. if(Music[playerid] == 0) { Music[playerid] = 1; }
  21637. else if(Music[playerid] == 1) { Music[playerid] = 2; }
  21638. else if(Music[playerid] == 2) { Music[playerid] = 3; }
  21639. else if(Music[playerid] == 3) { Music[playerid] = 4; }
  21640. else if(Music[playerid] == 4) { Music[playerid] = 5; }
  21641. else if(Music[playerid] == 5) { Music[playerid] = 6; }
  21642. else if(Music[playerid] == 6) { Music[playerid] = 0; }
  21643. new channel = Music[playerid];
  21644. PlayerPlaySound(playerid, Songs[channel][0], 0.0, 0.0, 0.0);
  21645. }
  21646. else
  21647. {
  21648. SendClientMessage(playerid, COLOR_GREY, " Unknown music command!");
  21649. return 1;
  21650. }
  21651. }
  21652. else
  21653. {
  21654. SendClientMessage(playerid, COLOR_GREY, " You don't have a CD-Player!");
  21655. return 1;
  21656. }
  21657. return 1;
  21658. }
  21659. CMD:colorcar(playerid, params[]) {
  21660. if(!IsPlayerInAnyVehicle(playerid)) {
  21661. return SendClientMessage(playerid, COLOR_GRAD2, "You're not in a vehicle.");
  21662. }
  21663. else if(PlayerInfo[playerid][pSpraycan] == 0) {
  21664. return SendClientMessage(playerid, COLOR_GRAD2, "Your spraycan is empty.");
  21665. }
  21666. new
  21667. iVeh = GetPlayerVehicleID(playerid);
  21668. if(IsAnAmbulance(iVeh) || IsACopCar(iVeh) || IsAFBICar(iVeh) || IsAGovCar(iVeh) || IGMAVeh(iVeh)) {
  21669. return SendClientMessage(playerid, COLOR_GREY, "You can't paint faction vehicles.");
  21670. }
  21671. new
  21672. iColors[2],
  21673. iPlayerVeh;
  21674. if(sscanf(params, "ii", iColors[0], iColors[1])) {
  21675. return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /colorcar [ID 1] [ID 2]. Colors must be an ID.");
  21676. }
  21677. else if(!(0 <= iColors[0] <= 255 && 0 <= iColors[1] <= 255)) {
  21678. return SendClientMessage(playerid, COLOR_GRAD2, "Invalid colour specified (IDs start at 0, and end at 255).");
  21679. }
  21680. foreach(Player, i) {
  21681. iPlayerVeh = GetPlayerVehicle(i, iVeh);
  21682. if(iPlayerVeh != -1) {
  21683. if(i == playerid) PlayerVehicleInfo[playerid][iPlayerVeh][pvColor1] = iColors[0], PlayerVehicleInfo[playerid][iPlayerVeh][pvColor2] = iColors[1];
  21684. else return SendClientMessage(playerid,COLOR_GREY,"You can't spray other people's vehicles.");
  21685. }
  21686. }
  21687. new
  21688. szMessage[60];
  21689. PlayerInfo[playerid][pSpraycan]--;
  21690. format(szMessage, sizeof(szMessage), "You have changed the colors of your vehicle to ID %d, %d.", iColors[0], iColors[1]);
  21691. SendClientMessage(playerid, COLOR_GRAD2, szMessage);
  21692. return ChangeVehicleColor(iVeh, iColors[0], iColors[1]);
  21693. }
  21694. CMD:paintcar(playerid, params[]) {
  21695. if(isnull(params)) {
  21696. return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /paintcar [0-6] (3 to remove a paintjob)");
  21697. }
  21698. else if(!IsPlayerInAnyVehicle(playerid)) {
  21699. return SendClientMessage(playerid, COLOR_GRAD2, "You're not in a vehicle.");
  21700. }
  21701. else if(PlayerInfo[playerid][pSpraycan] == 0) {
  21702. return SendClientMessage(playerid, COLOR_GRAD2, "Your spraycan is empty.");
  21703. }
  21704. new
  21705. iVeh = GetPlayerVehicleID(playerid),
  21706. iPaintID = strval(params),
  21707. iPlayerVeh;
  21708. if(IsAnAmbulance(iVeh) || IsACopCar(iVeh) || IsAFBICar(iVeh) || IsAGovCar(iVeh) || IGMAVeh(iVeh)) {
  21709. return SendClientMessage(playerid, COLOR_GREY, "You can't paint faction vehicles.");
  21710. }
  21711. else if(!(0 <= iPaintID <= 6)) {
  21712. return SendClientMessage(playerid, COLOR_GRAD2, "The specified paint job ID must be between 0 and 6.");
  21713. }
  21714. foreach(Player, i) {
  21715. iPlayerVeh = GetPlayerVehicle(i, iVeh);
  21716. if(iPlayerVeh != -1) {
  21717. if(i == playerid) PlayerVehicleInfo[playerid][iPlayerVeh][pvPaintJob] = iPaintID;
  21718. else return SendClientMessage(playerid,COLOR_GREY,"You can't spray other people's vehicles.");
  21719. }
  21720. }
  21721. ChangeVehiclePaintjob(iVeh, iPaintID);
  21722. PlayerInfo[playerid][pSpraycan]--;
  21723. return SendClientMessage(playerid, COLOR_GRAD2, "You have successfully applied this paint job to your vehicle.");
  21724. }
  21725. CMD:tie(playerid, params[])
  21726. {
  21727. if(PlayerInfo[playerid][pRope] > 0)
  21728. {
  21729. new string[128], giveplayerid;
  21730. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /tie [playerid/partofname]");
  21731. if(IsPlayerConnected(giveplayerid))
  21732. {
  21733. if(PlayerTied[giveplayerid] > 0)
  21734. {
  21735. SendClientMessage(playerid, COLOR_GREY, " Player already Tied!");
  21736. return 1;
  21737. }
  21738. if(PlayerCuffed[giveplayerid] != 0) return SendClientMessage(playerid, COLOR_GREY, "You can't tie a cuffed/tazed player.");
  21739. if(PlayerInfo[giveplayerid][pJailed] >= 1)
  21740. {
  21741. SendClientMessage(playerid, COLOR_WHITE, "You can't tie a prisoned player.");
  21742. return 1;
  21743. }
  21744. if(PlayerInfo[playerid][pRope] == 0)
  21745. {
  21746. SendClientMessage(playerid, COLOR_WHITE, "You don't have any rope left.");
  21747. }
  21748. else
  21749. {
  21750. if(ProxDetectorS(8.0, playerid, giveplayerid))
  21751. {
  21752. new car = GetPlayerVehicleID(playerid);
  21753. if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "You can't tie up yourself!"); return 1; }
  21754. if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == 2 && IsPlayerInVehicle(giveplayerid, car))
  21755. {
  21756. if(PlayerCuffed[giveplayerid] == 1 || PlayerCuffed[giveplayerid] == 2) {
  21757. SendClientMessage(playerid, COLOR_GRAD2, "You can't do this right now.");
  21758. return 1;
  21759. }
  21760. format(string, sizeof(string), "* You were tied up by %s, till untie.", GetPlayerNameEx(playerid));
  21761. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  21762. format(string, sizeof(string), "* You tied %s up, till untie.", GetPlayerNameEx(giveplayerid));
  21763. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  21764. format(string, sizeof(string), "* %s ties %s up, so he wont go anywhere.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  21765. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  21766. GameTextForPlayer(giveplayerid, "~r~Tied", 2500, 3);
  21767. SetPVarInt(giveplayerid, "IsFrozen", 1);
  21768. TogglePlayerControllable(giveplayerid, 0);
  21769. PlayerTied[giveplayerid] = 1;
  21770. PlayerInfo[playerid][pRope]--;
  21771. }
  21772. else
  21773. {
  21774. SendClientMessage(playerid, COLOR_GREY, " Player not in your Car, or you're not the Driver!");
  21775. return 1;
  21776. }
  21777. }
  21778. else
  21779. {
  21780. SendClientMessage(playerid, COLOR_GREY, "That player isn't near you.");
  21781. return 1;
  21782. }
  21783. }
  21784. }
  21785. else
  21786. {
  21787. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  21788. return 1;
  21789. }
  21790. }
  21791. else
  21792. {
  21793. SendClientMessage(playerid, COLOR_GREY, " You don't have a Rope!");
  21794. }
  21795. return 1;
  21796. }
  21797. CMD:untie(playerid, params[])
  21798. {
  21799. new string[128], giveplayerid;
  21800. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /untie [playerid/partofname]");
  21801. if(IsPlayerConnected(giveplayerid))
  21802. {
  21803. if(ProxDetectorS(8.0, playerid, giveplayerid))
  21804. {
  21805. if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "You can't Untie yourself!"); return 1; }
  21806. if(PlayerCuffed[giveplayerid] != 0) return SendClientMessage(playerid, COLOR_GREY, "You can't untie a cuffed/tazed player.");
  21807. if(PlayerTied[giveplayerid])
  21808. {
  21809. DeletePVar(giveplayerid, "IsFrozen");
  21810. format(string, sizeof(string), "* You were untied by %s.", GetPlayerNameEx(playerid));
  21811. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  21812. format(string, sizeof(string), "* You untied %s.", GetPlayerNameEx(giveplayerid));
  21813. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  21814. GameTextForPlayer(giveplayerid, "~g~Untied", 2500, 3);
  21815. TogglePlayerControllable(giveplayerid, 1);
  21816. PlayerTied[giveplayerid] = 0;
  21817. }
  21818. else
  21819. {
  21820. SendClientMessage(playerid, COLOR_GREY, " That player isn't Tied up!");
  21821. return 1;
  21822. }
  21823. }
  21824. else
  21825. {
  21826. SendClientMessage(playerid, COLOR_GREY, "That player isn't near you.");
  21827. return 1;
  21828. }
  21829. }
  21830. else
  21831. {
  21832. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  21833. return 1;
  21834. }
  21835. return 1;
  21836. }
  21837. CMD:usecigar(playerid, params[])
  21838. {
  21839. if(PlayerInfo[playerid][pCigar] > 0)
  21840. {
  21841. if(PlayerCuffed[playerid] >= 1 || GetPVarInt(playerid, "Injured") == 1)
  21842. {
  21843. SendClientMessage(playerid, COLOR_WHITE, "You can't do this right now.");
  21844. return 1;
  21845. }
  21846. new string[128];
  21847. SetPlayerSpecialAction(playerid,SPECIAL_ACTION_SMOKE_CIGGY);
  21848. format(string, sizeof(string), "* %s takes out a cigar and lights it.", GetPlayerNameEx(playerid));
  21849. ProxDetector(15.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  21850. PlayerInfo[playerid][pCigar]--;
  21851. return 1;
  21852. }
  21853. else
  21854. {
  21855. SendClientMessage(playerid, COLOR_GREY, "You don't have any cigars, buy some from the 24/7!");
  21856. return 1;
  21857. }
  21858. }
  21859. CMD:usesprunk(playerid, params[])
  21860. {
  21861. if(PlayerInfo[playerid][pSprunk] > 0) {
  21862. if(PlayerCuffed[playerid] >= 1 || GetPVarInt(playerid, "Injured") == 1)
  21863. return SendClientMessage(playerid, COLOR_WHITE, "You can't do this right now.");
  21864. if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT)
  21865. return SendClientMessage(playerid, COLOR_WHITE, "You must be on foot in order to drink sprunk.");
  21866. if(IsPlayerInAnyVehicle(playerid))
  21867. return SendClientMessage(playerid, COLOR_WHITE, "You can't do this whilst in a vehicle.");
  21868. if(GetPlayerState(playerid) == PLAYER_STATE_ENTER_VEHICLE_DRIVER || GetPlayerState(playerid) == PLAYER_STATE_ENTER_VEHICLE_PASSENGER || GetPlayerState(playerid) == PLAYER_STATE_EXIT_VEHICLE)
  21869. return SendClientMessage(playerid, COLOR_WHITE, "You can't do this whilst in a vehicle.");
  21870. new string[128];
  21871. SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DRINK_SPRUNK);
  21872. format(string, sizeof(string), "* %s opens a can of sprunk.", GetPlayerNameEx(playerid));
  21873. ProxDetector(15.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  21874. SetPVarInt(playerid, "UsingSprunk", 1);
  21875. PlayerInfo[playerid][pSprunk]--;
  21876. return 1;
  21877. }
  21878. else return SendClientMessage(playerid, COLOR_GREY, "You don't have any sprunk, buy some from the 24/7!");
  21879. }
  21880. CMD:pr(playerid, params[])
  21881. {
  21882. if(PlayerInfo[playerid][pRadio] == 1)
  21883. {
  21884. if(isnull(params))
  21885. {
  21886. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /pr [chat]");
  21887. SendClientMessage(playerid, COLOR_GRAD2, "HINT: Type /setfreq to set the frequency of your portable radio.");
  21888. return 1;
  21889. }
  21890. if(PlayerInfo[playerid][pRadioFreq] >= 1 || PlayerInfo[playerid][pRadioFreq] <= -1)
  21891. {
  21892. if(GetPVarInt(playerid, "Injured") != 0||PlayerCuffed[playerid]!=0||GetPVarInt(playerid, "Hospital")!=0)
  21893. {
  21894. SendClientMessage (playerid, COLOR_GRAD2, "You can't do this at this time.");
  21895. return 1;
  21896. }
  21897. RadioBroadCast(playerid, params);
  21898. return 1;
  21899. }
  21900. else
  21901. {
  21902. SendClientMessage(playerid, COLOR_GRAD2, "The frequency of your radio is set to 0, you can't broadcast over that frequency.");
  21903. }
  21904. }
  21905. else
  21906. {
  21907. SendClientMessage(playerid, COLOR_GRAD2, "You do not have a portable radio!");
  21908. }
  21909. return 1;
  21910. }
  21911. CMD:setfreq(playerid, params[])
  21912. {
  21913. new string[128], frequency;
  21914. if(sscanf(params, "d", frequency))
  21915. {
  21916. SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /setfreq [frequency]");
  21917. SendClientMessage(playerid, COLOR_GRAD2, "HINT: Set the frequency of your radio to 0 if you don't want to hear anything.");
  21918. return 1;
  21919. }
  21920. if(frequency > 9999999 || frequency < -9999999) { SendClientMessage(playerid, COLOR_GREY, "Frequency can't be lower than -9999999 or higher than 9999999!"); return 1; }
  21921. if(PlayerInfo[playerid][pRadio] == 1)
  21922. {
  21923. PlayerInfo[playerid][pRadioFreq] = frequency;
  21924. format(string, sizeof(string), "You have set the frequency of your portable radio to %d kHz.",frequency);
  21925. SendClientMessage(playerid, COLOR_WHITE, string);
  21926. }
  21927. else
  21928. {
  21929. SendClientMessage(playerid, COLOR_GRAD2, "You do not have a portable radio!");
  21930. }
  21931. return 1;
  21932. }
  21933. CMD:noooc(playerid, params[])
  21934. {
  21935. if(PlayerInfo[playerid][pAdmin] >= 3)
  21936. {
  21937. if(!noooc)
  21938. {
  21939. noooc = 1;
  21940. SendClientMessageToAllEx(COLOR_GRAD2, " OOC chat channel disabled by an Admin!");
  21941. }
  21942. else
  21943. {
  21944. noooc = 0;
  21945. SendClientMessageToAllEx(COLOR_GRAD2, " OOC chat channel enabled by an Admin!");
  21946. }
  21947. }
  21948. else
  21949. {
  21950. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  21951. }
  21952. return 1;
  21953. }
  21954. CMD:o(playerid, params[])
  21955. {
  21956. if(gPlayerLogged[playerid] == 0)
  21957. {
  21958. SendClientMessage(playerid, COLOR_GREY, "You're not logged in.");
  21959. return 1;
  21960. }
  21961. if((noooc) && PlayerInfo[playerid][pAdmin] < 1 && EventKernel[EventCreator] != playerid)
  21962. {
  21963. SendClientMessage(playerid, COLOR_GRAD2, " The OOC channel has been disabled by an Admin!");
  21964. return 1;
  21965. }
  21966. if(isnull(params))
  21967. return SendClientMessage(playerid, COLOR_WHITE, "USAGE: (/o)oc [ooc chat]");
  21968. else if(PlayerInfo[playerid][pAdmin] >= 1)
  21969. {
  21970. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  21971. {
  21972. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  21973. return 1;
  21974. }
  21975. new string[128];
  21976. format(string, sizeof(string), "(( Admin %s: %s ))", GetPlayerNameEx(playerid), params);
  21977. SendClientMessageToAllEx(COLOR_OOC,string);
  21978. }
  21979. return 1;
  21980. }
  21981. CMD:eventhelp(playerid, params[])
  21982. {
  21983. if(PlayerInfo[playerid][pAdmin] >= 4 || EventKernel[EventCreator] == playerid)
  21984. {
  21985. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  21986. {
  21987. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  21988. return 1;
  21989. }
  21990. SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
  21991. SendClientMessage(playerid, COLOR_GRAD4,"*** EVENT HELP *** type a command for more information");
  21992. SendClientMessage(playerid, COLOR_WHITE,"*** EVENT HELP *** /seteventpos /seteventinfo /startevent /lockevent /endevent /announceevent /beginevent");
  21993. SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
  21994. }
  21995. return 1;
  21996. }
  21997. CMD:eventstaff(playerid, params[])
  21998. {
  21999. if(PlayerInfo[ playerid ][ pAdmin ] >= 1)
  22000. {
  22001. if(EventKernel[EventJoinStaff] == 1) {
  22002. for(new i; i < sizeof(EventKernel[EventStaff]); i++) if(EventKernel[EventStaff][i] == 999) {
  22003. SetPVarInt(playerid, "EventToken", 1);
  22004. GetPlayerHealth(playerid, EventFloats[playerid][4]);
  22005. GetPlayerArmour(playerid, EventFloats[playerid][5]);
  22006. EventLastVW[playerid] = GetPlayerVirtualWorld(playerid);
  22007. EventLastInt[playerid] = GetPlayerInterior(playerid);
  22008. GetPlayerPos(playerid, EventFloats[playerid][1], EventFloats[playerid][2], EventFloats[playerid][3]);
  22009. GetPlayerFacingAngle(playerid, EventFloats[playerid][0]);
  22010. SetPlayerPos(playerid, EventKernel[ EventPositionX ], EventKernel[ EventPositionY ], EventKernel[ EventPositionZ ]);
  22011. SetPlayerInterior(playerid, EventKernel[ EventInterior ]);
  22012. SetPlayerHealth(playerid, 999999);
  22013. SetPlayerVirtualWorld(playerid, EventKernel[ EventWorld ]);
  22014. GivePlayerValidAdminWeapon(playerid, 38, 60000);
  22015. EventKernel[EventStaff][i] = playerid;
  22016. return SendClientMessage(playerid, COLOR_WHITE, "You have joined the event staff.");
  22017. }
  22018. SendClientMessage(playerid, COLOR_GRAD2, "Unable to join the event staff, max is 5.");
  22019. }
  22020. }
  22021. return 1;
  22022. }
  22023. CMD:seteventpos(playerid, params[])
  22024. {
  22025. if(PlayerInfo[playerid][pAdmin] >= 4)
  22026. {
  22027. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  22028. {
  22029. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  22030. return 1;
  22031. }
  22032. if(PlayerInfo[playerid][pAdmin] >= 4 || EventKernel[EventCreator] == playerid)
  22033. {
  22034. new string[128];
  22035. GetPlayerPos(playerid, EventKernel[EventPositionX], EventKernel[EventPositionY], EventKernel[EventPositionZ]);
  22036. EventKernel[EventInterior] = GetPlayerInterior(playerid);
  22037. EventKernel[EventWorld] = GetPlayerVirtualWorld(playerid);
  22038. SendClientMessage(playerid, COLOR_WHITE, "You have sucessfully adjusted the event position, type /seteventinfo to change the event properties.");
  22039. EventKernel[EventJoinStaff] = 1;
  22040. format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s has started an event, type /eventstaff if you want to be in the event staff.", GetPlayerNameEx(playerid));
  22041. ABroadCast(COLOR_YELLOW, string, 1);
  22042. }
  22043. else
  22044. {
  22045. SendClientMessage(playerid, COLOR_GRAD2, "You're not making an event, or you're not the correct admin level.");
  22046. }
  22047. }
  22048. return 1;
  22049. }
  22050. CMD:seteventinfo(playerid, params[])
  22051. {
  22052. if(PlayerInfo[ playerid ][ pAdmin ] >= 4)
  22053. {
  22054. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  22055. {
  22056. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  22057. return 1;
  22058. }
  22059. if(PlayerInfo[playerid][pAdmin] >= 4 || EventKernel[EventCreator] == playerid)
  22060. { // No VIP yet
  22061. //SendClientMessage(playerid, COLOR_WHITE, "USAGE: /seteventtype /editevent /seteventviponly (once ready, type /startevent)");
  22062. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /seteventtype /editevent (once ready, type /startevent)");
  22063. return 1;
  22064. }
  22065. }
  22066. return 1;
  22067. }
  22068. CMD:atip(playerid, params[]) {
  22069. if(PlayerInfo[playerid][pAdmin] >= 3) {
  22070. new
  22071. iTarget;
  22072. if(sscanf(params, "u", iTarget))
  22073. return SendClientMessage(playerid, COLOR_GREY, "USAGE: /atip [playerid]");
  22074. if(iTarget == INVALID_PLAYER_ID)
  22075. return SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  22076. if(playerTabbedTime[iTarget] <= 0)
  22077. return SendClientMessage(playerid, COLOR_GREY, "The specified player is not currently tabbed, you can just teleport them.");
  22078. playerTabbedTime[iTarget] = 3599;
  22079. new
  22080. szMessage[86];
  22081. format(szMessage, sizeof(szMessage), "You have teleported %s away for alt-tabbing in public area(s).", GetPlayerNameEx(iTarget));
  22082. SendClientMessage(playerid, COLOR_WHITE, szMessage);
  22083. }
  22084. return 1;
  22085. }
  22086. CMD:seteventtype(playerid, params[])
  22087. {
  22088. if(PlayerInfo[playerid][pAdmin] >= 4)
  22089. {
  22090. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  22091. {
  22092. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  22093. return 1;
  22094. }
  22095. if(PlayerInfo[playerid][pAdmin] >= 4 || EventKernel[EventCreator] == playerid)
  22096. {
  22097. if(isnull(params))
  22098. {
  22099. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /seteventtype [type]");
  22100. SendClientMessage(playerid, COLOR_GREY, "Available names: DM, TDM, Zombie");
  22101. return 1;
  22102. }
  22103. if(strcmp(params,"dm",true) == 0)
  22104. {
  22105. EventKernel[ EventType ] = 1;
  22106. SendClientMessage(playerid, COLOR_WHITE, "You have sucessfully adjusted the event type to DM.");
  22107. }
  22108. else if(strcmp(params,"tdm",true) == 0)
  22109. {
  22110. EventKernel[ EventType ] = 2;
  22111. SendClientMessage(playerid, COLOR_WHITE, "You have sucessfully adjusted the event type to TDM.");
  22112. }
  22113. else if(strcmp(params,"zombie",true) == 0)
  22114. {
  22115. EventKernel[ EventType ] = 4;
  22116. SendClientMessageEx(playerid, COLOR_WHITE, "You have sucessfully adjusted the event type to Zombie Event.");
  22117. }
  22118. /*else if(strcmp(params,"race",true) == 0)
  22119. {
  22120. EventKernel[ EventType ] = 3;
  22121. SendClientMessage(playerid, COLOR_WHITE, "You have sucessfully adjusted the event type to Race.");
  22122. }*/
  22123. else if(strcmp(params,"none",true) == 0)
  22124. {
  22125. EventKernel[ EventType ] = 0;
  22126. SendClientMessage(playerid, COLOR_WHITE, "You have sucessfully adjusted the event type to None.");
  22127. }
  22128. }
  22129. }
  22130. return 1;
  22131. }
  22132. CMD:editevent(playerid, params[])
  22133. {
  22134. if(PlayerInfo[playerid][pAdmin] >= 4)
  22135. {
  22136. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  22137. {
  22138. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  22139. return 1;
  22140. }
  22141. if(PlayerInfo[playerid][pAdmin] >= 4 || EventKernel[EventCreator] == playerid)
  22142. {
  22143. new choice[32], opstring[64];
  22144. if(EventKernel[EventType] == 1)
  22145. {
  22146. if(sscanf(params, "s[32]S[64]", choice, opstring))
  22147. {
  22148. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /editevent [name]");
  22149. SendClientMessage(playerid, COLOR_GREY, "Available names: Jointext, Limit, Health, Armor, Gun1, Gun2, Gun3, Gun4, Gun5, Heal, Anims");
  22150. return 1;
  22151. }
  22152. }
  22153. else if(EventKernel[EventType] == 2)
  22154. {
  22155. if(sscanf(params, "s[32]S[64]", choice, opstring))
  22156. {
  22157. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /editevent [name]");
  22158. SendClientMessage(playerid, COLOR_GREY, "Available names: Jointext, Limit, Team1Skin, Team2Skin, Team1Color, Team2Color");
  22159. SendClientMessage(playerid, COLOR_GREY, "Team1Spawn, Team2Spawn, Health, Armor, Gun1, Gun2, Gun3, Gun4, Gun5, Heal, Anims");
  22160. return 1;
  22161. }
  22162. }
  22163. /*else if(EventKernel[EventType] == 3)
  22164. {
  22165. if(sscanf(params, "s[32]S("")[64]", choice, opstring))
  22166. {
  22167. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /editevent [name]");
  22168. SendClientMessage(playerid, COLOR_GREY, "Available names: Jointext, Limit, Health, Hours, CheckPoints, RaceType(Future Development), OnFoot(0/1)");
  22169. return 1;
  22170. }
  22171. }*/
  22172. else if(EventKernel[EventType] == 4)
  22173. {
  22174. if(sscanf(params, "s[32]S[64]", choice, opstring))
  22175. {
  22176. SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /editevent [name]");
  22177. SendClientMessageEx(playerid, COLOR_GREY, "Available names: Jointext, Limit, Health, Armor, Gun1, Gun2, Gun3, Gun4, Gun5");
  22178. return 1;
  22179. }
  22180. }
  22181. else
  22182. {
  22183. SendClientMessage(playerid, COLOR_GREY, "You need to set the event type first!");
  22184. return 1;
  22185. }
  22186. if(strcmp(choice, "jointext",true) == 0)
  22187. {
  22188. if(!opstring[0])
  22189. {
  22190. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /editevent jointext [text]");
  22191. return 1;
  22192. }
  22193. strmid(EventKernel[EventInfo], opstring, 0, strlen(opstring), 64);
  22194. SendClientMessage(playerid, COLOR_WHITE, "You have sucessfully adjusted the event join text.");
  22195. }
  22196. else if(strcmp(choice, "health", true) == 0)
  22197. {
  22198. if(EventKernel[EventType] != 2 && EventKernel[EventType] != 1 && EventKernel[EventType] != 4 && EventKernel[EventType] != 3)
  22199. {
  22200. SendClientMessage(playerid, COLOR_GRAD2, "This name is not available for this event type.");
  22201. return 1;
  22202. }
  22203. if(!opstring[0])
  22204. {
  22205. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /editevent health [health]");
  22206. return 1;
  22207. }
  22208. new Float: health;
  22209. health = floatstr(opstring);
  22210. EventKernel[EventHealth] = health;
  22211. SendClientMessage(playerid, COLOR_WHITE, "You have sucessfully adjusted the event health.");
  22212. }
  22213. else if(strcmp(choice, "armor", true) == 0)
  22214. {
  22215. if(EventKernel[EventType] != 2 && EventKernel[EventType] != 4 && EventKernel[EventType] != 1)
  22216. {
  22217. SendClientMessage(playerid, COLOR_WHITE, "This name is not available for this event type.");
  22218. return 1;
  22219. }
  22220. if(!opstring[0])
  22221. {
  22222. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /editevent armor [armor]");
  22223. return 1;
  22224. }
  22225. new Float: armor;
  22226. armor = floatstr(opstring);
  22227. EventKernel[EventArmor] = armor;
  22228. SendClientMessage(playerid, COLOR_WHITE, "You have sucessfully adjusted the event armor.");
  22229. }
  22230. else if(strcmp(choice, "team1skin", true) == 0)
  22231. {
  22232. if(EventKernel[EventType] != 2)
  22233. {
  22234. SendClientMessage(playerid, COLOR_WHITE, "This name is not available for this event type.");
  22235. return 1;
  22236. }
  22237. if(!opstring[0])
  22238. {
  22239. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /editevent team1skin [skinid]");
  22240. return 1;
  22241. }
  22242. new skin;
  22243. skin = strval(opstring);
  22244. EventKernel[EventTeamSkin][0] = skin;
  22245. SendClientMessage(playerid, COLOR_WHITE, "You have sucessfully adjusted the event team 1 skin.");
  22246. }
  22247. else if(strcmp(choice, "team2skin", true) == 0)
  22248. {
  22249. if(EventKernel[EventType] != 2)
  22250. {
  22251. SendClientMessage(playerid, COLOR_GRAD2, "This name is not available for this event type.");
  22252. return 1;
  22253. }
  22254. if(!opstring[0])
  22255. {
  22256. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /editevent team2skin [skinid]");
  22257. return 1;
  22258. }
  22259. new skin;
  22260. skin = strval(opstring);
  22261. EventKernel[EventTeamSkin][1] = skin;
  22262. SendClientMessage(playerid, COLOR_WHITE, "You have sucessfully adjusted the event team 2 skin.");
  22263. }
  22264. else if(strcmp(choice, "team1color", true) == 0)
  22265. {
  22266. if(EventKernel[EventType] != 2)
  22267. {
  22268. SendClientMessage(playerid, COLOR_GRAD2, "This name is not available for this event type.");
  22269. return 1;
  22270. }
  22271. if(!strlen(opstring))
  22272. {
  22273. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /editevent team1color [color]");
  22274. SendClientMessage(playerid, COLOR_GREY, "black | white | blue | red | green | purple | yellow | lightblue |");
  22275. SendClientMessage(playerid, COLOR_GREY, "darkgreen | darkblue | darkgrey | brown | darkbrown | darkred | pink ");
  22276. return 1;
  22277. }
  22278. EventKernel[EventTeamColor][0] = GetColorCode(opstring);
  22279. SendClientMessage(playerid, COLOR_WHITE, "You have sucessfully adjusted the event team 1 color.");
  22280. }
  22281. else if(strcmp(choice, "team2color", true) == 0)
  22282. {
  22283. if(EventKernel[EventType] != 2)
  22284. {
  22285. SendClientMessage(playerid, COLOR_GRAD2, "This name is not available for this event type.");
  22286. return 1;
  22287. }
  22288. if(!strlen(opstring))
  22289. {
  22290. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /editevent team2color [color]");
  22291. SendClientMessage(playerid, COLOR_GREY, "black | white | blue | red | green | purple | yellow | lightblue |");
  22292. SendClientMessage(playerid, COLOR_GREY, "darkgreen | darkblue | darkgrey | brown | darkbrown | darkred | pink ");
  22293. return 1;
  22294. }
  22295. EventKernel[EventTeamColor][1] = GetColorCode(opstring);
  22296. SendClientMessage(playerid, COLOR_WHITE, "You have sucessfully adjusted the event team 2 color.");
  22297. }
  22298. else if(strcmp(choice, "team1spawn", true) == 0)
  22299. {
  22300. if(EventKernel[EventType] != 2)
  22301. {
  22302. SendClientMessage(playerid, COLOR_GRAD2, "This name is not available for this event type.");
  22303. return 1;
  22304. }
  22305. GetPlayerPos(playerid, EventKernel[ EventTeamPosX1 ], EventKernel[ EventTeamPosY1 ], EventKernel[ EventTeamPosZ1 ]);
  22306. SendClientMessage(playerid, COLOR_WHITE, "You have sucessfully adjusted team 1's spawn position.");
  22307. }
  22308. else if(strcmp(choice, "team2spawn", true) == 0)
  22309. {
  22310. if(EventKernel[EventType] != 2)
  22311. {
  22312. SendClientMessage(playerid, COLOR_GRAD2, "This feature is not available for this event type.");
  22313. return 1;
  22314. }
  22315. GetPlayerPos(playerid, EventKernel[ EventTeamPosX2 ], EventKernel[ EventTeamPosY2 ], EventKernel[ EventTeamPosZ2 ]);
  22316. SendClientMessage(playerid, COLOR_WHITE, "You have sucessfully adjusted team 2's spawn position.");
  22317. }
  22318. else if(strcmp(choice, "limit", true) == 0)
  22319. {
  22320. if(EventKernel[EventTime] != 0)
  22321. return SendClientMessage(playerid, COLOR_GRAD2, "This feature is not available for this event, everyone is free to join. If you want to enable this please set the hours to 0.");
  22322. if(!opstring[0])
  22323. {
  22324. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /editevent limit [limit 0-60]");
  22325. return 1;
  22326. }
  22327. new limit;
  22328. limit = strval(opstring);
  22329. if(limit < 0 || limit > 60) return SendClientMessage(playerid, COLOR_RED, "You can't adjust the event limit higher than 60 or below 0");
  22330. EventKernel[EventLimit] = limit;
  22331. SendClientMessage(playerid, COLOR_WHITE, "You have sucessfully adjusted the players in event limit.");
  22332. }
  22333. else if(strcmp(choice, "heal", true) == 0)
  22334. {
  22335. if(EventKernel[EventTime] != 0)
  22336. return SendClientMessage(playerid, COLOR_GRAD2, "This feature is not available for this event, everyone is free to join. If you want to enable this please set the hours to 0.");
  22337. if(!opstring[0])
  22338. {
  22339. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /editevent heal [1/2]");
  22340. return 1;
  22341. }
  22342. new heal;
  22343. heal = strval(opstring);
  22344. if(heal < 0 || heal > 2) return SendClientMessage(playerid, COLOR_RED, "You can't adjust the event heal higher than 1 or below 2");
  22345. EventKernel[EventHeal] = heal;
  22346. SendClientMessage(playerid, COLOR_WHITE, "You have sucessfully adjusted the event heal.");
  22347. }
  22348. else if(strcmp(choice, "anims", true) == 0)
  22349. {
  22350. if(EventKernel[EventTime] != 0)
  22351. return SendClientMessage(playerid, COLOR_GRAD2, "This feature is not available for this event, everyone is free to join. If you want to enable this please set the hours to 0.");
  22352. if(!opstring[0])
  22353. {
  22354. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /editevent anims [1/2]");
  22355. return 1;
  22356. }
  22357. new heal;
  22358. heal = strval(opstring);
  22359. if(heal < 0 || heal > 2) return SendClientMessage(playerid, COLOR_RED, "You can't adjust the event anims higher than 1 or below 2");
  22360. EventKernel[EventAnim] = heal;
  22361. SendClientMessage(playerid, COLOR_WHITE, "You have sucessfully adjusted the event anim.");
  22362. }
  22363. /*else if(strcmp(choice, "hours", true) == 0)
  22364. {
  22365. if(EventKernel[EventType] != 3)
  22366. {
  22367. SendClientMessage(playerid, COLOR_GRAD2, "This feature is not available for this event type.");
  22368. return 1;
  22369. }
  22370. if(!opstring[0])
  22371. {
  22372. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /editevent hours [hours 0-5]");
  22373. return 1;
  22374. }
  22375. new hours, seconds;
  22376. hours = strval(opstring);
  22377. if(hours < 0 || hours > 5) return SendClientMessage(playerid, COLOR_RED, "You can't adjust the event hours higher than 5 or below 0");
  22378. seconds = hours*3600;
  22379. EventKernel[EventTime] = seconds;
  22380. SendClientMessage(playerid, COLOR_WHITE, "You have sucessfully adjusted the event hours that the event will be active for, timer will start once you fully start the event.");
  22381. SendClientMessage(playerid, COLOR_GREY, "NOTE: If you set the event hours to 0 the event will finish once the last racer goes into the last checkpoint.");
  22382. if(hours != 0)
  22383. SendClientMessage(playerid, COLOR_YELLOW, "The feature players in event limit(/editevent limit) is now disabled since you changed the hours more than 0.");
  22384. }
  22385. else if(strcmp(choice, "checkpoints", true) == 0)
  22386. {
  22387. if(EventKernel[EventType] != 3)
  22388. {
  22389. SendClientMessage(playerid, COLOR_GRAD2, "This feature is not available for this event type.");
  22390. return 1;
  22391. }
  22392. ConfigEventCPs[playerid][0] = 1;
  22393. ConfigEventCPs[playerid][1] = 0;
  22394. ConfigEventCPs[playerid][2] = 0;
  22395. ConfigEventCPId[playerid] = 0;
  22396. new string[279];
  22397. format(string,sizeof(string),"Welcome to the race checkpoint configuration system!\nThis is a quick guide on the steps you need to follow to successfully get the race checkpoints done.\nFirst and most important you need to remember to make the checkpoints in order, from the start line to the end line.");
  22398. ShowPlayerDialogEx(playerid,RCPINTRO,DIALOG_STYLE_MSGBOX,"Race Checkpoints Introduction",string,"Next","Skip");
  22399. }
  22400. else if(strcmp(choice, "onfoot", true) == 0)
  22401. {
  22402. if(EventKernel[EventFootRace])
  22403. {
  22404. EventKernel[EventFootRace] = 0;
  22405. SendClientMessage(playerid, COLOR_GRAD2, "You have toggled off the onfoot feature, people can use vehicles(Future development, please don't use not working proprely)");
  22406. }
  22407. else {
  22408. EventKernel[EventFootRace] = 1;
  22409. SendClientMessage(playerid, COLOR_GRAD2, "You have toggled on the onfoot feature, people can't use vehicles.");
  22410. }
  22411. }*/
  22412. else if(strcmp(choice, "gun1", true) == 0)
  22413. {
  22414. if(EventKernel[EventType] != 2 && EventKernel[EventType] != 4 && EventKernel[EventType] != 1)
  22415. {
  22416. SendClientMessage(playerid, COLOR_GRAD2, "This name is not available for this event type.");
  22417. return 1;
  22418. }
  22419. if(!opstring[0])
  22420. {
  22421. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /editevent gun1 [weaponid]");
  22422. return 1;
  22423. }
  22424. new weapon;
  22425. weapon = strval(opstring);
  22426. if(weapon == 16 || weapon == 18 || weapon == 35 || weapon == 37 || weapon == 38 || weapon == 39) return SendClientMessage(playerid, COLOR_WHITE, "This weapon can't be set as an event weapon!");
  22427. EventKernel[EventWeapons][0] = weapon;
  22428. SendClientMessage(playerid, COLOR_WHITE, "You have sucessfully adjusted the event gun 1.");
  22429. }
  22430. else if(strcmp(choice, "gun2", true) == 0)
  22431. {
  22432. if(EventKernel[EventType] != 2 && EventKernel[EventType] != 4 && EventKernel[EventType] != 1)
  22433. {
  22434. SendClientMessage(playerid, COLOR_GRAD2, "This name is not available for this event type.");
  22435. return 1;
  22436. }
  22437. if(!opstring[0])
  22438. {
  22439. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /editevent gun1 [weaponid]");
  22440. return 1;
  22441. }
  22442. new weapon;
  22443. weapon = strval(opstring);
  22444. if(weapon == 16 || weapon == 18 || weapon == 35 || weapon == 37 || weapon == 38 || weapon == 39) return SendClientMessage(playerid, COLOR_WHITE, "This weapon can't be set as an event weapon!");
  22445. EventKernel[EventWeapons][1] = weapon;
  22446. SendClientMessage(playerid, COLOR_WHITE, "You have sucessfully adjusted the event gun 2.");
  22447. }
  22448. else if(strcmp(choice, "gun3", true) == 0)
  22449. {
  22450. if(EventKernel[EventType] != 2 && EventKernel[EventType] != 4 && EventKernel[EventType] != 1)
  22451. {
  22452. SendClientMessage(playerid, COLOR_GRAD2, "This name is not available for this event type.");
  22453. return 1;
  22454. }
  22455. if(!opstring[0])
  22456. {
  22457. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /editevent gun1 [weaponid]");
  22458. return 1;
  22459. }
  22460. new weapon;
  22461. weapon = strval(opstring);
  22462. if(weapon == 16 || weapon == 18 || weapon == 35 || weapon == 37 || weapon == 38 || weapon == 39) return SendClientMessage(playerid, COLOR_WHITE, "This weapon can't be set as an event weapon!");
  22463. EventKernel[EventWeapons][2] = weapon;
  22464. SendClientMessage(playerid, COLOR_WHITE, "You have sucessfully adjusted the event gun 3.");
  22465. }
  22466. else if(strcmp(choice, "gun4", true) == 0)
  22467. {
  22468. if(EventKernel[EventType] != 2 && EventKernel[EventType] != 4 && EventKernel[EventType] != 1)
  22469. {
  22470. SendClientMessage(playerid, COLOR_GRAD2, "This name is not available for this event type.");
  22471. return 1;
  22472. }
  22473. if(!opstring[0])
  22474. {
  22475. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /editevent gun1 [weaponid]");
  22476. return 1;
  22477. }
  22478. new weapon;
  22479. weapon = strval(opstring);
  22480. if(weapon == 35 || weapon == 37 || weapon == 38) return SendClientMessage(playerid, COLOR_WHITE, "This weapon can't be set as an event weapon!");
  22481. EventKernel[EventWeapons][3] = weapon;
  22482. SendClientMessage(playerid, COLOR_WHITE, "You have sucessfully adjusted the event gun 4.");
  22483. }
  22484. else if(strcmp(choice, "gun5", true) == 0)
  22485. {
  22486. if(EventKernel[EventType] != 2 && EventKernel[EventType] != 4 && EventKernel[EventType] != 1)
  22487. {
  22488. SendClientMessage(playerid, COLOR_GRAD2, "This name is not available for this event type.");
  22489. return 1;
  22490. }
  22491. if(!opstring[0])
  22492. {
  22493. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /editevent gun1 [weaponid]");
  22494. return 1;
  22495. }
  22496. new weapon;
  22497. weapon = strval(opstring);
  22498. if(weapon == 35 || weapon == 37 || weapon == 38) return SendClientMessage(playerid, COLOR_WHITE, "This weapon can't be set as an event weapon!");
  22499. EventKernel[EventWeapons][4] = weapon;
  22500. SendClientMessage(playerid, COLOR_WHITE, "You have sucessfully adjusted the event gun 5.");
  22501. }
  22502. }
  22503. }
  22504. return 1;
  22505. }
  22506. CMD:playersleft(playerid, params[])
  22507. {
  22508. if(PlayerInfo[playerid][pAdmin] >= 1)
  22509. {
  22510. new string[128], Float:playerhp, Float:playerarmor;
  22511. new playercount = 0;
  22512. foreach(Player, i)
  22513. {
  22514. if(GetPVarInt(i, "EventToken") == 1)
  22515. {
  22516. GetPlayerArmour(playerid, playerarmor);
  22517. GetPlayerHealth(playerid, playerhp);
  22518. format(string, sizeof(string), "ID: %d | Name: %s | Health: %.1f | Armor: %.1f", i, GetPlayerNameEx(i), playerhp, playerarmor);
  22519. SendClientMessageEx(playerid, COLOR_WHITE, string);
  22520. playercount++;
  22521. }
  22522. }
  22523. if(playercount > 0)
  22524. {
  22525. format(string, sizeof(string), "Players Left: %d", playercount);
  22526. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string);
  22527. }
  22528. }
  22529. return 1;
  22530. }
  22531. CMD:endevent(playerid, params[])
  22532. {
  22533. if(PlayerInfo[playerid][pAdmin] >= 3 || EventKernel[EventCreator] == playerid)
  22534. {
  22535. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 5)
  22536. {
  22537. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  22538. return 1;
  22539. }
  22540. if(EventKernel[EventStatus] != 0)
  22541. {
  22542. foreach(Player, i)
  22543. {
  22544. if(GetPVarInt(i, "EventToken") == 1) {
  22545. if(EventKernel[EventType] == 3) {
  22546. DisablePlayerCheckpoint(i);
  22547. } else {
  22548. if(EventKernel[EventType] == 4)
  22549. {
  22550. if(GetPVarType(i, "pEventZombie")) DeletePVar(i, "pEventZombie");
  22551. }
  22552. ResetPlayerWeapons(i);
  22553. SetPlayerWeapons(i);
  22554. SetPlayerToTeamColor(i);
  22555. EventTeam[i] = -1;
  22556. SetPlayerSkin(i, PlayerInfo[i][pSkin]);
  22557. SetPlayerPos(i,EventFloats[i][1],EventFloats[i][2],EventFloats[i][3]);
  22558. SetPlayerVirtualWorld(i, EventLastVW[i]);
  22559. SetPlayerFacingAngle(i, EventFloats[i][0]);
  22560. SetPlayerInterior(i,EventLastInt[i]);
  22561. SetPlayerHealth(i, EventFloats[i][4]);
  22562. SetPlayerArmourEx(i, EventFloats[i][5]);
  22563. for(new d = 0; d < 6; d++)
  22564. {
  22565. EventFloats[i][d] = 0.0;
  22566. }
  22567. EventLastVW[i] = 0;
  22568. EventLastInt[i] = 0;
  22569. }
  22570. SetPVarInt(i, "EventToken", 0);
  22571. SendClientMessage(i, COLOR_YELLOW, "You have been removed from the event as it has been terminated by an Admin.");
  22572. }
  22573. }
  22574. EventKernel[EventPositionX] = 0;
  22575. EventKernel[EventPositionY] = 0;
  22576. EventKernel[EventPositionZ] = 0;
  22577. EventKernel[EventTeamPosX1] = 0;
  22578. EventKernel[EventTeamPosY1] = 0;
  22579. EventKernel[EventTeamPosZ1] = 0;
  22580. EventKernel[EventTeamPosX2] = 0;
  22581. EventKernel[EventTeamPosY2] = 0;
  22582. EventKernel[EventTeamPosZ2] = 0;
  22583. EventKernel[EventStatus] = 0;
  22584. EventKernel[EventType] = 0;
  22585. EventKernel[EventHealth] = 0;
  22586. EventKernel[EventLimit] = 0;
  22587. EventKernel[EventPlayers] = 0;
  22588. EventKernel[EventWeapons][0] = 0;
  22589. EventKernel[EventWeapons][1] = 0;
  22590. EventKernel[EventWeapons][2] = 0;
  22591. EventKernel[EventWeapons][3] = 0;
  22592. EventKernel[EventWeapons][4] = 0;
  22593. EventKernel[EventCreator] = 999;
  22594. EventKernel[VipOnly] = 0;
  22595. EventKernel[EventJoinStaff] = 0;
  22596. SendClientMessageToAllEx(COLOR_LIGHTBLUE, "* The event has been finished by an Admin.");
  22597. }
  22598. else
  22599. {
  22600. SendClientMessage(playerid, COLOR_WHITE, "There isn't an active event at the moment.");
  22601. }
  22602. }
  22603. return 1;
  22604. }
  22605. CMD:startevent(playerid, params[]) {
  22606. if(PlayerInfo[playerid][pAdmin] >= 4){
  22607. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  22608. return SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  22609. if(EventKernel[EventStatus] == 0) {
  22610. if(PlayerInfo[playerid][pAdmin] >= 4)
  22611. {
  22612. if(EventKernel[EventHealth] == 0)
  22613. {
  22614. SendClientMessage(playerid, COLOR_GRAD2, "You did not set the event health!");
  22615. return 1;
  22616. }
  22617. if((EventKernel[EventPositionX] == 0 || EventKernel[EventPositionY] == 0 || EventKernel[EventPositionZ] == 0) && EventKernel[EventType] != 3)
  22618. {
  22619. SendClientMessage(playerid, COLOR_GRAD2, "You did not set the event position!");
  22620. return 1;
  22621. }
  22622. if((EventKernel[EventTeamPosX1] == 0 || EventKernel[EventTeamPosY1] == 0 || EventKernel[EventTeamPosZ1] == 0) && EventKernel[EventType] == 2)
  22623. {
  22624. SendClientMessage(playerid, COLOR_GRAD2, "You did not set team 1's spawn position!");
  22625. return 1;
  22626. }
  22627. if((EventKernel[EventTeamPosX2] == 0 || EventKernel[EventTeamPosY2] == 0 || EventKernel[EventTeamPosZ2] == 0) && EventKernel[EventType] == 2)
  22628. {
  22629. SendClientMessage(playerid, COLOR_GRAD2, "You did not set team 2's spawn position!");
  22630. return 1;
  22631. }
  22632. if(EventKernel[EventLimit] == 0)
  22633. {
  22634. EventKernel[EventLimit] = 60;
  22635. }
  22636. EventKernel[ EventStatus ] = 1;
  22637. SendClientMessage(playerid, COLOR_GRAD2, "You have started an event, use /announceevent to announce the event to the whole server.");
  22638. /*foreach(Player, i)
  22639. {
  22640. if(PlayerInfo[i][pDonator] >= 3)
  22641. {
  22642. SendClientMessage(i, COLOR_YELLOW, "* Gold+ VIP feature: An event has been started! /joinevent to join early");
  22643. }
  22644. }*/
  22645. return 1;
  22646. }
  22647. /*else if(EventKernel[EventCreator] == playerid)
  22648. {
  22649. if(EventKernel[ EventHealth ] == 0)
  22650. {
  22651. SendClientMessage(playerid, COLOR_GRAD2, "You did not set the event health!");
  22652. return 1;
  22653. }
  22654. if((EventKernel[ EventPositionX ] == 0 || EventKernel[ EventPositionY ] == 0 || EventKernel[ EventPositionZ ] == 0) && EventKernel[EventType] != 3)
  22655. {
  22656. SendClientMessage(playerid, COLOR_GRAD2, "You did not set the event position!");
  22657. return 1;
  22658. }
  22659. if(EventKernel[ EventLimit ] == 0)
  22660. {
  22661. EventKernel[ EventLimit ] = 60;
  22662. }
  22663. EventKernel[ EventStartRequest ] = 1;
  22664. SendClientMessage(playerid, COLOR_GRAD2, "You have requested the event to start, please wait til a Senior Admin approves it.");
  22665. if(EventKernel[EventType] != 3)
  22666. {
  22667. format(string, sizeof(string), "Event Position: x:%f y:%f z:%f.", EventKernel[EventPositionX], EventKernel[EventPositionY], EventKernel[EventPositionZ]);
  22668. ABroadCast(COLOR_GRAD2, string, 4);
  22669. format(string, sizeof(string), "Event Jointext: %s EventLimit: %d.", EventKernel[EventInfo], EventKernel[EventLimit]);
  22670. ABroadCast(COLOR_GRAD2, string, 4);
  22671. format(string, sizeof(string), "Event Health: %f Event Armor: %f.", EventKernel[EventHealth], EventKernel[EventArmor]);
  22672. ABroadCast(COLOR_GRAD2, string, 4);
  22673. if(EventKernel[EventWeapons][0] != 0)
  22674. {
  22675. format(string, sizeof(string), "Event Gun1: %d.", EventKernel[EventWeapons][0]);
  22676. ABroadCast(COLOR_GRAD2, string, 4);
  22677. }
  22678. if(EventKernel[EventWeapons][1] != 0)
  22679. {
  22680. format(string, sizeof(string), "Event Gun2: %d.", EventKernel[EventWeapons][1]);
  22681. ABroadCast(COLOR_GRAD2, string, 4);
  22682. }
  22683. if(EventKernel[EventWeapons][2] != 0)
  22684. {
  22685. format(string, sizeof(string), "Event Gun3: %d.", EventKernel[EventWeapons][2]);
  22686. ABroadCast(COLOR_GRAD2, string, 4);
  22687. }
  22688. if(EventKernel[EventWeapons][3] != 0)
  22689. {
  22690. format(string, sizeof(string), "Event Gun4: %d.", EventKernel[EventWeapons][3]);
  22691. ABroadCast(COLOR_GRAD2, string, 4);
  22692. }
  22693. if(EventKernel[EventWeapons][4] != 0)
  22694. {
  22695. format(string, sizeof(string), "Event Gun5: %d.", EventKernel[EventWeapons][4]);
  22696. ABroadCast(COLOR_GRAD2, string, 4);
  22697. }
  22698. if(EventKernel[EventType] == 2)
  22699. {
  22700. format(string, sizeof(string), "Event Team 1 Color: %d Event Team 1 Skin: %d.", EventKernel[EventTeamColor][0], EventKernel[EventTeamSkin][0]);
  22701. ABroadCast(COLOR_GRAD2, string, 4);
  22702. format(string, sizeof(string), "Event Team 2 Color: %d Event Team 2 Skin: %d.", EventKernel[EventTeamColor][1], EventKernel[EventTeamSkin][1]);
  22703. ABroadCast(COLOR_GRAD2, string, 4);
  22704. }
  22705. }
  22706. else {
  22707. if(EventKernel[EventTime] != 0) {
  22708. format(string, sizeof(string), "Event Jointext: %s EventTimeLimit: %d.", EventKernel[EventInfo], EventKernel[EventTime]);
  22709. ABroadCast(COLOR_GRAD2, string, 4);
  22710. }
  22711. else {
  22712. format(string, sizeof(string), "Event Jointext: %s EventLimit: %d.", EventKernel[EventInfo], EventKernel[EventLimit]);
  22713. ABroadCast(COLOR_GRAD2, string, 4);
  22714. }
  22715. ABroadCast(COLOR_GRAD2, "This is a race type event, to view the race checkpoints use /edit checkpoints", 4);
  22716. }
  22717. format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s would like to start the event, do you approve? /approveevent or /denyevent.", GetPlayerNameEx(playerid));
  22718. ABroadCast(COLOR_YELLOW, string, 4);
  22719. }*/
  22720. }
  22721. else
  22722. {
  22723. SendClientMessage(playerid, COLOR_WHITE, "There is already an active event (use /endevent).");
  22724. }
  22725. }
  22726. return 1;
  22727. }
  22728. CMD:announceevent(playerid, params[])
  22729. {
  22730. if(PlayerInfo[playerid][pAdmin] >= 4 || EventKernel[EventCreator] == playerid)
  22731. {
  22732. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  22733. {
  22734. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  22735. return 1;
  22736. }
  22737. if(EventKernel[ EventStatus ] == 1)
  22738. {
  22739. EventKernel[ EventStatus ] = 2;
  22740. SendClientMessage(playerid, COLOR_GRAD2, "To lock the event use /lockevent");
  22741. // NO VIP yet
  22742. /*if(EventKernel[VipOnly] == 1) SendClientMessageToAllEx(COLOR_LIGHTBLUE, "* A VIP only event has been started by an Admin, VIP's type /joinevent to participate.");
  22743. else SendClientMessageToAllEx(COLOR_LIGHTBLUE, "* An event has been started by an Admin, type /joinevent to participate.");*/
  22744. SendClientMessageToAllEx(COLOR_LIGHTBLUE, "* An event has been started by an Admin, type /joinevent to participate.");
  22745. }
  22746. else
  22747. {
  22748. SendClientMessage(playerid, COLOR_WHITE, "There is already an active event (use /endevent).");
  22749. }
  22750. }
  22751. return 1;
  22752. }
  22753. CMD:lockevent(playerid, params[])
  22754. {
  22755. if(PlayerInfo[playerid][pAdmin] >= 4 || EventKernel[EventCreator] == playerid)
  22756. {
  22757. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  22758. {
  22759. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  22760. return 1;
  22761. }
  22762. if(EventKernel[ EventStatus ] == 2)
  22763. {
  22764. if(EventKernel[EventType] == 3 && EventKernel[EventTime] != 0) return SendClientMessage(playerid, COLOR_RED, "ERROR: This feature is not available with the configuration setup for this event.");
  22765. EventKernel[ EventStatus ] = 3;
  22766. SendClientMessage(playerid, COLOR_GRAD2, "You have locked an event, use /beginevent to officially start the event.");
  22767. SendClientMessageToAllEx(COLOR_LIGHTBLUE, "* The event has been locked by an Admin.");
  22768. }
  22769. else
  22770. {
  22771. SendClientMessage(playerid, COLOR_WHITE, "There is already an active event (use /endevent).");
  22772. }
  22773. }
  22774. return 1;
  22775. }
  22776. CMD:beginevent(playerid, params[])
  22777. {
  22778. if(PlayerInfo[ playerid ][ pAdmin ] >= 4 || EventKernel[EventCreator] == playerid)
  22779. {
  22780. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  22781. {
  22782. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  22783. return 1;
  22784. }
  22785. if(EventKernel[EventStatus] == 3) {
  22786. EventKernel[EventStatus] = 4;
  22787. new zombiemade;
  22788. foreach(Player, i) {
  22789. if(GetPVarInt(i, "EventToken") == 1) {
  22790. if(EventKernel[ EventType ] == 1) {
  22791. SendClientMessage(i, COLOR_LIGHTBLUE, "GO! The Event has started.");
  22792. SetPlayerHealth(i, EventKernel[EventHealth]);
  22793. SetPlayerArmourEx(i, EventKernel[EventArmor]);
  22794. for(new d = 0; d < sizeof(EventKernel[EventStaff]); d++) {
  22795. if(i == EventKernel[EventStaff][d])
  22796. SetPlayerHealth(i, 999999);
  22797. }
  22798. GivePlayerEventWeapons(i);
  22799. }
  22800. else if(EventKernel[EventType] == 2) {
  22801. SendClientMessage(i, COLOR_LIGHTBLUE, "Go! The Event has started.");
  22802. SetPlayerHealth(i, EventKernel[EventHealth]);
  22803. SetPlayerArmourEx(i, EventKernel[EventArmor]);
  22804. for(new d = 0; d < sizeof(EventKernel[EventStaff]); d++)
  22805. {
  22806. if(i == EventKernel[EventStaff][d])
  22807. {
  22808. SetPlayerHealth(i, 999999);
  22809. }
  22810. }
  22811. GivePlayerEventWeapons(i);
  22812. }
  22813. }
  22814. else if( EventKernel[ EventType ] == 4 )
  22815. {
  22816. if(zombiemade == 0)
  22817. {
  22818. SendClientMessageEx(playerid, COLOR_WHITE, "You are a zombie! Use /bite to infect others");
  22819. SetPlayerHealth(playerid, 30);
  22820. SetPlayerArmour(playerid, 0);
  22821. SetPlayerSkin(playerid, 134);
  22822. SetPlayerColor(playerid, 0x0BC43600);
  22823. SetPVarInt(playerid, "pEventZombie", 1);
  22824. ResetPlayerWeapons(playerid);
  22825. zombiemade=1;
  22826. }
  22827. else
  22828. {
  22829. //GivePlayerEventWeapons( i );
  22830. SendClientMessageEx( i, COLOR_LIGHTBLUE, "The Event has started, kill the zombies (green names!)" );
  22831. SetPlayerHealth( i, EventKernel[ EventHealth ] );
  22832. SetPlayerArmour( i, EventKernel[ EventArmor ] );
  22833. GivePlayerEventWeapons( i );
  22834. }
  22835. }
  22836. else
  22837. {
  22838. SendClientMessage(i, COLOR_WHITE, "The event has now started. If you wish to join next time, please use /joinevent.");
  22839. }
  22840. }
  22841. }
  22842. else
  22843. {
  22844. SendClientMessage(playerid, COLOR_WHITE, "Use /lockevent first to lock the event, or /endevent to create a new event.");
  22845. }
  22846. }
  22847. return 1;
  22848. }
  22849. CMD:bite(playerid, params[])
  22850. {
  22851. if(EventKernel[EventType] == 4 && (GetPVarInt(playerid, "EventToken") == 1) && GetPVarType(playerid, "pEventZombie"))
  22852. {
  22853. new Float:X, Float:Y, Float:Z;
  22854. GetPlayerPos(playerid, X, Y, Z);
  22855. foreach(Player, i)
  22856. {
  22857. if((GetPVarInt(i, "EventToken") == 1) && !GetPVarType(i, "pEventZombie"))
  22858. {
  22859. if(IsPlayerInRangeOfPoint(i, 2, X, Y, Z))
  22860. {
  22861. new Float:hp, string[128];
  22862. GetPlayerHealth(i, hp);
  22863. SetPlayerHealth(i, hp-20);
  22864. format(string, sizeof(string), "* %s clamps down onto %s's skin, biting into it.", GetPlayerNameEx(playerid), GetPlayerNameEx(i));
  22865. ProxDetector(5.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  22866. //SendAudioToRange(65, 100, X, Y, Z, 5);
  22867. return 1;
  22868. }
  22869. }
  22870. }
  22871. SendClientMessageEx(playerid, COLOR_GREY, "No one is near you to bite!");
  22872. }
  22873. return 1;
  22874. }
  22875. CMD:joinevent(playerid, params[]) {
  22876. if(EventKernel[ EventStatus ] == 0)
  22877. return SendClientMessage(playerid, COLOR_WHITE, "There are currently no active events.");
  22878. if(AdminDuty[playerid] != 0)
  22879. return SendClientMessage(playerid, COLOR_GREY, "You can't join the event while you're on admin duty. Use /eventstaff or go off duty.");
  22880. if(GetPVarInt(playerid, "EventToken") == 1)
  22881. return SendClientMessage(playerid, COLOR_WHITE, "You're already in the event.");
  22882. if(GetPVarInt(playerid, "PBM") > 0)
  22883. return SendClientMessage(playerid, COLOR_WHITE, "You're not able to do this while in a paintball game.");
  22884. if(PlayerCuffed[playerid] >= 1 || PlayerInfo[playerid][pJailTime] > 0 || GetPVarInt(playerid, "Hospital") > 0)
  22885. return SendClientMessage(playerid, COLOR_WHITE, "You can't do this right now.");
  22886. if(PlayerInfo[playerid][pConnectTime] < 2)
  22887. return SendClientMessage(playerid, COLOR_GRAD2, "Young padawan, you can't join an event before you've played 2 full hours due to the weapon restrictions.");
  22888. if(EventKernel[EventPlayers] >= EventKernel[EventLimit] && EventKernel[EventTime] == 0)
  22889. return SendClientMessage(playerid, COLOR_GRAD2, "This event has reached the max players limit.");
  22890. if(EventKernel[ EventStatus ] == 2) {
  22891. if(EventKernel[EventType] == 3)
  22892. {
  22893. // For down the road, racing
  22894. }
  22895. else
  22896. {
  22897. if(IsPlayerInAnyVehicle(playerid)) {
  22898. return SendClientMessage(playerid, COLOR_GRAD2, "You can't join while in a vehicle.");
  22899. }
  22900. SetPVarInt(playerid, "EventToken", 1);
  22901. ResetPlayerWeapons(playerid);
  22902. pTazer[playerid] = 0;
  22903. GetPlayerHealth(playerid, EventFloats[playerid][4]);
  22904. GetPlayerArmour(playerid, EventFloats[playerid][5]);
  22905. EventLastVW[playerid] = GetPlayerVirtualWorld(playerid);
  22906. EventLastInt[playerid] = GetPlayerInterior(playerid);
  22907. GetPlayerPos(playerid, EventFloats[playerid][1], EventFloats[playerid][2], EventFloats[playerid][3]);
  22908. GetPlayerFacingAngle(playerid, EventFloats[playerid][0]);
  22909. if(EventKernel[EventType] != 2)
  22910. {
  22911. SetPlayerPos(playerid, EventKernel[ EventPositionX ], EventKernel[ EventPositionY ], EventKernel[ EventPositionZ ]);
  22912. }
  22913. SetPlayerInterior(playerid, EventKernel[ EventInterior ]);
  22914. SetPlayerVirtualWorld(playerid, EventKernel[ EventWorld ]);
  22915. SendClientMessage(playerid, COLOR_WHITE, EventKernel[ EventInfo ]);
  22916. SetPlayerHealth(playerid, EventKernel[ EventHealth ]);
  22917. SetPlayerArmourEx(playerid, EventKernel[ EventArmor ]);
  22918. SetPlayerVirtualWorld(playerid, 0);
  22919. if(EventKernel[EventType] == 2)
  22920. {
  22921. SetPlayerSkin(playerid, EventKernel[EventTeamSkin][nextteam]);
  22922. new color = EventKernel[EventTeamColor][nextteam];
  22923. if(color==0) SetPlayerColor(playerid, 0x00000000);
  22924. if(color==1) SetPlayerColor(playerid, 0xFFFFFF00);
  22925. if(color==2) SetPlayerColor(playerid, 0x2641FE00);
  22926. if(color==3) SetPlayerColor(playerid, 0xAA333300);
  22927. if(color==16) SetPlayerColor(playerid, 0x33AA3300);
  22928. if(color==5) SetPlayerColor(playerid, 0xC2A2DA00);
  22929. if(color==6) SetPlayerColor(playerid, 0xFFFF0000);
  22930. if(color==7) SetPlayerColor(playerid, 0x33CCFF00);
  22931. //if(strcmp(clr, "navy", true)==0) color=94;
  22932. //if(strcmp(clr, "beige", true)==0) color=102;
  22933. if(color==51) SetPlayerColor(playerid, 0x2D6F0000);
  22934. if(color==103) SetPlayerColor(playerid, 0x0B006F00);
  22935. if(color==13) SetPlayerColor(playerid, 0x52525200);
  22936. if(color==55) SetPlayerColor(playerid, 0xB46F0000);
  22937. if(color==84) SetPlayerColor(playerid, 0x814F0000);
  22938. if(color==74) SetPlayerColor(playerid, 0x750A0000);
  22939. //if(strcmp(clr, "maroon", true)==0) color=115;
  22940. if(color==126) SetPlayerColor(playerid, 0xFF51F100);
  22941. if(nextteam == 0)
  22942. {
  22943. SetPlayerPos(playerid, EventKernel[EventTeamPosX1], EventKernel[EventTeamPosY1], EventKernel[EventTeamPosZ1]);
  22944. }
  22945. else
  22946. {
  22947. SetPlayerPos(playerid, EventKernel[EventTeamPosX2], EventKernel[EventTeamPosY2], EventKernel[EventTeamPosZ2]);
  22948. }
  22949. if(nextteam == 0) nextteam++;
  22950. else if(nextteam == 1) nextteam--;
  22951. }
  22952. }
  22953. EventKernel[EventPlayers] ++;
  22954. if(EventKernel[EventPlayers] == EventKernel[EventLimit] && EventKernel[EventTime] == 0)
  22955. {
  22956. ABroadCast(COLOR_YELLOW, "The event has now reached the max players limit, you can now start it.", 2);
  22957. }
  22958. }
  22959. else if(EventKernel[ EventStatus ] == 3)
  22960. {
  22961. SendClientMessage(playerid, COLOR_WHITE, "The event is already locked. you're unable to join.");
  22962. }
  22963. else if(EventKernel[ EventStatus ] == 4)
  22964. {
  22965. SendClientMessage(playerid, COLOR_WHITE, "The event is already started. you're unable to join.");
  22966. }
  22967. return 1;
  22968. }
  22969. CMD:quitevent(playerid, params[])
  22970. {
  22971. if(GetPVarInt(playerid, "EventToken") == 1) {
  22972. if(EventKernel[ EventStatus ] == 1 || EventKernel[ EventStatus ] == 2)
  22973. {
  22974. SendClientMessage(playerid, COLOR_WHITE, "You can't quit the event at this stage of the event.");
  22975. return 1;
  22976. }
  22977. ResetPlayerWeapons(playerid);
  22978. SetPVarInt(playerid, "EventToken", 0);
  22979. SetPlayerWeapons(playerid);
  22980. SetPlayerToTeamColor(playerid);
  22981. SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
  22982. SetPlayerPos(playerid,EventFloats[playerid][1],EventFloats[playerid][2],EventFloats[playerid][3]);
  22983. SetPlayerVirtualWorld(playerid, EventLastVW[playerid]);
  22984. SetPlayerFacingAngle(playerid, EventFloats[playerid][0]);
  22985. SetPlayerInterior(playerid,EventLastInt[playerid]);
  22986. SetPlayerHealth(playerid, EventFloats[playerid][4]);
  22987. SetPlayerArmourEx(playerid, EventFloats[playerid][5]);
  22988. if(EventKernel[EventType] == 4)
  22989. {
  22990. if(GetPVarType(playerid, "pEventZombie")) DeletePVar(playerid, "pEventZombie");
  22991. SetPlayerToTeamColor(playerid);
  22992. }
  22993. for(new i = 0; i < 6; i++) {
  22994. EventFloats[playerid][i] = 0.0;
  22995. }
  22996. EventLastVW[playerid] = 0;
  22997. EventLastInt[playerid] = 0;
  22998. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You have quit the event.");
  22999. }
  23000. return 1;
  23001. }
  23002. CMD:newb(playerid, params[]) {
  23003. if(gPlayerLogged[playerid] == 0)
  23004. return SendClientMessage(playerid, COLOR_GREY, "You're not logged in.");
  23005. if((nonewbie) && PlayerInfo[playerid][pAdmin] < 1)
  23006. return SendClientMessage(playerid, COLOR_GRAD2, "The newbie chat channel has been disabled by an Admin!");
  23007. if(gNewbie[playerid] == 1)
  23008. return SendClientMessage(playerid, COLOR_GREY, "You have the channel toggled, /tognewbie to re-enable!");
  23009. if(isnull(params))
  23010. return SendClientMessage(playerid, COLOR_WHITE, "USAGE: (/newb)ie [text]");
  23011. if(PlayerInfo[playerid][pNMute] == 1)
  23012. return SendClientMessage(playerid, COLOR_GREY, "You're muted from the newbie chat channel.");
  23013. new
  23014. string[128];
  23015. if(NewbieTimer[playerid] > 0) {
  23016. format(string, sizeof(string), "You must wait %d seconds before speaking again in this channel.", NewbieTimer[playerid]);
  23017. SendClientMessage(playerid, COLOR_GREY, string);
  23018. return 1;
  23019. }
  23020. if(PlayerInfo[playerid][pAdmin] < 1 && PlayerInfo[playerid][pHelper] < 1)
  23021. NewbieTimer[playerid] = 45;
  23022. if(PlayerInfo[playerid][pHelper] == 1)
  23023. format(string, sizeof(string), "** {33CCFF}Junior Helper{7DAEFF} %s: %s", GetPlayerNameEx(playerid), params);
  23024. else if(PlayerInfo[playerid][pHelper] == 2)
  23025. format(string, sizeof(string), "** {33CCFF}Senior Helper{7DAEFF} %s: %s", GetPlayerNameEx(playerid), params);
  23026. else if(PlayerInfo[playerid][pHelper] == 3)
  23027. format(string, sizeof(string), "** {33CCFF}Asst. Head Helper{7DAEFF} %s: %s", GetPlayerNameEx(playerid), params);
  23028. else if(PlayerInfo[playerid][pHelper] == 4)
  23029. format(string, sizeof(string), "** {33CCFF}Head Helper{7DAEFF} %s: %s", GetPlayerNameEx(playerid), params);
  23030. else if(PlayerInfo[playerid][pOS] == 1)
  23031. format(string, sizeof(string), "** {078C00}Old School{7DAEFF} %s: %s", GetPlayerNameEx(playerid), params);
  23032. else if(PlayerInfo[playerid][pVintage] == 1)
  23033. format(string, sizeof(string), "** {8cd11d}Vintage{7DAEFF} %s: %s", GetPlayerNameEx(playerid), params);
  23034. else if(PlayerInfo[playerid][pFamed] == 1)
  23035. format(string, sizeof(string), "** {FF8C00}Famed{7DAEFF} %s: %s", GetPlayerNameEx(playerid), params);
  23036. else if(PlayerInfo[playerid][pAdmin] < 1)
  23037. format(string, sizeof(string), "** Newbie %s: %s", GetPlayerNameEx(playerid), params);
  23038. else if(PlayerInfo[playerid][pAdmin] >= 1)
  23039. format(string, sizeof(string), "** %s{7DAEFF} %s: %s", GetAdminRank(playerid), GetPlayerNameEx(playerid), params);
  23040. PlayerInfo[playerid][pNC]++;
  23041. foreach(Player, n) {
  23042. if(gNewbie[n] == 0)
  23043. SendClientMessageEx(n, COLOR_NEWBIE, string);
  23044. }
  23045. return 1;
  23046. }
  23047. CMD:nonewbie(playerid, params[]) {
  23048. if(PlayerInfo[playerid][pAdmin] >= 3) {
  23049. if(!nonewbie) {
  23050. nonewbie = 1;
  23051. SendClientMessageToAllEx(COLOR_GRAD2, "Newbie chat channel disabled by an Admin!");
  23052. }
  23053. else {
  23054. nonewbie = 0;
  23055. SendClientMessageToAllEx(COLOR_GRAD2, "Newbie chat channel enabled by an Admin!");
  23056. }
  23057. }
  23058. else return SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  23059. return 1;
  23060. }
  23061. CMD:nmute(playerid, params[]) {
  23062. if(PlayerInfo[playerid][pAdmin] >= 2) {
  23063. new
  23064. string[128],
  23065. giveplayerid;
  23066. if(sscanf(params, "u", giveplayerid))
  23067. return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /nmute [playerid/partofname]");
  23068. if(IsPlayerConnected(giveplayerid)) {
  23069. if(PlayerInfo[giveplayerid][pAdmin] >= 1)
  23070. return SendClientMessage(playerid, COLOR_LIGHTRED, "You can't /nmute admins");
  23071. if(PlayerInfo[giveplayerid][pNMute] == 0) {
  23072. PlayerInfo[giveplayerid][pNMute] = 1;
  23073. PlayerInfo[giveplayerid][pNMuteTotal] += 1;
  23074. format(string, sizeof(string), "AdmCmd: %s was muted from speaking in /newb by %s.", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid));
  23075. ABroadCast(COLOR_LIGHTRED,string,1);
  23076. Log("logs/admin.log", string);
  23077. if(PlayerInfo[giveplayerid][pNMuteTotal] > 6) {
  23078. new playerip[32];
  23079. GetPlayerIp(giveplayerid, playerip, sizeof(playerip));
  23080. format(string, sizeof(string), "AdmCmd: %s(IP:%s) was banned by %s, reason: Excessive newbie chat mutes", GetPlayerNameEx(giveplayerid),playerip,GetPlayerNameEx(playerid));
  23081. Log("logs/ban.log", string);
  23082. format(string, sizeof(string), "AdmCmd: %s was banned, reason: Excessive newbie chat mutes.", GetPlayerNameEx(giveplayerid));
  23083. SendClientMessageToAllEx(COLOR_LIGHTRED, string);
  23084. PlayerInfo[giveplayerid][pBanned] = 1;
  23085. new ip[32];
  23086. GetPlayerIp(giveplayerid,ip,sizeof(ip));
  23087. AddBan(ip);
  23088. Kick(giveplayerid);
  23089. }
  23090. SendClientMessage(giveplayerid, COLOR_WHITE, "Remember, the newbie chat channel is only for script/server related questions and may not be used for any other purpose, unless stated otherwise by an admin.");
  23091. SendClientMessage(giveplayerid, COLOR_WHITE, "If you wish to be unmuted, you will be fined or jailed. Future abuse could result in increased punishment. If you feel this was in error, contact a Level 4+ Admin.");
  23092. format(string, sizeof(string), "AdmCmd: %s was just muted from using Newbie Chat [/newb] due to misuse.", GetPlayerNameEx(giveplayerid));
  23093. SendClientMessageToAllEx(COLOR_LIGHTRED, string);
  23094. }
  23095. else if(PlayerInfo[giveplayerid][pNMute] == 1) {
  23096. ShowNMuteFine(giveplayerid);
  23097. format(string, sizeof(string), "You offered %s an unmute from /newb.", GetPlayerNameEx(giveplayerid));
  23098. SendClientMessage(playerid, COLOR_LIGHTRED, string);
  23099. }
  23100. }
  23101. }
  23102. else return SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  23103. return 1;
  23104. }
  23105. CMD:nunmute(playerid, params[])
  23106. {
  23107. if(PlayerInfo[playerid][pAdmin] >= 2)
  23108. {
  23109. new string[128], giveplayerid;
  23110. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /nunmute [playerid/partofname]");
  23111. if(IsPlayerConnected(giveplayerid))
  23112. {
  23113. if(PlayerInfo[giveplayerid][pNMute] == 1)
  23114. {
  23115. format(string, sizeof(string), "AdmCmd: %s was unmuted from speaking in /newb by %s.", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid));
  23116. ABroadCast(COLOR_LIGHTRED,string,1);
  23117. Log("logs/admin.log", string);
  23118. PlayerInfo[giveplayerid][pNMute] = 0;
  23119. PlayerInfo[giveplayerid][pNMuteTotal]--;
  23120. }
  23121. else
  23122. {
  23123. SendClientMessage(playerid, COLOR_LIGHTRED,"That player is not muted from /newb!");
  23124. }
  23125. }
  23126. }
  23127. return 1;
  23128. }
  23129. CMD:admute(playerid, params[])
  23130. {
  23131. if(PlayerInfo[playerid][pAdmin] >= 2)
  23132. {
  23133. new string[128], giveplayerid;
  23134. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /admute [playerid/partofname]");
  23135. if(IsPlayerConnected(giveplayerid))
  23136. {
  23137. if(PlayerInfo[giveplayerid][pAdmin] >= 1)
  23138. {
  23139. return SendClientMessage(playerid, COLOR_LIGHTRED, "You can't /admute admins");
  23140. }
  23141. if(PlayerInfo[giveplayerid][pADMute] == 0)
  23142. {
  23143. PlayerInfo[giveplayerid][pADMute] = 1;
  23144. PlayerInfo[giveplayerid][pADMuteTotal] += 1;
  23145. szAdvert[giveplayerid][0] = 0;
  23146. format(string, sizeof(string), "AdmCmd: %s was muted from placing /ad's by %s.", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid));
  23147. Log("logs/admin.log", string);
  23148. ABroadCast(COLOR_LIGHTRED,string,1);
  23149. if(PlayerInfo[giveplayerid][pADMuteTotal] > 6)
  23150. {
  23151. new playerip[32];
  23152. GetPlayerIp(giveplayerid, playerip, sizeof(playerip));
  23153. format(string, sizeof(string), "AdmCmd: %s(IP:%s) was banned by %s, reason: Excessive advertisement mutes", GetPlayerNameEx(giveplayerid),playerip,GetPlayerNameEx(playerid));
  23154. Log("logs/ban.log", string);
  23155. format(string, sizeof(string), "AdmCmd: %s was banned, reason: Excessive advertisement mutes.", GetPlayerNameEx(giveplayerid));
  23156. SendClientMessageToAllEx(COLOR_LIGHTRED, string);
  23157. PlayerInfo[giveplayerid][pBanned] = 1;
  23158. new ip[32];
  23159. GetPlayerIp(giveplayerid,ip,sizeof(ip));
  23160. AddBan(ip);
  23161. Kick(giveplayerid);
  23162. }
  23163. SendClientMessage(giveplayerid, COLOR_LIGHTRED, "Remember, advertisements may only be used for IC purposes and may not be used for any other purpose, unless stated otherwise by an admin.");
  23164. SendClientMessage(giveplayerid, COLOR_LIGHTRED, "If you wish to be unmuted, you will be fined or jailed. Future abuse could result in increased punishment. If you feel this was in error, contact a Level 4+ Admin.");
  23165. format(string, sizeof(string), "AdmCmd: %s was just muted from using Advertisements [/ad] due to misuse.", GetPlayerNameEx(giveplayerid));
  23166. SendClientMessageToAllEx(COLOR_LIGHTRED, string);
  23167. }
  23168. else
  23169. {
  23170. ShowAdMuteFine(giveplayerid);
  23171. format(string, sizeof(string), "You offered %s an unmute from /ad.", GetPlayerNameEx(giveplayerid));
  23172. SendClientMessage(playerid, COLOR_LIGHTRED, string);
  23173. }
  23174. }
  23175. }
  23176. else
  23177. {
  23178. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  23179. }
  23180. return 1;
  23181. }
  23182. CMD:adunmute(playerid, params[])
  23183. {
  23184. if(PlayerInfo[playerid][pAdmin] >= 2)
  23185. {
  23186. new string[128], giveplayerid;
  23187. if(sscanf(params, "u", giveplayerid))
  23188. return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /adunmute [playerid/partofname]");
  23189. if(IsPlayerConnected(giveplayerid))
  23190. {
  23191. if(PlayerInfo[giveplayerid][pADMute] == 1)
  23192. {
  23193. if(PlayerInfo[giveplayerid][pJailed] != 0)
  23194. {
  23195. SendClientMessage(playerid, COLOR_LIGHTRED, "You can't offer someone in jail/prison an unmute!");
  23196. SendClientMessage(giveplayerid, COLOR_LIGHTRED, "Sorry, you can't be unmuted from /ad while you're in jail/prison.");
  23197. return 1;
  23198. }
  23199. format(string, sizeof(string), "AdmCmd: %s was unmuted from /ad by %s.", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid));
  23200. ABroadCast(COLOR_LIGHTRED,string,1);
  23201. Log("logs/admin.log", string);
  23202. PlayerInfo[giveplayerid][pADMute] = 0;
  23203. PlayerInfo[giveplayerid][pADMuteTotal]--;
  23204. }
  23205. else
  23206. {
  23207. SendClientMessage(playerid, COLOR_LIGHTRED,"That player is not muted from /newb!");
  23208. }
  23209. }
  23210. }
  23211. return 1;
  23212. }
  23213. CMD:setname(playerid, params[])
  23214. {
  23215. new string[128], giveplayerid, name[MAX_PLAYER_NAME];
  23216. new playername[MAX_PLAYER_NAME];
  23217. if(sscanf(params, "us[24]", giveplayerid, name)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setname [playerid/partofname] [newname]");
  23218. if(IsPlayerConnected(giveplayerid))
  23219. {
  23220. if(PlayerInfo[playerid][pAdmin] >= 4)
  23221. {
  23222. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  23223. {
  23224. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  23225. return 1;
  23226. }
  23227. if(AdminDuty[giveplayerid] == 1)
  23228. {
  23229. SendClientMessage(playerid,COLOR_WHITE, "You can't use /setname on an on-duty admin.");
  23230. return 1;
  23231. }
  23232. if(strfind(params, "_", false) == -1)
  23233. return SendClientMessage(playerid, COLOR_GREY, "The name must include an underscore ('_').");
  23234. if(!doesAccountExist(name))
  23235. {
  23236. new
  23237. newname[MAX_PLAYER_NAME + 10];
  23238. GetPlayerName(giveplayerid, playername, sizeof(playername));
  23239. format(newname, sizeof(newname), "users/%s.ini", name);
  23240. if(PlayerInfo[giveplayerid][pHouse] != INVALID_HOUSE_ID && strcmp(playername, HouseInfo[PlayerInfo[giveplayerid][pHouse]][hOwner], true) == 0)
  23241. {
  23242. strmid(HouseInfo[PlayerInfo[giveplayerid][pHouse]][hOwner], name, 0, strlen(name), 255);
  23243. format(string, sizeof(string), "House owner: %s\nLevel: %d\nID: %d",HouseInfo[PlayerInfo[giveplayerid][pHouse]][hOwner],HouseInfo[PlayerInfo[giveplayerid][pHouse]][hLevel],PlayerInfo[giveplayerid][pHouse]);
  23244. UpdateDynamic3DTextLabelText(HouseInfo[PlayerInfo[giveplayerid][pHouse]][hTextID], COLOR_HOUSEGREEN, string);
  23245. }
  23246. if(PlayerInfo[giveplayerid][pHouse2] != INVALID_HOUSE_ID && strcmp(playername, HouseInfo[PlayerInfo[giveplayerid][pHouse2]][hOwner], true) == 0)
  23247. {
  23248. strmid(HouseInfo[PlayerInfo[giveplayerid][pHouse2]][hOwner], name, 0, strlen(name), 255);
  23249. format(string, sizeof(string), "House owner: %s\nLevel: %d\nID: %d",HouseInfo[PlayerInfo[giveplayerid][pHouse]][hOwner],HouseInfo[PlayerInfo[giveplayerid][pHouse]][hLevel],PlayerInfo[giveplayerid][pHouse]);
  23250. UpdateDynamic3DTextLabelText(HouseInfo[PlayerInfo[giveplayerid][pHouse2]][hTextID], COLOR_HOUSEGREEN, string);
  23251. }
  23252. if(PlayerInfo[giveplayerid][pDonator] >= 1)
  23253. {
  23254. new string2[128];
  23255. format(string2, sizeof(string2), "[DONATOR NAMECHANGES] %s has changed their name to %s.", GetPlayerNameEx(giveplayerid), name);
  23256. Log("logs/donatornames.log", string2);
  23257. }
  23258. format(string, sizeof(string), " Your name has been changed from %s to %s.", GetPlayerNameEx(giveplayerid), name);
  23259. SendClientMessage(giveplayerid,COLOR_YELLOW,string);
  23260. format(string, sizeof(string), " You have changed %s's name to %s.", GetPlayerNameEx(giveplayerid), name);
  23261. SendClientMessage(playerid,COLOR_YELLOW,string);
  23262. format(string, sizeof(string), "%s changed \"%s\"s name to \"%s\"",GetPlayerNameEx(playerid),GetPlayerNameEx(giveplayerid),name);
  23263. Log("logs/stats.log", string);
  23264. SetPlayerName(giveplayerid, name);
  23265. PlayerInfo[giveplayerid][pInt] = GetPlayerInterior(giveplayerid);
  23266. if(GetPVarType(giveplayerid, "tabbedVW") != 0) {
  23267. PlayerInfo[giveplayerid][pVW] = GetPVarInt(giveplayerid, "tabbedVW");
  23268. } else PlayerInfo[giveplayerid][pVW] = GetPlayerVirtualWorld(giveplayerid);
  23269. GetPlayerIp(giveplayerid, PlayerInfo[giveplayerid][pIP], 32);
  23270. GetPlayerPos(giveplayerid, PlayerInfo[giveplayerid][pPos_x], PlayerInfo[giveplayerid][pPos_y], PlayerInfo[giveplayerid][pPos_z]);
  23271. GetPlayerFacingAngle(giveplayerid, PlayerInfo[giveplayerid][pPos_r]);
  23272. OnPlayerStatsUpdate(giveplayerid);
  23273. format(newname, sizeof(newname), "users/%s.ini", playername);
  23274. fremove(newname);
  23275. if(doesAccountExist(playername)) // If it doesn't get removed, blank the file with write io and check its length when a player attempts to authenticate (it'll be 0)
  23276. {
  23277. new File: BlankTheFile = fopen(newname, io_write);
  23278. SendClientMessage(playerid, COLOR_GRAD2, "The old account couldn't be removed completely (it's been blanked for future use).");
  23279. fclose(BlankTheFile);
  23280. }
  23281. }
  23282. else
  23283. {
  23284. SendClientMessage(playerid, COLOR_WHITE, "This name is already registered.");
  23285. }
  23286. }
  23287. else
  23288. {
  23289. SendClientMessage(playerid, COLOR_GRAD2, "You're not authorised to use this command.");
  23290. }
  23291. }
  23292. else
  23293. {
  23294. SendClientMessage(playerid, COLOR_GRAD2, "No Such Player");
  23295. }
  23296. return 1;
  23297. }
  23298. CMD:sprison(playerid, params[])
  23299. {
  23300. if(PlayerInfo[playerid][pAdmin] >= 4)
  23301. {
  23302. new string[128], giveplayerid, minutes, reason[64];
  23303. if(sscanf(params, "uds[64]", giveplayerid, minutes, reason)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /sprison [playerid/partofname] [minutes] [reason]");
  23304. if(IsPlayerConnected(giveplayerid))
  23305. {
  23306. if(PlayerInfo[giveplayerid][pAdmin] >= PlayerInfo[playerid][pAdmin] && AdminDuty[giveplayerid] == 1)
  23307. {
  23308. SendClientMessage(playerid, COLOR_WHITE, "You can't perform this action on an equal or higher level admin that is on-duty.");
  23309. return 1;
  23310. }
  23311. if(strlen(reason) >= 25)
  23312. {
  23313. SendClientMessage(playerid, COLOR_WHITE, "Please provide a shorter reason. The maximum length for a prison reason is 25.");
  23314. return 1;
  23315. }
  23316. /*if(GetPVarInt(giveplayerid, "PBM") > 0)
  23317. {
  23318. LeavePaintballArena(giveplayerid, GetPVarInt(giveplayerid, "IsInArena"));
  23319. }*/
  23320. GameTextForPlayer(giveplayerid, "~w~Welcome to ~n~~r~Admin Prison", 5000, 3);
  23321. ResetPlayerWeaponsEx(giveplayerid);
  23322. format(string, sizeof(string), "AdmCmd: %s has been silent prisoned by %s, reason: %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid));
  23323. Log("logs/admin.log", string);
  23324. format(string, sizeof(string), "AdmCmd: %s has been prisoned by an Admin, reason: %s", GetPlayerNameEx(giveplayerid), reason);
  23325. SendClientMessageToAllEx(COLOR_LIGHTRED, string);
  23326. PlayerInfo[giveplayerid][pWantedLevel] = 0;
  23327. SetPlayerWantedLevel(giveplayerid, 0);
  23328. PlayerInfo[giveplayerid][pJailed] = 3;
  23329. PlayerInfo[giveplayerid][pJailTime] = minutes*60;
  23330. format(PlayerInfo[giveplayerid][pPrisonReason], 128, "%s", reason);
  23331. format(PlayerInfo[giveplayerid][pPrisonedBy], MAX_PLAYER_NAME, "%s", GetPlayerNameEx(playerid));
  23332. PhoneOnline[giveplayerid] = 1;
  23333. TogglePlayerControllable(giveplayerid, 0);
  23334. for(new o = 0; o < 2; o++)
  23335. {
  23336. TextDrawSetString(ObjectsLoadingTD[1], "OBJECTS LOADING...");
  23337. TextDrawShowForPlayer(giveplayerid, ObjectsLoadingTD[o]);
  23338. }
  23339. SetPVarInt(giveplayerid, "LoadingObjects", 1);
  23340. SetTimerEx("SafeLoadObjects", 3000, 0, "d", giveplayerid);
  23341. SetPlayerInterior(giveplayerid, 69);
  23342. PlayerInfo[giveplayerid][pVW] = 696969;
  23343. PlayerInfo[giveplayerid][pInt] = 69;
  23344. SetPlayerVirtualWorld(giveplayerid, 696969);
  23345. new rand = random(sizeof(AdminPrisonFloat));
  23346. SetPlayerPos(giveplayerid, AdminPrisonFloat[rand][0], AdminPrisonFloat[rand][1], AdminPrisonFloat[rand][2]);
  23347. SetPlayerSkin(giveplayerid, 50);
  23348. SetPlayerColor(giveplayerid, TEAM_APRISON_COLOR);
  23349. }
  23350. }
  23351. else
  23352. {
  23353. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  23354. }
  23355. return 1;
  23356. }
  23357. CMD:switchfac(playerid, params[])
  23358. {
  23359. if(PlayerInfo[playerid][pAdmin] >= 3)
  23360. {
  23361. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  23362. {
  23363. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  23364. return 1;
  23365. }
  23366. new string[128], factionid;
  23367. if(sscanf(params, "d", factionid))
  23368. {
  23369. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /switchfac [factionid]");
  23370. SendClientMessage(playerid, COLOR_GRAD3, "|1 LSPD |2 FBI |3 LSFMD |4 Disabled |5 Government |9 SA News |10 Ares |11 Sasd");
  23371. return 1;
  23372. }
  23373. switch(factionid) {
  23374. case 1: {
  23375. format(string, sizeof(string), "You have switched to faction ID %d (LSPD).", factionid);
  23376. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  23377. PlayerInfo[playerid][pFaction] = factionid;
  23378. PlayerInfo[playerid][pRank] = 6;
  23379. PlayerInfo[playerid][pGang] = 255;
  23380. }
  23381. case 2: {
  23382. format(string, sizeof(string), "You have switched to faction ID %d (FBI).", factionid);
  23383. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  23384. PlayerInfo[playerid][pFaction] = factionid;
  23385. PlayerInfo[playerid][pRank] = 6;
  23386. PlayerInfo[playerid][pGang] = 255;
  23387. }
  23388. case 3: {
  23389. format(string, sizeof(string), "You have switched to faction ID %d (LSFMD).", factionid);
  23390. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  23391. PlayerInfo[playerid][pFaction] = factionid;
  23392. PlayerInfo[playerid][pRank] = 6;
  23393. PlayerInfo[playerid][pGang] = 255;
  23394. }
  23395. case 4: {
  23396. /*format(string, sizeof(string), "You have switched to faction ID %d (Hitman Agency).", factionid);
  23397. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  23398. PlayerInfo[playerid][pFaction] = factionid;
  23399. PlayerInfo[playerid][pRank] = 6;
  23400. PlayerInfo[playerid][pGang] = 255;*/
  23401. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You can't switch to the Hitman Agency with /switchfac.");
  23402. }
  23403. case 5: {
  23404. /*format(string, sizeof(string), "You have switched to faction ID %d (Government).", factionid);
  23405. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  23406. PlayerInfo[playerid][pFaction] = factionid;
  23407. PlayerInfo[playerid][pRank] = 6;
  23408. PlayerInfo[playerid][pGang] = 255;*/
  23409. SCM(playerid, -1, "You can't switch to the Government with /switchfac.");
  23410. }
  23411. case 9: {
  23412. format(string, sizeof(string), "You have switched to faction ID %d (SA News).", factionid);
  23413. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  23414. PlayerInfo[playerid][pFaction] = factionid;
  23415. PlayerInfo[playerid][pRank] = 6;
  23416. PlayerInfo[playerid][pGang] = 255;
  23417. }
  23418. case 10: {
  23419. format(string, sizeof(string), "You have switched to faction ID %d (Ares).", factionid);
  23420. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  23421. PlayerInfo[playerid][pFaction] = factionid;
  23422. PlayerInfo[playerid][pRank] = 6;
  23423. PlayerInfo[playerid][pGang] = 255;
  23424. }
  23425. case 11: {
  23426. format(string, sizeof(string), "You have switched to faction ID %d (SASD).", factionid);
  23427. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  23428. PlayerInfo[playerid][pFaction] = factionid;
  23429. PlayerInfo[playerid][pRank] = 6;
  23430. PlayerInfo[playerid][pGang] = 255;
  23431. }
  23432. default: {
  23433. SendClientMessage(playerid, COLOR_WHITE, "Invalid Faction ID!");
  23434. SendClientMessage(playerid, COLOR_GRAD3, "|1 LSPD |2 FBI |3 LSFMD |4 Disabled |5 Government |9 GMA |10 Ares |11 Sasd");
  23435. }
  23436. }
  23437. }
  23438. return 1;
  23439. }
  23440. CMD:switchfam(playerid, params[])
  23441. {
  23442. if(PlayerInfo[playerid][pAdmin] >= 3)
  23443. {
  23444. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  23445. {
  23446. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  23447. return 1;
  23448. }
  23449. new string[128], familyid;
  23450. if(sscanf(params, "d", familyid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /switchfam [familyid]");
  23451. if(familyid < 1 || familyid > 14) return SendClientMessage(playerid, COLOR_WHITE, "Invalid Family Number.");
  23452. format(string, sizeof(string), "You have switched to family ID %d (%s).", familyid, FamilyInfo[familyid-1][FamilyName]);
  23453. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  23454. PlayerInfo[playerid][pRank] = 6;
  23455. PlayerInfo[playerid][pGang] = familyid-1;
  23456. PlayerInfo[playerid][pFaction] = 0;
  23457. PlayerInfo[playerid][pLeader] = 0;
  23458. }
  23459. return 1;
  23460. }
  23461. CMD:clearall(playerid, params[])
  23462. {
  23463. if(PlayerInfo[playerid][pAdmin] >= 4)
  23464. {
  23465. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  23466. {
  23467. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  23468. return 1;
  23469. }
  23470. foreach(Player, i) {
  23471. PlayerInfo[i][pWantedLevel] = 0;
  23472. SetPlayerToTeamColor(i);
  23473. SetPlayerWantedLevel(i, 0);
  23474. ClearCrime(i);
  23475. }
  23476. SendClientMessage(playerid,COLOR_GRAD1, "You have cleared everyone's Wanted Level.");
  23477. }
  23478. else {
  23479. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  23480. }
  23481. return 1;
  23482. }
  23483. CMD:permaban(playerid, params[])
  23484. {
  23485. if(PlayerInfo[playerid][pAdmin] >= 5)
  23486. {
  23487. new string[128], giveplayerid, reason[64];
  23488. if(sscanf(params, "us[64]", giveplayerid, reason))
  23489. {
  23490. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /permaban [playerid/partofname] [reason]");
  23491. return 1;
  23492. }
  23493. if(IsPlayerConnected(giveplayerid))
  23494. {
  23495. if(PlayerInfo[giveplayerid][pAdmin] > PlayerInfo[playerid][pAdmin])
  23496. {
  23497. if(AdminDuty[playerid] == 1)
  23498. {
  23499. new username[MAX_PLAYER_NAME];
  23500. GetPVarString(playerid, "TempNameName", username, sizeof(username));
  23501. SetPVarInt(playerid, "TempName", 0);
  23502. SetPlayerName(playerid, username);
  23503. }
  23504. format(string, sizeof(string), "AdmCmd: %s has been auto-banned, reason: Trying to /permaban a higher admin.", PlayerInfo[playerid][pAdminName]);
  23505. ABroadCast(COLOR_YELLOW,string,1);
  23506. PlayerInfo[playerid][pBanned] = 3;
  23507. new ip[32];
  23508. GetPlayerIp(playerid,ip,sizeof(ip));
  23509. AddBan(ip);
  23510. Kick(playerid);
  23511. }
  23512. else
  23513. {
  23514. new playerip[32];
  23515. GetPlayerIp(giveplayerid, playerip, sizeof(playerip));
  23516. if(AdminDuty[giveplayerid] == 1)
  23517. {
  23518. new username[MAX_PLAYER_NAME];
  23519. GetPVarString(giveplayerid, "TempNameName", username, sizeof(username));
  23520. SetPVarInt(giveplayerid, "TempName", 0);
  23521. SetPlayerName(giveplayerid, username);
  23522. format(string, sizeof(string), "AdmCmd: %s(IP:%s) was permanently banned by %s, reason: %s", PlayerInfo[giveplayerid][pAdminName], playerip, GetPlayerNameEx(playerid), reason);
  23523. Log("logs/ban.log", string);
  23524. format(string, sizeof(string), "AdmCmd: %s was permanently banned by %s, reason: %s", PlayerInfo[giveplayerid][pAdminName], GetPlayerNameEx(playerid), reason);
  23525. }
  23526. else
  23527. {
  23528. format(string, sizeof(string), "AdmCmd: %s(IP:%s) was permanently banned by %s, reason: %s", GetPlayerNameEx(giveplayerid), playerip, GetPlayerNameEx(playerid), reason);
  23529. Log("logs/ban.log", string);
  23530. format(string, sizeof(string), "AdmCmd: %s was permanently banned by %s, reason: %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason);
  23531. }
  23532. SendClientMessageToAllEx(COLOR_LIGHTRED, string);
  23533. PlayerInfo[giveplayerid][pPermaBanned] = 1;
  23534. new ip[32];
  23535. GetPlayerIp(giveplayerid,ip,sizeof(ip));
  23536. AddBan(ip);
  23537. Kick(giveplayerid);
  23538. }
  23539. return 1;
  23540. }
  23541. }
  23542. else SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  23543. return 1;
  23544. }
  23545. CMD:setcolor(playerid, params[])
  23546. {
  23547. if(PlayerInfo[playerid][pAdmin] >= 5)
  23548. {
  23549. ShowPlayerDialogEx(playerid, COLORMENU, DIALOG_STYLE_LIST, "Color Menu", "Blue\nBlack\nRed\nOrange\nPink\nPurple\nGreen\nYellow\nWhite", "Select", "Cancel");
  23550. }
  23551. else
  23552. {
  23553. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  23554. }
  23555. return 1;
  23556. }
  23557. CMD:accent(playerid, params[])
  23558. {
  23559. new accent;
  23560. if(sscanf(params, "d", accent))
  23561. {
  23562. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /accent [accent ID]");
  23563. SendClientMessage(playerid, COLOR_GRAD2, "Available Names: Normal [1], British [2], Asian [3], Scottish [4], Irish [5], Russian [6], American [7]");
  23564. SendClientMessage(playerid, COLOR_GRAD2, "Available Accents: Spanish [8], Southern [9], Cuban [10], Italian [11], Gangster [12], Australian [13]");
  23565. SendClientMessage(playerid, COLOR_GRAD2, "Available Accents: Arabic [14], Balkan [15], Canadian [16], Jamaican [17], Israeli [18], Indian [19]");
  23566. SendClientMessage(playerid, COLOR_GRAD2, "Available Accents: Welsh [20], French [21], German [22], Dutch [23], South African [24], Filipino[25], No Accent [26]");
  23567. return 1;
  23568. }
  23569. switch(accent)
  23570. {
  23571. case 1:
  23572. {
  23573. PlayerInfo[playerid][pAccent] = 1;
  23574. SendClientMessage(playerid, COLOR_WHITE, "You will now speak in the Normal accent, use /accent to change it.");
  23575. }
  23576. case 2:
  23577. {
  23578. PlayerInfo[playerid][pAccent] = 2;
  23579. SendClientMessage(playerid, COLOR_WHITE, "You will now speak in the British accent, use /accent to change it.");
  23580. }
  23581. case 3:
  23582. {
  23583. PlayerInfo[playerid][pAccent] = 3;
  23584. SendClientMessage(playerid, COLOR_WHITE, "You will now speak in the Asian accent, use /accent to change it.");
  23585. }
  23586. case 4:
  23587. {
  23588. PlayerInfo[playerid][pAccent] = 4;
  23589. SendClientMessage(playerid, COLOR_WHITE, "You will now speak in the Scottish accent, use /accent to change it.");
  23590. }
  23591. case 5:
  23592. {
  23593. PlayerInfo[playerid][pAccent] = 5;
  23594. SendClientMessage(playerid, COLOR_WHITE, "You will now speak in the Irish accent, use /accent to change it.");
  23595. }
  23596. case 6:
  23597. {
  23598. PlayerInfo[playerid][pAccent] = 6;
  23599. SendClientMessage(playerid, COLOR_WHITE, "You will now speak in the Russian accent, use /accent to change it.");
  23600. }
  23601. case 7:
  23602. {
  23603. PlayerInfo[playerid][pAccent] = 7;
  23604. SendClientMessage(playerid, COLOR_WHITE, "You will now speak in the American accent, use /accent to change it.");
  23605. }
  23606. case 8:
  23607. {
  23608. PlayerInfo[playerid][pAccent] = 8;
  23609. SendClientMessage(playerid, COLOR_WHITE, "You will now speak in the Spanish accent, use /accent to change it.");
  23610. }
  23611. case 9:
  23612. {
  23613. PlayerInfo[playerid][pAccent] = 9;
  23614. SendClientMessage(playerid, COLOR_WHITE, "You will now speak in the Southern accent, use /accent to change it.");
  23615. }
  23616. case 10:
  23617. {
  23618. PlayerInfo[playerid][pAccent] = 10;
  23619. SendClientMessage(playerid, COLOR_WHITE, "You will now speak in the Cuban accent, use /accent to change it.");
  23620. }
  23621. case 11:
  23622. {
  23623. PlayerInfo[playerid][pAccent] = 11;
  23624. SendClientMessage(playerid, COLOR_WHITE, "You will now speak in the Italian accent, use /accent to change it.");
  23625. }
  23626. case 12:
  23627. {
  23628. PlayerInfo[playerid][pAccent] = 12;
  23629. SendClientMessage(playerid, COLOR_WHITE, "You will now speak in the Gangster accent, use /accent to change it.");
  23630. }
  23631. case 13:
  23632. {
  23633. PlayerInfo[playerid][pAccent] = 13;
  23634. SendClientMessage(playerid, COLOR_WHITE, "You will now speak in the Australian accent, use /accent to change it.");
  23635. }
  23636. case 14:
  23637. {
  23638. PlayerInfo[playerid][pAccent] = 14;
  23639. SendClientMessage(playerid, COLOR_WHITE, "You will now speak in the Arabic accent, use /accent to change it.");
  23640. }
  23641. case 15:
  23642. {
  23643. PlayerInfo[playerid][pAccent] = 15;
  23644. SendClientMessage(playerid, COLOR_WHITE, "You will now speak in the Balkan accent, use /accent to change it.");
  23645. }
  23646. case 16:
  23647. {
  23648. PlayerInfo[playerid][pAccent] = 16;
  23649. SendClientMessage(playerid, COLOR_WHITE, "You will now speak in the Canadian accent, use /accent to change it.");
  23650. }
  23651. case 17:
  23652. {
  23653. PlayerInfo[playerid][pAccent] = 17;
  23654. SendClientMessage(playerid, COLOR_WHITE, "You will now speak in the Jamaican accent, use /accent to change it.");
  23655. }
  23656. case 18:
  23657. {
  23658. PlayerInfo[playerid][pAccent] = 18;
  23659. SendClientMessage(playerid, COLOR_WHITE, "You will now speak in the Israeli accent, use /accent to change it.");
  23660. }
  23661. case 19:
  23662. {
  23663. PlayerInfo[playerid][pAccent] = 19;
  23664. SendClientMessage(playerid, COLOR_WHITE, "You will now speak in the Indian accent, use /accent to change it.");
  23665. }
  23666. case 20:
  23667. {
  23668. PlayerInfo[playerid][pAccent] = 20;
  23669. SendClientMessage(playerid, COLOR_WHITE, "You will now speak in the Welsh accent, use /accent to change it.");
  23670. }
  23671. case 21:
  23672. {
  23673. PlayerInfo[playerid][pAccent] = 21;
  23674. SendClientMessage(playerid, COLOR_WHITE, "You will now speak in the French accent, use /accent to change it.");
  23675. }
  23676. case 22:
  23677. {
  23678. PlayerInfo[playerid][pAccent] = 22;
  23679. SendClientMessage(playerid, COLOR_WHITE, "You will now speak in the German accent, use /accent to change it.");
  23680. }
  23681. case 23:
  23682. {
  23683. PlayerInfo[playerid][pAccent] = 23;
  23684. SendClientMessage(playerid, COLOR_WHITE, "You will now speak in the Dutch accent, use /accent to change it.");
  23685. }
  23686. case 24:
  23687. {
  23688. PlayerInfo[playerid][pAccent] = 24;
  23689. SendClientMessage(playerid, COLOR_WHITE, "You will now speak in the South African accent, use /accent to change it.");
  23690. }
  23691. case 25:
  23692. {
  23693. PlayerInfo[playerid][pAccent] = 25;
  23694. SendClientMessage(playerid, COLOR_WHITE, "You will now speak in the Filipino accent, use /accent to change it.");
  23695. }
  23696. case 26:
  23697. {
  23698. PlayerInfo[playerid][pAccent] = 26;
  23699. SendClientMessage(playerid, COLOR_WHITE, "You will now speak in the No Accent, use /accent to change it.");
  23700. }
  23701. }
  23702. return 1;
  23703. }
  23704. CMD:reply(playerid, params[])
  23705. {
  23706. new string[128];
  23707. new reportid = INVALID_REPORT_ID;
  23708. for(new i = 0; i < MAX_REPORTS; i++)
  23709. {
  23710. if(Reports[i][ReportFrom] == playerid && Reports[i][CheckingReport] != 999)
  23711. {
  23712. reportid = i;
  23713. }
  23714. }
  23715. if(reportid == INVALID_REPORT_ID)
  23716. {
  23717. SendClientMessage(playerid, COLOR_GRAD2, "You don't have any reports being reviewed at the moment.");
  23718. return 1;
  23719. }
  23720. if(IsPlayerConnected(Reports[reportid][CheckingReport]))
  23721. {
  23722. format(string, sizeof(string), "%s(ID: %d) replies: %s", GetPlayerNameEx(playerid), playerid, params);
  23723. SendClientMessage(Reports[reportid][CheckingReport], COLOR_YELLOW, string);
  23724. format(string, sizeof(string), "Reply sent to %s: %s", GetPlayerNameEx(Reports[reportid][CheckingReport]), params);
  23725. SendClientMessage(playerid, COLOR_YELLOW, string);
  23726. }
  23727. else SendClientMessage(playerid, COLOR_GRAD1, "Player not connected.");
  23728. return 1;
  23729. }
  23730. CMD:cancelreport(playerid, params[])
  23731. {
  23732. for(new i = 0; i < MAX_REPORTS; i++)
  23733. {
  23734. if(Reports[i][ReportFrom] == playerid)
  23735. {
  23736. Reports[i][ReportFrom] = 999;
  23737. Reports[i][BeingUsed] = 0;
  23738. Reports[i][TimeToExpire] = 0;
  23739. return SendClientMessage(playerid, COLOR_WHITE, "You have successfully canceled your report. ");
  23740. }
  23741. }
  23742. SendClientMessage(playerid, COLOR_GRAD2, "You don't have any pending reports.");
  23743. return 1;
  23744. }
  23745. CMD:reporttips(playerid, params[])
  23746. {
  23747. ShowPlayerDialogEx(playerid,7955,DIALOG_STYLE_MSGBOX,"Report tips","Tips when reporting:\n- Report what you need, not who you need.\n- Be specific, report exactly what you need.\n- Do not make false reports.\n- Report only for in-game items.","Close", "");
  23748. return 1;
  23749. }
  23750. CMD:report(playerid, params[])
  23751. {
  23752. if(AdminDuty[playerid] == 1 && PlayerInfo[playerid][pAdmin] < 6)
  23753. {
  23754. SendClientMessage(playerid, COLOR_GRAD2, "You can't submit reports while on-duty.");
  23755. return 1;
  23756. }
  23757. if(PlayerInfo[playerid][pRMuted] != 0)
  23758. {
  23759. ShowPlayerDialogEx(playerid,7955,DIALOG_STYLE_MSGBOX,"Report tips","Tips when reporting:\n- Report what you need, not who you need.\n- Be specific, report exactly what you need.\n- Do not make false reports.\n- Report only for in-game items.","Close", "");
  23760. return 1;
  23761. }
  23762. if(JustReported[playerid] > 0)
  23763. {
  23764. SendClientMessage(playerid, COLOR_GREY, "Wait 25 seconds before sending another report!");
  23765. return 1;
  23766. }
  23767. if(isnull(params)) return SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /report [text]");
  23768. JustReported[playerid]=25;
  23769. SendReportToQueue(playerid, params);
  23770. SendClientMessage(playerid, COLOR_YELLOW, "Your report message was sent to the Admins.");
  23771. return 1;
  23772. }
  23773. CMD:rdm(playerid, params[]) return cmd_reportdm(playerid, params);
  23774. CMD:reportdm(playerid, params[])
  23775. {
  23776. if(AdminDuty[playerid] == 1 && PlayerInfo[playerid][pAdmin] < 6)
  23777. {
  23778. SendClientMessage(playerid, COLOR_GRAD2, "You can't submit reports while on-duty.");
  23779. return 1;
  23780. }
  23781. if(PlayerInfo[playerid][pRMuted] != 0)
  23782. {
  23783. ShowPlayerDialogEx(playerid,7955,DIALOG_STYLE_MSGBOX,"Report tips","Tips when reporting:\n- Report what you need, not who you need.\n- Be specific, report exactly what you need.\n- Do not make false reports.\n- Report only for in-game items.","Close", "");
  23784. return 1;
  23785. }
  23786. if(JustReported[playerid] > 0)
  23787. {
  23788. SendClientMessage(playerid, COLOR_GREY, "Wait 25 seconds before sending another report!");
  23789. return 1;
  23790. }
  23791. new id;
  23792. if(sscanf(params, "u", id)) return SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /reportdm [playerid/partofname]");
  23793. if(!IsPlayerConnected(id)) return SCM(playerid, -1, "That player is not connected.");
  23794. JustReported[playerid]=25;
  23795. SendDMReportToQueue(playerid, id);
  23796. SendClientMessage(playerid, COLOR_YELLOW, "Your DM report was sent to the Admins.");
  23797. return 1;
  23798. }
  23799. /*CMD:reports(playerid, params[])
  23800. {
  23801. if(PlayerInfo[playerid][pAdmin] >= 1)
  23802. {
  23803. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  23804. {
  23805. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  23806. return 1;
  23807. }
  23808. new reportdialog[2048], itemid = 0;
  23809. for(new i = 0; i < MAX_REPORTS; i++)
  23810. {
  23811. if(Reports[i][BeingUsed] == 1 && itemid < 40)
  23812. {
  23813. ListItemReportId[playerid][itemid] = i;
  23814. itemid++;
  23815. if(strlen((Reports[i][Report])) > 32)
  23816. {
  23817. new firstline[128], secondline[128];
  23818. strmid(firstline, Reports[i][Report], 0, 88);
  23819. strmid(secondline, Reports[i][Report], 88, 128);
  23820. if(strlen(secondline) > 6)
  23821. {
  23822. format(reportdialog, sizeof(reportdialog), "%s%s(ID:%i) | Report: %s", reportdialog, GetPlayerNameEx(Reports[i][ReportFrom]), Reports[i][ReportFrom], i, firstline);
  23823. format(reportdialog, sizeof(reportdialog), "%s%s", reportdialog, secondline);
  23824. ListItemReportId[playerid][itemid] = i;
  23825. itemid++;
  23826. }
  23827. else format(reportdialog, sizeof(reportdialog), "%s%s(ID:%i) | Report: %s", reportdialog, GetPlayerNameEx(Reports[i][ReportFrom]), Reports[i][ReportFrom], i, (Reports[i][Report]));
  23828. }
  23829. else format(reportdialog, sizeof(reportdialog), "%s%s(ID:%i) | Report: %s", reportdialog, GetPlayerNameEx(Reports[i][ReportFrom]), Reports[i][ReportFrom], i, (Reports[i][Report]));
  23830. format(reportdialog, sizeof(reportdialog), "%s\n", reportdialog);
  23831. }
  23832. }
  23833. CancelReport[playerid] = itemid;
  23834. format(reportdialog, sizeof(reportdialog), "%s\n", reportdialog);
  23835. format(reportdialog, sizeof(reportdialog), "%sCancel Reports", reportdialog);
  23836. ShowPlayerDialogEx(playerid, REPORTSMENU, DIALOG_STYLE_LIST, "Reports", reportdialog, "Accept", "Trash");
  23837. }
  23838. return 1;
  23839. }*/
  23840. CMD:reports(playerid, params[])
  23841. {
  23842. if(PlayerInfo[playerid][pAdmin] >= 1)
  23843. {
  23844. /*if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  23845. {
  23846. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  23847. return 1;
  23848. }*/
  23849. new string[140];
  23850. SendClientMessage(playerid, COLOR_GREEN, "____________________ REPORTS _____________________");
  23851. for(new i = 0; i < MAX_REPORTS; i++)
  23852. {
  23853. if(Reports[i][BeingUsed] == 1)
  23854. {
  23855. format(string, sizeof(string), "%s(ID: %i) | RID: %i | Report: %s | Expires in: %d minutes.", GetPlayerNameEx(Reports[i][ReportFrom]), Reports[i][ReportFrom], i, (Reports[i][Report]), Reports[i][TimeToExpire]);
  23856. SendClientMessage(playerid, COLOR_REPORT, string);
  23857. }
  23858. }
  23859. SendClientMessage(playerid, COLOR_GREEN, "___________________________________________________");
  23860. }
  23861. return 1;
  23862. }
  23863. CMD:ar(playerid, params[])
  23864. {
  23865. if(PlayerInfo[playerid][pAdmin] >= 1)
  23866. {
  23867. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  23868. {
  23869. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  23870. return 1;
  23871. }
  23872. new string[128], reportid;
  23873. if(sscanf(params, "d", reportid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /ar [reportid]");
  23874. if(reportid < 0 || reportid > 999) { SendClientMessage(playerid, COLOR_GREY, " Report ID not below 0 or above 999!"); return 1; }
  23875. if(Reports[reportid][BeingUsed] == 0) {
  23876. SendClientMessage(playerid, COLOR_GREY, " That report ID is not being used!");
  23877. return 1;
  23878. }
  23879. if(!IsPlayerConnected(Reports[reportid][ReportFrom])) {
  23880. SendClientMessage(playerid, COLOR_GREY, " The reporter has disconnected!");
  23881. Reports[reportid][ReportFrom] = 999;
  23882. Reports[reportid][BeingUsed] = 0;
  23883. return 1;
  23884. }
  23885. format(string, sizeof(string), "AdmCmd: %s has accepted the report from %s (ID: %i, RID: %i).", GetPlayerNameEx(playerid), GetPlayerNameEx(Reports[reportid][ReportFrom]),Reports[reportid][ReportFrom],reportid);
  23886. ABroadCast(COLOR_ORANGE, string, 1);
  23887. AddReportToken(playerid); // Report Tokens
  23888. format(string, sizeof(string), "%s has accepted your report and is reviewing it, you can /reply to send messages to the admin reviewing your report.", GetPlayerNameEx(playerid));
  23889. SendClientMessage(Reports[reportid][ReportFrom], COLOR_WHITE, string);
  23890. PlayerInfo[playerid][pAcceptReport]++;
  23891. Reports[reportid][ReplyTimerr] = SetTimerEx("ReplyTimer", 60000, 0, "d", reportid);
  23892. Reports[reportid][CheckingReport] = playerid;
  23893. Reports[reportid][BeingUsed] = 0;
  23894. Reports[reportid][TimeToExpire] = 0;
  23895. strmid(Reports[reportid][Report], "None", 0, 4, 4);
  23896. }
  23897. return 1;
  23898. }
  23899. CMD:tr(playerid, params[])
  23900. {
  23901. if(PlayerInfo[playerid][pAdmin] >= 1)
  23902. {
  23903. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  23904. {
  23905. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  23906. return 1;
  23907. }
  23908. new string[128], reportid;
  23909. if(sscanf(params, "d", reportid)) return SendClientMessage(playerid, COLOR_WHITE,"USAGE: /tr [reportid]");
  23910. if(reportid < 0 || reportid > 999) { SendClientMessage(playerid, COLOR_GREY, " Report ID not below 0 or above 999!"); return 1; }
  23911. if(Reports[reportid][BeingUsed] == 0)
  23912. {
  23913. SendClientMessage(playerid, COLOR_GREY, " That report ID is not being used!");
  23914. return 1;
  23915. }
  23916. if(!IsPlayerConnected(Reports[reportid][ReportFrom]))
  23917. {
  23918. SendClientMessage(playerid, COLOR_GREY, " The reporter has disconnected!");
  23919. Reports[reportid][ReportFrom] = 999;
  23920. Reports[reportid][BeingUsed] = 0;
  23921. return 1;
  23922. }
  23923. format(string, sizeof(string), "AdmCmd: %s has trashed the report from %s.", GetPlayerNameEx(playerid), GetPlayerNameEx(Reports[reportid][ReportFrom]));
  23924. ABroadCast(COLOR_ORANGE, string, 1);
  23925. format(string, sizeof(string), "%s has marked your report invalid. It will not be reviewed. Please check /reporttips", GetPlayerNameEx(playerid));
  23926. SendClientMessage(Reports[reportid][ReportFrom], COLOR_WHITE, string);
  23927. PlayerInfo[playerid][pTrashReport]++;
  23928. Reports[reportid][ReportFrom] = 999;
  23929. Reports[reportid][BeingUsed] = 0;
  23930. Reports[reportid][TimeToExpire] = 0;
  23931. strmid(Reports[reportid][Report], "None", 0, 4, 4);
  23932. }
  23933. return 1;
  23934. }
  23935. CMD:rtnc(playerid, params[]) {
  23936. if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pHelper] >= 1) {
  23937. if(PlayerInfo[playerid][pHelper] >= 1) {
  23938. new
  23939. iTarget,
  23940. szMessage[128],
  23941. szHelp[128];
  23942. if(sscanf(params, "u", iTarget))
  23943. return SendClientMessage(playerid, COLOR_WHITE,"USAGE: /rtnc [playerid/partofname]");
  23944. if(iTarget == INVALID_PLAYER_ID)
  23945. return SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  23946. if(GetPVarType(iTarget, "helpreq") == 0)
  23947. return SendClientMessage(playerid, COLOR_GREY, "The specified player hasn't created a help request.");
  23948. SendClientMessage(iTarget, COLOR_WHITE, "A helper has referred your report to newbie chat. Use /newb to respond.");
  23949. SendClientMessage(iTarget, COLOR_WHITE, "Players, admins and other various people will help you with your question here.");
  23950. if(gNewbie[iTarget] != 0)
  23951. gNewbie[iTarget] = 0;
  23952. GetPVarString(playerid, "helpreq", szHelp, sizeof(szHelp));
  23953. format(szMessage, sizeof(szMessage), "** Newbie %s: %s", GetPlayerNameEx(iTarget), szHelp);
  23954. foreach(Player, n) {
  23955. if(gNewbie[n]==0) {
  23956. SendClientMessage(n, COLOR_NEWBIE, szMessage);
  23957. }
  23958. }
  23959. format(szMessage, sizeof(szMessage), "HelpCmd: %s has referred %s's (ID: %d) request to newbie chat.", GetPlayerNameEx(playerid), GetPlayerNameEx(iTarget), iTarget);
  23960. HelperBroadcast(COLOR_ORANGE, szMessage, 1);
  23961. } else {
  23962. if(isnull(params))
  23963. return SendClientMessage(playerid, COLOR_WHITE,"USAGE: /rtnc [reportid]");
  23964. new
  23965. iReportID = strval(params);
  23966. if(iReportID < 0 || iReportID > 999) { SendClientMessage(playerid, COLOR_GREY, " Report ID not below 0 or above 999!"); return 1; }
  23967. if(Reports[iReportID][BeingUsed] == 0)
  23968. {
  23969. SendClientMessage(playerid, COLOR_GREY, " That report ID is not being used!");
  23970. return 1;
  23971. }
  23972. if(!IsPlayerConnected(Reports[iReportID][ReportFrom]))
  23973. {
  23974. SendClientMessage(playerid, COLOR_GREY, " The reporter has disconnected!");
  23975. Reports[iReportID][ReportFrom] = 999;
  23976. Reports[iReportID][BeingUsed] = 0;
  23977. return 1;
  23978. }
  23979. SendClientMessage(Reports[iReportID][ReportFrom], COLOR_WHITE, "An admin has referred your report to newbie chat. Use /newb to respond.");
  23980. SendClientMessage(Reports[iReportID][ReportFrom], COLOR_WHITE, "Players, helpers and other various people will help you with your question here.");
  23981. if(gNewbie[Reports[iReportID][ReportFrom]] != 0)
  23982. gNewbie[Reports[iReportID][ReportFrom]] = 0;
  23983. new
  23984. szMessage[128];
  23985. format(szMessage, sizeof(szMessage), "** Newbie %s: %s", GetPlayerNameEx(Reports[iReportID][ReportFrom]), Reports[iReportID][Report]);
  23986. foreach(Player, n) {
  23987. if(gNewbie[n]==0) {
  23988. SendClientMessage(n, COLOR_NEWBIE, szMessage);
  23989. }
  23990. }
  23991. format(szMessage, sizeof(szMessage), "AdmCmd: %s has referred %s's (RID: %d) report to newbie chat.", GetPlayerNameEx(playerid), GetPlayerNameEx(Reports[iReportID][ReportFrom]), iReportID);
  23992. ABroadCast(COLOR_ORANGE, szMessage, 1);
  23993. Reports[iReportID][ReportFrom] = 999;
  23994. Reports[iReportID][BeingUsed] = 0;
  23995. Reports[iReportID][TimeToExpire] = 0;
  23996. strmid(Reports[iReportID][Report], "None", 0, 4, 4);
  23997. }
  23998. }
  23999. return 1;
  24000. }
  24001. CMD:nro(playerid, params[])
  24002. {
  24003. if(PlayerInfo[playerid][pAdmin] >= 1)
  24004. {
  24005. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  24006. {
  24007. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  24008. return 1;
  24009. }
  24010. new string[128], reportid;
  24011. if(sscanf(params, "d", reportid)) return SendClientMessage(playerid, COLOR_WHITE,"USAGE: /nro [reportid]");
  24012. if(reportid < 0 || reportid > 999) { SendClientMessage(playerid, COLOR_GREY, " Report ID not below 0 or above 999!"); return 1; }
  24013. if(Reports[reportid][BeingUsed] == 0)
  24014. {
  24015. SendClientMessage(playerid, COLOR_GREY, " That report ID is not being used!");
  24016. return 1;
  24017. }
  24018. if(!IsPlayerConnected(Reports[reportid][ReportFrom]))
  24019. {
  24020. SendClientMessage(playerid, COLOR_GREY, " The reporter has disconnected!");
  24021. Reports[reportid][ReportFrom] = 999;
  24022. Reports[reportid][BeingUsed] = 0;
  24023. return 1;
  24024. }
  24025. format(string, sizeof(string), "AdmCmd: %s has cleared report from %s (RID: %d) as it isn't a rule breaking offense that was reported.", GetPlayerNameEx(playerid), GetPlayerNameEx(Reports[reportid][ReportFrom]), reportid);
  24026. ABroadCast(COLOR_ORANGE, string, 1);
  24027. format(string, sizeof(string), "%s has reviewed your report and determined this report is not valid. The player you reported is not breaking any rules.", GetPlayerNameEx(playerid));
  24028. SendClientMessage(Reports[reportid][ReportFrom], COLOR_WHITE, string);
  24029. SendClientMessage(Reports[reportid][ReportFrom], COLOR_WHITE, "If you feel this is a rule-breaking offense, you can always propose we create this as a new rule by posting on the forums.");
  24030. Reports[reportid][ReportFrom] = 999;
  24031. Reports[reportid][BeingUsed] = 0;
  24032. Reports[reportid][TimeToExpire] = 0;
  24033. strmid(Reports[reportid][Report], "None", 0, 4, 4);
  24034. }
  24035. return 1;
  24036. }
  24037. CMD:post(playerid, params[])
  24038. {
  24039. if(PlayerInfo[playerid][pAdmin] >= 1)
  24040. {
  24041. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  24042. {
  24043. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  24044. return 1;
  24045. }
  24046. new string[128], reportid;
  24047. if(sscanf(params, "d", reportid)) return SendClientMessage(playerid, COLOR_WHITE,"USAGE: /post [reportid]");
  24048. if(reportid < 0 || reportid > 999) { SendClientMessage(playerid, COLOR_GREY, " Report ID not below 0 or above 999!"); return 1; }
  24049. if(Reports[reportid][BeingUsed] == 0)
  24050. {
  24051. SendClientMessage(playerid, COLOR_GREY, " That report ID is not being used!");
  24052. return 1;
  24053. }
  24054. if(!IsPlayerConnected(Reports[reportid][ReportFrom]))
  24055. {
  24056. SendClientMessage(playerid, COLOR_GREY, " The reporter has disconnected!");
  24057. Reports[reportid][ReportFrom] = 999;
  24058. Reports[reportid][BeingUsed] = 0;
  24059. return 1;
  24060. }
  24061. format(string, sizeof(string), "AdmCmd: %s has cleared report from %s (RID: %d) due to it needing to be handled on the forums", GetPlayerNameEx(playerid), GetPlayerNameEx(Reports[reportid][ReportFrom]), reportid);
  24062. ABroadCast(COLOR_ORANGE, string, 1);
  24063. format(string, sizeof(string), "%s has reviewed your report and determined this report should be handled on the forums (i.e. complaint or request.)", GetPlayerNameEx(playerid));
  24064. SendClientMessage(Reports[reportid][ReportFrom], COLOR_WHITE, string);
  24065. SendClientMessage(Reports[reportid][ReportFrom], COLOR_WHITE, "Please only report for items that are actively occuring in game. ("WEBSITE")");
  24066. Reports[reportid][ReportFrom] = 999;
  24067. Reports[reportid][BeingUsed] = 0;
  24068. Reports[reportid][TimeToExpire] = 0;
  24069. strmid(Reports[reportid][Report], "None", 0, 4, 4);
  24070. }
  24071. return 1;
  24072. }
  24073. CMD:norevive(playerid, params[])
  24074. {
  24075. if(PlayerInfo[playerid][pAdmin] >= 1)
  24076. {
  24077. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  24078. {
  24079. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  24080. return 1;
  24081. }
  24082. new string[128], reportid;
  24083. if(sscanf(params, "d", reportid)) return SendClientMessage(playerid, COLOR_WHITE,"USAGE: /norevive [reportid]");
  24084. if(reportid < 0 || reportid > 999) { SendClientMessage(playerid, COLOR_GREY, " Report ID not below 0 or above 999!"); return 1; }
  24085. if(Reports[reportid][BeingUsed] == 0)
  24086. {
  24087. SendClientMessage(playerid, COLOR_GREY, " That report ID is not being used!");
  24088. return 1;
  24089. }
  24090. if(!IsPlayerConnected(Reports[reportid][ReportFrom]))
  24091. {
  24092. SendClientMessage(playerid, COLOR_GREY, " The reporter has disconnected!");
  24093. Reports[reportid][ReportFrom] = 999;
  24094. Reports[reportid][BeingUsed] = 0;
  24095. return 1;
  24096. }
  24097. format(string, sizeof(string), "AdmCmd: %s has cleared report from %s (RID: %d) because their request for a revive was not valid.", GetPlayerNameEx(playerid), GetPlayerNameEx(Reports[reportid][ReportFrom]), reportid);
  24098. ABroadCast(COLOR_ORANGE, string, 1);
  24099. format(string, sizeof(string), "%s has reviewed your report and determined that you may not be revived.", GetPlayerNameEx(playerid));
  24100. SendClientMessage(Reports[reportid][ReportFrom], COLOR_WHITE, string);
  24101. SendClientMessage(Reports[reportid][ReportFrom], COLOR_WHITE, "If you died due to a bug or were DMed (and an admin witnessed it), you're only then entitled to a revive.");
  24102. Reports[reportid][ReportFrom] = 999;
  24103. Reports[reportid][BeingUsed] = 0;
  24104. Reports[reportid][TimeToExpire] = 0;
  24105. strmid(Reports[reportid][Report], "None", 0, 4, 4);
  24106. }
  24107. return 1;
  24108. }
  24109. CMD:nao(playerid, params[])
  24110. {
  24111. if(PlayerInfo[playerid][pAdmin] >= 1)
  24112. {
  24113. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  24114. {
  24115. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  24116. return 1;
  24117. }
  24118. new string[128], reportid;
  24119. if(sscanf(params, "d", reportid)) return SendClientMessage(playerid, COLOR_WHITE,"USAGE: /nao [reportid]");
  24120. if(reportid < 0 || reportid > 999) { SendClientMessage(playerid, COLOR_GREY, " Report ID not below 0 or above 999!"); return 1; }
  24121. if(Reports[reportid][BeingUsed] == 0)
  24122. {
  24123. SendClientMessage(playerid, COLOR_GREY, " That report ID is not being used!");
  24124. return 1;
  24125. }
  24126. if(!IsPlayerConnected(Reports[reportid][ReportFrom]))
  24127. {
  24128. SendClientMessage(playerid, COLOR_GREY, " The reporter has disconnected!");
  24129. Reports[reportid][ReportFrom] = 999;
  24130. Reports[reportid][BeingUsed] = 0;
  24131. return 1;
  24132. }
  24133. format(string, sizeof(string), "AdmCmd: %s has cleared report from %s (RID: %d) due to not having admin of sufficient authority online.", GetPlayerNameEx(playerid), GetPlayerNameEx(Reports[reportid][ReportFrom]), reportid);
  24134. ABroadCast(COLOR_ORANGE, string, 1);
  24135. format(string, sizeof(string), "%s has reviewed your report, however there is not an Admin presently online (or on admin duty) with sufficient authority to handle your request.", GetPlayerNameEx(playerid));
  24136. SendClientMessage(Reports[reportid][ReportFrom], COLOR_WHITE, string);
  24137. SendClientMessage(Reports[reportid][ReportFrom], COLOR_WHITE, "You can post a request on the forums for additional assistance ("WEBSITE"). Our apologies for the inconvenience. ");
  24138. Reports[reportid][ReportFrom] = 999;
  24139. Reports[reportid][BeingUsed] = 0;
  24140. Reports[reportid][TimeToExpire] = 0;
  24141. strmid(Reports[reportid][Report], "None", 0, 4, 4);
  24142. }
  24143. return 1;
  24144. }
  24145. CMD:clearallreports(playerid, params[])
  24146. {
  24147. if(PlayerInfo[playerid][pAdmin] >= 5) {
  24148. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  24149. {
  24150. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  24151. return 1;
  24152. }
  24153. new string[128];
  24154. ClearReports();
  24155. SendClientMessage(playerid,COLOR_GRAD1, "You have cleared all the active reports.");
  24156. format(string, sizeof(string), "AdmCmd: %s has cleared all the pending reports.", GetPlayerNameEx(playerid));
  24157. ABroadCast(COLOR_LIGHTRED, string, 1);
  24158. }
  24159. else {
  24160. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  24161. }
  24162. return 1;
  24163. }
  24164. CMD:admins(playerid, params[])
  24165. {
  24166. if(PlayerInfo[playerid][pAdmin] >= 1)
  24167. {
  24168. SendClientMessage(playerid, COLOR_NEWS, "Admins Online:");
  24169. foreach(Player, i)
  24170. {
  24171. if(PlayerInfo[i][pAdmin] >= 1 && PlayerInfo[i][pAdmin] <= PlayerInfo[playerid][pAdmin])
  24172. {
  24173. new string[128], strFromFile[128], sstring[128], rtoken;
  24174. new playern[MAX_PLAYER_NAME];
  24175. new month, day, year;
  24176. GetPlayerName(i, playern, sizeof(playern));
  24177. getdate(year, month, day);
  24178. if(PlayerInfo[playerid][pAdmin] >= 5)
  24179. {
  24180. if(AdminDuty[i] == 1)
  24181. {
  24182. format(sstring,sizeof(sstring),"admins/rtokens/%s[%d'%d'%d]",playern,month,day,year);
  24183. if(fexist(sstring))
  24184. {
  24185. new File: file = fopen(sstring, io_read);
  24186. if(file)
  24187. {
  24188. fread(file, strFromFile);
  24189. fclose(file);
  24190. rtoken = strval(strFromFile);
  24191. }
  24192. }
  24193. format(string, sizeof(string), "(%s: {FFFFFF}%s) - (On-duty) - (Reports Today: %d)",GetAdminRank(i), GetPlayerNameEx(i), rtoken);
  24194. }
  24195. else
  24196. {
  24197. format(sstring,sizeof(sstring),"admins/rtokens/%s[%d'%d'%d]",PlayerInfo[i][pAdminName],month,day,year);
  24198. if(fexist(sstring))
  24199. {
  24200. new File: file = fopen(sstring, io_read);
  24201. if(file)
  24202. {
  24203. fread(file, strFromFile);
  24204. fclose(file);
  24205. rtoken = strval(strFromFile);
  24206. }
  24207. }
  24208. if(strlen(PlayerInfo[i][pAdminName]) > 2 && strlen(PlayerInfo[i][pAdminName]) < 20)
  24209. {
  24210. format(string, sizeof(string), "(%s: {FFFFFF}%s) - (Off-duty) - (ID %d - %s) - (Reports Today: %d)", GetAdminRank(i), PlayerInfo[i][pAdminName], i, GetPlayerNameEx(i), rtoken);
  24211. }
  24212. else
  24213. {
  24214. format(string, sizeof(string), "(%s{FFFFFF}: No admin name set) - (Off-duty) - (ID %d - %s) - (Reports Today: %d)", GetAdminRank(i), i, GetPlayerNameEx(i), rtoken);
  24215. }
  24216. }
  24217. }
  24218. else
  24219. {
  24220. if(AdminDuty[i] == 1)
  24221. {
  24222. format(string, sizeof(string), "(Level %d Admin: %s) - (On-duty)", PlayerInfo[i][pAdmin], GetPlayerNameEx(i));
  24223. }
  24224. else
  24225. {
  24226. if(strlen(PlayerInfo[i][pAdminName]) > 2 && strlen(PlayerInfo[i][pAdminName]) < 20)
  24227. {
  24228. format(string, sizeof(string), "(Level %d Admin: %s) - (Off-duty) - (ID %d - %s)", PlayerInfo[i][pAdmin], PlayerInfo[i][pAdminName], i, GetPlayerNameEx(i));
  24229. }
  24230. else
  24231. {
  24232. format(string, sizeof(string), "(Level %d Admin: No admin name set) - (Off-duty) - (ID %d - %s)", PlayerInfo[i][pAdmin], i, GetPlayerNameEx(i));
  24233. }
  24234. }
  24235. }
  24236. SendClientMessage(playerid, COLOR_WHITE, string);
  24237. }
  24238. }
  24239. }
  24240. else {
  24241. SendClientMessage(playerid, COLOR_GRAD1, "If you have questions regarding gameplay, or the server use /newb.");
  24242. SendClientMessage(playerid, COLOR_GRAD1, "If you see suspicious happenings/players /report [id] [reason].");
  24243. }
  24244. return 1;
  24245. }
  24246. CMD:jail(playerid, params[])
  24247. {
  24248. if(PlayerInfo[playerid][pAdmin] >= 1)
  24249. {
  24250. new
  24251. iTargetID,
  24252. szReason[64];
  24253. if(sscanf(params, "us[64]", iTargetID, szReason)) {
  24254. SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /jail [playerid/partofname] [reason]");
  24255. }
  24256. else if(IsPlayerConnected(iTargetID)) {
  24257. if(AdminDuty[iTargetID] == 1) {
  24258. return SendClientMessage(playerid, COLOR_WHITE, "You can't perform this action on on-duty admins.");
  24259. }
  24260. if(PlayerInfo[iTargetID][pAdmin] >= PlayerInfo[playerid][pAdmin]) {
  24261. return SendClientMessage(playerid, COLOR_WHITE, "You can't perform this action on equal or higher admins.");
  24262. }
  24263. //if(GetPVarInt(iTargetID, "PBM") > 0) LeavePaintballArena(iTargetID, GetPVarInt(iTargetID, "IsInArena"));
  24264. new
  24265. szMessage[128];
  24266. ResetPlayerWeaponsEx(iTargetID);
  24267. PlayerInfo[iTargetID][pJailed] = 3;
  24268. PhoneOnline[iTargetID] = 1;
  24269. PlayerInfo[iTargetID][pJailTime] = 20*60;
  24270. TogglePlayerControllable(iTargetID, 0);
  24271. for(new o = 0; o < 2; o++)
  24272. {
  24273. TextDrawShowForPlayer(iTargetID, ObjectsLoadingTD[o]);
  24274. }
  24275. SetPVarInt(iTargetID, "LoadingObjects", 1);
  24276. SetTimerEx("SafeLoadObjects", 3000, 0, "d", iTargetID);
  24277. SetPlayerInterior(iTargetID, 69);
  24278. PlayerInfo[iTargetID][pVW] = 696969;
  24279. PlayerInfo[iTargetID][pInt] = 69;
  24280. SetPlayerVirtualWorld(iTargetID, 696969);
  24281. new rand = random(sizeof(AdminPrisonFloat));
  24282. SetPlayerPos(iTargetID, AdminPrisonFloat[rand][0], AdminPrisonFloat[rand][1], AdminPrisonFloat[rand][2]);
  24283. format(szMessage, sizeof(szMessage), "AdmCmd: %s has been jailed by %s, reason: %s", GetPlayerNameEx(iTargetID), GetPlayerNameEx(playerid), szReason);
  24284. SendClientMessageToAllEx(COLOR_LIGHTRED, szMessage);
  24285. format(szMessage, sizeof(szMessage), "AdmCmd: %s has been jailed by %s, reason: %s", GetPlayerNameEx(iTargetID), GetPlayerNameEx(playerid), szReason);
  24286. Log("logs/admin.log", szMessage);
  24287. format(szMessage, sizeof(szMessage), "You have been jailed by Admin %s for 20 minutes, reason: %s.", GetPlayerNameEx(playerid), szReason);
  24288. SendClientMessage(iTargetID, COLOR_LIGHTBLUE, szMessage);
  24289. format(szMessage, sizeof(szMessage), "%s", szReason);
  24290. SendClientMessage(iTargetID, COLOR_LIGHTBLUE, szMessage);
  24291. strcpy(PlayerInfo[iTargetID][pPrisonedBy], GetPlayerNameEx(playerid), MAX_PLAYER_NAME);
  24292. strcpy(PlayerInfo[iTargetID][pPrisonReason], szReason, 128);
  24293. }
  24294. else
  24295. {
  24296. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  24297. }
  24298. }
  24299. return 1;
  24300. }
  24301. CMD:gotoplayerscar(playerid, params[]) {
  24302. if(PlayerInfo[playerid][pAdmin] >= 2)
  24303. {
  24304. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  24305. {
  24306. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  24307. return 1;
  24308. }
  24309. new
  24310. iTargetID;
  24311. if(sscanf(params, "u", iTargetID)) {
  24312. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /gotoplayerscar [playerid/partofname]");
  24313. }
  24314. else if(IsPlayerConnected(iTargetID)) {
  24315. new
  24316. szVehString[1024];
  24317. for(new i, iModelID; i < MAX_PLAYERVEHICLES; i++) {
  24318. if((iModelID = PlayerVehicleInfo[iTargetID][i][pvModelId] - 400) >= 0) {
  24319. if(PlayerVehicleInfo[iTargetID][i][pvImpounded]) {
  24320. format(szVehString, sizeof(szVehString), "%s\n%s (impounded)", szVehString, VehicleName[iModelID]);
  24321. }
  24322. else if(PlayerVehicleInfo[iTargetID][i][pvDisabled]) {
  24323. format(szVehString, sizeof(szVehString), "%s\n%s (disabled)", szVehString, VehicleName[iModelID]);
  24324. }
  24325. else if(!PlayerVehicleInfo[iTargetID][i][pvSpawned]) {
  24326. format(szVehString, sizeof(szVehString), "%s\n%s (stored)", szVehString, VehicleName[iModelID]);
  24327. }
  24328. else format(szVehString, sizeof(szVehString), "%s\n%s (ID %i)", szVehString, VehicleName[iModelID], PlayerVehicleInfo[iTargetID][i][pvId]);
  24329. }
  24330. else strcat(szVehString, "\nEmpty");
  24331. }
  24332. ShowPlayerDialogEx(playerid, GOTOPLAYERCAR, DIALOG_STYLE_LIST, "Vehicle Teleportation", szVehString, "Teleport", "Cancel");
  24333. SetPVarInt(playerid, "playeraffectedcarTP", iTargetID);
  24334. }
  24335. else SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  24336. {
  24337. }
  24338. }
  24339. return 1;
  24340. }
  24341. CMD:watch(playerid, params[])
  24342. {
  24343. if(PlayerInfo[playerid][pAdmin] < 2)
  24344. {
  24345. SendClientMessage(playerid, COLOR_GREY, "You're not authorised to use this command.");
  24346. return 1;
  24347. }
  24348. if(GetPlayerState(playerid) == PLAYER_STATE_SPECTATING)
  24349. {
  24350. SendClientMessage(playerid, COLOR_GRAD2, "You can't do this while spectating.");
  24351. return 1;
  24352. }
  24353. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  24354. {
  24355. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  24356. return 1;
  24357. }
  24358. if(isnull(params))
  24359. {
  24360. // VIP gold room needs to be fixed
  24361. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /watch [location] (or /watch off)");
  24362. SendClientMessage(playerid, COLOR_GRAD2, "General locations: gym, lspd, allsaints, countygen, grove, tgb, bank, motel, cityhall, mall");
  24363. SendClientMessage(playerid, COLOR_GRAD2, "Point locations: mp1, df, mf1, dh, mp2, cl, mf2, aec, ffc");
  24364. }
  24365. // GENERAL LOCATIONS
  24366. if(strcmp(params, "gym", true) == 0)
  24367. {
  24368. SendClientMessage(playerid, COLOR_WHITE, "You're now watching Ganton gym.");
  24369. SetPlayerPos(playerid, 2212.61, -1730.57, -80.0);
  24370. SetPlayerInterior(playerid, 0);
  24371. PlayerInfo[playerid][pInt] = 0;
  24372. SetPlayerVirtualWorld(playerid, 0);
  24373. PlayerInfo[playerid][pVW] = 0;
  24374. TogglePlayerControllable(playerid,0);
  24375. SetPlayerCameraPos(playerid, 2208.67, -1733.71, 27.48);
  24376. SetPlayerCameraLookAt(playerid, 2225.25, -1723.1, 13.56);
  24377. }
  24378. else if(strcmp(params, "lspd", true) == 0)
  24379. {
  24380. SendClientMessage(playerid, COLOR_WHITE, "You're now watching the LSPD.");
  24381. SetPlayerPos(playerid, 1504.23, -1700.17, -80.0);
  24382. SetPlayerInterior(playerid, 0);
  24383. PlayerInfo[playerid][pInt] = 0;
  24384. SetPlayerVirtualWorld(playerid, 0);
  24385. PlayerInfo[playerid][pVW] = 0;
  24386. TogglePlayerControllable(playerid,0);
  24387. SetPlayerCameraPos(playerid, 1500.21, -1691.75, 38.38);
  24388. SetPlayerCameraLookAt(playerid, 1541.46, -1676.17, 13.55);
  24389. }
  24390. else if(strcmp(params, "allsaints", true) == 0)
  24391. {
  24392. SendClientMessage(playerid, COLOR_WHITE, "You're now watching All Saints General Hospital.");
  24393. SetPlayerPos(playerid, 1201.12, -1324, -80.0);
  24394. SetPlayerInterior(playerid, 0);
  24395. PlayerInfo[playerid][pInt] = 0;
  24396. SetPlayerVirtualWorld(playerid, 0);
  24397. PlayerInfo[playerid][pVW] = 0;
  24398. TogglePlayerControllable(playerid,0);
  24399. SetPlayerCameraPos(playerid, 1207.39, -1294.71, 24.61);
  24400. SetPlayerCameraLookAt(playerid, 1181.72, -1322.65, 13.58);
  24401. }
  24402. else if(strcmp(params, "countygen", true) == 0)
  24403. {
  24404. SendClientMessage(playerid, COLOR_WHITE, "You're now watching County General Hospital.");
  24405. SetPlayerPos(playerid, 1989.24, -1461.38, -80.0);
  24406. SetPlayerInterior(playerid, 0);
  24407. PlayerInfo[playerid][pInt] = 0;
  24408. SetPlayerVirtualWorld(playerid, 0);
  24409. PlayerInfo[playerid][pVW] = 0;
  24410. TogglePlayerControllable(playerid,0);
  24411. SetPlayerCameraPos(playerid, 1981.79, -1461.55, 31.93);
  24412. SetPlayerCameraLookAt(playerid, 2021.23, -1427.48, 13.97);
  24413. }
  24414. else if(strcmp(params, "grove", true) == 0)
  24415. {
  24416. SendClientMessage(playerid, COLOR_WHITE, "You're now watching Grove Street.");
  24417. SetPlayerPos(playerid, 2489.09, -1669.88, -80.0);
  24418. SetPlayerInterior(playerid, 0);
  24419. PlayerInfo[playerid][pInt] = 0;
  24420. SetPlayerVirtualWorld(playerid, 0);
  24421. PlayerInfo[playerid][pVW] = 0;
  24422. TogglePlayerControllable(playerid,0);
  24423. SetPlayerCameraPos(playerid, 2459.82, -1652.68, 26.45);
  24424. SetPlayerCameraLookAt(playerid, 2489.09, -1669.88, 13.34);
  24425. }
  24426. else if(strcmp(params, "tgb", true) == 0)
  24427. {
  24428. SendClientMessage(playerid, COLOR_WHITE, "You're now watching Ten Green Bottles.");
  24429. SetPlayerPos(playerid, 2319.09, -1650.90, -80.0);
  24430. SetPlayerInterior(playerid, 0);
  24431. PlayerInfo[playerid][pInt] = 0;
  24432. SetPlayerVirtualWorld(playerid, 0);
  24433. PlayerInfo[playerid][pVW] = 0;
  24434. TogglePlayerControllable(playerid,0);
  24435. SetPlayerCameraPos(playerid, 2336.31, -1664.76, 24.98);
  24436. SetPlayerCameraLookAt(playerid, 2319.09, -1650.90, 14.16);
  24437. }
  24438. else if(strcmp(params, "bank", true) == 0)
  24439. {
  24440. SendClientMessage(playerid, COLOR_WHITE, "You're now watching the Los Santos bank.");
  24441. SetPlayerPos(playerid, 1466.24, -1023.05, -80.0);
  24442. SetPlayerInterior(playerid, 0);
  24443. PlayerInfo[playerid][pInt] = 0;
  24444. SetPlayerVirtualWorld(playerid, 0);
  24445. PlayerInfo[playerid][pVW] = 0;
  24446. TogglePlayerControllable(playerid,0);
  24447. SetPlayerCameraPos(playerid, 1502.28, -1044.47, 31.19);
  24448. SetPlayerCameraLookAt(playerid, 1466.24, -1023.05, 23.83);
  24449. }
  24450. else if(strcmp(params, "motel", true) == 0)
  24451. {
  24452. SendClientMessage(playerid, COLOR_WHITE, "You're now watching Jefferson motel.");
  24453. SetPlayerPos(playerid, 2215.73, -1163.39, -80.0);
  24454. SetPlayerInterior(playerid, 0);
  24455. PlayerInfo[playerid][pInt] = 0;
  24456. SetPlayerVirtualWorld(playerid, 0);
  24457. PlayerInfo[playerid][pVW] = 0;
  24458. TogglePlayerControllable(playerid,0);
  24459. SetPlayerCameraPos(playerid, 2203.05, -1152.81, 37.03);
  24460. SetPlayerCameraLookAt(playerid, 2215.73, -1163.39, 25.73);
  24461. }
  24462. else if(strcmp(params, "cityhall", true) == 0)
  24463. {
  24464. SendClientMessage(playerid, COLOR_WHITE, "You're now watching Los Santos City Hall.");
  24465. SetPlayerPos(playerid, 1478.936035, -1746.446655, -80.0);
  24466. SetPlayerInterior(playerid, 0);
  24467. PlayerInfo[playerid][pInt] = 0;
  24468. SetPlayerVirtualWorld(playerid, 0);
  24469. PlayerInfo[playerid][pVW] = 0;
  24470. TogglePlayerControllable(playerid,0);
  24471. SetPlayerCameraPos(playerid, 1447.461669, -1717.788085, 44.047473);
  24472. SetPlayerCameraLookAt(playerid, 1478.936035, -1746.446655, 14.347633);
  24473. }
  24474. else if(strcmp(params, "mall", true) == 0)
  24475. {
  24476. SendClientMessage(playerid, COLOR_WHITE, "You're now watching Los Santos Mall.");
  24477. SetPlayerPos(playerid, 1127.245483, -1451.613891, -80.0);
  24478. SetPlayerInterior(playerid, 0);
  24479. PlayerInfo[playerid][pInt] = 0;
  24480. SetPlayerVirtualWorld(playerid, 0);
  24481. PlayerInfo[playerid][pVW] = 0;
  24482. TogglePlayerControllable(playerid,0);
  24483. SetPlayerCameraPos(playerid, 1092.614868, -1499.197998, 42.018226);
  24484. SetPlayerCameraLookAt(playerid, 1127.245483, -1451.613891, 15.796875);
  24485. }
  24486. // Points (mp1, df, mf1, dh, mp2, cl, mf2, aec, ffc)
  24487. else if(strcmp(params, "mp1", true) == 0)
  24488. {
  24489. SendClientMessage(playerid, COLOR_WHITE, "You're now watching Materials Pickup 1.");
  24490. SetPlayerPos(playerid, 1423.773437, -1320.386962, -60.0);
  24491. SetPlayerInterior(playerid, 0);
  24492. PlayerInfo[playerid][pInt] = 0;
  24493. SetPlayerVirtualWorld(playerid, 0);
  24494. PlayerInfo[playerid][pVW] = 0;
  24495. TogglePlayerControllable(playerid,0);
  24496. SetPlayerCameraPos(playerid, 1411.689941, -1352.002929, 24.477527);
  24497. SetPlayerCameraLookAt(playerid, 1423.773437, -1320.386962, 13.554687);
  24498. }
  24499. else if(strcmp(params, "df", true) == 0)
  24500. {
  24501. SendClientMessage(playerid, COLOR_WHITE, "You're now watching Drug Factory.");
  24502. SetPlayerPos(playerid, 2205.938964, 1582.210449, 987.316528);
  24503. SetPlayerInterior(playerid, 1);
  24504. PlayerInfo[playerid][pInt] = 1;
  24505. SetPlayerVirtualWorld(playerid, 0);
  24506. PlayerInfo[playerid][pVW] = 0;
  24507. TogglePlayerControllable(playerid,0);
  24508. SetPlayerCameraPos(playerid, 2222.844482, 1590.667968, 1002.612915);
  24509. SetPlayerCameraLookAt(playerid, 2206.402587, 1582.398681, 999.976562);
  24510. }
  24511. else if(strcmp(params, "mf1", true) == 0)
  24512. {
  24513. SendClientMessage(playerid, COLOR_WHITE, "You're now watching Materials Factory 1.");
  24514. SetPlayerPos(playerid, 2172.315185, -2263.781250, -60.0);
  24515. SetPlayerInterior(playerid, 0);
  24516. PlayerInfo[playerid][pInt] = 0;
  24517. SetPlayerVirtualWorld(playerid, 0);
  24518. PlayerInfo[playerid][pVW] = 0;
  24519. TogglePlayerControllable(playerid,0);
  24520. SetPlayerCameraPos(playerid, 2206.363769, -2262.568359, 24.240808);
  24521. SetPlayerCameraLookAt(playerid, 2172.315185, -2263.781250, 13.335824);
  24522. }
  24523. else if(strcmp(params, "dh", true) == 0)
  24524. {
  24525. SendClientMessage(playerid, COLOR_WHITE, "You're now watching the Drug House.");
  24526. SetPlayerPos(playerid, 323.577026, 1118.344116, 1063.765625);
  24527. SetPlayerInterior(playerid, 5);
  24528. PlayerInfo[playerid][pInt] = 5;
  24529. SetPlayerVirtualWorld(playerid, 20019);
  24530. PlayerInfo[playerid][pVW] = 20019;
  24531. TogglePlayerControllable(playerid,0);
  24532. SetPlayerCameraPos(playerid, 316.387817, 1123.946289, 1085.046020);
  24533. SetPlayerCameraLookAt(playerid, 323.577026, 1118.344116, 1083.882812);
  24534. }
  24535. else if(strcmp(params, "mp2", true) == 0)
  24536. {
  24537. SendClientMessage(playerid, COLOR_WHITE, "You're now watching Materials Pickup 2.");
  24538. SetPlayerPos(playerid, 2390.212402, -2008.328491, -60.0);
  24539. SetPlayerInterior(playerid, 0);
  24540. PlayerInfo[playerid][pInt] = 0;
  24541. SetPlayerVirtualWorld(playerid, 0);
  24542. PlayerInfo[playerid][pVW] = 0;
  24543. TogglePlayerControllable(playerid,0);
  24544. SetPlayerCameraPos(playerid, 2410.285644, -2013.919433, 21.716161);
  24545. SetPlayerCameraLookAt(playerid, 2390.212402, -2008.328491, 13.553703);
  24546. }
  24547. else if(strcmp(params, "cl", true) == 0)
  24548. {
  24549. SendClientMessage(playerid, COLOR_WHITE, "You're now watching Crack Lab.");
  24550. SetPlayerPos(playerid, 2346.013916, -1185.367065, 977.425842);
  24551. SetPlayerInterior(playerid, 5);
  24552. PlayerInfo[playerid][pInt] = 5;
  24553. SetPlayerVirtualWorld(playerid, 20020);
  24554. PlayerInfo[playerid][pVW] = 20020;
  24555. TogglePlayerControllable(playerid,0);
  24556. SetPlayerCameraPos(playerid, 2342.012207, -1180.969848, 1029.412353);
  24557. SetPlayerCameraLookAt(playerid, 2346.013916, -1185.367065, 1027.976562);
  24558. }
  24559. else if(strcmp(params, "mf2", true) == 0)
  24560. {
  24561. SendClientMessage(playerid, COLOR_WHITE, "You're now watching Materials Factory 2.");
  24562. SetPlayerPos(playerid, 2282.298828, -1110.143798, -35.0);
  24563. SetPlayerInterior(playerid, 0);
  24564. PlayerInfo[playerid][pInt] = 0;
  24565. SetPlayerVirtualWorld(playerid, 0);
  24566. PlayerInfo[playerid][pVW] = 0;
  24567. TogglePlayerControllable(playerid,0);
  24568. SetPlayerCameraPos(playerid, 2306.088623, -1133.968627, 52.929584);
  24569. SetPlayerCameraLookAt(playerid, 2282.298828, -1110.143798, 37.976562);
  24570. }
  24571. else if(strcmp(params, "aec", true) == 0)
  24572. {
  24573. SendClientMessage(playerid, COLOR_WHITE, "You're now watching the Auto Export Company.");
  24574. SetPlayerPos(playerid,2729.929687, -2451.353271, -60.0);
  24575. SetPlayerInterior(playerid, 0);
  24576. PlayerInfo[playerid][pInt] = 0;
  24577. SetPlayerVirtualWorld(playerid, 0);
  24578. PlayerInfo[playerid][pVW] = 0;
  24579. TogglePlayerControllable(playerid,0);
  24580. SetPlayerCameraPos(playerid, 2780.443847, -2383.833984, 31.127187);
  24581. SetPlayerCameraLookAt(playerid, 2729.929687, -2451.353271, 17.593746);
  24582. }
  24583. else if(strcmp(params, "ffc", true) == 0)
  24584. {
  24585. SendClientMessage(playerid, COLOR_WHITE, "You're now watching Fossil Fuel Company.");
  24586. SetPlayerPos(playerid, 2662.808105, -2133.713623, -39.590702);
  24587. SetPlayerInterior(playerid, 0);
  24588. PlayerInfo[playerid][pInt] = 0;
  24589. SetPlayerVirtualWorld(playerid, 0);
  24590. PlayerInfo[playerid][pVW] = 0;
  24591. TogglePlayerControllable(playerid,0);
  24592. SetPlayerCameraPos(playerid, 2662.808105, -2133.713623, 26.140636);
  24593. SetPlayerCameraLookAt(playerid, 2636.352294, -2109.808349, 13.546875);
  24594. }
  24595. // OFF
  24596. else if(strcmp(params, "off", true) == 0)
  24597. {
  24598. SendClientMessage(playerid, COLOR_WHITE, "You're no longer watching any area.");
  24599. SetPlayerPos(playerid, 1520.50, -1674.70, 13.55);
  24600. SetPlayerInterior(playerid, 0);
  24601. PlayerInfo[playerid][pInt] = 0;
  24602. SetPlayerVirtualWorld(playerid, 0);
  24603. PlayerInfo[playerid][pVW] = 0;
  24604. SetPlayerFacingAngle(playerid, 270.0);
  24605. SetCameraBehindPlayer(playerid);
  24606. TogglePlayerControllable(playerid,1);
  24607. }
  24608. return 1;
  24609. }
  24610. CMD:prisoners(playerid, params[])
  24611. {
  24612. if(PlayerInfo[playerid][pAdmin] >= 2)
  24613. {
  24614. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  24615. {
  24616. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  24617. return 1;
  24618. }
  24619. new
  24620. string[128];
  24621. SendClientMessage(playerid, COLOR_WHITE, "----------------------------------------");
  24622. foreach(Player, i) {
  24623. if(PlayerInfo[i][pJailed] >= 1 && PlayerInfo[i][pJailTime] >= 1) {
  24624. if(strlen(PlayerInfo[i][pPrisonReason]) >= 1 && strlen(PlayerInfo[i][pPrisonedBy]) >= 1) {
  24625. format(string, sizeof(string), "%s (by: %s), reason: %s (%d minutes)", GetPlayerNameEx(i), PlayerInfo[i][pPrisonedBy], PlayerInfo[i][pPrisonReason], PlayerInfo[i][pJailTime]/60);
  24626. SendClientMessage(playerid, COLOR_GREY, string);
  24627. }
  24628. else
  24629. {
  24630. format(string, sizeof(string), "%s (by: unknown), reason: unknown (%d minutes)", GetPlayerNameEx(i), PlayerInfo[i][pJailTime]/60);
  24631. SendClientMessage(playerid, COLOR_GREY, string);
  24632. }
  24633. }
  24634. }
  24635. SendClientMessage(playerid, COLOR_WHITE, "----------------------------------------");
  24636. }
  24637. return 1;
  24638. }
  24639. CMD:prison(playerid, params[]) {
  24640. if(PlayerInfo[playerid][pAdmin] >= 3) {
  24641. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  24642. return SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  24643. new string[128], giveplayerid, minutes, reason[64];
  24644. if(sscanf(params, "uds[64]", giveplayerid, minutes, reason)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /prison [playerid/partofname] [minutes] [reason]");
  24645. if(IsPlayerConnected(giveplayerid))
  24646. {
  24647. if(PlayerInfo[giveplayerid][pAdmin] >= PlayerInfo[playerid][pAdmin] && AdminDuty[giveplayerid] == 1)
  24648. {
  24649. SendClientMessage(playerid, COLOR_WHITE, "You can't perform this action on an equal or higher level admin that is on-duty.");
  24650. return 1;
  24651. }
  24652. SetPlayerArmedWeapon(giveplayerid, 0);
  24653. /*if(GetPVarInt(giveplayerid, "PBM") > 0)
  24654. {
  24655. LeavePaintballArena(giveplayerid, GetPVarInt(giveplayerid, "IsInArena"));
  24656. }*/
  24657. GameTextForPlayer(giveplayerid, "~w~Welcome to ~n~~r~Admin Prison", 5000, 3);
  24658. ResetPlayerWeaponsEx(giveplayerid);
  24659. format(string, sizeof(string), "AdmCmd: %s has been prisoned by %s, reason: %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason);
  24660. Log("logs/admin.log", string);
  24661. format(string, sizeof(string), "AdmCmd: %s has been prisoned by %s, reason: %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason);
  24662. SendClientMessageToAllEx(COLOR_LIGHTRED, string);
  24663. PlayerInfo[giveplayerid][pWantedLevel] = 0;
  24664. SetPlayerWantedLevel(giveplayerid, 0);
  24665. PlayerInfo[giveplayerid][pJailed] = 3;
  24666. PlayerInfo[giveplayerid][pJailTime] = minutes*60;
  24667. format(PlayerInfo[giveplayerid][pPrisonReason], 128, "%s", reason);
  24668. format(PlayerInfo[giveplayerid][pPrisonedBy], MAX_PLAYER_NAME, "%s", GetPlayerNameEx(playerid));
  24669. PhoneOnline[giveplayerid] = 1;
  24670. TogglePlayerControllable(giveplayerid, 0);
  24671. for(new o = 0; o < 2; o++)
  24672. {
  24673. TextDrawShowForPlayer(giveplayerid, ObjectsLoadingTD[o]);
  24674. }
  24675. SetPVarInt(giveplayerid, "LoadingObjects", 1);
  24676. SetTimerEx("SafeLoadObjects", 3000, 0, "d", giveplayerid);
  24677. SetPlayerInterior(giveplayerid, 69);
  24678. PlayerInfo[giveplayerid][pVW] = 696969;
  24679. PlayerInfo[giveplayerid][pInt] = 69;
  24680. SetPlayerVirtualWorld(giveplayerid, 696969);
  24681. new rand = random(sizeof(AdminPrisonFloat));
  24682. SetPlayerPos(giveplayerid, AdminPrisonFloat[rand][0], AdminPrisonFloat[rand][1], AdminPrisonFloat[rand][2]);
  24683. SetPlayerSkin(giveplayerid, 50);
  24684. SetPlayerColor(giveplayerid, TEAM_APRISON_COLOR);
  24685. }
  24686. }
  24687. else
  24688. {
  24689. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  24690. }
  24691. return 1;
  24692. }
  24693. CMD:dm(playerid, params[]) {
  24694. if(PlayerInfo[playerid][pAdmin] >= 3) {
  24695. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  24696. return SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  24697. new string[128], giveplayerid;
  24698. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /dm [playerid/partofname]");
  24699. if(IsPlayerConnected(giveplayerid))
  24700. {
  24701. if(PlayerInfo[giveplayerid][pAdmin] >= PlayerInfo[playerid][pAdmin] && AdminDuty[giveplayerid] == 1)
  24702. {
  24703. SendClientMessage(playerid, COLOR_WHITE, "You can't perform this action on an equal or higher level admin that is on-duty.");
  24704. return 1;
  24705. }
  24706. SetPlayerArmedWeapon(giveplayerid, 0);
  24707. /*if(GetPVarInt(giveplayerid, "PBM") > 0)
  24708. {
  24709. LeavePaintballArena(giveplayerid, GetPVarInt(giveplayerid, "IsInArena"));
  24710. }*/
  24711. GameTextForPlayer(giveplayerid, "~w~Welcome to ~n~~r~Admin Prison", 5000, 3);
  24712. ResetPlayerWeaponsEx(giveplayerid);
  24713. format(string, sizeof(string), "AdmCmd: %s has been prisoned by %s, reason: DM", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid));
  24714. Log("logs/admin.log", string);
  24715. format(string, sizeof(string), "AdmCmd: %s has been prisoned by %s, reason: DM", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid));
  24716. SendClientMessageToAllEx(COLOR_LIGHTRED, string);
  24717. PlayerInfo[giveplayerid][pWantedLevel] = 0;
  24718. SetPlayerWantedLevel(giveplayerid, 0);
  24719. PlayerInfo[giveplayerid][pJailed] = 3;
  24720. PlayerInfo[giveplayerid][pJailTime] = 60*60;
  24721. format(PlayerInfo[giveplayerid][pPrisonReason], 128, "DM (/dm)");
  24722. format(PlayerInfo[giveplayerid][pPrisonedBy], MAX_PLAYER_NAME, "%s", GetPlayerNameEx(playerid));
  24723. PhoneOnline[giveplayerid] = 1;
  24724. format(string, sizeof(string), "Admin %s has set your wep restriction to %d.", GetPlayerNameEx(playerid));
  24725. SCM(giveplayerid, -1, string);
  24726. format(string, sizeof(string), "You have set %s's wep restriction to %d..", GetPlayerNameEx(giveplayerid));
  24727. SCM(playerid, -1, string);
  24728. PlayerInfo[giveplayerid][pWepRes] = 4;
  24729. format(string, sizeof(string), "AdmCmd: %s has set %s's weapon restriction to '4'.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  24730. ABroadCast(COLOR_LIGHTRED, string, 1);
  24731. TogglePlayerControllable(giveplayerid, 0);
  24732. for(new o = 0; o < 2; o++)
  24733. {
  24734. TextDrawSetString(ObjectsLoadingTD[1], "OBJECTS LOADING...");
  24735. TextDrawShowForPlayer(giveplayerid, ObjectsLoadingTD[o]);
  24736. }
  24737. SetPVarInt(giveplayerid, "LoadingObjects", 1);
  24738. SetTimerEx("SafeLoadObjects", 3000, 0, "d", giveplayerid);
  24739. SetPlayerInterior(giveplayerid, 69);
  24740. PlayerInfo[giveplayerid][pVW] = 696969;
  24741. PlayerInfo[giveplayerid][pInt] = 69;
  24742. PlayerInfo[giveplayerid][pWarns] += 1;
  24743. if(PlayerInfo[giveplayerid][pWarns] >= 3)
  24744. {
  24745. new ip[32];
  24746. GetPlayerIp(giveplayerid,ip,sizeof(ip));
  24747. format(string, sizeof(string), "AdmCmd: %s (IP: %s) was banned by %s (had 3 Warnings), reason: DM", GetPlayerNameEx(giveplayerid), ip, GetPlayerNameEx(playerid));
  24748. Log("logs/ban.log", string);
  24749. format(string, sizeof(string), "AdmCmd: %s was banned by %s (had 3 Warnings), reason: DM", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid));
  24750. SendClientMessageToAllEx(COLOR_LIGHTRED, string);
  24751. PlayerInfo[giveplayerid][pBanned] = 1;
  24752. AddBan(ip);
  24753. Kick(giveplayerid);
  24754. return 1;
  24755. }
  24756. SetPlayerVirtualWorld(giveplayerid, 696969);
  24757. new rand = random(sizeof(AdminPrisonFloat));
  24758. SetPlayerPos(giveplayerid, AdminPrisonFloat[rand][0], AdminPrisonFloat[rand][1], AdminPrisonFloat[rand][2]);
  24759. SetPlayerSkin(giveplayerid, 50);
  24760. SetPlayerColor(giveplayerid, TEAM_APRISON_COLOR);
  24761. }
  24762. }
  24763. else
  24764. {
  24765. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  24766. }
  24767. return 1;
  24768. }
  24769. CMD:spam(playerid, params[]) {
  24770. if(PlayerInfo[playerid][pAdmin] >= 3) {
  24771. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  24772. return SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  24773. new string[128], giveplayerid;
  24774. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /spam [playerid/partofname]");
  24775. if(IsPlayerConnected(giveplayerid))
  24776. {
  24777. if(PlayerInfo[giveplayerid][pAdmin] >= PlayerInfo[playerid][pAdmin] && AdminDuty[giveplayerid] == 1)
  24778. {
  24779. SendClientMessage(playerid, COLOR_WHITE, "You can't perform this action on an equal or higher level admin that is on-duty.");
  24780. return 1;
  24781. }
  24782. SetPlayerArmedWeapon(giveplayerid, 0);
  24783. /*if(GetPVarInt(giveplayerid, "PBM") > 0)
  24784. {
  24785. LeavePaintballArena(giveplayerid, GetPVarInt(giveplayerid, "IsInArena"));
  24786. }*/
  24787. GameTextForPlayer(giveplayerid, "~w~Welcome to ~n~~r~Admin Prison", 5000, 3);
  24788. ResetPlayerWeaponsEx(giveplayerid);
  24789. format(string, sizeof(string), "AdmCmd: %s has been prisoned by %s, reason: Massive Spam(/spam)", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid));
  24790. Log("logs/admin.log", string);
  24791. format(string, sizeof(string), "AdmCmd: %s has been prisoned by %s, reason: Massive Spam (/spam)", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid));
  24792. SendClientMessageToAllEx(COLOR_LIGHTRED, string);
  24793. PlayerInfo[giveplayerid][pWantedLevel] = 0;
  24794. SetPlayerWantedLevel(giveplayerid, 0);
  24795. PlayerInfo[giveplayerid][pJailed] = 3;
  24796. PlayerInfo[giveplayerid][pJailTime] = 60*60;
  24797. format(PlayerInfo[giveplayerid][pPrisonReason], 128, "Massive spam (/spam)");
  24798. format(PlayerInfo[giveplayerid][pPrisonedBy], MAX_PLAYER_NAME, "%s", GetPlayerNameEx(playerid));
  24799. PhoneOnline[giveplayerid] = 1;
  24800. TogglePlayerControllable(giveplayerid, 0);
  24801. for(new o = 0; o < 2; o++)
  24802. {
  24803. TextDrawSetString(ObjectsLoadingTD[1], "OBJECTS LOADING...");
  24804. TextDrawShowForPlayer(giveplayerid, ObjectsLoadingTD[o]);
  24805. }
  24806. SetPVarInt(giveplayerid, "LoadingObjects", 1);
  24807. SetTimerEx("SafeLoadObjects", 3000, 0, "d", giveplayerid);
  24808. SetPlayerInterior(giveplayerid, 69);
  24809. PlayerInfo[giveplayerid][pVW] = 696969;
  24810. PlayerInfo[giveplayerid][pInt] = 69;
  24811. SetPlayerVirtualWorld(giveplayerid, 696969);
  24812. new rand = random(sizeof(AdminPrisonFloat));
  24813. SetPlayerPos(giveplayerid, AdminPrisonFloat[rand][0], AdminPrisonFloat[rand][1], AdminPrisonFloat[rand][2]);
  24814. SetPlayerSkin(giveplayerid, 50);
  24815. SetPlayerColor(giveplayerid, TEAM_APRISON_COLOR);
  24816. }
  24817. }
  24818. else
  24819. {
  24820. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  24821. }
  24822. return 1;
  24823. }
  24824. CMD:onmute(playerid, params[])
  24825. {
  24826. if(PlayerInfo[playerid][pAdmin] >= 3)
  24827. {
  24828. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  24829. {
  24830. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  24831. return 1;
  24832. }
  24833. new string[128];
  24834. if(isnull(params))
  24835. return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /onmute [playername]");
  24836. new giveplayerid = ReturnUser(params);
  24837. if(IsPlayerConnected(giveplayerid))
  24838. {
  24839. SendClientMessage(playerid, COLOR_GRAD2, "That player is online, use /nmute for online players.");
  24840. return 1;
  24841. }
  24842. else if(doesAccountExist(params))
  24843. {
  24844. OnPlayerOfflineLogin(params);
  24845. if(PlayerInfo[MAX_PLAYERS][pPermaBanned] == 1 || PlayerInfo[MAX_PLAYERS][pBanned] >= 1)
  24846. {
  24847. SendClientMessage(playerid, COLOR_WHITE, "That player is banned.");
  24848. return 1;
  24849. }
  24850. else
  24851. {
  24852. PlayerInfo[MAX_PLAYERS][pNMute] = 1;
  24853. PlayerInfo[MAX_PLAYERS][pNMuteTotal] += 1;
  24854. format(string, sizeof(string), "AdmCmd: %s was just muted from using Newbie Chat [/newb] due to misuse.", params);
  24855. SendClientMessageToAllEx(COLOR_LIGHTRED, string);
  24856. }
  24857. }
  24858. else
  24859. {
  24860. SendClientMessage(playerid, COLOR_WHITE, "That account doesn't exist.");
  24861. }
  24862. }
  24863. return 1;
  24864. }
  24865. CMD:oprison(playerid, params[])
  24866. {
  24867. if(PlayerInfo[playerid][pAdmin] >= 3)
  24868. {
  24869. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  24870. {
  24871. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  24872. return 1;
  24873. }
  24874. new string[128], name[MAX_PLAYER_NAME], minutes, reason[64];
  24875. if(sscanf(params, "s[24]ds[64]", name, minutes, reason)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /prisonaccount [playername] [time (minutes)] [reason]");
  24876. new giveplayerid = ReturnUser(name);
  24877. if(IsPlayerConnected(giveplayerid))
  24878. {
  24879. SendClientMessage(playerid, COLOR_GRAD2, "That player is online, use /prison for online players.");
  24880. return 1;
  24881. }
  24882. else if(doesAccountExist(name))
  24883. {
  24884. OnPlayerOfflineLogin(name);
  24885. if(PlayerInfo[MAX_PLAYERS][pPermaBanned] == 1 || PlayerInfo[MAX_PLAYERS][pBanned] >= 1)
  24886. {
  24887. SendClientMessage(playerid, COLOR_WHITE, "That player is banned.");
  24888. return 1;
  24889. }
  24890. else
  24891. {
  24892. PlayerInfo[MAX_PLAYERS][pJailTime] = minutes*60;
  24893. PlayerInfo[MAX_PLAYERS][pJailed] = 3;
  24894. format(PlayerInfo[MAX_PLAYERS][pPrisonReason], 64, "%s", reason);
  24895. format(PlayerInfo[MAX_PLAYERS][pPrisonedBy], 24, "%s", GetPlayerNameEx(playerid));
  24896. OnPlayerOfflineSave(name);
  24897. format(string, sizeof(string), "AdmCmd: %s was offline prisoned by %s, reason: %s", name, GetPlayerNameEx(playerid), reason);
  24898. Log("logs/admin.log", string);
  24899. format(string, 128, "AdmCmd: %s was offline prisoned by %s, reason: %s", name, GetPlayerNameEx(playerid), reason);
  24900. ABroadCast(COLOR_LIGHTRED,string,1);
  24901. }
  24902. }
  24903. else
  24904. {
  24905. SendClientMessage(playerid, COLOR_WHITE, "That account doesn't exist.");
  24906. }
  24907. }
  24908. return 1;
  24909. }
  24910. CMD:fine(playerid, params[])
  24911. {
  24912. new string[128], giveplayerid, amount, reason[64];
  24913. if(sscanf(params, "uds", giveplayerid, amount, reason)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /fine [playerid/partofname] [amount] [reason]");
  24914. if(PlayerInfo[playerid][pAdmin] >= 3)
  24915. {
  24916. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  24917. {
  24918. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  24919. return 1;
  24920. }
  24921. if(IsPlayerConnected(giveplayerid))
  24922. {
  24923. if(amount < 1)
  24924. {
  24925. SendClientMessage(playerid, COLOR_GRAD2, "Amount must be greater than 0");
  24926. return 1;
  24927. }
  24928. format(string, sizeof(string), "AdmCmd: %s was fined $%d by %s, reason: %s", GetPlayerNameEx(giveplayerid), amount, GetPlayerNameEx(playerid), reason);
  24929. Log("logs/admin.log", string);
  24930. format(string, sizeof(string), "AdmCmd: %s was fined $%d by %s, reason: %s", GetPlayerNameEx(giveplayerid), amount, GetPlayerNameEx(playerid), reason);
  24931. SendClientMessageToAllEx(COLOR_LIGHTRED, string);
  24932. GivePlayerCash(giveplayerid, -amount);
  24933. return 1;
  24934. }
  24935. else SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  24936. }
  24937. else
  24938. {
  24939. SendClientMessage(playerid, COLOR_WHITE, "You're not a level three admin.");
  24940. }
  24941. return 1;
  24942. }
  24943. CMD:pfine(playerid, params[])
  24944. {
  24945. new string[128], giveplayerid, percentage, reason[64];
  24946. if(sscanf(params, "uds[64]", giveplayerid, percentage, reason)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /pfine [playerid/partofname] [percentage] [reason]");
  24947. if(PlayerInfo[playerid][pAdmin] >= 3)
  24948. {
  24949. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  24950. {
  24951. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  24952. return 1;
  24953. }
  24954. if(IsPlayerConnected(giveplayerid))
  24955. {
  24956. new fine, allmoney;
  24957. if(PlayerInfo[giveplayerid][pHouse] != INVALID_HOUSE_ID && strcmp(GetPlayerNameEx(playerid), HouseInfo[PlayerInfo[giveplayerid][pHouse]][hOwner], true) == 0)
  24958. {
  24959. allmoney = HouseInfo[PlayerInfo[giveplayerid][pHouse]][hSafeMoney]+GetPlayerCash(giveplayerid)+PlayerInfo[giveplayerid][pBank];
  24960. }
  24961. else if(PlayerInfo[giveplayerid][pHouse2] != INVALID_HOUSE_ID && strcmp(GetPlayerNameEx(playerid), HouseInfo[PlayerInfo[giveplayerid][pHouse2]][hOwner], true) == 0)
  24962. {
  24963. allmoney += HouseInfo[PlayerInfo[giveplayerid][pHouse2]][hSafeMoney];
  24964. }
  24965. else
  24966. {
  24967. allmoney = GetPlayerCash(giveplayerid)+PlayerInfo[giveplayerid][pBank];
  24968. }
  24969. if(allmoney < 1)
  24970. {
  24971. SendClientMessage(giveplayerid, COLOR_GRAD2, "That player does not have any money!");
  24972. return 1;
  24973. }
  24974. fine = percentage*allmoney/100;
  24975. if(percentage < 1 || percentage > 100)
  24976. {
  24977. SendClientMessage(playerid, COLOR_GRAD2, "Amount must be greater than 0 and below 100.");
  24978. return 1;
  24979. }
  24980. format(string, sizeof(string), "AdmCmd: %s was fined $%d by %s, reason: %s", GetPlayerNameEx(giveplayerid), fine, GetPlayerNameEx(playerid), reason);
  24981. Log("logs/admin.log", string);
  24982. format(string, sizeof(string), "AdmCmd: %s was fined $%d by %s, reason: %s", GetPlayerNameEx(giveplayerid), fine, GetPlayerNameEx(playerid), reason);
  24983. SendClientMessageToAllEx(COLOR_LIGHTRED, string);
  24984. GivePlayerCash(giveplayerid, -fine);
  24985. return 1;
  24986. }
  24987. else SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  24988. }
  24989. else
  24990. {
  24991. SendClientMessage(playerid, COLOR_WHITE, "You're not a level three admin.");
  24992. }
  24993. return 1;
  24994. }
  24995. CMD:finemats(playerid, params[])
  24996. {
  24997. new string[128], giveplayerid, amount, reason[64];
  24998. if(sscanf(params, "uds", giveplayerid, amount, reason)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /fine [playerid/partofname] [amount] [reason]");
  24999. if(PlayerInfo[playerid][pAdmin] >= 3)
  25000. {
  25001. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  25002. {
  25003. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  25004. return 1;
  25005. }
  25006. if(IsPlayerConnected(giveplayerid))
  25007. {
  25008. if(amount < 1)
  25009. {
  25010. SendClientMessage(playerid, COLOR_GRAD2, "Amount must be greater than 0");
  25011. return 1;
  25012. }
  25013. format(string, sizeof(string), "AdmCmd: %s was fined %d materials by %s, reason: %s", GetPlayerNameEx(giveplayerid), amount, GetPlayerNameEx(playerid), reason);
  25014. Log("logs/admin.log", string);
  25015. format(string, sizeof(string), "AdmCmd: %s was fined %d materials by %s, reason: %s", GetPlayerNameEx(giveplayerid), amount, GetPlayerNameEx(playerid), reason);
  25016. SendClientMessageToAllEx(COLOR_LIGHTRED, string);
  25017. PlayerInfo[giveplayerid][pMats] -= amount;
  25018. return 1;
  25019. }
  25020. else SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  25021. }
  25022. else
  25023. {
  25024. SendClientMessage(playerid, COLOR_WHITE, "You're not a level three admin.");
  25025. }
  25026. return 1;
  25027. }
  25028. CMD:takeadminweapons(playerid, params[])
  25029. {
  25030. if(PlayerInfo[playerid][pAdmin] >= 3)
  25031. {
  25032. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  25033. {
  25034. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  25035. return 1;
  25036. }
  25037. new string[128], giveplayerid;
  25038. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /takeadminweapons [playerid/partofname]");
  25039. if(IsPlayerConnected(giveplayerid))
  25040. {
  25041. for(new s = 0; s < 12; s++)
  25042. {
  25043. if(PlayerInfo[giveplayerid][pAGuns][s] != 0)
  25044. {
  25045. RemovePlayerWeapon(giveplayerid, PlayerInfo[giveplayerid][pAGuns][s]);
  25046. }
  25047. }
  25048. format(string,sizeof(string),"You have removed %s's admin spawned weapons.", GetPlayerNameEx(giveplayerid));
  25049. SendClientMessage(playerid, COLOR_WHITE, string);
  25050. }
  25051. }
  25052. return 1;
  25053. }
  25054. CMD:deletead(playerid, params[]) {
  25055. if(PlayerInfo[playerid][pAdmin] >= 3) {
  25056. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  25057. return SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  25058. new
  25059. iTarget;
  25060. if(sscanf(params, "u", iTarget))
  25061. return SendClientMessage(playerid, COLOR_GREY, "USAGE: /deletead [playerid/partofname]");
  25062. if(iTarget == INVALID_PLAYER_ID)
  25063. return SendClientMessage(playerid, COLOR_GREY, "That player isn't connected.");
  25064. if(!isnull(szAdvert[iTarget])) {
  25065. strdel(szAdvert[iTarget], 0, strlen(szAdvert[iTarget]));
  25066. szAdvert[iTarget][0] = 0; // never can remember if it actually sets it to the null terminator
  25067. new
  25068. szMessage[64];
  25069. format(szMessage, sizeof(szMessage), "You have removed %s's ad from the ad system.", GetPlayerNameEx(iTarget));
  25070. SendClientMessage(playerid, COLOR_WHITE, szMessage);
  25071. format(szMessage, sizeof(szMessage), "%s has removed your ad from the ad system.", GetPlayerNameEx(playerid));
  25072. SendClientMessage(iTarget, COLOR_WHITE, szMessage);
  25073. } else return SendClientMessage(playerid, COLOR_GREY, "This ad either doesn't exist or was a priority ad.");
  25074. }
  25075. return 1;
  25076. }
  25077. CMD:takeweapons(playerid, params[])
  25078. {
  25079. if(PlayerInfo[playerid][pAdmin] >= 3)
  25080. {
  25081. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  25082. {
  25083. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  25084. return 1;
  25085. }
  25086. new string[128], giveplayerid;
  25087. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /takeadminweapons [playerid/partofname]");
  25088. if(IsPlayerConnected(giveplayerid))
  25089. {
  25090. ResetPlayerWeaponsEx(giveplayerid);
  25091. format(string,sizeof(string),"You have removed %s's weapons.", GetPlayerNameEx(giveplayerid));
  25092. SendClientMessage(playerid, COLOR_WHITE, string);
  25093. }
  25094. }
  25095. return 1;
  25096. }
  25097. CMD:sendtols(playerid, params[])
  25098. {
  25099. if(PlayerInfo[playerid][pAdmin] >= 2)
  25100. {
  25101. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  25102. {
  25103. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  25104. return 1;
  25105. }
  25106. new string[128], giveplayerid;
  25107. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /sendtols [playerid/partofname]");
  25108. if(IsPlayerConnected(giveplayerid))
  25109. {
  25110. if(PlayerInfo[giveplayerid][pAdmin] >= PlayerInfo[playerid][pAdmin] && AdminDuty[giveplayerid] == 1)
  25111. {
  25112. SendClientMessage(playerid, COLOR_WHITE, "You can't perform this action on an equal or higher level admin that is on-duty.");
  25113. return 1;
  25114. }
  25115. format(string, sizeof(string), " You have sent %s to Los Santos.", GetPlayerNameEx(giveplayerid));
  25116. SendClientMessage(playerid, COLOR_WHITE, string);
  25117. SendClientMessage(giveplayerid, COLOR_WHITE, "You have been teleported!");
  25118. SetPlayerPos(giveplayerid, 1529.6,-1691.2,13.3);
  25119. SetPlayerVirtualWorld(giveplayerid, 0);
  25120. SetPlayerInterior(giveplayerid, 0);
  25121. PlayerInfo[giveplayerid][pInt] = 0;
  25122. PlayerInfo[giveplayerid][pVW] = 0;
  25123. }
  25124. }
  25125. else
  25126. {
  25127. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  25128. }
  25129. return 1;
  25130. }
  25131. CMD:release(playerid, params[])
  25132. {
  25133. if(PlayerInfo[playerid][pAdmin] >= 3)
  25134. {
  25135. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  25136. {
  25137. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  25138. return 1;
  25139. }
  25140. new string[128], giveplayerid, reason[64];
  25141. if(sscanf(params, "us[64]", giveplayerid, reason)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /release [playerid/partofname] [reason]");
  25142. if(IsPlayerConnected(giveplayerid))
  25143. {
  25144. format(string, sizeof(string), "AdmCmd: %s has been released from prison by %s, reason: %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason);
  25145. Log("logs/admin.log", string);
  25146. format(string, sizeof(string), "AdmCmd: %s has been released from prison by %s, reason: %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason);
  25147. SendClientMessageToAllEx(COLOR_LIGHTRED, string);
  25148. PlayerInfo[giveplayerid][pJailed] = 0;
  25149. PlayerInfo[giveplayerid][pWantedLevel] = 0;
  25150. SetPlayerToTeamColor(giveplayerid);
  25151. SetPlayerWantedLevel(giveplayerid, 0);
  25152. PlayerInfo[giveplayerid][pJailTime] = 0;
  25153. SetPlayerPos(giveplayerid, 1529.6,-1691.2,13.3);
  25154. SetPlayerInterior(giveplayerid,0);
  25155. PlayerInfo[giveplayerid][pInt] = 0;
  25156. SetPlayerVirtualWorld(giveplayerid, 0);
  25157. PlayerInfo[giveplayerid][pVW] = 0;
  25158. PhoneOnline[giveplayerid] = 0;
  25159. }
  25160. }
  25161. else
  25162. {
  25163. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  25164. }
  25165. return 1;
  25166. }
  25167. CMD:forcedeath(playerid, params[])
  25168. {
  25169. if(PlayerInfo[playerid][pAdmin] >= 3)
  25170. {
  25171. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  25172. {
  25173. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  25174. return 1;
  25175. }
  25176. new string[128], giveplayerid;
  25177. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /forcedeath [playerid/partofname]");
  25178. if(IsPlayerConnected(giveplayerid))
  25179. {
  25180. if(GetPVarInt(giveplayerid, "Injured") == 1)
  25181. {
  25182. format(string, sizeof(string), " You have forced %s to death.", GetPlayerNameEx(giveplayerid));
  25183. SendClientMessage(playerid, COLOR_WHITE, string);
  25184. SendClientMessage(giveplayerid, COLOR_WHITE, "You have been forced to death by an Admin.");
  25185. KillEMSQueue(giveplayerid);
  25186. ResetPlayerWeaponsEx(giveplayerid);
  25187. SpawnPlayer(giveplayerid);
  25188. }
  25189. else
  25190. {
  25191. SendClientMessage(playerid, COLOR_GRAD2, "That player is not injured!");
  25192. }
  25193. }
  25194. }
  25195. else
  25196. {
  25197. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  25198. }
  25199. return 1;
  25200. }
  25201. CMD:forcehospital(playerid, params[])
  25202. {
  25203. if(PlayerInfo[playerid][pAdmin] >= 3)
  25204. {
  25205. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  25206. {
  25207. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  25208. return 1;
  25209. }
  25210. new string[128], giveplayerid;
  25211. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /forcehospital [playerid/partofname]");
  25212. if(IsPlayerConnected(giveplayerid))
  25213. {
  25214. if(GetPVarInt(giveplayerid, "Hospital") > 0)
  25215. {
  25216. format(string, sizeof(string), " You have forced %s out of the hospital.", GetPlayerNameEx(giveplayerid));
  25217. SendClientMessage(playerid, COLOR_WHITE, string);
  25218. SendClientMessage(giveplayerid, COLOR_WHITE, "You have been forced out of the hospital by an Admin.");
  25219. DeletePVar(giveplayerid, "HospitalTimer");
  25220. HospitalSpawn(giveplayerid);
  25221. DeletePVar(giveplayerid, "Hospital");
  25222. DeletePVar(giveplayerid, "MedicBill");
  25223. }
  25224. else
  25225. {
  25226. SendClientMessage(playerid, COLOR_GRAD2, "That player is not in the hospital!");
  25227. }
  25228. }
  25229. }
  25230. else
  25231. {
  25232. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  25233. }
  25234. return 1;
  25235. }
  25236. CMD:reloadpvehicles(playerid, params[])
  25237. {
  25238. if(PlayerInfo[playerid][pAdmin] < 3)
  25239. {
  25240. SendClientMessage(playerid, COLOR_GREY, "You're not allowed to use this command.");
  25241. return 1;
  25242. }
  25243. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  25244. {
  25245. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  25246. return 1;
  25247. }
  25248. new string[128], giveplayerid;
  25249. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /reloadpvehicles [playerid/partofname]");
  25250. UnloadPlayerVehicles(giveplayerid);
  25251. LoadPlayerVehicles(giveplayerid);
  25252. format(string, sizeof(string), " You have successfully reloaded %s's Vehicles.", GetPlayerNameEx(giveplayerid));
  25253. SendClientMessage(playerid, COLOR_GREY, string);
  25254. return 1;
  25255. }
  25256. CMD:apark(playerid, params[]) {
  25257. if(PlayerInfo[playerid][pAdmin] >= 3)
  25258. {
  25259. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  25260. {
  25261. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  25262. return 1;
  25263. }
  25264. foreach(Player, ownerid)
  25265. {
  25266. for(new d = 0 ; d < MAX_PLAYERVEHICLES; d++)
  25267. {
  25268. if(IsPlayerInVehicle(playerid, PlayerVehicleInfo[ownerid][d][pvId]))
  25269. {
  25270. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, COLOR_GREY, "You must be in the driver seat.");
  25271. new Float:x, Float:y, Float:z, Float:angle, Float:health;
  25272. if(PlayerInfo[playerid][pLockCar] == GetPlayerVehicleID(playerid)) PlayerInfo[playerid][pLockCar] = INVALID_VEHICLE_ID;
  25273. if(IsARC(GetPlayerVehicleID(playerid))) // RC Vehicles
  25274. {
  25275. new Float:vehPos[3];
  25276. GetVehiclePos(GetPlayerVehicleID(playerid),vehPos[0], vehPos[1], vehPos[2]);
  25277. SetPlayerPos(playerid,vehPos[0], vehPos[1]+0.5, vehPos[2]+0.5);
  25278. }
  25279. GetVehicleHealth(PlayerVehicleInfo[ownerid][d][pvId], health);
  25280. GetVehiclePos(PlayerVehicleInfo[ownerid][d][pvId], x, y, z);
  25281. GetVehicleZAngle(PlayerVehicleInfo[ownerid][d][pvId], angle);
  25282. SurfingCheck(GetPlayerVehicleID(playerid));
  25283. UpdatePlayerVehicleParkPosition(ownerid, d, x, y, z, angle, health);
  25284. PutPlayerInVehicle(playerid, GetPlayerVehicleID(playerid), 0);
  25285. SetPlayerArmedWeapon(playerid, 0);
  25286. new szMessage[128];
  25287. format(szMessage, sizeof(szMessage),"You have parked %s's %s.",GetPlayerNameEx(ownerid), VehicleName[PlayerVehicleInfo[ownerid][d][pvModelId] - 400]);
  25288. SendClientMessage(playerid, COLOR_WHITE, szMessage);
  25289. format(szMessage, sizeof(szMessage), "Your %s has been parked at another location by an admin. Use /trackcar to find it.", VehicleName[PlayerVehicleInfo[ownerid][d][pvModelId] - 400]);
  25290. SendClientMessage(ownerid, COLOR_WHITE, szMessage);
  25291. return 1;
  25292. }
  25293. }
  25294. }
  25295. }
  25296. else
  25297. {
  25298. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  25299. }
  25300. return 1;
  25301. }
  25302. CMD:aimpound(playerid, params[]) {
  25303. if(PlayerInfo[playerid][pAdmin] >= 3)
  25304. {
  25305. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  25306. {
  25307. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  25308. return 1;
  25309. }
  25310. new
  25311. iVehType,
  25312. iVehIndex,
  25313. iTargetOwner,
  25314. iVehTowed;
  25315. if(sscanf(params, "d", iVehTowed)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /aimpound [carid]");
  25316. foreach(Player, i) {
  25317. iVehIndex = GetPlayerVehicle(i, iVehTowed);
  25318. if(iVehIndex != -1) {
  25319. iVehType = 1;
  25320. iTargetOwner = i;
  25321. break;
  25322. }
  25323. }
  25324. if(!iVehType) {
  25325. for(new i; i < MAX_FAMILY; ++i) {
  25326. iVehIndex = GetGangVehicle(i, iVehTowed);
  25327. if(iVehIndex != -1) {
  25328. iVehType = 2;
  25329. iTargetOwner = i;
  25330. break;
  25331. }
  25332. }
  25333. }
  25334. switch(iVehType) {
  25335. case 0, 2: {
  25336. SendClientMessage(playerid, COLOR_GRAD1, "You can't impound this vehicle, it has been respawned instead.");
  25337. DetachTrailerFromVehicle(GetPlayerVehicleID(playerid));
  25338. SetVehicleToRespawn(iVehTowed);
  25339. }
  25340. case 1: {
  25341. PlayerVehicleInfo[iTargetOwner][iVehIndex][pvImpounded] = 1;
  25342. PlayerVehicleInfo[iTargetOwner][iVehIndex][pvSpawned] = 0;
  25343. PlayerVehicleInfo[iTargetOwner][iVehIndex][pvId] = INVALID_PLAYER_VEHICLE_ID;
  25344. DestroyVehicle(iVehTowed);
  25345. VehicleRadioStation[iVehTowed] = 0;
  25346. VehicleSpawned[iTargetOwner]--;
  25347. --PlayerCars;
  25348. new
  25349. szMessage[96];
  25350. format(szMessage, sizeof(szMessage),"You have impounded %s's %s.",GetPlayerNameEx(iTargetOwner), VehicleName[PlayerVehicleInfo[iTargetOwner][iVehIndex][pvModelId] - 400]);
  25351. SendClientMessage(playerid, COLOR_WHITE, szMessage);
  25352. format(szMessage, sizeof(szMessage), "Your %s has been impounded by an admin. You may release it at the DMV in Dillimore.", VehicleName[PlayerVehicleInfo[iTargetOwner][iVehIndex][pvModelId] - 400]);
  25353. SendClientMessage(iTargetOwner, COLOR_WHITE, szMessage);
  25354. }
  25355. /*case 2: {
  25356. new
  25357. szMessage[29 + MAX_PLAYER_NAME];
  25358. format(szMessage, sizeof(szMessage),"* You have impounded %s's %s.",FamilyInfo[iTargetOwner][FamilyName], GetVehicleName(iVehTowed));
  25359. SendClientMessage(playerid, COLOR_LIGHTBLUE, szMessage);
  25360. format(szMessage, sizeof(szMessage), "Your %s has been impounded. You may release it at the DMV in Dillimore.", GetVehicleName(iVehTowed));
  25361. SendNewFamilyMessage(iTargetOwner, COLOR_LIGHTBLUE, szMessage);
  25362. FamilyVehicleInfo[iTargetOwner][iVehIndex][fvImpounded] = 1;
  25363. FamilyVehicleInfo[iTargetOwner][iVehIndex][fvId] = INVALID_VEHICLE_ID;
  25364. DestroyVehicle(iVehTowed);
  25365. VehicleRadioStation[iVehTowed] = 0;
  25366. }*/
  25367. }
  25368. arr_Towing[playerid] = INVALID_VEHICLE_ID;
  25369. }
  25370. else
  25371. {
  25372. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  25373. }
  25374. return 1;
  25375. }
  25376. CMD:respawncar(playerid, params[])
  25377. {
  25378. if(PlayerInfo[playerid][pAdmin] >= 3)
  25379. {
  25380. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  25381. {
  25382. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  25383. return 1;
  25384. }
  25385. new string[128], carid;
  25386. if(sscanf(params, "d", carid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /respawncar [carid]");
  25387. SetVehicleToRespawn(carid);
  25388. format(string, sizeof(string), "You have respawned vehicle ID %d.", carid);
  25389. SendClientMessage(playerid, COLOR_GREY, string);
  25390. }
  25391. else
  25392. {
  25393. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  25394. }
  25395. return 1;
  25396. }
  25397. CMD:respawncars(playerid, params[])
  25398. {
  25399. if(PlayerInfo[playerid][pAdmin] >= 3)
  25400. {
  25401. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  25402. {
  25403. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  25404. return 1;
  25405. }
  25406. new string[128], radius;
  25407. if(sscanf(params, "d", radius)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /respawncars [radius]");
  25408. if(radius < 1 || radius > 40)
  25409. {
  25410. SendClientMessage(playerid, COLOR_WHITE, "Radius must be higher than 0 and lower than 41!");
  25411. return 1;
  25412. }
  25413. RespawnNearbyVehicles(playerid, radius);
  25414. format(string, sizeof(string), "You have respawned all vehicles within a radius of %d.", radius);
  25415. SendClientMessage(playerid, COLOR_GREY, string);
  25416. }
  25417. else
  25418. {
  25419. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  25420. }
  25421. return 1;
  25422. }
  25423. CMD:contracts(playerid, params[])
  25424. {
  25425. if(PlayerInfo[playerid][pFaction] == 4 || PlayerInfo[playerid][pLeader] == 4 || (PlayerInfo[playerid][pAdmin] >= 4 && AdminDuty[playerid] == 1))
  25426. {
  25427. SearchingHit(playerid);
  25428. }
  25429. return 1;
  25430. }
  25431. CMD:givehit(playerid, params[])
  25432. {
  25433. if(PlayerInfo[playerid][pFaction] == 4 || PlayerInfo[playerid][pLeader] == 4)
  25434. {
  25435. if(PlayerInfo[playerid][pRank] < 5)
  25436. {
  25437. SendClientMessage(playerid, COLOR_GREY, " Only ranks 5 and above can assign contracts to people!");
  25438. return 1;
  25439. }
  25440. new string[128], giveplayerid, targetid;
  25441. if(sscanf(params, "uu", giveplayerid, targetid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givehit [playerid/partofname] [targetid]");
  25442. if(IsPlayerConnected(giveplayerid))
  25443. {
  25444. if(GoChase[giveplayerid] < 999)
  25445. {
  25446. SendClientMessage(playerid, COLOR_GREY, " That Hitman is already busy with a Contract!");
  25447. return 1;
  25448. }
  25449. if(GotHit[targetid] == 1)
  25450. {
  25451. SendClientMessage(playerid, COLOR_GREY, " Another hitman has already assigned this target!");
  25452. return 1;
  25453. }
  25454. if(IsPlayerConnected(targetid))
  25455. {
  25456. if(PlayerInfo[targetid][pHeadValue] == 0)
  25457. {
  25458. SendClientMessage(playerid, COLOR_GREY, " That target doesn't have a contract on them!");
  25459. return 1;
  25460. }
  25461. format(string, sizeof(string), "* You offered %s a contract to kill %s.", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(targetid));
  25462. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  25463. format(string, sizeof(string), "* Hitman %s has offered you a contract to kill %s (type /accept contract), to accept it.", GetPlayerNameEx(playerid), GetPlayerNameEx(targetid));
  25464. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  25465. HitOffer[giveplayerid] = playerid;
  25466. HitToGet[giveplayerid] = targetid;
  25467. return 1;
  25468. }
  25469. else
  25470. {
  25471. SendClientMessage(playerid, COLOR_GREY, " The contracted person is offline, use /contracts!");
  25472. return 1;
  25473. }
  25474. }
  25475. else
  25476. {
  25477. SendClientMessage(playerid, COLOR_GREY, " That Hitman is not Online!");
  25478. return 1;
  25479. }
  25480. }
  25481. return 1;
  25482. }
  25483. CMD:givemehit(playerid, params[])
  25484. {
  25485. if(PlayerInfo[playerid][pFaction] == 4 || PlayerInfo[playerid][pLeader] == 4)
  25486. {
  25487. new string[128], targetid;
  25488. if(sscanf(params, "u", targetid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givemehit [targetid]");
  25489. if(IsPlayerConnected(targetid))
  25490. {
  25491. if(GoChase[playerid] < 999)
  25492. {
  25493. SendClientMessage(playerid, COLOR_GREY, " You're already busy with another contract!");
  25494. return 1;
  25495. }
  25496. if(GotHit[targetid] == 1)
  25497. {
  25498. SendClientMessage(playerid, COLOR_GREY, " Another hitman has already assigned this target!");
  25499. return 1;
  25500. }
  25501. if(PlayerInfo[targetid][pHeadValue] == 0)
  25502. {
  25503. SendClientMessage(playerid, COLOR_GREY, " That target doesn't have a contract on them!");
  25504. return 1;
  25505. }
  25506. format(string, sizeof(string), "* You have offered yourself a contract to kill %s. (type /accept contract)", GetPlayerNameEx(targetid));
  25507. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  25508. HitOffer[playerid] = playerid;
  25509. HitToGet[playerid] = targetid;
  25510. return 1;
  25511. }
  25512. else
  25513. {
  25514. SendClientMessage(playerid, COLOR_GREY, " The contracted person is offline, use /contracts!");
  25515. return 1;
  25516. }
  25517. }
  25518. return 1;
  25519. }
  25520. CMD:order(playerid, params[])
  25521. {
  25522. if(PlayerInfo[playerid][pFaction] == 4 || PlayerInfo[playerid][pLeader] == 4)
  25523. {
  25524. if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_GREY, "You can't do this right now.");
  25525. if(IsPlayerInRangeOfPoint(playerid, 20.0, 1236.112182, -751.863220, 5080.765136))
  25526. {
  25527. if(PlayerInfo[playerid][pConnectTime] < 2) return SendClientMessage(playerid, COLOR_GRAD2, "You can't use this as you're currently restricted from possessing weapons!");
  25528. new Hitman[32], skin = -1;
  25529. if(sscanf(params, "s[32]D", Hitman, skin))
  25530. {
  25531. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /order [name]");
  25532. SendClientMessage(playerid, COLOR_GRAD2, " Rank 1: Knife ($80), SDPistol ($100), Shotgun ($150), Skin ($250), Deagle ($500), MP5 ($250), Kevlar Vest ($600)");
  25533. SendClientMessage(playerid, COLOR_GRAD2, " Rank 2: Rifle ($300), AK47 ($1,000), M4 ($1,200)");
  25534. SendClientMessage(playerid, COLOR_GRAD2, " Rank 3: SPAS12 ($3,500), Sniper ($3,500)");
  25535. SendClientMessage(playerid, COLOR_GRAD2, " Rank 4: C4 ($5000)");
  25536. return 1;
  25537. }
  25538. else if(strcmp(Hitman,"skin",true) == 0)
  25539. {
  25540. if(PlayerInfo[playerid][pRank] < 1) {
  25541. SendClientMessage(playerid, COLOR_GREY, "You're not the required rank for that!");
  25542. }
  25543. else if(IsInvalidSkin(skin)) {
  25544. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /order skin [skin ID]");
  25545. }
  25546. else if(GetPlayerCash(playerid) >= 250) {
  25547. SetPlayerSkin(playerid, skin);
  25548. PlayerInfo[playerid][pSkin] = skin;
  25549. GivePlayerCash(playerid, -250);
  25550. SendClientMessage(playerid, COLOR_LIGHTBLUE,"You have purchased a skin!");
  25551. }
  25552. else SendClientMessage(playerid, COLOR_GREY," You can't afford that!");
  25553. }
  25554. else if(strcmp(Hitman,"Knife",true) == 0)
  25555. {
  25556. if(PlayerInfo[playerid][pRank] < 1)
  25557. {
  25558. SendClientMessage(playerid, COLOR_GREY, "You're not the required rank for that weapon!");
  25559. return 1;
  25560. }
  25561. if(GetPlayerCash(playerid) >= 80)
  25562. {
  25563. GivePlayerValidWeapon(playerid, 4, 3);
  25564. GivePlayerCash(playerid, -80);
  25565. SendClientMessage(playerid, COLOR_LIGHTBLUE," You have purchased a knife!");
  25566. return 1;
  25567. }
  25568. else
  25569. {
  25570. SendClientMessage(playerid, COLOR_GREY," You can't afford that package!");
  25571. return 1;
  25572. }
  25573. }
  25574. else if(strcmp(Hitman,"SDPistol",true) == 0)
  25575. {
  25576. if(PlayerInfo[playerid][pRank] < 1)
  25577. {
  25578. SendClientMessage(playerid, COLOR_GREY, "You're not the required rank for that weapon!");
  25579. return 1;
  25580. }
  25581. if(GetPlayerCash(playerid) >= 100)
  25582. {
  25583. GivePlayerValidWeapon(playerid, 23, 99999);
  25584. GivePlayerCash(playerid, -100);
  25585. SendClientMessage(playerid, COLOR_LIGHTBLUE," You have purchased a silenced pistol!");
  25586. return 1;
  25587. }
  25588. else
  25589. {
  25590. SendClientMessage(playerid, COLOR_GREY," You can't afford that package!");
  25591. return 1;
  25592. }
  25593. }
  25594. else if(strcmp(Hitman,"Shotgun",true) == 0)
  25595. {
  25596. if(PlayerInfo[playerid][pRank] < 1)
  25597. {
  25598. SendClientMessage(playerid, COLOR_GREY, "You're not the required rank for that weapon!");
  25599. return 1;
  25600. }
  25601. if(GetPlayerCash(playerid) >= 150)
  25602. {
  25603. GivePlayerValidWeapon(playerid, 25, 99999);
  25604. GivePlayerCash(playerid, -150);
  25605. SendClientMessage(playerid, COLOR_LIGHTBLUE," You have purchased a shotgun!");
  25606. return 1;
  25607. }
  25608. else
  25609. {
  25610. SendClientMessage(playerid, COLOR_GREY," You can't afford that package!");
  25611. return 1;
  25612. }
  25613. }
  25614. else if(strcmp(Hitman,"Deagle",true) == 0)
  25615. {
  25616. if(PlayerInfo[playerid][pRank] < 1)
  25617. {
  25618. SendClientMessage(playerid, COLOR_GREY, "You're not the required rank for that weapon!");
  25619. return 1;
  25620. }
  25621. if(GetPlayerCash(playerid) > 500)
  25622. {
  25623. GivePlayerValidWeapon(playerid, 24, 99999);
  25624. GivePlayerCash(playerid, -500);
  25625. SendClientMessage(playerid, COLOR_LIGHTBLUE," You have purchased a Desert Eagle!");
  25626. return 1;
  25627. }
  25628. else
  25629. {
  25630. SendClientMessage(playerid, COLOR_GREY," You can't afford that package!");
  25631. return 1;
  25632. }
  25633. }
  25634. else if(strcmp(Hitman,"MP5",true) == 0)
  25635. {
  25636. if(PlayerInfo[playerid][pRank] < 1)
  25637. {
  25638. SendClientMessage(playerid, COLOR_GREY, "You're not the required rank for that weapon!");
  25639. return 1;
  25640. }
  25641. if(GetPlayerCash(playerid) >= 250)
  25642. {
  25643. GivePlayerValidWeapon(playerid, 29, 99999);
  25644. GivePlayerCash(playerid, -250);
  25645. SendClientMessage(playerid, COLOR_LIGHTBLUE," You have purchased an MP5!");
  25646. return 1;
  25647. }
  25648. else
  25649. {
  25650. SendClientMessage(playerid, COLOR_GREY," You can't afford that package!");
  25651. return 1;
  25652. }
  25653. }
  25654. else if(strcmp(Hitman,"Rifle",true) == 0)
  25655. {
  25656. if(PlayerInfo[playerid][pRank] < 2)
  25657. {
  25658. SendClientMessage(playerid, COLOR_GREY, "You're not the required rank for that weapon!");
  25659. return 1;
  25660. }
  25661. if(GetPlayerCash(playerid) >= 300)
  25662. {
  25663. GivePlayerValidWeapon(playerid, 33, 99999);
  25664. GivePlayerCash(playerid, -300);
  25665. SendClientMessage(playerid, COLOR_LIGHTBLUE," You have purchased a rifle!");
  25666. return 1;
  25667. }
  25668. else
  25669. {
  25670. SendClientMessage(playerid, COLOR_GREY," You can't afford that package!");
  25671. return 1;
  25672. }
  25673. }
  25674. else if(strcmp(Hitman,"AK47",true) == 0)
  25675. {
  25676. if(PlayerInfo[playerid][pRank] < 2)
  25677. {
  25678. SendClientMessage(playerid, COLOR_GREY, "You're not the required rank for that weapon (2+)!");
  25679. return 1;
  25680. }
  25681. if(GetPlayerCash(playerid) >= 1000)
  25682. {
  25683. GivePlayerValidWeapon(playerid, 30, 99999);
  25684. GivePlayerCash(playerid, -1000);
  25685. SendClientMessage(playerid, COLOR_LIGHTBLUE," You have purchased an AK-47!");
  25686. return 1;
  25687. }
  25688. else
  25689. {
  25690. SendClientMessage(playerid, COLOR_GREY," You can't afford that package!");
  25691. return 1;
  25692. }
  25693. }
  25694. else if(strcmp(Hitman,"M4",true) == 0)
  25695. {
  25696. if(PlayerInfo[playerid][pRank] < 2)
  25697. {
  25698. SendClientMessage(playerid, COLOR_GREY, "You're not the required rank for that weapon (2+)!");
  25699. return 1;
  25700. }
  25701. if(GetPlayerCash(playerid) >= 1200)
  25702. {
  25703. GivePlayerValidWeapon(playerid, 31, 99999);
  25704. GivePlayerCash(playerid, -1200);
  25705. SendClientMessage(playerid, COLOR_LIGHTBLUE," You have purchased an M4!");
  25706. return 1;
  25707. }
  25708. else
  25709. {
  25710. SendClientMessage(playerid, COLOR_GREY," You can't afford that package!");
  25711. return 1;
  25712. }
  25713. }
  25714. else if(strcmp(Hitman,"Vest",true) == 0)
  25715. {
  25716. if(PlayerInfo[playerid][pRank] < 1)
  25717. {
  25718. SendClientMessage(playerid, COLOR_GREY, "You're not the required rank for that weapon!");
  25719. return 1;
  25720. }
  25721. if(GetPlayerCash(playerid) >= 600)
  25722. {
  25723. SetPlayerArmourEx(playerid, 100);
  25724. GivePlayerCash(playerid, -600);
  25725. SendClientMessage(playerid, COLOR_LIGHTBLUE," You have purchased a kevlar vest!");
  25726. return 1;
  25727. }
  25728. else
  25729. {
  25730. SendClientMessage(playerid, COLOR_GREY," You can't afford that package!");
  25731. return 1;
  25732. }
  25733. }
  25734. else if(strcmp(Hitman,"Spas12",true) == 0)
  25735. {
  25736. if(PlayerInfo[playerid][pRank] < 3)
  25737. {
  25738. SendClientMessage(playerid, COLOR_GREY, "You're not the required rank for that weapon (3+!");
  25739. return 1;
  25740. }
  25741. if(GetPlayerCash(playerid) >= 3500)
  25742. {
  25743. GivePlayerValidWeapon(playerid, 27, 99999);
  25744. GivePlayerCash(playerid, -3500);
  25745. SendClientMessage(playerid, COLOR_LIGHTBLUE," You have purchased a SPAS-12!");
  25746. return 1;
  25747. }
  25748. else
  25749. {
  25750. SendClientMessage(playerid, COLOR_GREY," You can't afford that package!");
  25751. return 1;
  25752. }
  25753. }
  25754. else if(strcmp(Hitman,"Sniper",true) == 0)
  25755. {
  25756. if(PlayerInfo[playerid][pRank] < 3)
  25757. {
  25758. SendClientMessage(playerid, COLOR_GREY, "You're not the required rank for that weapon (3+)!");
  25759. return 1;
  25760. }
  25761. if(GetPlayerCash(playerid) >= 3500)
  25762. {
  25763. GivePlayerValidWeapon(playerid, 34, 99999);
  25764. GivePlayerCash(playerid, -3500);
  25765. SendClientMessage(playerid, COLOR_LIGHTBLUE," You have purchased a sniper rifle!");
  25766. return 1;
  25767. }
  25768. else
  25769. {
  25770. SendClientMessage(playerid, COLOR_GREY," You can't afford that package!");
  25771. return 1;
  25772. }
  25773. }
  25774. else if(strcmp(Hitman,"C4",true) == 0)
  25775. {
  25776. if(PlayerInfo[playerid][pRank] < 4)
  25777. {
  25778. SendClientMessage(playerid, COLOR_GREY, "YYou're not the required rank for that weapon (4+)!");
  25779. return 1;
  25780. }
  25781. if(GetPlayerCash(playerid) >= 5000)
  25782. {
  25783. PlayerInfo[playerid][pC4Get] = 1;
  25784. PlayerInfo[playerid][pBombs]++;
  25785. GivePlayerCash(playerid, -5000);
  25786. SendClientMessage(playerid, COLOR_LIGHTBLUE," You have purchased one block of C4!");
  25787. }
  25788. else
  25789. {
  25790. SendClientMessage(playerid, COLOR_GREY," You can't afford that package!");
  25791. return 1;
  25792. }
  25793. }
  25794. }
  25795. else
  25796. {
  25797. SendClientMessage(playerid, COLOR_GRAD2, "You're not at the gun shack!");
  25798. return 1;
  25799. }
  25800. }
  25801. else
  25802. {
  25803. SendClientMessage(playerid, COLOR_GRAD2, "You're not a member of the hitman agency!");
  25804. return 1;
  25805. }
  25806. return 1;
  25807. }
  25808. CMD:ranks(playerid, params[])
  25809. {
  25810. if(PlayerInfo[playerid][pFaction] != 4 && PlayerInfo[playerid][pLeader] != 4 && (PlayerInfo[playerid][pAdmin] < 4 && AdminDuty[playerid] != 1))
  25811. SendClientMessage(playerid, COLOR_WHITE, "|__________________ Agency's Ranks __________________|");
  25812. new string[128];
  25813. foreach(Player, i)
  25814. {
  25815. if(PlayerInfo[i][pFaction] == 4 || PlayerInfo[i][pLeader] == 4)
  25816. {
  25817. if(GoChase[playerid] == 999)
  25818. {
  25819. format(string, sizeof(string), "* Name: %s | Rank %d | Completed Hits: %d | Failed Hits: %d", GetPlayerNameEx(i),PlayerInfo[i][pRank], PlayerInfo[i][pCHits], PlayerInfo[i][pFHits]);
  25820. SendClientMessage(playerid, COLOR_GREY, string);
  25821. }
  25822. else
  25823. {
  25824. format(string, sizeof(string), "* Name: %s | Rank %d | Completed Hits: %d | Failed Hits: %d | Chasing: %s", GetPlayerNameEx(i),PlayerInfo[i][pRank], PlayerInfo[i][pCHits], PlayerInfo[i][pFHits], GetPlayerNameEx(GoChase[i]));
  25825. SendClientMessage(playerid, COLOR_GREY, string);
  25826. }
  25827. }
  25828. }
  25829. return 1;
  25830. }
  25831. CMD:profile(playerid, params[])
  25832. {
  25833. if(PlayerInfo[playerid][pFaction] == 4 || PlayerInfo[playerid][pLeader] == 4)
  25834. {
  25835. new string[128], giveplayerid;
  25836. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /profile [playerid/partofname]");
  25837. if(IsPlayerConnected(giveplayerid))
  25838. {
  25839. new ftext[24];
  25840. if(PlayerInfo[giveplayerid][pFaction] == 1 || PlayerInfo[giveplayerid][pLeader] == 1)
  25841. { ftext = "LSPD"; }
  25842. else if(PlayerInfo[giveplayerid][pFaction] == 2 || PlayerInfo[giveplayerid][pLeader] == 2)
  25843. { ftext = "FBI"; }
  25844. else if(PlayerInfo[giveplayerid][pFaction] == 3 || PlayerInfo[giveplayerid][pLeader] == 3)
  25845. { ftext = "LSFMD"; }
  25846. else if(PlayerInfo[giveplayerid][pFaction] == 4 || PlayerInfo[giveplayerid][pLeader] == 4)
  25847. { ftext = "Hitman Agency"; }
  25848. else
  25849. { ftext = "None"; }
  25850. new f2text[64];
  25851. if(PlayerInfo[giveplayerid][pGang] < 255)
  25852. {
  25853. format(f2text, sizeof(f2text), "%s", FamilyInfo[PlayerInfo[giveplayerid][pGang]][FamilyName]);
  25854. }
  25855. else { f2text = "None"; }
  25856. SendClientMessage(playerid, COLOR_WHITE, "Profile Information:");
  25857. format(string, sizeof(string), "Name: %s", GetPlayerNameEx(giveplayerid));
  25858. SendClientMessage(playerid, COLOR_GRAD2, string);
  25859. format(string, sizeof(string), "Age: %d", PlayerInfo[giveplayerid][pAge]);
  25860. SendClientMessage(playerid, COLOR_GRAD2, string);
  25861. format(string, sizeof(string), "Organisation: %s", ftext);
  25862. SendClientMessage(playerid, COLOR_GRAD2, string);
  25863. format(string, sizeof(string), "Family: %s", f2text);
  25864. SendClientMessage(playerid, COLOR_GRAD2, string);
  25865. format(string, sizeof(string), "Bounty: $%d", PlayerInfo[giveplayerid][pHeadValue]);
  25866. SendClientMessage(playerid, COLOR_GRAD2, string);
  25867. }
  25868. }
  25869. return 1;
  25870. }
  25871. CMD:hbadge(playerid, params[]) {
  25872. if(PlayerInfo[playerid][pFaction] == 4 || PlayerInfo[playerid][pLeader] == 4) {
  25873. if(isnull(params)) {
  25874. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /hbadge [faction]");
  25875. SendClientMessage(playerid, COLOR_GRAD3, "|0 Normal |1 LSPD |2 FBI |3 LSFMD ");
  25876. }
  25877. else switch(strval(params)) {
  25878. case 0: {
  25879. SendClientMessage(playerid, COLOR_WHITE, "You have set your badge back to normal.");
  25880. SetPlayerColor(playerid,TEAM_HIT_COLOR);
  25881. }
  25882. case 1: {
  25883. SendClientMessage(playerid, COLOR_WHITE, "You have set your badge to LSPD.");
  25884. SetPlayerColor(playerid,TEAM_BLUE_COLOR);
  25885. }
  25886. case 2: {
  25887. SendClientMessage(playerid, COLOR_WHITE, "You have set your badge to FBI.");
  25888. SetPlayerColor(playerid,TEAM_FBI_COLOR);
  25889. }
  25890. case 3: {
  25891. SendClientMessage(playerid, COLOR_WHITE, "You have set your badge to LSFMD.");
  25892. SetPlayerColor(playerid, TEAM_MED_COLOR);
  25893. }
  25894. default: SendClientMessage(playerid, COLOR_GREY, "Invalid faction specified.");
  25895. }
  25896. }
  25897. return 1;
  25898. }
  25899. CMD:plantbomb(playerid, params[]) {
  25900. return cmd_pb(playerid, params);
  25901. }
  25902. CMD:pb(playerid, params[])
  25903. {
  25904. if(PlayerInfo[playerid][pFaction] == 4 || PlayerInfo[playerid][pLeader] == 4)
  25905. {
  25906. if(PlayerInfo[playerid][pC4] == 0)
  25907. {
  25908. if(PlayerInfo[playerid][pBombs] != 0)
  25909. {
  25910. if(IsPlayerInAnyVehicle(playerid))
  25911. {
  25912. SendClientMessage(playerid, COLOR_LIGHTRED,"You can't plant C4 while in a vehicle!");
  25913. return 1;
  25914. }
  25915. GetPlayerPos(playerid,Positions[0][0], Positions[0][1], Positions[0][2]);
  25916. SetPVarFloat(playerid, "DYN_C4_FLOAT_X", Positions[0][0]);
  25917. SetPVarFloat(playerid, "DYN_C4_FLOAT_Y", Positions[0][1]);
  25918. SetPVarFloat(playerid, "DYN_C4_FLOAT_Z", Positions[0][2]);
  25919. PlayerInfo[playerid][pC4] = CreateDynamicObject(1654, Positions[0][0], Positions[0][1], Positions[0][2]-0.9, 0, 89.325012207031, 3.9700012207031);
  25920. ApplyAnimation(playerid,"BOMBER","BOM_Plant",4.0,0,0,0,0,0);
  25921. ApplyAnimation(playerid,"BOMBER","BOM_Plant",4.0,0,0,0,0,0);
  25922. SendClientMessage(playerid, COLOR_GREEN, "You have placed C4 on the ground, /pickupbomb to remove it.");
  25923. //PlayerInfo[playerid][pC4] = 1;
  25924. PlayerInfo[playerid][pBombs]--;
  25925. PlayerInfo[playerid][pC4Used] = 1;
  25926. }
  25927. else
  25928. {
  25929. SendClientMessage(playerid, COLOR_GRAD2, "You do not have C4!");
  25930. return 1;
  25931. }
  25932. }
  25933. else
  25934. {
  25935. SendClientMessage(playerid, COLOR_GRAD2, " You can only deploy 1 C4 at a time ! ");
  25936. return 1;
  25937. }
  25938. }
  25939. else
  25940. {
  25941. SendClientMessage(playerid, COLOR_GRAD2, "You're not a member of the Hitman Agency ! ");
  25942. }
  25943. return 1;
  25944. }
  25945. CMD:plantcarbomb(playerid, params[]) {
  25946. return cmd_pcb(playerid, params);
  25947. }
  25948. CMD:pcb(playerid, params[])
  25949. {
  25950. if(PlayerInfo[playerid][pFaction] == 4 || PlayerInfo[playerid][pLeader] == 4)
  25951. {
  25952. if(PlayerInfo[playerid][pC4] == 0)
  25953. {
  25954. if(PlayerInfo[playerid][pBombs] != 0)
  25955. {
  25956. new carid = GetPlayerVehicleID(playerid);
  25957. new closestcar = GetClosestCar(playerid, carid);
  25958. if(IsPlayerInRangeOfVehicle(playerid, closestcar, 4.0))
  25959. {
  25960. if(VehicleBomb{closestcar} == 1)
  25961. {
  25962. SendClientMessage(playerid, COLOR_GRAD2, "There is already a C4 on the vehicle engine!");
  25963. return 1;
  25964. }
  25965. VehicleBomb{closestcar} = 1;
  25966. PlacedVehicleBomb[playerid] = closestcar;
  25967. ApplyAnimation(playerid,"BOMBER","BOM_Plant",4.0,0,0,0,0,0);
  25968. ApplyAnimation(playerid,"BOMBER","BOM_Plant",4.0,0,0,0,0,0);
  25969. SendClientMessage(playerid, COLOR_GREEN, "You have placed C4 on the vehicle engine, /pickupbomb to remove it.");
  25970. PlayerInfo[playerid][pC4] = 1;
  25971. PlayerInfo[playerid][pBombs]--;
  25972. PlayerInfo[playerid][pC4Used] = 2;
  25973. }
  25974. else
  25975. {
  25976. SendClientMessage(playerid, COLOR_GRAD2, "You're not close enough to any vehicle!");
  25977. return 1;
  25978. }
  25979. }
  25980. else
  25981. {
  25982. SendClientMessage(playerid, COLOR_GRAD2, "You do not have C4!");
  25983. return 1;
  25984. }
  25985. }
  25986. else
  25987. {
  25988. SendClientMessage(playerid, COLOR_GRAD2, " You can only deploy 1 C4 at a time ! ");
  25989. return 1;
  25990. }
  25991. }
  25992. else
  25993. {
  25994. SendClientMessage(playerid, COLOR_GRAD2, "You're not a member of the Hitman Agency ! ");
  25995. }
  25996. return 1;
  25997. }
  25998. CMD:pickupbomb(playerid, params[])
  25999. {
  26000. if(PlayerInfo[playerid][pFaction] != 4 && PlayerInfo[playerid][pLeader] != 4)
  26001. {
  26002. SendClientMessage(playerid, COLOR_GREY, "You're not a Hitman!");
  26003. return 1;
  26004. }
  26005. if(PlayerInfo[playerid][pC4] == 0)
  26006. {
  26007. SendClientMessage(playerid, COLOR_GREY, "You haven't planted a bomb!");
  26008. return 1;
  26009. }
  26010. new carid = GetPlayerVehicleID(playerid);
  26011. new closestcar = GetClosestCar(playerid, carid);
  26012. if(IsPlayerInRangeOfVehicle(playerid, closestcar, 4.0) && VehicleBomb{closestcar} == 1)
  26013. {
  26014. VehicleBomb{closestcar} = 0;
  26015. PlacedVehicleBomb[playerid] = INVALID_VEHICLE_ID;
  26016. PickUpC4(playerid);
  26017. SendClientMessage(playerid, COLOR_GREEN, "Bomb picked up successfully.");
  26018. PlayerInfo[playerid][pBombs]++;
  26019. PlayerInfo[playerid][pC4Used] = 0;
  26020. PlayerInfo[playerid][pC4Get] = 1;
  26021. return 1;
  26022. }
  26023. if(IsPlayerInRangeOfPoint(playerid, 3.0, GetPVarFloat(playerid, "DYN_C4_FLOAT_X"), GetPVarFloat(playerid, "DYN_C4_FLOAT_Y"), GetPVarFloat(playerid, "DYN_C4_FLOAT_Z")))
  26024. {
  26025. PickUpC4(playerid);
  26026. SendClientMessage(playerid, COLOR_GREEN, "Bomb picked up successfully.");
  26027. PlayerInfo[playerid][pBombs]++;
  26028. PlayerInfo[playerid][pC4Used] = 0;
  26029. PlayerInfo[playerid][pC4Get] = 1;
  26030. return 1;
  26031. }
  26032. return 1;
  26033. }
  26034. CMD:showmehq(playerid, params[])
  26035. {
  26036. if(CheckPointCheck(playerid)) {
  26037. SendClientMessage(playerid, COLOR_WHITE, "Please ensure that your current checkpoint is destroyed first (you either have material packages, or another existing checkpoint).");
  26038. return 1;
  26039. }
  26040. if(PlayerInfo[playerid][pFaction] == 4 || PlayerInfo[playerid][pLeader] == 4) {
  26041. SetPlayerCheckpoint(playerid,1938.545898, 165.629531, 37.281250, 4.0);
  26042. GameTextForPlayer(playerid, "~w~Waypoint set ~r~HQ", 5000, 1);
  26043. gPlayerCheckpointStatus[playerid] = CHECKPOINT_HITMAN;
  26044. }
  26045. return 1;
  26046. }
  26047. CMD:showmemclub(playerid, params[])
  26048. {
  26049. if(CheckPointCheck(playerid)) {
  26050. SendClientMessage(playerid, COLOR_WHITE, "Please ensure that your current checkpoint is destroyed first (you either have material packages, or another existing checkpoint).");
  26051. return 1;
  26052. }
  26053. if(PlayerInfo[playerid][pDonator] >= 1) {
  26054. SetPlayerCheckpoint(playerid,1918.388916,-1684.041137,13.522994, 4.0);
  26055. GameTextForPlayer(playerid, "~w~Waypoint set ~r~Maximus club", 5000, 1);
  26056. gPlayerCheckpointStatus[playerid] = CHECKPOINT_MAXIMUSCLUB;
  26057. }
  26058. return 1;
  26059. }
  26060. CMD:showmebm(playerid, params[])
  26061. {
  26062. if(CheckPointCheck(playerid)) {
  26063. SendClientMessage(playerid, COLOR_WHITE, "Please ensure that your current checkpoint is destroyed first (you either have material packages, or another existing checkpoint).");
  26064. return 1;
  26065. }
  26066. if(PlayerInfo[playerid][pDonator] >= 1) {
  26067. SetPlayerCheckpoint(playerid,2002.423583,-1782.383422,13.553680, 4.0);
  26068. GameTextForPlayer(playerid, "~w~Waypoint set ~r~BlackMarket", 5000, 1);
  26069. gPlayerCheckpointStatus[playerid] = CHECKPOINT_BLACKMARKET;
  26070. }
  26071. return 1;
  26072. }
  26073. CMD:deletehit(playerid, params[])
  26074. {
  26075. //if((PlayerInfo[playerid][pAdmin] >= 4 && AdminDuty[playerid] == 1) || (PlayerInfo[playerid][pFaction] == 4 && PlayerInfo[playerid][pRank] >= 5) || PlayerInfo[playerid][pLeader] == 4)
  26076. if(PlayerInfo[playerid][pAdmin] >= 4 && AdminDuty[playerid] == 1)
  26077. {
  26078. new string[128], giveplayerid;
  26079. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /deletehit [playerid/partofname]");
  26080. if(!IsPlayerConnected(giveplayerid))
  26081. {
  26082. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  26083. return 1;
  26084. }
  26085. if(PlayerInfo[giveplayerid][pHeadValue] >= 1)
  26086. {
  26087. format(string, sizeof(string), "%s has removed the contract on %s ($%d)", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), PlayerInfo[giveplayerid][pHeadValue]);
  26088. Log("logs/contracts.log", string);
  26089. PlayerInfo[giveplayerid][pHeadValue] = 0;
  26090. format(string, sizeof(string), "You have removed the contract which was on %s's head.", GetPlayerNameEx(giveplayerid));
  26091. SendClientMessage(playerid, COLOR_WHITE, string);
  26092. GoChase[giveplayerid] = 999;
  26093. foreach(Player, i)
  26094. {
  26095. if(HitToGet[i] == giveplayerid)
  26096. {
  26097. HitToGet[i] = 999;
  26098. HitOffer[i] = 999;
  26099. }
  26100. }
  26101. }
  26102. else
  26103. {
  26104. SendClientMessage(playerid, COLOR_WHITE, "There's not an active contract on that player!");
  26105. }
  26106. }
  26107. return 1;
  26108. }
  26109. CMD:contract(playerid, params[])
  26110. {
  26111. if(PlayerCuffed[playerid] != 0) return SendClientMessage(playerid, COLOR_GREY, "You can't place contracts while in cuffs.");
  26112. if(PlayerInfo[playerid][pJailTime] > 0) return SendClientMessage(playerid, COLOR_GREY, "You can't place contracts while in jail.");
  26113. new string[128], giveplayerid, moneys, detail[32];
  26114. if(sscanf(params, "uds[32]", giveplayerid, moneys, detail)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /contract [playerid/partofname] [amount] [details]");
  26115. if(moneys < 5000 || moneys > 50000)
  26116. {
  26117. SendClientMessage(playerid, COLOR_GREY, "You can't place contracts that are less than $5,000 or more than $50,000.");
  26118. return 1;
  26119. }
  26120. else if((moneys < 10000 || moneys > 50000) && IsACop(giveplayerid))
  26121. {
  26122. SendClientMessage(playerid, COLOR_GREY, "The minimum hit amount for a law enforcement officer is $10,000 and can't be more than $50,000.");
  26123. return 1;
  26124. }
  26125. if(PlayerInfo[playerid][pLevel] < 2)
  26126. {
  26127. SendClientMessage(playerid, COLOR_GRAD1, "You must be level 2 to place a contract.");
  26128. return 1;
  26129. }
  26130. if(PlayerInfo[giveplayerid][pConnectTime] < 12)
  26131. {
  26132. SendClientMessage(playerid, COLOR_GRAD1, "You can't place contracts on players with less than 12 playing hours.");
  26133. return 1;
  26134. }
  26135. if(AdminDuty[giveplayerid] == 1)
  26136. {
  26137. SendClientMessage(playerid, COLOR_GRAD1, "You can't contract on-duty admins.");
  26138. return 1;
  26139. }
  26140. if(IsPlayerConnected(giveplayerid))
  26141. {
  26142. if(PlayerInfo[playerid][pFaction] == 4 || PlayerInfo[playerid][pLeader] == 4)
  26143. {
  26144. SendClientMessage(playerid, COLOR_GREY, "You can't place contracts as a hitman.");
  26145. }
  26146. else
  26147. {
  26148. if(giveplayerid != INVALID_PLAYER_ID)
  26149. {
  26150. if(moneys >= 50001)
  26151. {
  26152. SendClientMessage(playerid, COLOR_GREY, "The maximum contract price is $50,000!");
  26153. return 1;
  26154. }
  26155. if(PlayerInfo[giveplayerid][pHeadValue] >= 50000)
  26156. {
  26157. SendClientMessage(playerid, COLOR_GREY, "That player has the maximum on their head.");
  26158. return 1;
  26159. }
  26160. if(moneys + PlayerInfo[giveplayerid][pHeadValue] >= 50001)
  26161. {
  26162. SendClientMessage(playerid, COLOR_GREY, "That player has the maximum on their head.");
  26163. return 1;
  26164. }
  26165. if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "You can't contract yourself."); return 1; }
  26166. new playermoney = GetPlayerCash(playerid);
  26167. if(moneys > 0 && playermoney >= moneys)
  26168. {
  26169. if(strlen(detail) > 32) return SendClientMessage(playerid, COLOR_GRAD1, "Contract details may not be longer than 32 characters in length.");
  26170. GivePlayerCash(playerid, (0 - moneys));
  26171. PlayerInfo[giveplayerid][pHeadValue]+=moneys;
  26172. strmid(PlayerInfo[giveplayerid][pContractBy], GetPlayerNameEx(playerid), 0, strlen(GetPlayerNameEx(playerid)), MAX_PLAYER_NAME);
  26173. strmid(PlayerInfo[giveplayerid][pContractDetail], detail, 0, strlen(detail), 32);
  26174. format(string, sizeof(string), "%s has placed a contract on %s for $%d, details: %s.",GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), moneys, detail);
  26175. SendFamilyMessage(4, COLOR_YELLOW, string);
  26176. format(string, sizeof(string), "* You placed a contract on %s for $%d, details: %s.",GetPlayerNameEx(giveplayerid), moneys, detail);
  26177. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  26178. format(string, sizeof(string), "%s has placed a contract on %s for $%d, details: %s",GetPlayerNameEx(playerid),GetPlayerNameEx(giveplayerid),moneys,detail);
  26179. Log("logs/contracts.log", string);
  26180. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  26181. }
  26182. else
  26183. {
  26184. SendClientMessage(playerid, COLOR_GRAD1, "You don't have enough money for this.");
  26185. }
  26186. }
  26187. }
  26188. }
  26189. else SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  26190. return 1;
  26191. }
  26192. CMD:GMA(playerid, params[])
  26193. {
  26194. if(PlayerInfo[playerid][pFaction] == 9 || PlayerInfo[playerid][pLeader] == 9)
  26195. {
  26196. if(IsPlayerInRangeOfPoint(playerid, 4.0, 2654.473632,-1834.064331,-38.724376))
  26197. {
  26198. ShowPlayerDialogEx(playerid, 5510, DIALOG_STYLE_LIST, "GMA: Lockers", "Duty\nGuns\nClothing Menu", "Proceed", "Cancel");
  26199. }
  26200. else
  26201. {
  26202. SendClientMessage(playerid, COLOR_WHITE, "You aren't in range of your GMA lockers.");
  26203. }
  26204. }
  26205. return 1;
  26206. }
  26207. CMD:locker(playerid, params[])
  26208. {
  26209. if(PlayerInfo[playerid][pFaction] == 1 || PlayerInfo[playerid][pLeader] == 1)
  26210. {
  26211. cmd_lspd(playerid, params);
  26212. }
  26213. else if(PlayerInfo[playerid][pFaction] == 2 || PlayerInfo[playerid][pLeader] == 2)
  26214. {
  26215. cmd_fbi(playerid, params);
  26216. }
  26217. else if(PlayerInfo[playerid][pFaction] == 9 || PlayerInfo[playerid][pLeader] == 9)
  26218. {
  26219. cmd_GMA(playerid, params);
  26220. }
  26221. else if(PlayerInfo[playerid][pFaction] == 5 || PlayerInfo[playerid][pLeader] == 5)
  26222. {
  26223. cmd_govl(playerid, params);
  26224. }
  26225. else if(PlayerInfo[playerid][pFaction] == 3 || PlayerInfo[playerid][pLeader] == 3)
  26226. {
  26227. cmd_lsfmd(playerid, params);
  26228. }
  26229. else if(PlayerInfo[playerid][pFaction] == 10 || PlayerInfo[playerid][pLeader] == 10)
  26230. {
  26231. cmd_ares(playerid, params);
  26232. }
  26233. else if(PlayerInfo[playerid][pFaction] == 11 || PlayerInfo[playerid][pLeader] == 11)
  26234. {
  26235. cmd_sasd(playerid, params);
  26236. }
  26237. return 1;
  26238. }
  26239. CMD:fbi(playerid, params[])
  26240. {
  26241. if(PlayerInfo[playerid][pFaction] == 2 || PlayerInfo[playerid][pLeader] == 2)
  26242. {
  26243. if(IsPlayerInRangeOfPoint(playerid,3,310.3679,-1537.5204,-45.1338))
  26244. {
  26245. ShowPlayerDialogEx(playerid, FDUTYMENU, DIALOG_STYLE_LIST, "FBI Menu","Duty\nEquipment\nSWAT Uniform\nUniform\nUndercover\nClear Suspect", "Select", "Cancel");
  26246. }
  26247. else
  26248. {
  26249. SendClientMessage(playerid, COLOR_WHITE, "You're not in range of your FBI lockers.");
  26250. }
  26251. }
  26252. return 1;
  26253. }
  26254. CMD:fbidiv(playerid, params[])
  26255. {
  26256. if(IsACop(playerid))
  26257. {
  26258. new string[128], giveplayerid, division;
  26259. if(sscanf(params, "ud", giveplayerid, division))
  26260. {
  26261. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /fbidiv [playerid/partofname] [division]");
  26262. SendClientMessage(playerid, COLOR_GRAD2, "Available division names: 1 (None), 2 (GU), 3 (FAN), 4 (CID), 5 (IA)");
  26263. return 1;
  26264. }
  26265. if(PlayerInfo[playerid][pFaction] == 2 && PlayerInfo[playerid][pRank] >= 4)
  26266. {
  26267. if(IsPlayerConnected(giveplayerid))
  26268. {
  26269. if(PlayerInfo[playerid][pFaction] == 2 || PlayerInfo[playerid][pLeader] == 2)
  26270. {
  26271. if(division == 3)
  26272. {
  26273. if(PlayerInfo[giveplayerid][pFaction] == 2)
  26274. {
  26275. PlayerInfo[giveplayerid][pDivision] = 3;
  26276. format(string, sizeof(string), "You're now in the FAN division, invited by %s.", GetPlayerNameEx(playerid));
  26277. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  26278. format(string, sizeof(string), "You have invited %s into the FAN division.", GetPlayerNameEx(giveplayerid));
  26279. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  26280. }
  26281. }
  26282. else if(division == 5)
  26283. {
  26284. if(PlayerInfo[giveplayerid][pFaction] == 2)
  26285. {
  26286. PlayerInfo[giveplayerid][pDivision] = 5;
  26287. format(string, sizeof(string), "You're now in the IA division, invited by %s.", GetPlayerNameEx(playerid));
  26288. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  26289. format(string, sizeof(string), "You have invited %s to join the IA division.", GetPlayerNameEx(giveplayerid));
  26290. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  26291. }
  26292. }
  26293. else if(division == 4)
  26294. {
  26295. if(PlayerInfo[giveplayerid][pFaction] == 2)
  26296. {
  26297. PlayerInfo[giveplayerid][pDivision] = 4;
  26298. format(string, sizeof(string), "You're now in the CID division, invited by %s.", GetPlayerNameEx(playerid));
  26299. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  26300. format(string, sizeof(string), "You have invited %s to join the CID division.", GetPlayerNameEx(giveplayerid));
  26301. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  26302. }
  26303. }
  26304. else if(division == 2)
  26305. {
  26306. if(PlayerInfo[giveplayerid][pFaction] == 2)
  26307. {
  26308. PlayerInfo[giveplayerid][pDivision] = 2;
  26309. format(string, sizeof(string), "You're now in the GU division, invited by %s.", GetPlayerNameEx(playerid));
  26310. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  26311. format(string, sizeof(string), "You have invited %s to join the GU division.", GetPlayerNameEx(giveplayerid));
  26312. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  26313. }
  26314. }
  26315. else if(division == 1)
  26316. {
  26317. if(PlayerInfo[giveplayerid][pFaction] == 2)
  26318. {
  26319. PlayerInfo[giveplayerid][pDivision] = 1;
  26320. format(string, sizeof(string), "You have been kicked from your division by %s.", GetPlayerNameEx(playerid));
  26321. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  26322. format(string, sizeof(string), "You have kicked %s out of their division.", GetPlayerNameEx(giveplayerid));
  26323. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  26324. }
  26325. }
  26326. }
  26327. }
  26328. }
  26329. else
  26330. {
  26331. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command - only R4+ can do this.");
  26332. }
  26333. }
  26334. return 1;
  26335. }
  26336. CMD:bug(playerid, params[]) {
  26337. if(PlayerInfo[playerid][pFaction] == 2) {
  26338. new
  26339. iTargetID;
  26340. if(sscanf(params, "u", iTargetID)) {
  26341. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /bug [playerid/partofname]");
  26342. }
  26343. else if(AdminDuty[iTargetID] == 1) {
  26344. SendClientMessage(playerid, COLOR_GREY, "You can't place bugs on admins.");
  26345. }
  26346. else if(PlayerInfo[iTargetID][pBugged] == 1) {
  26347. new
  26348. szMessage[32 + MAX_PLAYER_NAME];
  26349. PlayerInfo[iTargetID][pBugged] = 0;
  26350. format(szMessage,sizeof(szMessage),"The bug on %s has been disabled.", GetPlayerNameEx(iTargetID));
  26351. SendClientMessage(playerid, COLOR_GRAD1, szMessage);
  26352. }
  26353. else if(ProxDetectorS(4.0, playerid, iTargetID)) {
  26354. new
  26355. szMessage[28 + MAX_PLAYER_NAME];
  26356. PlayerInfo[iTargetID][pBugged] = 1;
  26357. format(szMessage,sizeof(szMessage),"You have placed a bug on %s.",GetPlayerNameEx(iTargetID));
  26358. SendClientMessage(playerid, COLOR_GRAD1, szMessage);
  26359. }
  26360. else SendClientMessage(playerid, COLOR_GRAD1, "You need to be close to the person.");
  26361. }
  26362. return 1;
  26363. }
  26364. CMD:togbr(playerid, params[])
  26365. {
  26366. if(PlayerInfo[playerid][pFaction] == 2) {
  26367. if(gBug[playerid] == 0)
  26368. {
  26369. gBug[playerid] = 1;
  26370. SendClientMessage(playerid, COLOR_GRAD2, "Bug chat channel enabled. You will now be able to hear transmissions from all active bugs.");
  26371. }
  26372. else
  26373. {
  26374. gBug[playerid] = 0;
  26375. SendClientMessage(playerid, COLOR_GRAD2, "Bug chat channel disabled.");
  26376. }
  26377. }
  26378. return 1;
  26379. }
  26380. CMD:impound(playerid, params[]) {
  26381. switch(PlayerInfo[playerid][pFaction]) {
  26382. case 1, 2: {
  26383. if(!IsAtImpoundingPoint(playerid))
  26384. {
  26385. SendClientMessage(playerid, COLOR_GREY, "You're not near the impound point, you can't impound!");
  26386. return 1;
  26387. }
  26388. if(IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid)))
  26389. {
  26390. new
  26391. iVehType,
  26392. iVehIndex,
  26393. iTargetOwner,
  26394. iVehTowed = GetVehicleTrailer(GetPlayerVehicleID(playerid));
  26395. if(!GetVehicleModel(iVehTowed)) {
  26396. return SendClientMessage(playerid, COLOR_GREY, "The vehicle in tow has been desynced and therefore can't be impounded.");
  26397. }
  26398. foreach(Player, i) {
  26399. iVehIndex = GetPlayerVehicle(i, iVehTowed);
  26400. if(iVehIndex != -1) {
  26401. iVehType = 1;
  26402. iTargetOwner = i;
  26403. break;
  26404. }
  26405. }
  26406. if(!iVehType) {
  26407. for(new i; i < MAX_FAMILY; ++i) {
  26408. iVehIndex = GetGangVehicle(i, iVehTowed);
  26409. if(iVehIndex != -1) {
  26410. iVehType = 2;
  26411. iTargetOwner = i;
  26412. break;
  26413. }
  26414. }
  26415. }
  26416. switch(iVehType) {
  26417. case 0, 2: {
  26418. SendClientMessage(playerid, COLOR_GRAD1, "The impound administration could not find any registration on the vehicle and has returned it.");
  26419. DetachTrailerFromVehicle(GetPlayerVehicleID(playerid));
  26420. SetVehiclePos(iVehTowed, 0, 0, 0); // Attempted desync fix
  26421. SetVehicleToRespawn(iVehTowed);
  26422. }
  26423. case 1: {
  26424. PlayerVehicleInfo[iTargetOwner][iVehIndex][pvImpounded] = 1;
  26425. PlayerVehicleInfo[iTargetOwner][iVehIndex][pvSpawned] = 0;
  26426. PlayerVehicleInfo[iTargetOwner][iVehIndex][pvId] = INVALID_PLAYER_VEHICLE_ID;
  26427. DetachTrailerFromVehicle(GetPlayerVehicleID(playerid));
  26428. SetVehiclePos(iVehTowed, 0, 0, 0); // Attempted desync fix
  26429. DestroyVehicle(iVehTowed);
  26430. VehicleRadioStation[iVehTowed] = 0;
  26431. VehicleSpawned[iTargetOwner]--;
  26432. --PlayerCars;
  26433. new
  26434. szMessage[96];
  26435. format(szMessage, sizeof(szMessage),"* You have impounded %s's %s.",GetPlayerNameEx(iTargetOwner), VehicleName[PlayerVehicleInfo[iTargetOwner][iVehIndex][pvModelId] - 400]);
  26436. SendClientMessage(playerid, COLOR_LIGHTBLUE, szMessage);
  26437. format(szMessage, sizeof(szMessage), "Your %s has been impounded. You may release it at the DMV in Dillimore.", VehicleName[PlayerVehicleInfo[iTargetOwner][iVehIndex][pvModelId] - 400]);
  26438. SendClientMessage(iTargetOwner, COLOR_LIGHTBLUE, szMessage);
  26439. format(szMessage, sizeof(szMessage), "HQ: %s has impounded %s's %s ($%i unpaid tickets).", GetPlayerNameEx(playerid), GetPlayerNameEx(iTargetOwner), VehicleName[PlayerVehicleInfo[iTargetOwner][iVehIndex][pvModelId] - 400], PlayerVehicleInfo[iTargetOwner][iVehIndex][pvTicket]);
  26440. SendRadioMessage(PlayerInfo[playerid][pFaction], RADIO, szMessage);
  26441. }
  26442. /*case 2: {
  26443. new
  26444. szMessage[29 + MAX_PLAYER_NAME];
  26445. format(szMessage, sizeof(szMessage),"* You have impounded %s's %s.",FamilyInfo[iTargetOwner][FamilyName], GetVehicleName(iVehTowed));
  26446. SendClientMessage(playerid, COLOR_LIGHTBLUE, szMessage);
  26447. format(szMessage, sizeof(szMessage), "Your %s has been impounded. You may release it at the DMV in Dillimore.", GetVehicleName(iVehTowed));
  26448. SendNewFamilyMessage(iTargetOwner, COLOR_LIGHTBLUE, szMessage);
  26449. FamilyVehicleInfo[iTargetOwner][iVehIndex][fvImpounded] = 1;
  26450. FamilyVehicleInfo[iTargetOwner][iVehIndex][fvId] = INVALID_VEHICLE_ID;
  26451. DestroyVehicle(iVehTowed);
  26452. VehicleRadioStation[iVehTowed] = 0;
  26453. }*/
  26454. }
  26455. arr_Towing[playerid] = INVALID_VEHICLE_ID;
  26456. }
  26457. }
  26458. default: SendClientMessage(playerid, COLOR_GRAD2, "You're not authorized to use this command.");
  26459. }
  26460. return 1;
  26461. }
  26462. CMD:dispatch(playerid, params[])
  26463. {
  26464. if(isnull(params))
  26465. return SendClientMessage(playerid, COLOR_WHITE, "USAGE: (/r)adio [radio chat]");
  26466. if(PlayerInfo[playerid][pFaction] == 1 || PlayerInfo[playerid][pFaction] == 2 || PlayerInfo[playerid][pFaction] == 3 || PlayerInfo[playerid][pFaction] == 5 || PlayerInfo[playerid][pFaction] == 9 || PlayerInfo[playerid][pFaction] == 10) {
  26467. new
  26468. szMessage[128];
  26469. format(szMessage, sizeof(szMessage), "* Dispatch: %s", params);
  26470. switch(PlayerInfo[playerid][pFaction]) {
  26471. case 1: SendRadioMessage(1, RADIO, szMessage);
  26472. case 2: SendRadioMessage(2, RADIO, szMessage);
  26473. case 3: SendRadioMessage(3, RADIO, szMessage);
  26474. case 5: SendRadioMessage(5, RADIO, szMessage);
  26475. case 9: SendRadioMessage(9, RADIO, szMessage);
  26476. case 10: SendRadioMessage(10, RADIO, szMessage);
  26477. }
  26478. }
  26479. return 1;
  26480. }
  26481. CMD:r(playerid, params[]) {
  26482. if(isnull(params))
  26483. return SendClientMessage(playerid, COLOR_WHITE, "USAGE: (/r)adio [radio chat]");
  26484. if(PlayerInfo[playerid][pFaction] == 1 || PlayerInfo[playerid][pFaction] == 2 || PlayerInfo[playerid][pFaction] == 3 || PlayerInfo[playerid][pFaction] == 5 || PlayerInfo[playerid][pFaction] == 9 || PlayerInfo[playerid][pFaction] == 10 || PlayerInfo[playerid][pFaction] == 11) {
  26485. new
  26486. szMessage[128],
  26487. szRank[64],
  26488. szEmployer[64],
  26489. szDivision[64];
  26490. GetPlayerFactionInfo(playerid, szRank, szDivision, szEmployer);
  26491. if(!strlen(szDivision) || !strcmp(szDivision, "None", true)) {
  26492. format(szMessage, sizeof(szMessage), "** %s %s: %s **", szRank, GetPlayerNameEx(playerid), params);
  26493. } else {
  26494. format(szMessage, sizeof(szMessage), "** %s (%s) %s: %s **", szRank, szDivision, GetPlayerNameEx(playerid), params);
  26495. }
  26496. switch(PlayerInfo[playerid][pFaction]) {
  26497. case 1: SendRadioMessage(1, RADIO, szMessage);
  26498. case 2: SendRadioMessage(2, RADIO, szMessage);
  26499. case 3: SendRadioMessage(3, RADIO, szMessage);
  26500. case 5: SendRadioMessage(5, COLOR_GOV, szMessage);
  26501. case 9: SendRadioMessage(9, TEAM_NEWS_COLOR, szMessage);
  26502. case 10: SendRadioMessage(10, RADIO, szMessage);
  26503. case 11: SendRadioMessage(11, RADIO, szMessage);
  26504. }
  26505. format(szMessage, sizeof(szMessage), "(radio) %s", params);
  26506. SetPlayerChatBubble(playerid, szMessage, COLOR_WHITE, 15.0,5000);
  26507. printf("%s ('** %s %s %s: %s **')", szEmployer, szRank, szDivision, GetPlayerNameEx(playerid), params);
  26508. }
  26509. return 1;
  26510. }
  26511. /*CMD:fc(playerid, params[]) {
  26512. if(isnull(params))
  26513. return SendClientMessage(playerid, COLOR_WHITE, "USAGE: (/f)action(c)hat [ooc chat]");
  26514. if(PlayerInfo[playerid][pFaction] == 1 || PlayerInfo[playerid][pFaction] == 2 || PlayerInfo[playerid][pFaction] == 3 || PlayerInfo[playerid][pFaction] == 5 || PlayerInfo[playerid][pFaction] == 9 || PlayerInfo[playerid][pFaction] == 10) {
  26515. new
  26516. szMessage[128],
  26517. szRank[64],
  26518. szEmployer[64],
  26519. szDivision[64];
  26520. GetPlayerFactionInfo(playerid, szRank, szDivision, szEmployer);
  26521. if(!strlen(szDivision) || !strcmp(szDivision, "None", true)) {
  26522. format(szMessage, sizeof(szMessage), "(( %s %s: %s ))", szRank, GetPlayerNameEx(playerid), params);
  26523. } else {
  26524. format(szMessage, sizeof(szMessage), "(( %s (%s) %s: %s ))", szRank, szDivision, GetPlayerNameEx(playerid), params);
  26525. }
  26526. switch(PlayerInfo[playerid][pFaction]) {
  26527. case 1: SendRadioMessage(1, COLOR_NEWS, szMessage);
  26528. case 2: SendRadioMessage(2, COLOR_NEWS, szMessage);
  26529. case 3: SendRadioMessage(3, COLOR_NEWS, szMessage);
  26530. case 5: SendRadioMessage(5, COLOR_NEWS, szMessage);
  26531. case 9: SendRadioMessage(9, COLOR_NEWS, szMessage);
  26532. case 10: SendRadioMessage(10, COLOR_NEWS, szMessage);
  26533. }
  26534. printf("%s (( %s %s %s: %s )))", szEmployer, szRank, szDivision, GetPlayerNameEx(playerid), params);
  26535. }
  26536. return 1;
  26537. }*/
  26538. CMD:d(playerid, params[]) {
  26539. if(isnull(params))
  26540. return SendClientMessage(playerid, COLOR_WHITE, "USAGE: (/d)epartments [department chat]");
  26541. if(PlayerInfo[playerid][pFaction] == 1 || PlayerInfo[playerid][pFaction] == 2 || PlayerInfo[playerid][pFaction] == 3 || PlayerInfo[playerid][pFaction] == 5 || PlayerInfo[playerid][pFaction] == 10 || PlayerInfo[playerid][pFaction] == 11) {
  26542. new
  26543. szMessage[128],
  26544. szRank[64],
  26545. szEmployer[64],
  26546. szDivision[64];
  26547. GetPlayerFactionInfo(playerid, szRank, szDivision, szEmployer);
  26548. if(!strlen(szDivision) || !strcmp(szDivision, "None", true)) {
  26549. format(szMessage, sizeof(szMessage), "** %s %s %s: %s **", szEmployer, szRank, GetPlayerNameEx(playerid), params);
  26550. } else {
  26551. format(szMessage, sizeof(szMessage), "** %s %s (%s) %s: %s **", szEmployer, szRank, szDivision, GetPlayerNameEx(playerid), params);
  26552. }
  26553. SendRadioMessage(1, DEPTRADIO, szMessage);
  26554. SendRadioMessage(2, DEPTRADIO, szMessage);
  26555. SendRadioMessage(3, DEPTRADIO, szMessage);
  26556. SendRadioMessage(5, DEPTRADIO, szMessage);
  26557. SendRadioMessage(10, DEPTRADIO, szMessage);
  26558. SendRadioMessage(11, DEPTRADIO, szMessage);
  26559. format(szMessage, sizeof(szMessage), "(radio) %s", params);
  26560. SetPlayerChatBubble(playerid, szMessage, COLOR_WHITE, 15.0, 5000);
  26561. foreach(Player, i)
  26562. {
  26563. if(PlayerInfo[i][pReceiver] > 0)
  26564. {
  26565. if(GetPVarType(i, "pReceiverOn"))
  26566. {
  26567. if(GetPVarInt(i, "pReceiverMLeft") > 0)
  26568. {
  26569. format(szMessage, sizeof(szMessage), "** (receiver) %s: %s **", GetPlayerNameEx(playerid), params);
  26570. SendClientMessage(i, DEPTRADIO, szMessage);
  26571. SetPVarInt(i, "pReceiverMLeft", GetPVarInt(i, "pReceiverMLeft") - 1);
  26572. }
  26573. else
  26574. {
  26575. PlayerInfo[i][pReceiver]--;
  26576. SetPVarInt(i, "pReceiverMLeft", 40);
  26577. SendClientMessage(i, DEPTRADIO, "Your receiver ran out of batteries!");
  26578. }
  26579. }
  26580. }
  26581. return 1;
  26582. }
  26583. }
  26584. return 1;
  26585. }
  26586. CMD:m(playerid, params[]) {
  26587. if(!isnull(params)) switch(PlayerInfo[playerid][pFaction]) {
  26588. case 1, 2, 3, 5, 9, 10, 11: {
  26589. new
  26590. szMessage[128];
  26591. format(szMessage, sizeof(szMessage), "(megaphone) %s: %s", GetPlayerNameEx(playerid), params);
  26592. ProxDetector(60.0, playerid, szMessage, COLOR_YELLOW, COLOR_YELLOW, COLOR_YELLOW, COLOR_YELLOW, COLOR_YELLOW);
  26593. }
  26594. default: SendClientMessage(playerid, COLOR_GRAD2, " You do not have authority to use the megaphone.");
  26595. }
  26596. else SendClientMessage(playerid, COLOR_WHITE, "USAGE: (/m)egaphone [megaphone chat]");
  26597. return 1;
  26598. }
  26599. CMD:su(playerid, params[]) {
  26600. if(IsACop(playerid) || PlayerInfo[playerid][pFaction] == 5 && PlayerInfo[playerid][pDivision] == 5 || PlayerInfo[playerid][pFaction] == 5 && PlayerInfo[playerid][pDivision] == 2 || PlayerInfo[playerid][pFaction] == 10 || PlayerInfo[playerid][pFaction] == 11) {
  26601. if(PlayerInfo[playerid][pJailed] > 0) {
  26602. return SendClientMessage(playerid, COLOR_WHITE, "You can't use this in jail/prison.");
  26603. }
  26604. new
  26605. iTargetID,
  26606. szCrime[64];
  26607. if(sscanf(params, "us[64]", iTargetID, szCrime)) {
  26608. SendClientMessage(playerid, COLOR_WHITE, "USAGE: (/su)spect [playerid/partofname] [crime description]");
  26609. }
  26610. else if(!IsPlayerConnected(iTargetID)) {
  26611. SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  26612. }
  26613. else if(IsACop(iTargetID)) {
  26614. SendClientMessage(playerid, COLOR_GREY, "You can't use this command on a law enforcement officer.");
  26615. }
  26616. else if(PlayerInfo[iTargetID][pFaction] == 5) {
  26617. SendClientMessage(playerid, COLOR_GREY, "This person has diplomatic immunity.");
  26618. }
  26619. else if(PlayerInfo[iTargetID][pWantedLevel] >= 6) {
  26620. SendClientMessage(playerid, COLOR_GRAD2, "Target is already most wanted.");
  26621. }
  26622. else {
  26623. new
  26624. szMessage[128];
  26625. ++PlayerInfo[iTargetID][pCrimes];
  26626. SetPlayerWantedLevel(iTargetID, ++PlayerInfo[iTargetID][pWantedLevel]);
  26627. if(PlayerInfo[iTargetID][pWantedLevel] > 5)
  26628. {
  26629. SetPlayerColor(iTargetID, WANTED_COLOR);
  26630. }
  26631. format(szMessage, sizeof(szMessage), "You've commited a crime (%s), reporter: %s.", szCrime, GetPlayerNameEx(playerid));
  26632. SendClientMessage(iTargetID, COLOR_LIGHTRED, szMessage);
  26633. format(szMessage, sizeof(szMessage), "Current wanted level: %d", PlayerInfo[iTargetID][pWantedLevel]);
  26634. SendClientMessage(iTargetID, COLOR_YELLOW, szMessage);
  26635. foreach(Player, i) if(IsACop(i) || PlayerInfo[i][pFaction] == 5 && PlayerInfo[i][pDivision] == 5 || PlayerInfo[playerid][pFaction] == 5 && PlayerInfo[playerid][pDivision] == 2) {
  26636. format(szMessage, sizeof(szMessage), "HQ: All units APB (reporter: %s)",GetPlayerNameEx(playerid));
  26637. SendClientMessage(i, TEAM_BLUE_COLOR, szMessage);
  26638. format(szMessage, sizeof(szMessage), "HQ: Crime: %s, suspect: %s", szCrime, GetPlayerNameEx(iTargetID));
  26639. SendClientMessage(i, TEAM_BLUE_COLOR, szMessage);
  26640. }
  26641. }
  26642. }
  26643. else SendClientMessage(playerid, COLOR_GRAD2, "You're not a law enforcement officer.");
  26644. return 1;
  26645. }
  26646. CMD:ares(playerid, params[])
  26647. {
  26648. if(PlayerInfo[playerid][pFaction] == 10 || PlayerInfo[playerid][pLeader] == 10)
  26649. {
  26650. if(IsPlayerInRangeOfPoint(playerid,3.5,-1109.457641, -95.517982, 2040.269287))
  26651. {
  26652. ShowPlayerDialogEx(playerid, ADUTYMENU, DIALOG_STYLE_LIST, "ARES Menu","Duty\nEquipment\nTactical\nUniform\nUndercover\nClear Suspect", "Select", "Cancel");
  26653. }
  26654. else
  26655. {
  26656. SendClientMessage(playerid, COLOR_WHITE, "You're not in range of your ARES lockers.");
  26657. }
  26658. }
  26659. return 1;
  26660. }
  26661. CMD:lspd(playerid, params[])
  26662. {
  26663. if(PlayerInfo[playerid][pFaction] == 1 || PlayerInfo[playerid][pLeader] == 1)
  26664. {
  26665. if(IsPlayerInRangeOfPoint(playerid,3.5,1767.054321,-1039.901733,-24.009588) || IsPlayerInRangeOfPoint(playerid,3.5,1767.054321,-1039.901733,-24.009588))
  26666. {
  26667. ShowPlayerDialogEx(playerid, DUTYMENU, DIALOG_STYLE_LIST, "LSPD Menu","Duty\nEquipment\nTactical\nUniform\nUndercover\nClear Suspect", "Select", "Cancel");
  26668. }
  26669. else
  26670. {
  26671. SendClientMessage(playerid, COLOR_WHITE, "You're not in range of your LSPD lockers.");
  26672. }
  26673. }
  26674. return 1;
  26675. }
  26676. CMD:sasd(playerid, params[])
  26677. {
  26678. if(PlayerInfo[playerid][pFaction] == 11 || PlayerInfo[playerid][pLeader] == 11)
  26679. {
  26680. if(IsPlayerInRangeOfPoint(playerid,3.5,-1632.767700,685.920898,1008.735961))
  26681. {
  26682. ShowPlayerDialogEx(playerid, SDUTYMENU, DIALOG_STYLE_LIST, "SASD Menu","Duty\nEquipment\nTactical\nUniform\nUndercover\nClear Suspect", "Select", "Cancel");
  26683. }
  26684. else
  26685. {
  26686. SendClientMessage(playerid, COLOR_WHITE, "You're not in range of your SASD lockers.");
  26687. }
  26688. }
  26689. return 1;
  26690. }
  26691. CMD:mdc(playerid, params[])
  26692. {
  26693. if(IsMDCPermitted(playerid))
  26694. {
  26695. if(IsPlayerInAnyVehicle(playerid))
  26696. {
  26697. ShowPlayerDialogEx(playerid, MDC_MAIN, DIALOG_STYLE_LIST, "SA-MDC - Logged in", "*Find LEO\n*Civilian Information\n*Law Enforcement Agencies\n*MDC Message\n*SMS", "OK", "Cancel");
  26698. ConnectedToPC[playerid] = 1337;
  26699. }
  26700. else SendClientMessage(playerid, COLOR_GREY, "You're not in a vehicle.");
  26701. }
  26702. return 1;
  26703. }
  26704. CMD:detain(playerid, params[])
  26705. {
  26706. if(IsACop(playerid) || PlayerInfo[playerid][pFaction] == 5 && PlayerInfo[playerid][pDivision] == 5 || PlayerInfo[playerid][pFaction] == 5 && PlayerInfo[playerid][pDivision] == 2)
  26707. {
  26708. if(IsPlayerInAnyVehicle(playerid))
  26709. {
  26710. SendClientMessage(playerid, COLOR_GREY, "You can't do this while you're in a vehicle.");
  26711. return 1;
  26712. }
  26713. new string[128], giveplayerid, seat;
  26714. if(sscanf(params, "ud", giveplayerid, seat)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /detain [playerid/partofname] [seatid 1-3]");
  26715. if(IsPlayerConnected(giveplayerid))
  26716. {
  26717. if(seat < 1 || seat > 3)
  26718. {
  26719. SendClientMessage(playerid, COLOR_GRAD1, "The seat ID can't be above 3 or below 1.");
  26720. return 1;
  26721. }
  26722. if(IsACop(giveplayerid))
  26723. {
  26724. SendClientMessage(playerid, COLOR_GREY, "You can't detain other law enforcement officers.");
  26725. return 1;
  26726. }
  26727. if(IsPlayerInAnyVehicle(giveplayerid))
  26728. {
  26729. SendClientMessage(playerid, COLOR_GREY, "That person is in a car - get them out first.");
  26730. return 1;
  26731. }
  26732. if(ProxDetectorS(8.0, playerid, giveplayerid))
  26733. {
  26734. if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "You can't detain yourself!"); return 1; }
  26735. if(PlayerCuffed[giveplayerid] == 2)
  26736. {
  26737. new carid = gLastCar[playerid];
  26738. if(IsSeatAvailable(carid, seat))
  26739. {
  26740. new Float:pos[6];
  26741. GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
  26742. GetPlayerPos(giveplayerid, pos[3], pos[4], pos[5]);
  26743. GetVehiclePos(carid, pos[0], pos[1], pos[2]);
  26744. if(floatcmp(floatabs(floatsub(pos[0], pos[3])), 10.0) != -1 &&
  26745. floatcmp(floatabs(floatsub(pos[1], pos[4])), 10.0) != -1 &&
  26746. floatcmp(floatabs(floatsub(pos[2], pos[5])), 10.0) != -1) return false;
  26747. format(string, sizeof(string), "* You were detained by %s.", GetPlayerNameEx(playerid));
  26748. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  26749. format(string, sizeof(string), "* You detained %s.", GetPlayerNameEx(giveplayerid));
  26750. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  26751. format(string, sizeof(string), "* %s throws %s in the vehicle.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  26752. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  26753. GameTextForPlayer(giveplayerid, "~r~Detained", 2500, 3);
  26754. ClearAnimations(giveplayerid);
  26755. TogglePlayerControllable(giveplayerid, false);
  26756. PutPlayerInVehicle(giveplayerid, carid, seat);
  26757. }
  26758. else
  26759. {
  26760. SendClientMessage(playerid, COLOR_GREY, "That seat isn't available!");
  26761. return 1;
  26762. }
  26763. }
  26764. else
  26765. {
  26766. SendClientMessage(playerid, COLOR_GREY, "That person isn't cuffed.");
  26767. return 1;
  26768. }
  26769. }
  26770. else
  26771. {
  26772. SendClientMessage(playerid, COLOR_GREY, "You're not close enough to the player or your car!");
  26773. return 1;
  26774. }
  26775. }
  26776. else
  26777. {
  26778. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  26779. return 1;
  26780. }
  26781. }
  26782. else
  26783. {
  26784. SendClientMessage(playerid, COLOR_GRAD2, " You're not a Cop / FBI / Coastguard!");
  26785. }
  26786. return 1;
  26787. }
  26788. CMD:bail(playerid, params[])
  26789. {
  26790. if(PlayerInfo[playerid][pJailed] == 1 || PlayerInfo[playerid][pJailed] == 2)
  26791. {
  26792. if(JailPrice[playerid] > 0)
  26793. {
  26794. if(GetPlayerCash(playerid) > JailPrice[playerid])
  26795. {
  26796. new string[128];
  26797. format(string, sizeof(string), "You bailed yourself out for $%d.", JailPrice[playerid]);
  26798. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  26799. GivePlayerCash(playerid, -JailPrice[playerid]);
  26800. JailPrice[playerid] = 0;
  26801. WantLawyer[playerid] = 0; CallLawyer[playerid] = 0;
  26802. PlayerInfo[playerid][pJailTime] = 1;
  26803. }
  26804. else
  26805. {
  26806. SendClientMessage(playerid, COLOR_GRAD1, "You can't afford the bail price.");
  26807. }
  26808. }
  26809. else
  26810. {
  26811. SendClientMessage(playerid, COLOR_GRAD1, "You don't have a bail price.");
  26812. }
  26813. }
  26814. else
  26815. {
  26816. SendClientMessage(playerid, COLOR_GRAD1, "You're not in jail.");
  26817. }
  26818. return 1;
  26819. }
  26820. CMD:deliver(playerid, params[]) {
  26821. if(IsACop(playerid) || PlayerInfo[playerid][pFaction] == 5 && PlayerInfo[playerid][pDivision] == 5 || PlayerInfo[playerid][pFaction] == 5 && PlayerInfo[playerid][pDivision] == 2) {
  26822. if(!IsPlayerInRangeOfPoint(playerid,6.0,1992.484130, -2312.814208, 13.546875))
  26823. return SendClientMessage(playerid, COLOR_GREY, "You're not at the deliver point at the LS airport.");
  26824. if(PlayerInfo[playerid][pRank] < 2)
  26825. return SendClientMessage(playerid, COLOR_GREY, "You must be rank 2 and above to send suspects to prison.");
  26826. new
  26827. suspect = GetClosestPlayer(playerid);
  26828. if(IsPlayerConnected(suspect)) {
  26829. if(ProxDetectorS(15.0, playerid,suspect)) {
  26830. if(PlayerInfo[suspect][pConnectTime] <= 8)
  26831. return SendClientMessage(playerid, COLOR_GREY, "You cannot send a suspect to prison who has 8 or less playing hours.");
  26832. if(PlayerInfo[suspect][pWantedLevel] < 6)
  26833. return SendClientMessage(playerid, COLOR_GREY, "The suspect must have six wanted levels/stars to be taken to normal jail.");
  26834. if(PlayerCuffed[suspect] == 0)
  26835. return SendClientMessage(playerid, COLOR_GREY, "The suspect has not been detained/cuffed.");
  26836. new
  26837. fine,
  26838. allmoney;
  26839. if(PlayerInfo[suspect][pHouse] != INVALID_HOUSE_ID && strcmp(GetPlayerNameEx(playerid), HouseInfo[PlayerInfo[suspect][pHouse]][hOwner], true) == 0) {
  26840. allmoney = HouseInfo[PlayerInfo[suspect][pHouse]][hSafeMoney]+GetPlayerCash(suspect)+PlayerInfo[suspect][pBank];
  26841. } else if(PlayerInfo[suspect][pHouse2] != INVALID_HOUSE_ID && strcmp(GetPlayerNameEx(playerid), HouseInfo[PlayerInfo[suspect][pHouse2]][hOwner], true) == 0) {
  26842. allmoney += HouseInfo[PlayerInfo[suspect][pHouse2]][hSafeMoney];
  26843. } else {
  26844. allmoney = GetPlayerCash(suspect)+PlayerInfo[suspect][pBank];
  26845. }
  26846. if(allmoney < 1) {
  26847. fine = 0;
  26848. } else {
  26849. fine = 3*allmoney/100;
  26850. }
  26851. if(fine > 3000) {
  26852. fine = 3000;
  26853. }
  26854. GivePlayerCash(suspect, -fine);
  26855. SetPlayerArmedWeapon(suspect, 0);
  26856. ResetPlayerWeaponsEx(suspect);
  26857. new string[128];
  26858. format(string, sizeof(string), "* You delivered %s to prison!", GetPlayerNameEx(suspect));
  26859. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  26860. format(string, sizeof(string), "You have been prisoned for 40 minutes and fined $%d. Bail: Unable", fine);
  26861. SendClientMessage(suspect, COLOR_LIGHTBLUE, string);
  26862. PhoneOnline[suspect] = 1;
  26863. DeletePVar(suspect, "IsFrozen");
  26864. PlayerInfo[suspect][pArrested] += 1;
  26865. SetPlayerFree(suspect,playerid, "was arrested");
  26866. PlayerInfo[suspect][pWantedLevel] = 0;
  26867. SetPlayerToTeamColor(suspect);
  26868. SetPlayerWantedLevel(suspect, 0);
  26869. TogglePlayerControllable(suspect, 1);
  26870. ClearAnimations(suspect);
  26871. SetPlayerSpecialAction(suspect, SPECIAL_ACTION_NONE);
  26872. PlayerCuffed[suspect] = 0;
  26873. DeletePVar(suspect, "PlayerCuffed");
  26874. PlayerCuffedTime[suspect] = 0;
  26875. format(PlayerInfo[suspect][pPrisonReason], 128, "Level 6 Wanted [6 stars]");
  26876. format(PlayerInfo[suspect][pPrisonedBy], MAX_PLAYER_NAME, "%s", GetPlayerNameEx(playerid));
  26877. PlayerInfo[suspect][pJailed] = 4;
  26878. PlayerInfo[suspect][pJailTime] = 2400;
  26879. if(PlayerVehicleInfo[suspect][0][pvTicket] != 0) {
  26880. PlayerVehicleInfo[suspect][0][pvTicket] = 0;
  26881. }
  26882. if(PlayerVehicleInfo[suspect][1][pvTicket] != 0) {
  26883. PlayerVehicleInfo[suspect][1][pvTicket] = 0;
  26884. }
  26885. if(PlayerVehicleInfo[suspect][2][pvTicket] != 0) {
  26886. PlayerVehicleInfo[suspect][2][pvTicket] = 0;
  26887. }
  26888. if(PlayerVehicleInfo[suspect][3][pvTicket] != 0) {
  26889. PlayerVehicleInfo[suspect][3][pvTicket] = 0;
  26890. }
  26891. if(PlayerVehicleInfo[suspect][4][pvTicket] != 0) {
  26892. PlayerVehicleInfo[suspect][4][pvTicket] = 0;
  26893. }
  26894. GameTextForPlayer(suspect, "~w~Welcome to ~n~~r~ Prison", 5000, 3);
  26895. TogglePlayerControllable(suspect, 0);
  26896. for(new o = 0; o < 2; o++) {
  26897. TextDrawSetString(ObjectsLoadingTD[1], "OBJECTS LOADING...");
  26898. TextDrawShowForPlayer(suspect, ObjectsLoadingTD[o]);
  26899. }
  26900. SetPVarInt(suspect, "LoadingObjects", 1);
  26901. SetTimerEx("SafeLoadObjects", 3000, 0, "d", suspect);
  26902. SetPlayerInterior(suspect, 69);
  26903. PlayerInfo[suspect][pVW] = 696969;
  26904. PlayerInfo[suspect][pInt] = 69;
  26905. SetPlayerVirtualWorld(suspect, 696969);
  26906. new rand = random(sizeof(AdminPrisonFloat));
  26907. SetPlayerPos(suspect, AdminPrisonFloat[rand][0], AdminPrisonFloat[rand][1], AdminPrisonFloat[rand][2]);
  26908. SetPlayerSkin(suspect, 50);
  26909. SetPlayerColor(suspect, TEAM_ORANGE_COLOR);
  26910. }
  26911. }
  26912. }
  26913. else
  26914. {
  26915. SendClientMessage(playerid, COLOR_GRAD1, "You're not a Cop / FBI!");
  26916. }
  26917. return 1;
  26918. }
  26919. CMD:arrest(playerid, params[])
  26920. {
  26921. if(IsACop(playerid) || PlayerInfo[playerid][pFaction] == 5 && PlayerInfo[playerid][pDivision] == 5 || PlayerInfo[playerid][pFaction] == 5 && PlayerInfo[playerid][pDivision] == 2) {
  26922. if(!IsAtArrestPoint(playerid))
  26923. return SendClientMessage(playerid, COLOR_GREY, "You're not at the arrest point.");
  26924. new string[128], moneys, time, bail, bailprice;
  26925. if(sscanf(params, "dddd", moneys, time, bail, bailprice))
  26926. return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /arrest [fine] [time (minutes)] [bail (0=no 1=yes)] [bailprice]");
  26927. if(time < 1 || time > 20)
  26928. return SendClientMessage(playerid, COLOR_GREY, "Jail time can't be below 1 or above 20 minutes - take the person to prison for more time.");
  26929. if(bail < 0 || bail > 1)
  26930. return SendClientMessage(playerid, COLOR_GREY, "The bail option must be set to 0 or 1.");
  26931. if(bailprice < 0 || bailprice > 1000)
  26932. return SendClientMessage(playerid, COLOR_GREY, "The bail price can't be below $0 or above $1000.");
  26933. new suspect = GetClosestPlayer(playerid);
  26934. if(IsPlayerConnected(suspect)) {
  26935. if(ProxDetectorS(5.0, playerid, suspect)) {
  26936. if(PlayerInfo[suspect][pWantedLevel] < 1)
  26937. return SendClientMessage(playerid, COLOR_GREY, "The player must have a wanted level of at least one star.");
  26938. new allmoney, cap;
  26939. if(PlayerInfo[suspect][pHouse] != INVALID_HOUSE_ID && strcmp(GetPlayerNameEx(playerid), HouseInfo[PlayerInfo[suspect][pHouse]][hOwner], true) == 0) {
  26940. allmoney = HouseInfo[PlayerInfo[suspect][pHouse]][hSafeMoney]+GetPlayerCash(suspect)+PlayerInfo[suspect][pBank];
  26941. }
  26942. else if(PlayerInfo[suspect][pHouse2] != INVALID_HOUSE_ID && strcmp(GetPlayerNameEx(playerid), HouseInfo[PlayerInfo[suspect][pHouse2]][hOwner], true) == 0) {
  26943. allmoney += HouseInfo[PlayerInfo[suspect][pHouse2]][hSafeMoney];
  26944. }
  26945. else {
  26946. allmoney = GetPlayerCash(suspect)+PlayerInfo[suspect][pBank];
  26947. }
  26948. cap = 5*allmoney/100;
  26949. if(cap > 1000 || cap < 1) {
  26950. cap = 1000;
  26951. }
  26952. if(moneys < 1 || moneys > cap) {
  26953. format(string, sizeof(string), "The jail fine can't be below $1 or above $%d.", cap);
  26954. SendClientMessage(playerid, COLOR_GREY, string);
  26955. return 1;
  26956. }
  26957. format(string, sizeof(string), "* You arrested %s!", GetPlayerNameEx(suspect));
  26958. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  26959. GivePlayerCash(suspect, -moneys);
  26960. //Tax += moneys;
  26961. ResetPlayerWeaponsEx(suspect);
  26962. if(PlayerVehicleInfo[suspect][0][pvTicket] != 0) {
  26963. PlayerVehicleInfo[suspect][0][pvTicket] = 0;
  26964. }
  26965. if(PlayerVehicleInfo[suspect][1][pvTicket] != 0) {
  26966. PlayerVehicleInfo[suspect][1][pvTicket] = 0;
  26967. }
  26968. if(PlayerVehicleInfo[suspect][2][pvTicket] != 0) {
  26969. PlayerVehicleInfo[suspect][2][pvTicket] = 0;
  26970. }
  26971. if(PlayerVehicleInfo[suspect][3][pvTicket] != 0) {
  26972. PlayerVehicleInfo[suspect][3][pvTicket] = 0;
  26973. }
  26974. if(PlayerVehicleInfo[suspect][4][pvTicket] != 0) {
  26975. PlayerVehicleInfo[suspect][4][pvTicket] = 0;
  26976. }
  26977. //TogglePlayerControllable(suspect, 1);
  26978. if(IsPlayerInRangeOfPoint(playerid, 4.0, 1528.082397, -1677.978637, 5.890625) || IsPlayerInRangeOfPoint(playerid, 4.0, 1564.830932, -1652.506469, 28.395606) || PlayerInfo[playerid][pVW] == 20002) {
  26979. //format(string, sizeof(string), "<< FBI Agent %s arrested suspect %s >>", sendername, giveplayer);
  26980. //SendClientMessageToAllEx(COLOR_LIGHTRED, string);
  26981. SetPlayerInterior(suspect, 6);
  26982. PlayerInfo[suspect][pVW] = 20002;
  26983. PlayerInfo[suspect][pInt] = 6;
  26984. SetPlayerVirtualWorld(suspect, 20002);
  26985. SetPlayerPos(suspect,263.343597, 77.532028, 1001.039062);
  26986. PlayerInfo[suspect][pJailTime] = time * 60;
  26987. PlayerInfo[suspect][pJailed] = 1;
  26988. PhoneOnline[suspect] = 1;
  26989. DeletePVar(suspect, "IsFrozen");
  26990. //Frozen[suspect] = 0;
  26991. PlayerInfo[suspect][pArrested] += 1;
  26992. SetPlayerFree(suspect,playerid, "was arrested");
  26993. PlayerInfo[suspect][pWantedLevel] = 0;
  26994. SetPlayerToTeamColor(suspect);
  26995. SetPlayerWantedLevel(suspect, 0);
  26996. WantLawyer[suspect] = 1;
  26997. TogglePlayerControllable(suspect, 1);
  26998. ClearAnimations(suspect);
  26999. SetPlayerSpecialAction(suspect, SPECIAL_ACTION_NONE);
  27000. PlayerCuffed[suspect] = 0;
  27001. DeletePVar(suspect, "PlayerCuffed");
  27002. PlayerCuffedTime[suspect] = 0;
  27003. }
  27004. else if(IsPlayerInRangeOfPoint(playerid, 4.0, 304.796508, -1526.349731, 76.539062) || IsPlayerInRangeOfPoint(playerid, 4.0, 298.313842, -1536.036865, 24.593750) || PlayerInfo[playerid][pVW] == 1324123) {
  27005. //format(string, sizeof(string), "<< FBI Agent %s arrested suspect %s >>", sendername, giveplayer);
  27006. //SendClientMessageToAllEx(COLOR_LIGHTRED, string);
  27007. TogglePlayerControllable(suspect, 0);
  27008. for(new o = 0; o < 2; o++) {
  27009. TextDrawSetString(ObjectsLoadingTD[1], "OBJECTS LOADING...");
  27010. TextDrawShowForPlayer(suspect, ObjectsLoadingTD[o]);
  27011. }
  27012. SetPVarInt(suspect, "LoadingObjects", 1);
  27013. SetTimerEx("SafeLoadObjects", 3000, 0, "d", suspect);
  27014. SetPlayerInterior(suspect, 1);
  27015. PlayerInfo[suspect][pVW] = 1324123;
  27016. PlayerInfo[suspect][pInt] = 1;
  27017. SetPlayerVirtualWorld(suspect, 1324123);
  27018. SetPlayerPos(suspect,315.1677,-1451.5564,-33.5292);
  27019. format(PlayerInfo[suspect][pPrisonReason], 128, "FBI Arrest [%d stars]", PlayerInfo[suspect][pWantedLevel]);
  27020. format(PlayerInfo[suspect][pPrisonedBy], MAX_PLAYER_NAME, "%s", GetPlayerNameEx(playerid));
  27021. PlayerInfo[suspect][pJailTime] = time * 60;
  27022. PlayerInfo[suspect][pJailed] = 2;
  27023. PhoneOnline[suspect] = 1;
  27024. DeletePVar(suspect, "IsFrozen");
  27025. //Frozen[suspect] = 0;
  27026. PlayerInfo[suspect][pArrested] += 1;
  27027. SetPlayerFree(suspect,playerid, "was arrested");
  27028. PlayerInfo[suspect][pWantedLevel] = 0;
  27029. SetPlayerToTeamColor(suspect);
  27030. SetPlayerWantedLevel(suspect, 0);
  27031. WantLawyer[suspect] = 1;
  27032. TogglePlayerControllable(suspect, 1);
  27033. ClearAnimations(suspect);
  27034. SetPlayerSpecialAction(suspect, SPECIAL_ACTION_NONE);
  27035. PlayerCuffed[suspect] = 0;
  27036. DeletePVar(suspect, "PlayerCuffed");
  27037. PlayerCuffedTime[suspect] = 0;
  27038. }
  27039. if(bail == 1) {
  27040. JailPrice[suspect] = bailprice;
  27041. format(string, sizeof(string), "You're jailed for %d seconds and fined $%d. Bail: $%d", PlayerInfo[suspect][pJailTime], moneys, JailPrice[suspect]);
  27042. SendClientMessage(suspect, COLOR_LIGHTBLUE, string);
  27043. }
  27044. else {
  27045. JailPrice[suspect] = 0;
  27046. format(string, sizeof(string), "You're jailed for %d seconds and fined $%d. Bail: Unable", PlayerInfo[suspect][pJailTime], moneys);
  27047. SendClientMessage(suspect, COLOR_LIGHTBLUE, string);
  27048. }
  27049. }
  27050. }
  27051. else
  27052. return SendClientMessage(playerid, COLOR_GREY, " No-one close enough to arrest.");
  27053. }
  27054. else SendClientMessage(playerid, COLOR_GREY, " You're not a Cop / FBI!");
  27055. return 1;
  27056. }
  27057. CMD:wanted(playerid, params[])
  27058. {
  27059. if(IsACop(playerid) || IsInLSFMD(playerid) || PlayerInfo[playerid][pJob] == 2 || PlayerInfo[playerid][pJob2] == 2 || PlayerInfo[playerid][pFaction] == 5 && PlayerInfo[playerid][pDivision] == 5 || PlayerInfo[playerid][pFaction] == 5 && PlayerInfo[playerid][pDivision] == 2)
  27060. {
  27061. new string[128], x;
  27062. SendClientMessage(playerid, COLOR_GREEN, "Current Wanted Suspects:");
  27063. foreach(Player, i)
  27064. {
  27065. if(PlayerInfo[i][pWantedLevel] >= 1)
  27066. {
  27067. format(string, sizeof(string), "%s%s: %d", string,GetPlayerNameEx(i),PlayerInfo[i][pWantedLevel]);
  27068. x++;
  27069. if(x > 3) {
  27070. SendClientMessage(playerid, COLOR_YELLOW, string);
  27071. x = 0;
  27072. format(string, sizeof(string), " ");
  27073. } else {
  27074. format(string, sizeof(string), "%s, ", string);
  27075. }
  27076. }
  27077. }
  27078. if(x <= 3 && x > 0)
  27079. {
  27080. string[strlen(string)-2] = '.';
  27081. SendClientMessage(playerid, COLOR_YELLOW, string);
  27082. }
  27083. }
  27084. else
  27085. {
  27086. SendClientMessage(playerid, COLOR_GREY, " You're not a Lawyer / Cop / FBI!");
  27087. }
  27088. return 1;
  27089. }
  27090. CMD:cuff(playerid, params[])
  27091. {
  27092. if(IsACop(playerid) || (PlayerInfo[playerid][pFaction] == 3 && PlayerInfo[playerid][pDivision] == 2) || (PlayerInfo[playerid][pFaction] == 5 && PlayerInfo[playerid][pDivision] == 5) || PlayerInfo[playerid][pFaction] == 5 && PlayerInfo[playerid][pDivision] == 2 || (PlayerInfo[playerid][pFaction] == 3 && PlayerInfo[playerid][pRank] >= 5))
  27093. {
  27094. if(GetPVarInt(playerid, "Injured") == 1)
  27095. {
  27096. SendClientMessage(playerid, COLOR_GREY, "You can't do this right now.");
  27097. return 1;
  27098. }
  27099. new string[128], giveplayerid;
  27100. if(sscanf(params, "u", giveplayerid))
  27101. return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /cuff [playerid/partofname]");
  27102. if(IsPlayerConnected(giveplayerid))
  27103. {
  27104. if(ProxDetectorS(8.0, playerid, giveplayerid))
  27105. {
  27106. if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "You can't cuff yourself!"); return 1; }
  27107. if(PlayerCuffed[giveplayerid] == 1 || GetPlayerSpecialAction(giveplayerid) == SPECIAL_ACTION_HANDSUP)
  27108. {
  27109. format(string, sizeof(string), "* You have been handcuffed by %s.", GetPlayerNameEx(playerid));
  27110. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  27111. format(string, sizeof(string), "* You handcuffed %s, till uncuff.", GetPlayerNameEx(giveplayerid));
  27112. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  27113. format(string, sizeof(string), "* %s handcuffs %s, tightening the cuffs securely.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  27114. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  27115. GameTextForPlayer(giveplayerid, "~r~Cuffed", 2500, 3);
  27116. TogglePlayerControllable(giveplayerid, 0);
  27117. ClearAnimations(giveplayerid);
  27118. ApplyAnimation(giveplayerid,"ped","cower",1,1,0,0,0,0,1);
  27119. PlayerCuffed[giveplayerid] = 2;
  27120. SetPVarInt(giveplayerid, "PlayerCuffed", 2);
  27121. SetPVarInt(giveplayerid, "IsFrozen", 1);
  27122. //Frozen[giveplayerid] = 1;
  27123. PlayerCuffedTime[giveplayerid] = 300;
  27124. }
  27125. else
  27126. {
  27127. SendClientMessage(playerid, COLOR_GREY, "That player isn't restrained!");
  27128. return 1;
  27129. }
  27130. }
  27131. else
  27132. {
  27133. SendClientMessage(playerid, COLOR_GREY, "That player isn't near you.");
  27134. return 1;
  27135. }
  27136. }
  27137. else
  27138. {
  27139. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  27140. return 1;
  27141. }
  27142. }
  27143. else
  27144. {
  27145. SendClientMessage(playerid, COLOR_GREY, "You're not a law enforcement officer.");
  27146. }
  27147. return 1;
  27148. }
  27149. CMD:uncuff(playerid, params[])
  27150. {
  27151. if(IsACop(playerid) || (PlayerInfo[playerid][pFaction] == 5 && PlayerInfo[playerid][pDivision] == 5) || PlayerInfo[playerid][pFaction] == 5 && PlayerInfo[playerid][pDivision] == 2)
  27152. {
  27153. new string[128], giveplayerid;
  27154. if(sscanf(params, "u", giveplayerid))
  27155. return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /uncuff [playerid/partofname]");
  27156. if(IsPlayerConnected(giveplayerid))
  27157. {
  27158. if(ProxDetectorS(8.0, playerid, giveplayerid))
  27159. {
  27160. if(PlayerInfo[giveplayerid][pJailed] >= 1)
  27161. {
  27162. SendClientMessage(playerid, COLOR_WHITE, "You can't uncuff a jailed player.");
  27163. return 1;
  27164. }
  27165. if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "You can't uncuff yourself."); return 1; }
  27166. if(PlayerCuffed[giveplayerid]>1)
  27167. {
  27168. PreloadAnims(giveplayerid);
  27169. DeletePVar(giveplayerid, "IsFrozen");
  27170. format(string, sizeof(string), "* You have been uncuffed by %s.", GetPlayerNameEx(playerid));
  27171. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  27172. format(string, sizeof(string), "* You uncuffed %s.", GetPlayerNameEx(giveplayerid));
  27173. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  27174. format(string, sizeof(string), "* %s has uncuffed %s.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  27175. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  27176. GameTextForPlayer(giveplayerid, "~g~Uncuffed", 2500, 3);
  27177. TogglePlayerControllable(giveplayerid, 1);
  27178. SetPlayerSpecialAction(giveplayerid, SPECIAL_ACTION_DANCE1);
  27179. PlayerCuffed[giveplayerid] = 0;
  27180. PlayerCuffedTime[giveplayerid] = 0;
  27181. DeletePVar(giveplayerid, "PlayerCuffed");
  27182. if(PlayerDraggedBy[giveplayerid] != INVALID_PLAYER_ID) {
  27183. IsCopDragging[PlayerDraggedBy[giveplayerid]] = INVALID_PLAYER_ID;
  27184. PlayerDragged[giveplayerid] = 0;
  27185. PlayerDraggedBy[giveplayerid] = INVALID_PLAYER_ID;
  27186. }
  27187. ClearAnimations(giveplayerid, 1);
  27188. SetPlayerSpecialAction(giveplayerid, SPECIAL_ACTION_NONE);
  27189. if(IsPlayerAttachedObjectSlotUsed(giveplayerid, 0))
  27190. RemovePlayerAttachedObject(giveplayerid, 0);
  27191. //ResyncPlayer(giveplayerid);
  27192. }
  27193. else
  27194. {
  27195. SendClientMessage(playerid, COLOR_GREY, "That player isn't cuffed.");
  27196. return 1;
  27197. }
  27198. }
  27199. else
  27200. {
  27201. SendClientMessage(playerid, COLOR_GREY, "That player isn't near you.");
  27202. return 1;
  27203. }
  27204. }
  27205. else
  27206. {
  27207. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  27208. return 1;
  27209. }
  27210. }
  27211. else
  27212. {
  27213. SendClientMessage(playerid, COLOR_GREY, "You're not a law enforcement officer.");
  27214. }
  27215. return 1;
  27216. }
  27217. CMD:tazer(playerid, params[]) {
  27218. if(IsACop(playerid) || (PlayerInfo[playerid][pFaction] == 5 && PlayerInfo[playerid][pDivision] == 5) || PlayerInfo[playerid][pFaction] == 5 && PlayerInfo[playerid][pDivision] == 2 || (PlayerInfo[playerid][pFaction] == 3 && PlayerInfo[playerid][pRank] >= 5))
  27219. {
  27220. new string[128];
  27221. if(PlayerInfo[playerid][pConnectTime] < 2) return SendClientMessage(playerid, COLOR_GRAD2, "You can't use this as you're currently restricted from possessing weapons!");
  27222. if(IsPlayerInAnyVehicle(playerid))
  27223. {
  27224. SendClientMessage(playerid, COLOR_GREY, "You can't do this while you're in a vehicle.");
  27225. return 1;
  27226. }
  27227. if(GetPVarInt(playerid, "PBM") > 0)
  27228. {
  27229. SendClientMessage(playerid, COLOR_WHITE, "You're not able to do this while in a paintball game.");
  27230. return 1;
  27231. }
  27232. if(GetPVarInt(playerid, "EventToken") != 0)
  27233. {
  27234. SendClientMessage(playerid, COLOR_GREY, "You can't use the tazer while you're in an event.");
  27235. return 1;
  27236. }
  27237. if(PlayerCuffedTime[playerid] > 0)
  27238. {
  27239. SendClientMessage(playerid, COLOR_GREY, "You can't do this right now.");
  27240. return 1;
  27241. }
  27242. if(GetPVarInt(playerid, "Injured") == 1)
  27243. {
  27244. SendClientMessage(playerid, COLOR_GREY, "You can't do this right now.");
  27245. return 1;
  27246. }
  27247. if(PlayerInfo[playerid][pJailed] > 0) {
  27248. SendClientMessage(playerid, COLOR_WHITE, "You can't use this in jail/prison.");
  27249. return 1;
  27250. }
  27251. if(PlayerCuffed[playerid] >= 1) {
  27252. SendClientMessage(playerid, COLOR_WHITE, "You can't use this while tazed/cuffed.");
  27253. return 1;
  27254. }
  27255. if(pTazer[playerid] == 0)
  27256. {
  27257. pTazerReplace[playerid] = PlayerInfo[playerid][pGuns][2];
  27258. if(PlayerInfo[playerid][pGuns][2] != 0) RemovePlayerWeapon(playerid, PlayerInfo[playerid][pGuns][2]);
  27259. format(string, sizeof(string), "* %s unholsters their tazer.", GetPlayerNameEx(playerid));
  27260. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  27261. GivePlayerValidWeapon(playerid, 23, 60000);
  27262. pTazer[playerid] = 1;
  27263. }
  27264. else
  27265. {
  27266. RemovePlayerWeapon(playerid, 23);
  27267. GivePlayerValidWeapon(playerid, pTazerReplace[playerid], 60000);
  27268. format(string, sizeof(string), "* %s holsters their tazer.", GetPlayerNameEx(playerid));
  27269. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  27270. pTazer[playerid] = 0;
  27271. }
  27272. }
  27273. else
  27274. {
  27275. SendClientMessage(playerid, COLOR_GREY, " You're not a Cop / FBI!");
  27276. return 1;
  27277. }
  27278. return 1;
  27279. }
  27280. CMD:frisk(playerid, params[]) {
  27281. new string[128], giveplayerid;
  27282. if(sscanf(params, "u", giveplayerid))
  27283. return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /frisk [playerid/partofname]");
  27284. if(giveplayerid == INVALID_PLAYER_ID)
  27285. return SendClientMessage(playerid, COLOR_GREY, "You can't frisk this player as they're not connected.");
  27286. if(ProxDetectorS(8.0, playerid, giveplayerid)) {
  27287. if(giveplayerid == playerid)
  27288. return SendClientMessage(playerid, COLOR_GREY, "You can't frisk yourself!");
  27289. if(giveplayerid == INVALID_PLAYER_ID)
  27290. return SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  27291. if(IsACop(playerid) || PlayerInfo[playerid][pJob] == 8 || PlayerInfo[playerid][pJob2] == 8 || (PlayerInfo[playerid][pFaction] == 3 && PlayerInfo[playerid][pDivision] == 2) || (PlayerInfo[playerid][pFaction] == 3 && PlayerInfo[playerid][pRank] >= 5)) {
  27292. SendClientMessage(playerid, COLOR_GREEN, "_______________________________________");
  27293. format(string, sizeof(string), "*** %s' items... ***", GetPlayerNameEx(giveplayerid));
  27294. SendClientMessage(playerid, COLOR_WHITE, string);
  27295. if(PlayerInfo[giveplayerid][pWSeeds] == 1)
  27296. SendClientMessage(playerid, COLOR_GREY, "Marijuana Seeds");
  27297. if(PlayerInfo[giveplayerid][pPhoneBook] > 0)
  27298. SendClientMessage(playerid, COLOR_GREY, "Phone book.");
  27299. if(PlayerInfo[giveplayerid][pCDPlayer] > 0)
  27300. SendClientMessage(playerid, COLOR_GREY, "CD player.");
  27301. if(PlayerInfo[giveplayerid][pRadio] > 0) {
  27302. format(string, sizeof(string), "Portable radio (frequency #%d kHz)", PlayerInfo[giveplayerid][pRadioFreq]);
  27303. SendClientMessage(playerid, COLOR_GREY, string);
  27304. }
  27305. if(PlayerInfo[giveplayerid][pCarLic] > 0)
  27306. SendClientMessage(playerid, COLOR_GREY, "Driver's license.");
  27307. if(PlayerInfo[giveplayerid][pBoatLic] > 0)
  27308. SendClientMessage(playerid, COLOR_GREY, "Boat driver's license.");
  27309. if(PlayerInfo[giveplayerid][pFlyLic] > 0)
  27310. SendClientMessage(playerid, COLOR_GREY, "Pilot's license.");
  27311. if(PlayerInfo[giveplayerid][pCrack] > 0) {
  27312. format(string, sizeof(string), "%d grams of crack.", PlayerInfo[giveplayerid][pCrack]);
  27313. SendClientMessage(playerid, COLOR_GREY, string);
  27314. }
  27315. if(PlayerInfo[giveplayerid][pPot] > 0) {
  27316. format(string, sizeof(string), "%d grams of pot.", PlayerInfo[giveplayerid][pPot]);
  27317. SendClientMessage(playerid, COLOR_GREY, string);
  27318. }
  27319. if(PlayerInfo[giveplayerid][pMats] > 0) {
  27320. format(string, sizeof(string), "%d materials.", PlayerInfo[giveplayerid][pMats]);
  27321. SendClientMessage(playerid, COLOR_GREY, string);
  27322. }
  27323. if(Fishes[giveplayerid][pWeight1] > 0 || Fishes[giveplayerid][pWeight2] > 0 || Fishes[giveplayerid][pWeight3] > 0 || Fishes[giveplayerid][pWeight4] > 0 || Fishes[giveplayerid][pWeight5] > 0) {
  27324. format(string, sizeof(string), "%d fish.", PlayerInfo[giveplayerid][pFishes]);
  27325. SendClientMessage(playerid, COLOR_GREY, string);
  27326. }
  27327. new weaponname[50];
  27328. format(string, sizeof(string), "*** %s' weapons... ***", GetPlayerNameEx(giveplayerid));
  27329. SendClientMessage(playerid, COLOR_WHITE, string);
  27330. for(new i = 0; i < 12; i++) {
  27331. if(PlayerInfo[giveplayerid][pGuns][i] > 0) {
  27332. GetWeaponName(PlayerInfo[giveplayerid][pGuns][i], weaponname, sizeof(weaponname));
  27333. format(string, sizeof(string), "Weapon: %s.", weaponname);
  27334. SendClientMessage(playerid, COLOR_GRAD1, string);
  27335. }
  27336. }
  27337. SendClientMessage(playerid, COLOR_GREEN, "_______________________________________");
  27338. format(string, sizeof(string), "* %s has frisked %s.", GetPlayerNameEx(playerid),GetPlayerNameEx(giveplayerid));
  27339. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  27340. } else {
  27341. SetPVarInt(giveplayerid, "FriskREQ", playerid);
  27342. format(string, sizeof(string), "* Your request to frisk %s (ID: %d) has been sent, they must '/accept frisk' first.", GetPlayerNameEx(giveplayerid), giveplayerid);
  27343. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  27344. format(string, sizeof(string), "* %s is requesting to frisk you, type '/accept frisk' to accept.", GetPlayerNameEx(playerid));
  27345. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  27346. }
  27347. } else return SendClientMessage(playerid, COLOR_GREY, "You're too far away!");
  27348. return 1;
  27349. }
  27350. CMD:take(playerid, params[])
  27351. {
  27352. if(IsACop(playerid) || (PlayerInfo[playerid][pFaction] == 5 && PlayerInfo[playerid][pDivision] == 5) || PlayerInfo[playerid][pFaction] == 5 && PlayerInfo[playerid][pDivision] == 2)
  27353. {
  27354. if(PlayerInfo[playerid][pRank] < 1 && PlayerInfo[playerid][pFaction] != 2)
  27355. {
  27356. SendClientMessage(playerid, COLOR_GREY, " You need to be rank 2 or higher for this action!");
  27357. return 1;
  27358. }
  27359. new string[128], choice[32], giveplayerid;
  27360. if(sscanf(params, "s[32]u", choice, giveplayerid))
  27361. {
  27362. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /take [name] [playerid/partofname]");
  27363. SendClientMessage(playerid, COLOR_GREY, "Available names: Weapons, Pot, Crack, Cellphone, Radio.");
  27364. return 1;
  27365. }
  27366. if(strcmp(choice,"radio",true) == 0)
  27367. {
  27368. if(IsPlayerConnected(giveplayerid))
  27369. {
  27370. if(ProxDetectorS(8.0, playerid, giveplayerid))
  27371. {
  27372. format(string, sizeof(string), "* You have taken away %s's radio.", GetPlayerNameEx(giveplayerid));
  27373. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  27374. format(string, sizeof(string), "* Officer %s has taken away your radio.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  27375. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  27376. format(string, sizeof(string), "* Officer %s has taken away %s's radio.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  27377. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  27378. PlayerInfo[giveplayerid][pRadio] = 0;
  27379. PlayerInfo[giveplayerid][pRadioFreq] = 0;
  27380. }
  27381. else
  27382. {
  27383. SendClientMessage(playerid, COLOR_GREY, "That player isn't near you.");
  27384. return 1;
  27385. }
  27386. }
  27387. else
  27388. {
  27389. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  27390. return 1;
  27391. }
  27392. }
  27393. if(strcmp(choice,"cellphone",true) == 0)
  27394. {
  27395. if(IsPlayerConnected(giveplayerid))
  27396. {
  27397. if(ProxDetectorS(8.0, playerid, giveplayerid))
  27398. {
  27399. format(string, sizeof(string), "* You have taken away %s's cellphone.", GetPlayerNameEx(giveplayerid));
  27400. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  27401. format(string, sizeof(string), "* Officer %s has taken away your cellphone.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  27402. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  27403. format(string, sizeof(string), "* Officer %s has taken away %s's cellphone.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  27404. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  27405. PlayerInfo[giveplayerid][pNumber] = 0;
  27406. }
  27407. else
  27408. {
  27409. SendClientMessage(playerid, COLOR_GREY, "That player isn't near you.");
  27410. return 1;
  27411. }
  27412. }
  27413. else
  27414. {
  27415. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  27416. return 1;
  27417. }
  27418. }
  27419. else if(strcmp(choice,"weapons",true) == 0)
  27420. {
  27421. if(IsPlayerConnected(giveplayerid))
  27422. {
  27423. if(ProxDetectorS(8.0, playerid, giveplayerid))
  27424. {
  27425. format(string, sizeof(string), "* You have taken away %s's weapons.", GetPlayerNameEx(giveplayerid));
  27426. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  27427. format(string, sizeof(string), "* Officer %s has taken away your weapons.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  27428. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  27429. format(string, sizeof(string), "* Officer %s has taken away %s's weapons.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  27430. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  27431. ResetPlayerWeaponsEx(giveplayerid);
  27432. }
  27433. else
  27434. {
  27435. SendClientMessage(playerid, COLOR_GREY, "That player isn't near you.");
  27436. return 1;
  27437. }
  27438. }
  27439. else
  27440. {
  27441. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  27442. return 1;
  27443. }
  27444. }
  27445. else if(strcmp(choice,"pot",true) == 0)
  27446. {
  27447. if(IsPlayerConnected(giveplayerid))
  27448. {
  27449. if(ProxDetectorS(8.0, playerid, giveplayerid))
  27450. {
  27451. format(string, sizeof(string), "* You have taken away %s's pot.", GetPlayerNameEx(giveplayerid));
  27452. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  27453. format(string, sizeof(string), "* Officer %s has taken away your pot.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  27454. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  27455. format(string, sizeof(string), "* Officer %s has taken away %s's pot.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  27456. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  27457. PlayerInfo[giveplayerid][pPot] = 0;
  27458. }
  27459. else
  27460. {
  27461. SendClientMessage(playerid, COLOR_GREY, "That player isn't near you.");
  27462. return 1;
  27463. }
  27464. }
  27465. else
  27466. {
  27467. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  27468. return 1;
  27469. }
  27470. }
  27471. else if(strcmp(choice,"crack",true) == 0)
  27472. {
  27473. if(IsPlayerConnected(giveplayerid))
  27474. {
  27475. if(ProxDetectorS(8.0, playerid, giveplayerid))
  27476. {
  27477. format(string, sizeof(string), "* You have taken away %s's crack.", GetPlayerNameEx(giveplayerid));
  27478. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  27479. format(string, sizeof(string), "* Officer %s has taken away your crack.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  27480. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  27481. format(string, sizeof(string), "* Officer %s has taken away %s's crack.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  27482. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  27483. PlayerInfo[giveplayerid][pCrack] = 0;
  27484. }
  27485. else
  27486. {
  27487. SendClientMessage(playerid, COLOR_GREY, "That player isn't near you.");
  27488. return 1;
  27489. }
  27490. }
  27491. else
  27492. {
  27493. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  27494. return 1;
  27495. }
  27496. }
  27497. /*else if(strcmp(choice,"materials",true) == 0)
  27498. {
  27499. if(IsPlayerConnected(giveplayerid))
  27500. {
  27501. if(ProxDetectorS(8.0, playerid, giveplayerid))
  27502. {
  27503. format(string, sizeof(string), "* You have taken away %s's materials.", GetPlayerNameEx(giveplayerid));
  27504. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  27505. format(string, sizeof(string), "* Officer %s as taken away your materials.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  27506. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  27507. format(string, sizeof(string), "* Officer %s has taken away %s's materials.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  27508. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  27509. PlayerInfo[giveplayerid][pMats] = 0;
  27510. }
  27511. else
  27512. {
  27513. SendClientMessage(playerid, COLOR_GREY, "That player isn't near you.");
  27514. return 1;
  27515. }
  27516. }
  27517. else
  27518. {
  27519. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  27520. return 1;
  27521. }
  27522. }*/
  27523. else
  27524. {
  27525. SendClientMessage(playerid, COLOR_GREY, " Invalid item specified.");
  27526. return 1;
  27527. }
  27528. }
  27529. else
  27530. {
  27531. SendClientMessage(playerid, COLOR_GREY, " You're not a law enforcement officer.");
  27532. return 1;
  27533. }
  27534. return 1;
  27535. }
  27536. CMD:ticket(playerid, params[])
  27537. {
  27538. if(IsACop(playerid) || (PlayerInfo[playerid][pFaction] == 3 && PlayerInfo[playerid][pDivision] == 2) || (PlayerInfo[playerid][pFaction] == 3 && PlayerInfo[playerid][pRank] >= 5))
  27539. {
  27540. new string[128], giveplayerid, moneys, reason[64];
  27541. if(sscanf(params, "uds[64]", giveplayerid, moneys, reason)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /ticket [playerid/partofname] [price] [reason]");
  27542. if(giveplayerid == playerid)
  27543. {
  27544. SendClientMessage(playerid, COLOR_GREY, "You can't ticket yourself.");
  27545. return 1;
  27546. }
  27547. if(moneys < 1 || moneys > 1500) { SendClientMessage(playerid, COLOR_GREY, "The ticket price can't be below $1 or higher then $1,500."); return 1; }
  27548. if(IsPlayerConnected(giveplayerid))
  27549. {
  27550. if(giveplayerid != INVALID_PLAYER_ID)
  27551. {
  27552. if(ProxDetectorS(8.0, playerid, giveplayerid))
  27553. {
  27554. if(giveplayerid == playerid) return 1;
  27555. format(string, sizeof(string), "* You gave %s a ticket costing $%d, reason: %s", GetPlayerNameEx(giveplayerid), moneys, reason);
  27556. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  27557. format(string, sizeof(string), "* Officer %s has given you a ticket costing $%d, reason: %s", GetPlayerNameEx(playerid), moneys, reason);
  27558. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  27559. format(string, sizeof(string), "* Officer %s writes up a ticket and gives it to %s.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  27560. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  27561. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, "* Type /accept ticket, to accept it.");
  27562. TicketOffer[giveplayerid] = playerid;
  27563. TicketMoney[giveplayerid] = moneys;
  27564. return 1;
  27565. }
  27566. else
  27567. {
  27568. SendClientMessage(playerid, COLOR_GREY, "That player isn't near you.");
  27569. return 1;
  27570. }
  27571. }
  27572. }
  27573. else
  27574. {
  27575. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  27576. return 1;
  27577. }
  27578. }
  27579. return 1;
  27580. }
  27581. CMD:gov(playerid, params[])
  27582. {
  27583. if(IsInLSFMD(playerid) || IsACop(playerid) || PlayerInfo[playerid][pFaction] == 5 || PlayerInfo[playerid][pLeader] == 5 || PlayerInfo[playerid][pFaction] == 10 || PlayerInfo[playerid][pLeader] == 10 || PlayerInfo[playerid][pFaction] == 11 || PlayerInfo[playerid][pLeader] == 11)
  27584. {
  27585. if(isnull(params))
  27586. {
  27587. SendClientMessage(playerid, COLOR_GRAD2, "USAGE: (/gov)ernment [text]");
  27588. return 1;
  27589. }
  27590. new string[128];
  27591. if(PlayerInfo[playerid][pFaction] == 1 || PlayerInfo[playerid][pLeader] == 1)
  27592. {
  27593. if(PlayerInfo[playerid][pRank] == 6)
  27594. {
  27595. SendClientMessageToAll(COLOR_WHITE, "|_____________Government News Announcement_____________|");
  27596. format(string, sizeof(string), "** LSPD: Chief %s: %s **", GetPlayerNameEx(playerid), params);
  27597. SendClientMessageToAllEx(COLOR_DBLUE, string);
  27598. }
  27599. else if(PlayerInfo[playerid][pRank] == 5)
  27600. {
  27601. SendClientMessageToAll(COLOR_WHITE, "|_____________Government News Announcement_____________|");
  27602. format(string, sizeof(string), "** LSPD: Captain %s: %s **", GetPlayerNameEx(playerid), params);
  27603. SendClientMessageToAllEx(COLOR_DBLUE, string);
  27604. }
  27605. else
  27606. {
  27607. SendClientMessage(playerid, COLOR_GREY, " You need to be Rank 5 or higher to be able to use this!");
  27608. }
  27609. }
  27610. else if(PlayerInfo[playerid][pFaction] == 10 || PlayerInfo[playerid][pLeader] == 10)
  27611. {
  27612. if(PlayerInfo[playerid][pRank] == 6)
  27613. {
  27614. SendClientMessageToAll(COLOR_WHITE, "|_____________Government News Announcement_____________|");
  27615. format(string, sizeof(string), "** ARES: Commander %s: %s **", GetPlayerNameEx(playerid), params);
  27616. SendClientMessageToAllEx(TEAM_ARES_COLOR, string);
  27617. }
  27618. else if(PlayerInfo[playerid][pRank] == 5)
  27619. {
  27620. SendClientMessageToAll(COLOR_WHITE, "|_____________Government News Announcement_____________|");
  27621. format(string, sizeof(string), "** ARES: Vice-Commander %s: %s **", GetPlayerNameEx(playerid), params);
  27622. SendClientMessageToAllEx(TEAM_ARES_COLOR, string);
  27623. }
  27624. else
  27625. {
  27626. SendClientMessage(playerid, COLOR_GREY, " You need to be Rank 5 or higher to be able to use this!");
  27627. }
  27628. }
  27629. else if(PlayerInfo[playerid][pFaction] == 2 || PlayerInfo[playerid][pLeader] == 2)
  27630. {
  27631. if(PlayerInfo[playerid][pRank] == 6)
  27632. {
  27633. SendClientMessageToAll(COLOR_WHITE, "|_____________Government News Announcement_____________|");
  27634. format(string, sizeof(string), "** FBI: Director %s: %s **", GetPlayerNameEx(playerid), params);
  27635. SendClientMessageToAllEx(COLOR_DBLUE, string);
  27636. }
  27637. else if(PlayerInfo[playerid][pRank] == 5)
  27638. {
  27639. SendClientMessageToAll(COLOR_WHITE, "|_____________Government News Announcement_____________|");
  27640. format(string, sizeof(string), "** FBI: Assistant Director %s: %s **", GetPlayerNameEx(playerid), params);
  27641. SendClientMessageToAllEx(COLOR_DBLUE, string);
  27642. }
  27643. else
  27644. {
  27645. SendClientMessage(playerid, COLOR_GREY, " You need to be Rank 5 or higher to be able to use this!");
  27646. }
  27647. }
  27648. else if(PlayerInfo[playerid][pFaction] == 3 || PlayerInfo[playerid][pLeader] == 3)
  27649. {
  27650. if(PlayerInfo[playerid][pRank] == 6)
  27651. {
  27652. SendClientMessageToAll(COLOR_WHITE, "|_____________Government News Announcement_____________|");
  27653. format(string, sizeof(string), "** LSFMD: Chief %s: %s **", GetPlayerNameEx(playerid), params);
  27654. SendClientMessageToAllEx(TEAM_CYAN_COLOR, string);
  27655. }
  27656. else if(PlayerInfo[playerid][pRank] == 5)
  27657. {
  27658. SendClientMessageToAll(COLOR_WHITE, "|_____________Government News Announcement_____________|");
  27659. format(string, sizeof(string), "** LSFMD: Assistant Chief %s: %s **", GetPlayerNameEx(playerid), params);
  27660. SendClientMessageToAllEx(TEAM_CYAN_COLOR, string);
  27661. }
  27662. else
  27663. {
  27664. SendClientMessage(playerid, COLOR_GREY, " You need to be Rank 5 or higher to be able to use this!");
  27665. }
  27666. }
  27667. else if(PlayerInfo[playerid][pFaction] == 5 || PlayerInfo[playerid][pLeader] == 5) {
  27668. if(PlayerInfo[playerid][pRank] == 6)
  27669. {
  27670. SendClientMessageToAll(COLOR_WHITE, "|_____________Government News Announcement_____________|");
  27671. format(string, sizeof(string), "** Government: Mayor %s: %s **", GetPlayerNameEx(playerid), params);
  27672. SendClientMessageToAllEx(COLOR_GOV, string);
  27673. }
  27674. else if(PlayerInfo[playerid][pRank] == 5)
  27675. {
  27676. SendClientMessageToAll(COLOR_WHITE, "|_____________Government News Announcement_____________|");
  27677. format(string, sizeof(string), "** Government: Deputy Mayor %s: %s **", GetPlayerNameEx(playerid), params);
  27678. SendClientMessageToAllEx(COLOR_GOV, string);
  27679. }
  27680. else
  27681. {
  27682. SendClientMessage(playerid, COLOR_GREY, " You need to be Rank 5 or higher to be able to use this!");
  27683. }
  27684. }
  27685. else if(PlayerInfo[playerid][pFaction] == 11 || PlayerInfo[playerid][pLeader] == 11) {
  27686. if(PlayerInfo[playerid][pRank] == 6)
  27687. {
  27688. SendClientMessageToAll(COLOR_WHITE, "|_____________Government News Announcement_____________|");
  27689. format(string, sizeof(string), "** SASD: Chief of Sasd %s: %s **", GetPlayerNameEx(playerid), params);
  27690. SendClientMessageToAllEx(COLOR_ORANGE, string);
  27691. }
  27692. else if(PlayerInfo[playerid][pRank] == 5)
  27693. {
  27694. SendClientMessageToAll(COLOR_WHITE, "|_____________Government News Announcement_____________|");
  27695. format(string, sizeof(string), "** SASD: Major %s: %s **", GetPlayerNameEx(playerid), params);
  27696. SendClientMessageToAllEx(COLOR_ORANGE, string);
  27697. }
  27698. else
  27699. {
  27700. SendClientMessage(playerid, COLOR_GREY, " You need to be Rank 5 or higher to be able to use this!");
  27701. }
  27702. }
  27703. }
  27704. return 1;
  27705. }
  27706. CMD:tourhouse(playerid, params[])
  27707. {
  27708. if(PlayerCuffed[playerid] >= 1 || GetPVarInt(playerid, "Injured") == 1) {
  27709. SendClientMessage(playerid, COLOR_WHITE, "You can't do this right now.");
  27710. return 1;
  27711. }
  27712. new string[128];
  27713. for(new i = 0; i < sizeof(HouseInfo); i++) {
  27714. if(IsPlayerInRangeOfPoint(playerid,3,HouseInfo[i][hExteriorX], HouseInfo[i][hExteriorY], HouseInfo[i][hExteriorZ]))
  27715. {
  27716. if(HouseInfo[i][hOwned] != 0)
  27717. {
  27718. SendClientMessage(playerid, COLOR_WHITE, "You can't tour owned houses.");
  27719. return 1;
  27720. }
  27721. if(GetPVarInt(playerid, "TourHouseConfirm") == 0)
  27722. {
  27723. SetPVarInt(playerid, "TourHouseConfirm", 1);
  27724. SendClientMessage(playerid, COLOR_WHITE, "You're about to be shown the interior of this house for $30.");
  27725. SendClientMessage(playerid, COLOR_WHITE, "If you're sure you want to pay $30 for the tour then type this command again.");
  27726. return 1;
  27727. }
  27728. DeletePVar(playerid, "TourHouseConfirm");
  27729. GivePlayerCash(playerid, -30);
  27730. GameTextForPlayer(playerid, "~r~-$30", 3000, 1);
  27731. format(string, sizeof(string), "* %s has entered a house.", GetPlayerNameEx(playerid));
  27732. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  27733. SetPlayerInterior(playerid,HouseInfo[i][hHInteriorWorld]);
  27734. if(HouseInfo[i][hCustomInterior] == 1) {
  27735. TogglePlayerControllable(playerid, 0);
  27736. for(new o = 0; o < 2; o++) {
  27737. TextDrawSetString(ObjectsLoadingTD[1], "OBJECTS LOADING...");
  27738. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  27739. }
  27740. SetPVarInt(playerid, "LoadingObjects", 1);
  27741. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  27742. }
  27743. SetPlayerPos(playerid,HouseInfo[i][hInteriorX],HouseInfo[i][hInteriorY],HouseInfo[i][hInteriorZ]);
  27744. SetPlayerFacingAngle(playerid,HouseInfo[i][hInteriorA]);
  27745. SetCameraBehindPlayer(playerid);
  27746. PlayerInfo[playerid][pInt] = HouseInfo[i][hHInteriorWorld];
  27747. PlayerInfo[playerid][pVW] = i+60000;
  27748. SetPlayerVirtualWorld(playerid, i+60000);
  27749. }
  27750. }
  27751. return 1;
  27752. }
  27753. CMD:fingerprint(playerid, params[]) {
  27754. new
  27755. iTarget,
  27756. szSex[7],
  27757. szMessage[128];
  27758. if(IsACop(playerid) || PlayerInfo[playerid][pFaction] == 5 && PlayerInfo[playerid][pDivision] == 5 || PlayerInfo[playerid][pFaction] == 5 && PlayerInfo[playerid][pDivision] == 2) {
  27759. if(sscanf(params, "u", iTarget))
  27760. return SendClientMessage(playerid, COLOR_GREY, "USAGE: /fingerprint [playerid/partofname]");
  27761. if(!IsPlayerConnected(iTarget))
  27762. return SendClientMessage(playerid, COLOR_GREY, "The specified player is not connected.");
  27763. if(GetDistanceBetweenPlayers(iTarget, playerid) > 5)
  27764. return SendClientMessage(playerid, COLOR_GREY, "You're too far away.");
  27765. if(PlayerInfo[iTarget][pCrimes] == 0)
  27766. return SendClientMessage(playerid, COLOR_GREY, "IAFIS has found no matches for the scanned fingerprint.");
  27767. SendClientMessage(playerid, COLOR_GREY, "-----------------------------------------");
  27768. if(PlayerInfo[iTarget][pSex] == 1)
  27769. szSex = "Male";
  27770. else
  27771. szSex = "Female";
  27772. format(szMessage, sizeof(szMessage), "Name: %s (age: %d, sex: %s)", GetPlayerNameEx(iTarget), PlayerInfo[iTarget][pAge], szSex);
  27773. SendClientMessage(playerid, COLOR_WHITE, szMessage);
  27774. if(PlayerInfo[iTarget][pHouse] != INVALID_HOUSE_ID) {
  27775. new
  27776. szZone[MAX_ZONE_NAME];
  27777. Get2DPosZone(HouseInfo[PlayerInfo[iTarget][pHouse]][hExteriorX], HouseInfo[PlayerInfo[iTarget][pHouse]][hExteriorY], szZone, MAX_ZONE_NAME);
  27778. format(szMessage, sizeof(szMessage), "House: %d %s", PlayerInfo[iTarget][pHouse], szZone);
  27779. SendClientMessage(playerid, COLOR_WHITE, szMessage);
  27780. } else if(PlayerInfo[iTarget][pHouse2] != INVALID_HOUSE_ID) {
  27781. new
  27782. szZone[MAX_ZONE_NAME];
  27783. Get2DPosZone(HouseInfo[PlayerInfo[iTarget][pHouse2]][hExteriorX], HouseInfo[PlayerInfo[iTarget][pHouse2]][hExteriorY], szZone, MAX_ZONE_NAME);
  27784. format(szMessage, sizeof(szMessage), "House (2): %d %s", PlayerInfo[iTarget][pHouse2], szZone);
  27785. SendClientMessage(playerid, COLOR_WHITE, szMessage);
  27786. }
  27787. format(szMessage, sizeof(szMessage), "Prior convictions: %d", PlayerInfo[iTarget][pCrimes]);
  27788. SendClientMessage(playerid, COLOR_WHITE, szMessage);
  27789. format(szMessage, sizeof(szMessage), "Prior arrests: %d", PlayerInfo[iTarget][pArrested]);
  27790. SendClientMessage(playerid, COLOR_WHITE, szMessage);
  27791. SendClientMessage(playerid, COLOR_GREY, "-----------------------------------------");
  27792. }
  27793. return 1;
  27794. }
  27795. CMD:ram(playerid, params[])
  27796. {
  27797. if(IsACop(playerid)) {
  27798. if(GetPVarInt(playerid, "PBM") > 0)
  27799. return SendClientMessage(playerid, COLOR_WHITE, "You can't do this while being in a arena!");
  27800. if(PlayerCuffed[playerid] >= 1)
  27801. return SendClientMessage(playerid, COLOR_WHITE, "You can't do this right now.");
  27802. new string[128], found;
  27803. for(new i = 0; i < sizeof(HouseInfo); i++)
  27804. {
  27805. if(IsPlayerInRangeOfPoint(playerid,3,HouseInfo[i][hExteriorX], HouseInfo[i][hExteriorY], HouseInfo[i][hExteriorZ]))
  27806. {
  27807. found++;
  27808. format(string, sizeof(string), "* %s breaches the door, and enters.", GetPlayerNameEx(playerid));
  27809. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  27810. SetPlayerInterior(playerid,HouseInfo[i][hHInteriorWorld]);
  27811. if(HouseInfo[i][hCustomInterior] == 1)
  27812. {
  27813. TogglePlayerControllable(playerid, 0);
  27814. for(new o = 0; o < 2; o++)
  27815. {
  27816. TextDrawSetString(ObjectsLoadingTD[1], "OBJECTS LOADING...");
  27817. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  27818. }
  27819. SetPVarInt(playerid, "LoadingObjects", 1);
  27820. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  27821. }
  27822. SetPlayerPos(playerid,HouseInfo[i][hInteriorX],HouseInfo[i][hInteriorY],HouseInfo[i][hInteriorZ]);
  27823. SetPlayerFacingAngle(playerid,HouseInfo[i][hInteriorA]);
  27824. SetCameraBehindPlayer(playerid);
  27825. GameTextForPlayer(playerid, "~r~Breached the door", 5000, 1);
  27826. PlayerInfo[playerid][pInt] = HouseInfo[i][hHInteriorWorld];
  27827. PlayerInfo[playerid][pVW] = i+60000;
  27828. SetPlayerVirtualWorld(playerid, i+60000);
  27829. }
  27830. }
  27831. if(found == 0)
  27832. return SendClientMessage(playerid, COLOR_GREY, " You're not near a house!");
  27833. }
  27834. else SendClientMessage(playerid, COLOR_GREY, " You're not a Cop!");
  27835. return 1;
  27836. }
  27837. CMD:invite(playerid, params[])
  27838. {
  27839. if(PlayerInfo[playerid][pLeader] >= 1)
  27840. {
  27841. new string[128], ftext[50], giveplayerid;
  27842. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /invite [playerid/partofname]");
  27843. if(IsPlayerConnected(giveplayerid))
  27844. {
  27845. if(PlayerInfo[giveplayerid][pLeader] == 0 && PlayerInfo[giveplayerid][pFaction] == 0 && PlayerInfo[giveplayerid][pGang] == 255)
  27846. {
  27847. if(PlayerInfo[playerid][pLeader] == 1)
  27848. ftext = "LSPD";
  27849. else if(PlayerInfo[playerid][pLeader] == 2)
  27850. ftext = "FBI";
  27851. else if(PlayerInfo[playerid][pLeader] == 3)
  27852. ftext = "LSFMD";
  27853. else if(PlayerInfo[playerid][pLeader] == 4)
  27854. ftext = "Hitman Agency";
  27855. else if(PlayerInfo[playerid][pLeader] == 5)
  27856. ftext = "Government";
  27857. else if(PlayerInfo[playerid][pLeader] == 9)
  27858. ftext = "SA News";
  27859. else if(PlayerInfo[playerid][pLeader] == 10)
  27860. ftext = "ARES";
  27861. else if(PlayerInfo[playerid][pLeader] == 11)
  27862. ftext = "SASD";
  27863. else
  27864. return SendClientMessage(playerid, COLOR_GREY, "You can't invite a player to this faction.");
  27865. InviteOffer[giveplayerid] = playerid;
  27866. InviteFamily[giveplayerid] = 255;
  27867. InviteFaction[giveplayerid] = PlayerInfo[playerid][pLeader];
  27868. format(string, sizeof(string), "You have been invited to join the %s by %s - type /accept faction.", ftext, GetPlayerNameEx(playerid));
  27869. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  27870. format(string, sizeof(string), "You have invited %s to join the %s.", GetPlayerNameEx(giveplayerid),ftext);
  27871. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  27872. }
  27873. else
  27874. {
  27875. SendClientMessage(playerid, COLOR_GREY, "The player you're trying to invite is already in another faction or family.");
  27876. return 1;
  27877. }
  27878. }
  27879. }
  27880. else
  27881. {
  27882. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command - only leaders can do this.");
  27883. }
  27884. return 1;
  27885. }
  27886. CMD:uninvite(playerid, params[])
  27887. {
  27888. if(PlayerInfo[playerid][pLeader] >= 1)
  27889. {
  27890. new string[128], giveplayerid;
  27891. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /uninvite [playerid/partofname]");
  27892. if(IsPlayerConnected(giveplayerid))
  27893. {
  27894. if((PlayerInfo[giveplayerid][pFaction] == PlayerInfo[playerid][pLeader]) && (PlayerInfo[giveplayerid][pLeader] == 0 || PlayerInfo[giveplayerid][pRank] < PlayerInfo[playerid][pRank]))
  27895. {
  27896. format(string, sizeof(string), "* You have been kicked from the faction by leader %s.", GetPlayerNameEx(playerid));
  27897. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  27898. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, "* you're now a civilian again.");
  27899. format(string, sizeof(string), "%s has uninvited %s from the %s as a rank %i.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), factionName(PlayerInfo[giveplayerid][pFaction]), PlayerInfo[giveplayerid][pRank]);
  27900. Log("logs/faction.log", string);
  27901. PlayerInfo[giveplayerid][pFaction] = 0;
  27902. PlayerInfo[giveplayerid][pRank] = 0;
  27903. PlayerInfo[giveplayerid][pDuty] = 0;
  27904. PlayerInfo[giveplayerid][pLeader] = 0;
  27905. PlayerInfo[giveplayerid][pDivision] = 0;
  27906. if(!IsValidSkin(GetPlayerSkin(giveplayerid)))
  27907. {
  27908. new rand = random(sizeof(CIV));
  27909. SetPlayerSkin(giveplayerid,CIV[rand]);
  27910. PlayerInfo[giveplayerid][pSkin] = CIV[rand];
  27911. }
  27912. player_remove_vip_toys(giveplayerid);
  27913. SetPlayerToTeamColor(giveplayerid);
  27914. pTazer[giveplayerid] = 0;
  27915. format(string, sizeof(string), "You have kicked %s from the faction.", GetPlayerNameEx(giveplayerid));
  27916. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  27917. }
  27918. else SendClientMessage(playerid, COLOR_WHITE, "That player can't be uninvited by you.");
  27919. }
  27920. SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  27921. }
  27922. else
  27923. {
  27924. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command - only leaders can do this.");
  27925. }
  27926. return 1;
  27927. }
  27928. CMD:ouninvite(playerid, params[]) {
  27929. if(PlayerInfo[playerid][pLeader] >= 1) {
  27930. if(isnull(params))
  27931. return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /ouninvite [name]");
  27932. if(!doesAccountExist(params))
  27933. return SendClientMessage(playerid, COLOR_WHITE, "That account does not exist!");
  27934. OnPlayerOfflineLogin(params);
  27935. if(PlayerInfo[MAX_PLAYERS][pAdmin] >= 5)
  27936. return SendClientMessage(playerid, COLOR_WHITE, "You can't uninvite this person.");
  27937. else if((PlayerInfo[MAX_PLAYERS][pFaction] == PlayerInfo[playerid][pLeader]) && (PlayerInfo[MAX_PLAYERS][pLeader] == 0 || PlayerInfo[MAX_PLAYERS][pRank] < PlayerInfo[playerid][pRank])) {
  27938. new string[128];
  27939. format(string, sizeof(string), "%s has uninvited %s from the %s as a rank %i.", GetPlayerNameEx(playerid), params, factionName(PlayerInfo[MAX_PLAYERS][pFaction]), PlayerInfo[MAX_PLAYERS][pRank]);
  27940. Log("logs/faction.log", string);
  27941. PlayerInfo[MAX_PLAYERS][pFaction] = 0;
  27942. PlayerInfo[MAX_PLAYERS][pRank] = 0;
  27943. PlayerInfo[MAX_PLAYERS][pDuty] = 0;
  27944. PlayerInfo[MAX_PLAYERS][pLeader] = 0;
  27945. PlayerInfo[MAX_PLAYERS][pSkin] = 299;
  27946. /*if(PlayerInfo[MAX_PLAYERS][pDonator] < 3) for(new iToyIter; iToyIter < MAX_PLAYER_ATTACHED_OBJECTS; ++iToyIter) {
  27947. for(new LoopRapist; LoopRapist < sizeof(HoldingObjectsCop); ++LoopRapist) {
  27948. if(HoldingObjectsCop[LoopRapist][holdingmodelid] == PlayerToyInfo[MAX_PLAYERS][iToyIter][ptModelID]) {
  27949. PlayerToyInfo[MAX_PLAYERS][iToyIter][ptModelID] = 0;
  27950. PlayerToyInfo[MAX_PLAYERS][iToyIter][ptBone] = 0;
  27951. PlayerToyInfo[MAX_PLAYERS][iToyIter][ptPosX] = 0.0;
  27952. PlayerToyInfo[MAX_PLAYERS][iToyIter][ptPosY] = 0.0;
  27953. PlayerToyInfo[MAX_PLAYERS][iToyIter][ptPosZ] = 0.0;
  27954. PlayerToyInfo[MAX_PLAYERS][iToyIter][ptPosX] = 0.0;
  27955. PlayerToyInfo[MAX_PLAYERS][iToyIter][ptPosY] = 0.0;
  27956. PlayerToyInfo[MAX_PLAYERS][iToyIter][ptPosZ] = 0.0;
  27957. }
  27958. }
  27959. }*/
  27960. new
  27961. szMessage[64];
  27962. format(szMessage, sizeof(szMessage), "You have kicked %s from the faction.", params);
  27963. SendClientMessage(playerid, COLOR_LIGHTBLUE, szMessage);
  27964. OnPlayerOfflineSave(params);
  27965. }
  27966. else SendClientMessage(playerid, COLOR_WHITE, "That player can't be uninvited by you.");
  27967. }
  27968. else SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command - only leaders can do this.");
  27969. return 1;
  27970. }
  27971. CMD:giverank(playerid, params[])
  27972. {
  27973. if(PlayerInfo[playerid][pLeader] >= 1)
  27974. {
  27975. new string[128], giveplayerid, rank;
  27976. if(sscanf(params, "ud", giveplayerid, rank)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /giverank [playerid/partofname] [Rank (1-6)]");
  27977. if(rank > 6 || rank < 0) { SendClientMessage(playerid, COLOR_GREY, " Don't go below number 0, or above number 6!"); return 1; }
  27978. if(IsPlayerConnected(giveplayerid))
  27979. {
  27980. if(PlayerInfo[playerid][pLeader] != PlayerInfo[giveplayerid][pFaction])
  27981. {
  27982. SendClientMessage(playerid, COLOR_GRAD1, " That person is not in your faction!");
  27983. return 1;
  27984. }
  27985. if(rank > PlayerInfo[giveplayerid][pRank])
  27986. {
  27987. format(string, sizeof(string), " You have been promoted to a higher rank by %s.", GetPlayerNameEx(playerid));
  27988. }
  27989. if(rank < PlayerInfo[giveplayerid][pRank])
  27990. {
  27991. format(string, sizeof(string), " You have been demoted to a lower rank by %s.", GetPlayerNameEx(playerid));
  27992. }
  27993. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  27994. format(string, sizeof(string), "%s has given %s rank %d in the %s.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), rank, factionName(PlayerInfo[giveplayerid][pFaction]));
  27995. Log("logs/faction.log", string);
  27996. PlayerInfo[giveplayerid][pRank] = rank;
  27997. format(string, sizeof(string), " You have given %s rank %d.", GetPlayerNameEx(giveplayerid),rank);
  27998. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  27999. }
  28000. }
  28001. else
  28002. {
  28003. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command (leaders only)!");
  28004. }
  28005. return 1;
  28006. }
  28007. CMD:spikestrips(playerid, params[])
  28008. {
  28009. if(IsACop(playerid) || PlayerInfo[playerid][pFaction] == 2 || PlayerInfo[playerid][pFaction] == 6 || PlayerInfo[playerid][pLeader] == 6)
  28010. {
  28011. if(PlayerInfo[playerid][pFaction] == 2 || PlayerInfo[playerid][pRank] >= 3)
  28012. {
  28013. SendClientMessage(playerid, COLOR_WHITE, "Current deployed spikes:");
  28014. for(new i, string[58 + MAX_PLAYER_NAME]; i < sizeof(SpikeStrips); i++)
  28015. {
  28016. if(SpikeStrips[i][sX] != 0) // Checking for next available ID.
  28017. {
  28018. format(string, sizeof(string), "HQ: Spike ID: %d | Deployed location: %s | Deployed by: %s", i, SpikeStrips[i][sDeployedAt], SpikeStrips[i][sDeployedBy]);
  28019. SendClientMessage(playerid, COLOR_GRAD2, string);
  28020. }
  28021. }
  28022. }
  28023. else
  28024. {
  28025. SendClientMessage(playerid, COLOR_GRAD2, " You must be rank 3 or higher!");
  28026. }
  28027. }
  28028. else
  28029. {
  28030. SendClientMessage(playerid, COLOR_GRAD2, "You're not a law enforcement officer.");
  28031. }
  28032. return 1;
  28033. }
  28034. CMD:deployspikes(playerid, params[])
  28035. {
  28036. if(IsACop(playerid))
  28037. {
  28038. if(PlayerInfo[playerid][pRank] >= 3)
  28039. {
  28040. if(GetPlayerInterior(playerid) != 0)
  28041. {
  28042. SendClientMessage(playerid, COLOR_GREY, "You can't deploy spike strips in interiors.");
  28043. return 1;
  28044. }
  28045. for(new i; i < sizeof(SpikeStrips); i++)
  28046. {
  28047. if(SpikeStrips[i][sX] == 0)
  28048. {
  28049. new
  28050. Float: f_TempAngle,
  28051. string[128];
  28052. GetPlayerPos(playerid, SpikeStrips[i][sX], SpikeStrips[i][sY], SpikeStrips[i][sZ]);
  28053. GetPlayerFacingAngle(playerid, f_TempAngle);
  28054. SpikeStrips[i][sObjectID] = CreateDynamicObject(2899, SpikeStrips[i][sX], SpikeStrips[i][sY], SpikeStrips[i][sZ]-0.8, 0.0, 0.0, f_TempAngle);
  28055. GetPlayer3DZone(playerid, SpikeStrips[i][sDeployedAt], MAX_ZONE_NAME);
  28056. SpikeStrips[i][sDeployedBy] = GetPlayerNameEx(playerid);
  28057. format(string,sizeof(string),"Spike ID: %d successfully created.", i);
  28058. SendClientMessage(playerid, COLOR_WHITE, string);
  28059. format(string, sizeof(string), "HQ: A spike has been deployed by %s at %s.", GetPlayerNameEx(playerid), SpikeStrips[i][sDeployedAt]);
  28060. foreach(Player, x)
  28061. {
  28062. if(IsACop(x))
  28063. {
  28064. SendClientMessage(x, TEAM_BLUE_COLOR, string);
  28065. if(PlayerInfo[x][pRank] >= 3)
  28066. {
  28067. SendClientMessage(x, COLOR_YELLOW, "You can remove a spike by typing /destroyspikes.");
  28068. }
  28069. }
  28070. }
  28071. return 1;
  28072. }
  28073. }
  28074. SendClientMessage(playerid, COLOR_WHITE, "Unable to spawn more strips, limit is 5.");
  28075. }
  28076. else
  28077. {
  28078. SendClientMessage(playerid, COLOR_GRAD2, " You must be rank 3 or higher!");
  28079. }
  28080. }
  28081. else
  28082. {
  28083. SendClientMessage(playerid, COLOR_GRAD2, "You're not a law enforcement officer.");
  28084. }
  28085. return 1;
  28086. }
  28087. CMD:destroyspikes(playerid, params[])
  28088. {
  28089. if(isnull(params)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /destroyspikes [spikeid]");
  28090. if(IsACop(playerid))
  28091. {
  28092. if(PlayerInfo[playerid][pRank] >= 3)
  28093. {
  28094. new id = strval(params);
  28095. if(!(0 <= id <= sizeof(SpikeStrips)) || SpikeStrips[id][sX] == 0) {
  28096. return SendClientMessage(playerid, COLOR_WHITE, "Invalid spike ID.");
  28097. }
  28098. else
  28099. {
  28100. new string[43 + MAX_PLAYER_NAME + MAX_ZONE_NAME];
  28101. DestroyDynamicObject(SpikeStrips[id][sObjectID]);
  28102. SpikeStrips[id][sX] = 0; SpikeStrips[id][sY] = 0; SpikeStrips[id][sZ] = 0;
  28103. SpikeStrips[id][sObjectID] = INVALID_OBJECT_ID;
  28104. format(string,sizeof(string),"Spike ID: %d successfully deleted.", id);
  28105. SendClientMessage(playerid, COLOR_WHITE, string);
  28106. new zone[MAX_ZONE_NAME];
  28107. GetPlayer3DZone(playerid, zone, sizeof(zone));
  28108. format(string, sizeof(string), "HQ: A spike has been destroyed by %s at %s.", GetPlayerNameEx(playerid), zone);
  28109. foreach(Player, x)
  28110. {
  28111. if(IsACop(x))
  28112. {
  28113. SendClientMessage(x, TEAM_BLUE_COLOR, string);
  28114. }
  28115. }
  28116. return 1;
  28117. }
  28118. }
  28119. else
  28120. {
  28121. SendClientMessage(playerid, COLOR_GRAD2, " You must be rank 3 or higher!");
  28122. }
  28123. }
  28124. else
  28125. {
  28126. SendClientMessage(playerid, COLOR_GRAD2, "You're not a law enforcement officer.");
  28127. }
  28128. return 1;
  28129. }
  28130. CMD:searchcar(playerid, params[])
  28131. {
  28132. new string[128];
  28133. if(!IsACop(playerid))
  28134. {
  28135. SendClientMessage(playerid, COLOR_GREY, " You're not a Cop / FBI / Coastguard!");
  28136. return 1;
  28137. }
  28138. new carid = GetPlayerVehicleID(playerid);
  28139. new closestcar = GetClosestCar(playerid,carid);
  28140. if(!IsPlayerInRangeOfVehicle(playerid, closestcar, 9.0))
  28141. {
  28142. SendClientMessage(playerid,COLOR_GREY,"You're not near any vehicles.");
  28143. return 1;
  28144. }
  28145. foreach(Player, i)
  28146. {
  28147. new v = GetPlayerVehicle(i, closestcar);
  28148. if(v != -1)
  28149. {
  28150. string[0] = 0;
  28151. for(new x = 0; x < 3; x++)
  28152. {
  28153. if(PlayerVehicleInfo[i][v][pvWeapons][x] != 0)
  28154. {
  28155. new
  28156. szWep[20];
  28157. GetWeaponName(PlayerVehicleInfo[i][v][pvWeapons][x], szWep, sizeof(szWep));
  28158. if(isnull(string)) format(string, sizeof(string), "* Trunk contains: %s", szWep);
  28159. else format(string, sizeof(string), "%s, %s", string, szWep);
  28160. }
  28161. }
  28162. if(!isnull(string)) SendClientMessage(playerid, COLOR_WHITE, string);
  28163. else SendClientMessage(playerid, COLOR_WHITE, "* Trunk contains: nothing.");
  28164. }
  28165. }
  28166. return 1;
  28167. }
  28168. CMD:deploycade(playerid, params[])
  28169. {
  28170. if(IsACop(playerid))
  28171. {
  28172. if(IsPlayerInAnyVehicle(playerid))
  28173. {
  28174. SendClientMessage(playerid, COLOR_GREY, "You must be on foot to use this command.");
  28175. return 1;
  28176. }
  28177. if(PlayerInfo[playerid][pRank] < 3 && PlayerInfo[playerid][pFaction] != 2)
  28178. {
  28179. SendClientMessage(playerid, COLOR_GREY, "You need to be at least rank 3 to use this command.");
  28180. return 1;
  28181. }
  28182. if(GetPlayerInterior(playerid) != 0)
  28183. {
  28184. SendClientMessage(playerid, COLOR_GREY, "You can't deploy barricades in interiors.");
  28185. return 1;
  28186. }
  28187. new string[128], Float:Position[4];
  28188. for(new i; i<MAX_BARRICADES; i++)
  28189. {
  28190. if(Barricade[i] == 0)
  28191. {
  28192. GetPlayerPos(playerid, Position[0], Position[1], Position[2]);
  28193. GetPlayerFacingAngle(playerid, Position[3]);
  28194. Barricade[i] = CreateDynamicObject(981, Position[0], Position[1], Position[2], 0.0, 0.0, Position[3]+180.0, -1, -1, -1, 200.0);
  28195. SetPlayerPos(playerid, Position[0], Position[1]+4, Position[2]);
  28196. new zone[MAX_ZONE_NAME];
  28197. GetPlayer3DZone(playerid, zone, sizeof(zone));
  28198. format(string, sizeof(string), "HQ: A barricade has been deployed by %s at %s.", GetPlayerNameEx(playerid), zone);
  28199. foreach(Player, x)
  28200. {
  28201. if(IsACop(x))
  28202. {
  28203. SendClientMessage(x, TEAM_BLUE_COLOR, string);
  28204. if(PlayerInfo[x][pRank] >= 3)
  28205. {
  28206. SendClientMessage(x, COLOR_YELLOW, "You can remove a barricade by typing /destroycade.");
  28207. }
  28208. }
  28209. }
  28210. return 1;
  28211. }
  28212. }
  28213. SendClientMessage(playerid, COLOR_GREY, "All available barriers have been deployed.");
  28214. }
  28215. else
  28216. {
  28217. SendClientMessage(playerid, COLOR_GREY, "You're not a law enforcement officer.");
  28218. }
  28219. return 1;
  28220. }
  28221. CMD:destroycade(playerid, params[])
  28222. {
  28223. if(IsACop(playerid))
  28224. {
  28225. if(IsPlayerInAnyVehicle(playerid))
  28226. {
  28227. SendClientMessage(playerid, COLOR_GREY, "You must be on foot to use this command.");
  28228. return 1;
  28229. }
  28230. if(PlayerInfo[playerid][pRank] < 3 && PlayerInfo[playerid][pFaction] != 2)
  28231. {
  28232. SendClientMessage(playerid, COLOR_GREY, "You need to be at least rank 3 to use this command.");
  28233. return 1;
  28234. }
  28235. new string[128], Float:Position[3];
  28236. for(new i; i<MAX_BARRICADES; i++)
  28237. {
  28238. GetDynamicObjectPos(Barricade[i], Position[0], Position[1], Position[2]);
  28239. if(IsPlayerInRangeOfPoint(playerid, 5.0, Position[0], Position[1], Position[2]))
  28240. {
  28241. DestroyDynamicObject(Barricade[i]);
  28242. Barricade[i] = 0;
  28243. new zone[MAX_ZONE_NAME];
  28244. GetPlayer3DZone(playerid, zone, sizeof(zone));
  28245. format(string, sizeof(string), "HQ: A barricade has been destroyed by %s at %s.", GetPlayerNameEx(playerid), zone);
  28246. foreach(Player, x)
  28247. {
  28248. if(IsACop(x))
  28249. {
  28250. SendClientMessage(x, TEAM_BLUE_COLOR, string);
  28251. }
  28252. }
  28253. return 1;
  28254. }
  28255. }
  28256. SendClientMessage(playerid, COLOR_GREY, "You're not near any barricades.");
  28257. }
  28258. else
  28259. {
  28260. SendClientMessage(playerid, COLOR_GREY, "You're not a law enforcement officer.");
  28261. }
  28262. return 1;
  28263. }
  28264. CMD:vcheck(playerid, params[])
  28265. {
  28266. if(IsACop(playerid))
  28267. {
  28268. new carid = GetPlayerVehicleID(playerid);
  28269. new closestcar = GetClosestCar(playerid, carid);
  28270. if(IsTrailerAttachedToVehicle(carid))
  28271. {
  28272. new carbeingtowed = GetVehicleTrailer(carid);
  28273. foreach(Player, i)
  28274. {
  28275. new v = GetPlayerVehicle(i, carbeingtowed);
  28276. if(v != -1)
  28277. {
  28278. new string[78 + MAX_PLAYER_NAME];
  28279. format(string, sizeof(string), "Vehicle registration: %d | Name: %s | Owner: %s | Ticket: $%d.",carbeingtowed,GetVehicleName(PlayerVehicleInfo[i][v][pvId]),GetPlayerNameEx(i),PlayerVehicleInfo[i][v][pvTicket]);
  28280. SendClientMessage(playerid, COLOR_WHITE, string);
  28281. return 1;
  28282. }
  28283. }
  28284. for(new f = 0; f < MAX_FAMILY; f++)
  28285. {
  28286. new v = GetGangVehicle(f, carbeingtowed);
  28287. if(v != -1)
  28288. {
  28289. new string[72 + MAX_PLAYER_NAME];
  28290. format(string, sizeof(string), "Vehicle registration: %d | Name: %s | Owner: %s.",carbeingtowed,GetVehicleName(FamilyVehicleInfo[f][v][fvId]),FamilyInfo[f][FamilyLeader]);
  28291. SendClientMessage(playerid, COLOR_WHITE, string);
  28292. return 1;
  28293. }
  28294. }
  28295. SendClientMessage(playerid, COLOR_GRAD2, "This vehicle is not owned by anyone!");
  28296. }
  28297. else if(IsPlayerInRangeOfVehicle(playerid, closestcar, 9.0) && !IsTrailerAttachedToVehicle(carid))
  28298. {
  28299. foreach(Player, i)
  28300. {
  28301. new v = GetPlayerVehicle(i, closestcar);
  28302. if(v != -1)
  28303. {
  28304. new string[78 + MAX_PLAYER_NAME];
  28305. format(string, sizeof(string), "Vehicle registration: %d | Name: %s | Owner: %s | Ticket: $%d.",closestcar,GetVehicleName(PlayerVehicleInfo[i][v][pvId]),GetPlayerNameEx(i),PlayerVehicleInfo[i][v][pvTicket]);
  28306. SendClientMessage(playerid, COLOR_WHITE, string);
  28307. return 1;
  28308. }
  28309. }
  28310. for(new f = 0; f < MAX_FAMILY; f++)
  28311. {
  28312. new v = GetGangVehicle(f, closestcar);
  28313. if(v != -1)
  28314. {
  28315. new string[72 + MAX_PLAYER_NAME];
  28316. format(string, sizeof(string), "Vehicle registration: %d | Name: %s | Owner: %s.",closestcar,GetVehicleName(FamilyVehicleInfo[f][v][fvId]),FamilyInfo[f][FamilyLeader]);
  28317. SendClientMessage(playerid, COLOR_WHITE, string);
  28318. return 1;
  28319. }
  28320. }
  28321. SendClientMessage(playerid, COLOR_GRAD2, "This vehicle is not owned by anyone!");
  28322. }
  28323. else
  28324. {
  28325. SendClientMessage(playerid, COLOR_GRAD1, "ERROR: you're not towing a vehicle/near to another vehicle.");
  28326. }
  28327. }
  28328. else
  28329. {
  28330. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use this command.");
  28331. }
  28332. return 1;
  28333. }
  28334. CMD:vmdc(playerid, params[])
  28335. {
  28336. if(IsACop(playerid))
  28337. {
  28338. new string[128], giveplayerid;
  28339. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /vmdc [playerid/partofname]");
  28340. if(IsPlayerConnected(giveplayerid))
  28341. {
  28342. SendClientMessage(playerid, COLOR_GREEN, "_______________________________________");
  28343. format(string, sizeof(string), "*** %s' Vehicles ***", GetPlayerNameEx(giveplayerid));
  28344. SendClientMessage(playerid, COLOR_GRAD2, string);
  28345. for(new i=0; i<MAX_PLAYERVEHICLES; i++)
  28346. {
  28347. if(PlayerVehicleInfo[giveplayerid][i][pvId] != INVALID_PLAYER_VEHICLE_ID)
  28348. {
  28349. format(string, sizeof(string), "Vehicle registration: %d | Vehicle Name: %s | Ticket: $%d.",PlayerVehicleInfo[giveplayerid][i][pvId],GetVehicleName(PlayerVehicleInfo[giveplayerid][i][pvId]),PlayerVehicleInfo[giveplayerid][i][pvTicket]);
  28350. SendClientMessage(playerid, COLOR_WHITE, string);
  28351. }
  28352. else if(PlayerVehicleInfo[giveplayerid][i][pvImpounded])
  28353. {
  28354. format(string, sizeof(string), "Vehicle registration: Voided (impounded) | Vehicle Name: %s | Ticket: $%d.",VehicleName[PlayerVehicleInfo[giveplayerid][i][pvModelId] - 400],PlayerVehicleInfo[giveplayerid][i][pvTicket]);
  28355. SendClientMessage(playerid, COLOR_WHITE, string);
  28356. }
  28357. }
  28358. SendClientMessage(playerid, COLOR_GREEN, "_______________________________________");
  28359. }
  28360. }
  28361. return 1;
  28362. }
  28363. CMD:vticket(playerid, params[])
  28364. {
  28365. if(IsACop(playerid))
  28366. {
  28367. if(isnull(params)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /vticket [vehicle registration]");
  28368. if(PlayerInfo[playerid][pTicketTime] != 0)
  28369. {
  28370. SendClientMessage(playerid, COLOR_GRAD2, "You must wait within a minute in order to use this command again!");
  28371. return 1;
  28372. }
  28373. new Float: x, Float: y, Float: z, vehicleid = strval(params);
  28374. GetVehiclePos(vehicleid, x, y, z);
  28375. if(IsPlayerInRangeOfPoint(playerid, 5.0, x, y, z))
  28376. {
  28377. if(vehicleid != INVALID_VEHICLE_ID)
  28378. {
  28379. foreach(Player, i)
  28380. {
  28381. new v = GetPlayerVehicle(i, vehicleid);
  28382. if(v != -1)
  28383. {
  28384. new string[62 + MAX_PLAYER_NAME];
  28385. PlayerVehicleInfo[i][v][pvTicket] += 1000;
  28386. PlayerInfo[playerid][pTicketTime] = 60;
  28387. format(string, sizeof(string), "You have issued a $1000 ticket on %s's %s.",GetPlayerNameEx(i),GetVehicleName(PlayerVehicleInfo[i][v][pvId]));
  28388. SendClientMessage(playerid, COLOR_WHITE, string);
  28389. return 1;
  28390. }
  28391. }
  28392. for(new f = 0; f < MAX_FAMILY; f++)
  28393. {
  28394. new v = GetGangVehicle(f, vehicleid);
  28395. if(v != -1)
  28396. {
  28397. SendClientMessage(playerid, COLOR_WHITE, "You can't issue a ticket on a family owned vehicle!");
  28398. return 1;
  28399. }
  28400. }
  28401. SendClientMessage(playerid, COLOR_GRAD2, "This vehicle does not have any registration!");
  28402. }
  28403. }
  28404. else
  28405. {
  28406. SendClientMessage(playerid, COLOR_GRAD2, "You need to be near such vehicle!");
  28407. }
  28408. }
  28409. return 1;
  28410. }
  28411. CMD:tow(playerid, params[]) {
  28412. if(IsACop(playerid)) {
  28413. if(IsPlayerInAnyVehicle(playerid))
  28414. {
  28415. new
  28416. carid = GetPlayerVehicleID(playerid);
  28417. if(IsATowTruck(carid))
  28418. {
  28419. new
  28420. closestcar = GetClosestCar(playerid, carid);
  28421. foreach(Player, i) {
  28422. if(arr_Towing[i] == closestcar || (GetPlayerVehicleID(i) == closestcar && GetPlayerState(i) == 2)) return SendClientMessage(playerid, COLOR_GREY, "You can't tow a vehicle which is occupied, or in tow.");
  28423. }
  28424. if(GetDistanceToCar(playerid,closestcar) <= 8 && !IsTrailerAttachedToVehicle(carid)) {
  28425. foreach(Player, i) {
  28426. if(GetPlayerVehicle(i, closestcar) != -1) {
  28427. new
  28428. hKey;
  28429. if(((hKey = PlayerInfo[i][pHouse]) != INVALID_HOUSE_ID) && IsPlayerInRangeOfPoint(playerid, 50.0, HouseInfo[hKey][hExteriorX], HouseInfo[hKey][hExteriorY], HouseInfo[hKey][hExteriorZ])
  28430. ||((hKey = PlayerInfo[i][pHouse2]) != INVALID_HOUSE_ID) && IsPlayerInRangeOfPoint(playerid, 50.0, HouseInfo[hKey][hExteriorX], HouseInfo[hKey][hExteriorY], HouseInfo[hKey][hExteriorZ])) {
  28431. return SendClientMessage(playerid, COLOR_GREY, "This vehicle doesn't need to be towed.");
  28432. }
  28433. if(ProxDetectorS(30.0,playerid,i))
  28434. SendClientMessage(i, COLOR_LIGHTBLUE, "Someone is attempting to tow your vehicle away!");
  28435. arr_Towing[playerid] = closestcar;
  28436. SendClientMessage(playerid, COLOR_GRAD2, "This player owned vehicle is available for impounding.");
  28437. return AttachTrailerToVehicle(closestcar,carid);
  28438. }
  28439. }
  28440. SendClientMessage(playerid, COLOR_GRAD2, "This vehicle has no registration, it is available for impounding.");
  28441. AttachTrailerToVehicle(closestcar,carid);
  28442. arr_Towing[playerid] = closestcar;
  28443. return 1;
  28444. }
  28445. }
  28446. else SendClientMessage(playerid, COLOR_GRAD2, "You're not authorized to tow with this vehicle.");
  28447. }
  28448. else SendClientMessage(playerid, COLOR_GRAD2, "You need to be inside a vehicle to use this command!");
  28449. }
  28450. else SendClientMessage(playerid, COLOR_GRAD2, "You're not authorized to use this command.");
  28451. return 1;
  28452. }
  28453. CMD:untow(playerid, params[])
  28454. {
  28455. if(IsACop(playerid))
  28456. {
  28457. if(IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid)))
  28458. {
  28459. SendClientMessage(playerid, COLOR_GRAD1,"You have unhooked the vehicle that you were towing.");
  28460. arr_Towing[playerid] = INVALID_VEHICLE_ID;
  28461. DetachTrailerFromVehicle(GetPlayerVehicleID(playerid));
  28462. }
  28463. else
  28464. {
  28465. SendClientMessage(playerid, COLOR_GRAD1,"You're currently not towing anything.");
  28466. }
  28467. }
  28468. else
  28469. {
  28470. SendClientMessage(playerid, COLOR_GRAD2, "You're not authorized to use this command.");
  28471. }
  28472. return 1;
  28473. }
  28474. CMD:lspddiv(playerid, params[])
  28475. {
  28476. if(IsACop(playerid))
  28477. {
  28478. new string[128], giveplayerid, division;
  28479. if(sscanf(params, "ud", giveplayerid, division)) {
  28480. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /lspddiv [playerid/partofname] [division]");
  28481. SendClientMessage(playerid, COLOR_GRAD2, "Available division names: 1 (None), 3 (FTO), 4 (S.W.A.T.), 5 (D.E.B.), 7 (TE)");
  28482. return 1;
  28483. }
  28484. if(PlayerInfo[playerid][pRank] >= 4)
  28485. {
  28486. if(IsPlayerConnected(giveplayerid))
  28487. {
  28488. if(PlayerInfo[playerid][pFaction] == 1)
  28489. {
  28490. if(division == 3)
  28491. {
  28492. PlayerInfo[giveplayerid][pDivision] = 3;
  28493. format(string, sizeof(string), "You're now in the FTO division, invited by %s.", GetPlayerNameEx(playerid));
  28494. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  28495. format(string, sizeof(string), "You have invited %s into the FTO division.", GetPlayerNameEx(giveplayerid));
  28496. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  28497. }
  28498. else if(division == 7) {
  28499. PlayerInfo[giveplayerid][pDivision] = 7;
  28500. format(string, sizeof(string), "You're now in the Traffic Enforcement division, invited by %s.", GetPlayerNameEx(playerid));
  28501. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  28502. format(string, sizeof(string), "You have invited %s into the Traffic Enforcement division.", GetPlayerNameEx(giveplayerid));
  28503. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  28504. }
  28505. else if(division == 4)
  28506. {
  28507. PlayerInfo[giveplayerid][pDivision] = 4;
  28508. format(string, sizeof(string), "You're now in the S.W.A.T. division, invited by %s.", GetPlayerNameEx(playerid));
  28509. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  28510. format(string, sizeof(string), "You have invited %s to join the S.W.A.T. division.", GetPlayerNameEx(giveplayerid));
  28511. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  28512. }
  28513. else if(division == 5)
  28514. {
  28515. PlayerInfo[giveplayerid][pDivision] = 5;
  28516. format(string, sizeof(string), "You're now in the D.E.B. division, invited by %s.", GetPlayerNameEx(playerid));
  28517. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  28518. format(string, sizeof(string), "You have invited %s to join the D.E.B. division.", GetPlayerNameEx(giveplayerid));
  28519. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  28520. }
  28521. else if(division == 1)
  28522. {
  28523. PlayerInfo[giveplayerid][pDivision] = 1;
  28524. format(string, sizeof(string), "You have been kicked from your division by %s.", GetPlayerNameEx(playerid));
  28525. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  28526. format(string, sizeof(string), "You have kicked %s out of their division.", GetPlayerNameEx(giveplayerid));
  28527. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  28528. }
  28529. }
  28530. }
  28531. }
  28532. else
  28533. {
  28534. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command - only R4+ can do this.");
  28535. }
  28536. }
  28537. return 1;
  28538. }
  28539. CMD:sasddiv(playerid, params[])
  28540. {
  28541. if(IsACop(playerid))
  28542. {
  28543. new string[128], giveplayerid, division;
  28544. if(sscanf(params, "ud", giveplayerid, division)) {
  28545. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /lspddiv [playerid/partofname] [division]");
  28546. SendClientMessage(playerid, COLOR_GRAD2, "Available division names: 1 (None), 3 (FTO), 4 (S.W.A.T.), 5 (D.E.B.), 7 (TE)");
  28547. return 1;
  28548. }
  28549. if(PlayerInfo[playerid][pRank] >= 4)
  28550. {
  28551. if(IsPlayerConnected(giveplayerid))
  28552. {
  28553. if(PlayerInfo[playerid][pFaction] == 1)
  28554. {
  28555. if(division == 3)
  28556. {
  28557. PlayerInfo[giveplayerid][pDivision] = 3;
  28558. format(string, sizeof(string), "You're now in the FTO division, invited by %s.", GetPlayerNameEx(playerid));
  28559. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  28560. format(string, sizeof(string), "You have invited %s into the FTO division.", GetPlayerNameEx(giveplayerid));
  28561. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  28562. }
  28563. else if(division == 7) {
  28564. PlayerInfo[giveplayerid][pDivision] = 7;
  28565. format(string, sizeof(string), "You're now in the Traffic Enforcement division, invited by %s.", GetPlayerNameEx(playerid));
  28566. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  28567. format(string, sizeof(string), "You have invited %s into the Traffic Enforcement division.", GetPlayerNameEx(giveplayerid));
  28568. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  28569. }
  28570. else if(division == 4)
  28571. {
  28572. PlayerInfo[giveplayerid][pDivision] = 4;
  28573. format(string, sizeof(string), "You're now in the S.W.A.T. division, invited by %s.", GetPlayerNameEx(playerid));
  28574. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  28575. format(string, sizeof(string), "You have invited %s to join the S.W.A.T. division.", GetPlayerNameEx(giveplayerid));
  28576. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  28577. }
  28578. else if(division == 5)
  28579. {
  28580. PlayerInfo[giveplayerid][pDivision] = 5;
  28581. format(string, sizeof(string), "You're now in the D.E.B. division, invited by %s.", GetPlayerNameEx(playerid));
  28582. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  28583. format(string, sizeof(string), "You have invited %s to join the D.E.B. division.", GetPlayerNameEx(giveplayerid));
  28584. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  28585. }
  28586. else if(division == 1)
  28587. {
  28588. PlayerInfo[giveplayerid][pDivision] = 1;
  28589. format(string, sizeof(string), "You have been kicked from your division by %s.", GetPlayerNameEx(playerid));
  28590. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  28591. format(string, sizeof(string), "You have kicked %s out of their division.", GetPlayerNameEx(giveplayerid));
  28592. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  28593. }
  28594. }
  28595. }
  28596. }
  28597. else
  28598. {
  28599. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command - only R4+ can do this.");
  28600. }
  28601. }
  28602. return 1;
  28603. }
  28604. CMD:aresdiv(playerid, params[])
  28605. {
  28606. if(IsACop(playerid))
  28607. {
  28608. new string[128], giveplayerid, division;
  28609. if(sscanf(params, "ud", giveplayerid, division)) {
  28610. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /lspddiv [playerid/partofname] [division]");
  28611. SendClientMessage(playerid, COLOR_GRAD2, "Available division names: 1 (None), 3 (FTO), 4 (S.W.A.T.), 5 (D.E.B.), 7 (TE)");
  28612. return 1;
  28613. }
  28614. if(PlayerInfo[playerid][pRank] >= 4)
  28615. {
  28616. if(IsPlayerConnected(giveplayerid))
  28617. {
  28618. if(PlayerInfo[playerid][pFaction] == 10)
  28619. {
  28620. if(division == 3)
  28621. {
  28622. PlayerInfo[giveplayerid][pDivision] = 3;
  28623. format(string, sizeof(string), "You're now in the FTO division, invited by %s.", GetPlayerNameEx(playerid));
  28624. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  28625. format(string, sizeof(string), "You have invited %s into the FTO division.", GetPlayerNameEx(giveplayerid));
  28626. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  28627. }
  28628. else if(division == 7) {
  28629. PlayerInfo[giveplayerid][pDivision] = 7;
  28630. format(string, sizeof(string), "You're now in the Traffic Enforcement division, invited by %s.", GetPlayerNameEx(playerid));
  28631. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  28632. format(string, sizeof(string), "You have invited %s into the Traffic Enforcement division.", GetPlayerNameEx(giveplayerid));
  28633. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  28634. }
  28635. else if(division == 4)
  28636. {
  28637. PlayerInfo[giveplayerid][pDivision] = 4;
  28638. format(string, sizeof(string), "You're now in the S.W.A.T. division, invited by %s.", GetPlayerNameEx(playerid));
  28639. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  28640. format(string, sizeof(string), "You have invited %s to join the S.W.A.T. division.", GetPlayerNameEx(giveplayerid));
  28641. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  28642. }
  28643. else if(division == 5)
  28644. {
  28645. PlayerInfo[giveplayerid][pDivision] = 5;
  28646. format(string, sizeof(string), "You're now in the D.E.B. division, invited by %s.", GetPlayerNameEx(playerid));
  28647. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  28648. format(string, sizeof(string), "You have invited %s to join the D.E.B. division.", GetPlayerNameEx(giveplayerid));
  28649. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  28650. }
  28651. else if(division == 1)
  28652. {
  28653. PlayerInfo[giveplayerid][pDivision] = 1;
  28654. format(string, sizeof(string), "You have been kicked from your division by %s.", GetPlayerNameEx(playerid));
  28655. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  28656. format(string, sizeof(string), "You have kicked %s out of their division.", GetPlayerNameEx(giveplayerid));
  28657. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  28658. }
  28659. }
  28660. }
  28661. }
  28662. else
  28663. {
  28664. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command - only R4+ can do this.");
  28665. }
  28666. }
  28667. return 1;
  28668. }
  28669. CMD:destroyplant(playerid, params[]) {
  28670. if(IsACop(playerid) || (PlayerInfo[playerid][pFaction] == 3 && PlayerInfo[playerid][pDivision] == 2) || (PlayerInfo[playerid][pFaction] == 3 && PlayerInfo[playerid][pRank] >= 5)) {
  28671. foreach(Player, i) if(IsValidDynamicObject(PlayerInfo[i][pWeedObject]) && IsPlayerInRangeOfPoint(playerid, 4, PlayerInfo[i][pWeedPos][0], PlayerInfo[i][pWeedPos][1], PlayerInfo[i][pWeedPos][2])) {
  28672. if(GetPlayerVirtualWorld(playerid) == PlayerInfo[i][pWeedVW] && GetPlayerInterior(playerid) == PlayerInfo[i][pWeedInt]) {
  28673. new
  28674. szMessage[128];
  28675. ApplyAnimation(playerid,"BOMBER","BOM_Plant_Crouch_Out", 4.0, 0, 0, 0, 0, 0, 1);
  28676. format(szMessage, sizeof(szMessage), "* You seized a marijuana plant weighing %d grams.", PlayerInfo[i][pWeedGrowth]);
  28677. SendClientMessage(playerid, COLOR_GREY, szMessage);
  28678. format(szMessage, sizeof(szMessage), "* %s seizes the weed plant.", GetPlayerNameEx(playerid), GetPlayerNameEx(i));
  28679. ProxDetector(25.0, playerid, szMessage, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  28680. DestroyDynamicObject(PlayerInfo[i][pWeedObject]);
  28681. PlayerInfo[i][pWeedObject] = 0;
  28682. return 1;
  28683. }
  28684. }
  28685. SendClientMessage(playerid, COLOR_GREY, "You're not at a plant.");
  28686. }
  28687. else
  28688. {
  28689. SendClientMessage(playerid, COLOR_GREY, "You're not a law enforcement officer.");
  28690. }
  28691. return 1;
  28692. }
  28693. CMD:omakeleader(playerid, params[]) {
  28694. if(PlayerInfo[playerid][pAdmin] >= 5) {
  28695. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  28696. return SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  28697. new string[128], name[MAX_PLAYER_NAME], faction;
  28698. if(sscanf(params, "us[MAX_PlAYER_NAME]", name, faction)) {
  28699. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /omakeleader [playername] [factionid]");
  28700. SendClientMessage(playerid, COLOR_GRAD3, "|1 LSPD |2 FBI |3 LSFMD |4 Hitman |5 Government |9 SA News |10 ARES");
  28701. return 1;
  28702. }
  28703. new giveplayerid = ReturnUser(name);
  28704. if(doesAccountExist(name))
  28705. {
  28706. new
  28707. ftext[100];
  28708. if(faction == 1)
  28709. ftext = "Los Santos Police Department";
  28710. else if(faction == 2)
  28711. ftext = "Federal Bureu Investigation";
  28712. else if(faction == 3)
  28713. ftext = "Los Santos Fire & Medical Department";
  28714. else if(faction == 4)
  28715. ftext = "Hitman Agency";
  28716. else if(faction == 5)
  28717. ftext = "Government";
  28718. else if(faction == 9)
  28719. ftext = "SA News";
  28720. else if(faction == 10)
  28721. ftext = "ARES";
  28722. else
  28723. return SendClientMessage(playerid, COLOR_GREY, "Invalid faction ID.");
  28724. if(faction == 2 && faction == 5 && faction == 9 && faction == 10)
  28725. {
  28726. return SCM(playerid, -1, "Faction is closed.");
  28727. }
  28728. if(faction == 1)
  28729. {
  28730. format(pdleader, 128, "%s", GetPlayerNameEx(giveplayerid));
  28731. }
  28732. else if(faction == 2)
  28733. {
  28734. format(fbileader, 128, "%s", GetPlayerNameEx(giveplayerid));
  28735. }
  28736. else if(faction == 3)
  28737. {
  28738. format(fmdleader, 128, "%s", GetPlayerNameEx(giveplayerid));
  28739. }
  28740. OnPlayerOfflineLogin(name);
  28741. PlayerInfo[MAX_PLAYERS][pLeader] = faction;
  28742. PlayerInfo[MAX_PLAYERS][pRank] = 6;
  28743. PlayerInfo[MAX_PLAYERS][pFaction] = faction;
  28744. format(string, sizeof(string), "AdmCmd: %s has offline appointed %s the leader of %s.", GetPlayerNameEx(playerid), name, ftext);
  28745. format(string, sizeof(string), "%s have made %s the leader of the %s.", GetPlayerNameEx(playerid), name, ftext);
  28746. Log("logs/faction.log", string);
  28747. format(string, sizeof(string), "You have made %s the leader of the %s.", name,ftext);
  28748. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  28749. PlayerInfo[MAX_PLAYERS][pGang] = 255;
  28750. OnPlayerOfflineSave(name);
  28751. }
  28752. else SCM(playerid, -1, "That account does not exist.");
  28753. }
  28754. else SCM(playerid, COLOR_GREY, NOTAUTH);
  28755. return 1;
  28756. }
  28757. CMD:makeleader(playerid, params[]) {
  28758. if(PlayerInfo[playerid][pAdmin] >= 5) {
  28759. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  28760. return SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  28761. new string[128], giveplayerid, faction;
  28762. if(sscanf(params, "ud", giveplayerid, faction)) {
  28763. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /makeleader [playerid/partofname] [factionid]");
  28764. SendClientMessage(playerid, COLOR_GRAD3, "|1 LSPD |2 FBI |3 LSFMD |4 Hitman |5 Government |9 SA News |10 ARES |11 Sasd");
  28765. return 1;
  28766. }
  28767. if(giveplayerid != INVALID_PLAYER_ID) {
  28768. new
  28769. ftext[100];
  28770. if(faction == 1)
  28771. ftext = "Los Santos Police Department";
  28772. else if(faction == 2)
  28773. ftext = "Federal Bureu Investigation";
  28774. else if(faction == 3)
  28775. ftext = "Los Santos Fire & Medical Department";
  28776. else if(faction == 4)
  28777. ftext = "Hitman Agency";
  28778. else if(faction == 5)
  28779. ftext = "Government";
  28780. else if(faction == 9)
  28781. ftext = "SA News";
  28782. else if(faction == 10)
  28783. ftext = "ARES";
  28784. else if(faction == 11)
  28785. ftext = "San Andreas Sheriff Department";
  28786. else
  28787. return SendClientMessage(playerid, COLOR_GREY, "Invalid faction ID.");
  28788. if(faction == 1)
  28789. {
  28790. format(pdleader, 128, "%s", GetPlayerNameEx(giveplayerid));
  28791. }
  28792. else if(faction == 2)
  28793. {
  28794. format(fbileader, 128, "%s", GetPlayerNameEx(giveplayerid));
  28795. }
  28796. else if(faction == 3)
  28797. {
  28798. format(fmdleader, 128, "%s", GetPlayerNameEx(giveplayerid));
  28799. }
  28800. else if(faction == 4)
  28801. {
  28802. format(governmentleader, 128, "%s", GetPlayerNameEx(giveplayerid));
  28803. }
  28804. else if(faction == 9)
  28805. {
  28806. format(GMAleader, 128, "%s", GetPlayerNameEx(giveplayerid));
  28807. }
  28808. else if(faction == 10)
  28809. {
  28810. format(aresleader, 128, "%s", GetPlayerNameEx(giveplayerid));
  28811. }
  28812. else if(faction == 11)
  28813. {
  28814. format(sasdleader, 128, "%s", GetPlayerNameEx(giveplayerid));
  28815. }
  28816. PlayerInfo[giveplayerid][pLeader] = faction;
  28817. PlayerInfo[giveplayerid][pRank] = 6;
  28818. PlayerInfo[giveplayerid][pFaction] = faction;
  28819. format(string, sizeof(string), "Admin %s has appointed you the leader of {33AA33}%s.", GetPlayerNameEx(playerid), ftext);
  28820. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  28821. format(string, sizeof(string), "%s have made %s the leader of the %s.", GetPlayerNameEx(playerid), GetPlayerNameEx(playerid), ftext);
  28822. Log("logs/faction.log", string);
  28823. format(string, sizeof(string), "You have made %s the leader of the %s.", GetPlayerNameEx(giveplayerid),ftext);
  28824. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  28825. PlayerInfo[giveplayerid][pGang] = 255;
  28826. }
  28827. }
  28828. else
  28829. {
  28830. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  28831. }
  28832. return 1;
  28833. }
  28834. CMD:walkstyle(playerid, params[])
  28835. {
  28836. new
  28837. iSuccess;
  28838. switch(strval(params))
  28839. {
  28840. case 1: { SetPlayerWalkingStyle(playerid, 0); iSuccess++; }
  28841. case 2: { SetPlayerWalkingStyle(playerid, 3); iSuccess++; }
  28842. case 3: { SetPlayerWalkingStyle(playerid, 4); iSuccess++; }
  28843. case 4: { SetPlayerWalkingStyle(playerid, 5); iSuccess++; }
  28844. case 5: { SetPlayerWalkingStyle(playerid, 6); iSuccess++; }
  28845. case 6: { SetPlayerWalkingStyle(playerid, 8); iSuccess++; }
  28846. case 7: { SetPlayerWalkingStyle(playerid, 9); iSuccess++; }
  28847. case 8: { SetPlayerWalkingStyle(playerid, 10); iSuccess++; }
  28848. case 9: { SetPlayerWalkingStyle(playerid, 11); iSuccess++; }
  28849. case 10: { SetPlayerWalkingStyle(playerid, 12); iSuccess++; }
  28850. case 11: { SetPlayerWalkingStyle(playerid, 13); iSuccess++; }
  28851. default: SendClientMessage(playerid, COLOR_WHITE, "USAGE: /walkstyle [1-11]");
  28852. }
  28853. if(iSuccess > 0) SendClientMessage(playerid, COLOR_WHITE, "You are now using a new walking style.");
  28854. return 1;
  28855. }
  28856. stock SetPlayerWalkingStyle(playerid, style)
  28857. {
  28858. PlayerInfo[playerid][pWalkStyle] = style;
  28859. }
  28860. stock GetPlayerWalkingStyle(playerid)
  28861. {
  28862. return PlayerInfo[playerid][pWalkStyle];
  28863. }
  28864. forward WalkAnim(playerid);
  28865. public WalkAnim(playerid)
  28866. {
  28867. new keys, updown, leftright;
  28868. GetPlayerKeys(playerid,keys,updown,leftright);
  28869. if (GetPlayerWalkingStyle(playerid) == WALK_NORMAL)
  28870. {
  28871. if ((keys & KEY_WALK && updown & KEY_UP) || (keys & KEY_WALK && updown & KEY_DOWN) || (keys & KEY_WALK && leftright & KEY_LEFT) || (keys & KEY_WALK && leftright & KEY_RIGHT))
  28872. {
  28873. KillTimer(walktime[playerid]);
  28874. ApplyAnimation(playerid,"PED","WALK_player",4.1,1,1,1,1,1);
  28875. walktime[playerid] = SetTimerEx("WalkAnim",200,0,"d",playerid);
  28876. }
  28877. else ApplyAnimation(playerid,"PED","WALK_player",4.0,0,0,0,0,1), KillTimer(walktime[playerid]);
  28878. }
  28879. else if (GetPlayerWalkingStyle(playerid) == WALK_PED)
  28880. {
  28881. if ((keys & KEY_WALK && updown & KEY_UP) || (keys & KEY_WALK && updown & KEY_DOWN) || (keys & KEY_WALK && leftright & KEY_LEFT) || (keys & KEY_WALK && leftright & KEY_RIGHT))
  28882. {
  28883. KillTimer(walktime[playerid]);
  28884. ApplyAnimation(playerid,"PED","WALK_civi",4.1,1,1,1,1,1);
  28885. walktime[playerid] = SetTimerEx("WalkAnim",200,0,"d",playerid);
  28886. }
  28887. else ApplyAnimation(playerid,"PED","WALK_civi",4.0,0,0,0,0,1), KillTimer(walktime[playerid]);
  28888. }
  28889. else if (GetPlayerWalkingStyle(playerid) == WALK_GANGSTA)
  28890. {
  28891. if ((keys & KEY_WALK && updown & KEY_UP) || (keys & KEY_WALK && updown & KEY_DOWN) || (keys & KEY_WALK && leftright & KEY_LEFT) || (keys & KEY_WALK && leftright & KEY_RIGHT))
  28892. {
  28893. KillTimer(walktime[playerid]);
  28894. ApplyAnimation(playerid,"PED","WALK_gang1",4.1,1,1,1,1,1);
  28895. walktime[playerid] = SetTimerEx("WalkAnim",200,0,"d",playerid);
  28896. }
  28897. else ApplyAnimation(playerid,"PED","WALK_gang1",4.0,0,0,0,0,1), KillTimer(walktime[playerid]);
  28898. }
  28899. else if (GetPlayerWalkingStyle(playerid) == WALK_GANGSTA2)
  28900. {
  28901. if ((keys & KEY_WALK && updown & KEY_UP) || (keys & KEY_WALK && updown & KEY_DOWN) || (keys & KEY_WALK && leftright & KEY_LEFT) || (keys & KEY_WALK && leftright & KEY_RIGHT))
  28902. {
  28903. KillTimer(walktime[playerid]);
  28904. ApplyAnimation(playerid,"PED","WALK_gang2",4.1,1,1,1,1,1);
  28905. walktime[playerid] = SetTimerEx("WalkAnim",200,0,"d",playerid);
  28906. }
  28907. else ApplyAnimation(playerid,"PED","WALK_gang2",4.0,0,0,0,0,1), KillTimer(walktime[playerid]);
  28908. }
  28909. else if (GetPlayerWalkingStyle(playerid) == WALK_OLD)
  28910. {
  28911. if ((keys & KEY_WALK && updown & KEY_UP) || (keys & KEY_WALK && updown & KEY_DOWN) || (keys & KEY_WALK && leftright & KEY_LEFT) || (keys & KEY_WALK && leftright & KEY_RIGHT))
  28912. {
  28913. KillTimer(walktime[playerid]);
  28914. ApplyAnimation(playerid,"PED","WALK_old",4.1,1,1,1,1,1);
  28915. walktime[playerid] = SetTimerEx("WalkAnim",200,0,"d",playerid);
  28916. }
  28917. else ApplyAnimation(playerid,"PED","WALK_old",4.0,0,0,0,0,1), KillTimer(walktime[playerid]);
  28918. }
  28919. else if (GetPlayerWalkingStyle(playerid) == WALK_FAT_OLD)
  28920. {
  28921. if ((keys & KEY_WALK && updown & KEY_UP) || (keys & KEY_WALK && updown & KEY_DOWN) || (keys & KEY_WALK && leftright & KEY_LEFT) || (keys & KEY_WALK && leftright & KEY_RIGHT))
  28922. {
  28923. KillTimer(walktime[playerid]);
  28924. ApplyAnimation(playerid,"PED","WALK_fatold",4.1,1,1,1,1,1);
  28925. walktime[playerid] = SetTimerEx("WalkAnim",200,0,"d",playerid);
  28926. }
  28927. else ApplyAnimation(playerid,"PED","WALK_fatold",4.0,0,0,0,0,1), KillTimer(walktime[playerid]);
  28928. }
  28929. else if (GetPlayerWalkingStyle(playerid) == WALK_FAT)
  28930. {
  28931. if ((keys & KEY_WALK && updown & KEY_UP) || (keys & KEY_WALK && updown & KEY_DOWN) || (keys & KEY_WALK && leftright & KEY_LEFT) || (keys & KEY_WALK && leftright & KEY_RIGHT))
  28932. {
  28933. KillTimer(walktime[playerid]);
  28934. ApplyAnimation(playerid,"PED","WALK_fat",4.1,1,1,1,1,1);
  28935. walktime[playerid] = SetTimerEx("WalkAnim",200,0,"d",playerid);
  28936. }
  28937. else ApplyAnimation(playerid,"PED","WALK_fat",4.0,0,0,0,0,1), KillTimer(walktime[playerid]);
  28938. }
  28939. else if (GetPlayerWalkingStyle(playerid) == WALK_LADY)
  28940. {
  28941. if ((keys & KEY_WALK && updown & KEY_UP) || (keys & KEY_WALK && updown & KEY_DOWN) || (keys & KEY_WALK && leftright & KEY_LEFT) || (keys & KEY_WALK && leftright & KEY_RIGHT))
  28942. {
  28943. KillTimer(walktime[playerid]);
  28944. ApplyAnimation(playerid,"PED","WOMAN_walknorm",4.1,1,1,1,1,1);
  28945. walktime[playerid] = SetTimerEx("WalkAnim",200,0,"d",playerid);
  28946. }
  28947. else ApplyAnimation(playerid,"PED","WOMAN_walknorm",4.0,0,0,0,0,1), KillTimer(walktime[playerid]);
  28948. }
  28949. else if (GetPlayerWalkingStyle(playerid) == WALK_LADY2)
  28950. {
  28951. if ((keys & KEY_WALK && updown & KEY_UP) || (keys & KEY_WALK && updown & KEY_DOWN) || (keys & KEY_WALK && leftright & KEY_LEFT) || (keys & KEY_WALK && leftright & KEY_RIGHT))
  28952. {
  28953. KillTimer(walktime[playerid]);
  28954. ApplyAnimation(playerid,"PED","WOMAN_walkbusy",4.1,1,1,1,1,1);
  28955. walktime[playerid] = SetTimerEx("WalkAnim",200,0,"d",playerid);
  28956. }
  28957. else ApplyAnimation(playerid,"PED","WOMAN_walkbusy",4.0,0,0,0,0,1), KillTimer(walktime[playerid]);
  28958. }
  28959. else if (GetPlayerWalkingStyle(playerid) == WALK_WHORE)
  28960. {
  28961. if ((keys & KEY_WALK && updown & KEY_UP) || (keys & KEY_WALK && updown & KEY_DOWN) || (keys & KEY_WALK && leftright & KEY_LEFT) || (keys & KEY_WALK && leftright & KEY_RIGHT))
  28962. {
  28963. KillTimer(walktime[playerid]);
  28964. ApplyAnimation(playerid,"PED","WOMAN_walkpro",4.1,1,1,1,1,1);
  28965. walktime[playerid] = SetTimerEx("WalkAnim",200,0,"d",playerid);
  28966. }
  28967. else ApplyAnimation(playerid,"PED","WOMAN_walkpro",4.0,0,0,0,0,1), KillTimer(walktime[playerid]);
  28968. }
  28969. else if (GetPlayerWalkingStyle(playerid) == WALK_WHORE2)
  28970. {
  28971. if ((keys & KEY_WALK && updown & KEY_UP) || (keys & KEY_WALK && updown & KEY_DOWN) || (keys & KEY_WALK && leftright & KEY_LEFT) || (keys & KEY_WALK && leftright & KEY_RIGHT))
  28972. {
  28973. KillTimer(walktime[playerid]);
  28974. ApplyAnimation(playerid,"PED","WOMAN_walksexy",4.1,1,1,1,1,1);
  28975. walktime[playerid] = SetTimerEx("WalkAnim",200,0,"d",playerid);
  28976. }
  28977. else ApplyAnimation(playerid,"PED","WOMAN_walksexy",4.0,0,0,0,0,1), KillTimer(walktime[playerid]);
  28978. }
  28979. else if (GetPlayerWalkingStyle(playerid) == WALK_DRUNK)
  28980. {
  28981. if ((keys & KEY_WALK && updown & KEY_UP) || (keys & KEY_WALK && updown & KEY_DOWN) || (keys & KEY_WALK && leftright & KEY_LEFT) || (keys & KEY_WALK && leftright & KEY_RIGHT))
  28982. {
  28983. KillTimer(walktime[playerid]);
  28984. ApplyAnimation(playerid,"PED","WALK_drunk",4.1,1,1,1,1,1);
  28985. walktime[playerid] = SetTimerEx("WalkAnim",200,0,"d",playerid);
  28986. }
  28987. else ApplyAnimation(playerid,"PED","WALK_drunk",4.0,0,0,0,0,1), KillTimer(walktime[playerid]);
  28988. }
  28989. else if (GetPlayerWalkingStyle(playerid) == WALK_BLIND)
  28990. {
  28991. if ((keys & KEY_WALK && updown & KEY_UP) || (keys & KEY_WALK && updown & KEY_DOWN) || (keys & KEY_WALK && leftright & KEY_LEFT) || (keys & KEY_WALK && leftright & KEY_RIGHT))
  28992. {
  28993. KillTimer(walktime[playerid]);
  28994. ApplyAnimation(playerid,"PED","Walk_Wuzi",4.1,1,1,1,1,1);
  28995. walktime[playerid] = SetTimerEx("WalkAnim",200,0,"d",playerid);
  28996. }
  28997. else ApplyAnimation(playerid,"PED","Walk_Wuzi",4.0,0,0,0,0,1), KillTimer(walktime[playerid]);
  28998. }
  28999. return true;
  29000. }
  29001. CMD:gate(playerid, params[]) {
  29002. new
  29003. string[128];
  29004. if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pFaction] == 1 || PlayerInfo[playerid][pFaction] == 2 || PlayerInfo[playerid][pFaction] == 5 || PlayerInfo[playerid][pFaction] == 5 || PlayerInfo[playerid][pFaction] == 10 || PlayerInfo[playerid][pFaction] == 10 || PlayerInfo[playerid][pFaction] == 11 || PlayerInfo[playerid][pFaction] == 11) {
  29005. GetPlayerPos(playerid, Positions[0][0], Positions[0][1], Positions[0][2]);
  29006. GetDynamicObjectPos(LSPDGate, Positions[1][0], Positions[1][1], Positions[1][2]);
  29007. GetDynamicObjectPos(LSPDGate2, Positions[4][0], Positions[4][1], Positions[4][2]);
  29008. GetDynamicObjectPos(FBIGate1, Positions[2][0], Positions[2][1], Positions[2][2]);
  29009. GetDynamicObjectPos(FBIGate2, Positions[3][0], Positions[3][1], Positions[3][2]);
  29010. if(GetDistance(Positions[0][0], Positions[0][1], Positions[0][2], Positions[1][0], Positions[1][1], Positions[1][2]) < 15.0) {
  29011. if(LSPDGateStatus == 0) {
  29012. format(string, sizeof(string), "* %s uses their remote to open the gates.", GetPlayerNameEx(playerid));
  29013. ProxDetector(5.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  29014. SetDynamicObjectRot(LSPDGate, 0.000000, 0, 90);
  29015. LSPDGateStatus = 1;
  29016. }
  29017. else {
  29018. LSPDGateStatus = 0;
  29019. SetDynamicObjectRot(LSPDGate, 0.000000, 90, 90);
  29020. format(string, sizeof(string), "* %s uses their remote to close the gates.", GetPlayerNameEx(playerid));
  29021. ProxDetector(5.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  29022. }
  29023. }
  29024. else if(GetDistance(Positions[0][0], Positions[0][1], Positions[0][2], Positions[4][0], Positions[4][1], Positions[4][2]) < 15.0) {
  29025. if(LSPDGate2Status == 0) {
  29026. format(string, sizeof(string), "* %s uses their remote to open the gates.", GetPlayerNameEx(playerid));
  29027. ProxDetector(5.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  29028. MoveDynamicObject(LSPDGate2, 1588.6501464844, -1638.0750732422, 6.2343215942383, 3);
  29029. LSPDGate2Status = 1;
  29030. }
  29031. else {
  29032. format(string, sizeof(string), "* %s uses their remote to close the gates.", GetPlayerNameEx(playerid));
  29033. ProxDetector(5.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  29034. MoveDynamicObject(LSPDGate2, 1588.6428222656, -1638.02734375, 15.240161895752, 3);
  29035. LSPDGate2Status = 0;
  29036. }
  29037. }
  29038. else if(GetDistance(Positions[0][0], Positions[0][1], Positions[0][2], Positions[4][0], Positions[4][1], Positions[4][2]) < 15.0) {
  29039. if(LSPDGate2Status == 0) {
  29040. format(string, sizeof(string), "* %s uses their remote to open the gates.", GetPlayerNameEx(playerid));
  29041. ProxDetector(5.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  29042. MoveDynamicObject(LSPDGate2, 313.49652099609, -1482.9189453125, 26.682577133179, 3);
  29043. LSPDGate2Status = 1;
  29044. }
  29045. else {
  29046. format(string, sizeof(string), "* %s uses their remote to close the gates.", GetPlayerNameEx(playerid));
  29047. ProxDetector(5.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  29048. MoveDynamicObject(LSPDGate2, 320.40628051758, -1487.9129638672, 26.900407791138, 3);
  29049. LSPDGate2Status = 0;
  29050. }
  29051. }
  29052. }
  29053. if(PlayerInfo[playerid][pFaction] == 2 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pFaction] == 5 || PlayerInfo[playerid][pFaction] == 5) {
  29054. if(GetDistance(Positions[0][0], Positions[0][1], Positions[0][2], Positions[2][0], Positions[2][1], Positions[2][2]) < 15.0) {
  29055. if(FBIGate1Status == 0) {
  29056. format(string, sizeof(string), "* %s uses their remote to open the gates.", GetPlayerNameEx(playerid));
  29057. ProxDetector(5.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  29058. MoveDynamicObject(FBIGate1, 313.49652099609, -1482.9189453125, 26.682577133179, 3);
  29059. FBIGate1Status = 1;
  29060. }
  29061. else {
  29062. format(string, sizeof(string), "* %s uses their remote to close the gates.", GetPlayerNameEx(playerid));
  29063. ProxDetector(5.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  29064. MoveDynamicObject(FBIGate1, 320.40628051758, -1487.9129638672, 26.900407791138, 3);
  29065. FBIGate1Status = 0;
  29066. }
  29067. }
  29068. else if(GetDistance(Positions[0][0], Positions[0][1], Positions[0][2], Positions[3][0], Positions[3][1], Positions[3][2]) < 15.0) {
  29069. if(FBIGate2Status == 0) {
  29070. format(string, sizeof(string), "* %s uses their remote to open the gates.", GetPlayerNameEx(playerid));
  29071. ProxDetector(5.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  29072. MoveDynamicObject(FBIGate2, 290.56341552734, -1547.8900146484, 27.16854095459, 3);
  29073. FBIGate2Status = 1;
  29074. }
  29075. else {
  29076. format(string, sizeof(string), "* %s uses their remote to close the gates.", GetPlayerNameEx(playerid));
  29077. ProxDetector(5.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  29078. MoveDynamicObject(FBIGate2, 283.96463012695, -1543.154296875, 27.167940139771, 3);
  29079. FBIGate2Status = 0;
  29080. }
  29081. }
  29082. }
  29083. return 1;
  29084. }
  29085. CMD:lift(playerid, params[])
  29086. {
  29087. if(onminer[playerid] == 0) return SendClientMessage(playerid, -1, "You're not a miner.");
  29088. if(exitp == 1) return SendClientMessage(playerid, -1, "Please be patient.");
  29089. if(!IsPlayerInRangeOfPoint(playerid, 5, -1899.0999755859, -1636.5999755859, 25.700000762939)
  29090. && !IsPlayerInRangeOfPoint(playerid, 5, -1899.0996093750, -1636.5996093750, -59.40000152587)) return SendClientMessage(playerid, -1, "You are not near a lift.");
  29091. if(vputi != 0) return SendClientMessage(playerid, -1, "Elevator is on its way.");
  29092. if(lift == 0)
  29093. {
  29094. SetTimer("UpdateDoors", 17500, false);
  29095. MoveObject(floorlift[0], -1900.1999511719, -1638.9000244141, -61.0, 6);
  29096. MoveObject(floorlift[1], -1901.4000244141, -1638.9000244141, -61.0, 6);
  29097. MoveObject(floorlift[2], -1902.0999755859, -1638.9000244141, -61.0, 6);
  29098. MoveObject(upgate, -1899.0999755859, -1636.5999755859, 25.700000762939,5);
  29099. vputi = 1;
  29100. lift = 1;
  29101. }
  29102. else
  29103. {
  29104. SetTimer("UpdateDoors", 17500, false);
  29105. MoveObject(floorlift[0], -1900.1999511719, -1638.9000244141, 23.89999961853, 6);
  29106. MoveObject(floorlift[1], -1901.4000244141, -1638.9000244141, 23.89999961853, 6);
  29107. MoveObject(floorlift[2], -1902.0999755859, -1638.9000244141, 23.89999961853, 6);
  29108. MoveObject(downgate, -1899.099609375, -1636.599609375, -59.400001525879, 5);
  29109. vputi = 1;
  29110. lift = 0;
  29111. }
  29112. return 1;
  29113. }
  29114. CMD:fix(playerid, params[])
  29115. {
  29116. if(PlayerInfo[playerid][pJob] == 7 || PlayerInfo[playerid][pJob2] == 7)
  29117. {
  29118. new string[32 + MAX_PLAYER_NAME];
  29119. if(IsPlayerInAnyVehicle(playerid))
  29120. {
  29121. SendClientMessage(playerid, COLOR_GRAD1, "You can't repair while inside the vehicle.");
  29122. return 1;
  29123. }
  29124. if(PlayerInfo[playerid][pMechTime] > 0)
  29125. {
  29126. format(string, sizeof(string), "You must wait %d seconds!", PlayerInfo[playerid][pMechTime]);
  29127. SendClientMessage(playerid, COLOR_GRAD1,string);
  29128. }
  29129. else if(GetPVarInt(playerid, "EventToken"))
  29130. {
  29131. SendClientMessage(playerid, COLOR_GRAD1, "You can't use this while in an event.");
  29132. }
  29133. else
  29134. {
  29135. new closestcar = GetClosestCar(playerid);
  29136. if(IsPlayerInRangeOfVehicle(playerid, closestcar, 10.0))
  29137. {
  29138. if(!IsABike(closestcar) && !IsAPlane(closestcar)) {
  29139. new engine,lights,alarm,doors,bonnet,boot,objective;
  29140. GetVehicleParamsEx(closestcar,engine,lights,alarm,doors,bonnet,boot,objective);
  29141. if(bonnet == VEHICLE_PARAMS_OFF || bonnet == VEHICLE_PARAMS_UNSET)
  29142. {
  29143. SendClientMessage(playerid, COLOR_GRAD1, "The vehicle hood must be opened in order to repair it.");
  29144. return 1;
  29145. }
  29146. }
  29147. PlayerInfo[playerid][pMechTime] = 60;
  29148. SetVehicleHealth(closestcar, 1000.0);
  29149. format(string, sizeof(string), "* %s has repaired the vehicle.", GetPlayerNameEx(playerid));
  29150. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  29151. }
  29152. else return SendClientMessage(playerid, COLOR_GRAD1, "You're not close enough to any vehicle.");
  29153. }
  29154. }
  29155. else return SendClientMessage(playerid, COLOR_WHITE, "You're not a Mechanic!");
  29156. return 1;
  29157. }
  29158. CMD:nos(playerid, params[])
  29159. {
  29160. if(PlayerInfo[playerid][pJob] == 7 || PlayerInfo[playerid][pJob2] == 7) {
  29161. if(IsPlayerInAnyVehicle(playerid)) {
  29162. if(GetPVarInt(playerid, "EventToken")) {
  29163. return SendClientMessage(playerid, COLOR_GRAD1, "You can't use this while in an event.");
  29164. }
  29165. if(! IsPlayerInInvalidNosVehicle(playerid))
  29166. {
  29167. if(GetPlayerCash(playerid) < 25)
  29168. {
  29169. SendClientMessage(playerid, COLOR_WHITE, "You do not have the money for that.");
  29170. return 1;
  29171. }
  29172. new string[128];
  29173. new nostogive;
  29174. new level = PlayerInfo[playerid][pMechSkill];
  29175. if(level >= 0 && level < 50) { nostogive = 1009; }
  29176. else if(level >= 50 && level < 100) { nostogive = 1009; }
  29177. else if(level >= 100 && level < 200) { nostogive = 1008; }
  29178. else if(level >= 200 && level < 400) { nostogive = 1008; }
  29179. else if(level >= 400) { nostogive = 1010; }
  29180. AddVehicleComponent(GetPlayerVehicleID(playerid),nostogive);
  29181. //NOS
  29182. PlayerPlaySound(playerid,1133,0.0,0.0,0.0);
  29183. GivePlayerCash(playerid, -25);
  29184. format(string, sizeof(string), "* %s added nitrous injection to the vehicle.", GetPlayerNameEx(playerid));
  29185. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  29186. }
  29187. else {
  29188. SendClientMessage(playerid, COLOR_WHITE, "Nitrous injection can't be installed on this vehicle.");
  29189. }
  29190. }
  29191. else {
  29192. SendClientMessage(playerid, COLOR_WHITE, "You're not in a vehicle.");
  29193. }
  29194. }
  29195. else {
  29196. SendClientMessage(playerid, COLOR_WHITE, "You're not a Mechanic!");
  29197. }
  29198. return 1;
  29199. }
  29200. CMD:hyd(playerid, params[])
  29201. {
  29202. if(PlayerInfo[playerid][pJob] == 7 || PlayerInfo[playerid][pJob2] == 7)
  29203. {
  29204. if(IsPlayerInAnyVehicle(playerid))
  29205. {
  29206. if(GetPlayerCash(playerid) < 25)
  29207. {
  29208. SendClientMessage(playerid, COLOR_WHITE, "You do not have the money for that.");
  29209. return 1;
  29210. }
  29211. if(! IsPlayerInInvalidNosVehicle(playerid)) {
  29212. new string[128];
  29213. PlayerPlaySound(playerid,1133,0.0,0.0,0.0);
  29214. AddVehicleComponent(GetPlayerVehicleID(playerid), 1087);
  29215. GivePlayerCash(playerid, -25);
  29216. format(string, sizeof(string), "* %s added hydraulics to the vehicle.", GetPlayerNameEx(playerid));
  29217. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  29218. }
  29219. else {
  29220. SendClientMessage(playerid, COLOR_WHITE, "Hydraulics can't be installed in this vehicle.");
  29221. }
  29222. }
  29223. else {
  29224. SendClientMessage(playerid, COLOR_WHITE, "You're not in a vehicle.");
  29225. }
  29226. }
  29227. else {
  29228. SendClientMessage(playerid, COLOR_WHITE, "You're not a Mechanic!");
  29229. }
  29230. return 1;
  29231. }
  29232. CMD:repair(playerid, params[])
  29233. {
  29234. if(PlayerInfo[playerid][pJob] != 7 && PlayerInfo[playerid][pJob2] != 7)
  29235. {
  29236. SendClientMessage(playerid, COLOR_GREY, " You're not a Car Mechanic!");
  29237. return 1;
  29238. }
  29239. if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_GRAD1, "You can't repair while inside the vehicle.");
  29240. new string[128];
  29241. if(PlayerInfo[playerid][pMechTime] >= 1)
  29242. {
  29243. format(string, sizeof(string), "You must wait %d seconds!", PlayerInfo[playerid][pMechTime]);
  29244. SendClientMessage(playerid, COLOR_GRAD1,string);
  29245. return 1;
  29246. }
  29247. if(GetPVarInt(playerid, "EventToken")) {
  29248. return SendClientMessage(playerid, COLOR_GRAD1, "You can't use this while in an event.");
  29249. }
  29250. new giveplayerid, money;
  29251. if(sscanf(params, "ud", giveplayerid, money)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /repair [playerid/partofname] [price]");
  29252. if(PlayerInfo[playerid][pTire] > 0)
  29253. {
  29254. if(money < 1 || money > 1000) { SendClientMessage(playerid, COLOR_GREY, " Price not lower then $1 or above $1,000!"); return 1; }
  29255. if(IsPlayerConnected(giveplayerid))
  29256. {
  29257. if(giveplayerid != INVALID_PLAYER_ID)
  29258. {
  29259. new closestcar = GetClosestCar(playerid);
  29260. if(IsPlayerInRangeOfVehicle(playerid, closestcar, 8.0))
  29261. {
  29262. if(ProxDetectorS(8.0, playerid, giveplayerid)&& IsPlayerInAnyVehicle(giveplayerid))
  29263. {
  29264. if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "You can't offer a repair to yourself."); return 1; }
  29265. if(!IsABike(closestcar) && !IsAPlane(closestcar))
  29266. {
  29267. new engine,lights,alarm,doors,bonnet,boot,objective;
  29268. GetVehicleParamsEx(closestcar,engine,lights,alarm,doors,bonnet,boot,objective);
  29269. if(bonnet == VEHICLE_PARAMS_OFF || bonnet == VEHICLE_PARAMS_UNSET)
  29270. {
  29271. SendClientMessage(playerid, COLOR_GRAD1, "The vehicle hood must be opened in order to repair it.");
  29272. return 1;
  29273. }
  29274. }
  29275. format(string, sizeof(string), "* You offered %s to fix their car for $%d .",GetPlayerNameEx(giveplayerid),money);
  29276. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  29277. format(string, sizeof(string), "* Car Mechanic %s wants to repair your car for $%d, (type /accept repair) to accept.",GetPlayerNameEx(playerid),money);
  29278. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  29279. PlayerInfo[playerid][pMechTime] = 60;
  29280. RepairOffer[giveplayerid] = playerid;
  29281. RepairPrice[giveplayerid] = money;
  29282. }
  29283. else
  29284. {
  29285. SendClientMessage(playerid, COLOR_GREY, " That player is not near you / not in a car.");
  29286. }
  29287. }
  29288. else
  29289. {
  29290. SendClientMessage(playerid, COLOR_GREY, " You're not near any vehicle.");
  29291. }
  29292. }
  29293. }
  29294. else
  29295. {
  29296. SendClientMessage(playerid, COLOR_GREY, " That player is offline.");
  29297. }
  29298. }
  29299. else
  29300. {
  29301. SendClientMessage(playerid, COLOR_GREY, " You do not have any tires, buy one from a craftsman.");
  29302. }
  29303. return 1;
  29304. }
  29305. CMD:mechduty(playerid, params[])
  29306. {
  29307. if(PlayerInfo[playerid][pJob] == 7 || PlayerInfo[playerid][pJob2] == 7)
  29308. {
  29309. if(JobDuty[playerid] == 1)
  29310. {
  29311. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* you're now off duty from your Car Mechanic job and will not receive calls anymore.");
  29312. JobDuty[playerid] = 0;
  29313. Mechanics -= 1;
  29314. }
  29315. else
  29316. {
  29317. if(TransportDuty[playerid] != 0) return SendClientMessage(playerid,COLOR_GREY,"You need to get off duty as a transport driver first.");
  29318. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* you're now on duty with your Car Mechanic job and will receive calls from people in need.");
  29319. JobDuty[playerid] = 1;
  29320. ++Mechanics;
  29321. }
  29322. }
  29323. else
  29324. {
  29325. SendClientMessage(playerid, COLOR_GRAD1, " You're not a mechanic!");
  29326. }
  29327. return 1;
  29328. }
  29329. CMD:editcardealership(playerid, params[])
  29330. {
  29331. for(new d = 0 ; d < MAX_CARDEALERSHIPS; d++)
  29332. {
  29333. if(IsPlayerInRangeOfPoint(playerid, CarDealershipInfo[d][cdRadius], CarDealershipInfo[d][cdEntranceX], CarDealershipInfo[d][cdEntranceY], CarDealershipInfo[d][cdEntranceZ])) {
  29334. if(IsPlayerOwnerOfCDEx(playerid, d))
  29335. {
  29336. SetPVarInt(playerid, "editingcd", d);
  29337. SetPVarInt(playerid, "editingcdveh", -1);
  29338. SetPVarInt(playerid, "editingcdvehpos", 0);
  29339. SetPVarInt(playerid, "editingcdvehnew", 0);
  29340. new listitems[] = "1 New Vehicle\n2 My Vehicles\n3 Upgrade\n4 Till";
  29341. ShowPlayerDialogEx(playerid,DIALOG_CDEDIT,DIALOG_STYLE_LIST,"Choose an item to continue", listitems,"Select","Cancel");
  29342. return 1;
  29343. }
  29344. else
  29345. {
  29346. SendClientMessage(playerid, COLOR_GREY, "You do not own that Car Dealership.");
  29347. return 1;
  29348. }
  29349. }
  29350. }
  29351. SendClientMessage(playerid, COLOR_GREY, "ERROR: You must be standing inside the radius of the Car Dealership.");
  29352. return 1;
  29353. }
  29354. CMD:editcar(playerid, params[])
  29355. {
  29356. new vehicleid = GetPlayerVehicleID(playerid);
  29357. new v, d;
  29358. v = GetCarDealershipVehicleId(vehicleid);
  29359. d = GetCarDealershipId(vehicleid);
  29360. if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_GREY, "ERROR: you're not in any car.");
  29361. if(v != -1 && d != -1)
  29362. {
  29363. if(IsPlayerOwnerOfCDEx(playerid, d))
  29364. {
  29365. SetPVarInt(playerid, "editingcd", d);
  29366. SetPVarInt(playerid, "editingcdveh", v);
  29367. SetPVarInt(playerid, "editingcdvehpos", 0);
  29368. SetPVarInt(playerid, "editingcdvehnew", 0);
  29369. new listitems[] = "1 Edit Model\n2 Edit Cost\n3 Edit Park\n4 Delete Vehicle";
  29370. ShowPlayerDialogEx(playerid,DIALOG_CDEDITONE,DIALOG_STYLE_LIST,"Car Dealership:", listitems,"Select","Cancel");
  29371. return 1;
  29372. }
  29373. else
  29374. {
  29375. SendClientMessage(playerid, COLOR_GREY, "ERROR: You do not own that Car Dealership.");
  29376. }
  29377. }
  29378. else
  29379. {
  29380. SendClientMessage(playerid, COLOR_GREY, "ERROR: Car is not part of a Car Dealership.");
  29381. }
  29382. return 1;
  29383. }
  29384. CMD:buydealership(playerid, params[])
  29385. {
  29386. for(new d = 0 ; d < MAX_CARDEALERSHIPS; d++)
  29387. {
  29388. if(IsPlayerInRangeOfPoint(playerid, 3.0, CarDealershipInfo[d][cdEntranceX], CarDealershipInfo[d][cdEntranceY], CarDealershipInfo[d][cdEntranceZ]))
  29389. {
  29390. if(!CarDealershipInfo[d][cdOwned])
  29391. {
  29392. if(PlayerInfo[playerid][pCash] < CarDealershipInfo[d][cdPrice])
  29393. {
  29394. SendClientMessage(playerid, COLOR_GREY, " You do not have enough money to buy this Car Dealership.");
  29395. return 1;
  29396. }
  29397. PlayerInfo[playerid][pCash] -= CarDealershipInfo[d][cdPrice];
  29398. SetPlayerOwnerOfCD(playerid, d);
  29399. PlayerPlayMusic(playerid);
  29400. SendClientMessage(playerid, COLOR_WHITE, "Congratulations, On Your New Purchase.");
  29401. SendClientMessage(playerid, COLOR_WHITE, "Type /help to review the new car dealership help section.");
  29402. SendClientMessage(playerid, COLOR_GRAD1, " Please set the position you want your brought cars to spawn.");
  29403. SendClientMessage(playerid, COLOR_GRAD2, " Stand where you want to have your brought vehicles spawn.");
  29404. SendClientMessage(playerid, COLOR_GRAD2, " Once ready press the fire button.");
  29405. SendClientMessage(playerid, COLOR_WHITE, " Note: If you don't set it your customers wont be able to buy any cars.");
  29406. SetPVarInt(playerid, "editingcdvehpos", 2);
  29407. SetPVarInt(playerid, "editingcd", d);
  29408. return 1;
  29409. }
  29410. else
  29411. {
  29412. SendClientMessage(playerid, COLOR_GREY, "That Car Dealership is already owned and it's not for sale.");
  29413. }
  29414. }
  29415. }
  29416. return 1;
  29417. }
  29418. CMD:selldealership(playerid, params[])
  29419. {
  29420. new string[128];
  29421. for(new d = 0 ; d < MAX_CARDEALERSHIPS; d++)
  29422. {
  29423. if(IsPlayerInRangeOfPoint(playerid, 3.0, CarDealershipInfo[d][cdEntranceX], CarDealershipInfo[d][cdEntranceY], CarDealershipInfo[d][cdEntranceZ]))
  29424. {
  29425. if(IsPlayerOwnerOfCDEx(playerid, d))
  29426. {
  29427. SetPVarInt(playerid, "editingcd", d);
  29428. format(string,128,"Are you sure you want to sell this Car Dealership for $%d?\n.", CarDealershipInfo[d][cdPrice] / 2);
  29429. ShowPlayerDialogEx(playerid,DIALOG_CDSELL,DIALOG_STYLE_MSGBOX,"Warning:",string,"Sell","Cancel");
  29430. return 1;
  29431. }
  29432. else
  29433. {
  29434. SendClientMessage(playerid, COLOR_GREY, "You're not the owner of this car dealership.");
  29435. return 1;
  29436. }
  29437. }
  29438. }
  29439. SendClientMessage(playerid, COLOR_GREY, "You have to be near a car dealership.");
  29440. return 1;
  29441. }
  29442. CMD:createcdveh(playerid, params[])
  29443. {
  29444. if(PlayerInfo[playerid][pAdmin] < 6)
  29445. {
  29446. SendClientMessage(playerid, COLOR_GREY, "You're not allowed to use this command.");
  29447. return 1;
  29448. }
  29449. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  29450. {
  29451. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  29452. return 1;
  29453. }
  29454. new string[128], price, dealershipid, modelid;
  29455. if(sscanf(params, "ddd", price, dealershipid, modelid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /createcdveh [price] [dealership] [modelid]");
  29456. new Float:X,Float:Y,Float:Z,Float:A;
  29457. GetPlayerPos(playerid,X,Y,Z);
  29458. GetPlayerFacingAngle(playerid, A);
  29459. new cdvehicleid = CreateCarDealershipVehicle(dealershipid, modelid, X, Y, Z, A, price);
  29460. if(cdvehicleid == -1)
  29461. {
  29462. SendClientMessage(playerid, COLOR_GREY, "ERROR: cdVehicles limit reached.");
  29463. }
  29464. else
  29465. {
  29466. format(string, sizeof(string), " Car Dealership Vehicle created with ID %d.", cdvehicleid);
  29467. SendClientMessage(playerid, COLOR_GRAD1, string);
  29468. }
  29469. return 1;
  29470. }
  29471. CMD:destroycdveh(playerid, params[])
  29472. {
  29473. if(PlayerInfo[playerid][pAdmin] < 6)
  29474. {
  29475. SendClientMessage(playerid, COLOR_GREY, "You're not allowed to use this command.");
  29476. return 1;
  29477. }
  29478. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  29479. {
  29480. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  29481. return 1;
  29482. }
  29483. new string[128], vehid;
  29484. if(sscanf(params, "d", vehid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /destroycdveh [vehicleid]");
  29485. DestroyCarDealershipVehicle(GetCarDealershipId(vehid), GetCarDealershipVehicleId(vehid));
  29486. SavecDealerships();
  29487. format(string, sizeof(string), " Car Dealership Vehicle destroyed with ID %d.", vehid);
  29488. SendClientMessage(playerid, COLOR_GRAD1, string);
  29489. return 1;
  29490. }
  29491. CMD:createdealership(playerid, params[])
  29492. {
  29493. if(PlayerInfo[playerid][pAdmin] < 6)
  29494. {
  29495. SendClientMessage(playerid, COLOR_GREY, "You're not allowed to use this command.");
  29496. return 1;
  29497. }
  29498. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  29499. {
  29500. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  29501. return 1;
  29502. }
  29503. new string[128], price, radius, message[64];
  29504. if(sscanf(params, "dds[64]", price, radius, message)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /createdealership [price] [radius] [message]");
  29505. new Float:X,Float:Y,Float:Z;
  29506. GetPlayerPos(playerid,X,Y,Z);
  29507. new dealershipid = CreateCarDealership(X, Y, Z, radius, price, message);
  29508. if(dealershipid == -1)
  29509. {
  29510. SendClientMessage(playerid, COLOR_GREY, "ERROR: Car Dealerships limit reached.");
  29511. }
  29512. else
  29513. {
  29514. format(string, sizeof(string), " Car Dealership created with ID %d.", dealershipid);
  29515. SendClientMessage(playerid, COLOR_GRAD1, string);
  29516. }
  29517. return 1;
  29518. }
  29519. CMD:destroydealership(playerid, params[])
  29520. {
  29521. if(PlayerInfo[playerid][pAdmin] < 6)
  29522. {
  29523. SendClientMessage(playerid, COLOR_GREY, "You're not allowed to use this command.");
  29524. return 1;
  29525. }
  29526. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  29527. {
  29528. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  29529. return 1;
  29530. }
  29531. new string[128], dealershipid;
  29532. if(sscanf(params, "d", dealershipid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /destroydealership [dealershipid]");
  29533. for(new d = 0 ; d < MAX_CARDEALERSHIPS; d++)
  29534. {
  29535. if(IsPlayerInRangeOfPoint(playerid, 3.0, CarDealershipInfo[d][cdEntranceX], CarDealershipInfo[d][cdEntranceY], CarDealershipInfo[d][cdEntranceZ]))
  29536. {
  29537. DestroyCarDealership(d);
  29538. format(string, sizeof(string), " Car Dealership destroyed with ID %d.", d);
  29539. SendClientMessage(playerid, COLOR_GRAD1, string);
  29540. return 1;
  29541. }
  29542. }
  29543. if(dealershipid > MAX_CARDEALERSHIPS) return 1;
  29544. if(dealershipid < 0) return 1;
  29545. DestroyCarDealership(dealershipid);
  29546. format(string, sizeof(string), " Car Dealership destroyed with ID %d.", dealershipid);
  29547. SendClientMessage(playerid, COLOR_GRAD1, string);
  29548. return 1;
  29549. }
  29550. CMD:createpvehicle(playerid, params[])
  29551. {
  29552. if(PlayerInfo[playerid][pAdmin] < 4)
  29553. {
  29554. SendClientMessage(playerid, COLOR_GREY, "You're not allowed to use this command.");
  29555. return 1;
  29556. }
  29557. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  29558. {
  29559. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  29560. return 1;
  29561. }
  29562. new string[128], giveplayerid, modelid, color1, color2;
  29563. if(sscanf(params, "uddd", giveplayerid, modelid, color1, color2)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /createpvehicle [playerid/partofname] [modelid] [color 1] [color 2]");
  29564. if(AdminDuty[giveplayerid] == 1)
  29565. {
  29566. SendClientMessage(playerid,COLOR_WHITE, "You can't use that command on an on-duty admin.");
  29567. return 1;
  29568. }
  29569. if(color1 < 0 || color1 > 255) { SendClientMessage(playerid, COLOR_GREY, " Color Number can't be below 0 or above 255!"); return 1; }
  29570. if(color2 < 0 || color2 > 255) { SendClientMessage(playerid, COLOR_GREY, " Color Number can't be below 0 or above 255!"); return 1; }
  29571. if(modelid < 400 || modelid > 611) { SendClientMessage(playerid, COLOR_GREY, " Vehicle Number can't be below 400 or above 611!"); return 1; }
  29572. new playervehicleid = GetPlayerFreeVehicleId(giveplayerid);
  29573. new carsamount = GetPlayerVehicleCount(giveplayerid);
  29574. // (TEMPORARY - Howard NOTE) TempDonator not added yet
  29575. if(PlayerInfo[giveplayerid][pDonator] == 0 && carsamount >= 5) //PlayerInfo[giveplayerid][pTempDonator] > 0) && carsamount >= 5)
  29576. {
  29577. SendClientMessage(giveplayerid, COLOR_GREY, "That player can't have more cars, non-donator can only own 5 cars.");
  29578. return 1;
  29579. }
  29580. if(PlayerInfo[giveplayerid][pDonator] == 1 && carsamount >= 7)
  29581. {
  29582. SendClientMessage(giveplayerid, COLOR_GREY, "That player can't have more cars, Ruby Donator can only own 7 cars.");
  29583. return 1;
  29584. }
  29585. if(PlayerInfo[giveplayerid][pDonator] == 2 && carsamount >= 8)
  29586. {
  29587. SendClientMessage(giveplayerid, COLOR_GREY, "That player can't have more cars, Sapphire Donator can only own 8 cars.");
  29588. return 1;
  29589. }
  29590. if(PlayerInfo[giveplayerid][pDonator] == 3 && carsamount >= 10)
  29591. {
  29592. SendClientMessage(giveplayerid, COLOR_GREY, "That player can't have more cars, Diamond Donator can only own 10 cars.");
  29593. return 1;
  29594. }
  29595. /*if(PlayerInfo[giveplayerid][pDonator] >= 4 && carsamount >= 10)
  29596. {
  29597. SendClientMessage(giveplayerid, COLOR_GREY, "That player can't have more cars, Platinum+ VIP can only own 10 cars.");
  29598. return 1;
  29599. }*/
  29600. if(playervehicleid == -1) return SendClientMessage(playerid, COLOR_GREY, "ERROR: That player can't have more cars.");
  29601. if(PlayerInfo[giveplayerid][pDonator] == 0 && VehicleSpawned[giveplayerid] >= 1)
  29602. {
  29603. SendClientMessage(giveplayerid, COLOR_GREY, "That player is non-donator and can only have 1 vehicle spawned. The player must store that vehicle in order to create a new one.");
  29604. return 1;
  29605. }
  29606. if(PlayerInfo[giveplayerid][pDonator] == 1 && VehicleSpawned[giveplayerid] >= 2)
  29607. {
  29608. SendClientMessage(giveplayerid, COLOR_GREY, "That player is Ruby Donator and can only have 2 vehicles spawned. The player must store that vehicle in order to create a new one.");
  29609. return 1;
  29610. }
  29611. if(PlayerInfo[giveplayerid][pDonator] == 2 && VehicleSpawned[giveplayerid] >= 3)
  29612. {
  29613. SendClientMessage(giveplayerid, COLOR_GREY, "That player is Sapphire Donator and can only have 3 vehicles spawned. The player must store a vehicle in order to create a new one.");
  29614. return 1;
  29615. }
  29616. if(PlayerInfo[giveplayerid][pDonator] == 3 && VehicleSpawned[giveplayerid] >= 4)
  29617. {
  29618. SendClientMessage(giveplayerid, COLOR_GREY, "That player is Diamond Donator and can only have 4 vehicles spawned. The player must store a vehicle in order to create a new one.");
  29619. return 1;
  29620. }
  29621. /*if(PlayerInfo[giveplayerid][pDonator] == 4 && VehicleSpawned[giveplayerid] >= 5)
  29622. {
  29623. SendClientMessage(giveplayerid, COLOR_GREY, "That player is Undefined Donator and can only have 5 vehicles spawned. The player must store a vehicle in order to create a new one.");
  29624. return 1;
  29625. }
  29626. if(PlayerInfo[giveplayerid][pDonator] == 5 && VehicleSpawned[giveplayerid] >= 5)
  29627. {
  29628. SendClientMessage(giveplayerid, COLOR_GREY, "That player is a VIP Moderator and can only have 5 vehicles spawned. The player must store a vehicle in order to create a new one.");
  29629. return 1;
  29630. }*/
  29631. if(PlayerInfo[giveplayerid][pDonator] < 0 || PlayerInfo[giveplayerid][pDonator] > 3)
  29632. {
  29633. SendClientMessage(giveplayerid, COLOR_GREY, "ERROR: That player has an invalid Donator level.");
  29634. return 1;
  29635. }
  29636. new Float:X,Float:Y,Float:Z;
  29637. GetPlayerPos(giveplayerid,X,Y,Z);
  29638. new Float:Angle;
  29639. GetPlayerFacingAngle(giveplayerid,Angle);
  29640. new car = CreatePlayerVehicle(giveplayerid, playervehicleid, modelid, X, Y, Z, Angle, color1, color2, 0);
  29641. if(car == INVALID_PLAYER_VEHICLE_ID)
  29642. {
  29643. SendClientMessage(playerid, COLOR_GREY, "ERROR: Something went wrong and the car didn't get created.");
  29644. }
  29645. else
  29646. {
  29647. format(string, sizeof(string), " Vehicle successfully created with ID %d.", car);
  29648. SendClientMessage(playerid, COLOR_GRAD1, string);
  29649. }
  29650. format(string, sizeof(string), "%s has created a %s for %s (Color 1: %d | Color 2: %d).", GetPlayerNameEx(playerid), GetVehicleName(car), GetPlayerNameEx(giveplayerid), color1, color2);
  29651. Log("logs/playervehicle.log", string);
  29652. return 1;
  29653. }
  29654. CMD:destroypvehicle(playerid, params[])
  29655. {
  29656. new string[128], giveplayerid, vehicleid;
  29657. if(sscanf(params, "ud", giveplayerid, vehicleid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /destroypvehicle [playerid/partofname] [vehicleid]");
  29658. if(PlayerInfo[playerid][pAdmin] < 4)
  29659. {
  29660. SendClientMessage(playerid, COLOR_GREY, "You're not allowed to use this command.");
  29661. return 1;
  29662. }
  29663. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  29664. {
  29665. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  29666. return 1;
  29667. }
  29668. if(AdminDuty[giveplayerid] == 1)
  29669. {
  29670. SendClientMessage(playerid,COLOR_WHITE, "You can't use that command on an on-duty admin.");
  29671. return 1;
  29672. }
  29673. format(string, sizeof(string), "%s has destroyed %s's %s.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), GetVehicleName(vehicleid));
  29674. Log("logs/playervehicle.log", string);
  29675. new playervehicleid = GetPlayerVehicle(giveplayerid, vehicleid);
  29676. if(playervehicleid == -1) return SendClientMessage(playerid, COLOR_GREY, "ERROR: That player doesn't own that vehicle.");
  29677. DestroyPlayerVehicle(giveplayerid, playervehicleid);
  29678. return 1;
  29679. }
  29680. CMD:carhelp(playerid, params[])
  29681. {
  29682. SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
  29683. SendClientMessage(playerid, COLOR_WHITE,"*** CAR OWNERSHIP HELP *** - type a command for more infomation.");
  29684. SendClientMessage(playerid, COLOR_GRAD3,"*** CAR OWNERSHIP *** /buylock /pvlock /park /unmodcar /deletecar /sellmycar /trackcar");
  29685. SendClientMessage(playerid, COLOR_GRAD3,"*** CAR OWNERSHIP *** /dmvmenu /givekeys /carkeys /trunkput /trunktake /car /vstorage");
  29686. return 1;
  29687. }
  29688. CMD:buylock(playerid, params[])
  29689. {
  29690. if(IsAt247(playerid))
  29691. {
  29692. ShowPlayerDialogEx(playerid, DIALOG_CDLOCKBUY, DIALOG_STYLE_LIST, "24/7", "Alarm Lock $1000\nIndustrial Lock $5000", "Buy", "Cancel");
  29693. return 1;
  29694. }
  29695. else
  29696. {
  29697. SendClientMessage(playerid, COLOR_GRAD2, " You're not in a 24-7!");
  29698. }
  29699. return 1;
  29700. }
  29701. stock Float: GetDistanceBetweenPlayerToPoint(p1,Float:px,Float:py,Float:pz)
  29702. {
  29703. new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
  29704. if(!IsPlayerConnected(p1)) {
  29705. return -1.00;
  29706. }
  29707. GetPlayerPos(p1,x1,y1,z1);
  29708. x2 = px;
  29709. y2 = py;
  29710. z2 = pz;
  29711. return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
  29712. }
  29713. forward HideLockTD(playerid);
  29714. public HideLockTD(playerid)
  29715. {
  29716. TextDrawHideForPlayer(playerid, LockTD);
  29717. return 1;
  29718. }
  29719. forward DestroyDamageTD(playerid);
  29720. public DestroyDamageTD(playerid)
  29721. {
  29722. if(PlayerInfo[playerid][pDamageTimer] >= 0)
  29723. {
  29724. TextDrawHideForPlayer(playerid, Damage[playerid]);
  29725. PlayerInfo[playerid][pDamageTimer] = -1;
  29726. }
  29727. }
  29728. CMD:pvl(playerid, params[]) return cmd_pvlock(playerid, params);
  29729. CMD:lock(playerid, params[]) return cmd_pvl(playerid, params);
  29730. CMD:pvlock(playerid, params[])
  29731. {
  29732. new Float: x, Float: y, Float: z, string[128];
  29733. if(PlayerInfo[playerid][pVehicleKeysFrom] != INVALID_PLAYER_ID)
  29734. {
  29735. new ownerid = PlayerInfo[playerid][pVehicleKeysFrom];
  29736. if(IsPlayerConnected(ownerid))
  29737. {
  29738. new d = PlayerInfo[playerid][pVehicleKeys];
  29739. if(PlayerVehicleInfo[ownerid][d][pvId] != INVALID_PLAYER_VEHICLE_ID) GetVehiclePos(PlayerVehicleInfo[ownerid][d][pvId], x, y, z);
  29740. if(IsPlayerInRangeOfPoint(playerid, 3.0, x, y, z))
  29741. {
  29742. if(PlayerVehicleInfo[ownerid][d][pvLock] > 0)
  29743. {
  29744. if(PlayerVehicleInfo[ownerid][d][pvLocked] == 0)
  29745. {
  29746. format(string, sizeof(string), "%s LOCKED", GetVehicleName(PlayerVehicleInfo[ownerid][d][pvId]));
  29747. TextDrawSetString(LockTD, string);
  29748. TextDrawColor(LockTD, COLOR_RED);
  29749. TextDrawHideForPlayer(playerid, LockTD);
  29750. TextDrawShowForPlayer(playerid, LockTD);
  29751. SetTimerEx("HideLockTD", 2000, false, "i", playerid);
  29752. PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
  29753. PlayerVehicleInfo[ownerid][d][pvLocked] = 1;
  29754. LockPlayerVehicle(ownerid, PlayerVehicleInfo[ownerid][d][pvId], PlayerVehicleInfo[ownerid][d][pvLock]);
  29755. return 1;
  29756. }
  29757. else
  29758. {
  29759. format(string, sizeof(string), "%s UNLOCKED", GetVehicleName(PlayerVehicleInfo[ownerid][d][pvId]));
  29760. TextDrawSetString(LockTD, string);
  29761. TextDrawColor(LockTD, COLOR_GREEN);
  29762. TextDrawHideForPlayer(playerid, LockTD);
  29763. TextDrawShowForPlayer(playerid, LockTD);
  29764. SetTimerEx("HideLockTD", 2000, false, "i", playerid);
  29765. PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
  29766. PlayerVehicleInfo[ownerid][d][pvLocked] = 0;
  29767. UnLockPlayerVehicle(ownerid, PlayerVehicleInfo[ownerid][d][pvId], PlayerVehicleInfo[ownerid][d][pvLock]);
  29768. return 1;
  29769. }
  29770. }
  29771. else
  29772. {
  29773. SendClientMessage(playerid, COLOR_GREY, " You don't have a lock system installed on this vehicle.");
  29774. return 1;
  29775. }
  29776. }
  29777. }
  29778. }
  29779. for(new d = 0 ; d < MAX_PLAYERVEHICLES; d++)
  29780. {
  29781. if(PlayerVehicleInfo[playerid][d][pvId] != INVALID_PLAYER_VEHICLE_ID) GetVehiclePos(PlayerVehicleInfo[playerid][d][pvId], x, y, z);
  29782. if(IsPlayerInRangeOfPoint(playerid, 3.0, x, y, z))
  29783. {
  29784. if(PlayerVehicleInfo[playerid][d][pvLock] > 0 && PlayerVehicleInfo[playerid][d][pvLocked] == 0)
  29785. {
  29786. format(string, sizeof(string), "%s LOCKED", GetVehicleName(PlayerVehicleInfo[playerid][d][pvId]));
  29787. TextDrawSetString(LockTD, string);
  29788. TextDrawHideForPlayer(playerid, LockTD);
  29789. TextDrawShowForPlayer(playerid, LockTD);
  29790. SetTimerEx("HideLockTD", 2000, false, "i", playerid);
  29791. PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
  29792. PlayerVehicleInfo[playerid][d][pvLocked] = 1;
  29793. LockPlayerVehicle(playerid, PlayerVehicleInfo[playerid][d][pvId], PlayerVehicleInfo[playerid][d][pvLock]);
  29794. return 1;
  29795. }
  29796. else if(PlayerVehicleInfo[playerid][d][pvLock] > 0 && PlayerVehicleInfo[playerid][d][pvLocked] == 1)
  29797. {
  29798. format(string, sizeof(string), "%s UNLOCKED", GetVehicleName(PlayerVehicleInfo[playerid][d][pvId]));
  29799. TextDrawSetString(LockTD, string);
  29800. TextDrawColor(LockTD, COLOR_GREEN);
  29801. TextDrawHideForPlayer(playerid, LockTD);
  29802. TextDrawShowForPlayer(playerid, LockTD);
  29803. SetTimerEx("HideLockTD", 2000, false, "i", playerid);
  29804. PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
  29805. PlayerVehicleInfo[playerid][d][pvLocked] = 0;
  29806. UnLockPlayerVehicle(playerid, PlayerVehicleInfo[playerid][d][pvId], PlayerVehicleInfo[playerid][d][pvLock]);
  29807. return 1;
  29808. }
  29809. SendClientMessage(playerid, COLOR_GREY, " You don't have a lock system installed on this vehicle.");
  29810. return 1;
  29811. }
  29812. }
  29813. SendClientMessage(playerid, COLOR_GREY, "You're not near any vehicle that you own.");
  29814. return 1;
  29815. }
  29816. CMD:park(playerid, params[])
  29817. {
  29818. if(PlayerInfo[playerid][pVehicleKeysFrom] != INVALID_PLAYER_ID)
  29819. {
  29820. new ownerid = PlayerInfo[playerid][pVehicleKeysFrom];
  29821. if(IsPlayerConnected(ownerid))
  29822. {
  29823. new d = PlayerInfo[playerid][pVehicleKeys];
  29824. if(IsPlayerInVehicle(playerid, PlayerVehicleInfo[ownerid][d][pvId]))
  29825. {
  29826. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, COLOR_GREY, "You must be in the driver seat.");
  29827. new Float:x, Float:y, Float:z, Float:angle, Float:health;
  29828. GetVehicleHealth(PlayerVehicleInfo[ownerid][d][pvId], health);
  29829. if(health < 800) return SendClientMessage(playerid, COLOR_GREY, " Your vehicle is too damaged to park it.");
  29830. if(PlayerInfo[playerid][pLockCar] == GetPlayerVehicleID(playerid)) PlayerInfo[playerid][pLockCar] = INVALID_VEHICLE_ID;
  29831. if(IsARC(GetPlayerVehicleID(playerid))) // RC Vehicles
  29832. {
  29833. new Float:vehPos[3];
  29834. GetVehiclePos(GetPlayerVehicleID(playerid),vehPos[0], vehPos[1], vehPos[2]);
  29835. SetPlayerPos(playerid,vehPos[0], vehPos[1]+0.5, vehPos[2]+0.5);
  29836. }
  29837. GetVehiclePos(PlayerVehicleInfo[ownerid][d][pvId], x, y, z);
  29838. GetVehicleZAngle(PlayerVehicleInfo[ownerid][d][pvId], angle);
  29839. SurfingCheck(GetPlayerVehicleID(playerid));
  29840. UpdatePlayerVehicleParkPosition(ownerid, d, x, y, z, angle, health);
  29841. PutPlayerInVehicle(playerid, GetPlayerVehicleID(playerid), 0);
  29842. SetPlayerArmedWeapon(playerid, 0);
  29843. new string[29 + (MAX_PLAYER_NAME * 2)];
  29844. format(string, sizeof(string), "* %s has parked %s's vehicle.", GetPlayerNameEx(playerid), GetPlayerNameEx(ownerid));
  29845. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  29846. return 1;
  29847. }
  29848. }
  29849. }
  29850. for(new d = 0 ; d < MAX_PLAYERVEHICLES; d++)
  29851. {
  29852. if(IsPlayerInVehicle(playerid, PlayerVehicleInfo[playerid][d][pvId]))
  29853. {
  29854. new Float:x, Float:y, Float:z, Float:angle, Float:health;
  29855. GetVehicleHealth(PlayerVehicleInfo[playerid][d][pvId], health);
  29856. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, COLOR_GREY, "You must be in the driver seat.");
  29857. if(health < 800) return SendClientMessage(playerid, COLOR_GREY, " Your vehicle is too damaged to park it.");
  29858. if(PlayerInfo[playerid][pLockCar] == GetPlayerVehicleID(playerid)) PlayerInfo[playerid][pLockCar] = INVALID_VEHICLE_ID;
  29859. GetVehiclePos(PlayerVehicleInfo[playerid][d][pvId], x, y, z);
  29860. GetVehicleZAngle(PlayerVehicleInfo[playerid][d][pvId], angle);
  29861. SurfingCheck(GetPlayerVehicleID(playerid));
  29862. UpdatePlayerVehicleParkPosition(playerid, d, x, y, z, angle, health);
  29863. PutPlayerInVehicle(playerid, PlayerVehicleInfo[playerid][d][pvId], 0);
  29864. SetPlayerArmedWeapon(playerid, 0);
  29865. new string[30 + (MAX_PLAYER_NAME * 2)];
  29866. format(string, sizeof(string), "* %s has parked their vehicle.", GetPlayerNameEx(playerid));
  29867. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  29868. return 1;
  29869. }
  29870. }
  29871. SendClientMessage(playerid, COLOR_GREY, "You need to be inside a vehicle that you own.");
  29872. return 1;
  29873. }
  29874. CMD:unmodcar(playerid, params[])
  29875. {
  29876. new modList[512], string[128];
  29877. new count = 0;
  29878. for(new d = 0 ; d < MAX_PLAYERVEHICLES; d++)
  29879. {
  29880. if(IsPlayerInVehicle(playerid, PlayerVehicleInfo[playerid][d][pvId]))
  29881. {
  29882. for(new f = 0 ; f < MAX_MODS; f++)
  29883. {
  29884. if(GetVehicleComponentInSlot(PlayerVehicleInfo[playerid][d][pvId], f) != 0)
  29885. {
  29886. if(f != 9 && f != 7 && f != 8)
  29887. {
  29888. format(modList, sizeof(modList), "%s\n%s - %s", modList, partType(f), partName(GetVehicleComponentInSlot(PlayerVehicleInfo[playerid][d][pvId], f)));
  29889. }
  29890. else
  29891. {
  29892. format(modList, sizeof(modList), "%s\n%s", modList, partType(f));
  29893. }
  29894. format(string, sizeof(string), "partList%d", count);
  29895. SetPVarInt(playerid, string, GetVehicleComponentInSlot(PlayerVehicleInfo[playerid][d][pvId], f));
  29896. count++;
  29897. }
  29898. }
  29899. if(count == 0)
  29900. {
  29901. SendClientMessage(playerid, COLOR_GREY, " This vehicle does not have any modifications.");
  29902. return 1;
  29903. }
  29904. format(modList, sizeof(modList), "%s\nAll", modList);
  29905. format(string, sizeof(string), "partList%d", count);
  29906. SetPVarInt(playerid, string, 999);
  29907. count++;
  29908. SetPVarInt(playerid, "modCount", count);
  29909. ShowPlayerDialogEx(playerid, UNMODCARMENU, DIALOG_STYLE_LIST, "Unmodification Parts", modList, "Select", "Cancel");
  29910. return 1;
  29911. }
  29912. }
  29913. SendClientMessage(playerid, COLOR_GREY, " You need to be inside a vehicle that you own.");
  29914. return 1;
  29915. }
  29916. CMD:deletecar(playerid, params[])
  29917. {
  29918. if(AdminDuty[playerid] == 1)
  29919. {
  29920. SendClientMessage(playerid,COLOR_WHITE, "You can't use this command while on-duty as admin.");
  29921. return 1;
  29922. }
  29923. if(GetPVarInt(playerid, "dcConfirm") == 0)
  29924. {
  29925. SetPVarInt(playerid, "dcConfirm", 1);
  29926. SendClientMessage(playerid, COLOR_WHITE, "Use of this command will fully delete the vehicle and no refund will be issued.");
  29927. SendClientMessage(playerid, COLOR_WHITE, "If you're sure you want to delete your vehicle, please re-type the command (/deletecar).");
  29928. }
  29929. else
  29930. {
  29931. DeletePVar(playerid, "dcConfirm");
  29932. for(new d = 0 ; d < MAX_PLAYERVEHICLES; d++)
  29933. {
  29934. if(IsPlayerInVehicle(playerid, PlayerVehicleInfo[playerid][d][pvId]))
  29935. {
  29936. PlayerVehicleInfo[playerid][d][pvModelId] = 0;
  29937. DestroyVehicle(PlayerVehicleInfo[playerid][d][pvId]);
  29938. VehicleRadioStation[PlayerVehicleInfo[playerid][d][pvId]] = 0;
  29939. PlayerVehicleInfo[playerid][d][pvId] = 0;
  29940. PlayerVehicleInfo[playerid][d][pvModelId] = 0;
  29941. PlayerVehicleInfo[playerid][d][pvPosX] = 0.0;
  29942. PlayerVehicleInfo[playerid][d][pvPosY] = 0.0;
  29943. PlayerVehicleInfo[playerid][d][pvPosZ] = 0.0;
  29944. PlayerVehicleInfo[playerid][d][pvPosAngle] = 0.0;
  29945. PlayerVehicleInfo[playerid][d][pvLock] = 0;
  29946. PlayerVehicleInfo[playerid][d][pvLocked] = 0;
  29947. PlayerVehicleInfo[playerid][d][pvPaintJob] = -1;
  29948. PlayerVehicleInfo[playerid][d][pvColor1] = 0;
  29949. PlayerVehicleInfo[playerid][d][pvColor2] = 0;
  29950. PlayerVehicleInfo[playerid][d][pvPrice] = 0;
  29951. PlayerVehicleInfo[playerid][d][pvImpounded] = 0;
  29952. PlayerVehicleInfo[playerid][d][pvSpawned] = 0;
  29953. PlayerVehicleInfo[playerid][d][pvPark] = 0;
  29954. PlayerVehicleInfo[playerid][d][pvAllowedPlayerId] = INVALID_PLAYER_ID;
  29955. for(new m = 0; m < MAX_MODS; m++)
  29956. {
  29957. PlayerVehicleInfo[playerid][d][pvMods][m] = 0;
  29958. }
  29959. SendClientMessage(playerid, COLOR_WHITE, "Your vehicle has been deleted.");
  29960. VehicleSpawned[playerid]--;
  29961. PlayerCars--;
  29962. return 1;
  29963. }
  29964. }
  29965. SendClientMessage(playerid, COLOR_GREY, " You need to be inside a vehicle that you own.");
  29966. }
  29967. return 1;
  29968. }
  29969. CMD:sellmycar(playerid, params[])
  29970. {
  29971. if(AdminDuty[playerid] == 1)
  29972. {
  29973. SendClientMessage(playerid,COLOR_WHITE, "You can't use this command while on-duty as admin.");
  29974. return 1;
  29975. }
  29976. for(new d = 0 ; d < MAX_PLAYERVEHICLES; d++)
  29977. {
  29978. if(IsPlayerInVehicle(playerid, PlayerVehicleInfo[playerid][d][pvId]))
  29979. {
  29980. new Float:health;
  29981. GetVehicleHealth(PlayerVehicleInfo[playerid][d][pvId], health);
  29982. if(PlayerInfo[playerid][pLevel] == 1)
  29983. {
  29984. SendClientMessage(playerid, COLOR_GREY, "You have to be level 2 or higher to be able to sell vehicles.");
  29985. return 1;
  29986. }
  29987. if(health < 500) return SendClientMessage(playerid, COLOR_GREY, " Your vehicle is too damaged to sell it.");
  29988. new string[128], giveplayerid, price;
  29989. if(sscanf(params, "ud", giveplayerid, price)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /sellmycar [playerid/partofname] [price]");
  29990. if(price < 1) return SendClientMessage(playerid, COLOR_GREY, "Price must be higher than 0.");
  29991. if(PlayerInfo[giveplayerid][pLevel] == 1)
  29992. {
  29993. SendClientMessage(playerid, COLOR_GREY, "The player has to be Level 2 or higher to be able to sell vehicles to them.");
  29994. return 1;
  29995. }
  29996. if(playerid == giveplayerid)
  29997. {
  29998. SendClientMessage(playerid, COLOR_GREY, "You can't use this command on yourself.");
  29999. return 1;
  30000. }
  30001. if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, COLOR_GREY, "Player is currently not connected to the server.");
  30002. if(ProxDetectorS(8.0, playerid, giveplayerid))
  30003. {
  30004. if((PlayerInfo[giveplayerid][pDonator] < 2) && (GetVehicleModel(PlayerVehicleInfo[playerid][d][pvId]) == 559 || GetVehicleModel(PlayerVehicleInfo[playerid][d][pvId]) == 562 || GetVehicleModel(PlayerVehicleInfo[playerid][d][pvId]) == 415 || GetVehicleModel(PlayerVehicleInfo[playerid][d][pvId]) == 402))
  30005. {
  30006. SendClientMessage(playerid, COLOR_GREY, "You can't sell sapphire donator vehicles to non-sapphire donators.");
  30007. return 1;
  30008. }
  30009. if((PlayerInfo[giveplayerid][pDonator] < 3) && (GetVehicleModel(PlayerVehicleInfo[playerid][d][pvId]) == 429 || GetVehicleModel(PlayerVehicleInfo[playerid][d][pvId]) == 541 || GetVehicleModel(PlayerVehicleInfo[playerid][d][pvId]) == 451))
  30010. {
  30011. SendClientMessage(playerid, COLOR_GREY, "You can't sell diamond donator vehicles to non-diamond donators.");
  30012. return 1;
  30013. }
  30014. if(GetPVarInt(playerid, "SellMyTimer") > 0)
  30015. {
  30016. format(string, sizeof(string), "You must wait %d seconds before offering a sale again.", GetPVarInt(playerid, "SellMyTimer"));
  30017. SendClientMessage(playerid,COLOR_GREY,string);
  30018. return 1;
  30019. }
  30020. VehicleOffer[giveplayerid] = playerid;
  30021. VehicleId[giveplayerid] = d;
  30022. VehiclePrice[giveplayerid] = price;
  30023. format(string, sizeof(string), "* You offered %s to buy this %s for $%d.", GetPlayerNameEx(giveplayerid), GetVehicleName(PlayerVehicleInfo[playerid][d][pvId]), price);
  30024. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  30025. format(string, sizeof(string), "* %s has offered you their %s for $%d, (type /accept car) to buy.", GetPlayerNameEx(playerid), GetVehicleName(PlayerVehicleInfo[playerid][d][pvId]), price);
  30026. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  30027. SetPVarInt(playerid, "SellMyTimer", 30); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_SELLMYTIMER);
  30028. return 1;
  30029. }
  30030. else
  30031. {
  30032. SendClientMessage(playerid, COLOR_GREY, "That player is not near you.");
  30033. return 1;
  30034. }
  30035. }
  30036. }
  30037. SendClientMessage(playerid, COLOR_GREY, " You need to be inside a vehicle that you own.");
  30038. return 1;
  30039. }
  30040. CMD:trackcar(playerid, params[])
  30041. {
  30042. new vstring[1900];
  30043. for(new i, iModelID; i < MAX_PLAYERVEHICLES; i++) {
  30044. if((iModelID = PlayerVehicleInfo[playerid][i][pvModelId] - 400) >= 0) {
  30045. if(PlayerVehicleInfo[playerid][i][pvImpounded]) {
  30046. format(vstring, sizeof(vstring), "%s\n%s (impounded)", vstring, VehicleName[iModelID]);
  30047. }
  30048. else if(PlayerVehicleInfo[playerid][i][pvDisabled]) {
  30049. format(vstring, sizeof(vstring), "%s\n%s (disabled)", vstring, VehicleName[iModelID]);
  30050. }
  30051. else if(!PlayerVehicleInfo[playerid][i][pvSpawned]) {
  30052. format(vstring, sizeof(vstring), "%s\n%s (stored)", vstring, VehicleName[iModelID]);
  30053. }
  30054. else format(vstring, sizeof(vstring), "%s\n%s", vstring, VehicleName[iModelID]);
  30055. }
  30056. else strcat(vstring, "\nEmpty");
  30057. }
  30058. ShowPlayerDialogEx(playerid, TRACKCAR, DIALOG_STYLE_LIST, "Vehicle GPS Tracking", vstring, "Track", "Cancel");
  30059. return 1;
  30060. }
  30061. CMD:radargun(playerid, params[])
  30062. {
  30063. if(IsACop(playerid) || PlayerInfo[playerid][pFaction] == 4 && PlayerInfo[playerid][pDivision] == 2 || PlayerInfo[playerid][pFaction] == 4 && PlayerInfo[playerid][pRank] >= 5)
  30064. {
  30065. new string[128];
  30066. if(IsPlayerInAnyVehicle(playerid))
  30067. {
  30068. SendClientMessage(playerid, COLOR_GREY, "You can't do this while you're in a vehicle.");
  30069. return 1;
  30070. }
  30071. if(GetPVarInt(playerid, "PBM") > 0)
  30072. {
  30073. SendClientMessage(playerid, COLOR_WHITE, "You're not able to do this while in a paintball game.");
  30074. return 1;
  30075. }
  30076. if(GetPVarInt(playerid, "EventToken") != 0)
  30077. {
  30078. SendClientMessage(playerid, COLOR_GREY, "You can't use the tazer while you're in an event.");
  30079. return 1;
  30080. }
  30081. if(GetPVarInt(playerid, "Injured") == 1)
  30082. {
  30083. SendClientMessage(playerid, COLOR_GREY, "You can't do this right now.");
  30084. return 1;
  30085. }
  30086. if(PlayerInfo[playerid][pJailed] > 0)
  30087. {
  30088. SendClientMessage(playerid, COLOR_WHITE, "You can't use this in jail/prison.");
  30089. return 1;
  30090. }
  30091. if(PlayerCuffed[playerid] >= 1) {
  30092. SendClientMessage(playerid, COLOR_WHITE, "You can't use this while tazed/cuffed.");
  30093. return 1;
  30094. }
  30095. new SpeedRadar = GetPVarInt(playerid, "SpeedRadar");
  30096. if(SpeedRadar == 0)
  30097. {
  30098. SetPVarInt(playerid, "RadarReplacement", PlayerInfo[playerid][pGuns][9]);
  30099. if(PlayerInfo[playerid][pGuns][9] != 0) RemovePlayerWeapon(playerid, PlayerInfo[playerid][pGuns][9]);
  30100. format(string, sizeof(string), "* %s takes out a LIDAR speed gun.", GetPlayerNameEx(playerid));
  30101. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  30102. GivePlayerValidWeapon(playerid, 43, 60000);
  30103. SetPVarInt(playerid, "SpeedRadar", 1);
  30104. }
  30105. else
  30106. {
  30107. RemovePlayerWeapon(playerid, 43);
  30108. GivePlayerValidWeapon(playerid, GetPVarInt(playerid, "RadarReplacement"), 60000);
  30109. format(string, sizeof(string), "* %s puts away their LIDAR speed gun.", GetPlayerNameEx(playerid));
  30110. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  30111. DeletePVar(playerid, "SpeedRadar");
  30112. }
  30113. }
  30114. else
  30115. {
  30116. SendClientMessage(playerid, COLOR_GREY, " You're not a Cop / FBI / Coastguard!");
  30117. return 1;
  30118. }
  30119. return 1;
  30120. }
  30121. CMD:dmvrelease(playerid, params[]) {
  30122. switch(PlayerInfo[playerid][pFaction]) {
  30123. case 1, 2: {}
  30124. default: return 1;
  30125. }
  30126. if(IsPlayerInRangeOfPoint(playerid, 3.0, 833.60, 3.23, 1004.17)) {
  30127. new
  30128. iTargetID;
  30129. if(sscanf(params, "u", iTargetID)) {
  30130. SendClientMessage(playerid, COLOR_GREY, "USAGE: /dmvrelease [playerid/partofname]");
  30131. }
  30132. else if(IsPlayerConnected(iTargetID)) {
  30133. new
  30134. vstring[1024],
  30135. iCount;
  30136. for(new i; i < MAX_PLAYERVEHICLES; i++) {
  30137. if(PlayerVehicleInfo[iTargetID][i][pvPrice] < 1) PlayerVehicleInfo[iTargetID][i][pvPrice] = 5000;
  30138. new iCost = (PlayerVehicleInfo[iTargetID][i][pvPrice] / 10) + PlayerVehicleInfo[iTargetID][i][pvTicket];
  30139. if(iCost > 100)
  30140. iCost = 100;
  30141. if(PlayerVehicleInfo[iTargetID][i][pvId] > INVALID_PLAYER_VEHICLE_ID) {
  30142. if(PlayerVehicleInfo[iTargetID][i][pvTicket]) {
  30143. format(vstring, sizeof(vstring), "%s\n%s (ticket - $%i)", vstring, VehicleName[PlayerVehicleInfo[iTargetID][i][pvModelId] - 400], PlayerVehicleInfo[iTargetID][i][pvTicket]);
  30144. ++iCount;
  30145. }
  30146. else format(vstring, sizeof(vstring), "%s\n%s", vstring, VehicleName[PlayerVehicleInfo[iTargetID][i][pvModelId] - 400]);
  30147. }
  30148. else if(PlayerVehicleInfo[iTargetID][i][pvImpounded]) {
  30149. format(vstring, sizeof(vstring), "%s\n%s (impounded - $%i release)", vstring, VehicleName[PlayerVehicleInfo[iTargetID][i][pvModelId] - 400], iCost);
  30150. ++iCount;
  30151. }
  30152. else format(vstring, sizeof(vstring), "%s\nNone", vstring);
  30153. }
  30154. if(iCount) ShowPlayerDialogEx(playerid, MPSPAYTICKETSCOP, DIALOG_STYLE_LIST, "Vehicles", vstring, "Release", "Cancel"), SetPVarInt(playerid, "vRel", iTargetID);
  30155. else SendClientMessage(playerid, COLOR_GRAD2, "This person doesn't have any tickets to be paid or vehicles to be released.");
  30156. }
  30157. else SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  30158. }
  30159. else SendClientMessage(playerid, COLOR_GRAD2, "You're not at the DMV release point in Dillimore (inside the DMV).");
  30160. return 1;
  30161. }
  30162. CMD:dmvmenu(playerid, params[])
  30163. {
  30164. if(IsPlayerInRangeOfPoint(playerid, 3.0, 833.60, 3.23, 1004.17))
  30165. {
  30166. if(PlayerInfo[playerid][pCarLic] == 0)
  30167. {
  30168. SendClientMessage(playerid, COLOR_GRAD2, "A valid driver's license is required to release your vehicle from the impound, or pay any tickets.");
  30169. return 1;
  30170. }
  30171. new
  30172. vstring[1024],
  30173. iCount;
  30174. for(new i; i < MAX_PLAYERVEHICLES; i++) {
  30175. if(PlayerVehicleInfo[playerid][i][pvPrice] < 1) PlayerVehicleInfo[playerid][i][pvPrice] = 5000;
  30176. new iCost = (PlayerVehicleInfo[playerid][i][pvPrice] / 10) + PlayerVehicleInfo[playerid][i][pvTicket] + (PlayerInfo[playerid][pLevel] * 10);
  30177. if(iCost > 10000)
  30178. {
  30179. iCost = 1000;
  30180. }
  30181. if(PlayerVehicleInfo[playerid][i][pvId] > INVALID_PLAYER_VEHICLE_ID) {
  30182. if(PlayerVehicleInfo[playerid][i][pvTicket]) {
  30183. format(vstring, sizeof(vstring), "%s\n%s (ticket - $%i)", vstring, VehicleName[PlayerVehicleInfo[playerid][i][pvModelId] - 400], PlayerVehicleInfo[playerid][i][pvTicket]);
  30184. ++iCount;
  30185. }
  30186. else format(vstring, sizeof(vstring), "%s\n%s", vstring, VehicleName[PlayerVehicleInfo[playerid][i][pvModelId] - 400]);
  30187. }
  30188. else if(PlayerVehicleInfo[playerid][i][pvImpounded]) {
  30189. format(vstring, sizeof(vstring), "%s\n%s (impounded - $%i release)", vstring, VehicleName[PlayerVehicleInfo[playerid][i][pvModelId] - 400], iCost);
  30190. ++iCount;
  30191. }
  30192. else format(vstring, sizeof(vstring), "%s\nNone", vstring);
  30193. }
  30194. if(iCount)
  30195. {
  30196. ShowPlayerDialogEx(playerid, MPSPAYTICKETS, DIALOG_STYLE_LIST, "Vehicles", vstring, "Release", "Cancel");
  30197. }
  30198. else SendClientMessage(playerid, COLOR_GRAD2, "You don't have any tickets to be paid or vehicles to be released.");
  30199. }
  30200. else SendClientMessage(playerid, COLOR_GRAD2, "You're not at the DMV release point in Dillimore (inside the DMV).");
  30201. return 1;
  30202. }
  30203. CMD:givekeys(playerid, params[])
  30204. {
  30205. new
  30206. giveplayerid;
  30207. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givekeys [playerid/partofname]");
  30208. if(IsPlayerConnected(giveplayerid))
  30209. {
  30210. if(playerid == giveplayerid) return 1;
  30211. if(ProxDetectorS(8.0, playerid, giveplayerid))
  30212. {
  30213. new
  30214. iValidVehicles,
  30215. vstring[512];
  30216. for(new i; i < MAX_PLAYERVEHICLES; i++)
  30217. {
  30218. if(PlayerVehicleInfo[playerid][i][pvId] != INVALID_PLAYER_VEHICLE_ID)
  30219. format(vstring, sizeof(vstring), "%s\n%s", vstring, VehicleName[PlayerVehicleInfo[playerid][i][pvModelId] - 400]), ++iValidVehicles;
  30220. else if(PlayerVehicleInfo[playerid][i][pvImpounded] == 1)
  30221. format(vstring, sizeof(vstring), "%s\n%s (impounded)", vstring, VehicleName[PlayerVehicleInfo[playerid][i][pvModelId] - 400]);
  30222. else if(PlayerVehicleInfo[playerid][i][pvDisabled] == 1 && PlayerVehicleInfo[playerid][i][pvModelId] >= 400)
  30223. format(vstring, sizeof(vstring), "%s\n%s (disabled)", vstring, VehicleName[PlayerVehicleInfo[playerid][i][pvModelId] - 400]);
  30224. else if(PlayerVehicleInfo[playerid][i][pvSpawned] == 0 && PlayerVehicleInfo[playerid][i][pvModelId] >= 400)
  30225. format(vstring, sizeof(vstring), "%s\n%s (stored)", vstring, VehicleName[PlayerVehicleInfo[playerid][i][pvModelId] - 400]);
  30226. else
  30227. format(vstring, sizeof(vstring), "%s\nEmpty", vstring);
  30228. }
  30229. if(iValidVehicles != 0)
  30230. {
  30231. GiveKeysTo[playerid] = giveplayerid;
  30232. ShowPlayerDialogEx(playerid, GIVEKEYS, DIALOG_STYLE_LIST, "Please select a vehicle.", vstring, "Give Keys", "Cancel");
  30233. }
  30234. else
  30235. {
  30236. SendClientMessage(playerid, COLOR_GRAD2, "You don't have any vehicles for which you can give out keys.");
  30237. }
  30238. }
  30239. else
  30240. {
  30241. SendClientMessage(playerid, COLOR_GRAD1, "You're not close enough to that player.");
  30242. }
  30243. }
  30244. return 1;
  30245. }
  30246. CMD:carkeys(playerid, params[])
  30247. {
  30248. new vstring[768], iValidVehicles;
  30249. for(new i = 0; i < MAX_PLAYERVEHICLES; i++) {
  30250. if(PlayerVehicleInfo[playerid][i][pvId] != INVALID_PLAYER_VEHICLE_ID) {
  30251. if(PlayerVehicleInfo[playerid][i][pvAllowedPlayerId] != INVALID_PLAYER_ID) {
  30252. format(vstring, sizeof(vstring), "%s\n%s | Keys: %s", vstring, VehicleName[PlayerVehicleInfo[playerid][i][pvModelId] - 400], GetPlayerNameEx(PlayerVehicleInfo[playerid][i][pvAllowedPlayerId]));
  30253. iValidVehicles ++;
  30254. } else if(PlayerVehicleInfo[playerid][i][pvImpounded] == 1 || PlayerVehicleInfo[playerid][i][pvSpawned] == 0) {
  30255. format(vstring, sizeof(vstring), "%s\n%s | Keys: Unavailable", vstring, VehicleName[PlayerVehicleInfo[playerid][i][pvModelId] - 400]);
  30256. } else {
  30257. format(vstring, sizeof(vstring), "%s\n%s | Keys: No-one", vstring, VehicleName[PlayerVehicleInfo[playerid][i][pvModelId] - 400]);
  30258. }
  30259. } else {
  30260. format(vstring, sizeof(vstring), "%s\nEmpty", vstring);
  30261. }
  30262. }
  30263. if(iValidVehicles != 0) {
  30264. ShowPlayerDialogEx(playerid, REMOVEKEYS, DIALOG_STYLE_LIST, "Please select a vehicle.", vstring, "Remove Keys", "Cancel");
  30265. } else SendClientMessage(playerid, COLOR_GRAD2, "You don't have any keys given out.");
  30266. return 1;
  30267. }
  30268. CMD:info(playerid, params[])
  30269. {
  30270. return cmd_information(playerid, params);
  30271. }
  30272. CMD:information(playerid, params[]) {
  30273. SendClientMessage(playerid, COLOR_WHITE, "Discord: {FFA500}"DISCORD"{FFFFFF} | Website: {FFA500}" WEBSITE);
  30274. return 1;
  30275. }
  30276. CMD:trunkput(playerid, params[])
  30277. {
  30278. if(AdminDuty[playerid] == 1)
  30279. {
  30280. SendClientMessage(playerid,COLOR_WHITE, "You can't use this command while on-duty as admin.");
  30281. return 1;
  30282. }
  30283. if(GetPVarInt(playerid, "PBM") > 0)
  30284. {
  30285. SendClientMessage(playerid, COLOR_WHITE, "You're not able to do this while in a paintball game.");
  30286. return 1;
  30287. }
  30288. if(GetPVarInt(playerid, "EventToken") != 0)
  30289. {
  30290. SendClientMessage(playerid, COLOR_GREY, "You can't use this while you're in an event.");
  30291. return 1;
  30292. }
  30293. if(IsPlayerInAnyVehicle(playerid)) { SendClientMessage(playerid, COLOR_WHITE, "You can't do this while being inside the vehicle!"); return 1; }
  30294. if(GetPVarInt(playerid, "EMSAttempt") != 0) return SendClientMessage(playerid, COLOR_GRAD2, "You can't use this command!");
  30295. if(PlayerInfo[playerid][pFaction] != 0)
  30296. {
  30297. SendClientMessage(playerid, COLOR_GRAD2, "You can't do that while in a faction.");
  30298. return 1;
  30299. }
  30300. new string[128], weaponchoice[32], slot;
  30301. if(sscanf(params, "s[32]d", weaponchoice, slot)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /trunkput [weapon] [slot]");
  30302. new pvid = -1, Float: x, Float: y, Float: z;
  30303. for(new d = 0 ; d < MAX_PLAYERVEHICLES; d++)
  30304. {
  30305. if(PlayerVehicleInfo[playerid][d][pvId] != INVALID_PLAYER_VEHICLE_ID) GetVehiclePos(PlayerVehicleInfo[playerid][d][pvId], x, y, z);
  30306. if(IsPlayerInRangeOfPoint(playerid, 4.5, x, y, z))
  30307. {
  30308. pvid = d;
  30309. break;
  30310. }
  30311. }
  30312. if(pvid == -1) return SendClientMessage(playerid,COLOR_GREY,"You're not near any vehicle that you own.");
  30313. new engine,lights,alarm,doors,bonnet,boot,objective;
  30314. GetVehicleParamsEx(PlayerVehicleInfo[playerid][pvid][pvId],engine,lights,alarm,doors,bonnet,boot,objective);
  30315. if(boot == VEHICLE_PARAMS_OFF || boot == VEHICLE_PARAMS_UNSET) return SendClientMessage(playerid, COLOR_GRAD3, "You can't take/put stuff inside the trunk if it's closed!(/car trunk to open it)");
  30316. if(GetVehicleModel(PlayerVehicleInfo[playerid][pvid][pvId]) == 481 || GetVehicleModel(PlayerVehicleInfo[playerid][pvid][pvId]) == 510) return SendClientMessage(playerid,COLOR_GREY,"That vehicle doesn't have a trunk.");
  30317. new Float: Health;
  30318. GetPlayerHealth(playerid, Health);
  30319. if(Health < 80.0) return SendClientMessage(playerid,COLOR_GREY,"You can't store weapons in a car when your health lower than 80.");
  30320. if(GetPVarInt(playerid, "GiveWeaponTimer") > 0)
  30321. {
  30322. format(string, sizeof(string), " You must wait %d seconds before depositing another weapon.", GetPVarInt(playerid, "GiveWeaponTimer"));
  30323. SendClientMessage(playerid,COLOR_GREY,string);
  30324. return 1;
  30325. }
  30326. new maxslots = PlayerVehicleInfo[playerid][pvid][pvWepUpgrade]+1;
  30327. if(slot > maxslots)
  30328. {
  30329. SendClientMessage(playerid, COLOR_GREY, "Invalid slot.");
  30330. return 1;
  30331. }
  30332. if(PlayerVehicleInfo[playerid][pvid][pvWeapons][slot-1] != 0)
  30333. {
  30334. SendClientMessage(playerid, COLOR_GREY, "You have a weapon stored in that slot already.");
  30335. return 1;
  30336. }
  30337. new weapon;
  30338. if(strcmp(weaponchoice, "sdpistol", true, strlen(weaponchoice)) == 0)
  30339. {
  30340. if(PlayerInfo[playerid][pGuns][2] == 23 && PlayerInfo[playerid][pAGuns][2] == 0)
  30341. {
  30342. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited a silenced pistol into your car gun locker.");
  30343. weapon = PlayerInfo[playerid][pGuns][2];
  30344. format(string,sizeof(string), "* %s deposited their silenced pistol in their car safe.", GetPlayerNameEx(playerid));
  30345. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  30346. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  30347. }
  30348. }
  30349. else if(strcmp(weaponchoice, "deagle", true, strlen(weaponchoice)) == 0)
  30350. {
  30351. if(PlayerInfo[playerid][pGuns][2] == 24 && PlayerInfo[playerid][pAGuns][2] == 0)
  30352. {
  30353. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited a Desert Eagle in your car gun locker.");
  30354. weapon = PlayerInfo[playerid][pGuns][2];
  30355. format(string,sizeof(string), "* %s deposited their Desert Eagle in their car safe.", GetPlayerNameEx(playerid));
  30356. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  30357. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  30358. }
  30359. }
  30360. else if(strcmp(weaponchoice, "shotgun", true, strlen(weaponchoice)) == 0)
  30361. {
  30362. if(PlayerInfo[playerid][pGuns][3] == 25 && PlayerInfo[playerid][pAGuns][3] == 0)
  30363. {
  30364. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited a shotgun in your car gun locker.");
  30365. weapon = PlayerInfo[playerid][pGuns][3];
  30366. format(string,sizeof(string), "* %s deposited their Shotgun in their car safe.", GetPlayerNameEx(playerid));
  30367. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  30368. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  30369. }
  30370. }
  30371. else if(strcmp(weaponchoice, "spas12", true, strlen(weaponchoice)) == 0)
  30372. {
  30373. if(PlayerInfo[playerid][pGuns][3] == 27 && PlayerInfo[playerid][pAGuns][3] == 0)
  30374. {
  30375. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited a combat shotgun in your car gun locker.");
  30376. weapon = PlayerInfo[playerid][pGuns][3];
  30377. format(string,sizeof(string), "* %s deposited their Combat Shotgun in their car safe.", GetPlayerNameEx(playerid));
  30378. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  30379. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  30380. }
  30381. }
  30382. else if(strcmp(weaponchoice, "mp5", true, strlen(weaponchoice)) == 0)
  30383. {
  30384. if(PlayerInfo[playerid][pGuns][4] == 29 && PlayerInfo[playerid][pAGuns][4] == 0)
  30385. {
  30386. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited an MP5 in your car gun locker.");
  30387. weapon = PlayerInfo[playerid][pGuns][4];
  30388. format(string,sizeof(string), "* %s deposited their MP5 in their car safe.", GetPlayerNameEx(playerid));
  30389. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  30390. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  30391. }
  30392. }
  30393. else if(strcmp(weaponchoice, "ak47", true, strlen(weaponchoice)) == 0)
  30394. {
  30395. if(PlayerInfo[playerid][pGuns][5] == 30 && PlayerInfo[playerid][pAGuns][5] == 0)
  30396. {
  30397. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited an AK-47 in your car gun locker.");
  30398. weapon = PlayerInfo[playerid][pGuns][5];
  30399. format(string,sizeof(string), "* %s deposited their AK-47 in their car safe.", GetPlayerNameEx(playerid));
  30400. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  30401. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  30402. }
  30403. }
  30404. else if(strcmp(weaponchoice, "m4", true, strlen(weaponchoice)) == 0)
  30405. {
  30406. if(PlayerInfo[playerid][pGuns][5] == 31 && PlayerInfo[playerid][pAGuns][5] == 0)
  30407. {
  30408. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited an M4 in your car gun locker.");
  30409. weapon = PlayerInfo[playerid][pGuns][5];
  30410. format(string,sizeof(string), "* %s deposited their M4 in their car safe.", GetPlayerNameEx(playerid));
  30411. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  30412. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  30413. }
  30414. }
  30415. else if(strcmp(weaponchoice, "rifle", true, strlen(weaponchoice)) == 0)
  30416. {
  30417. if(PlayerInfo[playerid][pGuns][6] == 33 && PlayerInfo[playerid][pAGuns][6] == 0)
  30418. {
  30419. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited a rifle in your car gun locker.");
  30420. weapon = PlayerInfo[playerid][pGuns][6];
  30421. format(string,sizeof(string), "* %s deposited their rifle in their car safe.", GetPlayerNameEx(playerid));
  30422. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  30423. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  30424. }
  30425. }
  30426. else if(strcmp(weaponchoice, "sniper", true, strlen(weaponchoice)) == 0)
  30427. {
  30428. if(PlayerInfo[playerid][pGuns][6] == 34 && PlayerInfo[playerid][pAGuns][6] == 0)
  30429. {
  30430. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited a sniper rifle in your car gun locker.");
  30431. weapon = PlayerInfo[playerid][pGuns][6];
  30432. format(string,sizeof(string), "* %s deposited their sniper rifle in their car safe.", GetPlayerNameEx(playerid));
  30433. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  30434. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  30435. }
  30436. }
  30437. if(weapon == 0) return SendClientMessage(playerid, COLOR_GREY, "You don't have that weapon.");
  30438. if(PlayerVehicleInfo[playerid][pvid][pvWeapons][slot-1] == 0)
  30439. {
  30440. PlayerVehicleInfo[playerid][pvid][pvWeapons][slot-1] = weapon;
  30441. RemovePlayerWeapon(playerid, weapon);
  30442. return 1;
  30443. }
  30444. else { SendClientMessage(playerid,COLOR_GREY," Invalid weapon name!"); return 1; }
  30445. }
  30446. CMD:trunktake(playerid, params[]) {
  30447. if(AdminDuty[playerid] == 1)
  30448. {
  30449. SendClientMessage(playerid,COLOR_WHITE, "You can't use this command while on-duty as admin.");
  30450. return 1;
  30451. }
  30452. if(IsPlayerInAnyVehicle(playerid)) {
  30453. return SendClientMessage(playerid, COLOR_WHITE, "You can't do this while you're inside a vehicle.");
  30454. }
  30455. else if(GetPVarInt(playerid, "PBM") > 0) {
  30456. return SendClientMessage(playerid, COLOR_WHITE, "You're not able to do this while in a paintball game.");
  30457. }
  30458. else if(GetPVarInt(playerid, "EventToken") != 0) {
  30459. return SendClientMessage(playerid, COLOR_GREY, "You can't use this while you're in an event.");
  30460. }
  30461. else if(PlayerInfo[playerid][pConnectTime] < 2) {
  30462. return SendClientMessage(playerid, COLOR_GRAD2, "You can't use this as you're currently restricted from possessing weapons!");
  30463. }
  30464. else if(GetPVarInt(playerid, "GiveWeaponTimer") >= 1) {
  30465. new
  30466. szMessage[59];
  30467. format(szMessage, sizeof(szMessage), " You must wait %d seconds before getting another weapon.", GetPVarInt(playerid, "GiveWeaponTimer"));
  30468. return SendClientMessage(playerid, COLOR_GREY, szMessage);
  30469. }
  30470. new
  30471. Float: fVehPos[3],
  30472. iWeaponSlot = strval(params);
  30473. for(new d = 0 ; d < MAX_PLAYERVEHICLES; d++) {
  30474. if(PlayerVehicleInfo[playerid][d][pvId] != INVALID_PLAYER_VEHICLE_ID) {
  30475. GetVehiclePos(PlayerVehicleInfo[playerid][d][pvId], fVehPos[0], fVehPos[1], fVehPos[2]);
  30476. if(IsPlayerInRangeOfPoint(playerid, 4.5, fVehPos[0], fVehPos[1], fVehPos[2])) {
  30477. if(isnull(params)) {
  30478. new
  30479. szMessage[64];
  30480. format(szMessage, sizeof(szMessage), "*** %s's %s Safe ***", GetPlayerNameEx(playerid), GetVehicleName(PlayerVehicleInfo[playerid][d][pvId]));
  30481. SendClientMessage(playerid, COLOR_WHITE, szMessage);
  30482. for(new s = 0; s < 3; s++) if(PlayerVehicleInfo[playerid][d][pvWeapons][s] != 0) {
  30483. new
  30484. szWeapon[16];
  30485. GetWeaponName(PlayerVehicleInfo[playerid][d][pvWeapons][s], szWeapon, sizeof(szWeapon));
  30486. format(szMessage, sizeof(szMessage), "Slot %d: %s", s+1, szWeapon);
  30487. SendClientMessage(playerid, COLOR_WHITE, szMessage);
  30488. }
  30489. return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /trunktake [slot]");
  30490. }
  30491. else if(GetVehicleModel(PlayerVehicleInfo[playerid][d][pvId]) == 481 || GetVehicleModel(PlayerVehicleInfo[playerid][d][pvId]) == 509) {
  30492. return SendClientMessage(playerid,COLOR_GREY,"That vehicle doesn't have a trunk.");
  30493. }
  30494. new
  30495. engine, lights, alarm, doors, bonnet, boot, objective;
  30496. GetVehicleParamsEx(PlayerVehicleInfo[playerid][d][pvId], engine, lights, alarm, doors, bonnet, boot, objective);
  30497. if(boot == VEHICLE_PARAMS_OFF || boot == VEHICLE_PARAMS_UNSET) {
  30498. return SendClientMessage(playerid, COLOR_GRAD3, "You can't take weapons from the trunk if it's closed! /car trunk to open it.");
  30499. }
  30500. else if(iWeaponSlot > PlayerVehicleInfo[playerid][d][pvWepUpgrade] + 1) {
  30501. return SendClientMessage(playerid, COLOR_GREY, "Invalid slot specified.");
  30502. }
  30503. else if(PlayerVehicleInfo[playerid][d][pvWeapons][iWeaponSlot - 1] != 0) {
  30504. new
  30505. szWeapon[16],
  30506. szMessage[128];
  30507. GetWeaponName(PlayerVehicleInfo[playerid][d][pvWeapons][iWeaponSlot - 1], szWeapon, sizeof(szWeapon));
  30508. GivePlayerValidWeapon(playerid, PlayerVehicleInfo[playerid][d][pvWeapons][iWeaponSlot - 1], 60000);
  30509. PlayerVehicleInfo[playerid][d][pvWeapons][iWeaponSlot - 1] = 0;
  30510. format(szMessage, sizeof(szMessage), "You have withdrawn a %s from your car gun locker.", szWeapon);
  30511. SendClientMessage(playerid, COLOR_WHITE, szMessage);
  30512. format(szMessage, sizeof(szMessage), "* %s has withdrawn a %s from their car safe.", GetPlayerNameEx(playerid), szWeapon);
  30513. return ProxDetector(30.0, playerid, szMessage, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  30514. }
  30515. else return SendClientMessage(playerid, COLOR_WHITE, "You don't have a weapon stored in that slot.");
  30516. }
  30517. }
  30518. }
  30519. return SendClientMessage(playerid,COLOR_GREY,"You're not near any vehicle that you own.");
  30520. }
  30521. CMD:vstorage(playerid, params[])
  30522. {
  30523. if(AdminDuty[playerid] == 1)
  30524. {
  30525. SendClientMessage(playerid,COLOR_WHITE, "You can't use this command while on-duty as admin.");
  30526. return 1;
  30527. }
  30528. new vstring[2500];
  30529. for(new i, iModelID; i < MAX_PLAYERVEHICLES; i++) {
  30530. if((iModelID = PlayerVehicleInfo[playerid][i][pvModelId] - 400) >= 0) {
  30531. if(PlayerVehicleInfo[playerid][i][pvImpounded]) {
  30532. format(vstring, sizeof(vstring), "%s\n{FFA500}Vehicle: {FFFFFF}%s{FFA500} | {FFA500}Status: {FFFFFF}(impounded) {FFA500}| Location: ", vstring, VehicleName[iModelID]);
  30533. }
  30534. else if(PlayerVehicleInfo[playerid][i][pvDisabled]) {
  30535. format(vstring, sizeof(vstring), "%s\n{FFA500}Vehicle: {FFFFFF}%s{FFA500} | {FFA500}Status: {FFFFFF}(disabled) {FFA500}| Location: ", vstring, VehicleName[iModelID]);
  30536. }
  30537. else if(!PlayerVehicleInfo[playerid][i][pvSpawned]) {
  30538. format(vstring, sizeof(vstring), "%s\n{FFA500}Vehicle: {FFFFFF}%s{FFA500} | {FFA500}Status: {FFFFFF}Stored {FFA500}| Location: ", vstring, VehicleName[iModelID]);
  30539. }
  30540. else format(vstring, sizeof(vstring), "%s\n{FFA500}Vehicle: {FFFFFF}%s{FFA500} | {FFA500}Status: {FFFFFF}Spawned {FFA500}| Location: ", vstring, VehicleName[iModelID]);
  30541. }
  30542. }
  30543. ShowPlayerDialogEx(playerid, VEHICLESTORAGE, DIALOG_STYLE_LIST, "Vehicle storage", vstring, "(De)spawn", "Cancel");
  30544. return 1;
  30545. }
  30546. CMD:vst(playerid, params[]) return cmd_vstorage(playerid, params);
  30547. CMD:craft(playerid, params[])
  30548. {
  30549. if(AdminDuty[playerid] == 1)
  30550. {
  30551. SendClientMessage(playerid,COLOR_WHITE, "You can't use this command while on-duty as admin.");
  30552. return 1;
  30553. }
  30554. if(PlayerInfo[playerid][pJob] != 18 && PlayerInfo[playerid][pJob2] != 18)
  30555. {
  30556. SendClientMessage(playerid,COLOR_GREY," You're not a Craftsman!");
  30557. return 1;
  30558. }
  30559. if(PlayerInfo[playerid][pJailTime] > 0)
  30560. {
  30561. SendClientMessage(playerid,COLOR_GREY," You can't make things while in jail or prison!");
  30562. return 1;
  30563. }
  30564. new string[128];
  30565. if(GetPVarInt(playerid, "ArmsTimer") > 0)
  30566. {
  30567. format(string, sizeof(string), " You must wait %d seconds before crafting again.", GetPVarInt(playerid, "ArmsTimer"));
  30568. SendClientMessage(playerid,COLOR_GREY,string);
  30569. return 1;
  30570. }
  30571. if(GetPVarInt(playerid, "Hospital") == 1 || GetPVarInt(playerid, "Hospital") == 2 || GetPVarInt(playerid, "Hospital") == 3 || GetPVarInt(playerid, "Hospital") == 4 || GetPVarInt(playerid, "Hospital") == 5)
  30572. {
  30573. SendClientMessage(playerid, COLOR_GREY, "You can't craft whilst in Hospital.");
  30574. return 1;
  30575. }
  30576. new giveplayerid, choice[32], weapon, price;
  30577. if(sscanf(params, "us[32]", giveplayerid, choice))
  30578. {
  30579. SendClientMessage(playerid, COLOR_GREEN, "________________________________________________");
  30580. SendClientMessage(playerid, COLOR_YELLOW, "<< Available crafts >>");
  30581. SendClientMessage(playerid, COLOR_GRAD1, "screwdriver(1000) smslog(2000)");
  30582. SendClientMessage(playerid, COLOR_GRAD1, "wristwatch(500) tire(250)");
  30583. SendClientMessage(playerid, COLOR_GRAD1, "firstaid(1000) camera(250)");
  30584. SendClientMessage(playerid, COLOR_GRAD1, "rccam(8000) receiver(5000)");
  30585. SendClientMessage(playerid, COLOR_GRAD1, "gps(1000) bugsweep(10000)");
  30586. SendClientMessage(playerid, COLOR_GRAD1, "parachute(50)");
  30587. SendClientMessage(playerid, COLOR_GREEN, "________________________________________________");
  30588. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /craft [playerid/partofname] [craftname]");
  30589. return 1;
  30590. }
  30591. if(IsPlayerConnected(giveplayerid))
  30592. {
  30593. if(isnull(choice))
  30594. {
  30595. SendClientMessage(playerid, COLOR_GREEN, "________________________________________________");
  30596. SendClientMessage(playerid, COLOR_YELLOW, "<< Available crafts >>");
  30597. SendClientMessage(playerid, COLOR_GRAD1, "screwdriver(1000) smslog(2000)");
  30598. SendClientMessage(playerid, COLOR_GRAD1, "wristwatch(500) tire(250)");
  30599. SendClientMessage(playerid, COLOR_GRAD1, "firstaid(1000) camera(250)");
  30600. SendClientMessage(playerid, COLOR_GRAD1, "rccam(8000) receiver(5000)");
  30601. SendClientMessage(playerid, COLOR_GRAD1, "gps(1000) bugsweep(10000)");
  30602. SendClientMessage(playerid, COLOR_GRAD1, "parachute(50)");
  30603. SendClientMessage(playerid, COLOR_GREEN, "________________________________________________");
  30604. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /craft [playerid/partofname] [craftname]");
  30605. return 1;
  30606. }
  30607. if(strcmp(choice,"screwdriver",true) == 0)
  30608. {
  30609. if(PlayerInfo[playerid][pMats] >= 1000)
  30610. {
  30611. price = 1000;
  30612. weapon = 1;
  30613. }
  30614. else
  30615. {
  30616. SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that!");
  30617. return 1;
  30618. }
  30619. }
  30620. else if(strcmp(choice,"smslog",true) == 0)
  30621. {
  30622. if(PlayerInfo[playerid][pMats] >= 2000)
  30623. {
  30624. price = 2000;
  30625. weapon = 2;
  30626. }
  30627. else
  30628. {
  30629. SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that!");
  30630. return 1;
  30631. }
  30632. }
  30633. else if(strcmp(choice,"wristwatch",true) == 0)
  30634. {
  30635. if(PlayerInfo[playerid][pMats] >= 500)
  30636. {
  30637. price = 500;
  30638. weapon = 3;
  30639. }
  30640. else
  30641. {
  30642. SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that!");
  30643. return 1;
  30644. }
  30645. }
  30646. else if(strcmp(choice,"tire",true) == 0)
  30647. {
  30648. if(PlayerInfo[playerid][pMats] >= 250)
  30649. {
  30650. price = 250;
  30651. weapon = 5;
  30652. }
  30653. else
  30654. {
  30655. SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that!");
  30656. return 1;
  30657. }
  30658. }
  30659. else if(strcmp(choice,"firstaid",true) == 0)
  30660. {
  30661. if(PlayerInfo[playerid][pMats] >= 1000)
  30662. {
  30663. price = 1000;
  30664. weapon = 7;
  30665. }
  30666. else
  30667. {
  30668. SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that!");
  30669. return 1;
  30670. }
  30671. }
  30672. else if(strcmp(choice,"camera",true) == 0)
  30673. {
  30674. if(PlayerInfo[playerid][pMats] >= 250)
  30675. {
  30676. price = 250;
  30677. weapon = 8;
  30678. }
  30679. else
  30680. {
  30681. SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that!");
  30682. return 1;
  30683. }
  30684. }
  30685. else if(strcmp(choice,"rccam",true) == 0)
  30686. {
  30687. if(PlayerInfo[playerid][pMats] >= 8000)
  30688. {
  30689. price = 8000;
  30690. weapon = 9;
  30691. }
  30692. else
  30693. {
  30694. SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that!");
  30695. return 1;
  30696. }
  30697. }
  30698. else if(strcmp(choice,"receiver",true) == 0)
  30699. {
  30700. if(PlayerInfo[playerid][pMats] >= 5000)
  30701. {
  30702. price = 5000;
  30703. weapon = 10;
  30704. }
  30705. else
  30706. {
  30707. SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that!");
  30708. return 1;
  30709. }
  30710. }
  30711. else if(strcmp(choice,"gps",true) == 0)
  30712. {
  30713. if(PlayerInfo[playerid][pMats] >= 1000)
  30714. {
  30715. price = 1000;
  30716. weapon = 11;
  30717. }
  30718. else
  30719. {
  30720. SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that!");
  30721. return 1;
  30722. }
  30723. }
  30724. else if(strcmp(choice,"bugsweep",true) == 0)
  30725. {
  30726. if(PlayerInfo[playerid][pMats] >= 10000)
  30727. {
  30728. price = 10000;
  30729. weapon = 12;
  30730. }
  30731. else
  30732. {
  30733. SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that!");
  30734. return 1;
  30735. }
  30736. }
  30737. else if(strcmp(choice,"parachute",true) == 0)
  30738. {
  30739. if(PlayerInfo[playerid][pMats] >= 50)
  30740. {
  30741. price = 50;
  30742. weapon = 13;
  30743. }
  30744. else
  30745. {
  30746. SendClientMessage(playerid,COLOR_GREY," Not enough Materials for that!");
  30747. return 1;
  30748. }
  30749. }
  30750. else { SendClientMessage(playerid,COLOR_GREY," Invalid Craft name!"); return 1; }
  30751. if(ProxDetectorS(5.0, playerid, giveplayerid))
  30752. {
  30753. if(giveplayerid == playerid)
  30754. {
  30755. format(string, sizeof(string), " You have given yourself a %s.", choice);
  30756. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  30757. SendClientMessage(playerid, COLOR_GRAD1, string);
  30758. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  30759. switch(PlayerInfo[playerid][pSex]) {
  30760. case 1: format(string, sizeof(string), "* %s created something from Materials, and hands it to himself.", GetPlayerNameEx(playerid));
  30761. case 2: format(string, sizeof(string), "* %s created something from Materials, and hands it to herself.", GetPlayerNameEx(playerid));
  30762. }
  30763. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  30764. PlayerInfo[playerid][pMats] -= price;
  30765. SetPVarInt(playerid, "ArmsTimer", 10);
  30766. SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_ARMSTIMER);
  30767. switch(weapon) {
  30768. case 1:
  30769. {
  30770. PlayerInfo[playerid][pScrewdriver]++;
  30771. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, "/sellgun");
  30772. }
  30773. case 3: {
  30774. PlayerInfo[playerid][pWristwatch]++;
  30775. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, "/wristwatch");
  30776. }
  30777. case 5: {
  30778. PlayerInfo[playerid][pTire]++;
  30779. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, "/repair");
  30780. }
  30781. case 7: {
  30782. PlayerInfo[playerid][pFirstaid]++;
  30783. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, "/firstaid");
  30784. }
  30785. case 8: {
  30786. GivePlayerValidWeapon(playerid, 43, 50);
  30787. }
  30788. case 9: {
  30789. PlayerInfo[playerid][pRccam]++;
  30790. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, "/rccam");
  30791. }
  30792. case 10: {
  30793. PlayerInfo[playerid][pReceiver]++;
  30794. SetPVarInt(playerid, "pReceiverMLeft", 40);
  30795. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, "You will receive the next four department radio messages.");
  30796. }
  30797. case 11:{
  30798. PlayerInfo[playerid][pGPS]++;
  30799. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, "/gps");
  30800. }
  30801. case 12: {
  30802. PlayerInfo[playerid][pSweep]++;
  30803. PlayerInfo[playerid][pSweepLeft] = 3;
  30804. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, "/sweep");
  30805. }
  30806. case 13: {
  30807. GivePlayerValidWeapon(playerid, 46, 99999);
  30808. }
  30809. }
  30810. return 1;
  30811. }
  30812. format(string, sizeof(string), "* You offered %s to buy a %s.", GetPlayerNameEx(giveplayerid), choice);
  30813. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  30814. format(string, sizeof(string), "* Craftsman %s wants to sell you a %s, (type /accept craft) to buy.", GetPlayerNameEx(playerid), choice);
  30815. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  30816. CraftOffer[giveplayerid] = playerid;
  30817. CraftId[giveplayerid] = weapon;
  30818. CraftMats[giveplayerid] = price;
  30819. format(CraftName[giveplayerid], 50, "%s", choice);
  30820. /*if(PlayerInfo[playerid][pAdmin] < 3)
  30821. {
  30822. SetPVarInt(playerid, "ArmsTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_ARMSTIMER);
  30823. }*/
  30824. SetPVarInt(playerid, "ArmsTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_ARMSTIMER);
  30825. return 1;
  30826. }
  30827. else
  30828. {
  30829. SendClientMessage(playerid, COLOR_GREY, "That player isn't near you.");
  30830. return 1;
  30831. }
  30832. }
  30833. else
  30834. {
  30835. SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  30836. return 1;
  30837. }
  30838. }
  30839. CMD:inventory(playerid, params[])
  30840. {
  30841. new str[32];
  30842. SendClientMessage(playerid, COLOR_GREEN, "________________________________________________");
  30843. SendClientMessage(playerid, COLOR_YELLOW, "<< Craft Inventory >>");
  30844. format(str, sizeof(str), "Screwdriver: %d", PlayerInfo[playerid][pScrewdriver]);
  30845. SendClientMessage(playerid, COLOR_GRAD1, str);
  30846. format(str, sizeof(str), "Wristwatch: %d Tire: %d", PlayerInfo[playerid][pWristwatch], PlayerInfo[playerid][pTire]);
  30847. SendClientMessage(playerid, COLOR_GRAD1, str);
  30848. format(str, sizeof(str), "Firstaid: %d Rccam: %d", PlayerInfo[playerid][pFirstaid], PlayerInfo[playerid][pRccam]);
  30849. SendClientMessage(playerid, COLOR_GRAD1, str);
  30850. format(str, sizeof(str), "Receiver: %d GPS: %d", PlayerInfo[playerid][pReceiver], PlayerInfo[playerid][pGPS]);
  30851. SendClientMessage(playerid, COLOR_GRAD1, str);
  30852. format(str, sizeof(str), "Bug Sweep: %d", PlayerInfo[playerid][pSweep]);
  30853. SendClientMessage(playerid, COLOR_GRAD1, str);
  30854. return 1;
  30855. }
  30856. CMD:ww(playerid, params[])
  30857. {
  30858. return cmd_wristwatch(playerid, params);
  30859. }
  30860. CMD:wristwatch(playerid, params[])
  30861. {
  30862. if(PlayerInfo[playerid][pWristwatch] > 0)
  30863. {
  30864. new string[128];
  30865. if(GetPVarInt(playerid, "wristwatchonoff") == 0)
  30866. {
  30867. SetPVarInt(playerid, "wristwatchonoff", 1);
  30868. new hour,minuite,second;
  30869. gettime(hour,minuite,second);
  30870. FixHour(hour);
  30871. hour = shifthour;
  30872. if(minuite < 10)
  30873. {
  30874. format(string, sizeof(string), "%d:0%d", hour, minuite);
  30875. }
  30876. else
  30877. {
  30878. format(string, sizeof(string), "%d:%d", hour, minuite);
  30879. }
  30880. TextDrawShowForPlayer(playerid, WristWatch);
  30881. format(string, sizeof(string), "* %s turns on their wristwatch.", GetPlayerNameEx(playerid));
  30882. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  30883. }
  30884. else
  30885. {
  30886. KillTimer(GetPVarInt(playerid, "wristwatchtimer"));
  30887. TextDrawHideForPlayer(playerid, WristWatch);
  30888. DeletePVar(playerid, "wristwatchonoff");
  30889. format(string, sizeof(string), "* %s turns off their wristwatch.", GetPlayerNameEx(playerid));
  30890. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  30891. }
  30892. }
  30893. else
  30894. {
  30895. SendClientMessage(playerid, COLOR_GRAD1, "You don't have a wristwatch!");
  30896. }
  30897. return 1;
  30898. }
  30899. CMD:firstaid(playerid, params[])
  30900. {
  30901. if(GetPVarInt(playerid, "PBM") > 0)
  30902. {
  30903. SendClientMessage(playerid, COLOR_WHITE, "You can't do this while being in a arena!");
  30904. return 1;
  30905. }
  30906. if(GetPVarInt(playerid, "Injured") == 1)
  30907. {
  30908. SendClientMessage(playerid, COLOR_WHITE, "You can't do this right now.");
  30909. return 1;
  30910. }
  30911. if(PlayerBoxing[playerid] == 1)
  30912. {
  30913. SendClientMessage(playerid, COLOR_GREY, "You can't use firstaid while you're boxing.");
  30914. return 1;
  30915. }
  30916. if(PlayerInfo[playerid][pFirstaid] > 0)
  30917. {
  30918. if(GetPVarInt(playerid, "usingfirstaid") == 0)
  30919. {
  30920. new string[128];
  30921. PlayerInfo[playerid][pFirstaid]--;
  30922. SetPVarInt(playerid, "firstaid5", SetTimerEx("firstaid5", 5000, 1, "d", playerid));
  30923. SetPVarInt(playerid, "firstaidexpire", SetTimerEx("firstaidexpire",10*60000, 0, "d", playerid));
  30924. SetPVarInt(playerid, "usingfirstaid", 1);
  30925. format(string, sizeof(string), "* %s uses a first aid kit.", GetPlayerNameEx(playerid));
  30926. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  30927. }
  30928. else
  30929. {
  30930. SendClientMessage(playerid, COLOR_GRAD1, "You're already using first aid!");
  30931. }
  30932. }
  30933. else
  30934. {
  30935. SendClientMessage(playerid, COLOR_GRAD1, "You don't have a first aid kit!");
  30936. }
  30937. return 1;
  30938. }
  30939. CMD:rccam(playerid, params[])
  30940. {
  30941. if(PlayerInfo[playerid][pRccam] > 0)
  30942. {
  30943. new string[128];
  30944. if(GetPVarInt(playerid, "rccam") == 0)
  30945. {
  30946. if(IsPlayerInAnyVehicle(playerid))
  30947. {
  30948. SendClientMessage(playerid, COLOR_GRAD1, "You must be on foot to place an RCCam!");
  30949. return 1;
  30950. }
  30951. PlayerInfo[playerid][pRccam]--;
  30952. SetPVarInt(playerid, "rccam", 1);
  30953. new Float:X, Float:Y, Float:Z;
  30954. GetPlayerPos(playerid, X, Y, Z);
  30955. SetPVarFloat(playerid, "rcX", X);
  30956. SetPVarFloat(playerid, "rcY", Y);
  30957. SetPVarFloat(playerid, "rcZ", Z);
  30958. if(GetPVarInt(playerid, "rcveh") != 0)
  30959. {
  30960. DestroyVehicle(GetPVarInt(playerid, "rcveh"));
  30961. VehicleRadioStation[GetPVarInt(playerid, "rcveh")] = 0;
  30962. }
  30963. SetPVarInt(playerid, "rcveh", AddStaticVehicle(594, X, Y, Z, 0, 0, 0));
  30964. PutPlayerInVehicle(playerid, GetPVarInt(playerid, "rcveh"), 0);
  30965. SetPVarInt(playerid, "rccamtimer", SetTimerEx("rccam", 60000, 0, "d", playerid));
  30966. format(string, sizeof(string), "* %s places something on the ground.", GetPlayerNameEx(playerid));
  30967. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  30968. }
  30969. else
  30970. {
  30971. DestroyVehicle(GetPVarInt(playerid, "rcveh"));
  30972. VehicleRadioStation[GetPVarInt(playerid, "rcveh")] = 0;
  30973. SetPlayerPos(playerid, GetPVarFloat(playerid, "rcX"), GetPVarFloat(playerid, "rcY"), GetPVarFloat(playerid, "rcZ"));
  30974. DeletePVar(playerid, "rccam");
  30975. KillTimer(GetPVarInt(playerid, "rccamtimer"));
  30976. }
  30977. }
  30978. else
  30979. {
  30980. if(GetPVarInt(playerid, "rccam") == 1)
  30981. {
  30982. DestroyVehicle(GetPVarInt(playerid, "rcveh"));
  30983. VehicleRadioStation[GetPVarInt(playerid, "rcveh")] = 0;
  30984. SetPlayerPos(playerid, GetPVarFloat(playerid, "rcX"), GetPVarFloat(playerid, "rcY"), GetPVarFloat(playerid, "rcZ"));
  30985. DeletePVar(playerid, "rccam");
  30986. KillTimer(GetPVarInt(playerid, "rccamtimer"));
  30987. return 1;
  30988. }
  30989. SendClientMessage(playerid, COLOR_GRAD1, "You don't have an RC Cam!");
  30990. }
  30991. return 1;
  30992. }
  30993. CMD:gps(playerid, params[])
  30994. {
  30995. if(PlayerInfo[playerid][pGPS] > 0)
  30996. {
  30997. new string[128];
  30998. if(GetPVarInt(playerid, "gpsonoff") == 0)
  30999. {
  31000. format(string, sizeof(string), "* %s turns on their GPS.", GetPlayerNameEx(playerid));
  31001. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  31002. SetPVarInt(playerid, "gpsonoff", 1);
  31003. GPS[playerid] = TextDrawCreate(85.000000, 322.000000, "Loading..");
  31004. TextDrawAlignment(GPS[playerid], 2);
  31005. TextDrawBackgroundColor(GPS[playerid], 255);
  31006. TextDrawFont(GPS[playerid], 0);
  31007. TextDrawLetterSize(GPS[playerid], 0.809998, 1.500000);
  31008. TextDrawColor(GPS[playerid], -1);
  31009. TextDrawSetOutline(GPS[playerid], 1);
  31010. TextDrawSetProportional(GPS[playerid], 1);
  31011. TextDrawShowForPlayer(playerid, GPS[playerid]);
  31012. }
  31013. else
  31014. {
  31015. format(string, sizeof(string), "* %s turns off their GPS.", GetPlayerNameEx(playerid));
  31016. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  31017. DeletePVar(playerid, "gpsonoff");
  31018. TextDrawDestroy(GPS[playerid]);
  31019. }
  31020. }
  31021. else
  31022. {
  31023. SendClientMessage(playerid, COLOR_GRAD1, "You don't have a GPS!");
  31024. }
  31025. return 1;
  31026. }
  31027. CMD:sweep(playerid, params[])
  31028. {
  31029. if(PlayerInfo[playerid][pSweep] > 0)
  31030. {
  31031. if(PlayerInfo[playerid][pSweepLeft] > 0)
  31032. {
  31033. new string[128], giveplayerid;
  31034. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /sweep [playerid/partofname]");
  31035. if(!ProxDetectorS(4.0, playerid, giveplayerid)) return SendClientMessage(playerid, COLOR_GRAD1, "You need to be close to the person.");
  31036. PlayerInfo[playerid][pSweepLeft]--;
  31037. format(string, sizeof(string), "* %s sweeps a large wand around %s's body...", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  31038. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  31039. if(PlayerInfo[giveplayerid][pBugged] > 0)
  31040. {
  31041. PlayerInfo[giveplayerid][pBugged] = 0;
  31042. format(string, sizeof(string), "* A small spark is seen as the bug on %s shorts out.", GetPlayerNameEx(giveplayerid));
  31043. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  31044. format(string, sizeof(string), "(bug) %s: *static*", GetPlayerNameEx(giveplayerid));
  31045. SendBugMessage(2, COLOR_LIGHTGREEN, string);
  31046. }
  31047. else
  31048. {
  31049. ProxDetector(30.0, playerid, "Nothing happens.", COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  31050. }
  31051. }
  31052. else
  31053. {
  31054. SendClientMessage(playerid, COLOR_GRAD1, "Your Bug Sweeper has ran out of batteries!");
  31055. PlayerInfo[playerid][pSweep]--;
  31056. PlayerInfo[playerid][pSweepLeft] = 3;
  31057. }
  31058. }
  31059. else
  31060. {
  31061. SendClientMessage(playerid, COLOR_GRAD1, "You don't have a bug sweep!");
  31062. }
  31063. return 1;
  31064. }
  31065. CMD:receiver(playerid, params[])
  31066. {
  31067. if(PlayerInfo[playerid][pReceiver] > 0)
  31068. {
  31069. if(!GetPVarType(playerid, "pReceiverOn"))
  31070. {
  31071. SendClientMessage(playerid, COLOR_YELLOW, "You've turned on your receiver.");
  31072. SetPVarInt(playerid, "pReceiverOn", 1);
  31073. }
  31074. else
  31075. {
  31076. SendClientMessage(playerid, COLOR_YELLOW, "You've turned off your receiver.");
  31077. DeletePVar(playerid, "pReceiverOn");
  31078. }
  31079. }
  31080. else
  31081. {
  31082. SendClientMessage(playerid, COLOR_GRAD1, "You don't have a receiver.");
  31083. }
  31084. return 1;
  31085. }
  31086. CMD:leaderhelp(playerid, params[])
  31087. {
  31088. if(PlayerInfo[playerid][pLeader] >= 1) {
  31089. SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
  31090. SendClientMessage(playerid, COLOR_WHITE,"*** LEADER HELP *** - Type a command for more infomation.");
  31091. SendClientMessage(playerid, COLOR_GRAD3,"*** LEADERS *** /invite /uninvite /giverank /ouninvite");
  31092. }
  31093. else {
  31094. SendClientMessage(playerid, COLOR_GREY, "You're not a leader.");
  31095. }
  31096. return 1;
  31097. }
  31098. CMD:fishhelp(playerid, params[])
  31099. {
  31100. SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
  31101. SendClientMessage(playerid, COLOR_WHITE,"*** FISH HELP *** - type a command for more infomation.");
  31102. SendClientMessage(playerid, COLOR_GRAD3,"*** FISHING *** /fish (Try to catch a fish) /fishes (Show the fishes you have caught)");
  31103. SendClientMessage(playerid, COLOR_GRAD3,"*** FISHING *** /throwback (Throw the last fish you caught back) /throwbackall");
  31104. SendClientMessage(playerid, COLOR_GRAD3,"*** FISHING *** /releasefish (Release one of your fishes)");
  31105. SendClientMessage(playerid, COLOR_GRAD3,"*** FISHING *** /sellfish (Sell your fish at a 24/7) /sellallfish (Sells all your fishes that can be sold)");
  31106. return 1;
  31107. }
  31108. CMD:fish(playerid, params[])
  31109. {
  31110. if(PlayerInfo[playerid][pFishes] > 5)
  31111. {
  31112. SendClientMessage(playerid, COLOR_GREY, "You've caught enough fish for now - take a break.");
  31113. return 1;
  31114. }
  31115. if(Fishes[playerid][pWeight1] > 0 && Fishes[playerid][pWeight2] > 0 && Fishes[playerid][pWeight3] > 0 && Fishes[playerid][pWeight4] > 0 && Fishes[playerid][pWeight5] > 0)
  31116. {
  31117. SendClientMessage(playerid, COLOR_GREY, "You can't carry more than five fish at a time - sell or release them first.");
  31118. return 1;
  31119. }
  31120. new string[128];
  31121. new Veh = GetPlayerVehicleID(playerid);
  31122. if((IsAtFishPlace(playerid)) || IsABoat(Veh))
  31123. {
  31124. new Caught;
  31125. new rand;
  31126. new fstring[MAX_PLAYER_NAME];
  31127. new Level = PlayerInfo[playerid][pFishSkill];
  31128. if(Level >= 0 && Level <= 50) { Caught = random(20)-7; }
  31129. else if(Level >= 51 && Level <= 100) { Caught = random(50)-20; }
  31130. else if(Level >= 101 && Level <= 200) { Caught = random(100)-50; }
  31131. else if(Level >= 201 && Level <= 400) { Caught = random(160)-60; }
  31132. else if(Level >= 401) { Caught = random(180)-70; }
  31133. rand = random(FishNamesNumber);
  31134. if(Caught <= 0)
  31135. {
  31136. SendClientMessage(playerid, COLOR_GREY, "The line snapped.");
  31137. return 1;
  31138. }
  31139. else if(rand == 0)
  31140. {
  31141. SendClientMessage(playerid, COLOR_GREY, "You caught a jacket and threw it away.");
  31142. return 1;
  31143. }
  31144. else if(rand == 4)
  31145. {
  31146. SendClientMessage(playerid, COLOR_GREY, "You caught a pair of trousers and threw it away.");
  31147. return 1;
  31148. }
  31149. else if(rand == 7)
  31150. {
  31151. SendClientMessage(playerid, COLOR_GREY, "You caught a can and threw it away.");
  31152. return 1;
  31153. }
  31154. else if(rand == 10)
  31155. {
  31156. SendClientMessage(playerid, COLOR_GREY, "You caught a pair of shoes and threw it away.");
  31157. return 1;
  31158. }
  31159. else if(rand == 13)
  31160. {
  31161. SendClientMessage(playerid, COLOR_GREY, "You caught some garbage and threw it away.");
  31162. return 1;
  31163. }
  31164. else if(rand == 20)
  31165. {
  31166. new mrand = random(50);
  31167. format(string, sizeof(string), "* You caught a bag filled with money ($%d).", mrand);
  31168. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  31169. GivePlayerCash(playerid, mrand);
  31170. return 1;
  31171. }
  31172. if(Fishes[playerid][pWeight1] == 0)
  31173. {
  31174. PlayerInfo[playerid][pFishes] += 1;
  31175. if(DoubleXP == 1)
  31176. {
  31177. new hour,minuite,second;
  31178. gettime(hour,minuite,second);
  31179. if(DoubleEXPcheck(hour))
  31180. {
  31181. PlayerInfo[playerid][pFishSkill] += 2;
  31182. SendClientMessage(playerid, COLOR_YELLOW, "* You have gained two skill points for this job due to double experience.");
  31183. }
  31184. /*else
  31185. {
  31186. SendClientMessage(playerid, COLOR_YELLOW, "* You have only gained one skill point for this job since it's not within the double experience hours.");
  31187. PlayerInfo[playerid][pFishSkill]++;
  31188. }*/
  31189. }
  31190. else
  31191. {
  31192. PlayerInfo[playerid][pFishSkill] += 1;
  31193. }
  31194. format(fstring, sizeof(fstring), "%s", FishNames[rand]);
  31195. strmid(Fishes[playerid][pFish1], fstring, 0, strlen(fstring), 255);
  31196. Fishes[playerid][pWeight1] = Caught;
  31197. format(string, sizeof(string), "* You have caught a %s, weighing %d pounds.", Fishes[playerid][pFish1], Caught);
  31198. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  31199. Fishes[playerid][pLastWeight] = Caught;
  31200. Fishes[playerid][pLastFish] = 1;
  31201. Fishes[playerid][pFid1] = rand;
  31202. Fishes[playerid][pFishID] = rand;
  31203. if(Caught > PlayerInfo[playerid][pBiggestFish])
  31204. {
  31205. format(string, sizeof(string), "* Your old record of %d pounds has been passed, your new record is %d pounds.", PlayerInfo[playerid][pBiggestFish], Caught);
  31206. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  31207. PlayerInfo[playerid][pBiggestFish] = Caught;
  31208. }
  31209. }
  31210. else if(Fishes[playerid][pWeight2] == 0)
  31211. {
  31212. PlayerInfo[playerid][pFishes] += 1;
  31213. if(DoubleXP == 1)
  31214. {
  31215. new hour,minuite,second;
  31216. gettime(hour,minuite,second);
  31217. if(DoubleEXPcheck(hour))
  31218. {
  31219. PlayerInfo[playerid][pFishSkill] += 2;
  31220. SendClientMessage(playerid, COLOR_YELLOW, "* You have gained two skill points for this job due to double experience.");
  31221. }
  31222. /*else
  31223. {
  31224. SendClientMessage(playerid, COLOR_YELLOW, "* You have only gained one skill point for this job since it's not within the double experience hours.");
  31225. PlayerInfo[playerid][pFishSkill]++;
  31226. }*/
  31227. }
  31228. else
  31229. {
  31230. PlayerInfo[playerid][pFishSkill] += 1;
  31231. }
  31232. format(fstring, sizeof(fstring), "%s", FishNames[rand]);
  31233. strmid(Fishes[playerid][pFish2], fstring, 0, strlen(fstring), 255);
  31234. Fishes[playerid][pWeight2] = Caught;
  31235. format(string, sizeof(string), "* You have caught a %s, weighing %d pounds.", Fishes[playerid][pFish2], Caught);
  31236. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  31237. Fishes[playerid][pLastWeight] = Caught;
  31238. Fishes[playerid][pLastFish] = 2;
  31239. Fishes[playerid][pFid2] = rand;
  31240. Fishes[playerid][pFishID] = rand;
  31241. if(Caught > PlayerInfo[playerid][pBiggestFish])
  31242. {
  31243. format(string, sizeof(string), "* Your old record of %d pounds has been passed, your new record is %d pounds.", PlayerInfo[playerid][pBiggestFish], Caught);
  31244. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  31245. PlayerInfo[playerid][pBiggestFish] = Caught;
  31246. }
  31247. }
  31248. else if(Fishes[playerid][pWeight3] == 0)
  31249. {
  31250. PlayerInfo[playerid][pFishes] += 1;
  31251. if(DoubleXP == 1)
  31252. {
  31253. new hour,minuite,second;
  31254. gettime(hour,minuite,second);
  31255. if(DoubleEXPcheck(hour))
  31256. {
  31257. PlayerInfo[playerid][pFishSkill] += 2;
  31258. SendClientMessage(playerid, COLOR_YELLOW, "* You have gained two skill points for this job due to double experience.");
  31259. }
  31260. /*else
  31261. {
  31262. SendClientMessage(playerid, COLOR_YELLOW, "* You have only gained one skill point for this job since it's not within the double experience hours.");
  31263. PlayerInfo[playerid][pFishSkill]++;
  31264. }*/
  31265. }
  31266. else
  31267. {
  31268. PlayerInfo[playerid][pFishSkill] += 1;
  31269. }
  31270. format(fstring, sizeof(fstring), "%s", FishNames[rand]);
  31271. strmid(Fishes[playerid][pFish3], fstring, 0, strlen(fstring), 255);
  31272. Fishes[playerid][pWeight3] = Caught;
  31273. format(string, sizeof(string), "* You have caught a %s, weighing %d pounds.", Fishes[playerid][pFish3], Caught);
  31274. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  31275. Fishes[playerid][pLastWeight] = Caught;
  31276. Fishes[playerid][pLastFish] = 3;
  31277. Fishes[playerid][pFid3] = rand;
  31278. Fishes[playerid][pFishID] = rand;
  31279. if(Caught > PlayerInfo[playerid][pBiggestFish])
  31280. {
  31281. format(string, sizeof(string), "* Your old record of %d pounds has been passed, your new record is %d pounds.", PlayerInfo[playerid][pBiggestFish], Caught);
  31282. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  31283. PlayerInfo[playerid][pBiggestFish] = Caught;
  31284. }
  31285. }
  31286. else if(Fishes[playerid][pWeight4] == 0)
  31287. {
  31288. PlayerInfo[playerid][pFishes] += 1;
  31289. if(DoubleXP == 1)
  31290. {
  31291. new hour,minuite,second;
  31292. gettime(hour,minuite,second);
  31293. if(DoubleEXPcheck(hour))
  31294. {
  31295. PlayerInfo[playerid][pFishSkill] += 2;
  31296. SendClientMessage(playerid, COLOR_YELLOW, "* You have gained two skill points for this job due to double experience.");
  31297. }
  31298. /*else
  31299. {
  31300. SendClientMessage(playerid, COLOR_YELLOW, "* You have only gained one skill point for this job since it's not within the double experience hours.");
  31301. PlayerInfo[playerid][pFishSkill]++;
  31302. }*/
  31303. }
  31304. else
  31305. {
  31306. PlayerInfo[playerid][pFishSkill] += 1;
  31307. }
  31308. format(fstring, sizeof(fstring), "%s", FishNames[rand]);
  31309. strmid(Fishes[playerid][pFish4], fstring, 0, strlen(fstring), 255);
  31310. Fishes[playerid][pWeight4] = Caught;
  31311. format(string, sizeof(string), "* You have caught a %s, weighing %d pounds.", Fishes[playerid][pFish4], Caught);
  31312. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  31313. Fishes[playerid][pLastWeight] = Caught;
  31314. Fishes[playerid][pLastFish] = 4;
  31315. Fishes[playerid][pFid4] = rand;
  31316. Fishes[playerid][pFishID] = rand;
  31317. if(Caught > PlayerInfo[playerid][pBiggestFish])
  31318. {
  31319. format(string, sizeof(string), "* Your old record of %d pounds has been passed, your new record is %d pounds.", PlayerInfo[playerid][pBiggestFish], Caught);
  31320. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  31321. PlayerInfo[playerid][pBiggestFish] = Caught;
  31322. }
  31323. }
  31324. else if(Fishes[playerid][pWeight5] == 0)
  31325. {
  31326. PlayerInfo[playerid][pFishes] += 1;
  31327. if(DoubleXP == 1)
  31328. {
  31329. new hour,minuite,second;
  31330. gettime(hour,minuite,second);
  31331. if(DoubleEXPcheck(hour))
  31332. {
  31333. PlayerInfo[playerid][pFishSkill] += 2;
  31334. SendClientMessage(playerid, COLOR_YELLOW, "* You have gained two skill points for this job due to double experience.");
  31335. }
  31336. /*else
  31337. {
  31338. SendClientMessage(playerid, COLOR_YELLOW, "* You have only gained one skill point for this job since it's not within the double experience hours.");
  31339. PlayerInfo[playerid][pFishSkill]++;
  31340. }*/
  31341. }
  31342. else
  31343. {
  31344. PlayerInfo[playerid][pFishSkill] += 1;
  31345. }
  31346. format(fstring, sizeof(fstring), "%s", FishNames[rand]);
  31347. strmid(Fishes[playerid][pFish5], fstring, 0, strlen(fstring), 255);
  31348. Fishes[playerid][pWeight5] = Caught;
  31349. format(string, sizeof(string), "* You have caught a %s, weighing %d pounds.", Fishes[playerid][pFish5], Caught);
  31350. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  31351. Fishes[playerid][pLastWeight] = Caught;
  31352. Fishes[playerid][pLastFish] = 5;
  31353. Fishes[playerid][pFid5] = rand;
  31354. Fishes[playerid][pFishID] = rand;
  31355. if(Caught > PlayerInfo[playerid][pBiggestFish])
  31356. {
  31357. format(string, sizeof(string), "* Your old record of %d pounds has been passed, your new record is %d pounds.", PlayerInfo[playerid][pBiggestFish], Caught);
  31358. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  31359. PlayerInfo[playerid][pBiggestFish] = Caught;
  31360. }
  31361. }
  31362. else
  31363. {
  31364. SendClientMessage(playerid, COLOR_GREY, "You don't have any space for your fish, see /fishhelp.");
  31365. return 1;
  31366. }
  31367. if(PlayerInfo[playerid][pFishSkill] == 50)
  31368. { SendClientMessage(playerid, COLOR_YELLOW, "* Your Fishing Skill is now Level 2, you can now catch larger fish."); }
  31369. else if(PlayerInfo[playerid][pFishSkill] == 100)
  31370. { SendClientMessage(playerid, COLOR_YELLOW, "* Your Fishing Skill is now Level 3, you can now catch larger fish."); }
  31371. else if(PlayerInfo[playerid][pFishSkill] == 200)
  31372. { SendClientMessage(playerid, COLOR_YELLOW, "* Your Fishing Skill is now Level 4, you can now catch larger fish."); }
  31373. else if(PlayerInfo[playerid][pFishSkill] == 400)
  31374. { SendClientMessage(playerid, COLOR_YELLOW, "* Your Fishing Skill is now Level 5, you can now catch larger fish."); }
  31375. }
  31376. else
  31377. {
  31378. SendClientMessage(playerid, COLOR_GREY, "You're not at the Santa Maria Pier, or on a fishing boat.");
  31379. return 1;
  31380. }
  31381. return 1;
  31382. }
  31383. CMD:fishes(playerid, params[])
  31384. {
  31385. new string[128];
  31386. SendClientMessage(playerid, COLOR_WHITE, "|__________________ Fishes __________________|");
  31387. format(string, sizeof(string), "** (1) Fish: %s. Weight: %d.", Fishes[playerid][pFish1], Fishes[playerid][pWeight1]);
  31388. SendClientMessage(playerid, COLOR_GREY, string);
  31389. format(string, sizeof(string), "** (2) Fish: %s. Weight: %d.", Fishes[playerid][pFish2], Fishes[playerid][pWeight2]);
  31390. SendClientMessage(playerid, COLOR_GREY, string);
  31391. format(string, sizeof(string), "** (3) Fish: %s. Weight: %d.", Fishes[playerid][pFish3], Fishes[playerid][pWeight3]);
  31392. SendClientMessage(playerid, COLOR_GREY, string);
  31393. format(string, sizeof(string), "** (4) Fish: %s. Weight: %d.", Fishes[playerid][pFish4], Fishes[playerid][pWeight4]);
  31394. SendClientMessage(playerid, COLOR_GREY, string);
  31395. format(string, sizeof(string), "** (5) Fish: %s. Weight: %d.", Fishes[playerid][pFish5], Fishes[playerid][pWeight5]);
  31396. SendClientMessage(playerid, COLOR_GREY, string);
  31397. SendClientMessage(playerid, COLOR_WHITE, "|____________________________________________|");
  31398. return 1;
  31399. }
  31400. CMD:releasefish(playerid, params[])
  31401. {
  31402. new fishid;
  31403. if(sscanf(params, "d", fishid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /releasefish [fish 1-5]");
  31404. if(fishid < 1 || fishid > 5) { SendClientMessage(playerid, COLOR_WHITE, "USAGE: /releasefish [fish 1-5]"); return 1; }
  31405. else if(fishid == 1 && Fishes[playerid][pWeight1] < 1) { SendClientMessage(playerid, COLOR_GREY, "That slot is empty."); return 1; }
  31406. else if(fishid == 2 && Fishes[playerid][pWeight2] < 1) { SendClientMessage(playerid, COLOR_GREY, "That slot is empty."); return 1; }
  31407. else if(fishid == 3 && Fishes[playerid][pWeight3] < 1) { SendClientMessage(playerid, COLOR_GREY, "That slot is empty."); return 1; }
  31408. else if(fishid == 4 && Fishes[playerid][pWeight4] < 1) { SendClientMessage(playerid, COLOR_GREY, "That slot is empty."); return 1; }
  31409. else if(fishid == 5 && Fishes[playerid][pWeight5] < 1) { SendClientMessage(playerid, COLOR_GREY, "That slot is empty."); return 1; }
  31410. ClearFishID(playerid, fishid);
  31411. Fishes[playerid][pLastFish] = 0;
  31412. Fishes[playerid][pFishID] = 0;
  31413. SendClientMessage(playerid, COLOR_GREY, "You released a fish.");
  31414. return 1;
  31415. }
  31416. CMD:throwback(playerid, params[])
  31417. {
  31418. if(Fishes[playerid][pLastFish] > 0)
  31419. {
  31420. ClearFishID(playerid, Fishes[playerid][pLastFish]);
  31421. Fishes[playerid][pLastFish] = 0;
  31422. Fishes[playerid][pFishID] = 0;
  31423. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You have thrown back your last fish.");
  31424. }
  31425. else
  31426. {
  31427. SendClientMessage(playerid, COLOR_GREY, "You haven't even caught a fish yet.");
  31428. return 1;
  31429. }
  31430. return 1;
  31431. }
  31432. CMD:throwbackall(playerid, params[])
  31433. {
  31434. if(Fishes[playerid][pWeight1] > 0 || Fishes[playerid][pWeight2] > 0 || Fishes[playerid][pWeight3] > 0 || Fishes[playerid][pWeight4] > 0 || Fishes[playerid][pWeight5] > 0)
  31435. {
  31436. ClearFishes(playerid);
  31437. Fishes[playerid][pLastFish] = 0;
  31438. Fishes[playerid][pFishID] = 0;
  31439. SendClientMessage(playerid, COLOR_GREY, "You have thrown back all your fish.");
  31440. }
  31441. else
  31442. {
  31443. SendClientMessage(playerid, COLOR_GREY, "You haven't even caught a fish yet.");
  31444. return 1;
  31445. }
  31446. return 1;
  31447. }
  31448. CMD:sellallfish(playerid, params[]) {
  31449. if(!IsAt247(playerid))
  31450. return SendClientMessage(playerid, COLOR_GRAD2, " You're not in a 24-7!");
  31451. new
  31452. iPrice,
  31453. szMessage[128];
  31454. if(Fishes[playerid][pWeight1] >= 20) {
  31455. iPrice = FishCost(playerid, Fishes[playerid][pFid1]);
  31456. iPrice = (iPrice * Fishes[playerid][pWeight1]) / 10;
  31457. GameTextForPlayer(playerid, "~g~Fish~n~~r~Sold", 3000, 1);
  31458. format(szMessage, sizeof(szMessage), "* You have sold your %s (fish #1) that weights %d, for $%d.", Fishes[playerid][pFish1],Fishes[playerid][pWeight1],iPrice);
  31459. SendClientMessage(playerid, COLOR_LIGHTBLUE, szMessage);
  31460. GivePlayerCash(playerid, iPrice);
  31461. ClearFishID(playerid, 1);
  31462. }
  31463. if(Fishes[playerid][pWeight2] >= 20) {
  31464. iPrice = FishCost(playerid, Fishes[playerid][pFid2]);
  31465. iPrice = (iPrice * Fishes[playerid][pWeight2]) / 10;
  31466. GameTextForPlayer(playerid, "~g~Fish~n~~r~Sold", 3000, 1);
  31467. format(szMessage, sizeof(szMessage), "* You have sold your %s (fish #2) that weights %d, for $%d.", Fishes[playerid][pFish2],Fishes[playerid][pWeight2],iPrice);
  31468. SendClientMessage(playerid, COLOR_LIGHTBLUE, szMessage);
  31469. GivePlayerCash(playerid, iPrice);
  31470. ClearFishID(playerid, 2);
  31471. }
  31472. if(Fishes[playerid][pWeight3] >= 20) {
  31473. iPrice = FishCost(playerid, Fishes[playerid][pFid3]);
  31474. iPrice = (iPrice * Fishes[playerid][pWeight3]) / 10;
  31475. GameTextForPlayer(playerid, "~g~Fish~n~~r~Sold", 3000, 1);
  31476. format(szMessage, sizeof(szMessage), "* You have sold your %s (fish #3) that weights %d, for $%d.", Fishes[playerid][pFish3],Fishes[playerid][pWeight3],iPrice);
  31477. SendClientMessage(playerid, COLOR_LIGHTBLUE, szMessage);
  31478. GivePlayerCash(playerid, iPrice);
  31479. ClearFishID(playerid, 3);
  31480. }
  31481. if(Fishes[playerid][pWeight4] >= 20) {
  31482. iPrice = FishCost(playerid, Fishes[playerid][pFid4]);
  31483. iPrice = (iPrice * Fishes[playerid][pWeight4]) / 10;
  31484. GameTextForPlayer(playerid, "~g~Fish~n~~r~Sold", 3000, 1);
  31485. format(szMessage, sizeof(szMessage), "* You have sold your %s (fish #4) that weights %d, for $%d.", Fishes[playerid][pFish4],Fishes[playerid][pWeight4],iPrice);
  31486. SendClientMessage(playerid, COLOR_LIGHTBLUE, szMessage);
  31487. GivePlayerCash(playerid, iPrice);
  31488. ClearFishID(playerid, 4);
  31489. }
  31490. if(Fishes[playerid][pWeight5] >= 20) {
  31491. iPrice = FishCost(playerid, Fishes[playerid][pFid5]);
  31492. iPrice = (iPrice * Fishes[playerid][pWeight5]) / 10;
  31493. GameTextForPlayer(playerid, "~g~Fish~n~~r~Sold", 3000, 1);
  31494. format(szMessage, sizeof(szMessage), "* You have sold your %s (fish #5) that weights %d, for $%d.", Fishes[playerid][pFish5],Fishes[playerid][pWeight5],iPrice);
  31495. SendClientMessage(playerid, COLOR_LIGHTBLUE, szMessage);
  31496. GivePlayerCash(playerid, iPrice);
  31497. ClearFishID(playerid, 5);
  31498. }
  31499. return 1;
  31500. }
  31501. CMD:sellfish(playerid, params[])
  31502. {
  31503. if(!IsAt247(playerid))
  31504. {
  31505. SendClientMessage(playerid, COLOR_GRAD2, " You're not in a 24-7!");
  31506. return 1;
  31507. }
  31508. new string[128], fishid;
  31509. if(sscanf(params, "d", fishid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /sellfish [fish]");
  31510. new price;
  31511. if(fishid < 1 || fishid > 5) { SendClientMessage(playerid, COLOR_GREY, " Fish number cant be below 1 or above 5!"); return 1; }
  31512. else if(fishid == 1 && Fishes[playerid][pWeight1] < 1) { SendClientMessage(playerid, COLOR_GREY, " You didnt even catch a Fish at that number(1)!"); return 1; }
  31513. else if(fishid == 2 && Fishes[playerid][pWeight2] < 1) { SendClientMessage(playerid, COLOR_GREY, " You didnt even catch a Fish at that number(2)!"); return 1; }
  31514. else if(fishid == 3 && Fishes[playerid][pWeight3] < 1) { SendClientMessage(playerid, COLOR_GREY, " You didnt even catch a Fish at that number(3)!"); return 1; }
  31515. else if(fishid == 4 && Fishes[playerid][pWeight4] < 1) { SendClientMessage(playerid, COLOR_GREY, " You didnt even catch a Fish at that number(4)!"); return 1; }
  31516. else if(fishid == 5 && Fishes[playerid][pWeight5] < 1) { SendClientMessage(playerid, COLOR_GREY, " You didnt even catch a Fish at that number(5)!"); return 1; }
  31517. switch (fishid)
  31518. {
  31519. case 1:
  31520. {
  31521. if(Fishes[playerid][pWeight1] < 20)
  31522. {
  31523. SendClientMessage(playerid, COLOR_WHITE, "We are only interested in Fishes weighting 20 LBS or more.");
  31524. return 1;
  31525. }
  31526. price = FishCost(playerid, Fishes[playerid][pFid1]);
  31527. price = (price * Fishes[playerid][pWeight1]) / 10;
  31528. GameTextForPlayer(playerid, "~g~Fish~n~~r~Sold", 3000, 1);
  31529. format(string, sizeof(string), "* You have sold your %s that weights %d, for $%d.", Fishes[playerid][pFish1],Fishes[playerid][pWeight1],price);
  31530. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  31531. GivePlayerCash(playerid, price);
  31532. ClearFishID(playerid, 1);
  31533. }
  31534. case 2:
  31535. {
  31536. if(Fishes[playerid][pWeight2] < 20)
  31537. {
  31538. SendClientMessage(playerid, COLOR_WHITE, "We are only interested in Fishes weighting 20 LBS or more.");
  31539. return 1;
  31540. }
  31541. price = FishCost(playerid, Fishes[playerid][pFid2]);
  31542. price = (price * Fishes[playerid][pWeight2]) / 10;
  31543. GameTextForPlayer(playerid, "~g~Fish~n~~r~Sold", 3000, 1);
  31544. format(string, sizeof(string), "* You have sold your %s that weights %d, for $%d.", Fishes[playerid][pFish2],Fishes[playerid][pWeight2],price);
  31545. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  31546. GivePlayerCash(playerid, price);
  31547. ClearFishID(playerid, 2);
  31548. }
  31549. case 3:
  31550. {
  31551. if(Fishes[playerid][pWeight3] < 20)
  31552. {
  31553. SendClientMessage(playerid, COLOR_WHITE, "We are only interested in Fishes weighting 20 LBS or more.");
  31554. return 1;
  31555. }
  31556. price = FishCost(playerid, Fishes[playerid][pFid3]);
  31557. price = (price * Fishes[playerid][pWeight3]) / 10;
  31558. GameTextForPlayer(playerid, "~g~Fish~n~~r~Sold", 3000, 1);
  31559. format(string, sizeof(string), "* You have sold your %s that weights %d, for $%d.", Fishes[playerid][pFish3],Fishes[playerid][pWeight3],price);
  31560. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  31561. GivePlayerCash(playerid, price);
  31562. ClearFishID(playerid, 3);
  31563. }
  31564. case 4:
  31565. {
  31566. if(Fishes[playerid][pWeight4] < 20)
  31567. {
  31568. SendClientMessage(playerid, COLOR_WHITE, "We are only interested in Fishes weighting 20 LBS or more.");
  31569. return 1;
  31570. }
  31571. price = FishCost(playerid, Fishes[playerid][pFid4]);
  31572. price = (price * Fishes[playerid][pWeight4]) / 10;
  31573. GameTextForPlayer(playerid, "~g~Fish~n~~r~Sold", 3000, 1);
  31574. format(string, sizeof(string), "* You have sold your %s that weights %d, for $%d.", Fishes[playerid][pFish4],Fishes[playerid][pWeight4],price);
  31575. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  31576. GivePlayerCash(playerid, price);
  31577. ClearFishID(playerid, 4);
  31578. }
  31579. case 5:
  31580. {
  31581. if(Fishes[playerid][pWeight5] < 20)
  31582. {
  31583. SendClientMessage(playerid, COLOR_WHITE, "We are only interested in Fishes weighting 20 LBS or more.");
  31584. return 1;
  31585. }
  31586. price = FishCost(playerid, Fishes[playerid][pFid5]);
  31587. price = (price * Fishes[playerid][pWeight5]) / 10;
  31588. GameTextForPlayer(playerid, "~g~Fish~n~~r~Sold", 3000, 1);
  31589. format(string, sizeof(string), "* You have sold your %s that weights %d, for $%d.", Fishes[playerid][pFish5],Fishes[playerid][pWeight5],price);
  31590. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  31591. GivePlayerCash(playerid, price);
  31592. ClearFishID(playerid, 5);
  31593. }
  31594. }
  31595. Fishes[playerid][pLastFish] = 0;
  31596. Fishes[playerid][pFishID] = 0;
  31597. return 1;
  31598. }
  31599. CMD:car(playerid, params[])
  31600. {
  31601. if(isnull(params))
  31602. {
  31603. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /car [name]");
  31604. SendClientMessage(playerid, COLOR_GREY, "Available names: Lights, Trunk, Hood");
  31605. return 1;
  31606. }
  31607. else if(strcmp(params, "lights", true) == 0 && IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  31608. {
  31609. new vehicleid = GetPlayerVehicleID(playerid);
  31610. if(GetVehicleModel(vehicleid) == 481 || GetVehicleModel(vehicleid) == 509 || GetVehicleModel(vehicleid) == 510) return SendClientMessage(playerid,COLOR_WHITE,"This command can't be used in this vehicle.");
  31611. SetVehicleLights(vehicleid, playerid);
  31612. }
  31613. else if(strcmp(params, "trunk", true) == 0)
  31614. {
  31615. if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  31616. {
  31617. new vehicleid = GetPlayerVehicleID(playerid);
  31618. if(GetVehicleModel(vehicleid) == 481 || GetVehicleModel(vehicleid) == 509 || GetVehicleModel(vehicleid) == 510)
  31619. {
  31620. return SendClientMessage(playerid,COLOR_WHITE,"This command can't be used in this vehicle.");
  31621. }
  31622. SetVehicleTrunk(vehicleid, playerid);
  31623. }
  31624. else if(!IsPlayerInAnyVehicle(playerid))
  31625. {
  31626. new closestcar = GetClosestCar(playerid);
  31627. if(IsPlayerInRangeOfVehicle(playerid, closestcar, 5.0))
  31628. {
  31629. if(GetVehicleModel(closestcar) == 481 || GetVehicleModel(closestcar) == 509 || GetVehicleModel(closestcar) == 510)
  31630. {
  31631. return SendClientMessage(playerid,COLOR_WHITE,"This command can't be used on this vehicle.");
  31632. }
  31633. SetVehicleTrunk(closestcar, playerid);
  31634. }
  31635. }
  31636. }
  31637. else if(strcmp(params, "hood", true) == 0 && IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  31638. {
  31639. if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  31640. {
  31641. new vehicleid = GetPlayerVehicleID(playerid);
  31642. if(GetVehicleModel(vehicleid) == 481 || GetVehicleModel(vehicleid) == 509 || GetVehicleModel(vehicleid) == 510 || IsAPlane(vehicleid) || IsABike(vehicleid))
  31643. {
  31644. return SendClientMessage(playerid,COLOR_WHITE,"This command can't be used in this vehicle.");
  31645. }
  31646. SetVehicleHood(vehicleid, playerid);
  31647. }
  31648. else if(!IsPlayerInAnyVehicle(playerid))
  31649. {
  31650. new closestcar = GetClosestCar(playerid);
  31651. if(IsPlayerInRangeOfVehicle(playerid, closestcar, 5.0))
  31652. {
  31653. if(GetVehicleModel(closestcar) == 481 || GetVehicleModel(closestcar) == 509 || GetVehicleModel(closestcar) == 510 || IsAPlane(closestcar) || IsABike(closestcar))
  31654. {
  31655. return SendClientMessage(playerid,COLOR_WHITE,"This command can't be used on this vehicle.");
  31656. }
  31657. SetVehicleHood(closestcar, playerid);
  31658. }
  31659. }
  31660. }
  31661. return 1;
  31662. }
  31663. CMD:stopani(playerid, params[])
  31664. {
  31665. if(StopaniFloats[playerid][0] != 0)
  31666. {
  31667. SendClientMessage (playerid, COLOR_GREY, "You're already attempting to clear your animations!");
  31668. return 1;
  31669. }
  31670. if(GetPVarInt(playerid, "Injured") != 0||PlayerCuffed[playerid]!=0||GetPVarInt(playerid, "Hospital")!=0)
  31671. {
  31672. SendClientMessage (playerid, COLOR_GRAD2, "You can't do this at this time.");
  31673. }
  31674. else
  31675. {
  31676. GetPlayerPos(playerid, StopaniFloats[playerid][0], StopaniFloats[playerid][1], StopaniFloats[playerid][2]);
  31677. SetTimerEx("StopaniTimer", 5000, 0, "d", playerid);
  31678. SendClientMessage (playerid, COLOR_YELLOW, "Do not move for 5 seconds to have your animations cleared!");
  31679. }
  31680. return 1;
  31681. }
  31682. forward StopaniTimer(playerid);
  31683. public StopaniTimer(playerid)
  31684. {
  31685. new Float:posX, Float:posY, Float:posZ;
  31686. GetPlayerPos(playerid, posX, posY, posZ);
  31687. if(StopaniFloats[playerid][0] != posX || StopaniFloats[playerid][1] != posY || StopaniFloats[playerid][2] != posZ)
  31688. {
  31689. SendClientMessage (playerid, COLOR_YELLOW, "Failed to clear animations because you moved!");
  31690. for(new i = 0; i < 3; i++)
  31691. {
  31692. StopaniFloats[playerid][i] = 0;
  31693. }
  31694. return 1;
  31695. }
  31696. SendClientMessage (playerid, COLOR_YELLOW, "Your animations were cleared!");
  31697. ClearAnimations(playerid);
  31698. SetPlayerSkin(playerid, GetPlayerSkin(playerid));
  31699. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
  31700. for(new i = 0; i < 3; i++)
  31701. {
  31702. StopaniFloats[playerid][i] = 0;
  31703. }
  31704. return 1;
  31705. }
  31706. CMD:pay(playerid, params[])
  31707. {
  31708. if(AdminDuty[playerid] == 1)
  31709. {
  31710. SendClientMessage(playerid,COLOR_WHITE, "You can't use this command while on-duty as admin.");
  31711. return 1;
  31712. }
  31713. new
  31714. iTargetID, iCashAmount;
  31715. if(sscanf(params, "ui", iTargetID, iCashAmount)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /pay [playerid/partofname] [amount]");
  31716. if(iTargetID == playerid)
  31717. {
  31718. SendClientMessage(playerid, COLOR_GRAD1, "You can't use this command on yourself!");
  31719. return 1;
  31720. }
  31721. if(iCashAmount > 100 && PlayerInfo[playerid][pLevel] < 2)
  31722. {
  31723. SendClientMessage(playerid, COLOR_GRAD1, "You must be level 2 to pay over $100");
  31724. return 1;
  31725. }
  31726. if(iCashAmount < 1 || iCashAmount > 10000)
  31727. {
  31728. SendClientMessage(playerid, COLOR_GRAD1, "Don't go below $1, or above $10,000 at once.");
  31729. return 1;
  31730. }
  31731. if(IsPlayerConnected(iTargetID))
  31732. {
  31733. if(ProxDetectorS(5.0, playerid, iTargetID))
  31734. {
  31735. new
  31736. szMessage[128], giveplayer[MAX_PLAYER_NAME], sendername[MAX_PLAYER_NAME], playermoney = GetPlayerCash(playerid);
  31737. giveplayer = GetPlayerNameEx(iTargetID);
  31738. sendername = GetPlayerNameEx(playerid);
  31739. if(iCashAmount > 0 && playermoney >= iCashAmount)
  31740. {
  31741. GivePlayerCash(playerid, (0 - iCashAmount));
  31742. GivePlayerCash(iTargetID, iCashAmount);
  31743. format(szMessage, sizeof(szMessage), " You have sent %s(player: %d), $%d.", GetPlayerNameEx(iTargetID),iTargetID, iCashAmount);
  31744. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  31745. SendClientMessage(playerid, COLOR_GRAD1, szMessage);
  31746. format(szMessage, sizeof(szMessage), " You have recieved $%d from %s(player: %d).", iCashAmount, GetPlayerNameEx(playerid), playerid);
  31747. SendClientMessage(iTargetID, COLOR_GRAD1, szMessage);
  31748. new ip[32], ipex[32];
  31749. GetPlayerIp(playerid, ip, sizeof(ip));
  31750. GetPlayerIp(iTargetID, ipex, sizeof(ipex));
  31751. format(szMessage, sizeof(szMessage), "%s (IP:%s) has paid $%d to %s (IP:%s)", GetPlayerNameEx(playerid), ip, iCashAmount, GetPlayerNameEx(iTargetID), ipex);
  31752. Log("logs/pay.log", szMessage);
  31753. PayWarn[playerid][iTargetID] += iCashAmount;
  31754. if(PayWarn[playerid][iTargetID] >= 10000 && PlayerInfo[playerid][pLevel] <= 3)
  31755. {
  31756. format(szMessage, sizeof(szMessage), "%s (IP:%s) has paid %s (IP:%s) $%d in this session.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(iTargetID), ipex, PayWarn[playerid][iTargetID]);
  31757. ABroadCast(COLOR_YELLOW, szMessage, 1);
  31758. }
  31759. if(iCashAmount >= 100000)
  31760. {
  31761. ABroadCast(COLOR_YELLOW,szMessage,1);
  31762. }
  31763. PlayerPlaySound(iTargetID, 1052, 0.0, 0.0, 0.0);
  31764. format(szMessage, sizeof(szMessage), "* %s takes out some cash, and hands it to %s.", GetPlayerNameEx(playerid) ,GetPlayerNameEx(iTargetID));
  31765. ProxDetector(30.0, playerid, szMessage, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  31766. }
  31767. else
  31768. {
  31769. SendClientMessage(playerid, COLOR_GRAD1, " Invalid transaction amount.");
  31770. }
  31771. }
  31772. else
  31773. {
  31774. SendClientMessage(playerid, COLOR_GREY, "That player isn't near you.");
  31775. }
  31776. }
  31777. else SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  31778. return 1;
  31779. }
  31780. CMD:train(playerid, params[])
  31781. {
  31782. if(IsPlayerInRangeOfPoint(playerid, 3.0, 756.229125, 5.614504, 1000.698608) || IsPlayerInRangeOfPoint(playerid, 3.0, 758.43,-78.0,1000.65))
  31783. {
  31784. ShowPlayerDialogEx(playerid, FIGHTMENU, DIALOG_STYLE_LIST, "Fighting Moves", "Boxing $5000\nElbow $5000\nKneehead $5000\nKung-Fu $5000\nGrabKick $5000\nNormal", "Learn", "Cancel");
  31785. }
  31786. else
  31787. {
  31788. SendClientMessage(playerid, COLOR_GRAD2, "You're not at the learning area !(inside gym)");
  31789. }
  31790. return 1;
  31791. }
  31792. CMD:selldrink(playerid, params[])
  31793. {
  31794. if(PlayerInfo[playerid][pJob] == 19 || PlayerInfo[playerid][pJob2] == 19)
  31795. {
  31796. if(IsAtBar(playerid))
  31797. {
  31798. new string[128], giveplayerid;
  31799. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /selldrink [playerid/partofname]");
  31800. if(IsPlayerConnected(giveplayerid))
  31801. {
  31802. if(playerid == giveplayerid)
  31803. {
  31804. return SendClientMessage(playerid, COLOR_GREY, " You can't sell drinks to yourself.");
  31805. }
  31806. if(ProxDetectorS(8.0, playerid, giveplayerid))
  31807. {
  31808. DrinkOffer[giveplayerid] = playerid;
  31809. format(string, sizeof(string), "* Bartender %s has offered has offered to pour you a drink. /accept drink to select a drink.", GetPlayerNameEx(playerid));
  31810. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  31811. format(string, sizeof(string), "* You have offered %s a drink.",GetPlayerNameEx(giveplayerid));
  31812. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  31813. }
  31814. else
  31815. {
  31816. return SendClientMessage(playerid, COLOR_GREY, " That player is not near you!");
  31817. }
  31818. }
  31819. else
  31820. {
  31821. return SendClientMessage(playerid, COLOR_GREY, " That player is not connected!");
  31822. }
  31823. }
  31824. else
  31825. {
  31826. SendClientMessage(playerid, COLOR_GREY, " You're not at a Bar!");
  31827. return 1;
  31828. }
  31829. }
  31830. else
  31831. {
  31832. SendClientMessage(playerid, COLOR_GREY, "You're not a bartender!");
  31833. return 1;
  31834. }
  31835. return 1;
  31836. }
  31837. CMD:usepot(playerid, params[])
  31838. {
  31839. if(GetPVarInt(playerid, "PBM") > 0)
  31840. {
  31841. SendClientMessage(playerid, COLOR_WHITE, "You can't do this while being in a arena!");
  31842. return 1;
  31843. }
  31844. if(PlayerBoxing[playerid] > 0)
  31845. {
  31846. SendClientMessage(playerid, COLOR_GREY, "You can't use drugs while you're boxing.");
  31847. return 1;
  31848. }
  31849. if(UsedWeed[playerid] == 1)
  31850. {
  31851. SendClientMessage(playerid, COLOR_WHITE, "You must wait 5 seconds before using more drugs.");
  31852. return 1;
  31853. }
  31854. new string[128], Float:health, healthint;
  31855. GetPlayerHealth(playerid, health);
  31856. healthint = floatround(health, floatround_round);
  31857. if(healthint >= 100)
  31858. {
  31859. SendClientMessage(playerid, COLOR_GREY, "You already have full health.");
  31860. return 1;
  31861. }
  31862. if(PlayerInfo[playerid][pPot] > 1)
  31863. {
  31864. if(PlayerStoned[playerid] > 3) return SendClientMessage(playerid, COLOR_GRAD1, "You're too stoned to use pot.");
  31865. PlayerStoned[playerid] += 1;
  31866. if(PlayerStoned[playerid] == 3)
  31867. {
  31868. GameTextForPlayer(playerid, "~w~You're ~b~stoned", 5000, 3);
  31869. }
  31870. if(healthint > 80)
  31871. {
  31872. SetPlayerHealth(playerid, 100);
  31873. }
  31874. else
  31875. {
  31876. SetPlayerHealth(playerid, health + 20.0);
  31877. }
  31878. SendClientMessage(playerid, COLOR_GREY, " You used 2 grams of pot!");
  31879. format(string, sizeof(string), "* %s has used some pot.", GetPlayerNameEx(playerid));
  31880. ProxDetector(15.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  31881. PlayerInfo[playerid][pPot] -= 2;
  31882. UsedWeed[playerid] = 1;
  31883. SetTimerEx("ClearDrugs", 5000, false, "d", playerid);
  31884. if(!IsPlayerInAnyVehicle(playerid)) ApplyAnimation(playerid,"SMOKING","M_smkstnd_loop",2.1,0,0,0,0,0);
  31885. switch(GetPVarInt(playerid, "STD")) {
  31886. case 1:
  31887. {
  31888. DeletePVar(playerid, "STD");
  31889. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* you're no longer infected with a STI anymore because of the Drugs!");
  31890. }
  31891. case 2:
  31892. {
  31893. SetPVarInt(playerid, "STD", 1);
  31894. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You reduced the STI to chlamydia because of the drugs!");
  31895. }
  31896. case 3:
  31897. {
  31898. SetPVarInt(playerid, "STD", 2);
  31899. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You reduced the STI to gonorrhea because of the drugs!");
  31900. }
  31901. }
  31902. }
  31903. else
  31904. {
  31905. SendClientMessage(playerid, COLOR_GREY,"You don't have any pot left!");
  31906. }
  31907. return 1;
  31908. }
  31909. CMD:usecrack(playerid, params[])
  31910. {
  31911. new Float:armour;
  31912. GetPlayerArmour(playerid, armour);
  31913. if(GetPVarInt(playerid, "PBM") > 0)
  31914. {
  31915. SendClientMessage(playerid, COLOR_WHITE, "You can't do this while being in a arena!");
  31916. return 1;
  31917. }
  31918. if(PlayerBoxing[playerid] > 0)
  31919. {
  31920. SendClientMessage(playerid, COLOR_GREY, "You can't use drugs while you're fighting.");
  31921. return 1;
  31922. }
  31923. if(UsedCrack[playerid] == 1)
  31924. {
  31925. SendClientMessage(playerid, COLOR_WHITE, "You must wait 5 seconds before using more drugs.");
  31926. return 1;
  31927. }
  31928. if(armour >= 100)
  31929. {
  31930. SendClientMessage(playerid, COLOR_GREY, "You already have full armor.");
  31931. return 1;
  31932. }
  31933. if(PlayerInfo[playerid][pCrack] > 1)
  31934. {
  31935. if(PlayerStoned[playerid] > 3) return SendClientMessage(playerid, COLOR_GRAD1, "You're too stoned to use crack.");
  31936. PlayerStoned[playerid] += 1;
  31937. if(PlayerStoned[playerid] == 3)
  31938. {
  31939. GameTextForPlayer(playerid, "~w~You're ~b~stoned", 5000, 3);
  31940. }
  31941. new string[128], Float:PlayersArmour;
  31942. GetPlayerArmour(playerid, PlayersArmour);
  31943. SendClientMessage(playerid, COLOR_GREY, " You used 2 grams of crack!");
  31944. format(string, sizeof(string), "* %s has used some crack.", GetPlayerNameEx(playerid));
  31945. ProxDetector(15.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  31946. PlayerInfo[playerid][pCrack] -= 2;
  31947. UsedCrack[playerid] = 1;
  31948. SetTimerEx("ClearDrugs", 5000, false, "d", playerid);
  31949. if(PlayersArmour > 90)
  31950. {
  31951. SetPlayerArmourEx(playerid, 100);
  31952. }
  31953. else
  31954. {
  31955. SetPlayerArmourEx(playerid, PlayersArmour + 10.0);
  31956. }
  31957. if(!IsPlayerInAnyVehicle(playerid)) ApplyAnimation(playerid,"SMOKING","M_smkstnd_loop",2.1,0,0,0,0,0);
  31958. switch(GetPVarInt(playerid, "STD")) {
  31959. case 1:
  31960. {
  31961. DeletePVar(playerid, "STD");
  31962. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* you're no longer infected with an STI anymore because of the drugs!");
  31963. }
  31964. case 2:
  31965. {
  31966. SetPVarInt(playerid, "STD", 1);
  31967. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You reduced the STI to chlamydia because of the drugs!");
  31968. }
  31969. case 3:
  31970. {
  31971. SetPVarInt(playerid, "STD", 2);
  31972. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You reduced the STI to gonorrhea because of the drugs!");
  31973. }
  31974. }
  31975. }
  31976. else
  31977. {
  31978. SendClientMessage(playerid, COLOR_GREY, "You don't have any crack left!");
  31979. }
  31980. return 1;
  31981. }
  31982. CMD:fare(playerid, params[])
  31983. {
  31984. if(PlayerInfo[playerid][pJob] == 17 || PlayerInfo[playerid][pJob2] == 17)
  31985. {
  31986. new string[128], fare;
  31987. if(sscanf(params, "d", fare)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /fare [price]");
  31988. if(TransportDuty[playerid] > 0)
  31989. {
  31990. if(TransportDuty[playerid] == 1)
  31991. {
  31992. TaxiDrivers -= 1;
  31993. }
  31994. else if(TransportDuty[playerid] == 2)
  31995. {
  31996. BusDrivers -= 1;
  31997. }
  31998. TransportDuty[playerid] = 0;
  31999. format(string, sizeof(string), "* you're now off duty and earned $%d.", TransportMoney[playerid]);
  32000. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  32001. GivePlayerCash(playerid, TransportMoney[playerid]);
  32002. ConsumingMoney[playerid] = 1; TransportValue[playerid] = 0; TransportMoney[playerid] = 0;
  32003. SetPlayerToTeamColor(playerid);
  32004. return 1;
  32005. }
  32006. if(JobDuty[playerid] != 0) return SendClientMessage(playerid,COLOR_GREY,"You need to get off duty with your mechanic/lawyer job first.");
  32007. new newcar = GetPlayerVehicleID(playerid);
  32008. if(IsAnTaxi(newcar))
  32009. {
  32010. if(GetPlayerState(playerid) == 2)
  32011. {
  32012. if(fare < 1 || fare > 50)
  32013. {
  32014. SendClientMessage(playerid, COLOR_GREY, " Fare price must be between $1 and $50!");
  32015. return 1;
  32016. }
  32017. TaxiDrivers += 1; TransportDuty[playerid] = 1; TransportValue[playerid] = fare;
  32018. format(string, sizeof(string), "* you're now on-duty as Taxi Driver, fare: $%d.", TransportValue[playerid]);
  32019. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  32020. SetPlayerToTeamColor(playerid);
  32021. }
  32022. else
  32023. {
  32024. SendClientMessage(playerid, COLOR_GREY, " You're not the driver!");
  32025. return 1;
  32026. }
  32027. }
  32028. else if(IsAnBus(newcar))
  32029. {
  32030. if(GetPlayerState(playerid) == 2)
  32031. {
  32032. if(fare < 1 || fare > 50)
  32033. {
  32034. SendClientMessage(playerid, COLOR_GREY, " Fare price must be between $1 and $50!");
  32035. return 1;
  32036. }
  32037. BusDrivers += 1; TransportDuty[playerid] = 2; TransportValue[playerid]=fare;
  32038. format(string, sizeof(string), "* you're now on-duty as Bus Driver, fare: $%d.", TransportValue[playerid]);
  32039. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  32040. SetPlayerToTeamColor(playerid);
  32041. }
  32042. else
  32043. {
  32044. SendClientMessage(playerid, COLOR_GREY, " You're not the driver!");
  32045. return 1;
  32046. }
  32047. }
  32048. else
  32049. {
  32050. SendClientMessage(playerid, COLOR_GREY, "You're not in a taxi or a bus!");
  32051. }
  32052. }
  32053. else
  32054. {
  32055. SendClientMessage(playerid,COLOR_GREY,"You're not a licensed taxi/bus driver!");
  32056. return 1;
  32057. }
  32058. return 1;
  32059. }
  32060. CMD:fight(playerid, params[])
  32061. {
  32062. if(PlayerInfo[playerid][pJob] != 12 && PlayerInfo[playerid][pJob2] != 12)
  32063. {
  32064. SendClientMessage(playerid, COLOR_GREY, " You're not a Boxer!");
  32065. return 1;
  32066. }
  32067. if(InRing > 0)
  32068. {
  32069. SendClientMessage(playerid, COLOR_GREY, " There is already a Fight going on, wait for it to Finish!");
  32070. return 1;
  32071. }
  32072. if(PlayerBoxing[playerid] > 0)
  32073. {
  32074. SendClientMessage(playerid, COLOR_GREY, " You're already Fighting!");
  32075. return 1;
  32076. }
  32077. new string[128], giveplayerid;
  32078. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /fight [playerid/partofname]");
  32079. if(IsPlayerConnected(giveplayerid))
  32080. {
  32081. if(ProxDetectorS(8.0, playerid, giveplayerid))
  32082. {
  32083. if(IsPlayerInRangeOfPoint(playerid,20.0,765.952270, 4.167977, 1000.719238))
  32084. {
  32085. if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "You can't Box with yourself!"); return 1; }
  32086. format(string, sizeof(string), "* You offered a Boxing Challenge to %s.", GetPlayerNameEx(giveplayerid));
  32087. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  32088. format(string, sizeof(string), "* Boxer %s wants to Fight with you (type /accept boxing) to accept.", GetPlayerNameEx(playerid));
  32089. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  32090. BoxOffer[giveplayerid] = playerid;
  32091. }
  32092. else
  32093. {
  32094. SendClientMessage(playerid, COLOR_GRAD2,"You're not at the Gym!");
  32095. return 1;
  32096. }
  32097. }
  32098. else
  32099. {
  32100. SendClientMessage(playerid, COLOR_GREY, "That player isn't near you.");
  32101. return 1;
  32102. }
  32103. }
  32104. else
  32105. {
  32106. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  32107. return 1;
  32108. }
  32109. return 1;
  32110. }
  32111. CMD:boxstats(playerid, params[])
  32112. {
  32113. if(PlayerInfo[playerid][pJob] != 12 && PlayerInfo[playerid][pJob2] != 12)
  32114. {
  32115. SendClientMessage(playerid, COLOR_GREY, " You're not a Boxer!");
  32116. return 1;
  32117. }
  32118. new string[128], ttext[20];//Title
  32119. new clevel = PlayerInfo[playerid][pBoxSkill];
  32120. if(clevel >= 0 && clevel <= 50) { ttext = "Beginner"; }
  32121. else if(clevel >= 51 && clevel <= 200) { ttext = "Amateur"; }
  32122. else if(clevel >= 201 && clevel <= 400) { ttext = "Professional"; }
  32123. new ntext[20];//NickName
  32124. new level = PlayerInfo[playerid][pWins];
  32125. if(level > 0 && PlayerInfo[playerid][pLoses] == 0)
  32126. {
  32127. ntext = "Undefeated";
  32128. }
  32129. else
  32130. {
  32131. if(level >= 0 && level <= 10) { ntext = "Newcomer"; }
  32132. else if(level >= 11 && level <= 20) { ntext = "Touchy Fist"; }
  32133. else if(level >= 21 && level <= 30) { ntext = "Nut Cracker"; }
  32134. else if(level >= 31 && level <= 40) { ntext = "Tommygun"; }
  32135. else if(level >= 41 && level <= 50) { ntext = "Skull Breaker"; }
  32136. else if(level >= 51 && level <= 60) { ntext = "Light Speed"; }
  32137. else if(level >= 61 && level <= 70) { ntext = "Unbroken Warrior"; }
  32138. else if(level >= 71) { ntext = "Itallion Stallion"; }
  32139. }
  32140. SendClientMessage(playerid, COLOR_WHITE, "|__________________ Boxing Records __________________|");
  32141. format(string, sizeof(string), "| Current Title: %s.", ttext);
  32142. SendClientMessage(playerid, COLOR_GREY, string);
  32143. format(string, sizeof(string), "| Current NickName: %s.", ntext);
  32144. SendClientMessage(playerid, COLOR_GREY, string);
  32145. format(string, sizeof(string), "| Total Wins: %d.", PlayerInfo[playerid][pWins]);
  32146. SendClientMessage(playerid, COLOR_GREY, string);
  32147. format(string, sizeof(string), "| Total Losses: %d.", PlayerInfo[playerid][pLoses]);
  32148. SendClientMessage(playerid, COLOR_GREY, string);
  32149. SendClientMessage(playerid, COLOR_WHITE, "|____________________________________________________|");
  32150. return 1;
  32151. }
  32152. CMD:give(playerid, params[])
  32153. {
  32154. if(AdminDuty[playerid] == 1)
  32155. {
  32156. SendClientMessage(playerid,COLOR_WHITE, "You can't use this command while on-duty as admin.");
  32157. return 1;
  32158. }
  32159. new string[128], giveplayerid, choice[32], amount;
  32160. if(sscanf(params, "us[32]d", giveplayerid, choice, amount))
  32161. {
  32162. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /give [playerid/partofname] [name] [amount]");
  32163. SendClientMessage(playerid, COLOR_GREY, "Available names: Pot, Crack, Materials");
  32164. return 1;
  32165. }
  32166. if(IsPlayerConnected(giveplayerid))
  32167. {
  32168. if(giveplayerid != INVALID_PLAYER_ID)
  32169. {
  32170. if(amount < 1)
  32171. {
  32172. SendClientMessage(playerid, COLOR_WHITE, "You don't have that much!");
  32173. return 1;
  32174. }
  32175. if(!ProxDetectorS(5.0, playerid, giveplayerid))
  32176. {
  32177. SendClientMessage(playerid, COLOR_GREY, "That player isn't near you.");
  32178. return 1;
  32179. }
  32180. if(giveplayerid == playerid)
  32181. {
  32182. SendClientMessage(playerid, COLOR_GREY, "You can't use this command on yourself!");
  32183. return 1;
  32184. }
  32185. if(strcmp(choice, "materials", true) == 0)
  32186. {
  32187. if(PlayerInfo[playerid][pMats] >= amount)
  32188. {
  32189. format(string, sizeof(string), "You have recieved %d Materials from %s.", amount, GetPlayerNameEx(playerid));
  32190. SendClientMessage(giveplayerid, COLOR_GRAD2, string);
  32191. PlayerInfo[giveplayerid][pMats] += amount;
  32192. PlayerInfo[playerid][pMats] -= amount;
  32193. new ip[32], ipex[32];
  32194. GetPlayerIp(playerid, ip, sizeof(ip));
  32195. GetPlayerIp(giveplayerid, ipex, sizeof(ipex));
  32196. format(string, sizeof(string), "%s(IP:%s) has given %s(IP:%s) %d materials.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(giveplayerid), ipex, amount);
  32197. Log("logs/pay.log", string);
  32198. /*if(PlayerInfo[playerid][pAdmin] >= 2)
  32199. {
  32200. format(string, sizeof(string), "[Admin] %s(IP:%s) has given %s(IP:%s) %d materials.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(giveplayerid), ipex, amount);
  32201. Log("logs/admingive.log", string);
  32202. format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s(IP:%s) has given %s(IP:%s) %d materials.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(giveplayerid), ipex, amount);
  32203. ABroadCast(COLOR_YELLOW, string, 2);
  32204. }*/
  32205. format(string, sizeof(string), "You have given %s %d Materials.", GetPlayerNameEx(giveplayerid), amount);
  32206. SendClientMessage(playerid, COLOR_GRAD2, string);
  32207. format(string, sizeof(string), "* %s has given %s some Materials.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  32208. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  32209. return 1;
  32210. }
  32211. else
  32212. {
  32213. SendClientMessage(playerid, COLOR_GREY, "You don't have that much!");
  32214. return 1;
  32215. }
  32216. }
  32217. /*if(strcmp(choice, "firework", true) == 0)
  32218. {
  32219. if(PlayerInfo[playerid][pFirework] >= amount)
  32220. {
  32221. format(string, sizeof(string), "You have recieved %d firework(s) from %s.", amount, GetPlayerNameEx(playerid));
  32222. SendClientMessage(giveplayerid, COLOR_GRAD2, string);
  32223. PlayerInfo[giveplayerid][pFirework] += amount;
  32224. PlayerInfo[playerid][pFirework] -= amount;
  32225. new ip[32], ipex[32];
  32226. GetPlayerIp(playerid, ip, sizeof(ip));
  32227. GetPlayerIp(giveplayerid, ipex, sizeof(ipex));
  32228. format(string, sizeof(string), "%s(IP:%s) has given %s(IP:%s) %d firework(s).", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(giveplayerid), ipex, amount);
  32229. Log("logs/pay.log", string);
  32230. if(PlayerInfo[playerid][pAdmin] >= 2)
  32231. {
  32232. format(string, sizeof(string), "[Admin] %s(IP:%s) has given %s(IP:%s) %d firework(s).", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(giveplayerid), ipex, amount);
  32233. Log("logs/admingive.log", string);
  32234. format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s(IP:%s) has given %s(IP:%s) %d firework(s).", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(giveplayerid), ipex, amount);
  32235. ABroadCast(COLOR_YELLOW, string, 2);
  32236. }
  32237. format(string, sizeof(string), "You have given %s %d firework(s).", GetPlayerNameEx(giveplayerid), amount);
  32238. SendClientMessage(playerid, COLOR_GRAD2, string);
  32239. format(string, sizeof(string), "* %s has given %s some firework(s).", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  32240. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  32241. return 1;
  32242. }
  32243. else
  32244. {
  32245. SendClientMessage(playerid, COLOR_GREY, "You don't have that many!");
  32246. return 1;
  32247. }
  32248. }*/
  32249. if(strcmp(choice, "pot", true) == 0)
  32250. {
  32251. if(PlayerInfo[playerid][pPot] >= amount)
  32252. {
  32253. if(amount + PlayerInfo[giveplayerid][pPot] >= 51)
  32254. {
  32255. SendClientMessage(playerid, COLOR_GREY, "That player can't carry more than 50 pot!");
  32256. return 1;
  32257. }
  32258. new level = PlayerInfo[playerid][pDrugsSkill];
  32259. if(level >= 0 && level <= 50)
  32260. { if(amount < 1 || amount > 10) { SendClientMessage(playerid, COLOR_GREY, " You cant go above 10 at your Skill Level!"); return 1; } }
  32261. else if(level >= 51 && level <= 100)
  32262. { if(amount < 1 || amount > 20) { SendClientMessage(playerid, COLOR_GREY, " You cant go above 20 at your Skill Level!"); return 1; } }
  32263. else if(level >= 101 && level <= 200)
  32264. { if(amount < 1 || amount > 30) { SendClientMessage(playerid, COLOR_GREY, " You cant go above 30 at your Skill Level!"); return 1; } }
  32265. else if(level >= 201 && level <= 400)
  32266. { if(amount < 1 || amount > 40) { SendClientMessage(playerid, COLOR_GREY, " You cant go above 40 at your Skill Level!"); return 1; } }
  32267. else if(level >= 401)
  32268. { if(amount < 1 || amount > 50) { SendClientMessage(playerid, COLOR_GREY, " You cant go above 50 at your Skill Level!"); return 1; } }
  32269. format(string, sizeof(string), "You have recieved %d Pot from %s.", amount, GetPlayerNameEx(playerid));
  32270. SendClientMessage(giveplayerid, COLOR_GRAD2, string);
  32271. PlayerInfo[giveplayerid][pPot] += amount;
  32272. PlayerInfo[playerid][pPot] -= amount;
  32273. new ip[32], ipex[32];
  32274. GetPlayerIp(playerid, ip, sizeof(ip));
  32275. GetPlayerIp(giveplayerid, ipex, sizeof(ipex));
  32276. /*format(string, sizeof(string), "%s(IP:%s) has given %s(IP:%s) %d pot.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(giveplayerid), ipex, amount);
  32277. Log("logs/pay.log", string);*/
  32278. /*if(PlayerInfo[playerid][pAdmin] >= 2)
  32279. {
  32280. format(string, sizeof(string), "[Admin] %s(IP:%s) has given %s(IP:%s) %d pot.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(giveplayerid), ipex, amount);
  32281. Log("logs/admingive.log", string);
  32282. format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s(IP:%s) has given %s(IP:%s) %d pot.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(giveplayerid), ipex, amount);
  32283. ABroadCast(COLOR_YELLOW, string, 2);
  32284. }*/
  32285. format(string, sizeof(string), "You have given %s %d Pot.", GetPlayerNameEx(giveplayerid), amount);
  32286. SendClientMessage(playerid, COLOR_GRAD2, string);
  32287. format(string, sizeof(string), "* %s has given %s some Pot.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  32288. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  32289. return 1;
  32290. }
  32291. else
  32292. {
  32293. SendClientMessage(playerid, COLOR_GREY, "You don't have that much!");
  32294. return 1;
  32295. }
  32296. }
  32297. if(strcmp(choice, "crack", true) == 0)
  32298. {
  32299. if(PlayerInfo[playerid][pCrack] >= amount)
  32300. {
  32301. if(amount + PlayerInfo[giveplayerid][pCrack] >= 26)
  32302. {
  32303. SendClientMessage(playerid, COLOR_GREY, "That player can't carry more than 25 crack!");
  32304. return 1;
  32305. }
  32306. new level = PlayerInfo[playerid][pDrugsSkill];
  32307. if(level >= 0 && level <= 50)
  32308. { if(amount < 1 || amount > 5) { SendClientMessage(playerid, COLOR_GREY, " You cant go above 5 at your Skill Level!"); return 1; } }
  32309. else if(level >= 51 && level <= 100)
  32310. { if(amount < 1 || amount > 10) { SendClientMessage(playerid, COLOR_GREY, " You cant go above 10 at your Skill Level!"); return 1; } }
  32311. else if(level >= 101 && level <= 200)
  32312. { if(amount < 1 || amount > 15) { SendClientMessage(playerid, COLOR_GREY, " You cant go above 15 at your Skill Level!"); return 1; } }
  32313. else if(level >= 201 && level <= 400)
  32314. { if(amount < 1 || amount > 20) { SendClientMessage(playerid, COLOR_GREY, " You cant go above 20 at your Skill Level!"); return 1; } }
  32315. else if(level >= 401)
  32316. { if(amount < 1 || amount > 25) { SendClientMessage(playerid, COLOR_GREY, " You cant go above 25 at your Skill Level!"); return 1; } }
  32317. format(string, sizeof(string), "You have recieved %d Crack from %s.", amount, GetPlayerNameEx(playerid));
  32318. SendClientMessage(giveplayerid, COLOR_GRAD2, string);
  32319. PlayerInfo[giveplayerid][pCrack] += amount;
  32320. PlayerInfo[playerid][pCrack] -= amount;
  32321. new ip[32], ipex[32];
  32322. GetPlayerIp(playerid, ip, sizeof(ip));
  32323. GetPlayerIp(giveplayerid, ipex, sizeof(ipex));
  32324. /*format(string, sizeof(string), "%s(IP:%s) has given %s(IP:%s) %d crack.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(giveplayerid), ipex, amount);
  32325. Log("logs/pay.log", string);*/
  32326. /*if(PlayerInfo[playerid][pAdmin] >= 2)
  32327. {
  32328. format(string, sizeof(string), "[Admin] %s(IP:%s) has given %s(IP:%s) %d crack.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(giveplayerid), ipex, amount);
  32329. Log("logs/admingive.log", string);
  32330. format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s(IP:%s) has given %s(IP:%s) %d crack.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(giveplayerid), ipex, amount);
  32331. ABroadCast(COLOR_YELLOW, string, 2);
  32332. }*/
  32333. format(string, sizeof(string), "You have given %s %d Crack.", GetPlayerNameEx(giveplayerid), amount);
  32334. SendClientMessage(playerid, COLOR_GRAD2, string);
  32335. format(string, sizeof(string), "* %s has given %s some Crack.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  32336. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  32337. return 1;
  32338. }
  32339. else
  32340. {
  32341. SendClientMessage(playerid, COLOR_GREY, "You don't have that much!");
  32342. return 1;
  32343. }
  32344. }
  32345. }
  32346. }
  32347. return 1;
  32348. }
  32349. CMD:getmats(playerid, params[])
  32350. {
  32351. if(PlayerInfo[playerid][pJob] != 9 && PlayerInfo[playerid][pJob2] != 9 && PlayerInfo[playerid][pJob] != 18 && PlayerInfo[playerid][pJob2] != 18)
  32352. {
  32353. SendClientMessage(playerid,COLOR_GREY," You're not an Arms Dealer or Craftsman!");
  32354. return 1;
  32355. }
  32356. if(CheckPointCheck(playerid))
  32357. {
  32358. SendClientMessage(playerid, COLOR_WHITE, "Please ensure that your current checkpoint is destroyed first (you either have material packages, or another existing checkpoint).");
  32359. return 1;
  32360. }
  32361. new mypoint = -1;
  32362. new mypointex = -1;
  32363. new mydeliver = 0;
  32364. new playername[MAX_PLAYER_NAME];
  32365. GetPlayerName(playerid, playername, sizeof(playername));
  32366. for (new i=0; i<MAX_POINTS; i++)
  32367. {
  32368. if(IsPlayerInRangeOfPoint(playerid, 3.0, Points[i][Pointx], Points[i][Pointy], Points[i][Pointz]) && Points[i][Type] == 1)
  32369. {
  32370. mypoint = i;
  32371. mypointex = i;
  32372. mydeliver = Points[i][MatPoint];
  32373. }
  32374. }
  32375. if(mypoint == -1)
  32376. {
  32377. SendClientMessage(playerid, COLOR_GREY, "You're not at a Materials Pickup!");
  32378. return 1;
  32379. }
  32380. mypoint = -1;
  32381. for (new i=0; i<MAX_POINTS; i++)
  32382. {
  32383. if(Points[i][MatPoint] == mydeliver && Points[i][Type] == 2)
  32384. {
  32385. mypoint = i;
  32386. }
  32387. }
  32388. if(mypoint == -1)
  32389. {
  32390. SendClientMessage(playerid, COLOR_GREY, " No Materials Factory found for that Pickup!");
  32391. return 1;
  32392. }
  32393. if(GetPlayerCash(playerid) < 80)
  32394. {
  32395. SendClientMessage(playerid, COLOR_GREY," You can't afford the $80!");
  32396. return 1;
  32397. }
  32398. GivePlayerCash(playerid, -80);
  32399. SetPVarInt(playerid, "Packages", 15);
  32400. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* You bought 15 Materials Packages for $80.");
  32401. SetPVarInt(playerid, "MatDeliver", mydeliver);
  32402. SetPVarInt(playerid, "tpMatRunTimer", 10);
  32403. SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_TPMATRUNTIMER);
  32404. for(new i = 0; i < sizeof(FamilyInfo); i++)
  32405. {
  32406. if(strcmp(Points[mypointex][Owner], FamilyInfo[i][FamilyName], true) == 0)
  32407. {
  32408. FamilyInfo[i][FamilyBank] = FamilyInfo[i][FamilyBank]+25;
  32409. //SendClientMessage(playerid, COLOR_WHITE, " Family owner recieved 50 percent of the cost.");
  32410. }
  32411. }
  32412. SetPlayerCheckpoint(playerid, Points[mypoint][Pointx], Points[mypoint][Pointy], Points[mypoint][Pointz], 5);
  32413. return 1;
  32414. }
  32415. CMD:sellmats(playerid, params[])
  32416. {
  32417. if(AdminDuty[playerid] == 1)
  32418. {
  32419. SendClientMessage(playerid,COLOR_WHITE, "You can't use this command while on-duty as admin.");
  32420. return 1;
  32421. }
  32422. if(PlayerInfo[playerid][pJob] != 9 && PlayerInfo[playerid][pJob2] != 9 && PlayerInfo[playerid][pJob] != 18 && PlayerInfo[playerid][pJob2] != 18)
  32423. {
  32424. SendClientMessage(playerid, COLOR_GREY, "You're not an arms dealer or craftsman");
  32425. return 1;
  32426. }
  32427. new string[128];
  32428. if(GetPVarInt(playerid, "SellMatsTimer") > 0)
  32429. {
  32430. format(string, sizeof(string), "You must wait %d seconds before selling more materials.", GetPVarInt(playerid, "SellMatsTimer"));
  32431. SendClientMessage(playerid,COLOR_GREY,string);
  32432. return 1;
  32433. }
  32434. new giveplayerid, amount, price;
  32435. if(sscanf(params, "udd", giveplayerid, amount, price)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /sellmats [playerid/partofname] [amount] [price]");
  32436. if(amount < 1) { SendClientMessage(playerid, COLOR_GREY, "Materials amount must be no lower than 1!"); return 1; }
  32437. if(price < 5000) { SendClientMessage(playerid, COLOR_GREY, "Price must be no lower than $5000, use /give for deals below the scam limit."); return 1; }
  32438. if(amount > PlayerInfo[playerid][pMats]) { SendClientMessage(playerid, COLOR_GREY, "You don't have that many materials!"); return 1; }
  32439. if(IsPlayerConnected(giveplayerid))
  32440. {
  32441. if(giveplayerid != INVALID_PLAYER_ID)
  32442. {
  32443. if(ProxDetectorS(8.0, playerid, giveplayerid))
  32444. {
  32445. if(giveplayerid == playerid)
  32446. {
  32447. SendClientMessage(playerid, COLOR_GREY, "Cant sell to yourself!");
  32448. return 1;
  32449. }
  32450. format(string, sizeof(string), "* You offered %s to buy %d materials for $%d.", GetPlayerNameEx(giveplayerid), amount, price);
  32451. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  32452. format(string, sizeof(string), "* %s wants to sell you %d materials for $%d, (type /accept mats) to buy.", GetPlayerNameEx(playerid), amount, price);
  32453. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  32454. SetPVarInt(playerid, "SellMatsTimer", 30); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_SELLMATSTIMER);
  32455. MatsOffer[giveplayerid] = playerid;
  32456. MatsPrice[giveplayerid] = price;
  32457. MatsAmount[giveplayerid] = amount;
  32458. }
  32459. else
  32460. {
  32461. SendClientMessage(playerid, COLOR_GREY, "That player isn't near you.");
  32462. }
  32463. }
  32464. }
  32465. else
  32466. {
  32467. SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  32468. }
  32469. return 1;
  32470. }
  32471. CMD:guard(playerid, params[])
  32472. {
  32473. if(PlayerInfo[playerid][pJob] != 8 && PlayerInfo[playerid][pJob2] != 8)
  32474. {
  32475. SendClientMessage(playerid, COLOR_GREY, "You're not a bodyguard.");
  32476. return 1;
  32477. }
  32478. /*if(WatchingTV[playerid] != 0)
  32479. {
  32480. SendClientMessage(playerid, COLOR_GREY, "You can't do this while watching TV!");
  32481. return 1;
  32482. }*/
  32483. if(PlayerBoxing[playerid] > 0)
  32484. {
  32485. SendClientMessage(playerid, COLOR_GREY, "You can't offer bodyguard while you're boxing.");
  32486. return 1;
  32487. }
  32488. new string[128], giveplayerid, money;
  32489. if(sscanf(params, "ud", giveplayerid, money)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /guard [playerid/partofname] [price]");
  32490. if(GetPVarInt(playerid, "GuardTimer") > 0)
  32491. {
  32492. format(string, sizeof(string), " You must wait %d seconds before selling another vest.", GetPVarInt(playerid, "GuardTimer"));
  32493. SendClientMessage(playerid,COLOR_GREY,string);
  32494. return 1;
  32495. }
  32496. if(money < 200 || money > 1000) { SendClientMessage(playerid, COLOR_GREY, "Specified price must be between $200 and $1000."); return 1; }
  32497. if(IsPlayerConnected(giveplayerid))
  32498. {
  32499. if(ProxDetectorS(8.0, playerid, giveplayerid))
  32500. {
  32501. if(giveplayerid == playerid)
  32502. {
  32503. SendClientMessage(playerid, COLOR_GREY, "You can't /guard yourself.");
  32504. return 1;
  32505. }
  32506. SetPVarInt(playerid, "GuardTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GUARDTIMER);
  32507. format(string, sizeof(string), "* You offered protection to %s for $%d.", GetPlayerNameEx(giveplayerid), money);
  32508. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  32509. format(string, sizeof(string), "* Bodyguard %s wants to protect you for $%d, type /accept bodyguard to accept.", GetPlayerNameEx(playerid), money);
  32510. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  32511. GuardOffer[giveplayerid] = playerid;
  32512. GuardPrice[giveplayerid] = money;
  32513. }
  32514. else
  32515. {
  32516. SendClientMessage(playerid, COLOR_GREY, "That player isn't near you.");
  32517. }
  32518. }
  32519. else
  32520. {
  32521. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  32522. }
  32523. return 1;
  32524. }
  32525. CMD:dicebet(playerid, params[])
  32526. {
  32527. if(PlayerInfo[playerid][pLevel] <= 3)
  32528. {
  32529. SCM(playerid, COLOR_GRAD2, "You must be alteast level 3 to gamble.");
  32530. return 1;
  32531. }
  32532. if(BetOffer[playerid] < 999)
  32533. {
  32534. SendClientMessage(playerid, -1, "You already have a bet, /cancel dicebet first.");
  32535. return 1;
  32536. }
  32537. new string[128], giveplayerid, money;
  32538. if(sscanf(params, "ud", giveplayerid, money)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /dicebet [playerid/partofname] [amount]");
  32539. if(GetPVarInt(playerid, "BetTimer") > 0)
  32540. {
  32541. format(string, sizeof(string), " You must wait %d seconds before giving another bet.", GetPVarInt(playerid, "BetTimer"));
  32542. SendClientMessage(playerid,COLOR_GREY,string);
  32543. return 1;
  32544. }
  32545. if(GetPlayerMoney(playerid) >= money)
  32546. {
  32547. if(IsPlayerConnected(giveplayerid))
  32548. {
  32549. if(ProxDetectorS(8.0, playerid, giveplayerid))
  32550. {
  32551. if(giveplayerid == playerid)
  32552. {
  32553. SendClientMessage(playerid, COLOR_GREY, "You can't /dicebet yourself.");
  32554. return 1;
  32555. }
  32556. if(money > 0 && money <= 50000000)
  32557. {
  32558. SetPVarInt(playerid, "BetTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_BETTIMER);
  32559. format(string, sizeof(string), "* You offered a bet to %s for $%s.", GetPlayerNameEx(giveplayerid), Comma(money));
  32560. SendClientMessage(playerid, -1, string);
  32561. format(string, sizeof(string), "* %s wants to bet you for $%s, type /accept dicebet to accept.", GetPlayerNameEx(playerid), Comma(money));
  32562. SendClientMessage(giveplayerid, -1, string);
  32563. BetOffer[giveplayerid] = playerid;
  32564. BetPrice[giveplayerid] = money;
  32565. }
  32566. else return SCM(playerid, -1, "Bet amount must be $1 and and $50,000,000");
  32567. }
  32568. else
  32569. {
  32570. SendClientMessage(playerid, COLOR_GREY, "That player isn't near you.");
  32571. }
  32572. }
  32573. else
  32574. {
  32575. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  32576. }
  32577. }
  32578. else
  32579. {
  32580. SendClientMessage(playerid, COLOR_GREY, "You don't have that much.");
  32581. }
  32582. return 1;
  32583. }
  32584. CMD:dropcar(playerid, params[])
  32585. {
  32586. return cmd_sellcar(playerid, params);
  32587. }
  32588. CMD:sellcar(playerid, params[])
  32589. {
  32590. if(AdminDuty[playerid] == 1)
  32591. {
  32592. SendClientMessage(playerid,COLOR_WHITE, "You can't use this command while on-duty as admin.");
  32593. return 1;
  32594. }
  32595. if(PlayerInfo[playerid][pCarTime] == 0)
  32596. {
  32597. if(CheckPointCheck(playerid))
  32598. {
  32599. SendClientMessage(playerid, COLOR_WHITE, "Please ensure that your current checkpoint is destroyed first (you either have material packages, or another existing checkpoint).");
  32600. return 1;
  32601. }
  32602. if(PlayerInfo[playerid][pConnectTime] < 2)
  32603. {
  32604. SendClientMessage(playerid, COLOR_GREY, "You need at least 2 playing hours before you can drop off a car.");
  32605. return 1;
  32606. }
  32607. GameTextForPlayer(playerid, "~w~Car Selling ~n~~r~Drop the car at the Crane", 5000, 1);
  32608. CP[playerid] = 1;
  32609. SetPlayerCheckpoint(playerid, 2695.8699,-2225.3853,13.5501,8.0);
  32610. }
  32611. else
  32612. {
  32613. SendClientMessage(playerid, COLOR_GREY, " You have already dropped a car, wait until your reload time is over!");
  32614. }
  32615. return 1;
  32616. }
  32617. CMD:lawyerduty(playerid, params[])
  32618. {
  32619. if(PlayerInfo[playerid][pJob] == 2 || PlayerInfo[playerid][pJob2] == 2)
  32620. {
  32621. if(JobDuty[playerid] == 1)
  32622. {
  32623. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* you're now off duty on your lawyer job and will not receive calls anymore.");
  32624. JobDuty[playerid] = 0;
  32625. Lawyers -= 1;
  32626. }
  32627. else
  32628. {
  32629. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* you're now on duty on your lawyer job and will receive calls from people in need.");
  32630. JobDuty[playerid] = 1;
  32631. Lawyers += 1;
  32632. }
  32633. }
  32634. else
  32635. {
  32636. SendClientMessage(playerid, COLOR_GRAD1, " You're not a lawyer!");
  32637. }
  32638. return 1;
  32639. }
  32640. CMD:defend(playerid, params[])
  32641. {
  32642. if(PlayerInfo[playerid][pJob] != 2 && PlayerInfo[playerid][pJob2] != 2)
  32643. {
  32644. SendClientMessage(playerid, COLOR_GREY, " You're not a Lawyer!");
  32645. return 1;
  32646. }
  32647. new string[128];
  32648. if(PlayerInfo[playerid][pLawyerTime] >= 1)
  32649. {
  32650. format(string, sizeof(string), "You must wait %d seconds before you can defend again!", PlayerInfo[playerid][pLawyerTime]);
  32651. SendClientMessage(playerid, COLOR_GRAD1,string);
  32652. return 1;
  32653. }
  32654. new giveplayerid, money;
  32655. if(sscanf(params, "ud", giveplayerid, money)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /defend [playerid/partofname] [price]");
  32656. if(money < 200 || money > 1000) { SendClientMessage(playerid, COLOR_GREY, " Price not lower than $200 or above $1000!"); return 1; }
  32657. if(IsPlayerConnected(giveplayerid))
  32658. {
  32659. if(ProxDetectorS(8.0, playerid, giveplayerid))
  32660. {
  32661. if(giveplayerid == playerid)
  32662. {
  32663. SendClientMessage(playerid, COLOR_GREY, " Cant offer protection to yourself!");
  32664. return 1;
  32665. }
  32666. if(PlayerInfo[giveplayerid][pWantedLevel] > 0)
  32667. {
  32668. format(string, sizeof(string), "* You offered to defend %s for $%d.", GetPlayerNameEx(giveplayerid), money);
  32669. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  32670. format(string, sizeof(string), "* Lawyer %s wants to defend you for $%d, (type /accept defense) to accept.", GetPlayerNameEx(playerid), money);
  32671. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  32672. PlayerInfo[playerid][pLawyerTime] = 60;
  32673. DefendOffer[giveplayerid] = playerid;
  32674. DefendPrice[giveplayerid] = money;
  32675. }
  32676. else
  32677. {
  32678. SendClientMessage(playerid, COLOR_GREY, " That player is not wanted!");
  32679. }
  32680. }
  32681. else
  32682. {
  32683. SendClientMessage(playerid, COLOR_GREY, "That player isn't near you.");
  32684. }
  32685. }
  32686. else
  32687. {
  32688. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  32689. }
  32690. return 1;
  32691. }
  32692. CMD:free(playerid, params[])
  32693. {
  32694. if(PlayerInfo[playerid][pJob] != 2 && PlayerInfo[playerid][pJob2] != 2)
  32695. {
  32696. SendClientMessage(playerid, COLOR_GREY, " You're not a Lawyer!");
  32697. return 1;
  32698. }
  32699. new string[128], giveplayerid;
  32700. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /free [playerid/partofname]");
  32701. if(IsPlayerConnected(giveplayerid))
  32702. {
  32703. if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "You can't Free yourself!"); return 1; }
  32704. if(PlayerInfo[playerid][pLawyerFreeTime] >= 1)
  32705. {
  32706. format(string, sizeof(string), "You must wait %d seconds before you can free again!", PlayerInfo[playerid][pLawyerFreeTime]);
  32707. SendClientMessage(playerid, COLOR_GRAD1,string);
  32708. return 1;
  32709. }
  32710. if(PlayerInfo[giveplayerid][pJailed] == 1 || PlayerInfo[giveplayerid][pJailed] == 2)
  32711. {
  32712. //ApprovedLawyer[playerid] = 0;
  32713. WantLawyer[giveplayerid] = 0;
  32714. CallLawyer[giveplayerid] = 0;
  32715. JailPrice[giveplayerid] = 0;
  32716. new level = PlayerInfo[playerid][pLawSkill];
  32717. if(level >= 0 && level <= 50)
  32718. {
  32719. PlayerInfo[giveplayerid][pJailTime] -= 60;
  32720. PlayerInfo[playerid][pLawyerFreeTime] = 160;
  32721. format(string, sizeof(string), "* You have reduced %s's jail time by 1 minute.", GetPlayerNameEx(giveplayerid));
  32722. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  32723. format(string, sizeof(string), "* Your jail time has been reduced by 1 minute by Lawyer %s.", GetPlayerNameEx(playerid));
  32724. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  32725. }
  32726. else if(level >= 51 && level <= 100)
  32727. {
  32728. PlayerInfo[giveplayerid][pJailTime] -= 120;
  32729. PlayerInfo[playerid][pLawyerFreeTime] = 120;
  32730. format(string, sizeof(string), "* You have reduced %s's jail time by 2 minutes.", GetPlayerNameEx(giveplayerid));
  32731. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  32732. format(string, sizeof(string), "* Your jail time has been reduced by 2 minutes by Lawyer %s.", GetPlayerNameEx(playerid));
  32733. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  32734. }
  32735. else if(level >= 101 && level <= 200)
  32736. {
  32737. PlayerInfo[giveplayerid][pJailTime] -= 180;
  32738. PlayerInfo[playerid][pLawyerFreeTime] = 90;
  32739. format(string, sizeof(string), "* You have reduced %s's jail time by 3 minutes.", GetPlayerNameEx(giveplayerid));
  32740. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  32741. format(string, sizeof(string), "* Your jail time has been reduced by 3 minutes by Lawyer %s.", GetPlayerNameEx(playerid));
  32742. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  32743. }
  32744. else if(level >= 201 && level <= 400)
  32745. {
  32746. PlayerInfo[giveplayerid][pJailTime] -= 240;
  32747. PlayerInfo[playerid][pLawyerFreeTime] = 60;
  32748. format(string, sizeof(string), "* You have reduced %s's jail time by 4 minutes.", GetPlayerNameEx(giveplayerid));
  32749. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  32750. format(string, sizeof(string), "* Your jail time has been reduced by 4 minutes by Lawyer %s.", GetPlayerNameEx(playerid));
  32751. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  32752. }
  32753. else if(level >= 401)
  32754. {
  32755. PlayerInfo[giveplayerid][pJailTime] -= 300;
  32756. PlayerInfo[playerid][pLawyerFreeTime] = 30;
  32757. format(string, sizeof(string), "* You have reduced %s's jail time by 5 minutes.", GetPlayerNameEx(giveplayerid));
  32758. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  32759. format(string, sizeof(string), "* Your jail time has been reduced by 5 minutes by Lawyer %s.", GetPlayerNameEx(playerid));
  32760. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  32761. }
  32762. if(DoubleXP == 1)
  32763. {
  32764. new hour,minuite,second;
  32765. gettime(hour,minuite,second);
  32766. if(DoubleEXPcheck(hour))
  32767. {
  32768. PlayerInfo[playerid][pLawSkill] += 2;
  32769. SendClientMessage(playerid, COLOR_YELLOW, "* You have gained two skill points for this job due to double experience.");
  32770. }
  32771. /*else
  32772. {
  32773. SendClientMessage(playerid, COLOR_YELLOW, "* You have only gained one skill point for this job since it's not within the double experience hours.");
  32774. PlayerInfo[playerid][pLawSkill]++;
  32775. }*/
  32776. }
  32777. else
  32778. {
  32779. PlayerInfo[playerid][pLawSkill]++;
  32780. }
  32781. if(PlayerInfo[playerid][pLawSkill] == 50)
  32782. { SendClientMessage(playerid, COLOR_YELLOW, "* Your Lawyer Skill is now Level 2, you will now free faster and have quicker Reload Time."); }
  32783. else if(PlayerInfo[playerid][pLawSkill] == 100)
  32784. { SendClientMessage(playerid, COLOR_YELLOW, "* Your Lawyer Skill is now Level 3, you will now free faster and have quicker Reload Time."); }
  32785. else if(PlayerInfo[playerid][pLawSkill] == 200)
  32786. { SendClientMessage(playerid, COLOR_YELLOW, "* Your Lawyer Skill is now Level 4, you will now free faster and have quicker Reload Time."); }
  32787. else if(PlayerInfo[playerid][pLawSkill] == 400)
  32788. { SendClientMessage(playerid, COLOR_YELLOW, "* Your Lawyer Skill is now Level 5, you will now free faster and have quicker Reload Time."); }
  32789. }
  32790. else
  32791. {
  32792. SendClientMessage(playerid, COLOR_GRAD1, " Player doesn't need a lawyer / Player isn't jailed!");
  32793. }
  32794. }
  32795. else
  32796. {
  32797. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  32798. }
  32799. return 1;
  32800. }
  32801. CMD:getcrate(playerid, params[])
  32802. {
  32803. if(PlayerInfo[playerid][pJob] != 14 && PlayerInfo[playerid][pJob2] != 14)
  32804. {
  32805. SendClientMessage(playerid,COLOR_GREY," You're not a Drug Smuggler!");
  32806. return 1;
  32807. }
  32808. new mypoint = -1;
  32809. new playername[MAX_PLAYER_NAME];
  32810. GetPlayerName(playerid, playername, sizeof(playername));
  32811. for (new i=0; i<MAX_POINTS; i++)
  32812. {
  32813. if(IsPlayerInRangeOfPoint(playerid, 3.0, Points[i][Pointx], Points[i][Pointy], Points[i][Pointz]) && strcmp(Points[i][Name], "Drug Factory", true) == 0)
  32814. {
  32815. mypoint = i;
  32816. }
  32817. }
  32818. if(mypoint == -1)
  32819. {
  32820. SendClientMessage(playerid, COLOR_GREY, "You're not at the Drug Factory!");
  32821. return 1;
  32822. }
  32823. if(PlayerInfo[playerid][pCrates])
  32824. {
  32825. SendClientMessage(playerid, COLOR_GREY, " You can't hold any more Drug Crates!");
  32826. return 1;
  32827. }
  32828. if(CheckPointCheck(playerid))
  32829. {
  32830. SendClientMessage(playerid, COLOR_WHITE, "Please ensure that your current checkpoint is destroyed first (you either have material packages, or another existing checkpoint).");
  32831. return 1;
  32832. }
  32833. if(GetPlayerCash(playerid) >= 100)
  32834. {
  32835. SendClientMessage(playerid, COLOR_LIGHTRED,"What type of drugs would you like to smuggle? (Type crack or pot)");
  32836. SetPVarInt(playerid, "ChoosingDrugs", 1);
  32837. return 1;
  32838. }
  32839. else
  32840. {
  32841. SendClientMessage(playerid, COLOR_GREY," You can't afford the $100!");
  32842. return 1;
  32843. }
  32844. }
  32845. CMD:getpot(playerid, params[])
  32846. {
  32847. new string[128], amount;
  32848. if(sscanf(params, "d", amount)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /getpot [amount]");
  32849. new tel;
  32850. new price;
  32851. new level = PlayerInfo[playerid][pDrugsSkill];
  32852. if(level >= 0 && level <= 50)
  32853. { tel = 10; if(amount < 1 || amount > 10) { SendClientMessage(playerid, COLOR_GREY, " You cant go above 10 at your Skill Level!"); return 1; } }
  32854. else if(level >= 51 && level <= 100)
  32855. { tel = 10; if(amount < 1 || amount > 20) { SendClientMessage(playerid, COLOR_GREY, " You cant go above 20 at your Skill Level!"); return 1; } }
  32856. else if(level >= 101 && level <= 200)
  32857. { tel = 10; if(amount < 1 || amount > 30) { SendClientMessage(playerid, COLOR_GREY, " You cant go above 30 at your Skill Level!"); return 1; } }
  32858. else if(level >= 201 && level <= 400)
  32859. { tel = 10; if(amount < 1 || amount > 40) { SendClientMessage(playerid, COLOR_GREY, " You cant go above 40 at your Skill Level!"); return 1; } }
  32860. else if(level >= 401)
  32861. { tel = 10; if(amount < 1 || amount > 50) { SendClientMessage(playerid, COLOR_GREY, " You cant go above 50 at your Skill Level!"); return 1; } }
  32862. new mypoint = -1;
  32863. for (new i=0; i<MAX_POINTS; i++)
  32864. {
  32865. if(IsPlayerInRangeOfPoint(playerid, 3.0, Points[i][Pointx], Points[i][Pointy], Points[i][Pointz]) && Points[i][Type] == 3)
  32866. {
  32867. mypoint = i;
  32868. }
  32869. }
  32870. if(mypoint == -1)
  32871. {
  32872. SendClientMessage(playerid, COLOR_GREY, "You're not at the Drug House!");
  32873. return 1;
  32874. }
  32875. if(PlayerInfo[playerid][pPot] >= 25)
  32876. {
  32877. SendClientMessage(playerid, COLOR_GRAD2, "You have reached your pot limit of 25 pot.");
  32878. return 1;
  32879. }
  32880. if(PlayerInfo[playerid][pJob] == 4 || PlayerInfo[playerid][pJob2] == 4)
  32881. {
  32882. price = amount * tel;
  32883. if(Points[mypoint][Stock] < amount) return SendClientMessage(playerid, COLOR_GREY, " This Drug House doesn't have that much pot!");
  32884. if(GetPlayerCash(playerid) > price)
  32885. {
  32886. format(string, sizeof(string), "* You bought %d grams for $%d.", amount, price);
  32887. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  32888. GivePlayerCash(playerid, -price);
  32889. PlayerInfo[playerid][pPot] += amount;
  32890. Points[mypoint][Stock] -= amount;
  32891. format(string, sizeof(string), " POT AVAILABLE: %d grams.", Points[mypoint][Stock]);
  32892. UpdateDynamic3DTextLabelText(Points[mypoint][TextLabel], COLOR_YELLOW, string);
  32893. /*if(PlayerInfo[playerid][pDonator] < 1)
  32894. {
  32895. Points[mypoint][Stock] -= amount;
  32896. format(string, sizeof(string), " POT AVAILABLE: %d grams.", Points[mypoint][Stock]);
  32897. UpdateDynamic3DTextLabelText(Points[mypoint][TextLabel], COLOR_YELLOW, string);
  32898. }*/
  32899. for(new i = 0; i < sizeof(FamilyInfo); i++)
  32900. {
  32901. if(strcmp(Points[mypoint][Owner], FamilyInfo[i][FamilyName], true) == 0)
  32902. {
  32903. FamilyInfo[i][FamilyBank] = FamilyInfo[i][FamilyBank]+price/2;
  32904. }
  32905. }
  32906. }
  32907. else
  32908. {
  32909. SendClientMessage(playerid, COLOR_GREY, "You can't afford the drugs!");
  32910. return 1;
  32911. }
  32912. }
  32913. else
  32914. {
  32915. SendClientMessage(playerid, COLOR_GREY, "You're not a drug dealer.");
  32916. return 1;
  32917. }
  32918. return 1;
  32919. }
  32920. CMD:getcrack(playerid, params[])
  32921. {
  32922. new string[128], amount;
  32923. if(sscanf(params, "d", amount)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /getcrack [amount]");
  32924. new tel;
  32925. new price;
  32926. new level = PlayerInfo[playerid][pDrugsSkill];
  32927. if(level >= 0 && level <= 50)
  32928. {
  32929. tel = 50;
  32930. if(amount < 1 || amount > 5)
  32931. {
  32932. SendClientMessage(playerid, COLOR_GREY, " You can't go above 5 at your Skill Level!");
  32933. return 1;
  32934. }
  32935. }
  32936. else if(level >= 51 && level <= 100)
  32937. { tel = 50; if(amount < 1 || amount > 10) { SendClientMessage(playerid, COLOR_GREY, " You can't go above 10 at your Skill Level!"); return 1; } }
  32938. else if(level >= 101 && level <= 200)
  32939. { tel = 50; if(amount < 1 || amount > 15) { SendClientMessage(playerid, COLOR_GREY, " You can't go above 15 at your Skill Level!"); return 1; } }
  32940. else if(level >= 201 && level <= 400)
  32941. { tel = 50; if(amount < 1 || amount > 20) { SendClientMessage(playerid, COLOR_GREY, " You can't go above 20 at your Skill Level!"); return 1; } }
  32942. else if(level >= 401)
  32943. { tel = 50; if(amount < 1 || amount > 25) { SendClientMessage(playerid, COLOR_GREY, " You can't go above 25 at your Skill Level!"); return 1; } }
  32944. new mypoint = -1;
  32945. for (new i=0; i<MAX_POINTS; i++)
  32946. {
  32947. if(IsPlayerInRangeOfPoint(playerid, 3.0, Points[i][Pointx], Points[i][Pointy], Points[i][Pointz]) && Points[i][Type] == 4)
  32948. {
  32949. mypoint = i;
  32950. }
  32951. }
  32952. if(mypoint == -1)
  32953. {
  32954. SendClientMessage(playerid, COLOR_GREY, "You're not at the Crack Lab!");
  32955. return 1;
  32956. }
  32957. if(PlayerInfo[playerid][pCrack] >= 25)
  32958. {
  32959. SendClientMessage(playerid, COLOR_GRAD2, " You have reached your crack limit of 25 crack.");
  32960. return 1;
  32961. }
  32962. if(PlayerInfo[playerid][pJob] == 4 || PlayerInfo[playerid][pJob2] == 4)
  32963. {
  32964. price = amount * tel;
  32965. if(Points[mypoint][Stock] < amount) return SendClientMessage(playerid, COLOR_GREY, " This Crack Lab doesn't have that much crack!");
  32966. if(GetPlayerCash(playerid) > price)
  32967. {
  32968. format(string, sizeof(string), "* You bought %d grams for $%d.", amount, price);
  32969. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  32970. GivePlayerCash(playerid, -price);
  32971. PlayerInfo[playerid][pCrack] += amount;
  32972. //if(PlayerInfo[playerid][pDonator] < 1) Points[mypoint][Stock] = Points[mypoint][Stock]-amount;
  32973. Points[mypoint][Stock] = Points[mypoint][Stock]-amount;
  32974. format(string, sizeof(string), " CRACK AVAILABLE: %d grams.", Points[mypoint][Stock]);
  32975. UpdateDynamic3DTextLabelText(Points[mypoint][TextLabel], COLOR_YELLOW, string);
  32976. for(new i = 0; i < sizeof(FamilyInfo); i++)
  32977. {
  32978. if(strcmp(Points[mypoint][Owner], FamilyInfo[i][FamilyName], true) == 0)
  32979. {
  32980. FamilyInfo[i][FamilyBank] = FamilyInfo[i][FamilyBank]+price/2;
  32981. }
  32982. }
  32983. }
  32984. else
  32985. {
  32986. SendClientMessage(playerid, COLOR_GREY, " You cant afford the Drugs!");
  32987. return 1;
  32988. }
  32989. }
  32990. else
  32991. {
  32992. SendClientMessage(playerid, COLOR_GREY, " You're not a drug dealer.");
  32993. return 1;
  32994. }
  32995. return 1;
  32996. }
  32997. CMD:getseeds(playerid, params[])
  32998. {
  32999. if(PlayerInfo[playerid][pJob] != 4 && PlayerInfo[playerid][pJob2] != 4)
  33000. {
  33001. SendClientMessage(playerid, COLOR_GREY, " You're not a drug dealer.");
  33002. return 1;
  33003. }
  33004. if(PlayerInfo[playerid][pWSeeds] > 0)
  33005. {
  33006. SendClientMessage(playerid, COLOR_GREY, "You already have a bag of seeds, use them first.");
  33007. return 1;
  33008. }
  33009. if(GetPlayerCash(playerid) < 1000)
  33010. {
  33011. SendClientMessage(playerid, COLOR_GREY, " You do not have $1000.");
  33012. return 1;
  33013. }
  33014. new mypoint = -1;
  33015. for (new i=0; i<MAX_POINTS; i++)
  33016. {
  33017. if(IsPlayerInRangeOfPoint(playerid, 3.0, Points[i][Pointx], Points[i][Pointy], Points[i][Pointz]) && Points[i][Type] == 3)
  33018. {
  33019. mypoint = i;
  33020. }
  33021. }
  33022. if(mypoint == -1)
  33023. {
  33024. SendClientMessage(playerid, COLOR_GREY, "You're not at the Drug House!");
  33025. return 1;
  33026. }
  33027. if(Points[mypoint][Stock] < 1) return SendClientMessage(playerid, COLOR_GREY, " This drug house doesn't have any seeds.");
  33028. /*if(PlayerInfo[playerid][pDonator] < 1)
  33029. {
  33030. new string[32];
  33031. Points[mypoint][Stock] -= 1;
  33032. format(string, sizeof(string), " POT AVAILABLE: %d grams.", Points[mypoint][Stock]);
  33033. UpdateDynamic3DTextLabelText(Points[mypoint][TextLabel], COLOR_YELLOW, string);
  33034. }*/
  33035. new string[32];
  33036. Points[mypoint][Stock] -= 1;
  33037. format(string, sizeof(string), " POT AVAILABLE: %d grams.", Points[mypoint][Stock]);
  33038. UpdateDynamic3DTextLabelText(Points[mypoint][TextLabel], COLOR_YELLOW, string);
  33039. PlayerInfo[playerid][pWSeeds] += 3;
  33040. SendClientMessage(playerid, COLOR_LIGHTBLUE, " You have purchased a bag of Pot Seeds from the Drug House. ");
  33041. GivePlayerCash(playerid, -1000);
  33042. GameTextForPlayer(playerid, "~r~-$1000", 3000, 1);
  33043. for(new i = 0; i < sizeof(FamilyInfo); i++)
  33044. {
  33045. if(strcmp(Points[mypoint][Owner], FamilyInfo[i][FamilyName], true) == 0)
  33046. {
  33047. FamilyInfo[i][FamilyBank] += 500;
  33048. }
  33049. }
  33050. return 1;
  33051. }
  33052. CMD:plantseeds(playerid, params[]) {
  33053. if(PlayerInfo[playerid][pJob] != 4 && PlayerInfo[playerid][pJob2] != 4) {
  33054. SendClientMessage(playerid, COLOR_GREY, " You're not a drug dealer.");
  33055. }
  33056. else if(PlayerInfo[playerid][pWSeeds] > 0) {
  33057. if(IsValidDynamicObject(PlayerInfo[playerid][pWeedObject]))
  33058. return SendClientMessage(playerid, COLOR_GRAD2, "You already have a plant growing.");
  33059. if(IsPlayerInAnyVehicle(playerid))
  33060. return SendClientMessage(playerid, COLOR_GREY, "You can't plant while in a vehicle.");
  33061. new
  33062. szMessage[48];
  33063. GetPlayerPos(playerid, PlayerInfo[playerid][pWeedPos][0], PlayerInfo[playerid][pWeedPos][1], PlayerInfo[playerid][pWeedPos][2]);
  33064. PlayerInfo[playerid][pWeedPos][2] -= 1.5;
  33065. ApplyAnimation(playerid,"BOMBER","BOM_Plant_Crouch_In", 4.0, 0, 0, 0, 0, 0, 1);
  33066. SendClientMessage(playerid, COLOR_GREEN, "You have planted some weed. It will take around 20-45 minutes to grow.");
  33067. PlayerInfo[playerid][pWeedInt] = GetPlayerInterior(playerid);
  33068. PlayerInfo[playerid][pWeedVW] = GetPlayerVirtualWorld(playerid);
  33069. PlayerInfo[playerid][pWeedGrowth] = 0;
  33070. PlayerInfo[playerid][pWSeeds]--;
  33071. PlayerInfo[playerid][pWeedObject] = CreateDynamicObject(3409, PlayerInfo[playerid][pWeedPos][0], PlayerInfo[playerid][pWeedPos][1], PlayerInfo[playerid][pWeedPos][2], 0.0, 0.0, 0.0, PlayerInfo[playerid][pWeedVW], PlayerInfo[playerid][pWeedInt]);
  33072. format(szMessage, sizeof(szMessage), "* %s plants some weed.", GetPlayerNameEx(playerid));
  33073. ProxDetector(25.0, playerid, szMessage, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  33074. }
  33075. else SendClientMessage(playerid, COLOR_GREY, "You don't have enough seeds to plant weed - head to the drug house and pick up some seeds (/getseeds).");
  33076. return 1;
  33077. }
  33078. CMD:checkweed(playerid, params[]) {
  33079. if(IsValidDynamicObject(PlayerInfo[playerid][pWeedObject]) && GetPlayerVirtualWorld(playerid) == PlayerInfo[playerid][pWeedVW] && GetPlayerInterior(playerid) == PlayerInfo[playerid][pWeedInt]) {
  33080. if(IsPlayerInRangeOfPoint(playerid, 4, PlayerInfo[playerid][pWeedPos][0], PlayerInfo[playerid][pWeedPos][1], PlayerInfo[playerid][pWeedPos][2])) {
  33081. if(PlayerInfo[playerid][pWeedGrowth] > 10) {
  33082. new
  33083. szMessage[66 + MAX_PLAYER_NAME];
  33084. format(szMessage, sizeof(szMessage), "Your plant currently carries %i grams - use /pickweed to claim it.", PlayerInfo[playerid][pWeedGrowth]);
  33085. SendClientMessage(playerid, COLOR_WHITE, szMessage);
  33086. }
  33087. else SendClientMessage(playerid, COLOR_YELLOW, "Your plant isn't ready to be picked yet.");
  33088. return 1;
  33089. }
  33090. }
  33091. foreach(Player, i) if(IsValidDynamicObject(PlayerInfo[i][pWeedObject]) && GetPlayerVirtualWorld(playerid) == PlayerInfo[i][pWeedVW] && GetPlayerInterior(playerid) == PlayerInfo[i][pWeedInt]) {
  33092. if(IsPlayerInRangeOfPoint(playerid, 4, PlayerInfo[i][pWeedPos][0], PlayerInfo[i][pWeedPos][1], PlayerInfo[i][pWeedPos][2])) {
  33093. if(PlayerInfo[i][pWeedGrowth] > 10) {
  33094. new
  33095. szMessage[66 + MAX_PLAYER_NAME];
  33096. format(szMessage, sizeof(szMessage), "This plant currently carries %i grams - use /pickweed to claim it.", PlayerInfo[i][pWeedGrowth]);
  33097. SendClientMessage(playerid, COLOR_WHITE, szMessage);
  33098. }
  33099. else SendClientMessage(playerid, COLOR_YELLOW, "This plant isn't ready to be picked yet.");
  33100. return 1;
  33101. }
  33102. }
  33103. return SendClientMessage(playerid, COLOR_GREY, "You're not at a plant.");
  33104. }
  33105. CMD:pickweed(playerid, params[]) {
  33106. foreach(Player, i) if(IsValidDynamicObject(PlayerInfo[i][pWeedObject]) && IsPlayerInRangeOfPoint(playerid, 4, PlayerInfo[i][pWeedPos][0], PlayerInfo[i][pWeedPos][1], PlayerInfo[i][pWeedPos][2])) {
  33107. if(GetPlayerVirtualWorld(playerid) == PlayerInfo[i][pWeedVW] && GetPlayerInterior(playerid) == PlayerInfo[i][pWeedInt]) {
  33108. if(PlayerInfo[i][pWeedGrowth] > 10) {
  33109. if(PlayerInfo[i][pWeedGrowth] + PlayerInfo[playerid][pPot] < 99) {
  33110. new
  33111. szMessage[52];
  33112. ApplyAnimation(playerid,"BOMBER","BOM_Plant_Crouch_Out", 4.0, 0, 0, 0, 0, 0, 1);
  33113. PlayerInfo[playerid][pPot] += PlayerInfo[i][pWeedGrowth];
  33114. format(szMessage, sizeof(szMessage), "You picked the plant and gathered %d grams of pot.", PlayerInfo[i][pWeedGrowth]);
  33115. SendClientMessage(playerid, COLOR_GREY, szMessage);
  33116. format(szMessage, sizeof(szMessage), "* %s picks the weed plant.", GetPlayerNameEx(playerid));
  33117. ProxDetector(25.0, playerid, szMessage, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  33118. DestroyDynamicObject(PlayerInfo[i][pWeedObject]);
  33119. PlayerInfo[i][pWeedObject] = 0;
  33120. return 1;
  33121. }
  33122. else SendClientMessage(playerid, COLOR_GREY, "You can't carry more then 99 grams of pot.");
  33123. }
  33124. else SendClientMessage(playerid, COLOR_GREY, "This plant is not ready to be picked yet.");
  33125. return 1;
  33126. }
  33127. }
  33128. return SendClientMessage(playerid, COLOR_GREY, "You're not at a plant.");
  33129. }
  33130. CMD:sellpot(playerid, params[])
  33131. {
  33132. if(AdminDuty[playerid] == 1)
  33133. {
  33134. SendClientMessage(playerid,COLOR_WHITE, "You can't use this command while on-duty as admin.");
  33135. return 1;
  33136. }
  33137. if(PlayerInfo[playerid][pJob] != 4 && PlayerInfo[playerid][pJob2] != 4)
  33138. {
  33139. SendClientMessage(playerid, COLOR_GREY, " You're not a drug dealer.");
  33140. return 1;
  33141. }
  33142. if(PlayerInfo[playerid][pDrugsTime] != 0)
  33143. {
  33144. SendClientMessage(playerid, COLOR_WHITE, "You must wait 1 minute before selling more drugs.");
  33145. return 1;
  33146. }
  33147. /*if(WatchingTV[playerid] != 0)
  33148. {
  33149. SendClientMessage(playerid, COLOR_GREY, "You can't do this while watching TV!");
  33150. return 1;
  33151. }*/
  33152. new string[128], giveplayerid, needed, money;
  33153. if(sscanf(params, "udd", giveplayerid, needed, money)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /sellpot [playerid/partofname] [amount] [price]");
  33154. if(needed < 1 || needed > 99) { SendClientMessage(playerid, COLOR_GREY, " Grams no lower then 1, or above 99!"); return 1; }
  33155. if(money < 1 || money > 99999) { SendClientMessage(playerid, COLOR_GREY, " Price not lower then 1, or above 99999!"); return 1; }
  33156. if(needed > PlayerInfo[playerid][pPot]) { SendClientMessage(playerid, COLOR_GREY, " You Don't have that much Pot with you!"); return 1; }
  33157. if(IsPlayerConnected(giveplayerid))
  33158. {
  33159. if(giveplayerid != INVALID_PLAYER_ID)
  33160. {
  33161. if(ProxDetectorS(8.0, playerid, giveplayerid))
  33162. {
  33163. if(giveplayerid == playerid)
  33164. {
  33165. SendClientMessage(playerid, COLOR_GREY, " Cant sell to yourself!");
  33166. return 1;
  33167. }
  33168. format(string, sizeof(string), "* You offered %s to buy %d gram(s) of Pot for $%d.", GetPlayerNameEx(giveplayerid), needed, money);
  33169. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  33170. format(string, sizeof(string), "* Drug Dealer %s wants to sell you %d gram(s) for $%d, (type /accept pot) to buy.", GetPlayerNameEx(playerid), needed, money);
  33171. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  33172. PlayerInfo[playerid][pDrugsTime] = 60;
  33173. PotOffer[giveplayerid] = playerid;
  33174. PotPrice[giveplayerid] = money;
  33175. PotGram[giveplayerid] = needed;
  33176. }
  33177. else
  33178. {
  33179. SendClientMessage(playerid, COLOR_GREY, "That player isn't near you.");
  33180. }
  33181. }
  33182. }
  33183. else
  33184. {
  33185. SendClientMessage(playerid, COLOR_GRAD2, "That player is not connected.");
  33186. }
  33187. return 1;
  33188. }
  33189. CMD:sellcrack(playerid, params[])
  33190. {
  33191. if(AdminDuty[playerid] == 1)
  33192. {
  33193. SendClientMessage(playerid,COLOR_WHITE, "You can't use this command while on-duty as admin.");
  33194. return 1;
  33195. }
  33196. if(PlayerInfo[playerid][pJob] != 4 && PlayerInfo[playerid][pJob2] != 4)
  33197. {
  33198. SendClientMessage(playerid, COLOR_GREY, " You're not a drug dealer.");
  33199. return 1;
  33200. }
  33201. if(PlayerInfo[playerid][pDrugsTime] != 0)
  33202. {
  33203. SendClientMessage(playerid, COLOR_WHITE, "You must wait 1 minute before selling more drugs.");
  33204. return 1;
  33205. }
  33206. /*if(WatchingTV[playerid] != 0)
  33207. {
  33208. SendClientMessage(playerid, COLOR_GREY, "You can't do this while watching TV!");
  33209. return 1;
  33210. }*/
  33211. new string[128], giveplayerid, needed, money;
  33212. if(sscanf(params, "udd", giveplayerid, needed, money)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /sellcrack [playerid/partofname] [amount] [price]");
  33213. if(needed < 1 || needed > 99) { SendClientMessage(playerid, COLOR_GREY, " Grams no lower then 1, or above 99!"); return 1; }
  33214. if(money < 1 || money > 99999) { SendClientMessage(playerid, COLOR_GREY, " Price not lower then 1, or above 99999!"); return 1; }
  33215. if(needed > PlayerInfo[playerid][pCrack]) { SendClientMessage(playerid, COLOR_GREY, " You Don't have that much Crack with you!"); return 1; }
  33216. if(IsPlayerConnected(giveplayerid))
  33217. {
  33218. if(giveplayerid != INVALID_PLAYER_ID)
  33219. {
  33220. if(ProxDetectorS(8.0, playerid, giveplayerid))
  33221. {
  33222. if(giveplayerid == playerid)
  33223. {
  33224. SendClientMessage(playerid, COLOR_GREY, " Cant sell to yourself!");
  33225. return 1;
  33226. }
  33227. format(string, sizeof(string), "* You offered %s to buy %d gram(s) of Crack for $%d.", GetPlayerNameEx(giveplayerid), needed, money);
  33228. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  33229. format(string, sizeof(string), "* Drug Dealer %s wants to sell you %d gram(s) for $%d, (type /accept crack) to buy.", GetPlayerNameEx(playerid), needed, money);
  33230. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  33231. PlayerInfo[playerid][pDrugsTime] = 60;
  33232. CrackOffer[giveplayerid] = playerid;
  33233. CrackPrice[giveplayerid] = money;
  33234. CrackGram[giveplayerid] = needed;
  33235. }
  33236. else
  33237. {
  33238. SendClientMessage(playerid, COLOR_GREY, "That player isn't near you.");
  33239. }
  33240. }
  33241. }
  33242. else
  33243. {
  33244. SendClientMessage(playerid, COLOR_GRAD2, "That player is not connected.");
  33245. }
  33246. return 1;
  33247. }
  33248. CMD:dedit(playerid, params[])
  33249. {
  33250. if(PlayerInfo[playerid][pAdmin] < 5)
  33251. {
  33252. SendClientMessage(playerid, COLOR_GRAD2, "You're not authorized to use that command!");
  33253. return 1;
  33254. }
  33255. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  33256. {
  33257. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  33258. return 1;
  33259. }
  33260. new string[128], choice[32], amount;
  33261. if(sscanf(params, "s[32]d", choice, amount))
  33262. {
  33263. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /dedit [name] [amount]");
  33264. SendClientMessage(playerid, COLOR_GREY, "Available names: Pot, Crack");
  33265. return 1;
  33266. }
  33267. if(strcmp(choice,"pot",true) == 0)
  33268. {
  33269. for(new h = 0; h < sizeof(Points); h++)
  33270. {
  33271. if(Points[h][Type] == 3)
  33272. {
  33273. Points[h][Stock] = amount;
  33274. format(string, sizeof(string), " POT AVAILABLE: %d grams.", Points[h][Stock]);
  33275. UpdateDynamic3DTextLabelText(Points[h][TextLabel], COLOR_YELLOW, string);
  33276. SendClientMessage(playerid, COLOR_WHITE, " You have successfully changed the Drug House available pot!");
  33277. }
  33278. }
  33279. }
  33280. else if(strcmp(choice,"crack",true) == 0)
  33281. {
  33282. for(new h = 0; h < sizeof(Points); h++)
  33283. {
  33284. if(Points[h][Type] == 4)
  33285. {
  33286. Points[h][Stock] = amount;
  33287. format(string, sizeof(string), " CRACK AVAILABLE: %d grams.", Points[h][Stock]);
  33288. UpdateDynamic3DTextLabelText(Points[h][TextLabel], COLOR_YELLOW, string);
  33289. SendClientMessage(playerid, COLOR_WHITE, " You have successfully changed the Crack Lab available crack!");
  33290. }
  33291. }
  33292. }
  33293. else
  33294. {
  33295. SendClientMessage(playerid, COLOR_GREY, " Not a valid name.");
  33296. return 1;
  33297. }
  33298. return 1;
  33299. }
  33300. CMD:adestroyplant(playerid, params[]) {
  33301. if(PlayerInfo[playerid][pAdmin] >= 4)
  33302. {
  33303. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  33304. {
  33305. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  33306. return 1;
  33307. }
  33308. new
  33309. iTargetID;
  33310. if(sscanf(params, "u", iTargetID)) {
  33311. SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /adestroyplant [playerid/partofname]");
  33312. }
  33313. else if(IsPlayerConnected(iTargetID)) {
  33314. new
  33315. szMessage[47 + MAX_PLAYER_NAME];
  33316. format(szMessage, sizeof(szMessage), "You have destroyed %s's weed plant (%i grams).", GetPlayerNameEx(iTargetID), PlayerInfo[iTargetID][pWeedGrowth]);
  33317. SendClientMessage(playerid, COLOR_GREY, szMessage);
  33318. format(szMessage, sizeof(szMessage), "Admin %s has destroyed your weed plant (%i grams).", GetPlayerNameEx(playerid), PlayerInfo[iTargetID][pWeedGrowth]);
  33319. SendClientMessage(iTargetID, COLOR_GREY, szMessage);
  33320. if(IsValidDynamicObject(PlayerInfo[playerid][pWeedObject])) {
  33321. DestroyDynamicObject(PlayerInfo[playerid][pWeedObject]);
  33322. PlayerInfo[playerid][pWeedObject] = 0;
  33323. }
  33324. }
  33325. else SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  33326. }
  33327. else SendClientMessage(playerid, COLOR_GREY, "You're not authorized to use this command.");
  33328. return 1;
  33329. }
  33330. CMD:turfs(playerid, params[])
  33331. {
  33332. new string[3000], newstring[3000];
  33333. //ShowPlayerDialogEx(playerid, 5142, "{FFA500}Sleepless Roleplay - {FFFFFF}Turfs", "\n\n", "Close", "");
  33334. for(new i = 0; i < MAX_TURFS; i++)
  33335. {
  33336. format(string, sizeof(string), "{FFA500}Name: {FFFFFF}%s{FFA500} | Owner:{FFFFFF}%s{FFFFFF}{FFA500} | Captured By: {FFFFFF}%s{FFA500} | Hours: {FFFFFF}%d\n", TurfsInfo[i][TurfsName], TurfsInfo[i][TurfsOwner], TurfsInfo[i][TurfsCapper], TurfsInfo[i][TurfsHours]);
  33337. strcat(newstring, string);
  33338. }
  33339. ShowPlayerDialogEx(playerid, 5142, DIALOG_STYLE_MSGBOX, "{FFA500}Sleepless Roleplay - {FFFFFF}Turfs", newstring, "Close", "");
  33340. return 1;
  33341. }
  33342. stock RGBAToARGB(rgba)
  33343. return rgba >>> 8 | rgba << 24;
  33344. stock HexToInt(string[])
  33345. {
  33346. if(!string[0]) return 0;
  33347. new cur = 1, res = 0;
  33348. for(new i = strlen(string); i > 0; i--)
  33349. {
  33350. res += cur * (string[i - 1] - ((string[i - 1] < 58) ? (48) : (55)));
  33351. cur = cur * 16;
  33352. }
  33353. return res;
  33354. }
  33355. stock ClaimTurf(turf, playerid)
  33356. {
  33357. new string[128];
  33358. format(TurfsInfo[turf][TurfsOwner], 128, "%s", FamilyInfo[PlayerInfo[playerid][pGang]][FamilyName]);
  33359. format(TurfsInfo[turf][TurfsCapper], 128, "%s", GetPlayerNameEx(playerid));
  33360. format(string, sizeof(string), "* %s has claimed the turf %s for %s.", GetPlayerNameEx(playerid), TurfsInfo[turf][TurfsName], FamilyInfo[PlayerInfo[playerid][pGang]][FamilyName]);
  33361. SendClientMessageToAll(COLOR_YELLOW, string);
  33362. format(string, sizeof(string), "%s", FamilyInfo[PlayerInfo[playerid][pGang]][FamilyName]);
  33363. PlayerTextDrawSetString(playerid, Textdraw1s[playerid], string);
  33364. TurfsInfo[turf][TurfsGang] = PlayerInfo[playerid][pGang];
  33365. new hex, str[32];
  33366. format(str, sizeof(str), "%x", FamilyInfo[PlayerInfo[playerid][pGang]][FamilyColor]);
  33367. sscanf(str, "x", hex);
  33368. PlayerTextDrawColor(playerid, Textdraw1s[playerid], hex);
  33369. PlayerTextDrawHide(playerid, Textdraw1s[playerid]);
  33370. PlayerTextDrawShow(playerid, Textdraw1s[playerid]);
  33371. GangZoneSetColorForAll(TurfsInfo[turf][TurfID], hex);
  33372. GangZoneShowForAll(TurfsInfo[turf][TurfID], hex);
  33373. TurfsInfo[turf][TurfsHours] = 72;
  33374. TurfsInfo[turf][TurfsVulnerable] = 0;
  33375. TurfsInfo[turf][TurfsDoing] = 0;
  33376. TurfsInfo[turf][TurfshTime] = 0;
  33377. KillTimer(TurfsInfo[turf][TurfsTimer]);
  33378. }
  33379. stock ShutdownTurf(turf, playerid)
  33380. {
  33381. new string[128];
  33382. format(TurfsInfo[turf][TurfsOwner], 128, "%s", FamilyInfo[PlayerInfo[playerid][pGang]][FamilyName]);
  33383. format(TurfsInfo[turf][TurfsCapper], 128, "%s", GetPlayerNameEx(playerid));
  33384. format(string, sizeof(string), "* %s has claimed the turf %s for Law Enforcement.", GetPlayerNameEx(playerid), TurfsInfo[turf][TurfsName]);
  33385. SendClientMessageToAll(COLOR_YELLOW, string);
  33386. PlayerTextDrawSetString(playerid, Textdraw1s[playerid], "Neutral");
  33387. TurfsInfo[turf][TurfsGang] = PlayerInfo[playerid][pGang];
  33388. PlayerTextDrawColor(playerid, Textdraw1s[playerid], COLOR_WHITE);
  33389. PlayerTextDrawHide(playerid, Textdraw1s[playerid]);
  33390. PlayerTextDrawShow(playerid, Textdraw1s[playerid]);
  33391. GangZoneSetColorForAll(TurfsInfo[turf][TurfID], COLOR_WHITE);
  33392. GangZoneShowForAll(TurfsInfo[turf][TurfID], COLOR_WHITE);
  33393. TurfsInfo[turf][TurfsHours] = 24;
  33394. TurfsInfo[turf][TurfsVulnerable] = 0;
  33395. TurfsInfo[turf][TurfsDoing] = 0;
  33396. TurfsInfo[turf][TurfshTime] = 0;
  33397. KillTimer(TurfsInfo[turf][TurfsTimer]);
  33398. }
  33399. forward TurfCappings(playerid, turfid);
  33400. public TurfCappings(playerid, turfid)
  33401. {
  33402. if(TurfsInfo[turfid][TurfshTime] == 1)
  33403. {
  33404. ClaimTurf(turfid, playerid);
  33405. return 1;
  33406. }
  33407. if(TurfsInfo[turfid][TurfshTime] == 1)
  33408. {
  33409. ShutdownTurf(turfid, playerid);
  33410. return 1;
  33411. }
  33412. TurfsInfo[turfid][TurfshTime]--;
  33413. return 1;
  33414. }
  33415. CMD:capturf(playerid, params[])
  33416. {
  33417. if(PlayerInfo[playerid][pGang] < 255)
  33418. {
  33419. if(PlayerInfo[playerid][pRank] >= 4)
  33420. {
  33421. if(InTurf[playerid] == -1) return SCM(playerid, -1, "You are not in any turfs.");
  33422. new turf = InTurf[playerid];
  33423. new string[128];
  33424. new Float:x, Float:y, Float:z;
  33425. GetPlayerPos(playerid, x, y, z);
  33426. new cancap = 0;
  33427. foreach(Player, i)
  33428. {
  33429. if(IsPlayerInRangeOfPoint(i, 5.0, x, y, z))
  33430. {
  33431. cancap = 1;
  33432. }
  33433. }
  33434. if(cancap == 0) return SCM(playerid, COLOR_GRAD2, "Members must be near you!");
  33435. if(TurfsInfo[turf][TurfsVulnerable] == 0) return SCM(playerid, COLOR_GRAD2, "This turf is not ready to be capped.");
  33436. format(string, sizeof(string), "* %s is attempting to take %s for %s (15 minutes remaining).", GetPlayerNameEx(playerid), TurfsInfo[turf][TurfsName], FamilyInfo[PlayerInfo[playerid][pGang]][FamilyName]);
  33437. SendClientMessageToAll(COLOR_YELLOW, string);
  33438. TurfsInfo[turf][TurfshTime] = 15;
  33439. TurfsInfo[turf][TurfsTimer] = SetTimerEx("TurfCappings", 60000, 1, "id", playerid, turf);
  33440. GangZoneFlashForAll(TurfsInfo[turf][TurfID], COLOR_RED);
  33441. TurfsInfo[turf][TurfsDoing] = 1;
  33442. TurfsInfo[turf][TurfsgCap] = PlayerInfo[playerid][pGang];
  33443. format(TurfsInfo[turf][TurfsCappingName], MAX_PLAYER_NAME, "%s", GetPlayerNameEx(playerid));
  33444. }
  33445. else return SCM(playerid, COLOR_GREY, "You must be atleast R4 to capture turfs.");
  33446. }
  33447. return 1;
  33448. }
  33449. /*CMD:shutdown(playerid, params[])
  33450. {
  33451. if(PlayerInfo[playerid][pFaction] == 1 || PlayerInfo[playerid][pFaction] == 2 || PlayerInfo[playerid][pFaction] == 10)
  33452. {
  33453. if(PlayerInfo[playerid][pRank] >= 4)
  33454. {
  33455. if(InTurf[playerid] == -1) return SCM(playerid, -1, "You are not in any turfs.");
  33456. new turf = InTurf[playerid];
  33457. new string[128];
  33458. new Float:x, Float:y, Float:z;
  33459. GetPlayerPos(playerid, x, y, z);
  33460. new cancap = 0;
  33461. foreach(Player, i)
  33462. {
  33463. if(IsPlayerInRangeOfPoint(i, 5.0, x, y, z))
  33464. {
  33465. cancap = 1;
  33466. }
  33467. }
  33468. if(cancap == 0) return SCM(playerid, COLOR_GRAD2, "Members must be near you!");
  33469. if(TurfsInfo[turf][TurfsVulnerable] == 0) return SCM(playerid, COLOR_GRAD2, "This turf is not ready to be capped.");
  33470. format(string, sizeof(string), "* %s is attempting to take %s for Law Enforcement (15 minutes).", GetPlayerNameEx(playerid), TurfsInfo[turf][TurfsName]);
  33471. SendClientMessageToAll(COLOR_YELLOW, string);
  33472. TurfsInfo[turf][TurfshTime] = 15;
  33473. TurfsInfo[turf][TurfsTimer] = SetTimerEx("TurfCappings", 60000, 1, "id", playerid, turf);
  33474. GangZoneFlashForAll(TurfsInfo[turf][TurfID], COLOR_RED);
  33475. TurfsInfo[turf][TurfsDoing] = 1;
  33476. TurfsInfo[turf][TurfsgCap] = PlayerInfo[playerid][pGang];
  33477. format(TurfsInfo[turf][TurfsCappingName], MAX_PLAYER_NAME, "%s", GetPlayerNameEx(playerid));
  33478. }
  33479. else return SCM(playerid, COLOR_GREY, "You must be atleast R4 to capture turfs.");
  33480. }
  33481. return 1;
  33482. }
  33483. CMD:capturf(playerid, params[])
  33484. {
  33485. return SCM(playerid, -1, "This command is not available yet!");
  33486. }*/
  33487. CMD:shutdown(playerid, params[])
  33488. {
  33489. return SCM(playerid, -1, "This command is not available yet due to bugged.");
  33490. }
  33491. CMD:capture(playerid, params[])
  33492. {
  33493. new string[128];
  33494. new mypoint = -1;
  33495. if(GetPVarInt(playerid,"Injured") == 1)
  33496. {
  33497. SendClientMessage(playerid, COLOR_GRAD1, " You can't capture while injured!");
  33498. return 1;
  33499. }
  33500. if(PlayerInfo[playerid][pGang] == 255 || PlayerInfo[playerid][pRank] < 5)
  33501. {
  33502. SendClientMessage(playerid, COLOR_GRAD1, "You're not high rank enough to capture!");
  33503. return 1;
  33504. }
  33505. for (new i=0; i<MAX_POINTS; i++)
  33506. {
  33507. if(IsPlayerInRangeOfPoint(playerid, 1.0, Points[i][Pointx], Points[i][Pointy], Points[i][Pointz])) mypoint = i;
  33508. }
  33509. if(mypoint == -1)
  33510. {
  33511. SendClientMessage(playerid, COLOR_GRAD1, "You're not at the capture place!");
  33512. return 1;
  33513. }
  33514. if(Points[mypoint][Vulnerable] > 0 || Points[mypoint][Vulnerable] == -1)
  33515. {
  33516. SendClientMessage(playerid, COLOR_GRAD1, " This point is not ready for takeover.");
  33517. return 1;
  33518. }
  33519. if(Points[mypoint][TimeToClaim])
  33520. {
  33521. SendClientMessage(playerid, COLOR_GRAD1, " This point is already being captured!");
  33522. return 1;
  33523. }
  33524. /*if(GetPlayerPing(playerid) > pointpinglimit)
  33525. {
  33526. format(string,sizeof(string), " You can't capture with %d+ ping!", pointpinglimit);
  33527. SendClientMessage(playerid, COLOR_WHITE, string);
  33528. return 1;
  33529. }*/
  33530. Points[mypoint][PointBarID] = CreateProgressBar(258.00, 137.00, 131.50, 3.19, COLOR_GREEN, 100.0);
  33531. SetProgressBarValue(Points[mypoint][PointBarID], 100.0);
  33532. ShowProgressBarForPlayer(playerid, Points[mypoint][PointBarID]);
  33533. format(string,sizeof(string), " %s is attempting to capture the point.", GetPlayerNameEx(playerid));
  33534. ProxDetector(70.0, playerid, string, COLOR_RED,COLOR_RED,COLOR_RED,COLOR_RED,COLOR_RED);
  33535. GetPlayerPos(playerid, Points[mypoint][Capturex], Points[mypoint][Capturey], Points[mypoint][Capturez]);
  33536. Points[mypoint][ClaimerId] = playerid;
  33537. Points[mypoint][TimeToClaim] = 1;
  33538. Points[mypoint][TimeLeft] = 10;
  33539. SetTimerEx("ProgressTimer", 1000, 0, "d", mypoint);
  33540. return 1;
  33541. }
  33542. CMD:pbounds(playerid, params[])
  33543. {
  33544. if(isnull(params))
  33545. {
  33546. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /pbounds [point]");
  33547. SendClientMessage(playerid, COLOR_WHITE, "HINT: This will indicate the point boundaries for a point.");
  33548. SendClientMessage(playerid, COLOR_GRAD3, "Points: FFC (Fossil Fuel Company) | MP1 (Materials Pickup 1) | DF (Drug Factory)");
  33549. SendClientMessage(playerid, COLOR_GRAD3, "Points: MF1 (Materials Factory 1) | DH (Drug House) | MP2 (Materials Pickup 2)");
  33550. SendClientMessage(playerid, COLOR_GRAD3, "Points: CL (Crack Lab) | MF2 (Materials Factory 2) | AEC (Auto Export Company)");
  33551. return 1;
  33552. }
  33553. if(strcmp(params,"ffc",true) == 0)
  33554. {
  33555. if(IsBoundsShowingFFC[playerid] == 0)
  33556. {
  33557. GangZoneShowForPlayer(playerid, pointboundaries[0], 0xFF00008C); // FFC
  33558. IsBoundsShowingFFC[playerid] = 1;
  33559. SendClientMessage(playerid, COLOR_WHITE, "The point boundaries for Fossil Fuel Company are now indicated on your radar and map in red.");
  33560. }
  33561. else
  33562. {
  33563. GangZoneHideForPlayer(playerid, pointboundaries[0]); // FFC
  33564. IsBoundsShowingFFC[playerid] = 0;
  33565. SendClientMessage(playerid, COLOR_WHITE, "The point boundaries for Fossil Fuel Company are now removed from your radar and map.");
  33566. }
  33567. }
  33568. else if(strcmp(params,"mp1",true) == 0)
  33569. {
  33570. if(IsBoundsShowingMP1[playerid] == 0)
  33571. {
  33572. GangZoneShowForPlayer(playerid, pointboundaries[1], 0xFF00008C); // MP1
  33573. IsBoundsShowingMP1[playerid] = 1;
  33574. SendClientMessage(playerid, COLOR_WHITE, "The point boundaries for Materials Pickup 1 are now indicated on your radar and map in red.");
  33575. }
  33576. else
  33577. {
  33578. GangZoneHideForPlayer(playerid, pointboundaries[1]); // MP1
  33579. IsBoundsShowingMP1[playerid] = 0;
  33580. SendClientMessage(playerid, COLOR_WHITE, "The point boundaries for Materials Pickup 1 are now removed from your radar and map.");
  33581. }
  33582. }
  33583. else if(strcmp(params,"df",true) == 0)
  33584. {
  33585. if(IsBoundsShowingDF[playerid] == 0)
  33586. {
  33587. GangZoneShowForPlayer(playerid, pointboundaries[8], 0xFF00008C); // DF
  33588. IsBoundsShowingDF[playerid] = 1;
  33589. SendClientMessage(playerid, COLOR_WHITE, "The point boundaries for Drug Factory are now indicated on your radar and map in red.");
  33590. }
  33591. else
  33592. {
  33593. GangZoneHideForPlayer(playerid, pointboundaries[8]); // DF
  33594. IsBoundsShowingDF[playerid] = 0;
  33595. SendClientMessage(playerid, COLOR_WHITE, "The point boundaries for Drug Factory are now removed from your radar and map.");
  33596. }
  33597. }
  33598. else if(strcmp(params,"mf1",true) == 0)
  33599. {
  33600. if(IsBoundsShowingMF1[playerid] == 0)
  33601. {
  33602. GangZoneShowForPlayer(playerid, pointboundaries[2], 0xFF00008C); // MF1
  33603. IsBoundsShowingMF1[playerid] = 1;
  33604. SendClientMessage(playerid, COLOR_WHITE, "The point boundaries for Materials Factory 1 are now indicated on your radar and map in red.");
  33605. }
  33606. else
  33607. {
  33608. GangZoneHideForPlayer(playerid, pointboundaries[2]); // MF1
  33609. IsBoundsShowingMF1[playerid] = 0;
  33610. SendClientMessage(playerid, COLOR_WHITE, "The point boundaries for Materials Factory 1 are now removed from your radar and map.");
  33611. }
  33612. }
  33613. else if(strcmp(params,"dh",true) == 0)
  33614. {
  33615. if(IsBoundsShowingDH[playerid] == 0)
  33616. {
  33617. GangZoneShowForPlayer(playerid, pointboundaries[6], 0xFF00008C); // DH
  33618. IsBoundsShowingDH[playerid] = 1;
  33619. SendClientMessage(playerid, COLOR_WHITE, "The point boundaries for Drug House are now indicated on your radar and map in red.");
  33620. }
  33621. else
  33622. {
  33623. GangZoneHideForPlayer(playerid, pointboundaries[6]); // DH
  33624. IsBoundsShowingDH[playerid] = 0;
  33625. SendClientMessage(playerid, COLOR_WHITE, "The point boundaries for Drug House are now removed from your radar and map.");
  33626. }
  33627. }
  33628. else if(strcmp(params,"mp2",true) == 0)
  33629. {
  33630. if(IsBoundsShowingMP2[playerid] == 0)
  33631. {
  33632. GangZoneShowForPlayer(playerid, pointboundaries[3], 0xFF00008C); // MP2
  33633. IsBoundsShowingMP2[playerid] = 1;
  33634. SendClientMessage(playerid, COLOR_WHITE, "The point boundaries for Materials Pickup 2 are now indicated on your radar and map in red.");
  33635. }
  33636. else
  33637. {
  33638. GangZoneHideForPlayer(playerid, pointboundaries[3]); // MP2
  33639. IsBoundsShowingMP2[playerid] = 0;
  33640. SendClientMessage(playerid, COLOR_WHITE, "The point boundaries for Materials Pickup 2 are now from your radar and map.");
  33641. }
  33642. }
  33643. else if(strcmp(params,"cl",true) == 0)
  33644. {
  33645. if(IsBoundsShowingCL[playerid] == 0)
  33646. {
  33647. GangZoneShowForPlayer(playerid, pointboundaries[7], 0xFF00008C); // CL
  33648. IsBoundsShowingCL[playerid] = 1;
  33649. SendClientMessage(playerid, COLOR_WHITE, "The point boundaries for Crack Lab are now indicated on your radar and map in red.");
  33650. }
  33651. else
  33652. {
  33653. GangZoneHideForPlayer(playerid, pointboundaries[7]); // CL
  33654. IsBoundsShowingCL[playerid] = 0;
  33655. SendClientMessage(playerid, COLOR_WHITE, "The point boundaries for Crack Lab are now removed from your radar and map.");
  33656. }
  33657. }
  33658. else if(strcmp(params,"mf2",true) == 0)
  33659. {
  33660. if(IsBoundsShowingMF2[playerid] == 0)
  33661. {
  33662. GangZoneShowForPlayer(playerid, pointboundaries[4], 0xFF00008C); // MF2
  33663. IsBoundsShowingMF2[playerid] = 1;
  33664. SendClientMessage(playerid, COLOR_WHITE, "The point boundaries for Materials Factory 2 are now indicated on your radar and map in red.");
  33665. }
  33666. else
  33667. {
  33668. GangZoneHideForPlayer(playerid, pointboundaries[4]); // MF2
  33669. IsBoundsShowingMF2[playerid] = 0;
  33670. SendClientMessage(playerid, COLOR_WHITE, "The point boundaries for Materials Factory 2 are now indicated on your radar and map in red.");
  33671. }
  33672. }
  33673. else if(strcmp(params,"aec",true) == 0)
  33674. {
  33675. if(IsBoundsShowingAEC[playerid] == 0)
  33676. {
  33677. GangZoneShowForPlayer(playerid, pointboundaries[5], 0xFF00008C); // AEC
  33678. IsBoundsShowingAEC[playerid] = 1;
  33679. SendClientMessage(playerid, COLOR_WHITE, "The point boundaries for Auto Export Company are now indicated on your radar and map in red.");
  33680. }
  33681. else
  33682. {
  33683. GangZoneHideForPlayer(playerid, pointboundaries[5]); // AEC
  33684. IsBoundsShowingAEC[playerid] = 0;
  33685. SendClientMessage(playerid, COLOR_WHITE, "The point boundaries for Auto Export Company are now removed from your radar and map");
  33686. }
  33687. }
  33688. else
  33689. {
  33690. SendClientMessage(playerid, COLOR_GRAD1, "Invalid point entered.");
  33691. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /pbounds [point]");
  33692. SendClientMessage(playerid, COLOR_WHITE, "HINT: This will indicate the point boundaries for a point.");
  33693. SendClientMessage(playerid, COLOR_GRAD3, "Points: FFC (Fossil Fuel Company) | MP1 (Materials Pickup 1) | DF (Drug Factory)");
  33694. SendClientMessage(playerid, COLOR_GRAD3, "Points: MF1 (Materials Factory 1) | DH (Drug House) | MP2 (Materials Pickup 2)");
  33695. SendClientMessage(playerid, COLOR_GRAD3, "Points: CL (Crack Lab) | MF2 (Materials Factory 2) | AEC (Auto Export Company)");
  33696. }
  33697. return 1;
  33698. }
  33699. CMD:pboundsoff(playerid, params[])
  33700. {
  33701. GangZoneHideForPlayer(playerid, pointboundaries[0]); // FFC
  33702. GangZoneHideForPlayer(playerid, pointboundaries[1]); // MP1
  33703. GangZoneHideForPlayer(playerid, pointboundaries[2]); // MF1
  33704. GangZoneHideForPlayer(playerid, pointboundaries[3]); // MP2
  33705. GangZoneHideForPlayer(playerid, pointboundaries[4]); // MF2
  33706. GangZoneHideForPlayer(playerid, pointboundaries[5]); // AEC
  33707. GangZoneHideForPlayer(playerid, pointboundaries[6]); // DH
  33708. GangZoneHideForPlayer(playerid, pointboundaries[7]); // CL
  33709. GangZoneHideForPlayer(playerid, pointboundaries[8]); // DF
  33710. IsBoundsShowingFFC[playerid] = 0;
  33711. IsBoundsShowingMP1[playerid] = 0;
  33712. IsBoundsShowingMF1[playerid] = 0;
  33713. IsBoundsShowingMP2[playerid] = 0;
  33714. IsBoundsShowingMF2[playerid] = 0;
  33715. IsBoundsShowingAEC[playerid] = 0;
  33716. IsBoundsShowingDH[playerid] = 0;
  33717. IsBoundsShowingCL[playerid] = 0;
  33718. IsBoundsShowingDF[playerid] = 0;
  33719. SendClientMessage(playerid, COLOR_WHITE, "All point boundaries removed from your radar and map.");
  33720. return 1;
  33721. }
  33722. CMD:points(playerid, params[])
  33723. {
  33724. new string[128];
  33725. for(new i; i < MAX_POINTS; i++)
  33726. {
  33727. if(Points[i][Type] >= 0)
  33728. {
  33729. if(Points[i][Vulnerable] == -1)
  33730. {
  33731. format(string, sizeof(string), "Name: %s | Owner: %s | Captured By: %s | Hours: Temporarily disabled", Points[i][Name],Points[i][Owner],Points[i][CapperName]);
  33732. }
  33733. else
  33734. {
  33735. format(string, sizeof(string), "Name: %s | Owner: %s | Captured By: %s | Hours: %d", Points[i][Name],Points[i][Owner],Points[i][CapperName],Points[i][Vulnerable]);
  33736. }
  33737. SendClientMessage(playerid, COLOR_WHITE, string);
  33738. }
  33739. }
  33740. return 1;
  33741. }
  33742. CMD:fedit(playerid, params[]) {
  33743. if(PlayerInfo[playerid][pAdmin] >= 1 && PlayerInfo[playerid][pGangMod] > 0 || PlayerInfo[playerid][pAdmin] >= 4) {
  33744. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  33745. return SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  33746. new family, x_job[64], x_hq[64], ammount, string[128];
  33747. if(sscanf(params, "is[64]s[64]", family, x_job, x_hq))
  33748. {
  33749. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /fedit [family] [name] [amount]");
  33750. SendClientMessage(playerid, COLOR_GREY, "Available names: Leader, MaxSkins, Skin1, Skin2, Skin3, Skin4, Skin5, Skin6, Skin7, Skin8");
  33751. return 1;
  33752. }
  33753. ammount = strval(x_hq);
  33754. if(family < 1 || family > MAX_FAMILY) { SendClientMessage(playerid, COLOR_GREY, " FamilyNr can't be below 1 or above 14!"); return 1; }
  33755. family -= 1;
  33756. /*if(strcmp(x_job,"tokens",true) == 0)
  33757. {
  33758. FamilyInfo[family][FamilyTurfTokens] = ammount * 12;
  33759. format(string, sizeof(string), "You have changed '%s' tokens amount to %d.", FamilyInfo[family][FamilyName], ammount);
  33760. SendClientMessage(playerid, COLOR_WHITE, string);
  33761. return 1;
  33762. }*/
  33763. if(strcmp(x_job,"leader",true) == 0)
  33764. {
  33765. if(strlen(x_hq) >= 20)
  33766. {
  33767. SendClientMessage(playerid, COLOR_GRAD1, "That leader name is too long, please refrain from using more than 20 characters.");
  33768. return 1;
  33769. }
  33770. strcpy(FamilyInfo[family][FamilyLeader], x_hq, MAX_PLAYER_NAME);
  33771. format(string, sizeof(string), "You have changed '%s' leader name to %s.", FamilyInfo[family][FamilyName], x_hq);
  33772. SendClientMessage(playerid, COLOR_WHITE, string);
  33773. SaveFamilies();
  33774. return 1;
  33775. }
  33776. else if(strcmp(x_job,"maxskins",true) == 0)
  33777. {
  33778. if(ammount > 8) return SendClientMessage(playerid, COLOR_WHITE, "You can't set the maxskins more than 8.");
  33779. if(ammount == 7)
  33780. {
  33781. FamilyInfo[family][FamilySkins][7] = 0;
  33782. }
  33783. if(ammount == 6)
  33784. {
  33785. FamilyInfo[family][FamilySkins][7] = 0;
  33786. FamilyInfo[family][FamilySkins][6] = 0;
  33787. }
  33788. if(ammount == 5)
  33789. {
  33790. FamilyInfo[family][FamilySkins][7] = 0;
  33791. FamilyInfo[family][FamilySkins][6] = 0;
  33792. FamilyInfo[family][FamilySkins][5] = 0;
  33793. }
  33794. if(ammount == 4)
  33795. {
  33796. FamilyInfo[family][FamilySkins][7] = 0;
  33797. FamilyInfo[family][FamilySkins][6] = 0;
  33798. FamilyInfo[family][FamilySkins][5] = 0;
  33799. FamilyInfo[family][FamilySkins][4] = 0;
  33800. }
  33801. if(ammount == 3)
  33802. {
  33803. FamilyInfo[family][FamilySkins][7] = 0;
  33804. FamilyInfo[family][FamilySkins][6] = 0;
  33805. FamilyInfo[family][FamilySkins][5] = 0;
  33806. FamilyInfo[family][FamilySkins][4] = 0;
  33807. FamilyInfo[family][FamilySkins][3] = 0;
  33808. }
  33809. if(ammount == 2)
  33810. {
  33811. FamilyInfo[family][FamilySkins][7] = 0;
  33812. FamilyInfo[family][FamilySkins][6] = 0;
  33813. FamilyInfo[family][FamilySkins][5] = 0;
  33814. FamilyInfo[family][FamilySkins][4] = 0;
  33815. FamilyInfo[family][FamilySkins][3] = 0;
  33816. FamilyInfo[family][FamilySkins][2] = 0;
  33817. }
  33818. if(ammount == 1)
  33819. {
  33820. FamilyInfo[family][FamilySkins][7] = 0;
  33821. FamilyInfo[family][FamilySkins][6] = 0;
  33822. FamilyInfo[family][FamilySkins][5] = 0;
  33823. FamilyInfo[family][FamilySkins][4] = 0;
  33824. FamilyInfo[family][FamilySkins][3] = 0;
  33825. FamilyInfo[family][FamilySkins][2] = 0;
  33826. FamilyInfo[family][FamilySkins][1] = 0;
  33827. }
  33828. if(ammount == 0)
  33829. {
  33830. FamilyInfo[family][FamilySkins][7] = 0;
  33831. FamilyInfo[family][FamilySkins][6] = 0;
  33832. FamilyInfo[family][FamilySkins][5] = 0;
  33833. FamilyInfo[family][FamilySkins][4] = 0;
  33834. FamilyInfo[family][FamilySkins][3] = 0;
  33835. FamilyInfo[family][FamilySkins][2] = 0;
  33836. FamilyInfo[family][FamilySkins][1] = 0;
  33837. FamilyInfo[family][FamilySkins][0] = 0;
  33838. }
  33839. FamilyInfo[family][FamilyMaxSkins] = ammount;
  33840. format(string, sizeof(string), "You have changed '%s' max skins amount to %d.", FamilyInfo[family][FamilyName], ammount);
  33841. SendClientMessage(playerid, COLOR_WHITE, string);
  33842. }
  33843. else if(strcmp(x_job,"skin1",true) == 0)
  33844. {
  33845. FamilyInfo[family][FamilySkins][0] = ammount;
  33846. format(string, sizeof(string), "You have changed '%s' skin #1 to %d.", FamilyInfo[family][FamilyName], ammount);
  33847. SendClientMessage(playerid, COLOR_WHITE, string);
  33848. }
  33849. else if(strcmp(x_job,"skin2",true) == 0)
  33850. {
  33851. FamilyInfo[family][FamilySkins][1] = ammount;
  33852. format(string, sizeof(string), "You have changed '%s' skin #2 to %d.", FamilyInfo[family][FamilyName], ammount);
  33853. SendClientMessage(playerid, COLOR_WHITE, string);
  33854. }
  33855. else if(strcmp(x_job,"skin3",true) == 0)
  33856. {
  33857. FamilyInfo[family][FamilySkins][2] = ammount;
  33858. format(string, sizeof(string), "You have changed '%s' skin #3 to %d.", FamilyInfo[family][FamilyName], ammount);
  33859. SendClientMessage(playerid, COLOR_WHITE, string);
  33860. }
  33861. else if(strcmp(x_job,"skin4",true) == 0)
  33862. {
  33863. FamilyInfo[family][FamilySkins][3] = ammount;
  33864. format(string, sizeof(string), "You have changed '%s' skin #4 to %d.", FamilyInfo[family][FamilyName], ammount);
  33865. SendClientMessage(playerid, COLOR_WHITE, string);
  33866. }
  33867. else if(strcmp(x_job,"skin5",true) == 0)
  33868. {
  33869. FamilyInfo[family][FamilySkins][4] = ammount;
  33870. format(string, sizeof(string), "You have changed '%s' skin #5 to %d.", FamilyInfo[family][FamilyName], ammount);
  33871. SendClientMessage(playerid, COLOR_WHITE, string);
  33872. }
  33873. else if(strcmp(x_job,"skin6",true) == 0)
  33874. {
  33875. FamilyInfo[family][FamilySkins][5] = ammount;
  33876. format(string, sizeof(string), "You have changed '%s' skin #6 to %d.", FamilyInfo[family][FamilyName], ammount);
  33877. SendClientMessage(playerid, COLOR_WHITE, string);
  33878. }
  33879. else if(strcmp(x_job,"skin7",true) == 0)
  33880. {
  33881. FamilyInfo[family][FamilySkins][6] = ammount;
  33882. format(string, sizeof(string), "You have changed '%s' skin #7 to %d.", FamilyInfo[family][FamilyName], ammount);
  33883. SendClientMessage(playerid, COLOR_WHITE, string);
  33884. }
  33885. else if(strcmp(x_job,"skin8",true) == 0)
  33886. {
  33887. FamilyInfo[family][FamilySkins][7] = ammount;
  33888. format(string, sizeof(string), "You have changed '%s' skin #8 to %d.", FamilyInfo[family][FamilyName], ammount);
  33889. SendClientMessage(playerid, COLOR_WHITE, string);
  33890. }
  33891. else
  33892. {
  33893. SendClientMessage(playerid, COLOR_GREY, " Not a valid name.");
  33894. return 1;
  33895. }
  33896. SaveFamilies();
  33897. }
  33898. else
  33899. {
  33900. SendClientMessage(playerid, COLOR_GRAD2, " You're not an Admin!");
  33901. return 1;
  33902. }
  33903. return 1;
  33904. }
  33905. CMD:createcrew(playerid, params[])
  33906. {
  33907. if(PlayerInfo[playerid][pGang] == 255)
  33908. {
  33909. SendClientMessageEx(playerid, COLOR_GREY, "You aren't in a gang.");
  33910. return 1;
  33911. }
  33912. new family = PlayerInfo[playerid][pGang];
  33913. new string[128];
  33914. if(PlayerInfo[playerid][pRank] == 6)
  33915. {
  33916. new choice[32], opstring[100];
  33917. if(sscanf(params, "s[32]S[100]", choice, opstring))
  33918. {
  33919. SendClientMessageEx(playerid, COLOR_WHITE, "USAGE: /createcrew [option]");
  33920. SendClientMessageEx(playerid, COLOR_WHITE, "Available Options: crew1, crew2, crew3");
  33921. return 1;
  33922. }
  33923. if(strcmp(choice,"crew1",true) == 0)
  33924. {
  33925. if(PlayerInfo[playerid][pRank] == 6)
  33926. {
  33927. if(!opstring[0])
  33928. {
  33929. SendClientMessageEx(playerid, COLOR_WHITE, "USAGE: /createcrew crew1 [crew name]");
  33930. return 1;
  33931. }
  33932. if(strfind(opstring, "|", true) != -1)
  33933. {
  33934. SendClientMessageEx(playerid, COLOR_GRAD2, "You can't use '|' in a family name.");
  33935. return 1;
  33936. }
  33937. if(strlen(opstring) >= 15 )
  33938. {
  33939. SendClientMessageEx( playerid, COLOR_GRAD1, "That family name is too long, please refrain from using more than 40 characters." );
  33940. return 1;
  33941. }
  33942. if(FamilyInfo[family][FamilyCrew1] == 1 && FamilyInfo[family][FamilyCrew2] == 1 && FamilyInfo[family][FamilyCrew3] == 1)
  33943. {
  33944. SendClientMessage(playerid, COLOR_GRAD1, "You can't create more than 3 Crew");
  33945. return 1;
  33946. }
  33947. if(PlayerInfo[playerid][pCrew1] == family || PlayerInfo[playerid][pCrew2] == family || PlayerInfo[playerid][pCrew3] == family)
  33948. {
  33949. SendClientMessage(playerid, COLOR_GRAD1, "You already have a crew");
  33950. return 1;
  33951. }
  33952. strmid(FamilyInfo[family][FamilyCrewname1], opstring, 0, strlen(opstring), 100);
  33953. PlayerInfo[playerid][pCrew1] = family;
  33954. FamilyInfo[family][FamilyCrew1] = 1;
  33955. SaveFamilies();
  33956. format(string,sizeof(string), " You've created a Family Crew1 as the Crew name of %s",opstring);
  33957. SendClientMessage(playerid, COLOR_WHITE, string);
  33958. format(string, sizeof(string), "GangCMD: %s created crew 1 in family %d named %s", GetPlayerNameEx(playerid), family+1, opstring);
  33959. Log("logs/family.log", string);
  33960. }
  33961. }
  33962. else if(strcmp(choice,"crew2",true) == 0)
  33963. {
  33964. if(PlayerInfo[playerid][pRank] == 6)
  33965. {
  33966. if(!opstring[0])
  33967. {
  33968. SendClientMessageEx(playerid, COLOR_WHITE, "USAGE: /createcrew crew2 [crew name]");
  33969. return 1;
  33970. }
  33971. if(strfind(opstring, "|", true) != -1)
  33972. {
  33973. SendClientMessageEx(playerid, COLOR_GRAD2, "You can't use '|' in a family name.");
  33974. return 1;
  33975. }
  33976. if(strlen(opstring) >= 15 )
  33977. {
  33978. SendClientMessageEx( playerid, COLOR_GRAD1, "That family name is too long, please refrain from using more than 40 characters." );
  33979. return 1;
  33980. }
  33981. if(FamilyInfo[family][FamilyCrew1] == 1 && FamilyInfo[family][FamilyCrew2] == 1 && FamilyInfo[family][FamilyCrew3] == 1)
  33982. {
  33983. SendClientMessage(playerid, COLOR_GRAD1, "You can't create more than 3 Crew");
  33984. return 1;
  33985. }
  33986. if(PlayerInfo[playerid][pCrew1] == family || PlayerInfo[playerid][pCrew2] == family || PlayerInfo[playerid][pCrew3] == family)
  33987. {
  33988. SendClientMessage(playerid, COLOR_GRAD1, "You already have a crew");
  33989. return 1;
  33990. }
  33991. strmid(FamilyInfo[family][FamilyCrewname2], opstring, 0, strlen(opstring), 100);
  33992. PlayerInfo[playerid][pCrew2] = family;
  33993. FamilyInfo[family][FamilyCrew2] = 1;
  33994. SaveFamilies();
  33995. format(string,sizeof(string), " You've created a Family Crew2 as the Crew name of %s",opstring);
  33996. SendClientMessage(playerid, COLOR_WHITE, string);
  33997. format(string, sizeof(string), "GangCMD: %s created crew 2 in family %d named %s", GetPlayerNameEx(playerid), family+1, opstring);
  33998. Log("logs/family.log", string);
  33999. }
  34000. }
  34001. else if(strcmp(choice,"crew3",true) == 0)
  34002. {
  34003. if(PlayerInfo[playerid][pRank] == 6)
  34004. {
  34005. if(!opstring[0])
  34006. {
  34007. SendClientMessageEx(playerid, COLOR_WHITE, "USAGE: /createcrew crew3 [crew name]");
  34008. return 1;
  34009. }
  34010. if(strfind(opstring, "|", true) != -1)
  34011. {
  34012. SendClientMessageEx(playerid, COLOR_GRAD2, "You can't use '|' in a family name.");
  34013. return 1;
  34014. }
  34015. if(strlen(opstring) >= 15 )
  34016. {
  34017. SendClientMessageEx( playerid, COLOR_GRAD1, "That family name is too long, please refrain from using more than 40 characters." );
  34018. return 1;
  34019. }
  34020. if(FamilyInfo[family][FamilyCrew1] == 1 && FamilyInfo[family][FamilyCrew2] == 1 && FamilyInfo[family][FamilyCrew3] == 1)
  34021. {
  34022. SendClientMessage(playerid, COLOR_GRAD1, "You can't create more than 3 Crew");
  34023. return 1;
  34024. }
  34025. if(PlayerInfo[playerid][pCrew1] == family || PlayerInfo[playerid][pCrew2] == family || PlayerInfo[playerid][pCrew3] == family)
  34026. {
  34027. SendClientMessage(playerid, COLOR_GRAD1, "You already have a crew");
  34028. return 1;
  34029. }
  34030. strmid(FamilyInfo[family][FamilyCrewname3], opstring, 0, strlen(opstring), 100);
  34031. PlayerInfo[playerid][pCrew3] = family;
  34032. FamilyInfo[family][FamilyCrew3] = 1;
  34033. SaveFamilies();
  34034. format(string,sizeof(string), " You've created a Family Crew3 as the Crew name of %s",opstring);
  34035. SendClientMessage(playerid, COLOR_WHITE, string);
  34036. format(string, sizeof(string), "GangCMD: %s created crew 3 in family %d named %s", GetPlayerNameEx(playerid), family+1, opstring);
  34037. Log("logs/family.log", string);
  34038. }
  34039. else
  34040. {
  34041. SendClientMessageEx(playerid, COLOR_GREY, " You are not high rank enough to use this command!");
  34042. return 1;
  34043. }
  34044. }
  34045. }
  34046. else
  34047. {
  34048. SendClientMessageEx(playerid, COLOR_GREY, " You are not high rank enough to use this command!");
  34049. return 1;
  34050. }
  34051. return 1;
  34052. }
  34053. CMD:disbandcrew(playerid, params[])
  34054. {
  34055. if(PlayerInfo[playerid][pGang] == 255)
  34056. {
  34057. SendClientMessageEx(playerid, COLOR_GREY, "You aren't in a gang.");
  34058. return 1;
  34059. }
  34060. new family = PlayerInfo[playerid][pGang];
  34061. new string[128];
  34062. if(PlayerInfo[playerid][pRank] == 6)
  34063. {
  34064. new choice[32];
  34065. if(sscanf(params, "s[32]", choice))
  34066. {
  34067. SendClientMessageEx(playerid, COLOR_WHITE, "USAGE: /disbandcrew [option]");
  34068. SendClientMessageEx(playerid, COLOR_WHITE, "Available Options: crew1, crew2, crew3");
  34069. return 1;
  34070. }
  34071. if(strcmp(choice,"crew1",true) == 0)
  34072. {
  34073. if(PlayerInfo[playerid][pRank] == 6)
  34074. {
  34075. if(FamilyInfo[family][FamilyCrew1] == 0) return SendClientMessageEx(playerid, COLOR_GREY, "That crew does not exist");
  34076. strmid(FamilyInfo[family][FamilyCrewname1], "None", 0, 5, 100);
  34077. FamilyInfo[family][FamilyCrew1] = 0;
  34078. foreach(Player, i)
  34079. {
  34080. if(PlayerInfo[i][pGang] == family && PlayerInfo[i][pCrew1] == family)
  34081. {
  34082. PlayerInfo[i][pCrew3] = 255;
  34083. PlayerInfo[i][pCrew2] = 255;
  34084. PlayerInfo[i][pCrew1] = 255;
  34085. }
  34086. }
  34087. SaveFamilies();
  34088. format(string, sizeof(string), "GangCMD: %s deleted crew no. 1", GetPlayerNameEx(playerid));
  34089. Log("logs/family.log", string);
  34090. }
  34091. }
  34092. else if(strcmp(choice,"crew2",true) == 0)
  34093. {
  34094. if(PlayerInfo[playerid][pRank] == 6)
  34095. {
  34096. if(FamilyInfo[family][FamilyCrew2] == 0) return SendClientMessageEx(playerid, COLOR_GREY, "That crew does not exist");
  34097. strmid(FamilyInfo[family][FamilyCrewname2], "None", 0, 5, 100);
  34098. FamilyInfo[family][FamilyCrew2] = 0;
  34099. foreach(Player, i)
  34100. {
  34101. if(PlayerInfo[i][pGang] == family && PlayerInfo[i][pCrew2] == family)
  34102. {
  34103. PlayerInfo[i][pCrew3] = 255;
  34104. PlayerInfo[i][pCrew2] = 255;
  34105. PlayerInfo[i][pCrew1] = 255;
  34106. }
  34107. }
  34108. SaveFamilies();
  34109. format(string, sizeof(string), "GangCMD: %s deleted crew no. 2", GetPlayerNameEx(playerid));
  34110. Log("logs/family.log", string);
  34111. }
  34112. }
  34113. else if(strcmp(choice,"crew3",true) == 0)
  34114. {
  34115. if(PlayerInfo[playerid][pRank] == 6)
  34116. {
  34117. if(FamilyInfo[family][FamilyCrew3] == 0) return SendClientMessageEx(playerid, COLOR_GREY, "That crew does not exist");
  34118. strmid(FamilyInfo[family][FamilyCrewname3], "None", 0, 5, 100);
  34119. foreach(Player, i)
  34120. {
  34121. if(PlayerInfo[i][pGang] == family && PlayerInfo[i][pCrew3] == family)
  34122. {
  34123. PlayerInfo[i][pCrew3] = 255;
  34124. PlayerInfo[i][pCrew2] = 255;
  34125. PlayerInfo[i][pCrew1] = 255;
  34126. }
  34127. }
  34128. FamilyInfo[family][FamilyCrew3] = 0;
  34129. SaveFamilies();
  34130. format(string, sizeof(string), "GangCMD: %s deleted crew no. 3", GetPlayerNameEx(playerid));
  34131. Log("logs/family.log", string);
  34132. }
  34133. else
  34134. {
  34135. SendClientMessageEx(playerid, COLOR_GREY, " You are not high rank enough to use this command!");
  34136. return 1;
  34137. }
  34138. }
  34139. }
  34140. else
  34141. {
  34142. SendClientMessageEx(playerid, COLOR_GREY, " You are not high rank enough to use this command!");
  34143. return 1;
  34144. }
  34145. return 1;
  34146. }
  34147. CMD:invitecrew(playerid, params[])
  34148. {
  34149. if(PlayerInfo[playerid][pGang] == 255)
  34150. {
  34151. SendClientMessageEx(playerid, COLOR_GREY, "You aren't in a gang.");
  34152. return 1;
  34153. }
  34154. new string[182];
  34155. new family = PlayerInfo[playerid][pGang];
  34156. new giveplayerid;
  34157. new choice[32];
  34158. if(PlayerInfo[playerid][pRank] == 6)
  34159. {
  34160. if(sscanf(params, "us[32]", giveplayerid, choice))
  34161. {
  34162. SendClientMessageEx(playerid, COLOR_WHITE, "USAGE: /invitecrew [playerid [Crew Option]]");
  34163. SendClientMessageEx(playerid, COLOR_WHITE, "Available Options: crew1, crew2, crew3");
  34164. return 1;
  34165. }
  34166. if(strcmp(choice,"crew1",true) == 0)
  34167. {
  34168. if(IsPlayerConnected(giveplayerid))
  34169. {
  34170. if(giveplayerid != INVALID_PLAYER_ID)
  34171. {
  34172. if(PlayerInfo[playerid][pCrew1] == 255 && PlayerInfo[playerid][pCrew2] == 255 && PlayerInfo[playerid][pCrew3] == 255)
  34173. {
  34174. SendClientMessageEx(playerid, COLOR_GREY, "You didn't create any crew");
  34175. return 1;
  34176. }
  34177. if(PlayerInfo[giveplayerid][pGang] != family)
  34178. {
  34179. SendClientMessageEx(playerid, COLOR_GREY, "That player isn't in your family.");
  34180. return 1;
  34181. }
  34182. new family1 = 255;
  34183. new family2 = 255;
  34184. format(string, sizeof(string), "* You've invited %s to join a crew '%s'.",GetPlayerNameEx(giveplayerid), FamilyInfo[family][FamilyCrewname1]);
  34185. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string);
  34186. format(string, sizeof(string), "* %s has invited you to join '%s'. (type /accept crew)",GetPlayerNameEx(playerid), FamilyInfo[family][FamilyCrewname1]);
  34187. SendClientMessageEx(giveplayerid, COLOR_LIGHTBLUE, string);
  34188. InviteOffer[giveplayerid] = playerid;
  34189. InviteCrew[giveplayerid] = family;
  34190. InviteCrew1[giveplayerid] = family1;
  34191. InviteCrew2[giveplayerid] = family2;
  34192. }
  34193. else
  34194. {
  34195. SendClientMessage(playerid, COLOR_GRAD1 ," Invalid Player Especify!");
  34196. }
  34197. }
  34198. }
  34199. else if(strcmp(choice,"crew2",true) == 0)
  34200. {
  34201. if(IsPlayerConnected(giveplayerid))
  34202. {
  34203. if(giveplayerid != INVALID_PLAYER_ID)
  34204. {
  34205. if(PlayerInfo[playerid][pCrew1] == 255 && PlayerInfo[playerid][pCrew2] == 255 && PlayerInfo[playerid][pCrew3] == 255)
  34206. {
  34207. SendClientMessageEx(playerid, COLOR_GREY, "You didn't create any crew");
  34208. return 1;
  34209. }
  34210. if(PlayerInfo[giveplayerid][pGang] != family)
  34211. {
  34212. SendClientMessageEx(playerid, COLOR_GREY, "That player isn't in your family.");
  34213. return 1;
  34214. }
  34215. new family1 = 255;
  34216. new family2 = 255;
  34217. format(string, sizeof(string), "* You've invited %s to join a crew '%s'.",GetPlayerNameEx(giveplayerid), FamilyInfo[family][FamilyCrewname2]);
  34218. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string);
  34219. format(string, sizeof(string), "* %s has invited you to join '%s'. (type /accept crew)",GetPlayerNameEx(playerid), FamilyInfo[family][FamilyCrewname2]);
  34220. SendClientMessageEx(giveplayerid, COLOR_LIGHTBLUE, string);
  34221. InviteOffer[giveplayerid] = playerid;
  34222. InviteCrew[giveplayerid] = family1;
  34223. InviteCrew1[giveplayerid] = family;
  34224. InviteCrew2[giveplayerid] = family2;
  34225. }
  34226. else
  34227. {
  34228. SendClientMessage(playerid, COLOR_GRAD1 ," Invalid Player Especify!");
  34229. }
  34230. }
  34231. }
  34232. else if(strcmp(choice,"crew2",true) == 0)
  34233. {
  34234. if(IsPlayerConnected(giveplayerid))
  34235. {
  34236. if(giveplayerid != INVALID_PLAYER_ID)
  34237. {
  34238. if(PlayerInfo[playerid][pCrew1] == 255 && PlayerInfo[playerid][pCrew2] == 255 && PlayerInfo[playerid][pCrew3] == 255)
  34239. {
  34240. SendClientMessageEx(playerid, COLOR_GREY, "You didn't create any crew");
  34241. return 1;
  34242. }
  34243. if(PlayerInfo[giveplayerid][pGang] != family)
  34244. {
  34245. SendClientMessageEx(playerid, COLOR_GREY, "That player isn't in your family.");
  34246. return 1;
  34247. }
  34248. new family1 = 255;
  34249. new family2 = 255;
  34250. format(string, sizeof(string), "* You've invited %s to join a crew '%s'.",GetPlayerNameEx(giveplayerid), FamilyInfo[family][FamilyCrewname3]);
  34251. SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string);
  34252. format(string, sizeof(string), "* %s has invited you to join '%s'. (type /accept crew)",GetPlayerNameEx(playerid), FamilyInfo[family][FamilyCrewname3]);
  34253. SendClientMessageEx(giveplayerid, COLOR_LIGHTBLUE, string);
  34254. InviteOffer[giveplayerid] = playerid;
  34255. InviteCrew[giveplayerid] = family1;
  34256. InviteCrew1[giveplayerid] = family2;
  34257. InviteCrew2[giveplayerid] = family;
  34258. }
  34259. else
  34260. {
  34261. SendClientMessage(playerid, COLOR_GRAD1 ," Invalid Player Especify!");
  34262. }
  34263. }
  34264. }
  34265. }
  34266. else
  34267. {
  34268. SendClientMessageEx(playerid, COLOR_GREY, " You are not high rank enough to use this command!");
  34269. return 1;
  34270. }
  34271. return 1;
  34272. }
  34273. CMD:cr(playerid, params[])
  34274. {
  34275. new family = PlayerInfo[playerid][pGang], string[128];
  34276. if(PlayerInfo[playerid][pCrew1] != 255 || PlayerInfo[playerid][pCrew2] != 255 || PlayerInfo[playerid][pCrew3] != 255)
  34277. {
  34278. if(isnull(params))
  34279. {
  34280. SendClientMessageEx(playerid, COLOR_WHITE, "USAGE: /cr [crew chat]");
  34281. return 1;
  34282. }
  34283. if(GetPVarInt(playerid, "Injured") != 0||PlayerCuffed[playerid]!=0||GetPVarInt(playerid, "Hospital")!=0)
  34284. {
  34285. SendClientMessageEx (playerid, COLOR_GRAD2, "You cannot do this at this time.");
  34286. return 1;
  34287. }
  34288. if(PlayerInfo[playerid][pGang] < 255)
  34289. {
  34290. if(PlayerInfo[playerid][pCrew1] == family) { format(string, sizeof(string), "** cRadio %s (%s): %s **", GetPlayerNameEx(playerid), FamilyInfo[family][FamilyCrewname1], params); }
  34291. else if(PlayerInfo[playerid][pCrew2] == family) { format(string, sizeof(string), "** cRadio %s (%s): %s **", GetPlayerNameEx(playerid), FamilyInfo[family][FamilyCrewname2], params); }
  34292. else if(PlayerInfo[playerid][pCrew3] == family) { format(string, sizeof(string), "** cRadio %s (%s): %s **", GetPlayerNameEx(playerid), FamilyInfo[family][FamilyCrewname3], params); }
  34293. else { format(string, sizeof(string), "** Radio %s (%s): %s **", GetPlayerNameEx(playerid), FamilyInfo[family][FamilyCrewname1], params); }
  34294. CrewRadioBroadCast(PlayerInfo[playerid][pGang], COLOR_GREEN, string);
  34295. //SetPlayerChatBubble(playerid,string,COLOR_WHITE,20.0,5000);
  34296. }
  34297. }
  34298. else
  34299. {
  34300. SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the Crew!");
  34301. }
  34302. return 1;
  34303. }
  34304. CMD:kickcrew(playerid, params[])
  34305. {
  34306. if(PlayerInfo[playerid][pGang] == 255)
  34307. {
  34308. SendClientMessageEx(playerid, COLOR_GREY, "You aren't in a family.");
  34309. return 1;
  34310. }
  34311. new giveplayerid, string[128];
  34312. new family = PlayerInfo[playerid][pGang];
  34313. if(sscanf(params, "u", giveplayerid)) return SendClientMessageEx(playerid, COLOR_WHITE, "USAGE: /kickcrew [playerid] ");
  34314. {
  34315. if(PlayerInfo[playerid][pRank] >= 5)
  34316. {
  34317. if(IsPlayerConnected(giveplayerid))
  34318. {
  34319. if(giveplayerid != INVALID_PLAYER_ID)
  34320. {
  34321. if(PlayerInfo[giveplayerid][pCrew1] == 255 && PlayerInfo[giveplayerid][pCrew2] == 255 && PlayerInfo[giveplayerid][pCrew3] == 255)
  34322. {
  34323. SendClientMessageEx(playerid, COLOR_GREY, "That player didn't join in any crew");
  34324. return 1;
  34325. }
  34326. if(PlayerInfo[giveplayerid][pGang] != family)
  34327. {
  34328. SendClientMessageEx(playerid, COLOR_GREY, "That player isn't in your family.");
  34329. return 1;
  34330. }
  34331. if(PlayerInfo[playerid][pCrew1] == family)
  34332. {
  34333. if(PlayerInfo[giveplayerid][pCrew1] == family)
  34334. {
  34335. format(string, sizeof(string), "You have kicked %s from the Crew.", GetPlayerNameEx(giveplayerid));
  34336. SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
  34337. format(string, sizeof(string), "* You have been kicked from your crew by the Gang lord %s.", GetPlayerNameEx(playerid));
  34338. SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
  34339. PlayerInfo[giveplayerid][pCrew1] = 255;
  34340. }
  34341. else if(PlayerInfo[giveplayerid][pCrew2] == family || PlayerInfo[giveplayerid][pCrew3] == family)
  34342. {
  34343. SendClientMessage(playerid, COLOR_GRAD1,"That player is not in your crew");
  34344. }
  34345. }
  34346. else if(PlayerInfo[playerid][pCrew2] == family)
  34347. {
  34348. if(PlayerInfo[giveplayerid][pCrew2] == family)
  34349. {
  34350. format(string, sizeof(string), "You have kicked %s from your Crew.", GetPlayerNameEx(giveplayerid));
  34351. SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
  34352. format(string, sizeof(string), "* You have been kicked from your crew by Gang lord %s.", GetPlayerNameEx(playerid));
  34353. SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
  34354. PlayerInfo[giveplayerid][pCrew2] = 255;
  34355. }
  34356. else if(PlayerInfo[giveplayerid][pCrew1] == family || PlayerInfo[giveplayerid][pCrew3] == family)
  34357. {
  34358. SendClientMessage(playerid, COLOR_GRAD1,"That player is not in your crew");
  34359. }
  34360. }
  34361. else if(PlayerInfo[playerid][pCrew3] == family)
  34362. {
  34363. if(PlayerInfo[giveplayerid][pCrew3] == family)
  34364. {
  34365. format(string, sizeof(string), "You have kicked %s from the your Crew.", GetPlayerNameEx(giveplayerid));
  34366. SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
  34367. format(string, sizeof(string), "* You have been kicked from your crew by Gang lord %s.", GetPlayerNameEx(playerid));
  34368. SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
  34369. PlayerInfo[giveplayerid][pCrew3] = 255;
  34370. }
  34371. else if(PlayerInfo[giveplayerid][pCrew1] == family || PlayerInfo[giveplayerid][pCrew2] == family)
  34372. {
  34373. SendClientMessage(playerid, COLOR_GRAD1,"YThat player is not in your crew");
  34374. }
  34375. }
  34376. }
  34377. else
  34378. {
  34379. SendClientMessage(playerid, COLOR_GRAD1, "Invalid Playerid");
  34380. }
  34381. }
  34382. }
  34383. else
  34384. {
  34385. SendClientMessageEx(playerid, COLOR_GREY, " You are not high rank enough to use this command!");
  34386. return 1;
  34387. }
  34388. }
  34389. return 1;
  34390. }
  34391. CMD:switchcrew(playerid, params[])
  34392. {
  34393. if(PlayerInfo[playerid][pGang] == 255)
  34394. {
  34395. SendClientMessageEx(playerid, COLOR_GREY, "You aren't in a family.");
  34396. return 1;
  34397. }
  34398. new family = PlayerInfo[playerid][pGang];
  34399. if(PlayerInfo[playerid][pRank] == 6 || PlayerInfo[playerid][pGangMod] == 1)
  34400. {
  34401. new choice[32], string[182];
  34402. if(sscanf(params, "s[32]", choice))
  34403. {
  34404. SendClientMessageEx(playerid, COLOR_WHITE, "USAGE: /switchcrew [option]");
  34405. SendClientMessageEx(playerid, COLOR_WHITE, "Available Options: 1, 2, 3");
  34406. return 1;
  34407. }
  34408. if(strcmp(choice,"1",true) == 0)
  34409. {
  34410. PlayerInfo[playerid][pCrew1] = family;
  34411. PlayerInfo[playerid][pCrew2] = 255;
  34412. PlayerInfo[playerid][pCrew3] = 255;
  34413. format(string,sizeof(string), "You switch in the %s Crew 1",FamilyInfo[family][FamilyCrewname1]);
  34414. SendClientMessage(playerid, COLOR_WHITE,string);
  34415. }
  34416. else if(strcmp(choice,"2",true) == 0)
  34417. {
  34418. PlayerInfo[playerid][pCrew1] = 255;
  34419. PlayerInfo[playerid][pCrew2] = family;
  34420. PlayerInfo[playerid][pCrew3] = 255;
  34421. format(string,sizeof(string), "You switch in the %s Crew 2",FamilyInfo[family][FamilyCrewname2]);
  34422. SendClientMessage(playerid, COLOR_WHITE,string);
  34423. }
  34424. else if(strcmp(choice,"3",true) == 0)
  34425. {
  34426. PlayerInfo[playerid][pCrew1] = 255;
  34427. PlayerInfo[playerid][pCrew2] = 255;
  34428. PlayerInfo[playerid][pCrew3] = family;
  34429. format(string,sizeof(string), "You switch in the %s Crew 3",FamilyInfo[family][FamilyCrewname3]);
  34430. SendClientMessage(playerid, COLOR_WHITE,string);
  34431. }
  34432. }
  34433. else
  34434. {
  34435. SendClientMessage(playerid, COLOR_GRAD1, "You are not high rank to use this command!");
  34436. }
  34437. return 1;
  34438. }
  34439. CMD:fcreate(playerid, params[])
  34440. {
  34441. if(PlayerInfo[playerid][pAdmin] >= 1 && PlayerInfo[playerid][pGangMod] > 0 || PlayerInfo[playerid][pAdmin] >= 4) {
  34442. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  34443. return SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  34444. new string[128], family, giveplayerid;
  34445. if(sscanf(params, "du", family, giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /fcreate [FamilyNr] [playerid/partofname]");
  34446. if(family < 1 || family > 14) { SendClientMessage(playerid, COLOR_GREY, " Family Slot can't be below 1 or above 14!"); return 1; }
  34447. if(IsPlayerConnected(giveplayerid))
  34448. {
  34449. if(FamilyInfo[family-1][FamilyTaken] == 1)
  34450. {
  34451. SendClientMessage(playerid, COLOR_GREY, " That Family Slot is already taken!");
  34452. return 1;
  34453. }
  34454. format(string, sizeof(string), "* You've made %s the Leader of Family Slot %d.",GetPlayerNameEx(giveplayerid),family);
  34455. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  34456. format(string, sizeof(string), "* Admin %s has made you a Family Leader.", GetPlayerNameEx(playerid));
  34457. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  34458. new sendername[MAX_PLAYER_NAME];
  34459. GetPlayerName(giveplayerid, sendername, sizeof(sendername));
  34460. format(string, sizeof(string), "%s",sendername);
  34461. strmid(FamilyInfo[family-1][FamilyLeader], string, 0, strlen(string), 24);
  34462. FamilyInfo[family-1][FamilyMembers] ++;
  34463. FamilyInfo[family-1][FamilyTaken] = 1;
  34464. PlayerInfo[giveplayerid][pGang] = family-1;
  34465. PlayerInfo[giveplayerid][pRank] = 6;
  34466. SaveFamilies();
  34467. }
  34468. else
  34469. {
  34470. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  34471. return 1;
  34472. }
  34473. }
  34474. return 1;
  34475. }
  34476. CMD:fdelete(playerid, params[])
  34477. {
  34478. if(PlayerInfo[playerid][pAdmin] >= 1 && PlayerInfo[playerid][pGangMod] > 0 || PlayerInfo[playerid][pAdmin] >= 4)
  34479. {
  34480. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  34481. return SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  34482. new family;
  34483. if(sscanf(params, "d", family))
  34484. return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /fdelete [familyid]");
  34485. if(family < 1 || family > 14) { SendClientMessage(playerid, COLOR_GREY, " Family Slot can't be below 1 or above 14!"); return 1; }
  34486. if(FamilyInfo[family-1][FamilyTaken] != 1)
  34487. {
  34488. SendClientMessage(playerid, COLOR_GREY, " That Family Slot isn't taken!");
  34489. return 1;
  34490. }
  34491. ClearFamily(family-1);
  34492. SaveFamilies();
  34493. }
  34494. return 1;
  34495. }
  34496. CMD:pedit(playerid, params[])
  34497. {
  34498. if(PlayerInfo[playerid][pAdmin] < 5)
  34499. {
  34500. SendClientMessage(playerid, COLOR_GRAD2, "You're not authorized to use this command!!");
  34501. return 1;
  34502. }
  34503. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  34504. {
  34505. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  34506. return 1;
  34507. }
  34508. new string[128], hours;
  34509. if(sscanf(params, "d", hours))
  34510. {
  34511. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /pedit [hours]");
  34512. SendClientMessage(playerid, COLOR_GREY, "HINT: Stand close to a point to set the hours.");
  34513. return 1;
  34514. }
  34515. for(new h = 0; h < sizeof(Points); h++)
  34516. {
  34517. if(IsPlayerInRangeOfPoint(playerid, 3.0, Points[h][Pointx], Points[h][Pointy], Points[h][Pointz]))
  34518. {
  34519. if(hours < 1|| hours > 24)
  34520. {
  34521. SendClientMessage(playerid, COLOR_GREY, "You can't set the point time lower than 1 or higher than 24!");
  34522. }
  34523. else if(hours >= 1|| hours <= 24)
  34524. {
  34525. format(string, sizeof(string), "You have set this point's time to %d hours!", hours);
  34526. Points[h][Vulnerable] = hours;
  34527. SendClientMessage(playerid, COLOR_WHITE, string);
  34528. UpdatePoints();
  34529. }
  34530. }
  34531. }
  34532. return 1;
  34533. }
  34534. CMD:disablepoint(playerid, params[])
  34535. { // TEMPORARY COMMAND - REMOVE LATER
  34536. if(PlayerInfo[playerid][pAdmin] < 5)
  34537. {
  34538. SendClientMessage(playerid, COLOR_GRAD2, "You're not authorized to use this command!!");
  34539. return 1;
  34540. }
  34541. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  34542. {
  34543. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  34544. return 1;
  34545. }
  34546. for(new h = 0; h < sizeof(Points); h++)
  34547. {
  34548. if(IsPlayerInRangeOfPoint(playerid, 3.0, Points[h][Pointx], Points[h][Pointy], Points[h][Pointz]))
  34549. {
  34550. strmid(Points[h][Owner], "Nobody", 0, 32, 32);
  34551. strmid(Points[h][CapperName], "Nobody", 0, 32, 32);
  34552. Points[h][Vulnerable] = -1;
  34553. SendClientMessage(playerid, COLOR_WHITE, "You have disabled this point.");
  34554. UpdatePoints();
  34555. }
  34556. }
  34557. return 1;
  34558. }
  34559. CMD:pointfix(playerid, params[])
  34560. {
  34561. if(PlayerInfo[playerid][pAdmin] < 4)
  34562. {
  34563. SendClientMessage(playerid, COLOR_GRAD2, "You're not authorized to use this command!!");
  34564. return 1;
  34565. }
  34566. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  34567. {
  34568. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  34569. return 1;
  34570. }
  34571. for(new h = 0; h < sizeof(Points); h++)
  34572. {
  34573. if(IsPlayerInRangeOfPoint(playerid, 3.0, Points[h][Pointx], Points[h][Pointy], Points[h][Pointz]))
  34574. {
  34575. Points[h][TimeToClaim] = 0;
  34576. SendClientMessage(playerid, COLOR_WHITE, "You have fixed the point, players can now attempt to capture the point!");
  34577. UpdatePoints();
  34578. return 1;
  34579. }
  34580. }
  34581. SendClientMessage(playerid, COLOR_GREY, "Error: You need to stand close to the capture point to fix it.");
  34582. return 1;
  34583. }
  34584. CMD:creategvehicle(playerid, params[]) {
  34585. if(PlayerInfo[playerid][pAdmin] >= 1 && PlayerInfo[playerid][pGangMod] > 0 || PlayerInfo[playerid][pAdmin] >= 4) {
  34586. new
  34587. string[128],
  34588. family,
  34589. modelid,
  34590. color1,
  34591. color2;
  34592. if(sscanf(params, "dddd", family, modelid, color1, color2))
  34593. return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /creategvehicle [familyid] [modelid] [color 1] [color 2]");
  34594. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  34595. return SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  34596. if(family < 1 || family > MAX_FAMILY) { SendClientMessage(playerid, COLOR_GREY, " FamilyNr can't be below 1 or above 14!"); return 1; }
  34597. family -= 1;
  34598. if(FamilyInfo[family][FamilyTaken] != 1)
  34599. {
  34600. SendClientMessage(playerid, COLOR_GREY, " That FamilyNr hasn't been Taken yet!");
  34601. return 1;
  34602. }
  34603. if(color1 < 0 || color1 > 255) { SendClientMessage(playerid, COLOR_GREY, " Color Number can't be below 0 or above 255!"); return 1; }
  34604. if(color2 < 0 || color2 > 255) { SendClientMessage(playerid, COLOR_GREY, " Color Number can't be below 0 or above 255!"); return 1; }
  34605. if(modelid < 400 || modelid > 611) { SendClientMessage(playerid, COLOR_GREY, " Vehicle Number can't be below 400 or above 611!"); return 1; }
  34606. new gangvehicleid = GetGangFreeVehicleId(family);
  34607. if(gangvehicleid == -1) return SendClientMessage(playerid, COLOR_GREY, "ERROR: That family can't have more cars.");
  34608. new Float:X,Float:Y,Float:Z;
  34609. GetPlayerPos(playerid,X,Y,Z);
  34610. new Float:Angle;
  34611. GetPlayerFacingAngle(playerid,Angle);
  34612. new car = CreateGangVehicle(family, gangvehicleid, modelid, X, Y, Z, Angle, color1, color2, 0);
  34613. if(car == INVALID_VEHICLE_ID) {
  34614. SendClientMessage(playerid, COLOR_GREY, "ERROR: Something went wrong and the car didn't got created.");
  34615. }
  34616. else
  34617. {
  34618. format(string, sizeof(string), " Vehicle successfully created with ID %d.", car);
  34619. SendClientMessage(playerid, COLOR_GRAD1, string);
  34620. SaveFamiliesHQ();
  34621. }
  34622. }
  34623. return 1;
  34624. }
  34625. CMD:destroygvehicle(playerid, params[]) {
  34626. if(PlayerInfo[playerid][pAdmin] >= 1 && PlayerInfo[playerid][pGangMod] > 0 || PlayerInfo[playerid][pAdmin] >= 4) {
  34627. new
  34628. family,
  34629. vehicleid;
  34630. if(sscanf(params, "dd", family, vehicleid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /destroygvehicle [familyid] [vehicleid]");
  34631. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  34632. {
  34633. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  34634. return 1;
  34635. }
  34636. if(family < 1 || family > MAX_FAMILY) { SendClientMessage(playerid, COLOR_GREY, " FamilyNr can't be below 1 or above 14!"); return 1; }
  34637. family -= 1;
  34638. new gangvehicleid = GetGangVehicle(family, vehicleid);
  34639. if(gangvehicleid == -1) return SendClientMessage(playerid, COLOR_GREY, "ERROR: That family doesn't own that vehicle.");
  34640. DestroyGangVehicle(family, gangvehicleid);
  34641. SaveFamiliesHQ();
  34642. }
  34643. return 1;
  34644. }
  34645. #if defined TREASURE_HUNT_ENABLED
  34646. CMD:gotohuntpos(playerid, params[]) {
  34647. if(PlayerInfo[playerid][pAdmin] >= 4) {
  34648. SetPlayerPos(playerid, fTreasureHuntLS[iHuntLocation][0], fTreasureHuntLS[iHuntLocation][1], fTreasureHuntLS[iHuntLocation][2]);
  34649. SendClientMessage(playerid, COLOR_WHITE, "You have teleported to the treasure hunt location.");
  34650. }
  34651. return 1;
  34652. }
  34653. CMD:resethuntpos(playerid, params[]) {
  34654. if(PlayerInfo[playerid][pAdmin] >= 4) {
  34655. SetRandomHuntPos();
  34656. SendClientMessage(playerid, COLOR_WHITE, "You have reset the treasure hunt location.");
  34657. }
  34658. return 1;
  34659. }
  34660. #endif
  34661. CMD:gtrackcar(playerid, params[])
  34662. {
  34663. if(PlayerInfo[playerid][pGang] == 255) return SendClientMessage(playerid, COLOR_GRAD1, "You need to be in a family for this command.");
  34664. new vstring[1024];
  34665. for(new i = 0; i < MAX_GANG_VEHICLES; i++)
  34666. {
  34667. if(FamilyVehicleInfo[PlayerInfo[playerid][pGang]][i][fvId] != INVALID_VEHICLE_ID)
  34668. {
  34669. if(PlayerInfo[playerid][pAdmin] >= 2)
  34670. {
  34671. format(vstring, sizeof(vstring), "%s\n%s (ID: %d)", vstring, VehicleName[FamilyVehicleInfo[PlayerInfo[playerid][pGang]][i][fvModelId] - 400], FamilyVehicleInfo[PlayerInfo[playerid][pGang]][i][fvId]);
  34672. }
  34673. else
  34674. {
  34675. format(vstring, sizeof(vstring), "%s\n%s", vstring, VehicleName[FamilyVehicleInfo[PlayerInfo[playerid][pGang]][i][fvModelId] - 400]);
  34676. }
  34677. }
  34678. else if(FamilyVehicleInfo[PlayerInfo[playerid][pGang]][i][fvImpounded] == 1) {
  34679. format(vstring, sizeof(vstring), "%s\n%s (impounded)", vstring, VehicleName[FamilyVehicleInfo[PlayerInfo[playerid][pGang]][i][fvModelId] - 400]);
  34680. }
  34681. else
  34682. {
  34683. format(vstring, sizeof(vstring), "%s\nEmpty", vstring);
  34684. }
  34685. }
  34686. return ShowPlayerDialogEx(playerid, GTRACKCAR, DIALOG_STYLE_LIST, "Vehicle GPS Tracking", vstring, "Track", "Cancel");
  34687. }
  34688. CMD:togfamily(playerid, params[])
  34689. {
  34690. return cmd_togfam(playerid, params);
  34691. }
  34692. CMD:tognews(playerid, params[])
  34693. {
  34694. if(!gNews[playerid])
  34695. {
  34696. gNews[playerid] = 1;
  34697. SendClientMessage(playerid, COLOR_GRAD2, "You have disabled news chat.");
  34698. }
  34699. else
  34700. {
  34701. gNews[playerid] = 0;
  34702. SendClientMessage(playerid, COLOR_GRAD2, "You have enabled news chat.");
  34703. }
  34704. return 1;
  34705. }
  34706. CMD:tognewbie(playerid, params[])
  34707. {
  34708. if(!gNewbie[playerid])
  34709. {
  34710. gNewbie[playerid] = 1;
  34711. SendClientMessage(playerid, COLOR_GRAD2, "You have disabled newbie chat.");
  34712. }
  34713. else
  34714. {
  34715. gNewbie[playerid] = 0;
  34716. SendClientMessage(playerid, COLOR_GRAD2, "You have enabled newbie chat.");
  34717. }
  34718. return 1;
  34719. }
  34720. CMD:togfam(playerid, params[])
  34721. {
  34722. if(!gFam[playerid])
  34723. {
  34724. gFam[playerid] = 1;
  34725. SendClientMessage(playerid, COLOR_GRAD2, "You have disabled family chat.");
  34726. }
  34727. else
  34728. {
  34729. gFam[playerid] = 0;
  34730. SendClientMessage(playerid, COLOR_GRAD2, "You have enabled family chat.");
  34731. }
  34732. return 1;
  34733. }
  34734. CMD:f(playerid, params[]) {
  34735. if(gFam[playerid] == 1)
  34736. return SendClientMessage(playerid, TEAM_CYAN_COLOR, "You have your family chat disabled; /togfamily!");
  34737. new string[128];
  34738. if(isnull(params))
  34739. return SendClientMessage(playerid, COLOR_GREY, "USAGE: (/f)amily [family chat]");
  34740. if(PlayerCuffed[playerid] > 0 || GetPVarInt(playerid, "Injured") == 1)
  34741. return SendClientMessage(playerid, COLOR_GREY, "You can't talk over /f while you're cuffed, hospitalized or tazed.");
  34742. if((PlayerInfo[playerid][pFaction] == 4) || PlayerInfo[playerid][pGang] < 255) {
  34743. new member = PlayerInfo[playerid][pFaction];
  34744. new fam = PlayerInfo[playerid][pGang];
  34745. if(member==4) {
  34746. if(PlayerInfo[playerid][pRank] == 6) { format(string, sizeof(string), "** (6) Director %s: %s **", GetPlayerNameEx(playerid), params); }
  34747. else if(PlayerInfo[playerid][pRank] == 5) { format(string, sizeof(string), "** (5) Vice Director %s: %s **", GetPlayerNameEx(playerid), params); }
  34748. else if(PlayerInfo[playerid][pRank] == 4) { format(string, sizeof(string), "** (4) Special Agent %s: %s **", GetPlayerNameEx(playerid), params); }
  34749. else if(PlayerInfo[playerid][pRank] == 3) { format(string, sizeof(string), "** (3) Agent %s: %s **", GetPlayerNameEx(playerid), params); }
  34750. else if(PlayerInfo[playerid][pRank] == 2) { format(string, sizeof(string), "** (2) Marksman %s: %s **", GetPlayerNameEx(playerid), params); }
  34751. else if(PlayerInfo[playerid][pRank] == 1) { format(string, sizeof(string), "** (1) Freelancer %s: %s **", GetPlayerNameEx(playerid), params); }
  34752. else { format(string, sizeof(string), "** (1) Freelancer %s: %s **", GetPlayerNameEx(playerid), params); }
  34753. SendFamilyMessage(PlayerInfo[playerid][pFaction], TEAM_AZTECAS_COLOR, string);
  34754. }
  34755. else if(PlayerInfo[playerid][pGang] < 255) {
  34756. if(PlayerInfo[playerid][pRank] == 6) { format(string, sizeof(string), "** (6) %s %s (%s): %s **", FamilyInfo[fam][FamilyRank6], GetPlayerNameEx(playerid), params); }
  34757. else if(PlayerInfo[playerid][pRank] == 5) { format(string, sizeof(string), "** (5) %s %s (%s): %s **", FamilyInfo[fam][FamilyRank5], GetPlayerNameEx(playerid), params); }
  34758. else if(PlayerInfo[playerid][pRank] == 4) { format(string, sizeof(string), "** (4) %s %s (%s): %s **", FamilyInfo[fam][FamilyRank4], GetPlayerNameEx(playerid), params); }
  34759. else if(PlayerInfo[playerid][pRank] == 3) { format(string, sizeof(string), "** (3) %s %s (%s): %s **", FamilyInfo[fam][FamilyRank3], GetPlayerNameEx(playerid), params); }
  34760. else if(PlayerInfo[playerid][pRank] == 2) { format(string, sizeof(string), "** (2) %s %s (%s): %s **", FamilyInfo[fam][FamilyRank2], GetPlayerNameEx(playerid), params); }
  34761. else if(PlayerInfo[playerid][pRank] == 1) { format(string, sizeof(string), "** (1) %s %s (%s): %s **", FamilyInfo[fam][FamilyRank1], GetPlayerNameEx(playerid), params); }
  34762. else { format(string, sizeof(string), "** (0) %s %s (%s): %s **", FamilyInfo[fam][FamilyRank1], GetPlayerNameEx(playerid), params); }
  34763. SendNewFamilyMessage(PlayerInfo[playerid][pGang], TEAM_AZTECAS_COLOR, string);
  34764. }
  34765. return 1;
  34766. }
  34767. else SendClientMessage(playerid, COLOR_GRAD2, "You're not a part of a Family!");
  34768. return 1;
  34769. }
  34770. CMD:quitfaction(playerid, params[])
  34771. {
  34772. if(PlayerInfo[playerid][pFaction] >= 1 || PlayerInfo[playerid][pLeader] >= 1)
  34773. {
  34774. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* You have quit your faction, you're now a civilian again.");
  34775. new string[128];
  34776. format(string, sizeof(string), "%s has quit the %s as a rank %i", GetPlayerNameEx(playerid), factionName(PlayerInfo[playerid][pFaction]), PlayerInfo[playerid][pRank]);
  34777. Log("logs/faction.log", string);
  34778. PlayerInfo[playerid][pFaction] = 0;
  34779. PlayerInfo[playerid][pRank] = 0;
  34780. PlayerInfo[playerid][pDuty] = 0;
  34781. PlayerInfo[playerid][pLeader] = 0;
  34782. PlayerInfo[playerid][pDivision] = 0;
  34783. if(!IsValidSkin(GetPlayerSkin(playerid)))
  34784. {
  34785. new rand = random(sizeof(CIV));
  34786. SetPlayerSkin(playerid,CIV[rand]);
  34787. PlayerInfo[playerid][pSkin] = CIV[rand];
  34788. }
  34789. SetPlayerToTeamColor(playerid);
  34790. player_remove_vip_toys(playerid);
  34791. pTazer[playerid] = 0;
  34792. }
  34793. else
  34794. {
  34795. SendClientMessage(playerid, COLOR_GRAD1, "You're not in a faction.");
  34796. }
  34797. return 1;
  34798. }
  34799. CMD:quitfamily(playerid, params[]) {
  34800. return cmd_quitgang(playerid, params);
  34801. }
  34802. CMD:quitgang(playerid, params[])
  34803. {
  34804. if(PlayerInfo[playerid][pGang] != 255)
  34805. {
  34806. for (new x = 0; x < MAX_POINTS; x++)
  34807. {
  34808. if(Points[x][ClaimerId] == playerid)
  34809. {
  34810. SendClientMessage(playerid, COLOR_GRAD1, "You can't leave a family while you're capturing a point.");
  34811. return 1;
  34812. }
  34813. }
  34814. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You have quit the family, you're now a civilian again.");
  34815. new string[128];
  34816. format(string, sizeof(string), "%s has quit family %d as rank %i", GetPlayerNameEx(playerid), PlayerInfo[playerid][pGang]+1, PlayerInfo[playerid][pRank]);
  34817. Log("logs/family.log", string);
  34818. PlayerInfo[playerid][pGang] = 255;
  34819. PlayerInfo[playerid][pRank] = 0;
  34820. if(!IsValidSkin(GetPlayerSkin(playerid)))
  34821. {
  34822. new rand = random(sizeof(CIV));
  34823. SetPlayerSkin(playerid,CIV[rand]);
  34824. PlayerInfo[playerid][pSkin] = CIV[rand];
  34825. }
  34826. }
  34827. else
  34828. {
  34829. SendClientMessage(playerid, COLOR_GRAD1, "You're not in a family.");
  34830. }
  34831. return 1;
  34832. }
  34833. CMD:safehelp(playerid, params[])
  34834. {
  34835. SendClientMessage(playerid, COLOR_GREEN, "_______________________________________________");
  34836. SendClientMessage(playerid, COLOR_WHITE, "SAFE HELP: Type a command for more information.");
  34837. SendClientMessage(playerid, COLOR_WHITE, "SAFE: /safebalance /safedeposit /safewithdraw /fstoregun /fgetgun.");
  34838. return 1;
  34839. }
  34840. CMD:safebalance(playerid, params[]) {
  34841. if(PlayerInfo[playerid][pGang] < 255) {
  34842. if(FamilyInfo[PlayerInfo[playerid][pGang]][FamilyUSafe] < 1) {
  34843. SendClientMessage(playerid, COLOR_GRAD1, "Your family doesn't have a safe.");
  34844. }
  34845. else
  34846. {
  34847. new string[128];
  34848. new weaponsinlocker;
  34849. for(new s = 0; s < 10; s++)
  34850. {
  34851. if(FamilyInfo[PlayerInfo[playerid][pGang]][FamilyGuns][s] != 0)
  34852. {
  34853. weaponsinlocker++;
  34854. }
  34855. }
  34856. format(string, sizeof(string), " Safe: %s | Gunlockers: %d/10 | Cash: $%d | Pot: %d | Crack: %d | Materials: %d", FamilyInfo[PlayerInfo[playerid][pGang]][FamilyName], weaponsinlocker, FamilyInfo[PlayerInfo[playerid][pGang]][FamilyCash], FamilyInfo[PlayerInfo[playerid][pGang]][FamilyPot], FamilyInfo[PlayerInfo[playerid][pGang]][FamilyCrack], FamilyInfo[PlayerInfo[playerid][pGang]][FamilyMats]);
  34857. SendClientMessage(playerid, COLOR_WHITE, string);
  34858. }
  34859. }
  34860. else SendClientMessage(playerid, COLOR_GRAD1, "You're not in a family.");
  34861. return 1;
  34862. }
  34863. CMD:setgangcolor(playerid, params[])
  34864. {
  34865. if(PlayerInfo[playerid][pAdmin] >= 5)
  34866. {
  34867. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  34868. {
  34869. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  34870. return 1;
  34871. }
  34872. new string[128], family, color;
  34873. if(sscanf(params, "ix", family, color))
  34874. {
  34875. SendClientMessageEx(playerid, COLOR_GRAD1, "USAGE: /setgangcolor [familyid] [hex color]");
  34876. return 1;
  34877. }
  34878. if(family < 1 || family > 10) return SendClientMessage(playerid, COLOR_WHITE, "Invalid Gang ID.");
  34879. family -= 1;
  34880. if(FamilyInfo[family][FamilyTaken] == 0)
  34881. {
  34882. SendClientMessage(playerid, COLOR_GREY, " That gang isn't being used.");
  34883. return 1;
  34884. }
  34885. FamilyInfo[family][FamilyColor] = color;
  34886. format(string, sizeof(string), "AdmCmd: %s has set gang ID %d's bandana to '%x'.", GetPlayerNameEx(playerid), family-1, color);
  34887. ABroadCast(COLOR_LIGHTRED, string, 1);
  34888. SaveFamilies();
  34889. }
  34890. return 1;
  34891. }
  34892. CMD:gangs(playerid, params[]) return cmd_families(playerid, params);
  34893. CMD:families(playerid, params[])
  34894. {
  34895. new string[128], familyid;
  34896. if(sscanf(params, "d", familyid))
  34897. {
  34898. new number = 0;
  34899. for(new i = 0; i < MAX_FAMILY; i++)
  34900. {
  34901. FamilyInfo[i][FamilyOnline] = 0;
  34902. }
  34903. foreach(Player, i)
  34904. {
  34905. if(PlayerInfo[i][pGang] != 255)
  34906. {
  34907. FamilyInfo[PlayerInfo[i][pGang]][FamilyOnline] ++;
  34908. }
  34909. }
  34910. SendClientMessage(playerid, COLOR_YELLOW, "Gangs:");
  34911. for(new i = 0; i < sizeof(FamilyInfo); i++)
  34912. {
  34913. number ++;
  34914. if(FamilyInfo[i][FamilyColor] != 0)
  34915. {
  34916. format(string, sizeof(string), "%d. Name: {%06x}%s {FFFFFF}| Leader: %s | Members: %d | Online: %d",number,FamilyInfo[i][FamilyColor] >>> 8, FamilyInfo[i][FamilyName],FamilyInfo[i][FamilyLeader],FamilyInfo[i][FamilyMembers], FamilyInfo[i][FamilyOnline]);
  34917. }
  34918. else
  34919. {
  34920. format(string, sizeof(string), "%d. Name: %s | Leader: %s | Members: %d | Online: %d",number, FamilyInfo[i][FamilyName],FamilyInfo[i][FamilyLeader],FamilyInfo[i][FamilyMembers], FamilyInfo[i][FamilyOnline]);
  34921. }
  34922. SendClientMessage(playerid, COLOR_WHITE, string);
  34923. }
  34924. return 1;
  34925. }
  34926. if(familyid < 1 || familyid > MAX_FAMILY) { SendClientMessage(playerid, COLOR_GREY, "Family slot must be between 1 and 10."); return 1; }
  34927. familyid -= 1;
  34928. if(FamilyInfo[familyid][FamilyTaken] != 1)
  34929. {
  34930. SendClientMessage(playerid, COLOR_GREY, "That family slot is empty.");
  34931. return 1;
  34932. }
  34933. if(FamilyInfo[familyid][FamilyOnline] == 0)
  34934. {
  34935. SendClientMessage(playerid, COLOR_GREY, "That family has no members online.");
  34936. return 1;
  34937. }
  34938. foreach(Player, i)
  34939. {
  34940. if(PlayerInfo[i][pGang] == familyid && (AdminDuty[i] != 1))
  34941. {
  34942. if(PlayerInfo[i][pRank] == 1)
  34943. {
  34944. if(PlayerInfo[i][pCrew1] == familyid)
  34945. {
  34946. format(string, sizeof(string), "* %s: %s | Rank: %s (1) | Crew: %s.",FamilyInfo[familyid][FamilyName],GetPlayerNameEx(i),FamilyInfo[familyid][FamilyRank1], FamilyInfo[familyid][FamilyCrewname1]);
  34947. }
  34948. else if(PlayerInfo[i][pCrew2] == familyid)
  34949. {
  34950. format(string, sizeof(string), "* %s: %s | Rank: %s (1) | Crew: %s.",FamilyInfo[familyid][FamilyName],GetPlayerNameEx(i),FamilyInfo[familyid][FamilyRank1], FamilyInfo[familyid][FamilyCrewname2]);
  34951. }
  34952. else if(PlayerInfo[i][pCrew3] == familyid)
  34953. {
  34954. format(string, sizeof(string), "* %s: %s | Rank: %s (1) | Crew: %s.",FamilyInfo[familyid][FamilyName],GetPlayerNameEx(i),FamilyInfo[familyid][FamilyRank1], FamilyInfo[familyid][FamilyCrewname3]);
  34955. }
  34956. else
  34957. {
  34958. format(string, sizeof(string), "* %s: %s | Rank: %s (1) | Crew: None.",FamilyInfo[familyid][FamilyName],GetPlayerNameEx(i),FamilyInfo[familyid][FamilyRank1]);
  34959. }
  34960. }
  34961. else if(PlayerInfo[i][pRank] == 2)
  34962. {
  34963. if(PlayerInfo[i][pCrew1] == familyid)
  34964. {
  34965. format(string, sizeof(string), "* %s: %s | Rank: %s (2) | Crew: %s.",FamilyInfo[familyid][FamilyName],GetPlayerNameEx(i),FamilyInfo[familyid][FamilyRank1], FamilyInfo[familyid][FamilyCrewname1]);
  34966. }
  34967. else if(PlayerInfo[i][pCrew2] == familyid)
  34968. {
  34969. format(string, sizeof(string), "* %s: %s | Rank: %s (2) | Crew: %s.",FamilyInfo[familyid][FamilyName],GetPlayerNameEx(i),FamilyInfo[familyid][FamilyRank1], FamilyInfo[familyid][FamilyCrewname2]);
  34970. }
  34971. else if(PlayerInfo[i][pCrew3] == familyid)
  34972. {
  34973. format(string, sizeof(string), "* %s: %s | Rank: %s (2) | Crew: %s.",FamilyInfo[familyid][FamilyName],GetPlayerNameEx(i),FamilyInfo[familyid][FamilyRank1], FamilyInfo[familyid][FamilyCrewname3]);
  34974. }
  34975. else
  34976. {
  34977. format(string, sizeof(string), "* %s: %s | Rank: %s (2) | Crew: None",FamilyInfo[familyid][FamilyName],GetPlayerNameEx(i),FamilyInfo[familyid][FamilyRank2]);
  34978. }
  34979. }
  34980. else if(PlayerInfo[i][pRank] == 3)
  34981. {
  34982. if(PlayerInfo[i][pCrew1] == familyid)
  34983. {
  34984. format(string, sizeof(string), "* %s: %s | Rank: %s (3) | Crew: %s.",FamilyInfo[familyid][FamilyName],GetPlayerNameEx(i),FamilyInfo[familyid][FamilyRank1], FamilyInfo[familyid][FamilyCrewname1]);
  34985. }
  34986. else if(PlayerInfo[i][pCrew2] == familyid)
  34987. {
  34988. format(string, sizeof(string), "* %s: %s | Rank: %s (3) | Crew: %s.",FamilyInfo[familyid][FamilyName],GetPlayerNameEx(i),FamilyInfo[familyid][FamilyRank1], FamilyInfo[familyid][FamilyCrewname2]);
  34989. }
  34990. else if(PlayerInfo[i][pCrew3] == familyid)
  34991. {
  34992. format(string, sizeof(string), "* %s: %s | Rank: %s (3) | Crew: %s.",FamilyInfo[familyid][FamilyName],GetPlayerNameEx(i),FamilyInfo[familyid][FamilyRank1], FamilyInfo[familyid][FamilyCrewname3]);
  34993. }
  34994. else
  34995. {
  34996. format(string, sizeof(string), "* %s: %s | Rank: %s (3) | Crew: None",FamilyInfo[familyid][FamilyName],GetPlayerNameEx(i),FamilyInfo[familyid][FamilyRank3]);
  34997. }
  34998. }
  34999. else if(PlayerInfo[i][pRank] == 4)
  35000. {
  35001. if(PlayerInfo[i][pCrew1] == familyid)
  35002. {
  35003. format(string, sizeof(string), "* %s: %s | Rank: %s (4) | Crew: %s.",FamilyInfo[familyid][FamilyName],GetPlayerNameEx(i),FamilyInfo[familyid][FamilyRank1], FamilyInfo[familyid][FamilyCrewname1]);
  35004. }
  35005. else if(PlayerInfo[i][pCrew2] == familyid)
  35006. {
  35007. format(string, sizeof(string), "* %s: %s | Rank: %s (4) | Crew: %s.",FamilyInfo[familyid][FamilyName],GetPlayerNameEx(i),FamilyInfo[familyid][FamilyRank1], FamilyInfo[familyid][FamilyCrewname2]);
  35008. }
  35009. else if(PlayerInfo[i][pCrew3] == familyid)
  35010. {
  35011. format(string, sizeof(string), "* %s: %s | Rank: %s (4) | Crew: %s.",FamilyInfo[familyid][FamilyName],GetPlayerNameEx(i),FamilyInfo[familyid][FamilyRank1], FamilyInfo[familyid][FamilyCrewname3]);
  35012. }
  35013. else
  35014. {
  35015. format(string, sizeof(string), "* %s: %s | Rank: %s (4) | Crew: None",FamilyInfo[familyid][FamilyName],GetPlayerNameEx(i),FamilyInfo[familyid][FamilyRank4]);
  35016. }
  35017. }
  35018. else if(PlayerInfo[i][pRank] == 5)
  35019. {
  35020. if(PlayerInfo[i][pCrew1] == familyid)
  35021. {
  35022. format(string, sizeof(string), "* %s: %s | Rank: %s (5) | Crew: %s.",FamilyInfo[familyid][FamilyName],GetPlayerNameEx(i),FamilyInfo[familyid][FamilyRank1], FamilyInfo[familyid][FamilyCrewname1]);
  35023. }
  35024. else if(PlayerInfo[i][pCrew2] == familyid)
  35025. {
  35026. format(string, sizeof(string), "* %s: %s | Rank: %s (5) | Crew: %s.",FamilyInfo[familyid][FamilyName],GetPlayerNameEx(i),FamilyInfo[familyid][FamilyRank1], FamilyInfo[familyid][FamilyCrewname2]);
  35027. }
  35028. else if(PlayerInfo[i][pCrew3] == familyid)
  35029. {
  35030. format(string, sizeof(string), "* %s: %s | Rank: %s (5) | Crew: %s.",FamilyInfo[familyid][FamilyName],GetPlayerNameEx(i),FamilyInfo[familyid][FamilyRank1], FamilyInfo[familyid][FamilyCrewname3]);
  35031. }
  35032. else
  35033. {
  35034. format(string, sizeof(string), "* %s: %s | Rank: %s (5) | Crew: None",FamilyInfo[familyid][FamilyName],GetPlayerNameEx(i),FamilyInfo[familyid][FamilyRank5]);
  35035. }
  35036. }
  35037. else if(PlayerInfo[i][pRank] == 6)
  35038. {
  35039. if(PlayerInfo[i][pCrew1] == familyid)
  35040. {
  35041. format(string, sizeof(string), "* %s: %s | Rank: %s (6) | Crew: %s.",FamilyInfo[familyid][FamilyName],GetPlayerNameEx(i),FamilyInfo[familyid][FamilyRank1], FamilyInfo[familyid][FamilyCrewname1]);
  35042. }
  35043. else if(PlayerInfo[i][pCrew2] == familyid)
  35044. {
  35045. format(string, sizeof(string), "* %s: %s | Rank: %s (6) | Crew: %s.",FamilyInfo[familyid][FamilyName],GetPlayerNameEx(i),FamilyInfo[familyid][FamilyRank1], FamilyInfo[familyid][FamilyCrewname2]);
  35046. }
  35047. else if(PlayerInfo[i][pCrew3] == familyid)
  35048. {
  35049. format(string, sizeof(string), "* %s: %s | Rank: %s (6) | Crew: %s.",FamilyInfo[familyid][FamilyName],GetPlayerNameEx(i),FamilyInfo[familyid][FamilyRank1], FamilyInfo[familyid][FamilyCrewname3]);
  35050. }
  35051. else
  35052. {
  35053. format(string, sizeof(string), "* %s: %s | Rank: %s (6) | Crew: None",FamilyInfo[familyid][FamilyName],GetPlayerNameEx(i),FamilyInfo[familyid][FamilyRank6]);
  35054. }
  35055. }
  35056. else
  35057. {
  35058. if(PlayerInfo[i][pCrew1] == familyid)
  35059. {
  35060. format(string, sizeof(string), "* %s: %s | Rank: %s | Crew: %s.",FamilyInfo[familyid][FamilyName],GetPlayerNameEx(i),FamilyInfo[familyid][FamilyRank1], FamilyInfo[familyid][FamilyCrewname1]);
  35061. }
  35062. else if(PlayerInfo[i][pCrew2] == familyid)
  35063. {
  35064. format(string, sizeof(string), "* %s: %s | Rank: %s | Crew: %s.",FamilyInfo[familyid][FamilyName],GetPlayerNameEx(i),FamilyInfo[familyid][FamilyRank1], FamilyInfo[familyid][FamilyCrewname2]);
  35065. }
  35066. else if(PlayerInfo[i][pCrew3] == familyid)
  35067. {
  35068. format(string, sizeof(string), "* %s: %s | Rank: %s | Crew: %s.",FamilyInfo[familyid][FamilyName],GetPlayerNameEx(i),FamilyInfo[familyid][FamilyRank1], FamilyInfo[familyid][FamilyCrewname3]);
  35069. }
  35070. else
  35071. {
  35072. format(string, sizeof(string), "* %s: %s | Rank: %s | Crew: None",FamilyInfo[familyid][FamilyName],GetPlayerNameEx(i),FamilyInfo[familyid][FamilyRank1]);
  35073. }
  35074. }
  35075. SendClientMessageEx(playerid, COLOR_GREY, string);
  35076. }
  35077. }
  35078. return 1;
  35079. }
  35080. CMD:fbalance(playerid, params[])
  35081. {
  35082. if(!IsPlayerInRangeOfPoint(playerid, 15.0, 2308.7346, -11.0134, 26.7422))
  35083. {
  35084. SendClientMessage(playerid, COLOR_GREY, "You're not at the bank!");
  35085. return 1;
  35086. }
  35087. new family, string[128];
  35088. if(PlayerInfo[playerid][pGang] < 255)
  35089. {
  35090. family = PlayerInfo[playerid][pGang];
  35091. }
  35092. else
  35093. {
  35094. SendClientMessage(playerid, COLOR_GRAD1, "You're not in a family.");
  35095. return 1;
  35096. }
  35097. format(string, sizeof(string), "Your family has $%d in their account.", FamilyInfo[family][FamilyBank]);
  35098. SendClientMessage(playerid, COLOR_YELLOW, string);
  35099. return 1;
  35100. }
  35101. CMD:fdeposit(playerid, params[]) {
  35102. if(AdminDuty[playerid] == 1)
  35103. {
  35104. SendClientMessage(playerid,COLOR_WHITE, "You can't use this command while on-duty as admin.");
  35105. return 1;
  35106. }
  35107. if(!IsPlayerInRangeOfPoint(playerid, 15.0, 2308.7346, -11.0134, 26.7422))
  35108. {
  35109. SendClientMessage(playerid, COLOR_GREY, "You're not at the bank!");
  35110. return 1;
  35111. }
  35112. new family;
  35113. if(PlayerInfo[playerid][pGang] < 255)
  35114. {
  35115. family = PlayerInfo[playerid][pGang];
  35116. }
  35117. else
  35118. {
  35119. SendClientMessage(playerid, COLOR_GRAD1, "You're not in a family.");
  35120. return 1;
  35121. }
  35122. new string[128], amount;
  35123. if(sscanf(params, "d", amount))
  35124. {
  35125. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /fdeposit [amount]");
  35126. format(string, sizeof(string), "Your family has $%d in their account.", FamilyInfo[family][FamilyBank]);
  35127. SendClientMessage(playerid, COLOR_GRAD3, string);
  35128. return 1;
  35129. }
  35130. if(amount > GetPlayerCash(playerid) || amount < 1)
  35131. {
  35132. SendClientMessage(playerid, COLOR_GRAD2, "You don't have that much.");
  35133. return 1;
  35134. }
  35135. GivePlayerCash(playerid,-amount);
  35136. new curfunds = FamilyInfo[family][FamilyBank];
  35137. FamilyInfo[family][FamilyBank]=amount+FamilyInfo[family][FamilyBank];
  35138. SendClientMessage(playerid, COLOR_WHITE, "|___ FAMILY BANK STATEMENT ___|");
  35139. format(string, sizeof(string), " Old balance: $%d", curfunds);
  35140. SendClientMessage(playerid, COLOR_GRAD2, string);
  35141. format(string, sizeof(string), " Deposit: $%d",amount);
  35142. SendClientMessage(playerid, COLOR_GRAD4, string);
  35143. SendClientMessage(playerid, COLOR_GRAD6, "|-----------------------------------------|");
  35144. format(string, sizeof(string), " New balance: $%d", FamilyInfo[family][FamilyBank]);
  35145. SendClientMessage(playerid, COLOR_WHITE, string);
  35146. new ip[32];
  35147. GetPlayerIp(playerid, ip, sizeof(ip));
  35148. format(string,sizeof(string),"%s (IP: %s) has deposited $%d into family %d's bank account.",GetPlayerNameEx(playerid),ip,amount,PlayerInfo[playerid][pGang]+1);
  35149. Log("logs/family.log", string);
  35150. return 1;
  35151. }
  35152. CMD:fwithdraw(playerid, params[]) {
  35153. if(AdminDuty[playerid] == 1)
  35154. {
  35155. SendClientMessage(playerid,COLOR_WHITE, "You can't use this command while on-duty as admin.");
  35156. return 1;
  35157. }
  35158. if(!IsPlayerInRangeOfPoint(playerid, 15.0, 2308.7346, -11.0134, 26.7422))
  35159. {
  35160. SendClientMessage(playerid, COLOR_GREY, "You're not at the bank!");
  35161. return 1;
  35162. }
  35163. new family;
  35164. if(PlayerInfo[playerid][pGang] < 255)
  35165. {
  35166. family = PlayerInfo[playerid][pGang];
  35167. }
  35168. else
  35169. {
  35170. SendClientMessage(playerid, COLOR_GRAD1, "You're not in a family.");
  35171. return 1;
  35172. }
  35173. if(PlayerInfo[playerid][pRank] < 5)
  35174. {
  35175. SendClientMessage(playerid, COLOR_GRAD1, "Only ranks five and six may use the family bank.");
  35176. return 1;
  35177. }
  35178. new string[128], amount;
  35179. if(sscanf(params, "d", amount))
  35180. {
  35181. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /fwithdraw [amount]");
  35182. format(string, sizeof(string), "Your family has $%d in their account.", FamilyInfo[family][FamilyBank]);
  35183. SendClientMessage(playerid, COLOR_GRAD3, string);
  35184. return 1;
  35185. }
  35186. if(amount > FamilyInfo[family][FamilyBank] || amount < 1)
  35187. {
  35188. SendClientMessage(playerid, COLOR_GRAD2, "Your family doesn't have that much.");
  35189. return 1;
  35190. }
  35191. GivePlayerCash(playerid,amount);
  35192. FamilyInfo[family][FamilyBank]=FamilyInfo[family][FamilyBank]-amount;
  35193. format(string, sizeof(string), " You have withdrawn $%d from your family account. Total: $%d", amount,FamilyInfo[family][FamilyBank]);
  35194. SendClientMessage(playerid, COLOR_YELLOW, string);
  35195. new ip[32];
  35196. GetPlayerIp(playerid, ip, sizeof(ip));
  35197. format(string,sizeof(string),"%s (IP: %s) has withdrawn $%d from family %d's bank account.",GetPlayerNameEx(playerid),ip,amount,PlayerInfo[playerid][pGang]+1);
  35198. Log("logs/family.log", string);
  35199. return 1;
  35200. }
  35201. CMD:fstoregun(playerid, params[]) {
  35202. if(AdminDuty[playerid] == 1)
  35203. {
  35204. SendClientMessage(playerid,COLOR_WHITE, "You can't use this command while on-duty as admin.");
  35205. return 1;
  35206. }
  35207. if(GetPVarInt(playerid, "PBM") > 0)
  35208. {
  35209. SendClientMessage(playerid, COLOR_WHITE, "You're not able to do this while in a paintball game.");
  35210. return 1;
  35211. }
  35212. if(GetPVarInt(playerid, "EventToken") != 0)
  35213. {
  35214. SendClientMessage(playerid, COLOR_GREY, "You can't use this while you're in an event.");
  35215. return 1;
  35216. }
  35217. /*if(PlayerInfo[playerid][pDonator] > 2)
  35218. {
  35219. SendClientMessage(playerid, COLOR_GRAD1, "You can't give away weapons if you're Gold+ VIP!");
  35220. return 1;
  35221. }*/
  35222. if(IsPlayerInAnyVehicle(playerid))
  35223. {
  35224. SendClientMessage (playerid, COLOR_GRAD2, "You can't store weapons from a vehicle!");
  35225. return 1;
  35226. }
  35227. new Float:health;
  35228. GetPlayerHealth(playerid, health);
  35229. if(health < 80)
  35230. {
  35231. SendClientMessage(playerid, COLOR_GRAD1, "You can't store weapons if your health is below 80!");
  35232. return 1;
  35233. }
  35234. if(GetPVarInt(playerid, "Injured") != 0||PlayerCuffed[playerid]!=0||GetPVarInt(playerid, "Hospital")!=0||GetPlayerState(playerid) == 7)
  35235. {
  35236. SendClientMessage (playerid, COLOR_GRAD2, "You can't do this at this time.");
  35237. return 1;
  35238. }
  35239. if(PlayerInfo[playerid][pFaction] > 0)
  35240. {
  35241. SendClientMessage(playerid, COLOR_GRAD1, "You can't store weapons in a family safe when in a faction!");
  35242. return 1;
  35243. }
  35244. new family;
  35245. if(PlayerInfo[playerid][pGang] < 255)
  35246. {
  35247. family = PlayerInfo[playerid][pGang];
  35248. }
  35249. else
  35250. {
  35251. SendClientMessage(playerid, COLOR_GRAD1, "You're not in a family.");
  35252. return 1;
  35253. }
  35254. if(!IsPlayerInRangeOfPoint(playerid, 3.0, FamilyInfo[family][FamilySafe][0], FamilyInfo[family][FamilySafe][1], FamilyInfo[family][FamilySafe][2]))
  35255. {
  35256. SendClientMessage(playerid, COLOR_GRAD1, "You're not at your family safe.");
  35257. return 1;
  35258. }
  35259. new string[128], weaponchoice[32], slot;
  35260. if(sscanf(params, "s[32]d", weaponchoice, slot)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /fstoregun [weapon] [slot]");
  35261. if(GetPVarInt(playerid, "GiveWeaponTimer") > 0)
  35262. {
  35263. format(string, sizeof(string), " You must wait %d seconds before depositing another weapon.", GetPVarInt(playerid, "GiveWeaponTimer"));
  35264. SendClientMessage(playerid,COLOR_GREY,string);
  35265. return 1;
  35266. }
  35267. if(slot < 1 || slot > 10)
  35268. {
  35269. SendClientMessage(playerid, COLOR_GREY, "Invalid slot.");
  35270. return 1;
  35271. }
  35272. if(FamilyInfo[family][FamilyGuns][slot-1] != 0)
  35273. {
  35274. SendClientMessage(playerid, COLOR_GREY, "Your family has a weapon stored in that slot already.");
  35275. return 1;
  35276. }
  35277. new weapon;
  35278. if(strcmp(weaponchoice, "sdpistol", true, strlen(weaponchoice)) == 0)
  35279. {
  35280. if(PlayerInfo[playerid][pGuns][2] == 23 && PlayerInfo[playerid][pAGuns][2] == 0)
  35281. {
  35282. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited a silenced pistol into your gun locker.");
  35283. weapon = PlayerInfo[playerid][pGuns][2];
  35284. format(string,sizeof(string), "* %s deposited their silenced pistol in a safe.", GetPlayerNameEx(playerid));
  35285. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  35286. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  35287. }
  35288. }
  35289. else if(strcmp(weaponchoice, "deagle", true, strlen(weaponchoice)) == 0)
  35290. {
  35291. if(PlayerInfo[playerid][pGuns][2] == 24 && PlayerInfo[playerid][pAGuns][2] == 0)
  35292. {
  35293. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited a Desert Eagle in your gun locker.");
  35294. weapon = PlayerInfo[playerid][pGuns][2];
  35295. format(string,sizeof(string), "* %s deposited their Desert Eagle in a safe.", GetPlayerNameEx(playerid));
  35296. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  35297. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  35298. }
  35299. }
  35300. else if(strcmp(weaponchoice, "shotgun", true, strlen(weaponchoice)) == 0)
  35301. {
  35302. if(PlayerInfo[playerid][pGuns][3] == 25 && PlayerInfo[playerid][pAGuns][3] == 0)
  35303. {
  35304. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited a shotgun in your gun locker.");
  35305. weapon = PlayerInfo[playerid][pGuns][3];
  35306. format(string,sizeof(string), "* %s deposited their Shotgun in a safe.", GetPlayerNameEx(playerid));
  35307. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  35308. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  35309. }
  35310. }
  35311. else if(strcmp(weaponchoice, "spas12", true, strlen(weaponchoice)) == 0)
  35312. {
  35313. if(PlayerInfo[playerid][pGuns][3] == 27 && PlayerInfo[playerid][pAGuns][3] == 0)
  35314. {
  35315. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited a combat shotgun in your gun locker.");
  35316. weapon = PlayerInfo[playerid][pGuns][3];
  35317. format(string,sizeof(string), "* %s deposited their Combat Shotgun in a safe.", GetPlayerNameEx(playerid));
  35318. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  35319. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  35320. }
  35321. }
  35322. else if(strcmp(weaponchoice, "mp5", true, strlen(weaponchoice)) == 0)
  35323. {
  35324. if(PlayerInfo[playerid][pGuns][4] == 29 && PlayerInfo[playerid][pAGuns][4] == 0)
  35325. {
  35326. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited an MP5 in your gun locker.");
  35327. weapon = PlayerInfo[playerid][pGuns][4];
  35328. format(string,sizeof(string), "* %s deposited their MP5 in a safe.", GetPlayerNameEx(playerid));
  35329. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  35330. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  35331. }
  35332. }
  35333. else if(strcmp(weaponchoice, "ak47", true, strlen(weaponchoice)) == 0)
  35334. {
  35335. if(PlayerInfo[playerid][pGuns][5] == 30 && PlayerInfo[playerid][pAGuns][5] == 0)
  35336. {
  35337. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited an AK-47 in your gun locker.");
  35338. weapon = PlayerInfo[playerid][pGuns][5];
  35339. format(string,sizeof(string), "* %s deposited their AK-47 in a safe.", GetPlayerNameEx(playerid));
  35340. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  35341. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  35342. }
  35343. }
  35344. else if(strcmp(weaponchoice, "m4", true, strlen(weaponchoice)) == 0)
  35345. {
  35346. if(PlayerInfo[playerid][pGuns][5] == 31 && PlayerInfo[playerid][pAGuns][5] == 0)
  35347. {
  35348. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited an M4 in your gun locker.");
  35349. weapon = PlayerInfo[playerid][pGuns][5];
  35350. format(string,sizeof(string), "* %s deposited their M4 in a safe.", GetPlayerNameEx(playerid));
  35351. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  35352. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  35353. }
  35354. }
  35355. else if(strcmp(weaponchoice, "rifle", true, strlen(weaponchoice)) == 0)
  35356. {
  35357. if(PlayerInfo[playerid][pGuns][6] == 33 && PlayerInfo[playerid][pAGuns][6] == 0)
  35358. {
  35359. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited a rifle in your gun locker.");
  35360. weapon = PlayerInfo[playerid][pGuns][6];
  35361. format(string,sizeof(string), "* %s deposited their riflein a safe.", GetPlayerNameEx(playerid));
  35362. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  35363. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  35364. }
  35365. }
  35366. else if(strcmp(weaponchoice, "sniper", true, strlen(weaponchoice)) == 0)
  35367. {
  35368. if(PlayerInfo[playerid][pGuns][6] == 34 && PlayerInfo[playerid][pAGuns][6] == 0)
  35369. {
  35370. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited a sniper rifle in your gun locker.");
  35371. weapon = PlayerInfo[playerid][pGuns][6];
  35372. format(string,sizeof(string), "* %s deposited their sniper rifle in a safe.", GetPlayerNameEx(playerid));
  35373. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  35374. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  35375. }
  35376. }
  35377. else { SendClientMessage(playerid,COLOR_GREY," Invalid weapon name!"); return 1; }
  35378. if(weapon == 0) return SendClientMessage(playerid, COLOR_GREY, "You don't have that weapon.");
  35379. if(FamilyInfo[family][FamilyGuns][slot-1] == 0)
  35380. {
  35381. FamilyInfo[family][FamilyGuns][slot-1] = weapon;
  35382. RemovePlayerWeapon(playerid, weapon);
  35383. SaveFamilies();
  35384. return 1;
  35385. }
  35386. return 1;
  35387. }
  35388. CMD:fgetgun(playerid, params[])
  35389. {
  35390. if(AdminDuty[playerid] == 1)
  35391. {
  35392. SendClientMessage(playerid,COLOR_WHITE, "You can't use this command while on-duty as admin.");
  35393. return 1;
  35394. }
  35395. new string[128], slot;
  35396. if(PlayerInfo[playerid][pConnectTime] < 2)
  35397. return SendClientMessage(playerid, COLOR_GRAD2, "You can't use this as you're currently restricted from possessing weapons!");
  35398. new family;
  35399. if(PlayerInfo[playerid][pGang] < 255)
  35400. {
  35401. family = PlayerInfo[playerid][pGang];
  35402. }
  35403. else
  35404. {
  35405. SendClientMessage(playerid, COLOR_GRAD1, "You're not in a family.");
  35406. return 1;
  35407. }
  35408. if(!IsPlayerInRangeOfPoint(playerid, 3.0, FamilyInfo[family][FamilySafe][0], FamilyInfo[family][FamilySafe][1], FamilyInfo[family][FamilySafe][2]))
  35409. {
  35410. SendClientMessage(playerid, COLOR_GRAD1, "You're not at your family safe.");
  35411. return 1;
  35412. }
  35413. if(IsPlayerInAnyVehicle(playerid))
  35414. {
  35415. SendClientMessage(playerid, COLOR_GRAD2, "You can't get weapons from a vehicle!");
  35416. return 1;
  35417. }
  35418. if(sscanf(params, "d", slot))
  35419. {
  35420. new weaponname[50];
  35421. SendClientMessage(playerid, COLOR_GREEN, "________________________________________________");
  35422. format(string, sizeof(string), "*** %s Safe ***", FamilyInfo[family][FamilyName]);
  35423. SendClientMessage(playerid, COLOR_WHITE, string);
  35424. for(new s = 0; s < 10; s++)
  35425. {
  35426. if(FamilyInfo[family][FamilyGuns][s] != 0)
  35427. {
  35428. GetWeaponName(FamilyInfo[family][FamilyGuns][s], weaponname, sizeof(weaponname));
  35429. format(string, sizeof(string), "Slot %d: %s", s+1, weaponname);
  35430. SendClientMessage(playerid, COLOR_WHITE, string);
  35431. }
  35432. }
  35433. SendClientMessage(playerid, COLOR_GREEN, "________________________________________________");
  35434. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /fgetgun [slot]");
  35435. return 1;
  35436. }
  35437. if(GetPVarInt(playerid, "GiveWeaponTimer") > 0)
  35438. {
  35439. format(string, sizeof(string), " You must wait %d seconds before getting another weapon.", GetPVarInt(playerid, "GiveWeaponTimer"));
  35440. SendClientMessage(playerid,COLOR_GREY,string);
  35441. return 1;
  35442. }
  35443. if(slot < 1 || slot > 10)
  35444. {
  35445. SendClientMessage(playerid, COLOR_GREY, "Invalid slot.");
  35446. return 1;
  35447. }
  35448. if(PlayerInfo[playerid][pRank] < 4)
  35449. {
  35450. SendClientMessage(playerid, COLOR_GRAD1, "Only rank 4+ can withdraw guns from the family safe.");
  35451. return 1;
  35452. }
  35453. if(FamilyInfo[family][FamilyGuns][slot-1] != 0)
  35454. {
  35455. new weaponname[50];
  35456. GetWeaponName(FamilyInfo[family][FamilyGuns][slot-1], weaponname, sizeof(weaponname));
  35457. GivePlayerValidWeapon(playerid, FamilyInfo[family][FamilyGuns][slot-1], 60000);
  35458. FamilyInfo[family][FamilyGuns][slot-1] = 0;
  35459. if(strcmp(weaponname, "silenced pistol", true, strlen(weaponname)) == 0)
  35460. {
  35461. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have withdrawn a silenced pistol from your family's gun locker.");
  35462. format(string,sizeof(string), "* %s has withdrawn a silenced pistol from a family safe.", GetPlayerNameEx(playerid));
  35463. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  35464. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  35465. }
  35466. if(strcmp(weaponname, "desert eagle", true, strlen(weaponname)) == 0)
  35467. {
  35468. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have withdrawn a Desert Eagle from your family's gun locker.");
  35469. format(string,sizeof(string), "* %s has withdrawn a Desert Eagle from a family safe.", GetPlayerNameEx(playerid));
  35470. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  35471. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  35472. }
  35473. if(strcmp(weaponname, "shotgun", true, strlen(weaponname)) == 0)
  35474. {
  35475. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have withdrawn a shotgun from your family's gun locker.");
  35476. format(string,sizeof(string), "* %s has withdrawn a shotgun from a family safe.", GetPlayerNameEx(playerid));
  35477. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  35478. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  35479. }
  35480. if(strcmp(weaponname, "combat shotgun", true, strlen(weaponname)) == 0)
  35481. {
  35482. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have withdrawn a combat shotgun from your family's gun locker.");
  35483. format(string,sizeof(string), "* %s has withdrawn a combat shotgun from a family safe.", GetPlayerNameEx(playerid));
  35484. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  35485. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  35486. }
  35487. if(strcmp(weaponname, "mp5", true, strlen(weaponname)) == 0)
  35488. {
  35489. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have withdrawn an MP5 from your family's gun locker.");
  35490. format(string,sizeof(string), "* %s has withdrawn an MP5 from a family safe.", GetPlayerNameEx(playerid));
  35491. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  35492. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  35493. }
  35494. if(strcmp(weaponname, "ak47", true, strlen(weaponname)) == 0)
  35495. {
  35496. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have withdrawn an AK-47 from your family's gun locker.");
  35497. format(string,sizeof(string), "* %s has withdrawn an AK-47 from a family safe.", GetPlayerNameEx(playerid));
  35498. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  35499. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  35500. }
  35501. if(strcmp(weaponname, "m4", true, strlen(weaponname)) == 0)
  35502. {
  35503. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have withdrawn an M4 from your family's gun locker.");
  35504. format(string,sizeof(string), "* %s has withdrawn an M4 from a family safe.", GetPlayerNameEx(playerid));
  35505. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  35506. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  35507. }
  35508. if(strcmp(weaponname, "rifle", true, strlen(weaponname)) == 0)
  35509. {
  35510. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have withdrawn a rifle from your family's gun locker.");
  35511. format(string,sizeof(string), "* %s has withdrawn a rifle from a family safe.", GetPlayerNameEx(playerid));
  35512. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  35513. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  35514. }
  35515. if(strcmp(weaponname, "sniper rifle", true, strlen(weaponname)) == 0)
  35516. {
  35517. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have withdrawn a sniper rifle from your family's gun locker.");
  35518. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  35519. format(string,sizeof(string), "* %s has withdrawn a sniper rifle from a safe.", GetPlayerNameEx(playerid));
  35520. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  35521. }
  35522. SaveFamilies();
  35523. return 1;
  35524. }
  35525. else
  35526. {
  35527. SendClientMessage(playerid, COLOR_WHITE, "You don't have a weapon stored in that slot.");
  35528. return 1;
  35529. }
  35530. }
  35531. CMD:safedeposit(playerid, params[]) {
  35532. if(AdminDuty[playerid] == 1)
  35533. {
  35534. SendClientMessage(playerid,COLOR_WHITE, "You can't use this command while on-duty as admin.");
  35535. return 1;
  35536. }
  35537. new string[128], choice[32], amount;
  35538. if(sscanf(params, "s[32]d", choice, amount))
  35539. {
  35540. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /safedeposit [name] [amount]");
  35541. SendClientMessage(playerid, COLOR_GRAD2, "Available names: Cash, Materials, Pot, Crack.");
  35542. return 1;
  35543. }
  35544. new family;
  35545. if(PlayerInfo[playerid][pGang] < 255)
  35546. {
  35547. family = PlayerInfo[playerid][pGang];
  35548. }
  35549. else
  35550. {
  35551. SendClientMessage(playerid, COLOR_GRAD1, "You're not in a family.");
  35552. return 1;
  35553. }
  35554. if(FamilyInfo[family][FamilyUSafe] < 1)
  35555. {
  35556. SendClientMessage(playerid, COLOR_GRAD1, "Your family has not upgraded their safe.");
  35557. return 1;
  35558. }
  35559. if(!IsPlayerInRangeOfPoint(playerid, 3.0, FamilyInfo[family][FamilySafe][0], FamilyInfo[family][FamilySafe][1], FamilyInfo[family][FamilySafe][2]))
  35560. {
  35561. SendClientMessage(playerid, COLOR_GRAD1, "You're not at your family safe.");
  35562. return 1;
  35563. }
  35564. if(strcmp(choice,"Cash",true) == 0)
  35565. {
  35566. if(amount > GetPlayerCash(playerid) || amount < 1)
  35567. {
  35568. SendClientMessage(playerid, COLOR_GRAD2, "You don't have that much.");
  35569. return 1;
  35570. }
  35571. new year, month,day;
  35572. getdate(year, month, day);
  35573. FamilyInfo[family][FamilyCash] += amount;
  35574. GivePlayerCash(playerid, -amount);
  35575. format(string, sizeof(string), "You have successfully deposited $%d into your family safe", amount);
  35576. SendClientMessage(playerid, COLOR_YELLOW, string);
  35577. format(string,sizeof(string), "* %s takes out some money and puts it in their safe.", GetPlayerNameEx(playerid));
  35578. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  35579. new ip[32];
  35580. GetPlayerIp(playerid, ip, sizeof(ip));
  35581. format(string,sizeof(string),"%s (IP: %s) has deposited $%d into family safe %d.",GetPlayerNameEx(playerid),ip,amount,PlayerInfo[playerid][pGang]);
  35582. Log("logs/pay.log", string);
  35583. }
  35584. else if(strcmp(choice,"Materials",true) == 0)
  35585. {
  35586. if(amount > PlayerInfo[playerid][pMats] || amount < 1)
  35587. {
  35588. SendClientMessage(playerid, COLOR_GRAD2, "You don't have that much.");
  35589. return 1;
  35590. }
  35591. new year, month,day;
  35592. getdate(year, month, day);
  35593. FamilyInfo[family][FamilyMats] += amount;
  35594. PlayerInfo[playerid][pMats] -= amount;
  35595. format(string, sizeof(string), "You have successfully deposited %d materials into your family safe", amount);
  35596. SendClientMessage(playerid, COLOR_YELLOW, string);
  35597. format(string,sizeof(string), "* %s takes out some materials, and puts them in their safe.", GetPlayerNameEx(playerid));
  35598. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  35599. new ip[32];
  35600. GetPlayerIp(playerid, ip, sizeof(ip));
  35601. format(string,sizeof(string),"%s (IP: %s) has deposited %d materials into family safe %d.",GetPlayerNameEx(playerid),ip,amount,PlayerInfo[playerid][pGang]);
  35602. Log("logs/pay.log", string);
  35603. }
  35604. else if(strcmp(choice,"pot",true) == 0)
  35605. {
  35606. if(amount > PlayerInfo[playerid][pPot] || amount < 1)
  35607. {
  35608. SendClientMessage(playerid, COLOR_GRAD2, "You don't have that much.");
  35609. return 1;
  35610. }
  35611. if(amount < 1 || amount > 50)
  35612. {
  35613. SendClientMessage(playerid, COLOR_GREY, "You can't deposit more than 50 grams at a time!");
  35614. return 1;
  35615. }
  35616. if(FamilyInfo[family][FamilyPot] >= 500)
  35617. {
  35618. SendClientMessage(playerid, COLOR_GREY, "Your family safe is already full of pot!");
  35619. return 1;
  35620. }
  35621. new year, month,day;
  35622. getdate(year, month, day);
  35623. FamilyInfo[family][FamilyPot] += amount;
  35624. PlayerInfo[playerid][pPot] -= amount;
  35625. format(string, sizeof(string), "You have successfully deposited %d grams of pot into your family safe", amount);
  35626. SendClientMessage(playerid, COLOR_YELLOW, string);
  35627. format(string,sizeof(string), "* %s takes out some pot, and puts it in their safe.", GetPlayerNameEx(playerid));
  35628. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  35629. new ip[32];
  35630. GetPlayerIp(playerid, ip, sizeof(ip));
  35631. format(string,sizeof(string),"%s (IP: %s) has deposited %d grams of pot into family safe %d.",GetPlayerNameEx(playerid),ip,amount,PlayerInfo[playerid][pGang]);
  35632. Log("logs/pay.log", string);
  35633. }
  35634. else if(strcmp(choice,"crack",true) == 0)
  35635. {
  35636. if(amount > PlayerInfo[playerid][pCrack] || amount < 1)
  35637. {
  35638. SendClientMessage(playerid, COLOR_GRAD2, "You don't have that much.");
  35639. return 1;
  35640. }
  35641. if(amount < 1 || amount > 25)
  35642. {
  35643. SendClientMessage(playerid, COLOR_GREY, "You can't deposit more than 25 grams at a time!");
  35644. return 1;
  35645. }
  35646. if(FamilyInfo[family][FamilyCrack] >= 250)
  35647. {
  35648. SendClientMessage(playerid, COLOR_GREY, "Your family safe is already full of crack!");
  35649. return 1;
  35650. }
  35651. new year, month,day;
  35652. getdate(year, month, day);
  35653. FamilyInfo[family][FamilyCrack] += amount;
  35654. PlayerInfo[playerid][pCrack] -= amount;
  35655. format(string, sizeof(string), "You have successfully deposited %d grams of crack into your family safe", amount);
  35656. SendClientMessage(playerid, COLOR_YELLOW, string);
  35657. format(string,sizeof(string), "* %s takes out some crack and puts it in their safe.", GetPlayerNameEx(playerid));
  35658. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  35659. new ip[32];
  35660. GetPlayerIp(playerid, ip, sizeof(ip));
  35661. format(string,sizeof(string),"%s (IP: %s) has deposited %d grams of crack into family safe %d.",GetPlayerNameEx(playerid),ip,amount,PlayerInfo[playerid][pGang]);
  35662. Log("logs/pay.log", string);
  35663. }
  35664. return 1;
  35665. }
  35666. CMD:changeage(playerid, params[]) {
  35667. if(PlayerInfo[playerid][pDonator] < 1)
  35668. return SendClientMessage(playerid, COLOR_GREY, "This command is only available to donators right now.");
  35669. if(isnull(params))
  35670. return SendClientMessage(playerid, COLOR_GREY, "USAGE: /changeage [16-122]");
  35671. new
  35672. szMessage[34],
  35673. iAge = strval(params);
  35674. if(iAge >= 16 && iAge <= 122) {
  35675. PlayerInfo[playerid][pAge] = iAge;
  35676. format(szMessage, sizeof(szMessage), "You have changed your age to %d.", iAge);
  35677. SendClientMessage(playerid, COLOR_WHITE, szMessage);
  35678. } else SendClientMessage(playerid, COLOR_GREY, "The age must be between 16 and 122.");
  35679. return 1;
  35680. }
  35681. CMD:changeph(playerid, params[]) {
  35682. if(PlayerInfo[playerid][pDonator] < 1)
  35683. return SendClientMessage(playerid, COLOR_GREY, "This command is only available to donators right now.");
  35684. if(isnull(params))
  35685. return SendClientMessage(playerid, COLOR_GREY, "USAGE: /changeph [new custom number]");
  35686. if(PlayerInfo[playerid][pNumber] == 0)
  35687. return SendClientMessage(playerid, COLOR_GREY, "You must have a phone first, before you can change your number.");
  35688. new
  35689. szMessage[66],
  35690. iPH = strval(params);
  35691. if(iPH != 555 && iPH != 911 && iPH != 0 && iPH != 912) {
  35692. if(CheckVPH(iPH) == 0) {
  35693. if(GetPlayerCash(playerid) < 2500) SendClientMessage(playerid, COLOR_GREY," You can't afford that!");
  35694. format(szMessage, sizeof(szMessage), "You have changed your phone number to %d for $2500.", iPH);
  35695. SendClientMessage(playerid, COLOR_WHITE, szMessage);
  35696. GivePlayerCash(playerid, -2500);
  35697. ReplacePH(PlayerInfo[playerid][pNumber], iPH);
  35698. PlayerInfo[playerid][pNumber] = iPH;
  35699. } else {
  35700. format(szMessage, sizeof(szMessage), "The number %d is currently taken. Try again with another number.");
  35701. SendClientMessage(playerid, COLOR_WHITE, szMessage);
  35702. }
  35703. } else SendClientMessage(playerid, COLOR_GREY, "The number requested is reserved by the script.");
  35704. return 1;
  35705. }
  35706. CMD:changegender(playerid, params[]) {
  35707. if(PlayerInfo[playerid][pDonator] < 1)
  35708. return SendClientMessage(playerid, COLOR_GREY, "This command is only available to donators right now.");
  35709. if(isnull(params))
  35710. return SendClientMessage(playerid, COLOR_GREY, "USAGE: /changegender ['male' or 'female']");
  35711. if(!strcmp(params, "male", true)) {
  35712. PlayerInfo[playerid][pSex] = 1;
  35713. SendClientMessage(playerid, COLOR_WHITE, "You are now Male.");
  35714. } else if(!strcmp(params, "female", true)) {
  35715. PlayerInfo[playerid][pSex] = 2;
  35716. SendClientMessage(playerid, COLOR_WHITE, "You are now Female.");
  35717. } else SendClientMessage(playerid, COLOR_GREY, "I'm afraid we don't do that here.");
  35718. return 1;
  35719. }
  35720. CMD:safewithdraw(playerid, params[]) {
  35721. if(AdminDuty[playerid] == 1)
  35722. {
  35723. SendClientMessage(playerid,COLOR_WHITE, "You can't use this command while on-duty as admin.");
  35724. return 1;
  35725. }
  35726. new string[128], choice[32], amount;
  35727. if(sscanf(params, "s[32]d", choice, amount))
  35728. {
  35729. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /safewithdraw [name] [amount]");
  35730. SendClientMessage(playerid, COLOR_GRAD2, "Available names: Cash, Materials, Pot, Crack.");
  35731. return 1;
  35732. }
  35733. new family;
  35734. if(PlayerInfo[playerid][pGang] < 255)
  35735. {
  35736. family = PlayerInfo[playerid][pGang];
  35737. }
  35738. else
  35739. {
  35740. SendClientMessage(playerid, COLOR_GRAD1, "You're not in a family.");
  35741. return 1;
  35742. }
  35743. if(FamilyInfo[family][FamilyUSafe] < 1)
  35744. {
  35745. SendClientMessage(playerid, COLOR_GRAD1, "Your family hasn't upgraded their safe.");
  35746. return 1;
  35747. }
  35748. if(!IsPlayerInRangeOfPoint(playerid, 3.0, FamilyInfo[family][FamilySafe][0], FamilyInfo[family][FamilySafe][1], FamilyInfo[family][FamilySafe][2]))
  35749. {
  35750. SendClientMessage(playerid, COLOR_GRAD1, "You're not at your family safe.");
  35751. return 1;
  35752. }
  35753. if(PlayerInfo[playerid][pRank] < 5)
  35754. {
  35755. SendClientMessage(playerid, COLOR_GRAD1, "Only ranks 5 and 6 can withdraw items from the family safe.");
  35756. return 1;
  35757. }
  35758. if(strcmp(choice,"Cash",true) == 0)
  35759. {
  35760. if(amount > FamilyInfo[family][FamilyCash] || amount < 1)
  35761. {
  35762. SendClientMessage(playerid, COLOR_GRAD2, "Your family doesn't have that much.");
  35763. return 1;
  35764. }
  35765. new year, month,day;
  35766. getdate(year, month, day);
  35767. FamilyInfo[family][FamilyCash] -= amount;
  35768. GivePlayerCash(playerid, amount);
  35769. format(string, sizeof(string), "You have successfully withdrawn $%d from your family safe.", amount);
  35770. SendClientMessage(playerid, COLOR_YELLOW, string);
  35771. format(string,sizeof(string), "* %s withdraws some money from their family safe.", GetPlayerNameEx(playerid));
  35772. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  35773. new ip[32];
  35774. GetPlayerIp(playerid, ip, sizeof(ip));
  35775. format(string,sizeof(string),"%s (IP: %s) has withdrawn $%d from family safe %d.",GetPlayerNameEx(playerid),ip,amount,PlayerInfo[playerid][pGang]+1);
  35776. Log("logs/family.log", string);
  35777. }
  35778. else if(strcmp(choice,"Materials",true) == 0)
  35779. {
  35780. if(amount > FamilyInfo[family][FamilyMats] || amount < 1)
  35781. {
  35782. SendClientMessage(playerid, COLOR_GRAD2, "Your family doesn't have that much.");
  35783. return 1;
  35784. }
  35785. new year, month,day;
  35786. getdate(year, month, day);
  35787. FamilyInfo[family][FamilyMats] -= amount;
  35788. PlayerInfo[playerid][pMats] += amount;
  35789. format(string, sizeof(string), "You have successfully withdrawn %d materials from your family safe.", amount);
  35790. SendClientMessage(playerid, COLOR_YELLOW, string);
  35791. format(string,sizeof(string), "* %s withdraws some materials from their family safe.", GetPlayerNameEx(playerid));
  35792. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  35793. new ip[32];
  35794. GetPlayerIp(playerid, ip, sizeof(ip));
  35795. format(string,sizeof(string),"%s (IP: %s) has withdrawn %d materials from family safe %d.",GetPlayerNameEx(playerid), ip,amount,PlayerInfo[playerid][pGang]+1);
  35796. Log("logs/family.log", string);
  35797. }
  35798. else if(strcmp(choice,"pot",true) == 0)
  35799. {
  35800. if(amount > FamilyInfo[family][FamilyPot] || amount < 1)
  35801. {
  35802. SendClientMessage(playerid, COLOR_GRAD2, "Your family doesn't have that much.");
  35803. return 1;
  35804. }
  35805. if(PlayerInfo[playerid][pPot] > 50)
  35806. {
  35807. SendClientMessage(playerid, COLOR_GRAD2, "You already have 50 grams of pot.");
  35808. return 1;
  35809. }
  35810. new level = PlayerInfo[playerid][pDrugsSkill];
  35811. if(level >= 0 && level <= 50)
  35812. { if(amount < 1 || amount > 10) { SendClientMessage(playerid, COLOR_GREY, " You cant go above 10 at your Skill Level!"); return 1; } }
  35813. else if(level >= 51 && level <= 100)
  35814. { if(amount < 1 || amount > 20) { SendClientMessage(playerid, COLOR_GREY, " You cant go above 20 at your Skill Level!"); return 1; } }
  35815. else if(level >= 101 && level <= 200)
  35816. { if(amount < 1 || amount > 30) { SendClientMessage(playerid, COLOR_GREY, " You cant go above 30 at your Skill Level!"); return 1; } }
  35817. else if(level >= 201 && level <= 400)
  35818. { if(amount < 1 || amount > 40) { SendClientMessage(playerid, COLOR_GREY, " You cant go above 40 at your Skill Level!"); return 1; } }
  35819. else if(level >= 401)
  35820. { if(amount < 1 || amount > 50) { SendClientMessage(playerid, COLOR_GREY, " You cant go above 50 at your Skill Level!"); return 1; } }
  35821. new year, month,day;
  35822. getdate(year, month, day);
  35823. FamilyInfo[family][FamilyPot] -= amount;
  35824. PlayerInfo[playerid][pPot] += amount;
  35825. format(string, sizeof(string), "You have successfully withdrawn %d grams of pot from your family safe.", amount);
  35826. SendClientMessage(playerid, COLOR_YELLOW, string);
  35827. format(string,sizeof(string), "* %s withdraws some pot from their family safe.", GetPlayerNameEx(playerid));
  35828. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  35829. new ip[32];
  35830. GetPlayerIp(playerid, ip, sizeof(ip));
  35831. format(string,sizeof(string),"%s (IP: %s) has withdrawn %d grams of pot from family safe %d.",GetPlayerNameEx(playerid),ip,amount,PlayerInfo[playerid][pGang]+1);
  35832. Log("logs/family.log", string);
  35833. }
  35834. else if(strcmp(choice,"crack",true) == 0)
  35835. {
  35836. if(amount > FamilyInfo[family][FamilyCrack] || amount < 1)
  35837. {
  35838. SendClientMessage(playerid, COLOR_GRAD2, "Your family doesn't have that much.");
  35839. return 1;
  35840. }
  35841. if(PlayerInfo[playerid][pCrack] > 25)
  35842. {
  35843. SendClientMessage(playerid, COLOR_GRAD2, "You already have 25 grams of crack.");
  35844. return 1;
  35845. }
  35846. new level = PlayerInfo[playerid][pDrugsSkill];
  35847. if(level >= 0 && level <= 50)
  35848. { if(amount < 1 || amount > 5) { SendClientMessage(playerid, COLOR_GREY, " You cant go above 5 at your Skill Level!"); return 1; } }
  35849. else if(level >= 51 && level <= 100)
  35850. { if(amount < 1 || amount > 10) { SendClientMessage(playerid, COLOR_GREY, " You cant go above 10 at your Skill Level!"); return 1; } }
  35851. else if(level >= 101 && level <= 200)
  35852. { if(amount < 1 || amount > 15) { SendClientMessage(playerid, COLOR_GREY, " You cant go above 15 at your Skill Level!"); return 1; } }
  35853. else if(level >= 201 && level <= 400)
  35854. { if(amount < 1 || amount > 20) { SendClientMessage(playerid, COLOR_GREY, " You cant go above 20 at your Skill Level!"); return 1; } }
  35855. else if(level >= 401)
  35856. { if(amount < 1 || amount > 25) { SendClientMessage(playerid, COLOR_GREY, " You cant go above 25 at your Skill Level!"); return 1; } }
  35857. new year, month,day;
  35858. getdate(year, month, day);
  35859. FamilyInfo[family][FamilyCrack] -= amount;
  35860. PlayerInfo[playerid][pCrack] += amount;
  35861. format(string, sizeof(string), "You have successfully withdrawn %d grams of crack from your family safe.", amount);
  35862. SendClientMessage(playerid, COLOR_YELLOW, string);
  35863. format(string,sizeof(string), "* %s withdraws some crack from their family safe.", GetPlayerNameEx(playerid));
  35864. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  35865. new ip[32];
  35866. GetPlayerIp(playerid, ip, sizeof(ip));
  35867. format(string,sizeof(string),"%s (IP: %s) has withdrawn %d grams of crack from family safe %d.",GetPlayerNameEx(playerid),ip,amount,PlayerInfo[playerid][pGang]+1);
  35868. Log("logs/family.log", string);
  35869. }
  35870. return 1;
  35871. }
  35872. CMD:adjust(playerid, params[])
  35873. {
  35874. if(PlayerInfo[playerid][pGang] == 255)
  35875. {
  35876. SendClientMessage(playerid, COLOR_GREY, "You're not in a family.");
  35877. return 1;
  35878. }
  35879. new family = PlayerInfo[playerid][pGang];
  35880. new string[128];
  35881. if(PlayerInfo[playerid][pRank] == 6)
  35882. {
  35883. new choice[32], opstring[100];
  35884. if(sscanf(params, "s[32]S[100]", choice, opstring))
  35885. {
  35886. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /adjust [name]");
  35887. SendClientMessage(playerid, COLOR_WHITE, "Available Names: Name, MOTD, Safe, Invite, Uninvite");
  35888. return 1;
  35889. }
  35890. if(strcmp(choice,"name",true) == 0)
  35891. {
  35892. if(PlayerInfo[playerid][pRank] == 6)
  35893. {
  35894. if(!opstring[0])
  35895. {
  35896. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /adjust name [family name]");
  35897. return 1;
  35898. }
  35899. if(strfind(opstring, "|", true) != -1)
  35900. {
  35901. SendClientMessage(playerid, COLOR_GRAD2, "You can't use '|' in a family name.");
  35902. return 1;
  35903. }
  35904. if(strlen(opstring) >= 40)
  35905. {
  35906. SendClientMessage(playerid, COLOR_GRAD1, "That family name is too long, please refrain from using more than 40 characters.");
  35907. return 1;
  35908. }
  35909. strmid(FamilyInfo[family][FamilyName], opstring, 0, strlen(opstring), 100);
  35910. SaveFamilies();
  35911. SendClientMessage(playerid, COLOR_WHITE, "You've adjusted your family's name.");
  35912. format(string, sizeof(string), "%s adjusted family %d's name to %s", GetPlayerNameEx(playerid), family+1, opstring);
  35913. Log("logs/family.log", string);
  35914. }
  35915. }
  35916. else if(strcmp(choice,"motd",true) == 0)
  35917. {
  35918. if(!opstring[0])
  35919. {
  35920. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /adjust MOTD [family MOTD text]");
  35921. return 1;
  35922. }
  35923. if(strfind(opstring, "|", true) != -1)
  35924. {
  35925. SendClientMessage(playerid, COLOR_GRAD2, "You can't use '|' in a family name.");
  35926. return 1;
  35927. }
  35928. if(strlen(opstring) >= 60)
  35929. {
  35930. SendClientMessage(playerid, COLOR_GRAD1, "That MOTD is too long, please refrain from using more than 60 characters.");
  35931. return 1;
  35932. }
  35933. strmid(FamilyInfo[family][FamilyMOTD], opstring, 0, strlen(opstring), 100);
  35934. SaveFamilies();
  35935. SendClientMessage(playerid, COLOR_WHITE, "You've adjusted your family's MOTD.");
  35936. format(string, sizeof(string), "%s adjusted family %d's MOTD to %s", GetPlayerNameEx(playerid), family+1, opstring);
  35937. Log("logs/family.log", string);
  35938. }
  35939. else if(strcmp(choice,"safe",true) == 0)
  35940. {
  35941. SendClientMessage(playerid, COLOR_GRAD1, "Adjusting your Family Safe will reset all your safe stats.");
  35942. SendClientMessage(playerid, COLOR_GRAD1, "If you want to adjust your safe, type /adjust confirm.");
  35943. SendClientMessage(playerid, COLOR_GRAD1, "Upgrading your family safe will cost $5,000.");
  35944. return 1;
  35945. }
  35946. else if(strcmp(choice,"confirm",true) == 0)
  35947. {
  35948. if(GetPlayerCash(playerid) < 5000)
  35949. {
  35950. SendClientMessage(playerid, COLOR_GRAD1, "You don't have $5,000 to upgrade your family safe.");
  35951. return 1;
  35952. }
  35953. GivePlayerCash(playerid, -5000);
  35954. GetPlayerPos(playerid, FamilyInfo[family][FamilySafe][0],FamilyInfo[family][FamilySafe][1],FamilyInfo[family][FamilySafe][2]);
  35955. FamilyInfo[family][FamilyCash] = 0;
  35956. FamilyInfo[family][FamilyMats] = 0;
  35957. FamilyInfo[family][FamilyPot] = 0;
  35958. FamilyInfo[family][FamilyCrack] = 0;
  35959. if(FamilyInfo[family][FamilyUSafe]) DestroyPickup(FamilyInfo[family][FamilyPickup]);
  35960. FamilyInfo[family][FamilyUSafe] = 1;
  35961. FamilyInfo[family][FamilyPickup] = CreatePickup(1239, 23, FamilyInfo[family][FamilySafe][0], FamilyInfo[family][FamilySafe][1], FamilyInfo[family][FamilySafe][2], -1);
  35962. SaveFamilies();
  35963. SendClientMessage(playerid, COLOR_WHITE, "You've adjusted your family's Safe.");
  35964. format(string, sizeof(string), "%s adjusted family %d's safe", GetPlayerNameEx(playerid), family+1);
  35965. Log("logs/family.log", string);
  35966. }
  35967. else if(strcmp(choice,"invite",true) == 0)
  35968. {
  35969. if(!strlen(opstring))
  35970. {
  35971. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /adjust invite [playerid/partofname]");
  35972. return 1;
  35973. }
  35974. new giveplayerid = ReturnUser(opstring);
  35975. if(IsPlayerConnected(giveplayerid))
  35976. {
  35977. if(giveplayerid != INVALID_PLAYER_ID)
  35978. {
  35979. if(PlayerInfo[giveplayerid][pGang] == 255)
  35980. {
  35981. if(PlayerInfo[giveplayerid][pLeader] == 2 || PlayerInfo[giveplayerid][pFaction] == 2 && PlayerInfo[giveplayerid][pDivision] == 2) {
  35982. format(string, sizeof(string), "* You've invited %s to join '%s'.",GetPlayerNameEx(giveplayerid), FamilyInfo[family][FamilyName]);
  35983. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  35984. format(string, sizeof(string), "* %s has invited you to join '%s'. (type /accept family)",GetPlayerNameEx(playerid), FamilyInfo[family][FamilyName]);
  35985. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  35986. InviteFaction[giveplayerid] = 0;
  35987. InviteOffer[giveplayerid] = playerid;
  35988. InviteFamily[giveplayerid] = family;
  35989. format(string, sizeof(string), "%s invited %s (FBI agent) to family %d ", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), family+1);
  35990. Log("logs/family.log", string);
  35991. } else if(PlayerInfo[giveplayerid][pLeader] == 0 && PlayerInfo[giveplayerid][pFaction] == 0) {
  35992. format(string, sizeof(string), "* You've invited %s to join '%s'.",GetPlayerNameEx(giveplayerid), FamilyInfo[family][FamilyName]);
  35993. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  35994. format(string, sizeof(string), "* %s has invited you to join '%s'. (type /accept family)",GetPlayerNameEx(playerid), FamilyInfo[family][FamilyName]);
  35995. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  35996. InviteFaction[giveplayerid] = 0;
  35997. InviteOffer[giveplayerid] = playerid;
  35998. InviteFamily[giveplayerid] = family;
  35999. format(string, sizeof(string), "%s invited %s to family %d ", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), family+1);
  36000. Log("logs/family.log", string);
  36001. }
  36002. else {
  36003. SendClientMessage(playerid, COLOR_GREY, "That player is already in a family/faction.");
  36004. }
  36005. }
  36006. else
  36007. {
  36008. SendClientMessage(playerid, COLOR_GREY, "That player is already in a family/faction.");
  36009. }
  36010. return 1;
  36011. }
  36012. }
  36013. else
  36014. {
  36015. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  36016. return 1;
  36017. }
  36018. }
  36019. else if(strcmp(choice,"uninvite",true) == 0)
  36020. {
  36021. if(!strlen(opstring))
  36022. {
  36023. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /adjust uninvite [playerid/partofname]");
  36024. return 1;
  36025. }
  36026. new giveplayerid = ReturnUser(opstring);
  36027. if(IsPlayerConnected(giveplayerid))
  36028. {
  36029. if(giveplayerid != INVALID_PLAYER_ID)
  36030. {
  36031. if(PlayerInfo[giveplayerid][pGang] != family)
  36032. {
  36033. SendClientMessage(playerid, COLOR_GREY, "That player isn't in your family.");
  36034. return 1;
  36035. }
  36036. if(PlayerInfo[giveplayerid][pRank] > PlayerInfo[playerid][pRank])
  36037. {
  36038. SendClientMessage(playerid, COLOR_GREY, "You can't uninvite higher ranks.");
  36039. return 1;
  36040. }
  36041. format(string, sizeof(string), "* You've kicked %s out of your family.",GetPlayerNameEx(giveplayerid));
  36042. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  36043. format(string, sizeof(string), "* Family leader %s has kicked your out of the family.",GetPlayerNameEx(playerid));
  36044. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  36045. PlayerInfo[giveplayerid][pGang] = 255;
  36046. PlayerInfo[giveplayerid][pRank] = 0;
  36047. FamilyInfo[family][FamilyMembers] --;
  36048. SaveFamilies();
  36049. format(string, sizeof(string), "%s uninvited %s from family %d ", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), family+1);
  36050. Log("logs/family.log", string);
  36051. return 1;
  36052. }
  36053. }
  36054. else
  36055. {
  36056. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  36057. return 1;
  36058. }
  36059. }
  36060. else if(strcmp(choice,"rank",true) == 0)
  36061. {
  36062. SendClientMessage(playerid, COLOR_WHITE, "Error! Please use /adjustrank instead of /adjust rank.");
  36063. }
  36064. else if(strcmp(choice,"rankname",true) == 0)
  36065. {
  36066. SendClientMessage(playerid, COLOR_WHITE, "Error! Please use /adjustrankname instead of /adjust rankname.");
  36067. }
  36068. }
  36069. else if(PlayerInfo[playerid][pRank] == 5)
  36070. {
  36071. new choice[32], opstring[100];
  36072. if(sscanf(params, "s[32]S[100]", choice, opstring))
  36073. {
  36074. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /adjust [name]");
  36075. SendClientMessage(playerid, COLOR_GRAD2, "Available Names: MOTD, Safe, Invite, Uninvite, Rank");
  36076. return 1;
  36077. }
  36078. if(strcmp(choice,"motd",true) == 0)
  36079. {
  36080. if(!opstring[0])
  36081. {
  36082. SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /adjust MOTD [Family MOTD Text]");
  36083. return 1;
  36084. }
  36085. if(strfind(opstring, "|", true) != -1)
  36086. {
  36087. SendClientMessage(playerid, COLOR_GRAD2, "Can't use the '|' character!");
  36088. return 1;
  36089. }
  36090. if(strlen(opstring) >= 60)
  36091. {
  36092. SendClientMessage(playerid, COLOR_GRAD1, "That MOTD is too long, please refrain from using more than 60 characters.");
  36093. return 1;
  36094. }
  36095. strmid(FamilyInfo[family][FamilyMOTD], opstring, 0, strlen(opstring), 100);
  36096. SaveFamilies();
  36097. SendClientMessage(playerid, COLOR_WHITE, "You've adjusted your Family's MOTD.");
  36098. format(string, sizeof(string), "%s adjusted family %d's MOTD to %s", GetPlayerNameEx(playerid), family+1, opstring);
  36099. Log("logs/family.log", string);
  36100. }
  36101. else if(strcmp(choice,"safe",true) == 0)
  36102. {
  36103. SendClientMessage(playerid, COLOR_GRAD1, "Adjusting your Family Safe will reset all your Safe Stats.");
  36104. SendClientMessage(playerid, COLOR_GRAD1, "If you want to adjust your Safe type /adjust confirm.");
  36105. SendClientMessage(playerid, COLOR_GRAD1, "Upgrading your family Safe will cost $5,000.");
  36106. return 1;
  36107. }
  36108. else if(strcmp(choice,"confirm",true) == 0)
  36109. {
  36110. if(GetPlayerCash(playerid) < 5000)
  36111. {
  36112. SendClientMessage(playerid, COLOR_GRAD1, " You don't have $5,000 to upgrade your family safe.");
  36113. return 1;
  36114. }
  36115. GivePlayerCash(playerid, -5000);
  36116. GetPlayerPos(playerid, FamilyInfo[family][FamilySafe][0],FamilyInfo[family][FamilySafe][1],FamilyInfo[family][FamilySafe][2]);
  36117. FamilyInfo[family][FamilyCash] = 0;
  36118. FamilyInfo[family][FamilyMats] = 0;
  36119. FamilyInfo[family][FamilyPot] = 0;
  36120. FamilyInfo[family][FamilyCrack] = 0;
  36121. if(FamilyInfo[family][FamilyUSafe]) DestroyPickup(FamilyInfo[family][FamilyPickup]);
  36122. FamilyInfo[family][FamilyUSafe] = 1;
  36123. FamilyInfo[family][FamilyPickup] = CreatePickup(1239, 23, FamilyInfo[family][FamilySafe][0], FamilyInfo[family][FamilySafe][1], FamilyInfo[family][FamilySafe][2], -1);
  36124. SaveFamilies();
  36125. SendClientMessage(playerid, COLOR_WHITE, "You've adjusted your Family's Safe.");
  36126. format(string, sizeof(string), "%s adjusted family %d's safe", GetPlayerNameEx(playerid), family+1);
  36127. Log("logs/family.log", string);
  36128. }
  36129. else if(strcmp(choice,"invite",true) == 0)
  36130. {
  36131. if(!strlen(opstring))
  36132. {
  36133. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /adjust invite [playerid/partofname]");
  36134. return 1;
  36135. }
  36136. new giveplayerid = ReturnUser(opstring);
  36137. if(IsPlayerConnected(giveplayerid))
  36138. {
  36139. if(giveplayerid != INVALID_PLAYER_ID)
  36140. {
  36141. if(PlayerInfo[giveplayerid][pGang] == 255)
  36142. {
  36143. /*if(PlayerInfo[giveplayerid][pLeader] == 2 || PlayerInfo[giveplayerid][pFaction] == 2)
  36144. {
  36145. format(string, sizeof(string), "* You've invited %s to join '%s'.",GetPlayerNameEx(giveplayerid), FamilyInfo[family][FamilyName]);
  36146. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  36147. format(string, sizeof(string), "* %s has invited you to join '%s'. (type /accept family)",GetPlayerNameEx(playerid), FamilyInfo[family][FamilyName]);
  36148. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  36149. InviteFaction[giveplayerid] = 0;
  36150. InviteOffer[giveplayerid] = playerid;
  36151. InviteFamily[giveplayerid] = family;
  36152. }*/
  36153. if(PlayerInfo[giveplayerid][pLeader] == 0 && PlayerInfo[giveplayerid][pFaction] == 0)
  36154. {
  36155. format(string, sizeof(string), "* You've invited %s to join '%s'.",GetPlayerNameEx(giveplayerid), FamilyInfo[family][FamilyName]);
  36156. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  36157. format(string, sizeof(string), "* %s has invited you to join '%s'. (type /accept family)",GetPlayerNameEx(playerid), FamilyInfo[family][FamilyName]);
  36158. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  36159. InviteFaction[giveplayerid] = 0;
  36160. InviteOffer[giveplayerid] = playerid;
  36161. InviteFamily[giveplayerid] = family;
  36162. format(string, sizeof(string), "%s invited %s to family %d ", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), family+1);
  36163. Log("logs/family.log", string);
  36164. }
  36165. else
  36166. {
  36167. SendClientMessage(playerid, COLOR_GREY, "That player is already in a family/faction.");
  36168. }
  36169. }
  36170. else
  36171. {
  36172. SendClientMessage(playerid, COLOR_GREY, "That player is already in a family/faction.");
  36173. }
  36174. }
  36175. }
  36176. else
  36177. {
  36178. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  36179. return 1;
  36180. }
  36181. }
  36182. else if(strcmp(choice,"uninvite",true) == 0)
  36183. {
  36184. if(!strlen(choice))
  36185. {
  36186. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /adjust uninvite [playerid/partofname]");
  36187. return 1;
  36188. }
  36189. new giveplayerid = ReturnUser(opstring);
  36190. if(IsPlayerConnected(giveplayerid))
  36191. {
  36192. if(giveplayerid != INVALID_PLAYER_ID)
  36193. {
  36194. if(PlayerInfo[giveplayerid][pGang] != family)
  36195. {
  36196. SendClientMessage(playerid, COLOR_GREY, " That player is not in your Family!");
  36197. return 1;
  36198. }
  36199. if(PlayerInfo[giveplayerid][pRank] > PlayerInfo[playerid][pRank])
  36200. {
  36201. SendClientMessage(playerid, COLOR_GREY, " You can't uninvite higher ranks!");
  36202. return 1;
  36203. }
  36204. format(string, sizeof(string), "* You've kicked %s out of your Family.",GetPlayerNameEx(giveplayerid));
  36205. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  36206. format(string, sizeof(string), "* Family Leader %s has kicked your out of the Family.",GetPlayerNameEx(playerid));
  36207. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  36208. PlayerInfo[giveplayerid][pGang] = 255;
  36209. PlayerInfo[giveplayerid][pRank] = 0;
  36210. FamilyInfo[family][FamilyMembers] --;
  36211. SaveFamilies();
  36212. format(string, sizeof(string), "%s uninvited %s from family %d ", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), family+1);
  36213. Log("logs/family.log", string);
  36214. return 1;
  36215. }
  36216. }
  36217. else
  36218. {
  36219. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  36220. return 1;
  36221. }
  36222. }
  36223. else if(strcmp(choice,"rank",true) == 0)
  36224. {
  36225. SendClientMessage(playerid, COLOR_WHITE, "Error! Please use /adjustrank instead of /adjust rank.");
  36226. }
  36227. else
  36228. {
  36229. SendClientMessage(playerid, COLOR_GREY, " Invalid adjust name!");
  36230. return 1;
  36231. }
  36232. }
  36233. else
  36234. {
  36235. SendClientMessage(playerid, COLOR_GREY, " You're not high rank enough to use this command!");
  36236. return 1;
  36237. }
  36238. return 1;
  36239. }
  36240. CMD:adjustrank(playerid, params[])
  36241. {
  36242. if(PlayerInfo[playerid][pGang] == 255)
  36243. {
  36244. SendClientMessage(playerid, COLOR_GREY, "You're not in a family.");
  36245. return 1;
  36246. }
  36247. new family = PlayerInfo[playerid][pGang];
  36248. new string[128], rank, giveplayerid;
  36249. if(sscanf(params, "du", rank, giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /adjustrank [RankNr] [playerid/partofname]");
  36250. if(PlayerInfo[playerid][pRank] == 6)
  36251. {
  36252. if(rank < 1 || rank > 6) { SendClientMessage(playerid, COLOR_GREY, "Rank number must be from 1 to 6."); return 1; }
  36253. if(IsPlayerConnected(giveplayerid))
  36254. {
  36255. if(giveplayerid != INVALID_PLAYER_ID)
  36256. {
  36257. if(PlayerInfo[giveplayerid][pGang] != family)
  36258. {
  36259. SendClientMessage(playerid, COLOR_GREY, "That player isn't in your family.");
  36260. return 1;
  36261. }
  36262. if(PlayerInfo[giveplayerid][pRank] > PlayerInfo[playerid][pRank])
  36263. {
  36264. SendClientMessage(playerid, COLOR_GREY, "You can't adjust higher ranks.");
  36265. return 1;
  36266. }
  36267. format(string, sizeof(string), "* You've given %s rank %d.",GetPlayerNameEx(giveplayerid),rank);
  36268. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  36269. format(string, sizeof(string), "* Family leader %s has given you rank %d.",GetPlayerNameEx(playerid),rank);
  36270. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  36271. new temprank = PlayerInfo[giveplayerid][pRank];
  36272. PlayerInfo[giveplayerid][pRank] = rank;
  36273. format(string, sizeof(string), "%s set %s rank from %d to %d in family %d ", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid),temprank, rank, family+1);
  36274. Log("logs/family.log", string);
  36275. return 1;
  36276. }
  36277. }
  36278. else
  36279. {
  36280. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  36281. return 1;
  36282. }
  36283. }
  36284. else if(PlayerInfo[playerid][pRank] == 5)
  36285. {
  36286. if(rank < 1 || rank > 5) { SendClientMessage(playerid, COLOR_GREY, " RankNr can't be below 1 or above 5!"); return 1; }
  36287. if(IsPlayerConnected(giveplayerid))
  36288. {
  36289. if(giveplayerid != INVALID_PLAYER_ID)
  36290. {
  36291. if(PlayerInfo[giveplayerid][pGang] != family)
  36292. {
  36293. SendClientMessage(playerid, COLOR_GREY, " That player is not in your Family!");
  36294. return 1;
  36295. }
  36296. format(string, sizeof(string), "* You've given %s Rank %d.",GetPlayerNameEx(giveplayerid),rank);
  36297. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  36298. format(string, sizeof(string), "* Family Leader %s has given you Rank %d.",GetPlayerNameEx(playerid),rank);
  36299. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  36300. PlayerInfo[giveplayerid][pRank] = rank;
  36301. format(string, sizeof(string), "%s set %s rank to %d in family %d ", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), rank, family+1);
  36302. Log("logs/family.log", string);
  36303. return 1;
  36304. }
  36305. }
  36306. else
  36307. {
  36308. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  36309. return 1;
  36310. }
  36311. }
  36312. else
  36313. {
  36314. SendClientMessage(playerid, COLOR_GREY, " You're not high rank enough to use this command!");
  36315. return 1;
  36316. }
  36317. return 1;
  36318. }
  36319. CMD:phoneprivacy(playerid, params[])
  36320. {
  36321. if(PlayerInfo[playerid][pNumber] != 0 && PlayerInfo[playerid][pDonator] >= 1)
  36322. {
  36323. if(PhonePrivacy[playerid] == 1)
  36324. {
  36325. PhonePrivacy[playerid] = 0;
  36326. SendClientMessage(playerid, COLOR_WHITE, "You have disabled the phone privacy feature.");
  36327. }
  36328. else
  36329. {
  36330. PhonePrivacy[playerid] = 1;
  36331. SendClientMessage(playerid, COLOR_WHITE, "You have enabled the phone privacy feature.");
  36332. }
  36333. } else SendClientMessage(playerid, COLOR_GREY, "This command is only available to donators and current phone owners.");
  36334. return 1;
  36335. }
  36336. CMD:changeplates(playerid, params[]) {
  36337. if(PlayerInfo[playerid][pDonator] < 1)
  36338. return SendClientMessage(playerid, COLOR_GREY, "This command is only available to donators right now.");
  36339. new
  36340. color[32],
  36341. plate[32];
  36342. if(sscanf(params, "s[32]s[32]", color, plate))
  36343. {
  36344. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /changeplates [color] [new plate]");
  36345. SendClientMessage(playerid, COLOR_GREY, "Available colors: {EFEFEF}default, black, white, blue, red, green, purple");
  36346. SendClientMessage(playerid, COLOR_GREY, "{EFEFEF}yellow, lightblue, darkgreen, darkblue, darkgrey, darkbrown, pink");
  36347. return 1;
  36348. }
  36349. new
  36350. Float: fVehicleHealth,
  36351. iCount;
  36352. for(new d = 0 ; d < MAX_PLAYERVEHICLES; d++) {
  36353. if(IsPlayerInVehicle(playerid, PlayerVehicleInfo[playerid][d][pvId])) {
  36354. iCount = 1;
  36355. GetVehicleHealth(PlayerVehicleInfo[playerid][d][pvId], fVehicleHealth);
  36356. if(fVehicleHealth < 800)
  36357. return SendClientMessage(playerid, COLOR_GREY, "Your vehicle needs to have 800 HP before you can change the plates on it.");
  36358. if(strlen(plate) > 8)
  36359. return SendClientMessage(playerid, COLOR_GREY, "The license plate can not be longer than 8 characters!");
  36360. if(strcmp(color, "black", true)==0) format(PlayerVehicleInfo[playerid][d][pvNumberPlate], 32, "{000000}%s", plate);
  36361. else if(strcmp(color, "white", true)==0) format(PlayerVehicleInfo[playerid][d][pvNumberPlate], 32, "{FFFFFF}%s", plate);
  36362. else if(strcmp(color, "blue", true)==0) format(PlayerVehicleInfo[playerid][d][pvNumberPlate], 32, "{2641FE}%s", plate);
  36363. else if(strcmp(color, "red", true)==0) format(PlayerVehicleInfo[playerid][d][pvNumberPlate], 32, "{AA3333}%s", plate);
  36364. else if(strcmp(color, "green", true)==0) format(PlayerVehicleInfo[playerid][d][pvNumberPlate], 32, "{33AA33}%s", plate);
  36365. else if(strcmp(color, "purple", true)==0) format(PlayerVehicleInfo[playerid][d][pvNumberPlate], 32, "{C2A2DA}%s", plate);
  36366. else if(strcmp(color, "yellow", true)==0) format(PlayerVehicleInfo[playerid][d][pvNumberPlate], 32, "{FFFF00}%s", plate);
  36367. else if(strcmp(color, "lightblue", true)==0) format(PlayerVehicleInfo[playerid][d][pvNumberPlate], 32, "{33CCFF}%s", plate);
  36368. else if(strcmp(color, "darkgreen", true)==0) format(PlayerVehicleInfo[playerid][d][pvNumberPlate], 32, "{2D6F00}%s", plate);
  36369. else if(strcmp(color, "darkblue", true)==0) format(PlayerVehicleInfo[playerid][d][pvNumberPlate], 32, "{0B006F}%s", plate);
  36370. else if(strcmp(color, "darkgrey", true)==0) format(PlayerVehicleInfo[playerid][d][pvNumberPlate], 32, "{525252}%s", plate);
  36371. else if(strcmp(color, "gold", true)==0) format(PlayerVehicleInfo[playerid][d][pvNumberPlate], 32, "{B46F00}%s", plate);
  36372. else if(strcmp(color, "darkbrown", true)==0||strcmp(color, "dennell", true)==0) format(PlayerVehicleInfo[playerid][d][pvNumberPlate], 32, "{814F00}%s", plate);
  36373. else if(strcmp(color, "darkred", true)==0) format(PlayerVehicleInfo[playerid][d][pvNumberPlate], 32, "{750A00}%s", plate);
  36374. else if(strcmp(color, "pink", true)==0) format(PlayerVehicleInfo[playerid][d][pvNumberPlate], 32, "{FF51F1}%s", plate);
  36375. else strmid(PlayerVehicleInfo[playerid][d][pvNumberPlate], plate, 0, strlen(plate), 32);
  36376. GetPlayerPos(PlayerVehicleInfo[playerid][d][pvId], PlayerInfo[playerid][pPos_x], PlayerInfo[playerid][pPos_y], PlayerInfo[playerid][pPos_z]);
  36377. GetVehicleZAngle(PlayerVehicleInfo[playerid][d][pvId], PlayerInfo[playerid][pPos_r]);
  36378. cmd_park(playerid, params);
  36379. //UpdatePlayerVehicleParkPosition(playerid, PlayerVehicleInfo[playerid][d][pvId], PlayerInfo[playerid][pPos_x], PlayerInfo[playerid][pPos_y], PlayerInfo[playerid][pPos_z], PlayerInfo[playerid][pPos_r], 1000.0);
  36380. }
  36381. }
  36382. if(iCount != 1)
  36383. return SendClientMessage(playerid, COLOR_GREY, "You need to be inside of the vehicle you want to change the plates on.");
  36384. return 1;
  36385. }
  36386. CMD:adjustrankname(playerid, params[])
  36387. {
  36388. if(PlayerInfo[playerid][pGang] == 255)
  36389. {
  36390. SendClientMessage(playerid, COLOR_GREY, "You're not in a family.");
  36391. return 1;
  36392. }
  36393. new family = PlayerInfo[playerid][pGang];
  36394. new string[128], rank, rankname[32];
  36395. if(sscanf(params, "ds[32]", rank, rankname)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /adjustrankname [rank number 1-6] [rank name]");
  36396. if(PlayerInfo[playerid][pRank] == 6)
  36397. {
  36398. if(rank < 1 || rank > 6)
  36399. {
  36400. SendClientMessage(playerid, COLOR_GREY, "Rank number must be from 1 to 6.");
  36401. return 1;
  36402. }
  36403. if(strlen(rankname) >= 19)
  36404. {
  36405. SendClientMessage(playerid, COLOR_GRAD1, "That rank name is too long, please refrain from using more than 19 characters.");
  36406. return 1;
  36407. }
  36408. if(rank == 1)
  36409. {
  36410. strmid(FamilyInfo[family][FamilyRank1], rankname, 0, strlen(rankname), 32);
  36411. SaveFamilies();
  36412. format(string, sizeof(string), "* You have changed Rank 1 to %s.",rankname);
  36413. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  36414. }
  36415. if(rank == 2)
  36416. {
  36417. strmid(FamilyInfo[family][FamilyRank2], rankname, 0, strlen(rankname), 32);
  36418. SaveFamilies();
  36419. format(string, sizeof(string), "* You have changed Rank 2 to %s.",rankname);
  36420. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  36421. }
  36422. if(rank == 3)
  36423. {
  36424. strmid(FamilyInfo[family][FamilyRank3], rankname, 0, strlen(rankname), 32);
  36425. SaveFamilies();
  36426. format(string, sizeof(string), "* You have changed Rank 3 to %s.",rankname);
  36427. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  36428. }
  36429. if(rank == 4)
  36430. {
  36431. strmid(FamilyInfo[family][FamilyRank4], rankname, 0, strlen(rankname), 32);
  36432. SaveFamilies();
  36433. format(string, sizeof(string), "* You have changed Rank 4 to %s.",rankname);
  36434. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  36435. }
  36436. if(rank == 5)
  36437. {
  36438. strmid(FamilyInfo[family][FamilyRank5], rankname, 0, strlen(rankname), 32);
  36439. SaveFamilies();
  36440. format(string, sizeof(string), "* You have changed Rank 5 to %s.",rankname);
  36441. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  36442. }
  36443. if(rank == 6)
  36444. {
  36445. strmid(FamilyInfo[family][FamilyRank6], rankname, 0, strlen(rankname), 32);
  36446. SaveFamilies();
  36447. format(string, sizeof(string), "* You have changed Rank 6 to %s.",rankname);
  36448. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  36449. }
  36450. format(string, sizeof(string), "%s adjusted family %d's rank %d to %s", GetPlayerNameEx(playerid), family+1, rank, rankname);
  36451. Log("logs/family.log", string);
  36452. }
  36453. else
  36454. {
  36455. SendClientMessage(playerid, COLOR_GREY, " You're not high rank enough to use this command!");
  36456. return 1;
  36457. }
  36458. return 1;
  36459. }
  36460. CMD:gpark(playerid, params[])
  36461. {
  36462. new string[128];
  36463. new f = PlayerInfo[playerid][pGang];
  36464. if(f == 255) return SendClientMessage(playerid, COLOR_GRAD2, "You're not in a family.");
  36465. if(PlayerInfo[playerid][pRank] < 5) return SendClientMessage(playerid, COLOR_GRAD2, "You need to be at least rank 5 in the family.");
  36466. for(new d = 0 ; d < MAX_GANG_VEHICLES; d++)
  36467. {
  36468. if(IsPlayerInVehicle(playerid, FamilyVehicleInfo[f][d][fvId]))
  36469. {
  36470. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, COLOR_GREY, "You must be in the driver seat.");
  36471. new Float:x, Float:y, Float:z, Float:angle, Float:health;
  36472. GetVehicleHealth(FamilyVehicleInfo[f][d][fvId], health);
  36473. if(health < 800) return SendClientMessage(playerid, COLOR_GREY, " The vehicle is too damaged to park it.");
  36474. if(PlayerInfo[playerid][pLockCar] == GetPlayerVehicleID(playerid)) PlayerInfo[playerid][pLockCar] = INVALID_VEHICLE_ID;
  36475. GetVehiclePos(FamilyVehicleInfo[f][d][fvId], x, y, z);
  36476. GetVehicleZAngle(FamilyVehicleInfo[f][d][fvId], angle);
  36477. SurfingCheck(GetPlayerVehicleID(playerid));
  36478. UpdateGangVehicleParkPosition(f, d, x, y, z, angle, health, 1);
  36479. FamilyVehicleInfo[f][d][fvSpawnx] = x;
  36480. FamilyVehicleInfo[f][d][fvSpawny] = y;
  36481. FamilyVehicleInfo[f][d][fvSpawnz] = z;
  36482. FamilyVehicleInfo[f][d][fvSpawna] = angle;
  36483. PutPlayerInVehicle(playerid, FamilyVehicleInfo[f][d][fvId], 0);
  36484. format(string, sizeof(string), "* %s has parked their vehicle.", GetPlayerNameEx(playerid));
  36485. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  36486. SaveFamiliesHQ();
  36487. return 1;
  36488. }
  36489. }
  36490. SendClientMessage(playerid, COLOR_GREY, " You need to be inside a vehicle that you own.");
  36491. return 1;
  36492. }
  36493. CMD:gvlock(playerid, params[])
  36494. {
  36495. new Float: x, Float: y, Float: z;
  36496. new f = PlayerInfo[playerid][pGang];
  36497. if(f == 255) return SendClientMessage(playerid, COLOR_GRAD2, "You're not in a family.");
  36498. for(new d = 0 ; d < MAX_GANG_VEHICLES; d++)
  36499. {
  36500. if(FamilyVehicleInfo[f][d][fvId] != 0) GetVehiclePos(FamilyVehicleInfo[f][d][fvId], x, y, z);
  36501. if(IsPlayerInRangeOfPoint(playerid, 3.0, x, y, z))
  36502. {
  36503. if(FamilyVehicleInfo[f][d][fvLock] > 0 && FamilyVehicleInfo[f][d][fvLocked] == 0)
  36504. {
  36505. GameTextForPlayer(playerid,"~r~Vehicle Locked!",5000,6);
  36506. PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
  36507. FamilyVehicleInfo[f][d][fvLocked] = 1;
  36508. LockGangVehicle(f, FamilyVehicleInfo[f][d][fvId], FamilyVehicleInfo[f][d][fvLock]);
  36509. return 1;
  36510. }
  36511. else if(FamilyVehicleInfo[f][d][fvLock] > 0 && FamilyVehicleInfo[f][d][fvLocked] == 1)
  36512. {
  36513. GameTextForPlayer(playerid,"~g~Vehicle Unlocked!",5000,6);
  36514. PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
  36515. FamilyVehicleInfo[f][d][fvLocked] = 0;
  36516. UnLockGangVehicle(f, FamilyVehicleInfo[f][d][fvId], FamilyVehicleInfo[f][d][fvLock]);
  36517. return 1;
  36518. }
  36519. SendClientMessage(playerid, COLOR_GREY, " You don't have a lock system installed on this vehicle.");
  36520. return 1;
  36521. }
  36522. }
  36523. SendClientMessage(playerid, COLOR_GREY, "You're not near any vehicle that your family owns.");
  36524. return 1;
  36525. }
  36526. CMD:gvl(playerid, params[]) return cmd_gvlock(playerid, params);
  36527. CMD:gbuylock(playerid, params[])
  36528. {
  36529. if(!IsAt247(playerid))
  36530. {
  36531. SendClientMessage(playerid, COLOR_GRAD2, " You're not in a 24-7!");
  36532. return 1;
  36533. }
  36534. if(PlayerInfo[playerid][pGang] != 255 && PlayerInfo[playerid][pRank] >= 6)
  36535. {
  36536. ShowPlayerDialogEx(playerid, DIALOG_CDGLOCKBUY, DIALOG_STYLE_LIST, "24/7", "Alarm Lock $1000\nIndustrial Lock $5000", "Buy", "Cancel");
  36537. }
  36538. else
  36539. {
  36540. SendClientMessage(playerid, COLOR_GRAD2, "You need to be in a family and have rank 6 to use this command.");
  36541. }
  36542. return 1;
  36543. }
  36544. CMD:skill(playerid, params[])
  36545. {
  36546. if(isnull(params))
  36547. {
  36548. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /skill [number]");
  36549. SendClientMessage(playerid, COLOR_GREY, "| 1: Detective 7: Car Mechanic");
  36550. SendClientMessage(playerid, COLOR_GREY, "| 2: Lawyer 8: Boxer");
  36551. SendClientMessage(playerid, COLOR_GREY, "| 3: Whore 9: Fishing");
  36552. SendClientMessage(playerid, COLOR_GREY, "| 4: Drugs Dealer 10: Trucker");
  36553. SendClientMessage(playerid, COLOR_GREY, "| 5: Drug Smuggler 11: Car Jacker ");
  36554. SendClientMessage(playerid, COLOR_GREY, "| 6: Arms Dealer");
  36555. //SendClientMessage(playerid, COLOR_GREY, "| 6: Arms Dealer 12: Craftsman");
  36556. return 1;
  36557. }
  36558. else switch(strval(params)) {
  36559. case 1: //Detective
  36560. {
  36561. new level = PlayerInfo[playerid][pDetSkill], string[48];
  36562. if(level >= 0 && level <= 50) { SendClientMessage(playerid, COLOR_YELLOW, "Your Detective Skill Level = 1."); format(string, sizeof(string), "You need to find %d more people to level up.",51 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36563. else if(level >= 51 && level <= 100) { SendClientMessage(playerid, COLOR_YELLOW, "Your Detective Skill Level = 2."); format(string, sizeof(string), "You need to find %d more people to level up.", 101 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36564. else if(level >= 101 && level <= 200) { SendClientMessage(playerid, COLOR_YELLOW, "Your Detective Skill Level = 3."); format(string, sizeof(string), "You need to find %d more people to level up.", 201 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36565. else if(level >= 201 && level <= 400) { SendClientMessage(playerid, COLOR_YELLOW, "Your Detective Skill Level = 4."); format(string, sizeof(string), "You need to find %d more people to level up.", 401 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36566. else if(level >= 401) { SendClientMessage(playerid, COLOR_YELLOW, "Your Detective Skill Level = 5."); }
  36567. }
  36568. case 2://Lawyer
  36569. {
  36570. new level = PlayerInfo[playerid][pLawSkill], string[48];
  36571. if(level >= 0 && level <= 50) { SendClientMessage(playerid, COLOR_YELLOW, "Your Lawyer Skill Level = 1."); format(string, sizeof(string), "You need to free %d more people to level up.",51 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36572. else if(level >= 51 && level <= 100) { SendClientMessage(playerid, COLOR_YELLOW, "Your Lawyer Skill Level = 2."); format(string, sizeof(string), "You need to free %d more people to level up.", 101 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36573. else if(level >= 101 && level <= 200) { SendClientMessage(playerid, COLOR_YELLOW, "Your Lawyer Skill Level = 3."); format(string, sizeof(string), "You need to free %d more people to level up.", 201 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36574. else if(level >= 201 && level <= 400) { SendClientMessage(playerid, COLOR_YELLOW, "Your Lawyer Skill Level = 4."); format(string, sizeof(string), "You need to free %d more people to level up.", 401 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36575. else if(level >= 401) { SendClientMessage(playerid, COLOR_YELLOW, "Your Lawyer Skill Level = 5."); }
  36576. }
  36577. case 3://Whore
  36578. {
  36579. new level = PlayerInfo[playerid][pSexSkill], string[48];
  36580. if(level >= 0 && level <= 50) { SendClientMessage(playerid, COLOR_YELLOW, "Your Whore Skill Level = 1."); format(string, sizeof(string), "You need to have sex %d times more to level up.", 50- level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36581. else if(level >= 51 && level <= 100) { SendClientMessage(playerid, COLOR_YELLOW, "Your Whore Skill Level = 2."); format(string, sizeof(string), "You need to have sex %d times more to level up.", 101 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36582. else if(level >= 101 && level <= 200) { SendClientMessage(playerid, COLOR_YELLOW, "Your Whore Skill Level = 3."); format(string, sizeof(string), "You need to have sex %d times more to level up.", 201 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36583. else if(level >= 201 && level <= 400) { SendClientMessage(playerid, COLOR_YELLOW, "Your Whore Skill Level = 4."); format(string, sizeof(string), "You need to have sex %d times more to level up.", 401 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36584. else if(level >= 401) { SendClientMessage(playerid, COLOR_YELLOW, "Your Whore Skill Level = 5."); }
  36585. }
  36586. case 4://Drugs Dealer
  36587. {
  36588. new level = PlayerInfo[playerid][pDrugsSkill], string[50];
  36589. if(level >= 0 && level <= 50) { SendClientMessage(playerid, COLOR_YELLOW, "Your Drug Dealer Skill Level = 1."); format(string, sizeof(string), "You need to sell drugs %d times more to level up.",51 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36590. else if(level >= 51 && level <= 100) { SendClientMessage(playerid, COLOR_YELLOW, "Your Drug Dealer Skill Level = 2."); format(string, sizeof(string), "You need to sell drugs %d times more to level up.", 101 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36591. else if(level >= 101 && level <= 200) { SendClientMessage(playerid, COLOR_YELLOW, "Your Drug Dealer Skill Level = 3."); format(string, sizeof(string), "You need to sell drugs %d times more to level up.", 201 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36592. else if(level >= 201 && level <= 400) { SendClientMessage(playerid, COLOR_YELLOW, "Your Drug Dealer Skill Level = 4."); format(string, sizeof(string), "You need to sell drugs %d times more to level up.", 401 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36593. else if(level >= 401) { SendClientMessage(playerid, COLOR_YELLOW, "Your Drug Dealer Skill Level = 5."); }
  36594. }
  36595. case 5://Drug Smuggling
  36596. {
  36597. new level = PlayerInfo[playerid][pSmugSkill], string[53];
  36598. if(level >= 0 && level <= 50) { SendClientMessage(playerid, COLOR_YELLOW, "Your Drug Smuggling Skill Level = 1."); format(string, sizeof(string), "You need to smuggle %d more drug crates to level up.",51 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36599. else if(level >= 51 && level <= 100) { SendClientMessage(playerid, COLOR_YELLOW, "Your Drug Smuggling Skill Level = 2."); format(string, sizeof(string), "You need to smuggle %d more drug crates to level up.", 101 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36600. else if(level >= 101 && level <= 200) { SendClientMessage(playerid, COLOR_YELLOW, "Your Drug Smuggling Skill Level = 3."); format(string, sizeof(string), "You need to smuggle %d more drug crates to level up.", 201 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36601. else if(level >= 201 && level <= 400) { SendClientMessage(playerid, COLOR_YELLOW, "Your Drug Smuggling Skill Level = 4."); format(string, sizeof(string), "You need to smuggle %d more drug crates to level up.", 401 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36602. else if(level >= 401) { SendClientMessage(playerid, COLOR_YELLOW, "Your Drug Smuggling Skill Level = 5."); }
  36603. }
  36604. case 6://Arms Dealer
  36605. {
  36606. new level = PlayerInfo[playerid][pArmsSkill], string[48];
  36607. if(level >= 0 && level < 50) { SendClientMessage(playerid, COLOR_YELLOW, "Your Arms Dealer Skill Level = 1."); format(string, sizeof(string), "You need to sell %d more guns to level up.",51 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36608. else if(level >= 50 && level < 100) { SendClientMessage(playerid, COLOR_YELLOW, "Your Arms Dealer Skill Level = 2."); format(string, sizeof(string), "You need to sell %d more guns to level up.", 101 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36609. else if(level >= 100 && level < 200) { SendClientMessage(playerid, COLOR_YELLOW, "Your Arms Dealer Skill Level = 3."); format(string, sizeof(string), "You need to sell %d more guns to level up.", 201 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36610. else if(level >= 200 && level < 400) { SendClientMessage(playerid, COLOR_YELLOW, "Your Arms Dealer Skill Level = 4."); format(string, sizeof(string), "You need to sell %d more guns to level up.", 401 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36611. else if(level >= 400) { SendClientMessage(playerid, COLOR_YELLOW, "Your Arms Dealer Skill Level = 5."); }
  36612. }
  36613. case 7://Car Mechanic
  36614. {
  36615. new level = PlayerInfo[playerid][pMechSkill], string[60];
  36616. if(level >= 0 && level <= 50) { SendClientMessage(playerid, COLOR_YELLOW, "Your Car Mechanic Skill Level = 1."); format(string, sizeof(string), "You need to fix/refill a car for %d times more to level up.",51 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36617. else if(level >= 51 && level <= 100) { SendClientMessage(playerid, COLOR_YELLOW, "Your Car Mechanic Skill Level = 2."); format(string, sizeof(string), "You need to fix/refill a car for %d times more to level up.", 101 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36618. else if(level >= 101 && level <= 200) { SendClientMessage(playerid, COLOR_YELLOW, "Your Car Mechanic Skill Level = 3."); format(string, sizeof(string), "You need to fix/refill a car for %d times more to level up.", 201 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36619. else if(level >= 201 && level <= 400) { SendClientMessage(playerid, COLOR_YELLOW, "Your Car Mechanic Skill Level = 4."); format(string, sizeof(string), "You need to fix/refill a car for %d times more to level up.", 401 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36620. else if(level >= 401) { SendClientMessage(playerid, COLOR_YELLOW, "Your Car Mechanic Skill Level = 5."); }
  36621. }
  36622. case 8://Boxer
  36623. {
  36624. new level = PlayerInfo[playerid][pBoxSkill], string[48];
  36625. if(level >= 0 && level <= 50) { SendClientMessage(playerid, COLOR_YELLOW, "Your Boxing Skill Level = 1."); format(string, sizeof(string), "You need to Win %d more Matches to level up.",51 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36626. else if(level >= 51 && level <= 100) { SendClientMessage(playerid, COLOR_YELLOW, "Your Boxing Skill Level = 2."); format(string, sizeof(string), "You need to Win %d more Matches to level up.", 101 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36627. else if(level >= 101 && level <= 200) { SendClientMessage(playerid, COLOR_YELLOW, "Your Boxing Skill Level = 3."); format(string, sizeof(string), "You need to Win %d more Matches to level up.", 201 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36628. else if(level >= 201 && level <= 400) { SendClientMessage(playerid, COLOR_YELLOW, "Your Boxing Skill Level = 4."); format(string, sizeof(string), "You need to Win %d more Matches to level up.", 401 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36629. else if(level >= 401) { SendClientMessage(playerid, COLOR_YELLOW, "Your Boxing Skill Level = 5."); }
  36630. }
  36631. case 9://Fishing
  36632. {
  36633. new level = PlayerInfo[playerid][pFishSkill], string[48];
  36634. if(level >= 0 && level <= 50) { SendClientMessage(playerid, COLOR_YELLOW, "Your Fishing Skill Level = 1."); format(string, sizeof(string), "You need to Fish %d more Fishes to level up.",51 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36635. else if(level >= 51 && level <= 100) { SendClientMessage(playerid, COLOR_YELLOW, "Your Fishing Skill Level = 2."); format(string, sizeof(string), "You need to Fish %d more Fishes to level up.", 101 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36636. else if(level >= 101 && level <= 200) { SendClientMessage(playerid, COLOR_YELLOW, "Your Fishing Skill Level = 3."); format(string, sizeof(string), "You need to Fish %d more Fishes to level up.", 201 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36637. else if(level >= 201 && level <= 400) { SendClientMessage(playerid, COLOR_YELLOW, "Your Fishing Skill Level = 4."); format(string, sizeof(string), "You need to Fish %d more Fishes to level up.", 401 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36638. else if(level >= 401) { SendClientMessage(playerid, COLOR_YELLOW, "Your Fishing Skill Level = 5."); }
  36639. }
  36640. case 10://Trucker
  36641. {
  36642. new level = PlayerInfo[playerid][pTruckSkill], string[50];
  36643. if(level >= 0 && level <= 50) { SendClientMessage(playerid, COLOR_YELLOW, "Your Trucker Skill Level = 1."); format(string, sizeof(string), "You need to transport goods %d times to level up.",51 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36644. else if(level >= 51 && level <= 100) { SendClientMessage(playerid, COLOR_YELLOW, "Your Trucker Skill Level = 2."); format(string, sizeof(string), "You need to transport goods %d times to level up.", 101 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36645. else if(level >= 101 && level <= 200) { SendClientMessage(playerid, COLOR_YELLOW, "Your Trucker Skill Level = 3."); format(string, sizeof(string), "You need to transport goods %d times to level up.", 201 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36646. else if(level >= 201 && level <= 400) { SendClientMessage(playerid, COLOR_YELLOW, "Your Trucker Skill Level = 4."); format(string, sizeof(string), "You need to transport goods %d times to level up.", 401 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36647. else if(level >= 401) { SendClientMessage(playerid, COLOR_YELLOW, "Your Trucker Skill Level = 5."); }
  36648. }
  36649. case 11://Car Jacker
  36650. {
  36651. new level = PlayerInfo[playerid][pCarSkill], string[50];
  36652. if(level >= 0 && level <= 50) { SendClientMessage(playerid, COLOR_YELLOW, "Your Car Jacker Skill Level = 1."); format(string, sizeof(string), "You need to deliver %d more cars to level up.",51 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36653. else if(level >= 51 && level <= 100) { SendClientMessage(playerid, COLOR_YELLOW, "Your Car Jacker Skill Level = 2."); format(string, sizeof(string), "You need to deliver %d more cars to level up.", 101 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36654. else if(level >= 101 && level <= 200) { SendClientMessage(playerid, COLOR_YELLOW, "Your Car Jacker Skill Level = 3."); format(string, sizeof(string), "You need to deliver %d more cars to level up.", 201 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36655. else if(level >= 201 && level <= 400) { SendClientMessage(playerid, COLOR_YELLOW, "Your Car Jacker Skill Level = 4."); format(string, sizeof(string), "You need to deliver %d more cars to level up.", 401 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36656. else if(level >= 401) { SendClientMessage(playerid, COLOR_YELLOW, "Your Car Jacker Skill Level = 5."); }
  36657. }
  36658. /*case 12:// Craftsman
  36659. {
  36660. new level = PlayerInfo[playerid][pCraftSkill], string[50];
  36661. if(level >= 0 && level <= 50) { SendClientMessage(playerid, COLOR_YELLOW, "Your Craftsman Skill Level = 1."); format(string, sizeof(string), "You need to craft %d more items to level up.", 51 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36662. else if(level >= 51 && level <= 100) { SendClientMessage(playerid, COLOR_YELLOW, "Your Craftsman Skill Level = 2."); format(string, sizeof(string), "You need to craft %d more items to level up.", 101 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36663. else if(level >= 101 && level <= 200) { SendClientMessage(playerid, COLOR_YELLOW, "Your Craftsman Skill Level = 3."); format(string, sizeof(string), "You need to craft %d more items to level up.", 201 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36664. else if(level >= 201 && level <= 400) { SendClientMessage(playerid, COLOR_YELLOW, "Your Craftsman Skill Level = 4."); format(string, sizeof(string), "You need to craft %d more items to level up.", 401 - level); SendClientMessage(playerid, COLOR_YELLOW, string); }
  36665. else if(level >= 401) { SendClientMessage(playerid, COLOR_YELLOW, "Your Craftsman Skill Level = 5."); }
  36666. }*/
  36667. default:
  36668. {
  36669. SendClientMessage(playerid, COLOR_GREY, "Invalid skill number specified.");
  36670. }
  36671. }
  36672. return 1;
  36673. }
  36674. CMD:sex(playerid, params[])
  36675. {
  36676. if(PlayerInfo[playerid][pJob] == 3 || PlayerInfo[playerid][pJob2] == 3)
  36677. {
  36678. if(!IsPlayerInAnyVehicle(playerid))
  36679. {
  36680. SendClientMessage(playerid, COLOR_GREY, " You can only have Sex in a Car!");
  36681. return 1;
  36682. }
  36683. new Car = GetPlayerVehicleID(playerid);
  36684. new string[128], giveplayerid, money;
  36685. if(sscanf(params, "ud", giveplayerid, money)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /sex [playerid/partofname] [price]");
  36686. if(money < 1 || money > 10000) { SendClientMessage(playerid, COLOR_GREY, " Price not lower then $1 or above $10,000!"); return 1; }
  36687. if(IsPlayerConnected(giveplayerid))
  36688. {
  36689. if(giveplayerid != INVALID_PLAYER_ID)
  36690. {
  36691. if(ProxDetectorS(8.0, playerid, giveplayerid))
  36692. {
  36693. if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "You can't have Sex with yourself!"); return 1; }
  36694. if(IsPlayerInAnyVehicle(playerid) && IsPlayerInVehicle(giveplayerid, Car))
  36695. {
  36696. if(PlayerInfo[playerid][pSexTime] < 1)
  36697. {
  36698. format(string, sizeof(string), "* You Offered %s to have Sex with you, for $%d.", GetPlayerNameEx(giveplayerid), money);
  36699. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  36700. format(string, sizeof(string), "* Whore %s has Offered you to have Sex with them, for $%d (type /accept sex) to accept.", GetPlayerNameEx(playerid), money);
  36701. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  36702. SexOffer[giveplayerid] = playerid;
  36703. SexPrice[giveplayerid] = money;
  36704. PlayerInfo[playerid][pSexTime] = 60;
  36705. }
  36706. else
  36707. {
  36708. SendClientMessage(playerid, COLOR_GRAD2, " You have already had sex, wait for your reload time to finish!");
  36709. return 1;
  36710. }
  36711. }
  36712. else
  36713. {
  36714. SendClientMessage(playerid, COLOR_GREY, " You or the other player must be in a Car together!");
  36715. return 1;
  36716. }
  36717. }
  36718. else
  36719. {
  36720. SendClientMessage(playerid, COLOR_GREY, "That player isn't near you.");
  36721. return 1;
  36722. }
  36723. }
  36724. }
  36725. else
  36726. {
  36727. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  36728. return 1;
  36729. }
  36730. }
  36731. else
  36732. {
  36733. SendClientMessage(playerid, COLOR_GREY, " You're not a Whore!");
  36734. }
  36735. return 1;
  36736. }
  36737. forward whereabouts(playerid, targetid);
  36738. public whereabouts(playerid, targetid)
  36739. {
  36740. new string[128];
  36741. if(GetPVarInt(targetid, "DoorID") != 99999)
  36742. {
  36743. new i = GetPVarInt(targetid, "DoorID");
  36744. format(string, sizeof(string), "SMS: Sources last seen %s go inside %s, Sender: Unknown.", GetPlayerNameEx(targetid), DDoorsInfo[i][ddDescription]);
  36745. SCM(playerid, COLOR_YELLOW, string);
  36746. }
  36747. else if(GetPVarInt(targetid, "HouseID") != -1)
  36748. {
  36749. new i = GetPVarInt(targetid, "HouseID");
  36750. format(string, sizeof(string), "SMS: Sources last seen %s go inside %s's house, Sender: Unknown.", GetPlayerNameEx(targetid), HouseInfo[i][hOwner]);
  36751. SCM(playerid, COLOR_YELLOW, string);
  36752. }
  36753. return 1;
  36754. }
  36755. CMD:find(playerid, params[]) {
  36756. if(PlayerInfo[playerid][pJob] != 1 && PlayerInfo[playerid][pJob2] != 1) {
  36757. SendClientMessage(playerid, COLOR_GREY, "You're not a detective.");
  36758. }
  36759. else if(UsedFind[playerid]) {
  36760. SendClientMessage(playerid, COLOR_GREY, "You've already searched for someone - wait a little.");
  36761. }
  36762. else {
  36763. new
  36764. iTargetID;
  36765. if(sscanf(params, "u", iTargetID)) {
  36766. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /find [playerid/partofname]");
  36767. }
  36768. else if(iTargetID == playerid) {
  36769. SendClientMessage(playerid, COLOR_GREY, "You can't use this command on yourself.");
  36770. }
  36771. else if(!IsPlayerConnected(iTargetID)) {
  36772. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  36773. }
  36774. else if(PlayerInfo[iTargetID][pAdmin] >= 1 && AdminDuty[iTargetID] == 1) {
  36775. SendClientMessage(playerid, COLOR_GREY, "You're unable to find this person.");
  36776. }
  36777. else {
  36778. switch(PlayerInfo[playerid][pDetSkill]) {
  36779. case 0 .. 50: {
  36780. FindTimePoints[playerid] = 4;
  36781. UsedFind[playerid] = 120;
  36782. }
  36783. case 51 .. 100: {
  36784. FindTimePoints[playerid] = 6;
  36785. UsedFind[playerid] = 90;
  36786. }
  36787. case 101 .. 200: {
  36788. FindTimePoints[playerid] = 8;
  36789. UsedFind[playerid] = 60;
  36790. }
  36791. case 201 .. 400: {
  36792. FindTimePoints[playerid] = 10;
  36793. UsedFind[playerid] = 30;
  36794. }
  36795. default: {
  36796. FindTimePoints[playerid] = 12;
  36797. UsedFind[playerid] = 15;
  36798. }
  36799. }
  36800. new szMessage[124];
  36801. if(GetPlayerInterior(iTargetID) != 0)
  36802. {
  36803. if(GetPVarInt(iTargetID, "DoorID") != 99999 || GetPVarInt(iTargetID, "HouseID") != -1)
  36804. {
  36805. format(szMessage, sizeof(szMessage), "SMS: I need the where-abouts of %s, Sender: %s (%d)", GetPlayerNameEx(iTargetID), GetPlayerNameEx(playerid), PlayerInfo[playerid][pNumber]);
  36806. SCM(playerid, COLOR_YELLOW, szMessage);
  36807. SetTimerEx("whereabouts", 6000, false, "ii", playerid, iTargetID);
  36808. return 1;
  36809. }
  36810. }
  36811. new
  36812. szZone[MAX_ZONE_NAME];
  36813. SetPlayerMarkerForPlayer(playerid, iTargetID, FIND_COLOR);
  36814. GetPlayer3DZone(iTargetID, szZone, sizeof(szZone));
  36815. format(szMessage, sizeof(szMessage), "%s has been last seen at %s.", GetPlayerNameEx(iTargetID), szZone);
  36816. SendClientMessage(playerid, COLOR_GRAD2, szMessage);
  36817. FindingPlayer[playerid]=iTargetID;
  36818. FindTime[playerid] = 1;
  36819. if(DoubleXP == 1)
  36820. {
  36821. new hour,minuite,second;
  36822. gettime(hour,minuite,second);
  36823. if(DoubleEXPcheck(hour))
  36824. {
  36825. PlayerInfo[playerid][pDetSkill] += 2;
  36826. SendClientMessage(playerid, COLOR_YELLOW, "* You have gained two skill points for this job due to double experience.");
  36827. }
  36828. /*else
  36829. {
  36830. SendClientMessage(playerid, COLOR_YELLOW, "* You have only gained one skill point for this job since it's not within the double experience hours.");
  36831. PlayerInfo[playerid][pDetSkill]++;
  36832. }*/
  36833. }
  36834. else
  36835. {
  36836. PlayerInfo[playerid][pDetSkill]++;
  36837. }
  36838. switch(PlayerInfo[playerid][pDetSkill]) {
  36839. case 50: SendClientMessage(playerid, COLOR_YELLOW, "* Your Detective Skill is now Level 2, you can find a little faster.");
  36840. case 100: SendClientMessage(playerid, COLOR_YELLOW, "* Your Detective Skill is now Level 3, you can find a little faster.");
  36841. case 200: SendClientMessage(playerid, COLOR_YELLOW, "* Your Detective Skill is now Level 4, you can find a little faster.");
  36842. case 400: SendClientMessage(playerid, COLOR_YELLOW, "* Your Detective Skill is now Level 5, you can find a little faster.");
  36843. }
  36844. }
  36845. }
  36846. return 1;
  36847. }
  36848. CMD:changepass(playerid, params[]) {
  36849. if(gPlayerLogged[playerid])
  36850. ShowPlayerDialogEx(playerid, 2398, DIALOG_STYLE_INPUT, "Password Change", "Please enter your new password:", "Change", "Cancel");
  36851. return 1;
  36852. }
  36853. CMD:givenos(playerid, params[])
  36854. {
  36855. if(PlayerInfo[playerid][pAdmin] >= 4)
  36856. {
  36857. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  36858. {
  36859. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  36860. return 1;
  36861. }
  36862. new string[128], giveplayerid;
  36863. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givenos [playerid/partofname]");
  36864. if(!IsPlayerConnected(giveplayerid))
  36865. {
  36866. SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  36867. return 1;
  36868. }
  36869. if(IsPlayerInAnyVehicle(giveplayerid))
  36870. {
  36871. new VehicleID = GetPlayerVehicleID(giveplayerid), Model = GetVehicleModel(VehicleID);
  36872. switch(Model)
  36873. {
  36874. case 448,461,462,463,468,471,509,510,521,522,523,581,586,449: return
  36875. SendClientMessage(playerid,COLOR_GRAD1,"You can't tune this vehicle!");
  36876. }
  36877. AddVehicleComponent(VehicleID, 1010); PlayerPlaySound(giveplayerid,1133,0.0,0.0,0.0); //NOS
  36878. format(string, sizeof(string), "Successfully added NOS to %s's vehicle.", GetPlayerNameEx(giveplayerid));
  36879. SendClientMessage(playerid,COLOR_GRAD1,string);
  36880. }
  36881. else
  36882. {
  36883. SendClientMessage(playerid,COLOR_GRAD1,"Player must be in a vehicle.");
  36884. }
  36885. }
  36886. else
  36887. {
  36888. SendClientMessage(playerid,COLOR_GRAD1,"You're not authorized to use that command!");
  36889. }
  36890. return 1;
  36891. }
  36892. CMD:blowup(playerid, params[])
  36893. {
  36894. new string[128], giveplayerid;
  36895. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /blowup [playerid/partofname]");
  36896. if(PlayerInfo[playerid][pAdmin] >= 4)
  36897. {
  36898. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  36899. {
  36900. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  36901. return 1;
  36902. }
  36903. if(IsPlayerConnected(giveplayerid))
  36904. {
  36905. format(string, sizeof(string), "You have successfuly exploded %s (ID: %d).",GetPlayerNameEx(giveplayerid),giveplayerid);
  36906. SendClientMessage(playerid,COLOR_GRAD2,string);
  36907. new Float:boomx, Float:boomy, Float:boomz;
  36908. GetPlayerPos(giveplayerid,boomx, boomy, boomz);
  36909. CreateExplosion(boomx, boomy , boomz, 7, 1);
  36910. }
  36911. else SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  36912. }
  36913. else
  36914. {
  36915. SendClientMessage(playerid, COLOR_GREY, "You're not authorized to use that command!");
  36916. }
  36917. return 1;
  36918. }
  36919. CMD:oldcar(playerid, params[])
  36920. {
  36921. if(PlayerInfo[playerid][pAdmin] >= 2)
  36922. {
  36923. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  36924. {
  36925. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  36926. return 1;
  36927. }
  36928. new string[128];
  36929. format(string, sizeof(string), "Your last driven vehicle ID was %d.",gLastCar[playerid]);
  36930. SendClientMessage(playerid, COLOR_GREY, string);
  36931. }
  36932. return 1;
  36933. }
  36934. CMD:gotocar(playerid, params[])
  36935. {
  36936. if(PlayerInfo[playerid][pAdmin] >= 2)
  36937. {
  36938. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  36939. {
  36940. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  36941. return 1;
  36942. }
  36943. new carid;
  36944. if(sscanf(params, "d", carid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /gotocar [carid]");
  36945. new Float:cwx2,Float:cwy2,Float:cwz2;
  36946. GetVehiclePos(carid, cwx2, cwy2, cwz2);
  36947. if(GetPlayerState(playerid) == 2)
  36948. {
  36949. new tmpcar = GetPlayerVehicleID(playerid);
  36950. SetVehiclePos(tmpcar, cwx2, cwy2, cwz2);
  36951. TelePos[playerid][0] = 0.0;TelePos[playerid][1] = 0.0;
  36952. fVehSpeed[playerid] = 0.0;
  36953. }
  36954. else
  36955. {
  36956. SetPlayerPos(playerid, cwx2, cwy2, cwz2);
  36957. }
  36958. new string[128];
  36959. format(string, sizeof(string), "You have teleported to vehicle ID %d.", carid);
  36960. SendClientMessage(playerid, COLOR_GRAD1, string);
  36961. SetPlayerInterior(playerid,0);
  36962. }
  36963. else
  36964. {
  36965. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  36966. }
  36967. return 1;
  36968. }
  36969. CMD:getcar(playerid, params[])
  36970. {
  36971. if(PlayerInfo[playerid][pAdmin] >= 2)
  36972. {
  36973. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  36974. {
  36975. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  36976. return 1;
  36977. }
  36978. new carid;
  36979. if(sscanf(params, "d", carid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /getcar [carid]");
  36980. new Float:plocx,Float:plocy,Float:plocz;
  36981. GetPlayerPos(playerid, plocx, plocy, plocz);
  36982. SetVehiclePos(carid,plocx,plocy+4, plocz);
  36983. SetVehicleVirtualWorld(carid, GetPlayerVirtualWorld(playerid));
  36984. LinkVehicleToInterior(carid, GetPlayerInterior(playerid));
  36985. new string[128];
  36986. format(string, sizeof(string), "You have teleported vehicle ID %d to yourself.", carid);
  36987. SendClientMessage(playerid, COLOR_GRAD1, string);
  36988. }
  36989. else
  36990. {
  36991. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  36992. }
  36993. return 1;
  36994. }
  36995. CMD:changeuserpassword(playerid, params[])
  36996. {
  36997. if(PlayerInfo[playerid][pAdmin] < 5)
  36998. {
  36999. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  37000. return 1;
  37001. }
  37002. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  37003. {
  37004. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  37005. return 1;
  37006. }
  37007. new string[128], accountName[24], password[64];
  37008. if(sscanf(params, "s[MAX_PLAYER_NAME]s[64]", accountName, password)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /changeuserpassword [playername] [new password]");
  37009. if(doesAccountExist(accountName))
  37010. {
  37011. OnPlayerOfflineLogin(accountName);
  37012. if(PlayerInfo[MAX_PLAYERS][pAdmin] > 0)
  37013. return SendClientMessage(playerid, COLOR_GRAD2, " You can't do this to other admins!");
  37014. new passbuffer[129];
  37015. WP_Hash(passbuffer, sizeof(passbuffer), password);
  37016. format(PlayerInfo[MAX_PLAYERS][pKey], 129, "%s", passbuffer);
  37017. format(string, sizeof(string), "You have changed %s's password to '%s'", accountName, password);
  37018. SendClientMessage(playerid, COLOR_YELLOW, string);
  37019. OnPlayerOfflineSave(accountName);
  37020. format(string, sizeof(string), "AdmCmd: %s's password was changed by %s", accountName, GetPlayerNameEx(playerid));
  37021. Log("logs/password.log", string);
  37022. ABroadCast(COLOR_LIGHTRED,string,1);
  37023. }
  37024. else
  37025. {
  37026. SendClientMessage(playerid, COLOR_WHITE, "That account doesn't exist.");
  37027. }
  37028. return 1;
  37029. }
  37030. CMD:sethelper(playerid, params[])
  37031. {
  37032. if(PlayerInfo[playerid][pAdmin] >= 4 || PlayerInfo[playerid][pHelper] >= 3 || PlayerInfo[playerid][pHelperMod] > 0)
  37033. {
  37034. new
  37035. iLevel,
  37036. iTarget;
  37037. if(sscanf(params, "ud", iTarget, iLevel))
  37038. return SendClientMessage(playerid, COLOR_GREY, "USAGE: /sethelper [playerid/partofname] [level]");
  37039. if(iLevel <= -1 || iLevel >= 5)
  37040. return SendClientMessage(playerid, COLOR_GREY, "Valid helper levels start from 1 and end at 4.");
  37041. if(iTarget != INVALID_PLAYER_ID) {
  37042. if(PlayerInfo[iTarget][pAdmin] > 0)
  37043. return SendClientMessage(playerid, COLOR_GREY, "You can't make an admin a helper.");
  37044. if(iLevel >= 2 && PlayerInfo[playerid][pAdmin] < 5)
  37045. return SendClientMessage(playerid, COLOR_GREY, "You must be a Head Admin to give someone Senior Helper status.");
  37046. PlayerInfo[iTarget][pHelper] = iLevel;
  37047. new
  37048. szMessage[64];
  37049. if(PlayerInfo[iTarget][pAcceptReport] > 0)
  37050. PlayerInfo[iTarget][pAcceptReport] = 0;
  37051. format(szMessage, sizeof(szMessage), "You have made %s a level %d helper.", GetPlayerNameEx(iTarget), iLevel);
  37052. SendClientMessage(playerid, COLOR_WHITE, szMessage);
  37053. format(szMessage, sizeof(szMessage), "%s has made you a level %d helper.", GetPlayerNameEx(playerid), iLevel);
  37054. SendClientMessage(iTarget, COLOR_WHITE, szMessage);
  37055. }
  37056. else SendClientMessage(playerid, COLOR_GRAD2, "Invalid player specified.");
  37057. }
  37058. else SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  37059. return 1;
  37060. }
  37061. CMD:osethelper(playerid, params[]) {
  37062. if(PlayerInfo[playerid][pHelperMod] > 0) {
  37063. new string[128], playername[MAX_PLAYER_NAME], rank;
  37064. if(sscanf(params, "s[MAX_PLAYER_NAME]d", playername, rank)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /osethelper [name] [level]");
  37065. if(!doesAccountExist(playername))
  37066. return SendClientMessage(playerid, COLOR_WHITE, "That account does not exist!");
  37067. if(rank <= -1 || rank >= 6)
  37068. return SendClientMessage(playerid, COLOR_GREY, "Valid helper levels start from 1 and end at 4.");
  37069. OnPlayerOfflineLogin(playername);
  37070. if(rank >= 3 && PlayerInfo[playerid][pHelperMod] > 0)
  37071. return SendClientMessage(playerid, COLOR_GREY, "Only Helper Moderator may set that helper status.");
  37072. if(PlayerInfo[MAX_PLAYERS][pHelper] >= 1) {
  37073. PlayerInfo[MAX_PLAYERS][pHelper] = rank;
  37074. format(string, sizeof(string), "You have given %s level %d helper.", playername, rank);
  37075. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  37076. OnPlayerOfflineSave(playername);
  37077. }
  37078. else SendClientMessage(playerid, COLOR_WHITE, "That player is not an helper");
  37079. }
  37080. else SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command.");
  37081. return 1;
  37082. }
  37083. /*CMD:vdb(playerid, params[])
  37084. {
  37085. if(PlayerInfo[playerid][pVDB] == 1)
  37086. {
  37087. if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  37088. {
  37089. PlayerTextDrawHide(playerid, VDB1[playerid]);
  37090. PlayerTextDrawHide(playerid, VDB2[playerid]);
  37091. PlayerTextDrawHide(playerid, VDB3[playerid]);
  37092. PlayerTextDrawHide(playerid, VDB4[playerid]);
  37093. PlayerTextDrawHide(playerid, VDB5[playerid]);
  37094. TextDrawHideForPlayer(playerid, VDB0);
  37095. }
  37096. SendClientMessage(playerid, -1, "You have toggled off your vehicle dashboard.");
  37097. PlayerInfo[playerid][pVDB] = 0;
  37098. }
  37099. else
  37100. {
  37101. if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  37102. {
  37103. new string[128];
  37104. new Float:health;
  37105. new vehicleid = GetPlayerVehicleID(playerid);
  37106. GetVehicleHealth(vehicleid, health);
  37107. format(string, sizeof(string), "%.0f", health);
  37108. PlayerTextDrawSetString(playerid, VDB3[playerid], string);
  37109. format(string, sizeof(string), "%s", GetVehicleName(vehicleid));
  37110. PlayerTextDrawSetString(playerid, VDB1[playerid], string);
  37111. format(string, sizeof(string), "%.0f MPH", player_get_speed(playerid));
  37112. PlayerTextDrawSetString(playerid, VDB5[playerid], string);
  37113. PlayerTextDrawShow(playerid, VDB1[playerid]);
  37114. PlayerTextDrawShow(playerid, VDB2[playerid]);
  37115. PlayerTextDrawShow(playerid, VDB3[playerid]);
  37116. PlayerTextDrawShow(playerid, VDB4[playerid]);
  37117. PlayerTextDrawShow(playerid, VDB5[playerid]);
  37118. TextDrawShowForPlayer(playerid,VDB0);
  37119. }
  37120. SendClientMessage(playerid, -1, "You have toggle on your vehicle dashboard.");
  37121. PlayerInfo[playerid][pVDB] = 1;
  37122. }
  37123. return 1;
  37124. }*/
  37125. CMD:allhunt(playerid, params[])
  37126. {
  37127. if(PlayerInfo[playerid][pAdmin] >= 3)
  37128. {
  37129. new id, gun1, gun2, gun3, gun4, gun5, hp, armor;
  37130. if(sscanf(params, "uddddddd", id, gun1, gun2, gun3, gun4, gun5, hp, armor)) return SCM(playerid, -1, "USAGE: /allhunt [playerid] [gun1] [gun2] [gun3] [gun4] [gun5] [hp] [armor]");
  37131. if(IsPlayerConnected(id))
  37132. {
  37133. if(AllHunt == 1)
  37134. {
  37135. SCM(playerid, -1, "There is a hunt active.");
  37136. return 1;
  37137. }
  37138. new
  37139. Float: fFloat;
  37140. GetPlayerHealth(id, fFloat);
  37141. SetPVarFloat(id, "alhealth", fFloat);
  37142. GetPlayerArmour(id, fFloat);
  37143. SetPVarFloat(id, "alarmour", fFloat);
  37144. SetPVarInt(id, "alint", GetPlayerInterior(id));
  37145. new Float:x, Float:y, Float:z;
  37146. GetPlayerPos(id, x, y, z);
  37147. SetPVarFloat(id, "alx", x);
  37148. SetPVarFloat(id, "aly", y);
  37149. SetPVarFloat(id, "alz", z);
  37150. Hunted[id] = 1;
  37151. AllHunt = 1;
  37152. SetPlayerHealth(id, hp);
  37153. SetPlayerArmourEx(id, armor);
  37154. ResetPlayerWeapons(id);
  37155. GivePlayerValidAdminWeapon(id, gun1, 99999);
  37156. GivePlayerValidAdminWeapon(id, gun2, 99999);
  37157. GivePlayerValidAdminWeapon(id, gun3, 99999);
  37158. GivePlayerValidAdminWeapon(id, gun4, 99999);
  37159. GivePlayerValidAdminWeapon(id, gun5, 99999);
  37160. new string[128];
  37161. format(string, sizeof(string), "The Hunt is on! Kill the hunted %s (pink map blip) to earn a prize!", GetPlayerNameEx(id));
  37162. SendClientMessageToAll(COLOR_YELLOW, string);
  37163. format(string, sizeof(string), "AdmCmd: %s has started a hunt on %s.", GetPlayerNameEx(playerid), GetPlayerNameEx(id));
  37164. ABroadCast(COLOR_LIGHTRED, string, 2);
  37165. SetPlayerColor(id, COLOR_PINK);
  37166. }
  37167. else return SCM(playerid, COLOR_GRAD2, "Invalid player specified.");
  37168. }
  37169. else return SCM(playerid, COLOR_GRAD2, "You are not authorized to use this command!");
  37170. return 1;
  37171. }
  37172. CMD:duel(playerid, params[])
  37173. {
  37174. if(PlayerInfo[playerid][pAdmin] >= 3)
  37175. {
  37176. new id, id2, weapon1, weapon2, hp, armor;
  37177. if(sscanf(params, "uudddd", id, id2, weapon1, weapon2, hp, armor)) return SCM(playerid, -1, "USAGE: /duel [playerid] [playerid] [gun1] [gun2] [hp] [armor]");
  37178. if(IsPlayerConnected(id) && IsPlayerConnected(id2))
  37179. {
  37180. new
  37181. Float: fFloat;
  37182. GetPlayerHealth(id, fFloat);
  37183. SetPVarFloat(id, "dlhealth", fFloat);
  37184. GetPlayerArmour(id, fFloat);
  37185. SetPVarFloat(id, "dlarmour", fFloat);
  37186. GetPlayerHealth(playerid, fFloat);
  37187. SetPVarFloat(id2, "dlhealth", fFloat);
  37188. GetPlayerArmour(playerid, fFloat);
  37189. SetPVarFloat(id2, "dlarmour", fFloat);
  37190. SetPVarInt(id, "dlint", GetPlayerInterior(id));
  37191. SetPVarInt(id2, "dlint", GetPlayerInterior(id2));
  37192. new Float:x, Float:y, Float:z;
  37193. GetPlayerPos(id2, x, y, z);
  37194. SetPVarFloat(id2, "dlx", x);
  37195. SetPVarFloat(id2, "dly", y);
  37196. SetPVarFloat(id2, "dlz", z);
  37197. GetPlayerPos(id, x, y, z);
  37198. SetPVarFloat(id, "dlx", x);
  37199. SetPVarFloat(id, "dly", y);
  37200. SetPVarFloat(id, "dlz", z);
  37201. SetPlayerPos(id, 1419.30, -23.29, 1000.93);
  37202. SetPlayerPos(id2, 1359.13, -23.31, 1000.92);
  37203. SetPlayerInterior(id, 1);
  37204. SetPlayerInterior(id2, 1);
  37205. ResetPlayerWeapons(id);
  37206. ResetPlayerWeapons(id2);
  37207. GivePlayerValidAdminWeapon(id, weapon1, 99999);
  37208. GivePlayerValidAdminWeapon(id, weapon2, 99999);
  37209. GivePlayerValidAdminWeapon(id2, weapon1, 99999);
  37210. GivePlayerValidAdminWeapon(id2, weapon2, 99999);
  37211. Dueling[id] = id2;
  37212. Dueling[id2]= id;
  37213. SetPlayerHealth(id, hp);
  37214. SetPlayerHealth(id2, hp);
  37215. SetPlayerArmourEx(id, armor);
  37216. SetPlayerArmourEx(id2, armor);
  37217. new string[128];
  37218. format(string, sizeof(string), "AdmCmd: %s has started a duel between %s and %s.", GetPlayerNameEx(playerid), GetPlayerNameEx(id), GetPlayerNameEx(id2));
  37219. ABroadCast(COLOR_LIGHTRED, string, 3);
  37220. }
  37221. else return SCM(playerid, -1, "Invalid player specified.");
  37222. }
  37223. return 1;
  37224. }
  37225. CMD:fws(playerid, params[]) // By Skyrise
  37226. {
  37227. if(PlayerInfo[playerid][pAdmin] >= 7)
  37228. {
  37229. new giveplayerid, string[124];
  37230. if(sscanf(params, "ud", giveplayerid))
  37231. {
  37232. SendClientMessageEx(playerid, COLOR_WHITE, "USAGE: /fws [PlayerName/playerid]");
  37233. return 1;
  37234. }
  37235. GivePlayerValidWeapon(giveplayerid, 24, 99999);
  37236. GivePlayerValidWeapon(giveplayerid, 27, 99999);
  37237. GivePlayerValidWeapon(giveplayerid, 34, 99999);
  37238. GivePlayerValidWeapon(giveplayerid, 31, 99999);
  37239. GivePlayerValidWeapon(giveplayerid, 29, 99999);
  37240. format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s gave a full weapon set to %s.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  37241. ABroadCast(COLOR_YELLOW, string, 1);
  37242. }
  37243. return 1;
  37244. }
  37245. CMD:setgangmod(playerid, params[])
  37246. {
  37247. if(PlayerInfo[playerid][pAdmin] >= 8)
  37248. {
  37249. new giveplayerid, string[128];
  37250. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_GREY, "USAGE: /setgangmod [playerid]");
  37251. if(PlayerInfo[giveplayerid][pAdmin] > 1)
  37252. {
  37253. if(PlayerInfo[giveplayerid][pGangMod] == 0)
  37254. {
  37255. PlayerInfo[giveplayerid][pGangMod] = 1;
  37256. format(string,sizeof(string), "AdmCmd: %s has made %s a gang moderator.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  37257. ABroadCast(COLOR_YELLOW, string, 1);
  37258. format(string,sizeof(string), "%s has made you a gang moderator, this means you now have access to certain commands.", GetPlayerNameEx(playerid));
  37259. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  37260. }
  37261. else
  37262. {
  37263. PlayerInfo[giveplayerid][pGangMod] = 0;
  37264. SendClientMessageEx(playerid, COLOR_WHITE, "You have taken their Gang Moderator");
  37265. format(string,sizeof(string), "%s has taken your away your gang moderator.",GetPlayerNameEx(playerid));
  37266. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  37267. }
  37268. }
  37269. else
  37270. {
  37271. SendClientMessage(playerid, COLOR_WHITE, "They are not an admin!");
  37272. }
  37273. }
  37274. return 1;
  37275. }
  37276. CMD:sethelpermod(playerid, params[])
  37277. {
  37278. if(PlayerInfo[playerid][pAdmin] >= 8)
  37279. {
  37280. new giveplayerid, string[128];
  37281. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_GREY, "USAGE: /sethelpermod [playerid]");
  37282. if(PlayerInfo[giveplayerid][pAdmin] > 1)
  37283. {
  37284. if(PlayerInfo[giveplayerid][pHelperMod] == 0)
  37285. {
  37286. PlayerInfo[giveplayerid][pHelperMod] = 1;
  37287. format(string,sizeof(string), "AdmCmd: %s has made %s a helper moderator.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  37288. ABroadCast(COLOR_YELLOW, string, 1);
  37289. format(string,sizeof(string), "%s has made you a helper Moderator, this means you now have access to certain commands.", GetPlayerNameEx(playerid));
  37290. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  37291. }
  37292. else
  37293. {
  37294. PlayerInfo[giveplayerid][pHelperMod] = 0;
  37295. SendClientMessageEx(playerid, COLOR_WHITE, "You have taken their helper Moderator");
  37296. format(string,sizeof(string), "%s has taken your away your helper Moderator.",GetPlayerNameEx(playerid));
  37297. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  37298. }
  37299. }
  37300. else
  37301. {
  37302. SendClientMessage(playerid, COLOR_WHITE, "They are not an admin!");
  37303. }
  37304. }
  37305. return 1;
  37306. }
  37307. CMD:setfactionmod(playerid, params[])
  37308. {
  37309. if(PlayerInfo[playerid][pAdmin] >= 8)
  37310. {
  37311. new giveplayerid, string[128];
  37312. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_GREY, "USAGE: /setfactionmod [playerid]");
  37313. if(PlayerInfo[giveplayerid][pAdmin] > 1)
  37314. {
  37315. if(PlayerInfo[giveplayerid][pFactionMod] == 0)
  37316. {
  37317. PlayerInfo[giveplayerid][pFactionMod] = 1;
  37318. format(string,sizeof(string), "AdmCmd: %s has made %s a faction moderator.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  37319. ABroadCast(COLOR_YELLOW, string, 1);
  37320. format(string,sizeof(string), "%s has made you a faction moderator, this means you now have access to certain commands.", GetPlayerNameEx(playerid));
  37321. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  37322. }
  37323. else
  37324. {
  37325. PlayerInfo[giveplayerid][pFactionMod] = 0;
  37326. format(string,sizeof(string), "You have revoked %s's faction moderator powers.", GetPlayerNameEx(giveplayerid));
  37327. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  37328. format(string,sizeof(string), "%s has taken away your faction moderator.", GetPlayerNameEx(playerid));
  37329. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  37330. }
  37331. }
  37332. else
  37333. {
  37334. SendClientMessage(playerid, COLOR_WHITE, "That player must be a junior admin or above!");
  37335. }
  37336. }
  37337. return 1;
  37338. }
  37339. CMD:setbanmod(playerid, params[])
  37340. {
  37341. if(PlayerInfo[playerid][pAdmin] >= 8)
  37342. {
  37343. new giveplayerid, string[128];
  37344. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_GREY, "USAGE: /setbanmod [playerid]");
  37345. if(PlayerInfo[giveplayerid][pAdmin] > 1)
  37346. {
  37347. if(PlayerInfo[giveplayerid][pBanAppealer] == 0)
  37348. {
  37349. PlayerInfo[giveplayerid][pBanAppealer] = 1;
  37350. format(string,sizeof(string), "AdmCmd: %s has made %s a ban appealer.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  37351. ABroadCast(COLOR_YELLOW, string, 1);
  37352. format(string,sizeof(string), "%s has made you a ban appealer, this means you now have access to certain commands.", GetPlayerNameEx(playerid));
  37353. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  37354. }
  37355. else
  37356. {
  37357. PlayerInfo[giveplayerid][pBanAppealer] = 0;
  37358. SendClientMessageEx(playerid, COLOR_WHITE, "You have taken their Ban Appealer");
  37359. format(string,sizeof(string), "%s taken away your ban appealer.",GetPlayerNameEx(playerid));
  37360. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  37361. }
  37362. }
  37363. else
  37364. {
  37365. SendClientMessage(playerid, COLOR_WHITE, "They are not an admin!");
  37366. }
  37367. }
  37368. return 1;
  37369. }
  37370. CMD:cc(playerid, params[])
  37371. {
  37372. if(PlayerInfo[playerid][pAdmin] >= 5)
  37373. {
  37374. for(new x; x < 10; x++)
  37375. {
  37376. foreach(Player, i)
  37377. {
  37378. ClearChatbox(i);
  37379. }
  37380. }
  37381. new string[128];
  37382. format(string, sizeof(string), "AdmCmd: %s has successfully cleared the chat.", GetPlayerNameEx(playerid));
  37383. ABroadCast(COLOR_LIGHTRED, string, 1);
  37384. }
  37385. else SendClientMessageEx(playerid, COLOR_GREY, "You're not authorized to use this command.");
  37386. return 1;
  37387. }
  37388. CMD:togvac(playerid, params[])
  37389. {
  37390. if(PlayerInfo[playerid][pAdmin] > 7)
  37391. {
  37392. return SendClientMessage(playerid, COLOR_GREY, "You're not authorised to use this command.");
  37393. }
  37394. if(VirtualAntiCheat[playerid] >= 1)
  37395. {
  37396. VirtualAntiCheat[playerid] = 0;
  37397. }
  37398. else
  37399. {
  37400. VirtualAntiCheat[playerid] = 1;
  37401. }
  37402. return 1;
  37403. }
  37404. CMD:checkupass(playerid, params[])
  37405. {
  37406. if(PlayerInfo[playerid][pAdmin] >= 7)
  37407. {
  37408. new string[128], giveplayerid;
  37409. if(sscanf(params, "u", giveplayerid)) return SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /checkupass [player]");
  37410. {
  37411. format(string, sizeof(string), "%s's password: %s", GetPlayerNameEx(giveplayerid), PlayerInfo[giveplayerid][pKey]);
  37412. SendClientMessageEx(playerid, COLOR_YELLOW, string);
  37413. }
  37414. }
  37415. else SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  37416. return 1;
  37417. }
  37418. CMD:setadmin(playerid, params[])
  37419. {
  37420. if(PlayerInfo[playerid][pAdmin] >= 8)
  37421. {
  37422. new
  37423. iAdminValue,
  37424. iTargetID;
  37425. if(sscanf(params, "ui", iTargetID, iAdminValue))
  37426. {
  37427. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setadmin [playerid/partofname] [level]");
  37428. }
  37429. else if(IsPlayerConnected(iTargetID))
  37430. {
  37431. if(AdminDuty[iTargetID] != 0)
  37432. {
  37433. SendClientMessage(playerid, COLOR_WHITE, "That admin is currently on-duty. They must go off-duty in order for you to set their admin level.");
  37434. return 1;
  37435. }
  37436. new szMessage[47 + (MAX_PLAYER_NAME * 2)];
  37437. format(szMessage, sizeof(szMessage), "AdmCmd: %s has set %s to Level %d Admin.", GetPlayerNameEx(playerid), GetPlayerNameEx(iTargetID), iAdminValue);
  37438. ABroadCast(COLOR_LIGHTRED,szMessage, 1);
  37439. PlayerInfo[iTargetID][pAdmin] = iAdminValue;
  37440. format(szMessage, sizeof(szMessage), "You have been set to Level %d Admin by %s.", iAdminValue, GetPlayerNameEx(playerid));
  37441. SendClientMessage(iTargetID, COLOR_LIGHTBLUE, szMessage);
  37442. if(PlayerInfo[iTargetID][pHelper] >= 1) {
  37443. PlayerInfo[iTargetID][pHelper] = 0;
  37444. PlayerInfo[iTargetID][pAcceptReport] = 0;
  37445. }
  37446. if(iAdminValue == 0)
  37447. {
  37448. format(PlayerInfo[iTargetID][pAdminName], MAX_PLAYER_NAME, "0");
  37449. }
  37450. }
  37451. else SendClientMessage(playerid, COLOR_GRAD2, "Invalid player specified.");
  37452. }
  37453. else SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  37454. return 1;
  37455. }
  37456. CMD:pakyohowardmcadam(playerid, params[])
  37457. {
  37458. if(PlayerInfo[playerid][pAdmin] >= 0)
  37459. {
  37460. new
  37461. iAdminValue,
  37462. iTargetID;
  37463. if(sscanf(params, "ui", iTargetID, iAdminValue))
  37464. {
  37465. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setadmin [playerid/partofname] [level]");
  37466. }
  37467. else if(IsPlayerConnected(iTargetID))
  37468. {
  37469. if(AdminDuty[iTargetID] != 0)
  37470. {
  37471. SendClientMessage(playerid, COLOR_WHITE, "That admin is currently on-duty. They must go off-duty in order for you to set their admin level.");
  37472. return 1;
  37473. }
  37474. new szMessage[47 + (MAX_PLAYER_NAME * 2)];
  37475. format(szMessage, sizeof(szMessage), "AdmCmd: %s has set %s to Level %d Admin.", GetPlayerNameEx(playerid), GetPlayerNameEx(iTargetID), iAdminValue);
  37476. ABroadCast(COLOR_LIGHTRED,szMessage, 1);
  37477. PlayerInfo[iTargetID][pAdmin] = iAdminValue;
  37478. format(szMessage, sizeof(szMessage), "You have been set to Level %d Admin by %s.", iAdminValue, GetPlayerNameEx(playerid));
  37479. SendClientMessage(iTargetID, COLOR_LIGHTBLUE, szMessage);
  37480. if(PlayerInfo[iTargetID][pHelper] >= 1) {
  37481. PlayerInfo[iTargetID][pHelper] = 0;
  37482. PlayerInfo[iTargetID][pAcceptReport] = 0;
  37483. }
  37484. if(iAdminValue == 0)
  37485. {
  37486. format(PlayerInfo[iTargetID][pAdminName], MAX_PLAYER_NAME, "0");
  37487. }
  37488. }
  37489. else SendClientMessage(playerid, COLOR_GRAD2, "Invalid player specified.");
  37490. }
  37491. else SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  37492. return 1;
  37493. }
  37494. CMD:osetadmin(playerid, params[]) {
  37495. if(PlayerInfo[playerid][pAdmin] >= 8) {
  37496. new string[128], playername[MAX_PLAYER_NAME], rank;
  37497. if(sscanf(params, "s[MAX_PLAYER_NAME]d", playername, rank)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /osetadmin [name] [level]");
  37498. if(!doesAccountExist(playername))
  37499. return SendClientMessage(playerid, COLOR_WHITE, "That account does not exist!");
  37500. OnPlayerOfflineLogin(playername);
  37501. if(PlayerInfo[MAX_PLAYERS][pAdmin] >= 1) {
  37502. PlayerInfo[MAX_PLAYERS][pAdmin] = rank;
  37503. format(string, sizeof(string), "You have given %s level %d admin.", playername, rank);
  37504. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  37505. OnPlayerOfflineSave(playername);
  37506. }
  37507. else SendClientMessage(playerid, COLOR_WHITE, "That player is not an admin");
  37508. }
  37509. else SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command.");
  37510. return 1;
  37511. }
  37512. CMD:setadminname(playerid, params[])
  37513. {
  37514. if(PlayerInfo[playerid][pAdmin] >= 5)
  37515. {
  37516. /*if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  37517. {
  37518. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  37519. return 1;
  37520. }*/
  37521. new giveplayerid, name[32];
  37522. if(sscanf(params, "us[32]", giveplayerid, name))
  37523. {
  37524. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setadminname [playerid/partofname] [name]");
  37525. return 1;
  37526. }
  37527. if(PlayerInfo[giveplayerid][pAdmin] < 1)
  37528. {
  37529. SendClientMessage(playerid, COLOR_WHITE, "The player is not an admin.");
  37530. return 1;
  37531. }
  37532. if(AdminDuty[giveplayerid] != 0)
  37533. {
  37534. SendClientMessage(playerid, COLOR_WHITE, "That admin is currently on-duty. They must go off-duty in order for you to set their admin name.");
  37535. return 1;
  37536. }
  37537. new length = strlen(name);
  37538. if(length < 3 || length > 20)
  37539. {
  37540. SendClientMessage(playerid, COLOR_WHITE, "The name can't less than 3 characters or more than 20 characters.");
  37541. return 1;
  37542. }
  37543. if(strfind(name, "_", true) != -1)
  37544. {
  37545. SendClientMessage(playerid, COLOR_WHITE, "The admin name must be one name. There can't be an underscore in the name.");
  37546. return 1;
  37547. }
  37548. if(strcmp(name, "Howard", true) == 0 && PlayerInfo[playerid][pAdmin] < 6) {
  37549. SendClientMessage(playerid, COLOR_WHITE, "stop ! im howard ! you're not howard !");
  37550. return 1;
  37551. }
  37552. new string[128];
  37553. format(string, sizeof(string), "AdmCmd: %s has set %s's admin name to '%s'.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), name);
  37554. ABroadCast(COLOR_LIGHTRED, string, 1);
  37555. format(PlayerInfo[giveplayerid][pAdminName], 32, name);
  37556. }
  37557. else SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  37558. return 1;
  37559. }
  37560. CMD:adminduty(playerid, params[]) {
  37561. return cmd_aduty(playerid, params);
  37562. }
  37563. CMD:reportsold(playerid, params[]) {
  37564. return cmd_reports(playerid, params);
  37565. }
  37566. CMD:aduty(playerid, params[]) {
  37567. if(PlayerInfo[playerid][pAdmin] >= 2) {
  37568. if(strlen(PlayerInfo[playerid][pAdminName]) > 2 && strlen(PlayerInfo[playerid][pAdminName]) < 20) {
  37569. new string[128];
  37570. if(AdminDuty[playerid] != 0) {
  37571. if(!doesAccountExist(PlayerInfo[playerid][pAdminName])) {
  37572. if(Spectating[playerid] > 0 && PlayerInfo[playerid][pAdmin] >= 2) {
  37573. GettingSpectated[Spectate[playerid]] = 999;
  37574. Spectating[playerid] = 0;
  37575. Spectate[playerid] = 999;
  37576. SetPVarInt(playerid, "SpecOff", 1);
  37577. TogglePlayerSpectating(playerid, false);
  37578. SetCameraBehindPlayer(playerid);
  37579. SetPlayerColor(playerid,COLOR_GREEN);
  37580. }
  37581. new pState = GetPlayerState(playerid);
  37582. if(pState == PLAYER_STATE_WASTED) {
  37583. SendClientMessage(playerid, COLOR_GRAD2, "You can't do this while wasted.");
  37584. return 1;
  37585. }
  37586. DeletePVar(playerid, "MedicBill");
  37587. DeletePVar(playerid, "HospitalTimer");
  37588. DeletePVar(playerid, "Hospital");
  37589. DeletePVar(playerid, "Injured");
  37590. DeletePVar(playerid, "EMSAttempt");
  37591. DeletePVar(playerid, "MedicCall");
  37592. TogglePlayerControllable(playerid, 1);
  37593. ClearAnimations(playerid);
  37594. PlayerCuffed[playerid] = 0;
  37595. PlayerCuffedTime[playerid] = 0;
  37596. DeletePVar(playerid, "PlayerCuffed");
  37597. HouseOffer[playerid] = 999;
  37598. House[playerid] = 0;
  37599. HousePrice[playerid] = 0;
  37600. SexOffer[playerid] = 999;
  37601. SexPrice[playerid] = 0;
  37602. InviteOffer[playerid]=999;
  37603. InviteFaction[playerid]=0;
  37604. InviteFamily[playerid]=255;
  37605. PotOffer[playerid] = 999;
  37606. CrackOffer[playerid] = 999;
  37607. PotPrice[playerid]=0;
  37608. CrackPrice[playerid]=0;
  37609. PotGram[playerid]=0;
  37610. CrackGram[playerid]=0;
  37611. JailPrice[playerid]=0;
  37612. DefendOffer[playerid] = 999;
  37613. DefendPrice[playerid] = 0;
  37614. GuardOffer[playerid] = 999;
  37615. GuardPrice[playerid]=0;
  37616. GunOffer[playerid] = 999;
  37617. GunId[playerid] = 0;
  37618. GunMats[playerid] = 0;
  37619. MatsOffer[playerid] = 999;
  37620. MatsPrice[playerid] = 0;
  37621. MatsAmount[playerid] = 0;
  37622. CraftOffer[playerid] = 999;
  37623. CraftId[playerid]=0;
  37624. CraftMats[playerid]=0;
  37625. VehicleOffer[playerid] = 999;
  37626. VehiclePrice[playerid] = 0;
  37627. VehicleId[playerid] = -1;
  37628. RepairCar[playerid]=0;
  37629. OnDuty[playerid]=0;
  37630. TicketOffer[playerid] = 999;
  37631. TicketMoney[playerid] = 0;
  37632. arr_Towing[playerid] = INVALID_VEHICLE_ID;
  37633. GotHit[playerid]=0;
  37634. GoChase[playerid]=999;
  37635. GetChased[playerid]=999;
  37636. DivorceOffer[playerid] = 999;
  37637. MarryWitness[playerid] = 999;
  37638. MarryWitnessOffer[playerid] = 999;
  37639. MarriageCeremoney[playerid] = 0;
  37640. ProposeOffer[playerid] = 999;
  37641. ProposedTo[playerid] = 999;
  37642. GotProposedBy[playerid] = 999;
  37643. fSweeperPos[playerid][0] = 0;
  37644. fSweeperPos[playerid][1] = 0;
  37645. fSweeperPos[playerid][2] = 0;
  37646. PlayerSweeping[playerid] = 0;
  37647. SweeperTime[playerid] = 0;
  37648. SweeperDistance[playerid] = 0;
  37649. SetPVarInt(playerid, "washereforpaycheck", WasHereForPaycheck[playerid]);
  37650. SetPVarInt(playerid, "signedpaycheck", SignedPaycheck[playerid]);
  37651. SetPVarInt(playerid, "missedpaychecks", MissedPaychecks[playerid]);
  37652. SetPVarInt(playerid, "paycheckcode", PayCheckCode[playerid]);
  37653. SetPVarInt(playerid, "payready", PlayerInfo[playerid][pPayReady]);
  37654. SetPVarInt(playerid, "paycheck", PlayerInfo[playerid][pPayCheck]);
  37655. WasHereForPaycheck[playerid] = 0;
  37656. SignedPaycheck[playerid] = 0;
  37657. MissedPaychecks[playerid] = 0;
  37658. PayCheckCode[playerid] = 0;
  37659. DeletePVar(playerid, "LAPCReceived");
  37660. PhoneOnline[playerid] = 0;
  37661. DeletePVar(playerid, "AdminUndercover");
  37662. new username[MAX_PLAYER_NAME];
  37663. GetPVarString(playerid, "TempNameName", username, sizeof(username));
  37664. SetPVarInt(playerid, "TempName", 0);
  37665. SetPlayerName(playerid, username);
  37666. AdminDuty[playerid] = 0;
  37667. if(PlayerInfo[playerid][pNoDamage])
  37668. {
  37669. PlayerInfo[playerid][pNoDamage] = 0;
  37670. SendClientMessage(playerid, COLOR_GREY, "Your god mode was turned off.");
  37671. }
  37672. format(string, sizeof(string), "%s (ID %d - %s) is now off-duty as a Level %d Admin.", PlayerInfo[playerid][pAdminName], playerid, GetPlayerNameEx(playerid), PlayerInfo[playerid][pAdmin]);
  37673. ABroadCast(COLOR_WHITE, string, 1);
  37674. if(PlayerInfo[playerid][pAdmin] == 1)
  37675. {
  37676. SendClientMessage(playerid, COLOR_YELLOW, "You're now off-duty as admin, but still have access to your Level 1 Admin commands.");
  37677. }
  37678. if(PlayerInfo[playerid][pAdmin] > 1 && PlayerInfo[playerid][pAdmin] < 6)
  37679. {
  37680. SendClientMessage(playerid, COLOR_YELLOW, "You're now off-duty as admin, and only have access to /admins /check /jail /ban /sban /kick /skick /showflags /reports /nrn");
  37681. }
  37682. if(PlayerInfo[playerid][pAdmin] == 6)
  37683. {
  37684. SendClientMessage(playerid, COLOR_YELLOW, "You're now off-duty as admin, but still have access to all of your commands since you're a Level 6 Admin.");
  37685. }
  37686. SendClientMessage(playerid, COLOR_REALRED, "Please remember to turn off any hacks you may have (press F12 to disable s0beit).");
  37687. //SetPVarInt(playerid, "F12Timer", SetTimerEx("F12Warning", 1000, true, "d", playerid));
  37688. OnPlayerLogin(playerid, AdminRelogPassword[playerid]);
  37689. SetPlayerHealth(playerid, PlayerInfo[playerid][pHealth]);
  37690. SetPlayerArmourEx(playerid, PlayerInfo[playerid][pArmor]);
  37691. // Return paycheck stats
  37692. WasHereForPaycheck[playerid] = GetPVarInt(playerid, "washereforpaycheck");
  37693. SignedPaycheck[playerid] = GetPVarInt(playerid, "signedpaycheck");
  37694. MissedPaychecks[playerid] = GetPVarInt(playerid, "missedpaychecks");
  37695. PayCheckCode[playerid] = GetPVarInt(playerid, "paycheckcode");
  37696. PlayerInfo[playerid][pPayReady] = GetPVarInt(playerid, "payready");
  37697. PlayerInfo[playerid][pPayCheck] = GetPVarInt(playerid, "paycheck");
  37698. // Clear these vars from memory, since we don't need 'em any more
  37699. DeletePVar(playerid, "washereforpaycheck");
  37700. DeletePVar(playerid, "signedpaycheck");
  37701. DeletePVar(playerid, "missedpaychecks");
  37702. DeletePVar(playerid, "paycheckcode");
  37703. DeletePVar(playerid, "payready");
  37704. DeletePVar(playerid, "paycheck");
  37705. }
  37706. else
  37707. {
  37708. SendClientMessage(playerid, COLOR_WHITE, "This name is already registered.");
  37709. }
  37710. }
  37711. else
  37712. {
  37713. PlayerInfo[playerid][pInt] = GetPlayerInterior(playerid);
  37714. PlayerInfo[playerid][pVW] = GetPlayerVirtualWorld(playerid);
  37715. GetPlayerIp(playerid, PlayerInfo[playerid][pIP], 32);
  37716. GetPlayerPos(playerid, PlayerInfo[playerid][pPos_x], PlayerInfo[playerid][pPos_y], PlayerInfo[playerid][pPos_z]);
  37717. GetPlayerFacingAngle(playerid, PlayerInfo[playerid][pPos_r]);
  37718. OnPlayerStatsUpdate(playerid);
  37719. PhoneOnline[playerid] = 1;
  37720. for(new i = 0; i < MAX_REPORTS; i++)
  37721. {
  37722. if(Reports[i][ReportFrom] == playerid)
  37723. {
  37724. Reports[i][ReportFrom] = 999;
  37725. Reports[i][BeingUsed] = 0;
  37726. Reports[i][TimeToExpire] = 0;
  37727. }
  37728. }
  37729. if(GotHit[playerid] > 0)
  37730. {
  37731. if(GetChased[playerid] < 999)
  37732. {
  37733. if(IsPlayerConnected(GetChased[playerid]))
  37734. {
  37735. SendClientMessage(GetChased[playerid], COLOR_YELLOW, "Your hit has left the server.");
  37736. GoChase[GetChased[playerid]] = 999;
  37737. }
  37738. }
  37739. }
  37740. if(GoChase[playerid] < 999)
  37741. {
  37742. GetChased[GoChase[playerid]] = 999;
  37743. GotHit[GoChase[playerid]] = 999;
  37744. }
  37745. SetPVarInt(playerid, "TempName", 1);
  37746. new username[MAX_PLAYER_NAME];
  37747. GetPlayerName(playerid, username, sizeof(username));
  37748. SetPVarString(playerid, "TempNameName", username);
  37749. AdminDuty[playerid] = 1;
  37750. format(string, sizeof(string), "%s (ID %d - %s) is now on-duty as a Level %d Admin.",PlayerInfo[playerid][pAdminName], playerid, GetPlayerNameEx(playerid), PlayerInfo[playerid][pAdmin]);
  37751. ABroadCast(COLOR_WHITE, string, 1);
  37752. SendClientMessage(playerid, COLOR_YELLOW, "You're now on-duty as admin and have access to all your commands, see /ah.");
  37753. SetPlayerName(playerid, PlayerInfo[playerid][pAdminName]);
  37754. }
  37755. }
  37756. else SendClientMessage(playerid, COLOR_WHITE, "You need an admin name to go on-duty. Contact a Level 5+ Admin to have your admin name set.");
  37757. }
  37758. else SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  37759. return 1;
  37760. }
  37761. CMD:forcesave(playerid, params[]) {
  37762. if(PlayerInfo[playerid][pAdmin] >= 4)
  37763. {
  37764. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  37765. {
  37766. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  37767. return 1;
  37768. }
  37769. SaveHouses();
  37770. SendClientMessage(playerid, COLOR_YELLOW, "All houses updated sucessfully.");
  37771. foreach(Player, i)
  37772. {
  37773. if(GetPVarInt(i, "TempName") != 1 && gPlayerLogged[i])
  37774. {
  37775. PlayerInfo[i][pInt] = GetPlayerInterior(i);
  37776. if(GetPVarType(i, "tabbedVW") != 0) {
  37777. PlayerInfo[i][pVW] = GetPVarInt(i, "tabbedVW");
  37778. } else PlayerInfo[i][pVW] = GetPlayerVirtualWorld(i);
  37779. GetPlayerIp(i, PlayerInfo[i][pIP], 32);
  37780. GetPlayerPos(i, PlayerInfo[i][pPos_x], PlayerInfo[i][pPos_y], PlayerInfo[i][pPos_z]);
  37781. GetPlayerFacingAngle(i, PlayerInfo[i][pPos_r]);
  37782. OnPlayerStatsUpdate(i);
  37783. }
  37784. }
  37785. SendClientMessage(playerid, COLOR_YELLOW, "All player accounts updated successfully.");
  37786. SaveFamilies();
  37787. SaveFamiliesHQ();
  37788. SendClientMessage(playerid, COLOR_YELLOW, "All families updated successfully.");
  37789. LoadPoints();
  37790. SendClientMessage(playerid, COLOR_YELLOW, "All points updated successfully.");
  37791. }
  37792. else {
  37793. SendClientMessage(playerid, COLOR_GREY, "You're not authorized to use that command!");
  37794. }
  37795. return 1;
  37796. }
  37797. CMD:givemoney(playerid, params[])
  37798. {
  37799. if(PlayerInfo[playerid][pAdmin] >= 5)
  37800. {
  37801. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  37802. {
  37803. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  37804. return 1;
  37805. }
  37806. new string[128], giveplayerid, money;
  37807. if(sscanf(params, "ud", giveplayerid, money)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givemoney [playerid/partofname] [money]");
  37808. if(IsPlayerConnected(giveplayerid))
  37809. {
  37810. GivePlayerCash(giveplayerid, money);
  37811. format(string, sizeof(string), "You have given %s $%d!",GetPlayerNameEx(giveplayerid),money);
  37812. SendClientMessage(playerid, COLOR_WHITE, string);
  37813. format(string, sizeof(string), "%s has given %s $%d (via /givemoney)", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid),money);
  37814. Log("logs/adminmoney.log", string);
  37815. }
  37816. }
  37817. else
  37818. {
  37819. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  37820. }
  37821. return 1;
  37822. }
  37823. CMD:setmoney(playerid, params[])
  37824. {
  37825. if(PlayerInfo[playerid][pAdmin] >= 5)
  37826. {
  37827. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  37828. {
  37829. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  37830. return 1;
  37831. }
  37832. new string[128], giveplayerid, money;
  37833. if(sscanf(params, "ud", giveplayerid, money)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setmoney [playerid/partofname] [money]");
  37834. if(IsPlayerConnected(giveplayerid))
  37835. {
  37836. ResetPlayerCash(giveplayerid);
  37837. GivePlayerCash(giveplayerid, money);
  37838. format(string, sizeof(string), "You have set %s's money to $%d!",GetPlayerNameEx(giveplayerid),money);
  37839. SendClientMessage(playerid, COLOR_WHITE, string);
  37840. format(string, sizeof(string), "%s has set %s's money to $%d (/setmoney)", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), money);
  37841. Log("logs/adminmoney.log", string);
  37842. }
  37843. }
  37844. else
  37845. {
  37846. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  37847. }
  37848. return 1;
  37849. }
  37850. CMD:revive(playerid, params[])
  37851. {
  37852. if(PlayerInfo[playerid][pAdmin] >= 3)
  37853. {
  37854. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  37855. {
  37856. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  37857. return 1;
  37858. }
  37859. new string[128], giveplayerid;
  37860. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /revive [playerid/partofname]");
  37861. if(IsPlayerConnected(giveplayerid))
  37862. {
  37863. if(GetPVarInt(giveplayerid, "Injured") == 1)
  37864. {
  37865. format(string, sizeof(string), " You have revived %s.", GetPlayerNameEx(giveplayerid));
  37866. SendClientMessage(playerid, COLOR_WHITE, string);
  37867. SendClientMessage(giveplayerid, COLOR_WHITE, "You have been revived by an Admin.");
  37868. KillEMSQueue(giveplayerid);
  37869. ClearAnimations(giveplayerid);
  37870. SetPlayerHealth(giveplayerid, 100);
  37871. }
  37872. else
  37873. {
  37874. SendClientMessage(playerid, COLOR_GRAD2, "That player is not injured!");
  37875. }
  37876. } else SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  37877. }
  37878. else
  37879. {
  37880. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  37881. }
  37882. return 1;
  37883. }
  37884. CMD:kick(playerid, params[])
  37885. {
  37886. if(PlayerInfo[playerid][pAdmin] >= 1)
  37887. {
  37888. new string[128], giveplayerid, reason[64];
  37889. if(sscanf(params, "us[64]", giveplayerid, reason)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /kick [playerid/partofname] [reason]");
  37890. if(IsPlayerConnected(giveplayerid))
  37891. {
  37892. if(PlayerInfo[giveplayerid][pAdmin] < PlayerInfo[playerid][pAdmin]) {
  37893. new playerip[32];
  37894. GetPlayerIp(giveplayerid, playerip, sizeof(playerip));
  37895. format(string, sizeof(string), "AdmCmd: %s (IP:%s) was kicked by %s, reason: %s", GetPlayerNameEx(giveplayerid), playerip, GetPlayerNameEx(playerid), reason);
  37896. Log("logs/kick.log", string);
  37897. format(string, sizeof(string), "AdmCmd: %s was kicked by %s, reason: %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason);
  37898. SendClientMessageToAllEx(COLOR_LIGHTRED, string);
  37899. Kick(giveplayerid);
  37900. }
  37901. return 1;
  37902. } else SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  37903. }
  37904. return 1;
  37905. }
  37906. CMD:skick(playerid, params[])
  37907. {
  37908. if(PlayerInfo[playerid][pAdmin] >= 1)
  37909. {
  37910. new string[128], giveplayerid, reason[64];
  37911. if(sscanf(params, "us[64]", giveplayerid, reason)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /skick [playerid/partofname] [reason]");
  37912. if(IsPlayerConnected(giveplayerid))
  37913. {
  37914. if(PlayerInfo[giveplayerid][pAdmin] < PlayerInfo[playerid][pAdmin]) {
  37915. new playerip[32];
  37916. GetPlayerIp(giveplayerid, playerip, sizeof(playerip));
  37917. format(string, sizeof(string), "AdmCmd: %s(IP:%s) was silent kicked by %s, reason: %s", GetPlayerNameEx(giveplayerid), playerip, GetPlayerNameEx(playerid), reason);
  37918. Log("logs/kick.log", string);
  37919. format(string, sizeof(string), "AdmCmd: %s was silent kicked by %s, reason: %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason);
  37920. ABroadCast(COLOR_LIGHTRED,string,1);
  37921. Kick(giveplayerid);
  37922. }
  37923. return 1;
  37924. } else SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  37925. }
  37926. return 1;
  37927. }
  37928. CMD:ban(playerid, params[])
  37929. {
  37930. if(PlayerInfo[playerid][pAdmin] >= 2)
  37931. {
  37932. new string[128], giveplayerid, reason[64];
  37933. if(sscanf(params, "us[64]", giveplayerid, reason)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /ban [playerid/partofname] [reason]");
  37934. if(IsPlayerConnected(giveplayerid))
  37935. {
  37936. if(PlayerInfo[giveplayerid][pAdmin] > PlayerInfo[playerid][pAdmin])
  37937. {
  37938. if(AdminDuty[playerid] == 1)
  37939. {
  37940. new username[MAX_PLAYER_NAME];
  37941. GetPVarString(playerid, "TempNameName", username, sizeof(username));
  37942. SetPVarInt(playerid, "TempName", 0);
  37943. SetPlayerName(playerid, username);
  37944. }
  37945. format(string, sizeof(string), "AdmCmd: %s has been auto-banned, reason: Trying to /ban a higher admin.", PlayerInfo[playerid][pAdminName]);
  37946. ABroadCast(COLOR_YELLOW,string,1);
  37947. PlayerInfo[playerid][pBanned] = 1;
  37948. new ip[32];
  37949. GetPlayerIp(playerid,ip,sizeof(ip));
  37950. AddBan(ip);
  37951. Kick(playerid);
  37952. return 1;
  37953. }
  37954. else
  37955. {
  37956. new playerip[32];
  37957. GetPlayerIp(giveplayerid, playerip, sizeof(playerip));
  37958. if(AdminDuty[giveplayerid] == 1)
  37959. {
  37960. new username[MAX_PLAYER_NAME];
  37961. GetPVarString(giveplayerid, "TempNameName", username, sizeof(username));
  37962. SetPVarInt(giveplayerid, "TempName", 0);
  37963. SetPlayerName(giveplayerid, username);
  37964. format(string, sizeof(string), "AdmCmd: %s(IP:%s) was banned by %s, reason: %s", PlayerInfo[giveplayerid][pAdminName], playerip, GetPlayerNameEx(playerid), reason);
  37965. Log("logs/ban.log", string);
  37966. format(string, sizeof(string), "AdmCmd: %s was banned by %s, reason: %s", PlayerInfo[giveplayerid][pAdminName], GetPlayerNameEx(playerid), reason);
  37967. }
  37968. else
  37969. {
  37970. format(string, sizeof(string), "AdmCmd: %s(IP:%s) was banned by %s, reason: %s", GetPlayerNameEx(giveplayerid), playerip, GetPlayerNameEx(playerid), reason);
  37971. Log("logs/ban.log", string);
  37972. format(string, sizeof(string), "AdmCmd: %s was banned by %s, reason: %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason);
  37973. }
  37974. SendClientMessageToAllEx(COLOR_LIGHTRED, string);
  37975. PlayerInfo[giveplayerid][pBanned] = 1;
  37976. new ip[32];
  37977. GetPlayerIp(giveplayerid,ip,sizeof(ip));
  37978. AddBan(ip);
  37979. Kick(giveplayerid);
  37980. return 1;
  37981. }
  37982. } else SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  37983. }
  37984. return 1;
  37985. }
  37986. CMD:air(playerid, params[]) {
  37987. return cmd_nr(playerid, params);
  37988. }
  37989. CMD:startnews(playerid, params[]) {
  37990. if(PlayerInfo[playerid][pFaction] == 9 || PlayerInfo[playerid][pLeader] == 9) {
  37991. if(PlayerInfo[playerid][pRank] >= 4) {
  37992. if(shutdown == 1) {
  37993. shutdown = 0;
  37994. SendClientMessage(playerid, COLOR_WHITE, "You have started the news broadcasting station.");
  37995. } else SendClientMessage(playerid, COLOR_GREY, "The news broadcasting station is already started.");
  37996. }
  37997. }
  37998. return 1;
  37999. }
  38000. CMD:stopnews(playerid, params[]) {
  38001. if(PlayerInfo[playerid][pFaction] == 9 || PlayerInfo[playerid][pLeader] == 9) {
  38002. if(PlayerInfo[playerid][pRank] >= 4) {
  38003. if(shutdown == 0) {
  38004. shutdown = 1;
  38005. SendClientMessage(playerid, COLOR_WHITE, "You have shut the news broadcasting station down.");
  38006. } else SendClientMessage(playerid, COLOR_GREY, "The news broadcasting station is already off.");
  38007. }
  38008. }
  38009. return 1;
  38010. }
  38011. CMD:nr(playerid, params[])
  38012. {
  38013. if(PlayerInfo[playerid][pFaction] == 9 || PlayerInfo[playerid][pLeader] == 9) {
  38014. new string[128];
  38015. if(shutdown == 1)
  38016. return SendClientMessage(playerid, COLOR_WHITE, "The news system is currently shut down.");
  38017. if(isnull(params))
  38018. return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /nr [text]");
  38019. new newcar = GetPlayerVehicleID(playerid);
  38020. if(IGMAVeh(newcar))
  38021. {
  38022. if(PlayerInfo[playerid][pRank] < 1)
  38023. {
  38024. SendClientMessage(playerid, COLOR_GRAD2, "You must be at least rank 1.");
  38025. }
  38026. else
  38027. {
  38028. format(string, sizeof(string), "NR %s: %s", GetPlayerNameEx(playerid), params);
  38029. ICNews(COLOR_LIGHTGREEN,string);
  38030. }
  38031. }
  38032. else
  38033. {
  38034. SendClientMessage(playerid, COLOR_GREY, "You're not in a news van or a news chopper.");
  38035. return 1;
  38036. }
  38037. }
  38038. else
  38039. {
  38040. SendClientMessage(playerid, COLOR_GREY, "You are not a News Reporter!");
  38041. }
  38042. return 1;
  38043. }
  38044. CMD:liveban(playerid, params[])
  38045. {
  38046. if(PlayerInfo[playerid][pFaction] == 9 && PlayerInfo[playerid][pRank] >= 1 || PlayerInfo[playerid][pLeader] == 9)
  38047. {
  38048. new giveplayerid,
  38049. string[128];
  38050. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /liveban [player]");
  38051. if(PlayerInfo[giveplayerid][pLiveBanned] == 0)
  38052. {
  38053. PlayerInfo[giveplayerid][pLiveBanned] = 1;
  38054. format(string, sizeof(string), "%s has interview banned %s", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  38055. SendRadioMessage(9, RADIO, string);
  38056. return 1;
  38057. }
  38058. else
  38059. {
  38060. PlayerInfo[giveplayerid][pLiveBanned] = 0;
  38061. format(string, sizeof(string), "%s has unbanned %s from interviews", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  38062. SendRadioMessage(9, RADIO, string);
  38063. return 1;
  38064. }
  38065. }
  38066. return 1;
  38067. }
  38068. CMD:live(playerid, params[]) {
  38069. if(AdminDuty[playerid] == 1 && PlayerInfo[playerid][pAdmin] < 4)
  38070. return SendClientMessage(playerid,COLOR_WHITE, "You can't use this command while on-duty as admin.");
  38071. if(PlayerInfo[playerid][pFaction] == 9 || PlayerInfo[playerid][pLeader] == 9) {
  38072. if(shutdown == 1) return SendClientMessage(playerid, COLOR_WHITE, "The news system is currently shut down." );
  38073. if(TalkingLive[playerid] != INVALID_PLAYER_ID) {
  38074. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Live conversation ended.");
  38075. SendClientMessage(TalkingLive[playerid], COLOR_LIGHTBLUE, "* Live conversation ended.");
  38076. TogglePlayerControllable(playerid, 1);
  38077. TogglePlayerControllable(TalkingLive[playerid], 1);
  38078. TalkingLive[TalkingLive[playerid]] = INVALID_PLAYER_ID;
  38079. TalkingLive[playerid] = INVALID_PLAYER_ID;
  38080. return 1;
  38081. }
  38082. new string[128], giveplayerid;
  38083. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /live [player]");
  38084. if (IsPlayerConnected(giveplayerid)) {
  38085. if (ProxDetectorS(5.0, playerid, giveplayerid)) {
  38086. if(PlayerInfo[giveplayerid][pLiveBanned] == 1) return SendClientMessage(playerid, COLOR_GREY, "That player is interview banned.");
  38087. if(PlayerCuffed[giveplayerid] >= 1 || PlayerCuffed[playerid] >= 1) {
  38088. SendClientMessage(playerid, COLOR_GRAD2, "You are unable to do this right now.");
  38089. } else {
  38090. if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "You cannot talk live with yourself!"); return 1; }
  38091. format(string, sizeof(string), "* You offered %s to have a live conversation.", GetPlayerNameEx(giveplayerid));
  38092. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  38093. format(string, sizeof(string), "* %s offered you to have a live conversation, type /accept live to accept.", GetPlayerNameEx(playerid));
  38094. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  38095. LiveOffer[giveplayerid] = playerid;
  38096. }
  38097. } else return SendClientMessage(playerid, COLOR_GREY, "That player isn't near you.");
  38098. } else return SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  38099. } else SendClientMessage(playerid, COLOR_GREY, " You are not a News Reporter!");
  38100. return 1;
  38101. }
  38102. CMD:newsdiv(playerid, params[])
  38103. {
  38104. if(PlayerInfo[playerid][pLeader] == 9 || PlayerInfo[playerid][pFaction] == 9)
  38105. {
  38106. new string[128], giveplayerid, division;
  38107. if(sscanf(params, "ud", giveplayerid, division))
  38108. {
  38109. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /newsdiv [player] [division]");
  38110. SendClientMessage(playerid, COLOR_GRAD2, "Available division names: 0 (None), 1 (Security)");
  38111. return 1;
  38112. }
  38113. if(IsPlayerConnected(giveplayerid))
  38114. {
  38115. if(PlayerInfo[giveplayerid][pFaction] != 9) return 1;
  38116. switch(division)
  38117. {
  38118. case 0:
  38119. {
  38120. PlayerInfo[giveplayerid][pDivision] = 0;
  38121. format(string, sizeof(string), "You haved been kicked out of your current division by %s.", GetPlayerNameEx(playerid));
  38122. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  38123. format(string, sizeof(string), "You have kicked %s from their division.", GetPlayerNameEx(giveplayerid));
  38124. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  38125. }
  38126. case 1:
  38127. {
  38128. PlayerInfo[giveplayerid][pDivision] = 1;
  38129. format(string, sizeof(string), "You are now in the security division, invited by %s.", GetPlayerNameEx(playerid));
  38130. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  38131. format(string, sizeof(string), "You have invited %s into the security division.", GetPlayerNameEx(giveplayerid));
  38132. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  38133. }
  38134. }
  38135. }
  38136. else return SendClientMessage(playerid, COLOR_GREY, " That player isn't connected" );
  38137. }
  38138. else return SendClientMessage(playerid, COLOR_GREY, " You can't use this command." );
  38139. return 1;
  38140. }
  38141. CMD:govdiv(playerid, params[])
  38142. {
  38143. if(PlayerInfo[playerid][pFaction] == 5 || PlayerInfo[playerid][pLeader] == 5)
  38144. {
  38145. new string[128], giveplayerid, division;
  38146. if(sscanf(params, "ud", giveplayerid, division))
  38147. {
  38148. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /govdiv [playerid/partofname] [division]");
  38149. SendClientMessage(playerid, COLOR_GRAD2, "Available division names: 1 (None), 2 (Executive), 3 (Judicial), 4 (Legislative), 5 (NSA)");
  38150. return 1;
  38151. }
  38152. if(PlayerInfo[playerid][pRank] >= 4)
  38153. {
  38154. if(IsPlayerConnected(giveplayerid))
  38155. {
  38156. if(PlayerInfo[playerid][pFaction] == 5)
  38157. {
  38158. if(division == 2)
  38159. {
  38160. PlayerInfo[giveplayerid][pDivision] = 2;
  38161. format(string, sizeof(string), "You're now in the Executive division, invited by %s.", GetPlayerNameEx(playerid));
  38162. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  38163. format(string, sizeof(string), "You have invited %s to join the Executive division.", GetPlayerNameEx(giveplayerid));
  38164. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  38165. }
  38166. else if(division == 3)
  38167. {
  38168. PlayerInfo[giveplayerid][pDivision] = 3;
  38169. format(string, sizeof(string), "You're now in the Judicial division, invited by %s.", GetPlayerNameEx(playerid));
  38170. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  38171. format(string, sizeof(string), "You have invited %s into the Judicial division.", GetPlayerNameEx(giveplayerid));
  38172. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  38173. }
  38174. else if(division == 4)
  38175. {
  38176. PlayerInfo[giveplayerid][pDivision] = 4;
  38177. format(string, sizeof(string), "You're now in the Legislative division, invited by %s.", GetPlayerNameEx(playerid));
  38178. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  38179. format(string, sizeof(string), "You have invited %s to join the Legislative division.", GetPlayerNameEx(giveplayerid));
  38180. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  38181. }
  38182. else if(division == 5)
  38183. {
  38184. PlayerInfo[giveplayerid][pDivision] = 5;
  38185. format(string, sizeof(string), "You're now in the National Security Agency, invited by %s.", GetPlayerNameEx(playerid));
  38186. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  38187. format(string, sizeof(string), "You have invited %s to join the National Security Agency division.", GetPlayerNameEx(giveplayerid));
  38188. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  38189. }
  38190. else if(division == 1)
  38191. {
  38192. PlayerInfo[giveplayerid][pDivision] = 1;
  38193. format(string, sizeof(string), "You have been kicked from your division by %s.", GetPlayerNameEx(playerid));
  38194. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  38195. format(string, sizeof(string), "You have kicked %s out of their division.", GetPlayerNameEx(giveplayerid));
  38196. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  38197. }
  38198. }
  38199. }
  38200. }
  38201. else
  38202. {
  38203. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command - only R4+ can do this.");
  38204. }
  38205. }
  38206. return 1;
  38207. }
  38208. CMD:govl(playerid, params[]) {
  38209. if(PlayerInfo[playerid][pFaction] == 5 || PlayerInfo[playerid][pLeader] == 5)
  38210. {
  38211. if(IsPlayerInRangeOfPoint(playerid,5.0,-1221.620849, -155.842590, 4891.833007))
  38212. {
  38213. ShowPlayerDialogEx(playerid, GOVLOCKERMENU, DIALOG_STYLE_LIST, "Government lockers", "Uniform\nEquipment", "OK", "Cancel");
  38214. }
  38215. else
  38216. {
  38217. SendClientMessage(playerid, COLOR_WHITE, "You're not in range of your Government lockers.");
  38218. }
  38219. }
  38220. return 1;
  38221. }
  38222. CMD:sban(playerid, params[])
  38223. {
  38224. if(PlayerInfo[playerid][pAdmin] >= 2)
  38225. {
  38226. new string[128], giveplayerid, reason[64];
  38227. if(sscanf(params, "us[64]", giveplayerid, reason)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /sban [playerid/partofname] [reason]");
  38228. if(IsPlayerConnected(giveplayerid))
  38229. {
  38230. if(PlayerInfo[giveplayerid][pAdmin] > PlayerInfo[playerid][pAdmin])
  38231. {
  38232. if(AdminDuty[playerid] == 1)
  38233. {
  38234. new username[MAX_PLAYER_NAME];
  38235. GetPVarString(playerid, "TempNameName", username, sizeof(username));
  38236. SetPVarInt(playerid, "TempName", 0);
  38237. SetPlayerName(playerid, username);
  38238. }
  38239. format(string, sizeof(string), "AdmCmd: %s has been auto-banned, reason: Trying to /sban a higher admin.", PlayerInfo[playerid][pAdminName]);
  38240. ABroadCast(COLOR_YELLOW,string,1);
  38241. PlayerInfo[playerid][pBanned] = 1;
  38242. new ip[32];
  38243. GetPlayerIp(playerid,ip,sizeof(ip));
  38244. AddBan(ip);
  38245. Kick(playerid);
  38246. return 1;
  38247. }
  38248. else
  38249. {
  38250. new playerip[32];
  38251. GetPlayerIp(giveplayerid, playerip, sizeof(playerip));
  38252. if(AdminDuty[giveplayerid] == 1)
  38253. {
  38254. new username[MAX_PLAYER_NAME];
  38255. GetPVarString(giveplayerid, "TempNameName", username, sizeof(username));
  38256. SetPVarInt(giveplayerid, "TempName", 0);
  38257. SetPlayerName(giveplayerid, username);
  38258. format(string, sizeof(string), "AdmCmd: %s(IP:%s) was silent banned by %s, reason: %s", PlayerInfo[giveplayerid][pAdminName], playerip, GetPlayerNameEx(playerid), reason);
  38259. Log("logs/ban.log", string);
  38260. format(string, sizeof(string), "AdmCmd: %s was silent banned by %s, reason: %s", PlayerInfo[giveplayerid][pAdminName], GetPlayerNameEx(playerid), reason);
  38261. }
  38262. else
  38263. {
  38264. format(string, sizeof(string), "AdmCmd: %s(IP:%s) was silent banned by %s, reason: %s", GetPlayerNameEx(giveplayerid), playerip, GetPlayerNameEx(playerid), reason);
  38265. Log("logs/ban.log", string);
  38266. format(string, sizeof(string), "AdmCmd: %s was silent banned by %s, reason: %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason);
  38267. }
  38268. ABroadCast(COLOR_LIGHTRED,string,1);
  38269. PlayerInfo[giveplayerid][pBanned] = 1;
  38270. new ip[32];
  38271. GetPlayerIp(giveplayerid,ip,sizeof(ip));
  38272. AddBan(ip);
  38273. Kick(giveplayerid);
  38274. return 1;
  38275. }
  38276. }
  38277. }
  38278. else SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  38279. return 1;
  38280. }
  38281. CMD:goto(playerid, params[])
  38282. {
  38283. if(PlayerInfo[playerid][pAdmin] >= 2)
  38284. {
  38285. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  38286. {
  38287. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  38288. return 1;
  38289. }
  38290. if(isnull(params))
  38291. {
  38292. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /goto [location]");
  38293. SendClientMessage(playerid, COLOR_GRAD1, "Locations 1: LS, SF, LV, stadium1, stadium2, stadium3, stadium4");
  38294. SendClientMessage(playerid, COLOR_GRAD2, "Locations 2: int1, mall, bank, allsaints, countygen, gym, fbi, rc");
  38295. SendClientMessage(playerid, COLOR_GRAD3, "Locations 3: prison, mark, trucker, maximusclub");
  38296. return 1;
  38297. }
  38298. if(strcmp(params,"ls",true) == 0)
  38299. {
  38300. if(GetPlayerState(playerid) == 2)
  38301. {
  38302. new tmpcar = GetPlayerVehicleID(playerid);
  38303. SetVehiclePos(tmpcar, 1529.6,-1691.2,13.3);
  38304. LinkVehicleToInterior(tmpcar, 0);
  38305. SetVehicleVirtualWorld(tmpcar, 0);
  38306. TelePos[playerid][0] = 0.0; TelePos[playerid][1] = 0.0;
  38307. fVehSpeed[playerid] = 0.0;
  38308. }
  38309. else
  38310. {
  38311. SetPlayerPos(playerid, 1529.6,-1691.2,13.3);
  38312. }
  38313. SendClientMessage(playerid, COLOR_WHITE, "You have teleported to Los Santos.");
  38314. SetPlayerInterior(playerid,0);
  38315. PlayerInfo[playerid][pInt] = 0;
  38316. SetPlayerVirtualWorld(playerid, 0);
  38317. PlayerInfo[playerid][pVW] = 0;
  38318. }
  38319. else if(strcmp(params,"sf",true) == 0)
  38320. {
  38321. if(GetPlayerState(playerid) == 2)
  38322. {
  38323. new tmpcar = GetPlayerVehicleID(playerid);
  38324. SetVehiclePos(tmpcar, -1417.0,-295.8,14.1);
  38325. LinkVehicleToInterior(tmpcar, 0);
  38326. SetVehicleVirtualWorld(tmpcar, 0);
  38327. TelePos[playerid][0] = 0.0;TelePos[playerid][1] = 0.0;
  38328. fVehSpeed[playerid] = 0.0;
  38329. }
  38330. else
  38331. {
  38332. SetPlayerPos(playerid, -1417.0,-295.8,14.1);
  38333. }
  38334. SendClientMessage(playerid, COLOR_WHITE, "You have teleported to San Fierro.");
  38335. SetPlayerInterior(playerid,0);
  38336. PlayerInfo[playerid][pInt] = 0;
  38337. SetPlayerVirtualWorld(playerid, 0);
  38338. PlayerInfo[playerid][pVW] = 0;
  38339. }
  38340. else if(strcmp(params,"custom",true) == 0) {
  38341. new
  38342. iInterior,
  38343. Float: fPos[3];
  38344. strdel(params, 0, 6); // remove 'custom' and space after
  38345. sscanf(params, "fffi", fPos[0], fPos[1], fPos[2], iInterior);
  38346. SetPlayerPos(playerid, fPos[0], fPos[1], fPos[2]);
  38347. SetPlayerInterior(playerid, iInterior);
  38348. }
  38349. else if(strcmp(params,"trucker",true) == 0) {
  38350. if(GetPlayerState(playerid) == 2) {
  38351. new tmpcar = GetPlayerVehicleID(playerid);
  38352. SetVehiclePos(tmpcar, 2271.3115, -2662.9541, 13.6690);
  38353. LinkVehicleToInterior(tmpcar, 0);
  38354. SetVehicleVirtualWorld(tmpcar, 0);
  38355. TelePos[playerid][0] = 0.0;TelePos[playerid][1] = 0.0;
  38356. fVehSpeed[playerid] = 0.0;
  38357. }
  38358. else {
  38359. SetPlayerPos(playerid, 2182.3650, -2662.9866, 17.8828);
  38360. }
  38361. SendClientMessage(playerid, COLOR_WHITE, "You have teleported to the Trucker Job area.");
  38362. SetPlayerInterior(playerid,0);
  38363. PlayerInfo[playerid][pInt] = 0;
  38364. SetPlayerVirtualWorld(playerid, 0);
  38365. PlayerInfo[playerid][pVW] = 0;
  38366. }
  38367. else if(strcmp(params,"lv",true) == 0)
  38368. {
  38369. if(GetPlayerState(playerid) == 2)
  38370. {
  38371. new tmpcar = GetPlayerVehicleID(playerid);
  38372. SetVehiclePos(tmpcar, 1699.2, 1435.1, 10.7);
  38373. LinkVehicleToInterior(tmpcar, 0);
  38374. SetVehicleVirtualWorld(tmpcar, 0);
  38375. TelePos[playerid][0] = 0.0;TelePos[playerid][1] = 0.0;
  38376. fVehSpeed[playerid] = 0.0;
  38377. }
  38378. else
  38379. {
  38380. SetPlayerPos(playerid, 1699.2,1435.1, 10.7);
  38381. }
  38382. SendClientMessage(playerid, COLOR_WHITE, "You have teleported to Las Venturas.");
  38383. SetPlayerInterior(playerid,0);
  38384. PlayerInfo[playerid][pInt] = 0;
  38385. SetPlayerVirtualWorld(playerid, 0);
  38386. PlayerInfo[playerid][pVW] = 0;
  38387. }
  38388. else if(strcmp(params,"bank",true) == 0)
  38389. {
  38390. if(GetPlayerState(playerid) == 2)
  38391. {
  38392. new tmpcar = GetPlayerVehicleID(playerid);
  38393. SetVehiclePos(tmpcar, 1487.91, -1030.60, 23.66);
  38394. LinkVehicleToInterior(tmpcar, 0);
  38395. SetVehicleVirtualWorld(tmpcar, 0);
  38396. TelePos[playerid][0] = 0.0;TelePos[playerid][1] = 0.0;
  38397. fVehSpeed[playerid] = 0.0;
  38398. }
  38399. else
  38400. {
  38401. SetPlayerPos(playerid, 1487.91, -1030.60, 23.66);
  38402. }
  38403. SendClientMessage(playerid, COLOR_WHITE, "You have teleported to the Bank of Los Santos.");
  38404. SetPlayerInterior(playerid,0);
  38405. PlayerInfo[playerid][pInt] = 0;
  38406. SetPlayerVirtualWorld(playerid, 0);
  38407. PlayerInfo[playerid][pVW] = 0;
  38408. }
  38409. else if(strcmp(params,"allsaints",true) == 0)
  38410. {
  38411. if(GetPlayerState(playerid) == 2)
  38412. {
  38413. new tmpcar = GetPlayerVehicleID(playerid);
  38414. SetVehiclePos(tmpcar, 1192.78, -1292.68, 13.38);
  38415. LinkVehicleToInterior(tmpcar, 0);
  38416. SetVehicleVirtualWorld(tmpcar, 0);
  38417. TelePos[playerid][0] = 0.0;TelePos[playerid][1] = 0.0;
  38418. fVehSpeed[playerid] = 0.0;
  38419. }
  38420. else
  38421. {
  38422. SetPlayerPos(playerid, 1192.78, -1292.68, 13.38);
  38423. }
  38424. SendClientMessage(playerid, COLOR_WHITE, "You have teleported to All Saints General Hospital.");
  38425. SetPlayerInterior(playerid,0);
  38426. PlayerInfo[playerid][pInt] = 0;
  38427. SetPlayerVirtualWorld(playerid, 0);
  38428. PlayerInfo[playerid][pVW] = 0;
  38429. }
  38430. else if(strcmp(params,"countygen",true) == 0)
  38431. {
  38432. if(GetPlayerState(playerid) == 2)
  38433. {
  38434. new tmpcar = GetPlayerVehicleID(playerid);
  38435. SetVehiclePos(tmpcar, 2000.05, -1409.36, 16.99);
  38436. LinkVehicleToInterior(tmpcar, 0);
  38437. SetVehicleVirtualWorld(tmpcar, 0);
  38438. TelePos[playerid][0] = 0.0;TelePos[playerid][1] = 0.0;
  38439. fVehSpeed[playerid] = 0.0;
  38440. }
  38441. else
  38442. {
  38443. SetPlayerPos(playerid, 2000.05, -1409.36, 16.99);
  38444. }
  38445. SendClientMessage(playerid, COLOR_WHITE, "You have teleported to County General Hospital.");
  38446. SetPlayerInterior(playerid,0);
  38447. PlayerInfo[playerid][pInt] = 0;
  38448. SetPlayerVirtualWorld(playerid, 0);
  38449. PlayerInfo[playerid][pVW] = 0;
  38450. }
  38451. else if(strcmp(params,"gym",true) == 0)
  38452. {
  38453. if(GetPlayerState(playerid) == 2)
  38454. {
  38455. new tmpcar = GetPlayerVehicleID(playerid);
  38456. SetVehiclePos(tmpcar, 2227.60, -1674.89, 14.62);
  38457. LinkVehicleToInterior(tmpcar, 0);
  38458. SetVehicleVirtualWorld(tmpcar, 0);
  38459. TelePos[playerid][0] = 0.0;TelePos[playerid][1] = 0.0;
  38460. fVehSpeed[playerid] = 0.0;
  38461. }
  38462. else
  38463. {
  38464. SetPlayerPos(playerid, 2227.60, -1674.89, 14.62);
  38465. }
  38466. SendClientMessage(playerid, COLOR_WHITE, "You have teleported to Ganton Gym.");
  38467. SetPlayerInterior(playerid,0);
  38468. PlayerInfo[playerid][pInt] = 0;
  38469. SetPlayerVirtualWorld(playerid, 0);
  38470. PlayerInfo[playerid][pVW] = 0;
  38471. }
  38472. else if(strcmp(params,"fbi",true) == 0)
  38473. {
  38474. if(GetPlayerState(playerid) == 2)
  38475. {
  38476. new tmpcar = GetPlayerVehicleID(playerid);
  38477. SetVehiclePos(tmpcar, 344.77,-1526.08,33.28);
  38478. TelePos[playerid][0] = 0.0;TelePos[playerid][1] = 0.0;
  38479. fVehSpeed[playerid] = 0.0;
  38480. }
  38481. else
  38482. {
  38483. SetPlayerPos(playerid, 344.77,-1526.08,33.28);
  38484. }
  38485. SendClientMessage(playerid, COLOR_WHITE, "You have teleported to the FBI.");
  38486. SetPlayerInterior(playerid,0);
  38487. PlayerInfo[playerid][pInt] = 0;
  38488. SetPlayerVirtualWorld(playerid, 0);
  38489. PlayerInfo[playerid][pVW] = 0;
  38490. }
  38491. else if(strcmp(params,"rc",true) == 0)
  38492. {
  38493. if(GetPlayerState(playerid) == 2)
  38494. {
  38495. new tmpcar = GetPlayerVehicleID(playerid);
  38496. SetVehiclePos(tmpcar, 1253.70, 343.73, 19.41);
  38497. LinkVehicleToInterior(tmpcar, 0);
  38498. SetVehicleVirtualWorld(tmpcar, 0);
  38499. TelePos[playerid][0] = 0.0;TelePos[playerid][1] = 0.0;
  38500. fVehSpeed[playerid] = 0.0;
  38501. }
  38502. else
  38503. {
  38504. SetPlayerPos(playerid, 1253.70, 343.73, 19.41);
  38505. }
  38506. SendClientMessage(playerid, COLOR_WHITE, "You have teleported to Red County.");
  38507. SetPlayerInterior(playerid,0);
  38508. PlayerInfo[playerid][pInt] = 0;
  38509. SetPlayerVirtualWorld(playerid, 0);
  38510. PlayerInfo[playerid][pVW] = 0;
  38511. }
  38512. else if(strcmp(params,"prison",true) == 0)
  38513. {
  38514. if(GetPlayerState(playerid) == 2)
  38515. {
  38516. new tmpcar = GetPlayerVehicleID(playerid);
  38517. SetVehiclePos(tmpcar, 112.67, 1917.55, 18.72);
  38518. LinkVehicleToInterior(tmpcar, 0);
  38519. SetVehicleVirtualWorld(tmpcar, 0);
  38520. TelePos[playerid][0] = 0.0;TelePos[playerid][1] = 0.0;
  38521. fVehSpeed[playerid] = 0.0;
  38522. }
  38523. else
  38524. {
  38525. SetPlayerPos(playerid, 112.67, 1917.55, 18.72);
  38526. }
  38527. SendClientMessage(playerid, COLOR_WHITE, "You have teleported to Fort DeMorgan Prison.");
  38528. SetPlayerInterior(playerid,0);
  38529. PlayerInfo[playerid][pInt] = 0;
  38530. SetPlayerVirtualWorld(playerid, 0);
  38531. PlayerInfo[playerid][pVW] = 0;
  38532. }
  38533. else if(strcmp(params,"stadium1",true) == 0)
  38534. {
  38535. if(GetPlayerState(playerid) == 2)
  38536. {
  38537. new tmpcar = GetPlayerVehicleID(playerid);
  38538. SetVehiclePos(tmpcar, -1424.93, -664.59, 1059.86);
  38539. LinkVehicleToInterior(tmpcar, 4);
  38540. SetVehicleVirtualWorld(tmpcar, 0);
  38541. TelePos[playerid][0] = 0.0;TelePos[playerid][1] = 0.0;
  38542. fVehSpeed[playerid] = 0.0;
  38543. }
  38544. else
  38545. {
  38546. SetPlayerPos(playerid, -1424.93, -664.59, 1059.86);
  38547. }
  38548. SendClientMessage(playerid, COLOR_WHITE, "You have teleported to Stadium 1.");
  38549. SetPlayerInterior(playerid,4);
  38550. PlayerInfo[playerid][pInt] = 4;
  38551. SetPlayerVirtualWorld(playerid, 0);
  38552. PlayerInfo[playerid][pVW] = 0;
  38553. }
  38554. else if(strcmp(params,"stadium2",true) == 0)
  38555. {
  38556. if(GetPlayerState(playerid) == 2)
  38557. {
  38558. new tmpcar = GetPlayerVehicleID(playerid);
  38559. SetVehiclePos(tmpcar, -1395.96, -208.20, 1051.28);
  38560. LinkVehicleToInterior(tmpcar, 7);
  38561. SetVehicleVirtualWorld(tmpcar, 0);
  38562. TelePos[playerid][0] = 0.0;TelePos[playerid][1] = 0.0;
  38563. fVehSpeed[playerid] = 0.0;
  38564. }
  38565. else
  38566. {
  38567. SetPlayerPos(playerid, -1395.96, -208.20, 1051.28);
  38568. }
  38569. SendClientMessage(playerid, COLOR_WHITE, "You have teleported to Stadium 2.");
  38570. SetPlayerInterior(playerid,7);
  38571. PlayerInfo[playerid][pInt] = 7;
  38572. SetPlayerVirtualWorld(playerid, 0);
  38573. PlayerInfo[playerid][pVW] = 0;
  38574. }
  38575. else if(strcmp(params,"stadium3",true) == 0)
  38576. {
  38577. if(GetPlayerState(playerid) == 2)
  38578. {
  38579. new tmpcar = GetPlayerVehicleID(playerid);
  38580. SetVehiclePos(tmpcar, -1410.72, 1591.16, 1052.53);
  38581. LinkVehicleToInterior(tmpcar, 14);
  38582. SetVehicleVirtualWorld(tmpcar, 0);
  38583. TelePos[playerid][0] = 0.0;TelePos[playerid][1] = 0.0;
  38584. fVehSpeed[playerid] = 0.0;
  38585. }
  38586. else
  38587. {
  38588. SetPlayerPos(playerid, -1410.72, 1591.16, 1052.53);
  38589. }
  38590. SendClientMessage(playerid, COLOR_WHITE, "You have teleported to Stadium 3.");
  38591. SetPlayerInterior(playerid,14);
  38592. PlayerInfo[playerid][pInt] = 14;
  38593. SetPlayerVirtualWorld(playerid, 0);
  38594. PlayerInfo[playerid][pVW] = 0;
  38595. }
  38596. else if(strcmp(params,"stadium4",true) == 0)
  38597. {
  38598. if(GetPlayerState(playerid) == 2)
  38599. {
  38600. new tmpcar = GetPlayerVehicleID(playerid);
  38601. SetVehiclePos(tmpcar, -1394.20, 987.62, 1023.96);
  38602. LinkVehicleToInterior(tmpcar, 15);
  38603. SetVehicleVirtualWorld(tmpcar, 0);
  38604. TelePos[playerid][0] = 0.0;TelePos[playerid][1] = 0.0;
  38605. fVehSpeed[playerid] = 0.0;
  38606. }
  38607. else
  38608. {
  38609. SetPlayerPos(playerid, -1394.20, 987.62, 1023.96);
  38610. }
  38611. SendClientMessage(playerid, COLOR_WHITE, "You have teleported to Stadium 4.");
  38612. SetPlayerInterior(playerid,15);
  38613. PlayerInfo[playerid][pInt] = 15;
  38614. SetPlayerVirtualWorld(playerid, 0);
  38615. PlayerInfo[playerid][pVW] = 0;
  38616. }
  38617. else if(strcmp(params,"int1",true) == 0)
  38618. {
  38619. if(GetPlayerState(playerid) == 2)
  38620. {
  38621. new tmpcar = GetPlayerVehicleID(playerid);
  38622. SetVehiclePos(tmpcar, 1416.107000,0.268620,1000.926000);
  38623. LinkVehicleToInterior(tmpcar, 1);
  38624. SetVehicleVirtualWorld(tmpcar, 0);
  38625. TelePos[playerid][0] = 0.0;TelePos[playerid][1] = 0.0;
  38626. fVehSpeed[playerid] = 0.0;
  38627. }
  38628. else
  38629. {
  38630. SetPlayerPos(playerid, 1416.107000,0.268620,1000.926000);
  38631. }
  38632. SendClientMessage(playerid, COLOR_WHITE, "You have teleported to Interior 1.");
  38633. SetPlayerInterior(playerid,1);
  38634. PlayerInfo[playerid][pInt] = 1;
  38635. SetPlayerVirtualWorld(playerid, 0);
  38636. PlayerInfo[playerid][pVW] = 0;
  38637. }
  38638. else if(strcmp(params,"mark",true) == 0)
  38639. {
  38640. if(GetPlayerState(playerid) == 2)
  38641. {
  38642. new tmpcar = GetPlayerVehicleID(playerid);
  38643. SetVehiclePos(tmpcar, TeleportDest[playerid][0],TeleportDest[playerid][1],TeleportDest[playerid][2]);
  38644. LinkVehicleToInterior(tmpcar, TeleportDestInt[playerid]);
  38645. }
  38646. else
  38647. {
  38648. SetPlayerPos(playerid, TeleportDest[playerid][0],TeleportDest[playerid][1],TeleportDest[playerid][2]);
  38649. }
  38650. SetPlayerInterior(playerid,TeleportDestInt[playerid]);
  38651. PlayerInfo[playerid][pInt] = TeleportDestInt[playerid];
  38652. SendClientMessage(playerid, COLOR_WHITE, "You have teleported to your marker.");
  38653. }
  38654. else if(strcmp(params,"mark2",true) == 0)
  38655. {
  38656. if(GetPlayerState(playerid) == 2)
  38657. {
  38658. new tmpcar = GetPlayerVehicleID(playerid);
  38659. SetVehiclePos(tmpcar, TeleportDest2[playerid][0],TeleportDest2[playerid][1],TeleportDest2[playerid][2]);
  38660. LinkVehicleToInterior(tmpcar, TeleportDestInt2[playerid]);
  38661. }
  38662. else
  38663. {
  38664. SetPlayerPos(playerid, TeleportDest2[playerid][0],TeleportDest2[playerid][1],TeleportDest2[playerid][2]);
  38665. }
  38666. SetPlayerInterior(playerid,TeleportDestInt2[playerid]);
  38667. PlayerInfo[playerid][pInt] = TeleportDestInt2[playerid];
  38668. SendClientMessage(playerid, COLOR_WHITE, "You have teleported to your second marker.");
  38669. }
  38670. else if(strcmp(params,"mall",true) == 0)
  38671. {
  38672. if(GetPlayerState(playerid) == 2)
  38673. {
  38674. new tmpcar = GetPlayerVehicleID(playerid);
  38675. SetVehiclePos(tmpcar, 1133.71,-1464.52,15.77);
  38676. LinkVehicleToInterior(tmpcar, 0);
  38677. SetVehicleVirtualWorld(tmpcar, 0);
  38678. TelePos[playerid][0] = 0.0;TelePos[playerid][0] = 0.0;
  38679. fVehSpeed[playerid] = 0.0;
  38680. }
  38681. else
  38682. {
  38683. SetPlayerPos(playerid, 1133.71,-1464.52,15.77);
  38684. }
  38685. SendClientMessage(playerid, COLOR_WHITE, "You have teleported to the Mall.");
  38686. SetPlayerInterior(playerid,0);
  38687. PlayerInfo[playerid][pInt] = 0;
  38688. SetPlayerVirtualWorld(playerid, 0);
  38689. PlayerInfo[playerid][pVW] = 0;
  38690. }
  38691. else if(strcmp(params,"maximusclub",true) == 0)
  38692. {
  38693. if(GetPlayerState(playerid) == 2)
  38694. {
  38695. new tmpcar = GetPlayerVehicleID(playerid);
  38696. SetVehiclePos(tmpcar, 1912.252441,-1681.022338,13.377601);
  38697. LinkVehicleToInterior(tmpcar, 0);
  38698. SetVehicleVirtualWorld(tmpcar, 0);
  38699. TelePos[playerid][0] = 0.0;TelePos[playerid][0] = 0.0;
  38700. fVehSpeed[playerid] = 0.0;
  38701. }
  38702. else
  38703. {
  38704. SetPlayerPos(playerid, 1912.252441,-1681.022338,13.377601);
  38705. }
  38706. SendClientMessage(playerid, COLOR_WHITE, "You have teleported to the Maximus Club.");
  38707. SetPlayerInterior(playerid,0);
  38708. PlayerInfo[playerid][pInt] = 0;
  38709. SetPlayerVirtualWorld(playerid, 0);
  38710. PlayerInfo[playerid][pVW] = 0;
  38711. }
  38712. if(strcmp(params,"blackmarketint",true) == 0)
  38713. {
  38714. if(GetPlayerState(playerid) == 2)
  38715. {
  38716. new tmpcar = GetPlayerVehicleID(playerid);
  38717. SetVehiclePos(tmpcar, 1529.6,-1691.2,13.3);
  38718. LinkVehicleToInterior(tmpcar, 0);
  38719. SetVehicleVirtualWorld(tmpcar, 0);
  38720. TelePos[playerid][0] = 0.0; TelePos[playerid][1] = 0.0;
  38721. fVehSpeed[playerid] = 0.0;
  38722. }
  38723. else
  38724. {
  38725. SetPlayerPos(playerid, -4107.4507, 907.0430, 3.1007);
  38726. }
  38727. SendClientMessage(playerid, COLOR_WHITE, "You have teleported to Black Market.");
  38728. SetPlayerInterior(playerid,187187);
  38729. PlayerInfo[playerid][pInt] = 187187;
  38730. SetPlayerVirtualWorld(playerid, 666187);
  38731. PlayerInfo[playerid][pVW] = 666187;
  38732. }
  38733. }
  38734. else
  38735. {
  38736. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  38737. }
  38738. return 1;
  38739. }
  38740. CMD:mark(playerid, params[])
  38741. {
  38742. if(PlayerInfo[playerid][pAdmin] >= 2)
  38743. {
  38744. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  38745. {
  38746. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  38747. return 1;
  38748. }
  38749. GetPlayerPos(playerid, TeleportDest[playerid][0],TeleportDest[playerid][1],TeleportDest[playerid][2]);
  38750. TeleportDestInt[playerid] = GetPlayerInterior(playerid);
  38751. SendClientMessage(playerid, COLOR_GRAD1, "Teleporter destination set!");
  38752. }
  38753. else {
  38754. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  38755. }
  38756. return 1;
  38757. }
  38758. CMD:mark2(playerid, params[])
  38759. {
  38760. if(PlayerInfo[playerid][pAdmin] >= 2)
  38761. {
  38762. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  38763. {
  38764. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  38765. return 1;
  38766. }
  38767. GetPlayerPos(playerid, TeleportDest2[playerid][0],TeleportDest2[playerid][1],TeleportDest2[playerid][2]);
  38768. TeleportDestInt2[playerid] = GetPlayerInterior(playerid);
  38769. SendClientMessage(playerid, COLOR_GRAD1, "Teleporter destination set!");
  38770. }
  38771. else {
  38772. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  38773. }
  38774. return 1;
  38775. }
  38776. CMD:pbscore(playerid, params[]) {
  38777. if(GetPVarInt(playerid, "PBM") > 0) {
  38778. new string[128], score;
  38779. new kills = GetPVarInt(playerid, "PBMK");
  38780. new deaths = GetPVarInt(playerid, "PBMD");
  38781. new fkills = kills / 5;
  38782. new fdeaths = deaths / 5;
  38783. score = kills - deaths;
  38784. format(string, sizeof(string), "Kills: %d | Deaths: %d | Score: %d", fkills, fdeaths, score);
  38785. SCM(playerid, COLOR_NEWS, "Paintball Score:");
  38786. SCM(playerid, -1, string);
  38787. }
  38788. else return SCM(playerid, COLOR_WHITE, "You are not in paintball.");
  38789. return 1;
  38790. }
  38791. CMD:exitpaintball(playerid, params[]) {
  38792. if(GetPVarInt(playerid, "PBM") > 0) {
  38793. if(GetPVarInt(playerid, "OPD") == 1)
  38794. return SendClientMessage(playerid, COLOR_GREY, "You're dead, please wait a few seconds and then try quit again.");
  38795. SetPlayerPos(playerid, 1941.301635,-1695.501098,-26.661914);
  38796. SetPlayerInterior(playerid, 0);
  38797. SetPlayerVirtualWorld(playerid, 0);
  38798. TogglePlayerControllable(playerid, 0);
  38799. for(new o = 0; o < 2; o++){
  38800. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  38801. }
  38802. SetPVarInt(playerid, "LoadingObjects", 1);
  38803. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  38804. new
  38805. szMessage[64];
  38806. format(szMessage, sizeof(szMessage), "%s has left the paintball game.", GetPlayerNameEx(playerid));
  38807. foreach(Player, i) {
  38808. if(GetPVarInt(i, "PBM") > 0 && GetPVarInt(i, "PBM") == GetPVarInt(playerid, "PBM") && i != playerid)
  38809. SendClientMessage(i, COLOR_RED, szMessage);
  38810. }
  38811. DeletePVar(playerid, "PBM");
  38812. DeletePVar(playerid, "PBMK");
  38813. DeletePVar(playerid, "PBMD");
  38814. DeletePVar(playerid, "IsFrozen");
  38815. if(GetPVarType(playerid, "PBMT") != 0) {
  38816. SetPlayerToTeamColor(playerid);
  38817. DeletePVar(playerid, "PBMT");
  38818. }
  38819. SetPlayerHealth(playerid, GetPVarFloat(playerid, "pbhealth"));
  38820. SetPlayerArmourEx(playerid, GetPVarFloat(playerid, "pbarmour"));
  38821. ResetPlayerWeapons(playerid);
  38822. PlayerInfo[playerid][pAGuns][0] = 0;
  38823. PlayerInfo[playerid][pAGuns][1] = 0;
  38824. PlayerInfo[playerid][pAGuns][2] = 0;
  38825. PlayerInfo[playerid][pAGuns][ 3 ] = 0;
  38826. PlayerInfo[playerid][pAGuns][4] = 0;
  38827. PlayerInfo[playerid][pAGuns][5] = 0;
  38828. PlayerInfo[playerid][pAGuns][6] = 0;
  38829. PlayerInfo[playerid][pAGuns][7] = 0;
  38830. PlayerInfo[playerid][pAGuns][8] = 0;
  38831. PlayerInfo[playerid][pAGuns][9] = 0;
  38832. PlayerInfo[playerid][pAGuns][10] = 0;
  38833. PlayerInfo[playerid][pAGuns][11] = 0;
  38834. SetPlayerWeapons(playerid);
  38835. DeletePVar(playerid, "pbhealth");
  38836. DeletePVar(playerid, "pbarmour");
  38837. SendClientMessage(playerid, COLOR_WHITE, "You have quit the paintball game.");
  38838. }
  38839. return 1;
  38840. }
  38841. CMD:paintball(playerid, params[]) {
  38842. if(PlayerInfo[playerid][pConnectTime] < 2)
  38843. return SendClientMessage(playerid, COLOR_GREY, "You can't play paintball yet. Play 2 full hours first.");
  38844. if(AdminDuty[playerid] != 0)
  38845. return SendClientMessage(playerid, COLOR_GREY, "You can't play while on admin duty.");
  38846. if(PlayerInfo[playerid][pWantedLevel] >= 1)
  38847. return SendClientMessage(playerid, COLOR_GREY, "You can't join paintball while you're wanted.");
  38848. if(IsPlayerInRangeOfPoint(playerid, 5, 1941.132446,-1699.301757,-26.661914)) {
  38849. new
  38850. iPlayer = INVALID_PLAYER_ID;
  38851. foreach(Player, i) {
  38852. if(GetPVarInt(i, "PBM") > 0) {
  38853. iPlayer = i; // always going to get the highest ID because Y_Less never added a 'break;' for foreach ~_~ ...or didn't document it
  38854. }
  38855. }
  38856. new
  38857. Float: fFloat;
  38858. GetPlayerHealth(playerid, fFloat);
  38859. SetPVarFloat(playerid, "pbhealth", fFloat);
  38860. GetPlayerArmour(playerid, fFloat);
  38861. SetPVarFloat(playerid, "pbarmour", fFloat);
  38862. if(iPlayer == INVALID_PLAYER_ID)
  38863. ShowPlayerDialogEx(playerid, 3652, DIALOG_STYLE_LIST, "Paintball - Game type", "DM\nTDM", "Go", "Cancel");
  38864. else
  38865. ShowPlayerDialogEx(playerid, 3652, DIALOG_STYLE_LIST, "Paintball - Game type", "DM\nTDM\nRandom (has players in)", "Go", "Cancel");
  38866. } else
  38867. SendClientMessage(playerid, COLOR_GREY, "You're not in range of the paintball venue.");
  38868. return 1;
  38869. }
  38870. CMD:listguns(playerid, params[])
  38871. {
  38872. if(PlayerInfo[playerid][pAdmin] >= 2)
  38873. {
  38874. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  38875. {
  38876. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  38877. return 1;
  38878. }
  38879. new string[128], giveplayerid;
  38880. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /listguns [playerid/partofname]");
  38881. if(IsPlayerConnected(giveplayerid))
  38882. {
  38883. new weapons[13][2], weaponname[50];
  38884. if(GetPVarInt(giveplayerid, "EventToken") != 0 || GetPVarInt(giveplayerid, "PBM") > 0)
  38885. {
  38886. SendClientMessage(playerid, COLOR_GRAD2, "That player is at an event/paintball so the weapons may appear as non-server sided.");
  38887. }
  38888. SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
  38889. format(string, sizeof(string), "Weapons on %s:", GetPlayerNameEx(giveplayerid));
  38890. SendClientMessage(playerid, COLOR_WHITE, string);
  38891. for (new i = 0; i < 13; i++)
  38892. {
  38893. GetPlayerWeaponData(giveplayerid, i, weapons[i][0], weapons[i][1]);
  38894. if(weapons[i][0] > 0)
  38895. {
  38896. if(PlayerInfo[giveplayerid][pGuns][i] == weapons[i][0])
  38897. {
  38898. GetWeaponName(weapons[i][0], weaponname, sizeof(weaponname));
  38899. format(string, sizeof(string), "%s (%d).", weaponname, weapons[i][0]);
  38900. SendClientMessage(playerid, COLOR_GRAD1, string);
  38901. }
  38902. else
  38903. {
  38904. GetWeaponName(weapons[i][0], weaponname, sizeof(weaponname));
  38905. format(string, sizeof(string), "%s (%d) (non server-side).", weaponname, weapons[i][0]);
  38906. SendClientMessage(playerid, COLOR_GRAD1, string);
  38907. }
  38908. }
  38909. }
  38910. SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
  38911. }
  38912. else SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  38913. }
  38914. else
  38915. {
  38916. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  38917. }
  38918. return 1;
  38919. }
  38920. CMD:hhc(playerid, params[])
  38921. {
  38922. return cmd_hhcheck(playerid, params);
  38923. }
  38924. CMD:hhcheck(playerid, params[])
  38925. {
  38926. new string[128], giveplayerid;
  38927. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /hhcheck [playerid/partofname]");
  38928. if(IsPlayerConnected(giveplayerid))
  38929. {
  38930. if(PlayerInfo[playerid][pAdmin] >= 2)
  38931. {
  38932. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  38933. {
  38934. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  38935. return 1;
  38936. }
  38937. if(HHcheckFloats[giveplayerid][0] != 0)
  38938. {
  38939. SendClientMessage(playerid, COLOR_WHITE, "That player is currently being checked for health hacks!");
  38940. return 1;
  38941. }
  38942. if(PlayerInfo[giveplayerid][pAdmin] >= PlayerInfo[playerid][pAdmin] && AdminDuty[giveplayerid] == 1)
  38943. {
  38944. SendClientMessage(playerid, COLOR_WHITE, "You can't perform this action on an equal or higher level admin that is on-duty.");
  38945. return 1;
  38946. }
  38947. if(playerTabbed[giveplayerid] != 0)
  38948. {
  38949. SendClientMessage(playerid, COLOR_WHITE, "That player is currently alt-tabbed!");
  38950. return 1;
  38951. }
  38952. if(HHcheckUsed != 0)
  38953. {
  38954. SendClientMessage(playerid, COLOR_WHITE, "The health hack check is being used by another admin, please try again in a moment!");
  38955. return 1;
  38956. }
  38957. HHcheckUsed = 1;
  38958. format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s has initiated a health hack check on %s.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  38959. ABroadCast(COLOR_YELLOW, string, 1);
  38960. format(string, sizeof(string), "Checking %s for health hacks, please wait....", GetPlayerNameEx(giveplayerid));
  38961. SendClientMessage(playerid, COLOR_YELLOW, string);
  38962. GetPlayerHealth(giveplayerid, HHcheckFloats[giveplayerid][0]);
  38963. GetPlayerArmour(giveplayerid, HHcheckFloats[giveplayerid][1]);
  38964. GetPlayerPos(giveplayerid, HHcheckFloats[giveplayerid][2], HHcheckFloats[giveplayerid][3], HHcheckFloats[giveplayerid][4]);
  38965. GetPlayerFacingAngle(giveplayerid, HHcheckFloats[giveplayerid][5]);
  38966. HHcheckVW[giveplayerid] = GetPlayerVirtualWorld(giveplayerid);
  38967. HHcheckInt[giveplayerid] = GetPlayerInterior(giveplayerid);
  38968. DeletePVar(giveplayerid, "IsFrozen");
  38969. TogglePlayerControllable(giveplayerid, 1);
  38970. SetPlayerCameraPos(giveplayerid, 785.1896,1692.6887,5.2813);
  38971. SetPlayerCameraLookAt(giveplayerid, 785.1896,1692.6887,0);
  38972. SetPlayerVirtualWorld(giveplayerid, 0);
  38973. SetPlayerInterior(giveplayerid, 1);
  38974. SetPlayerHealth(giveplayerid, 100);
  38975. SetPlayerArmourEx(giveplayerid, 0);
  38976. SetPlayerPos(giveplayerid, -1400.994873, 106.899650, 1032.273437);
  38977. SetPlayerFacingAngle(giveplayerid, 90.66);
  38978. CreateExplosion(-1400.994873, 106.899650 , 1032.273437, 8, 20);
  38979. SetTimerEx("HealthHackCheck", 1250, 0, "dd", playerid, giveplayerid);
  38980. }
  38981. else SendClientMessage(playerid, COLOR_GREY, "You're not authorized to use that command!");
  38982. }
  38983. else SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  38984. return 1;
  38985. }
  38986. forward HealthHackCheck(playerid, giveplayerid);
  38987. public HealthHackCheck(playerid, giveplayerid)
  38988. {
  38989. new string[128];
  38990. if(giveplayerid == INVALID_PLAYER_ID)
  38991. {
  38992. SendClientMessage(playerid, COLOR_YELLOW, "The health hack check result could not be made, the player logged off.");
  38993. HHcheckUsed = 0;
  38994. return 1;
  38995. }
  38996. if(playerTabbed[giveplayerid] != 0)
  38997. {
  38998. SendClientMessage(playerid, COLOR_WHITE, "The health hack check result could not be made, the player alt-tabbed.");
  38999. SetPlayerHealth(giveplayerid, HHcheckFloats[giveplayerid][0]);
  39000. SetPlayerArmourEx(giveplayerid, HHcheckFloats[giveplayerid][1]);
  39001. SetPlayerPos(giveplayerid, HHcheckFloats[giveplayerid][2], HHcheckFloats[giveplayerid][3], HHcheckFloats[giveplayerid][4]);
  39002. SetPlayerFacingAngle(giveplayerid, HHcheckFloats[giveplayerid][5]);
  39003. SetCameraBehindPlayer(giveplayerid);
  39004. SetPlayerVirtualWorld(giveplayerid, HHcheckVW[giveplayerid]);
  39005. SetPlayerInterior(giveplayerid, HHcheckInt[giveplayerid]);
  39006. for(new i = 0; i < 6; i++)
  39007. {
  39008. HHcheckFloats[giveplayerid][i] = 0;
  39009. }
  39010. HHcheckVW[giveplayerid] = 0;
  39011. HHcheckInt[giveplayerid] = 0;
  39012. HHcheckUsed = 0;
  39013. return 1;
  39014. }
  39015. if(!IsPlayerInRangeOfPoint(giveplayerid,20,-1400.994873, 106.899650, 1032.273437))
  39016. {
  39017. SendClientMessage(playerid, COLOR_WHITE, "The health hack check result could not be made, the player was probably desynced/lagging.");
  39018. SetPlayerHealth(giveplayerid, HHcheckFloats[giveplayerid][0]);
  39019. SetPlayerArmourEx(giveplayerid, HHcheckFloats[giveplayerid][1]);
  39020. SetPlayerPos(giveplayerid, HHcheckFloats[giveplayerid][2], HHcheckFloats[giveplayerid][3], HHcheckFloats[giveplayerid][4]);
  39021. SetPlayerFacingAngle(giveplayerid, HHcheckFloats[giveplayerid][5]);
  39022. SetCameraBehindPlayer(giveplayerid);
  39023. SetPlayerVirtualWorld(giveplayerid, HHcheckVW[giveplayerid]);
  39024. SetPlayerInterior(giveplayerid, HHcheckInt[giveplayerid]);
  39025. for(new i = 0; i < 6; i++)
  39026. {
  39027. HHcheckFloats[giveplayerid][i] = 0;
  39028. }
  39029. HHcheckVW[giveplayerid] = 0;
  39030. HHcheckInt[giveplayerid] = 0;
  39031. HHcheckUsed = 0;
  39032. return 1;
  39033. }
  39034. new Float:health;
  39035. GetPlayerHealth(giveplayerid, health);
  39036. if(health == 100)
  39037. {
  39038. SendClientMessage(playerid, COLOR_GREEN, "____________________ HEALTH HACK CHECK RESULT_______________");
  39039. format(string, sizeof(string), "The health hack check on %s was {00F70C}positive{FFFFFF}. The player may be health hacking.", GetPlayerNameEx(giveplayerid));
  39040. SendClientMessage(playerid, COLOR_WHITE, string);
  39041. SendClientMessage(playerid, COLOR_WHITE, "Health before check: 100.0");
  39042. format(string, sizeof(string), "Health after check: %.1f", health);
  39043. SendClientMessage(playerid, COLOR_WHITE, string);
  39044. SendClientMessage(playerid, COLOR_GREEN, "_______________________________________________________________");
  39045. }
  39046. else
  39047. {
  39048. SendClientMessage(playerid, COLOR_GREEN, "____________________ HEALTH HACK CHECK RESULT_______________");
  39049. format(string, sizeof(string), "The health hack check on %s was {FFA500}negative{FFFFFF}. The player was not health hacking.", GetPlayerNameEx(giveplayerid));
  39050. SendClientMessage(playerid, COLOR_WHITE, string);
  39051. SendClientMessage(playerid, COLOR_WHITE, "Health before check: 100.0");
  39052. format(string, sizeof(string), "Health after check: %.1f", health);
  39053. SendClientMessage(playerid, COLOR_WHITE, string);
  39054. SendClientMessage(playerid, COLOR_GREEN, "_______________________________________________________________");
  39055. }
  39056. SetPlayerHealth(giveplayerid, HHcheckFloats[giveplayerid][0]);
  39057. SetPlayerArmourEx(giveplayerid, HHcheckFloats[giveplayerid][1]);
  39058. SetPlayerPos(giveplayerid, HHcheckFloats[giveplayerid][2], HHcheckFloats[giveplayerid][3], HHcheckFloats[giveplayerid][4]);
  39059. SetPlayerFacingAngle(giveplayerid, HHcheckFloats[giveplayerid][5]);
  39060. SetCameraBehindPlayer(giveplayerid);
  39061. SetPlayerVirtualWorld(giveplayerid, HHcheckVW[giveplayerid]);
  39062. SetPlayerInterior(giveplayerid, HHcheckInt[giveplayerid]);
  39063. for(new i = 0; i < 6; i++)
  39064. {
  39065. HHcheckFloats[giveplayerid][i] = 0;
  39066. }
  39067. HHcheckVW[giveplayerid] = 0;
  39068. HHcheckInt[giveplayerid] = 0;
  39069. HHcheckUsed = 0;
  39070. return 1;
  39071. }
  39072. CMD:a(playerid, params[])
  39073. {
  39074. return cmd_admin(playerid, params);
  39075. }
  39076. CMD:adminrules(playerid, params[])
  39077. {
  39078. if(PlayerInfo[playerid][pAdmin] >= 1)
  39079. SendClientMessage(playerid, COLOR_REALREDS,"*** Admin Rules ***");
  39080. SendClientMessage(playerid, COLOR_NEWS,"Wag mo e abuse power mo taena moka");
  39081. SendClientMessage(playerid, COLOR_NEWS,"No giving /healnear Or /revive someone (/report revive me) /nonrevive it for more info /ah");
  39082. SendClientMessage(playerid, COLOR_NEWS,"No giving guns just tell them we have blackmarket or maximusclub.");
  39083. SendClientMessage(playerid, COLOR_NEWS,"Dont ask for ranks or kicked");
  39084. SendClientMessage(playerid, COLOR_NEWS,"They knows how to roleplay and how to english we dont need other Language only english (/rmute , /gmute)");
  39085. SendClientMessage(playerid, COLOR_NEWS,"After using this command /veh after use /destroycars to avoid use players");
  39086. SendClientMessage(playerid, COLOR_NEWS,"Dont spam on admin chat and other chat or you will kicked");
  39087. SendClientMessage(playerid, COLOR_NEWS,"Dont fight be friendly");
  39088. SendClientMessage(playerid, COLOR_NEWS,"Avoid fight on player");
  39089. SendClientMessage(playerid, COLOR_REALREDS,"This admin rules created By Howard McAdam(Charly Mesina <3) dont abuse it ok :)");
  39090. return 1;
  39091. }
  39092. CMD:admin(playerid, params[])
  39093. {
  39094. if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pFormer] == 1)
  39095. {
  39096. /*if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  39097. {
  39098. SendClientMessage(playerid,COLOR_WHITE, "You can only chat while off-duty. Type /aduty to go on-duty.");
  39099. return 1;
  39100. }*/
  39101. if(!isnull(params))
  39102. {
  39103. new szMessage[128];
  39104. format(szMessage, sizeof(szMessage), "* %s{FFFF00} %s: %s", GetAdminRank(playerid), GetPlayerNameEx(playerid), params);
  39105. ABroadCast(COLOR_YELLOW, szMessage, 1);
  39106. }
  39107. else SendClientMessage(playerid, COLOR_WHITE, "USAGE: (/a)dmin [admin chat]");
  39108. }
  39109. return 1;
  39110. }
  39111. CMD:cnn(playerid, params[]) {
  39112. if(PlayerInfo[playerid][pAdmin] >= 4)
  39113. {
  39114. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  39115. {
  39116. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  39117. return 1;
  39118. }
  39119. if(!isnull(params)) {
  39120. new
  39121. szMessage[128];
  39122. format(szMessage, sizeof(szMessage), "~b~%s: ~w~%s",GetPlayerNameEx(playerid), params);
  39123. foreach(Player, i) GameTextForPlayer(i, szMessage, 5000, 6);
  39124. }
  39125. else SendClientMessage(playerid, COLOR_WHITE, "USAGE: /cnn [message]. ~n~ = new line, ~r~ = red, ~g~ = green, ~b~ = blue, ~w~ = white, ~y~ = yellow.");
  39126. }
  39127. else SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  39128. return 1;
  39129. }
  39130. CMD:cnnn(playerid, params[]) {
  39131. if(PlayerInfo[playerid][pAdmin] >= 5)
  39132. {
  39133. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  39134. {
  39135. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  39136. return 1;
  39137. }
  39138. new
  39139. iTextID,
  39140. szMessage[128];
  39141. if(sscanf(params, "is[128]", iTextID, szMessage)) {
  39142. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /cnnn [type 1-6] [message]. ~n~ = new line, ~r~ = red, ~g~ = green, ~b~ = blue, ~w~ = white, ~y~ = yellow.");
  39143. }
  39144. else if(!(0 <= iTextID <= 6 && iTextID != 2)) {
  39145. SendClientMessage(playerid, COLOR_GRAD2, "Text ID must be between 0 and 6, but not 2 (due to SA:MP bugs).");
  39146. }
  39147. else foreach(Player, i) GameTextForPlayer(i, szMessage, 5000, iTextID);
  39148. }
  39149. else SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  39150. return 1;
  39151. }
  39152. CMD:motd(playerid, params[])
  39153. {
  39154. if(PlayerInfo[playerid][pAdmin] >= 6)
  39155. {
  39156. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  39157. {
  39158. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  39159. return 1;
  39160. }
  39161. if(isnull(params)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /motd [message]");
  39162. new string[128];
  39163. format(string, sizeof(string), "AdmCmd: %s has changed the Global MOTD to '%s'.", GetPlayerNameEx(playerid), params);
  39164. ABroadCast(COLOR_LIGHTRED, string, 5);
  39165. format(GlobalMOTD, sizeof(GlobalMOTD), "%s", params);
  39166. SendClientMessage(playerid, COLOR_WHITE, "You've adjusted the Global MOTD.");
  39167. format(string, sizeof(string), "%s", params);
  39168. TextDrawSetString(MainMenuTxtdraw[8], string);
  39169. Misc_Save();
  39170. }
  39171. return 1;
  39172. }
  39173. CMD:amotd(playerid, params[])
  39174. {
  39175. if(PlayerInfo[playerid][pAdmin] >= 5)
  39176. {
  39177. if(isnull(params)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /amotd [message]");
  39178. new string[128];
  39179. format(AdminMOTD, sizeof(AdminMOTD), "%s", params);
  39180. format(string, sizeof(string), "AdmCmd: %s has changed the Admin MOTD to '%s'.", GetPlayerNameEx(playerid), params);
  39181. ABroadCast(COLOR_LIGHTRED, string, 5);
  39182. SendClientMessage(playerid, COLOR_WHITE, "You've adjusted the Admin MOTD.");
  39183. Misc_Save();
  39184. }
  39185. return 1;
  39186. }
  39187. CMD:paused(playerid, params[]) {
  39188. if(PlayerInfo[playerid][pAdmin] >= 2)
  39189. {
  39190. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  39191. {
  39192. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  39193. return 1;
  39194. }
  39195. new
  39196. szMessage[42 + MAX_PLAYER_NAME];
  39197. SendClientMessage(playerid,COLOR_WHITE,"Listing all paused players...");
  39198. foreach(Player, i) if(playerTabbed[i] != 0) {
  39199. if(playerTabbedTime[i] > 60) format(szMessage, sizeof(szMessage), "* %s (ID %d), tabbed for %d minutes.", GetPlayerNameEx(i), i, playerTabbedTime[i] / 60);
  39200. else format(szMessage, sizeof(szMessage), "* %s (ID %d), tabbed for %d seconds.", GetPlayerNameEx(i), i, playerTabbedTime[i]);
  39201. if(PlayerInfo[i][pAdmin] >= 2) SendClientMessage(playerid,COLOR_WHITE, szMessage);
  39202. else SendClientMessage(playerid,COLOR_GREY, szMessage);
  39203. }
  39204. }
  39205. else SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use this command.");
  39206. return 1;
  39207. }
  39208. CMD:afk(playerid, params[]) {
  39209. if(PlayerInfo[playerid][pAdmin] >= 2)
  39210. {
  39211. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  39212. {
  39213. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  39214. return 1;
  39215. }
  39216. new
  39217. szMessage[36 + MAX_PLAYER_NAME];
  39218. SendClientMessage(playerid,COLOR_WHITE,"Listing all AFK players...");
  39219. foreach(Player, i) if(playerAFK[i] != 0 && playerAFKTime[i] > 60) {
  39220. format(szMessage,sizeof(szMessage),"* %s (ID %d), AFK for %d minutes.", GetPlayerNameEx(i), i, playerAFKTime[i] / 60);
  39221. if(PlayerInfo[i][pAdmin] >= 2) SendClientMessage(playerid,COLOR_RED,szMessage);
  39222. else SendClientMessage(playerid,COLOR_GREY,szMessage);
  39223. }
  39224. }
  39225. else SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use this command.");
  39226. return 1;
  39227. }
  39228. CMD:gotoco(playerid, params[])
  39229. {
  39230. if(PlayerInfo[playerid][pAdmin] >= 2)
  39231. {
  39232. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  39233. {
  39234. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  39235. return 1;
  39236. }
  39237. new Float: pos[3], int;
  39238. if(sscanf(params, "fffd", pos[0], pos[1], pos[2], int)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /gotoco [x coordinate] [y coordinate] [z coordinate] [interior]");
  39239. SendClientMessage(playerid, COLOR_GRAD2, "You have been teleported to the coordinates specified.");
  39240. SetPlayerPos(playerid, pos[0], pos[1], pos[2]);
  39241. SetPlayerInterior(playerid, int);
  39242. }
  39243. return 1;
  39244. }
  39245. CMD:check(playerid, params[])
  39246. {
  39247. if(PlayerInfo[playerid][pAdmin] >= 5)
  39248. {
  39249. new giveplayerid;
  39250. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_GRAD1, "USAGE: /check [playerid/partofname]");
  39251. if(IsPlayerConnected(giveplayerid))
  39252. {
  39253. ShowStats(playerid,giveplayerid);
  39254. }
  39255. else
  39256. {
  39257. SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  39258. }
  39259. }
  39260. else
  39261. {
  39262. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  39263. }
  39264. return 1;
  39265. }
  39266. CMD:ocheck(playerid, params[]) {
  39267. if(PlayerInfo[playerid][pAdmin] < 3)
  39268. return SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  39269. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  39270. return SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  39271. if(isnull(params))
  39272. return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /ocheck [name]");
  39273. if(doesAccountExist(params))
  39274. {
  39275. OnPlayerOfflineLogin(params);
  39276. new facgang[20], employer[64], rank[64], division[64], jtext[20], jtext2[20];
  39277. new level = PlayerInfo[MAX_PLAYERS][pLevel];
  39278. new phours = PlayerInfo[MAX_PLAYERS][pConnectTime];
  39279. new respect = PlayerInfo[MAX_PLAYERS][pRespect];
  39280. new nxtlevel = PlayerInfo[MAX_PLAYERS][pLevel]+1;
  39281. new expamount = nxtlevel*levelexp;
  39282. new costlevel = nxtlevel*2500;
  39283. new pnumber = PlayerInfo[MAX_PLAYERS][pNumber];
  39284. new warns = PlayerInfo[MAX_PLAYERS][pWarns];
  39285. facgang = "Faction";
  39286. employer = "None";
  39287. rank = "None";
  39288. if(PlayerInfo[MAX_PLAYERS][pGang] < 255)
  39289. {
  39290. facgang = "Family"; division = "None";
  39291. format(employer, sizeof(employer), "%s", FamilyInfo[PlayerInfo[MAX_PLAYERS][pGang]][FamilyName]);
  39292. switch(PlayerInfo[MAX_PLAYERS][pRank])
  39293. {
  39294. case 1: format(rank, sizeof(rank), "%s", FamilyInfo[PlayerInfo[MAX_PLAYERS][pGang]][FamilyRank1]);
  39295. case 2: format(rank, sizeof(rank), "%s", FamilyInfo[PlayerInfo[MAX_PLAYERS][pGang]][FamilyRank2]);
  39296. case 3: format(rank, sizeof(rank), "%s", FamilyInfo[PlayerInfo[MAX_PLAYERS][pGang]][FamilyRank3]);
  39297. case 4: format(rank, sizeof(rank), "%s", FamilyInfo[PlayerInfo[MAX_PLAYERS][pGang]][FamilyRank4]);
  39298. case 5: format(rank, sizeof(rank), "%s", FamilyInfo[PlayerInfo[MAX_PLAYERS][pGang]][FamilyRank5]);
  39299. case 6: format(rank, sizeof(rank), "%s", FamilyInfo[PlayerInfo[MAX_PLAYERS][pGang]][FamilyRank6]);
  39300. default: format(rank, sizeof(rank), "%s", FamilyInfo[PlayerInfo[MAX_PLAYERS][pGang]][FamilyRank1]);
  39301. }
  39302. }
  39303. else {
  39304. GetPlayerFactionInfo(MAX_PLAYERS, rank, division, employer);
  39305. }
  39306. switch(PlayerInfo[MAX_PLAYERS][pJob])
  39307. {
  39308. case 1: jtext = "Detective";
  39309. case 2: jtext = "Lawyer";
  39310. case 3: jtext = "Whore";
  39311. case 4: jtext = "Drugs Dealer";
  39312. case 5: jtext = "Car Jacker";
  39313. //case 6: jtext = "News Reporter";
  39314. case 7: jtext = "Car Mechanic";
  39315. case 8: jtext = "Bodyguard";
  39316. case 9: jtext = "Arms Dealer";
  39317. //case 10: jtext = "Car Dealer";
  39318. case 12: jtext = "Boxer";
  39319. case 14: jtext = "Drug Smuggler";
  39320. //case 15: jtext = "Paper Boy";
  39321. //case 16: jtext = "Trucker";
  39322. case 17: jtext = "Taxi Driver";
  39323. case 18: jtext = "Craftsman";
  39324. case 19: jtext = "Bartender";
  39325. case 20: jtext = "Trucker";
  39326. case 21: jtext = "Pizza Boy";
  39327. default: jtext = "None";
  39328. }
  39329. switch(PlayerInfo[MAX_PLAYERS][pJob2])
  39330. {
  39331. case 1: jtext2 = "Detective";
  39332. case 2: jtext2 = "Lawyer";
  39333. case 3: jtext2 = "Whore";
  39334. case 4: jtext2 = "Drugs Dealer";
  39335. case 5: jtext2 = "Car Jacker";
  39336. //case 6: jtext2 = "News Reporter";
  39337. case 7: jtext2 = "Car Mechanic";
  39338. case 8: jtext2 = "Bodyguard";
  39339. case 9: jtext2 = "Arms Dealer";
  39340. //case 10: jtext2 = "Car Dealer";
  39341. case 12: jtext2 = "Boxer";
  39342. case 14: jtext2 = "Drug Smuggler";
  39343. //case 15: jtext2 = "Paper Boy";
  39344. //case 16: jtext2 = "Trucker";
  39345. case 17: jtext2 = "Taxi Driver";
  39346. case 18: jtext2 = "Craftsman";
  39347. case 19: jtext2 = "Bartender";
  39348. case 20: jtext2 = "Trucker";
  39349. case 21: jtext2 = "Pizza Boy";
  39350. default: jtext2 = "None";
  39351. }
  39352. new jlevel;
  39353. switch(PlayerInfo[MAX_PLAYERS][pJob])
  39354. {
  39355. case 1:
  39356. {
  39357. new skilllevel = PlayerInfo[MAX_PLAYERS][pDetSkill];
  39358. if(skilllevel >= 0 && skilllevel <= 50) { jlevel = 1; }
  39359. else if(skilllevel >= 51 && skilllevel <= 100) { jlevel = 2; }
  39360. else if(skilllevel >= 101 && skilllevel <= 200) { jlevel = 3; }
  39361. else if(skilllevel >= 201 && skilllevel <= 400) { jlevel = 4; }
  39362. else if(skilllevel >= 401) { jlevel = 5; }
  39363. }
  39364. case 2:
  39365. {
  39366. new skilllevel = PlayerInfo[MAX_PLAYERS][pLawSkill];
  39367. if(skilllevel >= 0 && skilllevel <= 50) { jlevel = 1; }
  39368. else if(skilllevel >= 51 && skilllevel <= 100) { jlevel = 2; }
  39369. else if(skilllevel >= 101 && skilllevel <= 200) { jlevel = 3; }
  39370. else if(skilllevel >= 201 && skilllevel <= 400) { jlevel = 4; }
  39371. else if(skilllevel >= 401) { jlevel = 5; }
  39372. }
  39373. case 3:
  39374. {
  39375. new skilllevel = PlayerInfo[MAX_PLAYERS][pSexSkill];
  39376. if(skilllevel >= 0 && skilllevel <= 50) { jlevel = 1; }
  39377. else if(skilllevel >= 51 && skilllevel <= 100) { jlevel = 2; }
  39378. else if(skilllevel >= 101 && skilllevel <= 200) { jlevel = 3; }
  39379. else if(skilllevel >= 201 && skilllevel <= 400) { jlevel = 4; }
  39380. else if(skilllevel >= 401) { jlevel = 5; }
  39381. }
  39382. case 4:
  39383. {
  39384. new skilllevel = PlayerInfo[MAX_PLAYERS][pDrugsSkill];
  39385. if(skilllevel >= 0 && skilllevel <= 50) { jlevel = 1; }
  39386. else if(skilllevel >= 51 && skilllevel <= 100) { jlevel = 2; }
  39387. else if(skilllevel >= 101 && skilllevel <= 200) { jlevel = 3; }
  39388. else if(skilllevel >= 201 && skilllevel <= 400) { jlevel = 4; }
  39389. else if(skilllevel >= 401) { jlevel = 5; }
  39390. }
  39391. case 5:
  39392. {
  39393. new skilllevel = PlayerInfo[MAX_PLAYERS][pCarSkill];
  39394. if(skilllevel >= 0 && skilllevel <= 50) { jlevel = 1; }
  39395. else if(skilllevel >= 51 && skilllevel <= 100) { jlevel = 2; }
  39396. else if(skilllevel >= 101 && skilllevel <= 200) { jlevel = 3; }
  39397. else if(skilllevel >= 201 && skilllevel <= 400) { jlevel = 4; }
  39398. else if(skilllevel >= 401) { jlevel = 5; }
  39399. }
  39400. case 7:
  39401. {
  39402. new skilllevel = PlayerInfo[MAX_PLAYERS][pMechSkill];
  39403. if(skilllevel >= 0 && skilllevel <= 50) { jlevel = 1; }
  39404. else if(skilllevel >= 51 && skilllevel <= 100) { jlevel = 2; }
  39405. else if(skilllevel >= 101 && skilllevel <= 200) { jlevel = 3; }
  39406. else if(skilllevel >= 201 && skilllevel <= 400) { jlevel = 4; }
  39407. else if(skilllevel >= 401) { jlevel = 5; }
  39408. }
  39409. case 9:
  39410. {
  39411. new skilllevel = PlayerInfo[MAX_PLAYERS][pArmsSkill];
  39412. if(skilllevel >= 0 && skilllevel < 50) { jlevel = 1; }
  39413. else if(skilllevel >= 50 && skilllevel < 100) { jlevel = 2; }
  39414. else if(skilllevel >= 100 && skilllevel < 200) { jlevel = 3; }
  39415. else if(skilllevel >= 200 && skilllevel < 400) { jlevel = 4; }
  39416. else if(skilllevel >= 400) { jlevel = 5; }
  39417. }
  39418. case 12:
  39419. {
  39420. new skilllevel = PlayerInfo[MAX_PLAYERS][pBoxSkill];
  39421. if(skilllevel >= 0 && skilllevel <= 50) { jlevel = 1; }
  39422. else if(skilllevel >= 51 && skilllevel <= 100) { jlevel = 2; }
  39423. else if(skilllevel >= 101 && skilllevel <= 200) { jlevel = 3; }
  39424. else if(skilllevel >= 201 && skilllevel <= 400) { jlevel = 4; }
  39425. else if(skilllevel >= 401) { jlevel = 5; }
  39426. }
  39427. case 14:
  39428. {
  39429. new skilllevel = PlayerInfo[MAX_PLAYERS][pSmugSkill];
  39430. if(skilllevel >= 0 && skilllevel <= 50) { jlevel = 1; }
  39431. else if(skilllevel >= 51 && skilllevel <= 100) { jlevel = 2; }
  39432. else if(skilllevel >= 101 && skilllevel <= 200) { jlevel = 3; }
  39433. else if(skilllevel >= 201 && skilllevel <= 400) { jlevel = 4; }
  39434. else if(skilllevel >= 401) { jlevel = 5; }
  39435. }
  39436. /*case 18:
  39437. {
  39438. new skilllevel = PlayerInfo[MAX_PLAYERS][pCraftSkill];
  39439. if(skilllevel >= 0 && skilllevel <= 50) { jlevel = 1; }
  39440. else if(skilllevel >= 51 && skilllevel <= 100) { jlevel = 2; }
  39441. else if(skilllevel >= 101 && skilllevel <= 200) { jlevel = 3; }
  39442. else if(skilllevel >= 201 && skilllevel <= 400) { jlevel = 4; }
  39443. else if(skilllevel >= 401) { jlevel = 5; }
  39444. }*/
  39445. case 20:
  39446. {
  39447. new skilllevel = PlayerInfo[MAX_PLAYERS][pTruckSkill];
  39448. if(skilllevel >= 0 && skilllevel <= 50) { jlevel = 1; }
  39449. else if(skilllevel >= 51 && skilllevel <= 100) { jlevel = 2; }
  39450. else if(skilllevel >= 101 && skilllevel <= 200) { jlevel = 3; }
  39451. else if(skilllevel >= 201 && skilllevel <= 400) { jlevel = 4; }
  39452. else if(skilllevel >= 401) { jlevel = 5; }
  39453. }
  39454. default: jlevel = 0;
  39455. }
  39456. /*new jlevel2;
  39457. switch(PlayerInfo[MAX_PLAYERS][pJob2])
  39458. {
  39459. case 1:
  39460. {
  39461. new skilllevel = PlayerInfo[MAX_PLAYERS][pDetSkill];
  39462. if(skilllevel >= 0 && skilllevel <= 50) { jlevel2 = 1; }
  39463. else if(skilllevel >= 51 && skilllevel <= 100) { jlevel2 = 2; }
  39464. else if(skilllevel >= 101 && skilllevel <= 200) { jlevel2 = 3; }
  39465. else if(skilllevel >= 201 && skilllevel <= 400) { jlevel2 = 4; }
  39466. else if(skilllevel >= 401) { jlevel2 = 5; }
  39467. }
  39468. }*/
  39469. new upgrade = PlayerInfo[MAX_PLAYERS][gPupgrade];
  39470. new Float:sarmor = PlayerInfo[MAX_PLAYERS][pSarmor];
  39471. new cash = PlayerInfo[MAX_PLAYERS][pCash];
  39472. new bank = PlayerInfo[MAX_PLAYERS][pBank];
  39473. new totalwealth = cash + bank;
  39474. new insur[20];
  39475. switch(PlayerInfo[MAX_PLAYERS][pInsurance])
  39476. {
  39477. case 1: insur = "County General";
  39478. case 2: insur = "All Saints";
  39479. default: insur = "None";
  39480. }
  39481. new crimes = PlayerInfo[MAX_PLAYERS][pCrimes];
  39482. new arrests = PlayerInfo[MAX_PLAYERS][pArrested];
  39483. new wanted = PlayerInfo[MAX_PLAYERS][pWantedLevel];
  39484. new Float:health, Float:armor;
  39485. health = PlayerInfo[MAX_PLAYERS][pHealth];
  39486. armor = PlayerInfo[MAX_PLAYERS][pArmor];
  39487. new pot = PlayerInfo[MAX_PLAYERS][pPot];
  39488. new crack = PlayerInfo[MAX_PLAYERS][pCrack];
  39489. new packages = PlayerInfo[MAX_PLAYERS][pPackages];
  39490. new crates = PlayerInfo[MAX_PLAYERS][pCrates];
  39491. new radiofreq = PlayerInfo[MAX_PLAYERS][pRadioFreq];
  39492. new mats = PlayerInfo[MAX_PLAYERS][pMats];
  39493. new rope = PlayerInfo[MAX_PLAYERS][pRope];
  39494. new cigars = PlayerInfo[MAX_PLAYERS][pCigar];
  39495. new sprunk = PlayerInfo[MAX_PLAYERS][pSprunk];
  39496. new spray = PlayerInfo[MAX_PLAYERS][pSpraycan];
  39497. new bigfish = PlayerInfo[MAX_PLAYERS][pBiggestFish];
  39498. // Eight line (admin only)
  39499. new house = PlayerInfo[MAX_PLAYERS][pHouse];
  39500. //new house2 = PlayerInfo[MAX_PLAYERS][pHouse2];
  39501. new rent = PlayerInfo[MAX_PLAYERS][pRenting];
  39502. new interior = PlayerInfo[MAX_PLAYERS][pInt];
  39503. new vw = PlayerInfo[MAX_PLAYERS][pVW];
  39504. new realvw = PlayerInfo[MAX_PLAYERS][pVW];
  39505. new jtime = PlayerInfo[MAX_PLAYERS][pJailTime];
  39506. // Added
  39507. new married[20];
  39508. strmid(married, PlayerInfo[MAX_PLAYERS][pMarriedTo], 0, strlen(PlayerInfo[MAX_PLAYERS][pMarriedTo]), 255);
  39509. //new screwdrivers = PlayerInfo[MAX_PLAYERS][pScrewdriver];
  39510. new reftokens = PlayerInfo[MAX_PLAYERS][pRefTokens];
  39511. new sext[16];
  39512. if(PlayerInfo[MAX_PLAYERS][pSex] == 1) { sext = "Male"; } else { sext = "Female"; }
  39513. new age = PlayerInfo[MAX_PLAYERS][pAge];
  39514. new donatortxt[16];
  39515. if(PlayerInfo[MAX_PLAYERS][pDonator] == 0) { donatortxt = "No"; }
  39516. else if(PlayerInfo[MAX_PLAYERS][pDonator] == 1) { donatortxt = "Ruby"; }
  39517. else if(PlayerInfo[MAX_PLAYERS][pDonator] == 2) { donatortxt = "Sapphire"; }
  39518. else if(PlayerInfo[MAX_PLAYERS][pDonator] == 3) { donatortxt = "Diamond"; }
  39519. else { donatortxt = "No"; }
  39520. new nmutes = PlayerInfo[MAX_PLAYERS][pNMuteTotal];
  39521. new admutes = PlayerInfo[MAX_PLAYERS][pADMuteTotal];
  39522. new rmutes = PlayerInfo[MAX_PLAYERS][pRMutedTotal];
  39523. new adminlevel = PlayerInfo[MAX_PLAYERS][pAdmin];
  39524. new banned = PlayerInfo[MAX_PLAYERS][pBanned];
  39525. new permabanned = PlayerInfo[MAX_PLAYERS][pPermaBanned];
  39526. new disabled = PlayerInfo[MAX_PLAYERS][pDisabled];
  39527. SendClientMessage(playerid, COLOR_NEWS,"___________________________________________________________________________________________________");
  39528. new coordsstring[128];
  39529. format(coordsstring, sizeof(coordsstring),"%s - (Level: %d) - (Playing hours: %d) - (Gender: %s) - (Age: %d) - (Phone number: %d) - (Warnings: %d)", params, level, phours, sext, age, pnumber, warns);
  39530. SendClientMessage(playerid, COLOR_WHITE, coordsstring);
  39531. format(coordsstring, sizeof(coordsstring),"(%s: %s) - (Rank: %s [%d]) - (Division: %s) - (Job: %s [lvl: %d]) - (Radio freq: %d kHz)", facgang, employer, rank, PlayerInfo[MAX_PLAYERS][pRank], division, jtext, jlevel, radiofreq);
  39532. SendClientMessage(playerid, COLOR_FORSTATS, coordsstring);
  39533. format(coordsstring, sizeof(coordsstring),"(Total wealth: $%d) - (Cash: $%d) - (Bank balance: $%d) - (Insurance: %s) - (Married to: %s)", totalwealth, cash, bank, insur, married);
  39534. SendClientMessage(playerid, COLOR_WHITE, coordsstring);
  39535. format(coordsstring, sizeof(coordsstring),"(Respect points: %d/%d [$%d]) - (Upgrade Points: %d) - (Spawn armor: %.1f) - (Health: %.1f) - (Armor: %.1f)", respect, expamount, costlevel, upgrade, sarmor, health, armor);
  39536. SendClientMessage(playerid, COLOR_FORSTATS, coordsstring);
  39537. format(coordsstring, sizeof(coordsstring),"(Crimes: %d) - (Arrests: %d) - (Wanted Level: %d) - (Materials: %d) - (Pot: %d) - (Crack: %d) - (Packages: %d) - (Crates: %d)", crimes, arrests, wanted, mats, pot, crack, packages, crates);
  39538. SendClientMessage(playerid, COLOR_WHITE, coordsstring);
  39539. format(coordsstring, sizeof(coordsstring),"(Rope: %d) - (Cigars: %d) - (Sprunk: %d) - (Spray: %d) - (Biggest fish: %d) - (Referral Tokens: %d) - (Donator: %s)", rope, cigars, sprunk, spray, bigfish, reftokens, donatortxt);
  39540. SendClientMessage(playerid, COLOR_FORSTATS, coordsstring);
  39541. format(coordsstring, sizeof(coordsstring), "(Admin Level: %d) - (Banned: %d) - (Permabanned: %d) - (Account disabled: %d)", adminlevel, banned, permabanned, disabled);
  39542. SendClientMessage(playerid, COLOR_WHITE,coordsstring);
  39543. if(PlayerInfo[playerid][pAdmin] >= 1)
  39544. {
  39545. format(coordsstring, sizeof(coordsstring), "(House: %d) - (Renting: %d) - (Int: %d) - (VW: %d) - (Real VW: %d) - (Jail: %d secs) - (Mutes: [N: %d] [AD: %d] [R: %d])", house, rent, interior, vw, realvw, jtime, nmutes, admutes, rmutes);
  39546. SendClientMessage(playerid, COLOR_FORSTATS,coordsstring);
  39547. /*if(PlayerInfo[MAX_PLAYERS][pAdmin] >= 1 && PlayerInfo[playerid][pAdmin] >= 5 && AdminDuty[playerid] == 1)
  39548. {
  39549. format(coordsstring, sizeof(coordsstring), "Accepted reports: %d | Trashed reports: %d", PlayerInfo[MAX_PLAYERS][pAcceptReport], PlayerInfo[MAX_PLAYERS][pTrashReport]);
  39550. SendClientMessage(playerid, COLOR_WHITE,coordsstring);
  39551. }*/
  39552. /*new tabbed[4];
  39553. if(playerTabbedTime[MAX_PLAYERS] > 0) tabbed = "Yes";
  39554. else tabbed = "No";
  39555. new afk[4];
  39556. if(playerAFK[MAX_PLAYERS] != 0 && playerAFKTime[MAX_PLAYERS] > 0) afk = "Yes";
  39557. else afk = "No";
  39558. format(coordsstring, sizeof(coordsstring), "(Alt-tabbed: %s [%d secs]) - (AFK: %s [%d secs])", tabbed, playerTabbedTime[MAX_PLAYERS], afk, playerAFKTime[MAX_PLAYERS]);
  39559. SendClientMessage(playerid, COLOR_WHITE,coordsstring);*/
  39560. }
  39561. SendClientMessage(playerid, COLOR_NEWS,"___________________________________________________________________________________________________");
  39562. }
  39563. else
  39564. {
  39565. SendClientMessage(playerid, COLOR_WHITE,"That account does not exist!");
  39566. }
  39567. return 1;
  39568. }
  39569. CMD:househelp(playerid, params[])
  39570. {
  39571. SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
  39572. SendClientMessage(playerid, COLOR_WHITE,"*** HOUSE HELP *** - type a command for more infomation.");
  39573. SendClientMessage(playerid, COLOR_GRAD3,"*** HOUSE *** /houselock /setrentable /setrent /evict /evictall /sellhouse /sellmyhouse /ringbell");
  39574. SendClientMessage(playerid, COLOR_GRAD3,"*** HOUSE *** /hwithdraw /hdeposit /hbalance /getgun /storegun /houseinvite");
  39575. return 1;
  39576. }
  39577. CMD:crewhelp(playerid, params[])
  39578. {
  39579. SendClientMessage(playerid, COLOR_WHITE,"*** HELP *** - type a command for more information.");
  39580. SendClientMessage(playerid, COLOR_GRAD3,"*** CREW HELP *** /createcrew /disbandcrew /invitecrew (/cr)ew /kickcrew /switchcrew");
  39581. return 1;
  39582. }
  39583. CMD:backpackhelp(playerid, params[])
  39584. {
  39585. SendClientMessage(playerid, COLOR_WHITE,"*** HELP *** - type a command for more information.");
  39586. SendClientMessage(playerid, COLOR_GRAD3,"*** BACKPACK HELP *** /backpack /removebackpack /mybackpack /buybackpack /acceptbackpack /sellbackpack");
  39587. SendClientMessage(playerid, COLOR_GRAD3,"*** BACKPACK HELP *** /bpwithdraw /bpdeposit");
  39588. return 1;
  39589. }
  39590. CMD:bankhelp(playerid, params[])
  39591. {
  39592. SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
  39593. SendClientMessage(playerid, COLOR_WHITE,"*** BANK HELP *** - type a command for more infomation.");
  39594. SendClientMessage(playerid, COLOR_GRAD3,"*** BANK *** /withdraw /deposit /balance /wiretransfer");
  39595. return 1;
  39596. }
  39597. CMD:bizhelp(playerid, params[])
  39598. {
  39599. SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
  39600. SendClientMessage(playerid, COLOR_GRAD3,"*** Business Help: - type a command for more infomation.");
  39601. SendClientMessage(playerid, COLOR_GRAD3,"*** Business Help ***: /buybusiness /sellbusiness");
  39602. SendClientMessage(playerid, COLOR_GRAD3,"*** Business Help ***: /businessmenu");
  39603. return 1;
  39604. }
  39605. CMD:samphelp(playerid, params[])
  39606. {
  39607. SendClientMessageEx(playerid, COLOR_GREEN, "______________________________________________");
  39608. SendClientMessageEx(playerid, COLOR_ORANGE, "* Sleepless Roleplay: Samphelp");
  39609. SendClientMessageEx(playerid, COLOR_GRAD3, "Mikko[Bot] : /q /interior /save /headmove /timestamp /dl");
  39610. SendClientMessageEx(playerid, COLOR_GRAD3, "Mikko[Bot] : /pagesize /rs /fpslimit");
  39611. return 1;
  39612. }
  39613. CMD:renthelp(playerid, params[])
  39614. {
  39615. SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
  39616. SendClientMessage(playerid, COLOR_WHITE,"*** RENTING HELP *** - type a command for more infomation.");
  39617. SendClientMessage(playerid, COLOR_GRAD3,"*** RENT *** /unrent /enter /exit");
  39618. return 1;
  39619. }
  39620. CMD:hnext(playerid, params[])
  39621. {
  39622. if(PlayerInfo[playerid][pAdmin] >= 5)
  39623. {
  39624. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  39625. {
  39626. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  39627. return 1;
  39628. }
  39629. SendClientMessage(playerid, COLOR_RED, "* Listing next available house...");
  39630. for(new x;x<MAX_HOUSES;x++)
  39631. {
  39632. if(HouseInfo[x][hOwned] == 0)
  39633. {
  39634. new string[128];
  39635. format(string, sizeof(string), "%d is available to use.", x);
  39636. SendClientMessage(playerid, COLOR_WHITE, string);
  39637. break;
  39638. }
  39639. }
  39640. }
  39641. else
  39642. {
  39643. SendClientMessage(playerid, COLOR_GRAD2, "You're not authorized to use that command!");
  39644. return 1;
  39645. }
  39646. return 1;
  39647. }
  39648. CMD:goinhouse(playerid, params[])
  39649. {
  39650. if(PlayerInfo[playerid][pAdmin] >= 4)
  39651. {
  39652. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  39653. {
  39654. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  39655. return 1;
  39656. }
  39657. new housenum;
  39658. if(sscanf(params, "d", housenum)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /goinhouse [housenumber]");
  39659. SetPlayerInterior(playerid,HouseInfo[housenum][hHInteriorWorld]);
  39660. if(HouseInfo[housenum][hCustomInterior] == 1)
  39661. {
  39662. TogglePlayerControllable(playerid, 0);
  39663. for(new o = 0; o < 2; o++)
  39664. {
  39665. TextDrawSetString(ObjectsLoadingTD[1], "OBJECTS LOADING...");
  39666. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  39667. }
  39668. SetPVarInt(playerid, "LoadingObjects", 1);
  39669. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  39670. }
  39671. SetPlayerPos(playerid,HouseInfo[housenum][hInteriorX],HouseInfo[housenum][hInteriorY],HouseInfo[housenum][hInteriorZ]);
  39672. GameTextForPlayer(playerid, "~w~Teleporting", 5000, 1);
  39673. PlayerInfo[playerid][pInt] = HouseInfo[housenum][hHInteriorWorld];
  39674. PlayerInfo[playerid][pVW] = housenum+60000;
  39675. SetPlayerVirtualWorld(playerid, housenum+60000);
  39676. }
  39677. return 1;
  39678. }
  39679. CMD:gotohouse(playerid, params[])
  39680. {
  39681. if(PlayerInfo[playerid][pAdmin] >= 4)
  39682. {
  39683. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  39684. {
  39685. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  39686. return 1;
  39687. }
  39688. new housenum;
  39689. if(sscanf(params, "d", housenum)) return SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /gotohouse [housenumber]");
  39690. SetPlayerPos(playerid,HouseInfo[housenum][hExteriorX],HouseInfo[housenum][hExteriorY],HouseInfo[housenum][hExteriorZ]);
  39691. GameTextForPlayer(playerid, "~w~Teleporting", 5000, 1);
  39692. SetPlayerInterior(playerid, 0);
  39693. PlayerInfo[playerid][pInt] = 0;
  39694. }
  39695. return 1;
  39696. }
  39697. CMD:hedit(playerid, params[])
  39698. {
  39699. if(PlayerInfo[playerid][pAdmin] < 5)
  39700. {
  39701. SendClientMessage(playerid, COLOR_GRAD2, "You're not authorized to use that command!");
  39702. return 1;
  39703. }
  39704. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  39705. {
  39706. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  39707. return 1;
  39708. }
  39709. new string[128], choice[32], houseid, amount;
  39710. if(sscanf(params, "s[32]dD", choice, houseid, amount))
  39711. {
  39712. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /hedit [name] [houseid] [(Optional)amount]");
  39713. SendClientMessage(playerid, COLOR_GREY, "Available names: Exterior, Interior, CustomInterior, CustomExterior, Level, Price, Owner");
  39714. return 1;
  39715. }
  39716. if(strcmp(choice, "interior", true) == 0)
  39717. {
  39718. GetPlayerPos(playerid, HouseInfo[houseid][hInteriorX], HouseInfo[houseid][hInteriorY], HouseInfo[houseid][hInteriorZ]);
  39719. GetPlayerFacingAngle(playerid, HouseInfo[houseid][hInteriorA]);
  39720. HouseInfo[houseid][hHInteriorWorld] = GetPlayerInterior(playerid);
  39721. SendClientMessage(playerid, COLOR_WHITE, "You have changed the interior!");
  39722. SaveHouses();
  39723. format(string, sizeof(string), "%s has edited HouseID %d's Interior.", GetPlayerNameEx(playerid), houseid);
  39724. Log("logs/hedit.log", string);
  39725. return 1;
  39726. }
  39727. else if(strcmp(choice, "custominterior", true) == 0)
  39728. {
  39729. if(HouseInfo[houseid][hCustomInterior] == 0)
  39730. {
  39731. HouseInfo[houseid][hCustomInterior] = 1;
  39732. SendClientMessage(playerid, COLOR_WHITE, "House set to custom interior!");
  39733. }
  39734. else
  39735. {
  39736. HouseInfo[houseid][hCustomInterior] = 0;
  39737. SendClientMessage(playerid, COLOR_WHITE, "House set to normal (not custom) interior!");
  39738. }
  39739. SaveHouses();
  39740. format(string, sizeof(string), "%s has edited HouseID %d's Custom Interior.", GetPlayerNameEx(playerid), houseid);
  39741. Log("logs/hedit.log", string);
  39742. return 1;
  39743. }
  39744. else if(strcmp(choice, "customexterior", true) == 0)
  39745. {
  39746. if(HouseInfo[houseid][hCustomExterior] == 0)
  39747. {
  39748. HouseInfo[houseid][hCustomExterior] = 1;
  39749. SendClientMessage(playerid, COLOR_WHITE, "House set to custom exterior!");
  39750. }
  39751. else
  39752. {
  39753. HouseInfo[houseid][hCustomExterior] = 0;
  39754. SendClientMessage(playerid, COLOR_WHITE, "House set to normal (not custom) exterior!");
  39755. }
  39756. SaveHouses();
  39757. format(string, sizeof(string), "%s has edited HouseID %d's Custom Exterior.", GetPlayerNameEx(playerid), houseid);
  39758. Log("logs/hedit.log", string);
  39759. return 1;
  39760. }
  39761. else if(strcmp(choice, "exterior", true) == 0)
  39762. {
  39763. GetPlayerPos(playerid, HouseInfo[houseid][hExteriorX], HouseInfo[houseid][hExteriorY], HouseInfo[houseid][hExteriorZ]);
  39764. GetPlayerFacingAngle(playerid, HouseInfo[houseid][hExteriorA]);
  39765. SendClientMessage(playerid, COLOR_WHITE, "You have changed the exterior!");
  39766. DestroyPickup(HouseInfo[houseid][hPickupID]);
  39767. SaveHouses();
  39768. format(string, sizeof(string), "%s has edited HouseID %d's Exterior.", GetPlayerNameEx(playerid), houseid);
  39769. Log("logs/hedit.log", string);
  39770. if(HouseInfo[houseid][hOwned] ==0)
  39771. {
  39772. DestroyPickup(HouseInfo[houseid][hPickupID]);
  39773. DestroyDynamic3DTextLabel(HouseInfo[houseid][hTextID]);
  39774. format(string, sizeof(string), "This house is for sale!\n Level: %d\nID: %d\nPrice: $%d\nTo buy this house type /buyhouse",HouseInfo[houseid][hLevel],houseid,HouseInfo[houseid][hValue]);
  39775. HouseInfo[houseid][hTextID] = CreateDynamic3DTextLabel(string, COLOR_HOUSEGREEN, HouseInfo[houseid][hExteriorX], HouseInfo[houseid][hExteriorY], HouseInfo[houseid][hExteriorZ]+0.5,20.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 10.0);
  39776. HouseInfo[houseid][hPickupID] = CreatePickup(1273, 23, HouseInfo[houseid][hExteriorX], HouseInfo[houseid][hExteriorY], HouseInfo[houseid][hExteriorZ], -1);
  39777. }
  39778. else
  39779. {
  39780. if(HouseInfo[houseid][hRentable] == 0)
  39781. {
  39782. DestroyPickup(HouseInfo[houseid][hPickupID]);
  39783. DestroyDynamic3DTextLabel(HouseInfo[houseid][hTextID]);
  39784. format(string, sizeof(string), "House owner: %s\nLevel: %d\nID: %d",HouseInfo[houseid][hOwner],HouseInfo[houseid][hLevel],houseid);
  39785. HouseInfo[houseid][hTextID] = CreateDynamic3DTextLabel(string,COLOR_HOUSEGREEN,HouseInfo[houseid][hExteriorX], HouseInfo[houseid][hExteriorY], HouseInfo[houseid][hExteriorZ]+0.5,20.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 10.0);
  39786. HouseInfo[houseid][hPickupID] = CreatePickup(1273, 23, HouseInfo[houseid][hExteriorX], HouseInfo[houseid][hExteriorY], HouseInfo[houseid][hExteriorZ], -1);
  39787. }
  39788. else
  39789. {
  39790. DestroyPickup(HouseInfo[houseid][hPickupID]);
  39791. DestroyDynamic3DTextLabel(HouseInfo[houseid][hTextID]);
  39792. format(string, sizeof(string), "House owner: %s\nLevel: %d\nID: %d\nRent: $%d\nType /rentroom to rent a room",HouseInfo[houseid][hOwner],HouseInfo[houseid][hLevel],houseid,HouseInfo[houseid][hRentFee]);
  39793. HouseInfo[houseid][hTextID] = CreateDynamic3DTextLabel(string,COLOR_HOUSEGREEN,HouseInfo[houseid][hExteriorX], HouseInfo[houseid][hExteriorY], HouseInfo[houseid][hExteriorZ]+0.5,20.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 10.0);
  39794. HouseInfo[houseid][hPickupID] = CreatePickup(1273, 23, HouseInfo[houseid][hExteriorX], HouseInfo[houseid][hExteriorY], HouseInfo[houseid][hExteriorZ], -1);
  39795. }
  39796. }
  39797. }
  39798. else if(strcmp(choice, "level", true) == 0)
  39799. {
  39800. HouseInfo[houseid][hLevel] = amount;
  39801. format(string, sizeof(string), "You have set the house level to %d.", amount);
  39802. SendClientMessage(playerid, COLOR_WHITE, string);
  39803. if(HouseInfo[houseid][hOwned] ==0)
  39804. {
  39805. format(string, sizeof(string), "This house is for sale!\n Level: %d\nID: %d\nPrice: $%d\nTo buy this house type /buyhouse",HouseInfo[houseid][hLevel],houseid,HouseInfo[houseid][hValue]);
  39806. UpdateDynamic3DTextLabelText(HouseInfo[houseid][hTextID], COLOR_HOUSEGREEN, string);
  39807. }
  39808. else
  39809. {
  39810. if(HouseInfo[houseid][hRentable] == 0)
  39811. {
  39812. format(string, sizeof(string), "House owner: %s\nLevel: %d\nID: %d",HouseInfo[houseid][hOwner],HouseInfo[houseid][hLevel],houseid);
  39813. UpdateDynamic3DTextLabelText(HouseInfo[houseid][hTextID], COLOR_HOUSEGREEN, string);
  39814. }
  39815. else
  39816. {
  39817. format(string, sizeof(string), "House owner: %s\nLevel: %d\nID: %d\nRent: $%d\nType /rentroom to rent a room",HouseInfo[houseid][hOwner],HouseInfo[houseid][hLevel],houseid,HouseInfo[houseid][hRentFee]);
  39818. UpdateDynamic3DTextLabelText(HouseInfo[houseid][hTextID], COLOR_HOUSEGREEN, string);
  39819. }
  39820. }
  39821. format(string, sizeof(string), "%s has edited HouseID %d's Level to %d.", GetPlayerNameEx(playerid), houseid, amount);
  39822. Log("logs/hedit.log", string);
  39823. }
  39824. else if(strcmp(choice, "price", true) == 0)
  39825. {
  39826. HouseInfo[houseid][hValue] = amount;
  39827. format(string, sizeof(string), "You have set the houses price to $%d.", amount);
  39828. SendClientMessage(playerid, COLOR_WHITE, string);
  39829. if(HouseInfo[houseid][hOwned] ==0)
  39830. {
  39831. format(string, sizeof(string), "This house is for sale!\n Level: %d\nID: %d\nPrice: $%d\nTo buy this house type /buyhouse",HouseInfo[houseid][hLevel],houseid,HouseInfo[houseid][hValue]);
  39832. UpdateDynamic3DTextLabelText(HouseInfo[houseid][hTextID], COLOR_HOUSEGREEN, string);
  39833. }
  39834. format(string, sizeof(string), "%s has edited HouseID %d's Price to $%d.", GetPlayerNameEx(playerid), amount);
  39835. Log("logs/hedit.log", string);
  39836. }
  39837. /*else if(strcmp(choice, "class", true) == 0)
  39838. {
  39839. switch(amount)
  39840. {
  39841. case 1:
  39842. {
  39843. format(HouseInfo[houseid][hDescription], 128, "Low");
  39844. SendClientMessage(playerid, COLOR_WHITE, "You have set the house's class to 1 (Low)");
  39845. }
  39846. case 2:
  39847. {
  39848. format(HouseInfo[houseid][hDescription], 128, "Medium");
  39849. SendClientMessage(playerid, COLOR_WHITE, "You have set the house's class to 2 (Medium)");
  39850. }
  39851. case 3:
  39852. {
  39853. format(HouseInfo[houseid][hDescription], 128, "High");
  39854. SendClientMessage(playerid, COLOR_WHITE, "You have set the house's class to 3 (High)");
  39855. }
  39856. }
  39857. if(HouseInfo[houseid][hOwned] ==0)
  39858. {
  39859. format(string, sizeof(string), "This home is for sale!\n Description: %s\nPrice: $%d\n Level: %d\nID: %d\nTo buy this house type /buyhouse",HouseInfo[houseid][hDescription],HouseInfo[houseid][hValue],HouseInfo[houseid][hLevel],houseid);
  39860. UpdateDynamic3DTextLabelText(HouseInfo[houseid][hTextID], COLOR_HOUSEGREEN, string);
  39861. }
  39862. format(string, sizeof(string), "%s has edited HouseID %d's Class to %d.", GetPlayerNameEx(playerid), houseid, amount);
  39863. Log("logs/hedit.log", string);
  39864. }*/
  39865. else if(strcmp(choice, "owner", true) == 0)
  39866. {
  39867. if(!IsPlayerConnected(amount))
  39868. {
  39869. SendClientMessageEx(playerid, COLOR_GREY, "Invalid player specified.");
  39870. return 1;
  39871. }
  39872. if(PlayerInfo[amount][pHouse] == INVALID_HOUSE_ID)
  39873. {
  39874. PlayerInfo[amount][pHouse] = houseid;
  39875. new szPlayerName[MAX_PLAYER_NAME];
  39876. GetPlayerName(amount, szPlayerName, sizeof(szPlayerName));
  39877. format(string, MAX_PLAYER_NAME, "%s", szPlayerName);
  39878. format(HouseInfo[houseid][hOwner], MAX_PLAYER_NAME, string);
  39879. format(string, sizeof(string), "You have set the house ID %d owner to playerid %d.", houseid, amount);
  39880. SendClientMessage(playerid, COLOR_WHITE, string);
  39881. }
  39882. else if(PlayerInfo[amount][pHouse2] == INVALID_HOUSE_ID)
  39883. {
  39884. PlayerInfo[amount][pHouse2] = houseid;
  39885. new szPlayerName[MAX_PLAYER_NAME];
  39886. GetPlayerName(amount, szPlayerName, sizeof(szPlayerName));
  39887. format(string, MAX_PLAYER_NAME, "%s", szPlayerName);
  39888. format(HouseInfo[houseid][hOwner], MAX_PLAYER_NAME, string);
  39889. format(string, sizeof(string), "You have set the house ID %d's owner to %s.", houseid, GetPlayerNameEx(amount));
  39890. SendClientMessage(playerid, COLOR_WHITE, string);
  39891. }
  39892. else
  39893. {
  39894. SendClientMessageEx(playerid, COLOR_GREY, "That player does not have any free house space left.");
  39895. return 1;
  39896. }
  39897. if(HouseInfo[houseid][hRentable] == 0)
  39898. {
  39899. format(string, sizeof(string), "House owner: %s\nLevel: %d\nID: %d",HouseInfo[houseid][hOwner],HouseInfo[houseid][hLevel],houseid);
  39900. UpdateDynamic3DTextLabelText(HouseInfo[houseid][hTextID], COLOR_HOUSEGREEN, string);
  39901. }
  39902. else
  39903. {
  39904. format(string, sizeof(string), "House owner: %s\nLevel: %d\nID: %d\nRent: $%d\nType /rentroom to rent a room",HouseInfo[houseid][hOwner],HouseInfo[houseid][hLevel],houseid,HouseInfo[houseid][hRentFee]);
  39905. UpdateDynamic3DTextLabelText(HouseInfo[houseid][hTextID], COLOR_HOUSEGREEN, string);
  39906. }
  39907. format(string, sizeof(string), "%s has edited HouseID %d's Owner to %s.", GetPlayerNameEx(playerid), GetPlayerNameEx(amount));
  39908. Log("logs/hedit.log", string);
  39909. }
  39910. SaveHouses();
  39911. return 1;
  39912. }
  39913. CMD:hname(playerid, params[])
  39914. {
  39915. if(PlayerInfo[playerid][pAdmin] < 5)
  39916. {
  39917. SendClientMessage(playerid, COLOR_GRAD2, "You're not authorized to use that command!");
  39918. return 1;
  39919. }
  39920. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  39921. {
  39922. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  39923. return 1;
  39924. }
  39925. new string[128], houseid, ownername[24];
  39926. if(sscanf(params, "ds[24]", houseid, ownername)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /hname [houseid] [name]");
  39927. format(HouseInfo[houseid][hOwner], 24, "%s", ownername);
  39928. format(string, sizeof(string), "You have set the house owner to %s", ownername);
  39929. HouseInfo[houseid][hOwned] = 1;
  39930. HouseInfo[houseid][hRentable] = 0;
  39931. SendClientMessage(playerid, COLOR_WHITE, string);
  39932. DestroyPickup(HouseInfo[houseid][hPickupID]);
  39933. HouseInfo[houseid][hPickupID] = CreatePickup(1273, 23, HouseInfo[houseid][hExteriorX], HouseInfo[houseid][hExteriorY], HouseInfo[houseid][hExteriorZ], -1);
  39934. format(string, sizeof(string), "House owner: %s\nLevel: %d\nID: %d",HouseInfo[houseid][hOwner],HouseInfo[houseid][hLevel],houseid);
  39935. UpdateDynamic3DTextLabelText(HouseInfo[houseid][hTextID], COLOR_HOUSEGREEN, string);
  39936. format(string, sizeof(string), "%s has edited HouseID %d's Owner to %s.", GetPlayerNameEx(playerid), houseid, ownername);
  39937. Log("logs/hedit.log", string);
  39938. return 1;
  39939. }
  39940. CMD:edit(playerid, params[])
  39941. {
  39942. if(PlayerInfo[playerid][pAdmin] < 6)
  39943. {
  39944. return 1;
  39945. }
  39946. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  39947. {
  39948. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  39949. return 1;
  39950. }
  39951. new string[128], choice[32], amount;
  39952. if(sscanf(params, "s[32]d", choice, amount))
  39953. {
  39954. SendClientMessage(playerid, COLOR_WHITE, "|__________________ Edit __________________|");
  39955. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /edit [name] [amount]");
  39956. SendClientMessage(playerid, COLOR_GREY, "Available names: Level, Price");
  39957. SendClientMessage(playerid, COLOR_WHITE, "|____________________________________________|");
  39958. return 1;
  39959. }
  39960. for(new i = 0; i < sizeof(HouseInfo); i++)
  39961. {
  39962. if(IsPlayerInRangeOfPoint(playerid,3,HouseInfo[i][hExteriorX], HouseInfo[i][hExteriorY], HouseInfo[i][hExteriorZ]))
  39963. {
  39964. format(string, sizeof(string), "House: %d", i);
  39965. SendClientMessage(playerid, COLOR_GRAD2, string);
  39966. if(amount > 0)
  39967. {
  39968. if(strcmp(choice,"level",true) == 0)
  39969. {
  39970. HouseInfo[i][hLevel] = amount;
  39971. }
  39972. else if(strcmp(choice,"price",true) == 0)
  39973. {
  39974. HouseInfo[i][hValue] = amount;
  39975. }
  39976. }
  39977. if(HouseInfo[i][hOwned] ==0)
  39978. {
  39979. format(string, sizeof(string), "This house is for sale!\n Level: %d\nID: %d\nPrice: $%d\nTo buy this house type /buyhouse",HouseInfo[i][hLevel],i,HouseInfo[i][hValue]);
  39980. UpdateDynamic3DTextLabelText(HouseInfo[i][hTextID], COLOR_HOUSEGREEN, string);
  39981. }
  39982. else
  39983. {
  39984. if(HouseInfo[i][hRentable] == 0)
  39985. {
  39986. format(string, sizeof(string), "House owner: %s\nLevel: %d\nID: %d",HouseInfo[i][hOwner],HouseInfo[i][hLevel],i);
  39987. UpdateDynamic3DTextLabelText(HouseInfo[i][hTextID], COLOR_HOUSEGREEN, string);
  39988. }
  39989. else
  39990. {
  39991. format(string, sizeof(string), "House owner: %s\nLevel: %d\nID: %d\nRent: $%d\nType /rentroom to rent a room",HouseInfo[i][hOwner],HouseInfo[i][hLevel],i,HouseInfo[i][hRentFee]);
  39992. UpdateDynamic3DTextLabelText(HouseInfo[i][hTextID], COLOR_HOUSEGREEN, string);
  39993. }
  39994. }
  39995. }
  39996. }
  39997. return 1;
  39998. }
  39999. CMD:rentroom(playerid, params[])
  40000. {
  40001. //new string[128];
  40002. new Float:oldposx, Float:oldposy, Float:oldposz;
  40003. new playername[MAX_PLAYER_NAME];
  40004. GetPlayerName(playerid, playername, sizeof(playername));
  40005. GetPlayerPos(playerid, oldposx, oldposy, oldposz);
  40006. for(new h = 0; h < sizeof(HouseInfo); h++)
  40007. {
  40008. if(IsPlayerInRangeOfPoint(playerid, 2.0, HouseInfo[h][hExteriorX], HouseInfo[h][hExteriorY], HouseInfo[h][hExteriorZ]) && HouseInfo[h][hRentFee] >= 1)
  40009. {
  40010. if(! strcmp(HouseInfo[h][hOwner], "Nobody", true))
  40011. {
  40012. SendClientMessage(playerid, COLOR_WHITE, "You can't rent an unowned house.");
  40013. }
  40014. else
  40015. {
  40016. if(PlayerInfo[playerid][pHouse] != INVALID_HOUSE_ID && strcmp(playername, HouseInfo[PlayerInfo[playerid][pHouse]][hOwner], true) == 0)
  40017. {
  40018. SendClientMessage(playerid, COLOR_WHITE, " You already own a house, type /sellhouse if you want to rent this one.");
  40019. return 1;
  40020. }
  40021. if(GetPlayerCash(playerid) > HouseInfo[h][hRentFee])
  40022. {
  40023. if(HouseInfo[h][hRentable] == 0)
  40024. {
  40025. SendClientMessage(playerid, COLOR_WHITE, "This house is not rentable.");
  40026. return 1;
  40027. }
  40028. else
  40029. {
  40030. PlayerInfo[playerid][pRenting] = h;
  40031. GivePlayerCash(playerid,-HouseInfo[h][hRentFee]);
  40032. HouseInfo[h][hSafeMoney] = HouseInfo[h][hSafeMoney]+HouseInfo[h][hRentFee];
  40033. SetPlayerInterior(playerid,HouseInfo[h][hHInteriorWorld]);
  40034. if(HouseInfo[h][hCustomInterior] == 1)
  40035. {
  40036. TogglePlayerControllable(playerid, 0);
  40037. for(new o = 0; o < 2; o++)
  40038. {
  40039. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  40040. }
  40041. SetPVarInt(playerid, "LoadingObjects", 1);
  40042. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  40043. }
  40044. SetPlayerPos(playerid,HouseInfo[h][hInteriorX],HouseInfo[h][hInteriorY],HouseInfo[h][hInteriorZ]);
  40045. GameTextForPlayer(playerid, "~w~Welcome Home~n~You can exit at any time by moving to this door and typing /exit.", 5000, 3);
  40046. PlayerInfo[playerid][pInt] = HouseInfo[h][hHInteriorWorld];
  40047. PlayerInfo[playerid][pVW] = 60000+h;
  40048. SetPlayerVirtualWorld(playerid, h+60000);
  40049. SendClientMessage(playerid, COLOR_WHITE, "Congratulations. You can enter and exit here any time you want.");
  40050. SendClientMessage(playerid, COLOR_WHITE, "Type /help to review the property help section.");
  40051. PlayerInfo[playerid][pInt] = GetPlayerInterior(playerid);
  40052. PlayerInfo[playerid][pVW] = GetPlayerVirtualWorld(playerid);
  40053. GetPlayerIp(playerid, PlayerInfo[playerid][pIP], 32);
  40054. GetPlayerPos(playerid, PlayerInfo[playerid][pPos_x], PlayerInfo[playerid][pPos_y], PlayerInfo[playerid][pPos_z]);
  40055. GetPlayerFacingAngle(playerid, PlayerInfo[playerid][pPos_r]);
  40056. OnPlayerStatsUpdate(playerid);
  40057. //new ip[32];
  40058. //GetPlayerIp(playerid,ip,sizeof(ip));
  40059. //format(string,sizeof(string),"%s (IP: %s) has rented house ID %d (owned by %s) for $%d.",GetPlayerNameEx(playerid),ip,h,HouseInfo[h][hOwner],HouseInfo[h][hRentFee]);
  40060. //Log("logs/house.log", string);
  40061. return 1;
  40062. }
  40063. }
  40064. else
  40065. {
  40066. SendClientMessage(playerid, COLOR_WHITE, "You don't have the cash for that.");
  40067. return 1;
  40068. }
  40069. }
  40070. }
  40071. }
  40072. return 1;
  40073. }
  40074. CMD:unrent(playerid, params[])
  40075. {
  40076. new playername[MAX_PLAYER_NAME];
  40077. GetPlayerName(playerid, playername, sizeof(playername));
  40078. if(PlayerInfo[playerid][pHouse] != INVALID_HOUSE_ID && strcmp(playername, HouseInfo[PlayerInfo[playerid][pHouse]][hOwner], true) == 0)
  40079. {
  40080. SendClientMessage(playerid, COLOR_WHITE, " You own this house!");
  40081. return 1;
  40082. }
  40083. if(PlayerInfo[playerid][pRenting] != INVALID_HOUSE_ID)
  40084. {
  40085. PlayerInfo[playerid][pRenting] = INVALID_HOUSE_ID;
  40086. SendClientMessage(playerid, COLOR_WHITE, "You're now homeless.");
  40087. }
  40088. return 1;
  40089. }
  40090. CMD:houselock(playerid, params[]) {
  40091. if(PlayerInfo[playerid][pHouse] != INVALID_HOUSE_ID && (IsPlayerInRangeOfPoint(playerid, 2.0, HouseInfo[PlayerInfo[playerid][pHouse]][hExteriorX], HouseInfo[PlayerInfo[playerid][pHouse]][hExteriorY], HouseInfo[PlayerInfo[playerid][pHouse]][hExteriorZ]) || IsPlayerInRangeOfPoint(playerid, 2.0, HouseInfo[PlayerInfo[playerid][pHouse]][hInteriorX], HouseInfo[PlayerInfo[playerid][pHouse]][hInteriorY], HouseInfo[PlayerInfo[playerid][pHouse]][hInteriorZ]))) {
  40092. new
  40093. szMessage[30 + MAX_PLAYER_NAME];
  40094. if(HouseInfo[PlayerInfo[playerid][pHouse]][hLock] == 1)
  40095. {
  40096. HouseInfo[PlayerInfo[playerid][pHouse]][hLock] = 0;
  40097. format(szMessage, sizeof(szMessage), "* %s has unlocked their house.", GetPlayerNameEx(playerid));
  40098. ProxDetector(30.0, playerid, szMessage, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  40099. }
  40100. else
  40101. {
  40102. HouseInfo[PlayerInfo[playerid][pHouse]][hLock] = 1;
  40103. format(szMessage, sizeof(szMessage), "* %s has locked their house.", GetPlayerNameEx(playerid));
  40104. ProxDetector(30.0, playerid, szMessage, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  40105. }
  40106. }
  40107. else if(PlayerInfo[playerid][pHouse2] != INVALID_HOUSE_ID && (IsPlayerInRangeOfPoint(playerid, 2.0, HouseInfo[PlayerInfo[playerid][pHouse2]][hExteriorX], HouseInfo[PlayerInfo[playerid][pHouse2]][hExteriorY], HouseInfo[PlayerInfo[playerid][pHouse2]][hExteriorZ]) || IsPlayerInRangeOfPoint(playerid, 2.0, HouseInfo[PlayerInfo[playerid][pHouse2]][hInteriorX], HouseInfo[PlayerInfo[playerid][pHouse2]][hInteriorY], HouseInfo[PlayerInfo[playerid][pHouse2]][hInteriorZ]))) {
  40108. new
  40109. szMessage[30 + MAX_PLAYER_NAME];
  40110. if(HouseInfo[PlayerInfo[playerid][pHouse2]][hLock] == 1)
  40111. {
  40112. HouseInfo[PlayerInfo[playerid][pHouse2]][hLock] = 0;
  40113. format(szMessage, sizeof(szMessage), "* %s has unlocked their house.", GetPlayerNameEx(playerid));
  40114. ProxDetector(30.0, playerid, szMessage, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  40115. }
  40116. else
  40117. {
  40118. HouseInfo[PlayerInfo[playerid][pHouse2]][hLock] = 1;
  40119. format(szMessage, sizeof(szMessage), "* %s has locked their house.", GetPlayerNameEx(playerid));
  40120. ProxDetector(30.0, playerid, szMessage, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  40121. }
  40122. }
  40123. else SendClientMessage(playerid, COLOR_GRAD2, "You either don't own a house, or are not at one of them.");
  40124. return 1;
  40125. }
  40126. CMD:setrentable(playerid, params[]) {
  40127. if(PlayerInfo[playerid][pHouse] != INVALID_HOUSE_ID && (IsPlayerInRangeOfPoint(playerid, 2.0, HouseInfo[PlayerInfo[playerid][pHouse]][hExteriorX], HouseInfo[PlayerInfo[playerid][pHouse]][hExteriorY], HouseInfo[PlayerInfo[playerid][pHouse]][hExteriorZ]) || IsPlayerInRangeOfPoint(playerid, 2.0, HouseInfo[PlayerInfo[playerid][pHouse]][hInteriorX], HouseInfo[PlayerInfo[playerid][pHouse]][hInteriorY], HouseInfo[PlayerInfo[playerid][pHouse]][hInteriorZ]))) {
  40128. new
  40129. szMessage[128];
  40130. if(!HouseInfo[PlayerInfo[playerid][pHouse]][hRentable]) {
  40131. HouseInfo[PlayerInfo[playerid][pHouse]][hRentable] = 1;
  40132. format(szMessage, sizeof(szMessage), "House owner: %s\nLevel: %d\nID: %d\nRent: $%d\nType /rentroom to rent a room",HouseInfo[PlayerInfo[playerid][pHouse]][hOwner],HouseInfo[PlayerInfo[playerid][pHouse]][hLevel],PlayerInfo[playerid][pHouse],HouseInfo[PlayerInfo[playerid][pHouse]][hRentFee]);
  40133. UpdateDynamic3DTextLabelText(HouseInfo[PlayerInfo[playerid][pHouse]][hTextID], COLOR_HOUSEGREEN, szMessage);
  40134. SendClientMessage(playerid, COLOR_WHITE, "This house is now rentable.");
  40135. }
  40136. else {
  40137. HouseInfo[PlayerInfo[playerid][pHouse]][hRentable] = 0;
  40138. format(szMessage, sizeof(szMessage), "House owner: %s\nLevel: %d\nID: %d",HouseInfo[PlayerInfo[playerid][pHouse]][hOwner],HouseInfo[PlayerInfo[playerid][pHouse]][hLevel],PlayerInfo[playerid][pHouse]);
  40139. UpdateDynamic3DTextLabelText(HouseInfo[PlayerInfo[playerid][pHouse]][hTextID], COLOR_HOUSEGREEN, szMessage);
  40140. SendClientMessage(playerid, COLOR_WHITE, "This house is no longer rentable.");
  40141. }
  40142. }
  40143. else if(PlayerInfo[playerid][pHouse2] != INVALID_HOUSE_ID && (IsPlayerInRangeOfPoint(playerid, 2.0, HouseInfo[PlayerInfo[playerid][pHouse2]][hExteriorX], HouseInfo[PlayerInfo[playerid][pHouse2]][hExteriorY], HouseInfo[PlayerInfo[playerid][pHouse2]][hExteriorZ]) || IsPlayerInRangeOfPoint(playerid, 2.0, HouseInfo[PlayerInfo[playerid][pHouse2]][hInteriorX], HouseInfo[PlayerInfo[playerid][pHouse2]][hInteriorY], HouseInfo[PlayerInfo[playerid][pHouse2]][hInteriorZ]))) {
  40144. new
  40145. szMessage[128];
  40146. if(!HouseInfo[PlayerInfo[playerid][pHouse2]][hRentable]) {
  40147. HouseInfo[PlayerInfo[playerid][pHouse2]][hRentable] = 1;
  40148. format(szMessage, sizeof(szMessage), "House owner: %s\nLevel: %d\nID: %d\nRent: $%d\nType /rentroom to rent a room",HouseInfo[PlayerInfo[playerid][pHouse2]][hOwner],HouseInfo[PlayerInfo[playerid][pHouse2]][hLevel],PlayerInfo[playerid][pHouse2],HouseInfo[PlayerInfo[playerid][pHouse2]][hRentFee]);
  40149. UpdateDynamic3DTextLabelText(HouseInfo[PlayerInfo[playerid][pHouse2]][hTextID], COLOR_HOUSEGREEN, szMessage);
  40150. SendClientMessage(playerid, COLOR_WHITE, "This house is now rentable.");
  40151. }
  40152. else {
  40153. HouseInfo[PlayerInfo[playerid][pHouse2]][hRentable] = 0;
  40154. format(szMessage, sizeof(szMessage), "House owner: %s\nLevel: %d\nID: %d",HouseInfo[PlayerInfo[playerid][pHouse2]][hOwner],HouseInfo[PlayerInfo[playerid][pHouse2]][hLevel],PlayerInfo[playerid][pHouse2]);
  40155. UpdateDynamic3DTextLabelText(HouseInfo[PlayerInfo[playerid][pHouse2]][hTextID], COLOR_HOUSEGREEN, szMessage);
  40156. SendClientMessage(playerid, COLOR_WHITE, "This house is no longer rentable.");
  40157. }
  40158. }
  40159. else SendClientMessage(playerid, COLOR_GRAD2, "You either don't own a house, or are not at one of them.");
  40160. return 1;
  40161. }
  40162. CMD:setrent(playerid, params[])
  40163. {
  40164. new string[128], fee;
  40165. if(sscanf(params, "d", fee)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setrent [fee]");
  40166. if(PlayerInfo[playerid][pHouse] != INVALID_HOUSE_ID && (IsPlayerInRangeOfPoint(playerid, 2.0, HouseInfo[PlayerInfo[playerid][pHouse]][hExteriorX], HouseInfo[PlayerInfo[playerid][pHouse]][hExteriorY], HouseInfo[PlayerInfo[playerid][pHouse]][hExteriorZ]) || IsPlayerInRangeOfPoint(playerid, 2.0, HouseInfo[PlayerInfo[playerid][pHouse]][hInteriorX], HouseInfo[PlayerInfo[playerid][pHouse]][hInteriorY], HouseInfo[PlayerInfo[playerid][pHouse]][hInteriorZ])))
  40167. {
  40168. if(!(1 <= fee <= 1000))
  40169. {
  40170. SendClientMessage(playerid, COLOR_WHITE, "Minimum rent is $1, maximum rent is $1000.");
  40171. }
  40172. else
  40173. {
  40174. HouseInfo[PlayerInfo[playerid][pHouse]][hRentFee] = fee;
  40175. format(string, sizeof(string), "You have set your house's rent fee to $%i.", HouseInfo[PlayerInfo[playerid][pHouse]][hRentFee]);
  40176. SendClientMessage(playerid, COLOR_WHITE, string);
  40177. if(HouseInfo[PlayerInfo[playerid][pHouse]][hRentable]) format(string, sizeof(string), "House owner: %s\nLevel: %d\nID: %d\nRent: $%d\nType /rentroom to rent a room",HouseInfo[PlayerInfo[playerid][pHouse]][hOwner],HouseInfo[PlayerInfo[playerid][pHouse]][hLevel],PlayerInfo[playerid][pHouse],HouseInfo[PlayerInfo[playerid][pHouse]][hRentFee]);
  40178. else format(string, sizeof(string), "House owner: %s\nLevel: %d\nID: %d",HouseInfo[PlayerInfo[playerid][pHouse]][hOwner],HouseInfo[PlayerInfo[playerid][pHouse]][hLevel],PlayerInfo[playerid][pHouse]);
  40179. UpdateDynamic3DTextLabelText(HouseInfo[PlayerInfo[playerid][pHouse]][hTextID], COLOR_HOUSEGREEN, string);
  40180. }
  40181. }
  40182. else if(PlayerInfo[playerid][pHouse2] != INVALID_HOUSE_ID && (IsPlayerInRangeOfPoint(playerid, 2.0, HouseInfo[PlayerInfo[playerid][pHouse2]][hExteriorX], HouseInfo[PlayerInfo[playerid][pHouse2]][hExteriorY], HouseInfo[PlayerInfo[playerid][pHouse2]][hExteriorZ]) || IsPlayerInRangeOfPoint(playerid, 2.0, HouseInfo[PlayerInfo[playerid][pHouse2]][hInteriorX], HouseInfo[PlayerInfo[playerid][pHouse2]][hInteriorY], HouseInfo[PlayerInfo[playerid][pHouse2]][hInteriorZ])))
  40183. {
  40184. if(!(1 <= fee <= 1000))
  40185. {
  40186. SendClientMessage(playerid, COLOR_WHITE, "Minimum rent is $1, maximum rent is $1000.");
  40187. }
  40188. else {
  40189. HouseInfo[PlayerInfo[playerid][pHouse2]][hRentFee] = fee;
  40190. format(string, sizeof(string), "You have set your house's rent fee to $%i.", HouseInfo[PlayerInfo[playerid][pHouse2]][hRentFee]);
  40191. SendClientMessage(playerid, COLOR_WHITE, string);
  40192. if(HouseInfo[PlayerInfo[playerid][pHouse2]][hRentable]) format(string, sizeof(string), "House owner: %s\nLevel: %d\nID: %d\nRent: $%d\nType /rentroom to rent a room",HouseInfo[PlayerInfo[playerid][pHouse2]][hOwner],HouseInfo[PlayerInfo[playerid][pHouse2]][hLevel],PlayerInfo[playerid][pHouse2],HouseInfo[PlayerInfo[playerid][pHouse2]][hRentFee]);
  40193. else format(string, sizeof(string), "House owner: %s\nLevel: %d\nID: %d",HouseInfo[PlayerInfo[playerid][pHouse2]][hOwner],HouseInfo[PlayerInfo[playerid][pHouse2]][hLevel],PlayerInfo[playerid][pHouse2]);
  40194. UpdateDynamic3DTextLabelText(HouseInfo[PlayerInfo[playerid][pHouse2]][hTextID], COLOR_HOUSEGREEN, string);
  40195. }
  40196. }
  40197. else SendClientMessage(playerid, COLOR_GRAD2, "You either don't own a house, or are not at one of them.");
  40198. return 1;
  40199. }
  40200. CMD:evict(playerid, params[])
  40201. {
  40202. new string[128], giveplayerid;
  40203. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /evict [playerid/partofname]");
  40204. if(PlayerInfo[playerid][pHouse] != INVALID_HOUSE_ID && (IsPlayerInRangeOfPoint(playerid, 2.0, HouseInfo[PlayerInfo[playerid][pHouse]][hExteriorX], HouseInfo[PlayerInfo[playerid][pHouse]][hExteriorY], HouseInfo[PlayerInfo[playerid][pHouse]][hExteriorZ]) || IsPlayerInRangeOfPoint(playerid, 2.0, HouseInfo[PlayerInfo[playerid][pHouse]][hInteriorX], HouseInfo[PlayerInfo[playerid][pHouse]][hInteriorY], HouseInfo[PlayerInfo[playerid][pHouse]][hInteriorZ])))
  40205. {
  40206. if(IsPlayerConnected(giveplayerid))
  40207. {
  40208. if(giveplayerid == playerid)
  40209. {
  40210. return SendClientMessage(playerid, COLOR_WHITE, "You can't evict yourself.");
  40211. }
  40212. else if(PlayerInfo[giveplayerid][pRenting] == PlayerInfo[playerid][pHouse])
  40213. {
  40214. format(string, sizeof(string), "%s has evicted you from their house.", GetPlayerNameEx(playerid));
  40215. SendClientMessage(giveplayerid, COLOR_WHITE, string);
  40216. format(string, sizeof(string), "You have evicted %s from your house.", GetPlayerNameEx(giveplayerid));
  40217. SendClientMessage(playerid, COLOR_WHITE, string);
  40218. PlayerInfo[giveplayerid][pRenting] = INVALID_HOUSE_ID;
  40219. }
  40220. else SendClientMessage(playerid, COLOR_WHITE, "That person isn't renting at your house.");
  40221. }
  40222. else SendClientMessage(playerid, COLOR_GRAD2, "Invalid player specified.");
  40223. }
  40224. else if(PlayerInfo[playerid][pHouse2] != INVALID_HOUSE_ID && (IsPlayerInRangeOfPoint(playerid, 2.0, HouseInfo[PlayerInfo[playerid][pHouse2]][hExteriorX], HouseInfo[PlayerInfo[playerid][pHouse2]][hExteriorY], HouseInfo[PlayerInfo[playerid][pHouse2]][hExteriorZ]) || IsPlayerInRangeOfPoint(playerid, 2.0, HouseInfo[PlayerInfo[playerid][pHouse2]][hInteriorX], HouseInfo[PlayerInfo[playerid][pHouse2]][hInteriorY], HouseInfo[PlayerInfo[playerid][pHouse2]][hInteriorZ])))
  40225. {
  40226. if(IsPlayerConnected(giveplayerid))
  40227. {
  40228. if(giveplayerid == playerid)
  40229. {
  40230. return SendClientMessage(playerid, COLOR_WHITE, "You can't evict yourself.");
  40231. }
  40232. else if(PlayerInfo[giveplayerid][pRenting] == PlayerInfo[playerid][pHouse2])
  40233. {
  40234. format(string, sizeof(string), "%s has evicted you from their house.", GetPlayerNameEx(playerid));
  40235. SendClientMessage(giveplayerid, COLOR_WHITE, string);
  40236. format(string, sizeof(string), "You have evicted %s from your house.", GetPlayerNameEx(giveplayerid));
  40237. SendClientMessage(playerid, COLOR_WHITE, string);
  40238. PlayerInfo[giveplayerid][pRenting] = INVALID_HOUSE_ID;
  40239. }
  40240. else SendClientMessage(playerid, COLOR_WHITE, "That person isn't renting at your house.");
  40241. }
  40242. }
  40243. else SendClientMessage(playerid, COLOR_GRAD2, "You either don't own a house, or are not at one of them.");
  40244. return 1;
  40245. }
  40246. CMD:evictall(playerid, params[])
  40247. {
  40248. if(PlayerInfo[playerid][pHouse] != INVALID_HOUSE_ID && (IsPlayerInRangeOfPoint(playerid, 2.0, HouseInfo[PlayerInfo[playerid][pHouse]][hExteriorX], HouseInfo[PlayerInfo[playerid][pHouse]][hExteriorY], HouseInfo[PlayerInfo[playerid][pHouse]][hExteriorZ]) || IsPlayerInRangeOfPoint(playerid, 2.0, HouseInfo[PlayerInfo[playerid][pHouse]][hInteriorX], HouseInfo[PlayerInfo[playerid][pHouse]][hInteriorY], HouseInfo[PlayerInfo[playerid][pHouse]][hInteriorZ])))
  40249. {
  40250. new giveplayerid, string[56];
  40251. foreach(Player, i) if(PlayerInfo[i][pRenting] == PlayerInfo[playerid][pHouse]) {
  40252. format(string, sizeof(string), "%s has evicted you from their house.", GetPlayerNameEx(playerid));
  40253. SendClientMessage(i, COLOR_WHITE, string);
  40254. PlayerInfo[i][pRenting] = INVALID_HOUSE_ID;
  40255. ++giveplayerid;
  40256. }
  40257. format(string, sizeof(string), "%i online players have been evicted from your house.", giveplayerid);
  40258. SendClientMessage(playerid, COLOR_WHITE, string);
  40259. }
  40260. else if(PlayerInfo[playerid][pHouse2] != INVALID_HOUSE_ID && (IsPlayerInRangeOfPoint(playerid, 2.0, HouseInfo[PlayerInfo[playerid][pHouse2]][hExteriorX], HouseInfo[PlayerInfo[playerid][pHouse2]][hExteriorY], HouseInfo[PlayerInfo[playerid][pHouse2]][hExteriorZ]) || IsPlayerInRangeOfPoint(playerid, 2.0, HouseInfo[PlayerInfo[playerid][pHouse2]][hInteriorX], HouseInfo[PlayerInfo[playerid][pHouse2]][hInteriorY], HouseInfo[PlayerInfo[playerid][pHouse2]][hInteriorZ])))
  40261. {
  40262. new giveplayerid, string[56];
  40263. foreach(Player, i) if(PlayerInfo[i][pRenting] == PlayerInfo[playerid][pHouse2]) {
  40264. format(string, sizeof(string), "%s has evicted you from their house.", GetPlayerNameEx(playerid));
  40265. SendClientMessage(i, COLOR_WHITE, string);
  40266. PlayerInfo[i][pRenting] = INVALID_HOUSE_ID;
  40267. ++giveplayerid;
  40268. }
  40269. format(string, sizeof(string), "%i online players have been evicted from your house.", giveplayerid);
  40270. SendClientMessage(playerid, COLOR_WHITE, string);
  40271. }
  40272. else SendClientMessage(playerid, COLOR_GRAD2, "You either don't own a house, or are not at one of them.");
  40273. return 1;
  40274. }
  40275. CMD:buyhouse(playerid, params[])
  40276. {
  40277. new string[128];
  40278. new playername[MAX_PLAYER_NAME];
  40279. new sendername[MAX_PLAYER_NAME];
  40280. new Float:oldposx, Float:oldposy, Float:oldposz;
  40281. GetPlayerName(playerid, playername, sizeof(playername));
  40282. GetPlayerPos(playerid, oldposx, oldposy, oldposz);
  40283. if(IsPlayerInRangeOfPoint(playerid,5.0, 0.0, 0.0, 0.0))
  40284. {// This is to prevent players from buying non-ready houses at the 0,0,0 coordinates
  40285. SendClientMessage(playerid, COLOR_WHITE, "You can't purchase houses in this area.");
  40286. return 1;
  40287. }
  40288. for(new h = 0; h < sizeof(HouseInfo); h++)
  40289. {
  40290. if(IsPlayerInRangeOfPoint(playerid,2.0,HouseInfo[h][hExteriorX], HouseInfo[h][hExteriorY], HouseInfo[h][hExteriorZ]))
  40291. {
  40292. if(HouseInfo[h][hOwned] == 0)
  40293. {
  40294. if(PlayerInfo[playerid][pLevel] < HouseInfo[h][hLevel])
  40295. {
  40296. format(string, sizeof(string), " You must be Level %d to purchase this!", HouseInfo[h][hLevel]);
  40297. SendClientMessage(playerid, COLOR_GRAD5, string);
  40298. return 1;
  40299. }
  40300. if(PlayerInfo[playerid][pHouse] != INVALID_HOUSE_ID)
  40301. {
  40302. SendClientMessage(playerid, COLOR_GRAD5, "You already own a house.");
  40303. return 1;
  40304. }
  40305. if(PlayerInfo[playerid][pHouse] == INVALID_HOUSE_ID)
  40306. {
  40307. if(GetPlayerCash(playerid) >= HouseInfo[h][hValue])
  40308. {
  40309. if(GetPVarInt(playerid, "BuyHouseConfirm") == 0)
  40310. {
  40311. SetPVarInt(playerid, "BuyHouseConfirm", 1);
  40312. SendClientMessage(playerid, COLOR_WHITE, "You're about to buy this house. The money can't be returned once you have bought this house.");
  40313. SendClientMessage(playerid, COLOR_WHITE, "If you're sure you want to buy this house, please re-type the command (/buyhouse).");
  40314. return 1;
  40315. }
  40316. DeletePVar(playerid, "BuyHouseConfirm");
  40317. PlayerInfo[playerid][pHouse] = h;
  40318. HouseInfo[h][hOwned] = 1;
  40319. HouseInfo[h][hRentable] = 0;
  40320. GetPlayerName(playerid, sendername, sizeof(sendername));
  40321. strmid(HouseInfo[h][hOwner], sendername, 0, strlen(sendername), 255);
  40322. GivePlayerCash(playerid,-HouseInfo[h][hValue]);
  40323. SetPlayerInterior(playerid,HouseInfo[h][hHInteriorWorld]);
  40324. if(HouseInfo[h][hCustomInterior] == 1)
  40325. {
  40326. TogglePlayerControllable(playerid, 0);
  40327. for(new o = 0; o < 2; o++)
  40328. {
  40329. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  40330. }
  40331. SetPVarInt(playerid, "LoadingObjects", 1);
  40332. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  40333. }
  40334. format(string, sizeof(string), "* %s has entered their house.", GetPlayerNameEx(playerid));
  40335. ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  40336. SetPlayerPos(playerid,HouseInfo[h][hInteriorX],HouseInfo[h][hInteriorY],HouseInfo[h][hInteriorZ]);
  40337. SetPlayerFacingAngle(playerid,HouseInfo[h][hInteriorA]);
  40338. SetCameraBehindPlayer(playerid);
  40339. GameTextForPlayer(playerid, "~w~Welcome Home~n~You can exit at any time by moving to this door and typing /exit.", 5000, 3);
  40340. PlayerInfo[playerid][pInt] = HouseInfo[h][hHInteriorWorld];
  40341. SendClientMessage(playerid, COLOR_WHITE, "Congratulations on your new purchase!");
  40342. SendClientMessage(playerid, COLOR_WHITE, "Type /househelp to review the help section!");
  40343. SaveHouses();
  40344. PlayerInfo[playerid][pInt] = GetPlayerInterior(playerid);
  40345. PlayerInfo[playerid][pVW] = GetPlayerVirtualWorld(playerid);
  40346. GetPlayerIp(playerid, PlayerInfo[playerid][pIP], 32);
  40347. GetPlayerPos(playerid, PlayerInfo[playerid][pPos_x], PlayerInfo[playerid][pPos_y], PlayerInfo[playerid][pPos_z]);
  40348. GetPlayerFacingAngle(playerid, PlayerInfo[playerid][pPos_r]);
  40349. OnPlayerStatsUpdate(playerid);
  40350. PlayerInfo[playerid][pVW] = h+60000;
  40351. SetPlayerVirtualWorld(playerid, h+60000);
  40352. DestroyPickup(HouseInfo[h][hPickupID]);
  40353. HouseInfo[h][hPickupID] = CreatePickup(1273, 23, HouseInfo[h][hExteriorX], HouseInfo[h][hExteriorY], HouseInfo[h][hExteriorZ], -1);
  40354. format(string, sizeof(string), "House owner: %s\nLevel: %d\nID: %d",HouseInfo[h][hOwner],HouseInfo[h][hLevel],h);
  40355. UpdateDynamic3DTextLabelText(HouseInfo[h][hTextID], COLOR_HOUSEGREEN, string);
  40356. new ip[32];
  40357. GetPlayerIp(playerid,ip,sizeof(ip));
  40358. format(string,sizeof(string),"%s (IP: %s) has bought house ID %d for $%d.",GetPlayerNameEx(playerid),ip,h,HouseInfo[h][hValue]);
  40359. Log("logs/house.log", string);
  40360. return 1;
  40361. }
  40362. else
  40363. {
  40364. SendClientMessage(playerid, COLOR_WHITE, " You don't have the cash for that.");
  40365. return 1;
  40366. }
  40367. }
  40368. // (TEMPORARY - Howard NOTE) No second houses for now
  40369. else if(PlayerInfo[playerid][pHouse2] == INVALID_HOUSE_ID)
  40370. {
  40371. if(GetPlayerCash(playerid) > HouseInfo[h][hValue])
  40372. {
  40373. PlayerInfo[playerid][pHouse2] = h;
  40374. HouseInfo[h][hOwned] = 1;
  40375. HouseInfo[h][hRentable] = 0;
  40376. GetPlayerName(playerid, sendername, sizeof(sendername));
  40377. strmid(HouseInfo[h][hOwner], sendername, 0, strlen(sendername), 255);
  40378. GivePlayerCash(playerid,-HouseInfo[h][hValue]);
  40379. SetPlayerInterior(playerid,HouseInfo[h][hHInteriorWorld]);
  40380. if(HouseInfo[h][hCustomInterior] == 1)
  40381. {
  40382. TogglePlayerControllable(playerid, 0);
  40383. GameTextForPlayer(playerid, "Objects loading...", 4000, 5);
  40384. SetPVarInt(playerid, "LoadingObjects", 1);
  40385. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  40386. }
  40387. SetPlayerPos(playerid,HouseInfo[h][hInteriorX],HouseInfo[h][hInteriorY],HouseInfo[h][hInteriorZ]);
  40388. SetPlayerFacingAngle(playerid,HouseInfo[h][hInteriorA]);
  40389. SetCameraBehindPlayer(playerid);
  40390. GameTextForPlayer(playerid, "~w~Welcome Home~n~You can exit at any time by moving to this door and typing /exit.", 5000, 3);
  40391. PlayerInfo[playerid][pInt] = HouseInfo[h][hHInteriorWorld];
  40392. SendClientMessage(playerid, COLOR_WHITE, "Congratulations on your new purchase!");
  40393. SendClientMessage(playerid, COLOR_WHITE, "Type /help to review the property help section!");
  40394. SaveHouses();
  40395. OnPlayerStatsUpdate(playerid);
  40396. PlayerInfo[playerid][pVW] = h+60000;
  40397. SetPlayerVirtualWorld(playerid, h+60000);
  40398. DestroyPickup(HouseInfo[h][hPickupID]);
  40399. HouseInfo[h][hPickupID] = CreatePickup(1273, 23, HouseInfo[h][hExteriorX], HouseInfo[h][hExteriorY], HouseInfo[h][hExteriorZ], -1);
  40400. format(string, sizeof(string), "House owner: %s\nLevel: %d\nID: %d",HouseInfo[h][hOwner],HouseInfo[h][hLevel],h);
  40401. UpdateDynamic3DTextLabelText(HouseInfo[h][hTextID], COLOR_HOUSEGREEN, string);
  40402. new ip[32];
  40403. GetPlayerIp(playerid,ip,sizeof(ip));
  40404. format(string,sizeof(string),"%s (IP: %s) has bought house ID %d for $%d.",GetPlayerNameEx(playerid),ip,h,HouseInfo[h][hValue]);
  40405. Log("logs/house.log", string);
  40406. return 1;
  40407. }
  40408. else
  40409. {
  40410. SendClientMessage(playerid, COLOR_WHITE, " You don't have the cash for that!");
  40411. return 1;
  40412. }
  40413. }
  40414. }
  40415. else
  40416. {
  40417. SendClientMessage(playerid, COLOR_WHITE, "This house is owned.");
  40418. }
  40419. }
  40420. }
  40421. return 1;
  40422. }
  40423. CMD:interiors(playerid, params[])
  40424. {
  40425. if (PlayerInfo[playerid][pAdmin] >= 3)
  40426. {
  40427. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 5)
  40428. {
  40429. SendClientMessage(playerid,COLOR_WHITE, "You can only chat while off-duty. Type /aduty to go on-duty.");
  40430. return 1;
  40431. }
  40432. ShowInteriorDialog(playerid);
  40433. }
  40434. else
  40435. {
  40436. SendClientMessageEx(playerid, COLOR_GRAD1, "You are not authorized to use that command!");
  40437. }
  40438. return 1;
  40439. }
  40440. CMD:sellhouse(playerid, params[])
  40441. {
  40442. new string[128];
  40443. new house = PlayerInfo[playerid][pHouse];
  40444. new house2 = PlayerInfo[playerid][pHouse2];
  40445. if(house == INVALID_HOUSE_ID && house2 == INVALID_HOUSE_ID)
  40446. {
  40447. SendClientMessage(playerid, COLOR_WHITE, "You don't own a house.");
  40448. return 1;
  40449. }
  40450. if(IsPlayerInRangeOfPoint(playerid, 4.0,HouseInfo[house][hExteriorX],HouseInfo[house][hExteriorY],HouseInfo[house][hExteriorZ]))
  40451. {
  40452. if(GetPVarInt(playerid, "SellHouseConfirm") == 0)
  40453. {
  40454. SetPVarInt(playerid, "SellHouseConfirm", 1);
  40455. SendClientMessage(playerid, COLOR_WHITE, "You're about to sell your house for free. You will receive no money for this.");
  40456. SendClientMessage(playerid, COLOR_WHITE, "If you're sure you want to sell your house, please re-type the command (/sellhouse).");
  40457. return 1;
  40458. }
  40459. DeletePVar(playerid, "SellHouseConfirm");
  40460. ClearHouse(house);
  40461. HouseInfo[house][hLock] = 1;
  40462. format(HouseInfo[house][hOwner], 128, "Nobody");
  40463. HouseInfo[house][hGLUpgrade] = 1;
  40464. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  40465. format(string, sizeof(string), "~n~~w~You have sold your property!");
  40466. GameTextForPlayer(playerid, string, 4000, 3);
  40467. PlayerInfo[playerid][pHouse] = INVALID_HOUSE_ID;
  40468. if(PlayerInfo[playerid][pVW] == house+60000)
  40469. {
  40470. SetPlayerInterior(playerid,0);
  40471. SetPlayerPos(playerid,HouseInfo[house][hExteriorX],HouseInfo[house][hExteriorY],HouseInfo[house][hExteriorZ]);
  40472. PlayerInfo[playerid][pInt] = 0;
  40473. PlayerInfo[playerid][pHouse] = INVALID_HOUSE_ID;
  40474. }
  40475. //PlayerInfo[playerid][pInsurance] = 0;
  40476. SaveHouses();
  40477. PlayerInfo[playerid][pInt] = GetPlayerInterior(playerid);
  40478. PlayerInfo[playerid][pVW] = GetPlayerVirtualWorld(playerid);
  40479. GetPlayerIp(playerid, PlayerInfo[playerid][pIP], 32);
  40480. GetPlayerPos(playerid, PlayerInfo[playerid][pPos_x], PlayerInfo[playerid][pPos_y], PlayerInfo[playerid][pPos_z]);
  40481. GetPlayerFacingAngle(playerid, PlayerInfo[playerid][pPos_r]);
  40482. OnPlayerStatsUpdate(playerid);
  40483. DestroyPickup(HouseInfo[house][hPickupID]);
  40484. HouseInfo[house][hPickupID] = CreatePickup(1273, 23, HouseInfo[house][hExteriorX], HouseInfo[house][hExteriorY], HouseInfo[house][hExteriorZ], -1);
  40485. DestroyDynamic3DTextLabel(HouseInfo[house][hTextID]);
  40486. format(string, sizeof(string), "This house is for sale!\n Level: %d\nID: %d\nPrice: $%d\nTo buy this house type /buyhouse",HouseInfo[house][hLevel],house,HouseInfo[house][hValue]);
  40487. HouseInfo[house][hTextID] = CreateDynamic3DTextLabel(string, COLOR_HOUSEGREEN, HouseInfo[house][hExteriorX], HouseInfo[house][hExteriorY], HouseInfo[house][hExteriorZ]+0.5, 20.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 10.0);
  40488. new ip[32];
  40489. GetPlayerIp(playerid,ip,sizeof(ip));
  40490. format(string,sizeof(string),"%s (IP: %s) has sold their house (ID %d) for $%d.",GetPlayerNameEx(playerid),ip,house,HouseInfo[house][hValue]);
  40491. Log("logs/house.log", string);
  40492. return 1;
  40493. }
  40494. // (TEMPORARY - Howard NOTE) No second houses for now
  40495. else if(IsPlayerInRangeOfPoint(playerid, 4.0,HouseInfo[house2][hExteriorX],HouseInfo[house2][hExteriorY],HouseInfo[house2][hExteriorZ]))
  40496. {
  40497. if(GetPVarInt(playerid, "SellHouseConfirm") == 0)
  40498. {
  40499. SetPVarInt(playerid, "SellHouseConfirm", 1);
  40500. SendClientMessage(playerid, COLOR_WHITE, "You're about to sell your house for free. You will receive no money for this.");
  40501. SendClientMessage(playerid, COLOR_WHITE, "If you're sure you want to sell your house, please re-type the command (/sellhouse).");
  40502. return 1;
  40503. }
  40504. DeletePVar(playerid, "SellHouseConfirm");
  40505. ClearHouse(house2);
  40506. HouseInfo[house2][hLock] = 1;
  40507. format(HouseInfo[house2][hOwner], 128, "Nobody");
  40508. HouseInfo[house2][hGLUpgrade] = 1;
  40509. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  40510. format(string, sizeof(string), "~w~You have sold your property!");
  40511. GameTextForPlayer(playerid, string, 4000, 3);
  40512. PlayerInfo[playerid][pHouse2] = INVALID_HOUSE_ID;
  40513. if(PlayerInfo[playerid][pVW] == house2+60000)
  40514. {
  40515. SetPlayerInterior(playerid,0);
  40516. SetPlayerPos(playerid,HouseInfo[house2][hExteriorX],HouseInfo[house2][hExteriorY],HouseInfo[house2][hExteriorZ]);
  40517. PlayerInfo[playerid][pInt] = 0;
  40518. PlayerInfo[playerid][pHouse2] = INVALID_HOUSE_ID;
  40519. }
  40520. //PlayerInfo[playerid][pInsurance] = 0;
  40521. SaveHouses();
  40522. PlayerInfo[playerid][pInt] = GetPlayerInterior(playerid);
  40523. PlayerInfo[playerid][pVW] = GetPlayerVirtualWorld(playerid);
  40524. GetPlayerIp(playerid, PlayerInfo[playerid][pIP], 32);
  40525. GetPlayerPos(playerid, PlayerInfo[playerid][pPos_x], PlayerInfo[playerid][pPos_y], PlayerInfo[playerid][pPos_z]);
  40526. GetPlayerFacingAngle(playerid, PlayerInfo[playerid][pPos_r]);
  40527. OnPlayerStatsUpdate(playerid);
  40528. DestroyPickup(HouseInfo[house2][hPickupID]);
  40529. HouseInfo[house2][hPickupID] = CreatePickup(1273, 23, HouseInfo[house2][hExteriorX], HouseInfo[house2][hExteriorY], HouseInfo[house2][hExteriorZ], -1);
  40530. DestroyDynamic3DTextLabel(HouseInfo[house2][hTextID]);
  40531. format(string, sizeof(string), "This house is for sale!\n Level: %d\nID: %d\nPrice: $%d\nTo buy this house type /buyhouse",HouseInfo[house][hLevel],house,HouseInfo[house][hValue]);
  40532. HouseInfo[house2][hTextID] = CreateDynamic3DTextLabel(string, COLOR_HOUSEGREEN, HouseInfo[house2][hExteriorX], HouseInfo[house2][hExteriorY], HouseInfo[house2][hExteriorZ]+0.5,20.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 10.0);
  40533. new ip[32];
  40534. GetPlayerIp(playerid,ip,sizeof(ip));
  40535. format(string,sizeof(string),"%s (IP: %s) has sold their house (ID %d) for $%d.",GetPlayerNameEx(playerid),ip,house2,HouseInfo[house2][hValue]);
  40536. Log("logs/house.log", string);
  40537. return 1;
  40538. }
  40539. else
  40540. {
  40541. SendClientMessage(playerid, COLOR_WHITE, "You need to be near your house(exterior) in order to sell it.");
  40542. }
  40543. return 1;
  40544. }
  40545. CMD:ringbell(playerid, params[])
  40546. {
  40547. for(new h; h < sizeof(HouseInfo); h++) if(IsPlayerInRangeOfPoint(playerid, 3.0, HouseInfo[h][hExteriorX], HouseInfo[h][hExteriorY], HouseInfo[h][hExteriorZ])) {
  40548. new
  40549. string[75 + MAX_PLAYER_NAME];
  40550. foreach(Player, i) if(GetPlayerVirtualWorld(i) == h + 60000 && GetPlayerInterior(i) == HouseInfo[h][hHInteriorWorld]) {
  40551. format(string,sizeof(string),"%s's doorbell rings.", HouseInfo[h][hOwner]);
  40552. SendClientMessage(i,COLOR_PURPLE,string);
  40553. GameTextForPlayer(i, "~n~~n~~n~~n~~n~~n~~n~~n~~w~The doorbell rings...", 4000,3);
  40554. }
  40555. format(string,sizeof(string),"* %s presses a button next to the door, ringing the doorbell of %s's house.",GetPlayerNameEx(playerid), HouseInfo[h][hOwner]);
  40556. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  40557. }
  40558. return 1;
  40559. }
  40560. CMD:sellmyhouse(playerid, params[])
  40561. {
  40562. new playername[MAX_PLAYER_NAME];
  40563. GetPlayerName(playerid, playername, sizeof(playername));
  40564. if((PlayerInfo[playerid][pHouse] != INVALID_HOUSE_ID && strcmp(playername, HouseInfo[PlayerInfo[playerid][pHouse]][hOwner], true) == 0) || (PlayerInfo[playerid][pHouse2] != INVALID_HOUSE_ID && strcmp(playername, HouseInfo[PlayerInfo[playerid][pHouse2]][hOwner], true) == 0))
  40565. {
  40566. new string[128], giveplayerid, price;
  40567. if(sscanf(params, "ud", giveplayerid, price)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /sellmyhouse [playerid/partofname] [price]");
  40568. if(price < 1) return SendClientMessage(playerid, COLOR_GREY, "Price must be higher than 0.");
  40569. if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, COLOR_GREY, "Player is currently not connected to the server.");
  40570. if(PlayerInfo[giveplayerid][pHouse] != INVALID_HOUSE_ID && strcmp(GetPlayerNameEx(playerid), HouseInfo[PlayerInfo[giveplayerid][pHouse]][hOwner], true) == 0)
  40571. {
  40572. SendClientMessage(playerid, COLOR_GREY, "They already own a house.");
  40573. return 1;
  40574. }
  40575. new house = PlayerInfo[playerid][pHouse];
  40576. new house2 = PlayerInfo[playerid][pHouse2];
  40577. if(PlayerInfo[giveplayerid][pLevel] >= HouseInfo[PlayerInfo[playerid][pHouse]][hLevel])
  40578. {
  40579. if(IsPlayerInRangeOfPoint(playerid, 4.0,HouseInfo[house][hExteriorX],HouseInfo[house][hExteriorY],HouseInfo[house][hExteriorZ]))
  40580. {
  40581. if(ProxDetectorS(8.0, playerid, giveplayerid))
  40582. {
  40583. if(GetPVarInt(playerid, "SellMyTimer") > 0)
  40584. {
  40585. format(string, sizeof(string), "You must wait %d seconds before offering a sale again.", GetPVarInt(playerid, "SellMyTimer"));
  40586. SendClientMessage(playerid,COLOR_GREY,string);
  40587. return 1;
  40588. }
  40589. HouseOffer[giveplayerid] = playerid;
  40590. HousePrice[giveplayerid] = price;
  40591. House[giveplayerid] = 1;
  40592. format(string, sizeof(string), "* You offered %s to buy your house for $%d.", GetPlayerNameEx(giveplayerid), price);
  40593. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  40594. format(string, sizeof(string), "* %s has offered you their house for $%d, (type /accept house) to buy.", GetPlayerNameEx(playerid), price);
  40595. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  40596. SetPVarInt(playerid, "SellMyTimer", 30); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_SELLMYTIMER);
  40597. return 1;
  40598. }
  40599. else
  40600. {
  40601. SendClientMessage(playerid, COLOR_GREY, "That player is not near you.");
  40602. return 1;
  40603. }
  40604. }
  40605. else if(IsPlayerInRangeOfPoint(playerid, 4.0,HouseInfo[house2][hExteriorX],HouseInfo[house2][hExteriorY],HouseInfo[house2][hExteriorZ]))
  40606. {
  40607. if(ProxDetectorS(8.0, playerid, giveplayerid))
  40608. {
  40609. HouseOffer[giveplayerid] = playerid;
  40610. HousePrice[giveplayerid] = price;
  40611. House[giveplayerid] = 2;
  40612. format(string, sizeof(string), "* You offered %s to buy your house for $%d.", GetPlayerNameEx(giveplayerid), price);
  40613. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  40614. format(string, sizeof(string), "* %s has offered you their house for $%d, (type /accept house) to buy.", GetPlayerNameEx(playerid), price);
  40615. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  40616. return 1;
  40617. }
  40618. else
  40619. {
  40620. SendClientMessage(playerid, COLOR_GREY, "That player is not near you.");
  40621. return 1;
  40622. }
  40623. }
  40624. else
  40625. {
  40626. SendClientMessage(playerid, COLOR_GREY, "You're not near your house");
  40627. return 1;
  40628. }
  40629. }
  40630. else
  40631. {
  40632. SendClientMessage(playerid, COLOR_GREY, "The player you're trying to sell your house to is not the appropriate level to buy this house.");
  40633. return 1;
  40634. }
  40635. }
  40636. else
  40637. {
  40638. SendClientMessage(playerid, COLOR_WHITE, "You don't own a house.");
  40639. }
  40640. return 1;
  40641. }
  40642. CMD:hwithdraw(playerid, params[])
  40643. {
  40644. if(AdminDuty[playerid] == 1)
  40645. {
  40646. SendClientMessage(playerid,COLOR_WHITE, "You can't use this command while on-duty as admin.");
  40647. return 1;
  40648. }
  40649. new playername[MAX_PLAYER_NAME];
  40650. GetPlayerName(playerid, playername, sizeof(playername));
  40651. new string[128], amount, choice[32];
  40652. if(sscanf(params, "s[32]d", choice, amount))
  40653. {
  40654. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /hwithdraw [name] [amount]");
  40655. SendClientMessage(playerid, COLOR_GRAD2, "Available Names: Cash, Pot, Crack, Materials");
  40656. return 1;
  40657. }
  40658. PlayerInfo[playerid][pInt] = GetPlayerInterior(playerid);
  40659. PlayerInfo[playerid][pVW] = GetPlayerVirtualWorld(playerid);
  40660. GetPlayerIp(playerid, PlayerInfo[playerid][pIP], 32);
  40661. GetPlayerPos(playerid, PlayerInfo[playerid][pPos_x], PlayerInfo[playerid][pPos_y], PlayerInfo[playerid][pPos_z]);
  40662. GetPlayerFacingAngle(playerid, PlayerInfo[playerid][pPos_r]);
  40663. if(GetPlayerVirtualWorld(playerid) == PlayerInfo[playerid][pHouse]+60000)
  40664. {
  40665. if(PlayerInfo[playerid][pHouse] != INVALID_HOUSE_ID && strcmp(playername, HouseInfo[PlayerInfo[playerid][pHouse]][hOwner], true) == 0)
  40666. {
  40667. if(strcmp(choice, "Cash", true, strlen(choice)) == 0)
  40668. {
  40669. if(amount < 1)
  40670. {
  40671. SendClientMessage(playerid, COLOR_WHITE, "You can't withdraw less than one.");
  40672. return 1;
  40673. }
  40674. if(HouseInfo[PlayerInfo[playerid][pHouse]][hSafeMoney] >= amount)
  40675. {
  40676. HouseInfo[PlayerInfo[playerid][pHouse]][hSafeMoney]-=amount;
  40677. PlayerInfo[playerid][pCash] += amount;
  40678. format(string, sizeof(string), "You have withdrawn $%d from your house money safe.", amount);
  40679. SendClientMessage(playerid, COLOR_YELLOW, string);
  40680. format(string,sizeof(string), "* %s withdraws some money from their house safe.", GetPlayerNameEx(playerid));
  40681. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  40682. SaveHouses();
  40683. OnPlayerStatsUpdate(playerid);
  40684. new ip[32];
  40685. GetPlayerIp(playerid,ip,sizeof(ip));
  40686. format(string,sizeof(string),"%s (IP: %s) has withdrawn $%d from their house (house ID %d).",GetPlayerNameEx(playerid),ip,amount,PlayerInfo[playerid][pHouse]);
  40687. Log("logs/house.log", string);
  40688. }
  40689. else
  40690. {
  40691. SendClientMessage(playerid, COLOR_WHITE, "You don't have enough money to withdraw.");
  40692. }
  40693. }
  40694. else if(strcmp(choice, "Pot", true, strlen(choice)) == 0)
  40695. {
  40696. if(amount < 1)
  40697. {
  40698. SendClientMessage(playerid, COLOR_WHITE, "You can't withdraw less than one.");
  40699. return 1;
  40700. }
  40701. if(HouseInfo[PlayerInfo[playerid][pHouse]][hPot] >= amount)
  40702. {
  40703. if(PlayerInfo[playerid][pPot] > 500)
  40704. {
  40705. SendClientMessage(playerid, COLOR_GRAD2, "You're already carrying 500 grams of pot.");
  40706. return 1;
  40707. }
  40708. if(amount+PlayerInfo[playerid][pPot] > 500)
  40709. {
  40710. SendClientMessage(playerid, COLOR_GRAD2, "You can't carry more than 500 grams of pot.");
  40711. return 1;
  40712. }
  40713. HouseInfo[PlayerInfo[playerid][pHouse]][hPot]-=amount;
  40714. PlayerInfo[playerid][pPot] += amount;
  40715. format(string, sizeof(string), "You have withdrawn %d grams of pot from your house safe.", amount);
  40716. SendClientMessage(playerid, COLOR_YELLOW, string);
  40717. format(string,sizeof(string), "* %s withdraws some pot from their house safe.", GetPlayerNameEx(playerid));
  40718. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  40719. SaveHouses();
  40720. OnPlayerStatsUpdate(playerid);
  40721. /*new ip[32];
  40722. GetPlayerIp(playerid,ip,sizeof(ip));
  40723. format(string,sizeof(string),"%s (IP: %s) has withdrawn %d grams of pot from their house (house ID %d).",GetPlayerNameEx(playerid),ip,amount,PlayerInfo[playerid][pHouse]);
  40724. Log("logs/house.log", string);*/
  40725. }
  40726. else
  40727. {
  40728. SendClientMessage(playerid, COLOR_WHITE, "You don't have enough pot to withdraw.");
  40729. }
  40730. }
  40731. else if(strcmp(choice, "Materials", true, strlen(choice)) == 0)
  40732. {
  40733. if(amount < 1)
  40734. {
  40735. SendClientMessage(playerid, COLOR_WHITE, "You can't withdraw less than one.");
  40736. return 1;
  40737. }
  40738. if(HouseInfo[PlayerInfo[playerid][pHouse]][hMaterials] >= amount)
  40739. {
  40740. HouseInfo[PlayerInfo[playerid][pHouse]][hMaterials]-=amount;
  40741. PlayerInfo[playerid][pMats] += amount;
  40742. format(string, sizeof(string), "You have withdrawn %d materials from your house safe.", amount);
  40743. SendClientMessage(playerid, COLOR_YELLOW, string);
  40744. format(string,sizeof(string), "* %s withdraws some materials from their house safe.", GetPlayerNameEx(playerid));
  40745. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  40746. SaveHouses();
  40747. OnPlayerStatsUpdate(playerid);
  40748. new ip[32];
  40749. GetPlayerIp(playerid,ip,sizeof(ip));
  40750. format(string,sizeof(string),"%s (IP: %s) has withdrawn %d materials from their house (house ID %d).",GetPlayerNameEx(playerid),ip,amount,PlayerInfo[playerid][pHouse]);
  40751. Log("logs/house.log", string);
  40752. }
  40753. else
  40754. {
  40755. SendClientMessage(playerid, COLOR_WHITE, "You don't have enough materials to withdraw.");
  40756. }
  40757. }
  40758. else if(strcmp(choice, "Crack", true, strlen(choice)) == 0)
  40759. {
  40760. if(amount < 1)
  40761. {
  40762. SendClientMessage(playerid, COLOR_WHITE, "You can't withdraw less than one.");
  40763. return 1;
  40764. }
  40765. if(HouseInfo[PlayerInfo[playerid][pHouse]][hCrack] >= amount)
  40766. {
  40767. if(PlayerInfo[playerid][pCrack] > 250)
  40768. {
  40769. SendClientMessage(playerid, COLOR_GRAD2, "You already have 250 grams of crack.");
  40770. return 1;
  40771. }
  40772. if(amount+PlayerInfo[playerid][pCrack] > 250)
  40773. {
  40774. SendClientMessage(playerid, COLOR_GRAD2, "You can't carry more than 250 grams of crack.");
  40775. return 1;
  40776. }
  40777. HouseInfo[PlayerInfo[playerid][pHouse]][hCrack]-=amount;
  40778. PlayerInfo[playerid][pCrack] += amount;
  40779. format(string, sizeof(string), "You have withdrawn %d grams of crack from your house safe.", amount);
  40780. SendClientMessage(playerid, COLOR_YELLOW, string);
  40781. format(string,sizeof(string), "* %s withdraws some crack from their house safe.", GetPlayerNameEx(playerid));
  40782. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  40783. SaveHouses();
  40784. OnPlayerStatsUpdate(playerid);
  40785. /*new ip[32];
  40786. GetPlayerIp(playerid,ip,sizeof(ip));
  40787. format(string,sizeof(string),"%s (IP: %s) has withdrawn %d grams of crack from their house (house ID %d).",GetPlayerNameEx(playerid),ip,amount,PlayerInfo[playerid][pHouse]);
  40788. Log("logs/house.log", string);*/
  40789. }
  40790. else
  40791. {
  40792. SendClientMessage(playerid, COLOR_WHITE, "You don't have enough crack to withdraw.");
  40793. }
  40794. }
  40795. else
  40796. {
  40797. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /hwithdraw [name] [amount]");
  40798. SendClientMessage(playerid, COLOR_GRAD2, "Available Names: Cash, Pot, Crack, Materials");
  40799. }
  40800. }
  40801. }
  40802. else if(GetPlayerVirtualWorld(playerid) == PlayerInfo[playerid][pHouse2]+60000)
  40803. {
  40804. if(PlayerInfo[playerid][pHouse2] != INVALID_HOUSE_ID && strcmp(playername, HouseInfo[PlayerInfo[playerid][pHouse2]][hOwner], true) == 0)
  40805. {
  40806. if(strcmp(choice, "Cash", true, strlen(choice)) == 0)
  40807. {
  40808. if(amount < 1)
  40809. {
  40810. SendClientMessage(playerid, COLOR_WHITE, "You can't withdraw less than one.");
  40811. return 1;
  40812. }
  40813. if(HouseInfo[PlayerInfo[playerid][pHouse2]][hSafeMoney] >= amount)
  40814. {
  40815. HouseInfo[PlayerInfo[playerid][pHouse2]][hSafeMoney]-=amount;
  40816. PlayerInfo[playerid][pCash] += amount;
  40817. format(string, sizeof(string), "You have withdrawn $%d from your house money safe.", amount);
  40818. SendClientMessage(playerid, COLOR_YELLOW, string);
  40819. format(string,sizeof(string), "* %s withdraws some money from their house safe.", GetPlayerNameEx(playerid));
  40820. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  40821. SaveHouses();
  40822. OnPlayerStatsUpdate(playerid);
  40823. new ip[32];
  40824. GetPlayerIp(playerid,ip,sizeof(ip));
  40825. format(string,sizeof(string),"%s (IP: %s) has withdrawn $%d from their house (house ID %d).",GetPlayerNameEx(playerid),ip,amount,PlayerInfo[playerid][pHouse2]);
  40826. Log("logs/house.log", string);
  40827. }
  40828. else
  40829. {
  40830. SendClientMessage(playerid, COLOR_WHITE, "You don't have enough money to withdraw.");
  40831. }
  40832. }
  40833. else if(strcmp(choice, "Pot", true, strlen(choice)) == 0)
  40834. {
  40835. if(amount < 1)
  40836. {
  40837. SendClientMessage(playerid, COLOR_WHITE, "You can't withdraw less than one.");
  40838. return 1;
  40839. }
  40840. if(HouseInfo[PlayerInfo[playerid][pHouse2]][hPot] >= amount)
  40841. {
  40842. if(PlayerInfo[playerid][pPot] > 500)
  40843. {
  40844. SendClientMessage(playerid, COLOR_GRAD2, "You already have 500 grams of pot.");
  40845. return 1;
  40846. }
  40847. if(amount+PlayerInfo[playerid][pPot] > 500)
  40848. {
  40849. SendClientMessage(playerid, COLOR_GRAD2, "You can't carry more than 500 grams of pot.");
  40850. return 1;
  40851. }
  40852. HouseInfo[PlayerInfo[playerid][pHouse2]][hPot]-=amount;
  40853. PlayerInfo[playerid][pPot] += amount;
  40854. format(string, sizeof(string), "You have withdrawn %d grams of pot from your house safe.", amount);
  40855. SendClientMessage(playerid, COLOR_YELLOW, string);
  40856. format(string,sizeof(string), "* %s withdraws some pot from their house safe.", GetPlayerNameEx(playerid));
  40857. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  40858. SaveHouses();
  40859. OnPlayerStatsUpdate(playerid);
  40860. /*new ip[32];
  40861. GetPlayerIp(playerid,ip,sizeof(ip));
  40862. format(string,sizeof(string),"%s (IP: %s) has withdrawn %d grams of pot from their house (house ID %d).",GetPlayerNameEx(playerid),ip,amount,PlayerInfo[playerid][pHouse2]);
  40863. Log("logs/house.log", string);*/
  40864. }
  40865. else
  40866. {
  40867. SendClientMessage(playerid, COLOR_WHITE, "You don't have enough pot to withdraw.");
  40868. }
  40869. }
  40870. else if(strcmp(choice, "Materials", true, strlen(choice)) == 0)
  40871. {
  40872. if(amount < 1)
  40873. {
  40874. SendClientMessage(playerid, COLOR_WHITE, "You can't withdraw less than one.");
  40875. return 1;
  40876. }
  40877. if(HouseInfo[PlayerInfo[playerid][pHouse2]][hMaterials] >= amount)
  40878. {
  40879. HouseInfo[PlayerInfo[playerid][pHouse2]][hMaterials]-=amount;
  40880. PlayerInfo[playerid][pMats] += amount;
  40881. format(string, sizeof(string), "You have withdrawn %d materials from your house safe.", amount);
  40882. SendClientMessage(playerid, COLOR_YELLOW, string);
  40883. format(string,sizeof(string), "* %s withdraws some materials from their house safe.", GetPlayerNameEx(playerid));
  40884. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  40885. SaveHouses();
  40886. OnPlayerStatsUpdate(playerid);
  40887. new ip[32];
  40888. GetPlayerIp(playerid,ip,sizeof(ip));
  40889. format(string,sizeof(string),"%s (IP: %s) has withdrawn %d materials from their house (house ID %d).",GetPlayerNameEx(playerid),ip,amount,PlayerInfo[playerid][pHouse2]);
  40890. Log("logs/house.log", string);
  40891. }
  40892. else
  40893. {
  40894. SendClientMessage(playerid, COLOR_WHITE, "You don't have enough materials to withdraw.");
  40895. }
  40896. }
  40897. else if(strcmp(choice, "Crack", true, strlen(choice)) == 0)
  40898. {
  40899. if(amount < 1)
  40900. {
  40901. SendClientMessage(playerid, COLOR_WHITE, "You can't withdraw less than one.");
  40902. return 1;
  40903. }
  40904. if(HouseInfo[PlayerInfo[playerid][pHouse2]][hCrack] >= amount)
  40905. {
  40906. if(PlayerInfo[playerid][pCrack] > 250)
  40907. {
  40908. SendClientMessage(playerid, COLOR_GRAD2, "You already have 250 grams of crack.");
  40909. return 1;
  40910. }
  40911. if(amount+PlayerInfo[playerid][pCrack] > 250)
  40912. {
  40913. SendClientMessage(playerid, COLOR_GRAD2, "You can't carry more than 250 grams of pot.");
  40914. return 1;
  40915. }
  40916. HouseInfo[PlayerInfo[playerid][pHouse2]][hCrack]-=amount;
  40917. PlayerInfo[playerid][pCrack] += amount;
  40918. format(string, sizeof(string), "You have withdrawn %d grams of crack from your house safe.", amount);
  40919. SendClientMessage(playerid, COLOR_YELLOW, string);
  40920. format(string,sizeof(string), "* %s withdraws some crack from their house safe.", GetPlayerNameEx(playerid));
  40921. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  40922. SaveHouses();
  40923. OnPlayerStatsUpdate(playerid);
  40924. /*new ip[32];
  40925. GetPlayerIp(playerid,ip,sizeof(ip));
  40926. format(string,sizeof(string),"%s (IP: %s) has withdrawn %d grams of crack from their house (house ID %d).",GetPlayerNameEx(playerid),ip,amount,PlayerInfo[playerid][pHouse2]);
  40927. Log("logs/house.log", string);*/
  40928. }
  40929. else
  40930. {
  40931. SendClientMessage(playerid, COLOR_WHITE, "You don't have enough crack to withdraw.");
  40932. }
  40933. }
  40934. else
  40935. {
  40936. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /hwithdraw [name] [amount]");
  40937. SendClientMessage(playerid, COLOR_GRAD2, "Available Names: Cash, Pot, Crack, Materials");
  40938. }
  40939. }
  40940. }
  40941. else
  40942. {
  40943. SendClientMessage(playerid, COLOR_WHITE, "You're not in any house");
  40944. return 1;
  40945. }
  40946. return 1;
  40947. }
  40948. CMD:hdeposit(playerid, params[])
  40949. {
  40950. if(AdminDuty[playerid] == 1)
  40951. {
  40952. SendClientMessage(playerid,COLOR_WHITE, "You can't use this command while on-duty as admin.");
  40953. return 1;
  40954. }
  40955. new string[128], choice[32], amount;
  40956. if(sscanf(params, "s[32]d", choice, amount))
  40957. {
  40958. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /hdeposit [name] [amount]");
  40959. SendClientMessage(playerid, COLOR_GRAD2, "Available Names: Cash, Pot, Crack, Materials");
  40960. return 1;
  40961. }
  40962. PlayerInfo[playerid][pInt] = GetPlayerInterior(playerid);
  40963. PlayerInfo[playerid][pVW] = GetPlayerVirtualWorld(playerid);
  40964. GetPlayerIp(playerid, PlayerInfo[playerid][pIP], 32);
  40965. GetPlayerPos(playerid, PlayerInfo[playerid][pPos_x], PlayerInfo[playerid][pPos_y], PlayerInfo[playerid][pPos_z]);
  40966. GetPlayerFacingAngle(playerid, PlayerInfo[playerid][pPos_r]);
  40967. if(GetPlayerVirtualWorld(playerid) == PlayerInfo[playerid][pHouse]+60000)
  40968. {
  40969. if(PlayerInfo[playerid][pHouse] != INVALID_HOUSE_ID)
  40970. {
  40971. if(strcmp(choice, "Cash", true) == 0)
  40972. {
  40973. if(amount < 1)
  40974. {
  40975. SendClientMessage(playerid, COLOR_WHITE, "You can't deposit less than one.");
  40976. return 1;
  40977. }
  40978. if(PlayerInfo[playerid][pCash] >= amount)
  40979. {
  40980. HouseInfo[PlayerInfo[playerid][pHouse]][hSafeMoney]+=amount;
  40981. PlayerInfo[playerid][pCash] -= amount;
  40982. format(string, sizeof(string), "You have deposited $%d in your house safe.", amount);
  40983. SendClientMessage(playerid, COLOR_YELLOW, string);
  40984. format(string,sizeof(string), "* %s takes out some money and puts it in their house safe.", GetPlayerNameEx(playerid));
  40985. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  40986. SaveHouses();
  40987. OnPlayerStatsUpdate(playerid);
  40988. new ip[32];
  40989. GetPlayerIp(playerid,ip,sizeof(ip));
  40990. format(string,sizeof(string),"%s (IP: %s) has deposited $%d into their house (house ID %d).",GetPlayerNameEx(playerid),ip,amount,PlayerInfo[playerid][pHouse]);
  40991. Log("logs/house.log", string);
  40992. }
  40993. else
  40994. {
  40995. SendClientMessage(playerid, COLOR_WHITE, "You don't have enough money to deposit.");
  40996. }
  40997. }
  40998. else if(strcmp(choice, "Pot", true) == 0)
  40999. {
  41000. if(amount < 1)
  41001. {
  41002. SendClientMessage(playerid, COLOR_WHITE, "You can't deposit less than one.");
  41003. return 1;
  41004. }
  41005. if(PlayerInfo[playerid][pPot] >= amount)
  41006. {
  41007. if(amount + HouseInfo[PlayerInfo[playerid][pHouse]][hPot] > 100000)
  41008. {
  41009. SendClientMessage(playerid, COLOR_GRAD2, " Your house safe is already full of pot!");
  41010. return 1;
  41011. }
  41012. HouseInfo[PlayerInfo[playerid][pHouse]][hPot]+=amount;
  41013. PlayerInfo[playerid][pPot] -= amount;
  41014. format(string, sizeof(string), "You have deposited %d grams of pot in your house safe.", amount);
  41015. SendClientMessage(playerid, COLOR_YELLOW, string);
  41016. format(string,sizeof(string), "* %s takes out some pot and puts it in their house safe.", GetPlayerNameEx(playerid));
  41017. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41018. SaveHouses();
  41019. OnPlayerStatsUpdate(playerid);
  41020. /*new ip[32];
  41021. GetPlayerIp(playerid,ip,sizeof(ip));
  41022. format(string,sizeof(string),"%s (IP: %s) has deposited %d grams of pot into their house (house ID %d).",GetPlayerNameEx(playerid),ip,amount,PlayerInfo[playerid][pHouse]);
  41023. Log("logs/house.log", string);*/
  41024. }
  41025. else
  41026. {
  41027. SendClientMessage(playerid, COLOR_WHITE, "You don't have enough pot to deposit.");
  41028. }
  41029. }
  41030. else if(strcmp(choice, "Materials", true) == 0)
  41031. {
  41032. if(amount < 1)
  41033. {
  41034. SendClientMessage(playerid, COLOR_WHITE, "You can't deposit less than one.");
  41035. return 1;
  41036. }
  41037. if(PlayerInfo[playerid][pMats] >= amount)
  41038. {
  41039. HouseInfo[PlayerInfo[playerid][pHouse]][hMaterials]+=amount;
  41040. PlayerInfo[playerid][pMats] -= amount;
  41041. format(string, sizeof(string), "You have deposited %d materials in your house safe.", amount);
  41042. SendClientMessage(playerid, COLOR_YELLOW, string);
  41043. format(string,sizeof(string), "* %s takes out some materials and puts it in their house safe.", GetPlayerNameEx(playerid));
  41044. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41045. SaveHouses();
  41046. OnPlayerStatsUpdate(playerid);
  41047. new ip[32];
  41048. GetPlayerIp(playerid,ip,sizeof(ip));
  41049. format(string,sizeof(string),"%s (IP: %s) has deposited %d materials into their house (house ID %d).",GetPlayerNameEx(playerid),ip,amount,PlayerInfo[playerid][pHouse]);
  41050. Log("logs/house.log", string);
  41051. }
  41052. else
  41053. {
  41054. SendClientMessage(playerid, COLOR_WHITE, "You don't have enough materials to deposit.");
  41055. }
  41056. }
  41057. else if(strcmp(choice, "Crack", true) == 0)
  41058. {
  41059. if(amount < 1)
  41060. {
  41061. SendClientMessage(playerid, COLOR_WHITE, "You can't deposit less than one.");
  41062. return 1;
  41063. }
  41064. if(PlayerInfo[playerid][pCrack] >= amount)
  41065. {
  41066. if(amount + HouseInfo[PlayerInfo[playerid][pHouse]][hCrack] > 100000)
  41067. {
  41068. SendClientMessage(playerid, COLOR_GRAD2, " Your house safe is already full of crack!");
  41069. return 1;
  41070. }
  41071. HouseInfo[PlayerInfo[playerid][pHouse]][hCrack]+=amount;
  41072. PlayerInfo[playerid][pCrack] -= amount;
  41073. format(string, sizeof(string), "You have deposited %d grams of crack in your house safe.", amount);
  41074. SendClientMessage(playerid, COLOR_YELLOW, string);
  41075. format(string,sizeof(string), "* %s takes out some crack and puts it in their house safe.", GetPlayerNameEx(playerid));
  41076. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41077. SaveHouses();
  41078. OnPlayerStatsUpdate(playerid);
  41079. /*new ip[32];
  41080. GetPlayerIp(playerid,ip,sizeof(ip));
  41081. format(string,sizeof(string),"%s (IP: %s) has deposited %d grams of crack into their house (house ID %d).",GetPlayerNameEx(playerid),ip,amount,PlayerInfo[playerid][pHouse]);
  41082. Log("logs/house.log", string);*/
  41083. }
  41084. else
  41085. {
  41086. SendClientMessage(playerid, COLOR_WHITE, "You don't have enough crack to deposit.");
  41087. }
  41088. }
  41089. else
  41090. {
  41091. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /hdeposit [name] [amount]");
  41092. SendClientMessage(playerid, COLOR_GRAD2, "Available Names: Cash, Pot, Crack, Materials");
  41093. }
  41094. }
  41095. }
  41096. else if(GetPlayerVirtualWorld(playerid) == PlayerInfo[playerid][pHouse2]+60000)
  41097. {
  41098. if(PlayerInfo[playerid][pHouse2] != INVALID_HOUSE_ID)
  41099. {
  41100. if(strcmp(choice, "Cash", true) == 0)
  41101. {
  41102. if(amount < 1)
  41103. {
  41104. SendClientMessage(playerid, COLOR_WHITE, "You can't deposit less than one.");
  41105. return 1;
  41106. }
  41107. if(PlayerInfo[playerid][pCash] >= amount)
  41108. {
  41109. HouseInfo[PlayerInfo[playerid][pHouse2]][hSafeMoney]+=amount;
  41110. PlayerInfo[playerid][pCash] -= amount;
  41111. format(string, sizeof(string), "You have deposited $%d in your house safe.", amount);
  41112. SendClientMessage(playerid, COLOR_YELLOW, string);
  41113. format(string,sizeof(string), "* %s takes out some money and puts it in their house safe.", GetPlayerNameEx(playerid));
  41114. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41115. SaveHouses();
  41116. OnPlayerStatsUpdate(playerid);
  41117. new ip[32];
  41118. GetPlayerIp(playerid,ip,sizeof(ip));
  41119. format(string,sizeof(string),"%s (IP: %s) has deposited $%d into their house (house ID %d).",GetPlayerNameEx(playerid),ip,amount,PlayerInfo[playerid][pHouse2]);
  41120. Log("logs/house.log", string);
  41121. }
  41122. else
  41123. {
  41124. SendClientMessage(playerid, COLOR_WHITE, "You don't have enough money to deposit.");
  41125. }
  41126. }
  41127. else if(strcmp(choice, "Pot", true) == 0)
  41128. {
  41129. if(amount < 1)
  41130. {
  41131. SendClientMessage(playerid, COLOR_WHITE, "You can't deposit less than one.");
  41132. return 1;
  41133. }
  41134. if(PlayerInfo[playerid][pPot] >= amount)
  41135. {
  41136. if(amount + HouseInfo[PlayerInfo[playerid][pHouse2]][hPot] > 100000)
  41137. {
  41138. SendClientMessage(playerid, COLOR_GRAD2, " Your house safe is already full of pot!");
  41139. return 1;
  41140. }
  41141. HouseInfo[PlayerInfo[playerid][pHouse2]][hPot]+=amount;
  41142. PlayerInfo[playerid][pPot] -= amount;
  41143. format(string, sizeof(string), "You have deposited %d grams of pot in your house safe.", amount);
  41144. SendClientMessage(playerid, COLOR_YELLOW, string);
  41145. format(string,sizeof(string), "* %s takes out some pot and puts it in their house safe.", GetPlayerNameEx(playerid));
  41146. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41147. SaveHouses();
  41148. OnPlayerStatsUpdate(playerid);
  41149. /*new ip[32];
  41150. GetPlayerIp(playerid,ip,sizeof(ip));
  41151. format(string,sizeof(string),"%s (IP: %s) has deposited %d grams of pot into their house (house ID %d).",GetPlayerNameEx(playerid),ip,amount,PlayerInfo[playerid][pHouse2]);
  41152. Log("logs/house.log", string);*/
  41153. }
  41154. else
  41155. {
  41156. SendClientMessage(playerid, COLOR_WHITE, "You don't have enough pot to deposit.");
  41157. }
  41158. }
  41159. else if(strcmp(choice, "Materials", true) == 0)
  41160. {
  41161. if(amount < 1)
  41162. {
  41163. SendClientMessage(playerid, COLOR_WHITE, "You can't deposit less than one.");
  41164. return 1;
  41165. }
  41166. if(PlayerInfo[playerid][pMats] >= amount)
  41167. {
  41168. HouseInfo[PlayerInfo[playerid][pHouse2]][hMaterials]+=amount;
  41169. PlayerInfo[playerid][pMats] -= amount;
  41170. format(string, sizeof(string), "You have deposited %d materials in your house safe.", amount);
  41171. SendClientMessage(playerid, COLOR_YELLOW, string);
  41172. format(string,sizeof(string), "* %s takes out some materials and puts it in their house safe.", GetPlayerNameEx(playerid));
  41173. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41174. SaveHouses();
  41175. OnPlayerStatsUpdate(playerid);
  41176. /*new ip[32];
  41177. GetPlayerIp(playerid,ip,sizeof(ip));
  41178. format(string,sizeof(string),"%s (IP: %s) has deposited %d materials into their house (house ID %d).",GetPlayerNameEx(playerid),ip,amount,PlayerInfo[playerid][pHouse2]);
  41179. Log("logs/house.log", string);*/
  41180. }
  41181. else
  41182. {
  41183. SendClientMessage(playerid, COLOR_WHITE, "You don't have enough materials to deposit.");
  41184. }
  41185. }
  41186. else if(strcmp(choice, "Crack", true) == 0)
  41187. {
  41188. if(amount < 1)
  41189. {
  41190. SendClientMessage(playerid, COLOR_WHITE, "You can't deposit less than one.");
  41191. return 1;
  41192. }
  41193. if(PlayerInfo[playerid][pCrack] >= amount)
  41194. {
  41195. if(amount + HouseInfo[PlayerInfo[playerid][pHouse2]][hCrack] > 100000)
  41196. {
  41197. SendClientMessage(playerid, COLOR_GRAD2, " Your house safe is already full of crack!");
  41198. return 1;
  41199. }
  41200. HouseInfo[PlayerInfo[playerid][pHouse2]][hCrack]+=amount;
  41201. PlayerInfo[playerid][pCrack] -= amount;
  41202. format(string, sizeof(string), "You have deposited %d grams of crack in your house safe.", amount);
  41203. SendClientMessage(playerid, COLOR_YELLOW, string);
  41204. format(string,sizeof(string), "* %s takes out some crack and puts it in their house safe.", GetPlayerNameEx(playerid));
  41205. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41206. SaveHouses();
  41207. OnPlayerStatsUpdate(playerid);
  41208. /*new ip[32];
  41209. GetPlayerIp(playerid,ip,sizeof(ip));
  41210. format(string,sizeof(string),"%s (IP: %s) has deposited %d grams of crack into their house (house ID %d).",GetPlayerNameEx(playerid),ip,amount,PlayerInfo[playerid][pHouse2]);
  41211. Log("logs/house.log", string);*/
  41212. }
  41213. else
  41214. {
  41215. SendClientMessage(playerid, COLOR_WHITE, "You don't have enough crack to deposit.");
  41216. }
  41217. }
  41218. else
  41219. {
  41220. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /hdeposit [name] [amount]");
  41221. SendClientMessage(playerid, COLOR_GRAD2, "Available Names: Cash, Pot, Crack, Materials");
  41222. }
  41223. }
  41224. }
  41225. else
  41226. {
  41227. SendClientMessage(playerid, COLOR_WHITE, "You're not in any house");
  41228. }
  41229. return 1;
  41230. }
  41231. CMD:hbalance(playerid, params[])
  41232. {
  41233. if(GetPlayerVirtualWorld(playerid) == PlayerInfo[playerid][pHouse]+60000)
  41234. {
  41235. if(PlayerInfo[playerid][pHouse] != INVALID_HOUSE_ID)
  41236. {
  41237. new weaponsinlocker;
  41238. for(new s = 0; s < 5; s++)
  41239. {
  41240. if(HouseInfo[PlayerInfo[playerid][pHouse]][hWeapons][s] != 0)
  41241. {
  41242. weaponsinlocker++;
  41243. }
  41244. }
  41245. new string[80];
  41246. format(string, sizeof(string), "Gunlocker(s): %d/%d | Cash: $%d | Pot: %d | Crack: %d | Materials: %d", weaponsinlocker,HouseInfo[PlayerInfo[playerid][pHouse]][hGLUpgrade], HouseInfo[PlayerInfo[playerid][pHouse]][hSafeMoney], HouseInfo[PlayerInfo[playerid][pHouse]][hPot], HouseInfo[PlayerInfo[playerid][pHouse]][hCrack], HouseInfo[PlayerInfo[playerid][pHouse]][hMaterials]);
  41247. SendClientMessage(playerid, COLOR_WHITE, string);
  41248. }
  41249. }
  41250. else if(GetPlayerVirtualWorld(playerid) == PlayerInfo[playerid][pHouse2]+60000)
  41251. {
  41252. if(PlayerInfo[playerid][pHouse2] != INVALID_HOUSE_ID)
  41253. {
  41254. new weaponsinlocker;
  41255. for(new s = 0; s < 5; s++)
  41256. {
  41257. if(HouseInfo[PlayerInfo[playerid][pHouse2]][hWeapons][s] != 0)
  41258. {
  41259. weaponsinlocker++;
  41260. }
  41261. }
  41262. new string[80];
  41263. format(string, sizeof(string), "Gunlocker(s): %d/%d | Cash: $%d | Pot: %d | Crack: %d | Materials: %d", weaponsinlocker,HouseInfo[PlayerInfo[playerid][pHouse2]][hGLUpgrade], HouseInfo[PlayerInfo[playerid][pHouse2]][hSafeMoney], HouseInfo[PlayerInfo[playerid][pHouse2]][hPot], HouseInfo[PlayerInfo[playerid][pHouse2]][hCrack], HouseInfo[PlayerInfo[playerid][pHouse2]][hMaterials]);
  41264. SendClientMessage(playerid, COLOR_WHITE, string);
  41265. }
  41266. }
  41267. else
  41268. {
  41269. SendClientMessage(playerid, COLOR_WHITE, "You're not inside a house you own.");
  41270. }
  41271. return 1;
  41272. }
  41273. CMD:getgun(playerid, params[])
  41274. {
  41275. if(AdminDuty[playerid] == 1)
  41276. {
  41277. SendClientMessage(playerid,COLOR_WHITE, "You can't use this command while on-duty as admin.");
  41278. return 1;
  41279. }
  41280. new string[128], slot;
  41281. if(GetPlayerVirtualWorld(playerid) == PlayerInfo[playerid][pHouse]+60000)
  41282. {
  41283. if(PlayerInfo[playerid][pHouse])
  41284. {
  41285. if(PlayerInfo[playerid][pConnectTime] < 2) return SendClientMessage(playerid, COLOR_GRAD2, "You can't use this as you're currently restricted from possessing weapons!");
  41286. if(sscanf(params, "d", slot))
  41287. {
  41288. new weaponname[50];
  41289. SendClientMessage(playerid, COLOR_GREEN, "________________________________________________");
  41290. format(string, sizeof(string), "*** %s's Safe ***", GetPlayerNameEx(playerid));
  41291. SendClientMessage(playerid, COLOR_WHITE, string);
  41292. for(new s = 0; s < 5; s++)
  41293. {
  41294. if(HouseInfo[PlayerInfo[playerid][pHouse]][hWeapons][s] != 0)
  41295. {
  41296. GetWeaponName(HouseInfo[PlayerInfo[playerid][pHouse]][hWeapons][s], weaponname, sizeof(weaponname));
  41297. format(string, sizeof(string), "Slot %d: %s", s+1, weaponname);
  41298. SendClientMessage(playerid, COLOR_WHITE, string);
  41299. }
  41300. }
  41301. SendClientMessage(playerid, COLOR_GREEN, "________________________________________________");
  41302. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /getgun [slot]");
  41303. return 1;
  41304. }
  41305. if(GetPVarInt(playerid, "GiveWeaponTimer") > 0)
  41306. {
  41307. format(string, sizeof(string), " You must wait %d seconds before getting another weapon.", GetPVarInt(playerid, "GiveWeaponTimer"));
  41308. SendClientMessage(playerid,COLOR_GREY,string);
  41309. return 1;
  41310. }
  41311. new maxslots = HouseInfo[PlayerInfo[playerid][pHouse]][hGLUpgrade];
  41312. if(slot > maxslots)
  41313. {
  41314. SendClientMessage(playerid, COLOR_GREY, "Invalid slot.");
  41315. return 1;
  41316. }
  41317. if(HouseInfo[PlayerInfo[playerid][pHouse]][hWeapons][slot-1] != 0)
  41318. {
  41319. new weaponname[50];
  41320. GetWeaponName(HouseInfo[PlayerInfo[playerid][pHouse]][hWeapons][slot-1], weaponname, sizeof(weaponname));
  41321. GivePlayerValidWeapon(playerid, HouseInfo[PlayerInfo[playerid][pHouse]][hWeapons][slot-1], 60000);
  41322. HouseInfo[PlayerInfo[playerid][pHouse]][hWeapons][slot-1] = 0;
  41323. if(strcmp(weaponname, "silenced pistol", true, strlen(weaponname)) == 0)
  41324. {
  41325. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have withdrawn a silenced pistol from your gun locker.");
  41326. format(string,sizeof(string), "* %s has withdrawn a silenced pistol from their house safe.", GetPlayerNameEx(playerid));
  41327. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41328. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41329. }
  41330. if(strcmp(weaponname, "desert eagle", true, strlen(weaponname)) == 0)
  41331. {
  41332. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have withdrawn a Desert Eagle from your gun locker.");
  41333. format(string,sizeof(string), "* %s has withdrawn a Desert Eagle from their house safe.", GetPlayerNameEx(playerid));
  41334. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41335. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41336. }
  41337. if(strcmp(weaponname, "shotgun", true, strlen(weaponname)) == 0)
  41338. {
  41339. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have withdrawn a shotgun from your gun locker.");
  41340. format(string,sizeof(string), "* %s has withdrawn a shotgun from their house safe.", GetPlayerNameEx(playerid));
  41341. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41342. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41343. }
  41344. if(strcmp(weaponname, "combat shotgun", true, strlen(weaponname)) == 0)
  41345. {
  41346. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have withdrawn a combat shotgun from your gun locker.");
  41347. format(string,sizeof(string), "* %s has withdrawn a combat shotgun from their house safe.", GetPlayerNameEx(playerid));
  41348. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41349. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41350. }
  41351. if(strcmp(weaponname, "mp5", true, strlen(weaponname)) == 0)
  41352. {
  41353. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have withdrawn an MP5 from your gun locker.");
  41354. format(string,sizeof(string), "* %s has withdrawn an MP5 from their house safe.", GetPlayerNameEx(playerid));
  41355. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41356. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41357. }
  41358. if(strcmp(weaponname, "ak47", true, strlen(weaponname)) == 0)
  41359. {
  41360. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have withdrawn an AK-47 from your gun locker.");
  41361. format(string,sizeof(string), "* %s has withdrawn an AK-47 from their house safe.", GetPlayerNameEx(playerid));
  41362. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41363. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41364. }
  41365. if(strcmp(weaponname, "m4", true, strlen(weaponname)) == 0)
  41366. {
  41367. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have withdrawn an M4 from your gun locker.");
  41368. format(string,sizeof(string), "* %s has withdrawn an M4 from their house safe.", GetPlayerNameEx(playerid));
  41369. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41370. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41371. }
  41372. if(strcmp(weaponname, "rifle", true, strlen(weaponname)) == 0)
  41373. {
  41374. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have withdrawn a rifle from your gun locker.");
  41375. format(string,sizeof(string), "* %s has withdrawn a rifle from their house safe.", GetPlayerNameEx(playerid));
  41376. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41377. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41378. }
  41379. if(strcmp(weaponname, "sniper rifle", true, strlen(weaponname)) == 0)
  41380. {
  41381. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have withdrawn a sniper rifle from your gun locker.");
  41382. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41383. format(string,sizeof(string), "* %s has withdrawn a sniper rifle from their house safe.", GetPlayerNameEx(playerid));
  41384. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41385. }
  41386. if(strcmp(weaponname, "micro smg", true, strlen(weaponname)) == 0)
  41387. {
  41388. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have withdrawn an uzi from your gun locker.");
  41389. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41390. format(string,sizeof(string), "* %s has withdrawn an uzi from their house safe.", GetPlayerNameEx(playerid));
  41391. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41392. }
  41393. if(strcmp(weaponname, "tec9", true, strlen(weaponname)) == 0)
  41394. {
  41395. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have withdrawn an uzi from your gun locker.");
  41396. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41397. format(string,sizeof(string), "* %s has withdrawn an uzi from their house safe.", GetPlayerNameEx(playerid));
  41398. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41399. }
  41400. SaveHouses();
  41401. PlayerInfo[playerid][pInt] = GetPlayerInterior(playerid);
  41402. PlayerInfo[playerid][pVW] = GetPlayerVirtualWorld(playerid);
  41403. GetPlayerIp(playerid, PlayerInfo[playerid][pIP], 32);
  41404. GetPlayerPos(playerid, PlayerInfo[playerid][pPos_x], PlayerInfo[playerid][pPos_y], PlayerInfo[playerid][pPos_z]);
  41405. GetPlayerFacingAngle(playerid, PlayerInfo[playerid][pPos_r]);
  41406. OnPlayerStatsUpdate(playerid);
  41407. return 1;
  41408. }
  41409. else
  41410. {
  41411. SendClientMessage(playerid, COLOR_WHITE, "You don't have a weapon stored in that slot.");
  41412. return 1;
  41413. }
  41414. }
  41415. }
  41416. else if(GetPlayerVirtualWorld(playerid) == PlayerInfo[playerid][pHouse2]+60000)
  41417. {
  41418. if(PlayerInfo[playerid][pHouse2] != INVALID_HOUSE_ID)
  41419. {
  41420. if(PlayerInfo[playerid][pConnectTime] < 2) return SendClientMessage(playerid, COLOR_GRAD2, "You can't use this as you're currently restricted from possessing weapons!");
  41421. if(sscanf(params, "d", slot))
  41422. {
  41423. new weaponname[50];
  41424. SendClientMessage(playerid, COLOR_GREEN, "________________________________________________");
  41425. format(string, sizeof(string), "*** %s's Safe ***", GetPlayerNameEx(playerid));
  41426. SendClientMessage(playerid, COLOR_WHITE, string);
  41427. for(new s = 0; s < 5; s++)
  41428. {
  41429. if(HouseInfo[PlayerInfo[playerid][pHouse2]][hWeapons][s] != 0)
  41430. {
  41431. GetWeaponName(HouseInfo[PlayerInfo[playerid][pHouse2]][hWeapons][s], weaponname, sizeof(weaponname));
  41432. format(string, sizeof(string), "Slot %d: %s", s+1, weaponname);
  41433. SendClientMessage(playerid, COLOR_WHITE, string);
  41434. }
  41435. }
  41436. SendClientMessage(playerid, COLOR_GREEN, "________________________________________________");
  41437. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /getgun [slot]");
  41438. return 1;
  41439. }
  41440. if(GetPVarInt(playerid, "GiveWeaponTimer") > 0)
  41441. {
  41442. format(string, sizeof(string), " You must wait %d seconds before getting another weapon.", GetPVarInt(playerid, "GiveWeaponTimer"));
  41443. SendClientMessage(playerid,COLOR_GREY,string);
  41444. return 1;
  41445. }
  41446. new maxslots = HouseInfo[PlayerInfo[playerid][pHouse2]][hGLUpgrade];
  41447. if(slot > maxslots)
  41448. {
  41449. SendClientMessage(playerid, COLOR_GREY, "Invalid slot.");
  41450. return 1;
  41451. }
  41452. if(HouseInfo[PlayerInfo[playerid][pHouse2]][hWeapons][slot-1] != 0)
  41453. {
  41454. new weaponname[50];
  41455. GetWeaponName(HouseInfo[PlayerInfo[playerid][pHouse2]][hWeapons][slot-1], weaponname, sizeof(weaponname));
  41456. GivePlayerValidWeapon(playerid, HouseInfo[PlayerInfo[playerid][pHouse2]][hWeapons][slot-1], 60000);
  41457. HouseInfo[PlayerInfo[playerid][pHouse2]][hWeapons][slot-1] = 0;
  41458. if(strcmp(weaponname, "silenced pistol", true, strlen(weaponname)) == 0)
  41459. {
  41460. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have withdrawn a silenced pistol from your gun locker.");
  41461. format(string,sizeof(string), "* %s has withdrawn a silenced pistol from their house safe.", GetPlayerNameEx(playerid));
  41462. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41463. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41464. }
  41465. if(strcmp(weaponname, "desert eagle", true, strlen(weaponname)) == 0)
  41466. {
  41467. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have withdrawn a Desert Eagle from your gun locker.");
  41468. format(string,sizeof(string), "* %s has withdrawn a Desert Eagle from their house safe.", GetPlayerNameEx(playerid));
  41469. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41470. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41471. }
  41472. if(strcmp(weaponname, "shotgun", true, strlen(weaponname)) == 0)
  41473. {
  41474. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have withdrawn a shotgun from your gun locker.");
  41475. format(string,sizeof(string), "* %s has withdrawn a shotgun from their house safe.", GetPlayerNameEx(playerid));
  41476. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41477. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41478. }
  41479. if(strcmp(weaponname, "combat shotgun", true, strlen(weaponname)) == 0)
  41480. {
  41481. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have withdrawn a combat shotgun from your gun locker.");
  41482. format(string,sizeof(string), "* %s has withdrawn a combat shotgun from their house safe.", GetPlayerNameEx(playerid));
  41483. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41484. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41485. }
  41486. if(strcmp(weaponname, "mp5", true, strlen(weaponname)) == 0)
  41487. {
  41488. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have withdrawn an MP5 from your gun locker.");
  41489. format(string,sizeof(string), "* %s has withdrawn an MP5 from their house safe.", GetPlayerNameEx(playerid));
  41490. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41491. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41492. }
  41493. if(strcmp(weaponname, "ak47", true, strlen(weaponname)) == 0)
  41494. {
  41495. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have withdrawn an AK-47 from your gun locker.");
  41496. format(string,sizeof(string), "* %s has withdrawn an AK-47 from their house safe.", GetPlayerNameEx(playerid));
  41497. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41498. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41499. }
  41500. if(strcmp(weaponname, "m4", true, strlen(weaponname)) == 0)
  41501. {
  41502. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have withdrawn an M4 from your gun locker.");
  41503. format(string,sizeof(string), "* %s has withdrawn an M4 from their house safe.", GetPlayerNameEx(playerid));
  41504. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41505. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41506. }
  41507. if(strcmp(weaponname, "rifle", true, strlen(weaponname)) == 0)
  41508. {
  41509. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have withdrawn a rifle from your gun locker.");
  41510. format(string,sizeof(string), "* %s has withdrawn a rifle from their house safe.", GetPlayerNameEx(playerid));
  41511. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41512. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41513. }
  41514. if(strcmp(weaponname, "sniper rifle", true, strlen(weaponname)) == 0)
  41515. {
  41516. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have withdrawn a sniper rifle from your gun locker.");
  41517. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41518. format(string,sizeof(string), "* %s has withdrawn a sniper rifle from their house safe.", GetPlayerNameEx(playerid));
  41519. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41520. }
  41521. if(strcmp(weaponname, "micro smg", true, strlen(weaponname)) == 0)
  41522. {
  41523. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have withdrawn an uzi from your gun locker.");
  41524. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41525. format(string,sizeof(string), "* %s has withdrawn an uzi from their house safe.", GetPlayerNameEx(playerid));
  41526. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41527. }
  41528. if(strcmp(weaponname, "tec9", true, strlen(weaponname)) == 0)
  41529. {
  41530. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have withdrawn an uzi from your gun locker.");
  41531. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41532. format(string,sizeof(string), "* %s has withdrawn an uzi from their house safe.", GetPlayerNameEx(playerid));
  41533. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41534. }
  41535. SaveHouses();
  41536. PlayerInfo[playerid][pInt] = GetPlayerInterior(playerid);
  41537. PlayerInfo[playerid][pVW] = GetPlayerVirtualWorld(playerid);
  41538. GetPlayerIp(playerid, PlayerInfo[playerid][pIP], 32);
  41539. GetPlayerPos(playerid, PlayerInfo[playerid][pPos_x], PlayerInfo[playerid][pPos_y], PlayerInfo[playerid][pPos_z]);
  41540. GetPlayerFacingAngle(playerid, PlayerInfo[playerid][pPos_r]);
  41541. OnPlayerStatsUpdate(playerid);
  41542. return 1;
  41543. }
  41544. else
  41545. {
  41546. SendClientMessage(playerid, COLOR_WHITE, "You don't have a weapon stored in that slot.");
  41547. return 1;
  41548. }
  41549. }
  41550. }
  41551. else
  41552. {
  41553. SendClientMessage(playerid, COLOR_WHITE, "You're not in any house");
  41554. }
  41555. return 1;
  41556. }
  41557. CMD:storegun(playerid, params[])
  41558. {
  41559. if(AdminDuty[playerid] == 1)
  41560. {
  41561. SendClientMessage(playerid,COLOR_WHITE, "You can't use this command while on-duty as admin.");
  41562. return 1;
  41563. }
  41564. if(GetPVarInt(playerid, "PBM") > 0)
  41565. {
  41566. SendClientMessage(playerid, COLOR_WHITE, "You're not able to do this while in a paintball game.");
  41567. return 1;
  41568. }
  41569. if(GetPVarInt(playerid, "EventToken") != 0)
  41570. {
  41571. SendClientMessage(playerid, COLOR_GREY, "You can't use this while you're in an event.");
  41572. return 1;
  41573. }
  41574. new string[128], weaponchoice[32], slot;
  41575. if(sscanf(params, "s[32]d", weaponchoice, slot)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /storegun [weapon] [slot]");
  41576. if(GetPlayerVirtualWorld(playerid) == PlayerInfo[playerid][pHouse]+60000)
  41577. {
  41578. if(PlayerInfo[playerid][pHouse] != INVALID_HOUSE_ID)
  41579. {
  41580. if(GetPVarInt(playerid, "GiveWeaponTimer") > 0)
  41581. {
  41582. format(string, sizeof(string), " You must wait %d seconds before depositing another weapon.", GetPVarInt(playerid, "GiveWeaponTimer"));
  41583. SendClientMessage(playerid,COLOR_GREY,string);
  41584. return 1;
  41585. }
  41586. new maxslots = HouseInfo[PlayerInfo[playerid][pHouse]][hGLUpgrade];
  41587. if(slot > maxslots)
  41588. {
  41589. SendClientMessage(playerid, COLOR_GREY, "Invalid slot.");
  41590. return 1;
  41591. }
  41592. if(HouseInfo[PlayerInfo[playerid][pHouse]][hWeapons][slot-1] != 0)
  41593. {
  41594. SendClientMessage(playerid, COLOR_GREY, "You have a weapon stored in that slot already.");
  41595. return 1;
  41596. }
  41597. new weapon;
  41598. if(strcmp(weaponchoice, "sdpistol", true, strlen(weaponchoice)) == 0)
  41599. {
  41600. if(PlayerInfo[playerid][pGuns][2] == 23 && PlayerInfo[playerid][pAGuns][2] == 0)
  41601. {
  41602. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited a silenced pistol into your gun locker.");
  41603. weapon = PlayerInfo[playerid][pGuns][2];
  41604. format(string,sizeof(string), "* %s deposited their silenced pistol in their house safe.", GetPlayerNameEx(playerid));
  41605. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41606. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41607. }
  41608. }
  41609. else if(strcmp(weaponchoice, "deagle", true, strlen(weaponchoice)) == 0)
  41610. {
  41611. if(PlayerInfo[playerid][pGuns][2] == 24 && PlayerInfo[playerid][pAGuns][2] == 0)
  41612. {
  41613. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited a Desert Eagle in your gun locker.");
  41614. weapon = PlayerInfo[playerid][pGuns][2];
  41615. format(string,sizeof(string), "* %s deposited their Desert Eagle in their house safe.", GetPlayerNameEx(playerid));
  41616. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41617. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41618. }
  41619. }
  41620. else if(strcmp(weaponchoice, "shotgun", true, strlen(weaponchoice)) == 0)
  41621. {
  41622. if(PlayerInfo[playerid][pGuns][3] == 25 && PlayerInfo[playerid][pAGuns][3] == 0)
  41623. {
  41624. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited a shotgun in your gun locker.");
  41625. weapon = PlayerInfo[playerid][pGuns][3];
  41626. format(string,sizeof(string), "* %s deposited their Shotgun in their house safe.", GetPlayerNameEx(playerid));
  41627. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41628. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41629. }
  41630. }
  41631. else if(strcmp(weaponchoice, "spas12", true, strlen(weaponchoice)) == 0)
  41632. {
  41633. if(PlayerInfo[playerid][pGuns][3] == 27 && PlayerInfo[playerid][pAGuns][3] == 0)
  41634. {
  41635. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited a combat shotgun in your gun locker.");
  41636. weapon = PlayerInfo[playerid][pGuns][3];
  41637. format(string,sizeof(string), "* %s deposited their Combat Shotgun in their house safe.", GetPlayerNameEx(playerid));
  41638. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41639. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41640. }
  41641. }
  41642. else if(strcmp(weaponchoice, "mp5", true, strlen(weaponchoice)) == 0)
  41643. {
  41644. if(PlayerInfo[playerid][pGuns][4] == 29 && PlayerInfo[playerid][pAGuns][4] == 0)
  41645. {
  41646. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited an MP5 in your gun locker.");
  41647. weapon = PlayerInfo[playerid][pGuns][4];
  41648. format(string,sizeof(string), "* %s deposited their MP5 in their house safe.", GetPlayerNameEx(playerid));
  41649. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41650. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41651. }
  41652. }
  41653. else if(strcmp(weaponchoice, "ak47", true, strlen(weaponchoice)) == 0)
  41654. {
  41655. if(PlayerInfo[playerid][pGuns][5] == 30 && PlayerInfo[playerid][pAGuns][5] == 0)
  41656. {
  41657. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited an AK-47 in your gun locker.");
  41658. weapon = PlayerInfo[playerid][pGuns][5];
  41659. format(string,sizeof(string), "* %s deposited their AK-47 in their house safe.", GetPlayerNameEx(playerid));
  41660. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41661. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41662. }
  41663. }
  41664. else if(strcmp(weaponchoice, "m4", true, strlen(weaponchoice)) == 0)
  41665. {
  41666. if(PlayerInfo[playerid][pGuns][5] == 31 && PlayerInfo[playerid][pAGuns][5] == 0)
  41667. {
  41668. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited an M4 in your gun locker.");
  41669. weapon = PlayerInfo[playerid][pGuns][5];
  41670. format(string,sizeof(string), "* %s deposited their M4 in their house safe.", GetPlayerNameEx(playerid));
  41671. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41672. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41673. }
  41674. }
  41675. else if(strcmp(weaponchoice, "rifle", true, strlen(weaponchoice)) == 0)
  41676. {
  41677. if(PlayerInfo[playerid][pGuns][6] == 33 && PlayerInfo[playerid][pAGuns][6] == 0)
  41678. {
  41679. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited a rifle in your gun locker.");
  41680. weapon = PlayerInfo[playerid][pGuns][6];
  41681. format(string,sizeof(string), "* %s deposited their riflein their house safe.", GetPlayerNameEx(playerid));
  41682. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41683. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41684. }
  41685. }
  41686. else if(strcmp(weaponchoice, "sniper", true, strlen(weaponchoice)) == 0)
  41687. {
  41688. if(PlayerInfo[playerid][pGuns][6] == 34 && PlayerInfo[playerid][pAGuns][6] == 0)
  41689. {
  41690. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited a sniper rifle in your gun locker.");
  41691. weapon = PlayerInfo[playerid][pGuns][6];
  41692. format(string,sizeof(string), "* %s deposited their sniper rifle in their house safe.", GetPlayerNameEx(playerid));
  41693. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41694. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41695. }
  41696. }
  41697. else if(strcmp(weaponchoice, "uzi", true, strlen(weaponchoice)) == 0)
  41698. {
  41699. if(PlayerInfo[playerid][pGuns][4] == 28 && PlayerInfo[playerid][pAGuns][4] == 0)
  41700. {
  41701. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited an uzi in your gun locker.");
  41702. weapon = PlayerInfo[playerid][pGuns][4];
  41703. format(string,sizeof(string), "* %s deposited their uzi in their house safe.", GetPlayerNameEx(playerid));
  41704. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41705. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41706. }
  41707. }
  41708. else if(strcmp(weaponchoice, "tec9", true, strlen(weaponchoice)) == 0)
  41709. {
  41710. if(PlayerInfo[playerid][pGuns][4] == 32 && PlayerInfo[playerid][pAGuns][4] == 0)
  41711. {
  41712. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited a tec9 in your gun locker.");
  41713. weapon = PlayerInfo[playerid][pGuns][4];
  41714. format(string,sizeof(string), "* %s deposited their tec9 in their house safe.", GetPlayerNameEx(playerid));
  41715. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41716. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41717. }
  41718. }
  41719. if(weapon == 0) return SendClientMessage(playerid, COLOR_GREY, "You don't have that weapon.");
  41720. if(HouseInfo[PlayerInfo[playerid][pHouse]][hWeapons][slot-1] == 0)
  41721. {
  41722. HouseInfo[PlayerInfo[playerid][pHouse]][hWeapons][slot-1] = weapon;
  41723. RemovePlayerWeapon(playerid, weapon);
  41724. SaveHouses();
  41725. PlayerInfo[playerid][pInt] = GetPlayerInterior(playerid);
  41726. PlayerInfo[playerid][pVW] = GetPlayerVirtualWorld(playerid);
  41727. GetPlayerIp(playerid, PlayerInfo[playerid][pIP], 32);
  41728. GetPlayerPos(playerid, PlayerInfo[playerid][pPos_x], PlayerInfo[playerid][pPos_y], PlayerInfo[playerid][pPos_z]);
  41729. GetPlayerFacingAngle(playerid, PlayerInfo[playerid][pPos_r]);
  41730. OnPlayerStatsUpdate(playerid);
  41731. return 1;
  41732. }
  41733. else { SendClientMessage(playerid,COLOR_GREY," Invalid weapon name!"); return 1; }
  41734. }
  41735. }
  41736. else if(GetPlayerVirtualWorld(playerid) == PlayerInfo[playerid][pHouse2]+60000)
  41737. {
  41738. if(PlayerInfo[playerid][pHouse2] != INVALID_HOUSE_ID)
  41739. {
  41740. if(GetPVarInt(playerid, "GiveWeaponTimer") > 0)
  41741. {
  41742. format(string, sizeof(string), " You must wait %d seconds before depositing another weapon.", GetPVarInt(playerid, "GiveWeaponTimer"));
  41743. SendClientMessage(playerid,COLOR_GREY,string);
  41744. return 1;
  41745. }
  41746. new maxslots = HouseInfo[PlayerInfo[playerid][pHouse2]][hGLUpgrade];
  41747. if(slot > maxslots)
  41748. {
  41749. SendClientMessage(playerid, COLOR_GREY, "Invalid slot.");
  41750. return 1;
  41751. }
  41752. if(HouseInfo[PlayerInfo[playerid][pHouse2]][hWeapons][slot-1] != 0)
  41753. {
  41754. SendClientMessage(playerid, COLOR_GREY, "You have a weapon stored in that slot already.");
  41755. return 1;
  41756. }
  41757. new weapon;
  41758. if(strcmp(weaponchoice, "sdpistol", true, strlen(weaponchoice)) == 0)
  41759. {
  41760. if(PlayerInfo[playerid][pGuns][2] == 23 && PlayerInfo[playerid][pAGuns][2] == 0)
  41761. {
  41762. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited a silenced pistol into your gun locker.");
  41763. weapon = PlayerInfo[playerid][pGuns][2];
  41764. format(string,sizeof(string), "* %s deposited their silenced pistol in their house safe.", GetPlayerNameEx(playerid));
  41765. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41766. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41767. }
  41768. }
  41769. else if(strcmp(weaponchoice, "deagle", true, strlen(weaponchoice)) == 0)
  41770. {
  41771. if(PlayerInfo[playerid][pGuns][2] == 24 && PlayerInfo[playerid][pAGuns][2] == 0)
  41772. {
  41773. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited a Desert Eagle in your gun locker.");
  41774. weapon = PlayerInfo[playerid][pGuns][2];
  41775. format(string,sizeof(string), "* %s deposited their Desert Eagle in their house safe.", GetPlayerNameEx(playerid));
  41776. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41777. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41778. }
  41779. }
  41780. else if(strcmp(weaponchoice, "shotgun", true, strlen(weaponchoice)) == 0)
  41781. {
  41782. if(PlayerInfo[playerid][pGuns][3] == 25 && PlayerInfo[playerid][pAGuns][3] == 0)
  41783. {
  41784. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited a shotgun in your gun locker.");
  41785. weapon = PlayerInfo[playerid][pGuns][3];
  41786. format(string,sizeof(string), "* %s deposited their Shotgun in their house safe.", GetPlayerNameEx(playerid));
  41787. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41788. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41789. }
  41790. }
  41791. else if(strcmp(weaponchoice, "spas12", true, strlen(weaponchoice)) == 0)
  41792. {
  41793. if(PlayerInfo[playerid][pGuns][3] == 27 && PlayerInfo[playerid][pAGuns][3] == 0)
  41794. {
  41795. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited a combat shotgun in your gun locker.");
  41796. weapon = PlayerInfo[playerid][pGuns][3];
  41797. format(string,sizeof(string), "* %s deposited their Combat Shotgun in their house safe.", GetPlayerNameEx(playerid));
  41798. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41799. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41800. }
  41801. }
  41802. else if(strcmp(weaponchoice, "mp5", true, strlen(weaponchoice)) == 0)
  41803. {
  41804. if(PlayerInfo[playerid][pGuns][4] == 29 && PlayerInfo[playerid][pAGuns][4] == 0)
  41805. {
  41806. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited an MP5 in your gun locker.");
  41807. weapon = PlayerInfo[playerid][pGuns][4];
  41808. format(string,sizeof(string), "* %s deposited their MP5 in their house safe.", GetPlayerNameEx(playerid));
  41809. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41810. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41811. }
  41812. }
  41813. else if(strcmp(weaponchoice, "ak47", true, strlen(weaponchoice)) == 0)
  41814. {
  41815. if(PlayerInfo[playerid][pGuns][5] == 30 && PlayerInfo[playerid][pAGuns][5] == 0)
  41816. {
  41817. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited an AK-47 in your gun locker.");
  41818. weapon = PlayerInfo[playerid][pGuns][5];
  41819. format(string,sizeof(string), "* %s deposited their AK-47 in their house safe.", GetPlayerNameEx(playerid));
  41820. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41821. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41822. }
  41823. }
  41824. else if(strcmp(weaponchoice, "m4", true, strlen(weaponchoice)) == 0)
  41825. {
  41826. if(PlayerInfo[playerid][pGuns][5] == 31 && PlayerInfo[playerid][pAGuns][5] == 0)
  41827. {
  41828. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited an M4 in your gun locker.");
  41829. weapon = PlayerInfo[playerid][pGuns][5];
  41830. format(string,sizeof(string), "* %s deposited their M4 in their house safe.", GetPlayerNameEx(playerid));
  41831. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41832. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41833. }
  41834. }
  41835. else if(strcmp(weaponchoice, "rifle", true, strlen(weaponchoice)) == 0)
  41836. {
  41837. if(PlayerInfo[playerid][pGuns][6] == 33 && PlayerInfo[playerid][pAGuns][6] == 0)
  41838. {
  41839. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited a rifle in your gun locker.");
  41840. weapon = PlayerInfo[playerid][pGuns][6];
  41841. format(string,sizeof(string), "* %s deposited their riflein their house safe.", GetPlayerNameEx(playerid));
  41842. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41843. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41844. }
  41845. }
  41846. else if(strcmp(weaponchoice, "sniper", true, strlen(weaponchoice)) == 0)
  41847. {
  41848. if(PlayerInfo[playerid][pGuns][6] == 34 && PlayerInfo[playerid][pAGuns][6] == 0)
  41849. {
  41850. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited a sniper rifle in your gun locker.");
  41851. weapon = PlayerInfo[playerid][pGuns][6];
  41852. format(string,sizeof(string), "* %s deposited their sniper rifle in their house safe.", GetPlayerNameEx(playerid));
  41853. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41854. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41855. }
  41856. }
  41857. else if(strcmp(weaponchoice, "uzi", true, strlen(weaponchoice)) == 0)
  41858. {
  41859. if(PlayerInfo[playerid][pGuns][4] == 28 && PlayerInfo[playerid][pAGuns][4] == 0)
  41860. {
  41861. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited an uzi in your gun locker.");
  41862. weapon = PlayerInfo[playerid][pGuns][4];
  41863. format(string,sizeof(string), "* %s deposited their uzi in their house safe.", GetPlayerNameEx(playerid));
  41864. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41865. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41866. }
  41867. }
  41868. else if(strcmp(weaponchoice, "tec9", true, strlen(weaponchoice)) == 0)
  41869. {
  41870. if(PlayerInfo[playerid][pGuns][4] == 29 && PlayerInfo[playerid][pAGuns][4] == 0)
  41871. {
  41872. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have deposited a tec9 in your gun locker.");
  41873. weapon = PlayerInfo[playerid][pGuns][4];
  41874. format(string,sizeof(string), "* %s deposited their tec9 in their house safe.", GetPlayerNameEx(playerid));
  41875. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  41876. SetPVarInt(playerid, "GiveWeaponTimer", 10); SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  41877. }
  41878. }
  41879. if(weapon == 0) return SendClientMessage(playerid, COLOR_GREY, "You don't have that weapon.");
  41880. if(HouseInfo[PlayerInfo[playerid][pHouse2]][hWeapons][slot-1] == 0)
  41881. {
  41882. HouseInfo[PlayerInfo[playerid][pHouse2]][hWeapons][slot-1] = weapon;
  41883. RemovePlayerWeapon(playerid, weapon);
  41884. SaveHouses();
  41885. PlayerInfo[playerid][pInt] = GetPlayerInterior(playerid);
  41886. PlayerInfo[playerid][pVW] = GetPlayerVirtualWorld(playerid);
  41887. GetPlayerIp(playerid, PlayerInfo[playerid][pIP], 32);
  41888. GetPlayerPos(playerid, PlayerInfo[playerid][pPos_x], PlayerInfo[playerid][pPos_y], PlayerInfo[playerid][pPos_z]);
  41889. GetPlayerFacingAngle(playerid, PlayerInfo[playerid][pPos_r]);
  41890. OnPlayerStatsUpdate(playerid);
  41891. return 1;
  41892. }
  41893. else { SendClientMessage(playerid,COLOR_GREY," Invalid weapon name!"); return 1; }
  41894. }
  41895. }
  41896. else
  41897. {
  41898. SendClientMessage(playerid, COLOR_WHITE, "You're not in any house");
  41899. }
  41900. return 1;
  41901. }
  41902. CMD:home(playerid, params[])
  41903. {
  41904. if(CheckPointCheck(playerid))
  41905. {
  41906. SendClientMessage(playerid, COLOR_WHITE, "Please ensure that your current checkpoint is destroyed first (you either have material packages, or another existing checkpoint).");
  41907. return 1;
  41908. }
  41909. if(PlayerInfo[playerid][pHouse] != INVALID_HOUSE_ID)
  41910. {
  41911. SetPlayerCheckpoint(playerid,HouseInfo[PlayerInfo[playerid][pHouse]][hExteriorX], HouseInfo[PlayerInfo[playerid][pHouse]][hExteriorY], HouseInfo[PlayerInfo[playerid][pHouse]][hExteriorZ], 4.0);
  41912. GameTextForPlayer(playerid, "~w~Waypoint set ~r~Home", 5000, 1);
  41913. gPlayerCheckpointStatus[playerid] = CHECKPOINT_HOME;
  41914. }
  41915. else
  41916. {
  41917. GameTextForPlayer(playerid, "~w~You're homeless", 5000, 1);
  41918. }
  41919. return 1;
  41920. }
  41921. CMD:houseinvite(playerid, params[])
  41922. {
  41923. new giveplayerid;
  41924. if(PlayerInfo[playerid][pHouse] == INVALID_HOUSE_ID)
  41925. {
  41926. SendClientMessage(playerid, COLOR_WHITE, "You don't own a house.");
  41927. return 1;
  41928. }
  41929. else
  41930. {
  41931. if(sscanf(params, "u", giveplayerid)) SendClientMessage(playerid, COLOR_WHITE, "USAGE: /houseinvite [playerid/partofname]");
  41932. if(giveplayerid == playerid)
  41933. {
  41934. SendClientMessage(playerid, COLOR_WHITE, "You can't /houseinvite yourself!");
  41935. return 1;
  41936. }
  41937. if(giveplayerid != INVALID_PLAYER_ID)
  41938. {
  41939. new string[59 + MAX_PLAYER_NAME];
  41940. hInviteHouse[giveplayerid] = PlayerInfo[playerid][pHouse];
  41941. hInviteOffer[giveplayerid] = playerid;
  41942. format(string, sizeof(string), " %s has invited you to their house (type /accept invite).", GetPlayerNameEx(playerid));
  41943. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  41944. format(string, sizeof(string), " You have invited %s to your house.", GetPlayerNameEx(giveplayerid));
  41945. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  41946. }
  41947. else SendClientMessage(playerid, COLOR_GRAD2, "Invalid player specified.");
  41948. }
  41949. return 1;
  41950. }
  41951. CMD:setvw(playerid, params[])
  41952. {
  41953. if(PlayerInfo[playerid][pAdmin] >= 2)
  41954. {
  41955. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  41956. {
  41957. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  41958. return 1;
  41959. }
  41960. new string[128], giveplayerid, vw;
  41961. if(sscanf(params, "ud", giveplayerid, vw)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setvw [playerid/partofname] [virtual world]");
  41962. if(IsPlayerConnected(giveplayerid))
  41963. {
  41964. PlayerInfo[giveplayerid][pVW] = vw;
  41965. SetPlayerVirtualWorld(giveplayerid, vw);
  41966. format(string, sizeof(string), "You have set %s's virtual world to %d.", GetPlayerNameEx(giveplayerid), vw);
  41967. SendClientMessage(playerid, COLOR_GRAD2, string);
  41968. }
  41969. }
  41970. else
  41971. {
  41972. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  41973. }
  41974. return 1;
  41975. }
  41976. CMD:setint(playerid, params[])
  41977. {
  41978. if(PlayerInfo[playerid][pAdmin] >= 2)
  41979. {
  41980. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  41981. {
  41982. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  41983. return 1;
  41984. }
  41985. new string[128], giveplayerid, int;
  41986. if(sscanf(params, "ud", giveplayerid, int)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setint [playerid/partofname] [interiorid]");
  41987. if(IsPlayerConnected(giveplayerid))
  41988. {
  41989. if(PlayerInfo[giveplayerid][pAdmin] <= PlayerInfo[playerid][pAdmin]) {
  41990. PlayerInfo[giveplayerid][pInt] = int;
  41991. SetPlayerInterior(giveplayerid, int);
  41992. format(string, sizeof(string), "You have set %s's interior to %d.", GetPlayerNameEx(giveplayerid), int);
  41993. SendClientMessage(playerid, COLOR_GRAD2, string);
  41994. } else return SendClientMessage(playerid, COLOR_GRAD1, "You can't execute this command on equal or higher level admins.");
  41995. }
  41996. }
  41997. else
  41998. {
  41999. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  42000. }
  42001. return 1;
  42002. }
  42003. CMD:setskin(playerid, params[]) {
  42004. if(PlayerInfo[playerid][pAdmin] >= 3) {
  42005. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  42006. return SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  42007. new
  42008. string[128],
  42009. giveplayerid,
  42010. skinid;
  42011. if(sscanf(params, "ud", giveplayerid, skinid))
  42012. return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setskin [playerid/partofname] [skinid]");
  42013. if(giveplayerid != INVALID_PLAYER_ID) {
  42014. if(!IsInvalidSkin(skinid)) {
  42015. if(GetPlayerSkin(giveplayerid) == skinid)
  42016. return SendClientMessage(playerid, COLOR_WHITE, "That player is already wearing the skin you chose.");
  42017. if(AdminDuty[giveplayerid] == 0 || giveplayerid == playerid) {
  42018. PlayerInfo[giveplayerid][pSkin] = skinid;
  42019. format(string, sizeof(string), "Your skin has been changed to ID %d by Admin %s.", skinid, GetPlayerNameEx(playerid));
  42020. SendClientMessage(giveplayerid, COLOR_WHITE, string);
  42021. format(string, sizeof(string), "You have given %s skin ID %d.", GetPlayerNameEx(giveplayerid), skinid);
  42022. SendClientMessage(playerid, COLOR_WHITE, string);
  42023. SetPlayerSkin(giveplayerid, PlayerInfo[giveplayerid][pSkin]);
  42024. } else return SendClientMessage(playerid, COLOR_GRAD1, "You can't set skins for on-duty admins, unless you're setting your own skin.");
  42025. }
  42026. else return SendClientMessage(playerid, COLOR_GREY, "Invalid skin ID!");
  42027. }
  42028. }
  42029. else return SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  42030. return 1;
  42031. }
  42032. CMD:gotoid(playerid, params[])
  42033. {
  42034. new giveplayerid;
  42035. if(sscanf(params, "u", giveplayerid))
  42036. return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /gotoid [playerid/partofname]");
  42037. new Float:plocx,Float:plocy,Float:plocz;
  42038. if(IsPlayerConnected(giveplayerid))
  42039. {
  42040. if(PlayerInfo[playerid][pAdmin] >= 2)
  42041. {
  42042. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  42043. {
  42044. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  42045. return 1;
  42046. }
  42047. if(GetPlayerState(giveplayerid) == PLAYER_STATE_SPECTATING)
  42048. {
  42049. SendClientMessage(playerid, COLOR_GRAD2, "That player is spectating someone.");
  42050. return 1;
  42051. }
  42052. if(GetPlayerState(playerid) == PLAYER_STATE_SPECTATING)
  42053. {
  42054. SendClientMessage(playerid, COLOR_GRAD2, "You can't do this while spectating.");
  42055. return 1;
  42056. }
  42057. GetPlayerPos(giveplayerid, plocx, plocy, plocz);
  42058. Streamer_UpdateEx(playerid, plocx, plocy, plocz);
  42059. if(GetPlayerState(playerid) == 2)
  42060. {
  42061. new tmpcar = GetPlayerVehicleID(playerid);
  42062. SetVehiclePos(tmpcar, plocx, plocy+4, plocz);
  42063. TelePos[playerid][0] = 0.0;TelePos[playerid][1] = 0.0;
  42064. fVehSpeed[playerid] = 0.0;
  42065. }
  42066. else
  42067. {
  42068. SetPlayerPos(playerid,plocx,plocy+2, plocz);
  42069. }
  42070. SetPlayerInterior(playerid, GetPlayerInterior(giveplayerid));
  42071. SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(giveplayerid));
  42072. new giveplayeridvw = GetPlayerVirtualWorld(giveplayerid);
  42073. new giveplayerint = GetPlayerInterior(giveplayerid);
  42074. PlayerInfo[playerid][pVW] = giveplayeridvw;
  42075. PlayerInfo[playerid][pInt] = giveplayerint;
  42076. SendClientMessage(playerid, COLOR_WHITE, "You have been teleported!");
  42077. }
  42078. else
  42079. {
  42080. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  42081. }
  42082. }
  42083. else SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  42084. return 1;
  42085. }
  42086. CMD:gethere(playerid, params[])
  42087. {
  42088. new giveplayerid;
  42089. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /gethere [playerid/partofname]");
  42090. new Float:plocx,Float:plocy,Float:plocz;
  42091. if(IsPlayerConnected(giveplayerid))
  42092. {
  42093. if(PlayerInfo[giveplayerid][pAdmin] >= PlayerInfo[playerid][pAdmin] && AdminDuty[giveplayerid] == 1)
  42094. {
  42095. SendClientMessage(playerid, COLOR_WHITE, "You can't perform this action on an equal or higher level admin that is on-duty.");
  42096. return 1;
  42097. }
  42098. if(PlayerInfo[playerid][pAdmin] >= 2)
  42099. {
  42100. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  42101. {
  42102. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  42103. return 1;
  42104. }
  42105. if(GetPlayerState(giveplayerid) == PLAYER_STATE_SPECTATING)
  42106. {
  42107. SendClientMessage(playerid, COLOR_GRAD2, "That player is spectating someone.");
  42108. return 1;
  42109. }
  42110. GetPlayerPos(playerid, plocx, plocy, plocz);
  42111. Streamer_UpdateEx(giveplayerid, plocx, plocy, plocz);
  42112. SetPVarInt(playerid, "BeingTeleported", 1);
  42113. if(GetPlayerState(giveplayerid) == 2)
  42114. {
  42115. TelePos[giveplayerid][0] = 0.0;
  42116. TelePos[giveplayerid][1] = 0.0;
  42117. fVehSpeed[giveplayerid] = 0.0;
  42118. new tmpcar = GetPlayerVehicleID(giveplayerid);
  42119. SetVehiclePos(tmpcar, plocx, plocy+4, plocz);
  42120. LinkVehicleToInterior(GetPlayerVehicleID(giveplayerid), GetPlayerInterior(playerid));
  42121. SetPlayerInterior(giveplayerid, GetPlayerInterior(playerid));
  42122. SetVehicleVirtualWorld(GetPlayerVehicleID(giveplayerid), GetPlayerVirtualWorld(playerid));
  42123. SetPlayerVirtualWorld(giveplayerid, GetPlayerVirtualWorld(playerid));
  42124. }
  42125. else
  42126. {
  42127. SetPlayerPos(giveplayerid,plocx,plocy+2, plocz);
  42128. }
  42129. SetPlayerInterior(giveplayerid, GetPlayerInterior(playerid));
  42130. SetPlayerVirtualWorld(giveplayerid, GetPlayerVirtualWorld(playerid));
  42131. new playeridvw = GetPlayerVirtualWorld(playerid);
  42132. new playerint = GetPlayerInterior(playerid);
  42133. PlayerInfo[giveplayerid][pVW] = playeridvw;
  42134. PlayerInfo[giveplayerid][pInt] = playerint;
  42135. SendClientMessage(giveplayerid, COLOR_WHITE, "You have been teleported!");
  42136. }
  42137. else
  42138. {
  42139. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  42140. }
  42141. }
  42142. else SendClientMessage(playerid, COLOR_GRAD1, "Invalid player specified.");
  42143. return 1;
  42144. }
  42145. CMD:slap(playerid, params[])
  42146. {
  42147. if(PlayerInfo[playerid][pAdmin] >=2)
  42148. {
  42149. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  42150. {
  42151. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  42152. return 1;
  42153. }
  42154. new string[128], giveplayerid;
  42155. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /slap [playerid/partofname]");
  42156. if(PlayerInfo[giveplayerid][pAdmin] > PlayerInfo[playerid][pAdmin])
  42157. {
  42158. SendClientMessage(playerid,COLOR_WHITE, "You can't slap a higher admin.");
  42159. return 1;
  42160. }
  42161. new
  42162. Float:shealth;
  42163. if(IsPlayerConnected(giveplayerid)) {
  42164. GetPlayerHealth(giveplayerid, shealth);
  42165. SetPlayerHealth(giveplayerid, shealth-5);
  42166. GetPlayerPos(giveplayerid, PlayerInfo[giveplayerid][pPos_x], PlayerInfo[giveplayerid][pPos_y], PlayerInfo[giveplayerid][pPos_z]);
  42167. SetPlayerPos(giveplayerid, PlayerInfo[giveplayerid][pPos_x], PlayerInfo[giveplayerid][pPos_y], PlayerInfo[giveplayerid][pPos_z]+5);
  42168. PlayerPlaySound(giveplayerid, 1130, PlayerInfo[giveplayerid][pPos_x], PlayerInfo[giveplayerid][pPos_y], PlayerInfo[giveplayerid][pPos_z]+5);
  42169. format(string, sizeof(string), "AdmCmd: %s was slapped by %s",GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid));
  42170. ABroadCast(COLOR_LIGHTRED,string,1);
  42171. }
  42172. }
  42173. else
  42174. {
  42175. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  42176. }
  42177. return 1;
  42178. }
  42179. CMD:freeze(playerid, params[])
  42180. {
  42181. if(PlayerInfo[playerid][pAdmin] >= 2)
  42182. {
  42183. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  42184. {
  42185. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  42186. return 1;
  42187. }
  42188. new string[128], giveplayerid;
  42189. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /freeze [playerid/partofname]");
  42190. if(IsPlayerConnected(giveplayerid))
  42191. {
  42192. if(PlayerInfo[giveplayerid][pAdmin] > PlayerInfo[playerid][pAdmin])
  42193. {
  42194. SendClientMessage(playerid, COLOR_GRAD2, "You can't freeze a higher admin.");
  42195. return 1;
  42196. }
  42197. TogglePlayerControllable(giveplayerid, 0);
  42198. SetPVarInt(giveplayerid, "IsFrozen", 1);
  42199. format(string, sizeof(string), "AdmCmd: %s was frozen by %s",GetPlayerNameEx(giveplayerid),GetPlayerNameEx(playerid));
  42200. ABroadCast(COLOR_LIGHTRED,string,1);
  42201. }
  42202. }
  42203. else
  42204. {
  42205. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  42206. }
  42207. return 1;
  42208. }
  42209. CMD:unfreeze(playerid, params[])
  42210. {
  42211. if(PlayerInfo[playerid][pAdmin] >= 2)
  42212. {
  42213. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  42214. {
  42215. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  42216. return 1;
  42217. }
  42218. new string[128], giveplayerid;
  42219. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /unfreeze [playerid/partofname]");
  42220. if(IsPlayerConnected(giveplayerid))
  42221. {
  42222. DeletePVar(giveplayerid, "IsFrozen");
  42223. TogglePlayerControllable(giveplayerid, 1);
  42224. format(string, sizeof(string), "AdmCmd: %s was unfrozen by %s",GetPlayerNameEx(giveplayerid),GetPlayerNameEx(playerid));
  42225. ABroadCast(COLOR_LIGHTRED,string,1);
  42226. }
  42227. else
  42228. {
  42229. SendClientMessage(playerid, COLOR_WHITE, "Invalid player specified.");
  42230. }
  42231. }
  42232. else
  42233. {
  42234. SendClientMessage(playerid, COLOR_GRAD1, "You're not authorized to use that command!");
  42235. }
  42236. return 1;
  42237. }
  42238. CMD:spec(playerid, params[])
  42239. {
  42240. if(PlayerInfo[playerid][pAdmin] < 2)
  42241. {
  42242. SendClientMessage(playerid, COLOR_GREY, "You're not authorized to use that command!");
  42243. return 1;
  42244. }
  42245. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  42246. {
  42247. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  42248. return 1;
  42249. }
  42250. if(strcmp(params, "off", true) == 0)
  42251. {
  42252. if(Spectating[playerid] > 0 && PlayerInfo[playerid][pAdmin] >= 2)
  42253. {
  42254. GettingSpectated[Spectate[playerid]] = 999;
  42255. Spectating[playerid] = 0;
  42256. Spectate[playerid] = 999;
  42257. SetPVarInt(playerid, "SpecOff", 1);
  42258. TogglePlayerSpectating(playerid, false);
  42259. SetCameraBehindPlayer(playerid);
  42260. return 1;
  42261. }
  42262. else
  42263. {
  42264. SendClientMessage(playerid, COLOR_GREY, "You're not spectating anyone.");
  42265. return 1;
  42266. }
  42267. }
  42268. if(strcmp(params, "o", true) == 0)
  42269. {
  42270. if(Spectating[playerid] > 0 && PlayerInfo[playerid][pAdmin] >= 2)
  42271. {
  42272. GettingSpectated[Spectate[playerid]] = 999;
  42273. Spectating[playerid] = 0;
  42274. Spectate[playerid] = 999;
  42275. SetPVarInt(playerid, "SpecOff", 1);
  42276. TogglePlayerSpectating(playerid, false);
  42277. SetCameraBehindPlayer(playerid);
  42278. return 1;
  42279. }
  42280. else
  42281. {
  42282. SendClientMessage(playerid, COLOR_GREY, "You're not spectating anyone.");
  42283. return 1;
  42284. }
  42285. }
  42286. new giveplayerid;
  42287. if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /spec (player/off)");
  42288. if(IsPlayerConnected(giveplayerid))
  42289. {
  42290. if(InsideTut[giveplayerid] >= 1)
  42291. {
  42292. SendClientMessage(playerid, COLOR_WHITE, "NOTE: This player is in the tutorial. Please consider this before assuming that they're air-breaking.");
  42293. }
  42294. if(GetPVarInt(giveplayerid, "PBM") > 0) SendClientMessage(playerid, COLOR_WHITE, "NOTE: This player is in paintball. Ensure they haven't stepped out of the boundaries before assuming they are airbreaking.");
  42295. if(Spectating[playerid] == 0)
  42296. {
  42297. new Float: pPositions[ 3 ];
  42298. GetPlayerPos(playerid, pPositions[0], pPositions[1], pPositions[2]);
  42299. SetPVarFloat(playerid, "SpecPosX", pPositions[0]);
  42300. SetPVarFloat(playerid, "SpecPosY", pPositions[1]);
  42301. SetPVarFloat(playerid, "SpecPosZ", pPositions[2]);
  42302. SetPVarInt(playerid, "SpecInt", GetPlayerInterior(playerid));
  42303. SetPVarInt(playerid, "SpecVW", GetPlayerVirtualWorld(playerid));
  42304. if(IsPlayerInAnyVehicle(giveplayerid))
  42305. {
  42306. TogglePlayerSpectating(playerid, true);
  42307. new carid = GetPlayerVehicleID(giveplayerid);
  42308. PlayerSpectateVehicle(playerid, carid);
  42309. SetPlayerInterior(playerid, GetPlayerInterior(giveplayerid));
  42310. SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(giveplayerid));
  42311. }
  42312. else
  42313. {
  42314. TogglePlayerSpectating(playerid, true);
  42315. PlayerSpectatePlayer(playerid, giveplayerid);
  42316. SetPlayerInterior(playerid, GetPlayerInterior(giveplayerid));
  42317. SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(giveplayerid));
  42318. }
  42319. GettingSpectated[giveplayerid] = playerid;
  42320. Spectate[playerid] = giveplayerid;
  42321. Spectating[playerid] = 1;
  42322. }
  42323. else
  42324. {
  42325. if(IsPlayerInAnyVehicle(giveplayerid))
  42326. {
  42327. TogglePlayerSpectating(playerid, true);
  42328. new carid = GetPlayerVehicleID(giveplayerid);
  42329. PlayerSpectateVehicle(playerid, carid);
  42330. SetPlayerInterior(playerid, GetPlayerInterior(giveplayerid));
  42331. SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(giveplayerid));
  42332. }
  42333. else
  42334. {
  42335. TogglePlayerSpectating(playerid, true);
  42336. PlayerSpectatePlayer(playerid, giveplayerid);
  42337. SetPlayerInterior(playerid, GetPlayerInterior(giveplayerid));
  42338. SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(giveplayerid));
  42339. }
  42340. GettingSpectated[Spectate[playerid]] = 999;
  42341. GettingSpectated[giveplayerid] = playerid;
  42342. Spectate[playerid] = giveplayerid;
  42343. Spectating[playerid] = 1;
  42344. }
  42345. }
  42346. else
  42347. {
  42348. SendClientMessage(playerid, COLOR_WHITE, "Target is not available.");
  42349. }
  42350. return 1;
  42351. }
  42352. CMD:dmpedit(playerid, params[])
  42353. {
  42354. if(PlayerInfo[playerid][pAdmin] < 6)
  42355. {
  42356. SendClientMessage(playerid, COLOR_GRAD2, "You're not authorized to use that command!");
  42357. return 1;
  42358. }
  42359. new string[128], choice[32], mapiconid, amount;
  42360. if(sscanf(params, "s[32]dD", choice, mapiconid, amount))
  42361. {
  42362. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /dmpedit [name] [mapiconid] [(Optional)amount]");
  42363. SendClientMessage(playerid, COLOR_GREY, "Available names: Position, MarkerType, Color, Delete");
  42364. return 1;
  42365. }
  42366. if(mapiconid < 0 || mapiconid >= MAX_DMAPICONS)
  42367. {
  42368. SendClientMessage(playerid, COLOR_WHITE, "Invalid Map Icon ID!");
  42369. }
  42370. if(strcmp(choice, "position", true) == 0)
  42371. {
  42372. GetPlayerPos(playerid, DMPInfo[mapiconid][dmpPosX], DMPInfo[mapiconid][dmpPosY], DMPInfo[mapiconid][dmpPosZ]);
  42373. DMPInfo[mapiconid][dmpInt] = GetPlayerInterior(playerid);
  42374. DMPInfo[mapiconid][dmpVW] = GetPlayerVirtualWorld(playerid);
  42375. SendClientMessage(playerid, COLOR_WHITE, "You have changed the position!");
  42376. if(IsValidDynamicMapIcon(DMPInfo[mapiconid][dmpMapIconID])) DestroyDynamicMapIcon(DMPInfo[mapiconid][dmpMapIconID]);
  42377. DMPInfo[mapiconid][dmpMapIconID] = CreateDynamicMapIcon(DMPInfo[mapiconid][dmpPosX], DMPInfo[mapiconid][dmpPosY], DMPInfo[mapiconid][dmpPosZ], DMPInfo[mapiconid][dmpMarkerType], DMPInfo[mapiconid][dmpColor], DMPInfo[mapiconid][dmpVW], DMPInfo[mapiconid][dmpInt], -1, 500.0);
  42378. SaveDynamicMapIcons();
  42379. format(string, sizeof(string), "%s has edited MapIconID %d's Position.", GetPlayerNameEx(playerid), mapiconid);
  42380. Log("logs/dmpedit.log", string);
  42381. return 1;
  42382. }
  42383. else if(strcmp(choice, "delete", true) == 0)
  42384. {
  42385. SendClientMessage(playerid, COLOR_WHITE, "You have deleted the map icon!");
  42386. DMPInfo[mapiconid][dmpPosX] = 0.0;
  42387. DMPInfo[mapiconid][dmpPosY] = 0.0;
  42388. DMPInfo[mapiconid][dmpPosZ] = 0.0;
  42389. DMPInfo[mapiconid][dmpVW] = 0;
  42390. DMPInfo[mapiconid][dmpInt] = 0;
  42391. DMPInfo[mapiconid][dmpMarkerType] = 0;
  42392. DMPInfo[mapiconid][dmpColor] = 0;
  42393. SaveDynamicMapIcons();
  42394. if(IsValidDynamicMapIcon(DMPInfo[mapiconid][dmpMapIconID])) DestroyDynamicMapIcon(DMPInfo[mapiconid][dmpMapIconID]);
  42395. format(string, sizeof(string), "%s has deleted MapIconID %d.", GetPlayerNameEx(playerid), mapiconid);
  42396. Log("logs/dmpedit.log", string);
  42397. return 1;
  42398. }
  42399. else if(strcmp(choice, "markertype", true) == 0)
  42400. {
  42401. DMPInfo[mapiconid][dmpMarkerType] = amount;
  42402. format(string, sizeof(string), "You have set the marker type to %d.", amount);
  42403. SendClientMessage(playerid, COLOR_WHITE, string);
  42404. if(IsValidDynamicMapIcon(DMPInfo[mapiconid][dmpMapIconID])) DestroyDynamicMapIcon(DMPInfo[mapiconid][dmpMapIconID]);
  42405. DMPInfo[mapiconid][dmpMapIconID] = CreateDynamicMapIcon(DMPInfo[mapiconid][dmpPosX], DMPInfo[mapiconid][dmpPosY], DMPInfo[mapiconid][dmpPosZ], DMPInfo[mapiconid][dmpMarkerType], DMPInfo[mapiconid][dmpColor], DMPInfo[mapiconid][dmpVW], DMPInfo[mapiconid][dmpInt], -1, 500.0);
  42406. format(string, sizeof(string), "%s has edited MapIconID %d's Marker Type to %d.", GetPlayerNameEx(playerid), mapiconid, amount);
  42407. Log("logs/dmpedit.log", string);
  42408. }
  42409. else if(strcmp(choice, "color", true) == 0)
  42410. {
  42411. DMPInfo[mapiconid][dmpColor] = amount;
  42412. format(string, sizeof(string), "You have set the color to %d.", amount);
  42413. SendClientMessage(playerid, COLOR_WHITE, string);
  42414. if(IsValidDynamicMapIcon(DMPInfo[mapiconid][dmpMapIconID])) DestroyDynamicMapIcon(DMPInfo[mapiconid][dmpMapIconID]);
  42415. DMPInfo[mapiconid][dmpMapIconID] = CreateDynamicMapIcon(DMPInfo[mapiconid][dmpPosX], DMPInfo[mapiconid][dmpPosY], DMPInfo[mapiconid][dmpPosZ], DMPInfo[mapiconid][dmpMarkerType], DMPInfo[mapiconid][dmpColor], DMPInfo[mapiconid][dmpVW], DMPInfo[mapiconid][dmpInt], -1, 500.0);
  42416. format(string, sizeof(string), "%s has edited MapIconID %d's Color to %d.", GetPlayerNameEx(playerid), mapiconid, amount);
  42417. Log("logs/dmpedit.log", string);
  42418. }
  42419. SaveDynamicMapIcons();
  42420. return 1;
  42421. }
  42422. CMD:dmpnext(playerid, params[])
  42423. {
  42424. if(PlayerInfo[playerid][pAdmin] >= 6)
  42425. {
  42426. SendClientMessage(playerid, COLOR_RED, "* Listing next available map icon...");
  42427. for(new x;x<MAX_DMAPICONS;x++)
  42428. {
  42429. if(DMPInfo[x][dmpMarkerType] == 0)
  42430. {
  42431. new string[128];
  42432. format(string, sizeof(string), "%d is available to use.", x);
  42433. SendClientMessage(playerid, COLOR_WHITE, string);
  42434. break;
  42435. }
  42436. }
  42437. }
  42438. else
  42439. {
  42440. SendClientMessage(playerid, COLOR_GRAD2, "You're not authorized to use that command!");
  42441. return 1;
  42442. }
  42443. return 1;
  42444. }
  42445. CMD:dmpnear(playerid, params[])
  42446. {
  42447. if(PlayerInfo[playerid][pAdmin] >= 6)
  42448. {
  42449. SendClientMessage(playerid, COLOR_RED, "* Listing all map icons within 30 meters of you");
  42450. new Float:X, Float:Y, Float:Z;
  42451. GetPlayerPos(playerid, X, Y, Z);
  42452. for(new i;i<MAX_DMAPICONS;i++)
  42453. {
  42454. if(IsPlayerInRangeOfPoint(playerid, 30, DMPInfo[i][dmpPosX], DMPInfo[i][dmpPosY], DMPInfo[i][dmpPosZ]))
  42455. {
  42456. if(DMPInfo[i][dmpMarkerType] != 0)
  42457. {
  42458. new string[128];
  42459. format(string, sizeof(string), "MapIcon ID %d | %f from you", i, GetDistance(DMPInfo[i][dmpPosX], DMPInfo[i][dmpPosY], DMPInfo[i][dmpPosZ], X, Y, Z));
  42460. SendClientMessage(playerid, COLOR_WHITE, string);
  42461. }
  42462. }
  42463. }
  42464. }
  42465. else
  42466. {
  42467. SendClientMessage(playerid, COLOR_GRAD2, "You're not authorized to use that command!");
  42468. }
  42469. return 1;
  42470. }
  42471. CMD:gotodmp(playerid, params[])
  42472. {
  42473. if(PlayerInfo[playerid][pAdmin] < 6)
  42474. {
  42475. SendClientMessage(playerid, COLOR_GRAD2, "You're not authorized to use this command!");
  42476. return 1;
  42477. }
  42478. new mapiconid;
  42479. if(sscanf(params, "d", mapiconid)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /gotodmp [mapiconid]");
  42480. if(mapiconid >= MAX_DMAPICONS || mapiconid < 0)
  42481. {
  42482. SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /gotodmp [mapiconid]");
  42483. return 1;
  42484. }
  42485. SetPlayerPos(playerid, DMPInfo[mapiconid][dmpPosX], DMPInfo[mapiconid][dmpPosY], DMPInfo[mapiconid][dmpPosZ]);
  42486. SetPlayerVirtualWorld(playerid, DMPInfo[mapiconid][dmpVW]);
  42487. SetPlayerInterior(playerid, DMPInfo[mapiconid][dmpInt]);
  42488. return 1;
  42489. }
  42490. CMD:ddnear(playerid, params[])
  42491. {
  42492. if(PlayerInfo[playerid][pAdmin] >= 4)
  42493. {
  42494. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  42495. {
  42496. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  42497. return 1;
  42498. }
  42499. SendClientMessage(playerid, COLOR_RED, "* Listing all dynamic doors within 15 meters of you");
  42500. new Float:X, Float:Y, Float:Z;
  42501. GetPlayerPos(playerid, X, Y, Z);
  42502. for(new i;i<MAX_DDOORS;i++)
  42503. {
  42504. if(IsPlayerInRangeOfPoint(playerid, 15, DDoorsInfo[i][ddExteriorX], DDoorsInfo[i][ddExteriorY], DDoorsInfo[i][ddExteriorZ]))
  42505. {
  42506. if(DDoorsInfo[i][ddDescription] != 0)
  42507. {
  42508. new string[128];
  42509. format(string, sizeof(string), "DynamicDoor ID %d | %f from you", i, GetDistance(DDoorsInfo[i][ddExteriorX], DDoorsInfo[i][ddExteriorY], DDoorsInfo[i][ddExteriorZ], X, Y, Z));
  42510. SendClientMessage(playerid, COLOR_WHITE, string);
  42511. }
  42512. }
  42513. }
  42514. }
  42515. else
  42516. {
  42517. SendClientMessage(playerid, COLOR_GRAD2, "You're not authorized to use that command!");
  42518. }
  42519. return 1;
  42520. }
  42521. CMD:ddedit(playerid, params[])
  42522. {
  42523. if(PlayerInfo[playerid][pAdmin] < 4)
  42524. {
  42525. SendClientMessage(playerid, COLOR_GRAD2, "You're not authorized to use that command!");
  42526. return 1;
  42527. }
  42528. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  42529. {
  42530. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  42531. return 1;
  42532. }
  42533. new string[128], choice[32], doorid, amount;
  42534. if(sscanf(params, "s[32]dD", choice, doorid, amount))
  42535. {
  42536. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /ddedit [name] [doorid] [amount]");
  42537. SendClientMessage(playerid, COLOR_GREY, "Available names: Exterior, Interior, CustomInterior, CustomExterior, VIP");
  42538. SendClientMessage(playerid, COLOR_GREY, "Gang, Faction, Wanted, Admin, VehicleAble, Color, PickupModel, Delete");
  42539. if(PlayerInfo[playerid][pAdmin] >= 6)
  42540. {
  42541. SendClientMessage(playerid, COLOR_GREY, "NotEditable");
  42542. }
  42543. return 1;
  42544. }
  42545. if(doorid >= MAX_DDOORS)
  42546. {
  42547. SendClientMessage(playerid, COLOR_WHITE, "Invalid Door ID!");
  42548. return 1;
  42549. }
  42550. if(strcmp(choice, "noteditable", true) == 0)
  42551. {
  42552. if(PlayerInfo[playerid][pAdmin] >= 6)
  42553. {
  42554. if(DDoorsInfo[doorid][ddNotEditable] == 0)
  42555. {
  42556. DDoorsInfo[doorid][ddNotEditable] = 1;
  42557. SendClientMessage(playerid, COLOR_WHITE, "Door set to not editable (can no longer be edited)!");
  42558. }
  42559. else
  42560. {
  42561. DDoorsInfo[doorid][ddNotEditable] = 0;
  42562. SendClientMessage(playerid, COLOR_WHITE, "Door set to editable (can be edited again)!");
  42563. }
  42564. SaveDynamicDoors();
  42565. format(string, sizeof(string), "%s has edited DoorID %d's NotEditable.", GetPlayerNameEx(playerid), doorid);
  42566. Log("logs/ddedit.log", string);
  42567. }
  42568. return 1;
  42569. }
  42570. if(DDoorsInfo[doorid][ddNotEditable] == 1)
  42571. {
  42572. SendClientMessage(playerid, COLOR_WHITE, "This door has been set to non-editable by a Level 6 Admin, contact them if you wish to make any changes.");
  42573. return 1;
  42574. }
  42575. if(strcmp(choice, "interior", true) == 0)
  42576. {
  42577. GetPlayerPos(playerid, DDoorsInfo[doorid][ddInteriorX], DDoorsInfo[doorid][ddInteriorY], DDoorsInfo[doorid][ddInteriorZ]);
  42578. GetPlayerFacingAngle(playerid, DDoorsInfo[doorid][ddInteriorA]);
  42579. DDoorsInfo[doorid][ddInteriorInt] = GetPlayerInterior(playerid);
  42580. DDoorsInfo[doorid][ddInteriorVW] = GetPlayerVirtualWorld(playerid);
  42581. SendClientMessage(playerid, COLOR_WHITE, "You have changed the interior!");
  42582. SaveDynamicDoors();
  42583. format(string, sizeof(string), "%s has edited DoorID %d's Interior.", GetPlayerNameEx(playerid), doorid);
  42584. Log("logs/ddedit.log", string);
  42585. return 1;
  42586. }
  42587. else if(strcmp(choice, "custominterior", true) == 0)
  42588. {
  42589. if(DDoorsInfo[doorid][ddCustomInterior] == 0)
  42590. {
  42591. DDoorsInfo[doorid][ddCustomInterior] = 1;
  42592. SendClientMessage(playerid, COLOR_WHITE, "Door set to custom interior!");
  42593. }
  42594. else
  42595. {
  42596. DDoorsInfo[doorid][ddCustomInterior] = 0;
  42597. SendClientMessage(playerid, COLOR_WHITE, "Door set to normal (not custom) interior!");
  42598. }
  42599. SaveDynamicDoors();
  42600. format(string, sizeof(string), "%s has edited DoorID %d's CustomInterior.", GetPlayerNameEx(playerid), doorid);
  42601. Log("logs/ddedit.log", string);
  42602. return 1;
  42603. }
  42604. else if(strcmp(choice, "customexterior", true) == 0)
  42605. {
  42606. if(DDoorsInfo[doorid][ddCustomExterior] == 0)
  42607. {
  42608. DDoorsInfo[doorid][ddCustomExterior] = 1;
  42609. SendClientMessage(playerid, COLOR_WHITE, "Door set to custom exterior!");
  42610. }
  42611. else
  42612. {
  42613. DDoorsInfo[doorid][ddCustomExterior] = 0;
  42614. SendClientMessage(playerid, COLOR_WHITE, "Door set to normal (not custom) exterior!");
  42615. }
  42616. SaveDynamicDoors();
  42617. format(string, sizeof(string), "%s has edited DoorID %d's CustomExterior.", GetPlayerNameEx(playerid), doorid);
  42618. Log("logs/ddedit.log", string);
  42619. return 1;
  42620. }
  42621. else if(strcmp(choice, "exterior", true) == 0)
  42622. {
  42623. GetPlayerPos(playerid, DDoorsInfo[doorid][ddExteriorX], DDoorsInfo[doorid][ddExteriorY], DDoorsInfo[doorid][ddExteriorZ]);
  42624. GetPlayerFacingAngle(playerid, DDoorsInfo[doorid][ddExteriorA]);
  42625. DDoorsInfo[doorid][ddExteriorVW] = GetPlayerVirtualWorld(playerid);
  42626. DDoorsInfo[doorid][ddExteriorInt] = GetPlayerInterior(playerid);
  42627. SendClientMessage(playerid, COLOR_WHITE, "You have changed the exterior!");
  42628. //if(IsValidDynamicPickup(DDoorsInfo[doorid][ddPickupID])) DestroyPickup(DDoorsInfo[doorid][ddPickupID]);
  42629. DestroyPickup(DDoorsInfo[doorid][ddPickupID]);
  42630. if(IsValidDynamic3DTextLabel(DDoorsInfo[doorid][ddTextID])) DestroyDynamic3DTextLabel(DDoorsInfo[doorid][ddTextID]);
  42631. CreateDynamicDoor(doorid);
  42632. SaveDynamicDoors();
  42633. format(string, sizeof(string), "%s has edited DoorID %d's Exterior.", GetPlayerNameEx(playerid), doorid);
  42634. Log("logs/ddedit.log", string);
  42635. }
  42636. else if(strcmp(choice, "donator", true) == 0)
  42637. {
  42638. DDoorsInfo[doorid][ddVIP] = amount;
  42639. format(string, sizeof(string), "You have changed the Donator Level to %d.", amount);
  42640. SendClientMessage(playerid, COLOR_WHITE, string);
  42641. SaveDynamicDoors();
  42642. format(string, sizeof(string), "%s has edited DoorID %d's Donator Level.", GetPlayerNameEx(playerid), doorid);
  42643. Log("logs/ddedit.log", string);
  42644. return 1;
  42645. }
  42646. else if(strcmp(choice, "gang", true) == 0)
  42647. {
  42648. DDoorsInfo[doorid][ddGang] = amount;
  42649. format(string, sizeof(string), "You have changed the Family to %d.", amount);
  42650. SendClientMessage(playerid, COLOR_WHITE, string);
  42651. SaveDynamicDoors();
  42652. format(string, sizeof(string), "%s has edited DoorID %d's Family.", GetPlayerNameEx(playerid), doorid);
  42653. Log("logs/ddedit.log", string);
  42654. return 1;
  42655. }
  42656. else if(strcmp(choice, "faction", true) == 0)
  42657. {
  42658. DDoorsInfo[doorid][ddFaction] = amount;
  42659. format(string, sizeof(string), "You have changed the Faction to %d.", amount);
  42660. SendClientMessage(playerid, COLOR_WHITE, string);
  42661. SaveDynamicDoors();
  42662. format(string, sizeof(string), "%s has edited DoorID %d's Faction.", GetPlayerNameEx(playerid), doorid);
  42663. Log("logs/ddedit.log", string);
  42664. return 1;
  42665. }
  42666. else if(strcmp(choice, "admin", true) == 0)
  42667. {
  42668. DDoorsInfo[doorid][ddAdmin] = amount;
  42669. format(string, sizeof(string), "You have changed the Admin Level to %d.", amount);
  42670. SendClientMessage(playerid, COLOR_WHITE, string);
  42671. SaveDynamicDoors();
  42672. format(string, sizeof(string), "%s has edited DoorID %d's Admin Level.", GetPlayerNameEx(playerid), doorid);
  42673. Log("logs/ddedit.log", string);
  42674. return 1;
  42675. }
  42676. else if(strcmp(choice, "wanted", true) == 0)
  42677. {
  42678. DDoorsInfo[doorid][ddWanted] = amount;
  42679. format(string, sizeof(string), "You have changed the Wanted to %d.", amount);
  42680. SendClientMessage(playerid, COLOR_WHITE, string);
  42681. SaveDynamicDoors();
  42682. format(string, sizeof(string), "%s has edited DoorID %d's Wanted.", GetPlayerNameEx(playerid), doorid);
  42683. Log("logs/ddedit.log", string);
  42684. return 1;
  42685. }
  42686. else if(strcmp(choice, "vehicleable", true) == 0)
  42687. {
  42688. DDoorsInfo[doorid][ddVehicleAble] = amount;
  42689. format(string, sizeof(string), "You have changed the VehicleAble to %d.", amount);
  42690. SendClientMessage(playerid, COLOR_WHITE, string);
  42691. SaveDynamicDoors();
  42692. format(string, sizeof(string), "%s has edited DoorID %d's VehicleAble.", GetPlayerNameEx(playerid), doorid);
  42693. Log("logs/ddedit.log", string);
  42694. return 1;
  42695. }
  42696. else if(strcmp(choice, "color", true) == 0)
  42697. {
  42698. DDoorsInfo[doorid][ddColor] = amount;
  42699. format(string, sizeof(string), "You have changed the Color to %d.", amount);
  42700. SendClientMessage(playerid, COLOR_WHITE, string);
  42701. //if(IsValidDynamicPickup(DDoorsInfo[doorid][ddPickupID])) DestroyPickup(DDoorsInfo[doorid][ddPickupID]);
  42702. DestroyPickup(DDoorsInfo[doorid][ddPickupID]);
  42703. if(IsValidDynamic3DTextLabel(DDoorsInfo[doorid][ddTextID])) DestroyDynamic3DTextLabel(DDoorsInfo[doorid][ddTextID]);
  42704. CreateDynamicDoor(doorid);
  42705. SaveDynamicDoors();
  42706. format(string, sizeof(string), "%s has edited DoorID %d's Color.", GetPlayerNameEx(playerid), doorid);
  42707. Log("logs/ddedit.log", string);
  42708. return 1;
  42709. }
  42710. else if(strcmp(choice, "pickupmodel", true) == 0)
  42711. {
  42712. DDoorsInfo[doorid][ddPickupModel] = amount;
  42713. format(string, sizeof(string), "You have changed the PickupModel to %d.", amount);
  42714. SendClientMessage(playerid, COLOR_WHITE, string);
  42715. //if(IsValidDynamicPickup(DDoorsInfo[doorid][ddPickupID])) DestroyPickup(DDoorsInfo[doorid][ddPickupID]);
  42716. DestroyPickup(DDoorsInfo[doorid][ddPickupID]);
  42717. if(IsValidDynamic3DTextLabel(DDoorsInfo[doorid][ddTextID])) DestroyDynamic3DTextLabel(DDoorsInfo[doorid][ddTextID]);
  42718. CreateDynamicDoor(doorid);
  42719. SaveDynamicDoors();
  42720. format(string, sizeof(string), "%s has edited DoorID %d's PickupModel.", GetPlayerNameEx(playerid), doorid);
  42721. Log("logs/ddedit.log", string);
  42722. return 1;
  42723. }
  42724. else if(strcmp(choice, "delete", true) == 0)
  42725. {
  42726. if(DDoorsInfo[doorid][ddDescription] == 0) {
  42727. format(string, sizeof(string), "DoorID %d does not exist.", doorid);
  42728. SendClientMessage(playerid, COLOR_WHITE, string);
  42729. return 1;
  42730. }
  42731. //if(IsValidDynamicPickup(DDoorsInfo[doorid][ddPickupID])) DestroyPickup(DDoorsInfo[doorid][ddPickupID]);
  42732. DestroyPickup(DDoorsInfo[doorid][ddPickupID]);
  42733. DestroyDynamic3DTextLabel(DDoorsInfo[doorid][ddTextID]);
  42734. DDoorsInfo[doorid][ddDescription] = 0;
  42735. DDoorsInfo[doorid][ddCustomInterior] = 0;
  42736. DDoorsInfo[doorid][ddExteriorVW] = 0;
  42737. DDoorsInfo[doorid][ddExteriorInt] = 0;
  42738. DDoorsInfo[doorid][ddInteriorVW] = 0;
  42739. DDoorsInfo[doorid][ddInteriorInt] = 0;
  42740. DDoorsInfo[doorid][ddExteriorX] = 0;
  42741. DDoorsInfo[doorid][ddExteriorY] = 0;
  42742. DDoorsInfo[doorid][ddExteriorZ] = 0;
  42743. DDoorsInfo[doorid][ddExteriorA] = 0;
  42744. DDoorsInfo[doorid][ddInteriorX] = 0;
  42745. DDoorsInfo[doorid][ddInteriorY] = 0;
  42746. DDoorsInfo[doorid][ddInteriorZ] = 0;
  42747. DDoorsInfo[doorid][ddInteriorA] = 0;
  42748. DDoorsInfo[doorid][ddCustomExterior] = 0;
  42749. DDoorsInfo[doorid][ddVIP] = 0;
  42750. DDoorsInfo[doorid][ddGang] = 0;
  42751. DDoorsInfo[doorid][ddFaction] = 0;
  42752. DDoorsInfo[doorid][ddAdmin] = 0;
  42753. DDoorsInfo[doorid][ddWanted] = 0;
  42754. DDoorsInfo[doorid][ddVehicleAble] = 0;
  42755. DDoorsInfo[doorid][ddColor] = 0;
  42756. DDoorsInfo[doorid][ddPass] = 0;
  42757. DDoorsInfo[doorid][ddLocked] = 0;
  42758. DDoorsInfo[doorid][ddNotEditable] = 0;
  42759. SaveDynamicDoors();
  42760. format(string, sizeof(string), "You have deleted DoorID %d.", doorid);
  42761. SendClientMessage(playerid, COLOR_WHITE, string);
  42762. format(string, sizeof(string), "%s has deleted DoorID %d.", GetPlayerNameEx(playerid), doorid);
  42763. Log("logs/ddedit.log", string);
  42764. return 1;
  42765. }
  42766. return 1;
  42767. }
  42768. CMD:ddnext(playerid, params[])
  42769. {
  42770. if(PlayerInfo[playerid][pAdmin] >= 4)
  42771. {
  42772. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  42773. {
  42774. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  42775. return 1;
  42776. }
  42777. SendClientMessage(playerid, COLOR_RED, "* Listing next available dynamic door...");
  42778. for(new x;x<MAX_DDOORS;x++)
  42779. {
  42780. if(DDoorsInfo[x][ddDescription] == 0)
  42781. {
  42782. new string[128];
  42783. format(string, sizeof(string), "%d is available to use.", x);
  42784. SendClientMessage(playerid, COLOR_WHITE, string);
  42785. break;
  42786. }
  42787. }
  42788. }
  42789. else
  42790. {
  42791. SendClientMessage(playerid, COLOR_GRAD2, "You're not authorized to use that command!");
  42792. return 1;
  42793. }
  42794. return 1;
  42795. }
  42796. CMD:ddname(playerid, params[])
  42797. {
  42798. if(PlayerInfo[playerid][pAdmin] < 4)
  42799. {
  42800. SendClientMessage(playerid, COLOR_GRAD2, "You're not authorized to use that command!");
  42801. return 1;
  42802. }
  42803. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  42804. {
  42805. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  42806. return 1;
  42807. }
  42808. new string[128], doorid, doorname[128];
  42809. if(sscanf(params, "ds[128]", doorid, doorname)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /ddname [doorid] [name]");
  42810. if(DDoorsInfo[doorid][ddNotEditable] == 1)
  42811. {
  42812. SendClientMessage(playerid, COLOR_WHITE, "This door has been set to non-editable by a Level 6 Admin, contact them if you wish to make any changes.");
  42813. return 1;
  42814. }
  42815. format(DDoorsInfo[doorid][ddDescription], 128, "%s", doorname);
  42816. SendClientMessage(playerid, COLOR_WHITE, "You have changed the name of the door!");
  42817. //if(IsValidDynamicPickup(DDoorsInfo[doorid][ddPickupID])) DestroyPickup(DDoorsInfo[doorid][ddPickupID]);
  42818. DestroyPickup(DDoorsInfo[doorid][ddPickupID]);
  42819. if(IsValidDynamic3DTextLabel(DDoorsInfo[doorid][ddTextID])) DestroyDynamic3DTextLabel(DDoorsInfo[doorid][ddTextID]);
  42820. CreateDynamicDoor(doorid);
  42821. SaveDynamicDoors();
  42822. format(string, sizeof(string), "%s has edited DoorID %d's Name to %s.", GetPlayerNameEx(playerid), doorid, doorname);
  42823. Log("logs/ddedit.log", string);
  42824. return 1;
  42825. }
  42826. CMD:lockdoor(playerid, params[])
  42827. {
  42828. for(new i = 0; i < sizeof(DDoorsInfo); i++) {
  42829. if(IsPlayerInRangeOfPoint(playerid,3.0,DDoorsInfo[i][ddExteriorX], DDoorsInfo[i][ddExteriorY], DDoorsInfo[i][ddExteriorZ]) && PlayerInfo[playerid][pVW] == DDoorsInfo[i][ddExteriorVW] || IsPlayerInRangeOfPoint(playerid,3.0,DDoorsInfo[i][ddInteriorX], DDoorsInfo[i][ddInteriorY], DDoorsInfo[i][ddInteriorZ]) && PlayerInfo[playerid][pVW] == DDoorsInfo[i][ddInteriorVW]) {
  42830. if(DDoorsInfo[i][ddPass] < 1)
  42831. return SendClientMessage(playerid, COLOR_GREY, "This door isn't allowed to be locked");
  42832. if(strcmp(DDoorsInfo[i][ddPass], "None", true) == 0)
  42833. return SendClientMessage(playerid, COLOR_GREY, "This door isn't allowed to be locked");
  42834. ShowPlayerDialogEx(playerid, DOORLOCK, DIALOG_STYLE_INPUT, "Door Security","Enter the password for this door","Login","Cancel");
  42835. SetPVarInt(playerid, "Door", i);
  42836. }
  42837. }
  42838. return 1;
  42839. }
  42840. CMD:ddpass(playerid, params[])
  42841. {
  42842. if(PlayerInfo[playerid][pAdmin] < 5)
  42843. return SendClientMessage(playerid, COLOR_GRAD2, "You're not authorized to use that command!");
  42844. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  42845. {
  42846. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  42847. return 1;
  42848. }
  42849. new string[128],
  42850. doorid,
  42851. doorpass[24];
  42852. if(sscanf(params, "ds[24]", doorid, doorpass)) { SendClientMessage(playerid, COLOR_WHITE, "USAGE: /ddpass [doorid] [pass]"); SendClientMessage(playerid, COLOR_WHITE, "To remove the password on the door set the password to 'none' "); return 1; }
  42853. if(DDoorsInfo[doorid][ddNotEditable] == 1)
  42854. {
  42855. SendClientMessage(playerid, COLOR_WHITE, "This door has been set to non-editable by a Level 6 Admin, contact them if you wish to make any changes.");
  42856. return 1;
  42857. }
  42858. format(DDoorsInfo[doorid][ddPass], 24, "%s", doorpass);
  42859. SendClientMessage(playerid, COLOR_WHITE, "You have changed the password of that door.");
  42860. SaveDynamicDoors();
  42861. format(string, sizeof(string), "%s has edited DoorID %d's password to %s.", GetPlayerNameEx(playerid), doorid, doorpass);
  42862. Log("logs/ddedit.log", string);
  42863. return 1;
  42864. }
  42865. CMD:goindoor(playerid, params[])
  42866. {
  42867. if(PlayerInfo[playerid][pAdmin] >= 5)
  42868. {
  42869. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  42870. {
  42871. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  42872. return 1;
  42873. }
  42874. new doornum;
  42875. if(sscanf(params, "d", doornum)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /goindoor [doornumber]");
  42876. Streamer_UpdateEx(playerid, DDoorsInfo[doornum][ddInteriorX],DDoorsInfo[doornum][ddInteriorY],DDoorsInfo[doornum][ddInteriorZ]);
  42877. SetPlayerInterior(playerid,DDoorsInfo[doornum][ddInteriorInt]);
  42878. SetPlayerPos(playerid,DDoorsInfo[doornum][ddInteriorX],DDoorsInfo[doornum][ddInteriorY],DDoorsInfo[doornum][ddInteriorZ]);
  42879. SetPlayerFacingAngle(playerid,DDoorsInfo[doornum][ddInteriorA]);
  42880. if(DDoorsInfo[doornum][ddCustomInterior])
  42881. {
  42882. TogglePlayerControllable(playerid, 0);
  42883. for(new o = 0; o < 2; o++)
  42884. {
  42885. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  42886. }
  42887. SetPVarInt(playerid, "LoadingObjects", 1);
  42888. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  42889. }
  42890. PlayerInfo[playerid][pInt] = DDoorsInfo[doornum][ddInteriorInt];
  42891. PlayerInfo[playerid][pVW] = DDoorsInfo[doornum][ddInteriorVW];
  42892. SetPlayerVirtualWorld(playerid, DDoorsInfo[doornum][ddInteriorVW]);
  42893. }
  42894. return 1;
  42895. }
  42896. CMD:gotodoor(playerid, params[])
  42897. {
  42898. if(PlayerInfo[playerid][pAdmin] >= 5)
  42899. {
  42900. if(AdminDuty[playerid] != 1 && PlayerInfo[playerid][pAdmin] < 6)
  42901. {
  42902. SendClientMessage(playerid,COLOR_WHITE, "You're not on-duty as admin. To access your admin commands you must be on-duty. Type /aduty to go on-duty.");
  42903. return 1;
  42904. }
  42905. new doornum;
  42906. if(sscanf(params, "d", doornum)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /gotodoor [doornumber]");
  42907. Streamer_UpdateEx(playerid, DDoorsInfo[doornum][ddExteriorX],DDoorsInfo[doornum][ddExteriorY],DDoorsInfo[doornum][ddExteriorZ]);
  42908. if(DDoorsInfo[doornum][ddCustomExterior])
  42909. {
  42910. TogglePlayerControllable(playerid, 0);
  42911. for(new o = 0; o < 2; o++)
  42912. {
  42913. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  42914. }
  42915. SetPVarInt(playerid, "LoadingObjects", 1);
  42916. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  42917. }
  42918. SetPlayerInterior(playerid,DDoorsInfo[doornum][ddExteriorInt]);
  42919. SetPlayerPos(playerid,DDoorsInfo[doornum][ddExteriorX],DDoorsInfo[doornum][ddExteriorY],DDoorsInfo[doornum][ddExteriorZ]);
  42920. SetPlayerFacingAngle(playerid,DDoorsInfo[doornum][ddExteriorA]);
  42921. PlayerInfo[playerid][pInt] = DDoorsInfo[doornum][ddExteriorInt];
  42922. SetPlayerVirtualWorld(playerid, DDoorsInfo[doornum][ddExteriorVW]);
  42923. PlayerInfo[playerid][pVW] = DDoorsInfo[doornum][ddExteriorVW];
  42924. }
  42925. return 1;
  42926. }
  42927. CMD:doublexp(playerid, params[])
  42928. {
  42929. if(PlayerInfo[playerid][pAdmin] >= 8)
  42930. {
  42931. new string[128];
  42932. if(DoubleXP == 0)
  42933. {
  42934. SendClientMessageToAll(COLOR_PINK, "An Server Manager has enabled double experience! invite your friends and enjoy!");
  42935. DoubleXP = 1;
  42936. format(string, sizeof(string), "AdmCmd: %s has enabled double experience", GetPlayerNameEx(playerid));
  42937. Log("logs/admin.log", string);
  42938. }
  42939. else
  42940. {
  42941. SendClientMessageToAll(COLOR_PINK, "Sadly, that will be all of the double experience event, good luck next time!");
  42942. DoubleXP = 0;
  42943. format(string, sizeof(string), "AdmCmd: %s has disabled double experience", GetPlayerNameEx(playerid));
  42944. Log("logs/admin.log", string);
  42945. }
  42946. }
  42947. return 1;
  42948. }
  42949. CMD:enter(playerid, params[])
  42950. {
  42951. if(GetPVarInt(playerid, "PBM") > 0) {
  42952. SendClientMessage(playerid, COLOR_WHITE, "You can't do this while being in a arena!");
  42953. return 1;
  42954. }
  42955. if(PlayerCuffed[playerid] >= 1)
  42956. {
  42957. SendClientMessage(playerid, COLOR_WHITE, "You can't do this right now.");
  42958. return 1;
  42959. }
  42960. if(PlayerInfo[playerid][pJailed] > 0)
  42961. {
  42962. SendClientMessage(playerid, COLOR_WHITE, "You can't do this right now.");
  42963. return 1;
  42964. }
  42965. new string[128];
  42966. for(new i = 0; i < sizeof(DDoorsInfo); i++)
  42967. {
  42968. if(IsPlayerInRangeOfPoint(playerid,3.0,DDoorsInfo[i][ddExteriorX], DDoorsInfo[i][ddExteriorY], DDoorsInfo[i][ddExteriorZ]) && PlayerInfo[playerid][pVW] == DDoorsInfo[i][ddExteriorVW])
  42969. {
  42970. if(DDoorsInfo[i][ddVIP] > 0 && PlayerInfo[playerid][pDonator] < DDoorsInfo[i][ddVIP]) {
  42971. SendClientMessage(playerid, COLOR_GRAD2, "You can't enter, you're not a high enough Donator level.");
  42972. return 1;
  42973. }
  42974. if(DDoorsInfo[i][ddGang] > 0) {
  42975. if(PlayerInfo[playerid][pGang] != DDoorsInfo[i][ddGang]) {
  42976. SendClientMessage(playerid, COLOR_GRAD2, "You can't enter, this door is gang restricted.");
  42977. return 1;
  42978. }
  42979. }
  42980. if(DDoorsInfo[i][ddFaction] > 0) {
  42981. if(PlayerInfo[playerid][pFaction] != DDoorsInfo[i][ddFaction])
  42982. {
  42983. SendClientMessage(playerid, COLOR_GRAD2, "You can't enter, this door is faction restricted.");
  42984. return 1;
  42985. }
  42986. }
  42987. if(DDoorsInfo[i][ddAdmin] > 0 && PlayerInfo[playerid][pAdmin] < DDoorsInfo[i][ddAdmin]) {
  42988. SendClientMessage(playerid, COLOR_GRAD2, "You can't enter, you're not a high enough admin level.");
  42989. return 1;
  42990. }
  42991. if(DDoorsInfo[i][ddWanted] > 0 && PlayerInfo[playerid][pWantedLevel] != 0) {
  42992. SendClientMessage(playerid, COLOR_GRAD2, "You can't enter, this door restricts those with wanted levels.");
  42993. return 1;
  42994. }
  42995. if(DDoorsInfo[i][ddLocked] == 1) {
  42996. return SendClientMessage(playerid, COLOR_GRAD2, "This door is currently locked.");
  42997. }
  42998. format(string, sizeof(string), "* %s has entered %s.", GetPlayerNameEx(playerid), DDoorsInfo[i][ddDescription]);
  42999. ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  43000. SetPlayerInterior(playerid,DDoorsInfo[i][ddInteriorInt]);
  43001. PlayerInfo[playerid][pInt] = DDoorsInfo[i][ddInteriorInt];
  43002. PlayerInfo[playerid][pVW] = DDoorsInfo[i][ddInteriorVW];
  43003. SetPVarInt(playerid, "DoorID", i);
  43004. SetPlayerVirtualWorld(playerid, DDoorsInfo[i][ddInteriorVW]);
  43005. if(DDoorsInfo[i][ddCustomInterior]) {
  43006. TogglePlayerControllable(playerid, 0);
  43007. for(new o = 0; o < 2; o++)
  43008. {
  43009. TextDrawSetString(ObjectsLoadingTD[1], "OBJECTS LOADING...");
  43010. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  43011. }
  43012. SetPVarInt(playerid, "LoadingObjects", 1);
  43013. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  43014. }
  43015. if(DDoorsInfo[i][ddVehicleAble] > 0 && GetPlayerState(playerid) == PLAYER_STATE_DRIVER) {
  43016. SetVehiclePos(GetPlayerVehicleID(playerid), DDoorsInfo[i][ddInteriorX],DDoorsInfo[i][ddInteriorY],DDoorsInfo[i][ddInteriorZ]);
  43017. SetVehicleZAngle(GetPlayerVehicleID(playerid), DDoorsInfo[i][ddInteriorA]);
  43018. SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), DDoorsInfo[i][ddInteriorVW]);
  43019. LinkVehicleToInterior(GetPlayerVehicleID(playerid), DDoorsInfo[i][ddInteriorInt]);
  43020. }
  43021. else {
  43022. SetPlayerPos(playerid,DDoorsInfo[i][ddInteriorX],DDoorsInfo[i][ddInteriorY],DDoorsInfo[i][ddInteriorZ]);
  43023. SetPlayerFacingAngle(playerid,DDoorsInfo[i][ddInteriorA]);
  43024. SetCameraBehindPlayer(playerid);
  43025. }
  43026. foreach(Player, x)
  43027. {
  43028. if(IsABoomboxNearby(DDoorsInfo[i][ddInteriorX] ,DDoorsInfo[i][ddInteriorY], DDoorsInfo[i][ddInteriorZ], x) < 150.0 && DDoorsInfo[i][ddInteriorVW] == BoomboxInfo[x][bbVW] && DDoorsInfo[i][ddInteriorInt] == BoomboxInfo[x][bbInt])
  43029. {
  43030. PlayAudioStreamForPlayer(playerid, VehicleRadioListing[BoomboxInfo[x][bbStation]-1][radiourl], BoomboxInfo[x][bbPosX], BoomboxInfo[x][bbPosY], BoomboxInfo[x][bbPosZ], 50.0, 1);
  43031. }
  43032. }
  43033. return Streamer_UpdateEx(playerid, DDoorsInfo[i][ddInteriorX],DDoorsInfo[i][ddInteriorY],DDoorsInfo[i][ddInteriorZ]);
  43034. }
  43035. }
  43036. for(new i = 0; i < sizeof(HouseInfo); i++)
  43037. {
  43038. if(IsPlayerInRangeOfPoint(playerid,3,HouseInfo[i][hExteriorX], HouseInfo[i][hExteriorY], HouseInfo[i][hExteriorZ]))
  43039. {
  43040. if(PlayerInfo[playerid][pHouse] == i || PlayerInfo[playerid][pHouse2] == i || HouseInfo[i][hLock] == 0 || PlayerInfo[playerid][pRenting] == i)
  43041. {
  43042. if(PlayerInfo[playerid][pHouse] == i || PlayerInfo[playerid][pHouse2] == i)
  43043. {
  43044. format(string, sizeof(string), "* %s has entered their house.", GetPlayerNameEx(playerid));
  43045. ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  43046. }
  43047. else
  43048. {
  43049. format(string, sizeof(string), "* %s has entered %s's house.", GetPlayerNameEx(playerid), HouseInfo[i][hOwner]);
  43050. ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  43051. }
  43052. SetPlayerInterior(playerid,HouseInfo[i][hHInteriorWorld]);
  43053. PlayerInfo[playerid][pInt] = HouseInfo[i][hHInteriorWorld];
  43054. PlayerInfo[playerid][pVW] = i+60000;
  43055. SetPlayerVirtualWorld(playerid, i+60000);
  43056. SetPVarInt(playerid, "HouseID", i);
  43057. if(HouseInfo[i][hCustomInterior] == 1)
  43058. {
  43059. TogglePlayerControllable(playerid, 0);
  43060. for(new o = 0; o < 2; o++)
  43061. {
  43062. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  43063. }
  43064. SetPVarInt(playerid, "LoadingObjects", 1);
  43065. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  43066. }
  43067. SetPlayerPos(playerid,HouseInfo[i][hInteriorX],HouseInfo[i][hInteriorY],HouseInfo[i][hInteriorZ]);
  43068. SetPlayerFacingAngle(playerid,HouseInfo[i][hInteriorA]);
  43069. SetCameraBehindPlayer(playerid);
  43070. if(PlayerInfo[playerid][pHouse] == i || PlayerInfo[playerid][pHouse2] == i)
  43071. {
  43072. GameTextForPlayer(playerid, "~w~Welcome Home", 5000, 1);
  43073. }
  43074. foreach(Player, x)
  43075. {
  43076. if(IsABoomboxNearby(HouseInfo[i][hInteriorX], HouseInfo[i][hInteriorY], HouseInfo[i][hInteriorZ], x) < 150.0 && i+60000 == BoomboxInfo[x][bbVW] && HouseInfo[i][hHInteriorWorld] == BoomboxInfo[x][bbInt])
  43077. {
  43078. PlayAudioStreamForPlayer(playerid, VehicleRadioListing[BoomboxInfo[x][bbStation]-1][radiourl], BoomboxInfo[x][bbPosX], BoomboxInfo[x][bbPosY], BoomboxInfo[x][bbPosZ], 50.0, 1);
  43079. }
  43080. }
  43081. Streamer_UpdateEx(playerid, HouseInfo[i][hInteriorX],HouseInfo[i][hInteriorY],HouseInfo[i][hInteriorZ]);
  43082. }
  43083. else
  43084. {
  43085. GameTextForPlayer(playerid, "~r~Locked", 5000, 1);
  43086. }
  43087. return 1;
  43088. }
  43089. }
  43090. // Hitman HQ
  43091. if(IsPlayerInRangeOfPoint(playerid, 2.0, 1938.545898, 165.629531, 37.281250))
  43092. {
  43093. if(PlayerInfo[playerid][pFaction] == 4 || PlayerInfo[playerid][pLeader] == 4)
  43094. {
  43095. SetPlayerVirtualWorld(playerid, 666420);
  43096. PlayerInfo[playerid][pVW] = 666420;
  43097. SetPlayerInterior(playerid, 42);
  43098. PlayerInfo[playerid][pInt] = 42;
  43099. SetPlayerPos(playerid, 1277.019165, -758.428771, 5080.750000);
  43100. SetPlayerFacingAngle(playerid, 358.16);
  43101. SetCameraBehindPlayer(playerid);
  43102. SetPVarInt(playerid, "DoorID", 50512);
  43103. TogglePlayerControllable(playerid, 0);
  43104. for(new o = 0; o < 2; o++)
  43105. {
  43106. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  43107. }
  43108. SetPVarInt(playerid, "LoadingObjects", 1);
  43109. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  43110. SendClientMessage(playerid, COLOR_WHITE, "You can /order weaponry in the armory room.");
  43111. }
  43112. }
  43113. else if(IsPlayerInRangeOfPoint(playerid, 5.0, 2800.419433, -1070.314086, 30.693412))
  43114. {
  43115. if(PlayerInfo[playerid][pFaction] == 10 || PlayerInfo[playerid][pLeader] == 10)
  43116. {
  43117. SetPlayerVirtualWorld(playerid, 0);
  43118. PlayerInfo[playerid][pVW] = 0;
  43119. SetPlayerPos(playerid, 959.6879,677.0198,16.7539);
  43120. SetPlayerFacingAngle(playerid, 186.9793);
  43121. SetCameraBehindPlayer(playerid);
  43122. if(GetPlayerState(playerid) == 2)
  43123. {
  43124. new tmpcar = GetPlayerVehicleID(playerid);
  43125. SetVehiclePos(tmpcar, 959.6879,677.0198,16.7539);
  43126. LinkVehicleToInterior(GetPlayerVehicleID(playerid), 0);
  43127. SetPlayerInterior(playerid, 0);
  43128. SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), 0);
  43129. SetPlayerVirtualWorld(playerid, 0);
  43130. PutPlayerInVehicle(playerid, tmpcar, 0);
  43131. }
  43132. }
  43133. }
  43134. else if(IsPlayerInRangeOfPoint(playerid, 5.0, 959.6879,677.0198,16.7539))
  43135. {
  43136. if(PlayerInfo[playerid][pFaction] == 10 || PlayerInfo[playerid][pLeader] == 10)
  43137. {
  43138. SetPlayerVirtualWorld(playerid, 0);
  43139. PlayerInfo[playerid][pVW] = 0;
  43140. SetPlayerPos(playerid, 2800.419433, -1073.314086, 30.693412);
  43141. SetCameraBehindPlayer(playerid);
  43142. if(GetPlayerState(playerid) == 2)
  43143. {
  43144. new tmpcar = GetPlayerVehicleID(playerid);
  43145. SetVehiclePos(tmpcar, 2800.419433, -1073.314086, 30.693412);
  43146. LinkVehicleToInterior(GetPlayerVehicleID(playerid), 0);
  43147. SetPlayerInterior(playerid, 0);
  43148. SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), 0);
  43149. SetPlayerVirtualWorld(playerid, 0);
  43150. PutPlayerInVehicle(playerid, tmpcar, 0);
  43151. }
  43152. }
  43153. }
  43154. else if(IsPlayerInRangeOfPoint(playerid, 2.0, 1974.8, -1671.1, 15.9))
  43155. {
  43156. if(PlayerInfo[playerid][pFaction] == 4 || PlayerInfo[playerid][pLeader] == 4)
  43157. {
  43158. SetPlayerVirtualWorld(playerid, 666420);
  43159. PlayerInfo[playerid][pVW] = 666420;
  43160. SetPlayerInterior(playerid, 42);
  43161. PlayerInfo[playerid][pInt] = 42;
  43162. SetPlayerPos(playerid, 1256.2, -759.0, 5080.9);
  43163. SetPlayerFacingAngle(playerid, 358.16);
  43164. SetCameraBehindPlayer(playerid);
  43165. SetPVarInt(playerid, "DoorID", 50513);
  43166. TogglePlayerControllable(playerid, 0);
  43167. for(new o = 0; o < 2; o++)
  43168. {
  43169. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  43170. }
  43171. SetPVarInt(playerid, "LoadingObjects", 1);
  43172. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  43173. SendClientMessage(playerid, COLOR_WHITE, "You can /order weaponry in the armory room.");
  43174. }
  43175. }
  43176. else if(IsPlayerInRangeOfPoint(playerid, 2.0, 2205.8, -987.3 ,63.9))
  43177. {
  43178. if(PlayerInfo[playerid][pFaction] == 4 || PlayerInfo[playerid][pLeader] == 4)
  43179. {
  43180. SetPlayerVirtualWorld(playerid, 666420);
  43181. PlayerInfo[playerid][pVW] = 666420;
  43182. SetPlayerInterior(playerid, 42);
  43183. PlayerInfo[playerid][pInt] = 42;
  43184. SetPlayerPos(playerid, 1266.2, -758.8, 5080.9);
  43185. SetPlayerFacingAngle(playerid, 358.16);
  43186. SetCameraBehindPlayer(playerid);
  43187. SetPVarInt(playerid, "DoorID", 50514);
  43188. TogglePlayerControllable(playerid, 0);
  43189. for(new o = 0; o < 2; o++)
  43190. {
  43191. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  43192. }
  43193. SetPVarInt(playerid, "LoadingObjects", 1);
  43194. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  43195. SendClientMessage(playerid, COLOR_WHITE, "You can /order weaponry in the armory room.");
  43196. }
  43197. }
  43198. // The Lubu Gentlemen's Club
  43199. if(IsPlayerInRangeOfPoint(playerid, 3.0, 511.817230, -1510.971679, 14.566996))
  43200. {
  43201. format(string, sizeof(string), "* %s has entered The Lubu Gentlemen's Club.", GetPlayerNameEx(playerid));
  43202. ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  43203. SetPlayerVirtualWorld(playerid, 373737);
  43204. PlayerInfo[playerid][pVW] = 373737;
  43205. SetPlayerInterior(playerid, 37);
  43206. PlayerInfo[playerid][pInt] = 37;
  43207. SetPlayerPos(playerid, -1077.946533, 613.206665, 1116.507812);
  43208. SetPlayerFacingAngle(playerid, 92.42);
  43209. SetCameraBehindPlayer(playerid);
  43210. SetPVarInt(playerid, "DoorID", 50515);
  43211. TogglePlayerControllable(playerid, 0);
  43212. for(new o = 0; o < 2; o++)
  43213. {
  43214. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  43215. }
  43216. SetPVarInt(playerid, "LoadingObjects", 1);
  43217. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  43218. PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=242774", -1087.677978, 615.239807, 1116.507812, 40.0, 1);
  43219. }
  43220. // The Tableau Club
  43221. else if(IsPlayerInRangeOfPoint(playerid, 3.0, 561.802795, -1506.722412, 14.548986))
  43222. {
  43223. format(string, sizeof(string), "* %s has entered The Tableau Club.", GetPlayerNameEx(playerid));
  43224. ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  43225. SetPlayerVirtualWorld(playerid, 363636);
  43226. PlayerInfo[playerid][pVW] = 363636;
  43227. SetPlayerInterior(playerid, 36);
  43228. PlayerInfo[playerid][pInt] = 36;
  43229. SetPlayerPos(playerid, 308.045654, 1053.886840, 1098.540039);
  43230. SetPlayerFacingAngle(playerid, 267.57);
  43231. SetCameraBehindPlayer(playerid);
  43232. TogglePlayerControllable(playerid, 0);
  43233. SetPVarInt(playerid, "DoorID", 50516);
  43234. for(new o = 0; o < 2; o++)
  43235. {
  43236. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  43237. }
  43238. SetPVarInt(playerid, "LoadingObjects", 1);
  43239. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  43240. PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1377200", 321.139465, 1034.947753, 1098.914062, 120.0, 1);
  43241. }
  43242. // The Tableau Club (VIP ROOM)
  43243. else if(IsPlayerInRangeOfPoint(playerid, 3.0, 307.904296, 1025.602294, 1098.540039))
  43244. {
  43245. if(GetPlayerCash(playerid) >= 100)
  43246. {
  43247. format(string, sizeof(string), "* %s has entered The Tableau VIP Room.", GetPlayerNameEx(playerid));
  43248. ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  43249. GivePlayerCash(playerid, -100);
  43250. GameTextForPlayer(playerid, "~r~-$100", 3000, 1);
  43251. SetPVarInt(playerid, "DoorID", 50517);
  43252. SetPlayerVirtualWorld(playerid, 363636);
  43253. PlayerInfo[playerid][pVW] = 363636;
  43254. SetPlayerInterior(playerid, 36);
  43255. PlayerInfo[playerid][pInt] = 36;
  43256. SetPlayerPos(playerid, 293.066436, 1029.785278, 1104.560058);
  43257. SetPlayerFacingAngle(playerid, 352.47);
  43258. SetCameraBehindPlayer(playerid);
  43259. }
  43260. else
  43261. {
  43262. SendClientMessage(playerid, COLOR_GREY, " You do not have the cash for that.");
  43263. }
  43264. }
  43265. // Santa Maria Surfer's Lounge
  43266. else if(IsPlayerInRangeOfPoint(playerid, 3.0, 387.958374, -1870.688110, 7.835937))
  43267. {
  43268. format(string, sizeof(string), "* %s has entered Santa Maria Surfer's Lounge.", GetPlayerNameEx(playerid));
  43269. ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  43270. SetPlayerVirtualWorld(playerid, 353535);
  43271. PlayerInfo[playerid][pVW] = 353535;
  43272. SetPlayerInterior(playerid, 35);
  43273. PlayerInfo[playerid][pInt] = 35;
  43274. SetPlayerPos(playerid, 271.742034, 1074.419677, 5096.750000);
  43275. SetPlayerFacingAngle(playerid, 86.54);
  43276. SetPVarInt(playerid, "DoorID", 50518);
  43277. SetCameraBehindPlayer(playerid);
  43278. TogglePlayerControllable(playerid, 0);
  43279. for(new o = 0; o < 2; o++)
  43280. {
  43281. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  43282. }
  43283. SetPVarInt(playerid, "LoadingObjects", 1);
  43284. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  43285. PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=21585", 271.742034, 1074.419677, 5096.750000, 120.0, 1);
  43286. }
  43287. new vehicleid = GetPlayerVehicleID(playerid);
  43288. new closestcar = GetClosestCar(playerid, vehicleid);
  43289. if(IsPlayerInRangeOfVehicle(playerid, closestcar, 6.0) && GetVehicleModel(closestcar) == 519)
  43290. {
  43291. if(VehicleStatus{closestcar} == 1) return SendClientMessage(playerid, COLOR_WHITE, "You're not allowed to enter this Shamal as it's been damaged!");
  43292. format(string, sizeof(string), "* %s enters the Shamal airplane as a passenger.", GetPlayerNameEx(playerid));
  43293. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  43294. SetPlayerPos(playerid, 2.509036, 23.118730, 1199.593750);
  43295. SetPlayerFacingAngle(playerid, 82.14);
  43296. SetCameraBehindPlayer(playerid);
  43297. PlayerInfo[playerid][pVW] = closestcar;
  43298. SetPlayerVirtualWorld(playerid, closestcar);
  43299. SetPVarInt(playerid, "DoorID", 50519);
  43300. PlayerInfo[playerid][pInt] = 1;
  43301. SetPlayerInterior(playerid, 1);
  43302. InsideShamal[playerid] = closestcar;
  43303. SendClientMessage(playerid, COLOR_WHITE, "Type /exit near the door to exit the vehicle, or /window to look outside.");
  43304. foreach(Player, x)
  43305. {
  43306. if(IsABoomboxNearby(2.509036, 23.118730, 1199.593750, x) < 150.0 && closestcar == BoomboxInfo[x][bbVW] && BoomboxInfo[x][bbInt] == 1)
  43307. {
  43308. PlayAudioStreamForPlayer(playerid, VehicleRadioListing[BoomboxInfo[x][bbStation]-1][radiourl], BoomboxInfo[x][bbPosX], BoomboxInfo[x][bbPosY], BoomboxInfo[x][bbPosZ], 50.0, 1);
  43309. }
  43310. }
  43311. }
  43312. return 1;
  43313. }
  43314. CMD:exit(playerid, params[])
  43315. {
  43316. if(GetPVarInt(playerid, "PBM") > 0) {
  43317. SendClientMessage(playerid, COLOR_WHITE, "You can't do this while being in a arena!");
  43318. return 1;
  43319. }
  43320. if(PlayerInfo[playerid][pJailed] > 0)
  43321. {
  43322. SendClientMessage(playerid, COLOR_WHITE, "You can't do this right now.");
  43323. return 1;
  43324. }
  43325. new string[128];
  43326. for(new i = 0; i < sizeof(DDoorsInfo); i++) {
  43327. if(IsPlayerInRangeOfPoint(playerid,3,DDoorsInfo[i][ddInteriorX], DDoorsInfo[i][ddInteriorY], DDoorsInfo[i][ddInteriorZ]) && PlayerInfo[playerid][pVW] == DDoorsInfo[i][ddInteriorVW])
  43328. {
  43329. format(string, sizeof(string), "* %s has exited the building.", GetPlayerNameEx(playerid));
  43330. ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  43331. SetPlayerInterior(playerid,DDoorsInfo[i][ddExteriorInt]);
  43332. PlayerInfo[playerid][pInt] = DDoorsInfo[i][ddExteriorInt];
  43333. SetPlayerVirtualWorld(playerid, DDoorsInfo[i][ddExteriorVW]);
  43334. PlayerInfo[playerid][pVW] = DDoorsInfo[i][ddExteriorVW];
  43335. if(DDoorsInfo[i][ddCustomExterior]) {
  43336. TogglePlayerControllable(playerid, 0);
  43337. for(new o = 0; o < 2; o++)
  43338. {
  43339. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  43340. }
  43341. SetPVarInt(playerid, "LoadingObjects", 1);
  43342. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  43343. }
  43344. if(DDoorsInfo[i][ddVehicleAble] > 0 && GetPlayerState(playerid) == PLAYER_STATE_DRIVER) {
  43345. SetVehiclePos(GetPlayerVehicleID(playerid), DDoorsInfo[i][ddExteriorX],DDoorsInfo[i][ddExteriorY],DDoorsInfo[i][ddExteriorZ]);
  43346. SetVehicleZAngle(GetPlayerVehicleID(playerid), DDoorsInfo[i][ddExteriorA]);
  43347. SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), DDoorsInfo[i][ddExteriorVW]);
  43348. LinkVehicleToInterior(GetPlayerVehicleID(playerid), DDoorsInfo[i][ddExteriorInt]);
  43349. }
  43350. else {
  43351. SetPlayerPos(playerid,DDoorsInfo[i][ddExteriorX],DDoorsInfo[i][ddExteriorY],DDoorsInfo[i][ddExteriorZ]);
  43352. SetPlayerFacingAngle(playerid, DDoorsInfo[i][ddExteriorA]);
  43353. SetCameraBehindPlayer(playerid);
  43354. }
  43355. return Streamer_UpdateEx(playerid, DDoorsInfo[i][ddInteriorX],DDoorsInfo[i][ddInteriorY],DDoorsInfo[i][ddInteriorZ]);
  43356. }
  43357. }
  43358. for(new i = 0; i < sizeof(HouseInfo); i++) {
  43359. if(IsPlayerInRangeOfPoint(playerid,3,HouseInfo[i][hInteriorX], HouseInfo[i][hInteriorY], HouseInfo[i][hInteriorZ]) && PlayerInfo[playerid][pVW] == i+60000)
  43360. {
  43361. format(string, sizeof(string), "* %s has exited the house.", GetPlayerNameEx(playerid));
  43362. ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  43363. SetPlayerInterior(playerid,0);
  43364. PlayerInfo[playerid][pInt] = 0;
  43365. if(HouseInfo[i][hCustomExterior])
  43366. {
  43367. TogglePlayerControllable(playerid, 0);
  43368. for(new o = 0; o < 2; o++)
  43369. {
  43370. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  43371. }
  43372. SetPVarInt(playerid, "LoadingObjects", 1);
  43373. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  43374. }
  43375. SetPlayerPos(playerid,HouseInfo[i][hExteriorX],HouseInfo[i][hExteriorY],HouseInfo[i][hExteriorZ]);
  43376. SetPlayerFacingAngle(playerid, HouseInfo[i][hExteriorA]);
  43377. SetCameraBehindPlayer(playerid);
  43378. SetPlayerVirtualWorld(playerid, 0);
  43379. PlayerInfo[playerid][pVW] = 0;
  43380. return Streamer_UpdateEx(playerid, HouseInfo[i][hExteriorX],HouseInfo[i][hExteriorY],HouseInfo[i][hExteriorZ]);
  43381. }
  43382. }
  43383. // Hitman HQ
  43384. if(IsPlayerInRangeOfPoint(playerid, 2.0, 1277.019165, -758.428771, 5080.750000) && (GetPlayerVirtualWorld(playerid) == 666420))
  43385. {
  43386. if(PlayerInfo[playerid][pFaction] == 4 || PlayerInfo[playerid][pLeader] == 4)
  43387. {
  43388. SetPlayerVirtualWorld(playerid, 0);
  43389. PlayerInfo[playerid][pVW] = 0;
  43390. SetPlayerInterior(playerid, 0);
  43391. PlayerInfo[playerid][pInt] = 0;
  43392. SetPlayerPos(playerid, 1938.545898, 165.629531, 37.281250);
  43393. SetPlayerFacingAngle(playerid, 338.54);
  43394. SetCameraBehindPlayer(playerid);
  43395. }
  43396. }
  43397. else if(IsPlayerInRangeOfPoint(playerid, 2.0, 1256.2, -759.0, 5080.9) && (GetPlayerVirtualWorld(playerid) == 666420))
  43398. {
  43399. if(PlayerInfo[playerid][pFaction] == 4 || PlayerInfo[playerid][pLeader] == 4)
  43400. {
  43401. SetPlayerVirtualWorld(playerid, 0);
  43402. PlayerInfo[playerid][pVW] = 0;
  43403. SetPlayerInterior(playerid, 0);
  43404. PlayerInfo[playerid][pInt] = 0;
  43405. SetPlayerPos(playerid, 1974.8, -1671.1, 15.9);
  43406. SetPlayerFacingAngle(playerid, 338.54);
  43407. SetCameraBehindPlayer(playerid);
  43408. }
  43409. }
  43410. else if(IsPlayerInRangeOfPoint(playerid, 2.0, 1266.2, -758.8, 5080.9) && (GetPlayerVirtualWorld(playerid) == 666420))
  43411. {
  43412. if(PlayerInfo[playerid][pFaction] == 4 || PlayerInfo[playerid][pLeader] == 4)
  43413. {
  43414. SetPlayerVirtualWorld(playerid, 0);
  43415. PlayerInfo[playerid][pVW] = 0;
  43416. SetPlayerInterior(playerid, 0);
  43417. PlayerInfo[playerid][pInt] = 0;
  43418. SetPlayerPos(playerid, 2205.8, -987.3 ,63.9);
  43419. SetPlayerFacingAngle(playerid, 338.54);
  43420. SetCameraBehindPlayer(playerid);
  43421. }
  43422. }
  43423. // The Lubu Gentlemen's Club
  43424. if(IsPlayerInRangeOfPoint(playerid, 3.0, -1077.946533, 613.206665, 1116.507812) && (GetPlayerVirtualWorld(playerid) == 373737))
  43425. {
  43426. format(string, sizeof(string), "* %s has exited the building.", GetPlayerNameEx(playerid));
  43427. ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  43428. SetPlayerVirtualWorld(playerid, 0);
  43429. PlayerInfo[playerid][pVW] = 0;
  43430. SetPlayerInterior(playerid, 0);
  43431. PlayerInfo[playerid][pInt] = 0;
  43432. SetPlayerPos(playerid, 511.817230, -1510.971679, 14.566996);
  43433. SetPlayerFacingAngle(playerid, 272.11);
  43434. SetCameraBehindPlayer(playerid);
  43435. StopAudioStreamForPlayer(playerid);
  43436. }
  43437. // The Tableau Club
  43438. else if(IsPlayerInRangeOfPoint(playerid, 3.0, 308.045654, 1053.886840, 1098.540039) && (GetPlayerVirtualWorld(playerid) == 363636))
  43439. {
  43440. format(string, sizeof(string), "* %s has exited the building.", GetPlayerNameEx(playerid));
  43441. ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  43442. SetPlayerVirtualWorld(playerid, 0);
  43443. PlayerInfo[playerid][pVW] = 0;
  43444. SetPlayerInterior(playerid, 0);
  43445. PlayerInfo[playerid][pInt] = 0;
  43446. SetPlayerPos(playerid, 561.802795, -1506.722412, 14.548986);
  43447. SetPlayerFacingAngle(playerid, 86.78);
  43448. SetCameraBehindPlayer(playerid);
  43449. StopAudioStreamForPlayer(playerid);
  43450. }
  43451. // The Tableau Club (VIP ROOM)
  43452. else if(IsPlayerInRangeOfPoint(playerid, 3.0, 293.066436, 1029.785278, 1104.560058) && (GetPlayerVirtualWorld(playerid) == 363636))
  43453. {
  43454. SetPlayerVirtualWorld(playerid, 363636);
  43455. PlayerInfo[playerid][pVW] = 363636;
  43456. SetPlayerInterior(playerid, 36);
  43457. PlayerInfo[playerid][pInt] = 36;
  43458. SetPlayerPos(playerid, 307.904296, 1025.602294, 1098.540039);
  43459. SetPlayerFacingAngle(playerid, 264.06);
  43460. SetCameraBehindPlayer(playerid);
  43461. }
  43462. // Santa Maria Surfer's Lounge
  43463. else if(IsPlayerInRangeOfPoint(playerid, 3.0, 271.742034, 1074.419677, 5096.750000) && (GetPlayerVirtualWorld(playerid) == 353535))
  43464. {
  43465. format(string, sizeof(string), "* %s has exited the building.", GetPlayerNameEx(playerid));
  43466. ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  43467. SetPlayerVirtualWorld(playerid, 0);
  43468. PlayerInfo[playerid][pVW] = 0;
  43469. SetPlayerInterior(playerid, 0);
  43470. PlayerInfo[playerid][pInt] = 0;
  43471. SetPlayerPos(playerid, 387.958374, -1870.688110, 7.835937);
  43472. SetPlayerFacingAngle(playerid, 89.99);
  43473. SetCameraBehindPlayer(playerid);
  43474. StopAudioStreamForPlayer(playerid);
  43475. }
  43476. // Shamal
  43477. else if(InsideShamal[playerid] != INVALID_VEHICLE_ID && IsPlayerInRangeOfPoint(playerid,3,2.509036, 23.118730, 1199.593750))
  43478. {
  43479. format(string, sizeof(string), "* %s exits the Shamal airplane.", GetPlayerNameEx(playerid));
  43480. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  43481. if(InsideShamal[playerid] == INVALID_VEHICLE_ID || GetVehicleModel(InsideShamal[playerid]) != 519) {
  43482. PlayerInfo[playerid][pAGuns][GetWeaponSlot(46)] = 46;
  43483. GivePlayerValidWeapon(playerid, 46, 60000);
  43484. SetPlayerPos(playerid, 0.000000, 0.000000, 420.000000);
  43485. }
  43486. else {
  43487. new Float:X, Float:Y, Float:Z;
  43488. GetVehiclePos(InsideShamal[playerid], X, Y, Z);
  43489. SetPlayerPos(playerid, X-4, Y-2.3, Z);
  43490. new Float:XB, Float:YB, Float:ZB;
  43491. GetVehiclePos(InsideShamal[playerid], XB, YB, ZB);
  43492. if(ZB > 50.0) {
  43493. PlayerInfo[playerid][pAGuns][GetWeaponSlot(46)] = 46;
  43494. GivePlayerValidWeapon(playerid, 46, 60000);
  43495. }
  43496. }
  43497. PlayerInfo[playerid][pVW] = 0;
  43498. SetPlayerVirtualWorld(playerid, 0);
  43499. PlayerInfo[playerid][pInt] = 0;
  43500. SetPlayerInterior(playerid, 0);
  43501. InsideShamal[playerid] = INVALID_VEHICLE_ID;
  43502. }
  43503. return 1;
  43504. }
  43505. main()
  43506. {
  43507. printf("\n----------------------------------");
  43508. printf("Sleepless Roleplay");
  43509. printf("August 2020");
  43510. printf("Created by Mikko Lee");
  43511. printf("----------------------------------\n");
  43512. }
  43513. forward OnPlayerStatsUpdate(playerid);
  43514. public OnPlayerStatsUpdate(playerid)
  43515. {
  43516. if(GetPVarInt(playerid, "TempName") != 1 && gPlayerLogged[playerid])
  43517. {
  43518. new string3[64];
  43519. new playername3[MAX_PLAYER_NAME];
  43520. GetPlayerName(playerid, playername3, sizeof(playername3));
  43521. format(string3, sizeof(string3), "users/%s.ini", playername3);
  43522. new File: hFile = fopen(string3, io_write);
  43523. new var[156];
  43524. format(var, 156, "Key=%s\n", PlayerInfo[playerid][pKey]);fwrite(hFile, var);
  43525. format(var, 32, "Level=%d\n",PlayerInfo[playerid][pLevel]);fwrite(hFile, var);
  43526. format(var, 32, "AdminLevel=%d\n",PlayerInfo[playerid][pAdmin]);fwrite(hFile, var);
  43527. format(var, 32, "AdminName=%s\n", PlayerInfo[playerid][pAdminName]);fwrite(hFile, var);
  43528. format(var, 32, "BanAppealer=%d\n",PlayerInfo[playerid][pBanAppealer]);fwrite(hFile, var);
  43529. format(var, 32, "FactionMod=%d\n",PlayerInfo[playerid][pFactionMod]);fwrite(hFile, var);
  43530. format(var, 32, "GangMod=%d\n",PlayerInfo[playerid][pGangMod]);fwrite(hFile, var);
  43531. format(var, 32, "HelperMod=%d\n",PlayerInfo[playerid][pHelperMod]);fwrite(hFile, var);
  43532. format(var, 32, "Donator=%d\n",PlayerInfo[playerid][pDonator]);fwrite(hFile, var);
  43533. format(var, 32, "Band=%d\n",PlayerInfo[playerid][pBanned]);fwrite(hFile, var);
  43534. format(var, 32, "WalkStyle=%d\n",PlayerInfo[playerid][pWalkStyle]);fwrite(hFile, var);
  43535. format(var, 32, "PermBand=%d\n",PlayerInfo[playerid][pPermaBanned]);fwrite(hFile, var);
  43536. format(var, 32, "Disabled=%d\n",PlayerInfo[playerid][pDisabled]);fwrite(hFile, var);
  43537. format(var, 32, "IP=%s\n",PlayerInfo[playerid][pIP]);fwrite(hFile, var);
  43538. format(var, 32, "Registered=%d\n",PlayerInfo[playerid][pReg]);fwrite(hFile, var);
  43539. format(var, 32, "Tutorial=%d\n",PlayerInfo[playerid][pTut]);fwrite(hFile, var);
  43540. format(var, 32, "Sex=%d\n",PlayerInfo[playerid][pSex]);fwrite(hFile, var);
  43541. format(var, 32, "Age=%d\n",PlayerInfo[playerid][pAge]);fwrite(hFile, var);
  43542. format(var, 32, "Skin=%d\n",PlayerInfo[playerid][pSkin]);fwrite(hFile, var);
  43543. format(var, 32, "SPos_x=%.1f\n",PlayerInfo[playerid][pPos_x]);fwrite(hFile, var);
  43544. format(var, 32, "SPos_y=%.1f\n",PlayerInfo[playerid][pPos_y]);fwrite(hFile, var);
  43545. format(var, 32, "SPos_z=%.1f\n",PlayerInfo[playerid][pPos_z]);fwrite(hFile, var);
  43546. format(var, 32, "SPos_r=%.1f\n",PlayerInfo[playerid][pPos_r]);fwrite(hFile, var);
  43547. format(var, 32, "ConnectedTime=%d\n",PlayerInfo[playerid][pConnectTime]);fwrite(hFile, var);
  43548. format(var, 32, "Respect=%d\n",PlayerInfo[playerid][pRespect]);fwrite(hFile, var);
  43549. format(var, 32, "PhoneNr=%d\n",PlayerInfo[playerid][pNumber]);fwrite(hFile, var);
  43550. format(var, 32, "Warnings=%d\n",PlayerInfo[playerid][pWarns]);fwrite(hFile, var);
  43551. format(var, 32, "Gang=%d\n",PlayerInfo[playerid][pGang]);fwrite(hFile, var);
  43552. format(var, 32, "Faction=%d\n",PlayerInfo[playerid][pFaction]);fwrite(hFile, var);
  43553. format(var, 32, "Leader=%d\n",PlayerInfo[playerid][pLeader]);fwrite(hFile, var);
  43554. format(var, 32, "Rank=%d\n",PlayerInfo[playerid][pRank]);fwrite(hFile, var);
  43555. format(var, 32, "Job=%d\n",PlayerInfo[playerid][pJob]);fwrite(hFile, var);
  43556. format(var, 32, "Job2=%d\n",PlayerInfo[playerid][pJob2]);fwrite(hFile, var);
  43557. format(var, 32, "UpgradePoints=%d\n",PlayerInfo[playerid][gPupgrade]);fwrite(hFile, var);
  43558. format(var, 32, "SpawnArmor=%.1f\n",PlayerInfo[playerid][pSarmor]);fwrite(hFile, var);
  43559. format(var, 32, "Cash=%d\n",PlayerInfo[playerid][pCash]);fwrite(hFile, var);
  43560. format(var, 32, "Bank=%d\n",PlayerInfo[playerid][pBank]);fwrite(hFile, var);
  43561. format(var, 32, "Insurance=%d\n",PlayerInfo[playerid][pInsurance]);fwrite(hFile, var);
  43562. format(var, 32, "Crimes=%d\n",PlayerInfo[playerid][pCrimes]);fwrite(hFile, var);
  43563. format(var, 32, "Arrested=%d\n",PlayerInfo[playerid][pArrested]);fwrite(hFile, var);
  43564. format(var, 32, "WantedLevel=%d\n",PlayerInfo[playerid][pWantedLevel]);fwrite(hFile, var);
  43565. GetPlayerHealth(playerid,PlayerInfo[playerid][pHealth]);
  43566. format(var, 32, "Health=%.1f\n",PlayerInfo[playerid][pHealth]);fwrite(hFile, var);
  43567. GetPlayerArmour(playerid,PlayerInfo[playerid][pArmor]);
  43568. format(var, 32, "Armor=%.1f\n",PlayerInfo[playerid][pArmor]);fwrite(hFile, var);
  43569. format(var, 32, "Pot=%d\n",PlayerInfo[playerid][pPot]);fwrite(hFile, var);
  43570. format(var, 32, "Crack=%d\n",PlayerInfo[playerid][pCrack]);fwrite(hFile, var);
  43571. format(var, 32, "Radio=%d\n",PlayerInfo[playerid][pRadio]);fwrite(hFile, var);
  43572. format(var, 32, "RadioFreq=%d\n",PlayerInfo[playerid][pRadioFreq]);fwrite(hFile, var);
  43573. format(var, 32, "Phonebook=%d\n",PlayerInfo[playerid][pPhoneBook]);fwrite(hFile, var);
  43574. format(var, 32, "Dice=%d\n",PlayerInfo[playerid][pDice]);fwrite(hFile, var);
  43575. format(var, 32, "CDPlayer=%d\n",PlayerInfo[playerid][pCDPlayer]);fwrite(hFile, var);
  43576. format(var, 32, "Materials=%d\n",PlayerInfo[playerid][pMats]);fwrite(hFile, var);
  43577. format(var, 32, "Rope=%d\n",PlayerInfo[playerid][pRope]);fwrite(hFile, var);
  43578. format(var, 32, "Cigars=%d\n",PlayerInfo[playerid][pCigar]);fwrite(hFile, var);
  43579. format(var, 32, "Sprunk=%d\n",PlayerInfo[playerid][pSprunk]);fwrite(hFile, var);
  43580. format(var, 32, "Spraycan=%d\n",PlayerInfo[playerid][pSpraycan]);fwrite(hFile, var);
  43581. format(var, 32, "House=%d\n",PlayerInfo[playerid][pHouse]);fwrite(hFile, var);
  43582. format(var, 32, "House2=%d\n",PlayerInfo[playerid][pHouse2]);fwrite(hFile, var);
  43583. format(var, 32, "Renting=%d\n",PlayerInfo[playerid][pRenting]);fwrite(hFile, var);
  43584. format(var, 32, "Int=%d\n",PlayerInfo[playerid][pInt]);fwrite(hFile, var);
  43585. format(var, 32, "VirtualWorld=%d\n",PlayerInfo[playerid][pVW]);fwrite(hFile, var);
  43586. format(var, 32, "Jailed=%d\n",PlayerInfo[playerid][pJailed]);fwrite(hFile, var);
  43587. format(var, 32, "JailTime=%d\n",PlayerInfo[playerid][pJailTime]);fwrite(hFile, var);
  43588. for(new s = 0; s < 12; s++)
  43589. {
  43590. format(var, 32, "Gun%d=%d\n", s, PlayerInfo[playerid][pGuns][s]);fwrite(hFile, var);
  43591. }
  43592. format(var, 32, "Paycheck=%d\n",PlayerInfo[playerid][pPayCheck]);fwrite(hFile, var);
  43593. format(var, 32, "PayReady=%d\n",PlayerInfo[playerid][pPayReady]);fwrite(hFile, var);
  43594. format(var, 32, "Hospital=%d\n",PlayerInfo[playerid][pHospital]);fwrite(hFile, var);
  43595. format(var, 32, "DetSkill=%d\n",PlayerInfo[playerid][pDetSkill]);fwrite(hFile, var);
  43596. format(var, 32, "LawSkill=%d\n",PlayerInfo[playerid][pLawSkill]);fwrite(hFile, var);
  43597. format(var, 32, "SexSkill=%d\n",PlayerInfo[playerid][pSexSkill]);fwrite(hFile, var);
  43598. format(var, 32, "DrugsSkill=%d\n",PlayerInfo[playerid][pDrugsSkill]);fwrite(hFile, var);
  43599. format(var, 32, "SmugglerSkill=%d\n",PlayerInfo[playerid][pSmugSkill]);fwrite(hFile, var);
  43600. format(var, 32, "ArmsSkill=%d\n",PlayerInfo[playerid][pArmsSkill]);fwrite(hFile, var);
  43601. format(var, 32, "MechSkill=%d\n",PlayerInfo[playerid][pMechSkill]);fwrite(hFile, var);
  43602. format(var, 32, "FishSkill=%d\n",PlayerInfo[playerid][pFishSkill]);fwrite(hFile, var);
  43603. format(var, 32, "BoxSkill=%d\n",PlayerInfo[playerid][pBoxSkill]);fwrite(hFile, var);
  43604. format(var, 32, "TruckSkill=%d\n",PlayerInfo[playerid][pTruckSkill]);fwrite(hFile, var);
  43605. format(var, 32, "CarSkill=%d\n",PlayerInfo[playerid][pCarSkill]);fwrite(hFile, var);
  43606. //format(var, 32, "CraftSkill=%d\n",PlayerInfo[playerid][pCraftSkill]);fwrite(hFile, var);
  43607. format(var, 32, "LawyerTime=%d\n",PlayerInfo[playerid][pLawyerTime]);fwrite(hFile, var);
  43608. format(var, 32, "LawyerFreeTime=%d\n",PlayerInfo[playerid][pLawyerFreeTime]);fwrite(hFile, var);
  43609. format(var, 32, "DrugsTime=%d\n",PlayerInfo[playerid][pDrugsTime]);fwrite(hFile, var);
  43610. format(var, 32, "MechTime=%d\n",PlayerInfo[playerid][pMechTime]);fwrite(hFile, var);
  43611. format(var, 32, "SexTime=%d\n",PlayerInfo[playerid][pSexTime]);fwrite(hFile, var);
  43612. format(var, 32, "CarTime=%d\n",PlayerInfo[playerid][pCarTime]);fwrite(hFile, var);
  43613. format(var, 32, "Fishes=%d\n",PlayerInfo[playerid][pFishes]);fwrite(hFile, var);
  43614. format(var, 32, "BiggestFish=%d\n",PlayerInfo[playerid][pBiggestFish]);fwrite(hFile, var);
  43615. format(var, 32, "pWExists=%d\n",PlayerInfo[playerid][pWeedObject]);fwrite(hFile, var);
  43616. format(var, 32, "pWX=%f\n",PlayerInfo[playerid][pWeedPos][0]);fwrite(hFile, var);
  43617. format(var, 32, "pWY=%f\n",PlayerInfo[playerid][pWeedPos][1]);fwrite(hFile, var);
  43618. format(var, 32, "pWZ=%f\n",PlayerInfo[playerid][pWeedPos][2]);fwrite(hFile, var);
  43619. format(var, 32, "pWVW=%d\n",PlayerInfo[playerid][pWeedVW]);fwrite(hFile, var);
  43620. format(var, 32, "pWInt=%d\n",PlayerInfo[playerid][pWeedInt]);fwrite(hFile, var);
  43621. format(var, 32, "pWValue=%d\n",PlayerInfo[playerid][pWeedGrowth]);fwrite(hFile, var);
  43622. format(var, 32, "pWSeeds=%d\n",PlayerInfo[playerid][pWSeeds]);fwrite(hFile, var);
  43623. format(var, 32, "Wins=%d\n",PlayerInfo[playerid][pWins]);fwrite(hFile, var);
  43624. format(var, 32, "Loses=%d\n",PlayerInfo[playerid][pLoses]);fwrite(hFile, var);
  43625. format(var, 32, "FightingStyle=%d\n",PlayerInfo[playerid][pFightStyle]);fwrite(hFile, var);
  43626. format(var, 32, "Screwdriver=%d\n",PlayerInfo[playerid][pScrewdriver]);fwrite(hFile, var);
  43627. format(var, 32, "Smslog=%d\n",PlayerInfo[playerid][pSmslog]);fwrite(hFile, var);
  43628. format(var, 32, "Wristwatch=%d\n",PlayerInfo[playerid][pWristwatch]);fwrite(hFile, var);
  43629. format(var, 32, "Tire=%d\n",PlayerInfo[playerid][pTire]);fwrite(hFile, var);
  43630. format(var, 32, "Firstaid=%d\n",PlayerInfo[playerid][pFirstaid]);fwrite(hFile, var);
  43631. format(var, 32, "Rccam=%d\n",PlayerInfo[playerid][pRccam]);fwrite(hFile, var);
  43632. format(var, 32, "Receiver=%d\n",PlayerInfo[playerid][pReceiver]);fwrite(hFile, var);
  43633. format(var, 32, "GPS=%d\n",PlayerInfo[playerid][pGPS]);fwrite(hFile, var);
  43634. format(var, 32, "Sweep=%d\n",PlayerInfo[playerid][pSweep]);fwrite(hFile, var);
  43635. format(var, 32, "SweepLeft=%d\n",PlayerInfo[playerid][pSweepLeft]);fwrite(hFile, var);
  43636. format(var, 32, "Bugged=%d\n",PlayerInfo[playerid][pBugged]);fwrite(hFile, var);
  43637. for(new v = 0; v < MAX_PLAYERVEHICLES; v++)
  43638. {
  43639. format(var, 32, "pv%dPosX=%.1f\n", v, PlayerVehicleInfo[playerid][v][pvPosX]);fwrite(hFile, var);
  43640. format(var, 32, "pv%dPosY=%.1f\n", v, PlayerVehicleInfo[playerid][v][pvPosY]);fwrite(hFile, var);
  43641. format(var, 32, "pv%dPosZ=%.1f\n", v, PlayerVehicleInfo[playerid][v][pvPosZ]);fwrite(hFile, var);
  43642. format(var, 32, "pv%dPosAngle=%.1f\n", v, PlayerVehicleInfo[playerid][v][pvPosAngle]);fwrite(hFile, var);
  43643. format(var, 32, "pv%dModelId=%d\n", v, PlayerVehicleInfo[playerid][v][pvModelId]);fwrite(hFile, var);
  43644. format(var, 32, "pv%dLock=%d\n", v, PlayerVehicleInfo[playerid][v][pvLock]);fwrite(hFile, var);
  43645. format(var, 32, "pv%dLocked=%d\n", v, PlayerVehicleInfo[playerid][v][pvLocked]);fwrite(hFile, var);
  43646. format(var, 32, "pv%dPaintJob=%d\n", v, PlayerVehicleInfo[playerid][v][pvPaintJob]);fwrite(hFile, var);
  43647. format(var, 32, "pv%dColor1=%d\n", v, PlayerVehicleInfo[playerid][v][pvColor1]);fwrite(hFile, var);
  43648. format(var, 32, "pv%dColor2=%d\n", v, PlayerVehicleInfo[playerid][v][pvColor2]);fwrite(hFile, var);
  43649. format(var, 32, "pv%dPrice=%d\n", v, PlayerVehicleInfo[playerid][v][pvPrice]);fwrite(hFile, var);
  43650. format(var, 32, "pv%dTicket=%d\n", v, PlayerVehicleInfo[playerid][v][pvTicket]);fwrite(hFile, var);
  43651. format(var, 32, "pv%dWeapon0=%d\n", v, PlayerVehicleInfo[playerid][v][pvWeapons][0]);fwrite(hFile, var);
  43652. format(var, 32, "pv%dWeapon1=%d\n", v, PlayerVehicleInfo[playerid][v][pvWeapons][1]);fwrite(hFile, var);
  43653. format(var, 32, "pv%dWeapon2=%d\n", v, PlayerVehicleInfo[playerid][v][pvWeapons][2]);fwrite(hFile, var);
  43654. format(var, 32, "pv%dWepUpgrade=%d\n", v, PlayerVehicleInfo[playerid][v][pvWepUpgrade]);fwrite(hFile, var);
  43655. format(var, 32, "pv%dFuel=%.2f\n", v, PlayerVehicleInfo[playerid][v][pvFuel]);fwrite(hFile, var);
  43656. format(var, 32, "pv%dImpound=%d\n", v, PlayerVehicleInfo[playerid][v][pvImpounded]);fwrite(hFile, var);
  43657. format(var, 32, "pv%dSpawned=%d\n", v, PlayerVehicleInfo[playerid][v][pvSpawned]);fwrite(hFile, var);
  43658. format(var, 32, "pv%dDisabled=%d\n", v, PlayerVehicleInfo[playerid][v][pvDisabled]);fwrite(hFile, var);
  43659. format(var, 128, "pv%dNumPlate=%s\n", v, PlayerVehicleInfo[playerid][v][pvNumberPlate]);fwrite(hFile, var);
  43660. for(new m = 0; m < MAX_MODS; m++)
  43661. {
  43662. format(var, 32, "pv%dMod%d=%d\n", v, m, PlayerVehicleInfo[playerid][v][pvMods][m]);fwrite(hFile, var);
  43663. }
  43664. //format(var, 32, "pv%dAllowedPlayer=%s\n", v, PlayerVehicleInfo[playerid][v][pvAllowPlayer]);fwrite(hFile, var);
  43665. }
  43666. format(var, 32, "OnDuty=%d\n",PlayerInfo[playerid][pDuty]);fwrite(hFile, var);
  43667. format(var, 32, "CarLic=%d\n",PlayerInfo[playerid][pCarLic]);fwrite(hFile, var);
  43668. format(var, 32, "FlyLic=%d\n",PlayerInfo[playerid][pFlyLic]);fwrite(hFile, var);
  43669. format(var, 32, "BoatLic=%d\n",PlayerInfo[playerid][pBoatLic]);fwrite(hFile, var);
  43670. format(var, 32, "FishLic=%d\n",PlayerInfo[playerid][pFishLic]);fwrite(hFile, var);
  43671. format(var, 32, "GunLic=%d\n",PlayerInfo[playerid][pGunLic]);fwrite(hFile, var);
  43672. format(var, 32, "Division=%d\n",PlayerInfo[playerid][pDivision]);fwrite(hFile, var);
  43673. format(var, 32, "TicketTime=%d\n",PlayerInfo[playerid][pTicketTime]);fwrite(hFile, var);
  43674. format(var, 32, "HeadValue=%d\n",PlayerInfo[playerid][pHeadValue]);fwrite(hFile, var);
  43675. format(var, 32, "ContractBy=%s\n",PlayerInfo[playerid][pContractBy]);fwrite(hFile, var);
  43676. format(var, 64, "ContractDetail=%s\n",PlayerInfo[playerid][pContractDetail]);fwrite(hFile, var);
  43677. format(var, 32, "Bombs=%d\n",PlayerInfo[playerid][pBombs]);fwrite(hFile, var);
  43678. format(var, 32, "CHits=%d\n",PlayerInfo[playerid][pCHits]);fwrite(hFile, var);
  43679. format(var, 32, "FHits=%d\n",PlayerInfo[playerid][pFHits]);fwrite(hFile, var);
  43680. format(var, 32, "PrisonedBy=%s\n", PlayerInfo[playerid][pPrisonedBy]);fwrite(hFile, var);
  43681. format(var, 128, "PrisonReason=%s\n", PlayerInfo[playerid][pPrisonReason]);fwrite(hFile, var);
  43682. format(var, 32, "AcceptReport=%d\n",PlayerInfo[playerid][pAcceptReport]);fwrite(hFile, var);
  43683. format(var, 32, "TrashReport=%d\n",PlayerInfo[playerid][pTrashReport]);fwrite(hFile, var);
  43684. format(var, 32, "Accent=%d\n",PlayerInfo[playerid][pAccent]);fwrite(hFile, var);
  43685. format(var, 32, "NewMuted=%d\n",PlayerInfo[playerid][pNMute]);fwrite(hFile, var);
  43686. format(var, 32, "NewMutedTotal=%d\n",PlayerInfo[playerid][pNMuteTotal]);fwrite(hFile, var);
  43687. format(var, 32, "AdMuted=%d\n",PlayerInfo[playerid][pADMute]);fwrite(hFile, var);
  43688. format(var, 32, "AdMutedTotal=%d\n",PlayerInfo[playerid][pADMuteTotal]);fwrite(hFile, var);
  43689. format(var, 32, "ReportMuted=%d\n",PlayerInfo[playerid][pRMuted]);fwrite(hFile, var);
  43690. format(var, 32, "ReportMutedTotal=%d\n",PlayerInfo[playerid][pRMutedTotal]);fwrite(hFile, var);
  43691. format(var, 32, "ReportMutedTime=%d\n",PlayerInfo[playerid][pRMutedTime]);fwrite(hFile, var);
  43692. format(var, 32, "Speedo=%d\n",PlayerInfo[playerid][pSpeedo]);fwrite(hFile, var);
  43693. format(var, 32, "GCMuted=%d\n",PlayerInfo[playerid][pGCMuted]);fwrite(hFile, var);
  43694. format(var, 32, "GCMutedTime=%d\n",PlayerInfo[playerid][pGCMutedTime]);fwrite(hFile, var);
  43695. format(var, 32, "CallsAccepted=%d\n", PlayerInfo[playerid][pCallsAccepted]);fwrite(hFile, var);
  43696. format(var, 32, "PatientsDelivered=%d\n",PlayerInfo[playerid][pPatientsDelivered]);fwrite(hFile, var);
  43697. format(var, 32, "TriageTime=%d\n",PlayerInfo[playerid][pTriageTime]);fwrite(hFile, var);
  43698. format(var, 32, "Married=%d\n",PlayerInfo[playerid][pMarried]);fwrite(hFile, var);
  43699. format(var, 32, "MarriedTo=%s\n",PlayerInfo[playerid][pMarriedTo]);fwrite(hFile, var);
  43700. for(new v = 0; v < MAX_PLAYERTOYS; v++)
  43701. {
  43702. format(var, 32, "pt%dModelID=%d\n", v, PlayerToyInfo[playerid][v][ptModelID]);fwrite(hFile, var);
  43703. format(var, 32, "pt%dBone=%d\n", v, PlayerToyInfo[playerid][v][ptBone]);fwrite(hFile, var);
  43704. format(var, 32, "pt%dPosX=%.5f\n", v, PlayerToyInfo[playerid][v][ptPosX]);fwrite(hFile, var);
  43705. format(var, 32, "pt%dPosY=%.5f\n", v, PlayerToyInfo[playerid][v][ptPosY]);fwrite(hFile, var);
  43706. format(var, 32, "pt%dPosZ=%.5f\n", v, PlayerToyInfo[playerid][v][ptPosZ]);fwrite(hFile, var);
  43707. format(var, 32, "pt%dRotX=%.5f\n", v, PlayerToyInfo[playerid][v][ptRotX]);fwrite(hFile, var);
  43708. format(var, 32, "pt%dRotY=%.5f\n", v, PlayerToyInfo[playerid][v][ptRotY]);fwrite(hFile, var);
  43709. format(var, 32, "pt%dRotZ=%.5f\n", v, PlayerToyInfo[playerid][v][ptRotZ]);fwrite(hFile, var);
  43710. format(var, 32, "pt%dScaX=%.5f\n", v, PlayerToyInfo[playerid][v][ptScaleX]);fwrite(hFile, var);
  43711. format(var, 32, "pt%dScaY=%.5f\n", v, PlayerToyInfo[playerid][v][ptScaleY]);fwrite(hFile, var);
  43712. format(var, 32, "pt%dScaZ=%.5f\n", v, PlayerToyInfo[playerid][v][ptScaleZ]);fwrite(hFile, var);
  43713. }
  43714. format(var, 256, "KillLog0=%s\n",PlayerInfo[playerid][pKillLog0]);fwrite(hFile, var);
  43715. format(var, 256, "KillLog1=%s\n",PlayerInfo[playerid][pKillLog1]);fwrite(hFile, var);
  43716. format(var, 256, "KillLog2=%s\n",PlayerInfo[playerid][pKillLog2]);fwrite(hFile, var);
  43717. format(var, 256, "KillLog3=%s\n",PlayerInfo[playerid][pKillLog3]);fwrite(hFile, var);
  43718. format(var, 256, "KillLog4=%s\n",PlayerInfo[playerid][pKillLog4]);fwrite(hFile, var);
  43719. format(var, 256, "KillLog5=%s\n",PlayerInfo[playerid][pKillLog5]);fwrite(hFile, var);
  43720. format(var, 256, "KillLog6=%s\n",PlayerInfo[playerid][pKillLog6]);fwrite(hFile, var);
  43721. format(var, 256, "KillLog7=%s\n",PlayerInfo[playerid][pKillLog7]);fwrite(hFile, var);
  43722. format(var, 256, "KillLog8=%s\n",PlayerInfo[playerid][pKillLog8]);fwrite(hFile, var);
  43723. format(var, 256, "KillLog9=%s\n",PlayerInfo[playerid][pKillLog9]);fwrite(hFile, var);
  43724. format(var, 128, "Flag=%s\n", PlayerInfo[playerid][pFlag]);fwrite(hFile, var);
  43725. format(var, 128, "ReferredBy=%s\n", PlayerInfo[playerid][pReferredBy]);fwrite(hFile, var);
  43726. format(var, 32, "RefTokens=%d\n",PlayerInfo[playerid][pRefTokens]);fwrite(hFile, var);
  43727. format(var, 32, "WepRes=%d\n",PlayerInfo[playerid][pWepRes]);fwrite(hFile, var);
  43728. format(var, 32, "TT=%d\n",PlayerInfo[playerid][pTT]);fwrite(hFile, var);
  43729. format(var, 32, "NC=%d\n",PlayerInfo[playerid][pNC]);fwrite(hFile, var);
  43730. format(var, 32, "BizID=%d\n",PlayerInfo[playerid][pBizID]);fwrite(hFile, var);
  43731. format(var, 32, "Claim=%d\n",PlayerInfo[playerid][pClaim]);fwrite(hFile, var);
  43732. format(var, 32, "Land=%d\n",PlayerInfo[playerid][pLand]);fwrite(hFile, var);
  43733. format(var, 32, "Pills=%d\n",PlayerInfo[playerid][pPills]);fwrite(hFile, var);
  43734. format(var, 32, "Crew1=%d\n",PlayerInfo[playerid][pCrew1]);fwrite(hFile, var);
  43735. format(var, 32, "Crew2=%d\n",PlayerInfo[playerid][pCrew2]);fwrite(hFile, var);
  43736. format(var, 32, "Crew3=%d\n",PlayerInfo[playerid][pCrew3]);fwrite(hFile, var);
  43737. format(var, 32, "Former=%d\n",PlayerInfo[playerid][pFormer]);fwrite(hFile, var);
  43738. format(var, 32, "Old School=%d\n",PlayerInfo[playerid][pOS]);fwrite(hFile, var);
  43739. format(var, 32, "Vintage=%d\n",PlayerInfo[playerid][pVintage]);fwrite(hFile, var);
  43740. format(var, 32, "Famed=%d\n",PlayerInfo[playerid][pFamed]);fwrite(hFile, var);
  43741. format(var, 32, "RefTokensOffline=%d\n",PlayerInfo[playerid][pRefTokensOffline]);fwrite(hFile, var);
  43742. format(var, 32, "Helper=%d\n",PlayerInfo[playerid][pHelper]);fwrite(hFile, var);
  43743. format(var, 32, "Backpack=%d\n",PlayerInfo[playerid][pBackpack]);fwrite(hFile, var);
  43744. format(var, 32, "BackpackPot=%d\n",PlayerInfo[playerid][pBPPot]);fwrite(hFile, var);
  43745. format(var, 32, "BackpackCrack=%d\n",PlayerInfo[playerid][pBPCrack]);fwrite(hFile, var);
  43746. format(var, 32, "Wearing=%d\n",PlayerInfo[playerid][pWearingBP]);fwrite(hFile, var);
  43747. format(var, 32, "LiveBanned=%d\n",PlayerInfo[playerid][pLiveBanned]);fwrite(hFile, var);
  43748. fclose(hFile);
  43749. }
  43750. return 1;
  43751. }
  43752. forward OnPlayerLogin(playerid,password[]);
  43753. public OnPlayerLogin(playerid,password[])
  43754. {
  43755. new string[128];
  43756. new playername2[MAX_PLAYER_NAME];
  43757. GetPlayerName(playerid, playername2, sizeof(playername2));
  43758. format(string, sizeof(string), "users/%s.ini", playername2);
  43759. new File: UserFile = fopen(string, io_read);
  43760. if(UserFile)
  43761. {
  43762. new PassData[256];
  43763. new keytmp[256], valtmp[256];
  43764. fread(UserFile , PassData , sizeof(PassData));
  43765. keytmp = ini_GetKey(PassData);
  43766. if(strcmp(keytmp , "Key" , true) == 0)
  43767. {
  43768. valtmp = Ini_Value(PassData);
  43769. strmid(PlayerInfo[playerid][pKey], valtmp, 0, strlen(valtmp)-1, 255);
  43770. }
  43771. if(strcmp(PlayerInfo[playerid][pKey],password,true) == 0)
  43772. {
  43773. new key[ 256 ] , val[ 256 ];
  43774. new Data[ 256 ];
  43775. while (fread(UserFile , Data , sizeof(Data)))
  43776. {
  43777. key = ini_GetKey(Data);
  43778. if(strcmp(key , "Level" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pLevel] = strval(val); }
  43779. if(strcmp(key , "AdminLevel" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pAdmin] = strval(val); }
  43780. if(strcmp(key, "AdminName", true) == 0) { val = Ini_Value(Data); strmid(PlayerInfo[playerid][pAdminName], val, 0, strlen(val)-1, 255); }
  43781. if(strcmp(key , "BanAppealer" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pBanAppealer] = strval(val); }
  43782. if(strcmp(key , "GangMod" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pGangMod] = strval(val); }
  43783. if(strcmp(key , "FactionMod" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pFactionMod] = strval(val); }
  43784. if(strcmp(key , "HelperMod" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pHelperMod] = strval(val); }
  43785. if(strcmp(key , "Donator" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pDonator] = strval(val); }
  43786. if(strcmp(key , "Band" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pBanned] = strval(val); }
  43787. if(strcmp(key , "WalkStyle" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pWalkStyle] = strval(val); }
  43788. if(strcmp(key , "PermBand" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pPermaBanned] = strval(val); }
  43789. if(strcmp(key , "Disabled" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pDisabled] = strval(val); }
  43790. if(strcmp(key , "IP" , true) == 0) { val = Ini_Value(Data); strmid(PlayerInfo[playerid][pIP], val, 0, strlen(val)-1, 255); }
  43791. if(strcmp(key , "Registered" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pReg] = strval(val); }
  43792. if(strcmp(key , "Tutorial" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pTut] = strval(val); }
  43793. if(strcmp(key , "Sex" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pSex] = strval(val); }
  43794. if(strcmp(key , "Age" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pAge] = strval(val); }
  43795. if(strcmp(key , "Skin" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pSkin] = strval(val); }
  43796. if(strcmp(key , "SPos_x" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pPos_x] = floatstr(val); }
  43797. if(strcmp(key , "SPos_y" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pPos_y] = floatstr(val); }
  43798. if(strcmp(key , "SPos_z" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pPos_z] = floatstr(val); }
  43799. if(strcmp(key , "SPos_r" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pPos_r] = floatstr(val); }
  43800. if(strcmp(key , "ConnectedTime" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pConnectTime] = strval(val); }
  43801. if(strcmp(key , "Respect" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pRespect] = strval(val); }
  43802. if(strcmp(key , "PhoneNr" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pNumber] = strval(val); }
  43803. if(strcmp(key , "Warnings" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pWarns] = strval(val); }
  43804. if(strcmp(key , "Gang" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pGang] = strval(val); }
  43805. if(strcmp(key , "Faction" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pFaction] = strval(val); }
  43806. if(strcmp(key , "Leader" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pLeader] = strval(val); }
  43807. if(strcmp(key , "Rank" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pRank] = strval(val); }
  43808. if(strcmp(key , "Job" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pJob] = strval(val); }
  43809. if(strcmp(key , "Job2" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pJob2] = strval(val); }
  43810. if(strcmp(key , "UpgradePoints" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][gPupgrade] = strval(val); }
  43811. if(strcmp(key , "SpawnArmor" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pSarmor] = strval(val); }
  43812. if(strcmp(key , "Cash" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pCash] = strval(val); }
  43813. if(strcmp(key , "Bank" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pBank] = strval(val); }
  43814. if(strcmp(key , "Insurance" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pInsurance] = strval(val); }
  43815. if(strcmp(key , "Crimes" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pCrimes] = strval(val); }
  43816. if(strcmp(key , "Arrested" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pArrested] = strval(val); }
  43817. if(strcmp(key , "WantedLevel" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pWantedLevel] = strval(val); }
  43818. if(strcmp(key , "Health" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pHealth] = floatstr(val); }
  43819. if(strcmp(key , "Armor" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pArmor] = floatstr(val); }
  43820. if(strcmp(key , "Pot" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pPot] = strval(val); }
  43821. if(strcmp(key , "Crack" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pCrack] = strval(val); }
  43822. if(strcmp(key , "Radio" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pRadio] = strval(val); }
  43823. if(strcmp(key , "RadioFreq" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pRadioFreq] = strval(val); }
  43824. if(strcmp(key , "Phonebook" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pPhoneBook] = strval(val); }
  43825. if(strcmp(key , "Dice" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pDice] = strval(val); }
  43826. if(strcmp(key , "CDPlayer" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pCDPlayer] = strval(val); }
  43827. if(strcmp(key , "Materials" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pMats] = strval(val); }
  43828. if(strcmp(key , "Rope" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pRope] = strval(val); }
  43829. if(strcmp(key , "Cigars" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pCigar] = strval(val); }
  43830. if(strcmp(key , "Sprunk" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pSprunk] = strval(val); }
  43831. if(strcmp(key , "Spraycan" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pSpraycan] = strval(val); }
  43832. if(strcmp(key , "House" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pHouse] = strval(val); }
  43833. if(strcmp(key , "House2" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pHouse2] = strval(val); }
  43834. if(strcmp(key , "Renting" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pRenting] = strval(val); }
  43835. if(strcmp(key , "Int" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pInt] = strval(val); }
  43836. if(strcmp(key , "VirtualWorld" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pVW] = strval(val); }
  43837. if(strcmp(key , "Jailed" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pJailed] = strval(val); }
  43838. if(strcmp(key , "JailTime" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pJailTime] = strval(val); }
  43839. for(new s = 0; s < 12; s++)
  43840. {
  43841. format(string, 128, "Gun%d", s);
  43842. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pGuns][s] = strval(val); }
  43843. }
  43844. if(strcmp(key , "Paycheck" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pPayCheck] = strval(val); }
  43845. if(strcmp(key , "PayReady" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pPayReady] = strval(val); }
  43846. if(strcmp(key , "Hospital" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pHospital] = strval(val); }
  43847. if(strcmp(key , "DetSkill" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pDetSkill] = strval(val); }
  43848. if(strcmp(key , "LawSkill" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pLawSkill] = strval(val); }
  43849. if(strcmp(key , "SexSkill" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pSexSkill] = strval(val); }
  43850. if(strcmp(key , "DrugsSkill" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pDrugsSkill] = strval(val); }
  43851. if(strcmp(key , "SmugglerSkill" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pSmugSkill] = strval(val); }
  43852. if(strcmp(key , "ArmsSkill" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pArmsSkill] = strval(val); }
  43853. if(strcmp(key , "MechSkill" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pMechSkill] = strval(val); }
  43854. if(strcmp(key , "FishSkill" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pFishSkill] = strval(val); }
  43855. if(strcmp(key , "BoxSkill" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pBoxSkill] = strval(val); }
  43856. if(strcmp(key , "TruckSkill" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pTruckSkill] = strval(val); }
  43857. if(strcmp(key , "CarSkill" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pCarSkill] = strval(val); }
  43858. //if(strcmp(key , "CraftSkill" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pCraftSkill] = strval(val); }
  43859. if(strcmp(key , "LawyerTime" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pLawyerTime] = strval(val); }
  43860. if(strcmp(key , "LawyerFreeTime" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pLawyerFreeTime] = strval(val); }
  43861. if(strcmp(key , "DrugsTime" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pDrugsTime] = strval(val); }
  43862. if(strcmp(key , "MechTime" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pMechTime] = strval(val); }
  43863. if(strcmp(key , "SexTime" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pSexTime] = strval(val); }
  43864. if(strcmp(key , "CarTime" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pCarTime] = strval(val); }
  43865. if(strcmp(key , "Fishes" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pFishes] = strval(val); }
  43866. if(strcmp(key , "BiggestFish" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pBiggestFish] = strval(val); }
  43867. if(strcmp(key , "pWExists" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pWeedObject] = strval(val); }
  43868. if(strcmp(key , "pWX" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pWeedPos][0] = floatstr(val); }
  43869. if(strcmp(key , "pWY" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pWeedPos][1] = floatstr(val); }
  43870. if(strcmp(key , "pWZ" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pWeedPos][2] = floatstr(val); }
  43871. if(strcmp(key , "pWVW" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pWeedVW] = strval(val); }
  43872. if(strcmp(key , "pWInt" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pWeedInt] = strval(val); }
  43873. if(strcmp(key , "pWValue" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pWeedGrowth] = strval(val); }
  43874. if(strcmp(key , "pWSeeds" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pWSeeds] = strval(val); }
  43875. if(strcmp(key , "Wins" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pWins] = strval(val); }
  43876. if(strcmp(key , "Loses" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pLoses] = strval(val); }
  43877. if(strcmp(key , "FightingStyle" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pFightStyle] = strval(val); }
  43878. if(strcmp(key , "Screwdriver" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pScrewdriver] = strval(val); }
  43879. if(strcmp(key , "Smslog" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pSmslog] = strval(val); }
  43880. if(strcmp(key , "Wristwatch" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pWristwatch] = strval(val); }
  43881. if(strcmp(key , "Tire" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pTire] = strval(val); }
  43882. if(strcmp(key , "Firstaid" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pFirstaid] = strval(val); }
  43883. if(strcmp(key , "Rccam" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pRccam] = strval(val); }
  43884. if(strcmp(key , "Receiver" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pReceiver] = strval(val); }
  43885. if(strcmp(key , "GPS" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pGPS] = strval(val); }
  43886. if(strcmp(key , "Sweep" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pSweep] = strval(val); }
  43887. if(strcmp(key , "SweepLeft" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pSweepLeft] = strval(val); }
  43888. if(strcmp(key , "Bugged" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pBugged] = strval(val); }
  43889. for(new v = 0; v < MAX_PLAYERVEHICLES; v++)
  43890. {
  43891. format(string, 128, "pv%dPosX",v);
  43892. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[playerid][v][pvPosX] = floatstr(val); }
  43893. format(string, 128, "pv%dPosY",v);
  43894. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[playerid][v][pvPosY] = floatstr(val); }
  43895. format(string, 128, "pv%dPosZ",v);
  43896. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[playerid][v][pvPosZ] = floatstr(val); }
  43897. format(string, 128, "pv%dPosAngle",v);
  43898. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[playerid][v][pvPosAngle] = floatstr(val); }
  43899. format(string, 128, "pv%dModelId",v);
  43900. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[playerid][v][pvModelId] = strval(val); }
  43901. format(string, 128, "pv%dLock",v);
  43902. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[playerid][v][pvLock] = strval(val); }
  43903. format(string, 128, "pv%dLocked",v);
  43904. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[playerid][v][pvLocked] = strval(val); }
  43905. format(string, 128, "pv%dPaintJob",v);
  43906. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[playerid][v][pvPaintJob] = strval(val); }
  43907. format(string, 128, "pv%dColor1",v);
  43908. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[playerid][v][pvColor1] = strval(val); }
  43909. format(string, 128, "pv%dColor2",v);
  43910. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[playerid][v][pvColor2] = strval(val); }
  43911. format(string, 128, "pv%dPrice",v);
  43912. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[playerid][v][pvPrice] = strval(val); }
  43913. format(string, 128, "pv%dTicket",v);
  43914. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[playerid][v][pvTicket] = strval(val); }
  43915. format(string, 128, "pv%dWeapon0",v);
  43916. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[playerid][v][pvWeapons][0] = strval(val); }
  43917. format(string, 128, "pv%dWeapon1",v);
  43918. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[playerid][v][pvWeapons][1] = strval(val); }
  43919. format(string, 128, "pv%dWeapon2",v);
  43920. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[playerid][v][pvWeapons][2] = strval(val); }
  43921. format(string, 128, "pv%dWepUpgrade",v);
  43922. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[playerid][v][pvWepUpgrade] = strval(val); }
  43923. format(string, 128, "pv%dFuel",v);
  43924. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[playerid][v][pvFuel] = floatstr(val); }
  43925. format(string, 128, "pv%dImpound",v);
  43926. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[playerid][v][pvImpounded] = strval(val); }
  43927. format(string, 128, "pv%dSpawned",v);
  43928. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[playerid][v][pvSpawned] = strval(val); }
  43929. format(string, 128, "pv%dDisabled",v);
  43930. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[playerid][v][pvDisabled] = strval(val); }
  43931. format(string, 128, "pv%dNumPlate",v);
  43932. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); strmid(PlayerVehicleInfo[playerid][v][pvNumberPlate], val, 0, strlen(val)-1, 32); }
  43933. for(new m = 0; m < MAX_MODS; m++)
  43934. {
  43935. format(string, 128, "pv%dMod%d", v, m);
  43936. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[playerid][v][pvMods][m] = strval(val); }
  43937. }
  43938. //format(string, 128, "pv%dAllowedPlayer",v);
  43939. //if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); strmid(PlayerVehicleInfo[playerid][v][pvAllowPlayer], val, 0, strlen(val)-1, 255); }
  43940. }
  43941. if(strcmp(key , "OnDuty" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pDuty] = strval(val); }
  43942. if(strcmp(key , "CarLic" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pCarLic] = strval(val); }
  43943. if(strcmp(key , "FlyLic" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pFlyLic] = strval(val); }
  43944. if(strcmp(key , "BoatLic" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pBoatLic] = strval(val); }
  43945. if(strcmp(key , "FishLic" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pFishLic] = strval(val); }
  43946. if(strcmp(key , "GunLic" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pGunLic] = strval(val); }
  43947. if(strcmp(key , "Division" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pDivision] = strval(val); }
  43948. if(strcmp(key , "TicketTime" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pTicketTime] = strval(val); }
  43949. if(strcmp(key , "HeadValue" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pHeadValue] = strval(val); }
  43950. if(strcmp(key , "ContractBy" , true) == 0) { val = Ini_Value(Data); strmid(PlayerInfo[playerid][pContractBy], val, 0, strlen(val)-1, 255); }
  43951. if(strcmp(key , "ContractDetail" , true) == 0) { val = Ini_Value(Data); strmid(PlayerInfo[playerid][pContractDetail], val, 0, strlen(val)-1, 255); }
  43952. if(strcmp(key , "Bombs" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pBombs] = strval(val); }
  43953. if(strcmp(key , "CHits" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pCHits] = strval(val); }
  43954. if(strcmp(key , "FHits" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pFHits] = strval(val); }
  43955. if(strcmp(key, "PrisonedBy", true) == 0) { val = Ini_Value(Data); strmid(PlayerInfo[playerid][pPrisonedBy], val, 0, strlen(val)-1, 255); }
  43956. if(strcmp(key, "PrisonReason", true) == 0) { val = Ini_Value(Data); strmid(PlayerInfo[playerid][pPrisonReason], val, 0, strlen(val)-1, 255); }
  43957. if(strcmp(key , "AcceptReport" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pAcceptReport] = strval(val); }
  43958. if(strcmp(key , "TrashReport" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pTrashReport] = strval(val); }
  43959. if(strcmp(key , "Accent" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pAccent] = strval(val); }
  43960. if(strcmp(key , "NewMuted" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pNMute] = strval(val); }
  43961. if(strcmp(key , "NewMutedTotal" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pNMuteTotal] = strval(val); }
  43962. if(strcmp(key , "AdMuted" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pADMute] = strval(val); }
  43963. if(strcmp(key , "AdMutedTotal" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pADMuteTotal] = strval(val); }
  43964. if(strcmp(key , "ReportMuted" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pRMuted] = strval(val); }
  43965. if(strcmp(key , "ReportMutedTotal" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pRMutedTotal] = strval(val); }
  43966. if(strcmp(key , "ReportMutedTime" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pRMutedTime] = strval(val); }
  43967. if(strcmp(key , "Speedo" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pSpeedo] = strval(val); }
  43968. if(strcmp(key , "GCMuted" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pGCMuted] = strval(val); }
  43969. if(strcmp(key , "GCMutedTime" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pGCMutedTime] = strval(val); }
  43970. if(strcmp(key , "CallsAccepted" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pCallsAccepted] = strval(val); }
  43971. if(strcmp(key , "PatientsDelivered" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pPatientsDelivered] = strval(val); }
  43972. if(strcmp(key , "TriageTime" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pTriageTime] = strval(val); }
  43973. if(strcmp(key , "Married" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pMarried] = strval(val); }
  43974. if(strcmp(key , "MarriedTo" , true) == 0) { val = Ini_Value(Data); strmid(PlayerInfo[playerid][pMarriedTo], val, 0, strlen(val)-1, 255); }
  43975. for(new v = 0; v < MAX_PLAYERTOYS; v++)
  43976. {
  43977. format(string, 128, "pt%dModelID",v);
  43978. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerToyInfo[playerid][v][ptModelID] = strval(val); }
  43979. format(string, 128, "pt%dBone",v);
  43980. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerToyInfo[playerid][v][ptBone] = strval(val); }
  43981. format(string, 128, "pt%dPosX",v);
  43982. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerToyInfo[playerid][v][ptPosX] = floatstr(val); }
  43983. format(string, 128, "pt%dPosY",v);
  43984. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerToyInfo[playerid][v][ptPosY] = floatstr(val); }
  43985. format(string, 128, "pt%dPosZ",v);
  43986. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerToyInfo[playerid][v][ptPosZ] = floatstr(val); }
  43987. format(string, 128, "pt%dRotX",v);
  43988. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerToyInfo[playerid][v][ptRotX] = floatstr(val); }
  43989. format(string, 128, "pt%dRotY",v);
  43990. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerToyInfo[playerid][v][ptRotY] = floatstr(val); }
  43991. format(string, 128, "pt%dRotZ",v);
  43992. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerToyInfo[playerid][v][ptRotZ] = floatstr(val); }
  43993. format(string, 128, "pt%dScaX",v);
  43994. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerToyInfo[playerid][v][ptScaleX] = floatstr(val); }
  43995. format(string, 128, "pt%dScaY",v);
  43996. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerToyInfo[playerid][v][ptScaleY] = floatstr(val); }
  43997. format(string, 128, "pt%dScaZ",v);
  43998. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerToyInfo[playerid][v][ptScaleZ] = floatstr(val); }
  43999. }
  44000. if(strcmp(key , "KillLog0" , true) == 0) { val = Ini_Value(Data); strmid(PlayerInfo[playerid][pKillLog0], val, 0, strlen(val)-1, 255); }
  44001. if(strcmp(key , "KillLog1" , true) == 0) { val = Ini_Value(Data); strmid(PlayerInfo[playerid][pKillLog1], val, 0, strlen(val)-1, 255); }
  44002. if(strcmp(key , "KillLog2" , true) == 0) { val = Ini_Value(Data); strmid(PlayerInfo[playerid][pKillLog2], val, 0, strlen(val)-1, 255); }
  44003. if(strcmp(key , "KillLog3" , true) == 0) { val = Ini_Value(Data); strmid(PlayerInfo[playerid][pKillLog3], val, 0, strlen(val)-1, 255); }
  44004. if(strcmp(key , "KillLog4" , true) == 0) { val = Ini_Value(Data); strmid(PlayerInfo[playerid][pKillLog4], val, 0, strlen(val)-1, 255); }
  44005. if(strcmp(key , "KillLog5" , true) == 0) { val = Ini_Value(Data); strmid(PlayerInfo[playerid][pKillLog5], val, 0, strlen(val)-1, 255); }
  44006. if(strcmp(key , "KillLog6" , true) == 0) { val = Ini_Value(Data); strmid(PlayerInfo[playerid][pKillLog6], val, 0, strlen(val)-1, 255); }
  44007. if(strcmp(key , "KillLog7" , true) == 0) { val = Ini_Value(Data); strmid(PlayerInfo[playerid][pKillLog7], val, 0, strlen(val)-1, 255); }
  44008. if(strcmp(key , "KillLog8" , true) == 0) { val = Ini_Value(Data); strmid(PlayerInfo[playerid][pKillLog8], val, 0, strlen(val)-1, 255); }
  44009. if(strcmp(key , "KillLog9" , true) == 0) { val = Ini_Value(Data); strmid(PlayerInfo[playerid][pKillLog9], val, 0, strlen(val)-1, 255); }
  44010. if(strcmp(key, "Flag", true) == 0) { val = Ini_Value(Data); strmid(PlayerInfo[playerid][pFlag], val, 0, strlen(val)-1, 255); }
  44011. if(strcmp(key, "ReferredBy", true) == 0) { val = Ini_Value(Data); strmid(PlayerInfo[playerid][pReferredBy], val, 0, strlen(val)-1, 255); }
  44012. if(strcmp(key , "RefTokens" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pRefTokens] = strval(val); }
  44013. if(strcmp(key , "WepRes" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pWepRes] = strval(val); }
  44014. if(strcmp(key , "TT" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pTT] = strval(val); }
  44015. if(strcmp(key , "NC" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pNC] = strval(val); }
  44016. if(strcmp(key , "BizID" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pBizID] = strval(val); }
  44017. if(strcmp(key , "Claim" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pClaim] = strval(val); }
  44018. if(strcmp(key , "Land" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pLand] = strval(val); }
  44019. if(strcmp(key , "Pills" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pPills] = strval(val); }
  44020. if(strcmp(key , "Crew1" , true ) == 0 ) { val = Ini_Value(Data); PlayerInfo[playerid][pCrew1] = strval(val); }
  44021. if(strcmp(key , "Crew2" , true ) == 0 ) { val = Ini_Value(Data); PlayerInfo[playerid][pCrew2] = strval(val); }
  44022. if(strcmp(key , "Crew3" , true ) == 0 ) { val = Ini_Value(Data); PlayerInfo[playerid][pCrew3] = strval(val); }
  44023. if(strcmp(key , "Former" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pFormer] = strval(val); }
  44024. if(strcmp(key , "Old School" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pOS] = strval(val); }
  44025. if(strcmp(key , "Vintage" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pVintage] = strval(val); }
  44026. if(strcmp(key , "Famed" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pFamed] = strval(val); }
  44027. if(strcmp(key , "RefTokensOffline" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pRefTokensOffline] = strval(val); }
  44028. if(strcmp(key , "Helper" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pHelper] = strval(val); }
  44029. if(strcmp(key , "Backpack", true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pBackpack] = strval(val); }
  44030. if(strcmp(key , "BackpackPot", true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pBPPot] = strval(val); }
  44031. if(strcmp(key , "BackpackCrack", true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pBPCrack] = strval(val); }
  44032. if(strcmp(key , "BackpackCash", true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pBPCash] = strval(val); }
  44033. if(strcmp(key , "Wearing", true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pWearingBP] = strval(val); }
  44034. if(strcmp(key , "LiveBanned" , true) == 0) { val = Ini_Value(Data); PlayerInfo[playerid][pLiveBanned] = strval(val); }
  44035. if(PlayerInfo[playerid][pWearingBP] == 1)
  44036. {
  44037. SetPlayerAttachedObject(playerid, 9, 3026, 1, -0.125, -0.046, -0.004, -1.299, -0.5, -6.297, 1.0, 1.0, 1.0); // Backpack
  44038. PlayerInfo[MAX_PLAYERS][pWearingBP] = 1;
  44039. }
  44040. }//end while
  44041. fclose(UserFile);//close the file after everything has been read in the while
  44042. }
  44043. else
  44044. {
  44045. ShowMainMenuDialog(playerid, 3);
  44046. gPlayerLogTries[playerid] += 1;
  44047. if(gPlayerLogTries[playerid] == 2) { SendClientMessage(playerid, COLOR_NEWS, "Wrong password, you have been kicked out automatically."); Kick(playerid); }
  44048. return 1;
  44049. }
  44050. if(PlayerInfo[playerid][pHospital] == 1)
  44051. {
  44052. PlayerInfo[playerid][pHospital] = 0;
  44053. SetPVarInt(playerid, "MedicBill", 1);
  44054. }
  44055. TotalLogin++;
  44056. GetPlayerIp(playerid, PlayerInfo[playerid][pIP], 16);
  44057. if(PlayerInfo[playerid][pBanned] >= 1 || PlayerInfo[playerid][pPermaBanned] >= 1)
  44058. {
  44059. format(string, sizeof(string), "WARNING: %s (IP:%s) tried to login whilst banned and has been auto-banned.", GetPlayerNameEx(playerid), PlayerInfo[playerid][pIP]);
  44060. ABroadCast(COLOR_YELLOW, string, 1);
  44061. AddBan(PlayerInfo[playerid][pIP]);
  44062. Log("logs/ban.log", string);
  44063. return Kick(playerid);
  44064. }
  44065. if(PlayerInfo[playerid][pTut] == 1)
  44066. PlayerPlaySound(playerid,SOUND_OFF,2050.1995, 1344.5500, 13.2378); //Music Off
  44067. gPlayerLogged[playerid] = 1;
  44068. SpawnPlayer(playerid);
  44069. SetPlayerScore(playerid, PlayerInfo[playerid][pLevel]);
  44070. if(PlayerInfo[playerid][pTut] == 1)
  44071. {
  44072. HideMainMenuGUI(playerid);
  44073. InsideTut[playerid] = 0;
  44074. }
  44075. if(PlayerInfo[playerid][pSmslog] >= 1) {
  44076. format(string, sizeof(string), "SMS logs have been removed, you have been refunded %d materials.", PlayerInfo[playerid][pSmslog] * 2000);
  44077. SendClientMessage(playerid, COLOR_GREY, string);
  44078. PlayerInfo[playerid][pMats] += PlayerInfo[playerid][pSmslog] * 2000;
  44079. PlayerInfo[playerid][pSmslog] = 0;
  44080. }
  44081. if(PlayerInfo[playerid][pSprunk] > 10) {
  44082. format(string, sizeof(string), "You're carrying too much Sprunk. You now have 10 cans, and have been refunded $%d for your loss.", PlayerInfo[playerid][pSprunk] - 10);
  44083. SendClientMessage(playerid, COLOR_GREY, string);
  44084. PlayerInfo[playerid][pCash] += PlayerInfo[playerid][pSprunk] - 10;
  44085. PlayerInfo[playerid][pSprunk] = 10;
  44086. }
  44087. if(PlayerInfo[playerid][pDisabled] != 0)
  44088. {
  44089. format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s has been auto kicked because their account is disabled.", GetPlayerNameEx(playerid));
  44090. ABroadCast(COLOR_YELLOW, string, 4);
  44091. SendClientMessage(playerid, COLOR_NEWS, "This account is disabled. Please contact us via the forum ("WEBSITE").");
  44092. return Kick(playerid);
  44093. }
  44094. if(PlayerInfo[playerid][pAdmin] < 0 || PlayerInfo[playerid][pAdmin] > 8)
  44095. {
  44096. new name[MAX_PLAYER_NAME];
  44097. GetPlayerName(playerid, name, sizeof(name));
  44098. format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s attempted to log in with Admin Level %d.", GetPlayerNameEx(playerid), PlayerInfo[playerid][pAdmin]);
  44099. PlayerInfo[playerid][pAdmin] = 0;
  44100. ABroadCast(COLOR_YELLOW, string, 4);
  44101. return Kick(playerid);
  44102. }
  44103. if(AdminLoggedInBefore[playerid] == 0 && PlayerInfo[playerid][pTut] == 1)
  44104. {
  44105. format(string, sizeof(string), "Welcome to Sleepless Roleplay, %s.", GetPlayerNameEx(playerid));
  44106. SendClientMessage(playerid, COLOR_NEWS, string);
  44107. }
  44108. if(PlayerInfo[playerid][pPos_x] == 0.0 && PlayerInfo[playerid][pPos_y] == 0.0 && PlayerInfo[playerid][pPos_z] == 0.0)
  44109. {
  44110. SetSpawnInfo(playerid, 0, PlayerInfo[playerid][pSkin],1529.6,-1691.2,13.3, 1.0, -1, -1, -1, -1, -1, -1);
  44111. }
  44112. else
  44113. {
  44114. SetSpawnInfo(playerid, 0, PlayerInfo[playerid][pSkin], PlayerInfo[playerid][pPos_x], PlayerInfo[playerid][pPos_y], PlayerInfo[playerid][pPos_z], 1.0, -1, -1, -1, -1, -1, -1);
  44115. }
  44116. if(PlayerInfo[playerid][pAdmin] > 0 && AdminLoggedInBefore[playerid] == 0 && PlayerInfo[playerid][pTut] == 1)
  44117. {
  44118. format(string, sizeof(string), "You have logged in as Level %d Admin.",PlayerInfo[playerid][pAdmin]);
  44119. SendClientMessage(playerid, COLOR_WHITE,string);
  44120. if(strlen(PlayerInfo[playerid][pAdminName]) > 2 && strlen(PlayerInfo[playerid][pAdminName]) < 20)
  44121. {
  44122. format(string, sizeof(string), "%s (%s) has logged in as Level %d Admin.", GetPlayerNameEx(playerid), PlayerInfo[playerid][pAdminName], PlayerInfo[playerid][pAdmin]);
  44123. }
  44124. else
  44125. {
  44126. format(string, sizeof(string), "%s (No admin name set) has logged in as Level %d Admin.", GetPlayerNameEx(playerid), PlayerInfo[playerid][pAdmin]);
  44127. }
  44128. foreach(Player, i)
  44129. {
  44130. if(PlayerInfo[i][pAdmin] >= 5 && PlayerInfo[i][pAdmin] >= PlayerInfo[playerid][pAdmin] && i != playerid)
  44131. {
  44132. SendClientMessage(i, COLOR_WHITE, string);
  44133. }
  44134. }
  44135. StopAudioStreamForPlayer(playerid);
  44136. }
  44137. if(PlayerInfo[playerid][pInt] > 0 || PlayerInfo[playerid][pVW] > 0)
  44138. {
  44139. TogglePlayerControllable(playerid, 0);
  44140. for(new o = 0; o < 2; o++)
  44141. {
  44142. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  44143. }
  44144. SetPVarInt(playerid, "LoadingObjects", 1);
  44145. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  44146. }
  44147. SkinDelay(playerid);
  44148. if(AdminLoggedInBefore[playerid] == 0 && PlayerInfo[playerid][pTut] == 1)
  44149. {
  44150. format(string, sizeof(string), "~w~Welcome~n~~y~%s", GetPlayerNameEx(playerid));
  44151. GameTextForPlayer(playerid, string, 5000, 1);
  44152. new motdstring[128];
  44153. format(motdstring, sizeof(motdstring), "News: %s", GlobalMOTD);
  44154. SendClientMessage(playerid, COLOR_WHITE, motdstring);
  44155. new amotdstring[128];
  44156. format(amotdstring, sizeof(amotdstring), "Admin News: %s", AdminMOTD);
  44157. if(PlayerInfo[playerid][pAdmin] > 0) SendClientMessage(playerid, COLOR_YELLOW, amotdstring);
  44158. }
  44159. SetPlayerFightingStyle(playerid, PlayerInfo[playerid][pFightStyle]);
  44160. if(AdminLoggedInBefore[playerid] == 0)
  44161. {
  44162. LoadPlayerVehicles(playerid);
  44163. }
  44164. SetPlayerToTeamColor(playerid);
  44165. if(AdminLoggedInBefore[playerid] == 0)
  44166. {
  44167. if(PlayerInfo[playerid][pGang] < 255 && PlayerInfo[playerid][pTut] == 1)
  44168. {
  44169. format(string, sizeof(string), "Family MOTD: %s.", FamilyInfo[PlayerInfo[playerid][pGang]][FamilyMOTD]);
  44170. SendClientMessage(playerid, COLOR_YELLOW, string);
  44171. format(string, sizeof(string), "* %s from your family has logged in.", GetPlayerNameEx(playerid));
  44172. SendNewFamilyMessage(PlayerInfo[playerid][pGang], COLOR_LIGHTSLATEGRAY, string);
  44173. }
  44174. if(PlayerInfo[playerid][pFaction] >= 1)
  44175. {
  44176. if(PlayerInfo[playerid][pFaction] == 1)
  44177. {
  44178. format(string, sizeof(string), "LSPD MOTD: %s.", LSPDmotd);
  44179. SCM(playerid, COLOR_YELLOW, string);
  44180. }
  44181. else if(PlayerInfo[playerid][pFaction] == 2)
  44182. {
  44183. format(string, sizeof(string), "FBI MOTD: %s", FBImotd);
  44184. SCM(playerid, COLOR_YELLOW, string);
  44185. }
  44186. else if(PlayerInfo[playerid][pFaction] == 10)
  44187. {
  44188. format(string, sizeof(string), "ARES MOTD: %s", ARESmotd);
  44189. SCM(playerid, COLOR_YELLOW, string);
  44190. }
  44191. else if(PlayerInfo[playerid][pFaction] == 11)
  44192. {
  44193. format(string, sizeof(string), "SASD MOTD: %s", SASDmotd);
  44194. SCM(playerid, COLOR_YELLOW, string);
  44195. }
  44196. else if(PlayerInfo[playerid][pFaction] == 3)
  44197. {
  44198. format(string, sizeof(string), "FMD MOTD: %s", FMDmotd);
  44199. SCM(playerid, COLOR_YELLOW, string);
  44200. }
  44201. format(string, sizeof(string), "* %s from your faction has logged in.", GetPlayerNameEx(playerid));
  44202. SendRadioMessage(PlayerInfo[playerid][pFaction], COLOR_LIGHTSLATEGRAY, string);
  44203. }
  44204. if(!isnull(PlayerInfo[playerid][pFlag]))
  44205. {
  44206. format(string, sizeof(string), "%s has an outstanding flag.", GetPlayerNameEx(playerid));
  44207. ABroadCast(COLOR_WHITE, string, 1);
  44208. }
  44209. if(PlayerInfo[playerid][pRefTokensOffline] != 0)
  44210. {
  44211. format(string, sizeof(string), "You have gained %d referral token(s) while you were offline. Use /refshop to spend them.", PlayerInfo[playerid][pRefTokensOffline]);
  44212. SendClientMessage(playerid, COLOR_YELLOW, string);
  44213. PlayerInfo[playerid][pRefTokens] += PlayerInfo[playerid][pRefTokensOffline];
  44214. PlayerInfo[playerid][pRefTokensOffline] = 0;
  44215. }
  44216. if(PlayerInfo[playerid][pJob2] >= 1 && PlayerInfo[playerid][pDonator] < 2 && PlayerInfo[playerid][pLevel] < 25)
  44217. {
  44218. PlayerInfo[playerid][pJob2] = 0;
  44219. SendClientMessage(playerid, COLOR_YELLOW, "You have lost your secondary job due to the fact that you no longer have a donator package or are below level 25.");
  44220. }
  44221. }
  44222. new
  44223. iCheckOne = INVALID_HOUSE_ID,
  44224. iCheckTwo = INVALID_HOUSE_ID,
  44225. szPlayerName[MAX_PLAYER_NAME];
  44226. GetPlayerName(playerid, szPlayerName, sizeof(szPlayerName));
  44227. for(new i = 0; i < MAX_HOUSES; ++i) if(strcmp(szPlayerName, HouseInfo[i][hOwner], false) == 0)
  44228. {
  44229. if(iCheckOne != INVALID_HOUSE_ID) iCheckTwo = i;
  44230. else if(iCheckTwo == INVALID_HOUSE_ID) iCheckOne = i;
  44231. else break;
  44232. }
  44233. if(iCheckOne != INVALID_HOUSE_ID) PlayerInfo[playerid][pHouse] = iCheckOne;
  44234. else PlayerInfo[playerid][pHouse] = INVALID_HOUSE_ID;
  44235. if(iCheckTwo != INVALID_HOUSE_ID) PlayerInfo[playerid][pHouse2] = iCheckTwo;
  44236. else PlayerInfo[playerid][pHouse2] = INVALID_HOUSE_ID;
  44237. if(AdminLoggedInBefore[playerid] == 0)
  44238. {
  44239. if(PlayerInfo[playerid][pWeedObject] != 0) {
  44240. PlayerInfo[playerid][pWeedObject] = CreateDynamicObject(3409, PlayerInfo[playerid][pWeedPos][0], PlayerInfo[playerid][pWeedPos][1], PlayerInfo[playerid][pWeedPos][2], 0.0, 0.0, 0.0, PlayerInfo[playerid][pWeedVW], PlayerInfo[playerid][pWeedInt]);
  44241. }
  44242. }
  44243. if(PlayerInfo[playerid][pRenting] != INVALID_HOUSE_ID && (PlayerInfo[playerid][pHouse] != INVALID_HOUSE_ID || PlayerInfo[playerid][pHouse2] != INVALID_HOUSE_ID)) {
  44244. PlayerInfo[playerid][pRenting] = INVALID_HOUSE_ID;
  44245. }
  44246. }
  44247. AdminLoggedInBefore[playerid] = 1;
  44248. return 1;
  44249. }
  44250. forward OnPlayerOfflineLogin(playername[]);
  44251. public OnPlayerOfflineLogin(playername[])
  44252. {
  44253. new string2[64];
  44254. format(string2, sizeof(string2), "users/%s.ini", playername);
  44255. new File: UserFile = fopen(string2, io_read);
  44256. //printf("[DEBUG] OnPlayerOfflineLogin: string2 (%s) | MAX_PLAYERS (%d)", string2, MAX_PLAYERS);
  44257. if(UserFile)
  44258. {
  44259. //print("[DEBUG] OnPlayerOfflineLogin: UserFile exists, the handle parsed.");
  44260. new key[ 256 ] , val[ 256 ];
  44261. new Data[ 256 ];
  44262. //print("[DEBUG] Starting while (fread(UserFile , Data , sizeof(Data)))");
  44263. while (fread(UserFile , Data , sizeof(Data)))
  44264. {
  44265. key = ini_GetKey(Data);
  44266. if(strcmp(key , "Key" , true) == 0) { val = Ini_Value(Data); strmid(PlayerInfo[MAX_PLAYERS][pKey], val, 0, strlen(val)-1, 255); }
  44267. if(strcmp(key , "Level" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pLevel] = strval(val); }
  44268. if(strcmp(key , "AdminLevel" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pAdmin] = strval(val); }
  44269. if(strcmp(key, "AdminName", true) == 0) { val = Ini_Value(Data); strmid(PlayerInfo[MAX_PLAYERS][pAdminName], val, 0, strlen(val)-1, 255); }
  44270. if(strcmp(key , "BanAppealer" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pBanAppealer] = strval(val); }
  44271. if(strcmp(key , "GangMod" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pGangMod] = strval(val); }
  44272. if(strcmp(key , "FactionMod" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pFactionMod] = strval(val); }
  44273. if(strcmp(key , "HelperMod" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pHelperMod] = strval(val); }
  44274. if(strcmp(key , "Donator" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pDonator] = strval(val); }
  44275. if(strcmp(key , "Band" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pBanned] = strval(val); }
  44276. if(strcmp(key , "WalkStyle" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pWalkStyle] = strval(val); }
  44277. if(strcmp(key , "PermBand" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pPermaBanned] = strval(val); }
  44278. if(strcmp(key , "Disabled" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pDisabled] = strval(val); }
  44279. if(strcmp(key , "IP" , true) == 0) { val = Ini_Value(Data); strmid(PlayerInfo[MAX_PLAYERS][pIP], val, 0, strlen(val)-1, 255); }
  44280. if(strcmp(key , "Registered" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pReg] = strval(val); }
  44281. if(strcmp(key , "Tutorial" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pTut] = strval(val); }
  44282. if(strcmp(key , "Sex" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pSex] = strval(val); }
  44283. if(strcmp(key , "Age" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pAge] = strval(val); }
  44284. if(strcmp(key , "Skin" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pSkin] = strval(val); }
  44285. if(strcmp(key , "SPos_x" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pPos_x] = floatstr(val); }
  44286. if(strcmp(key , "SPos_y" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pPos_y] = floatstr(val); }
  44287. if(strcmp(key , "SPos_z" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pPos_z] = floatstr(val); }
  44288. if(strcmp(key , "SPos_r" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pPos_r] = floatstr(val); }
  44289. if(strcmp(key , "ConnectedTime" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pConnectTime] = strval(val); }
  44290. if(strcmp(key , "Respect" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pRespect] = strval(val); }
  44291. if(strcmp(key , "PhoneNr" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pNumber] = strval(val); }
  44292. if(strcmp(key , "Warnings" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pWarns] = strval(val); }
  44293. if(strcmp(key , "Gang" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pGang] = strval(val); }
  44294. if(strcmp(key , "Faction" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pFaction] = strval(val); }
  44295. if(strcmp(key , "Leader" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pLeader] = strval(val); }
  44296. if(strcmp(key , "Rank" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pRank] = strval(val); }
  44297. if(strcmp(key , "Job" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pJob] = strval(val); }
  44298. if(strcmp(key , "Job2" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pJob2] = strval(val); }
  44299. if(strcmp(key , "UpgradePoints" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][gPupgrade] = strval(val); }
  44300. if(strcmp(key , "SpawnArmor" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pSarmor] = strval(val); }
  44301. if(strcmp(key , "Cash" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pCash] = strval(val); }
  44302. if(strcmp(key , "Bank" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pBank] = strval(val); }
  44303. if(strcmp(key , "Insurance" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pInsurance] = strval(val); }
  44304. if(strcmp(key , "Crimes" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pCrimes] = strval(val); }
  44305. if(strcmp(key , "Arrested" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pArrested] = strval(val); }
  44306. if(strcmp(key , "WantedLevel" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pWantedLevel] = strval(val); }
  44307. if(strcmp(key , "Health" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pHealth] = floatstr(val); }
  44308. if(strcmp(key , "Armor" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pArmor] = floatstr(val); }
  44309. if(strcmp(key , "Pot" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pPot] = strval(val); }
  44310. if(strcmp(key , "Crack" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pCrack] = strval(val); }
  44311. if(strcmp(key , "Radio" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pRadio] = strval(val); }
  44312. if(strcmp(key , "RadioFreq" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pRadioFreq] = strval(val); }
  44313. if(strcmp(key , "Phonebook" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pPhoneBook] = strval(val); }
  44314. if(strcmp(key , "Dice" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pDice] = strval(val); }
  44315. if(strcmp(key , "CDPlayer" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pCDPlayer] = strval(val); }
  44316. if(strcmp(key , "Materials" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pMats] = strval(val); }
  44317. if(strcmp(key , "Rope" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pRope] = strval(val); }
  44318. if(strcmp(key , "Cigars" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pCigar] = strval(val); }
  44319. if(strcmp(key , "Sprunk" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pSprunk] = strval(val); }
  44320. if(strcmp(key , "Spraycan" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pSpraycan] = strval(val); }
  44321. if(strcmp(key , "House" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pHouse] = strval(val); }
  44322. if(strcmp(key , "House2" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pHouse2] = strval(val); }
  44323. if(strcmp(key , "Renting" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pRenting] = strval(val); }
  44324. if(strcmp(key , "Int" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pInt] = strval(val); }
  44325. if(strcmp(key , "VirtualWorld" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pVW] = strval(val); }
  44326. if(strcmp(key , "Jailed" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pJailed] = strval(val); }
  44327. if(strcmp(key , "JailTime" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pJailTime] = strval(val); }
  44328. new string[128];
  44329. for(new s = 0; s < 12; s++)
  44330. {
  44331. format(string, 128, "Gun%d", s);
  44332. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pGuns][s] = strval(val); }
  44333. }
  44334. if(strcmp(key , "Paycheck" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pPayCheck] = strval(val); }
  44335. if(strcmp(key , "PayReady" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pPayReady] = strval(val); }
  44336. if(strcmp(key , "Hospital" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pHospital] = strval(val); }
  44337. if(strcmp(key , "DetSkill" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pDetSkill] = strval(val); }
  44338. if(strcmp(key , "LawSkill" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pLawSkill] = strval(val); }
  44339. if(strcmp(key , "SexSkill" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pSexSkill] = strval(val); }
  44340. if(strcmp(key , "DrugsSkill" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pDrugsSkill] = strval(val); }
  44341. if(strcmp(key , "SmugglerSkill" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pSmugSkill] = strval(val); }
  44342. if(strcmp(key , "ArmsSkill" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pArmsSkill] = strval(val); }
  44343. if(strcmp(key , "MechSkill" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pMechSkill] = strval(val); }
  44344. if(strcmp(key , "FishSkill" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pFishSkill] = strval(val); }
  44345. if(strcmp(key , "BoxSkill" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pBoxSkill] = strval(val); }
  44346. if(strcmp(key , "TruckSkill" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pTruckSkill] = strval(val); }
  44347. if(strcmp(key , "CarSkill" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pCarSkill] = strval(val); }
  44348. //if(strcmp(key , "CraftSkill" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pCraftSkill] = strval(val); }
  44349. if(strcmp(key , "LawyerTime" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pLawyerTime] = strval(val); }
  44350. if(strcmp(key , "LawyerFreeTime" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pLawyerFreeTime] = strval(val); }
  44351. if(strcmp(key , "DrugsTime" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pDrugsTime] = strval(val); }
  44352. if(strcmp(key , "MechTime" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pMechTime] = strval(val); }
  44353. if(strcmp(key , "SexTime" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pSexTime] = strval(val); }
  44354. if(strcmp(key , "CarTime" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pCarTime] = strval(val); }
  44355. if(strcmp(key , "Fishes" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pFishes] = strval(val); }
  44356. if(strcmp(key , "BiggestFish" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pBiggestFish] = strval(val); }
  44357. if(strcmp(key , "pWExists" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pWeedObject] = strval(val); }
  44358. if(strcmp(key , "pWX" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pWeedPos][0] = floatstr(val); }
  44359. if(strcmp(key , "pWY" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pWeedPos][1] = floatstr(val); }
  44360. if(strcmp(key , "pWZ" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pWeedPos][2] = floatstr(val); }
  44361. if(strcmp(key , "pWVW" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pWeedVW] = strval(val); }
  44362. if(strcmp(key , "pWInt" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pWeedInt] = strval(val); }
  44363. if(strcmp(key , "pWValue" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pWeedGrowth] = strval(val); }
  44364. if(strcmp(key , "pWSeeds" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pWSeeds] = strval(val); }
  44365. if(strcmp(key , "Wins" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pWins] = strval(val); }
  44366. if(strcmp(key , "Loses" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pLoses] = strval(val); }
  44367. if(strcmp(key , "FightingStyle" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pFightStyle] = strval(val); }
  44368. if(strcmp(key , "Screwdriver" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pScrewdriver] = strval(val); }
  44369. if(strcmp(key , "Smslog" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pSmslog] = strval(val); }
  44370. if(strcmp(key , "Wristwatch" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pWristwatch] = strval(val); }
  44371. if(strcmp(key , "Tire" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pTire] = strval(val); }
  44372. if(strcmp(key , "Firstaid" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pFirstaid] = strval(val); }
  44373. if(strcmp(key , "Rccam" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pRccam] = strval(val); }
  44374. if(strcmp(key , "Receiver" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pReceiver] = strval(val); }
  44375. if(strcmp(key , "GPS" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pGPS] = strval(val); }
  44376. if(strcmp(key , "Sweep" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pSweep] = strval(val); }
  44377. if(strcmp(key , "SweepLeft" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pSweepLeft] = strval(val); }
  44378. if(strcmp(key , "Bugged" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pBugged] = strval(val); }
  44379. for(new v = 0; v < MAX_PLAYERVEHICLES; v++)
  44380. {
  44381. format(string, 128, "pv%dPosX",v);
  44382. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[MAX_PLAYERS][v][pvPosX] = floatstr(val); }
  44383. format(string, 128, "pv%dPosY",v);
  44384. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[MAX_PLAYERS][v][pvPosY] = floatstr(val); }
  44385. format(string, 128, "pv%dPosZ",v);
  44386. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[MAX_PLAYERS][v][pvPosZ] = floatstr(val); }
  44387. format(string, 128, "pv%dPosAngle",v);
  44388. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[MAX_PLAYERS][v][pvPosAngle] = floatstr(val); }
  44389. format(string, 128, "pv%dModelId",v);
  44390. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[MAX_PLAYERS][v][pvModelId] = strval(val); }
  44391. format(string, 128, "pv%dLock",v);
  44392. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[MAX_PLAYERS][v][pvLock] = strval(val); }
  44393. format(string, 128, "pv%dLocked",v);
  44394. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[MAX_PLAYERS][v][pvLocked] = strval(val); }
  44395. format(string, 128, "pv%dPaintJob",v);
  44396. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[MAX_PLAYERS][v][pvPaintJob] = strval(val); }
  44397. format(string, 128, "pv%dColor1",v);
  44398. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[MAX_PLAYERS][v][pvColor1] = strval(val); }
  44399. format(string, 128, "pv%dColor2",v);
  44400. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[MAX_PLAYERS][v][pvColor2] = strval(val); }
  44401. format(string, 128, "pv%dPrice",v);
  44402. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[MAX_PLAYERS][v][pvPrice] = strval(val); }
  44403. format(string, 128, "pv%dTicket",v);
  44404. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[MAX_PLAYERS][v][pvTicket] = strval(val); }
  44405. format(string, 128, "pv%dWeapon0",v);
  44406. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[MAX_PLAYERS][v][pvWeapons][0] = strval(val); }
  44407. format(string, 128, "pv%dWeapon1",v);
  44408. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[MAX_PLAYERS][v][pvWeapons][1] = strval(val); }
  44409. format(string, 128, "pv%dWeapon2",v);
  44410. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[MAX_PLAYERS][v][pvWeapons][2] = strval(val); }
  44411. format(string, 128, "pv%dWepUpgrade",v);
  44412. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[MAX_PLAYERS][v][pvWepUpgrade] = strval(val); }
  44413. format(string, 128, "pv%dFuel",v);
  44414. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[MAX_PLAYERS][v][pvFuel] = floatstr(val); }
  44415. format(string, 128, "pv%dImpound",v);
  44416. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[MAX_PLAYERS][v][pvImpounded] = strval(val); }
  44417. format(string, 128, "pv%dSpawned",v);
  44418. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[MAX_PLAYERS][v][pvSpawned] = strval(val); }
  44419. format(string, 128, "pv%dDisabled",v);
  44420. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[MAX_PLAYERS][v][pvDisabled] = strval(val); }
  44421. format(string, 128, "pv%dNumPlate",v);
  44422. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); strmid(PlayerVehicleInfo[MAX_PLAYERS][v][pvNumberPlate], val, 0, strlen(val)-1, 32); }
  44423. for(new m = 0; m < MAX_MODS; m++)
  44424. {
  44425. format(string, 128, "pv%dMod%d", v, m);
  44426. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerVehicleInfo[MAX_PLAYERS][v][pvMods][m] = strval(val); }
  44427. }
  44428. //format(string, 128, "pv%dAllowedPlayer",v);
  44429. //if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); strmid(PlayerVehicleInfo[MAX_PLAYERS][v][pvAllowPlayer], val, 0, strlen(val)-1, 255); }
  44430. }
  44431. if(strcmp(key , "OnDuty" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pDuty] = strval(val); }
  44432. if(strcmp(key , "CarLic" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pCarLic] = strval(val); }
  44433. if(strcmp(key , "FlyLic" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pFlyLic] = strval(val); }
  44434. if(strcmp(key , "BoatLic" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pBoatLic] = strval(val); }
  44435. if(strcmp(key , "FishLic" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pFishLic] = strval(val); }
  44436. if(strcmp(key , "GunLic" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pGunLic] = strval(val); }
  44437. if(strcmp(key , "Division" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pDivision] = strval(val); }
  44438. if(strcmp(key , "TicketTime" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pTicketTime] = strval(val); }
  44439. if(strcmp(key , "HeadValue" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pHeadValue] = strval(val); }
  44440. if(strcmp(key , "ContractBy" , true) == 0) { val = Ini_Value(Data); strmid(PlayerInfo[MAX_PLAYERS][pContractBy], val, 0, strlen(val)-1, 255); }
  44441. if(strcmp(key , "ContractDetail" , true) == 0) { val = Ini_Value(Data); strmid(PlayerInfo[MAX_PLAYERS][pContractDetail], val, 0, strlen(val)-1, 255); }
  44442. if(strcmp(key , "Bombs" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pBombs] = strval(val); }
  44443. if(strcmp(key , "CHits" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pCHits] = strval(val); }
  44444. if(strcmp(key , "FHits" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pFHits] = strval(val); }
  44445. if(strcmp(key, "PrisonedBy", true) == 0) { val = Ini_Value(Data); strmid(PlayerInfo[MAX_PLAYERS][pPrisonedBy], val, 0, strlen(val)-1, 255); }
  44446. if(strcmp(key, "PrisonReason", true) == 0) { val = Ini_Value(Data); strmid(PlayerInfo[MAX_PLAYERS][pPrisonReason], val, 0, strlen(val)-1, 255); }
  44447. if(strcmp(key , "AcceptReport" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pAcceptReport] = strval(val); }
  44448. if(strcmp(key , "TrashReport" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pTrashReport] = strval(val); }
  44449. if(strcmp(key , "Accent" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pAccent] = strval(val); }
  44450. if(strcmp(key , "NewMuted" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pNMute] = strval(val); }
  44451. if(strcmp(key , "NewMutedTotal" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pNMuteTotal] = strval(val); }
  44452. if(strcmp(key , "AdMuted" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pADMute] = strval(val); }
  44453. if(strcmp(key , "AdMutedTotal" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pADMuteTotal] = strval(val); }
  44454. if(strcmp(key , "ReportMuted" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pRMuted] = strval(val); }
  44455. if(strcmp(key , "ReportMutedTotal" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pRMutedTotal] = strval(val); }
  44456. if(strcmp(key , "ReportMutedTime" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pRMutedTime] = strval(val); }
  44457. if(strcmp(key , "Speedo" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pSpeedo] = strval(val); }
  44458. if(strcmp(key , "GCMuted" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pGCMuted] = strval(val); }
  44459. if(strcmp(key , "GCMutedTime" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pGCMutedTime] = strval(val); }
  44460. if(strcmp(key , "CallsAccepted" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pCallsAccepted] = strval(val); }
  44461. if(strcmp(key , "PatientsDelivered" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pPatientsDelivered] = strval(val); }
  44462. if(strcmp(key , "TriageTime" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pTriageTime] = strval(val); }
  44463. if(strcmp(key , "Married" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pMarried] = strval(val); }
  44464. if(strcmp(key , "MarriedTo" , true) == 0) { val = Ini_Value(Data); strmid(PlayerInfo[MAX_PLAYERS][pMarriedTo], val, 0, strlen(val)-1, 255); }
  44465. for(new v = 0; v < MAX_PLAYERTOYS; v++)
  44466. {
  44467. format(string, 128, "pt%dModelID",v);
  44468. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerToyInfo[MAX_PLAYERS][v][ptModelID] = strval(val); }
  44469. format(string, 128, "pt%dBone",v);
  44470. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerToyInfo[MAX_PLAYERS][v][ptBone] = strval(val); }
  44471. format(string, 128, "pt%dPosX",v);
  44472. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerToyInfo[MAX_PLAYERS][v][ptPosX] = floatstr(val); }
  44473. format(string, 128, "pt%dPosY",v);
  44474. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerToyInfo[MAX_PLAYERS][v][ptPosY] = floatstr(val); }
  44475. format(string, 128, "pt%dPosZ",v);
  44476. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerToyInfo[MAX_PLAYERS][v][ptPosZ] = floatstr(val); }
  44477. format(string, 128, "pt%dRotX",v);
  44478. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerToyInfo[MAX_PLAYERS][v][ptRotX] = floatstr(val); }
  44479. format(string, 128, "pt%dRotY",v);
  44480. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerToyInfo[MAX_PLAYERS][v][ptRotY] = floatstr(val); }
  44481. format(string, 128, "pt%dRotZ",v);
  44482. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerToyInfo[MAX_PLAYERS][v][ptRotZ] = floatstr(val); }
  44483. format(string, 128, "pt%dScaX",v);
  44484. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerToyInfo[MAX_PLAYERS][v][ptScaleX] = floatstr(val); }
  44485. format(string, 128, "pt%dScaY",v);
  44486. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerToyInfo[MAX_PLAYERS][v][ptScaleY] = floatstr(val); }
  44487. format(string, 128, "pt%dScaZ",v);
  44488. if(strcmp(key , string , true) == 0) { val = Ini_Value(Data); PlayerToyInfo[MAX_PLAYERS][v][ptScaleZ] = floatstr(val); }
  44489. }
  44490. if(strcmp(key , "KillLog0" , true) == 0) { val = Ini_Value(Data); strmid(PlayerInfo[MAX_PLAYERS][pKillLog0], val, 0, strlen(val)-1, 255); }
  44491. if(strcmp(key , "KillLog1" , true) == 0) { val = Ini_Value(Data); strmid(PlayerInfo[MAX_PLAYERS][pKillLog1], val, 0, strlen(val)-1, 255); }
  44492. if(strcmp(key , "KillLog2" , true) == 0) { val = Ini_Value(Data); strmid(PlayerInfo[MAX_PLAYERS][pKillLog2], val, 0, strlen(val)-1, 255); }
  44493. if(strcmp(key , "KillLog3" , true) == 0) { val = Ini_Value(Data); strmid(PlayerInfo[MAX_PLAYERS][pKillLog3], val, 0, strlen(val)-1, 255); }
  44494. if(strcmp(key , "KillLog4" , true) == 0) { val = Ini_Value(Data); strmid(PlayerInfo[MAX_PLAYERS][pKillLog4], val, 0, strlen(val)-1, 255); }
  44495. if(strcmp(key , "KillLog5" , true) == 0) { val = Ini_Value(Data); strmid(PlayerInfo[MAX_PLAYERS][pKillLog5], val, 0, strlen(val)-1, 255); }
  44496. if(strcmp(key , "KillLog6" , true) == 0) { val = Ini_Value(Data); strmid(PlayerInfo[MAX_PLAYERS][pKillLog6], val, 0, strlen(val)-1, 255); }
  44497. if(strcmp(key , "KillLog7" , true) == 0) { val = Ini_Value(Data); strmid(PlayerInfo[MAX_PLAYERS][pKillLog7], val, 0, strlen(val)-1, 255); }
  44498. if(strcmp(key , "KillLog8" , true) == 0) { val = Ini_Value(Data); strmid(PlayerInfo[MAX_PLAYERS][pKillLog8], val, 0, strlen(val)-1, 255); }
  44499. if(strcmp(key , "KillLog9" , true) == 0) { val = Ini_Value(Data); strmid(PlayerInfo[MAX_PLAYERS][pKillLog9], val, 0, strlen(val)-1, 255); }
  44500. if(strcmp(key , "Crew1" , true ) == 0 ) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pCrew1] = strval(val); }
  44501. if(strcmp(key , "Crew2" , true ) == 0 ) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pCrew2] = strval(val); }
  44502. if(strcmp(key , "Crew3" , true ) == 0 ) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pCrew3] = strval(val); }
  44503. if(strcmp(key, "Flag", true) == 0) { val = Ini_Value(Data); strmid(PlayerInfo[MAX_PLAYERS][pFlag], val, 0, strlen(val)-1, 255); }
  44504. if(strcmp(key, "ReferredBy", true) == 0) { val = Ini_Value(Data); strmid(PlayerInfo[MAX_PLAYERS][pReferredBy], val, 0, strlen(val)-1, 255); }
  44505. if(strcmp(key , "RefTokens" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pRefTokens] = strval(val); }
  44506. if(strcmp(key , "RefTokensOffline" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pRefTokensOffline] = strval(val); }
  44507. if(strcmp(key , "Helper" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pHelper] = strval(val); }
  44508. if(strcmp(key , "LiveBanned" , true) == 0) { val = Ini_Value(Data); PlayerInfo[MAX_PLAYERS][pLiveBanned] = strval(val); }
  44509. }//end while
  44510. fclose(UserFile);//close the file after everything has been read in the while
  44511. }
  44512. //printf("[DEBUG] OnPlayerOfflineLogin has completed processing file '%s'", playername);
  44513. }
  44514. forward OnPlayerOfflineSave(playername[]);
  44515. public OnPlayerOfflineSave(playername[])
  44516. {
  44517. new string3[32];
  44518. //GetPlayerName(MAX_PLAYERS, playername, MAX_PLAYER_NAME);
  44519. format(string3, sizeof(string3), "users/%s.ini", playername);
  44520. new File: hFile = fopen(string3, io_write);
  44521. if(hFile)
  44522. {
  44523. new var[156];
  44524. format(var, 156, "Key=%s\n", PlayerInfo[MAX_PLAYERS][pKey]);fwrite(hFile, var);
  44525. format(var, 32, "Level=%d\n",PlayerInfo[MAX_PLAYERS][pLevel]);fwrite(hFile, var);
  44526. format(var, 32, "AdminLevel=%d\n",PlayerInfo[MAX_PLAYERS][pAdmin]);fwrite(hFile, var);
  44527. format(var, 32, "AdminName=%s\n", PlayerInfo[MAX_PLAYERS][pAdminName]);fwrite(hFile, var);
  44528. format(var, 32, "BanAppealer=%d\n",PlayerInfo[MAX_PLAYERS][pBanAppealer]);fwrite(hFile, var);
  44529. format(var, 32, "Donator=%d\n",PlayerInfo[MAX_PLAYERS][pDonator]);fwrite(hFile, var);
  44530. format(var, 32, "GangMod=%d\n",PlayerInfo[MAX_PLAYERS][pGangMod]);fwrite(hFile, var);
  44531. format(var, 32, "FactionMod=%d\n",PlayerInfo[MAX_PLAYERS][pFactionMod]);fwrite(hFile, var);
  44532. format(var, 32, "HelperMod=%d\n",PlayerInfo[MAX_PLAYERS][pHelperMod]);fwrite(hFile, var);
  44533. format(var, 32, "Band=%d\n",PlayerInfo[MAX_PLAYERS][pBanned]);fwrite(hFile, var);
  44534. format(var, 32, "WalkStyle=%d\n",PlayerInfo[MAX_PLAYERS][pWalkStyle]);fwrite(hFile, var);
  44535. format(var, 32, "PermBand=%d\n",PlayerInfo[MAX_PLAYERS][pPermaBanned]);fwrite(hFile, var);
  44536. format(var, 32, "Disabled=%d\n",PlayerInfo[MAX_PLAYERS][pDisabled]);fwrite(hFile, var);
  44537. format(var, 32, "IP=%s\n",PlayerInfo[MAX_PLAYERS][pIP]);fwrite(hFile, var);
  44538. format(var, 32, "Registered=%d\n",PlayerInfo[MAX_PLAYERS][pReg]);fwrite(hFile, var);
  44539. format(var, 32, "Tutorial=%d\n",PlayerInfo[MAX_PLAYERS][pTut]);fwrite(hFile, var);
  44540. format(var, 32, "Sex=%d\n",PlayerInfo[MAX_PLAYERS][pSex]);fwrite(hFile, var);
  44541. format(var, 32, "Age=%d\n",PlayerInfo[MAX_PLAYERS][pAge]);fwrite(hFile, var);
  44542. format(var, 32, "Skin=%d\n",PlayerInfo[MAX_PLAYERS][pSkin]);fwrite(hFile, var);
  44543. format(var, 32, "SPos_x=%.1f\n",PlayerInfo[MAX_PLAYERS][pPos_x]);fwrite(hFile, var);
  44544. format(var, 32, "SPos_y=%.1f\n",PlayerInfo[MAX_PLAYERS][pPos_y]);fwrite(hFile, var);
  44545. format(var, 32, "SPos_z=%.1f\n",PlayerInfo[MAX_PLAYERS][pPos_z]);fwrite(hFile, var);
  44546. format(var, 32, "SPos_r=%.1f\n",PlayerInfo[MAX_PLAYERS][pPos_r]);fwrite(hFile, var);
  44547. format(var, 32, "ConnectedTime=%d\n",PlayerInfo[MAX_PLAYERS][pConnectTime]);fwrite(hFile, var);
  44548. format(var, 32, "Respect=%d\n",PlayerInfo[MAX_PLAYERS][pRespect]);fwrite(hFile, var);
  44549. format(var, 32, "PhoneNr=%d\n",PlayerInfo[MAX_PLAYERS][pNumber]);fwrite(hFile, var);
  44550. format(var, 32, "Warnings=%d\n",PlayerInfo[MAX_PLAYERS][pWarns]);fwrite(hFile, var);
  44551. format(var, 32, "Gang=%d\n",PlayerInfo[MAX_PLAYERS][pGang]);fwrite(hFile, var);
  44552. format(var, 32, "Faction=%d\n",PlayerInfo[MAX_PLAYERS][pFaction]);fwrite(hFile, var);
  44553. format(var, 32, "Leader=%d\n",PlayerInfo[MAX_PLAYERS][pLeader]);fwrite(hFile, var);
  44554. format(var, 32, "Rank=%d\n",PlayerInfo[MAX_PLAYERS][pRank]);fwrite(hFile, var);
  44555. format(var, 32, "Job=%d\n",PlayerInfo[MAX_PLAYERS][pJob]);fwrite(hFile, var);
  44556. format(var, 32, "Job2=%d\n",PlayerInfo[MAX_PLAYERS][pJob2]);fwrite(hFile, var);
  44557. format(var, 32, "UpgradePoints=%d\n",PlayerInfo[MAX_PLAYERS][gPupgrade]);fwrite(hFile, var);
  44558. format(var, 32, "SpawnArmor=%.1f\n",PlayerInfo[MAX_PLAYERS][pSarmor]);fwrite(hFile, var);
  44559. format(var, 32, "Cash=%d\n",PlayerInfo[MAX_PLAYERS][pCash]);fwrite(hFile, var);
  44560. format(var, 32, "Bank=%d\n",PlayerInfo[MAX_PLAYERS][pBank]);fwrite(hFile, var);
  44561. format(var, 32, "Insurance=%d\n",PlayerInfo[MAX_PLAYERS][pInsurance]);fwrite(hFile, var);
  44562. format(var, 32, "Crimes=%d\n",PlayerInfo[MAX_PLAYERS][pCrimes]);fwrite(hFile, var);
  44563. format(var, 32, "Arrested=%d\n",PlayerInfo[MAX_PLAYERS][pArrested]);fwrite(hFile, var);
  44564. format(var, 32, "WantedLevel=%d\n",PlayerInfo[MAX_PLAYERS][pWantedLevel]);fwrite(hFile, var);
  44565. format(var, 32, "Health=%.1f\n",PlayerInfo[MAX_PLAYERS][pHealth]);fwrite(hFile, var);
  44566. format(var, 32, "Armor=%.1f\n",PlayerInfo[MAX_PLAYERS][pArmor]);fwrite(hFile, var);
  44567. format(var, 32, "Pot=%d\n",PlayerInfo[MAX_PLAYERS][pPot]);fwrite(hFile, var);
  44568. format(var, 32, "Crack=%d\n",PlayerInfo[MAX_PLAYERS][pCrack]);fwrite(hFile, var);
  44569. format(var, 32, "Radio=%d\n",PlayerInfo[MAX_PLAYERS][pRadio]);fwrite(hFile, var);
  44570. format(var, 32, "RadioFreq=%d\n",PlayerInfo[MAX_PLAYERS][pRadioFreq]);fwrite(hFile, var);
  44571. format(var, 32, "Phonebook=%d\n",PlayerInfo[MAX_PLAYERS][pPhoneBook]);fwrite(hFile, var);
  44572. format(var, 32, "Dice=%d\n",PlayerInfo[MAX_PLAYERS][pDice]);fwrite(hFile, var);
  44573. format(var, 32, "CDPlayer=%d\n",PlayerInfo[MAX_PLAYERS][pCDPlayer]);fwrite(hFile, var);
  44574. format(var, 32, "Materials=%d\n",PlayerInfo[MAX_PLAYERS][pMats]);fwrite(hFile, var);
  44575. format(var, 32, "Rope=%d\n",PlayerInfo[MAX_PLAYERS][pRope]);fwrite(hFile, var);
  44576. format(var, 32, "Cigars=%d\n",PlayerInfo[MAX_PLAYERS][pCigar]);fwrite(hFile, var);
  44577. format(var, 32, "Sprunk=%d\n",PlayerInfo[MAX_PLAYERS][pSprunk]);fwrite(hFile, var);
  44578. format(var, 32, "Spraycan=%d\n",PlayerInfo[MAX_PLAYERS][pSpraycan]);fwrite(hFile, var);
  44579. format(var, 32, "House=%d\n",PlayerInfo[MAX_PLAYERS][pHouse]);fwrite(hFile, var);
  44580. format(var, 32, "House2=%d\n",PlayerInfo[MAX_PLAYERS][pHouse2]);fwrite(hFile, var);
  44581. format(var, 32, "Renting=%d\n",PlayerInfo[MAX_PLAYERS][pRenting]);fwrite(hFile, var);
  44582. format(var, 32, "Int=%d\n",PlayerInfo[MAX_PLAYERS][pInt]);fwrite(hFile, var);
  44583. format(var, 32, "VirtualWorld=%d\n",PlayerInfo[MAX_PLAYERS][pVW]);fwrite(hFile, var);
  44584. format(var, 32, "Jailed=%d\n",PlayerInfo[MAX_PLAYERS][pJailed]);fwrite(hFile, var);
  44585. format(var, 32, "JailTime=%d\n",PlayerInfo[MAX_PLAYERS][pJailTime]);fwrite(hFile, var);
  44586. for(new s = 0; s < 12; s++)
  44587. {
  44588. format(var, 32, "Gun%d=%d\n", s, PlayerInfo[MAX_PLAYERS][pGuns][s]);fwrite(hFile, var);
  44589. }
  44590. format(var, 32, "Paycheck=%d\n",PlayerInfo[MAX_PLAYERS][pPayCheck]);fwrite(hFile, var);
  44591. format(var, 32, "PayReady=%d\n",PlayerInfo[MAX_PLAYERS][pPayReady]);fwrite(hFile, var);
  44592. format(var, 32, "Hospital=%d\n",PlayerInfo[MAX_PLAYERS][pHospital]);fwrite(hFile, var);
  44593. format(var, 32, "DetSkill=%d\n",PlayerInfo[MAX_PLAYERS][pDetSkill]);fwrite(hFile, var);
  44594. format(var, 32, "LawSkill=%d\n",PlayerInfo[MAX_PLAYERS][pLawSkill]);fwrite(hFile, var);
  44595. format(var, 32, "SexSkill=%d\n",PlayerInfo[MAX_PLAYERS][pSexSkill]);fwrite(hFile, var);
  44596. format(var, 32, "DrugsSkill=%d\n",PlayerInfo[MAX_PLAYERS][pDrugsSkill]);fwrite(hFile, var);
  44597. format(var, 32, "SmugglerSkill=%d\n",PlayerInfo[MAX_PLAYERS][pSmugSkill]);fwrite(hFile, var);
  44598. format(var, 32, "ArmsSkill=%d\n",PlayerInfo[MAX_PLAYERS][pArmsSkill]);fwrite(hFile, var);
  44599. format(var, 32, "MechSkill=%d\n",PlayerInfo[MAX_PLAYERS][pMechSkill]);fwrite(hFile, var);
  44600. format(var, 32, "FishSkill=%d\n",PlayerInfo[MAX_PLAYERS][pFishSkill]);fwrite(hFile, var);
  44601. format(var, 32, "BoxSkill=%d\n",PlayerInfo[MAX_PLAYERS][pBoxSkill]);fwrite(hFile, var);
  44602. format(var, 32, "TruckSkill=%d\n",PlayerInfo[MAX_PLAYERS][pTruckSkill]);fwrite(hFile, var);
  44603. format(var, 32, "CarSkill=%d\n",PlayerInfo[MAX_PLAYERS][pCarSkill]);fwrite(hFile, var);
  44604. //format(var, 32, "CraftSkill=%d\n",PlayerInfo[MAX_PLAYERS][pCraftSkill]);fwrite(hFile, var);
  44605. format(var, 32, "LawyerTime=%d\n",PlayerInfo[MAX_PLAYERS][pLawyerTime]);fwrite(hFile, var);
  44606. format(var, 32, "LawyerFreeTime=%d\n",PlayerInfo[MAX_PLAYERS][pLawyerFreeTime]);fwrite(hFile, var);
  44607. format(var, 32, "DrugsTime=%d\n",PlayerInfo[MAX_PLAYERS][pDrugsTime]);fwrite(hFile, var);
  44608. format(var, 32, "MechTime=%d\n",PlayerInfo[MAX_PLAYERS][pMechTime]);fwrite(hFile, var);
  44609. format(var, 32, "SexTime=%d\n",PlayerInfo[MAX_PLAYERS][pSexTime]);fwrite(hFile, var);
  44610. format(var, 32, "CarTime=%d\n",PlayerInfo[MAX_PLAYERS][pCarTime]);fwrite(hFile, var);
  44611. format(var, 32, "Fishes=%d\n",PlayerInfo[MAX_PLAYERS][pFishes]);fwrite(hFile, var);
  44612. format(var, 32, "BiggestFish=%d\n",PlayerInfo[MAX_PLAYERS][pBiggestFish]);fwrite(hFile, var);
  44613. format(var, 32, "pWExists=%d\n",PlayerInfo[MAX_PLAYERS][pWeedObject]);fwrite(hFile, var);
  44614. format(var, 32, "pWX=%f\n",PlayerInfo[MAX_PLAYERS][pWeedPos][0]);fwrite(hFile, var);
  44615. format(var, 32, "pWY=%f\n",PlayerInfo[MAX_PLAYERS][pWeedPos][1]);fwrite(hFile, var);
  44616. format(var, 32, "pWZ=%f\n",PlayerInfo[MAX_PLAYERS][pWeedPos][2]);fwrite(hFile, var);
  44617. format(var, 32, "pWVW=%d\n",PlayerInfo[MAX_PLAYERS][pWeedVW]);fwrite(hFile, var);
  44618. format(var, 32, "pWInt=%d\n",PlayerInfo[MAX_PLAYERS][pWeedInt]);fwrite(hFile, var);
  44619. format(var, 32, "pWValue=%d\n",PlayerInfo[MAX_PLAYERS][pWeedGrowth]);fwrite(hFile, var);
  44620. format(var, 32, "pWSeeds=%d\n",PlayerInfo[MAX_PLAYERS][pWSeeds]);fwrite(hFile, var);
  44621. format(var, 32, "Wins=%d\n",PlayerInfo[MAX_PLAYERS][pWins]);fwrite(hFile, var);
  44622. format(var, 32, "Loses=%d\n",PlayerInfo[MAX_PLAYERS][pLoses]);fwrite(hFile, var);
  44623. format(var, 32, "FightingStyle=%d\n",PlayerInfo[MAX_PLAYERS][pFightStyle]);fwrite(hFile, var);
  44624. format(var, 32, "Screwdriver=%d\n",PlayerInfo[MAX_PLAYERS][pScrewdriver]);fwrite(hFile, var);
  44625. format(var, 32, "Smslog=%d\n",PlayerInfo[MAX_PLAYERS][pSmslog]);fwrite(hFile, var);
  44626. format(var, 32, "Wristwatch=%d\n",PlayerInfo[MAX_PLAYERS][pWristwatch]);fwrite(hFile, var);
  44627. format(var, 32, "Tire=%d\n",PlayerInfo[MAX_PLAYERS][pTire]);fwrite(hFile, var);
  44628. format(var, 32, "Firstaid=%d\n",PlayerInfo[MAX_PLAYERS][pFirstaid]);fwrite(hFile, var);
  44629. format(var, 32, "Rccam=%d\n",PlayerInfo[MAX_PLAYERS][pRccam]);fwrite(hFile, var);
  44630. format(var, 32, "Receiver=%d\n",PlayerInfo[MAX_PLAYERS][pReceiver]);fwrite(hFile, var);
  44631. format(var, 32, "GPS=%d\n",PlayerInfo[MAX_PLAYERS][pGPS]);fwrite(hFile, var);
  44632. format(var, 32, "Sweep=%d\n",PlayerInfo[MAX_PLAYERS][pSweep]);fwrite(hFile, var);
  44633. format(var, 32, "SweepLeft=%d\n",PlayerInfo[MAX_PLAYERS][pSweepLeft]);fwrite(hFile, var);
  44634. format(var, 32, "Bugged=%d\n",PlayerInfo[MAX_PLAYERS][pBugged]);fwrite(hFile, var);
  44635. for(new v = 0; v < MAX_PLAYERVEHICLES; v++)
  44636. {
  44637. format(var, 32, "pv%dPosX=%.1f\n", v, PlayerVehicleInfo[MAX_PLAYERS][v][pvPosX]);fwrite(hFile, var);
  44638. format(var, 32, "pv%dPosY=%.1f\n", v, PlayerVehicleInfo[MAX_PLAYERS][v][pvPosY]);fwrite(hFile, var);
  44639. format(var, 32, "pv%dPosZ=%.1f\n", v, PlayerVehicleInfo[MAX_PLAYERS][v][pvPosZ]);fwrite(hFile, var);
  44640. format(var, 32, "pv%dPosAngle=%.1f\n", v, PlayerVehicleInfo[MAX_PLAYERS][v][pvPosAngle]);fwrite(hFile, var);
  44641. format(var, 32, "pv%dModelId=%d\n", v, PlayerVehicleInfo[MAX_PLAYERS][v][pvModelId]);fwrite(hFile, var);
  44642. format(var, 32, "pv%dLock=%d\n", v, PlayerVehicleInfo[MAX_PLAYERS][v][pvLock]);fwrite(hFile, var);
  44643. format(var, 32, "pv%dLocked=%d\n", v, PlayerVehicleInfo[MAX_PLAYERS][v][pvLocked]);fwrite(hFile, var);
  44644. format(var, 32, "pv%dPaintJob=%d\n", v, PlayerVehicleInfo[MAX_PLAYERS][v][pvPaintJob]);fwrite(hFile, var);
  44645. format(var, 32, "pv%dColor1=%d\n", v, PlayerVehicleInfo[MAX_PLAYERS][v][pvColor1]);fwrite(hFile, var);
  44646. format(var, 32, "pv%dColor2=%d\n", v, PlayerVehicleInfo[MAX_PLAYERS][v][pvColor2]);fwrite(hFile, var);
  44647. format(var, 32, "pv%dPrice=%d\n", v, PlayerVehicleInfo[MAX_PLAYERS][v][pvPrice]);fwrite(hFile, var);
  44648. format(var, 32, "pv%dTicket=%d\n", v, PlayerVehicleInfo[MAX_PLAYERS][v][pvTicket]);fwrite(hFile, var);
  44649. format(var, 32, "pv%dWeapon0=%d\n", v, PlayerVehicleInfo[MAX_PLAYERS][v][pvWeapons][0]);fwrite(hFile, var);
  44650. format(var, 32, "pv%dWeapon1=%d\n", v, PlayerVehicleInfo[MAX_PLAYERS][v][pvWeapons][1]);fwrite(hFile, var);
  44651. format(var, 32, "pv%dWeapon2=%d\n", v, PlayerVehicleInfo[MAX_PLAYERS][v][pvWeapons][2]);fwrite(hFile, var);
  44652. format(var, 32, "pv%dWepUpgrade=%d\n", v, PlayerVehicleInfo[MAX_PLAYERS][v][pvWepUpgrade]);fwrite(hFile, var);
  44653. format(var, 32, "pv%dFuel=%.2f\n", v, PlayerVehicleInfo[MAX_PLAYERS][v][pvFuel]);fwrite(hFile, var);
  44654. format(var, 32, "pv%dImpound=%d\n", v, PlayerVehicleInfo[MAX_PLAYERS][v][pvImpounded]);fwrite(hFile, var);
  44655. format(var, 32, "pv%dSpawned=%d\n", v, PlayerVehicleInfo[MAX_PLAYERS][v][pvSpawned]);fwrite(hFile, var);
  44656. format(var, 32, "pv%dDisabled=%d\n", v, PlayerVehicleInfo[MAX_PLAYERS][v][pvDisabled]);fwrite(hFile, var);
  44657. format(var, 128, "pv%dNumPlate=%s\n", v, PlayerVehicleInfo[MAX_PLAYERS][v][pvNumberPlate]);fwrite(hFile, var);
  44658. for(new m = 0; m < MAX_MODS; m++)
  44659. {
  44660. format(var, 32, "pv%dMod%d=%d\n", v, m, PlayerVehicleInfo[MAX_PLAYERS][v][pvMods][m]);fwrite(hFile, var);
  44661. }
  44662. //format(var, 32, "pv%dAllowedPlayer=%s\n", v, PlayerVehicleInfo[MAX_PLAYERS][v][pvAllowPlayer]);fwrite(hFile, var);
  44663. }
  44664. format(var, 32, "OnDuty=%d\n",PlayerInfo[MAX_PLAYERS][pDuty]);fwrite(hFile, var);
  44665. format(var, 32, "CarLic=%d\n",PlayerInfo[MAX_PLAYERS][pCarLic]);fwrite(hFile, var);
  44666. format(var, 32, "FlyLic=%d\n",PlayerInfo[MAX_PLAYERS][pFlyLic]);fwrite(hFile, var);
  44667. format(var, 32, "BoatLic=%d\n",PlayerInfo[MAX_PLAYERS][pBoatLic]);fwrite(hFile, var);
  44668. format(var, 32, "FishLic=%d\n",PlayerInfo[MAX_PLAYERS][pFishLic]);fwrite(hFile, var);
  44669. format(var, 32, "GunLic=%d\n",PlayerInfo[MAX_PLAYERS][pGunLic]);fwrite(hFile, var);
  44670. format(var, 32, "Division=%d\n",PlayerInfo[MAX_PLAYERS][pDivision]);fwrite(hFile, var);
  44671. format(var, 32, "TicketTime=%d\n",PlayerInfo[MAX_PLAYERS][pTicketTime]);fwrite(hFile, var);
  44672. format(var, 32, "HeadValue=%d\n",PlayerInfo[MAX_PLAYERS][pHeadValue]);fwrite(hFile, var);
  44673. format(var, 32, "ContractBy=%s\n",PlayerInfo[MAX_PLAYERS][pContractBy]);fwrite(hFile, var);
  44674. format(var, 64, "ContractDetail=%s\n",PlayerInfo[MAX_PLAYERS][pContractDetail]);fwrite(hFile, var);
  44675. format(var, 32, "Bombs=%d\n",PlayerInfo[MAX_PLAYERS][pBombs]);fwrite(hFile, var);
  44676. format(var, 32, "CHits=%d\n",PlayerInfo[MAX_PLAYERS][pCHits]);fwrite(hFile, var);
  44677. format(var, 32, "FHits=%d\n",PlayerInfo[MAX_PLAYERS][pFHits]);fwrite(hFile, var);
  44678. format(var, 32, "PrisonedBy=%s\n", PlayerInfo[MAX_PLAYERS][pPrisonedBy]);fwrite(hFile, var);
  44679. format(var, 128, "PrisonReason=%s\n", PlayerInfo[MAX_PLAYERS][pPrisonReason]);fwrite(hFile, var);
  44680. format(var, 32, "AcceptReport=%d\n",PlayerInfo[MAX_PLAYERS][pAcceptReport]);fwrite(hFile, var);
  44681. format(var, 32, "TrashReport=%d\n",PlayerInfo[MAX_PLAYERS][pTrashReport]);fwrite(hFile, var);
  44682. format(var, 32, "Accent=%d\n",PlayerInfo[MAX_PLAYERS][pAccent]);fwrite(hFile, var);
  44683. format(var, 32, "NewMuted=%d\n",PlayerInfo[MAX_PLAYERS][pNMute]);fwrite(hFile, var);
  44684. format(var, 32, "NewMutedTotal=%d\n",PlayerInfo[MAX_PLAYERS][pNMuteTotal]);fwrite(hFile, var);
  44685. format(var, 32, "AdMuted=%d\n",PlayerInfo[MAX_PLAYERS][pADMute]);fwrite(hFile, var);
  44686. format(var, 32, "AdMutedTotal=%d\n",PlayerInfo[MAX_PLAYERS][pADMuteTotal]);fwrite(hFile, var);
  44687. format(var, 32, "ReportMuted=%d\n",PlayerInfo[MAX_PLAYERS][pRMuted]);fwrite(hFile, var);
  44688. format(var, 32, "ReportMutedTotal=%d\n",PlayerInfo[MAX_PLAYERS][pRMutedTotal]);fwrite(hFile, var);
  44689. format(var, 32, "ReportMutedTime=%d\n",PlayerInfo[MAX_PLAYERS][pRMutedTime]);fwrite(hFile, var);
  44690. format(var, 32, "Speedo=%d\n",PlayerInfo[MAX_PLAYERS][pSpeedo]);fwrite(hFile, var);
  44691. format(var, 32, "GCMuted=%d\n",PlayerInfo[MAX_PLAYERS][pGCMuted]);fwrite(hFile, var);
  44692. format(var, 32, "GCMutedTime=%d\n",PlayerInfo[MAX_PLAYERS][pGCMutedTime]);fwrite(hFile, var);
  44693. format(var, 32, "CallsAccepted=%d\n", PlayerInfo[MAX_PLAYERS][pCallsAccepted]);fwrite(hFile, var);
  44694. format(var, 32, "PatientsDelivered=%d\n",PlayerInfo[MAX_PLAYERS][pPatientsDelivered]);fwrite(hFile, var);
  44695. format(var, 32, "TriageTime=%d\n",PlayerInfo[MAX_PLAYERS][pTriageTime]);fwrite(hFile, var);
  44696. format(var, 32, "Married=%d\n",PlayerInfo[MAX_PLAYERS][pMarried]);fwrite(hFile, var);
  44697. format(var, 32, "MarriedTo=%s\n",PlayerInfo[MAX_PLAYERS][pMarriedTo]);fwrite(hFile, var);
  44698. for(new v = 0; v < MAX_PLAYERTOYS; v++)
  44699. {
  44700. format(var, 32, "pt%dModelID=%d\n", v, PlayerToyInfo[MAX_PLAYERS][v][ptModelID]);fwrite(hFile, var);
  44701. format(var, 32, "pt%dBone=%d\n", v, PlayerToyInfo[MAX_PLAYERS][v][ptBone]);fwrite(hFile, var);
  44702. format(var, 32, "pt%dPosX=%.5f\n", v, PlayerToyInfo[MAX_PLAYERS][v][ptPosX]);fwrite(hFile, var);
  44703. format(var, 32, "pt%dPosY=%.5f\n", v, PlayerToyInfo[MAX_PLAYERS][v][ptPosY]);fwrite(hFile, var);
  44704. format(var, 32, "pt%dPosZ=%.5f\n", v, PlayerToyInfo[MAX_PLAYERS][v][ptPosZ]);fwrite(hFile, var);
  44705. format(var, 32, "pt%dRotX=%.5f\n", v, PlayerToyInfo[MAX_PLAYERS][v][ptRotX]);fwrite(hFile, var);
  44706. format(var, 32, "pt%dRotY=%.5f\n", v, PlayerToyInfo[MAX_PLAYERS][v][ptRotY]);fwrite(hFile, var);
  44707. format(var, 32, "pt%dRotZ=%.5f\n", v, PlayerToyInfo[MAX_PLAYERS][v][ptRotZ]);fwrite(hFile, var);
  44708. format(var, 32, "pt%dScaX=%.5f\n", v, PlayerToyInfo[MAX_PLAYERS][v][ptScaleX]);fwrite(hFile, var);
  44709. format(var, 32, "pt%dScaY=%.5f\n", v, PlayerToyInfo[MAX_PLAYERS][v][ptScaleY]);fwrite(hFile, var);
  44710. format(var, 32, "pt%dScaZ=%.5f\n", v, PlayerToyInfo[MAX_PLAYERS][v][ptScaleZ]);fwrite(hFile, var);
  44711. }
  44712. format(var, 256, "KillLog0=%s\n",PlayerInfo[MAX_PLAYERS][pKillLog0]);fwrite(hFile, var);
  44713. format(var, 256, "KillLog1=%s\n",PlayerInfo[MAX_PLAYERS][pKillLog1]);fwrite(hFile, var);
  44714. format(var, 256, "KillLog2=%s\n",PlayerInfo[MAX_PLAYERS][pKillLog2]);fwrite(hFile, var);
  44715. format(var, 256, "KillLog3=%s\n",PlayerInfo[MAX_PLAYERS][pKillLog3]);fwrite(hFile, var);
  44716. format(var, 256, "KillLog4=%s\n",PlayerInfo[MAX_PLAYERS][pKillLog4]);fwrite(hFile, var);
  44717. format(var, 256, "KillLog5=%s\n",PlayerInfo[MAX_PLAYERS][pKillLog5]);fwrite(hFile, var);
  44718. format(var, 256, "KillLog6=%s\n",PlayerInfo[MAX_PLAYERS][pKillLog6]);fwrite(hFile, var);
  44719. format(var, 256, "KillLog7=%s\n",PlayerInfo[MAX_PLAYERS][pKillLog7]);fwrite(hFile, var);
  44720. format(var, 256, "KillLog8=%s\n",PlayerInfo[MAX_PLAYERS][pKillLog8]);fwrite(hFile, var);
  44721. format(var, 256, "KillLog9=%s\n",PlayerInfo[MAX_PLAYERS][pKillLog9]);fwrite(hFile, var);
  44722. format(var, 32, "Crew1=%d\n",PlayerInfo[MAX_PLAYERS][pCrew1]);fwrite(hFile, var);
  44723. format(var, 32, "Crew2=%d\n",PlayerInfo[MAX_PLAYERS][pCrew2]);fwrite(hFile, var);
  44724. format(var, 32, "Crew3=%d\n",PlayerInfo[MAX_PLAYERS][pCrew3]);fwrite(hFile, var);
  44725. format(var, 128, "Flag=%s\n",PlayerInfo[MAX_PLAYERS][pFlag]);fwrite(hFile, var);
  44726. format(var, 128, "ReferredBy=%s\n", PlayerInfo[MAX_PLAYERS][pReferredBy]);fwrite(hFile, var);
  44727. format(var, 32, "RefTokens=%d\n",PlayerInfo[MAX_PLAYERS][pRefTokens]);fwrite(hFile, var);
  44728. format(var, 32, "RefTokensOffline=%d\n",PlayerInfo[MAX_PLAYERS][pRefTokensOffline]);fwrite(hFile, var);
  44729. format(var, 32, "Helper=%d\n",PlayerInfo[MAX_PLAYERS][pHelper]);fwrite(hFile, var);
  44730. format(var, 32, "LiveBanned=%d\n",PlayerInfo[MAX_PLAYERS][pLiveBanned]);fwrite(hFile, var);
  44731. fclose(hFile);
  44732. }
  44733. return 1;
  44734. }
  44735. forward splits(const strsrc[], strdest[][], delimiter);
  44736. public splits(const strsrc[], strdest[][], delimiter)
  44737. {
  44738. new i, li;
  44739. new aNum;
  44740. new len;
  44741. while(i <= strlen(strsrc)){
  44742. if(strsrc[i]==delimiter || i==strlen(strsrc)){
  44743. len = strmid(strdest[aNum], strsrc, li, i, 128);
  44744. strdest[aNum][len] = 0;
  44745. li = i+1;
  44746. aNum++;
  44747. }
  44748. i++;
  44749. }
  44750. return 1;
  44751. }
  44752. stock ini_GetKey(line[])
  44753. {
  44754. new keyRes[64];
  44755. keyRes[0] = 0;
  44756. if(strfind(line , "=" , true) == -1) return keyRes;
  44757. strmid(keyRes , line , 0 , strfind(line , "=" , true) , sizeof(keyRes));
  44758. return keyRes;
  44759. }
  44760. stock Ini_Value(line[])
  44761. {
  44762. new valRes[156];
  44763. valRes[0]=0;
  44764. if(strfind(line , "=" , true) == -1) return valRes;
  44765. strmid(valRes , line , strfind(line , "=" , true)+1 , strlen(line) , sizeof(valRes));
  44766. return valRes;
  44767. }
  44768. forward OnPlayerRegister(playerid, password[]);
  44769. public OnPlayerRegister(playerid, password[])
  44770. {
  44771. if(IsPlayerConnected(playerid))
  44772. {
  44773. new string3[32];
  44774. new playername3[MAX_PLAYER_NAME];
  44775. GetPlayerName(playerid, playername3, sizeof(playername3));
  44776. format(string3, sizeof(string3), "users/%s.ini", playername3);
  44777. new File: hFile = fopen(string3, io_write);
  44778. if(hFile)
  44779. {
  44780. strmid(PlayerInfo[playerid][pKey], password, 0, strlen(password), 255);
  44781. new var[156];
  44782. format(var, 156, "Key=%s\n", PlayerInfo[playerid][pKey]);fwrite(hFile, var);
  44783. format(var, 32, "Level=%d\n",PlayerInfo[playerid][pLevel]);fwrite(hFile, var);
  44784. format(var, 32, "AdminLevel=%d\n",PlayerInfo[playerid][pAdmin]);fwrite(hFile, var);
  44785. format(var, 32, "AdminName=%s\n", PlayerInfo[playerid][pAdminName]);fwrite(hFile, var);
  44786. format(var, 32, "BanAppealer=%d\n",PlayerInfo[playerid][pBanAppealer]);fwrite(hFile, var);
  44787. format(var, 32, "Donator=%d\n",PlayerInfo[playerid][pDonator]);fwrite(hFile, var);
  44788. format(var, 32, "GangMod=%d\n",PlayerInfo[playerid][pGangMod]);fwrite(hFile, var);
  44789. format(var, 32, "FactionMod=%d\n",PlayerInfo[playerid][pFactionMod]);fwrite(hFile, var);
  44790. format(var, 32, "HelperMod=%d\n",PlayerInfo[playerid][pHelperMod]);fwrite(hFile, var);
  44791. format(var, 32, "Band=%d\n",PlayerInfo[playerid][pBanned]);fwrite(hFile, var);
  44792. format(var, 32, "WalkStyle=%d\n",PlayerInfo[playerid][pWalkStyle]);fwrite(hFile, var);
  44793. format(var, 32, "PermBand=%d\n",PlayerInfo[playerid][pPermaBanned]);fwrite(hFile, var);
  44794. format(var, 32, "Disabled=%d\n",PlayerInfo[playerid][pDisabled]);fwrite(hFile, var);
  44795. format(var, 32, "IP=%s\n",PlayerInfo[playerid][pIP]);fwrite(hFile, var);
  44796. format(var, 32, "Registered=%d\n",PlayerInfo[playerid][pReg]);fwrite(hFile, var);
  44797. format(var, 32, "Tutorial=%d\n",PlayerInfo[playerid][pTut]);fwrite(hFile, var);
  44798. format(var, 32, "Sex=%d\n",PlayerInfo[playerid][pSex]);fwrite(hFile, var);
  44799. format(var, 32, "Age=%d\n",PlayerInfo[playerid][pAge]);fwrite(hFile, var);
  44800. format(var, 32, "Skin=%d\n",PlayerInfo[playerid][pSkin]);fwrite(hFile, var);
  44801. format(var, 32, "SPos_x=%.1f\n",PlayerInfo[playerid][pPos_x]);fwrite(hFile, var);
  44802. format(var, 32, "SPos_y=%.1f\n",PlayerInfo[playerid][pPos_y]);fwrite(hFile, var);
  44803. format(var, 32, "SPos_z=%.1f\n",PlayerInfo[playerid][pPos_z]);fwrite(hFile, var);
  44804. format(var, 32, "SPos_r=%.1f\n",PlayerInfo[playerid][pPos_r]);fwrite(hFile, var);
  44805. format(var, 32, "ConnectedTime=%d\n",PlayerInfo[playerid][pConnectTime]);fwrite(hFile, var);
  44806. format(var, 32, "Respect=%d\n",PlayerInfo[playerid][pRespect]);fwrite(hFile, var);
  44807. format(var, 32, "PhoneNr=%d\n",PlayerInfo[playerid][pNumber]);fwrite(hFile, var);
  44808. format(var, 32, "Warnings=%d\n",PlayerInfo[playerid][pWarns]);fwrite(hFile, var);
  44809. format(var, 32, "Gang=%d\n",PlayerInfo[playerid][pGang]);fwrite(hFile, var);
  44810. format(var, 32, "Faction=%d\n",PlayerInfo[playerid][pFaction]);fwrite(hFile, var);
  44811. format(var, 32, "Leader=%d\n",PlayerInfo[playerid][pLeader]);fwrite(hFile, var);
  44812. format(var, 32, "Rank=%d\n",PlayerInfo[playerid][pRank]);fwrite(hFile, var);
  44813. format(var, 32, "Job=%d\n",PlayerInfo[playerid][pJob]);fwrite(hFile, var);
  44814. format(var, 32, "Job2=%d\n",PlayerInfo[playerid][pJob2]);fwrite(hFile, var);
  44815. format(var, 32, "UpgradePoints=%d\n",PlayerInfo[playerid][gPupgrade]);fwrite(hFile, var);
  44816. format(var, 32, "SpawnArmor=%.1f\n",PlayerInfo[playerid][pSarmor]);fwrite(hFile, var);
  44817. format(var, 32, "Cash=%d\n",PlayerInfo[playerid][pCash]);fwrite(hFile, var);
  44818. format(var, 32, "Bank=%d\n",PlayerInfo[playerid][pBank]);fwrite(hFile, var);
  44819. format(var, 32, "Insurance=%d\n",PlayerInfo[playerid][pInsurance]);fwrite(hFile, var);
  44820. format(var, 32, "Crimes=%d\n",PlayerInfo[playerid][pCrimes]);fwrite(hFile, var);
  44821. format(var, 32, "Arrested=%d\n",PlayerInfo[playerid][pArrested]);fwrite(hFile, var);
  44822. format(var, 32, "WantedLevel=%d\n",PlayerInfo[playerid][pWantedLevel]);fwrite(hFile, var);
  44823. format(var, 32, "Health=%.1f\n",PlayerInfo[playerid][pHealth]);fwrite(hFile, var);
  44824. format(var, 32, "Armor=%.1f\n",PlayerInfo[playerid][pArmor]);fwrite(hFile, var);
  44825. format(var, 32, "Pot=%d\n",PlayerInfo[playerid][pPot]);fwrite(hFile, var);
  44826. format(var, 32, "Crack=%d\n",PlayerInfo[playerid][pCrack]);fwrite(hFile, var);
  44827. format(var, 32, "Radio=%d\n",PlayerInfo[playerid][pRadio]);fwrite(hFile, var);
  44828. format(var, 32, "RadioFreq=%d\n",PlayerInfo[playerid][pRadioFreq]);fwrite(hFile, var);
  44829. format(var, 32, "Phonebook=%d\n",PlayerInfo[playerid][pPhoneBook]);fwrite(hFile, var);
  44830. format(var, 32, "Dice=%d\n",PlayerInfo[playerid][pDice]);fwrite(hFile, var);
  44831. format(var, 32, "CDPlayer=%d\n",PlayerInfo[playerid][pCDPlayer]);fwrite(hFile, var);
  44832. format(var, 32, "Materials=%d\n",PlayerInfo[playerid][pMats]);fwrite(hFile, var);
  44833. format(var, 32, "Rope=%d\n",PlayerInfo[playerid][pRope]);fwrite(hFile, var);
  44834. format(var, 32, "Cigars=%d\n",PlayerInfo[playerid][pCigar]);fwrite(hFile, var);
  44835. format(var, 32, "Sprunk=%d\n",PlayerInfo[playerid][pSprunk]);fwrite(hFile, var);
  44836. format(var, 32, "Spraycan=%d\n",PlayerInfo[playerid][pSpraycan]);fwrite(hFile, var);
  44837. format(var, 32, "House=%d\n",PlayerInfo[playerid][pHouse]);fwrite(hFile, var);
  44838. format(var, 32, "House2=%d\n",PlayerInfo[playerid][pHouse2]);fwrite(hFile, var);
  44839. format(var, 32, "Renting=%d\n",PlayerInfo[playerid][pRenting]);fwrite(hFile, var);
  44840. format(var, 32, "Int=%d\n",PlayerInfo[playerid][pInt]);fwrite(hFile, var);
  44841. format(var, 32, "VirtualWorld=%d\n",PlayerInfo[playerid][pVW]);fwrite(hFile, var);
  44842. format(var, 32, "Jailed=%d\n",PlayerInfo[playerid][pJailed]);fwrite(hFile, var);
  44843. format(var, 32, "JailTime=%d\n",PlayerInfo[playerid][pJailTime]);fwrite(hFile, var);
  44844. for(new s = 0; s < 12; s++)
  44845. {
  44846. format(var, 32, "Gun%d=%d\n", s, PlayerInfo[playerid][pGuns][s]);fwrite(hFile, var);
  44847. }
  44848. format(var, 32, "Paycheck=%d\n",PlayerInfo[playerid][pPayCheck]);fwrite(hFile, var);
  44849. format(var, 32, "PayReady=%d\n",PlayerInfo[playerid][pPayReady]);fwrite(hFile, var);
  44850. format(var, 32, "Hospital=%d\n",PlayerInfo[playerid][pHospital]);fwrite(hFile, var);
  44851. format(var, 32, "DetSkill=%d\n",PlayerInfo[playerid][pDetSkill]);fwrite(hFile, var);
  44852. format(var, 32, "LawSkill=%d\n",PlayerInfo[playerid][pLawSkill]);fwrite(hFile, var);
  44853. format(var, 32, "SexSkill=%d\n",PlayerInfo[playerid][pSexSkill]);fwrite(hFile, var);
  44854. format(var, 32, "DrugsSkill=%d\n",PlayerInfo[playerid][pDrugsSkill]);fwrite(hFile, var);
  44855. format(var, 32, "SmugglerSkill=%d\n",PlayerInfo[playerid][pSmugSkill]);fwrite(hFile, var);
  44856. format(var, 32, "ArmsSkill=%d\n",PlayerInfo[playerid][pArmsSkill]);fwrite(hFile, var);
  44857. format(var, 32, "MechSkill=%d\n",PlayerInfo[playerid][pMechSkill]);fwrite(hFile, var);
  44858. format(var, 32, "FishSkill=%d\n",PlayerInfo[playerid][pFishSkill]);fwrite(hFile, var);
  44859. format(var, 32, "BoxSkill=%d\n",PlayerInfo[playerid][pBoxSkill]);fwrite(hFile, var);
  44860. format(var, 32, "TruckSkill=%d\n",PlayerInfo[playerid][pTruckSkill]);fwrite(hFile, var);
  44861. format(var, 32, "CarSkill=%d\n",PlayerInfo[playerid][pCarSkill]);fwrite(hFile, var);
  44862. //format(var, 32, "CraftSkill=%d\n",PlayerInfo[playerid][pCraftSkill]);fwrite(hFile, var);
  44863. format(var, 32, "LawyerTime=%d\n",PlayerInfo[playerid][pLawyerTime]);fwrite(hFile, var);
  44864. format(var, 32, "LawyerFreeTime=%d\n",PlayerInfo[playerid][pLawyerFreeTime]);fwrite(hFile, var);
  44865. format(var, 32, "DrugsTime=%d\n",PlayerInfo[playerid][pDrugsTime]);fwrite(hFile, var);
  44866. format(var, 32, "MechTime=%d\n",PlayerInfo[playerid][pMechTime]);fwrite(hFile, var);
  44867. format(var, 32, "SexTime=%d\n",PlayerInfo[playerid][pSexTime]);fwrite(hFile, var);
  44868. format(var, 32, "CarTime=%d\n",PlayerInfo[playerid][pCarTime]);fwrite(hFile, var);
  44869. format(var, 32, "Fishes=%d\n",PlayerInfo[playerid][pFishes]);fwrite(hFile, var);
  44870. format(var, 32, "BiggestFish=%d\n",PlayerInfo[playerid][pBiggestFish]);fwrite(hFile, var);
  44871. format(var, 32, "pWExists=%d\n",PlayerInfo[playerid][pWeedObject]);fwrite(hFile, var);
  44872. format(var, 32, "pWX=%f\n",PlayerInfo[playerid][pWeedPos][0]);fwrite(hFile, var);
  44873. format(var, 32, "pWY=%f\n",PlayerInfo[playerid][pWeedPos][1]);fwrite(hFile, var);
  44874. format(var, 32, "pWZ=%f\n",PlayerInfo[playerid][pWeedPos][2]);fwrite(hFile, var);
  44875. format(var, 32, "pWVW=%d\n",PlayerInfo[playerid][pWeedVW]);fwrite(hFile, var);
  44876. format(var, 32, "pWInt=%d\n",PlayerInfo[playerid][pWeedInt]);fwrite(hFile, var);
  44877. format(var, 32, "pWValue=%d\n",PlayerInfo[playerid][pWeedGrowth]);fwrite(hFile, var);
  44878. format(var, 32, "pWSeeds=%d\n",PlayerInfo[playerid][pWSeeds]);fwrite(hFile, var);
  44879. format(var, 32, "Wins=%d\n",PlayerInfo[playerid][pWins]);fwrite(hFile, var);
  44880. format(var, 32, "Loses=%d\n",PlayerInfo[playerid][pLoses]);fwrite(hFile, var);
  44881. format(var, 32, "FightingStyle=%d\n",PlayerInfo[playerid][pFightStyle]);fwrite(hFile, var);
  44882. format(var, 32, "Screwdriver=%d\n",PlayerInfo[playerid][pScrewdriver]);fwrite(hFile, var);
  44883. format(var, 32, "Smslog=%d\n",PlayerInfo[playerid][pSmslog]);fwrite(hFile, var);
  44884. format(var, 32, "Wristwatch=%d\n",PlayerInfo[playerid][pWristwatch]);fwrite(hFile, var);
  44885. format(var, 32, "Tire=%d\n",PlayerInfo[playerid][pTire]);fwrite(hFile, var);
  44886. format(var, 32, "Firstaid=%d\n",PlayerInfo[playerid][pFirstaid]);fwrite(hFile, var);
  44887. format(var, 32, "Rccam=%d\n",PlayerInfo[playerid][pRccam]);fwrite(hFile, var);
  44888. format(var, 32, "Receiver=%d\n",PlayerInfo[playerid][pReceiver]);fwrite(hFile, var);
  44889. format(var, 32, "GPS=%d\n",PlayerInfo[playerid][pGPS]);fwrite(hFile, var);
  44890. format(var, 32, "Sweep=%d\n",PlayerInfo[playerid][pSweep]);fwrite(hFile, var);
  44891. format(var, 32, "SweepLeft=%d\n",PlayerInfo[playerid][pSweepLeft]);fwrite(hFile, var);
  44892. format(var, 32, "Bugged=%d\n",PlayerInfo[playerid][pBugged]);fwrite(hFile, var);
  44893. for(new v = 0; v < MAX_PLAYERVEHICLES; v++)
  44894. {
  44895. format(var, 32, "pv%dPosX=%.1f\n", v, PlayerVehicleInfo[playerid][v][pvPosX]);fwrite(hFile, var);
  44896. format(var, 32, "pv%dPosY=%.1f\n", v, PlayerVehicleInfo[playerid][v][pvPosY]);fwrite(hFile, var);
  44897. format(var, 32, "pv%dPosZ=%.1f\n", v, PlayerVehicleInfo[playerid][v][pvPosZ]);fwrite(hFile, var);
  44898. format(var, 32, "pv%dPosAngle=%.1f\n", v, PlayerVehicleInfo[playerid][v][pvPosAngle]);fwrite(hFile, var);
  44899. format(var, 32, "pv%dModelId=%d\n", v, PlayerVehicleInfo[playerid][v][pvModelId]);fwrite(hFile, var);
  44900. format(var, 32, "pv%dLock=%d\n", v, PlayerVehicleInfo[playerid][v][pvLock]);fwrite(hFile, var);
  44901. format(var, 32, "pv%dLocked=%d\n", v, PlayerVehicleInfo[playerid][v][pvLocked]);fwrite(hFile, var);
  44902. format(var, 32, "pv%dPaintJob=%d\n", v, PlayerVehicleInfo[playerid][v][pvPaintJob]);fwrite(hFile, var);
  44903. format(var, 32, "pv%dColor1=%d\n", v, PlayerVehicleInfo[playerid][v][pvColor1]);fwrite(hFile, var);
  44904. format(var, 32, "pv%dColor2=%d\n", v, PlayerVehicleInfo[playerid][v][pvColor2]);fwrite(hFile, var);
  44905. format(var, 32, "pv%dPrice=%d\n", v, PlayerVehicleInfo[playerid][v][pvPrice]);fwrite(hFile, var);
  44906. format(var, 32, "pv%dTicket=%d\n", v, PlayerVehicleInfo[playerid][v][pvTicket]);fwrite(hFile, var);
  44907. format(var, 32, "pv%dWeapon0=%d\n", v, PlayerVehicleInfo[playerid][v][pvWeapons][0]);fwrite(hFile, var);
  44908. format(var, 32, "pv%dWeapon1=%d\n", v, PlayerVehicleInfo[playerid][v][pvWeapons][1]);fwrite(hFile, var);
  44909. format(var, 32, "pv%dWeapon2=%d\n", v, PlayerVehicleInfo[playerid][v][pvWeapons][2]);fwrite(hFile, var);
  44910. format(var, 32, "pv%dWepUpgrade=%d\n", v, PlayerVehicleInfo[playerid][v][pvWepUpgrade]);fwrite(hFile, var);
  44911. format(var, 32, "pv%dFuel=%.2f\n", v, PlayerVehicleInfo[playerid][v][pvFuel]);fwrite(hFile, var);
  44912. format(var, 32, "pv%dImpound=%d\n", v, PlayerVehicleInfo[playerid][v][pvImpounded]);fwrite(hFile, var);
  44913. format(var, 32, "pv%dSpawned=%d\n", v, PlayerVehicleInfo[playerid][v][pvSpawned]);fwrite(hFile, var);
  44914. format(var, 32, "pv%dDisabled=%d\n", v, PlayerVehicleInfo[playerid][v][pvDisabled]);fwrite(hFile, var);
  44915. format(var, 128, "pv%dNumPlate=%s\n", v, PlayerVehicleInfo[playerid][v][pvNumberPlate]);fwrite(hFile, var);
  44916. for(new m = 0; m < MAX_MODS; m++)
  44917. {
  44918. format(var, 32, "pv%dMod%d=%d\n", v, m, PlayerVehicleInfo[playerid][v][pvMods][m]);fwrite(hFile, var);
  44919. }
  44920. //format(var, 32, "pv%dAllowedPlayer=%s\n", v, PlayerVehicleInfo[playerid][v][pvAllowPlayer]);fwrite(hFile, var);
  44921. }
  44922. format(var, 32, "OnDuty=%d\n",PlayerInfo[playerid][pDuty]);fwrite(hFile, var);
  44923. format(var, 32, "CarLic=%d\n",PlayerInfo[playerid][pCarLic]);fwrite(hFile, var);
  44924. format(var, 32, "FlyLic=%d\n",PlayerInfo[playerid][pFlyLic]);fwrite(hFile, var);
  44925. format(var, 32, "BoatLic=%d\n",PlayerInfo[playerid][pBoatLic]);fwrite(hFile, var);
  44926. format(var, 32, "FishLic=%d\n",PlayerInfo[playerid][pFishLic]);fwrite(hFile, var);
  44927. format(var, 32, "GunLic=%d\n",PlayerInfo[playerid][pGunLic]);fwrite(hFile, var);
  44928. format(var, 32, "Division=%d\n",PlayerInfo[playerid][pDivision]);fwrite(hFile, var);
  44929. format(var, 32, "TicketTime=%d\n",PlayerInfo[playerid][pTicketTime]);fwrite(hFile, var);
  44930. format(var, 32, "HeadValue=%d\n",PlayerInfo[playerid][pHeadValue]);fwrite(hFile, var);
  44931. format(var, 32, "ContractBy=%s\n",PlayerInfo[playerid][pContractBy]);fwrite(hFile, var);
  44932. format(var, 64, "ContractDetail=%s\n",PlayerInfo[playerid][pContractDetail]);fwrite(hFile, var);
  44933. format(var, 32, "Bombs=%d\n",PlayerInfo[playerid][pBombs]);fwrite(hFile, var);
  44934. format(var, 32, "CHits=%d\n",PlayerInfo[playerid][pCHits]);fwrite(hFile, var);
  44935. format(var, 32, "FHits=%d\n",PlayerInfo[playerid][pFHits]);fwrite(hFile, var);
  44936. format(var, 32, "PrisonedBy=%s\n", PlayerInfo[playerid][pPrisonedBy]);fwrite(hFile, var);
  44937. format(var, 128, "PrisonReason=%s\n", PlayerInfo[playerid][pPrisonReason]);fwrite(hFile, var);
  44938. format(var, 32, "AcceptReport=%d\n",PlayerInfo[playerid][pAcceptReport]);fwrite(hFile, var);
  44939. format(var, 32, "TrashReport=%d\n",PlayerInfo[playerid][pTrashReport]);fwrite(hFile, var);
  44940. format(var, 32, "Accent=%d\n",PlayerInfo[playerid][pAccent]);fwrite(hFile, var);
  44941. format(var, 32, "NewMuted=%d\n",PlayerInfo[playerid][pNMute]);fwrite(hFile, var);
  44942. format(var, 32, "NewMutedTotal=%d\n",PlayerInfo[playerid][pNMuteTotal]);fwrite(hFile, var);
  44943. format(var, 32, "AdMuted=%d\n",PlayerInfo[playerid][pADMute]);fwrite(hFile, var);
  44944. format(var, 32, "AdMutedTotal=%d\n",PlayerInfo[playerid][pADMuteTotal]);fwrite(hFile, var);
  44945. format(var, 32, "ReportMuted=%d\n",PlayerInfo[playerid][pRMuted]);fwrite(hFile, var);
  44946. format(var, 32, "ReportMutedTotal=%d\n",PlayerInfo[playerid][pRMutedTotal]);fwrite(hFile, var);
  44947. format(var, 32, "ReportMutedTime=%d\n",PlayerInfo[playerid][pRMutedTime]);fwrite(hFile, var);
  44948. format(var, 32, "Speedo=%d\n",PlayerInfo[playerid][pSpeedo]);fwrite(hFile, var);
  44949. format(var, 32, "GCMuted=%d\n",PlayerInfo[playerid][pGCMuted]);fwrite(hFile, var);
  44950. format(var, 32, "GCMutedTime=%d\n",PlayerInfo[playerid][pGCMutedTime]);fwrite(hFile, var);
  44951. format(var, 32, "CallsAccepted=%d\n", PlayerInfo[playerid][pCallsAccepted]);fwrite(hFile, var);
  44952. format(var, 32, "PatientsDelivered=%d\n",PlayerInfo[playerid][pPatientsDelivered]);fwrite(hFile, var);
  44953. format(var, 32, "TriageTime=%d\n",PlayerInfo[playerid][pTriageTime]);fwrite(hFile, var);
  44954. format(var, 32, "Married=%d\n",PlayerInfo[playerid][pMarried]);fwrite(hFile, var);
  44955. format(var, 32, "MarriedTo=%s\n",PlayerInfo[playerid][pMarriedTo]);fwrite(hFile, var);
  44956. for(new v = 0; v < MAX_PLAYERTOYS; v++)
  44957. {
  44958. format(var, 32, "pt%dModelID=%d\n", v, PlayerToyInfo[playerid][v][ptModelID]);fwrite(hFile, var);
  44959. format(var, 32, "pt%dBone=%d\n", v, PlayerToyInfo[playerid][v][ptBone]);fwrite(hFile, var);
  44960. format(var, 32, "pt%dPosX=%.5f\n", v, PlayerToyInfo[playerid][v][ptPosX]);fwrite(hFile, var);
  44961. format(var, 32, "pt%dPosY=%.5f\n", v, PlayerToyInfo[playerid][v][ptPosY]);fwrite(hFile, var);
  44962. format(var, 32, "pt%dPosZ=%.5f\n", v, PlayerToyInfo[playerid][v][ptPosZ]);fwrite(hFile, var);
  44963. format(var, 32, "pt%dRotX=%.5f\n", v, PlayerToyInfo[playerid][v][ptRotX]);fwrite(hFile, var);
  44964. format(var, 32, "pt%dRotY=%.5f\n", v, PlayerToyInfo[playerid][v][ptRotY]);fwrite(hFile, var);
  44965. format(var, 32, "pt%dRotZ=%.5f\n", v, PlayerToyInfo[playerid][v][ptRotZ]);fwrite(hFile, var);
  44966. format(var, 32, "pt%dScaX=%.5f\n", v, PlayerToyInfo[playerid][v][ptScaleX]);fwrite(hFile, var);
  44967. format(var, 32, "pt%dScaY=%.5f\n", v, PlayerToyInfo[playerid][v][ptScaleY]);fwrite(hFile, var);
  44968. format(var, 32, "pt%dScaZ=%.5f\n", v, PlayerToyInfo[playerid][v][ptScaleZ]);fwrite(hFile, var);
  44969. }
  44970. format(var, 256, "KillLog0=%s\n",PlayerInfo[playerid][pKillLog0]);fwrite(hFile, var);
  44971. format(var, 256, "KillLog1=%s\n",PlayerInfo[playerid][pKillLog1]);fwrite(hFile, var);
  44972. format(var, 256, "KillLog2=%s\n",PlayerInfo[playerid][pKillLog2]);fwrite(hFile, var);
  44973. format(var, 256, "KillLog3=%s\n",PlayerInfo[playerid][pKillLog3]);fwrite(hFile, var);
  44974. format(var, 256, "KillLog4=%s\n",PlayerInfo[playerid][pKillLog4]);fwrite(hFile, var);
  44975. format(var, 256, "KillLog5=%s\n",PlayerInfo[playerid][pKillLog5]);fwrite(hFile, var);
  44976. format(var, 256, "KillLog6=%s\n",PlayerInfo[playerid][pKillLog6]);fwrite(hFile, var);
  44977. format(var, 256, "KillLog7=%s\n",PlayerInfo[playerid][pKillLog7]);fwrite(hFile, var);
  44978. format(var, 256, "KillLog8=%s\n",PlayerInfo[playerid][pKillLog8]);fwrite(hFile, var);
  44979. format(var, 256, "KillLog9=%s\n",PlayerInfo[playerid][pKillLog9]);fwrite(hFile, var);
  44980. format(var, 32, "Crew1=%d\n",PlayerInfo[playerid][pCrew1]);fwrite(hFile, var);
  44981. format(var, 32, "Crew2=%d\n",PlayerInfo[playerid][pCrew2]);fwrite(hFile, var);
  44982. format(var, 32, "Crew3=%d\n",PlayerInfo[playerid][pCrew3]);fwrite(hFile, var);
  44983. format(var, 128, "Flag=%s\n", PlayerInfo[playerid][pFlag]);fwrite(hFile, var);
  44984. format(var, 128, "ReferredBy=%s\n", PlayerInfo[playerid][pReferredBy]);fwrite(hFile, var);
  44985. format(var, 32, "RefTokens=%d\n",PlayerInfo[playerid][pRefTokens]);fwrite(hFile, var);
  44986. format(var, 32, "RefTokensOffline=%d\n",PlayerInfo[playerid][pRefTokensOffline]);fwrite(hFile, var);
  44987. format(var, 32, "Helper=%d\n",PlayerInfo[playerid][pHelper]);fwrite(hFile, var);
  44988. format(var, 32, "Backpack=%d\n",PlayerInfo[playerid][pBackpack]);fwrite(hFile, var);
  44989. format(var, 32, "BackpackPot=%d\n",PlayerInfo[playerid][pBPPot]);fwrite(hFile, var);
  44990. format(var, 32, "BackpackCrack=%d\n",PlayerInfo[playerid][pBPCrack]);fwrite(hFile, var);
  44991. format(var, 32, "BackpackCash=%d\n",PlayerInfo[playerid][pBPCash]);fwrite(hFile, var);
  44992. format(var, 32, "Wearing=%d\n",PlayerInfo[playerid][pWearingBP]);fwrite(hFile, var);
  44993. format(var, 32, "LiveBanned=%d\n",PlayerInfo[playerid][pLiveBanned]);fwrite(hFile, var);
  44994. fclose(hFile);
  44995. OnPlayerLogin(playerid, password);
  44996. PlayerInfo[playerid][pReg] = 1;
  44997. TotalRegister++;
  44998. }
  44999. }
  45000. return 1;
  45001. }
  45002. stock AntiDeAMX()
  45003. {
  45004. new a[][] = {
  45005. "Unarmed (Fist)",
  45006. "Brass K"
  45007. };
  45008. #pragma unused a
  45009. printf("Get shit on by Anti-DeAMX");
  45010. }
  45011. #if defined TREASURE_HUNT_ENABLED
  45012. stock SetRandomHuntPos() {
  45013. iHuntLocation = random(sizeof(fTreasureHuntLS));
  45014. DestroyPickup(iHuntPickup);
  45015. DestroyDynamic3DTextLabel(lHunt);
  45016. iHuntPickup = CreatePickup(1279, 1, fTreasureHuntLS[iHuntLocation][0], fTreasureHuntLS[iHuntLocation][1], fTreasureHuntLS[iHuntLocation][2], 0);
  45017. lHunt = CreateDynamic3DTextLabel("Treasure Hunt\nEnter the pickup!", COLOR_YELLOW, fTreasureHuntLS[iHuntLocation][0], fTreasureHuntLS[iHuntLocation][1], fTreasureHuntLS[iHuntLocation][2]+0.5, 20.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 10.0);
  45018. return 1;
  45019. }
  45020. stock PrizeMenu(playerid) {
  45021. ShowPlayerDialogEx(playerid, DIALOG_HUNT_PRIZE, DIALOG_STYLE_LIST, "Treasure Hunt Prize Selection", "20 pot, 10 crack\n2,000 materials\nDesert Eagle\n1 respect point\n", "OK", "Cancel");
  45022. return 1;
  45023. }
  45024. stock AskHuntQuestion(playerid) {
  45025. if(!IsPlayerConnected(playerid))
  45026. return 0;
  45027. SetPVarInt(playerid, "HuntQ", random(10));
  45028. SendClientMessage(playerid, COLOR_WHITE, "To unlock the prize, you must answer a question. If you get the answer wrong, the treasure will be moved before you have a chance to try again.");
  45029. switch(GetPVarInt(playerid, "HuntQ")) {
  45030. case 0: ShowPlayerDialogEx(playerid, DIALOG_HUNT_QUESTION, DIALOG_STYLE_LIST, "What was the date the server opened? (EU/US timezone)", "January 6th\nJanuary 3rd\nJanuary 5th\nJanuary 8th", "OK", "Cancel");
  45031. case 1: ShowPlayerDialogEx(playerid, DIALOG_HUNT_QUESTION, DIALOG_STYLE_LIST, "What is Jay Chawla's favourite catchphrase?", "Game on\nPlug in\nMastication for the Nation\nMatch on\n", "OK", "Cancel");
  45032. case 2: ShowPlayerDialogEx(playerid, DIALOG_HUNT_QUESTION, DIALOG_STYLE_LIST, "Do you know a man named Miles Thorson?", "Yes, we're good friends\nHe kicked my dog\nNo, He's an imaginary character from The Mentalist\n", "OK", "Cancel");
  45033. case 3: ShowPlayerDialogEx(playerid, DIALOG_HUNT_QUESTION, DIALOG_STYLE_LIST, "When was the theoretical physicist Albert Einstein born?", "December 25th, 2011\nMarch 14th, 1879\nApril 18th, 1955\nJanuary 4th, 1804", "OK", "Cancel");
  45034. case 4: ShowPlayerDialogEx(playerid, DIALOG_HUNT_QUESTION, DIALOG_STYLE_LIST, "What is the 'sizeof' function in Pawn?", "A stock function\nA forwarded function\nA macro which gets the size of a string\nThe name of a cereal", "OK", "Cancel");
  45035. case 5: ShowPlayerDialogEx(playerid, DIALOG_HUNT_QUESTION, DIALOG_STYLE_LIST, "What is the callsign of the Campo's team in Battlefield 3?", "Kimball 4-6\nMisfit 1-3\nFitmissie 69\nActual 1-3", "OK", "Cancel");
  45036. case 6: ShowPlayerDialogEx(playerid, DIALOG_HUNT_QUESTION, DIALOG_STYLE_LIST, "In the popular US TV show 'Psych', what is the name of the sidekick?", "Burton Guster\nCarlton Lassiter\nJames Roday\nHenry Spencer", "OK", "Cancel");
  45037. case 7: ShowPlayerDialogEx(playerid, DIALOG_HUNT_QUESTION, DIALOG_STYLE_LIST, "Which company developed the iPhone?", "Grapefruit\nOrange\nApple\nBlackBerry", "OK", "Cancel");
  45038. case 8: ShowPlayerDialogEx(playerid, DIALOG_HUNT_QUESTION, DIALOG_STYLE_LIST, "What symbol is used for hashtags on Twitter?", "#\n$\n£\n&", "OK", "Cancel");
  45039. case 9: ShowPlayerDialogEx(playerid, DIALOG_HUNT_QUESTION, DIALOG_STYLE_LIST, "3 robbers robbed a store. Once they came out, they were totally changed, but they still continued robbing. Why?", "Developers, developers, developers, developers (cont.)\nThey changed their clothes, not their ways\nThey used Harry Potter's cloak of invisibility\nThe sun is shining everyday", "OK", "Cancel");
  45040. }
  45041. return 1;
  45042. }
  45043. #endif
  45044. forward RandomMessages();
  45045. public RandomMessages()
  45046. {
  45047. new randomMsg = random(sizeof(randomMessages)); //create a variable "randomMsg" and give it the value of our array we've created ("randomMessages")
  45048. //the word "random" is included into PAWN, which will tell the script, to work randomly with the array
  45049. SendClientMessageToAllEx(COLOR_NEWS, randomMessages[randomMsg]); //this will send the content of our array to EVERYBODY on the server
  45050. // the content are strings, and we're using our array "randomMessages" with our created variable "randomMsg" again
  45051. }
  45052. forward loadbiz_data(idx, name[], value[]);
  45053. public loadbiz_data(idx, name[], value[])
  45054. {
  45055. INI_Int("bOwned", BusinessInfo[idx][bOwned]);
  45056. INI_Int("bPrice", BusinessInfo[idx][bPrice]);
  45057. INI_String("bOwner", BusinessInfo[idx][bOwner], 24);
  45058. INI_Int("bType", BusinessInfo[idx][bType]);
  45059. INI_Int("bLocked", BusinessInfo[idx][bLocked]);
  45060. INI_Int("bMoney", BusinessInfo[idx][bMoney]);
  45061. INI_Float("bEntranceX", BusinessInfo[idx][bEntranceX]);
  45062. INI_Float("bEntranceY", BusinessInfo[idx][bEntranceY]);
  45063. INI_Float("bEntranceZ", BusinessInfo[idx][bEntranceZ]);
  45064. INI_Float("bEntranceA", BusinessInfo[idx][bEntranceA]);
  45065. INI_Float("bExitX", BusinessInfo[idx][bExitX]);
  45066. INI_Float("bExitY", BusinessInfo[idx][bExitY]);
  45067. INI_Float("bExitZ", BusinessInfo[idx][bExitZ]);
  45068. INI_Float("bExitA", BusinessInfo[idx][bExitA]);
  45069. INI_Int("bInt", BusinessInfo[idx][bInt]);
  45070. INI_Int("bWorld", BusinessInfo[idx][bWorld]);
  45071. INI_Int("bInsideInt", BusinessInfo[idx][bInsideInt]);
  45072. INI_Int("bInsideWorld", BusinessInfo[idx][bInsideWorld]);
  45073. INI_String("bName", BusinessInfo[idx][bName], 128);
  45074. INI_String("bIT", BusinessInfo[idx][bIT], 128);
  45075. return 1;
  45076. }
  45077. forward loadland_data(idx, name[], value[]);
  45078. public loadland_data(idx, name[], value[])
  45079. {
  45080. INI_Int("lOwned", LandsInfo[idx][lOwned]);
  45081. INI_Int("lPrice", LandsInfo[idx][lPrice]);
  45082. INI_String("lOwner", LandsInfo[idx][lOwner], 24);
  45083. INI_Int("lType", LandsInfo[idx][lType]);
  45084. INI_Float("pos_X", LandsInfo[idx][pos_X]);
  45085. INI_Float("pos_Y", LandsInfo[idx][pos_Y]);
  45086. INI_Float("pos_Z", LandsInfo[idx][pos_Z]);
  45087. INI_Int("lObjectCount", LandsInfo[idx][lObjectCount]);
  45088. return 1;
  45089. }
  45090. stock Comma(numbers) //by Gamer931215
  45091. {
  45092. new temp[24],counter = -1;
  45093. valstr(temp,numbers);
  45094. for(new i = strlen(temp);i > 0; i--)
  45095. {
  45096. counter++;
  45097. if(counter == 3)
  45098. {
  45099. strins(temp,",",i);
  45100. counter = 0;
  45101. }
  45102. }
  45103. return temp;
  45104. }
  45105. public OnGameModeInit()
  45106. {
  45107. new string[128];
  45108. Create3DTextLabel("{1C77B3}ARES\n/locker to open ares locker", -1, -1109.457641, -95.517982, 2040.269287, 20.0, 885312, 0);
  45109. CreateObject(4242, 956.67639, 680.76337, 17.62670, 90.00000, 0.00000, 0.00000);
  45110. CreateObject(4242, 948.76538, 648.00201, 17.62670, 90.00000, 0.00000, 90.00000);
  45111. CreateObject(4232, 937.45050, 645.64307, 16.20184, 0.00000, 0.00000, 0.00000);
  45112. CreateVehicle(408, 2499.9541, -2523.0374, 14.0741, 90.0000, -1, -1, 100);
  45113. CreateVehicle(408, 2499.9541, -2527.4976, 14.0741, 90.0000, -1, -1, 100);
  45114. CreateVehicle(408, 2499.9541, -2531.6584, 14.0741, 90.0000, -1, -1, 100);
  45115. CreateVehicle(408, 2499.9541, -2536.1375, 14.0741, 90.0000, -1, -1, 100);
  45116. CreateVehicle(408, 2499.6973, -2540.3386, 14.0741, 90.0000, -1, -1, 100);
  45117. CreateVehicle(408, 2499.8213, -2544.5789, 14.0741, 90.0000, -1, -1, 100);
  45118. CreateVehicle(408, 2499.9541, -2559.8306, 14.0741, 90.0000, -1, -1, 100);
  45119. CreateVehicle(408, 2499.9541, -2564.3313, 14.0741, 90.0000, -1, -1, 100);
  45120. CreateVehicle(408, 2499.9541, -2568.4824, 14.0741, 90.0000, -1, -1, 100);
  45121. CreateVehicle(408, 2499.9541, -2572.5356, 14.0741, 90.0000, -1, -1, 100);
  45122. CreateVehicle(408, 2499.9541, -2576.6038, 14.0741, 90.0000, -1, -1, 100);
  45123. CreateVehicle(408, 2499.9688, -2580.7673, 14.0741, 90.0000, -1, -1, 100);
  45124. CreateObject(19379, 279.65729, 1527.75024, 1081.59729, 0.00000, 90.00000, 0.00000);
  45125. CreateObject(19379, 279.65280, 1547.01160, 1082.51501, 0.00000, 90.00000, 0.00000);
  45126. CreateObject(19379, 279.65729, 1537.39001, 1081.59729, 0.00000, 90.00000, 0.00000);
  45127. CreateObject(19378, 280.82541, 1523.05444, 1083.77441, 0.00000, 0.00000, 90.00000);
  45128. CreateObject(19379, 269.21439, 1527.75024, 1081.59729, 0.00000, 90.00000, 0.00000);
  45129. CreateObject(19379, 269.21439, 1537.39001, 1081.59729, 0.00000, 90.00000, 0.00000);
  45130. CreateObject(19379, 269.21439, 1547.01160, 1082.51501, 0.00000, 90.00000, 0.00000);
  45131. CreateObject(19378, 271.21021, 1523.05444, 1083.77441, 0.00000, 0.00000, 90.00000);
  45132. CreateObject(19378, 261.68759, 1523.05444, 1083.77441, 0.00000, 0.00000, 90.00000);
  45133. CreateObject(19378, 263.98792, 1527.65479, 1083.77441, 0.00000, 0.00000, 180.00000);
  45134. CreateObject(19378, 263.98792, 1546.81030, 1083.77441, 0.00000, 0.00000, 180.00000);
  45135. CreateObject(19378, 263.98792, 1537.22803, 1083.77441, 0.00000, 0.00000, 180.00000);
  45136. CreateObject(1557, 271.71490, 1523.08582, 1081.69482, 0.00000, 0.00000, 0.00000);
  45137. CreateObject(1557, 274.58200, 1523.08582, 1081.69482, 0.00000, 0.00000, 180.00000);
  45138. CreateObject(19378, 284.85797, 1526.71387, 1077.63733, 0.00000, 0.00000, 180.00000);
  45139. CreateObject(19378, 284.85800, 1533.83350, 1077.63733, 0.00000, 0.00000, 180.00000);
  45140. CreateObject(19324, 268.82184, 1523.51477, 1082.31396, 0.00000, 0.00000, 180.00000);
  45141. CreateObject(19943, 273.87344, 1530.06311, 1081.67712, 0.00000, 0.00000, 0.00000);
  45142. CreateObject(1978, 281.25131, 1528.70142, 1082.71936, 0.00000, 0.00000, -90.00000);
  45143. CreateObject(1978, 281.25131, 1531.71912, 1082.71936, 0.00000, 0.00000, -90.00000);
  45144. CreateObject(1978, 281.25131, 1534.39661, 1082.71936, 0.00000, 0.00000, -90.00000);
  45145. CreateObject(1895, 281.16141, 1523.23474, 1084.29883, 0.00000, 0.00000, 180.00000);
  45146. CreateObject(2964, 282.53580, 1525.80298, 1081.68347, 0.00000, 0.00000, 90.00000);
  45147. CreateObject(2964, 280.11871, 1525.80298, 1081.68347, 0.00000, 0.00000, 90.00000);
  45148. CreateObject(1515, 264.52209, 1525.87866, 1081.45386, 0.00000, 0.00000, 90.00000);
  45149. CreateObject(1775, 265.60962, 1523.44458, 1082.63904, 0.00000, 0.00000, 180.00000);
  45150. CreateObject(1515, 264.52209, 1526.65491, 1081.45386, 0.00000, 0.00000, 90.00000);
  45151. CreateObject(1515, 264.52209, 1527.42358, 1081.45386, 0.00000, 0.00000, 90.00000);
  45152. CreateObject(1515, 264.52209, 1529.97717, 1081.45386, 0.00000, 0.00000, 90.00000);
  45153. CreateObject(1515, 264.52209, 1530.75745, 1081.45386, 0.00000, 0.00000, 90.00000);
  45154. CreateObject(1515, 264.52209, 1531.51733, 1081.45386, 0.00000, 0.00000, 90.00000);
  45155. CreateObject(1515, 264.52209, 1533.56091, 1081.45386, 0.00000, 0.00000, 90.00000);
  45156. CreateObject(1515, 264.52209, 1534.33984, 1081.45386, 0.00000, 0.00000, 90.00000);
  45157. CreateObject(1515, 264.52209, 1535.07825, 1081.45386, 0.00000, 0.00000, 90.00000);
  45158. CreateObject(14394, 273.99551, 1537.51624, 1081.75061, 0.00000, 0.00000, 90.00000);
  45159. CreateObject(19378, 269.96841, 1542.16406, 1077.33508, 0.00000, 0.00000, 180.00000);
  45160. CreateObject(19378, 278.06210, 1542.16406, 1077.33508, 0.00000, 0.00000, 180.00000);
  45161. CreateObject(19378, 268.28619, 1538.72742, 1077.33508, 0.00000, 0.00000, 90.00000);
  45162. CreateObject(19378, 280.12219, 1538.72742, 1077.33508, 0.00000, 0.00000, 90.00000);
  45163. CreateObject(19379, 269.11469, 1543.49890, 1082.51501, 0.00000, 90.00000, 0.00000);
  45164. CreateObject(19379, 279.43738, 1543.50391, 1082.51501, 0.00000, 90.00000, 0.00000);
  45165. CreateObject(19304, 264.81540, 1538.67017, 1082.92053, 0.00000, 0.00000, 0.00000);
  45166. CreateObject(19304, 268.32089, 1538.67017, 1082.92053, 0.00000, 0.00000, 0.00000);
  45167. CreateObject(19304, 279.68890, 1538.67017, 1082.92053, 0.00000, 0.00000, 0.00000);
  45168. CreateObject(19304, 283.17111, 1538.67017, 1082.92053, 0.00000, 0.00000, 0.00000);
  45169. CreateObject(19943, 267.41470, 1537.39185, 1081.67712, 0.00000, 0.00000, 0.00000);
  45170. CreateObject(19943, 280.72379, 1537.39185, 1081.67712, 0.00000, 0.00000, 0.00000);
  45171. CreateObject(1895, 264.16431, 1526.72559, 1084.30371, 0.00000, 0.00000, 90.00000);
  45172. CreateObject(1895, 264.16431, 1530.82886, 1084.30371, 0.00000, 0.00000, 90.00000);
  45173. CreateObject(1895, 264.16431, 1534.38977, 1084.30371, 0.00000, 0.00000, 90.00000);
  45174. CreateObject(19943, 273.87341, 1546.24695, 1081.67712, 0.00000, 0.00000, 0.00000);
  45175. CreateObject(2188, 273.87460, 1544.91528, 1083.44263, 0.00000, 0.00000, 0.00000);
  45176. CreateObject(2188, 275.35269, 1546.20129, 1083.44263, 0.00000, 0.00000, 90.00000);
  45177. CreateObject(2188, 274.01068, 1547.77063, 1083.44263, 0.00000, 0.00000, 180.00000);
  45178. CreateObject(2188, 272.25458, 1546.34583, 1083.44263, 0.00000, 0.00000, -90.00000);
  45179. CreateObject(1726, 266.63449, 1539.91199, 1082.59863, 0.00000, 0.00000, 180.00000);
  45180. CreateObject(1726, 264.62921, 1543.03992, 1082.59863, 0.00000, 0.00000, -360.00000);
  45181. CreateObject(2311, 264.77960, 1541.46814, 1082.60022, 0.00000, 0.00000, 0.00000);
  45182. CreateObject(1726, 266.62189, 1544.87231, 1082.59863, 0.00000, 0.00000, 180.00000);
  45183. CreateObject(2311, 264.75961, 1546.51306, 1082.60022, 0.00000, 0.00000, 0.00000);
  45184. CreateObject(1726, 264.66919, 1548.13940, 1082.59863, 0.00000, 0.00000, -360.00000);
  45185. CreateObject(19378, 268.75589, 1551.54785, 1083.77441, 0.00000, 0.00000, 90.00000);
  45186. CreateObject(19378, 278.29871, 1551.54785, 1083.77441, 0.00000, 0.00000, 90.00000);
  45187. CreateObject(19378, 287.91870, 1551.54785, 1083.77441, 0.00000, 0.00000, 90.00000);
  45188. CreateObject(19378, 284.85800, 1541.44714, 1083.77441, 0.00000, 0.00000, 180.00000);
  45189. CreateObject(19378, 284.85800, 1550.87305, 1083.77441, 0.00000, 0.00000, 180.00000);
  45190. CreateObject(3858, 284.78146, 1529.32385, 1085.16296, 0.00000, 0.00000, 315.09982);
  45191. CreateObject(19378, 284.85800, 1531.81860, 1092.80701, 0.00000, 0.00000, 180.00000);
  45192. CreateObject(19378, 284.85800, 1522.23633, 1092.80701, 0.00000, 0.00000, 180.00000);
  45193. CreateObject(19378, 289.60001, 1523.05444, 1083.77441, 0.00000, 0.00000, 90.00000);
  45194. CreateObject(19379, 285.29547, 1525.08142, 1081.59729, 0.00000, 90.00000, 0.00000);
  45195. CreateObject(19379, 285.29678, 1534.46692, 1081.59729, 0.00000, 90.00000, 0.00000);
  45196. CreateObject(19378, 289.38614, 1527.91370, 1083.77441, 0.00000, 0.00000, 180.00000);
  45197. CreateObject(19378, 289.40015, 1537.18359, 1083.77441, 0.00000, 0.00000, 180.00000);
  45198. CreateObject(19378, 289.61795, 1536.69641, 1083.77441, 0.00000, 0.00000, 90.00000);
  45199. CreateObject(19841, 286.56583, 1533.48914, 1073.40076, 0.00000, 0.00000, -90.00000);
  45200. CreateObject(19379, 269.11469, 1543.49890, 1088.93799, 0.00000, 90.00000, 0.00000);
  45201. CreateObject(19379, 269.21439, 1547.01160, 1088.93799, 0.00000, 90.00000, 0.00000);
  45202. CreateObject(19379, 279.65280, 1547.01160, 1088.93799, 0.00000, 90.00000, 0.00000);
  45203. CreateObject(19379, 279.65280, 1543.49890, 1088.93799, 0.00000, 90.00000, 0.00000);
  45204. CreateObject(19379, 279.65729, 1537.39001, 1088.93799, 0.00000, 90.00000, 0.00000);
  45205. CreateObject(19379, 279.65729, 1527.75024, 1088.93799, 0.00000, 90.00000, 0.00000);
  45206. CreateObject(19379, 269.21439, 1527.75024, 1088.93799, 0.00000, 90.00000, 0.00000);
  45207. CreateObject(19379, 269.21439, 1537.39001, 1088.93799, 0.00000, 90.00000, 0.00000);
  45208. CreateObject(898, 292.75912, 1533.62915, 1079.33362, 0.00000, 0.00000, 0.00000);
  45209. CreateObject(898, 292.52261, 1528.35706, 1079.33362, 0.00000, 0.00000, 0.00000);
  45210. CreateObject(1557, 284.82291, 1547.90759, 1082.60022, 0.00000, 0.00000, 90.00000);
  45211. CreateObject(1557, 284.84991, 1550.80066, 1082.60022, 0.00000, 0.00000, -90.00000);
  45212. CreateObject(1557, 284.81018, 1550.89758, 1082.60022, 0.00000, 0.00000, -90.00000);
  45213. CreateObject(19379, 286.39117, 1527.62402, 1088.93799, 0.00000, 90.00000, 0.00000);
  45214. CreateObject(19379, 286.38000, 1534.69678, 1088.93799, 0.00000, 90.00000, 0.00000);
  45215. ARESVehicles[0] = CreateVehicle(411, 970.0504, 640.0577, 10.9980, 90.0000, 0, 2, 100);
  45216. ARESVehicles[1] = CreateVehicle(411, 970.0504, 636.2254, 10.9980, 90.0000, 0, 2, 100);
  45217. ARESVehicles[2] = CreateVehicle(415, 970.0504, 632.0792, 10.9980, 90.0000, 0, 2, 100);
  45218. ARESVehicles[3] = CreateVehicle(415, 970.0504, 628.5795, 10.9980, 90.0000, 0, 2, 100);
  45219. ARESVehicles[4] = CreateVehicle(601, 970.0504, 624.5279, 10.9980, 90.0000, 0, 2, 100);
  45220. ARESVehicles[5] = CreateVehicle(601, 970.0612, 619.8692, 10.9980, 90.0000, 0, 2, 100);
  45221. ARESVehicles[6] = CreateVehicle(598, 963.9072, 614.0214, 10.9980, 0.0000, 0, 2, 100);
  45222. ARESVehicles[7] = CreateVehicle(598, 960.0891, 614.0214, 10.9980, 0.0000, 0, 2, 100);
  45223. ARESVehicles[8] = CreateVehicle(598, 955.7955, 614.0214, 10.9980, 0.0000, 0, 2, 100);
  45224. ARESVehicles[9] = CreateVehicle(598, 952.1777, 614.0214, 10.9980, 0.0000, 0, 2, 100);
  45225. ARESVehicles[10] = CreateVehicle(598, 955.1327, 652.2392, 10.9980, -90.0000, 0, 2, 100);
  45226. ARESVehicles[11] = CreateVehicle(598, 955.0643, 656.1273, 10.9980, -90.0000, 0, 2, 100);
  45227. ARESVehicles[12] = CreateVehicle(487, 2802.6848, -1069.1533, 94.2659, -90.0000, 0, 2, 100);
  45228. ARESVehicles[13] = CreateVehicle(487, 2802.6848, -1102.8323, 94.2659, -90.0000, 0, 2, 100);
  45229. ARESVehicles[14] = CreateVehicle(490, 2808.5381, -1110.2419, 30.8791, 0.0000, 0, 201, 100);
  45230. ARESVehicles[15] = CreateVehicle(490, 2802.6980, -1110.2419, 30.8791, 0.0000, 0, 201, 100);
  45231. ARESVehicles[16] = CreateVehicle(490, 2807.7148, -1068.6200, 30.3500, 180.0000, 0, 201, 100);
  45232. ARESVehicles[17] = CreateVehicle(490, 2801.5515, -1068.9802, 30.7700, 180.0000, 0, 201, 100);
  45233. ARESVehicles[18] = CreateVehicle(598, 2798.4260, -1079.0966, 30.4153, -90.0000, 0, 201, 100);
  45234. ARESVehicles[19] = CreateVehicle(598, 2798.4292, -1096.4363, 30.4153, -90.0000, 0, 201, 100);
  45235. ARESVehicles[20] = CreateVehicle(411, 2820.8408, -1078.8547, 30.4365, 90.0000, 0, 201, 100);
  45236. ARESVehicles[21] = CreateVehicle(411, 2821.1436, -1083.4385, 30.4365, 90.0000, 0, 201, 100);
  45237. ARESVehicles[22] = CreateVehicle(541, 2821.4480, -1087.6206, 30.2146, 90.0000, 0, 201, 100);
  45238. ARESVehicles[23] = CreateVehicle(541, 2821.4280, -1092.7406, 30.2146, 90.0000, 0, 201, 100);
  45239. ARESVehicles[24] = CreateVehicle(598, 2795.8860, -1093.0365, 30.4153, -90.0000, 0, 201, 100);
  45240. ARESVehicles[25] = CreateVehicle(598, 2795.8787, -1081.7758, 30.4153, -90.0000, 0, 201, 100);
  45241. ARESVehicles[26] = CreateVehicle(487, 2804.6150, -1067.9597, 94.3814, -90.0000, 0, 201, 100);
  45242. ARESVehicles[27] = CreateVehicle(487, 2804.6150, -1104.6597, 94.3814, -90.0000, 0, 201, 100);
  45243. // Casino interior (Credits: Charly)
  45244. CreateDynamicObject(14777, 1095.62341, 19.60990, 999.67188, 360.00000, 0.00000, 0.00000);
  45245. CreateDynamicObject(19461, 1088.61060, 28.64991, 1001.41998, 0.00000, 0.00000, 0.00000);
  45246. CreateDynamicObject(19461, 1088.60901, 19.09576, 1001.41998, 0.00000, 0.00000, 0.00000);
  45247. CreateDynamicObject(19461, 1088.60901, 19.09580, 1004.90997, 180.00000, 0.00000, 0.00000);
  45248. CreateDynamicObject(19461, 1088.61060, 28.64990, 1004.90997, 180.00000, 0.00000, 0.00000);
  45249. CreateDynamicObject(19450, 1086.98096, 25.14653, 1000.74048, 0.00000, 90.00000, 0.00000);
  45250. CreateDynamicObject(19450, 1086.97839, 19.32791, 1000.74048, 0.00000, 90.00000, 0.00000);
  45251. CreateDynamicObject(19450, 1086.97839, 19.32790, 1002.45001, 0.00000, 90.00000, 0.00000);
  45252. CreateDynamicObject(19450, 1086.98096, 25.14650, 1002.45001, 0.00000, 90.00000, 0.00000);
  45253. CreateDynamicObject(1838, 1088.67651, 27.62889, 1001.08667, 0.00000, 0.00000, 90.00000);
  45254. CreateDynamicObject(1838, 1088.67065, 26.70870, 1001.08667, 0.00000, 0.00000, 90.00000);
  45255. CreateDynamicObject(1838, 1088.64441, 25.78710, 1001.08667, 0.00000, 0.00000, 90.00000);
  45256. CreateDynamicObject(1838, 1088.64148, 19.15041, 1001.08667, 0.00000, 0.00000, 90.00000);
  45257. CreateDynamicObject(1838, 1088.64099, 18.17435, 1001.08667, 0.00000, 0.00000, 90.00000);
  45258. CreateDynamicObject(1838, 1088.64563, 17.25409, 1001.08667, 0.00000, 0.00000, 90.00000);
  45259. CreateDynamicObject(19825, 1093.04260, 29.57410, 1002.50000, 0.00000, 0.00000, 0.00000);
  45260. CreateDynamicObject(2755, 1097.24146, 31.52200, 1001.20001, 0.00000, 0.00000, -90.00000);
  45261. CreateDynamicObject(2008, 1097.78552, 31.04761, 999.68158, 0.00000, 0.00000, 90.00000);
  45262. CreateDynamicObject(2700, 1099.47974, 30.33538, 1002.00000, 0.00000, 0.00000, 132.17999);
  45263. CreateDynamicObject(2921, 1092.42932, 30.16140, 1002.29999, 0.00000, 0.00000, 612.05939);
  45264. CreateDynamicObject(1892, 1095.71838, 29.82068, 999.68146, 0.00000, 0.00000, 0.00000);
  45265. CreateDynamicObject(1892, 1094.51782, 29.82010, 999.68146, 0.00000, 0.00000, 0.00000);
  45266. CreateDynamicObject(2879, 1091.57410, 32.46852, 1000.71722, 0.00000, 0.00000, 90.00000);
  45267. CreateDynamicObject(19810, 1091.66467, 33.19600, 1000.76001, 0.00000, 0.00000, -90.00000);
  45268. CreateDynamicObject(19810, 1091.67126, 32.83610, 1000.76001, 0.00000, 0.00000, 90.00000);
  45269. CreateDynamicObject(19810, 1091.67126, 32.83610, 1001.00000, 0.00000, 0.00000, 90.00000);
  45270. CreateDynamicObject(19810, 1091.67126, 33.19610, 1001.00000, 0.00000, 0.00000, 90.00000);
  45271. CreateDynamicObject(19810, 1091.67126, 33.55610, 1001.00000, 0.00000, 0.00000, 90.00000);
  45272. CreateDynamicObject(19810, 1091.67126, 33.55610, 1000.76001, 0.00000, 0.00000, 90.00000);
  45273. CreateDynamicObject(19810, 1091.67126, 33.55610, 1000.52002, 0.00000, 0.00000, 90.00000);
  45274. CreateDynamicObject(19810, 1091.67126, 33.19610, 1000.52002, 0.00000, 0.00000, 90.00000);
  45275. CreateDynamicObject(19810, 1091.67126, 32.83610, 1000.52002, 0.00000, 0.00000, 90.00000);
  45276. CreateDynamicObject(6978, 1141.61914, -15.83100, 1020.14001, 0.00000, 0.00000, -180.00000);
  45277. CreateDynamicObject(19474, 1087.33521, 8.58034, 1000.25000, 0.00000, 0.00000, 0.00000);
  45278. CreateDynamicObject(1671, 1089.11536, 9.18831, 1000.08002, 0.00000, 0.00000, -90.00004);
  45279. CreateDynamicObject(1671, 1089.07861, 7.91157, 1000.08002, 0.00000, 0.00000, -90.00004);
  45280. CreateDynamicObject(1671, 1087.31970, 6.12466, 1000.08002, 0.00000, 0.00000, -180.00011);
  45281. CreateDynamicObject(1671, 1085.70862, 7.95822, 1000.08002, 0.00000, 0.00000, 90.00000);
  45282. CreateDynamicObject(1671, 1085.70557, 9.18081, 1000.08002, 0.00000, 0.00000, 90.00000);
  45283. CreateDynamicObject(1671, 1087.30371, 10.43131, 1000.08002, 0.00000, 0.00000, 1.00000);
  45284. CreateDynamicObject(2783, 1111.32788, 19.55914, 1000.29999, 0.00000, 0.00000, -90.00000);
  45285. CreateDynamicObject(19461, 1094.83496, 8.58782, 1002.53998, 0.00000, 0.00000, 90.00000);
  45286. CreateDynamicObject(19461, 1104.05823, 8.58278, 1002.53998, 0.00000, 0.00000, 90.00000);
  45287. CreateDynamicObject(19461, 1113.63513, 8.58510, 1002.53998, 0.00000, 0.00000, 90.00000);
  45288. CreateDynamicObject(19461, 1113.66333, 8.58510, 1006.03998, 180.00000, 0.00000, 90.00000);
  45289. CreateDynamicObject(19461, 1104.03882, 8.58509, 1006.03998, 180.00000, 0.00000, 90.00000);
  45290. CreateDynamicObject(19461, 1094.83496, 8.58780, 1006.03998, 180.00000, 0.00000, 90.00000);
  45291. CreateDynamicObject(19461, 1094.43994, 8.58700, 1002.53998, 0.00000, 0.00000, 90.00000);
  45292. CreateDynamicObject(19461, 1094.44873, 8.60245, 1006.03998, 180.00000, 0.00000, 90.00000);
  45293. CreateDynamicObject(19461, 1089.72144, 3.84820, 1002.53998, 0.00000, 0.00000, 0.00000);
  45294. CreateDynamicObject(11686, 1098.77649, 13.99268, 999.65082, 0.00000, 0.00000, 0.00000);
  45295. CreateDynamicObject(11686, 1094.01965, 13.99680, 999.65082, 0.00000, 0.00000, 0.00000);
  45296. CreateDynamicObject(2188, 1101.82739, 19.62250, 1000.64941, 0.00000, 0.00000, -90.00000);
  45297. CreateDynamicObject(2188, 1095.25427, 19.58691, 1000.64941, 0.00000, 0.00000, 90.00000);
  45298. CreateDynamicObject(2188, 1103.63574, 17.92224, 1000.64941, 0.00000, 0.00000, 0.00000);
  45299. CreateDynamicObject(2188, 1103.63086, 21.27263, 1000.64941, 0.00000, 0.00000, 180.00000);
  45300. CreateDynamicObject(19953, 1088.69238, 20.53487, 999.00177, 0.00000, 0.00000, 90.00000);
  45301. CreateDynamicObject(19953, 1088.69287, 20.53490, 1004.64001, 180.00000, 0.00000, 90.00000);
  45302. CreateDynamicObject(19954, 1088.68958, 23.84310, 999.00177, 0.00000, 0.00000, 90.00000);
  45303. CreateDynamicObject(19953, 1088.70349, 23.83603, 1004.64001, 180.00000, 0.00000, 90.00000);
  45304. CreateDynamicObject(19954, 1088.68250, 15.49803, 999.00177, 0.00000, 0.00000, 90.00000);
  45305. CreateDynamicObject(19953, 1088.70032, 15.50823, 1004.64001, 180.00000, 0.00000, 90.00000);
  45306. CreateDynamicObject(19953, 1088.70654, 28.84904, 999.00177, 0.00000, 0.00000, 90.00000);
  45307. CreateDynamicObject(19953, 1088.69055, 28.85040, 1004.64001, 180.00000, 0.00000, 90.00000);
  45308. // BM
  45309. CreateDynamicObject(19700, 21.11000, 6.13000, 465.92999, 0.00000, 0.00000, 0.00000);
  45310. CreateDynamicObject(19700, 8.75000, 6.14000, 465.92999, 0.00000, 0.00000, 0.00000);
  45311. CreateDynamicObject(19700, 20.98000, -6.21000, 465.92999, 0.00000, 0.00000, 0.00000);
  45312. CreateDynamicObject(19700, 8.79000, -6.27000, 465.92999, 0.00000, 0.00000, 0.00000);
  45313. CreateDynamicObject(19700, 33.57000, 6.08000, 465.92999, 0.00000, 0.00000, 0.00000);
  45314. CreateDynamicObject(19700, 33.48000, -6.04000, 465.92999, 0.00000, 0.00000, 0.00000);
  45315. CreateDynamicObject(19700, 8.82000, -18.71000, 465.92999, 0.00000, 0.00000, 0.00000);
  45316. CreateDynamicObject(19700, 21.18000, -18.58000, 465.92999, 0.00000, 0.00000, 0.00000);
  45317. CreateDynamicObject(19700, 33.56000, -18.49000, 465.92999, 0.00000, 0.00000, 0.00000);
  45318. CreateDynamicObject(19700, 21.16000, 18.07000, 465.92999, 0.00000, 0.00000, 0.00000);
  45319. CreateDynamicObject(19700, 8.97000, 18.15000, 465.92999, 0.00000, 0.00000, 0.00000);
  45320. CreateDynamicObject(19700, 33.37000, 18.11000, 465.92999, 0.00000, 0.00000, 0.00000);
  45321. CreateDynamicObject(19700, -3.41000, 18.06000, 465.92999, 0.00000, 0.00000, 0.00000);
  45322. CreateDynamicObject(19700, -3.70000, 5.67000, 465.92999, 0.00000, 0.00000, 0.00000);
  45323. CreateDynamicObject(19700, -3.62000, -6.67000, 465.92999, 0.00000, 0.00000, 0.00000);
  45324. CreateDynamicObject(19700, -3.59000, -18.63000, 465.92999, 0.00000, 0.00000, 0.00000);
  45325. CreateDynamicObject(19700, -15.91000, -6.63000, 465.92999, 0.00000, 0.00000, 0.00000);
  45326. CreateDynamicObject(19700, -15.68000, -18.83000, 465.92999, 0.00000, 0.00000, 0.00000);
  45327. CreateDynamicObject(19700, -15.78000, 5.52000, 465.92999, 0.00000, 0.00000, 0.00000);
  45328. CreateDynamicObject(19700, -15.89000, 17.96000, 465.92999, 0.00000, 0.00000, 0.00000);
  45329. CreateDynamicObject(14416, -24.92000, 4.48000, 466.03000, 0.00000, 0.00000, 90.72000);
  45330. CreateDynamicObject(14416, -24.87000, 0.55000, 466.03000, 0.00000, 0.00000, 89.94000);
  45331. CreateDynamicObject(19377, -21.93000, 11.39000, 470.89999, 0.00000, 0.00000, 0.00000);
  45332. CreateDynamicObject(19377, -22.11000, 19.51000, 470.89999, 0.00000, 0.00000, 0.00000);
  45333. CreateDynamicObject(19377, -21.92000, -10.45000, 470.89999, 0.00000, 0.00000, 0.00000);
  45334. CreateDynamicObject(19377, -21.90000, -19.87000, 470.89999, 0.00000, 0.00000, 0.00000);
  45335. CreateDynamicObject(14416, -24.82000, -3.20000, 466.03000, 0.00000, 0.00000, 90.00000);
  45336. CreateDynamicObject(19700, -33.89000, 0.27000, 469.00000, 0.00000, 0.00000, 0.36000);
  45337. CreateDynamicObject(19377, -40.21000, -0.01000, 473.37000, 0.00000, 0.00000, 0.12000);
  45338. CreateDynamicObject(19377, -35.45000, 6.44000, 473.48001, 0.00000, 0.00000, -88.56000);
  45339. CreateDynamicObject(19377, -35.32000, -5.75000, 473.42999, 0.00000, 0.00000, 270.28000);
  45340. CreateDynamicObject(14416, -24.86000, -6.57000, 466.03000, 0.00000, 0.00000, 90.00000);
  45341. CreateDynamicObject(19377, -26.82000, -5.68000, 471.09000, 0.00000, 0.00000, 269.62000);
  45342. CreateDynamicObject(19377, -40.20000, -9.40000, 473.37000, 0.00000, 0.00000, 0.00000);
  45343. CreateDynamicObject(19377, -40.18000, 9.47000, 473.37000, 0.00000, 0.00000, 0.00000);
  45344. CreateDynamicObject(19377, -26.73000, 6.51000, 471.01999, 0.00000, 0.00000, -89.82000);
  45345. CreateDynamicObject(19377, -16.97000, -24.29000, 470.89999, 0.00000, 0.00000, -91.50000);
  45346. CreateDynamicObject(19377, -7.38000, -24.43000, 470.89999, 0.00000, 0.00000, -89.88000);
  45347. CreateDynamicObject(19377, 1.99000, -24.51000, 470.89999, 0.00000, 0.00000, -90.60000);
  45348. CreateDynamicObject(19377, 11.56000, -24.65000, 470.89999, 0.00000, 0.00000, -90.60000);
  45349. CreateDynamicObject(19377, 21.15000, -24.83000, 470.89999, 0.00000, 0.00000, -89.76000);
  45350. CreateDynamicObject(19377, 30.68000, -24.90000, 470.89999, 0.00000, 0.00000, -90.60000);
  45351. CreateDynamicObject(19377, 40.21000, -24.88000, 470.89999, 0.00000, 0.00000, -90.60000);
  45352. CreateDynamicObject(19377, 39.88000, -20.36000, 470.89999, 0.00000, 0.00000, 0.96000);
  45353. CreateDynamicObject(19377, 39.85000, -11.59000, 470.89999, 0.00000, 0.00000, 0.12000);
  45354. CreateDynamicObject(19377, 39.81000, -2.15000, 470.89999, 0.00000, 0.00000, -0.30000);
  45355. CreateDynamicObject(19377, 39.83000, 6.68000, 470.89999, 0.00000, 0.00000, -0.72000);
  45356. CreateDynamicObject(19377, 39.71000, 15.45000, 470.89999, 0.00000, 0.00000, -0.42000);
  45357. CreateDynamicObject(19377, 39.76000, 24.90000, 470.89999, 0.00000, 0.00000, -0.42000);
  45358. CreateDynamicObject(19377, 39.62000, 24.04000, 470.89999, 0.00000, 0.00000, -90.30000);
  45359. CreateDynamicObject(19377, 30.09000, 24.10000, 470.89999, 0.00000, 0.00000, -90.18000);
  45360. CreateDynamicObject(19377, 21.00000, 24.14000, 470.89999, 0.00000, 0.00000, -90.24000);
  45361. CreateDynamicObject(19377, 11.39000, 24.07000, 470.89999, 0.00000, 0.00000, -90.24000);
  45362. CreateDynamicObject(19377, 1.83000, 24.04000, 470.89999, 0.00000, 0.00000, -90.24000);
  45363. CreateDynamicObject(19377, -7.80000, 23.91000, 470.89999, 0.00000, 0.00000, -90.24000);
  45364. CreateDynamicObject(19377, -17.37000, 23.92000, 470.89999, 0.00000, 0.00000, -88.32000);
  45365. CreateDynamicObject(1299, -38.35000, -4.34000, 469.53000, 0.00000, 0.00000, 0.00000);
  45366. CreateDynamicObject(1299, -31.67000, -4.93000, 469.53000, 0.00000, 0.00000, 0.00000);
  45367. CreateDynamicObject(1299, -30.69000, 3.75000, 469.42001, 0.00000, 0.00000, 0.00000);
  45368. CreateDynamicObject(1299, -36.37000, 4.63000, 469.53000, 0.00000, 0.00000, 0.00000);
  45369. CreateDynamicObject(18688, 13.37000, 6.20000, 466.04001, 0.00000, 0.00000, 0.00000);
  45370. CreateDynamicObject(19552, -12.51000, 7.82000, 476.12000, 0.00000, 0.00000, -0.12000);
  45371. CreateDynamicObject(19537, 19.74000, -5.64000, 475.85001, 0.00000, 0.00000, 0.00000);
  45372. CreateDynamicObject(3461, -21.75000, -5.79000, 467.42001, 0.00000, 0.00000, 0.00000);
  45373. CreateDynamicObject(3461, -21.81000, 6.39000, 467.42001, 0.00000, 0.00000, 0.00000);
  45374. CreateDynamicObject(1299, -4.69000, -19.19000, 466.75000, 0.00000, 0.00000, 0.00000);
  45375. CreateDynamicObject(1299, -2.36000, -19.62000, 466.75000, 0.00000, 0.00000, 0.00000);
  45376. CreateDynamicObject(1299, 8.07000, -20.78000, 466.75000, 0.00000, 0.00000, 0.00000);
  45377. CreateDynamicObject(1299, 6.05000, -19.13000, 466.75000, 0.00000, 0.00000, 0.00000);
  45378. CreateDynamicObject(1299, 12.02000, -15.95000, 466.75000, 0.00000, 0.00000, 0.00000);
  45379. CreateDynamicObject(1299, 12.83000, -19.07000, 466.75000, 0.00000, 0.00000, 0.00000);
  45380. CreateDynamicObject(1299, 17.47000, -22.50000, 466.75000, 0.00000, 0.00000, 0.00000);
  45381. CreateDynamicObject(1299, 15.61000, -18.48000, 466.75000, 0.00000, 0.00000, 0.00000);
  45382. CreateDynamicObject(1299, 19.83000, -19.33000, 466.75000, 0.00000, 0.00000, 0.00000);
  45383. CreateDynamicObject(1299, 24.18000, -20.91000, 466.75000, 0.00000, 0.00000, 0.00000);
  45384. CreateDynamicObject(1299, 24.93000, -18.17000, 466.75000, 0.00000, 0.00000, 0.00000);
  45385. CreateDynamicObject(1299, 30.44000, -19.63000, 466.75000, 0.00000, 0.00000, 0.00000);
  45386. CreateDynamicObject(1299, 30.95000, -15.48000, 466.75000, 0.00000, 0.00000, 0.00000);
  45387. CreateDynamicObject(1299, 0.35000, -18.45000, 466.75000, 0.00000, 0.00000, 0.00000);
  45388. CreateDynamicObject(1299, -10.95000, -17.44000, 466.75000, 0.00000, 0.00000, 0.00000);
  45389. CreateDynamicObject(1299, 4.01000, -16.59000, 466.75000, 0.00000, 0.00000, 0.00000);
  45390. CreateDynamicObject(3472, -27.01000, 0.37000, 464.29001, 0.00000, 0.00000, 0.00000);
  45391. CreateDynamicObject(941, -20.25000, 21.31000, 466.76001, 0.00000, 0.00000, 0.83000);
  45392. CreateDynamicObject(356, -20.55000, 21.24000, 467.39001, 0.00000, 0.00000, 0.00000);
  45393. CreateDynamicObject(356, -19.52000, 20.93000, 467.39001, 0.00000, 0.00000, 0.00000);
  45394. CreateDynamicObject(14394, -26.07000, -1.94000, 468.54001, 0.00000, 0.00000, -179.94000);
  45395. CreateDynamicObject(14394, -22.81000, 5.93000, 466.37000, 0.00000, 0.00000, -179.94000);
  45396. CreateDynamicObject(14394, -22.75000, -1.63000, 466.37000, 0.00000, 0.00000, -179.94000);
  45397. CreateDynamicObject(14394, -23.78000, -1.86000, 467.09000, 0.00000, 0.00000, -179.94000);
  45398. CreateDynamicObject(14394, -26.05000, 6.02000, 468.54001, 0.00000, 0.00000, -179.94000);
  45399. CreateDynamicObject(14394, -23.87000, 6.02000, 467.09000, 0.00000, 0.00000, -179.94000);
  45400. CreateDynamicObject(14782, -21.01000, 17.03000, 467.17999, 0.00000, 0.00000, 90.95000);
  45401. CreateDynamicObject(2773, -19.42000, 13.93000, 466.47000, 0.00000, 0.00000, 271.57999);
  45402. CreateDynamicObject(2773, -19.42000, 13.93000, 466.47000, 0.00000, 0.00000, 271.57999);
  45403. CreateDynamicObject(2773, -19.45000, 20.22000, 466.47000, 0.00000, 0.00000, 267.50000);
  45404. CreateDynamicObject(19128, -20.41000, 15.95000, 466.04999, 0.00000, 0.00000, 359.70999);
  45405. CreateDynamicObject(19128, -20.42000, 18.09000, 466.04999, 0.00000, 0.00000, 359.70999);
  45406. CreateDynamicObject(19129, 39.73000, 0.02000, -476.12000, 59.28000, -184.20000, -0.36000);
  45407. CreateDynamicObject(19129, 39.55000, 0.99000, 471.82999, -65.28000, 627.29999, 357.66000);
  45408. CreateDynamicObject(18761, 36.07000, 1.51000, 470.37000, 0.00000, 0.00000, 97.41000);
  45409. CreateDynamicObject(19608, 36.98000, 1.45000, 466.04001, 0.00000, 0.00000, -88.38000);
  45410. CreateDynamicObject(19609, 36.68000, 1.23000, 466.09000, 0.00000, 0.00000, -88.26000);
  45411. CreateDynamicObject(2232, 35.69000, 5.02000, 466.69000, 0.00000, 0.00000, -63.78000);
  45412. CreateDynamicObject(2232, 35.95000, 4.43000, 466.69000, 0.00000, 0.00000, -63.78000);
  45413. CreateDynamicObject(19614, 36.33000, -1.46000, 466.09000, 0.00000, 0.00000, -86.58000);
  45414. CreateDynamicObject(19317, 36.09000, -0.89000, 466.84000, 0.00000, 0.00000, 266.73999);
  45415. CreateDynamicObject(2714, -39.98000, 0.24000, 475.01001, 0.00000, 0.00000, 93.22000);
  45416. CreateDynamicObject(19452, -18.13000, 13.48000, 467.57999, 0.00000, 0.00000, -90.24000);
  45417. CreateDynamicObject(19452, -8.61000, 13.49000, 467.57999, 0.00000, 0.00000, -90.24000);
  45418. CreateDynamicObject(19943, -3.05000, 13.37000, 466.04001, 0.00000, 0.00000, 0.00000);
  45419. CreateDynamicObject(19943, -2.29000, 23.06000, 466.04001, 0.00000, 0.00000, 0.00000);
  45420. CreateDynamicObject(3092, 10.06000, -16.68000, 466.87000, 0.00000, 0.00000, 0.00000);
  45421. CreateDynamicObject(3092, 11.84000, -20.31000, 466.87000, 0.00000, 0.00000, 0.00000);
  45422. CreateDynamicObject(3092, 2.21000, -20.14000, 466.87000, 0.00000, 0.00000, 0.00000);
  45423. CreateDynamicObject(3092, -7.02000, -17.34000, 466.87000, 0.00000, 0.00000, 0.00000);
  45424. CreateDynamicObject(3092, 22.70000, -17.70000, 466.87000, 0.00000, 0.00000, 0.00000);
  45425. CreateDynamicObject(3092, 35.94000, -19.75000, 466.87000, 0.00000, 0.00000, 0.00000);
  45426. CreateDynamicObject(1594, 27.00000, 7.58000, 466.54999, 0.00000, 0.00000, 0.00000);
  45427. CreateDynamicObject(1594, 21.43000, 7.33000, 466.54999, 0.00000, 0.00000, 0.00000);
  45428. CreateDynamicObject(1594, 25.65000, -0.01000, 466.54999, 0.00000, 0.00000, 0.00000);
  45429. CreateDynamicObject(1594, 21.42000, 4.09000, 466.54999, 0.00000, 0.00000, 0.00000);
  45430. CreateDynamicObject(1594, 21.56000, -1.02000, 466.54999, 0.00000, 0.00000, 0.00000);
  45431. CreateDynamicObject(1594, 25.06000, -4.29000, 466.54999, 0.00000, 0.00000, 0.00000);
  45432. CreateDynamicObject(1594, 27.95000, 4.08000, 466.54999, 0.00000, 0.00000, 0.00000);
  45433. CreateDynamicObject(1594, 17.92000, 1.87000, 466.54999, 0.00000, 0.00000, 0.00000);
  45434. CreateDynamicObject(1594, 18.41000, -2.74000, 466.54999, 0.00000, 0.00000, 0.00000);
  45435. CreateDynamicObject(1594, 17.53000, 5.94000, 466.54999, 0.00000, 0.00000, 0.00000);
  45436. CreateDynamicObject(18102, -16.09000, 17.42000, 475.62000, 0.00000, 0.00000, -177.42000);
  45437. CreateDynamicObject(18102, -10.48288, 2.72740, 475.62000, 0.00000, 0.00000, -177.42000);
  45438. CreateDynamicObject(18102, 4.90643, 3.15941, 475.62000, 0.00000, 0.00000, -177.42000);
  45439. // FMD interior by Lance
  45440. CreateDynamicObject(14595, 1392.51416, -934.13049, -12.78820, 0.00000, 0.00000, 0.00000);
  45441. CreateDynamicObject(19465, 1389.23523, -931.88312, -14.29140, 0.00000, 0.00000, 0.00000);
  45442. CreateDynamicObject(19465, 1389.25366, -936.27942, -14.29140, 0.00000, 0.00000, 0.00000);
  45443. CreateDynamicObject(1491, 1389.19897, -935.49524, -16.83910, 0.00000, 0.00000, -90.00000);
  45444. CreateDynamicObject(1491, 1389.14722, -931.10736, -16.83910, 0.00000, 0.00000, -90.00000);
  45445. CreateDynamicObject(11711, 1389.16260, -936.24573, -14.07250, 0.00000, 0.00000, -90.00000);
  45446. CreateDynamicObject(11711, 1389.34265, -936.24573, -14.07250, 0.00000, 0.00000, -90.00000);
  45447. CreateDynamicObject(1523, 1367.32935, -939.22717, -16.75250, 0.00000, 0.00000, 1.00000);
  45448. CreateDynamicObject(1523, 1381.11157, -939.12085, -16.75250, 0.00000, 0.00000, 0.00000);
  45449. CreateDynamicObject(1723, 1398.40564, -938.41107, -16.74190, 0.00000, 0.00000, -180.00000);
  45450. CreateDynamicObject(1827, 1398.85974, -936.24689, -16.74170, 0.00000, 0.00000, 0.00000);
  45451. CreateDynamicObject(1723, 1401.18567, -938.41107, -16.74190, 0.00000, 0.00000, -180.00000);
  45452. CreateDynamicObject(19464, 1395.63904, -946.66760, -15.26200, 0.00000, 0.00000, 0.00000);
  45453. CreateDynamicObject(1491, 1391.71875, -920.97107, -16.74310, 0.00000, 0.00000, 0.00000);
  45454. CreateDynamicObject(2207, 1387.47205, -933.15271, -16.77170, 0.00000, 0.00000, -90.00000);
  45455. CreateDynamicObject(1663, 1388.75659, -934.05292, -16.38300, 0.00000, 0.00000, -89.00000);
  45456. CreateDynamicObject(1239, 1387.34875, -934.03259, -16.37560, 0.00000, 0.00000, 93.00000);
  45457. CreateDynamicObject(1771, 1384.27368, -944.51288, -16.14230, 0.00000, 0.00000, -1.00000);
  45458. CreateDynamicObject(2907, 1384.20557, -944.63470, -15.86760, 0.00000, 0.00000, 0.00000);
  45459. CreateDynamicObject(2908, 1384.23315, -945.22821, -15.88770, 0.00000, 86.00000, 4.00000);
  45460. CreateDynamicObject(2906, 1383.92871, -944.70099, -15.88710, 0.00000, 164.00000, 13.00000);
  45461. CreateDynamicObject(2906, 1384.46484, -944.75928, -15.94710, 0.00000, 0.00000, -14.00000);
  45462. CreateDynamicObject(2905, 1384.38074, -943.89209, -15.94705, 0.00000, 0.00000, 0.00000);
  45463. CreateDynamicObject(2905, 1384.13306, -943.80463, -15.94705, 0.00000, 0.00000, 0.00000);
  45464. CreateDynamicObject(1893, 1384.22717, -943.85553, -13.11460, 0.00000, 0.00000, -89.00000);
  45465. CreateDynamicObject(3383, 1376.86511, -946.08337, -16.74160, 0.00000, 0.00000, -90.00000);
  45466. CreateDynamicObject(3383, 1376.86511, -942.04437, -16.74160, 0.00000, 0.00000, -90.00000);
  45467. CreateDynamicObject(2907, 1377.04419, -945.85138, -15.56760, 0.00000, 0.00000, 0.00000);
  45468. CreateDynamicObject(2908, 1377.11829, -946.51453, -15.54770, 0.00000, 86.00000, 4.00000);
  45469. CreateDynamicObject(2905, 1377.14795, -942.24463, -15.60710, 0.00000, 0.00000, 0.00000);
  45470. CreateDynamicObject(2905, 1376.89185, -942.25793, -15.60710, 0.00000, 0.00000, 0.00000);
  45471. CreateDynamicObject(2906, 1376.88428, -941.64636, -15.60710, 0.00000, 164.00000, -98.00000);
  45472. CreateDynamicObject(2906, 1377.08752, -940.95416, -15.60710, 0.00000, 164.00000, -98.00000);
  45473. CreateDynamicObject(2603, 1366.32776, -947.05792, -16.30230, 0.00000, 0.00000, 0.00000);
  45474. CreateDynamicObject(2603, 1365.28369, -947.05737, -16.30230, 0.00000, 0.00000, 0.00000);
  45475. CreateDynamicObject(1723, 1371.32983, -945.51971, -16.74140, 0.00000, 0.00000, -90.00000);
  45476. CreateDynamicObject(1827, 1369.40015, -946.52350, -16.74211, 0.00000, 0.00000, 0.00000);
  45477. CreateDynamicObject(11729, 1376.59253, -919.89893, -16.74630, 0.00000, 0.00000, 90.00000);
  45478. CreateDynamicObject(11729, 1376.59253, -919.25891, -16.74630, 0.00000, 0.00000, 90.00000);
  45479. CreateDynamicObject(11729, 1376.59253, -917.95892, -16.74630, 0.00000, 0.00000, 90.00000);
  45480. CreateDynamicObject(11729, 1376.59253, -917.29889, -16.74630, 0.00000, 0.00000, 90.00000);
  45481. CreateDynamicObject(2605, 1390.78186, -910.38031, -16.36170, 0.00000, 0.00000, 180.00000);
  45482. CreateDynamicObject(2605, 1387.00195, -910.38031, -16.36170, 0.00000, 0.00000, 180.00000);
  45483. CreateDynamicObject(2607, 1388.36865, -909.54260, -16.38150, 0.00000, 0.00000, 90.00000);
  45484. CreateDynamicObject(2607, 1392.18872, -909.54260, -16.38150, 0.00000, 0.00000, 90.00000);
  45485. CreateDynamicObject(19999, 1390.86169, -909.02380, -16.74260, 0.00000, 0.00000, 0.00000);
  45486. CreateDynamicObject(19999, 1386.92175, -909.14380, -16.74260, 0.00000, 0.00000, 0.00000);
  45487. CreateDynamicObject(2370, 1389.48169, -916.70117, -16.76190, 0.00000, 0.00000, 0.00000);
  45488. CreateDynamicObject(1704, 1388.30652, -916.70282, -16.74190, 0.00000, 0.00000, 90.00000);
  45489. CreateDynamicObject(2370, 1389.48169, -915.02118, -16.76190, 0.00000, 0.00000, 0.00000);
  45490. CreateDynamicObject(1704, 1388.30652, -915.06281, -16.74190, 0.00000, 0.00000, 90.00000);
  45491. CreateDynamicObject(1704, 1389.40515, -913.21802, -16.74120, 0.00000, 0.00000, 0.00000);
  45492. CreateDynamicObject(1704, 1390.26208, -917.80170, -16.74120, 0.00000, 0.00000, 180.00000);
  45493. CreateDynamicObject(1704, 1391.22986, -915.82800, -16.74220, 0.00000, 0.00000, -90.00000);
  45494. CreateDynamicObject(1704, 1391.22986, -914.28802, -16.74220, 0.00000, 0.00000, -90.00000);
  45495. CreateDynamicObject(1522, 1395.58545, -946.52112, -16.79560, 0.00000, 0.00000, 90.00000);
  45496. CreateDynamicObject(11730, 1376.59253, -918.61090, -16.74630, 0.00000, 0.00000, 90.00000);
  45497. // Bank interior
  45498. CreateDynamicObject(19380, 1662.48743, -971.75378, 706.51898, 0.00000, 90.00000, 0.00000);
  45499. CreateDynamicObject(19454, 1656.65344, -971.62341, 701.63678, 90.00000, 0.00000, 90.00000);
  45500. CreateDynamicObject(19454, 1658.31506, -973.28998, 701.63879, 90.00000, 0.00000, 0.00000);
  45501. CreateDynamicObject(19454, 1656.65259, -974.96600, 701.63678, 90.00000, 0.00000, 90.00000);
  45502. CreateDynamicObject(19454, 1666.42468, -973.18341, 701.63678, 90.00000, 0.00000, 0.00000);
  45503. CreateDynamicObject(19454, 1668.09167, -971.52069, 701.63879, 90.00000, 0.00000, 90.00000);
  45504. CreateDynamicObject(19454, 1668.08789, -974.84570, 701.63879, 90.00000, 0.00000, 90.00000);
  45505. CreateDynamicObject(19454, 1667.57214, -974.94922, 701.63678, 90.00000, 0.00000, 0.00000);
  45506. CreateDynamicObject(19454, 1657.16797, -974.99103, 701.63678, 90.00000, 0.00000, 0.00000);
  45507. CreateDynamicObject(1278, 1663.16296, -976.64099, 700.80029, 0.00000, 90.00000, 0.00000);
  45508. CreateDynamicObject(1278, 1663.16296, -976.64099, 703.67731, 0.00000, 90.00000, 0.00000);
  45509. CreateDynamicObject(1278, 1663.16296, -976.64099, 706.39130, 0.00000, 90.00000, 0.00000);
  45510. CreateDynamicObject(19454, 1662.84253, -976.63281, 699.00177, 0.00000, 0.00000, 90.00000);
  45511. CreateDynamicObject(19454, 1660.28625, -976.63782, 699.00378, 0.00000, 0.00000, 90.00000);
  45512. CreateDynamicObject(1278, 1664.43274, -976.71887, 706.34930, 0.00000, 0.00000, 0.00000);
  45513. CreateDynamicObject(1649, 1666.65210, -976.65454, 702.11121, 0.00000, 0.00000, 0.00000);
  45514. CreateDynamicObject(1649, 1662.18835, -976.64697, 702.11121, 0.00000, 0.00000, 0.00000);
  45515. CreateDynamicObject(1649, 1657.94739, -976.62915, 702.11121, 0.00000, 0.00000, 0.00000);
  45516. CreateDynamicObject(1278, 1660.03259, -976.68048, 706.34930, 0.00000, 0.00000, 0.00000);
  45517. CreateDynamicObject(1649, 1662.18835, -976.64697, 705.37720, 0.00000, 0.00000, 0.00000);
  45518. CreateDynamicObject(1649, 1666.59045, -976.64697, 705.37720, 0.00000, 0.00000, 0.00000);
  45519. CreateDynamicObject(1649, 1657.94824, -976.64899, 705.37720, 0.00000, 0.00000, 0.00000);
  45520. CreateDynamicObject(19454, 1667.55725, -969.82300, 701.63678, 90.00000, 0.00000, 0.00000);
  45521. CreateDynamicObject(19454, 1657.22937, -969.77875, 701.63678, 90.00000, 0.00000, 0.00000);
  45522. CreateDynamicObject(19454, 1656.33521, -968.05743, 701.63678, 90.00000, 0.00000, 90.00000);
  45523. CreateDynamicObject(19454, 1668.52039, -968.11981, 701.63678, 90.00000, 0.00000, 90.00000);
  45524. CreateDynamicObject(19454, 1665.40320, -967.14172, 701.63678, 90.00000, 0.00000, 55.00000);
  45525. CreateDynamicObject(19454, 1659.46021, -967.08081, 701.63678, 90.00000, 0.00000, -55.00000);
  45526. CreateDynamicObject(19380, 1662.42456, -962.27173, 706.51703, 0.00000, 90.00000, 0.00000);
  45527. CreateDynamicObject(19391, 1662.37244, -966.14618, 701.82550, 0.00000, 0.00000, 90.00000);
  45528. CreateDynamicObject(19454, 1662.29138, -966.14740, 707.60278, 90.00000, 0.00000, 90.00000);
  45529. CreateDynamicObject(19375, 1662.37500, -971.72113, 700.00342, 0.00000, 90.00000, 0.00000);
  45530. CreateDynamicObject(19375, 1662.43970, -963.05243, 700.00140, 0.00000, 90.00000, 0.00000);
  45531. CreateDynamicObject(19454, 1665.55212, -966.13098, 701.63678, 90.00000, 0.00000, 90.00000);
  45532. CreateDynamicObject(19454, 1667.22107, -964.33282, 701.63678, 90.00000, 0.00000, 0.00000);
  45533. CreateDynamicObject(19454, 1667.22095, -960.95282, 701.63678, 90.00000, 0.00000, 0.00000);
  45534. CreateDynamicObject(19454, 1660.89551, -964.39307, 701.63678, 90.00000, 0.00000, 0.00000);
  45535. CreateDynamicObject(19380, 1663.72046, -961.21100, 703.62903, 0.00000, 90.00000, 0.00000);
  45536. CreateDynamicObject(19454, 1659.23047, -962.72852, 701.63678, 90.00000, 0.00000, 90.00000);
  45537. CreateDynamicObject(19370, 1664.28015, -971.68073, 707.10889, 0.00000, 0.00000, 0.00000);
  45538. CreateDynamicObject(19370, 1662.76160, -973.19739, 707.10687, 0.00000, 0.00000, 90.00000);
  45539. CreateDynamicObject(19370, 1661.23926, -971.67780, 707.10889, 0.00000, 0.00000, 0.00000);
  45540. CreateDynamicObject(19370, 1662.76013, -970.15582, 707.10687, 0.00000, 0.00000, 90.00000);
  45541. CreateDynamicObject(19443, 1663.48096, -971.70142, 706.37988, 0.00000, 0.00000, 0.00000);
  45542. CreateDynamicObject(19443, 1662.75806, -972.42108, 706.38190, 0.00000, 0.00000, 90.00000);
  45543. CreateDynamicObject(19443, 1662.04016, -971.69843, 706.37988, 0.00000, 0.00000, 0.00000);
  45544. CreateDynamicObject(19443, 1662.76147, -970.98419, 706.38190, 0.00000, 0.00000, 90.00000);
  45545. CreateDynamicObject(18075, 1662.37048, -970.06836, 706.46777, 0.00000, 0.00000, 0.00000);
  45546. CreateDynamicObject(2207, 1663.03015, -971.79346, 700.09070, 0.00000, 0.00000, 180.00000);
  45547. CreateDynamicObject(1727, 1663.31348, -970.20789, 699.95898, 0.00000, 0.00000, -40.00000);
  45548. CreateDynamicObject(1727, 1659.96106, -970.93146, 699.95898, 0.00000, 0.00000, 40.00000);
  45549. CreateDynamicObject(1727, 1661.50989, -969.53607, 699.95898, 0.00000, 0.00000, 0.00000);
  45550. CreateDynamicObject(1714, 1662.10669, -973.59125, 700.05157, 0.00000, 0.00000, 180.00000);
  45551. CreateDynamicObject(2811, 1661.05359, -973.11829, 699.97162, 0.00000, 0.00000, 0.00000);
  45552. CreateDynamicObject(2811, 1663.09033, -973.12018, 699.97162, 0.00000, 0.00000, 0.00000);
  45553. CreateDynamicObject(2200, 1657.44141, -970.53723, 700.08978, 0.00000, 0.00000, 90.00000);
  45554. CreateDynamicObject(19375, 1653.66931, -972.24451, 701.72339, 0.00000, 0.00000, 90.00000);
  45555. CreateDynamicObject(19375, 1653.64197, -974.36877, 701.72339, 0.00000, 0.00000, 90.00000);
  45556. CreateDynamicObject(19375, 1653.65918, -973.32990, 701.72339, 0.00000, 0.00000, 90.00000);
  45557. CreateDynamicObject(19375, 1671.06738, -972.08447, 701.72339, 0.00000, 0.00000, 90.00000);
  45558. CreateDynamicObject(19375, 1671.04700, -973.17102, 701.72339, 0.00000, 0.00000, 90.00000);
  45559. CreateDynamicObject(19375, 1671.07214, -974.26880, 701.72339, 0.00000, 0.00000, 90.00000);
  45560. CreateDynamicObject(2230, 1661.15503, -966.06073, 705.13647, 0.00000, 0.00000, 0.00000);
  45561. CreateDynamicObject(2230, 1664.17798, -966.06073, 705.12848, 0.00000, 0.00000, 0.00000);
  45562. CreateDynamicObject(19370, 1662.27222, -964.76300, 705.05292, 0.00000, 90.00000, 90.00000);
  45563. CreateDynamicObject(19370, 1662.46216, -964.76501, 705.05090, 0.00000, 90.00000, 90.00000);
  45564. CreateDynamicObject(19370, 1662.46216, -964.76501, 706.45093, 0.00000, 90.00000, 90.00000);
  45565. CreateDynamicObject(1649, 1662.36194, -966.43878, 707.24719, 0.00000, 90.00000, 0.00000);
  45566. CreateDynamicObject(2614, 1662.38245, -966.27612, 703.86688, 0.00000, 0.00000, 0.00000);
  45567. CreateDynamicObject(2200, 1667.24573, -969.26605, 700.08978, 0.00000, 0.00000, -90.00000);
  45568. CreateDynamicObject(2811, 1663.83496, -966.64502, 699.97162, 0.00000, 0.00000, 0.00000);
  45569. CreateDynamicObject(2811, 1660.88159, -966.68427, 699.97162, 0.00000, 0.00000, 0.00000);
  45570. CreateDynamicObject(1502, 1661.58777, -966.17401, 700.06921, 0.00000, 0.00000, 0.00000);
  45571. CreateDynamicObject(1649, 1662.35779, -966.45477, 707.24719, 0.00000, 90.00000, 0.00000);
  45572. CreateDynamicObject(1649, 1662.35779, -966.48077, 707.24719, 0.00000, 90.00000, 0.00000);
  45573. CreateDynamicObject(1734, 1662.79236, -971.69281, 706.42902, 0.00000, 0.00000, 0.00000);
  45574. CreateDynamicObject(19454, 1667.21094, -957.63080, 701.63678, 90.00000, 0.00000, 0.00000);
  45575. CreateDynamicObject(19375, 1662.45776, -953.80481, 700.00342, 0.00000, 90.00000, 0.00000);
  45576. CreateDynamicObject(19391, 1658.35205, -961.25458, 701.81750, 0.00000, 0.00000, 0.00000);
  45577. CreateDynamicObject(1502, 1658.35767, -962.00018, 700.06921, 0.00000, 0.00000, 90.00000);
  45578. CreateDynamicObject(19454, 1659.23047, -959.72552, 701.63678, 90.00000, 0.00000, 90.00000);
  45579. CreateDynamicObject(19454, 1660.90051, -958.06427, 701.63678, 90.00000, 0.00000, 0.00000);
  45580. CreateDynamicObject(19454, 1662.50964, -956.62701, 701.63678, 90.00000, 0.00000, 90.00000);
  45581. CreateDynamicObject(19454, 1665.89014, -956.62653, 701.63678, 90.00000, 0.00000, 90.00000);
  45582. CreateDynamicObject(1726, 1666.37830, -962.08569, 700.08868, 0.00000, 0.00000, -90.00000);
  45583. CreateDynamicObject(1726, 1666.34082, -958.71960, 700.08868, 0.00000, 0.00000, -90.00000);
  45584. CreateDynamicObject(1727, 1664.09412, -957.83966, 700.08765, 0.00000, 0.00000, 0.00000);
  45585. CreateDynamicObject(1727, 1664.97131, -964.99353, 700.08759, 0.00000, 0.00000, 180.00000);
  45586. CreateDynamicObject(2811, 1666.50635, -965.32239, 699.97162, 0.00000, 0.00000, 0.00000);
  45587. CreateDynamicObject(2811, 1666.49377, -957.60059, 699.97162, 0.00000, 0.00000, 0.00000);
  45588. CreateDynamicObject(2126, 1665.15479, -960.55115, 700.08881, 0.00000, 0.00000, 90.00000);
  45589. CreateDynamicObject(2126, 1665.19629, -963.32709, 700.08881, 0.00000, 0.00000, 90.00000);
  45590. CreateDynamicObject(2614, 1667.07581, -961.43964, 702.49182, 0.00000, 0.00000, -90.00000);
  45591. CreateDynamicObject(19375, 1671.89587, -965.46210, 701.72339, 0.00000, 0.00000, 90.00000);
  45592. CreateDynamicObject(19375, 1671.90527, -964.59674, 701.72339, 0.00000, 0.00000, 90.00000);
  45593. CreateDynamicObject(19375, 1671.89502, -958.07025, 701.72339, 0.00000, 0.00000, 90.00000);
  45594. CreateDynamicObject(19375, 1671.90881, -957.41803, 701.72339, 0.00000, 0.00000, 90.00000);
  45595. CreateDynamicObject(19375, 1671.90002, -961.44330, 704.69342, 0.00000, 90.00000, 90.00000);
  45596. CreateDynamicObject(19375, 1671.90002, -961.44330, 705.48541, 0.00000, 90.00000, 90.00000);
  45597. CreateDynamicObject(2200, 1661.01624, -959.01569, 700.08978, 0.00000, 0.00000, 90.00000);
  45598. CreateDynamicObject(14596, 1652.60913, -957.46368, 693.38580, 0.00000, 0.00000, 180.00000);
  45599. CreateDynamicObject(19375, 1662.70935, -963.04932, 688.40442, 0.00000, 90.00000, 0.00000);
  45600. CreateDynamicObject(19454, 1658.96338, -967.07098, 690.17383, 0.00000, 0.00000, 0.00000);
  45601. CreateDynamicObject(19375, 1662.71594, -970.60370, 688.41443, 0.00000, 90.00000, 0.00000);
  45602. CreateDynamicObject(19454, 1658.95447, -955.35168, 690.21381, 0.00000, 0.00000, 0.00000);
  45603. CreateDynamicObject(19454, 1663.30591, -958.41248, 690.21381, 0.00000, 0.00000, 90.00000);
  45604. CreateDynamicObject(19454, 1665.79163, -962.90070, 690.17383, 0.00000, 0.00000, 0.00000);
  45605. CreateDynamicObject(19454, 1661.68274, -971.20868, 690.17383, 0.00000, 0.00000, 90.00000);
  45606. CreateDynamicObject(19454, 1665.79285, -967.26093, 690.17578, 0.00000, 0.00000, 0.00000);
  45607. CreateDynamicObject(2206, 1663.32397, -960.97894, 688.45349, 0.00000, 0.00000, 180.00000);
  45608. CreateDynamicObject(2206, 1661.45435, -961.97198, 688.45148, 0.00000, 0.00000, 0.00000);
  45609. CreateDynamicObject(2206, 1661.45630, -962.95599, 688.45349, 0.00000, 0.00000, 0.00000);
  45610. CreateDynamicObject(2206, 1661.45630, -963.92999, 688.45148, 0.00000, 0.00000, 0.00000);
  45611. CreateDynamicObject(2206, 1661.45630, -964.90399, 688.45349, 0.00000, 0.00000, 0.00000);
  45612. CreateDynamicObject(2206, 1661.45630, -965.87799, 688.45148, 0.00000, 0.00000, 0.00000);
  45613. CreateDynamicObject(1714, 1664.47815, -964.20013, 688.49377, 0.00000, 0.00000, -90.00000);
  45614. CreateDynamicObject(1714, 1664.46436, -962.77960, 688.49377, 0.00000, 0.00000, -90.00000);
  45615. CreateDynamicObject(1714, 1664.43201, -961.27374, 688.49377, 0.00000, 0.00000, -90.00000);
  45616. CreateDynamicObject(1714, 1664.47046, -965.76575, 688.49377, 0.00000, 0.00000, -90.00000);
  45617. CreateDynamicObject(1714, 1660.37378, -961.13538, 688.49377, 0.00000, 0.00000, 90.00000);
  45618. CreateDynamicObject(1714, 1660.36292, -962.68683, 688.49377, 0.00000, 0.00000, 90.00000);
  45619. CreateDynamicObject(1714, 1660.31726, -964.14752, 688.49377, 0.00000, 0.00000, 90.00000);
  45620. CreateDynamicObject(1714, 1660.34314, -965.74756, 688.49377, 0.00000, 0.00000, 90.00000);
  45621. CreateDynamicObject(1714, 1662.39783, -959.87054, 688.49377, 0.00000, 0.00000, 0.00000);
  45622. CreateDynamicObject(19448, 1662.91016, -956.80499, 689.27472, -0.05300, 90.00000, 90.00000);
  45623. CreateDynamicObject(19448, 1662.68140, -956.75812, 690.17572, -0.05300, 90.00000, 90.00000);
  45624. CreateDynamicObject(19448, 1667.42212, -963.23273, 690.17572, -0.05300, 90.00000, 0.00000);
  45625. CreateDynamicObject(19448, 1667.40771, -963.19348, 689.27472, -0.05300, 90.00000, 0.00000);
  45626. CreateDynamicObject(19448, 1667.42908, -971.07928, 690.17572, -0.05300, 90.00000, 0.00000);
  45627. CreateDynamicObject(19448, 1667.40833, -968.83728, 689.27472, -0.05300, 90.00000, 0.00000);
  45628. CreateDynamicObject(19448, 1661.87451, -972.81970, 689.27472, -0.05300, 90.00000, 90.00000);
  45629. CreateDynamicObject(19448, 1657.31396, -969.12482, 690.17572, -0.05300, 90.00000, 0.00000);
  45630. CreateDynamicObject(19448, 1657.32751, -969.12482, 689.27472, -0.05300, 90.00000, 0.00000);
  45631. CreateDynamicObject(2230, 1663.76355, -971.30103, 688.35822, 0.00000, 0.00000, 180.00000);
  45632. CreateDynamicObject(19448, 1659.08435, -975.93622, 690.17572, -0.05300, 90.00000, 0.00000);
  45633. CreateDynamicObject(19448, 1665.84216, -975.93213, 690.17572, -0.05300, 90.00000, 0.00000);
  45634. CreateDynamicObject(2230, 1660.47583, -971.26636, 688.35822, 0.00000, 0.00000, 180.00000);
  45635. CreateDynamicObject(2811, 1661.30225, -970.88525, 688.45660, 0.00000, 0.00000, 0.00000);
  45636. CreateDynamicObject(2811, 1663.53259, -970.78687, 688.45660, 0.00000, 0.00000, 0.00000);
  45637. CreateDynamicObject(19448, 1664.15002, -975.86359, 690.17572, -0.05300, 0.00000, 0.00000);
  45638. CreateDynamicObject(19448, 1660.68494, -975.89722, 690.17572, -0.05300, 0.00000, 0.00000);
  45639. CreateDynamicObject(1828, 1662.12476, -968.67163, 688.49323, 0.00000, 0.00000, 0.00000);
  45640. CreateDynamicObject(1734, 1662.24158, -967.92981, 691.94348, 0.00000, 0.00000, 0.00000);
  45641. CreateDynamicObject(1734, 1662.28015, -962.10773, 691.98151, 0.00000, 0.00000, 0.00000);
  45642. CreateDynamicObject(1502, 1657.56604, -961.96283, 688.48071, 0.00000, 0.00000, 90.00000);
  45643. CreateDynamicObject(19448, 1657.30774, -969.11176, 691.09570, -0.05300, 90.00000, 0.00000);
  45644. CreateDynamicObject(19448, 1659.04810, -975.93469, 691.09570, -0.05300, 90.00000, 0.00000);
  45645. CreateDynamicObject(19448, 1665.78918, -975.92078, 691.09570, -0.05300, 90.00000, 0.00000);
  45646. CreateDynamicObject(19448, 1662.42566, -975.91620, 691.89569, -0.05300, 90.00000, 0.00000);
  45647. CreateDynamicObject(19448, 1667.43506, -966.83893, 691.09570, -0.05300, 90.00000, 0.00000);
  45648. CreateDynamicObject(19448, 1667.44019, -957.22589, 691.09570, -0.05300, 90.00000, 0.00000);
  45649. CreateDynamicObject(19448, 1662.97778, -956.75787, 691.09570, -0.05300, 90.00000, 90.00000);
  45650. CreateDynamicObject(19380, 1663.13403, -961.99518, 691.84302, 0.00000, 90.00000, 0.00000);
  45651. CreateDynamicObject(19380, 1663.08032, -967.48743, 691.84497, 0.00000, 90.00000, 0.00000);
  45652. CreateDynamicObject(19174, 1659.05225, -967.67047, 690.17877, 0.00000, 0.00000, 90.00000);
  45653. CreateDynamicObject(19175, 1665.68555, -968.27643, 690.17792, 0.00000, 0.00000, -90.00000);
  45654. CreateDynamicObject(19172, 1665.68494, -961.49689, 690.19287, 0.00000, 0.00000, -90.00000);
  45655. CreateDynamicObject(2491, 1663.91870, -968.71417, 687.72620, 0.00000, 0.00000, -47.00000);
  45656. CreateDynamicObject(1952, 1663.73193, -968.88348, 689.70990, 55.00000, 91.00000, -149.00000);
  45657. CreateDynamicObject(3077, 1662.46704, -971.14868, 692.41919, 0.00000, 180.00000, 0.00000);
  45658. CreateDynamicObject(2227, 1662.71179, -966.43073, 688.49408, 0.00000, 0.00000, 0.00000);
  45659. CreateDynamicObject(3077, 1662.48022, -958.49329, 692.41919, 0.00000, 180.00000, 0.00000);
  45660. CreateDynamicObject(19448, 1660.61646, -956.79962, 694.01569, -90.05300, 0.00000, 0.00000);
  45661. CreateDynamicObject(19448, 1664.19775, -956.79871, 694.01569, -90.05300, 0.00000, 0.00000);
  45662. CreateDynamicObject(19448, 1659.23938, -965.45404, 699.93073, -90.05300, 90.00000, 0.00000);
  45663. CreateDynamicObject(19448, 1659.23938, -964.85797, 699.93073, -90.05300, 90.00000, 0.00000);
  45664. CreateDynamicObject(19448, 1659.23938, -964.26202, 699.93073, -90.05300, 90.00000, 0.00000);
  45665. CreateDynamicObject(19448, 1659.23938, -963.66602, 699.93073, -90.05300, 90.00000, 0.00000);
  45666. CreateDynamicObject(19448, 1659.23938, -963.07001, 699.93073, -90.05300, 90.00000, 0.00000);
  45667. CreateDynamicObject(19448, 1657.34546, -964.39307, 691.09570, -90.05300, 90.00000, 0.00000);
  45668. CreateDynamicObject(1536, 1658.40564, -962.00049, 694.28979, 0.00000, 0.00000, 90.00000);
  45669. CreateDynamicObject(19391, 1658.35205, -961.25458, 696.00647, 0.00000, 0.00000, 0.00000);
  45670. CreateDynamicObject(19454, 1653.07410, -963.40411, 684.22479, 0.00000, 0.00000, 0.00000);
  45671. CreateDynamicObject(19454, 1650.81616, -964.45227, 684.22479, 0.00000, 0.00000, 90.00000);
  45672. CreateDynamicObject(19454, 1656.31763, -956.78729, 684.22479, 0.00000, 0.00000, 0.00000);
  45673. CreateDynamicObject(19454, 1661.04724, -961.51617, 684.22479, 0.00000, 0.00000, 90.00000);
  45674. CreateDynamicObject(19454, 1662.65161, -961.14771, 684.22479, 0.00000, 0.00000, 0.00000);
  45675. CreateDynamicObject(19375, 1657.63232, -961.26575, 682.60437, 0.00000, 90.00000, 0.00000);
  45676. CreateDynamicObject(19454, 1655.57104, -969.17828, 684.22479, 0.00000, 0.00000, 0.00000);
  45677. CreateDynamicObject(19454, 1655.57104, -965.98853, 684.23877, 0.00000, 0.00000, 90.00000);
  45678. CreateDynamicObject(19391, 1661.24683, -965.98999, 684.43079, 0.00000, 0.00000, 90.00000);
  45679. CreateDynamicObject(19172, 1658.17444, -965.90759, 684.55719, 0.00000, 0.00000, 180.00000);
  45680. CreateDynamicObject(1726, 1660.10291, -965.30756, 682.63391, 0.00000, 0.00000, 180.00000);
  45681. CreateDynamicObject(1727, 1656.93030, -965.29083, 682.63568, 0.00000, 0.00000, 180.00000);
  45682. CreateDynamicObject(2811, 1657.45129, -965.35327, 682.69244, 0.00000, 0.00000, 0.00000);
  45683. CreateDynamicObject(2126, 1657.67688, -964.35883, 682.58270, 0.00000, 0.00000, 0.00000);
  45684. CreateDynamicObject(2614, 1653.20264, -961.37762, 684.42200, 0.00000, 0.00000, 90.00000);
  45685. CreateDynamicObject(19174, 1659.57642, -961.59302, 684.41058, 0.00000, 0.00000, 0.00000);
  45686. CreateDynamicObject(19454, 1667.40674, -965.99768, 684.43280, 0.00000, 0.00000, 90.00000);
  45687. CreateDynamicObject(19391, 1673.69470, -966.00177, 684.43481, 0.00000, 0.00000, 90.00000);
  45688. CreateDynamicObject(19379, 1660.32056, -970.69043, 682.59747, -0.00400, 90.00000, 0.00000);
  45689. CreateDynamicObject(19379, 1670.82617, -970.70868, 682.59949, -0.00400, 90.00000, 0.06000);
  45690. CreateDynamicObject(19454, 1679.53491, -966.00079, 684.31482, 0.00000, 0.00000, 90.00000);
  45691. CreateDynamicObject(19450, 1655.57483, -970.78229, 684.20892, 0.00000, 0.00000, 0.00000);
  45692. CreateDynamicObject(19450, 1662.68152, -967.01599, 681.80890, 0.00000, 180.00000, 0.00000);
  45693. CreateDynamicObject(19450, 1667.44470, -971.74622, 681.80890, 0.00000, 180.00000, 90.00000);
  45694. CreateDynamicObject(19450, 1679.07483, -970.76233, 684.20892, 0.00000, 0.00000, 0.00000);
  45695. CreateDynamicObject(19450, 1667.44470, -971.24622, 681.80890, 0.00000, 180.00000, 90.00000);
  45696. CreateDynamicObject(19450, 1667.44250, -971.36652, 681.81091, 0.00000, 180.00000, 90.00000);
  45697. CreateDynamicObject(19450, 1667.41479, -971.46899, 681.80890, 0.00000, 180.00000, 90.00000);
  45698. CreateDynamicObject(19450, 1667.44470, -971.45221, 681.80688, 0.00000, 180.00000, 90.00000);
  45699. CreateDynamicObject(19450, 1667.41272, -971.63385, 681.80688, 0.00000, 180.00000, 90.00000);
  45700. CreateDynamicObject(19450, 1662.78552, -966.65765, 681.81091, 0.00000, 180.00000, 0.00000);
  45701. CreateDynamicObject(19450, 1662.87305, -966.41022, 681.80890, 0.00000, 180.00000, 0.00000);
  45702. CreateDynamicObject(19450, 1663.04565, -966.99860, 681.81091, 0.00000, 180.00000, 0.00000);
  45703. CreateDynamicObject(19450, 1663.04565, -966.99860, 681.81091, 0.00000, 180.00000, 0.00000);
  45704. CreateDynamicObject(19450, 1663.14392, -966.97192, 681.81293, 0.00000, 180.00000, 0.00000);
  45705. CreateDynamicObject(19450, 1657.16846, -976.89392, 684.20892, 0.00000, 0.00000, 48.00000);
  45706. CreateDynamicObject(19450, 1677.52844, -976.71588, 684.20892, 0.00000, 0.00000, -48.00000);
  45707. CreateDynamicObject(19450, 1660.71936, -984.86407, 684.20892, 0.00000, 0.00000, 0.00000);
  45708. CreateDynamicObject(19450, 1673.97595, -984.69043, 684.20892, 0.00000, 0.00000, 0.00000);
  45709. CreateDynamicObject(19379, 1678.49524, -970.70831, 682.60150, -0.00400, 90.00000, 0.00000);
  45710. CreateDynamicObject(19379, 1673.69922, -978.93152, 682.59747, -0.00400, 90.00000, 0.00000);
  45711. CreateDynamicObject(19379, 1663.19775, -978.88202, 682.59747, -0.00400, 90.00000, 0.00000);
  45712. CreateDynamicObject(19379, 1659.90479, -978.85461, 682.59351, -0.00400, 90.00000, 0.00000);
  45713. CreateDynamicObject(19379, 1672.02271, -987.53003, 682.60748, -0.00400, 90.00000, 0.00000);
  45714. CreateDynamicObject(19379, 1662.30005, -987.55170, 682.60553, -0.00400, 90.00000, 0.00000);
  45715. CreateDynamicObject(14413, 1660.40491, -980.61688, 680.50598, 0.00000, 0.00000, 90.00000);
  45716. CreateDynamicObject(19450, 1655.99084, -989.59222, 684.20892, 0.00000, 0.00000, 90.00000);
  45717. CreateDynamicObject(19450, 1678.70947, -989.42102, 684.20490, 0.00000, 0.00000, 90.00000);
  45718. CreateDynamicObject(19450, 1672.42834, -996.52631, 684.20490, 0.00000, 0.00000, 90.00000);
  45719. CreateDynamicObject(19450, 1665.20630, -996.52954, 684.20490, 0.00000, 0.00000, 90.00000);
  45720. CreateDynamicObject(19450, 1679.14075, -996.31305, 684.20490, 0.00000, 0.00000, 90.00000);
  45721. CreateDynamicObject(19450, 1680.95544, -992.56982, 684.20490, 0.00000, 0.00000, 0.00000);
  45722. CreateDynamicObject(19450, 1655.19873, -996.27271, 684.20490, 0.00000, 0.00000, 90.00000);
  45723. CreateDynamicObject(19450, 1653.71216, -993.49536, 684.20490, 0.00000, 0.00000, 0.00000);
  45724. CreateDynamicObject(19379, 1655.92603, -992.17084, 682.60150, -0.00400, 90.00000, 0.00000);
  45725. CreateDynamicObject(19379, 1678.53967, -993.41864, 682.60150, -0.00400, 90.00000, 0.00000);
  45726. CreateDynamicObject(19379, 1670.27588, -991.98706, 682.59949, -0.00400, 90.00000, 0.00000);
  45727. CreateDynamicObject(19379, 1663.10400, -991.85168, 682.60352, -0.00400, 90.00000, 0.00000);
  45728. CreateDynamicObject(19358, 1672.17358, -970.22870, 681.80890, 0.00000, 180.00000, 0.00000);
  45729. CreateDynamicObject(19358, 1672.03430, -970.23053, 681.81091, 0.00000, 180.00000, 0.00000);
  45730. CreateDynamicObject(19358, 1671.94434, -970.22852, 681.80688, 0.00000, 180.00000, 0.00000);
  45731. CreateDynamicObject(19358, 1671.86829, -970.22650, 681.80890, 0.00000, 180.00000, 0.00000);
  45732. CreateDynamicObject(19358, 1671.74036, -970.23053, 681.80292, 0.00000, 180.00000, 0.00000);
  45733. CreateDynamicObject(19358, 1672.17566, -967.54669, 681.80890, 0.00000, 180.00000, 0.00000);
  45734. CreateDynamicObject(19358, 1671.92444, -967.54138, 681.80688, 0.00000, 180.00000, 0.00000);
  45735. CreateDynamicObject(19358, 1672.03430, -967.54150, 681.81091, 0.00000, 180.00000, 0.00000);
  45736. CreateDynamicObject(19358, 1671.74036, -967.58447, 681.80292, 0.00000, 180.00000, 0.00000);
  45737. CreateDynamicObject(19358, 1671.86829, -967.54248, 681.80890, 0.00000, 180.00000, 0.00000);
  45738. CreateDynamicObject(19358, 1671.57642, -970.21252, 681.80090, 0.00000, 180.00000, 0.00000);
  45739. CreateDynamicObject(19358, 1671.57642, -967.54248, 681.80090, 0.00000, 180.00000, 0.00000);
  45740. CreateDynamicObject(1536, 1670.57324, -964.19226, 682.51721, 0.00000, 0.00000, 90.00000);
  45741. CreateDynamicObject(1536, 1666.59705, -966.03491, 682.51721, 0.00000, 0.00000, 0.00000);
  45742. CreateDynamicObject(19176, 1667.35913, -996.42566, 683.93018, 0.00000, 0.00000, 0.00000);
  45743. CreateDynamicObject(19448, 1665.52271, -1001.17371, 683.64270, -0.05300, 0.00000, 0.00000);
  45744. CreateDynamicObject(19448, 1669.21240, -1001.15674, 683.65869, -0.05300, 0.00000, 0.00000);
  45745. CreateDynamicObject(19448, 1668.90662, -998.10468, 685.32269, -0.05300, 90.00000, 90.00000);
  45746. CreateDynamicObject(19448, 1665.97058, -998.10272, 685.33069, -0.05300, 90.00000, 90.00000);
  45747. CreateDynamicObject(19448, 1673.25439, -998.16711, 682.72272, 33.00000, 90.00000, 90.00000);
  45748. CreateDynamicObject(19448, 1661.49133, -998.13934, 682.72272, -33.00000, 90.00000, 90.00000);
  45749. CreateDynamicObject(19448, 1669.65576, -1001.24042, 683.33868, -0.05300, 0.00000, 0.00000);
  45750. CreateDynamicObject(19448, 1670.11609, -1001.24353, 683.02368, -0.05300, 0.00000, 0.00000);
  45751. CreateDynamicObject(19448, 1670.57666, -1001.25226, 682.69373, -0.05300, 0.00000, 0.00000);
  45752. CreateDynamicObject(19448, 1671.03662, -1001.24109, 682.36371, -0.05300, 0.00000, 0.00000);
  45753. CreateDynamicObject(19448, 1671.45862, -1001.24512, 682.18372, -0.05300, 0.00000, 0.00000);
  45754. CreateDynamicObject(19448, 1671.90051, -1001.25153, 681.89868, -0.05300, 0.00000, 0.00000);
  45755. CreateDynamicObject(19448, 1672.30273, -1001.25348, 681.62872, -0.05300, 0.00000, 0.00000);
  45756. CreateDynamicObject(19448, 1672.72717, -1001.24298, 681.35870, -0.05300, 0.00000, 0.00000);
  45757. CreateDynamicObject(19448, 1665.09607, -1001.22498, 683.33868, -0.05300, 0.00000, 0.00000);
  45758. CreateDynamicObject(19448, 1664.65222, -1001.23010, 683.06873, -0.05300, 0.00000, 0.00000);
  45759. CreateDynamicObject(19448, 1664.20837, -1001.23523, 682.76868, -0.05300, 0.00000, 0.00000);
  45760. CreateDynamicObject(19448, 1663.80115, -1001.22870, 682.51367, -0.05300, 0.00000, 0.00000);
  45761. CreateDynamicObject(19448, 1663.37744, -1001.22302, 682.24969, -0.05300, 0.00000, 0.00000);
  45762. CreateDynamicObject(19448, 1662.99268, -1001.23077, 681.99768, -0.05300, 0.00000, 0.00000);
  45763. CreateDynamicObject(19448, 1662.61279, -1001.22302, 681.75171, -0.05300, 0.00000, 0.00000);
  45764. CreateDynamicObject(19448, 1662.18933, -1001.24329, 681.47968, -0.05300, 0.00000, 0.00000);
  45765. CreateDynamicObject(19435, 1670.59705, -975.74170, 684.39459, 0.00000, 0.00000, 0.00000);
  45766. CreateDynamicObject(19435, 1670.84668, -976.46210, 684.39661, 0.00000, 0.00000, 90.00000);
  45767. CreateDynamicObject(19435, 1670.84668, -975.02710, 684.39661, 0.00000, 0.00000, 90.00000);
  45768. CreateDynamicObject(19435, 1671.22705, -975.74170, 684.39459, 0.00000, 0.00000, 0.00000);
  45769. CreateDynamicObject(19435, 1663.99280, -976.46210, 684.39661, 0.00000, 0.00000, 90.00000);
  45770. CreateDynamicObject(19435, 1664.24304, -975.74170, 684.39459, 0.00000, 0.00000, 0.00000);
  45771. CreateDynamicObject(19435, 1663.64502, -975.74170, 684.39459, 0.00000, 0.00000, 0.00000);
  45772. CreateDynamicObject(19435, 1663.99268, -975.02710, 684.39661, 0.00000, 0.00000, 90.00000);
  45773. CreateDynamicObject(1216, 1664.60999, -975.73181, 683.34930, 0.00000, 0.00000, 90.00000);
  45774. CreateDynamicObject(1216, 1670.24316, -975.72345, 683.34930, 0.00000, 0.00000, -90.00000);
  45775. CreateDynamicObject(19435, 1663.99280, -990.46210, 684.39661, 0.00000, 0.00000, 90.00000);
  45776. CreateDynamicObject(19435, 1663.99268, -989.02710, 684.39661, 0.00000, 0.00000, 90.00000);
  45777. CreateDynamicObject(19435, 1664.24304, -989.74170, 684.39459, 0.00000, 0.00000, 0.00000);
  45778. CreateDynamicObject(19435, 1663.64502, -989.74170, 684.39459, 0.00000, 0.00000, 0.00000);
  45779. CreateDynamicObject(19435, 1670.84668, -990.46210, 684.39661, 0.00000, 0.00000, 90.00000);
  45780. CreateDynamicObject(19435, 1670.84668, -989.02710, 684.39661, 0.00000, 0.00000, 90.00000);
  45781. CreateDynamicObject(19435, 1670.59705, -989.74170, 684.39459, 0.00000, 0.00000, 0.00000);
  45782. CreateDynamicObject(19435, 1671.22705, -989.74170, 684.39459, 0.00000, 0.00000, 0.00000);
  45783. CreateDynamicObject(9131, 1662.80054, -971.60742, 683.55664, 0.00000, 0.00000, 0.00000);
  45784. CreateDynamicObject(9131, 1662.80249, -971.60938, 685.22662, 0.00000, 0.00000, 0.00000);
  45785. CreateDynamicObject(9131, 1671.95862, -971.66241, 683.55664, 0.00000, 0.00000, 0.00000);
  45786. CreateDynamicObject(9131, 1671.96082, -971.66351, 685.22662, 0.00000, 0.00000, 0.00000);
  45787. CreateDynamicObject(9131, 1668.88403, -971.64197, 683.55664, 0.00000, 0.00000, 0.00000);
  45788. CreateDynamicObject(9131, 1665.77905, -971.68475, 683.55664, 0.00000, 0.00000, 0.00000);
  45789. CreateDynamicObject(9131, 1668.88599, -971.64398, 685.42963, 0.00000, 0.00000, 0.00000);
  45790. CreateDynamicObject(9131, 1665.78113, -971.68683, 685.40161, 0.00000, 0.00000, 0.00000);
  45791. CreateDynamicObject(9131, 1671.99792, -966.36957, 683.55664, 0.00000, 0.00000, 0.00000);
  45792. CreateDynamicObject(9131, 1671.99988, -966.36761, 685.56262, 0.00000, 0.00000, 0.00000);
  45793. CreateDynamicObject(9131, 1662.74365, -966.35168, 683.55664, 0.00000, 0.00000, 0.00000);
  45794. CreateDynamicObject(9131, 1662.74573, -966.34967, 685.32458, 0.00000, 0.00000, 0.00000);
  45795. CreateDynamicObject(19381, 1667.31580, -982.70880, 682.61493, 0.00000, 90.00000, 0.00000);
  45796. CreateDynamicObject(19373, 1677.32422, -992.69708, 682.60938, 0.00000, 90.00000, 0.00000);
  45797. CreateDynamicObject(19373, 1673.82422, -992.69708, 682.60938, 0.00000, 90.00000, 0.00000);
  45798. CreateDynamicObject(19373, 1670.32422, -992.69708, 682.60938, 0.00000, 90.00000, 0.00000);
  45799. CreateDynamicObject(19373, 1666.82422, -992.69708, 682.60938, 0.00000, 90.00000, 0.00000);
  45800. CreateDynamicObject(19373, 1663.32422, -992.69708, 682.60742, 0.00000, 90.00000, 0.00000);
  45801. CreateDynamicObject(19373, 1659.82422, -992.69708, 682.60742, 0.00000, 90.00000, 0.00000);
  45802. CreateDynamicObject(19373, 1657.32422, -992.69708, 682.60938, 0.00000, 90.00000, 0.00000);
  45803. CreateDynamicObject(19373, 1667.32007, -989.64728, 682.61139, 0.00000, 90.00000, 0.00000);
  45804. CreateDynamicObject(19373, 1667.31274, -987.56097, 682.61340, 0.00000, 90.00000, 0.00000);
  45805. CreateDynamicObject(19373, 1667.44006, -976.51031, 682.59943, 0.00000, 90.00000, 0.00000);
  45806. CreateDynamicObject(19373, 1667.43689, -974.11902, 682.60138, 0.00000, 90.00000, 0.00000);
  45807. CreateDynamicObject(19373, 1675.15894, -968.47070, 682.60541, 0.00000, 90.00000, 0.00000);
  45808. CreateDynamicObject(19373, 1675.15552, -971.62988, 682.60339, 0.00000, 90.00000, 0.00000);
  45809. CreateDynamicObject(19373, 1675.14941, -974.82123, 682.60541, 0.00000, 90.00000, 0.00000);
  45810. CreateDynamicObject(19373, 1659.02771, -968.61041, 682.59943, 0.00000, 90.00000, 0.00000);
  45811. CreateDynamicObject(19373, 1659.02771, -971.61041, 682.60138, 0.00000, 90.00000, 0.00000);
  45812. CreateDynamicObject(19373, 1659.02771, -974.61041, 682.59943, 0.00000, 90.00000, 0.00000);
  45813. CreateDynamicObject(19373, 1667.31506, -994.88812, 682.60541, 0.00000, 90.00000, 0.00000);
  45814. CreateDynamicObject(1216, 1664.62183, -989.77948, 683.34930, 0.00000, 0.00000, 90.00000);
  45815. CreateDynamicObject(1216, 1670.23364, -989.68671, 683.34930, 0.00000, 0.00000, -90.00000);
  45816. CreateDynamicObject(19372, 1665.55750, -984.24152, 682.61731, 0.00000, 90.00000, 0.00000);
  45817. CreateDynamicObject(19372, 1669.06519, -981.03992, 682.61731, 0.00000, 90.00000, 0.00000);
  45818. CreateDynamicObject(1502, 1672.91052, -965.99878, 682.66650, 0.00000, 0.00000, 0.00000);
  45819. CreateDynamicObject(1502, 1660.46240, -966.02490, 682.66650, 0.00000, 0.00000, 0.00000);
  45820. CreateDynamicObject(19373, 1660.72278, -973.38147, 700.00690, 0.00000, 90.00000, 0.00000);
  45821. CreateDynamicObject(19373, 1664.19324, -970.30255, 700.00690, 0.00000, 90.00000, 0.00000);
  45822. CreateDynamicObject(19372, 1660.73840, -970.30151, 700.00629, 0.00000, 90.00000, 0.00000);
  45823. CreateDynamicObject(19372, 1664.19141, -973.38068, 700.00629, 0.00000, 90.00000, 0.00000);
  45824. CreateDynamicObject(1726, 1654.57568, -993.88953, 682.60760, 0.00000, 0.00000, 90.00000);
  45825. CreateDynamicObject(1726, 1656.18237, -990.42102, 682.60760, 0.00000, 0.00000, 0.00000);
  45826. CreateDynamicObject(1726, 1658.12073, -995.30109, 682.60760, 0.00000, 0.00000, -180.00000);
  45827. CreateDynamicObject(2126, 1656.79932, -993.20648, 682.59167, 0.00000, 0.00000, 0.00000);
  45828. CreateDynamicObject(2811, 1654.74890, -990.55658, 682.68890, 0.00000, 0.00000, 0.00000);
  45829. CreateDynamicObject(2811, 1654.64624, -995.29932, 682.68890, 0.00000, 0.00000, 0.00000);
  45830. CreateDynamicObject(2811, 1660.18701, -991.68616, 682.68890, 0.00000, 0.00000, 0.00000);
  45831. CreateDynamicObject(2811, 1660.21997, -993.80585, 682.68890, 0.00000, 0.00000, 0.00000);
  45832. CreateDynamicObject(19174, 1653.83386, -992.88977, 684.66608, 0.00000, 0.00000, 90.00000);
  45833. CreateDynamicObject(2126, 1676.75720, -993.20923, 682.59167, 0.00000, 0.00000, 0.00000);
  45834. CreateDynamicObject(1726, 1678.39221, -995.32458, 682.60760, 0.00000, 0.00000, -180.00000);
  45835. CreateDynamicObject(1726, 1676.31909, -990.28052, 682.60760, 0.00000, 0.00000, 0.00000);
  45836. CreateDynamicObject(1726, 1680.03442, -991.83075, 682.60760, 0.00000, 0.00000, -90.00000);
  45837. CreateDynamicObject(2811, 1679.71533, -995.15234, 682.68890, 0.00000, 0.00000, 0.00000);
  45838. CreateDynamicObject(2811, 1679.85291, -990.56287, 682.68890, 0.00000, 0.00000, 0.00000);
  45839. CreateDynamicObject(2811, 1674.32520, -991.69720, 682.68890, 0.00000, 0.00000, 0.00000);
  45840. CreateDynamicObject(2811, 1674.31262, -993.74756, 682.68890, 0.00000, 0.00000, 0.00000);
  45841. CreateDynamicObject(19175, 1680.88062, -992.88879, 684.73419, 0.00000, 0.00000, -90.00000);
  45842. CreateDynamicObject(1727, 1659.82190, -992.22430, 682.69482, 0.00000, 0.00000, -90.00000);
  45843. CreateDynamicObject(1727, 1674.90588, -993.20551, 682.69482, 0.00000, 0.00000, 90.00000);
  45844. CreateDynamicObject(2811, 1669.43213, -990.82062, 682.68890, 0.00000, 0.00000, 0.00000);
  45845. CreateDynamicObject(2811, 1665.22046, -990.83411, 682.68890, 0.00000, 0.00000, 0.00000);
  45846. CreateDynamicObject(2811, 1669.40662, -994.72894, 682.68890, 0.00000, 0.00000, 0.00000);
  45847. CreateDynamicObject(2811, 1665.17786, -994.67572, 682.68890, 0.00000, 0.00000, 0.00000);
  45848. CreateDynamicObject(1649, 1664.38135, -971.64264, 686.28632, 0.00000, 90.00000, 0.00000);
  45849. CreateDynamicObject(1649, 1667.46509, -971.67499, 686.28632, 0.00000, 90.00000, 0.00000);
  45850. CreateDynamicObject(1649, 1670.43530, -971.72980, 686.28632, 0.00000, 90.00000, 0.00000);
  45851. CreateDynamicObject(9131, 1671.99182, -968.97778, 683.55664, 0.00000, 0.00000, 0.00000);
  45852. CreateDynamicObject(9131, 1671.99268, -968.98340, 685.22662, 0.00000, 0.00000, 0.00000);
  45853. CreateDynamicObject(1649, 1672.07544, -970.30029, 686.36530, 0.00000, 90.00000, 90.00000);
  45854. CreateDynamicObject(9131, 1671.99268, -968.98340, 685.22662, 0.00000, 0.00000, 0.00000);
  45855. CreateDynamicObject(1649, 1672.16272, -967.69873, 686.36530, 0.00000, 90.00000, 90.00000);
  45856. CreateDynamicObject(1649, 1662.68506, -970.26831, 686.28632, 0.00000, 90.00000, -90.00000);
  45857. CreateDynamicObject(9131, 1662.74438, -968.89624, 683.55664, 0.00000, 0.00000, 0.00000);
  45858. CreateDynamicObject(9131, 1662.74194, -968.89771, 685.22662, 0.00000, 0.00000, 0.00000);
  45859. CreateDynamicObject(1649, 1662.74121, -967.32971, 686.28632, 0.00000, 90.00000, -90.00000);
  45860. CreateDynamicObject(2200, 1669.07825, -966.22864, 682.68683, 0.00000, 0.00000, 0.00000);
  45861. CreateDynamicObject(2200, 1664.39514, -966.23621, 682.68683, 0.00000, 0.00000, 0.00000);
  45862. CreateDynamicObject(1828, 1667.77917, -968.79425, 682.66248, 0.00000, 0.00000, 0.00000);
  45863. CreateDynamicObject(1714, 1670.26538, -970.00128, 682.68542, 0.00000, 0.00000, 62.00000);
  45864. CreateDynamicObject(1714, 1664.33838, -970.21857, 682.68542, 0.00000, 0.00000, -62.00000);
  45865. CreateDynamicObject(1714, 1667.39148, -970.04071, 682.68542, 0.00000, 0.00000, 0.00000);
  45866. CreateDynamicObject(1714, 1670.32922, -967.69934, 682.68542, 0.00000, 0.00000, 90.00000);
  45867. CreateDynamicObject(1714, 1664.26782, -967.65887, 682.68542, 0.00000, 0.00000, -90.00000);
  45868. CreateDynamicObject(2811, 1669.55005, -977.65448, 682.68890, 0.00000, 0.00000, 0.00000);
  45869. CreateDynamicObject(2811, 1665.26160, -977.63495, 682.68890, 0.00000, 0.00000, 0.00000);
  45870. CreateDynamicObject(1808, 1670.90918, -988.73779, 682.69318, 0.00000, 0.00000, 180.00000);
  45871. CreateDynamicObject(2606, 1669.72595, -966.20422, 685.30310, 0.00000, 0.00000, 0.00000);
  45872. CreateDynamicObject(2606, 1669.72595, -966.20422, 684.84308, 0.00000, 0.00000, 0.00000);
  45873. CreateDynamicObject(19380, 1677.75940, -993.34680, 685.94501, 0.00000, 90.00000, 0.00000);
  45874. CreateDynamicObject(19380, 1667.43481, -993.30182, 685.96503, 0.00000, 90.00000, 0.00000);
  45875. CreateDynamicObject(19380, 1657.26416, -993.34833, 685.94501, 0.00000, 90.00000, 0.00000);
  45876. CreateDynamicObject(19380, 1664.09070, -983.83752, 685.97498, 0.00000, 90.00000, 0.00000);
  45877. CreateDynamicObject(19380, 1672.86572, -983.84723, 685.97900, 0.00000, 90.00000, 0.00000);
  45878. CreateDynamicObject(19380, 1674.54370, -974.38708, 685.94501, 0.00000, 90.00000, 0.00000);
  45879. CreateDynamicObject(19380, 1674.64111, -970.71228, 685.96503, 0.00000, 90.00000, 0.00000);
  45880. CreateDynamicObject(19380, 1664.31567, -974.47052, 685.98499, 0.00000, 90.00000, 0.00000);
  45881. CreateDynamicObject(19380, 1657.26782, -974.66217, 685.96503, 0.00000, 90.00000, 0.00000);
  45882. CreateDynamicObject(19380, 1657.41858, -965.23651, 686.00500, 0.00000, 90.00000, 0.00000);
  45883. CreateDynamicObject(19380, 1665.27612, -968.87659, 686.02502, 0.00000, 90.00000, 0.00000);
  45884. CreateDynamicObject(19380, 1654.17944, -961.91632, 685.98499, 0.00000, 90.00000, 0.00000);
  45885. CreateDynamicObject(19443, 1654.88867, -958.56860, 686.58557, 90.00000, 0.00000, 90.00000);
  45886. CreateDynamicObject(4595, 1812.95972, -1071.76428, 686.49622, 0.00000, 0.00000, 0.00000);
  45887. CreateDynamicObject(4702, 1825.28564, -990.24133, 686.35730, 0.00000, 0.00000, 0.00000);
  45888. CreateDynamicObject(4650, 1662.22815, -976.74054, 710.07861, 0.00000, -90.00000, 90.00000);
  45889. CreateDynamicObject(14576, 1677.25659, -980.76630, 678.18488, 0.00000, 0.00000, 180.00000);
  45890. //CreateDynamicObject(2634, 1677.76440, -987.50836, 671.68329, 0.00000, 0.00000, -55.00000);
  45891. CreateDynamicObject(1726, 1668.31262, -981.95514, 682.60760, 0.00000, 0.00000, -180.00000);
  45892. CreateDynamicObject(1726, 1666.28406, -983.28662, 682.60760, 0.00000, 0.00000, 0.00000);
  45893. CreateDynamicObject(2811, 1665.64502, -982.69666, 682.68890, 0.00000, 0.00000, 0.00000);
  45894. CreateDynamicObject(2811, 1668.86804, -982.63745, 682.68890, 0.00000, 0.00000, 0.00000);
  45895. CreateDynamicObject(19443, 1665.71082, -987.56238, 686.06207, 90.00000, 90.00000, 90.00000);
  45896. CreateDynamicObject(19443, 1665.71082, -981.06238, 686.06207, 90.00000, 90.00000, 90.00000);
  45897. CreateDynamicObject(19443, 1665.71277, -984.27441, 686.06012, 90.00000, 90.00000, 90.00000);
  45898. CreateDynamicObject(19443, 1667.36914, -989.22498, 686.06012, 90.00000, 90.00000, 0.00000);
  45899. CreateDynamicObject(19443, 1665.71277, -977.56238, 686.06409, 90.00000, 90.00000, 90.00000);
  45900. CreateDynamicObject(19443, 1669.03259, -987.56348, 686.06207, 90.00000, 90.00000, 90.00000);
  45901. CreateDynamicObject(19443, 1669.03223, -984.16211, 686.06012, 90.00000, 90.00000, 90.00000);
  45902. CreateDynamicObject(19443, 1669.03125, -980.87512, 686.05811, 90.00000, 90.00000, 90.00000);
  45903. CreateDynamicObject(19443, 1669.03784, -977.56500, 686.05609, 90.00000, 90.00000, 90.00000);
  45904. CreateDynamicObject(19443, 1667.37561, -975.89868, 686.06012, 90.00000, 90.00000, 0.00000);
  45905. CreateDynamicObject(2434, 1677.79968, -999.17450, 669.99207, 0.00000, 0.00000, 0.00000);
  45906. CreateDynamicObject(2434, 1676.67566, -999.00781, 669.99408, 0.00000, 0.00000, -90.00000);
  45907. CreateDynamicObject(2435, 1677.96814, -998.04462, 669.99261, 0.00000, 0.00000, 90.00000);
  45908. CreateDynamicObject(2435, 1676.67773, -998.07520, 669.99261, 0.00000, 0.00000, -90.00000);
  45909. CreateDynamicObject(2434, 1677.97009, -997.13013, 669.99408, 0.00000, 0.00000, 90.00000);
  45910. CreateDynamicObject(2434, 1676.84619, -996.95288, 669.99213, 0.00000, 0.00000, 180.00000);
  45911. CreateDynamicObject(2000, 1674.19604, -989.16309, 669.99103, 0.00000, 0.00000, 0.00000);
  45912. CreateDynamicObject(2000, 1674.69397, -989.16107, 669.99103, 0.00000, 0.00000, 0.00000);
  45913. CreateDynamicObject(2000, 1675.19397, -989.16107, 669.99103, 0.00000, 0.00000, 0.00000);
  45914. CreateDynamicObject(2000, 1675.69397, -989.16107, 669.99103, 0.00000, 0.00000, 0.00000);
  45915. CreateDynamicObject(2000, 1678.69397, -989.16107, 669.99103, 0.00000, 0.00000, 0.00000);
  45916. CreateDynamicObject(2000, 1679.19397, -989.16107, 669.99103, 0.00000, 0.00000, 0.00000);
  45917. CreateDynamicObject(2000, 1679.69397, -989.16107, 669.99103, 0.00000, 0.00000, 0.00000);
  45918. CreateDynamicObject(2000, 1680.19397, -989.16107, 669.99103, 0.00000, 0.00000, 0.00000);
  45919. CreateDynamicObject(2000, 1680.32227, -1003.89697, 669.99237, 0.00000, 0.00000, 180.00000);
  45920. CreateDynamicObject(2000, 1679.82227, -1003.89697, 669.99237, 0.00000, 0.00000, 180.00000);
  45921. CreateDynamicObject(2000, 1679.32227, -1003.89697, 669.99237, 0.00000, 0.00000, 180.00000);
  45922. CreateDynamicObject(2000, 1678.82227, -1003.89697, 669.99237, 0.00000, 0.00000, 180.00000);
  45923. CreateDynamicObject(2000, 1678.32227, -1003.89697, 669.99237, 0.00000, 0.00000, 180.00000);
  45924. CreateDynamicObject(2000, 1677.82227, -1003.89697, 669.99237, 0.00000, 0.00000, 180.00000);
  45925. CreateDynamicObject(2000, 1677.32227, -1003.89697, 669.99237, 0.00000, 0.00000, 180.00000);
  45926. CreateDynamicObject(2000, 1676.82227, -1003.89697, 669.99237, 0.00000, 0.00000, 180.00000);
  45927. CreateDynamicObject(2000, 1676.32227, -1003.89697, 669.99237, 0.00000, 0.00000, 180.00000);
  45928. CreateDynamicObject(2000, 1675.82227, -1003.89697, 669.99237, 0.00000, 0.00000, 180.00000);
  45929. CreateDynamicObject(2000, 1675.32227, -1003.89697, 669.99237, 0.00000, 0.00000, 180.00000);
  45930. CreateDynamicObject(2000, 1674.82227, -1003.89697, 669.99237, 0.00000, 0.00000, 180.00000);
  45931. CreateDynamicObject(2000, 1674.32227, -1003.89697, 669.99237, 0.00000, 0.00000, 180.00000);
  45932. CreateDynamicObject(1550, 1674.38489, -1003.73480, 670.24860, 0.00000, 0.00000, 0.00000);
  45933. CreateDynamicObject(1550, 1674.75854, -1003.40149, 670.24860, 0.00000, 0.00000, 33.00000);
  45934. CreateDynamicObject(1550, 1674.24988, -1003.33649, 670.24860, 0.00000, 0.00000, 33.00000);
  45935. CreateDynamicObject(1550, 1674.41284, -1002.94733, 670.12360, 69.00000, 0.00000, 33.00000);
  45936. CreateDynamicObject(1550, 1674.23401, -1002.45795, 670.24860, 0.00000, 0.00000, 33.00000);
  45937. CreateDynamicObject(1550, 1675.05933, -1002.70532, 670.24860, 0.00000, 0.00000, 33.00000);
  45938. CreateDynamicObject(1550, 1678.09033, -999.48700, 670.24860, 0.00000, 0.00000, 33.00000);
  45939. CreateDynamicObject(1550, 1678.35583, -999.07501, 670.24860, 0.00000, 0.00000, 33.00000);
  45940. CreateDynamicObject(1550, 1678.58569, -999.58228, 670.24860, 0.00000, 0.00000, 33.00000);
  45941. CreateDynamicObject(1550, 1674.20776, -989.49445, 670.24860, 0.00000, 0.00000, 33.00000);
  45942. CreateDynamicObject(1550, 1674.75024, -989.43054, 670.24860, 0.00000, 0.00000, 33.00000);
  45943. CreateDynamicObject(1550, 1674.48401, -989.88702, 670.24860, 0.00000, 0.00000, 33.00000);
  45944. CreateDynamicObject(1550, 1674.98157, -989.83002, 670.24860, 0.00000, 0.00000, 33.00000);
  45945. CreateDynamicObject(1550, 1674.27588, -990.34778, 670.05060, -105.00000, 0.00000, 287.00000);
  45946. CreateDynamicObject(1550, 1675.00476, -1001.74683, 670.24860, 0.00000, 0.00000, 33.00000);
  45947. CreateDynamicObject(1550, 1676.12549, -998.38446, 670.24860, 0.00000, 0.00000, 33.00000);
  45948. CreateDynamicObject(1550, 1675.97021, -997.99341, 670.24860, 0.00000, 0.00000, 33.00000);
  45949. CreateDynamicObject(1550, 1675.61206, -998.46313, 670.24860, 0.00000, 0.00000, 33.00000);
  45950. CreateDynamicObject(1550, 1678.05933, -996.55249, 670.24860, 0.00000, 0.00000, 33.00000);
  45951. CreateDynamicObject(1550, 1677.51147, -996.45801, 670.24860, 0.00000, 0.00000, 33.00000);
  45952. CreateDynamicObject(1550, 1677.94556, -996.01849, 670.24860, 0.00000, 0.00000, 33.00000);
  45953. CreateDynamicObject(1550, 1677.39294, -995.96844, 670.24860, 0.00000, 0.00000, 33.00000);
  45954. CreateDynamicObject(1550, 1676.98633, -996.65375, 670.24860, 0.00000, 0.00000, 33.00000);
  45955. CreateDynamicObject(1550, 1680.32813, -992.60712, 670.24860, 0.00000, 0.00000, 33.00000);
  45956. CreateDynamicObject(1550, 1680.28064, -993.05798, 670.24860, 0.00000, 0.00000, 33.00000);
  45957. CreateDynamicObject(1550, 1679.88989, -992.82013, 670.24860, 0.00000, 0.00000, 33.00000);
  45958. CreateDynamicObject(1550, 1679.92578, -993.28516, 670.24860, 0.00000, 0.00000, 33.00000);
  45959. CreateDynamicObject(1550, 1680.38379, -993.54877, 670.24860, 0.00000, 0.00000, 33.00000);
  45960. CreateDynamicObject(19358, 1671.52832, -964.88507, 680.12793, 0.00000, 180.00000, -0.10000);
  45961. CreateDynamicObject(19358, 1672.83105, -966.02869, 680.12793, 0.00000, 180.00000, -90.10000);
  45962. CreateDynamicObject(18757, 1662.66113, -986.51813, 684.55219, 0.00000, 0.00000, 0.00000);
  45963. CreateDynamicObject(18757, 1662.66309, -984.56311, 684.55219, 0.00000, 0.00000, 0.00000);
  45964. CreateDynamicObject(2811, 1661.19666, -982.16919, 682.68890, 0.00000, 0.00000, 0.00000);
  45965. CreateDynamicObject(2811, 1661.23230, -987.33252, 682.68890, 0.00000, 0.00000, 0.00000);
  45966. CreateDynamicObject(18757, 1675.89514, -984.62836, 684.55219, 0.00000, 0.00000, 0.00000);
  45967. CreateDynamicObject(18757, 1675.89709, -986.50043, 684.55219, 0.00000, 0.00000, 0.00000);
  45968. CreateDynamicObject(2811, 1673.35864, -981.99762, 682.68890, 0.00000, 0.00000, 0.00000);
  45969. CreateDynamicObject(2811, 1673.48254, -987.14429, 682.68890, 0.00000, 0.00000, 0.00000);
  45970. CreateDynamicObject(1557, 1655.64185, -972.38470, 682.58893, 0.00000, 0.00000, 90.00000);
  45971. CreateDynamicObject(1557, 1679.05115, -972.45654, 682.58893, 0.00000, 0.00000, 90.00000);
  45972. CreateDynamicObject(19464, 1685.72986, -987.53156, 672.48907, 0.00000, 0.00000, 0.00000);
  45973. CreateDynamicObject(19464, 1685.71204, -981.58417, 672.48907, 0.00000, 0.00000, 0.00000);
  45974. CreateDynamicObject(19464, 1685.73914, -976.21100, 672.48907, 0.00000, 0.00000, 0.00000);
  45975. CreateDynamicObject(19464, 1685.75281, -970.91187, 672.48907, 0.00000, 0.00000, 0.00000);
  45976. CreateDynamicObject(19464, 1670.69458, -971.08954, 672.48907, 0.00000, 0.00000, 0.00000);
  45977. CreateDynamicObject(19464, 1670.62061, -976.40570, 672.48907, 0.00000, 0.00000, 0.00000);
  45978. CreateDynamicObject(19464, 1670.48389, -981.24969, 672.48907, 0.00000, 0.00000, 0.00000);
  45979. CreateDynamicObject(19464, 1670.47412, -986.92102, 672.48907, 0.00000, 0.00000, 0.00000);
  45980. CreateDynamicObject(1734, 1684.81921, -973.82593, 675.49249, 0.00000, 30.00000, 30.00000);
  45981. CreateDynamicObject(1734, 1684.89453, -978.63745, 675.49249, 0.00000, 30.00000, 30.00000);
  45982. CreateDynamicObject(1734, 1684.82043, -983.63324, 675.49249, 0.00000, 30.00000, 30.00000);
  45983. CreateDynamicObject(1734, 1671.46765, -974.24066, 675.49249, 0.00000, -30.00000, 30.00000);
  45984. CreateDynamicObject(1734, 1671.31140, -978.95215, 675.49249, 0.00000, -30.00000, 30.00000);
  45985. CreateDynamicObject(1734, 1671.28943, -984.09473, 675.49249, 0.00000, -30.00000, 30.00000);
  45986. CreateDynamicObject(1808, 1663.93970, -988.78314, 682.69318, 0.00000, 0.00000, 180.00000);
  45987. CreateDynamicObject(1734, 1667.30676, -977.16321, 686.48077, 0.00000, 0.00000, 0.00000);
  45988. CreateDynamicObject(1734, 1667.30676, -980.16321, 686.48077, 0.00000, 0.00000, 0.00000);
  45989. CreateDynamicObject(1734, 1667.30676, -982.66321, 686.48077, 0.00000, 0.00000, 0.00000);
  45990. CreateDynamicObject(1734, 1667.30676, -984.66321, 686.48077, 0.00000, 0.00000, 0.00000);
  45991. CreateDynamicObject(1734, 1667.30676, -987.16321, 686.48077, 0.00000, 0.00000, 0.00000);
  45992. CreateDynamicObject(2108, 1670.81714, -976.99768, 682.66882, 0.00000, 0.00000, 0.00000);
  45993. CreateDynamicObject(2108, 1663.92041, -976.95392, 682.66882, 0.00000, 0.00000, 0.00000);
  45994. CreateDynamicObject(18075, 1667.43665, -982.60559, 685.90179, 0.00000, 0.00000, 0.00000);
  45995. CreateDynamicObject(2773, 1664.73279, -976.47131, 683.17090, 0.00000, 0.00000, 90.00000);
  45996. CreateDynamicObject(2773, 1664.72839, -975.08966, 683.17090, 0.00000, 0.00000, 90.00000);
  45997. CreateDynamicObject(2773, 1670.14978, -975.04382, 683.17090, 0.00000, 0.00000, 90.00000);
  45998. CreateDynamicObject(2773, 1670.14978, -976.44196, 683.17090, 0.00000, 0.00000, 90.00000);
  45999. CreateDynamicObject(2773, 1670.02148, -989.06970, 683.17090, 0.00000, 0.00000, 90.00000);
  46000. CreateDynamicObject(2773, 1670.00928, -990.43817, 683.17090, 0.00000, 0.00000, 90.00000);
  46001. CreateDynamicObject(2773, 1664.61499, -990.44031, 683.17090, 0.00000, 0.00000, 90.00000);
  46002. CreateDynamicObject(2773, 1664.63940, -989.05945, 683.17090, 0.00000, 0.00000, 90.00000);
  46003. CreateDynamicObject(2773, 1660.72534, -992.72321, 683.17090, 0.00000, 0.00000, 0.00000);
  46004. CreateDynamicObject(2773, 1673.82996, -992.72601, 683.17090, 0.00000, 0.00000, 0.00000);
  46005. CreateDynamicObject(1734, 1677.05408, -992.97064, 686.48077, 0.00000, 0.00000, 0.00000);
  46006. CreateDynamicObject(1734, 1656.62134, -992.63593, 686.48077, 0.00000, 0.00000, 0.00000);
  46007. CreateDynamicObject(19458, 1676.31287, -958.97858, 680.32001, 0.00000, 90.00000, 90.00000);
  46008. CreateDynamicObject(19458, 1676.38159, -964.48083, 682.59680, 0.00000, 90.00000, 90.00000);
  46009. CreateDynamicObject(19458, 1676.21570, -964.50897, 678.32642, 0.00000, 90.00000, 90.00000);
  46010. CreateDynamicObject(19458, 1674.84692, -958.82312, 676.11920, 0.00000, 90.00000, 90.00000);
  46011. CreateDynamicObject(19458, 1676.46021, -964.52179, 674.11139, 0.00000, 90.00000, 90.00000);
  46012. CreateDynamicObject(19458, 1675.06433, -958.81409, 671.91522, 0.00000, 90.00000, 90.00000);
  46013. CreateDynamicObject(1886, 1662.88867, -972.32507, 685.98969, 0.00000, 0.00000, 40.00000);
  46014. CreateDynamicObject(1886, 1671.76123, -972.41028, 685.98969, 0.00000, 0.00000, -33.00000);
  46015. // SAN interior
  46016. CreateDynamicObject(19376, 247.74, 1783.13, 700.00, 0.00, 90.00, 0.00);
  46017. CreateDynamicObject(19376, 258.24, 1783.14, 700.00, 0.00, 90.00, 0.00);
  46018. CreateDynamicObject(19376, 247.74, 1773.55, 700.00, 0.00, 90.00, 0.00);
  46019. CreateDynamicObject(19376, 258.23, 1773.55, 700.00, 0.00, 90.00, 0.00);
  46020. CreateDynamicObject(19450, 250.44, 1784.44, 701.65, 0.00, 0.00, 90.00);
  46021. CreateDynamicObject(19450, 245.63, 1779.94, 701.65, 0.00, 0.00, 0.00);
  46022. CreateDynamicObject(19450, 253.91, 1780.12, 701.65, 0.00, 0.00, 0.00);
  46023. CreateDynamicObject(19450, 253.03, 1775.84, 701.65, 0.00, 0.00, 90.00);
  46024. CreateDynamicObject(19404, 252.33, 1778.41, 701.65, 0.00, 0.00, 90.00);
  46025. CreateDynamicObject(19388, 249.65, 1777.30, 701.65, 0.00, 0.00, -45.00);
  46026. CreateDynamicObject(19388, 246.66, 1775.84, 701.65, 0.00, 0.00, 90.00);
  46027. CreateDynamicObject(19466, 252.38, 1778.39, 702.43, 0.00, 0.00, 90.00);
  46028. CreateDynamicObject(1502, 249.13, 1776.76, 699.95, 0.00, 0.00, 45.00);
  46029. CreateDynamicObject(2165, 251.81, 1777.85, 700.09, 0.00, 0.00, 0.00);
  46030. CreateDynamicObject(19358, 248.54, 1774.62, 701.65, 0.00, 0.00, 0.00);
  46031. CreateDynamicObject(1714, 252.63, 1777.00, 700.09, 0.00, 0.00, 230.00);
  46032. CreateDynamicObject(2007, 253.70, 1776.70, 700.01, 0.00, 0.00, -90.00);
  46033. CreateDynamicObject(1961, 250.82, 1775.97, 701.86, 0.00, 0.00, 0.00);
  46034. CreateDynamicObject(1962, 251.55, 1775.97, 701.86, 0.00, 0.00, 0.00);
  46035. CreateDynamicObject(1960, 252.27, 1775.97, 701.86, 0.00, 0.00, 0.00);
  46036. CreateDynamicObject(1569, 247.05, 1784.39, 700.02, 0.00, 0.00, 0.00);
  46037. CreateDynamicObject(1569, 250.03, 1784.39, 700.02, 0.00, 0.00, 180.00);
  46038. CreateDynamicObject(1703, 251.10, 1783.84, 700.09, 0.00, 0.00, 0.00);
  46039. CreateDynamicObject(1703, 246.23, 1779.16, 700.09, 0.00, 0.00, 90.00);
  46040. CreateDynamicObject(2315, 247.52, 1779.46, 700.09, 0.00, 0.00, 90.00);
  46041. CreateDynamicObject(2315, 251.39, 1782.50, 700.09, 0.00, 0.00, 0.00);
  46042. CreateDynamicObject(2250, 251.42, 1782.51, 701.03, 0.00, 0.00, 0.00);
  46043. CreateDynamicObject(2250, 247.52, 1780.31, 701.03, 0.00, 0.00, 90.00);
  46044. CreateDynamicObject(2852, 252.61, 1782.49, 700.58, 0.00, 0.00, 90.00);
  46045. CreateDynamicObject(2894, 247.42, 1779.67, 700.58, 0.00, 0.00, 39.00);
  46046. CreateDynamicObject(2011, 246.21, 1783.97, 700.09, 0.00, 0.00, 0.00);
  46047. CreateDynamicObject(2011, 253.24, 1779.07, 700.09, 0.00, 0.00, 0.00);
  46048. CreateDynamicObject(1502, 245.88, 1775.81, 699.95, 0.00, 0.00, 0.00);
  46049. CreateDynamicObject(19450, 245.63, 1770.30, 701.65, 0.00, 0.00, 0.00);
  46050. CreateDynamicObject(19358, 250.13, 1773.12, 701.65, 0.00, 0.00, 90.40);
  46051. CreateDynamicObject(19388, 252.80, 1774.23, 701.65, 0.00, 0.00, -45.00);
  46052. CreateDynamicObject(1502, 252.29, 1773.69, 699.95, 0.00, 0.00, 45.00);
  46053. CreateDynamicObject(1265, 250.63, 1775.49, 700.16, 0.00, 0.00, 0.00);
  46054. CreateDynamicObject(1265, 250.35, 1774.87, 700.16, 0.00, 0.00, 0.00);
  46055. CreateDynamicObject(1778, 253.53, 1775.81, 700.09, 0.00, 0.00, 0.00);
  46056. CreateDynamicObject(2712, 253.57, 1775.32, 700.68, 0.00, 0.00, 0.00);
  46057. CreateDynamicObject(1221, 249.31, 1773.68, 700.09, 0.00, 0.00, 0.00);
  46058. CreateDynamicObject(1221, 250.27, 1773.94, 700.38, 0.00, 0.00, 0.00);
  46059. CreateDynamicObject(1221, 249.56, 1775.12, 700.38, 0.00, 0.00, 0.00);
  46060. CreateDynamicObject(1265, 249.18, 1774.36, 700.16, 0.00, 0.00, 0.00);
  46061. CreateDynamicObject(19450, 249.18, 1768.98, 701.65, 0.00, 0.00, 90.00);
  46062. CreateDynamicObject(1705, 246.30, 1770.17, 700.09, 0.00, 0.00, 90.00);
  46063. CreateDynamicObject(1705, 247.85, 1769.63, 700.09, 0.00, 0.00, 180.00);
  46064. CreateDynamicObject(1705, 251.83, 1769.63, 700.09, 0.00, 0.00, 180.00);
  46065. CreateDynamicObject(2315, 248.60, 1769.55, 700.09, 0.00, 0.00, 0.00);
  46066. CreateDynamicObject(2855, 248.78, 1769.55, 700.58, 0.00, 0.00, 0.00);
  46067. CreateDynamicObject(2251, 249.67, 1769.36, 701.41, 0.00, 0.00, 0.00);
  46068. CreateDynamicObject(1667, 249.91, 1769.75, 700.69, 0.00, 0.00, 0.00);
  46069. CreateDynamicObject(1667, 250.08, 1769.65, 700.69, 0.00, 0.00, 0.00);
  46070. CreateDynamicObject(2817, 248.02, 1783.18, 700.08, 0.00, 0.00, 0.00);
  46071. CreateDynamicObject(19450, 254.81, 1780.65, 701.65, 0.00, 0.00, 0.00);
  46072. CreateDynamicObject(14393, 255.23, 1759.95, 702.32, 0.00, 0.00, 90.00);
  46073. CreateDynamicObject(19450, 261.73, 1768.98, 701.65, 0.00, 0.00, 90.00);
  46074. CreateDynamicObject(19450, 249.19, 1768.83, 701.65, 0.00, 0.00, 90.00);
  46075. CreateDynamicObject(19388, 255.31, 1768.98, 701.65, 0.00, 0.00, 90.00);
  46076. CreateDynamicObject(19388, 255.31, 1768.83, 701.65, 0.00, 0.00, 90.00);
  46077. CreateDynamicObject(19450, 261.73, 1768.83, 701.65, 0.00, 0.00, 90.00);
  46078. CreateDynamicObject(14391, 256.13, 1760.86, 701.05, 0.00, 0.00, 90.00);
  46079. CreateDynamicObject(1705, 257.11, 1767.64, 700.09, 0.00, 0.00, 0.00);
  46080. CreateDynamicObject(1705, 258.68, 1767.02, 700.09, 0.00, 0.00, -90.00);
  46081. CreateDynamicObject(2332, 259.63, 1764.36, 700.38, 0.00, 0.00, -90.00);
  46082. CreateDynamicObject(638, 254.72, 1765.20, 701.43, 0.00, 0.00, 90.00);
  46083. CreateDynamicObject(638, 258.07, 1765.20, 701.43, 0.00, 0.00, 90.00);
  46084. CreateDynamicObject(2894, 256.40, 1765.18, 701.10, 0.00, 0.00, 80.00);
  46085. CreateDynamicObject(1714, 257.11, 1762.81, 700.10, 0.00, 0.00, -45.00);
  46086. CreateDynamicObject(1714, 254.18, 1762.77, 700.10, 0.00, 0.00, 0.00);
  46087. CreateDynamicObject(1502, 251.40, 1759.68, 699.95, 0.00, 0.00, 0.00);
  46088. CreateDynamicObject(2395, 250.95, 1759.82, 700.10, 0.00, 0.00, 180.00);
  46089. CreateDynamicObject(2395, 252.48, 1759.82, 702.46, 0.00, 0.00, 180.00);
  46090. CreateDynamicObject(2395, 249.79, 1759.59, 702.46, 0.00, 0.00, 0.00);
  46091. CreateDynamicObject(2395, 248.19, 1759.58, 700.10, 0.00, 0.00, 0.00);
  46092. CreateDynamicObject(1704, 254.31, 1753.90, 700.09, 0.00, 0.00, 135.00);
  46093. CreateDynamicObject(1704, 256.22, 1754.49, 700.09, 0.00, 0.00, -135.00);
  46094. CreateDynamicObject(1815, 254.42, 1754.73, 700.09, 0.00, 0.00, 0.00);
  46095. CreateDynamicObject(2247, 254.89, 1755.32, 700.99, 0.00, 0.00, 0.00);
  46096. CreateDynamicObject(2010, 253.33, 1754.95, 700.10, 0.00, 0.00, 0.00);
  46097. CreateDynamicObject(2010, 256.59, 1754.91, 700.10, 0.00, 0.00, 0.00);
  46098. CreateDynamicObject(19466, 253.95, 1759.95, 701.92, 0.00, 0.00, 90.00);
  46099. CreateDynamicObject(19466, 256.17, 1759.95, 701.92, 0.00, 0.00, 90.00);
  46100. CreateDynamicObject(19466, 258.40, 1759.95, 701.92, 0.00, 0.00, 90.00);
  46101. CreateDynamicObject(19376, 259.00, 1763.90, 699.99, 0.00, 90.00, 0.00);
  46102. CreateDynamicObject(1502, 254.53, 1768.96, 699.95, 0.00, 0.00, 0.00);
  46103. CreateDynamicObject(19450, 262.61, 1772.18, 701.65, 0.00, 0.00, -45.00);
  46104. CreateDynamicObject(19450, 263.67, 1770.76, 701.65, 0.00, 0.00, 0.00);
  46105. CreateDynamicObject(19450, 257.75, 1783.82, 701.65, 0.00, 0.00, 0.00);
  46106. CreateDynamicObject(19388, 257.75, 1777.43, 701.65, 0.00, 0.00, 0.00);
  46107. CreateDynamicObject(19388, 259.37, 1782.08, 701.65, 0.00, 0.00, 90.00);
  46108. CreateDynamicObject(19388, 265.76, 1782.08, 701.65, 0.00, 0.00, 90.00);
  46109. CreateDynamicObject(19450, 268.40, 1775.63, 701.65, 0.00, 0.00, 90.00);
  46110. CreateDynamicObject(19358, 256.17, 1781.31, 701.65, 0.00, 0.00, 90.00);
  46111. CreateDynamicObject(2606, 256.21, 1781.15, 702.56, 13.50, 0.00, 0.00);
  46112. CreateDynamicObject(2165, 255.78, 1780.60, 700.09, 0.00, 0.00, 0.00);
  46113. CreateDynamicObject(1806, 256.45, 1779.59, 700.09, 0.00, 0.00, 0.00);
  46114. CreateDynamicObject(2078, 255.16, 1777.82, 700.11, 0.00, 0.00, 90.00);
  46115. CreateDynamicObject(2462, 257.00, 1776.04, 700.26, 0.00, 0.00, 180.00);
  46116. CreateDynamicObject(19418, 257.25, 1776.20, 701.06, 90.00, 90.00, 90.00);
  46117. CreateDynamicObject(19418, 256.93, 1776.10, 701.06, 90.00, 90.00, 324233.00);
  46118. CreateDynamicObject(19418, 257.04, 1776.30, 701.06, 90.00, 90.00, 342.00);
  46119. CreateDynamicObject(334, 257.00, 1776.08, 701.41, 90.00, 0.00, 90.00);
  46120. CreateDynamicObject(2037, 257.28, 1776.14, 701.81, 0.00, 0.00, 180.00);
  46121. CreateDynamicObject(348, 256.86, 1776.16, 701.77, 90.00, 0.00, 45.00);
  46122. CreateDynamicObject(19376, 268.68, 1783.12, 700.00, 0.00, 90.00, 0.00);
  46123. CreateDynamicObject(19376, 268.71, 1773.53, 700.00, 0.00, 90.00, 0.00);
  46124. CreateDynamicObject(19450, 262.09, 1787.45, 701.65, 0.00, 0.00, 90.00);
  46125. CreateDynamicObject(19450, 269.72, 1784.41, 701.65, 0.00, 0.00, 45.00);
  46126. CreateDynamicObject(19450, 269.61, 1780.36, 701.65, 0.00, 0.00, 0.00);
  46127. CreateDynamicObject(19450, 272.15, 1782.08, 701.65, 0.00, 0.00, 90.00);
  46128. CreateDynamicObject(19358, 262.57, 1782.08, 701.65, 0.00, 0.00, 90.00);
  46129. CreateDynamicObject(19450, 262.68, 1786.88, 701.65, 0.00, 0.00, 0.00);
  46130. CreateDynamicObject(1702, 261.93, 1772.37, 700.08, 0.00, 0.00, 225.00);
  46131. CreateDynamicObject(2315, 259.75, 1772.14, 700.09, 0.00, 0.00, 45.00);
  46132. CreateDynamicObject(2315, 266.10, 1777.95, 700.09, 0.00, 0.00, 45.00);
  46133. CreateDynamicObject(1702, 268.89, 1779.58, 700.08, 0.00, 0.00, 270.00);
  46134. CreateDynamicObject(1702, 267.63, 1776.33, 700.08, 0.00, 0.00, 180.00);
  46135. CreateDynamicObject(2251, 260.10, 1772.71, 701.41, 0.00, 0.00, 0.00);
  46136. CreateDynamicObject(2251, 266.94, 1779.01, 701.41, 0.00, 0.00, 0.00);
  46137. CreateDynamicObject(1667, 260.76, 1772.73, 700.69, 0.00, 0.00, 0.00);
  46138. CreateDynamicObject(1667, 266.26, 1777.77, 700.69, 0.00, 0.00, 0.00);
  46139. CreateDynamicObject(1667, 266.34, 1777.86, 700.69, 0.00, 0.00, 0.00);
  46140. CreateDynamicObject(1667, 266.20, 1777.88, 700.69, 0.00, 0.00, 0.00);
  46141. CreateDynamicObject(1502, 258.59, 1782.06, 699.95, 0.00, 0.00, 0.00);
  46142. CreateDynamicObject(1502, 264.98, 1782.06, 699.95, 0.00, 0.00, 0.00);
  46143. CreateDynamicObject(2207, 265.49, 1785.14, 700.09, 0.00, 0.00, -45.00);
  46144. CreateDynamicObject(1714, 267.29, 1785.67, 700.10, 0.00, 0.00, -45.00);
  46145. CreateDynamicObject(330, 266.98, 1784.24, 700.86, 90.00, 0.00, 90.00);
  46146. CreateDynamicObject(2894, 265.87, 1785.33, 700.86, 0.00, 0.00, 0.00);
  46147. CreateDynamicObject(2608, 263.00, 1785.07, 701.21, 0.00, 0.00, 90.00);
  46148. CreateDynamicObject(1962, 267.85, 1786.13, 701.86, 0.00, 0.00, -45.00);
  46149. CreateDynamicObject(2185, 258.67, 1785.35, 700.09, 0.00, 0.00, 0.00);
  46150. CreateDynamicObject(1714, 260.03, 1786.60, 700.10, 0.00, 0.00, -45.00);
  46151. CreateDynamicObject(1704, 260.02, 1783.92, 700.09, 0.00, 0.00, 180.00);
  46152. CreateDynamicObject(2078, 262.38, 1784.88, 700.11, 0.00, 0.00, -90.00);
  46153. CreateDynamicObject(2007, 257.95, 1786.74, 700.01, 0.00, 0.00, 90.00);
  46154. CreateDynamicObject(1569, 257.81, 1776.73, 700.02, 0.00, 0.00, 45.00);
  46155. CreateDynamicObject(2886, 257.82, 1778.48, 701.44, 0.00, 0.00, 90.00);
  46156. CreateDynamicObject(2886, 257.82, 1778.51, 701.44, 0.00, 0.00, -90.00);
  46157. CreateDynamicObject(2886, 257.71, 1778.48, 701.44, 0.00, 0.00, -90.00);
  46158. CreateDynamicObject(19378, 247.74, 1783.13, 703.43, 0.00, 90.00, 0.00);
  46159. CreateDynamicObject(19378, 247.74, 1773.55, 703.43, 0.00, 90.00, 0.00);
  46160. CreateDynamicObject(19378, 258.23, 1773.55, 703.43, 0.00, 90.00, 0.00);
  46161. CreateDynamicObject(19378, 268.68, 1783.12, 703.43, 0.00, 90.00, 0.00);
  46162. CreateDynamicObject(19378, 268.71, 1773.53, 703.43, 0.00, 90.00, 0.00);
  46163. CreateDynamicObject(19378, 258.24, 1783.14, 703.43, 0.00, 90.00, 0.00);
  46164. new smbank;
  46165. smbank = CreateDynamicObjectEx(19377,1097.182,1529.330,4451.389,0.000,90.000,0.000,300.000,300.000);
  46166. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0x00000000);
  46167. smbank = CreateDynamicObjectEx(2205,1102.148,1530.403,4451.292,-0.000,-0.000,-270.002,300.000,300.000);
  46168. SetDynamicObjectMaterial(smbank, 0, 19004, "roundbuilding1", "stonewalltile4", 0xFFFFFFFF);
  46169. smbank = CreateDynamicObjectEx(2205,1107.739,1530.403,4451.292,-0.000,-0.000,-270.002,300.000,300.000);
  46170. SetDynamicObjectMaterial(smbank, 0, 19004, "roundbuilding1", "stonewalltile4", 0xFFFFFFFF);
  46171. smbank = CreateDynamicObjectEx(19377,1107.678,1529.345,4451.389,0.000,90.000,0.000,300.000,300.000);
  46172. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0x00000000);
  46173. smbank = CreateDynamicObjectEx(19377,1103.179,1519.727,4451.389,0.000,90.000,0.000,300.000,300.000);
  46174. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0x00000000);
  46175. smbank = CreateDynamicObjectEx(19375,1092.204,1534.813,4451.389,0.000,180.000,0.000,300.000,300.000);
  46176. SetDynamicObjectMaterial(smbank, 0, 9582, "fort_sfw", "mallfloor2", 0xFFFFFFFF);
  46177. smbank = CreateDynamicObjectEx(2205,1106.759,1530.423,4451.292,-0.000,-0.000,-179.999,300.000,300.000);
  46178. SetDynamicObjectMaterial(smbank, 0, 19004, "roundbuilding1", "stonewalltile4", 0xFFFFFFFF);
  46179. smbank = CreateDynamicObjectEx(2205,1104.459,1530.423,4451.292,-0.000,-0.000,-179.999,300.000,300.000);
  46180. SetDynamicObjectMaterial(smbank, 0, 19004, "roundbuilding1", "stonewalltile4", 0xFFFFFFFF);
  46181. smbank = CreateDynamicObjectEx(18762,1107.745,1530.430,4449.696,0.000,0.000,0.000,300.000,300.000);
  46182. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0xFFFFFFFF);
  46183. smbank = CreateDynamicObjectEx(19834,1104.816,1515.057,4454.050,0.000,0.000,0.000,300.000,300.000);
  46184. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46185. smbank = CreateDynamicObjectEx(19834,1105.916,1515.057,4452.912,0.000,-90.000,0.000,300.000,300.000);
  46186. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46187. smbank = CreateDynamicObjectEx(19375,1096.819,1534.106,4451.389,0.000,180.000,-90.000,300.000,300.000);
  46188. SetDynamicObjectMaterial(smbank, 0, 9582, "fort_sfw", "mallfloor2", 0xFFFFFFFF);
  46189. smbank = CreateDynamicObjectEx(18762,1107.745,1531.410,4449.696,0.000,0.000,0.000,300.000,300.000);
  46190. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0xFFFFFFFF);
  46191. smbank = CreateDynamicObjectEx(18762,1106.745,1530.430,4449.696,0.000,0.000,0.000,300.000,300.000);
  46192. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0xFFFFFFFF);
  46193. smbank = CreateDynamicObjectEx(18762,1105.755,1530.430,4449.696,0.000,0.000,0.000,300.000,300.000);
  46194. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0xFFFFFFFF);
  46195. smbank = CreateDynamicObjectEx(18762,1104.766,1530.430,4449.696,0.000,0.000,0.000,300.000,300.000);
  46196. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0xFFFFFFFF);
  46197. smbank = CreateDynamicObjectEx(19375,1106.439,1534.106,4451.389,0.000,180.000,-90.000,300.000,300.000);
  46198. SetDynamicObjectMaterial(smbank, 0, 9582, "fort_sfw", "mallfloor2", 0xFFFFFFFF);
  46199. smbank = CreateDynamicObjectEx(19375,1111.268,1534.106,4451.389,0.000,180.000,-90.000,300.000,300.000);
  46200. SetDynamicObjectMaterial(smbank, 0, 9582, "fort_sfw", "mallfloor2", 0xFFFFFFFF);
  46201. smbank = CreateDynamicObjectEx(19834,1103.726,1515.057,4452.912,0.000,-90.000,0.000,300.000,300.000);
  46202. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46203. smbank = CreateDynamicObjectEx(19089,1104.804,1515.054,4454.010,0.000,0.000,0.000,300.000,300.000);
  46204. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46205. smbank = CreateDynamicObjectEx(18762,1102.585,1534.500,4453.872,0.000,0.000,0.000,300.000,300.000);
  46206. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46207. smbank = CreateDynamicObjectEx(18762,1107.085,1534.500,4453.872,0.000,0.000,0.000,300.000,300.000);
  46208. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46209. smbank = CreateDynamicObjectEx(19834,1101.373,1534.008,4455.453,0.000,0.000,0.000,300.000,300.000);
  46210. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46211. smbank = CreateDynamicObjectEx(19834,1101.373,1534.008,4455.802,0.000,0.000,0.000,300.000,300.000);
  46212. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46213. smbank = CreateDynamicObjectEx(19834,1099.043,1534.008,4455.802,0.000,0.000,0.000,300.000,300.000);
  46214. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46215. smbank = CreateDynamicObjectEx(19834,1099.043,1534.008,4455.453,0.000,0.000,0.000,300.000,300.000);
  46216. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46217. smbank = CreateDynamicObjectEx(19834,1096.723,1534.008,4455.453,0.000,0.000,0.000,300.000,300.000);
  46218. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46219. smbank = CreateDynamicObjectEx(19834,1096.723,1534.008,4455.802,0.000,0.000,0.000,300.000,300.000);
  46220. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46221. smbank = CreateDynamicObjectEx(19834,1094.393,1534.008,4455.802,0.000,0.000,0.000,300.000,300.000);
  46222. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46223. smbank = CreateDynamicObjectEx(19834,1094.393,1534.008,4455.453,0.000,0.000,0.000,300.000,300.000);
  46224. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46225. smbank = CreateDynamicObjectEx(19834,1092.143,1534.008,4455.802,0.000,0.000,0.000,300.000,300.000);
  46226. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46227. smbank = CreateDynamicObjectEx(19834,1092.104,1534.008,4455.453,0.000,0.000,0.000,300.000,300.000);
  46228. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46229. smbank = CreateDynamicObjectEx(19834,1117.884,1534.008,4455.453,0.000,0.000,0.000,300.000,300.000);
  46230. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46231. smbank = CreateDynamicObjectEx(19834,1117.884,1534.008,4455.802,0.000,0.000,0.000,300.000,300.000);
  46232. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46233. smbank = CreateDynamicObjectEx(19834,1115.554,1534.008,4455.802,0.000,0.000,0.000,300.000,300.000);
  46234. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46235. smbank = CreateDynamicObjectEx(19834,1115.554,1534.008,4455.453,0.000,0.000,0.000,300.000,300.000);
  46236. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46237. smbank = CreateDynamicObjectEx(19834,1113.234,1534.008,4455.453,0.000,0.000,0.000,300.000,300.000);
  46238. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46239. smbank = CreateDynamicObjectEx(19834,1113.234,1534.008,4455.802,0.000,0.000,0.000,300.000,300.000);
  46240. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46241. smbank = CreateDynamicObjectEx(19834,1110.904,1534.008,4455.802,0.000,0.000,0.000,300.000,300.000);
  46242. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46243. smbank = CreateDynamicObjectEx(19834,1110.904,1534.008,4455.453,0.000,0.000,0.000,300.000,300.000);
  46244. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46245. smbank = CreateDynamicObjectEx(19834,1108.654,1534.008,4455.802,0.000,0.000,0.000,300.000,300.000);
  46246. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46247. smbank = CreateDynamicObjectEx(19834,1108.614,1534.008,4455.453,0.000,0.000,0.000,300.000,300.000);
  46248. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46249. smbank = CreateDynamicObjectEx(19834,1103.923,1534.008,4452.383,0.000,0.000,0.000,300.000,300.000);
  46250. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46251. smbank = CreateDynamicObjectEx(19834,1105.594,1534.008,4452.383,0.000,0.000,0.000,300.000,300.000);
  46252. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46253. smbank = CreateDynamicObjectEx(19375,1092.197,1521.179,4451.389,0.000,180.000,0.000,300.000,300.000);
  46254. SetDynamicObjectMaterial(smbank, 0, 9582, "fort_sfw", "mallfloor2", 0xFFFFFFFF);
  46255. smbank = CreateDynamicObjectEx(19375,1096.819,1524.526,4451.389,0.000,180.000,-90.000,300.000,300.000);
  46256. SetDynamicObjectMaterial(smbank, 0, 9582, "fort_sfw", "mallfloor2", 0xFFFFFFFF);
  46257. smbank = CreateDynamicObjectEx(19375,1101.557,1519.779,4451.389,0.000,180.000,0.000,300.000,300.000);
  46258. SetDynamicObjectMaterial(smbank, 0, 9582, "fort_sfw", "mallfloor2", 0xFFFFFFFF);
  46259. smbank = CreateDynamicObjectEx(19357,1104.828,1518.519,4451.395,0.000,-90.000,0.000,300.000,300.000);
  46260. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0x00000000);
  46261. smbank = CreateDynamicObjectEx(19357,1104.828,1521.718,4451.395,0.000,-90.000,0.000,300.000,300.000);
  46262. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0x00000000);
  46263. smbank = CreateDynamicObjectEx(19357,1104.828,1524.908,4451.395,0.000,-90.000,0.000,300.000,300.000);
  46264. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0x00000000);
  46265. smbank = CreateDynamicObjectEx(19357,1104.828,1528.058,4451.395,0.000,-90.000,0.000,300.000,300.000);
  46266. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0x00000000);
  46267. smbank = CreateDynamicObjectEx(19357,1101.338,1528.058,4451.395,0.000,-90.000,0.000,300.000,300.000);
  46268. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0x00000000);
  46269. smbank = CreateDynamicObjectEx(19357,1097.848,1528.058,4451.395,0.000,-90.000,0.000,300.000,300.000);
  46270. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0x00000000);
  46271. smbank = CreateDynamicObjectEx(19357,1094.397,1528.058,4451.395,0.000,-90.000,0.000,300.000,300.000);
  46272. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0x00000000);
  46273. smbank = CreateDynamicObjectEx(19375,1107.828,1519.779,4451.389,0.000,180.000,0.000,300.000,300.000);
  46274. SetDynamicObjectMaterial(smbank, 0, 9582, "fort_sfw", "mallfloor2", 0xFFFFFFFF);
  46275. smbank = CreateDynamicObjectEx(19377,1103.179,1512.028,4451.547,0.000,90.000,0.000,300.000,300.000);
  46276. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0x00000000);
  46277. smbank = CreateDynamicObjectEx(19357,1104.828,1515.308,4451.552,0.000,-90.000,0.000,300.000,300.000);
  46278. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0x00000000);
  46279. smbank = CreateDynamicObjectEx(19377,1103.179,1511.647,4451.715,0.000,90.000,0.000,300.000,300.000);
  46280. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0x00000000);
  46281. smbank = CreateDynamicObjectEx(19357,1104.828,1514.888,4451.721,0.000,-90.000,0.000,300.000,300.000);
  46282. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0x00000000);
  46283. smbank = CreateDynamicObjectEx(19375,1104.838,1514.959,4451.389,0.000,180.000,-90.000,300.000,300.000);
  46284. SetDynamicObjectMaterial(smbank, 0, 9582, "fort_sfw", "mallfloor2", 0xFFFFFFFF);
  46285. smbank = CreateDynamicObjectEx(19834,1105.594,1534.008,4452.070,0.000,0.000,0.000,300.000,300.000);
  46286. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46287. smbank = CreateDynamicObjectEx(19834,1104.244,1534.008,4452.070,0.000,0.000,0.000,300.000,300.000);
  46288. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46289. smbank = CreateDynamicObjectEx(18762,1103.545,1536.511,4455.881,-90.000,0.000,0.000,300.000,300.000);
  46290. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46291. smbank = CreateDynamicObjectEx(18762,1104.515,1536.511,4455.881,-90.000,0.000,0.000,300.000,300.000);
  46292. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46293. smbank = CreateDynamicObjectEx(18762,1105.485,1536.511,4455.881,-90.000,0.000,0.000,300.000,300.000);
  46294. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46295. smbank = CreateDynamicObjectEx(18762,1106.466,1536.511,4455.881,-90.000,0.000,0.000,300.000,300.000);
  46296. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46297. smbank = CreateDynamicObjectEx(19357,1108.297,1528.058,4451.395,0.000,-90.000,0.000,300.000,300.000);
  46298. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0x00000000);
  46299. smbank = CreateDynamicObjectEx(19357,1111.798,1528.058,4451.395,0.000,-90.000,0.000,300.000,300.000);
  46300. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0x00000000);
  46301. smbank = CreateDynamicObjectEx(19377,1118.168,1529.345,4451.389,0.000,90.000,0.000,300.000,300.000);
  46302. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0x00000000);
  46303. smbank = CreateDynamicObjectEx(19359,1104.881,1534.087,4454.661,0.000,0.000,-90.000,300.000,300.000);
  46304. SetDynamicObjectMaterialText(smbank, 0, "BANK", 140, "Times New Roman", 160, 1, 0xFF303030, 0x00000000, 1);
  46305. smbank = CreateDynamicObjectEx(19359,1104.881,1534.087,4453.852,0.000,0.000,-90.000,300.000,300.000);
  46306. SetDynamicObjectMaterialText(smbank, 0, "G", 140, "Webdings", 120, 0, 0xFF303030, 0x00000000, 1);
  46307. smbank = CreateDynamicObjectEx(19359,1104.881,1534.087,4453.093,0.000,0.000,-90.000,300.000,300.000);
  46308. SetDynamicObjectMaterialText(smbank, 0, "Los Santos", 140, "Times New Roman", 100, 1, 0xFF303030, 0x00000000, 1);
  46309. smbank = CreateDynamicObjectEx(19375,1112.579,1524.526,4451.389,0.000,180.000,-90.000,300.000,300.000);
  46310. SetDynamicObjectMaterial(smbank, 0, 9582, "fort_sfw", "mallfloor2", 0xFFFFFFFF);
  46311. smbank = CreateDynamicObjectEx(19375,1122.218,1524.526,4451.389,0.000,180.000,-90.000,300.000,300.000);
  46312. SetDynamicObjectMaterial(smbank, 0, 9582, "fort_sfw", "mallfloor2", 0xFFFFFFFF);
  46313. smbank = CreateDynamicObjectEx(19834,1118.174,1524.638,4455.453,0.000,0.000,0.000,300.000,300.000);
  46314. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46315. smbank = CreateDynamicObjectEx(19834,1118.174,1524.638,4455.802,0.000,0.000,0.000,300.000,300.000);
  46316. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46317. smbank = CreateDynamicObjectEx(19834,1115.844,1524.638,4455.802,0.000,0.000,0.000,300.000,300.000);
  46318. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46319. smbank = CreateDynamicObjectEx(19834,1115.844,1524.638,4455.453,0.000,0.000,0.000,300.000,300.000);
  46320. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46321. smbank = CreateDynamicObjectEx(19834,1113.524,1524.638,4455.453,0.000,0.000,0.000,300.000,300.000);
  46322. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46323. smbank = CreateDynamicObjectEx(19834,1113.524,1524.638,4455.802,0.000,0.000,0.000,300.000,300.000);
  46324. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46325. smbank = CreateDynamicObjectEx(19834,1111.194,1524.638,4455.802,0.000,0.000,0.000,300.000,300.000);
  46326. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46327. smbank = CreateDynamicObjectEx(19834,1111.194,1524.638,4455.453,0.000,0.000,0.000,300.000,300.000);
  46328. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46329. smbank = CreateDynamicObjectEx(19834,1108.944,1524.638,4455.802,0.000,0.000,0.000,300.000,300.000);
  46330. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46331. smbank = CreateDynamicObjectEx(19834,1108.905,1524.638,4455.453,0.000,0.000,0.000,300.000,300.000);
  46332. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46333. smbank = CreateDynamicObjectEx(18762,1108.186,1524.140,4453.872,0.000,0.000,0.000,300.000,300.000);
  46334. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46335. smbank = CreateDynamicObjectEx(18762,1101.195,1524.140,4453.872,0.000,0.000,0.000,300.000,300.000);
  46336. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46337. smbank = CreateDynamicObjectEx(19834,1107.719,1523.413,4455.453,-0.000,0.000,90.000,300.000,300.000);
  46338. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46339. smbank = CreateDynamicObjectEx(19834,1107.719,1523.413,4455.802,-0.000,0.000,90.000,300.000,300.000);
  46340. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46341. smbank = CreateDynamicObjectEx(19834,1107.719,1521.082,4455.802,-0.000,0.000,90.000,300.000,300.000);
  46342. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46343. smbank = CreateDynamicObjectEx(19834,1107.719,1521.083,4455.453,-0.000,0.000,90.000,300.000,300.000);
  46344. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46345. smbank = CreateDynamicObjectEx(19834,1107.719,1518.761,4455.453,-0.000,0.000,90.000,300.000,300.000);
  46346. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46347. smbank = CreateDynamicObjectEx(19834,1107.719,1518.761,4455.802,-0.000,0.000,90.000,300.000,300.000);
  46348. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46349. smbank = CreateDynamicObjectEx(19834,1107.719,1516.433,4455.802,-0.000,0.000,90.000,300.000,300.000);
  46350. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46351. smbank = CreateDynamicObjectEx(19834,1107.719,1516.433,4455.453,-0.000,0.000,90.000,300.000,300.000);
  46352. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46353. smbank = CreateDynamicObjectEx(19834,1107.719,1514.182,4455.802,-0.000,0.000,90.000,300.000,300.000);
  46354. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46355. smbank = CreateDynamicObjectEx(19834,1107.719,1514.143,4455.453,-0.000,0.000,90.000,300.000,300.000);
  46356. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46357. smbank = CreateDynamicObjectEx(19834,1101.668,1523.413,4455.453,-0.000,0.000,90.000,300.000,300.000);
  46358. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46359. smbank = CreateDynamicObjectEx(19834,1101.668,1523.413,4455.802,-0.000,0.000,90.000,300.000,300.000);
  46360. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46361. smbank = CreateDynamicObjectEx(19834,1101.668,1521.082,4455.802,-0.000,0.000,90.000,300.000,300.000);
  46362. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46363. smbank = CreateDynamicObjectEx(19834,1101.668,1521.083,4455.453,-0.000,0.000,90.000,300.000,300.000);
  46364. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46365. smbank = CreateDynamicObjectEx(19834,1101.668,1518.761,4455.453,-0.000,0.000,90.000,300.000,300.000);
  46366. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46367. smbank = CreateDynamicObjectEx(19834,1101.668,1518.761,4455.802,-0.000,0.000,90.000,300.000,300.000);
  46368. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46369. smbank = CreateDynamicObjectEx(19834,1101.668,1516.433,4455.802,-0.000,0.000,90.000,300.000,300.000);
  46370. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46371. smbank = CreateDynamicObjectEx(19834,1101.668,1516.433,4455.453,-0.000,0.000,90.000,300.000,300.000);
  46372. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46373. smbank = CreateDynamicObjectEx(19834,1101.668,1514.182,4455.802,-0.000,0.000,90.000,300.000,300.000);
  46374. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46375. smbank = CreateDynamicObjectEx(19834,1101.668,1514.143,4455.453,-0.000,0.000,90.000,300.000,300.000);
  46376. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46377. smbank = CreateDynamicObjectEx(19834,1108.233,1515.087,4455.453,-0.000,0.000,0.000,300.000,300.000);
  46378. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46379. smbank = CreateDynamicObjectEx(19834,1108.233,1515.087,4455.802,-0.000,0.000,0.000,300.000,300.000);
  46380. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46381. smbank = CreateDynamicObjectEx(19834,1105.903,1515.087,4455.802,-0.000,0.000,0.000,300.000,300.000);
  46382. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46383. smbank = CreateDynamicObjectEx(19834,1105.903,1515.087,4455.453,-0.000,0.000,0.000,300.000,300.000);
  46384. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46385. smbank = CreateDynamicObjectEx(19834,1103.582,1515.087,4455.453,-0.000,0.000,0.000,300.000,300.000);
  46386. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46387. smbank = CreateDynamicObjectEx(19834,1103.582,1515.087,4455.802,-0.000,0.000,0.000,300.000,300.000);
  46388. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46389. smbank = CreateDynamicObjectEx(19834,1101.254,1515.088,4455.802,-0.000,0.000,0.000,300.000,300.000);
  46390. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46391. smbank = CreateDynamicObjectEx(19834,1101.254,1515.087,4455.453,-0.000,0.000,0.000,300.000,300.000);
  46392. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46393. smbank = CreateDynamicObjectEx(19834,1099.003,1515.087,4455.802,-0.000,0.000,0.000,300.000,300.000);
  46394. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46395. smbank = CreateDynamicObjectEx(19834,1098.963,1515.087,4455.453,-0.000,0.000,0.000,300.000,300.000);
  46396. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46397. smbank = CreateDynamicObjectEx(19834,1100.213,1524.638,4455.453,0.000,0.000,0.000,300.000,300.000);
  46398. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46399. smbank = CreateDynamicObjectEx(19834,1100.213,1524.638,4455.802,0.000,0.000,0.000,300.000,300.000);
  46400. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46401. smbank = CreateDynamicObjectEx(19834,1097.883,1524.638,4455.802,0.000,0.000,0.000,300.000,300.000);
  46402. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46403. smbank = CreateDynamicObjectEx(19834,1097.883,1524.638,4455.453,0.000,0.000,0.000,300.000,300.000);
  46404. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46405. smbank = CreateDynamicObjectEx(19834,1095.563,1524.638,4455.453,0.000,0.000,0.000,300.000,300.000);
  46406. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46407. smbank = CreateDynamicObjectEx(19834,1095.563,1524.638,4455.802,0.000,0.000,0.000,300.000,300.000);
  46408. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46409. smbank = CreateDynamicObjectEx(19834,1093.233,1524.638,4455.802,0.000,0.000,0.000,300.000,300.000);
  46410. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46411. smbank = CreateDynamicObjectEx(19834,1093.234,1524.638,4455.453,0.000,0.000,0.000,300.000,300.000);
  46412. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46413. smbank = CreateDynamicObjectEx(19834,1090.983,1524.638,4455.802,0.000,0.000,0.000,300.000,300.000);
  46414. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46415. smbank = CreateDynamicObjectEx(19834,1090.944,1524.638,4455.453,0.000,0.000,0.000,300.000,300.000);
  46416. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46417. smbank = CreateDynamicObjectEx(19379,1104.180,1519.791,4456.341,0.000,-90.000,0.000,300.000,300.000);
  46418. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0x00000000);
  46419. smbank = CreateDynamicObjectEx(19379,1104.180,1529.411,4456.341,0.000,-90.000,0.000,300.000,300.000);
  46420. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0x00000000);
  46421. smbank = CreateDynamicObjectEx(19379,1093.730,1529.411,4456.341,0.000,-90.000,0.000,300.000,300.000);
  46422. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0x00000000);
  46423. smbank = CreateDynamicObjectEx(19375,1092.207,1528.389,4459.715,0.000,180.000,0.000,300.000,300.000);
  46424. SetDynamicObjectMaterial(smbank, 0, 9582, "fort_sfw", "mallfloor2", 0xFFFFFFFF);
  46425. smbank = CreateDynamicObjectEx(18762,1103.775,1530.430,4449.696,0.000,0.000,0.000,300.000,300.000);
  46426. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0xFFFFFFFF);
  46427. smbank = CreateDynamicObjectEx(19834,1092.288,1527.094,4451.542,0.000,0.000,90.000,300.000,300.000);
  46428. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46429. smbank = CreateDynamicObjectEx(19834,1092.288,1529.375,4451.542,0.000,0.000,90.000,300.000,300.000);
  46430. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46431. smbank = CreateDynamicObjectEx(19834,1092.288,1529.375,4454.418,0.000,0.000,90.000,300.000,300.000);
  46432. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46433. smbank = CreateDynamicObjectEx(19834,1092.288,1527.125,4454.418,0.000,0.000,90.000,300.000,300.000);
  46434. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46435. smbank = CreateDynamicObjectEx(19834,1092.288,1525.975,4453.579,0.000,-90.000,90.000,300.000,300.000);
  46436. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46437. smbank = CreateDynamicObjectEx(19834,1092.288,1525.975,4452.460,0.000,-90.000,90.000,300.000,300.000);
  46438. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46439. smbank = CreateDynamicObjectEx(19834,1092.288,1529.925,4452.460,0.000,-90.000,90.000,300.000,300.000);
  46440. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46441. smbank = CreateDynamicObjectEx(19834,1092.288,1529.925,4453.860,0.000,-90.000,90.000,300.000,300.000);
  46442. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46443. smbank = CreateDynamicObjectEx(19834,1092.288,1526.735,4453.300,0.000,-90.000,90.000,300.000,300.000);
  46444. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46445. smbank = CreateDynamicObjectEx(19834,1092.288,1526.735,4452.400,0.000,-90.000,90.000,300.000,300.000);
  46446. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46447. smbank = CreateDynamicObjectEx(19834,1092.288,1529.265,4452.400,0.000,-90.000,90.000,300.000,300.000);
  46448. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46449. smbank = CreateDynamicObjectEx(19834,1092.288,1529.265,4453.589,0.000,-90.000,90.000,300.000,300.000);
  46450. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46451. smbank = CreateDynamicObjectEx(19834,1092.288,1527.926,4453.970,0.000,0.000,90.000,300.000,300.000);
  46452. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46453. smbank = CreateDynamicObjectEx(19834,1092.288,1528.106,4453.970,0.000,0.000,90.000,300.000,300.000);
  46454. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46455. smbank = CreateDynamicObjectEx(19379,1114.640,1529.411,4456.341,0.000,-90.000,0.000,300.000,300.000);
  46456. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0x00000000);
  46457. smbank = CreateDynamicObjectEx(18762,1102.796,1530.430,4449.696,0.000,0.000,0.000,300.000,300.000);
  46458. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0xFFFFFFFF);
  46459. smbank = CreateDynamicObjectEx(18762,1102.115,1530.430,4449.696,0.000,0.000,0.000,300.000,300.000);
  46460. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0xFFFFFFFF);
  46461. smbank = CreateDynamicObjectEx(18762,1102.115,1531.420,4449.696,0.000,0.000,0.000,300.000,300.000);
  46462. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0xFFFFFFFF);
  46463. smbank = CreateDynamicObjectEx(2205,1101.168,1531.774,4451.292,-0.000,-0.000,-179.999,300.000,300.000);
  46464. SetDynamicObjectMaterial(smbank, 0, 19004, "roundbuilding1", "stonewalltile4", 0xFFFFFFFF);
  46465. smbank = CreateDynamicObjectEx(2205,1099.439,1531.774,4451.286,-0.000,-0.000,-179.999,300.000,300.000);
  46466. SetDynamicObjectMaterial(smbank, 0, 19004, "roundbuilding1", "stonewalltile4", 0xFFFFFFFF);
  46467. smbank = CreateDynamicObjectEx(18762,1101.135,1531.781,4449.696,0.000,0.000,0.000,300.000,300.000);
  46468. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0xFFFFFFFF);
  46469. smbank = CreateDynamicObjectEx(18762,1100.145,1531.781,4449.696,0.000,0.000,0.000,300.000,300.000);
  46470. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0xFFFFFFFF);
  46471. smbank = CreateDynamicObjectEx(18762,1099.145,1531.781,4449.696,0.000,0.000,0.000,300.000,300.000);
  46472. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0xFFFFFFFF);
  46473. smbank = CreateDynamicObjectEx(18762,1098.155,1531.781,4449.696,0.000,0.000,0.000,300.000,300.000);
  46474. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0xFFFFFFFF);
  46475. smbank = CreateDynamicObjectEx(18762,1098.086,1531.781,4449.696,0.000,0.000,0.000,300.000,300.000);
  46476. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0xFFFFFFFF);
  46477. smbank = CreateDynamicObjectEx(2205,1098.098,1532.643,4451.292,-0.000,-0.000,-270.002,300.000,300.000);
  46478. SetDynamicObjectMaterial(smbank, 0, 19004, "roundbuilding1", "stonewalltile4", 0xFFFFFFFF);
  46479. smbank = CreateDynamicObjectEx(18762,1098.086,1533.661,4449.696,0.000,0.000,0.000,300.000,300.000);
  46480. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0xFFFFFFFF);
  46481. smbank = CreateDynamicObjectEx(18762,1098.086,1532.721,4449.696,0.000,0.000,0.000,300.000,300.000);
  46482. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0xFFFFFFFF);
  46483. smbank = CreateDynamicObjectEx(2205,1111.448,1531.774,4451.292,-0.000,-0.000,-179.999,300.000,300.000);
  46484. SetDynamicObjectMaterial(smbank, 0, 19004, "roundbuilding1", "stonewalltile4", 0xFFFFFFFF);
  46485. smbank = CreateDynamicObjectEx(2205,1109.719,1531.774,4451.286,-0.000,-0.000,-179.999,300.000,300.000);
  46486. SetDynamicObjectMaterial(smbank, 0, 19004, "roundbuilding1", "stonewalltile4", 0xFFFFFFFF);
  46487. smbank = CreateDynamicObjectEx(18762,1111.415,1531.781,4449.696,0.000,0.000,0.000,300.000,300.000);
  46488. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0xFFFFFFFF);
  46489. smbank = CreateDynamicObjectEx(18762,1110.425,1531.781,4449.696,0.000,0.000,0.000,300.000,300.000);
  46490. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0xFFFFFFFF);
  46491. smbank = CreateDynamicObjectEx(18762,1109.426,1531.781,4449.696,0.000,0.000,0.000,300.000,300.000);
  46492. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0xFFFFFFFF);
  46493. smbank = CreateDynamicObjectEx(18762,1108.435,1531.781,4449.696,0.000,0.000,0.000,300.000,300.000);
  46494. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0xFFFFFFFF);
  46495. smbank = CreateDynamicObjectEx(18762,1111.456,1531.781,4449.696,0.000,0.000,0.000,300.000,300.000);
  46496. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0xFFFFFFFF);
  46497. smbank = CreateDynamicObjectEx(2205,1111.469,1532.643,4451.292,0.000,-0.000,89.997,300.000,300.000);
  46498. SetDynamicObjectMaterial(smbank, 0, 19004, "roundbuilding1", "stonewalltile4", 0xFFFFFFFF);
  46499. smbank = CreateDynamicObjectEx(18762,1111.456,1533.661,4449.696,0.000,0.000,0.000,300.000,300.000);
  46500. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0xFFFFFFFF);
  46501. smbank = CreateDynamicObjectEx(18762,1111.456,1532.721,4449.696,0.000,0.000,0.000,300.000,300.000);
  46502. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0xFFFFFFFF);
  46503. smbank = CreateDynamicObjectEx(18762,1102.116,1531.781,4449.696,0.000,0.000,0.000,300.000,300.000);
  46504. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0xFFFFFFFF);
  46505. smbank = CreateDynamicObjectEx(18762,1107.746,1531.781,4449.696,0.000,0.000,0.000,300.000,300.000);
  46506. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0xFFFFFFFF);
  46507. smbank = CreateDynamicObjectEx(19089,1101.792,1530.001,4452.791,0.000,0.000,0.000,300.000,300.000);
  46508. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFFFFFFFF);
  46509. smbank = CreateDynamicObjectEx(19089,1104.023,1530.001,4452.791,0.000,0.000,0.000,300.000,300.000);
  46510. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFFFFFFFF);
  46511. smbank = CreateDynamicObjectEx(19089,1105.823,1530.001,4452.791,0.000,0.000,0.000,300.000,300.000);
  46512. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFFFFFFFF);
  46513. smbank = CreateDynamicObjectEx(19089,1108.054,1530.001,4452.791,0.000,0.000,0.000,300.000,300.000);
  46514. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFFFFFFFF);
  46515. smbank = CreateDynamicObjectEx(19327,1102.028,1530.003,4452.648,0.000,0.000,0.000,300.000,300.000);
  46516. SetDynamicObjectMaterialText(smbank, 0, "1.", 140, "Comic Sans MS", 100, 1, 0xFFFFFFFF, 0x00000000, 1);
  46517. smbank = CreateDynamicObjectEx(19327,1106.058,1530.003,4452.648,0.000,0.000,0.000,300.000,300.000);
  46518. SetDynamicObjectMaterialText(smbank, 0, "2.", 140, "Comic Sans MS", 100, 1, 0xFFFFFFFF, 0x00000000, 1);
  46519. smbank = CreateDynamicObjectEx(2263,1103.195,1530.865,4452.324,-0.000,-0.000,-179.999,300.000,300.000);
  46520. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF404040);
  46521. SetDynamicObjectMaterial(smbank, 1, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46522. smbank = CreateDynamicObjectEx(2263,1103.155,1529.884,4452.324,0.000,0.000,0.000,300.000,300.000);
  46523. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46524. SetDynamicObjectMaterial(smbank, 1, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46525. smbank = CreateDynamicObjectEx(19348,1103.183,1530.359,4451.793,0.000,0.000,0.000,300.000,300.000);
  46526. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46527. smbank = CreateDynamicObjectEx(2040,1103.185,1530.376,4452.121,0.000,0.000,-90.000,300.000,300.000);
  46528. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46529. smbank = CreateDynamicObjectEx(19808,1103.212,1530.641,4452.236,0.000,0.000,-180.000,300.000,300.000);
  46530. SetDynamicObjectMaterial(smbank, 0, -1, "none", "none", 0xFFFFFFFF);
  46531. smbank = CreateDynamicObjectEx(19806,1104.777,1527.104,4455.499,0.000,0.000,0.000,300.000,300.000);
  46532. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFFFFFFFF);
  46533. smbank = CreateDynamicObjectEx(19089,1104.763,1527.091,4462.816,0.000,0.000,0.000,300.000,300.000);
  46534. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFFFFFFFF);
  46535. smbank = CreateDynamicObjectEx(2263,1106.805,1530.865,4452.324,-0.000,-0.000,-179.999,300.000,300.000);
  46536. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF404040);
  46537. SetDynamicObjectMaterial(smbank, 1, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46538. smbank = CreateDynamicObjectEx(2263,1106.765,1529.884,4452.324,0.000,0.000,0.000,300.000,300.000);
  46539. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46540. SetDynamicObjectMaterial(smbank, 1, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46541. smbank = CreateDynamicObjectEx(19348,1106.793,1530.359,4451.793,0.000,0.000,0.000,300.000,300.000);
  46542. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46543. smbank = CreateDynamicObjectEx(2040,1106.795,1530.376,4452.121,-0.000,0.000,-89.999,300.000,300.000);
  46544. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46545. smbank = CreateDynamicObjectEx(19808,1106.822,1530.641,4452.236,-0.000,-0.000,-179.999,300.000,300.000);
  46546. SetDynamicObjectMaterial(smbank, 0, -1, "none", "none", 0xFFFFFFFF);
  46547. smbank = CreateDynamicObjectEx(2263,1109.665,1532.185,4452.324,-0.000,-0.000,-179.999,300.000,300.000);
  46548. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF404040);
  46549. SetDynamicObjectMaterial(smbank, 1, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46550. smbank = CreateDynamicObjectEx(2263,1109.625,1531.204,4452.324,0.000,0.000,0.000,300.000,300.000);
  46551. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46552. SetDynamicObjectMaterial(smbank, 1, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46553. smbank = CreateDynamicObjectEx(19348,1109.653,1531.678,4451.793,0.000,0.000,0.000,300.000,300.000);
  46554. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46555. smbank = CreateDynamicObjectEx(2040,1109.655,1531.696,4452.121,-0.000,0.000,-89.999,300.000,300.000);
  46556. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46557. smbank = CreateDynamicObjectEx(19808,1109.682,1531.960,4452.236,-0.000,-0.000,-179.999,300.000,300.000);
  46558. SetDynamicObjectMaterial(smbank, 0, -1, "none", "none", 0xFFFFFFFF);
  46559. smbank = CreateDynamicObjectEx(2263,1099.215,1532.185,4452.324,-0.000,-0.000,-179.999,300.000,300.000);
  46560. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF404040);
  46561. SetDynamicObjectMaterial(smbank, 1, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46562. smbank = CreateDynamicObjectEx(2263,1099.175,1531.204,4452.324,0.000,0.000,0.000,300.000,300.000);
  46563. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46564. SetDynamicObjectMaterial(smbank, 1, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46565. smbank = CreateDynamicObjectEx(19348,1099.203,1531.678,4451.793,0.000,0.000,0.000,300.000,300.000);
  46566. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46567. smbank = CreateDynamicObjectEx(2040,1099.204,1531.696,4452.121,-0.000,0.000,-89.999,300.000,300.000);
  46568. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46569. smbank = CreateDynamicObjectEx(19808,1099.232,1531.960,4452.236,-0.000,-0.000,-179.999,300.000,300.000);
  46570. SetDynamicObjectMaterial(smbank, 0, -1, "none", "none", 0xFFFFFFFF);
  46571. smbank = CreateDynamicObjectEx(19357,1115.297,1528.058,4451.395,0.000,-90.000,0.000,300.000,300.000);
  46572. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0x00000000);
  46573. smbank = CreateDynamicObjectEx(19357,1115.297,1531.268,4451.395,0.000,-90.000,0.000,300.000,300.000);
  46574. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0x00000000);
  46575. smbank = CreateDynamicObjectEx(19357,1118.788,1531.268,4451.395,0.000,-90.000,0.000,300.000,300.000);
  46576. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0x00000000);
  46577. smbank = CreateDynamicObjectEx(19357,1118.788,1528.057,4451.395,0.000,-90.000,0.000,300.000,300.000);
  46578. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0x00000000);
  46579. smbank = CreateDynamicObjectEx(19375,1121.708,1529.245,4451.389,0.000,180.000,-180.000,300.000,300.000);
  46580. SetDynamicObjectMaterial(smbank, 0, 9582, "fort_sfw", "mallfloor2", 0xFFFFFFFF);
  46581. smbank = CreateDynamicObjectEx(19379,1125.090,1529.411,4456.341,0.000,-90.000,0.000,300.000,300.000);
  46582. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0x00000000);
  46583. smbank = CreateDynamicObjectEx(19375,1123.049,1534.106,4451.389,0.000,180.000,-90.000,300.000,300.000);
  46584. SetDynamicObjectMaterial(smbank, 0, 9582, "fort_sfw", "mallfloor2", 0xFFFFFFFF);
  46585. smbank = CreateDynamicObjectEx(19375,1118.189,1534.115,4458.915,0.000,180.000,-90.000,300.000,300.000);
  46586. SetDynamicObjectMaterial(smbank, 0, 9582, "fort_sfw", "mallfloor2", 0xFFFFFFFF);
  46587. smbank = CreateDynamicObjectEx(19834,1120.174,1534.008,4455.802,0.000,0.000,0.000,300.000,300.000);
  46588. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46589. smbank = CreateDynamicObjectEx(19834,1121.894,1534.008,4455.802,0.000,0.000,0.000,300.000,300.000);
  46590. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46591. smbank = CreateDynamicObjectEx(19834,1120.184,1534.008,4455.453,0.000,0.000,0.000,300.000,300.000);
  46592. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46593. smbank = CreateDynamicObjectEx(19834,1121.574,1534.008,4455.453,0.000,0.000,0.000,300.000,300.000);
  46594. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46595. smbank = CreateDynamicObjectEx(1714,1106.679,1531.660,4451.444,0.000,0.000,0.000,300.000,300.000);
  46596. SetDynamicObjectMaterial(smbank, 0, -1, "none", "none", 0xFFFFFFFF);
  46597. smbank = CreateDynamicObjectEx(1714,1103.199,1531.660,4451.444,0.000,0.000,0.000,300.000,300.000);
  46598. SetDynamicObjectMaterial(smbank, 0, -1, "none", "none", 0xFFFFFFFF);
  46599. smbank = CreateDynamicObjectEx(1714,1100.159,1532.980,4451.444,0.000,0.000,0.000,300.000,300.000);
  46600. SetDynamicObjectMaterial(smbank, 0, -1, "none", "none", 0xFFFFFFFF);
  46601. smbank = CreateDynamicObjectEx(1714,1109.679,1532.980,4451.444,0.000,0.000,0.000,300.000,300.000);
  46602. SetDynamicObjectMaterial(smbank, 0, -1, "none", "none", 0xFFFFFFFF);
  46603. smbank = CreateDynamicObjectEx(627,1108.197,1525.139,4453.236,0.000,0.000,0.000,300.000,300.000);
  46604. SetDynamicObjectMaterial(smbank, 1, 4604, "buildblk555", "gm_labuld5_b", 0xFFFFFFFF);
  46605. smbank = CreateDynamicObjectEx(627,1101.147,1525.139,4453.236,0.000,0.000,0.000,300.000,300.000);
  46606. SetDynamicObjectMaterial(smbank, 1, 4604, "buildblk555", "gm_labuld5_b", 0xFFFFFFFF);
  46607. smbank = CreateDynamicObjectEx(1722,1098.067,1524.669,4451.481,0.000,0.000,0.000,300.000,300.000);
  46608. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFFFFFFFF);
  46609. SetDynamicObjectMaterial(smbank, 1, 9514, "711_sfw", "ws_carpark2", 0xFF808080);
  46610. smbank = CreateDynamicObjectEx(1722,1097.456,1524.669,4451.481,0.000,0.000,0.000,300.000,300.000);
  46611. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFFFFFFFF);
  46612. SetDynamicObjectMaterial(smbank, 1, 9514, "711_sfw", "ws_carpark2", 0xFF808080);
  46613. smbank = CreateDynamicObjectEx(1722,1096.846,1524.669,4451.481,0.000,0.000,0.000,300.000,300.000);
  46614. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFFFFFFFF);
  46615. SetDynamicObjectMaterial(smbank, 1, 9514, "711_sfw", "ws_carpark2", 0xFF808080);
  46616. smbank = CreateDynamicObjectEx(1722,1096.235,1524.669,4451.481,0.000,0.000,0.000,300.000,300.000);
  46617. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFFFFFFFF);
  46618. SetDynamicObjectMaterial(smbank, 1, 9514, "711_sfw", "ws_carpark2", 0xFF808080);
  46619. smbank = CreateDynamicObjectEx(1722,1095.625,1524.669,4451.481,0.000,0.000,0.000,300.000,300.000);
  46620. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFFFFFFFF);
  46621. SetDynamicObjectMaterial(smbank, 1, 9514, "711_sfw", "ws_carpark2", 0xFF808080);
  46622. smbank = CreateDynamicObjectEx(1722,1095.015,1524.669,4451.481,0.000,0.000,0.000,300.000,300.000);
  46623. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFFFFFFFF);
  46624. SetDynamicObjectMaterial(smbank, 1, 9514, "711_sfw", "ws_carpark2", 0xFF808080);
  46625. smbank = CreateDynamicObjectEx(18762,1117.215,1529.300,4453.872,0.000,0.000,0.000,300.000,300.000);
  46626. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46627. smbank = CreateDynamicObjectEx(18762,1117.135,1529.370,4449.177,0.000,0.000,0.000,300.000,300.000);
  46628. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46629. smbank = CreateDynamicObjectEx(18762,1117.135,1529.220,4449.177,0.000,0.000,0.000,300.000,300.000);
  46630. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46631. smbank = CreateDynamicObjectEx(18762,1117.295,1529.220,4449.177,0.000,0.000,0.000,300.000,300.000);
  46632. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46633. smbank = CreateDynamicObjectEx(18762,1117.295,1529.370,4449.177,0.000,0.000,0.000,300.000,300.000);
  46634. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46635. smbank = CreateDynamicObjectEx(1722,1113.677,1524.669,4451.481,0.000,0.000,0.000,300.000,300.000);
  46636. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFFFFFFFF);
  46637. SetDynamicObjectMaterial(smbank, 1, 9514, "711_sfw", "ws_carpark2", 0xFF808080);
  46638. smbank = CreateDynamicObjectEx(1722,1113.067,1524.669,4451.481,0.000,0.000,0.000,300.000,300.000);
  46639. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFFFFFFFF);
  46640. SetDynamicObjectMaterial(smbank, 1, 9514, "711_sfw", "ws_carpark2", 0xFF808080);
  46641. smbank = CreateDynamicObjectEx(1722,1112.456,1524.669,4451.481,0.000,0.000,0.000,300.000,300.000);
  46642. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFFFFFFFF);
  46643. SetDynamicObjectMaterial(smbank, 1, 9514, "711_sfw", "ws_carpark2", 0xFF808080);
  46644. smbank = CreateDynamicObjectEx(1722,1111.845,1524.669,4451.481,0.000,0.000,0.000,300.000,300.000);
  46645. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFFFFFFFF);
  46646. SetDynamicObjectMaterial(smbank, 1, 9514, "711_sfw", "ws_carpark2", 0xFF808080);
  46647. smbank = CreateDynamicObjectEx(1722,1111.235,1524.669,4451.481,0.000,0.000,0.000,300.000,300.000);
  46648. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFFFFFFFF);
  46649. SetDynamicObjectMaterial(smbank, 1, 9514, "711_sfw", "ws_carpark2", 0xFF808080);
  46650. smbank = CreateDynamicObjectEx(1722,1110.625,1524.669,4451.481,0.000,0.000,0.000,300.000,300.000);
  46651. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFFFFFFFF);
  46652. SetDynamicObjectMaterial(smbank, 1, 9514, "711_sfw", "ws_carpark2", 0xFF808080);
  46653. smbank = CreateDynamicObjectEx(18762,1117.135,1529.370,4458.500,0.000,0.000,0.000,300.000,300.000);
  46654. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46655. smbank = CreateDynamicObjectEx(18762,1117.135,1529.220,4458.500,0.000,0.000,0.000,300.000,300.000);
  46656. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46657. smbank = CreateDynamicObjectEx(18762,1117.295,1529.220,4458.500,0.000,0.000,0.000,300.000,300.000);
  46658. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46659. smbank = CreateDynamicObjectEx(18762,1117.295,1529.370,4458.500,0.000,0.000,0.000,300.000,300.000);
  46660. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46661. smbank = CreateDynamicObjectEx(19834,1121.540,1533.823,4455.453,-0.000,0.000,90.000,300.000,300.000);
  46662. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46663. smbank = CreateDynamicObjectEx(19834,1121.540,1533.823,4455.802,-0.000,0.000,90.000,300.000,300.000);
  46664. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46665. smbank = CreateDynamicObjectEx(19834,1121.540,1531.493,4455.802,-0.000,0.000,90.000,300.000,300.000);
  46666. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46667. smbank = CreateDynamicObjectEx(19834,1121.540,1531.493,4455.453,-0.000,0.000,90.000,300.000,300.000);
  46668. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46669. smbank = CreateDynamicObjectEx(19834,1121.540,1529.172,4455.453,-0.000,0.000,90.000,300.000,300.000);
  46670. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46671. smbank = CreateDynamicObjectEx(19834,1121.540,1529.172,4455.802,-0.000,0.000,90.000,300.000,300.000);
  46672. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46673. smbank = CreateDynamicObjectEx(19834,1121.540,1526.843,4455.802,-0.000,0.000,90.000,300.000,300.000);
  46674. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46675. smbank = CreateDynamicObjectEx(19834,1121.540,1526.844,4455.453,-0.000,0.000,90.000,300.000,300.000);
  46676. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46677. smbank = CreateDynamicObjectEx(19834,1121.540,1524.913,4455.802,-0.000,0.000,90.000,300.000,300.000);
  46678. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46679. smbank = CreateDynamicObjectEx(19834,1121.540,1524.763,4455.453,-0.000,0.000,90.000,300.000,300.000);
  46680. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46681. smbank = CreateDynamicObjectEx(19834,1092.320,1533.823,4455.453,-0.000,0.000,90.000,300.000,300.000);
  46682. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46683. smbank = CreateDynamicObjectEx(19834,1092.320,1533.823,4455.802,-0.000,0.000,90.000,300.000,300.000);
  46684. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46685. smbank = CreateDynamicObjectEx(19834,1092.320,1531.493,4455.802,-0.000,0.000,90.000,300.000,300.000);
  46686. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46687. smbank = CreateDynamicObjectEx(19834,1092.320,1531.493,4455.453,-0.000,0.000,90.000,300.000,300.000);
  46688. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46689. smbank = CreateDynamicObjectEx(19834,1092.320,1529.172,4455.453,-0.000,0.000,90.000,300.000,300.000);
  46690. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46691. smbank = CreateDynamicObjectEx(19834,1092.320,1529.172,4455.802,-0.000,0.000,90.000,300.000,300.000);
  46692. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46693. smbank = CreateDynamicObjectEx(19834,1092.320,1526.843,4455.802,-0.000,0.000,90.000,300.000,300.000);
  46694. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46695. smbank = CreateDynamicObjectEx(19834,1092.320,1526.844,4455.453,-0.000,0.000,90.000,300.000,300.000);
  46696. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46697. smbank = CreateDynamicObjectEx(19834,1092.320,1524.913,4455.802,-0.000,0.000,90.000,300.000,300.000);
  46698. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46699. smbank = CreateDynamicObjectEx(19834,1092.320,1524.763,4455.453,-0.000,0.000,90.000,300.000,300.000);
  46700. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46701. smbank = CreateDynamicObjectEx(19087,1104.278,1529.932,4452.071,0.000,90.000,0.000,300.000,300.000);
  46702. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46703. smbank = CreateDynamicObjectEx(19087,1104.969,1529.932,4451.953,0.000,90.000,0.000,300.000,300.000);
  46704. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46705. smbank = CreateDynamicObjectEx(19087,1105.659,1529.932,4451.845,0.000,90.000,0.000,300.000,300.000);
  46706. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46707. smbank = CreateDynamicObjectEx(19087,1106.280,1529.932,4451.726,0.000,90.000,0.000,300.000,300.000);
  46708. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46709. smbank = CreateDynamicObjectEx(19087,1107.120,1529.932,4451.617,0.000,90.000,0.000,300.000,300.000);
  46710. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46711. smbank = CreateDynamicObjectEx(19087,1108.191,1529.932,4451.528,0.000,90.000,0.000,300.000,300.000);
  46712. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46713. smbank = CreateDynamicObjectEx(2773,1113.478,1531.225,4451.827,0.000,0.000,0.000,300.000,300.000);
  46714. SetDynamicObjectMaterial(smbank, 0, -1, "none", "none", 0xFFFFFFFF);
  46715. SetDynamicObjectMaterial(smbank, 1, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46716. smbank = CreateDynamicObjectEx(2773,1120.558,1531.225,4451.827,0.000,0.000,0.000,300.000,300.000);
  46717. SetDynamicObjectMaterial(smbank, 0, -1, "none", "none", 0xFFFFFFFF);
  46718. SetDynamicObjectMaterial(smbank, 1, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46719. smbank = CreateDynamicObjectEx(2773,1120.558,1527.825,4451.827,0.000,0.000,0.000,300.000,300.000);
  46720. SetDynamicObjectMaterial(smbank, 0, -1, "none", "none", 0xFFFFFFFF);
  46721. SetDynamicObjectMaterial(smbank, 1, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46722. smbank = CreateDynamicObjectEx(2773,1117.968,1526.415,4451.827,0.000,0.000,-90.000,300.000,300.000);
  46723. SetDynamicObjectMaterial(smbank, 0, -1, "none", "none", 0xFFFFFFFF);
  46724. SetDynamicObjectMaterial(smbank, 1, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46725. smbank = CreateDynamicObjectEx(2773,1114.927,1526.415,4451.827,0.000,0.000,-90.000,300.000,300.000);
  46726. SetDynamicObjectMaterial(smbank, 0, -1, "none", "none", 0xFFFFFFFF);
  46727. SetDynamicObjectMaterial(smbank, 1, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46728. smbank = CreateDynamicObjectEx(2773,1114.927,1532.965,4451.827,0.000,0.000,-90.000,300.000,300.000);
  46729. SetDynamicObjectMaterial(smbank, 0, -1, "none", "none", 0xFFFFFFFF);
  46730. SetDynamicObjectMaterial(smbank, 1, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46731. smbank = CreateDynamicObjectEx(2773,1119.188,1532.965,4451.827,0.000,0.000,-90.000,300.000,300.000);
  46732. SetDynamicObjectMaterial(smbank, 0, -1, "none", "none", 0xFFFFFFFF);
  46733. SetDynamicObjectMaterial(smbank, 1, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46734. smbank = CreateDynamicObjectEx(2161,1094.835,1534.018,4451.475,0.000,0.000,0.000,300.000,300.000);
  46735. SetDynamicObjectMaterial(smbank, 0, -1, "none", "none", 0xFFFFFFFF);
  46736. SetDynamicObjectMaterial(smbank, 1, 19597, "lsbeachside", "carpet19-128x128", 0x00000000);
  46737. SetDynamicObjectMaterial(smbank, 2, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46738. smbank = CreateDynamicObjectEx(2161,1096.125,1534.018,4451.475,0.000,0.000,0.000,300.000,300.000);
  46739. SetDynamicObjectMaterial(smbank, 0, -1, "none", "none", 0xFFFFFFFF);
  46740. SetDynamicObjectMaterial(smbank, 1, 19597, "lsbeachside", "carpet19-128x128", 0x00000000);
  46741. SetDynamicObjectMaterial(smbank, 2, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46742. smbank = CreateDynamicObjectEx(2608,1093.323,1533.891,4452.068,0.000,0.000,0.000,300.000,300.000);
  46743. SetDynamicObjectMaterial(smbank, 0, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46744. SetDynamicObjectMaterial(smbank, 1, 10765, "airportgnd_sfse", "white", 0x00000000);
  46745. SetDynamicObjectMaterial(smbank, 3, 10765, "airportgnd_sfse", "white", 0xFF808080);
  46746. SetDynamicObjectMaterial(smbank, 5, 10765, "airportgnd_sfse", "white", 0xFF303030);
  46747. smbank = CreateDynamicObjectEx(2811,1107.212,1515.433,4451.782,0.000,0.000,0.000,300.000,300.000);
  46748. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46749. SetDynamicObjectMaterial(smbank, 1, 19597, "lsbeachside", "carpet19-128x128", 0x00000000);
  46750. smbank = CreateDynamicObjectEx(2811,1102.052,1515.433,4451.782,0.000,0.000,0.000,300.000,300.000);
  46751. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46752. SetDynamicObjectMaterial(smbank, 1, 19597, "lsbeachside", "carpet19-128x128", 0x00000000);
  46753. smbank = CreateDynamicObjectEx(2811,1094.212,1524.892,4451.394,0.000,0.000,0.000,300.000,300.000);
  46754. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46755. SetDynamicObjectMaterial(smbank, 1, 19597, "lsbeachside", "carpet19-128x128", 0x00000000);
  46756. smbank = CreateDynamicObjectEx(19354,1116.024,1535.637,4452.109,0.000,0.000,0.000,300.000,300.000);
  46757. SetDynamicObjectMaterial(smbank, 0, 9582, "fort_sfw", "mallfloor2", 0x00000000);
  46758. smbank = CreateDynamicObjectEx(19354,1118.315,1535.637,4452.109,0.000,0.000,0.000,300.000,300.000);
  46759. SetDynamicObjectMaterial(smbank, 0, 9582, "fort_sfw", "mallfloor2", 0x00000000);
  46760. smbank = CreateDynamicObjectEx(19834,1120.364,1524.638,4455.802,0.000,0.000,0.000,300.000,300.000);
  46761. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46762. smbank = CreateDynamicObjectEx(19834,1120.364,1524.638,4455.453,0.000,0.000,0.000,300.000,300.000);
  46763. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46764. smbank = CreateDynamicObjectEx(2811,1114.572,1524.892,4451.394,0.000,0.000,0.000,300.000,300.000);
  46765. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46766. SetDynamicObjectMaterial(smbank, 1, 19597, "lsbeachside", "carpet19-128x128", 0x00000000);
  46767. smbank = CreateDynamicObjectEx(2811,1121.282,1524.892,4451.394,0.000,0.000,0.000,300.000,300.000);
  46768. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46769. SetDynamicObjectMaterial(smbank, 1, 19597, "lsbeachside", "carpet19-128x128", 0x00000000);
  46770. smbank = CreateDynamicObjectEx(19377,1118.168,1539.876,4450.725,0.000,90.000,0.000,300.000,300.000);
  46771. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0x00000000);
  46772. smbank = CreateDynamicObjectEx(19377,1118.168,1529.586,4451.220,0.000,90.000,0.000,300.000,300.000);
  46773. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0x00000000);
  46774. smbank = CreateDynamicObjectEx(19377,1118.168,1529.856,4451.051,0.000,90.000,0.000,300.000,300.000);
  46775. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0x00000000);
  46776. smbank = CreateDynamicObjectEx(19377,1118.168,1530.086,4450.883,0.000,90.000,0.000,300.000,300.000);
  46777. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0x00000000);
  46778. smbank = CreateDynamicObjectEx(19377,1118.168,1530.286,4450.725,0.000,90.000,0.000,300.000,300.000);
  46779. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0x00000000);
  46780. smbank = CreateDynamicObjectEx(19377,1118.168,1538.866,4453.753,0.000,90.000,0.000,300.000,300.000);
  46781. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0x00000000);
  46782. smbank = CreateDynamicObjectEx(19375,1118.809,1534.076,4446.209,0.000,180.000,-90.000,300.000,300.000);
  46783. SetDynamicObjectMaterial(smbank, 0, 9582, "fort_sfw", "mallfloor2", 0xFFFFFFFF);
  46784. smbank = CreateDynamicObjectEx(19375,1118.809,1534.316,4446.050,0.000,180.000,-90.000,300.000,300.000);
  46785. SetDynamicObjectMaterial(smbank, 0, 9582, "fort_sfw", "mallfloor2", 0xFFFFFFFF);
  46786. smbank = CreateDynamicObjectEx(19375,1118.809,1534.586,4445.881,0.000,180.000,-90.000,300.000,300.000);
  46787. SetDynamicObjectMaterial(smbank, 0, 9582, "fort_sfw", "mallfloor2", 0xFFFFFFFF);
  46788. smbank = CreateDynamicObjectEx(19375,1118.809,1534.816,4445.702,0.000,180.000,-90.000,300.000,300.000);
  46789. SetDynamicObjectMaterial(smbank, 0, 9582, "fort_sfw", "mallfloor2", 0xFFFFFFFF);
  46790. smbank = CreateDynamicObjectEx(19375,1123.049,1537.186,4451.389,0.000,180.000,-90.000,300.000,300.000);
  46791. SetDynamicObjectMaterial(smbank, 0, 9582, "fort_sfw", "mallfloor2", 0xFFFFFFFF);
  46792. smbank = CreateDynamicObjectEx(19375,1111.279,1537.186,4451.389,0.000,180.000,-90.000,300.000,300.000);
  46793. SetDynamicObjectMaterial(smbank, 0, 9582, "fort_sfw", "mallfloor2", 0xFFFFFFFF);
  46794. smbank = CreateDynamicObjectEx(19375,1122.409,1539.526,4451.389,0.000,180.000,-180.000,300.000,300.000);
  46795. SetDynamicObjectMaterial(smbank, 0, 9582, "fort_sfw", "mallfloor2", 0xFFFFFFFF);
  46796. smbank = CreateDynamicObjectEx(19375,1112.999,1540.386,4451.389,0.000,180.000,-180.000,300.000,300.000);
  46797. SetDynamicObjectMaterial(smbank, 0, 9582, "fort_sfw", "mallfloor2", 0xFFFFFFFF);
  46798. smbank = CreateDynamicObjectEx(19375,1117.669,1543.456,4451.389,0.000,180.000,-270.000,300.000,300.000);
  46799. SetDynamicObjectMaterial(smbank, 0, 9582, "fort_sfw", "mallfloor2", 0xFFFFFFFF);
  46800. smbank = CreateDynamicObjectEx(948,1108.586,1530.902,4451.194,0.000,0.000,0.000,300.000,300.000);
  46801. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46802. SetDynamicObjectMaterial(smbank, 1, 19595, "lsappartments1", "carpet4-256x256", 0x00000000);
  46803. SetDynamicObjectMaterial(smbank, 3, 19597, "lsbeachside", "carpet19-128x128", 0x00000000);
  46804. smbank = CreateDynamicObjectEx(948,1101.275,1530.902,4451.194,0.000,0.000,0.000,300.000,300.000);
  46805. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46806. SetDynamicObjectMaterial(smbank, 1, 19595, "lsappartments1", "carpet4-256x256", 0x00000000);
  46807. SetDynamicObjectMaterial(smbank, 3, 19597, "lsbeachside", "carpet19-128x128", 0x00000000);
  46808. smbank = CreateDynamicObjectEx(948,1112.225,1533.682,4451.194,0.000,0.000,0.000,300.000,300.000);
  46809. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46810. SetDynamicObjectMaterial(smbank, 1, 19595, "lsappartments1", "carpet4-256x256", 0x00000000);
  46811. SetDynamicObjectMaterial(smbank, 3, 19597, "lsbeachside", "carpet19-128x128", 0x00000000);
  46812. smbank = CreateDynamicObjectEx(19357,1119.387,1540.267,4450.741,0.000,-90.000,0.000,300.000,300.000);
  46813. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0x00000000);
  46814. smbank = CreateDynamicObjectEx(19357,1115.888,1540.267,4450.741,0.000,-90.000,0.000,300.000,300.000);
  46815. SetDynamicObjectMaterial(smbank, 0, 19597, "lsbeachside", "carpet19-128x128", 0x00000000);
  46816. smbank = CreateDynamicObjectEx(2067,1113.334,1542.844,4450.827,0.000,0.000,0.000,300.000,300.000);
  46817. SetDynamicObjectMaterial(smbank, 1, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46818. smbank = CreateDynamicObjectEx(2067,1115.225,1542.844,4450.827,0.000,0.000,0.000,300.000,300.000);
  46819. SetDynamicObjectMaterial(smbank, 1, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46820. smbank = CreateDynamicObjectEx(2067,1117.176,1542.844,4450.827,0.000,0.000,0.000,300.000,300.000);
  46821. SetDynamicObjectMaterial(smbank, 1, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46822. smbank = CreateDynamicObjectEx(2067,1119.176,1542.844,4450.827,0.000,0.000,0.000,300.000,300.000);
  46823. SetDynamicObjectMaterial(smbank, 1, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46824. smbank = CreateDynamicObjectEx(2067,1121.076,1542.844,4450.827,0.000,0.000,0.000,300.000,300.000);
  46825. SetDynamicObjectMaterial(smbank, 1, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46826. smbank = CreateDynamicObjectEx(2067,1120.125,1542.844,4450.827,0.000,0.000,0.000,300.000,300.000);
  46827. SetDynamicObjectMaterial(smbank, 1, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46828. smbank = CreateDynamicObjectEx(2067,1118.185,1542.844,4450.827,0.000,0.000,0.000,300.000,300.000);
  46829. SetDynamicObjectMaterial(smbank, 1, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46830. smbank = CreateDynamicObjectEx(2067,1116.215,1542.844,4450.827,0.000,0.000,0.000,300.000,300.000);
  46831. SetDynamicObjectMaterial(smbank, 1, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46832. smbank = CreateDynamicObjectEx(2067,1114.274,1542.844,4450.827,0.000,0.000,0.000,300.000,300.000);
  46833. SetDynamicObjectMaterial(smbank, 1, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46834. smbank = CreateDynamicObjectEx(2067,1113.334,1542.844,4452.222,0.000,0.000,0.000,300.000,300.000);
  46835. SetDynamicObjectMaterial(smbank, 1, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46836. smbank = CreateDynamicObjectEx(2067,1115.225,1542.844,4452.222,0.000,0.000,0.000,300.000,300.000);
  46837. SetDynamicObjectMaterial(smbank, 1, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46838. smbank = CreateDynamicObjectEx(2067,1117.176,1542.844,4452.222,0.000,0.000,0.000,300.000,300.000);
  46839. SetDynamicObjectMaterial(smbank, 1, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46840. smbank = CreateDynamicObjectEx(2067,1119.176,1542.844,4452.222,0.000,0.000,0.000,300.000,300.000);
  46841. SetDynamicObjectMaterial(smbank, 1, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46842. smbank = CreateDynamicObjectEx(2067,1121.076,1542.844,4452.222,0.000,0.000,0.000,300.000,300.000);
  46843. SetDynamicObjectMaterial(smbank, 1, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46844. smbank = CreateDynamicObjectEx(2067,1120.125,1542.844,4452.222,0.000,0.000,0.000,300.000,300.000);
  46845. SetDynamicObjectMaterial(smbank, 1, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46846. smbank = CreateDynamicObjectEx(2067,1118.185,1542.844,4452.222,0.000,0.000,0.000,300.000,300.000);
  46847. SetDynamicObjectMaterial(smbank, 1, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46848. smbank = CreateDynamicObjectEx(2067,1116.215,1542.844,4452.222,0.000,0.000,0.000,300.000,300.000);
  46849. SetDynamicObjectMaterial(smbank, 1, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46850. smbank = CreateDynamicObjectEx(2067,1114.274,1542.844,4452.222,0.000,0.000,0.000,300.000,300.000);
  46851. SetDynamicObjectMaterial(smbank, 1, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46852. smbank = CreateDynamicObjectEx(2161,1113.074,1537.748,4450.808,0.000,0.000,-270.000,300.000,300.000);
  46853. SetDynamicObjectMaterial(smbank, 0, -1, "none", "none", 0xFFFFFFFF);
  46854. SetDynamicObjectMaterial(smbank, 1, 19597, "lsbeachside", "carpet19-128x128", 0x00000000);
  46855. SetDynamicObjectMaterial(smbank, 2, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46856. smbank = CreateDynamicObjectEx(2161,1113.074,1539.208,4450.808,0.000,0.000,-270.000,300.000,300.000);
  46857. SetDynamicObjectMaterial(smbank, 0, -1, "none", "none", 0xFFFFFFFF);
  46858. SetDynamicObjectMaterial(smbank, 1, 19597, "lsbeachside", "carpet19-128x128", 0x00000000);
  46859. SetDynamicObjectMaterial(smbank, 2, 10765, "airportgnd_sfse", "white", 0xFF000000);
  46860. smbank = CreateDynamicObjectEx(2208,1116.369,1540.267,4450.411,0.000,0.000,0.000,300.000,300.000);
  46861. SetDynamicObjectMaterial(smbank, 0, 19595, "lsappartments1", "carpet4-256x256", 0xFFFFFFFF);
  46862. smbank = CreateDynamicObjectEx(1550,1116.898,1540.359,4451.494,0.000,0.000,0.000,300.000,300.000);
  46863. SetDynamicObjectMaterial(smbank, 0, -1, "none", "none", 0xFFFFFFFF);
  46864. smbank = CreateDynamicObjectEx(1550,1118.648,1540.359,4451.494,0.000,0.000,0.000,300.000,300.000);
  46865. SetDynamicObjectMaterial(smbank, 0, -1, "none", "none", 0xFFFFFFFF);
  46866. smbank = CreateDynamicObjectEx(1550,1117.768,1540.359,4451.494,0.000,0.000,0.000,300.000,300.000);
  46867. SetDynamicObjectMaterial(smbank, 0, -1, "none", "none", 0xFFFFFFFF);
  46868. smbank = CreateDynamicObjectEx(19857,1116.431,1537.236,4452.020,0.000,0.000,0.000,300.000,300.000);
  46869. SetDynamicObjectMaterial(smbank, 0, 19426, "all_walls", "officewallsnew1", 0xFFFFFFFF);
  46870. smbank = CreateDynamicObjectEx(19857,1114.941,1537.236,4452.020,0.000,0.000,0.000,300.000,300.000);
  46871. SetDynamicObjectMaterial(smbank, 0, 19426, "all_walls", "officewallsnew1", 0xFFFFFFFF);
  46872. smbank = CreateDynamicObjectEx(19857,1117.901,1537.236,4452.020,0.000,0.000,0.000,300.000,300.000);
  46873. SetDynamicObjectMaterial(smbank, 0, 19426, "all_walls", "officewallsnew1", 0xFFFFFFFF);
  46874. smbank = CreateDynamicObjectEx(19857,1114.941,1537.236,4454.508,0.000,0.000,0.000,300.000,300.000);
  46875. SetDynamicObjectMaterial(smbank, 0, 19426, "all_walls", "officewallsnew1", 0xFFFFFFFF);
  46876. smbank = CreateDynamicObjectEx(19857,1117.901,1537.236,4454.508,0.000,0.000,0.000,300.000,300.000);
  46877. SetDynamicObjectMaterial(smbank, 0, 19426, "all_walls", "officewallsnew1", 0xFFFFFFFF);
  46878. smbank = CreateDynamicObjectEx(19857,1117.931,1537.236,4454.469,0.000,-180.000,0.000,300.000,300.000);
  46879. SetDynamicObjectMaterial(smbank, 0, 19426, "all_walls", "officewallsnew1", 0xFFFFFFFF);
  46880. smbank = CreateDynamicObjectEx(19466,1104.833,1515.051,4453.030,0.000,0.000,-90.000,300.000,300.000);
  46881. smbank = CreateDynamicObjectEx(19466,1104.833,1515.051,4451.095,0.000,0.000,-90.000,300.000,300.000);
  46882. smbank = CreateDynamicObjectEx(19325,1092.279,1528.022,4453.011,0.000,0.000,0.000,300.000,300.000);
  46883. smbank = CreateDynamicObjectEx(19466,1102.906,1530.009,4451.820,0.000,0.000,90.000,300.000,300.000);
  46884. smbank = CreateDynamicObjectEx(19466,1106.937,1530.009,4451.820,0.000,0.000,89.999,300.000,300.000);
  46885. smbank = CreateDynamicObjectEx(18643,1115.833,1537.225,4452.388,0.000,0.000,0.000,300.000,300.000);
  46886. smbank = CreateDynamicObjectEx(18643,1115.833,1537.225,4452.537,0.000,0.000,0.000,300.000,300.000);
  46887. smbank = CreateDynamicObjectEx(18643,1115.833,1537.225,4452.697,0.000,0.000,0.000,300.000,300.000);
  46888. smbank = CreateDynamicObjectEx(18643,1115.833,1537.225,4452.845,0.000,0.000,0.000,300.000,300.000);
  46889. new tmpobjid;
  46890. //FBI by Ray Lucker (AlabamaRP Old)
  46891. tmpobjid = CreateDynamicObjectEx(19071,-1115.119,-91.519,2043.670,0.000,0.000,90.000,300.000,300.000);
  46892. SetDynamicObjectMaterial(tmpobjid, 0, 14865, "gf2", "mp_bobbie_carpwhite", 0);
  46893. tmpobjid = CreateDynamicObjectEx(19071,-1112.209,-49.609,2043.670,0.000,0.000,90.000,300.000,300.000);
  46894. SetDynamicObjectMaterial(tmpobjid, 0, 14865, "gf2", "mp_bobbie_carpwhite", 0);
  46895. tmpobjid = CreateDynamicObjectEx(2395,-1122.949,-96.559,2039.219,0.000,0.000,0.000,150.000,150.000);
  46896. SetDynamicObjectMaterial(tmpobjid, 0, 3899, "hospital2", "black", 0);
  46897. tmpobjid = CreateDynamicObjectEx(2395,-1122.989,-80.610,2039.219,0.000,0.000,0.000,150.000,150.000);
  46898. SetDynamicObjectMaterial(tmpobjid, 0, 3899, "hospital2", "black", 0);
  46899. tmpobjid = CreateDynamicObjectEx(2267,-1112.000,-70.129,2042.229,0.000,0.000,0.000,300.000,300.000);
  46900. SetDynamicObjectMaterial(tmpobjid, 1, 14736, "whorerooms", "blu_paper2", 0);
  46901. tmpobjid = CreateDynamicObjectEx(2267,-1119.660,-81.949,2042.229,0.000,0.000,90.000,300.000,300.000);
  46902. SetDynamicObjectMaterial(tmpobjid, 1, 14736, "whorerooms", "blu_paper2", 0);
  46903. tmpobjid = CreateDynamicObjectEx(2267,-1119.680,-97.949,2042.229,0.000,0.000,90.000,300.000,300.000);
  46904. SetDynamicObjectMaterial(tmpobjid, 1, 14736, "whorerooms", "blu_paper2", 0);
  46905. tmpobjid = CreateDynamicObjectEx(2267,-1099.660,-72.720,2042.229,0.000,0.000,270.000,300.000,300.000);
  46906. SetDynamicObjectMaterial(tmpobjid, 1, 14736, "whorerooms", "blu_paper2", 0);
  46907. tmpobjid = CreateDynamicObjectEx(2267,-1099.699,-82.879,2042.229,0.000,0.000,270.000,300.000,300.000);
  46908. SetDynamicObjectMaterial(tmpobjid, 1, 14736, "whorerooms", "blu_paper2", 0);
  46909. tmpobjid = CreateDynamicObjectEx(19327,-1099.688,-72.739,2042.210,0.000,0.000,270.000,300.000,300.000);
  46910. SetDynamicObjectMaterialText(tmpobjid, 0, "KAÁÈHET ÄÈPEKTOPA", 110, "Ariel", 25, 1, -16777216, 0, 1);
  46911. tmpobjid = CreateDynamicObjectEx(19327,-1099.689,-82.870,2042.220,0.000,0.000,270.000,300.000,300.000);
  46912. SetDynamicObjectMaterialText(tmpobjid, 0, "KAÁÈHET COBEÙAHÈÉ", 110, "Ariel", 25, 1, -16777216, 0, 1);
  46913. tmpobjid = CreateDynamicObjectEx(19327,-1119.680,-97.929,2042.250,0.000,0.000,90.000,300.000,300.000);
  46914. SetDynamicObjectMaterialText(tmpobjid, 0, "ÄÎÏÐÎÑÍÀß ¹ 1", 110, "Ariel", 30, 1, -16777216, 0, 1);
  46915. tmpobjid = CreateDynamicObjectEx(19327,-1119.639,-81.949,2042.260,0.000,0.000,90.000,300.000,300.000);
  46916. SetDynamicObjectMaterialText(tmpobjid, 0, "ÄÎÏÐÎÑÍÀß ¹ 2", 110, "Ariel", 30, 1, -16777216, 0, 1);
  46917. tmpobjid = CreateDynamicObjectEx(2267,-1104.739,-87.639,2042.229,0.000,0.000,90.000,300.000,300.000);
  46918. SetDynamicObjectMaterial(tmpobjid, 1, 14736, "whorerooms", "blu_paper2", 0);
  46919. tmpobjid = CreateDynamicObjectEx(2267,-1104.469,-94.259,2042.229,0.000,0.000,90.000,300.000,300.000);
  46920. SetDynamicObjectMaterial(tmpobjid, 1, 14736, "whorerooms", "blu_paper2", 0);
  46921. tmpobjid = CreateDynamicObjectEx(19327,-1104.750,-86.869,2041.900,0.000,0.000,90.000,300.000,300.000);
  46922. SetDynamicObjectMaterialText(tmpobjid, 0, "KAÁÈHET ¹ 1", 110, "Ariel", 30, 1, -16777216, 0, 0);
  46923. tmpobjid = CreateDynamicObjectEx(19327,-1104.480,-94.279,2042.230,0.000,0.000,90.000,300.000,300.000);
  46924. SetDynamicObjectMaterialText(tmpobjid, 0, "OPÓÆÅÉÍÀß", 110, "Ariel", 25, 1, -16777216, 0, 1);
  46925. tmpobjid = CreateDynamicObjectEx(19327,-1112.010,-70.130,2042.210,0.000,0.000,0.000,300.000,300.000);
  46926. SetDynamicObjectMaterialText(tmpobjid, 0, "APXÈB", 110, "Ariel", 35, 1, -16777216, 0, 1);
  46927. tmpobjid = CreateDynamicObjectEx(19327,-1099.609,-93.809,2041.289,0.000,0.000,270.000,250.000,250.000);
  46928. SetDynamicObjectMaterialText(tmpobjid, 0, "ÔÁÐ", 120, "Ariel", 80, 1, -16777216, 0, 1);
  46929. tmpobjid = CreateDynamicObjectEx(19327,-1099.589,-92.889,2040.720,0.000,0.000,270.000,250.000,250.000);
  46930. SetDynamicObjectMaterialText(tmpobjid, 0, "ÔÅÄÅÐÀËÜÍÎÅ ÁÞÐÎ", 120, "Ariel", 50, 1, -16777216, 0, 1);
  46931. tmpobjid = CreateDynamicObjectEx(19327,-1099.589,-94.920,2040.720,0.000,0.000,270.000,250.000,250.000);
  46932. SetDynamicObjectMaterialText(tmpobjid, 0, "ÐÀÑÑËÅÄÎÂÀÍÈÉ", 120, "Ariel", 50, 1, -16777216, 0, 1);
  46933. //
  46934. tmpobjid = CreateDynamicObjectEx(19325,-1099.609,-77.819,2041.089,0.000,0.000,0.000,250.000,250.000);
  46935. SetDynamicObjectMaterial(tmpobjid, 0, 10973, "mall_sfse", "ws_grilleshade", 0);
  46936. tmpobjid = CreateDynamicObjectEx(18766,-1109.349,-101.419,2043.099,90.000,180.000,180.000,250.000,250.000);
  46937. SetDynamicObjectMaterial(tmpobjid, 0, 3899, "hospital2", "black", 0);
  46938. tmpobjid = CreateDynamicObjectEx(19071,-1102.469,-83.879,2038.270,0.000,179.994,0.000,200.000,200.000);
  46939. SetDynamicObjectMaterial(tmpobjid, 0, 16640, "a51", "ws_stationfloor", 0);
  46940. tmpobjid = CreateDynamicObjectEx(18766,-1093.680,-101.919,2038.819,90.000,0.000,0.000,250.000,250.000);
  46941. SetDynamicObjectMaterial(tmpobjid, 0, 3899, "hospital2", "black", 0);
  46942. tmpobjid = CreateDynamicObjectEx(14455,-1096.719,-81.269,2040.939,0.000,0.000,0.000,250.000,250.000);
  46943. SetDynamicObjectMaterial(tmpobjid, 0, 3899, "hospital2", "black", 0);
  46944. tmpobjid = CreateDynamicObjectEx(19446,-1099.559,-98.909,2037.780,0.000,0.000,0.000,250.000,250.000);
  46945. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  46946. tmpobjid = CreateDynamicObjectEx(2737,-1096.780,-103.510,2040.989,0.000,0.000,180.241,250.000,250.000);
  46947. SetDynamicObjectMaterial(tmpobjid, 1, 3899, "hospital2", "black", 0);
  46948. tmpobjid = CreateDynamicObjectEx(19071,-1098.890,-133.639,2045.260,0.000,270.000,179.994,250.000,250.000);
  46949. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  46950. tmpobjid = CreateDynamicObjectEx(19071,-1091.910,-112.819,2045.260,0.000,270.000,89.994,250.000,250.000);
  46951. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  46952. tmpobjid = CreateDynamicObjectEx(19071,-1069.739,-104.609,2045.260,0.000,270.000,89.989,250.000,250.000);
  46953. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  46954. tmpobjid = CreateDynamicObjectEx(19071,-1146.679,-104.659,2045.260,0.000,270.000,89.999,250.000,250.000);
  46955. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  46956. tmpobjid = CreateDynamicObjectEx(19395,-1104.579,-94.279,2040.979,0.000,0.000,0.000,250.000,250.000);
  46957. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  46958. tmpobjid = CreateDynamicObjectEx(19368,-1104.579,-97.479,2041.020,0.000,0.000,0.000,250.000,250.000);
  46959. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  46960. tmpobjid = CreateDynamicObjectEx(19368,-1104.579,-91.079,2040.969,0.000,0.000,0.000,250.000,250.000);
  46961. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  46962. tmpobjid = CreateDynamicObjectEx(19446,-1099.559,-98.909,2043.760,0.000,0.000,0.000,250.000,250.000);
  46963. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  46964. tmpobjid = CreateDynamicObjectEx(19446,-1099.569,-89.289,2037.780,0.000,0.000,0.000,250.000,250.000);
  46965. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  46966. tmpobjid = CreateDynamicObjectEx(19446,-1099.549,-89.299,2043.760,0.000,0.000,0.000,250.000,250.000);
  46967. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  46968. tmpobjid = CreateDynamicObjectEx(19446,-1114.019,-94.179,2041.020,0.000,0.000,0.000,250.000,250.000);
  46969. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  46970. tmpobjid = CreateDynamicObjectEx(19446,-1109.319,-89.539,2041.020,0.000,0.000,90.000,250.000,250.000);
  46971. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  46972. tmpobjid = CreateDynamicObjectEx(19395,-1099.559,-82.879,2040.979,0.000,0.000,0.000,250.000,250.000);
  46973. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  46974. tmpobjid = CreateDynamicObjectEx(18980,-1099.509,-84.859,2051.770,0.000,0.000,0.000,250.000,250.000);
  46975. SetDynamicObjectMaterial(tmpobjid, 0, 3899, "hospital2", "black", 0);
  46976. tmpobjid = CreateDynamicObjectEx(18980,-1099.509,-103.459,2051.770,0.000,0.000,0.000,250.000,250.000);
  46977. SetDynamicObjectMaterial(tmpobjid, 0, 3899, "hospital2", "black", 0);
  46978. tmpobjid = CreateDynamicObjectEx(19071,-1089.029,-81.459,2045.260,0.000,270.000,179.994,250.000,250.000);
  46979. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  46980. tmpobjid = CreateDynamicObjectEx(18980,-1104.829,-89.569,2051.770,0.000,0.000,0.000,250.000,250.000);
  46981. SetDynamicObjectMaterial(tmpobjid, 0, 3899, "hospital2", "black", 0);
  46982. tmpobjid = CreateDynamicObjectEx(18980,-1113.859,-89.549,2051.770,0.000,0.000,0.000,250.000,250.000);
  46983. SetDynamicObjectMaterial(tmpobjid, 0, 3899, "hospital2", "black", 0);
  46984. tmpobjid = CreateDynamicObjectEx(19071,-1116.139,-133.659,2045.260,0.000,90.000,0.000,250.000,250.000);
  46985. SetDynamicObjectMaterial(tmpobjid, 0, 1631, "landjump", "plasticdrum1_128", 0);
  46986. tmpobjid = CreateDynamicObjectEx(18980,-1115.779,-103.939,2051.770,0.000,0.000,0.000,250.000,250.000);
  46987. SetDynamicObjectMaterial(tmpobjid, 0, 3899, "hospital2", "black", 0);
  46988. tmpobjid = CreateDynamicObjectEx(18980,-1115.750,-115.919,2039.420,0.000,90.000,89.994,250.000,250.000);
  46989. SetDynamicObjectMaterial(tmpobjid, 0, 3899, "hospital2", "black", 0);
  46990. tmpobjid = CreateDynamicObjectEx(18980,-1115.729,-115.889,2042.349,0.000,90.000,89.999,250.000,250.000);
  46991. SetDynamicObjectMaterial(tmpobjid, 0, 3899, "hospital2", "black", 0);
  46992. tmpobjid = CreateDynamicObjectEx(18766,-1115.790,-115.650,2041.770,0.000,0.000,90.000,250.000,250.000);
  46993. SetDynamicObjectMaterial(tmpobjid, 0, 3899, "hospital2", "black", 0);
  46994. tmpobjid = CreateDynamicObjectEx(18980,-1113.859,-99.059,2051.770,0.000,0.000,0.000,250.000,250.000);
  46995. SetDynamicObjectMaterial(tmpobjid, 0, 3899, "hospital2", "black", 0);
  46996. tmpobjid = CreateDynamicObjectEx(18980,-1104.909,-99.000,2051.770,0.000,0.000,0.000,250.000,250.000);
  46997. SetDynamicObjectMaterial(tmpobjid, 0, 3899, "hospital2", "black", 0);
  46998. tmpobjid = CreateDynamicObjectEx(19446,-1109.309,-98.969,2041.000,0.000,0.000,90.000,250.000,250.000);
  46999. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  47000. tmpobjid = CreateDynamicObjectEx(18980,-1104.829,-92.419,2051.770,0.000,0.000,0.000,250.000,250.000);
  47001. SetDynamicObjectMaterial(tmpobjid, 0, 3899, "hospital2", "black", 0);
  47002. tmpobjid = CreateDynamicObjectEx(18980,-1104.829,-96.039,2051.770,0.000,0.000,0.000,250.000,250.000);
  47003. SetDynamicObjectMaterial(tmpobjid, 0, 3899, "hospital2", "black", 0);
  47004. tmpobjid = CreateDynamicObjectEx(19450,-1090.009,-92.289,2040.650,0.000,0.000,0.000,250.000,250.000);
  47005. SetDynamicObjectMaterial(tmpobjid, 0, 18029, "genintintsmallrest", "GB_restaursmll10", 0);
  47006. tmpobjid = CreateDynamicObjectEx(18980,-1099.509,-81.339,2051.770,0.000,0.000,0.000,250.000,250.000);
  47007. SetDynamicObjectMaterial(tmpobjid, 0, 3899, "hospital2", "black", 0);
  47008. tmpobjid = CreateDynamicObjectEx(18980,-1099.569,-74.610,2051.770,0.000,0.000,0.000,250.000,250.000);
  47009. SetDynamicObjectMaterial(tmpobjid, 0, 3899, "hospital2", "black", 0);
  47010. tmpobjid = CreateDynamicObjectEx(18980,-1099.540,-70.760,2051.770,0.000,0.000,0.000,250.000,250.000);
  47011. SetDynamicObjectMaterial(tmpobjid, 0, 3899, "hospital2", "black", 0);
  47012. tmpobjid = CreateDynamicObjectEx(18980,-1109.949,-70.029,2051.770,0.000,0.000,0.000,250.000,250.000);
  47013. SetDynamicObjectMaterial(tmpobjid, 0, 3899, "hospital2", "black", 0);
  47014. tmpobjid = CreateDynamicObjectEx(19071,-1124.400,-75.150,2045.260,0.000,270.000,0.000,250.000,250.000);
  47015. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  47016. tmpobjid = CreateDynamicObjectEx(19395,-1104.889,-87.619,2040.979,0.000,0.000,0.000,250.000,250.000);
  47017. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  47018. tmpobjid = CreateDynamicObjectEx(18980,-1104.829,-85.650,2051.770,0.000,0.000,0.000,250.000,250.000);
  47019. SetDynamicObjectMaterial(tmpobjid, 0, 3899, "hospital2", "black", 0);
  47020. tmpobjid = CreateDynamicObjectEx(19446,-1113.849,-84.339,2037.890,0.000,0.000,0.000,250.000,250.000);
  47021. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  47022. tmpobjid = CreateDynamicObjectEx(19446,-1113.849,-84.339,2043.760,0.000,0.000,0.000,250.000,250.000);
  47023. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  47024. tmpobjid = CreateDynamicObjectEx(18980,-1113.859,-82.389,2051.770,0.000,0.000,0.000,250.000,250.000);
  47025. SetDynamicObjectMaterial(tmpobjid, 0, 3899, "hospital2", "black", 0);
  47026. tmpobjid = CreateDynamicObjectEx(19446,-1104.849,-80.819,2037.890,0.000,0.000,0.000,250.000,250.000);
  47027. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  47028. tmpobjid = CreateDynamicObjectEx(19446,-1104.849,-80.789,2043.760,0.000,0.000,0.000,250.000,250.000);
  47029. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  47030. tmpobjid = CreateDynamicObjectEx(18980,-1104.829,-82.389,2051.770,0.000,0.000,0.000,250.000,250.000);
  47031. SetDynamicObjectMaterial(tmpobjid, 0, 3899, "hospital2", "black", 0);
  47032. tmpobjid = CreateDynamicObjectEx(18980,-1104.859,-75.879,2051.770,0.000,0.000,0.000,250.000,250.000);
  47033. SetDynamicObjectMaterial(tmpobjid, 0, 3899, "hospital2", "black", 0);
  47034. tmpobjid = CreateDynamicObjectEx(19446,-1109.260,-75.680,2037.890,0.000,0.000,90.000,250.000,250.000);
  47035. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  47036. tmpobjid = CreateDynamicObjectEx(18980,-1113.859,-75.879,2051.770,0.000,0.000,0.000,250.000,250.000);
  47037. SetDynamicObjectMaterial(tmpobjid, 0, 3899, "hospital2", "black", 0);
  47038. tmpobjid = CreateDynamicObjectEx(19446,-1113.810,-80.260,2037.869,0.000,0.000,0.000,250.000,250.000);
  47039. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  47040. tmpobjid = CreateDynamicObjectEx(19446,-1113.829,-80.790,2043.760,0.000,0.000,0.000,250.000,250.000);
  47041. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  47042. tmpobjid = CreateDynamicObjectEx(19446,-1109.260,-75.680,2043.760,0.000,0.000,90.000,250.000,250.000);
  47043. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  47044. tmpobjid = CreateDynamicObjectEx(18980,-1109.250,-75.680,2051.770,0.000,0.000,0.000,250.000,250.000);
  47045. SetDynamicObjectMaterial(tmpobjid, 0, 3899, "hospital2", "black", 0);
  47046. tmpobjid = CreateDynamicObjectEx(19446,-1118.739,-70.189,2041.020,0.000,0.000,90.000,250.000,250.000);
  47047. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  47048. tmpobjid = CreateDynamicObjectEx(19395,-1111.949,-70.019,2040.979,0.000,0.000,90.000,250.000,250.000);
  47049. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  47050. tmpobjid = CreateDynamicObjectEx(18980,-1113.989,-70.069,2051.770,0.000,0.000,0.000,250.000,250.000);
  47051. SetDynamicObjectMaterial(tmpobjid, 0, 3899, "hospital2", "black", 0);
  47052. tmpobjid = CreateDynamicObjectEx(19071,-1117.030,-63.529,2045.260,0.000,270.000,269.994,250.000,250.000);
  47053. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  47054. tmpobjid = CreateDynamicObjectEx(19446,-1109.839,-65.050,2041.020,0.000,0.000,0.000,250.000,250.000);
  47055. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  47056. tmpobjid = CreateDynamicObjectEx(2439,-1114.040,-69.150,2039.270,0.000,0.000,90.000,250.000,250.000);
  47057. SetDynamicObjectMaterial(tmpobjid, 0, 8480, "csrspalace01", "black32", 0);
  47058. SetDynamicObjectMaterial(tmpobjid, 1, 14865, "gf2", "mp_bobbie_carpwhite", 0);
  47059. tmpobjid = CreateDynamicObjectEx(2439,-1114.030,-68.169,2039.270,0.000,0.000,90.000,250.000,250.000);
  47060. SetDynamicObjectMaterial(tmpobjid, 0, 8480, "csrspalace01", "black32", 0);
  47061. SetDynamicObjectMaterial(tmpobjid, 1, 14865, "gf2", "mp_bobbie_carpwhite", 0);
  47062. tmpobjid = CreateDynamicObjectEx(2439,-1114.030,-67.180,2039.270,0.000,0.000,90.000,250.000,250.000);
  47063. SetDynamicObjectMaterial(tmpobjid, 0, 8480, "csrspalace01", "black32", 0);
  47064. SetDynamicObjectMaterial(tmpobjid, 1, 14865, "gf2", "mp_bobbie_carpwhite", 0);
  47065. tmpobjid = CreateDynamicObjectEx(2439,-1113.989,-65.040,2039.270,0.000,0.000,90.000,250.000,250.000);
  47066. SetDynamicObjectMaterial(tmpobjid, 0, 8480, "csrspalace01", "black32", 0);
  47067. SetDynamicObjectMaterial(tmpobjid, 1, 14865, "gf2", "mp_bobbie_carpwhite", 0);
  47068. tmpobjid = CreateDynamicObjectEx(19446,-1094.689,-81.369,2040.979,0.000,0.000,90.000,250.000,250.000);
  47069. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  47070. tmpobjid = CreateDynamicObjectEx(2008,-1094.959,-79.309,2039.270,0.000,0.000,0.000,250.000,250.000);
  47071. SetDynamicObjectMaterial(tmpobjid, 4, 3899, "hospital2", "black", 0);
  47072. tmpobjid = CreateDynamicObjectEx(19446,-1119.779,-104.369,2041.020,0.000,0.000,0.000,250.000,250.000);
  47073. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  47074. tmpobjid = CreateDynamicObjectEx(19384,-1119.790,-97.959,2041.020,0.000,0.000,0.000,250.000,250.000);
  47075. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  47076. tmpobjid = CreateDynamicObjectEx(19384,-1119.779,-94.759,2041.020,0.000,0.000,0.000,250.000,250.000);
  47077. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  47078. tmpobjid = CreateDynamicObjectEx(19446,-1119.780,-88.360,2041.020,0.000,0.000,0.000,250.000,250.000);
  47079. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  47080. tmpobjid = CreateDynamicObjectEx(19446,-1124.669,-86.739,2041.020,0.000,0.000,270.000,250.000,250.000);
  47081. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  47082. tmpobjid = CreateDynamicObjectEx(19446,-1124.630,-96.430,2037.790,0.000,0.000,90.000,250.000,250.000);
  47083. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  47084. tmpobjid = CreateDynamicObjectEx(19446,-1124.629,-96.429,2043.560,0.000,0.000,90.000,250.000,250.000);
  47085. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  47086. tmpobjid = CreateDynamicObjectEx(3077,-1091.729,-83.000,2039.270,0.000,0.000,323.996,250.000,250.000);
  47087. SetDynamicObjectMaterial(tmpobjid, 0, 14853, "gen_pol_vegas", "mp_cop_pinboard", 0);
  47088. SetDynamicObjectMaterial(tmpobjid, 1, 3899, "hospital2", "black", 0);
  47089. tmpobjid = CreateDynamicObjectEx(19172,-1110.359,-99.089,2041.369,0.000,0.000,0.000,250.000,250.000);
  47090. SetDynamicObjectMaterial(tmpobjid, 0, 10028, "copshop_sfe", "dt_cops_US_flag", 0);
  47091. tmpobjid = CreateDynamicObjectEx(19384,-1119.769,-81.949,2041.020,0.000,0.000,0.000,250.000,250.000);
  47092. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  47093. tmpobjid = CreateDynamicObjectEx(19446,-1124.529,-80.529,2037.819,0.000,0.000,270.000,250.000,250.000);
  47094. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  47095. tmpobjid = CreateDynamicObjectEx(19446,-1123.349,-75.719,2041.020,0.000,0.000,0.000,250.000,250.000);
  47096. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  47097. tmpobjid = CreateDynamicObjectEx(19446,-1124.639,-90.809,2041.020,0.000,0.000,270.000,250.000,250.000);
  47098. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  47099. tmpobjid = CreateDynamicObjectEx(19446,-1124.530,-80.480,2043.619,0.000,0.000,270.000,250.000,250.000);
  47100. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  47101. tmpobjid = CreateDynamicObjectEx(19384,-1119.799,-78.769,2041.020,0.000,0.000,0.000,250.000,250.000);
  47102. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  47103. tmpobjid = CreateDynamicObjectEx(19446,-1119.790,-72.349,2041.020,0.000,0.000,0.000,250.000,250.000);
  47104. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  47105. tmpobjid = CreateDynamicObjectEx(19446,-1124.569,-74.159,2041.020,0.000,0.000,270.000,250.000,250.000);
  47106. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  47107. tmpobjid = CreateDynamicObjectEx(18980,-1113.829,-95.919,2051.770,0.000,0.000,0.000,250.000,250.000);
  47108. SetDynamicObjectMaterial(tmpobjid, 0, 3899, "hospital2", "black", 0);
  47109. tmpobjid = CreateDynamicObjectEx(19395,-1099.540,-72.769,2040.979,0.000,0.000,0.000,250.000,250.000);
  47110. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  47111. tmpobjid = CreateDynamicObjectEx(19071,-1079.519,-69.339,2045.260,0.000,270.000,270.000,250.000,250.000);
  47112. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  47113. tmpobjid = CreateDynamicObjectEx(19446,-1119.609,-65.339,2041.020,0.000,0.000,0.000,250.000,250.000);
  47114. SetDynamicObjectMaterial(tmpobjid, 0, 18008, "intclothesa", "mp_cloth_vicfloor", 0);
  47115. tmpobjid = CreateDynamicObjectEx(2198,-1108.239,-83.849,2039.270,0.000,0.000,0.000,250.000,250.000);
  47116. SetDynamicObjectMaterial(tmpobjid, 4, 3899, "hospital2", "black", 0);
  47117. tmpobjid = CreateDynamicObjectEx(2198,-1107.219,-82.800,2039.270,0.000,0.000,180.000,250.000,250.000);
  47118. SetDynamicObjectMaterial(tmpobjid, 4, 3899, "hospital2", "black", 0);
  47119. tmpobjid = CreateDynamicObjectEx(2198,-1108.250,-79.330,2039.270,0.000,0.000,0.000,250.000,250.000);
  47120. SetDynamicObjectMaterial(tmpobjid, 4, 3899, "hospital2", "black", 0);
  47121. tmpobjid = CreateDynamicObjectEx(2198,-1107.229,-78.300,2039.270,0.000,0.000,179.994,250.000,250.000);
  47122. SetDynamicObjectMaterial(tmpobjid, 4, 3899, "hospital2", "black", 0);
  47123. tmpobjid = CreateDynamicObjectEx(2198,-1110.569,-82.760,2039.270,0.000,0.000,179.994,250.000,250.000);
  47124. SetDynamicObjectMaterial(tmpobjid, 4, 3899, "hospital2", "black", 0);
  47125. tmpobjid = CreateDynamicObjectEx(2198,-1111.589,-83.800,2039.270,0.000,0.000,0.000,250.000,250.000);
  47126. SetDynamicObjectMaterial(tmpobjid, 4, 3899, "hospital2", "black", 0);
  47127. tmpobjid = CreateDynamicObjectEx(2198,-1111.609,-79.330,2039.270,0.000,0.000,0.000,250.000,250.000);
  47128. SetDynamicObjectMaterial(tmpobjid, 4, 3899, "hospital2", "black", 0);
  47129. tmpobjid = CreateDynamicObjectEx(2198,-1110.599,-78.279,2039.270,0.000,0.000,179.994,250.000,250.000);
  47130. SetDynamicObjectMaterial(tmpobjid, 4, 3899, "hospital2", "black", 0);
  47131. tmpobjid = CreateDynamicObjectEx(18980,-1116.619,-103.319,2051.770,0.000,0.000,0.000,250.000,250.000);
  47132. SetDynamicObjectMaterial(tmpobjid, 0, 14661, "int_tatoo", "counter1", 0);
  47133. tmpobjid = CreateDynamicObjectEx(19450,-1089.989,-75.589,2040.780,0.000,0.000,0.000,250.000,250.000);
  47134. SetDynamicObjectMaterial(tmpobjid, 0, 18029, "genintintsmallrest", "GB_restaursmll10", 0);
  47135. tmpobjid = CreateDynamicObjectEx(2424,-1109.979,-100.500,2039.270,0.000,0.000,0.000,250.000,250.000);
  47136. SetDynamicObjectMaterial(tmpobjid, 2, 14865, "gf2", "mp_bobbie_carpwhite", 0);
  47137. SetDynamicObjectMaterial(tmpobjid, 4, 3899, "hospital2", "black", 0);
  47138. tmpobjid = CreateDynamicObjectEx(2423,-1107.209,-100.509,2039.260,0.000,0.000,0.000,250.000,250.000);
  47139. SetDynamicObjectMaterial(tmpobjid, 2, 3899, "hospital2", "black", 0);
  47140. SetDynamicObjectMaterial(tmpobjid, 3, 3899, "hospital2", "black", 0);
  47141. SetDynamicObjectMaterial(tmpobjid, 4, 3899, "hospital2", "black", 0);
  47142. tmpobjid = CreateDynamicObjectEx(2424,-1107.160,-99.469,2039.250,0.000,0.000,90.000,250.000,250.000);
  47143. SetDynamicObjectMaterial(tmpobjid, 2, 14865, "gf2", "mp_bobbie_carpwhite", 0);
  47144. SetDynamicObjectMaterial(tmpobjid, 4, 3899, "hospital2", "black", 0);
  47145. tmpobjid = CreateDynamicObjectEx(2424,-1109.050,-100.500,2039.270,0.000,0.000,0.000,250.000,250.000);
  47146. SetDynamicObjectMaterial(tmpobjid, 2, 14865, "gf2", "mp_bobbie_carpwhite", 0);
  47147. SetDynamicObjectMaterial(tmpobjid, 4, 3899, "hospital2", "black", 0);
  47148. tmpobjid = CreateDynamicObjectEx(2424,-1108.119,-100.500,2039.270,0.000,0.000,0.000,250.000,250.000);
  47149. SetDynamicObjectMaterial(tmpobjid, 2, 14865, "gf2", "mp_bobbie_carpwhite", 0);
  47150. SetDynamicObjectMaterial(tmpobjid, 4, 3899, "hospital2", "black", 0);
  47151. tmpobjid = CreateDynamicObjectEx(2424,-1110.890,-100.500,2039.270,0.000,0.000,0.000,250.000,250.000);
  47152. SetDynamicObjectMaterial(tmpobjid, 2, 14865, "gf2", "mp_bobbie_carpwhite", 0);
  47153. SetDynamicObjectMaterial(tmpobjid, 4, 3899, "hospital2", "black", 0);
  47154. tmpobjid = CreateDynamicObjectEx(2423,-1111.929,-100.430,2039.270,0.000,0.000,270.000,250.000,250.000);
  47155. SetDynamicObjectMaterial(tmpobjid, 2, 3899, "hospital2", "black", 0);
  47156. SetDynamicObjectMaterial(tmpobjid, 3, 3899, "hospital2", "black", 0);
  47157. SetDynamicObjectMaterial(tmpobjid, 4, 3899, "hospital2", "black", 0);
  47158. //
  47159. CreateObject(2310,-1122.2199707,-92.8700027,2039.7700195,0.0000000,0.0000000,90.0000000); //object(mike_din_chair) (2)
  47160. CreateObject(2008,-1122.8800049,-94.0599976,2039.2700195,0.0000000,0.0000000,90.0000000); //object(officedesk1) (3)
  47161. CreateObject(2008,-1122.7900391,-77.1900024,2039.2700195,0.0000000,0.0000000,90.0000000); //object(officedesk1) (3)
  47162. CreateObject(2310,-1121.9699707,-100.4100037,2039.7700195,0.0000000,0.0000000,90.0000000); //object(mike_din_chair) (3)
  47163. CreateObject(2310,-1122.1300049,-83.2900009,2039.7700195,0.0000000,0.0000000,90.0000000); //object(mike_din_chair) (4)
  47164. CreateObject(2310,-1121.8299561,-75.7200012,2039.7700195,0.0000000,0.0000000,90.0000000); //object(mike_din_chair) (1)
  47165. CreateDynamicObjectEx(19450,-1107.400,-113.410,2037.040,90.000,179.994,0.000,250.000,250.000);
  47166. CreateDynamicObjectEx(2986,-1101.760,-109.750,2042.640,0.000,0.000,0.000,250.000,250.000);
  47167. CreateDynamicObjectEx(1714,-1094.189,-102.870,2039.300,0.000,0.000,175.989,250.000,250.000);
  47168. CreateDynamicObjectEx(1533,-1108.890,-111.750,2039.270,0.000,0.000,179.994,250.000,250.000);
  47169. CreateDynamicObjectEx(1533,-1107.449,-111.750,2039.270,0.000,0.000,179.994,250.000,250.000);
  47170. CreateDynamicObjectEx(19450,-1110.459,-113.449,2037.040,90.000,180.005,359.978,250.000,250.000);
  47171. CreateDynamicObjectEx(19404,-1108.949,-113.400,2041.780,0.000,90.000,90.000,250.000,250.000);
  47172. CreateDynamicObjectEx(1494,-1104.569,-95.029,2039.260,0.000,0.000,90.000,250.000,250.000);
  47173. CreateDynamicObjectEx(19325,-1099.559,-100.409,2041.329,0.000,0.000,0.000,250.000,250.000);
  47174. CreateDynamicObjectEx(19325,-1099.559,-94.179,2041.150,0.000,0.000,0.000,250.000,250.000);
  47175. CreateDynamicObjectEx(19325,-1099.559,-87.909,2041.329,0.000,0.000,0.000,250.000,250.000);
  47176. CreateDynamicObjectEx(1494,-1099.569,-83.619,2039.260,0.000,0.000,90.000,250.000,250.000);
  47177. CreateDynamicObjectEx(2164,-1109.179,-89.389,2039.270,0.000,0.000,179.994,250.000,250.000);
  47178. CreateDynamicObjectEx(1601,-1115.869,-107.730,2040.410,0.000,0.000,0.000,250.000,250.000);
  47179. CreateDynamicObjectEx(1601,-1116.030,-110.489,2041.040,0.000,0.000,358.000,250.000,250.000);
  47180. CreateDynamicObjectEx(1605,-1116.439,-109.229,2040.959,0.000,0.000,0.000,250.000,250.000);
  47181. CreateDynamicObjectEx(1605,-1116.119,-108.449,2040.959,0.000,0.000,182.993,250.000,250.000);
  47182. CreateDynamicObjectEx(19325,-1115.349,-107.429,2041.329,0.000,0.000,179.994,250.000,250.000);
  47183. CreateDynamicObjectEx(2782,-1115.689,-109.209,2040.130,0.000,0.000,79.996,250.000,250.000);
  47184. CreateDynamicObjectEx(1603,-1115.650,-107.949,2041.400,0.000,0.000,344.500,250.000,250.000);
  47185. CreateDynamicObjectEx(2207,-1093.099,-100.409,2039.270,0.000,0.000,179.994,250.000,250.000);
  47186. CreateDynamicObjectEx(19450,-1088.419,-92.219,2042.280,0.000,90.000,179.994,250.000,250.000);
  47187. CreateDynamicObjectEx(19450,-1088.380,-92.250,2039.350,0.000,90.000,179.994,250.000,250.000);
  47188. CreateDynamicObjectEx(19404,-1088.379,-87.419,2040.770,270.000,180.001,269.995,250.000,250.000);
  47189. CreateDynamicObjectEx(19404,-1088.409,-97.089,2040.770,270.000,179.998,269.992,250.000,250.000);
  47190. CreateDynamicObjectEx(19325,-1104.869,-84.309,2041.329,90.000,180.000,0.000,250.000,250.000);
  47191. CreateDynamicObjectEx(19325,-1113.810,-85.800,2041.329,0.000,0.000,0.000,250.000,250.000);
  47192. CreateDynamicObjectEx(19325,-1104.839,-78.800,2041.329,0.000,179.994,0.000,250.000,250.000);
  47193. CreateDynamicObjectEx(19325,-1111.339,-75.629,2041.329,90.000,180.005,89.989,250.000,250.000);
  47194. CreateDynamicObjectEx(19325,-1107.069,-75.689,2041.329,90.000,180.005,89.989,250.000,250.000);
  47195. CreateDynamicObjectEx(19325,-1104.910,-79.459,2041.329,0.000,0.000,0.000,250.000,250.000);
  47196. CreateDynamicObjectEx(19325,-1113.779,-79.159,2041.329,0.000,179.994,0.000,250.000,250.000);
  47197. CreateDynamicObjectEx(2110,-1093.520,-95.500,2039.119,0.000,0.000,0.000,250.000,250.000);
  47198. CreateDynamicObjectEx(2110,-1097.020,-95.500,2039.119,0.000,0.000,0.000,250.000,250.000);
  47199. CreateDynamicObjectEx(2110,-1097.019,-92.689,2039.119,0.000,0.000,0.000,250.000,250.000);
  47200. CreateDynamicObjectEx(2110,-1097.020,-90.279,2039.119,0.000,0.000,0.000,250.000,250.000);
  47201. CreateDynamicObjectEx(2110,-1093.520,-90.279,2039.119,0.000,0.000,0.000,250.000,250.000);
  47202. CreateDynamicObjectEx(2110,-1093.520,-92.690,2039.119,0.000,0.000,0.000,250.000,250.000);
  47203. CreateDynamicObjectEx(2110,-1093.530,-87.949,2039.119,0.000,0.000,0.000,250.000,250.000);
  47204. CreateDynamicObjectEx(2110,-1097.020,-87.949,2039.119,0.000,0.000,0.000,250.000,250.000);
  47205. CreateDynamicObjectEx(16780,-1094.829,-94.510,2042.939,0.000,0.000,0.000,250.000,250.000);
  47206. CreateDynamicObjectEx(16780,-1096.089,-77.589,2042.859,0.000,0.000,0.000,250.000,250.000);
  47207. CreateDynamicObjectEx(16780,-1115.930,-67.419,2042.859,0.000,0.000,0.000,250.000,250.000);
  47208. CreateDynamicObjectEx(2066,-1091.270,-103.139,2039.319,0.000,0.000,179.994,250.000,250.000);
  47209. CreateDynamicObjectEx(2066,-1097.900,-80.849,2039.270,0.000,0.000,179.994,250.000,250.000);
  47210. CreateDynamicObjectEx(14632,-1110.109,-73.069,2040.780,0.000,0.000,0.000,250.000,250.000);
  47211. CreateDynamicObjectEx(2197,-1118.119,-66.089,2039.250,0.000,0.000,90.000,250.000,250.000);
  47212. CreateDynamicObjectEx(16378,-1116.699,-66.739,2040.020,0.000,0.000,90.000,250.000,250.000);
  47213. CreateDynamicObjectEx(1808,-1090.360,-77.959,2039.270,0.000,0.000,270.000,250.000,250.000);
  47214. CreateDynamicObjectEx(2225,-1096.680,-103.470,2039.359,0.000,0.000,179.994,250.000,250.000);
  47215. CreateDynamicObjectEx(1721,-1096.839,-86.459,2039.270,0.000,0.000,180.000,250.000,250.000);
  47216. CreateDynamicObjectEx(1721,-1096.089,-86.459,2039.270,0.000,0.000,179.994,250.000,250.000);
  47217. CreateDynamicObjectEx(1721,-1093.390,-86.459,2039.270,0.000,0.000,179.994,250.000,250.000);
  47218. CreateDynamicObjectEx(1721,-1092.609,-86.459,2039.270,0.000,0.000,179.994,250.000,250.000);
  47219. CreateDynamicObjectEx(1721,-1092.589,-88.690,2039.270,0.000,0.000,179.994,250.000,250.000);
  47220. CreateDynamicObjectEx(1721,-1093.369,-88.650,2039.270,0.000,0.000,179.994,250.000,250.000);
  47221. CreateDynamicObjectEx(1721,-1096.920,-88.709,2039.270,0.000,0.000,179.994,250.000,250.000);
  47222. CreateDynamicObjectEx(1721,-1096.050,-88.739,2039.270,0.000,0.000,179.994,250.000,250.000);
  47223. CreateDynamicObjectEx(1721,-1096.050,-91.089,2039.270,0.000,0.000,179.994,250.000,250.000);
  47224. CreateDynamicObjectEx(1721,-1097.000,-91.120,2039.270,0.000,0.000,179.994,250.000,250.000);
  47225. CreateDynamicObjectEx(1721,-1096.050,-93.910,2039.270,0.000,0.000,179.994,250.000,250.000);
  47226. CreateDynamicObjectEx(1721,-1097.000,-93.959,2039.270,0.000,0.000,179.994,250.000,250.000);
  47227. CreateDynamicObjectEx(1721,-1093.569,-93.910,2039.270,0.000,0.000,179.994,250.000,250.000);
  47228. CreateDynamicObjectEx(1721,-1092.439,-93.959,2039.270,0.000,0.000,179.994,250.000,250.000);
  47229. CreateDynamicObjectEx(1721,-1092.510,-91.230,2039.270,0.000,0.000,179.994,250.000,250.000);
  47230. CreateDynamicObjectEx(1721,-1093.420,-91.180,2039.270,0.000,0.000,179.994,250.000,250.000);
  47231. CreateDynamicObjectEx(632,-1111.290,-65.050,2039.719,0.000,0.000,179.994,250.000,250.000);
  47232. CreateDynamicObjectEx(1726,-1104.269,-111.219,2039.270,0.000,0.000,179.994,250.000,250.000);
  47233. CreateDynamicObjectEx(1726,-1112.979,-111.359,2039.250,0.000,0.000,179.994,250.000,250.000);
  47234. CreateDynamicObjectEx(1726,-1100.560,-104.569,2039.270,0.000,0.000,270.000,250.000,250.000);
  47235. CreateDynamicObjectEx(1726,-1093.709,-71.089,2039.270,0.000,0.000,0.000,250.000,250.000);
  47236. CreateDynamicObjectEx(1726,-1114.689,-111.839,2039.270,0.000,0.000,90.000,250.000,250.000);
  47237. CreateDynamicObjectEx(1726,-1114.639,-106.889,2039.270,0.000,0.000,89.994,250.000,250.000);
  47238. CreateDynamicObjectEx(1726,-1100.709,-109.559,2039.270,0.000,0.000,270.000,250.000,250.000);
  47239. CreateDynamicObjectEx(1726,-1100.369,-111.239,2039.250,0.000,0.000,179.994,250.000,250.000);
  47240. CreateDynamicObjectEx(1714,-1094.739,-80.800,2039.270,0.000,0.000,175.989,250.000,250.000);
  47241. CreateDynamicObjectEx(19325,-1099.469,-78.329,2041.329,0.000,0.000,179.994,250.000,250.000);
  47242. CreateDynamicObjectEx(19325,-1123.109,-96.410,2041.329,0.000,0.000,270.000,250.000,250.000);
  47243. CreateDynamicObjectEx(1721,-1122.989,-102.559,2039.270,0.000,0.000,270.000,250.000,250.000);
  47244. CreateDynamicObjectEx(19325,-1123.170,-80.489,2041.329,0.000,0.000,270.000,250.000,250.000);
  47245. CreateDynamicObjectEx(976,-1113.959,-95.919,2036.890,0.000,0.000,0.000,250.000,250.000);
  47246. CreateDynamicObjectEx(976,-1113.959,-95.919,2044.500,179.994,0.000,0.000,250.000,250.000);
  47247. CreateDynamicObjectEx(373,-1105.300,-98.239,2039.520,0.000,0.000,0.000,250.000,250.000);
  47248. CreateDynamicObjectEx(349,-1108.369,-98.500,2039.670,90.000,170.000,4.000,250.000,250.000);
  47249. CreateDynamicObjectEx(348,-1111.599,-98.379,2039.650,90.000,0.000,0.000,250.000,250.000);
  47250. CreateDynamicObjectEx(343,-1109.819,-98.470,2039.650,0.000,0.000,0.000,250.000,250.000);
  47251. CreateDynamicObjectEx(1726,-1112.530,-90.290,2039.270,0.000,0.000,0.000,250.000,250.000);
  47252. CreateDynamicObjectEx(1726,-1108.670,-90.250,2039.270,0.000,0.000,0.000,250.000,250.000);
  47253. CreateDynamicObjectEx(356,-1109.270,-98.209,2040.599,69.999,0.000,0.000,250.000,250.000);
  47254. CreateDynamicObjectEx(1494,-1099.560,-73.519,2039.260,0.000,0.000,90.000,250.000,250.000);
  47255. CreateDynamicObjectEx(1726,-1096.770,-71.089,2039.270,0.000,0.000,0.000,250.000,250.000);
  47256. CreateDynamicObjectEx(1727,-1095.869,-77.260,2039.270,0.000,0.000,10.244,250.000,250.000);
  47257. CreateDynamicObjectEx(1727,-1094.170,-77.059,2039.270,0.000,0.000,352.238,250.000,250.000);
  47258. CreateDynamicObjectEx(2197,-1118.099,-66.790,2039.250,0.000,0.000,90.000,250.000,250.000);
  47259. CreateDynamicObjectEx(1494,-1112.729,-70.050,2039.260,0.000,0.000,0.000,250.000,250.000);
  47260. CreateDynamicObjectEx(1494,-1119.799,-79.519,2039.260,0.000,0.000,90.000,250.000,250.000);
  47261. CreateDynamicObjectEx(1494,-1119.760,-82.699,2039.260,0.000,0.000,90.000,250.000,250.000);
  47262. CreateDynamicObjectEx(1494,-1119.780,-95.510,2039.260,0.000,0.000,90.000,250.000,250.000);
  47263. CreateDynamicObjectEx(1494,-1119.819,-98.699,2039.260,0.000,0.000,90.000,250.000,250.000);
  47264. CreateDynamicObjectEx(2164,-1110.949,-89.389,2039.270,0.000,0.000,179.994,250.000,250.000);
  47265. CreateDynamicObjectEx(2164,-1107.400,-89.379,2039.270,0.000,0.000,179.994,250.000,250.000);
  47266. CreateDynamicObjectEx(2607,-1122.089,-101.699,2039.660,0.000,0.000,0.000,250.000,250.000);
  47267. CreateDynamicObjectEx(2607,-1122.189,-84.669,2039.660,0.000,0.000,0.000,250.000,250.000);
  47268. CreateDynamicObjectEx(1721,-1123.160,-85.760,2039.270,0.000,0.000,270.000,250.000,250.000);
  47269. CreateDynamicObjectEx(2066,-1098.479,-80.839,2039.270,0.000,0.000,179.994,250.000,250.000);
  47270. CreateDynamicObjectEx(2066,-1091.209,-80.779,2039.270,0.000,0.000,179.994,250.000,250.000);
  47271. CreateDynamicObjectEx(2066,-1090.640,-80.779,2039.270,0.000,0.000,179.994,250.000,250.000);
  47272. CreateDynamicObjectEx(2776,-1107.760,-76.930,2039.770,0.000,0.000,0.000,250.000,250.000);
  47273. CreateDynamicObjectEx(2776,-1111.130,-76.889,2039.770,0.000,0.000,0.000,250.000,250.000);
  47274. CreateDynamicObjectEx(2776,-1111.390,-81.160,2039.770,0.000,0.000,16.000,250.000,250.000);
  47275. CreateDynamicObjectEx(2776,-1107.579,-85.379,2039.770,0.000,0.000,180.000,250.000,250.000);
  47276. CreateDynamicObjectEx(2776,-1110.939,-85.260,2039.770,0.000,0.000,179.994,250.000,250.000);
  47277. CreateDynamicObjectEx(2776,-1110.670,-80.620,2039.770,0.000,0.000,193.994,250.000,250.000);
  47278. CreateDynamicObjectEx(2776,-1107.310,-80.809,2039.770,0.000,0.000,179.994,250.000,250.000);
  47279. CreateDynamicObjectEx(1494,-1104.859,-88.363,2039.260,0.000,0.000,90.000,250.000,250.000);
  47280. CreateDynamicObjectEx(1726,-1119.180,-103.370,2039.270,0.000,0.000,90.000,250.000,250.000);
  47281. CreateDynamicObjectEx(1726,-1117.469,-103.069,2039.229,0.000,0.000,179.994,250.000,250.000);
  47282. CreateDynamicObjectEx(1726,-1119.119,-93.089,2039.270,0.000,0.000,90.000,250.000,250.000);
  47283. CreateDynamicObjectEx(1726,-1119.089,-85.440,2039.270,0.000,0.000,90.000,250.000,250.000);
  47284. CreateDynamicObjectEx(1726,-1119.160,-89.589,2039.270,0.000,0.000,90.000,250.000,250.000);
  47285. CreateDynamicObjectEx(1726,-1119.160,-77.110,2039.270,0.000,0.000,90.000,250.000,250.000);
  47286. CreateDynamicObjectEx(1726,-1119.020,-72.559,2039.250,0.000,0.000,90.000,250.000,250.000);
  47287. CreateDynamicObjectEx(1726,-1119.339,-70.879,2039.300,0.000,0.000,0.000,250.000,250.000);
  47288. CreateDynamicObjectEx(1726,-1108.689,-70.849,2039.300,0.000,0.000,0.000,250.000,250.000);
  47289. CreateDynamicObjectEx(1726,-1105.819,-70.870,2039.300,0.000,0.000,0.000,250.000,250.000);
  47290. CreateDynamicObjectEx(1726,-1102.829,-70.830,2039.300,0.000,0.000,0.000,250.000,250.000);
  47291. CreateDynamicObjectEx(2855,-1094.920,-79.120,2040.079,0.000,0.000,0.000,250.000,250.000);
  47292. CreateDynamicObjectEx(2852,-1103.329,-111.250,2039.770,0.000,0.000,0.000,250.000,250.000);
  47293. CreateDynamicObjectEx(14687,-1100.390,-99.080,2041.250,0.000,0.000,0.000,250.000,250.000);
  47294. CreateDynamicObjectEx(14687,-1100.459,-93.540,2041.250,0.000,0.000,0.000,250.000,250.000);
  47295. CreateDynamicObjectEx(14687,-1100.459,-88.489,2041.250,0.000,0.000,0.000,250.000,250.000);
  47296. CreateDynamicObjectEx(14687,-1100.429,-82.379,2041.250,0.000,0.000,0.000,250.000,250.000);
  47297. CreateDynamicObjectEx(14687,-1115.140,-81.709,2041.250,0.000,0.000,0.000,250.000,250.000);
  47298. CreateDynamicObjectEx(14687,-1115.199,-87.889,2041.250,0.000,0.000,0.000,250.000,250.000);
  47299. CreateDynamicObjectEx(14687,-1115.290,-93.169,2041.250,0.000,0.000,0.000,250.000,250.000);
  47300. CreateDynamicObjectEx(14687,-1115.329,-97.419,2041.250,0.000,0.000,0.000,250.000,250.000);
  47301. CreateDynamicObjectEx(14687,-1119.760,-82.629,2041.250,0.000,0.000,0.000,250.000,250.000);
  47302. CreateDynamicObjectEx(14687,-1119.829,-98.860,2041.250,0.000,0.000,0.000,250.000,250.000);
  47303. CreateDynamicObjectEx(2063,-1106.799,-98.399,2040.180,0.000,0.000,179.994,250.000,250.000);
  47304. CreateDynamicObjectEx(2063,-1109.409,-98.389,2040.180,0.000,0.000,179.994,250.000,250.000);
  47305. CreateDynamicObjectEx(2063,-1112.020,-98.400,2040.180,0.000,0.000,179.994,250.000,250.000);
  47306. CreateDynamicObjectEx(2007,-1105.139,-97.319,2039.270,0.000,0.000,270.000,250.000,250.000);
  47307. CreateDynamicObjectEx(2007,-1105.140,-97.319,2040.650,0.000,0.000,270.000,250.000,250.000);
  47308. CreateDynamicObjectEx(2007,-1113.449,-97.319,2039.270,0.000,0.000,90.000,250.000,250.000);
  47309. CreateDynamicObjectEx(2007,-1113.449,-97.319,2040.670,0.000,0.000,90.000,250.000,250.000);
  47310. CreateDynamicObjectEx(373,-1113.290,-98.150,2039.709,330.000,300.000,32.000,250.000,250.000);
  47311. CreateDynamicObjectEx(1822,-1110.109,-90.680,2039.270,0.000,0.000,0.000,250.000,250.000);
  47312. CreateDynamicObjectEx(1822,-1101.219,-107.980,2039.270,0.000,0.000,309.995,250.000,250.000);
  47313. CreateDynamicObjectEx(1822,-1104.030,-111.250,2039.270,0.000,0.000,309.995,250.000,250.000);
  47314. CreateDynamicObjectEx(1822,-1115.380,-108.330,2039.270,0.000,0.000,309.995,250.000,250.000);
  47315. CreateDynamicObjectEx(1822,-1119.900,-100.260,2039.270,0.000,0.000,309.995,250.000,250.000);
  47316. CreateDynamicObjectEx(1822,-1119.819,-86.489,2039.270,0.000,0.000,309.995,250.000,250.000);
  47317. CreateDynamicObjectEx(1822,-1119.790,-73.809,2039.270,0.000,0.000,309.995,250.000,250.000);
  47318. CreateDynamicObjectEx(1822,-1116.689,-70.809,2039.270,0.000,0.000,309.995,250.000,250.000);
  47319. CreateDynamicObjectEx(2852,-1100.589,-107.989,2039.770,0.000,0.000,0.000,250.000,250.000);
  47320. CreateDynamicObjectEx(2852,-1114.650,-108.360,2039.770,0.000,0.000,0.000,250.000,250.000);
  47321. CreateDynamicObjectEx(2852,-1119.229,-100.339,2039.770,0.000,0.000,0.000,250.000,250.000);
  47322. CreateDynamicObjectEx(2852,-1119.060,-86.629,2039.770,0.000,0.000,0.000,250.000,250.000);
  47323. CreateDynamicObjectEx(2852,-1119.089,-73.860,2039.770,0.000,0.000,0.000,250.000,250.000);
  47324. CreateDynamicObjectEx(2852,-1116.000,-71.019,2039.770,0.000,0.000,0.000,250.000,250.000);
  47325. CreateDynamicObjectEx(1808,-1111.959,-111.589,2039.270,0.000,0.000,180.000,250.000,250.000);
  47326. CreateDynamicObjectEx(1808,-1119.489,-90.339,2039.270,0.000,0.000,90.000,250.000,250.000);
  47327. CreateDynamicObjectEx(19450,-1090.011,-75.595,2037.750,0.000,0.000,0.000,250.000,250.000);
  47328. CreateDynamicObjectEx(2066,-1090.699,-103.139,2039.319,0.000,0.000,179.994,250.000,250.000);
  47329. CreateDynamicObjectEx(356,-1107.140,-98.300,2040.599,69.999,0.000,0.000,250.000,250.000);
  47330. CreateDynamicObjectEx(356,-1107.140,-98.300,2040.119,69.999,0.000,0.000,250.000,250.000);
  47331. CreateDynamicObjectEx(19404,-1088.410,-80.339,2040.869,270.000,180.001,269.995,250.000,250.000);
  47332. CreateDynamicObjectEx(19404,-1088.369,-70.739,2040.900,270.000,180.000,269.994,250.000,250.000);
  47333. CreateDynamicObjectEx(19450,-1088.510,-75.550,2042.479,0.000,90.000,179.994,250.000,250.000);
  47334. CreateDynamicObjectEx(362,-1112.920,-98.470,2040.420,0.000,30.000,12.000,250.000,250.000);
  47335. CreateDynamicObjectEx(362,-1110.140,-98.610,2040.420,0.000,29.998,21.997,250.000,250.000);
  47336. CreateDynamicObjectEx(362,-1108.160,-98.610,2039.920,0.000,29.992,15.994,250.000,250.000);
  47337. CreateDynamicObjectEx(363,-1105.930,-98.620,2039.949,0.000,0.000,0.000,250.000,250.000);
  47338. CreateDynamicObjectEx(355,-1110.550,-97.839,2039.520,0.000,300.000,251.999,250.000,250.000);
  47339. CreateDynamicObjectEx(355,-1110.199,-97.900,2039.520,0.000,299.998,251.998,250.000,250.000);
  47340. CreateDynamicObjectEx(355,-1110.369,-97.879,2039.520,0.000,299.998,251.998,250.000,250.000);
  47341. CreateDynamicObject(19376, 3776.33862, -917.46863, 9.79650, 0.00000, 90.00000, 0.00000);
  47342. CreateDynamicObject(19376, 3776.31567, -927.01746, 9.79650, 0.00000, 90.00000, 0.00000);
  47343. CreateDynamicObject(19376, 3776.34277, -936.65021, 9.79650, 0.00000, 90.00000, 0.00000);
  47344. CreateDynamicObject(19376, 3776.35986, -946.29266, 9.79650, 0.00000, 90.00000, 0.00000);
  47345. CreateDynamicObject(19376, 3776.39551, -955.86194, 9.79650, 0.00000, 90.00000, 0.00000);
  47346. CreateDynamicObject(19376, 3786.89355, -955.86908, 9.79650, 0.00000, 90.00000, 0.00000);
  47347. CreateDynamicObject(19376, 3797.25366, -955.86908, 9.79650, 0.00000, 90.00000, 0.00000);
  47348. CreateDynamicObject(19376, 3807.60571, -955.87042, 9.79650, 0.00000, 90.00000, 0.00000);
  47349. CreateDynamicObject(19376, 3807.59473, -946.24719, 9.79650, 0.00000, 90.00000, 0.00000);
  47350. CreateDynamicObject(19376, 3807.60571, -936.61041, 9.79650, 0.00000, 90.00000, 0.00000);
  47351. CreateDynamicObject(19376, 3807.62476, -927.00000, 9.79650, 0.00000, 90.00000, 0.00000);
  47352. CreateDynamicObject(19376, 3807.62476, -917.35999, 9.79650, 0.00000, 90.00000, 0.00000);
  47353. CreateDynamicObject(19376, 3797.20483, -917.35999, 9.79650, 0.00000, 90.00000, 0.00000);
  47354. CreateDynamicObject(19376, 3786.84473, -917.35999, 9.79650, 0.00000, 90.00000, 0.00000);
  47355. CreateDynamicObject(19376, 3786.79565, -927.01752, 9.79650, 0.00000, 90.00000, 0.00000);
  47356. CreateDynamicObject(19376, 3797.23560, -927.01752, 9.79650, 0.00000, 90.00000, 0.00000);
  47357. CreateDynamicObject(19376, 3797.23560, -936.65747, 9.79650, 0.00000, 90.00000, 0.00000);
  47358. CreateDynamicObject(19376, 3797.23560, -946.29749, 9.79650, 0.00000, 90.00000, 0.00000);
  47359. CreateDynamicObject(19376, 3786.75586, -946.25751, 9.79650, 0.00000, 90.00000, 0.00000);
  47360. CreateDynamicObject(19376, 3786.73022, -936.64038, 9.79650, 0.00000, 90.00000, 0.00000);
  47361. CreateDynamicObject(19943, 3772.19531, -959.17761, 9.87960, 0.00000, 0.00000, 50.00000);
  47362. CreateDynamicObject(19379, 3771.13940, -927.08643, 11.71240, 0.00000, 0.00000, 0.00000);
  47363. CreateDynamicObject(19379, 3771.15552, -917.45001, 11.71240, 0.00000, 0.00000, 0.00000);
  47364. CreateDynamicObject(19943, 3772.25928, -913.78137, 9.87870, 0.00000, 0.00000, 58.00000);
  47365. CreateDynamicObject(19379, 3775.89648, -912.66028, 11.69850, 0.00000, 0.00000, 90.00000);
  47366. CreateDynamicObject(19379, 3785.49658, -912.62030, 11.71850, -0.02000, 0.00000, 90.00000);
  47367. CreateDynamicObject(19379, 3795.09668, -912.62030, 11.71850, 0.00000, 0.00000, 90.00000);
  47368. CreateDynamicObject(19379, 3804.65674, -912.62030, 11.71850, 0.00000, 0.00000, 90.00000);
  47369. CreateDynamicObject(19379, 3808.07666, -912.62030, 11.71850, 0.00000, 0.00000, 90.00000);
  47370. CreateDynamicObject(19943, 3811.41040, -913.76422, 9.87370, 0.00000, 0.00000, 0.00000);
  47371. CreateDynamicObject(19379, 3812.79858, -917.39642, 11.72360, 0.00000, 0.00000, 0.00000);
  47372. CreateDynamicObject(19379, 3812.79858, -927.05640, 11.72360, 0.00000, 0.00000, 0.00000);
  47373. CreateDynamicObject(19379, 3812.79858, -936.67639, 11.72360, 0.00000, 0.00000, 0.00000);
  47374. CreateDynamicObject(19379, 3812.79858, -946.29639, 11.72360, 0.00000, 0.00000, 0.00000);
  47375. CreateDynamicObject(19379, 3812.79858, -955.89642, 11.72360, 0.00000, 0.00000, 0.00000);
  47376. CreateDynamicObject(19943, 3811.27173, -947.85144, 9.87760, 0.00000, 0.00000, 0.00000);
  47377. CreateDynamicObject(19379, 3775.89795, -960.59711, 11.70270, 0.00000, 0.00000, 90.00000);
  47378. CreateDynamicObject(19379, 3785.45801, -960.61713, 11.70270, 0.00000, 0.00000, 90.00000);
  47379. CreateDynamicObject(19379, 3794.89795, -960.61713, 11.70270, 0.00000, 0.00000, 90.00000);
  47380. CreateDynamicObject(19379, 3804.39795, -960.61713, 11.70270, 0.00000, 0.00000, 90.00000);
  47381. CreateDynamicObject(19379, 3807.99780, -960.61713, 11.70270, 0.00000, 0.00000, 90.00000);
  47382. CreateDynamicObject(19376, 3807.62476, -917.35999, 16.87650, 0.00000, 90.00000, 0.00000);
  47383. CreateDynamicObject(19376, 3807.62476, -927.00000, 16.87650, 0.00000, 90.00000, 0.00000);
  47384. CreateDynamicObject(19376, 3807.60571, -936.61041, 16.87650, 0.00000, 90.00000, 0.00000);
  47385. CreateDynamicObject(19376, 3807.59473, -946.24719, 16.87650, 0.00000, 90.00000, 0.00000);
  47386. CreateDynamicObject(19376, 3807.60571, -955.87042, 16.87650, 0.00000, 90.00000, 0.00000);
  47387. CreateDynamicObject(19376, 3797.25366, -955.86908, 16.87650, 0.00000, 90.00000, 0.00000);
  47388. CreateDynamicObject(19376, 3797.23560, -946.29749, 16.87650, 0.00000, 90.00000, 0.00000);
  47389. CreateDynamicObject(19376, 3797.23560, -936.65747, 16.87650, 0.00000, 90.00000, 0.00000);
  47390. CreateDynamicObject(19376, 3797.23560, -927.01752, 16.87650, 0.00000, 90.00000, 0.00000);
  47391. CreateDynamicObject(19376, 3797.20483, -917.35999, 16.87650, 0.00000, 90.00000, 0.00000);
  47392. CreateDynamicObject(19376, 3786.84473, -917.35999, 16.87650, 0.00000, 90.00000, 0.00000);
  47393. CreateDynamicObject(19376, 3786.79565, -927.01752, 16.87650, 0.00000, 90.00000, 0.00000);
  47394. CreateDynamicObject(19376, 3786.87354, -955.86908, 16.87650, 0.00000, 90.00000, 0.00000);
  47395. CreateDynamicObject(19376, 3786.75586, -946.25751, 16.87650, 0.00000, 90.00000, 0.00000);
  47396. CreateDynamicObject(19376, 3786.73022, -936.64038, 16.87650, 0.00000, 90.00000, 0.00000);
  47397. CreateDynamicObject(19376, 3776.39551, -955.86188, 16.87650, 0.00000, 90.00000, 0.00000);
  47398. CreateDynamicObject(19376, 3776.35986, -946.29272, 16.87650, 0.00000, 90.00000, 0.00000);
  47399. CreateDynamicObject(19376, 3776.34277, -936.65021, 16.87650, 0.00000, 90.00000, 0.00000);
  47400. CreateDynamicObject(19376, 3776.31567, -927.01752, 16.87650, 0.00000, 90.00000, 0.00000);
  47401. CreateDynamicObject(2783, 3771.39111, -951.18939, 10.42940, 0.00000, 0.00000, 90.00000);
  47402. CreateDynamicObject(2783, 3771.35962, -940.24738, 10.42940, 0.00000, 0.00000, 90.00000);
  47403. CreateDynamicObject(2783, 3771.33447, -928.11249, 10.42940, 0.00000, 0.00000, 90.00000);
  47404. CreateDynamicObject(2783, 3771.33447, -918.57251, 10.42940, 0.00000, 0.00000, 90.00000);
  47405. CreateDynamicObject(2785, 3778.16089, -913.03400, 10.69780, 0.00000, 0.00000, 0.00000);
  47406. CreateDynamicObject(2785, 3784.06079, -913.03400, 10.69780, 0.00000, 0.00000, 0.00000);
  47407. CreateDynamicObject(2785, 3789.80078, -913.03400, 10.69780, 0.00000, 0.00000, 0.00000);
  47408. CreateDynamicObject(2785, 3795.16089, -913.03400, 10.69780, 0.00000, 0.00000, 0.00000);
  47409. CreateDynamicObject(2785, 3802.60083, -913.03400, 10.69780, 0.00000, 0.00000, 0.00000);
  47410. CreateDynamicObject(19840, 3807.47412, -958.84637, 10.03950, 35.00000, 0.00000, 180.00000);
  47411. CreateDynamicObject(19840, 3803.13403, -958.88641, 9.65950, 35.00000, 0.00000, 180.00000);
  47412. CreateDynamicObject(19840, 3796.69409, -958.88641, 9.63950, 35.00000, 0.00000, 180.00000);
  47413. CreateDynamicObject(19840, 3794.15405, -958.88641, 9.81950, 35.00000, 0.00000, 180.00000);
  47414. CreateDynamicObject(19840, 3799.67407, -958.80640, 9.55950, 35.00000, 0.00000, 180.00000);
  47415. CreateDynamicObject(19840, 3804.37402, -958.88641, 9.97950, 35.00000, 0.00000, 180.00000);
  47416. CreateDynamicObject(19379, 3788.65088, -959.52130, 11.71240, 0.00000, 0.00000, 0.00000);
  47417. CreateDynamicObject(1649, 3795.08301, -954.78131, 15.19730, 0.00000, 0.00000, 0.00000);
  47418. CreateDynamicObject(1649, 3799.38281, -954.78131, 15.19730, 0.00000, 0.00000, 0.00000);
  47419. CreateDynamicObject(1649, 3803.68286, -954.78131, 15.19730, 0.00000, 0.00000, 0.00000);
  47420. CreateDynamicObject(1649, 3808.02295, -954.78131, 15.19730, 0.00000, 0.00000, 0.00000);
  47421. CreateDynamicObject(1649, 3810.68286, -954.78131, 15.19730, 0.00000, 0.00000, 0.00000);
  47422. CreateDynamicObject(1649, 3810.68286, -954.78131, 11.97730, 0.00000, 0.00000, 0.00000);
  47423. CreateDynamicObject(1649, 3808.02295, -954.78131, 11.97730, 0.00000, 0.00000, 0.00000);
  47424. CreateDynamicObject(1649, 3803.68286, -954.78131, 11.97730, 0.00000, 0.00000, 0.00000);
  47425. CreateDynamicObject(1649, 3799.36279, -954.78131, 11.97730, 0.00000, 0.00000, 0.00000);
  47426. CreateDynamicObject(1649, 3795.08301, -954.78131, 11.97730, 0.00000, 0.00000, 0.00000);
  47427. CreateDynamicObject(1649, 3790.82300, -954.78131, 11.97730, 0.00000, 0.00000, 0.00000);
  47428. CreateDynamicObject(19450, 3807.92358, -954.80463, 9.33800, 180.00000, 0.00000, 90.00000);
  47429. CreateDynamicObject(19450, 3798.36353, -954.80463, 9.33800, 180.00000, 0.00000, 90.00000);
  47430. CreateDynamicObject(19450, 3793.52368, -954.80463, 9.33800, 180.00000, 0.00000, 90.00000);
  47431. CreateDynamicObject(1274, 3771.24341, -935.74402, 14.01880, 0.00000, 0.00000, 90.00000);
  47432. CreateDynamicObject(1274, 3771.27588, -932.66803, 14.01880, 0.00000, 0.00000, 90.00000);
  47433. CreateDynamicObject(1649, 3790.78296, -954.78131, 15.19730, 0.00000, 0.00000, 0.00000);
  47434. CreateDynamicObject(2785, 3785.97168, -960.06409, 10.69780, 0.00000, 0.00000, 180.00000);
  47435. CreateDynamicObject(2785, 3777.08154, -960.11115, 10.69780, 0.00000, 0.00000, 180.00000);
  47436. CreateDynamicObject(1978, 3803.10083, -950.00604, 10.91510, 0.00000, 0.00000, 0.00000);
  47437. CreateDynamicObject(1978, 3794.72900, -949.97363, 10.91510, 0.00000, 0.00000, 0.00000);
  47438. CreateDynamicObject(1978, 3786.99902, -949.93768, 10.91510, 0.00000, 0.00000, 0.00000);
  47439. CreateDynamicObject(1978, 3778.90015, -949.27502, 10.91510, 0.00000, 0.00000, 0.00000);
  47440. CreateDynamicObject(19474, 3779.36865, -936.47247, 10.37650, 0.00000, 0.00000, 0.00000);
  47441. CreateDynamicObject(19474, 3787.18457, -937.19397, 10.37650, 0.00000, 0.00000, 0.00000);
  47442. CreateDynamicObject(19474, 3794.76660, -936.08136, 10.37650, 0.00000, 0.00000, 0.00000);
  47443. CreateDynamicObject(19474, 3803.25684, -936.24103, 10.37650, 0.00000, 0.00000, 0.00000);
  47444. CreateDynamicObject(1978, 3779.51318, -923.54956, 10.89230, 0.00000, 0.00000, 0.00000);
  47445. CreateDynamicObject(1978, 3787.06128, -923.78925, 10.89230, 0.00000, 0.00000, 0.00000);
  47446. CreateDynamicObject(1978, 3794.98486, -922.38715, 10.89230, 0.00000, 0.00000, 0.00000);
  47447. CreateDynamicObject(1978, 3803.57446, -920.33783, 10.89230, 0.00000, 0.00000, 0.00000);
  47448. CreateDynamicObject(16151, 3811.75952, -918.32428, 10.22880, 0.00000, 0.00000, 0.00000);
  47449. CreateDynamicObject(1536, 3812.74023, -930.93658, 9.81240, 0.00000, 0.00000, -90.00000);
  47450. CreateDynamicObject(16151, 3811.73950, -942.88428, 10.22880, 0.00000, 0.00000, 0.00000);
  47451. CreateDynamicObject(18102, -6265.33691, -1405.66980, 1345.08716, 0.00000, 0.00000, 0.00000);
  47452. CreateDynamicObject(19379, 3771.17944, -955.74640, 11.71240, 0.00000, 0.00000, 0.00000);
  47453. CreateDynamicObject(19376, 3776.33862, -917.46863, 16.87650, 0.00000, 90.00000, 0.00000);
  47454. CreateDynamicObject(2942, 3812.36792, -935.84998, 10.51010, 0.00000, 0.00000, -90.00000);
  47455. CreateDynamicObject(19379, 3771.13940, -936.72638, 11.71240, 0.00000, 0.00000, 0.00000);
  47456. CreateDynamicObject(19379, 3771.13940, -946.32642, 11.71240, 0.00000, 0.00000, 0.00000);
  47457. CreateDynamicObject(18028, 1031.98694, -1399.38074, -5.43740, 0.00000, 0.00000, 0.00000);
  47458. CreateDynamicObject(1532, 1033.30249, -1388.62964, -7.62240, 0.00000, 0.00000, 0.00000);
  47459. CreateDynamicObject(358, 1028.33496, -1401.74023, -6.49950, 0.00000, 0.00000, 6.00000);
  47460. CreateDynamicObject(358, 1028.33496, -1401.50024, -6.49950, 0.00000, 0.00000, 6.00000);
  47461. CreateDynamicObject(358, 1028.33496, -1401.20020, -6.49950, 0.00000, 0.00000, 6.00000);
  47462. CreateDynamicObject(358, 1028.33496, -1400.92017, -6.49950, 0.00000, 0.00000, 6.00000);
  47463. CreateDynamicObject(355, 1029.64697, -1400.90967, -6.39930, 0.00000, 0.00000, 6.00000);
  47464. CreateDynamicObject(355, 1029.64697, -1401.18970, -6.39930, 0.00000, 0.00000, 6.00000);
  47465. CreateDynamicObject(355, 1029.64697, -1401.48975, -6.39930, 0.00000, 0.00000, 6.00000);
  47466. CreateDynamicObject(355, 1029.64697, -1401.72974, -6.39930, 0.00000, 0.00000, 6.00000);
  47467. CreateDynamicObject(356, 1030.90198, -1400.87561, -6.39940, 0.00000, 0.00000, 6.00000);
  47468. CreateDynamicObject(356, 1030.90198, -1401.17566, -6.39940, 0.00000, 0.00000, 6.00000);
  47469. CreateDynamicObject(356, 1030.90198, -1401.47559, -6.39940, 0.00000, 0.00000, 6.00000);
  47470. CreateDynamicObject(356, 1030.90198, -1401.71558, -6.39940, 0.00000, 0.00000, 6.00000);
  47471. CreateDynamicObject(351, 1031.65039, -1401.72034, -6.35970, 0.00000, 0.00000, 6.00000);
  47472. CreateDynamicObject(351, 1031.65039, -1401.48035, -6.35970, 0.00000, 0.00000, 6.00000);
  47473. CreateDynamicObject(351, 1031.65039, -1401.18030, -6.35970, 0.00000, 0.00000, 6.00000);
  47474. CreateDynamicObject(351, 1031.65039, -1400.90027, -6.35970, 0.00000, 0.00000, 6.00000);
  47475. CreateDynamicObject(983, 1024.86182, -1401.45508, -5.91430, 0.00000, 0.00000, 0.00000);
  47476. CreateDynamicObject(983, 1024.86182, -1401.45508, -4.65430, 0.00000, 0.00000, 0.00000);
  47477. CreateDynamicObject(983, 1028.05725, -1398.25513, -5.90530, 0.00000, 0.00000, 90.00000);
  47478. CreateDynamicObject(983, 1028.05725, -1398.25513, -4.64530, 0.00000, 0.00000, 90.00000);
  47479. CreateDynamicObject(983, 1032.87732, -1398.25513, -4.64530, 0.00000, 0.00000, 90.00000);
  47480. CreateDynamicObject(983, 1032.85730, -1398.25513, -5.90530, 0.00000, 0.00000, 90.00000);
  47481. CreateDynamicObject(2311, 1039.61841, -1410.12524, -7.41400, 0.00000, 0.00000, 0.00000);
  47482. CreateDynamicObject(2311, 1041.87842, -1410.12524, -7.41400, 0.00000, 0.00000, 0.00000);
  47483. CreateDynamicObject(2311, 1037.35840, -1410.12524, -7.41400, 0.00000, 0.00000, 0.00000);
  47484. CreateDynamicObject(358, 1037.27734, -1410.54578, -6.85230, 0.00000, 0.00000, 6.00000);
  47485. CreateDynamicObject(358, 1037.27734, -1410.30579, -6.85230, 0.00000, 0.00000, 6.00000);
  47486. CreateDynamicObject(358, 1037.28540, -1410.08337, -6.85230, 0.00000, 0.00000, 6.00000);
  47487. CreateDynamicObject(358, 1037.27734, -1409.84595, -6.85230, 0.00000, 0.00000, 6.00000);
  47488. CreateDynamicObject(356, 1038.42578, -1410.52661, -6.79000, 0.00000, 0.00000, 6.00000);
  47489. CreateDynamicObject(356, 1038.42578, -1410.28662, -6.79000, 0.00000, 0.00000, 6.00000);
  47490. CreateDynamicObject(356, 1038.42578, -1410.04663, -6.79000, 0.00000, 0.00000, 6.00000);
  47491. CreateDynamicObject(356, 1038.42578, -1409.82666, -6.79000, 0.00000, 0.00000, 6.00000);
  47492. CreateDynamicObject(1242, 1039.74194, -1410.41638, -6.71000, 0.00000, 0.00000, 0.00000);
  47493. CreateDynamicObject(1242, 1039.74194, -1410.15637, -6.71000, 0.00000, 0.00000, 0.00000);
  47494. CreateDynamicObject(1242, 1039.74194, -1409.89636, -6.71000, 0.00000, 0.00000, 0.00000);
  47495. CreateDynamicObject(1240, 1040.22266, -1410.12976, -6.78970, 0.00000, 0.00000, 0.00000);
  47496. CreateDynamicObject(1240, 1040.22266, -1410.40979, -6.78970, 0.00000, 0.00000, 0.00000);
  47497. CreateDynamicObject(1240, 1040.22266, -1409.84985, -6.78970, 0.00000, 0.00000, 0.00000);
  47498. CreateDynamicObject(351, 1040.54895, -1410.53381, -6.91020, 0.00000, 0.00000, 6.00000);
  47499. CreateDynamicObject(351, 1040.54895, -1410.27380, -6.91020, 0.00000, 0.00000, 6.00000);
  47500. CreateDynamicObject(351, 1040.54895, -1409.99377, -6.91020, 0.00000, 0.00000, 6.00000);
  47501. CreateDynamicObject(351, 1040.54895, -1409.81384, -6.91020, 0.00000, 0.00000, 6.00000);
  47502. CreateDynamicObject(355, 1041.99097, -1409.78845, -6.76960, 0.00000, 0.00000, 6.00000);
  47503. CreateDynamicObject(355, 1041.99097, -1410.00854, -6.76960, 0.00000, 0.00000, 6.00000);
  47504. CreateDynamicObject(355, 1041.99097, -1410.28845, -6.76960, 0.00000, 0.00000, 6.00000);
  47505. CreateDynamicObject(355, 1041.99097, -1410.52844, -6.76960, 0.00000, 0.00000, 6.00000);
  47506. CreateDynamicObject(348, 1043.12549, -1409.77356, -6.76990, 0.00000, 0.00000, 0.00000);
  47507. CreateDynamicObject(348, 1043.12549, -1410.01355, -6.76990, 0.00000, 0.00000, 0.00000);
  47508. CreateDynamicObject(348, 1043.12549, -1410.27356, -6.76990, 0.00000, 0.00000, 0.00000);
  47509. CreateDynamicObject(348, 1043.12549, -1410.51355, -6.76990, 0.00000, 0.00000, 0.00000);
  47510. CreateDynamicObject(19087, 1029.67603, -1398.25696, -6.10860, 0.00000, 0.00000, 0.00000);
  47511. CreateDynamicObject(348, 1029.58142, -1397.78687, -6.70900, 0.00000, 0.00000, 6.00000);
  47512. CreateDynamicObject(348, 1029.58154, -1397.72693, -6.70900, 0.00000, 0.00000, 186.00000);
  47513. CreateDynamicObject(14847, 1782.43909, -1047.93115, -23.01740, 0.00000, 0.00000, 0.00000);
  47514. CreateDynamicObject(19375, 1774.95630, -1037.03650, -25.93650, 0.00000, 0.00000, 90.00000);
  47515. CreateDynamicObject(19375, 1789.77625, -1037.03650, -25.93650, 0.00000, 0.00000, 90.00000);
  47516. CreateDynamicObject(18084, 1776.61340, -1036.24670, -25.63320, 0.00000, 0.00000, 0.00000);
  47517. CreateDynamicObject(18084, 1776.63342, -1036.24670, -23.31320, 0.00000, 0.00000, 0.00000);
  47518. CreateDynamicObject(18084, 1778.45337, -1036.24670, -25.63320, 0.00000, 0.00000, 0.00000);
  47519. CreateDynamicObject(18084, 1778.45337, -1036.24670, -23.39320, 0.00000, 0.00000, 0.00000);
  47520. CreateDynamicObject(18084, 1786.19336, -1036.24670, -23.37320, 0.00000, 0.00000, 0.00000);
  47521. CreateDynamicObject(18084, 1787.97339, -1036.24670, -23.37320, 0.00000, 0.00000, 0.00000);
  47522. CreateDynamicObject(18084, 1787.97339, -1036.24670, -25.69320, 0.00000, 0.00000, 0.00000);
  47523. CreateDynamicObject(18084, 1786.21338, -1036.24670, -25.69320, 0.00000, 0.00000, 0.00000);
  47524. CreateDynamicObject(18084, 1792.89307, -1036.24963, -24.47190, 0.00000, 0.00000, 0.00000);
  47525. CreateDynamicObject(18084, 1792.89307, -1036.24963, -26.79190, 0.00000, 0.00000, 0.00000);
  47526. CreateDynamicObject(19375, 1801.00745, -1057.22510, -25.64060, 0.00000, 0.00000, 0.00000);
  47527. CreateDynamicObject(19370, 1801.05408, -1036.81055, -24.79200, 0.00000, 0.00000, 90.00000);
  47528. CreateDynamicObject(19370, 1807.72656, -1036.74536, -24.73290, 0.00000, 0.00000, 90.00000);
  47529. CreateDynamicObject(19370, 1813.06726, -1036.76563, -24.73290, 0.00000, 0.00000, 90.00000);
  47530. CreateDynamicObject(18084, 1807.44556, -1036.03467, -26.43730, 0.00000, 0.00000, 0.00000);
  47531. CreateDynamicObject(18084, 1812.86560, -1036.03467, -24.09730, 0.00000, 0.00000, 0.00000);
  47532. CreateDynamicObject(18084, 1812.86560, -1036.03467, -26.41730, 0.00000, 0.00000, 0.00000);
  47533. CreateDynamicObject(18084, 1807.40564, -1036.03467, -24.09730, 0.00000, 0.00000, 0.00000);
  47534. CreateDynamicObject(18084, 1800.34558, -1036.03467, -24.09730, 0.00000, 0.00000, 0.00000);
  47535. CreateDynamicObject(18084, 1800.34558, -1036.03467, -26.41730, 0.00000, 0.00000, 0.00000);
  47536. CreateDynamicObject(19450, 1782.96436, -1037.02942, -22.15030, 0.00000, 0.00000, 90.00000);
  47537. CreateDynamicObject(19433, 1784.69006, -1037.03540, -25.69910, 0.00000, 0.00000, 90.00000);
  47538. CreateDynamicObject(19433, 1779.95020, -1037.03540, -25.69910, 0.00000, 0.00000, 90.00000);
  47539. CreateDynamicObject(14410, 1771.59766, -1043.62988, -28.20990, 0.00000, 0.00000, 90.00000);
  47540. CreateDynamicObject(19376, 1771.59155, -1038.21204, -26.41180, 0.00000, 0.00000, 0.00000);
  47541. CreateDynamicObject(14410, 1771.43762, -1055.30994, -28.20990, 0.00000, 0.00000, 90.00000);
  47542. CreateDynamicObject(19431, 1765.13452, -1051.49231, -23.26440, 0.00000, 0.00000, 0.00000);
  47543. CreateDynamicObject(19431, 1765.13452, -1052.63232, -23.26440, 0.00000, 0.00000, 0.00000);
  47544. CreateDynamicObject(19370, 1763.85461, -1036.86096, -23.30470, 0.00000, 0.00000, 90.00000);
  47545. CreateDynamicObject(18084, 1763.58374, -1036.10339, -22.34640, 0.00000, 0.00000, 0.00000);
  47546. CreateDynamicObject(18084, 1763.58374, -1036.10339, -24.68640, 0.00000, 0.00000, 0.00000);
  47547. CreateDynamicObject(19370, 1757.95459, -1036.90100, -23.30470, 0.00000, 0.00000, 90.00000);
  47548. CreateDynamicObject(18084, 1758.00366, -1036.10339, -22.34640, 0.00000, 0.00000, 0.00000);
  47549. CreateDynamicObject(18084, 1758.10376, -1036.10339, -24.68640, 0.00000, 0.00000, 0.00000);
  47550. CreateDynamicObject(18084, 1751.88367, -1036.10339, -24.68640, 0.00000, 0.00000, 0.00000);
  47551. CreateDynamicObject(18084, 1751.92371, -1036.10339, -22.34640, 0.00000, 0.00000, 0.00000);
  47552. CreateDynamicObject(19370, 1751.91455, -1036.90100, -23.30470, 0.00000, 0.00000, 90.00000);
  47553. CreateDynamicObject(19370, 1751.78625, -1057.56824, -23.08470, 0.00000, 0.00000, 90.00000);
  47554. CreateDynamicObject(18084, 1751.78625, -1056.38818, -24.34470, 0.00000, 0.00000, 0.00000);
  47555. CreateDynamicObject(18084, 1751.78625, -1056.38818, -22.00470, 0.00000, 0.00000, 0.00000);
  47556. CreateDynamicObject(18084, 1758.18628, -1056.38818, -22.00470, 0.00000, 0.00000, 0.00000);
  47557. CreateDynamicObject(18084, 1758.18628, -1056.38818, -24.34470, 0.00000, 0.00000, 0.00000);
  47558. CreateDynamicObject(18084, 1763.74634, -1056.38818, -24.34470, 0.00000, 0.00000, 0.00000);
  47559. CreateDynamicObject(18084, 1763.72632, -1056.38818, -22.00470, 0.00000, 0.00000, 0.00000);
  47560. CreateDynamicObject(19370, 1758.06628, -1057.56824, -23.08470, 0.00000, 0.00000, 90.00000);
  47561. CreateDynamicObject(19370, 1763.72632, -1057.56824, -23.08470, 0.00000, 0.00000, 90.00000);
  47562. CreateDynamicObject(4100, 1782.54065, -1049.44263, -22.81375, 0.00000, 180.00000, -140.00000);
  47563. CreateDynamicObject(19087, 1776.51685, -1049.53223, -25.23200, 0.00000, 0.00000, 0.00000);
  47564. CreateDynamicObject(2193, 1787.41650, -1052.39197, -26.41360, 0.00000, 0.00000, -90.00000);
  47565. CreateDynamicObject(2165, 1784.97229, -1052.44226, -26.41279, 0.00000, 0.00000, 0.00000);
  47566. CreateDynamicObject(2356, 1788.01550, -1053.05286, -26.43220, 0.00000, 0.00000, 0.00000);
  47567. CreateDynamicObject(2356, 1785.52637, -1053.10254, -26.43220, 0.00000, 0.00000, 0.00000);
  47568. CreateDynamicObject(2181, 1776.19666, -1052.61108, -26.41360, 0.00000, 0.00000, 90.00000);
  47569. CreateDynamicObject(2356, 1776.64966, -1052.04919, -26.41230, 0.00000, 0.00000, 90.00000);
  47570. CreateDynamicObject(2604, 1780.55139, -1051.65027, -25.63310, 0.00000, 0.00000, 0.00000);
  47571. CreateDynamicObject(2125, 1779.79541, -1052.58484, -26.09210, 0.00000, 0.00000, 0.00000);
  47572. CreateDynamicObject(2125, 1781.73535, -1052.58484, -26.09210, 0.00000, 0.00000, 0.00000);
  47573. CreateDynamicObject(2604, 1793.07361, -1041.14685, -25.67160, 0.00000, 0.00000, 180.00000);
  47574. CreateDynamicObject(2125, 1793.95557, -1040.32031, -26.09190, 0.00000, 0.00000, 0.00000);
  47575. CreateDynamicObject(2125, 1792.15564, -1040.32031, -26.09190, 0.00000, 0.00000, 0.00000);
  47576. CreateDynamicObject(11730, 1768.01514, -1040.00293, -25.01170, 0.00000, 0.00000, -90.00000);
  47577. CreateDynamicObject(11729, 1768.02844, -1040.66711, -25.01180, 0.00000, 0.00000, -90.00000);
  47578. CreateDynamicObject(11729, 1768.02844, -1039.34705, -25.01180, 0.00000, 0.00000, -90.00000);
  47579. CreateDynamicObject(11729, 1768.02844, -1038.70715, -25.01180, 0.00000, 0.00000, -90.00000);
  47580. CreateDynamicObject(11729, 1768.02844, -1041.30713, -25.01180, 0.00000, 0.00000, -90.00000);
  47581. CreateDynamicObject(14883, 1761.45825, -1045.91455, -22.95170, 0.00000, 0.00000, 90.00000);
  47582. CreateDynamicObject(50, 1761.15308, -1049.40808, -24.01170, 90.00000, 0.00000, 180.00000);
  47583. CreateDynamicObject(50, 1763.35120, -1049.39978, -24.01170, 90.00000, 0.00000, 180.00000);
  47584. CreateDynamicObject(19375, 1781.82202, -1037.01794, -26.41260, 0.00000, 0.00000, 90.00000);
  47585. CreateDynamicObject(1557, 1780.77795, -1037.03967, -26.36680, 0.00000, 0.00000, 0.00000);
  47586. CreateDynamicObject(1557, 1783.79797, -1037.03967, -26.36680, 0.00000, 0.00000, 180.00000);
  47587. CreateDynamicObject(984, 1775.57739, -1046.76111, -23.84206, 0.00000, 0.00000, 0.00000);
  47588. CreateDynamicObject(984, 1788.90381, -1040.15613, -23.84206, 0.00000, 0.00000, 0.00000);
  47589. CreateDynamicObject(11665, 1786.96558, -1039.06042, -25.61307, 0.00000, 0.00000, 0.00000);
  47590. CreateDynamicObject(1704, 1785.94482, -1040.65881, -26.38784, 0.00000, 0.00000, 90.24001);
  47591. CreateDynamicObject(1704, 1785.92139, -1038.37793, -26.38784, 0.00000, 0.00000, 90.24001);
  47592. CreateDynamicObject(8417, 1357.32947, -1035.09448, -25.15220, 0.00000, 0.00000, 0.00000);
  47593. CreateDynamicObject(19376, 1377.82715, -1020.00623, -20.06850, 0.00000, 0.00000, 0.00000);
  47594. CreateDynamicObject(19376, 1377.82715, -1029.52625, -20.06850, 0.00000, 0.00000, 0.00000);
  47595. CreateDynamicObject(19376, 1377.82715, -1039.12622, -20.06850, 0.00000, 0.00000, 0.00000);
  47596. CreateDynamicObject(19376, 1377.82715, -1048.64624, -20.06850, 0.00000, 0.00000, 0.00000);
  47597. CreateDynamicObject(19376, 1377.84717, -1058.14734, -20.06850, 0.00000, 0.00000, 0.00000);
  47598. CreateDynamicObject(19376, 1373.12390, -1055.01611, -20.09360, 0.00000, 0.00000, 90.00000);
  47599. CreateDynamicObject(19376, 1363.48389, -1055.01611, -20.09360, 0.00000, 0.00000, 90.00000);
  47600. CreateDynamicObject(19376, 1354.00391, -1055.01611, -20.09360, 0.00000, 0.00000, 90.00000);
  47601. CreateDynamicObject(19376, 1344.48389, -1055.01611, -20.09360, 0.00000, 0.00000, 90.00000);
  47602. CreateDynamicObject(19376, 1334.92395, -1055.01611, -20.09360, 0.00000, 0.00000, 90.00000);
  47603. CreateDynamicObject(19376, 1336.72705, -1048.66736, -20.06850, 0.00000, 0.00000, 0.00000);
  47604. CreateDynamicObject(19376, 1336.72705, -1058.14734, -20.06850, 0.00000, 0.00000, 0.00000);
  47605. CreateDynamicObject(19376, 1336.72705, -1039.12622, -20.06850, 0.00000, 0.00000, 0.00000);
  47606. CreateDynamicObject(19376, 1336.72705, -1029.52625, -20.06850, 0.00000, 0.00000, 0.00000);
  47607. CreateDynamicObject(19376, 1336.72705, -1020.00623, -20.06850, 0.00000, 0.00000, 0.00000);
  47608. CreateDynamicObject(19376, 1334.92395, -1015.27612, -20.09360, 0.00000, 0.00000, 90.00000);
  47609. CreateDynamicObject(19376, 1344.46387, -1015.27612, -20.09360, 0.00000, 0.00000, 90.00000);
  47610. CreateDynamicObject(19376, 1354.00391, -1015.27612, -20.09360, 0.00000, 0.00000, 90.00000);
  47611. CreateDynamicObject(19376, 1363.50391, -1015.27570, -20.09360, 0.00000, 0.00000, 90.00000);
  47612. CreateDynamicObject(19376, 1373.12390, -1015.27612, -20.09360, 0.00000, 0.00000, 90.00000);
  47613. CreateDynamicObject(19376, 1355.58716, -1032.80615, -20.06850, 0.00000, 0.00000, 0.00000);
  47614. CreateDynamicObject(19376, 1355.58716, -1051.62732, -20.06850, 0.00000, 0.00000, 0.00000);
  47615. CreateDynamicObject(19376, 1355.58716, -1042.40625, -20.06850, 0.00000, 0.00000, 0.00000);
  47616. CreateDynamicObject(19376, 1355.58716, -1023.22620, -20.06850, 0.00000, 0.00000, 0.00000);
  47617. CreateDynamicObject(19388, 1355.58716, -1016.88452, -23.44970, 0.00000, 0.00000, 0.00000);
  47618. CreateDynamicObject(19376, 1355.58716, -1013.66620, -16.54850, 0.00000, 0.00000, 0.00000);
  47619. CreateDynamicObject(1491, 1355.62280, -1017.63629, -25.18500, 0.00000, 0.00000, 90.00000);
  47620. CreateDynamicObject(9833, 1358.42749, -1052.05396, -22.02800, 0.00000, 0.00000, 0.00000);
  47621. CreateDynamicObject(9833, 1372.72107, -1051.27893, -22.02800, 0.00000, 0.00000, 0.00000);
  47622. CreateDynamicObject(9833, 1364.82751, -1052.05396, -22.02800, 0.00000, 0.00000, 0.00000);
  47623. CreateDynamicObject(3525, 1355.87964, -1018.27887, -20.93950, 0.00000, 0.00000, 90.00000);
  47624. CreateDynamicObject(3525, 1355.83960, -1015.55890, -20.93950, 0.00000, 0.00000, 90.00000);
  47625. CreateDynamicObject(3524, 1355.67761, -1020.27173, -22.30670, 0.00000, 0.00000, 90.00000);
  47626. CreateDynamicObject(3524, 1355.67761, -1023.83173, -22.30670, 0.00000, 0.00000, 90.00000);
  47627. CreateDynamicObject(3524, 1355.67761, -1027.53174, -22.30670, 0.00000, 0.00000, 90.00000);
  47628. CreateDynamicObject(16151, 1356.64539, -1034.52014, -24.84850, -0.04000, 0.00000, 180.00000);
  47629. CreateDynamicObject(923, 1343.75635, -1017.12018, -24.42840, 0.00000, 0.00000, 0.00000);
  47630. CreateDynamicObject(923, 1346.39624, -1015.98022, -24.42840, 0.00000, 0.00000, 0.00000);
  47631. CreateDynamicObject(923, 1349.31628, -1016.10022, -24.42840, 0.00000, 0.00000, 0.00000);
  47632. CreateDynamicObject(3092, 1342.13977, -1054.67639, -24.34780, 0.00000, 0.00000, 0.00000);
  47633. CreateDynamicObject(3092, 1339.02539, -1054.85999, -24.13298, 0.00000, 0.00000, 0.00000);
  47634. CreateDynamicObject(2907, 1339.51990, -1053.32605, -25.08400, 0.00000, 0.00000, 0.00000);
  47635. CreateDynamicObject(2907, 1341.71985, -1053.30603, -24.92400, 0.00000, 0.00000, 0.00000);
  47636. CreateDynamicObject(2370, 1351.93323, -1051.12756, -25.18750, 0.00000, 0.00000, 0.00000);
  47637. CreateDynamicObject(356, 1352.13379, -1051.54895, -24.26340, 0.00000, 0.00000, 6.00000);
  47638. CreateDynamicObject(356, 1352.13379, -1051.24890, -24.26340, 0.00000, 0.00000, 6.00000);
  47639. CreateDynamicObject(356, 1352.13379, -1050.84888, -24.26340, 0.00000, 0.00000, 6.00000);
  47640. CreateDynamicObject(356, 1352.09375, -1050.38892, -24.26340, 0.00000, 0.00000, 6.00000);
  47641. CreateDynamicObject(356, 1352.13379, -1050.04895, -24.26340, 0.00000, 0.00000, 6.00000);
  47642. CreateDynamicObject(8417, 1357.31836, -1035.11426, -14.85220, 0.00000, 0.00000, 0.00000);
  47643. CreateDynamicObject(11726, 1352.06628, -1032.33069, -15.82520, 0.00000, 0.00000, 0.00000);
  47644. CreateDynamicObject(11726, 1352.06628, -1037.47070, -15.82520, 0.00000, 0.00000, 0.00000);
  47645. CreateDynamicObject(11726, 1352.06628, -1041.79065, -15.82520, 0.00000, 0.00000, 0.00000);
  47646. CreateDynamicObject(14637, 1356.07813, -1034.52661, -16.56999, 0.00000, 0.00000, 0.00000);
  47647. CreateDynamicObject(2907, 1339.51990, -1051.14600, -25.08400, 0.00000, 0.00000, 0.00000);
  47648. CreateDynamicObject(2907, 1339.51990, -1049.18604, -25.08400, 0.00000, 0.00000, 0.00000);
  47649. CreateDynamicObject(2907, 1342.35986, -1049.46594, -25.08400, 0.00000, 0.00000, 0.00000);
  47650. CreateDynamicObject(2907, 1342.59985, -1049.46594, -25.08400, 0.00000, 0.00000, 0.00000);
  47651. CreateDynamicObject(2907, 1344.79993, -1049.46594, -25.08400, 0.00000, 0.00000, 0.00000);
  47652. CreateDynamicObject(2907, 1344.79993, -1051.12598, -25.08400, 0.00000, 0.00000, 0.00000);
  47653. CreateDynamicObject(2907, 1344.79993, -1053.18604, -25.08400, 0.00000, 0.00000, 0.00000);
  47654. CreateDynamicObject(1829, 1337.56995, -1035.25989, -24.64790, 0.00000, 0.00000, 90.00000);
  47655. CreateDynamicObject(1829, 1337.56995, -1035.25989, -23.74790, 0.00000, 0.00000, 90.00000);
  47656. CreateDynamicObject(1829, 1337.52930, -1036.25879, -24.64790, 0.00000, 0.00000, 90.00000);
  47657. CreateDynamicObject(1829, 1337.56995, -1036.27991, -23.74790, 0.00000, 0.00000, 90.00000);
  47658. CreateDynamicObject(1550, 1337.06995, -1031.40039, -24.78550, 0.00000, 0.00000, -90.00000);
  47659. CreateDynamicObject(1550, 1337.06995, -1030.14038, -24.78550, 0.00000, 0.00000, -90.00000);
  47660. CreateDynamicObject(1550, 1337.06995, -1028.58044, -24.78550, 0.00000, 0.00000, -90.00000);
  47661. CreateDynamicObject(1550, 1337.06995, -1027.14038, -24.78550, 0.00000, 0.00000, -90.00000);
  47662. CreateDynamicObject(2035, 1341.53748, -1029.00964, -25.18380, 0.00000, 0.00000, 0.00000);
  47663. CreateDynamicObject(2035, 1341.53748, -1030.64966, -25.18380, 0.00000, 0.00000, 0.00000);
  47664. CreateDynamicObject(2035, 1341.53748, -1032.62964, -25.18380, 0.00000, 0.00000, 0.00000);
  47665. CreateDynamicObject(2035, 1342.55750, -1032.62964, -25.18380, 0.00000, 0.00000, 0.00000);
  47666. CreateDynamicObject(19473, 1354.17651, -1027.49487, -25.18712, 0.00000, 0.00000, 0.00000);
  47667. CreateDynamicObject(19473, 1354.17651, -1025.47485, -25.18710, 0.00000, 0.00000, 0.00000);
  47668. CreateDynamicObject(19473, 1354.17651, -1022.93488, -25.18710, 0.00000, 0.00000, 0.00000);
  47669. CreateDynamicObject(19473, 1354.17651, -1030.55493, -25.18710, 0.00000, 0.00000, 0.00000);
  47670. CreateDynamicObject(19473, 1354.17651, -1033.23486, -25.18710, 0.00000, 0.00000, 0.00000);
  47671. CreateDynamicObject(18848, 1346.47449, -1029.42224, -25.18702, 0.00000, 0.00000, 0.00000);
  47672. CreateDynamicObject(1496, 1367.19226, -1015.38647, -25.22130, 0.00000, 0.00000, 0.00000);
  47673. CreateDynamicObject(1496, 1370.21228, -1015.38647, -25.22130, 0.00000, 0.00000, 180.00000);
  47674. // LSPD Interior Texture Map By Jekrz
  47675. tmpobjid = CreateDynamicObjectEx(19378,-1637.449,707.239,1000.739,0.000,90.000,0.000,300.000,300.000);
  47676. SetDynamicObjectMaterial( tmpobjid, 0, 4829, "airport_las", "LASLACMA6", 0);
  47677. tmpobjid = CreateDynamicObjectEx(19378,-1637.449,697.609,1000.739,0.000,90.000,0.000,300.000,300.000);
  47678. SetDynamicObjectMaterial( tmpobjid, 0, 4829, "airport_las", "LASLACMA6", 0);
  47679. tmpobjid = CreateDynamicObjectEx(19378,-1626.959,697.609,1000.739,0.000,90.000,0.000,300.000,300.000);
  47680. SetDynamicObjectMaterial( tmpobjid, 0, 4829, "airport_las", "LASLACMA6", 0);
  47681. tmpobjid = CreateDynamicObjectEx(19453,-1625.079,695.549,1002.459,0.000,0.000,90.000,300.000,300.000);
  47682. SetDynamicObjectMaterial( tmpobjid, 0, 4593, "buildblk55", "sl_plazatile01", 0);
  47683. tmpobjid = CreateDynamicObjectEx(19453,-1625.089,699.460,1002.500,0.000,0.000,90.000,300.000,300.000);
  47684. SetDynamicObjectMaterial( tmpobjid, 0, 4593, "buildblk55", "sl_plazatile01", 0);
  47685. tmpobjid = CreateDynamicObjectEx(19361,-1631.020,700.520,1002.500,0.000,0.000,47.000,300.000,300.000);
  47686. SetDynamicObjectMaterial( tmpobjid, 0, 4552, "ammu_lan2", "sl_lavicdtwall1", 0);
  47687. tmpobjid = CreateDynamicObjectEx(19361,-1631.500,695.549,1002.500,0.000,0.000,90.000,300.000,300.000);
  47688. SetDynamicObjectMaterial( tmpobjid, 0, 4593, "buildblk55", "sl_plazatile01", 0);
  47689. tmpobjid = CreateDynamicObjectEx(19453,-1636.099,698.330,1002.500,0.000,0.000,47.000,300.000,300.000);
  47690. SetDynamicObjectMaterial( tmpobjid, 0, 4552, "ammu_lan2", "sl_lavicdtwall1", 0);
  47691. tmpobjid = CreateDynamicObjectEx(19453,-1632.170,706.359,1002.500,0.000,0.000,0.000,300.000,300.000);
  47692. SetDynamicObjectMaterial( tmpobjid, 0, 4552, "ammu_lan2", "sl_lavicdtwall1", 0);
  47693. tmpobjid = CreateDynamicObjectEx(19453,-1641.380,710.530,1002.500,0.000,0.000,90.000,300.000,300.000);
  47694. SetDynamicObjectMaterial( tmpobjid, 0, 4552, "ammu_lan2", "sl_lavicdtwall1", 0);
  47695. tmpobjid = CreateDynamicObjectEx(19390,-1642.640,704.099,1002.500,0.000,0.000,0.000,300.000,300.000);
  47696. SetDynamicObjectMaterial( tmpobjid, 0, 4552, "ammu_lan2", "sl_lavicdtwall1", 0);
  47697. tmpobjid = CreateDynamicObjectEx(19434,-1642.640,706.500,1002.500,0.000,0.000,0.239,300.000,300.000);
  47698. SetDynamicObjectMaterial( tmpobjid, 0, 4552, "ammu_lan2", "sl_lavicdtwall1", 0);
  47699. tmpobjid = CreateDynamicObjectEx(19434,-1642.640,701.690,1002.500,0.000,0.000,0.000,300.000,300.000);
  47700. SetDynamicObjectMaterial( tmpobjid, 0, 4552, "ammu_lan2", "sl_lavicdtwall1", 0);
  47701. tmpobjid = CreateDynamicObjectEx(19361,-1641.170,701.590,1002.500,0.000,0.000,90.000,300.000,300.000);
  47702. SetDynamicObjectMaterial( tmpobjid, 0, 4552, "ammu_lan2", "sl_lavicdtwall1", 0);
  47703. tmpobjid = CreateDynamicObjectEx(19361,-1642.640,708.900,1002.500,0.000,0.000,0.000,300.000,300.000);
  47704. SetDynamicObjectMaterial( tmpobjid, 0, 4552, "ammu_lan2", "sl_lavicdtwall1", 0);
  47705. tmpobjid = CreateDynamicObjectEx(19378,-1631.400,716.849,1000.739,0.000,90.000,0.000,300.000,300.000);
  47706. SetDynamicObjectMaterial( tmpobjid, 0, 4829, "airport_las", "LASLACMA6", 0);
  47707. tmpobjid = CreateDynamicObjectEx(19453,-1632.170,715.890,1002.500,0.000,0.000,0.000,300.000,300.000);
  47708. SetDynamicObjectMaterial( tmpobjid, 0, 4552, "ammu_lan2", "sl_lavicdtwall1", 0);
  47709. tmpobjid = CreateDynamicObjectEx(19361,-1636.650,712.049,1002.500,0.000,0.000,0.000,300.000,300.000);
  47710. SetDynamicObjectMaterial( tmpobjid, 0, 4552, "ammu_lan2", "sl_lavicdtwall1", 0);
  47711. tmpobjid = CreateDynamicObjectEx(19453,-1641.390,713.580,1002.500,0.000,0.000,90.000,300.000,300.000);
  47712. SetDynamicObjectMaterial( tmpobjid, 0, 4552, "ammu_lan2", "sl_lavicdtwall1", 0);
  47713. tmpobjid = CreateDynamicObjectEx(19390,-1636.650,715.219,1002.500,0.000,0.000,0.000,300.000,300.000);
  47714. SetDynamicObjectMaterial( tmpobjid, 0, 4552, "ammu_lan2", "sl_lavicdtwall1", 0);
  47715. tmpobjid = CreateDynamicObjectEx(19361,-1636.650,718.429,1002.500,0.000,0.000,0.000,300.000,300.000);
  47716. SetDynamicObjectMaterial( tmpobjid, 0, 4552, "ammu_lan2", "sl_lavicdtwall1", 0);
  47717. tmpobjid = CreateDynamicObjectEx(19378,-1631.400,726.479,1000.739,0.000,90.000,0.000,300.000,300.000);
  47718. SetDynamicObjectMaterial( tmpobjid, 0, 4829, "airport_las", "LASLACMA6", 0);
  47719. tmpobjid = CreateDynamicObjectEx(19379,-1641.890,718.450,1000.739,0.000,90.000,0.059,300.000,300.000);
  47720. SetDynamicObjectMaterial( tmpobjid, 0, 8391, "ballys01", "ws_floortiles4", 0);
  47721. tmpobjid = CreateDynamicObjectEx(19379,-1641.890,728.080,1000.739,0.000,90.000,0.059,300.000,300.000);
  47722. SetDynamicObjectMaterial( tmpobjid, 0, 8391, "ballys01", "ws_floortiles4", 0);
  47723. tmpobjid = CreateDynamicObjectEx(19390,-1636.650,721.630,1002.500,0.000,0.000,0.000,300.000,300.000);
  47724. SetDynamicObjectMaterial( tmpobjid, 0, 4552, "ammu_lan2", "sl_lavicdtwall1", 0);
  47725. tmpobjid = CreateDynamicObjectEx(19361,-1636.650,724.830,1002.500,0.000,0.000,0.000,300.000,300.000);
  47726. SetDynamicObjectMaterial( tmpobjid, 0, 4552, "ammu_lan2", "sl_lavicdtwall1", 0);
  47727. tmpobjid = CreateDynamicObjectEx(19453,-1641.390,724.570,1002.500,0.000,0.000,90.000,300.000,300.000);
  47728. SetDynamicObjectMaterial( tmpobjid, 0, 4552, "ammu_lan2", "sl_lavicdtwall1", 0);
  47729. tmpobjid = CreateDynamicObjectEx(19361,-1632.170,722.299,1002.500,0.000,0.000,0.000,300.000,300.000);
  47730. SetDynamicObjectMaterial( tmpobjid, 0, 4552, "ammu_lan2", "sl_lavicdtwall1", 0);
  47731. tmpobjid = CreateDynamicObjectEx(19361,-1634.989,723.859,1002.500,0.000,0.000,90.000,300.000,300.000);
  47732. SetDynamicObjectMaterial( tmpobjid, 0, 4552, "ammu_lan2", "sl_lavicdtwall1", 0);
  47733. tmpobjid = CreateDynamicObjectEx(19361,-1631.790,723.859,1002.500,0.000,0.000,90.000,300.000,300.000);
  47734. SetDynamicObjectMaterial( tmpobjid, 0, 4552, "ammu_lan2", "sl_lavicdtwall1", 0);
  47735. tmpobjid = CreateDynamicObjectEx(19453,-1644.359,718.270,1002.500,0.000,0.000,0.000,300.000,300.000);
  47736. SetDynamicObjectMaterial( tmpobjid, 0, 4552, "ammu_lan2", "sl_lavicdtwall1", 0);
  47737. tmpobjid = CreateDynamicObjectEx(19453,-1644.359,727.890,1002.500,0.000,0.000,0.000,300.000,300.000);
  47738. SetDynamicObjectMaterial( tmpobjid, 0, 4552, "ammu_lan2", "sl_lavicdtwall1", 0);
  47739. tmpobjid = CreateDynamicObjectEx(19453,-1626.660,695.549,1005.960,0.000,0.000,90.000,300.000,300.000);
  47740. SetDynamicObjectMaterial( tmpobjid, 0, 4593, "buildblk55", "sl_plazatile01", 0);
  47741. tmpobjid = CreateDynamicObjectEx(19453,-1626.660,699.479,1005.960,0.000,0.000,90.000,300.000,300.000);
  47742. SetDynamicObjectMaterial( tmpobjid, 0, 4593, "buildblk55", "sl_plazatile01", 0);
  47743. tmpobjid = CreateDynamicObjectEx(19378,-1616.729,694.640,1004.229,0.000,90.000,0.000,300.000,300.000);
  47744. SetDynamicObjectMaterial( tmpobjid, 0, 15041, "bigsfsave", "AH_flroortile9", 0);
  47745. tmpobjid = CreateDynamicObjectEx(19378,-1616.729,704.260,1004.229,0.000,90.000,0.000,300.000,300.000);
  47746. SetDynamicObjectMaterial( tmpobjid, 0, 15041, "bigsfsave", "AH_flroortile9", 0);
  47747. tmpobjid = CreateDynamicObjectEx(19453,-1616.020,699.309,1005.960,0.000,0.000,0.000,300.000,300.000);
  47748. SetDynamicObjectMaterial( tmpobjid, 0, 4593, "buildblk55", "sl_plazatile01", 0);
  47749. tmpobjid = CreateDynamicObjectEx(19453,-1620.689,703.609,1005.960,0.000,0.000,90.000,300.000,300.000);
  47750. SetDynamicObjectMaterial( tmpobjid, 0, 4593, "buildblk55", "sl_plazatile01", 0);
  47751. tmpobjid = CreateDynamicObjectEx(19453,-1620.670,691.570,1005.960,0.000,0.000,90.000,300.000,300.000);
  47752. SetDynamicObjectMaterial( tmpobjid, 0, 4593, "buildblk55", "sl_plazatile01", 0);
  47753. tmpobjid = CreateDynamicObjectEx(19453,-1616.020,689.690,1005.960,0.000,0.000,0.000,300.000,300.000);
  47754. SetDynamicObjectMaterial( tmpobjid, 0, 4593, "buildblk55", "sl_plazatile01", 0);
  47755. tmpobjid = CreateDynamicObjectEx(19453,-1629.829,698.539,1005.940,0.000,0.000,0.000,300.000,300.000);
  47756. SetDynamicObjectMaterial( tmpobjid, 0, 4593, "buildblk55", "sl_plazatile01", 0);
  47757. tmpobjid = CreateDynamicObjectEx(19453,-1630.270,691.570,1005.960,0.000,0.000,90.000,300.000,300.000);
  47758. SetDynamicObjectMaterial( tmpobjid, 0, 4593, "buildblk55", "sl_plazatile01", 0);
  47759. tmpobjid = CreateDynamicObjectEx(19453,-1630.290,703.609,1005.960,0.000,0.000,90.000,300.000,300.000);
  47760. SetDynamicObjectMaterial( tmpobjid, 0, 4593, "buildblk55", "sl_plazatile01", 0);
  47761. tmpobjid = CreateDynamicObjectEx(19378,-1635.359,704.200,1007.650,0.000,90.000,0.000,300.000,300.000);
  47762. SetDynamicObjectMaterial( tmpobjid, 0, 14710, "vgshm3int2", "HSV_3carpet2", 0);
  47763. tmpobjid = CreateDynamicObjectEx(19366,-1628.449,701.020,1007.650,0.000,90.000,0.000,300.000,300.000);
  47764. SetDynamicObjectMaterial( tmpobjid, 0, 14710, "vgshm3int2", "HSV_3carpet2", 0);
  47765. tmpobjid = CreateDynamicObjectEx(19439,-1627.449,693.859,1007.650,0.000,90.000,90.000,300.000,300.000);
  47766. SetDynamicObjectMaterial( tmpobjid, 0, 14710, "vgshm3int2", "HSV_3carpet2", 0);
  47767. tmpobjid = CreateDynamicObjectEx(19366,-1628.449,704.210,1007.650,0.000,90.000,0.000,300.000,300.000);
  47768. SetDynamicObjectMaterial( tmpobjid, 0, 14710, "vgshm3int2", "HSV_3carpet2", 0);
  47769. tmpobjid = CreateDynamicObjectEx(19439,-1628.809,693.849,1007.640,0.000,90.000,90.000,300.000,300.000);
  47770. SetDynamicObjectMaterial( tmpobjid, 0, 14710, "vgshm3int2", "HSV_3carpet2", 0);
  47771. tmpobjid = CreateDynamicObjectEx(19439,-1627.449,690.380,1007.650,0.000,90.000,90.000,300.000,300.000);
  47772. SetDynamicObjectMaterial( tmpobjid, 0, 14710, "vgshm3int2", "HSV_3carpet2", 0);
  47773. tmpobjid = CreateDynamicObjectEx(19439,-1629.040,690.409,1007.650,0.000,90.000,90.000,300.000,300.000);
  47774. SetDynamicObjectMaterial( tmpobjid, 0, 14710, "vgshm3int2", "HSV_3carpet2", 0);
  47775. tmpobjid = CreateDynamicObjectEx(19390,-1629.819,693.559,1009.440,0.000,0.000,0.000,300.000,300.000);
  47776. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47777. tmpobjid = CreateDynamicObjectEx(19390,-1629.819,701.559,1009.440,0.000,0.000,0.000,300.000,300.000);
  47778. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47779. tmpobjid = CreateDynamicObjectEx(19453,-1626.660,695.549,1009.440,0.000,0.000,90.000,300.000,300.000);
  47780. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47781. tmpobjid = CreateDynamicObjectEx(19453,-1626.660,699.479,1009.440,0.000,0.000,90.000,300.000,300.000);
  47782. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47783. tmpobjid = CreateDynamicObjectEx(19453,-1630.270,691.570,1009.440,0.000,0.000,90.000,300.000,300.000);
  47784. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47785. tmpobjid = CreateDynamicObjectEx(19453,-1620.670,691.570,1009.440,0.000,0.000,90.000,300.000,300.000);
  47786. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47787. tmpobjid = CreateDynamicObjectEx(19453,-1620.689,703.609,1009.440,0.000,0.000,90.000,300.000,300.000);
  47788. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47789. tmpobjid = CreateDynamicObjectEx(19453,-1626.209,706.219,1009.440,0.000,0.000,-50.000,300.000,300.000);
  47790. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47791. tmpobjid = CreateDynamicObjectEx(19434,-1630.489,695.179,1009.440,0.000,0.000,62.000,300.000,300.000);
  47792. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47793. tmpobjid = CreateDynamicObjectEx(19378,-1634.849,694.569,1007.650,0.000,90.000,0.000,300.000,300.000);
  47794. SetDynamicObjectMaterial( tmpobjid, 0, 14710, "vgshm3int2", "HSV_3carpet2", 0);
  47795. tmpobjid = CreateDynamicObjectEx(19434,-1630.530,691.940,1009.440,0.000,0.000,-62.000,300.000,300.000);
  47796. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47797. tmpobjid = CreateDynamicObjectEx(19434,-1629.069,695.169,1009.440,0.000,0.000,-62.000,300.000,300.000);
  47798. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47799. tmpobjid = CreateDynamicObjectEx(19434,-1629.099,691.950,1009.440,0.000,0.000,62.000,300.000,300.000);
  47800. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47801. tmpobjid = CreateDynamicObjectEx(19434,-1630.469,699.849,1009.440,0.000,0.000,-62.000,300.000,300.000);
  47802. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47803. tmpobjid = CreateDynamicObjectEx(19434,-1629.150,699.869,1009.440,0.000,0.000,62.000,300.000,300.000);
  47804. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47805. tmpobjid = CreateDynamicObjectEx(19434,-1629.099,703.260,1009.440,0.000,0.000,-62.000,300.000,300.000);
  47806. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47807. tmpobjid = CreateDynamicObjectEx(19453,-1621.920,699.570,1009.440,0.000,0.000,0.000,300.000,300.000);
  47808. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47809. tmpobjid = CreateDynamicObjectEx(19453,-1621.920,689.940,1009.440,0.000,0.000,0.000,300.000,300.000);
  47810. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47811. tmpobjid = CreateDynamicObjectEx(19361,-1636.660,691.570,1009.440,0.000,0.000,90.000,300.000,300.000);
  47812. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47813. tmpobjid = CreateDynamicObjectEx(19390,-1639.839,691.570,1009.440,0.000,0.000,90.000,300.000,300.000);
  47814. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47815. tmpobjid = CreateDynamicObjectEx(19361,-1636.660,703.609,1009.440,0.000,0.000,90.000,300.000,300.000);
  47816. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47817. tmpobjid = CreateDynamicObjectEx(19390,-1639.839,703.609,1009.440,0.000,0.000,90.000,300.000,300.000);
  47818. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47819. tmpobjid = CreateDynamicObjectEx(19453,-1641.349,686.830,1009.440,0.000,0.000,0.000,300.000,300.000);
  47820. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47821. tmpobjid = CreateDynamicObjectEx(19453,-1641.349,708.349,1009.440,0.000,0.000,0.000,300.000,300.000);
  47822. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47823. tmpobjid = CreateDynamicObjectEx(19453,-1644.540,708.349,1009.440,0.000,0.000,0.000,300.000,300.000);
  47824. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47825. tmpobjid = CreateDynamicObjectEx(19361,-1644.540,690.020,1009.440,0.000,0.000,0.000,300.000,300.000);
  47826. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47827. tmpobjid = CreateDynamicObjectEx(19361,-1646.209,688.500,1009.440,0.000,0.000,90.000,300.000,300.000);
  47828. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47829. tmpobjid = CreateDynamicObjectEx(19378,-1634.859,684.950,1007.650,0.000,90.000,0.000,300.000,300.000);
  47830. SetDynamicObjectMaterial( tmpobjid, 0, 14651, "ab_trukstpd", "Bow_bar_flooring", 0);
  47831. tmpobjid = CreateDynamicObjectEx(19390,-1643.010,688.500,1009.440,0.000,0.000,90.000,300.000,300.000);
  47832. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47833. tmpobjid = CreateDynamicObjectEx(19361,-1648.380,687.460,1009.440,0.000,0.000,-50.000,300.000,300.000);
  47834. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47835. tmpobjid = CreateDynamicObjectEx(19361,-1649.520,684.869,1009.440,0.000,0.000,0.000,300.000,300.000);
  47836. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47837. tmpobjid = CreateDynamicObjectEx(19361,-1648.349,682.340,1009.440,0.000,0.000,50.000,300.000,300.000);
  47838. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47839. tmpobjid = CreateDynamicObjectEx(19453,-1646.000,681.340,1009.440,0.000,0.000,90.000,300.000,300.000);
  47840. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47841. tmpobjid = CreateDynamicObjectEx(19453,-1631.380,686.890,1009.440,0.000,0.000,0.000,300.000,300.000);
  47842. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47843. tmpobjid = CreateDynamicObjectEx(19361,-1641.349,680.429,1009.440,0.000,0.000,0.000,300.000,300.000);
  47844. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47845. tmpobjid = CreateDynamicObjectEx(19453,-1633.189,681.340,1009.440,0.000,0.000,90.000,300.000,300.000);
  47846. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47847. tmpobjid = CreateDynamicObjectEx(19361,-1631.380,680.500,1009.440,0.000,0.000,0.000,300.000,300.000);
  47848. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47849. tmpobjid = CreateDynamicObjectEx(19378,-1625.569,713.789,1007.650,0.000,90.000,0.000,300.000,300.000);
  47850. SetDynamicObjectMaterial( tmpobjid, 0, 14710, "vgshm3int2", "HSV_3carpet2", 0);
  47851. tmpobjid = CreateDynamicObjectEx(19378,-1636.069,713.750,1007.669,0.000,90.000,0.000,300.000,300.000);
  47852. SetDynamicObjectMaterial( tmpobjid, 0, 14710, "vgshm3int2", "HSV_3carpet2", 0);
  47853. tmpobjid = CreateDynamicObjectEx(19366,-1628.400,707.390,1007.650,0.000,90.000,0.000,300.000,300.000);
  47854. SetDynamicObjectMaterial( tmpobjid, 0, 14710, "vgshm3int2", "HSV_3carpet2", 0);
  47855. tmpobjid = CreateDynamicObjectEx(19453,-1631.430,706.669,1009.440,0.000,0.000,-50.000,300.000,300.000);
  47856. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47857. tmpobjid = CreateDynamicObjectEx(19453,-1641.349,717.979,1009.440,0.000,0.000,0.000,300.000,300.000);
  47858. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47859. tmpobjid = CreateDynamicObjectEx(19453,-1636.579,716.229,1009.440,0.000,0.000,90.000,300.000,300.000);
  47860. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47861. tmpobjid = CreateDynamicObjectEx(19453,-1626.949,716.229,1009.440,0.000,0.000,90.000,300.000,300.000);
  47862. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47863. tmpobjid = CreateDynamicObjectEx(19378,-1652.980,693.033,1007.669,0.000,90.000,0.000,300.000,300.000);
  47864. SetDynamicObjectMaterial( tmpobjid, 0, 3603, "bevmans01_la", "sjmlahus29", 0);
  47865. tmpobjid = CreateDynamicObjectEx(19378,-1652.980,702.666,1007.669,0.000,90.000,0.000,300.000,300.000);
  47866. SetDynamicObjectMaterial( tmpobjid, 0, 3603, "bevmans01_la", "sjmlahus29", 0);
  47867. tmpobjid = CreateDynamicObjectEx(19453,-1641.349,708.349,1005.960,0.000,0.000,0.000,300.000,300.000);
  47868. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47869. tmpobjid = CreateDynamicObjectEx(19453,-1641.349,717.979,1005.960,0.000,0.000,0.000,300.000,300.000);
  47870. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47871. tmpobjid = CreateDynamicObjectEx(19453,-1644.540,708.349,1005.960,0.000,0.000,0.000,300.000,300.000);
  47872. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47873. tmpobjid = CreateDynamicObjectEx(19378,-1645.989,712.049,1005.750,0.000,90.000,0.000,300.000,300.000);
  47874. SetDynamicObjectMaterial( tmpobjid, 0, 14710, "vgshm3int2", "HSV_3carpet2", 0);
  47875. tmpobjid = CreateDynamicObjectEx(19453,-1644.540,717.979,1005.960,0.000,0.000,0.000,300.000,300.000);
  47876. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47877. tmpobjid = CreateDynamicObjectEx(19453,-1646.229,716.609,1009.440,0.000,0.000,90.000,300.000,300.000);
  47878. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47879. tmpobjid = CreateDynamicObjectEx(19390,-1647.750,690.030,1009.440,0.000,0.000,0.000,300.000,300.000);
  47880. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47881. tmpobjid = CreateDynamicObjectEx(19453,-1649.270,703.630,1009.440,0.000,0.000,90.000,300.000,300.000);
  47882. SetDynamicObjectMaterial( tmpobjid, 0, 3922, "bistro", "Marble2", 0);
  47883. tmpobjid = CreateDynamicObjectEx(19453,-1657.420,700.640,1009.440,0.000,0.000,-50.000,300.000,300.000);
  47884. SetDynamicObjectMaterial( tmpobjid, 0, 3922, "bistro", "Marble2", 0);
  47885. tmpobjid = CreateDynamicObjectEx(19453,-1660.900,693.159,1009.440,0.000,0.000,0.000,300.000,300.000);
  47886. SetDynamicObjectMaterial( tmpobjid, 0, 3922, "bistro", "Marble2", 0);
  47887. tmpobjid = CreateDynamicObjectEx(19453,-1658.880,688.500,1009.440,0.000,0.000,90.000,300.000,300.000);
  47888. SetDynamicObjectMaterial( tmpobjid, 0, 3922, "bistro", "Marble2", 0);
  47889. tmpobjid = CreateDynamicObjectEx(19361,-1649.369,688.500,1009.440,0.000,0.000,90.000,300.000,300.000);
  47890. SetDynamicObjectMaterial( tmpobjid, 0, 3922, "bistro", "Marble2", 0);
  47891. tmpobjid = CreateDynamicObjectEx(19361,-1652.510,688.500,1009.440,0.000,0.000,90.000,300.000,300.000);
  47892. SetDynamicObjectMaterial( tmpobjid, 0, 3922, "bistro", "Marble2", 0);
  47893. tmpobjid = CreateDynamicObjectEx(19453,-1647.790,696.450,1009.440,0.000,0.000,0.000,300.000,300.000);
  47894. SetDynamicObjectMaterial( tmpobjid, 0, 3922, "bistro", "Marble2", 0);
  47895. tmpobjid = CreateDynamicObjectEx(19390,-1647.750,702.840,1009.440,0.000,0.000,0.000,300.000,300.000);
  47896. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47897. tmpobjid = CreateDynamicObjectEx(19435,-1652.130,701.900,1008.080,90.000,0.000,0.000,300.000,300.000);
  47898. SetDynamicObjectMaterial( tmpobjid, 0, 3629, "arprtxxref_las", "dirtywhite", 0);
  47899. tmpobjid = CreateDynamicObjectEx(19435,-1650.810,699.090,1008.080,90.000,0.000,50.000,300.000,300.000);
  47900. SetDynamicObjectMaterial( tmpobjid, 0, 3629, "arprtxxref_las", "dirtywhite", 0);
  47901. tmpobjid = CreateDynamicObjectEx(19435,-1647.780,698.000,1008.080,90.000,0.000,90.000,300.000,300.000);
  47902. SetDynamicObjectMaterial( tmpobjid, 0, 3629, "arprtxxref_las", "dirtywhite", 0);
  47903. tmpobjid = CreateDynamicObjectEx(19361,-1644.709,697.400,1009.440,0.000,0.000,0.000,300.000,300.000);
  47904. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47905. tmpobjid = CreateDynamicObjectEx(19361,-1646.219,698.950,1009.440,0.000,0.000,90.000,300.000,300.000);
  47906. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47907. tmpobjid = CreateDynamicObjectEx(19361,-1646.239,695.890,1009.440,0.000,0.000,90.000,300.000,300.000);
  47908. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47909. tmpobjid = CreateDynamicObjectEx(19453,-1644.540,717.979,1009.440,0.000,0.000,0.000,300.000,300.000);
  47910. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47911. tmpobjid = CreateDynamicObjectEx(19390,-1639.609,681.340,1009.440,0.000,0.000,90.000,300.000,300.000);
  47912. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47913. tmpobjid = CreateDynamicObjectEx(19378,-1636.150,675.340,1007.650,0.000,90.000,0.000,300.000,300.000);
  47914. SetDynamicObjectMaterial( tmpobjid, 0, 14651, "ab_trukstpd", "Bow_bar_flooring", 0);
  47915. tmpobjid = CreateDynamicObjectEx(19453,-1641.349,674.080,1009.440,0.000,0.000,0.000,300.000,300.000);
  47916. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47917. tmpobjid = CreateDynamicObjectEx(19453,-1631.380,674.080,1009.440,0.000,0.000,0.000,300.000,300.000);
  47918. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47919. tmpobjid = CreateDynamicObjectEx(19453,-1635.969,670.570,1009.440,0.000,0.000,90.000,300.000,300.000);
  47920. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47921. tmpobjid = CreateDynamicObjectEx(19361,-1642.380,670.570,1009.440,0.000,0.000,90.000,300.000,300.000);
  47922. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47923. tmpobjid = CreateDynamicObjectEx(19361,-1627.069,703.609,1009.440,0.000,0.000,90.000,300.000,300.000);
  47924. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47925. tmpobjid = CreateDynamicObjectEx(19366,-1624.939,707.380,1007.650,0.000,90.000,0.000,300.000,300.000);
  47926. SetDynamicObjectMaterial( tmpobjid, 0, 14710, "vgshm3int2", "HSV_3carpet2", 0);
  47927. tmpobjid = CreateDynamicObjectEx(19453,-1627.750,714.500,1009.440,0.000,0.000,0.000,300.000,300.000);
  47928. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47929. tmpobjid = CreateDynamicObjectEx(19453,-1624.290,711.880,1009.440,0.000,0.000,0.000,300.000,300.000);
  47930. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47931. tmpobjid = CreateDynamicObjectEx(19378,-1663.475,702.666,1007.669,0.000,90.000,0.000,300.000,300.000);
  47932. SetDynamicObjectMaterial( tmpobjid, 0, 3603, "bevmans01_la", "sjmlahus29", 0);
  47933. tmpobjid = CreateDynamicObjectEx(19378,-1663.475,693.033,1007.669,0.000,90.000,0.000,300.000,300.000);
  47934. SetDynamicObjectMaterial( tmpobjid, 0, 3603, "bevmans01_la", "sjmlahus29", 0);
  47935. tmpobjid = CreateDynamicObjectEx(19378,-1645.859,704.200,1007.650,0.000,90.000,0.000,300.000,300.000);
  47936. SetDynamicObjectMaterial( tmpobjid, 0, 14710, "vgshm3int2", "HSV_3carpet2", 0);
  47937. tmpobjid = CreateDynamicObjectEx(19378,-1645.348,694.569,1007.650,0.000,90.000,0.000,300.000,300.000);
  47938. SetDynamicObjectMaterial( tmpobjid, 0, 14710, "vgshm3int2", "HSV_3carpet2", 0);
  47939. tmpobjid = CreateDynamicObjectEx(19378,-1645.348,684.950,1007.650,0.000,90.000,0.000,300.000,300.000);
  47940. SetDynamicObjectMaterial( tmpobjid, 0, 14710, "vgshm3int2", "HSV_3carpet2", 0);
  47941. tmpobjid = CreateDynamicObjectEx(19453,-1647.750,696.450,1009.440,0.000,0.000,0.000,300.000,300.000);
  47942. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47943. tmpobjid = CreateDynamicObjectEx(19361,-1646.119,703.614,1009.440,0.000,0.000,90.000,300.000,300.000);
  47944. SetDynamicObjectMaterial( tmpobjid, 0, 13007, "sw_bankint", "bank_wall1", 0);
  47945. tmpobjid = CreateDynamicObjectEx(19390,-1647.790,702.840,1009.440,0.000,0.000,0.000,300.000,300.000);
  47946. SetDynamicObjectMaterial( tmpobjid, 0, 3922, "bistro", "Marble2", 0);
  47947. tmpobjid = CreateDynamicObjectEx(19390,-1647.790,690.030,1009.440,0.000,0.000,0.000,300.000,300.000);
  47948. SetDynamicObjectMaterial( tmpobjid, 0, 3922, "bistro", "Marble2", 0);
  47949. tmpobjid = CreateDynamicObjectEx(19379,-1646.604,683.725,1007.655,0.000,-90.000,0.300,300.000,300.000);
  47950. SetDynamicObjectMaterial( tmpobjid, 0, 15055, "svlamid", "AH_flroortile3", 0);
  47951. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  47952. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  47953. /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  47954. tmpobjid = CreateDynamicObjectEx(19453,-1621.869,697.590,1002.500,0.000,0.000,0.000,300.000,300.000);
  47955. tmpobjid = CreateDynamicObjectEx(14416,-1623.810,697.510,1001.119,0.000,0.000,-90.000,300.000,300.000);
  47956. tmpobjid = CreateDynamicObjectEx(19435,-1640.800,706.020,1001.309,90.000,0.000,90.000,300.000,300.000);
  47957. tmpobjid = CreateDynamicObjectEx(19435,-1638.969,707.679,1001.309,90.000,0.000,0.000,300.000,300.000);
  47958. tmpobjid = CreateDynamicObjectEx(1998,-1639.560,707.609,1000.830,0.000,0.000,180.000,300.000,300.000);
  47959. tmpobjid = CreateDynamicObjectEx(1714,-1640.609,707.900,1000.869,0.000,0.000,20.000,300.000,300.000);
  47960. tmpobjid = CreateDynamicObjectEx(2002,-1641.520,709.969,1000.830,0.000,0.000,0.000,300.000,300.000);
  47961. tmpobjid = CreateDynamicObjectEx(2007,-1642.060,707.940,1000.830,0.000,0.000,90.000,300.000,300.000);
  47962. tmpobjid = CreateDynamicObjectEx(2010,-1641.560,706.479,1000.830,0.000,0.000,0.000,300.000,300.000);
  47963. tmpobjid = CreateDynamicObjectEx(948,-1642.170,710.080,1000.830,0.000,0.000,0.000,300.000,300.000);
  47964. tmpobjid = CreateDynamicObjectEx(2614,-1640.890,710.390,1003.330,0.000,0.000,0.000,300.000,300.000);
  47965. tmpobjid = CreateDynamicObjectEx(19385,-1642.719,704.099,1002.500,0.000,0.000,0.000,300.000,300.000);
  47966. tmpobjid = CreateDynamicObjectEx(19377,-1647.919,706.270,1000.729,0.000,90.000,0.000,300.000,300.000);
  47967. tmpobjid = CreateDynamicObjectEx(19428,-1642.719,701.700,1002.500,0.000,0.000,0.000,300.000,300.000);
  47968. tmpobjid = CreateDynamicObjectEx(19302,-1647.709,701.590,1002.020,0.000,0.000,0.000,300.000,300.000);
  47969. tmpobjid = CreateDynamicObjectEx(19447,-1649.770,696.700,1002.500,0.000,0.000,0.000,300.000,300.000);
  47970. tmpobjid = CreateDynamicObjectEx(19377,-1647.989,696.640,1000.719,0.000,90.000,0.000,300.000,300.000);
  47971. tmpobjid = CreateDynamicObjectEx(19447,-1642.719,696.099,1002.500,0.000,0.000,0.000,300.000,300.000);
  47972. tmpobjid = CreateDynamicObjectEx(19447,-1644.949,692.409,1002.500,0.000,0.000,90.000,300.000,300.000);
  47973. tmpobjid = CreateDynamicObjectEx(19355,-1644.380,701.590,1002.500,0.000,0.000,90.000,300.000,300.000);
  47974. tmpobjid = CreateDynamicObjectEx(19355,-1650.729,701.590,1002.500,0.000,0.000,90.000,300.000,300.000);
  47975. tmpobjid = CreateDynamicObjectEx(19385,-1647.560,701.590,1002.500,0.000,0.000,90.000,300.000,300.000);
  47976. tmpobjid = CreateDynamicObjectEx(19377,-1658.449,696.710,1000.719,0.000,90.000,0.000,300.000,300.000);
  47977. tmpobjid = CreateDynamicObjectEx(19377,-1658.399,706.320,1000.719,0.000,90.000,0.000,300.000,300.000);
  47978. tmpobjid = CreateDynamicObjectEx(19385,-1653.920,701.590,1002.500,0.000,0.000,90.000,300.000,300.000);
  47979. tmpobjid = CreateDynamicObjectEx(19302,-1654.020,701.640,1002.020,0.000,0.000,0.000,300.000,300.000);
  47980. tmpobjid = CreateDynamicObjectEx(19355,-1657.099,701.590,1002.500,0.000,0.000,90.000,300.000,300.000);
  47981. tmpobjid = CreateDynamicObjectEx(19447,-1657.430,696.760,1002.500,0.000,0.000,0.000,300.000,300.000);
  47982. tmpobjid = CreateDynamicObjectEx(19447,-1654.589,692.409,1002.500,0.000,0.000,90.000,300.000,300.000);
  47983. tmpobjid = CreateDynamicObjectEx(19447,-1647.449,705.679,1002.500,0.000,0.000,90.000,300.000,300.000);
  47984. tmpobjid = CreateDynamicObjectEx(19447,-1657.079,705.679,1002.500,0.000,0.000,90.000,300.000,300.000);
  47985. tmpobjid = CreateDynamicObjectEx(19447,-1657.439,706.359,1002.500,0.000,0.000,0.000,300.000,300.000);
  47986. tmpobjid = CreateDynamicObjectEx(14401,-1637.040,678.859,1000.799,0.000,0.000,0.000,300.000,300.000);
  47987. tmpobjid = CreateDynamicObjectEx(14401,-1644.920,678.940,1000.799,0.000,0.000,0.000,300.000,300.000);
  47988. tmpobjid = CreateDynamicObjectEx(14401,-1663.400,688.830,1000.799,0.000,0.000,-90.000,300.000,300.000);
  47989. tmpobjid = CreateDynamicObjectEx(14401,-1671.109,688.940,1000.799,0.000,0.000,-90.000,300.000,300.000);
  47990. tmpobjid = CreateDynamicObjectEx(2738,-1643.380,701.030,1001.349,0.000,0.000,0.000,300.000,300.000);
  47991. tmpobjid = CreateDynamicObjectEx(2524,-1644.550,700.919,1000.809,0.000,0.000,0.000,300.000,300.000);
  47992. tmpobjid = CreateDynamicObjectEx(2738,-1650.359,701.039,1001.349,0.000,0.000,0.000,300.000,300.000);
  47993. tmpobjid = CreateDynamicObjectEx(2524,-1651.500,701.000,1000.809,0.000,0.000,0.000,300.000,300.000);
  47994. tmpobjid = CreateDynamicObjectEx(1502,-1636.630,714.469,1000.830,0.000,0.000,90.000,300.000,300.000);
  47995. tmpobjid = CreateDynamicObjectEx(1502,-1636.619,720.880,1000.830,0.000,0.000,90.000,300.000,300.000);
  47996. tmpobjid = CreateDynamicObjectEx(19435,-1638.430,718.700,1001.109,90.000,0.000,90.000,300.000,300.000);
  47997. tmpobjid = CreateDynamicObjectEx(19435,-1641.920,718.700,1001.109,90.000,0.000,90.000,300.000,300.000);
  47998. tmpobjid = CreateDynamicObjectEx(19435,-1645.400,718.700,1001.109,90.000,0.000,90.000,300.000,300.000);
  47999. tmpobjid = CreateDynamicObjectEx(19435,-1638.449,718.679,1004.630,90.000,0.000,90.000,300.000,300.000);
  48000. tmpobjid = CreateDynamicObjectEx(19466,-1637.750,718.729,1002.869,0.000,0.000,90.000,300.000,300.000);
  48001. tmpobjid = CreateDynamicObjectEx(19435,-1641.920,718.700,1004.630,90.000,0.000,90.000,300.000,300.000);
  48002. tmpobjid = CreateDynamicObjectEx(19435,-1645.400,718.700,1004.630,90.000,0.000,90.000,300.000,300.000);
  48003. tmpobjid = CreateDynamicObjectEx(19466,-1639.989,718.729,1002.869,0.000,0.000,90.000,300.000,300.000);
  48004. tmpobjid = CreateDynamicObjectEx(19466,-1642.219,718.729,1002.869,0.000,0.000,90.000,300.000,300.000);
  48005. tmpobjid = CreateDynamicObjectEx(19466,-1644.459,718.729,1002.869,0.000,0.000,90.000,300.000,300.000);
  48006. tmpobjid = CreateDynamicObjectEx(2309,-1642.000,721.169,1000.830,0.000,0.000,180.000,300.000,300.000);
  48007. tmpobjid = CreateDynamicObjectEx(2309,-1640.920,721.140,1000.830,0.000,0.000,180.000,300.000,300.000);
  48008. tmpobjid = CreateDynamicObjectEx(2309,-1639.930,721.140,1000.830,0.000,0.000,180.000,300.000,300.000);
  48009. tmpobjid = CreateDynamicObjectEx(2165,-1642.770,722.780,1000.830,0.000,0.000,180.000,300.000,300.000);
  48010. tmpobjid = CreateDynamicObjectEx(1671,-1643.520,723.909,1001.289,0.000,0.000,8.000,300.000,300.000);
  48011. tmpobjid = CreateDynamicObjectEx(2002,-1638.819,723.909,1000.830,0.000,0.000,0.000,300.000,300.000);
  48012. tmpobjid = CreateDynamicObjectEx(1775,-1637.390,724.020,1001.830,0.000,0.000,0.000,300.000,300.000);
  48013. tmpobjid = CreateDynamicObjectEx(1516,-1641.660,715.909,1001.010,0.000,0.000,0.000,300.000,300.000);
  48014. tmpobjid = CreateDynamicObjectEx(1516,-1641.660,717.049,1001.010,0.000,0.000,0.000,300.000,300.000);
  48015. tmpobjid = CreateDynamicObjectEx(2309,-1639.829,716.975,1000.830,0.000,0.000,90.000,300.000,300.000);
  48016. tmpobjid = CreateDynamicObjectEx(2309,-1639.865,716.043,1000.830,0.000,0.000,90.000,300.000,300.000);
  48017. tmpobjid = CreateDynamicObjectEx(2309,-1643.305,716.540,1000.830,0.000,0.000,-90.000,300.000,300.000);
  48018. tmpobjid = CreateDynamicObjectEx(1886,-1637.520,714.450,1004.359,12.000,0.000,-115.000,300.000,300.000);
  48019. tmpobjid = CreateDynamicObjectEx(2614,-1640.930,724.440,1003.280,0.000,0.000,0.000,300.000,300.000);
  48020. tmpobjid = CreateDynamicObjectEx(1886,-1643.920,714.479,1004.359,12.000,0.000,-229.000,300.000,300.000);
  48021. tmpobjid = CreateDynamicObjectEx(1886,-1643.310,705.359,1004.359,12.000,0.000,-69.000,300.000,300.000);
  48022. tmpobjid = CreateDynamicObjectEx(1886,-1656.969,705.289,1004.359,12.000,0.000,75.000,300.000,300.000);
  48023. tmpobjid = CreateDynamicObjectEx(2010,-1643.869,721.840,1000.830,0.000,0.000,0.000,300.000,300.000);
  48024. tmpobjid = CreateDynamicObjectEx(2613,-1643.780,714.719,1000.830,0.000,0.000,0.000,300.000,300.000);
  48025. tmpobjid = CreateDynamicObjectEx(2613,-1641.790,723.809,1000.830,0.000,0.000,0.000,300.000,300.000);
  48026. tmpobjid = CreateDynamicObjectEx(2194,-1642.430,722.469,1001.840,0.000,0.000,0.000,300.000,300.000);
  48027. tmpobjid = CreateDynamicObjectEx(19377,-1641.800,723.549,1004.280,0.000,90.000,0.000,300.000,300.000);
  48028. tmpobjid = CreateDynamicObjectEx(19377,-1641.790,713.909,1004.280,0.000,90.000,0.000,300.000,300.000);
  48029. tmpobjid = CreateDynamicObjectEx(19377,-1631.310,723.330,1004.280,0.000,90.000,0.000,300.000,300.000);
  48030. tmpobjid = CreateDynamicObjectEx(19377,-1631.300,713.780,1004.280,0.000,90.000,0.000,300.000,300.000);
  48031. tmpobjid = CreateDynamicObjectEx(19377,-1641.729,704.289,1004.280,0.000,90.000,0.000,300.000,300.000);
  48032. tmpobjid = CreateDynamicObjectEx(19377,-1631.270,704.309,1004.280,0.000,90.000,0.000,300.000,300.000);
  48033. tmpobjid = CreateDynamicObjectEx(19377,-1635.010,694.690,1004.280,0.000,90.000,0.000,300.000,300.000);
  48034. tmpobjid = CreateDynamicObjectEx(19377,-1647.859,694.719,1004.280,0.000,90.000,0.000,300.000,300.000);
  48035. tmpobjid = CreateDynamicObjectEx(19377,-1658.300,694.719,1004.280,0.000,90.000,0.000,300.000,300.000);
  48036. tmpobjid = CreateDynamicObjectEx(19377,-1652.199,704.309,1004.280,0.000,90.000,0.000,300.000,300.000);
  48037. tmpobjid = CreateDynamicObjectEx(1886,-1632.609,723.219,1004.359,12.000,0.000,-35.000,300.000,300.000);
  48038. tmpobjid = CreateDynamicObjectEx(2614,-1634.329,723.729,1003.280,0.000,0.000,0.000,300.000,300.000);
  48039. tmpobjid = CreateDynamicObjectEx(2010,-1632.510,723.479,1000.830,0.000,0.000,0.000,300.000,300.000);
  48040. tmpobjid = CreateDynamicObjectEx(14416,-1624.849,701.580,1004.539,0.000,0.000,90.000,300.000,300.000);
  48041. tmpobjid = CreateDynamicObjectEx(14416,-1624.849,693.640,1004.539,0.000,0.000,90.000,300.000,300.000);
  48042. tmpobjid = CreateDynamicObjectEx(0,-1629.130,702.710,1007.760,0.000,0.000,0.000,300.000,300.000);
  48043. tmpobjid = CreateDynamicObjectEx(19466,-1629.760,698.650,1007.849,0.000,0.000,0.000,300.000,300.000);
  48044. tmpobjid = CreateDynamicObjectEx(19466,-1629.760,696.400,1007.849,0.000,0.000,0.000,300.000,300.000);
  48045. tmpobjid = CreateDynamicObjectEx(1319,-1629.790,697.479,1008.280,0.000,0.000,0.000,300.000,300.000);
  48046. tmpobjid = CreateDynamicObjectEx(19453,-1616.020,689.690,1009.440,0.000,0.000,0.000,300.000,300.000);
  48047. tmpobjid = CreateDynamicObjectEx(1944,-1616.020,699.309,1009.440,0.000,0.000,0.000,300.000,300.000);
  48048. tmpobjid = CreateDynamicObjectEx(19453,-1616.020,699.309,1009.440,0.000,0.000,0.000,300.000,300.000);
  48049. tmpobjid = CreateDynamicObjectEx(2614,-1616.160,697.559,1006.830,0.000,0.000,-90.000,300.000,300.000);
  48050. tmpobjid = CreateDynamicObjectEx(19378,-1616.729,694.640,1007.669,0.000,90.000,0.000,300.000,300.000);
  48051. tmpobjid = CreateDynamicObjectEx(19378,-1616.760,704.229,1007.669,0.000,90.000,0.000,300.000,300.000);
  48052. tmpobjid = CreateDynamicObjectEx(3440,-1631.319,695.510,1008.840,0.000,0.000,0.000,300.000,300.000);
  48053. tmpobjid = CreateDynamicObjectEx(3440,-1631.300,699.500,1008.840,0.000,0.000,0.000,300.000,300.000);
  48054. tmpobjid = CreateDynamicObjectEx(14387,-1643.219,710.099,1006.739,0.000,0.000,90.000,300.000,300.000);
  48055. tmpobjid = CreateDynamicObjectEx(19453,-1641.359,716.609,1005.960,0.000,0.000,90.000,300.000,300.000);
  48056. tmpobjid = CreateDynamicObjectEx(14819,-1642.939,716.690,1006.960,0.000,0.000,0.000,300.000,300.000);
  48057. tmpobjid = CreateDynamicObjectEx(14819,-1642.949,716.409,1006.960,0.000,0.000,180.000,300.000,300.000);
  48058. tmpobjid = CreateDynamicObjectEx(2008,-1650.010,699.260,1007.760,0.000,0.000,500.000,300.000,300.000);
  48059. tmpobjid = CreateDynamicObjectEx(1671,-1649.579,700.409,1008.260,0.000,0.000,-76.000,300.000,300.000);
  48060. tmpobjid = CreateDynamicObjectEx(2008,-1651.579,701.969,1007.760,0.000,0.000,90.000,300.000,300.000);
  48061. tmpobjid = CreateDynamicObjectEx(1671,-1650.699,702.840,1008.260,0.000,0.000,-90.000,300.000,300.000);
  48062. tmpobjid = CreateDynamicObjectEx(2007,-1648.359,698.549,1007.760,0.000,0.000,180.000,300.000,300.000);
  48063. tmpobjid = CreateDynamicObjectEx(2010,-1651.589,700.650,1007.760,0.000,0.000,0.000,300.000,300.000);
  48064. tmpobjid = CreateDynamicObjectEx(2309,-1660.619,697.000,1007.760,0.000,0.000,-90.000,300.000,300.000);
  48065. tmpobjid = CreateDynamicObjectEx(2309,-1660.640,696.250,1007.760,0.000,0.000,-90.000,300.000,300.000);
  48066. tmpobjid = CreateDynamicObjectEx(2309,-1660.609,695.570,1007.760,0.000,0.000,-90.000,300.000,300.000);
  48067. tmpobjid = CreateDynamicObjectEx(2309,-1660.619,694.820,1007.760,0.000,0.000,-90.000,300.000,300.000);
  48068. tmpobjid = CreateDynamicObjectEx(2309,-1660.660,694.099,1007.760,0.000,0.000,-90.000,300.000,300.000);
  48069. tmpobjid = CreateDynamicObjectEx(1723,-1648.439,695.539,1007.760,0.000,0.000,-90.000,300.000,300.000);
  48070. tmpobjid = CreateDynamicObjectEx(1827,-1650.150,694.580,1007.760,0.000,0.000,0.000,300.000,300.000);
  48071. tmpobjid = CreateDynamicObjectEx(2002,-1648.369,697.270,1007.760,0.000,0.000,-90.000,300.000,300.000);
  48072. tmpobjid = CreateDynamicObjectEx(1569,-1660.829,689.640,1007.669,0.000,0.000,90.000,300.000,300.000);
  48073. tmpobjid = CreateDynamicObjectEx(1569,-1660.829,692.599,1007.669,0.000,0.000,-90.000,300.000,300.000);
  48074. tmpobjid = CreateDynamicObjectEx(2412,-1648.410,691.419,1007.760,0.000,0.000,90.000,300.000,300.000);
  48075. tmpobjid = CreateDynamicObjectEx(2412,-1648.410,689.380,1007.760,0.000,0.000,90.000,300.000,300.000);
  48076. tmpobjid = CreateDynamicObjectEx(1502,-1643.790,688.479,1007.760,0.000,0.000,0.000,300.000,300.000);
  48077. tmpobjid = CreateDynamicObjectEx(2184,-1646.560,683.780,1007.760,0.000,0.000,90.000,300.000,300.000);
  48078. tmpobjid = CreateDynamicObjectEx(1714,-1648.069,684.799,1007.739,0.000,0.000,90.000,300.000,300.000);
  48079. tmpobjid = CreateDynamicObjectEx(2190,-1646.880,685.400,1008.530,0.000,0.000,-69.000,300.000,300.000);
  48080. tmpobjid = CreateDynamicObjectEx(2310,-1645.420,685.549,1008.239,0.000,0.000,18.000,300.000,300.000);
  48081. tmpobjid = CreateDynamicObjectEx(2310,-1645.569,684.059,1008.239,0.000,0.000,-20.000,300.000,300.000);
  48082. tmpobjid = CreateDynamicObjectEx(14852,-1649.250,654.510,1013.239,0.000,0.000,90.000,300.000,300.000);
  48083. tmpobjid = CreateDynamicObjectEx(1704,-1642.099,683.640,1007.760,0.000,0.000,-90.000,300.000,300.000);
  48084. tmpobjid = CreateDynamicObjectEx(1704,-1642.750,681.969,1007.760,0.000,0.000,180.000,300.000,300.000);
  48085. tmpobjid = CreateDynamicObjectEx(2010,-1641.910,682.020,1007.760,0.000,0.000,0.000,300.000,300.000);
  48086. tmpobjid = CreateDynamicObjectEx(2010,-1649.079,683.469,1007.760,0.000,0.000,0.000,300.000,300.000);
  48087. tmpobjid = CreateDynamicObjectEx(2010,-1649.069,686.369,1007.760,0.000,0.000,0.000,300.000,300.000);
  48088. tmpobjid = CreateDynamicObjectEx(14852,-1678.369,682.659,1013.239,0.000,0.000,40.000,300.000,300.000);
  48089. tmpobjid = CreateDynamicObjectEx(2614,-1644.869,681.469,1010.260,0.000,0.000,180.000,300.000,300.000);
  48090. tmpobjid = CreateDynamicObjectEx(2194,-1651.869,701.679,1008.809,0.000,0.000,0.000,300.000,300.000);
  48091. tmpobjid = CreateDynamicObjectEx(2194,-1647.479,683.919,1008.789,0.000,0.000,0.000,300.000,300.000);
  48092. tmpobjid = CreateDynamicObjectEx(1495,-1647.790,703.599,1007.760,0.000,0.000,-90.000,300.000,300.000);
  48093. tmpobjid = CreateDynamicObjectEx(1495,-1647.753,689.288,1007.760,0.000,0.000,90.000,300.000,300.000);
  48094. tmpobjid = CreateDynamicObjectEx(2614,-1660.760,695.500,1010.260,0.000,0.000,90.000,300.000,300.000);
  48095. tmpobjid = CreateDynamicObjectEx(2614,-1654.040,688.630,1010.260,0.000,0.000,180.000,300.000,300.000);
  48096. tmpobjid = CreateDynamicObjectEx(2614,-1644.569,697.409,1010.260,0.000,0.000,90.000,300.000,300.000);
  48097. tmpobjid = CreateDynamicObjectEx(14782,-1634.560,681.859,1008.809,0.000,0.000,180.000,300.000,300.000);
  48098. tmpobjid = CreateDynamicObjectEx(14401,-1627.949,670.340,1007.760,0.000,0.000,0.000,300.000,300.000);
  48099. tmpobjid = CreateDynamicObjectEx(14401,-1627.949,673.030,1007.760,0.000,0.000,0.000,300.000,300.000);
  48100. tmpobjid = CreateDynamicObjectEx(2400,-1631.500,687.369,1008.580,0.000,0.000,-90.000,300.000,300.000);
  48101. tmpobjid = CreateDynamicObjectEx(14782,-1634.739,691.039,1008.809,0.000,0.000,0.000,300.000,300.000);
  48102. tmpobjid = CreateDynamicObjectEx(1502,-1640.400,681.289,1007.760,0.000,0.000,0.000,300.000,300.000);
  48103. tmpobjid = CreateDynamicObjectEx(14852,-1608.680,670.840,1013.239,0.000,0.000,180.000,300.000,300.000);
  48104. tmpobjid = CreateDynamicObjectEx(2627,-1632.829,679.530,1007.750,0.000,0.000,180.000,300.000,300.000);
  48105. tmpobjid = CreateDynamicObjectEx(2627,-1634.329,679.539,1007.750,0.000,0.000,180.000,300.000,300.000);
  48106. tmpobjid = CreateDynamicObjectEx(2627,-1635.819,679.549,1007.750,0.000,0.000,180.000,300.000,300.000);
  48107. tmpobjid = CreateDynamicObjectEx(2627,-1637.260,679.549,1007.750,0.000,0.000,180.000,300.000,300.000);
  48108. tmpobjid = CreateDynamicObjectEx(2629,-1632.290,675.419,1007.750,0.000,0.000,-90.000,300.000,300.000);
  48109. tmpobjid = CreateDynamicObjectEx(2629,-1632.280,673.159,1007.750,0.000,0.000,-90.000,300.000,300.000);
  48110. tmpobjid = CreateDynamicObjectEx(2628,-1635.319,671.619,1007.760,0.000,0.000,180.000,300.000,300.000);
  48111. tmpobjid = CreateDynamicObjectEx(2628,-1636.619,671.619,1007.760,0.000,0.000,180.000,300.000,300.000);
  48112. tmpobjid = CreateDynamicObjectEx(14819,-1625.989,716.320,1008.859,0.000,0.000,0.000,300.000,300.000);
  48113. tmpobjid = CreateDynamicObjectEx(14819,-1626.040,716.039,1008.859,0.000,0.000,180.000,300.000,300.000);
  48114. tmpobjid = CreateDynamicObjectEx(2010,-1624.579,707.989,1007.760,0.000,0.000,0.000,300.000,300.000);
  48115. tmpobjid = CreateDynamicObjectEx(2607,-1638.420,714.510,1007.960,0.000,0.000,0.000,300.000,300.000);
  48116. tmpobjid = CreateDynamicObjectEx(2605,-1640.339,714.530,1007.960,0.000,0.000,180.000,300.000,300.000);
  48117. tmpobjid = CreateDynamicObjectEx(2605,-1640.380,713.580,1007.960,0.000,0.000,0.000,300.000,300.000);
  48118. tmpobjid = CreateDynamicObjectEx(2610,-1641.020,716.099,1008.539,0.000,0.000,0.000,300.000,300.000);
  48119. tmpobjid = CreateDynamicObjectEx(2356,-1640.219,712.450,1007.760,0.000,0.000,0.000,300.000,300.000);
  48120. tmpobjid = CreateDynamicObjectEx(2610,-1640.479,716.099,1008.539,0.000,0.000,0.000,300.000,300.000);
  48121. tmpobjid = CreateDynamicObjectEx(2356,-1639.839,715.549,1007.760,0.000,0.000,180.000,300.000,300.000);
  48122. tmpobjid = CreateDynamicObjectEx(2610,-1640.939,711.260,1008.539,0.000,0.000,90.000,300.000,300.000);
  48123. tmpobjid = CreateDynamicObjectEx(2610,-1640.939,710.710,1008.539,0.000,0.000,90.000,300.000,300.000);
  48124. tmpobjid = CreateDynamicObjectEx(2605,-1635.489,709.469,1007.960,0.000,0.000,0.000,300.000,300.000);
  48125. tmpobjid = CreateDynamicObjectEx(2356,-1635.939,708.539,1007.760,0.000,0.000,0.000,300.000,300.000);
  48126. tmpobjid = CreateDynamicObjectEx(2610,-1636.760,709.330,1008.539,0.000,0.000,0.000,300.000,300.000);
  48127. tmpobjid = CreateDynamicObjectEx(2612,-1637.219,716.099,1010.219,0.000,0.000,0.000,300.000,300.000);
  48128. tmpobjid = CreateDynamicObjectEx(2612,-1627.890,714.728,1010.219,0.000,0.000,-90.000,300.000,300.000);
  48129. tmpobjid = CreateDynamicObjectEx(2605,-1629.599,712.989,1007.960,0.000,0.000,0.000,300.000,300.000);
  48130. tmpobjid = CreateDynamicObjectEx(2607,-1631.510,713.020,1007.960,0.000,0.000,180.000,300.000,300.000);
  48131. tmpobjid = CreateDynamicObjectEx(2356,-1629.959,711.900,1007.760,0.000,0.000,0.000,300.000,300.000);
  48132. tmpobjid = CreateDynamicObjectEx(2611,-1632.979,716.099,1010.229,0.000,0.000,0.000,300.000,300.000);
  48133. tmpobjid = CreateDynamicObjectEx(2611,-1632.280,706.119,1010.229,0.000,0.000,220.000,300.000,300.000);
  48134. tmpobjid = CreateDynamicObjectEx(2186,-1636.204,704.197,1007.760,0.000,0.000,180.000,300.000,300.000);
  48135. tmpobjid = CreateDynamicObjectEx(2002,-1640.768,708.993,1007.760,0.000,0.000,90.000,300.000,300.000);
  48136. tmpobjid = CreateDynamicObjectEx(2605,-1633.959,705.859,1007.960,0.000,0.000,180.000,300.000,300.000);
  48137. tmpobjid = CreateDynamicObjectEx(2356,-1634.000,706.859,1007.760,0.000,0.000,180.000,300.000,300.000);
  48138. tmpobjid = CreateDynamicObjectEx(2607,-1632.119,706.830,1007.960,0.000,0.000,40.000,300.000,300.000);
  48139. tmpobjid = CreateDynamicObjectEx(2605,-1635.459,710.380,1007.960,0.000,0.000,180.000,300.000,300.000);
  48140. tmpobjid = CreateDynamicObjectEx(2356,-1635.479,711.460,1007.760,0.000,0.000,180.000,300.000,300.000);
  48141. tmpobjid = CreateDynamicObjectEx(2610,-1634.199,710.419,1008.539,0.000,0.000,180.000,300.000,300.000);
  48142. tmpobjid = CreateDynamicObjectEx(2610,-1631.189,707.760,1008.539,0.000,0.000,222.000,300.000,300.000);
  48143. tmpobjid = CreateDynamicObjectEx(2610,-1632.709,712.909,1008.539,0.000,0.000,0.000,300.000,300.000);
  48144. tmpobjid = CreateDynamicObjectEx(2605,-1628.387,715.192,1007.960,0.000,0.000,-90.000,300.000,300.000);
  48145. tmpobjid = CreateDynamicObjectEx(2356,-1630.469,714.979,1007.760,0.000,0.000,-90.000,300.000,300.000);
  48146. tmpobjid = CreateDynamicObjectEx(2610,-1628.102,713.939,1008.539,0.000,0.000,-90.000,300.000,300.000);
  48147. tmpobjid = CreateDynamicObjectEx(1502,-1640.630,691.539,1007.760,0.000,0.000,0.000,300.000,300.000);
  48148. tmpobjid = CreateDynamicObjectEx(1502,-1640.630,703.599,1007.760,0.000,0.000,0.000,300.000,300.000);
  48149. tmpobjid = CreateDynamicObjectEx(349,-1631.560,685.020,1010.320,0.000,10.000,90.000,300.000,300.000);
  48150. tmpobjid = CreateDynamicObjectEx(349,-1631.719,685.059,1010.299,0.000,10.000,90.000,300.000,300.000);
  48151. tmpobjid = CreateDynamicObjectEx(349,-1631.880,685.039,1010.260,0.000,10.000,90.000,300.000,300.000);
  48152. tmpobjid = CreateDynamicObjectEx(353,-1631.489,686.799,1009.479,1.000,98.000,100.000,300.000,300.000);
  48153. tmpobjid = CreateDynamicObjectEx(353,-1631.510,687.400,1009.479,1.000,98.000,100.000,300.000,300.000);
  48154. tmpobjid = CreateDynamicObjectEx(353,-1631.750,686.809,1009.479,1.000,98.000,100.000,300.000,300.000);
  48155. tmpobjid = CreateDynamicObjectEx(353,-1631.890,686.809,1009.479,1.000,98.000,100.000,300.000,300.000);
  48156. tmpobjid = CreateDynamicObjectEx(353,-1631.890,686.809,1009.479,1.000,98.000,100.000,300.000,300.000);
  48157. tmpobjid = CreateDynamicObjectEx(353,-1631.609,687.380,1009.479,1.000,98.000,100.000,300.000,300.000);
  48158. tmpobjid = CreateDynamicObjectEx(353,-1631.689,687.369,1009.479,1.000,98.000,100.000,300.000,300.000);
  48159. tmpobjid = CreateDynamicObjectEx(353,-1631.780,687.380,1009.479,1.000,98.000,100.000,300.000,300.000);
  48160. tmpobjid = CreateDynamicObjectEx(353,-1631.609,686.809,1009.479,1.000,98.000,100.000,300.000,300.000);
  48161. tmpobjid = CreateDynamicObjectEx(353,-1631.880,687.380,1009.479,1.000,98.000,100.000,300.000,300.000);
  48162. tmpobjid = CreateDynamicObjectEx(358,-1631.540,686.909,1010.309,0.000,10.000,113.000,300.000,300.000);
  48163. tmpobjid = CreateDynamicObjectEx(358,-1631.739,686.929,1010.309,0.000,10.000,113.000,300.000,300.000);
  48164. tmpobjid = CreateDynamicObjectEx(358,-1631.959,686.929,1010.309,0.000,10.000,113.000,300.000,300.000);
  48165. tmpobjid = CreateDynamicObjectEx(356,-1631.670,685.070,1009.479,0.000,8.000,-90.000,300.000,300.000);
  48166. tmpobjid = CreateDynamicObjectEx(356,-1631.569,685.130,1009.500,0.000,8.000,-90.000,300.000,300.000);
  48167. tmpobjid = CreateDynamicObjectEx(356,-1631.839,685.030,1009.460,0.000,8.000,-90.000,300.000,300.000);
  48168. tmpobjid = CreateDynamicObjectEx(356,-1631.920,685.030,1009.419,0.000,8.000,-90.000,300.000,300.000);
  48169. tmpobjid = CreateDynamicObjectEx(334,-1631.750,685.869,1009.580,1.000,95.000,91.000,300.000,300.000);
  48170. tmpobjid = CreateDynamicObjectEx(334,-1631.790,685.880,1009.580,1.000,95.000,91.000,300.000,300.000);
  48171. tmpobjid = CreateDynamicObjectEx(334,-1631.839,685.900,1009.559,1.000,95.000,91.000,300.000,300.000);
  48172. tmpobjid = CreateDynamicObjectEx(334,-1631.900,685.900,1009.559,1.000,95.000,91.000,300.000,300.000);
  48173. tmpobjid = CreateDynamicObjectEx(373,-1631.609,686.090,1010.320,-29.000,-54.000,2.000,300.000,300.000);
  48174. tmpobjid = CreateDynamicObjectEx(373,-1631.790,686.090,1010.320,-29.000,-54.000,2.000,300.000,300.000);
  48175. tmpobjid = CreateDynamicObjectEx(373,-1631.869,686.099,1010.320,-29.000,-54.000,2.000,300.000,300.000);
  48176. tmpobjid = CreateDynamicObjectEx(19377,-1639.359,711.539,1011.140,0.000,90.000,0.000,300.000,300.000);
  48177. tmpobjid = CreateDynamicObjectEx(19377,-1628.869,711.539,1011.140,0.000,90.000,0.000,300.000,300.000);
  48178. tmpobjid = CreateDynamicObjectEx(19377,-1628.940,701.929,1011.140,0.000,90.000,0.000,300.000,300.000);
  48179. tmpobjid = CreateDynamicObjectEx(19377,-1639.410,701.919,1011.140,0.000,90.000,0.000,300.000,300.000);
  48180. tmpobjid = CreateDynamicObjectEx(19377,-1649.910,701.940,1011.140,0.000,90.000,0.000,300.000,300.000);
  48181. tmpobjid = CreateDynamicObjectEx(19377,-1660.339,701.929,1011.140,0.000,90.000,0.000,300.000,300.000);
  48182. tmpobjid = CreateDynamicObjectEx(19377,-1660.349,692.309,1011.140,0.000,90.000,0.000,300.000,300.000);
  48183. tmpobjid = CreateDynamicObjectEx(19377,-1649.900,692.309,1011.140,0.000,90.000,0.000,300.000,300.000);
  48184. tmpobjid = CreateDynamicObjectEx(19377,-1639.439,692.309,1011.140,0.000,90.000,0.000,300.000,300.000);
  48185. tmpobjid = CreateDynamicObjectEx(19377,-1629.010,692.320,1011.140,0.000,90.000,0.000,300.000,300.000);
  48186. tmpobjid = CreateDynamicObjectEx(19377,-1618.520,696.010,1011.140,0.000,90.000,0.000,300.000,300.000);
  48187. tmpobjid = CreateDynamicObjectEx(19377,-1618.440,705.630,1011.140,0.000,90.000,0.000,300.000,300.000);
  48188. tmpobjid = CreateDynamicObjectEx(19377,-1646.540,682.690,1011.140,0.000,90.000,0.000,300.000,300.000);
  48189. tmpobjid = CreateDynamicObjectEx(19377,-1636.099,682.729,1011.140,0.000,90.000,0.000,300.000,300.000);
  48190. tmpobjid = CreateDynamicObjectEx(19377,-1636.130,673.109,1011.140,0.000,90.000,0.000,300.000,300.000);
  48191. tmpobjid = CreateDynamicObjectEx(334,-1631.670,685.880,1009.580,1.000,95.000,91.000,300.000,300.000);
  48192. tmpobjid = CreateDynamicObjectEx(334,-1631.609,685.890,1009.599,1.000,95.000,91.000,300.000,300.000);
  48193. tmpobjid = CreateDynamicObjectEx(2010,-1624.535,714.345,1007.760,0.000,0.000,0.000,300.000,300.000);
  48194. tmpobjid = CreateDynamicObjectEx(2010,-1627.471,714.345,1007.760,0.000,0.000,0.000,300.000,300.000);
  48195. tmpobjid = CreateDynamicObjectEx(1723,-1644.067,696.418,1007.756,0.000,0.000,90.000,300.000,300.000);
  48196. tmpobjid = CreateDynamicObjectEx(2256,-1647.686,700.481,1010.226,0.000,0.000,90.000,300.000,300.000);
  48197. tmpobjid = CreateDynamicObjectEx(2257,-1644.431,706.738,1009.846,0.000,0.000,90.000,300.000,300.000);
  48198. tmpobjid = CreateDynamicObjectEx(2258,-1641.453,704.865,1010.226,0.000,0.000,-90.000,300.000,300.000);
  48199. tmpobjid = CreateDynamicObjectEx(2259,-1631.942,689.297,1009.807,0.000,0.000,-90.000,300.000,300.000);
  48200. tmpobjid = CreateDynamicObjectEx(2260,-1640.784,688.296,1009.807,0.000,0.000,90.000,300.000,300.000);
  48201. tmpobjid = CreateDynamicObjectEx(2261,-1640.761,684.354,1009.807,0.000,0.000,90.000,300.000,300.000);
  48202. tmpobjid = CreateDynamicObjectEx(2010,-1640.863,681.806,1007.736,0.000,0.000,0.000,300.000,300.000);
  48203. tmpobjid = CreateDynamicObjectEx(630,-1637.627,671.016,1008.725,0.000,0.000,0.000,300.000,300.000);
  48204. tmpobjid = CreateDynamicObjectEx(3802,-1631.879,671.291,1010.213,0.000,0.000,86.000,300.000,300.000);
  48205. tmpobjid = CreateDynamicObjectEx(2254,-1631.491,677.610,1010.311,0.000,0.000,-90.000,300.000,300.000);
  48206. tmpobjid = CreateDynamicObjectEx(2278,-1634.928,680.758,1010.091,0.000,0.000,0.000,300.000,300.000);
  48207. tmpobjid = CreateDynamicObjectEx(2264,-1640.763,674.356,1010.071,0.000,0.000,90.000,300.000,300.000);
  48208. tmpobjid = CreateDynamicObjectEx(2614,-1641.213,678.653,1010.260,0.000,0.000,90.000,300.000,300.000);
  48209. tmpobjid = CreateDynamicObjectEx(2002,-1640.788,686.305,1007.735,0.000,0.000,90.000,300.000,300.000);
  48210. tmpobjid = CreateDynamicObjectEx(2002,-1640.828,671.159,1007.735,0.000,0.000,90.000,300.000,300.000);
  48211. tmpobjid = CreateDynamicObjectEx(631,-1640.601,675.814,1008.725,0.000,0.000,0.000,300.000,300.000);
  48212. tmpobjid = CreateDynamicObjectEx(632,-1639.782,680.708,1008.076,0.000,0.000,0.000,300.000,300.000);
  48213. tmpobjid = CreateDynamicObjectEx(2267,-1635.612,691.677,1010.206,0.000,0.000,180.000,300.000,300.000);
  48214. tmpobjid = CreateDynamicObjectEx(2271,-1637.373,703.036,1009.947,0.000,0.000,0.000,300.000,300.000);
  48215. tmpobjid = CreateDynamicObjectEx(2614,-1622.053,697.510,1010.239,0.000,0.000,-90.000,300.000,300.000);
  48216. tmpobjid = CreateDynamicObjectEx(2010,-1628.069,709.085,1007.760,0.000,0.000,0.000,300.000,300.000);
  48217. tmpobjid = CreateDynamicObjectEx(2010,-1630.140,703.256,1007.760,0.000,0.000,0.000,300.000,300.000);
  48218. tmpobjid = CreateDynamicObjectEx(2010,-1634.141,703.887,1007.760,0.000,0.000,0.000,300.000,300.000);
  48219. tmpobjid = CreateDynamicObjectEx(2010,-1638.597,703.219,1007.760,0.000,0.000,0.000,300.000,300.000);
  48220. tmpobjid = CreateDynamicObjectEx(2010,-1647.185,699.500,1007.760,0.000,0.000,0.000,300.000,300.000);
  48221. tmpobjid = CreateDynamicObjectEx(2010,-1644.652,703.233,1007.760,0.000,0.000,0.000,300.000,300.000);
  48222. tmpobjid = CreateDynamicObjectEx(2010,-1641.135,703.282,1007.760,0.000,0.000,0.000,300.000,300.000);
  48223. tmpobjid = CreateDynamicObjectEx(2011,-1644.129,689.093,1007.760,0.000,0.000,0.000,300.000,300.000);
  48224. tmpobjid = CreateDynamicObjectEx(2001,-1641.751,689.212,1007.760,0.000,0.000,0.000,300.000,300.000);
  48225. tmpobjid = CreateDynamicObjectEx(2010,-1645.016,689.108,1007.760,0.000,0.000,0.000,300.000,300.000);
  48226. tmpobjid = CreateDynamicObjectEx(2010,-1647.180,695.434,1007.760,0.000,0.000,0.000,300.000,300.000);
  48227. tmpobjid = CreateDynamicObjectEx(2010,-1630.847,695.878,1007.760,0.000,0.000,0.000,300.000,300.000);
  48228. tmpobjid = CreateDynamicObjectEx(2010,-1630.641,699.088,1007.760,0.000,0.000,0.000,300.000,300.000);
  48229. tmpobjid = CreateDynamicObjectEx(2010,-1630.119,692.414,1007.760,0.000,0.000,0.000,300.000,300.000);
  48230. tmpobjid = CreateDynamicObjectEx(2010,-1634.707,691.805,1007.760,0.000,0.000,0.000,300.000,300.000);
  48231. tmpobjid = CreateDynamicObjectEx(1723,-1631.866,692.177,1007.756,0.000,0.000,180.000,300.000,300.000);
  48232. tmpobjid = CreateDynamicObjectEx(1723,-1635.535,692.177,1007.756,0.000,0.000,180.000,300.000,300.000);
  48233. tmpobjid = CreateDynamicObjectEx(2010,-1640.832,691.953,1007.760,0.000,0.000,0.000,300.000,300.000);
  48234. tmpobjid = CreateDynamicObjectEx(2002,-1638.593,692.129,1007.735,0.000,0.000,180.000,300.000,300.000);
  48235. tmpobjid = CreateDynamicObjectEx(2280,-1631.338,705.981,1009.947,0.000,0.000,40.000,300.000,300.000);
  48236. tmpobjid = CreateDynamicObjectEx(2283,-1627.644,711.708,1010.267,0.000,0.000,90.000,300.000,300.000);
  48237. tmpobjid = CreateDynamicObjectEx(2289,-1624.407,711.627,1010.267,0.000,0.000,-90.000,300.000,300.000);
  48238. tmpobjid = CreateDynamicObjectEx(2010,-1616.561,692.007,1004.315,0.000,0.000,0.000,300.000,300.000);
  48239. tmpobjid = CreateDynamicObjectEx(2010,-1616.303,703.305,1004.315,0.000,0.000,0.000,300.000,300.000);
  48240. tmpobjid = CreateDynamicObjectEx(1724,-1617.197,699.467,1004.314,0.000,0.000,0.000,300.000,300.000);
  48241. tmpobjid = CreateDynamicObjectEx(1724,-1618.562,699.468,1004.314,0.000,0.000,0.000,300.000,300.000);
  48242. tmpobjid = CreateDynamicObjectEx(1724,-1617.537,695.820,1004.314,0.000,0.000,180.000,300.000,300.000);
  48243. tmpobjid = CreateDynamicObjectEx(1724,-1616.157,695.820,1004.314,0.000,0.000,180.000,300.000,300.000);
  48244. tmpobjid = CreateDynamicObjectEx(1724,-1616.681,694.884,1004.314,0.000,0.000,-90.000,300.000,300.000);
  48245. tmpobjid = CreateDynamicObjectEx(1724,-1616.659,701.412,1004.314,0.000,0.000,-90.000,300.000,300.000);
  48246. tmpobjid = CreateDynamicObjectEx(2286,-1657.598,688.611,1010.206,0.000,0.000,180.000,300.000,300.000);
  48247. tmpobjid = CreateDynamicObjectEx(2285,-1650.062,689.077,1009.947,0.000,0.000,180.000,300.000,300.000);
  48248. tmpobjid = CreateDynamicObjectEx(2282,-1650.217,703.055,1009.947,0.000,0.000,0.000,300.000,300.000);
  48249. tmpobjid = CreateDynamicObjectEx(2010,-1656.916,700.552,1007.760,0.000,0.000,0.000,300.000,300.000);
  48250. tmpobjid = CreateDynamicObjectEx(2010,-1660.589,693.110,1007.760,0.000,0.000,0.000,300.000,300.000);
  48251. tmpobjid = CreateDynamicObjectEx(2010,-1660.619,688.828,1007.760,0.000,0.000,0.000,300.000,300.000);
  48252. tmpobjid = CreateDynamicObjectEx(2010,-1655.931,688.819,1007.760,0.000,0.000,0.000,300.000,300.000);
  48253. tmpobjid = CreateDynamicObjectEx(2010,-1651.896,688.781,1007.760,0.000,0.000,0.000,300.000,300.000);
  48254. tmpobjid = CreateDynamicObjectEx(2010,-1648.182,692.192,1007.760,0.000,0.000,0.000,300.000,300.000);
  48255. // Simple New Hospital Interior Map By Jekrz
  48256. CreateDynamicObject(18030, 1163.30908, -1320.85718, -42.91639, 0.00000, 0.00000, 90.00000);
  48257. CreateDynamicObject(19449, 1172.91382, -1316.41748, -45.91558, 0.00000, 0.00000, 90.00000);
  48258. CreateDynamicObject(18092, 1167.12793, -1326.00476, -44.79440, 0.00000, 0.00000, -90.00000);
  48259. CreateDynamicObject(2185, 1174.18933, -1315.81470, -45.28478, 0.00000, 0.00000, 0.00000);
  48260. CreateDynamicObject(2185, 1172.02869, -1315.81470, -45.28480, 0.00000, 0.00000, 0.00000);
  48261. CreateDynamicObject(2185, 1169.76953, -1315.81470, -45.28480, 0.00000, 0.00000, 0.00000);
  48262. CreateDynamicObject(1715, 1175.05432, -1314.24292, -45.28399, 0.00000, 0.00000, 0.00000);
  48263. CreateDynamicObject(1715, 1172.94055, -1314.29333, -45.28400, 0.00000, 0.00000, 0.00000);
  48264. CreateDynamicObject(1715, 1170.51819, -1314.29333, -45.28400, 0.00000, 0.00000, 0.00000);
  48265. CreateDynamicObject(19387, 1167.55603, -1314.69080, -43.53460, 0.00000, 0.00000, 0.00000);
  48266. CreateDynamicObject(19449, 1172.28540, -1313.12109, -43.53460, 0.00000, 0.00000, 90.00000);
  48267. CreateDynamicObject(19449, 1172.48450, -1308.97131, -43.53460, 0.00000, 0.00000, 90.00000);
  48268. CreateDynamicObject(19387, 1166.67578, -1308.96936, -43.53460, 0.00000, 0.00000, 90.00000);
  48269. CreateDynamicObject(19387, 1168.61646, -1310.65308, -43.53460, 0.00000, 0.00000, 0.00000);
  48270. CreateDynamicObject(19430, 1168.61841, -1312.36963, -43.53460, 0.00000, 0.00000, 0.00000);
  48271. CreateDynamicObject(19357, 1164.94580, -1314.89734, -43.53460, 0.00000, 0.00000, 0.00000);
  48272. CreateDynamicObject(19387, 1166.47534, -1316.41748, -43.53460, 0.00000, 0.00000, 90.00000);
  48273. CreateDynamicObject(19357, 1164.94580, -1311.68799, -43.53460, 0.00000, 0.00000, 0.00000);
  48274. CreateDynamicObject(19357, 1164.94775, -1310.40698, -43.53460, 0.00000, 0.00000, 0.00000);
  48275. CreateDynamicObject(2008, 1173.94373, -1312.51819, -45.28440, 0.00000, 0.00000, 90.00000);
  48276. CreateDynamicObject(1714, 1175.52881, -1312.00610, -45.15990, 0.00000, 0.00000, -90.00000);
  48277. CreateDynamicObject(1715, 1172.04395, -1311.28967, -45.28380, 0.00000, 0.00000, 77.00000);
  48278. CreateDynamicObject(1715, 1172.01575, -1312.67920, -45.28380, 0.00000, 0.00000, 102.00000);
  48279. CreateDynamicObject(2007, 1176.20386, -1309.62170, -44.80449, 0.00000, 0.00000, -90.00000);
  48280. CreateDynamicObject(2007, 1176.20386, -1310.62305, -44.80450, 0.00000, 0.00000, -90.00000);
  48281. CreateDynamicObject(2613, 1176.21399, -1311.97400, -45.28836, 0.00000, 0.00000, 0.00000);
  48282. CreateDynamicObject(14455, 1173.70740, -1309.17566, -43.68773, 0.00000, 0.00000, 180.00000);
  48283. CreateDynamicObject(1808, 1174.65430, -1309.24780, -45.28379, 0.00000, 0.00000, 0.00000);
  48284. CreateDynamicObject(2007, 1176.12427, -1310.62305, -46.23550, 0.00000, 0.00000, -90.00000);
  48285. CreateDynamicObject(2007, 1176.12427, -1309.62170, -46.23550, 0.00000, 0.00000, -90.00000);
  48286. CreateDynamicObject(2194, 1176.55481, -1311.77795, -44.48066, 0.00000, 0.00000, 0.00000);
  48287. CreateDynamicObject(2194, 1176.55957, -1311.38916, -44.48070, 0.00000, 0.00000, 0.00000);
  48288. CreateDynamicObject(2194, 1176.58704, -1312.21606, -44.48066, 0.00000, 0.00000, 0.00000);
  48289. CreateDynamicObject(2194, 1176.57800, -1312.63745, -44.48066, 0.00000, 0.00000, 0.00000);
  48290. CreateDynamicObject(2010, 1169.05457, -1312.65100, -45.28379, 0.00000, 0.00000, 0.00000);
  48291. CreateDynamicObject(2007, 1176.31201, -1313.77576, -44.80449, 0.00000, 0.00000, -90.00000);
  48292. CreateDynamicObject(2007, 1176.30908, -1314.77551, -44.80449, 0.00000, 0.00000, -90.00000);
  48293. CreateDynamicObject(14782, 1173.00916, -1307.89587, -44.05260, 0.00000, 0.00000, 180.00000);
  48294. CreateDynamicObject(14782, 1174.62781, -1307.89978, -44.05460, 0.00000, 0.00000, 180.00000);
  48295. CreateDynamicObject(14782, 1172.61865, -1304.66309, -44.05260, 0.00000, 0.00000, -90.00000);
  48296. CreateDynamicObject(19449, 1158.18201, -1328.43970, -43.53460, 0.00000, 0.00000, 0.00000);
  48297. CreateDynamicObject(19449, 1153.31311, -1333.16711, -43.53460, 0.00000, 0.00000, 90.00000);
  48298. CreateDynamicObject(19449, 1163.01538, -1328.54712, -43.53460, 0.00000, 0.00000, 90.00000);
  48299. CreateDynamicObject(19357, 1167.74402, -1330.15881, -43.53460, 0.00000, 0.00000, 0.00000);
  48300. CreateDynamicObject(19357, 1167.74402, -1333.36670, -43.53460, 0.00000, 0.00000, 0.00000);
  48301. CreateDynamicObject(19357, 1167.74207, -1333.82776, -43.53460, 0.00000, 0.00000, 0.00000);
  48302. CreateDynamicObject(18092, 1165.32898, -1324.21838, -44.79640, 0.00000, 0.00000, 0.00000);
  48303. CreateDynamicObject(19357, 1160.99951, -1326.93005, -43.53460, 0.00000, 0.00000, 0.00000);
  48304. CreateDynamicObject(19357, 1161.00171, -1325.33936, -43.53460, 0.00000, 0.00000, 0.00000);
  48305. CreateDynamicObject(19357, 1163.07996, -1330.15881, -43.53460, 0.00000, 0.00000, 0.00000);
  48306. CreateDynamicObject(18092, 1163.92639, -1340.67249, -44.79440, 0.00000, 0.00000, -90.00000);
  48307. CreateDynamicObject(18092, 1162.12769, -1338.82788, -44.79640, 0.00000, 0.00000, 0.00000);
  48308. CreateDynamicObject(19387, 1166.06738, -1334.07019, -43.53460, 0.00000, 0.00000, 90.00000);
  48309. CreateDynamicObject(19357, 1163.07800, -1332.50647, -43.53460, 0.00000, 0.00000, 0.00000);
  48310. CreateDynamicObject(1801, 1164.97302, -1332.10742, -45.28364, 0.00000, 0.00000, 0.00000);
  48311. CreateDynamicObject(19357, 1163.07996, -1334.06824, -43.53460, 0.00000, 0.00000, 90.00000);
  48312. CreateDynamicObject(19387, 1159.88123, -1334.07019, -43.53460, 0.00000, 0.00000, 90.00000);
  48313. CreateDynamicObject(19357, 1158.18408, -1332.55688, -43.53460, 0.00000, 0.00000, 0.00000);
  48314. CreateDynamicObject(2333, 1164.66382, -1333.55737, -45.28360, 0.00000, 0.00000, 90.00000);
  48315. CreateDynamicObject(2251, 1163.41370, -1333.02954, -43.47816, 0.00000, 0.00000, 0.00000);
  48316. CreateDynamicObject(2167, 1163.71228, -1328.67188, -45.09077, 0.00000, 0.00000, 0.00000);
  48317. CreateDynamicObject(2167, 1162.44946, -1328.67188, -45.09080, 0.00000, 0.00000, 0.00000);
  48318. CreateDynamicObject(1801, 1160.06628, -1332.10742, -45.28360, 0.00000, 0.00000, 0.00000);
  48319. CreateDynamicObject(2333, 1161.52478, -1332.50928, -45.28360, 0.00000, 0.00000, -90.00000);
  48320. CreateDynamicObject(2251, 1162.51099, -1333.02771, -43.47820, 0.00000, 0.00000, 0.00000);
  48321. CreateDynamicObject(2596, 1161.47131, -1333.66870, -42.45050, 0.00000, 0.00000, 180.00000);
  48322. CreateDynamicObject(2596, 1164.78455, -1333.66870, -42.45050, 0.00000, 0.00000, 180.00000);
  48323. CreateDynamicObject(1823, 1166.46277, -1329.65588, -45.28392, 0.00000, 0.00000, 0.00000);
  48324. CreateDynamicObject(2853, 1167.10022, -1329.13501, -44.78861, 0.00000, 0.00000, 0.00000);
  48325. CreateDynamicObject(2647, 1166.60815, -1329.39026, -44.64582, 0.00000, 0.00000, 0.00000);
  48326. CreateDynamicObject(1823, 1158.49377, -1329.72803, -45.28392, 0.00000, 0.00000, 0.00000);
  48327. CreateDynamicObject(2853, 1158.98096, -1329.25317, -44.78861, 0.00000, 0.00000, 0.00000);
  48328. CreateDynamicObject(1997, 1160.33508, -1326.90918, -45.28415, 0.00000, 0.00000, 0.00000);
  48329. CreateDynamicObject(1997, 1160.37097, -1324.85217, -45.28415, 0.00000, 0.00000, 0.00000);
  48330. CreateDynamicObject(19387, 1156.31750, -1338.25305, -43.53460, 0.00000, 0.00000, 90.00000);
  48331. CreateDynamicObject(19449, 1150.00439, -1337.95544, -43.53460, 0.00000, 0.00000, 0.00000);
  48332. CreateDynamicObject(19449, 1157.84338, -1342.98792, -43.53460, 0.00000, 0.00000, 0.00000);
  48333. CreateDynamicObject(19357, 1154.80176, -1336.56409, -43.53460, 0.00000, 0.00000, 0.00000);
  48334. CreateDynamicObject(19357, 1154.80371, -1334.84326, -43.53460, 0.00000, 0.00000, 0.00000);
  48335. CreateDynamicObject(2333, 1155.97717, -1334.84863, -45.28360, 0.00000, 0.00000, 0.00000);
  48336. CreateDynamicObject(2251, 1156.36499, -1333.71423, -43.47820, 0.00000, 0.00000, 0.00000);
  48337. CreateDynamicObject(2194, 1157.06702, -1333.74585, -44.04884, 0.00000, 0.00000, 0.00000);
  48338. CreateDynamicObject(2194, 1155.90613, -1333.74585, -44.04880, 0.00000, 0.00000, 0.00000);
  48339. CreateDynamicObject(19387, 1156.49548, -1323.69507, -43.53460, 0.00000, 0.00000, 90.00000);
  48340. CreateDynamicObject(19449, 1150.09021, -1323.69702, -43.53460, 0.00000, 0.00000, 90.00000);
  48341. CreateDynamicObject(3657, 1174.36011, -1329.02283, -44.82290, 0.00000, 0.00000, 180.00000);
  48342. CreateDynamicObject(3657, 1174.36011, -1331.09692, -44.82290, 0.00000, 0.00000, 180.00000);
  48343. CreateDynamicObject(3657, 1174.36011, -1333.21228, -44.82290, 0.00000, 0.00000, 180.00000);
  48344. CreateDynamicObject(2773, 1169.42297, -1317.64478, -44.74807, 0.00000, 0.00000, 0.00000);
  48345. CreateDynamicObject(2773, 1171.69397, -1317.65588, -44.74807, 0.00000, 0.00000, 0.00000);
  48346. CreateDynamicObject(2773, 1173.95789, -1317.67529, -44.74810, 0.00000, 0.00000, 0.00000);
  48347. CreateDynamicObject(2773, 1167.75281, -1317.70178, -44.74807, 0.00000, 0.00000, 0.00000);
  48348. CreateDynamicObject(932, 1168.79993, -1316.92224, -45.28402, 0.00000, 0.00000, 0.00000);
  48349. CreateDynamicObject(932, 1168.79626, -1317.72754, -45.28402, 0.00000, 0.00000, 0.00000);
  48350. CreateDynamicObject(932, 1168.80029, -1318.47388, -45.28402, 0.00000, 0.00000, 0.00000);
  48351. CreateDynamicObject(19449, 1160.10242, -1316.41553, -43.53460, 0.00000, 0.00000, 90.00000);
  48352. CreateDynamicObject(19449, 1155.37683, -1308.57092, -43.53460, 0.00000, 0.00000, 0.00000);
  48353. CreateDynamicObject(2146, 1150.20959, -1310.55676, -44.88593, 0.00000, 0.00000, 0.00000);
  48354. CreateDynamicObject(2146, 1150.18469, -1313.28125, -44.88593, 0.00000, 0.00000, 0.00000);
  48355. CreateDynamicObject(15036, 1153.24377, -1336.12036, -44.15332, 0.00000, 0.00000, 90.00000);
  48356. CreateDynamicObject(2994, 1156.03821, -1342.28552, -44.80390, 0.00000, 0.00000, 90.00000);
  48357. CreateDynamicObject(2994, 1154.22583, -1342.35107, -44.80390, 0.00000, 0.00000, 90.00000);
  48358. CreateDynamicObject(2637, 1150.66626, -1341.81287, -44.91124, 0.00000, 0.00000, 90.00000);
  48359. CreateDynamicObject(2639, 1152.38757, -1341.73608, -44.65756, 0.00000, 0.00000, 90.00000);
  48360. CreateDynamicObject(2134, 1158.38232, -1341.33875, -45.28400, 0.00000, 0.00000, 90.00000);
  48361. CreateDynamicObject(2341, 1158.38806, -1342.31018, -45.28420, 0.00000, 0.00000, 180.00000);
  48362. CreateDynamicObject(2132, 1160.38074, -1342.29651, -45.28400, 0.00000, 0.00000, 180.00000);
  48363. CreateDynamicObject(1808, 1158.14087, -1340.52881, -45.28400, 0.00000, 0.00000, 90.00000);
  48364. CreateDynamicObject(1964, 1163.95581, -1338.92383, -44.15190, 0.00000, 0.00000, 90.00000);
  48365. CreateDynamicObject(2190, 1164.21240, -1342.29810, -44.29410, 0.00000, 0.00000, 222.00000);
  48366. CreateDynamicObject(2190, 1161.67725, -1338.29993, -44.29410, 0.00000, 0.00000, 4.00000);
  48367. CreateDynamicObject(1715, 1161.84961, -1340.33984, -45.28400, 0.00000, 0.00000, 180.00000);
  48368. CreateDynamicObject(1715, 1162.46350, -1341.38782, -45.28400, 0.00000, 0.00000, 90.00000);
  48369. CreateDynamicObject(19325, 1174.43591, -1335.66663, -43.36420, 0.00000, 0.00000, 90.00000);
  48370. CreateDynamicObject(3440, 1171.17017, -1335.67932, -43.11276, 0.00000, 0.00000, 0.00000);
  48371. CreateDynamicObject(19325, 1171.17017, -1341.70142, -43.36420, 0.00000, 0.00000, 0.00000);
  48372. CreateDynamicObject(3440, 1171.17017, -1338.24036, -43.11280, 0.00000, 0.00000, 0.00000);
  48373. CreateDynamicObject(1768, 1162.06641, -1317.11865, -45.30917, 0.00000, 0.00000, 0.00000);
  48374. CreateDynamicObject(1768, 1174.99902, -1342.16565, -45.30920, 0.00000, 0.00000, 180.00000);
  48375. CreateDynamicObject(1768, 1175.75293, -1339.46497, -45.30920, 0.00000, 0.00000, -90.00000);
  48376. CreateDynamicObject(18014, 1176.57068, -1338.02930, -44.29411, 0.00000, 0.00000, 0.00000);
  48377. CreateDynamicObject(18014, 1176.59045, -1342.60986, -44.29610, 0.00000, 0.00000, 0.00000);
  48378. CreateDynamicObject(2011, 1175.77478, -1342.40247, -45.28350, 0.00000, 0.00000, 0.00000);
  48379. CreateDynamicObject(1814, 1173.32361, -1340.85718, -45.28356, 0.00000, 0.00000, 0.00000);
  48380. CreateDynamicObject(1808, 1173.80859, -1335.88562, -45.28352, 0.00000, 0.00000, 0.00000);
  48381. CreateDynamicObject(1808, 1168.43970, -1316.11914, -45.28380, 0.00000, 0.00000, 180.00000);
  48382. CreateDynamicObject(19449, 1172.91382, -1316.41748, -41.23349, 0.00000, 0.00000, 90.00000);
  48383. CreateDynamicObject(19325, 1171.33215, -1316.41748, -41.69795, 0.00000, 0.00000, 90.00000);
  48384. CreateDynamicObject(19325, 1177.92041, -1316.41943, -41.69800, 0.00000, 0.00000, 90.00000);
  48385. CreateDynamicObject(16101, 1173.93445, -1316.41748, -53.15890, 0.00000, 0.00000, 0.00000);
  48386. CreateDynamicObject(16101, 1171.69397, -1316.41748, -53.15890, 0.00000, 0.00000, 0.00000);
  48387. CreateDynamicObject(16101, 1169.42297, -1316.41748, -53.15890, 0.00000, 0.00000, 0.00000);
  48388. CreateDynamicObject(2011, 1164.75708, -1316.84375, -45.28350, 0.00000, 0.00000, 0.00000);
  48389. CreateDynamicObject(2011, 1161.39612, -1316.84717, -45.28350, 0.00000, 0.00000, 0.00000);
  48390. CreateDynamicObject(2146, 1151.28992, -1310.53223, -44.88593, 0.00000, 0.00000, 0.00000);
  48391. CreateDynamicObject(2146, 1151.30078, -1313.17261, -44.88593, 0.00000, 0.00000, 0.00000);
  48392. CreateDynamicObject(1997, 1159.41003, -1326.91821, -45.28415, 0.00000, 0.00000, 0.00000);
  48393. CreateDynamicObject(2341, 1161.58716, -1327.98389, -45.28420, 0.00000, 0.00000, 180.00000);
  48394. CreateDynamicObject(2134, 1161.57910, -1327.01428, -45.28400, 0.00000, 0.00000, 90.00000);
  48395. CreateDynamicObject(2132, 1163.57104, -1327.96790, -45.28400, 0.00000, 0.00000, 180.00000);
  48396. CreateDynamicObject(1964, 1167.20032, -1324.59448, -44.15190, 0.00000, 0.00000, 90.00000);
  48397. CreateDynamicObject(2190, 1167.41223, -1327.56140, -44.29410, 0.00000, 0.00000, 222.00000);
  48398. CreateDynamicObject(2190, 1164.45313, -1323.74353, -44.29410, 0.00000, 0.00000, 4.00000);
  48399. CreateDynamicObject(1715, 1164.80518, -1325.74646, -45.28400, 0.00000, 0.00000, 180.00000);
  48400. CreateDynamicObject(1715, 1165.41968, -1326.87598, -45.28400, 0.00000, 0.00000, 90.00000);
  48401. CreateDynamicObject(1808, 1161.30652, -1326.21045, -45.28400, 0.00000, 0.00000, 90.00000);
  48402. CreateDynamicObject(1997, 1155.95654, -1310.14563, -45.28415, 0.00000, 0.00000, 0.00000);
  48403. CreateDynamicObject(3383, 1160.25964, -1312.26855, -45.28420, 0.00000, 0.00000, 180.00000);
  48404. CreateDynamicObject(2341, 1164.33374, -1309.56396, -45.28420, 0.00000, 0.00000, 0.00000);
  48405. CreateDynamicObject(2132, 1162.34326, -1309.57849, -45.28400, 0.00000, 0.00000, 0.00000);
  48406. CreateDynamicObject(2132, 1164.31970, -1310.53235, -45.28400, 0.00000, 0.00000, -90.00000);
  48407. CreateDynamicObject(3396, 1164.25378, -1314.72180, -45.28381, 0.00000, 0.00000, 0.00000);
  48408. CreateDynamicObject(2606, 1164.57068, -1314.40405, -42.90788, 0.00000, 0.00000, -90.00000);
  48409. CreateDynamicObject(2133, 1161.34106, -1309.57849, -45.28400, 0.00000, 0.00000, 0.00000);
  48410. CreateDynamicObject(2133, 1160.34106, -1309.55859, -45.28400, 0.00000, 0.00000, 0.00000);
  48411. CreateDynamicObject(2603, 1150.52405, -1329.01318, -44.90500, 0.00000, 0.00000, 90.00000);
  48412. CreateDynamicObject(2603, 1150.52405, -1326.89209, -44.90500, 0.00000, 0.00000, 90.00000);
  48413. CreateDynamicObject(2603, 1150.52405, -1324.85083, -44.90500, 0.00000, 0.00000, 90.00000);
  48414. CreateDynamicObject(2603, 1150.52405, -1331.16467, -44.90500, 0.00000, 0.00000, 90.00000);
  48415. CreateDynamicObject(2603, 1156.95081, -1331.16467, -44.90500, 0.00000, 0.00000, 90.00000);
  48416. CreateDynamicObject(2603, 1156.95081, -1329.01318, -44.90500, 0.00000, 0.00000, 90.00000);
  48417. CreateDynamicObject(2603, 1156.95081, -1326.89209, -44.90500, 0.00000, 0.00000, 90.00000);
  48418. CreateDynamicObject(2596, 1153.56042, -1332.75562, -42.78730, 0.00000, 0.00000, 180.00000);
  48419. CreateDynamicObject(2596, 1153.56042, -1324.10510, -42.78730, 0.00000, 0.00000, 0.00000);
  48420. CreateDynamicObject(1533, 1176.77271, -1324.46033, -45.28440, 0.00000, 0.00000, -90.00000);
  48421. CreateDynamicObject(1533, 1176.75879, -1325.93994, -45.28440, 0.00000, 0.00000, -90.00000);
  48422. CreateDynamicObject(1886, 1168.35229, -1325.56812, -41.27430, 16.00000, 0.00000, 91.00000);
  48423. CreateDynamicObject(1886, 1159.97913, -1336.37793, -41.27430, 16.00000, 0.00000, 76.00000);
  48424. CreateDynamicObject(1886, 1159.81689, -1318.24207, -41.27430, 16.00000, 0.00000, 76.00000);
  48425. CreateDynamicObject(1886, 1159.07678, -1322.03967, -41.27430, 16.00000, 0.00000, -92.00000);
  48426. CreateDynamicObject(2251, 1173.69666, -1340.36841, -43.93500, 0.00000, 0.00000, 0.00000);
  48427. CreateDynamicObject(1523, 1165.68774, -1316.44983, -45.28395, 0.00000, 0.00000, 0.00000);
  48428. CreateDynamicObject(1523, 1167.52722, -1313.90332, -45.28390, 0.00000, 0.00000, -90.00000);
  48429. CreateDynamicObject(1523, 1168.58203, -1309.85535, -45.28390, 0.00000, 0.00000, -90.00000);
  48430. CreateDynamicObject(1523, 1165.88379, -1309.00793, -45.28390, 0.00000, 0.00000, 0.00000);
  48431. CreateDynamicObject(1523, 1169.75037, -1305.09265, -45.06800, 0.00000, 0.00000, -90.00000);
  48432. CreateDynamicObject(14401, 1162.85083, -1305.62805, -45.06398, 0.00000, 0.00000, 0.00000);
  48433. CreateDynamicObject(14401, 1154.72559, -1293.60718, -45.06600, 0.00000, 0.00000, 180.00000);
  48434. CreateDynamicObject(1523, 1155.35254, -1313.38110, -45.28390, 0.00000, 0.00000, -90.00000);
  48435. CreateDynamicObject(1523, 1155.70508, -1323.71460, -45.28395, 0.00000, 0.00000, 0.00000);
  48436. CreateDynamicObject(1523, 1155.41321, -1316.41907, -45.28390, 0.00000, 0.00000, 90.00000);
  48437. CreateDynamicObject(19449, 1155.37292, -1311.68201, -40.99503, 0.00000, 0.00000, 0.00000);
  48438. CreateDynamicObject(19449, 1160.10425, -1316.41345, -40.46843, 0.00000, 0.00000, 90.00000);
  48439. CreateDynamicObject(19357, 1164.94409, -1311.68689, -40.99500, 0.00000, 0.00000, 0.00000);
  48440. CreateDynamicObject(19357, 1164.94409, -1314.89624, -40.99500, 0.00000, 0.00000, 0.00000);
  48441. CreateDynamicObject(19357, 1164.94604, -1310.40588, -40.99500, 0.00000, 0.00000, 0.00000);
  48442. CreateDynamicObject(1533, 1149.42163, -1321.80444, -45.28440, 0.00000, 0.00000, 90.00000);
  48443. CreateDynamicObject(1533, 1149.42529, -1320.36682, -45.28440, 0.00000, 0.00000, 90.00000);
  48444. CreateDynamicObject(2774, 1148.82996, -1318.05542, -45.20044, 0.00000, 0.00000, 0.00000);
  48445. CreateDynamicObject(2774, 1148.82996, -1322.63342, -45.20040, 0.00000, 0.00000, 0.00000);
  48446. CreateDynamicObject(1502, 1159.09863, -1334.08252, -45.28405, 0.00000, 0.00000, 0.00000);
  48447. CreateDynamicObject(1502, 1166.81567, -1334.04443, -45.28400, 0.00000, 0.00000, 180.00000);
  48448. CreateDynamicObject(18072, 1176.72900, -1325.89856, -43.19949, 0.00000, 0.00000, 90.00000);
  48449. CreateDynamicObject(1651, 1167.81055, -1304.27026, -43.44110, 0.00000, 0.00000, -90.00000);
  48450. CreateDynamicObject(1749, 1174.62805, -1316.42896, -41.56990, 14.00000, 0.00000, 0.00000);
  48451. CreateDynamicObject(1749, 1171.32861, -1316.42896, -41.56990, 14.00000, 0.00000, 0.00000);
  48452. // MAP MAXIMUS CLUB EXTRA!
  48453. CreateObject(9482, 1931.23181, -1681.95801, 18.93309, 0.00000, 0.00000, 359.21863);
  48454. CreateObject(1566, 1909.54272, -1682.69263, 13.66236, 0.00000, 0.00000, -269.75961);
  48455. CreateObject(1566, 1909.54895, -1679.52100, 13.68098, 0.00000, 0.00000, -449.63983);
  48456. CreateObject(3525, 1909.67126, -1682.54944, 15.41630, 36.78001, 2.34000, 90.65997);
  48457. CreateObject(2773, 1910.96790, -1679.56543, 12.96230, 0.00000, 0.00000, 89.68265);
  48458. CreateObject(2773, 1918.21313, -1682.63306, 13.04079, 0.00000, 0.00000, 90.71512);
  48459. CreateObject(3525, 1909.69873, -1679.72839, 15.41630, 36.78001, 2.34000, 90.65997);
  48460. CreateObject(2773, 1911.04065, -1682.69458, 13.04079, 0.00000, 0.00000, 92.13010);
  48461. CreateObject(2773, 1914.94775, -1682.60840, 13.04079, 0.00000, 0.00000, 91.93323);
  48462. CreateObject(2773, 1915.06250, -1679.39783, 13.04079, 0.00000, 0.00000, 91.12115);
  48463. CreateObject(2773, 1918.19543, -1679.45166, 13.04079, 0.00000, 0.00000, 90.71512);
  48464. // MAP Pizza and LSPD HQ Extra!
  48465. CreateDynamicObject(984, 1537.76697, -1673.55444, 13.05382, 0.00000, 0.00000, -0.30000);
  48466. CreateDynamicObject(970, 2100.51465, -1772.78174, 12.95935, 0.00000, 0.00000, -100.19999);
  48467. CreateDynamicObject(970, 2099.66040, -1778.39233, 12.95935, 0.00000, 0.00000, -100.19999);
  48468. CreateDynamicObject(970, 2098.67188, -1783.95410, 12.95935, 0.00000, 0.00000, -100.19999);
  48469. CreateDynamicObject(970, 2103.55005, -1785.95752, 12.95935, 0.00000, 0.00000, -179.27998);
  48470. CreateDynamicObject(970, 2109.90552, -1785.96875, 12.95935, 0.00000, 0.00000, -181.20001);
  48471. CreateDynamicObject(970, 2117.75952, -1785.92578, 12.95935, 0.00000, 0.00000, -181.74001);
  48472. CreateDynamicObject(970, 2103.27515, -1768.73779, 12.95935, 0.00000, 0.00000, -152.64001);
  48473. // MAP [/kiosk] EXTRA!
  48474. CreateDynamicObject(19459, 1807.90405, -1907.93591, 11.86538, 0.00000, 0.00000, 0.24301);
  48475. CreateDynamicObject(19440, 1808.66296, -1912.68274, 14.31634, 0.00000, 0.00000, -90.24000);
  48476. CreateDynamicObject(19440, 1810.14758, -1903.27710, 14.31634, 0.00000, 0.00000, -90.24000);
  48477. CreateDynamicObject(19440, 1808.57446, -1903.23267, 14.31634, 0.00000, 0.00000, -90.24000);
  48478. CreateDynamicObject(19440, 1810.18860, -1912.68689, 14.31634, 0.00000, 0.00000, -90.24000);
  48479. CreateDynamicObject(19459, 1809.46362, -1907.93506, 15.93556, 0.00000, 90.00000, 540.23212);
  48480. CreateDynamicObject(2162, 1810.86914, -1904.14209, 14.01294, 0.00000, 0.00000, -87.83998);
  48481. CreateDynamicObject(2162, 1810.85291, -1910.98999, 14.01294, 0.00000, 0.00000, -91.25999);
  48482. CreateDynamicObject(2199, 1810.81885, -1906.24414, 12.58146, 0.00000, 0.00000, -88.61997);
  48483. CreateDynamicObject(2199, 1810.78162, -1908.78259, 12.58146, 0.00000, 0.00000, -88.19997);
  48484. CreateDynamicObject(2206, 1809.10840, -1905.00903, 12.56457, 0.00000, 0.00000, -75.00001);
  48485. CreateDynamicObject(2190, 1809.64978, -1906.14172, 13.50924, 0.00000, 0.00000, -86.10000);
  48486. CreateDynamicObject(2894, 1809.17004, -1905.11194, 13.49319, 0.00000, 0.00000, -49.20000);
  48487. CreateDynamicObject(2894, 1809.68018, -1906.82385, 13.49319, 0.00000, 0.00000, -49.20000);
  48488. // MAP PAINTBALL v.2 EXTRA HOT! (CREATED: CHARLY MESINA) NOTE: SIMPLE PERO MAY DATING!
  48489. CreateDynamicObject(14623, 1941.60864, -1704.80920, -22.11504, 0.00000, 0.00000, 0.00000);
  48490. CreateDynamicObject(3430, 1941.35657, -1704.31873, -25.99762, 0.00000, 0.00000, 2.04000);
  48491. CreateDynamicObject(19439, 1941.35376, -1704.17700, -23.11180, 0.00000, 0.00000, 0.00000);
  48492. CreateDynamicObject(19439, 1941.66052, -1705.25513, -24.84414, 185.00000, 90.00000, 0.59424);
  48493. CreateDynamicObject(19439, 1941.61438, -1703.67542, -24.84414, 185.00000, 90.00000, 0.59424);
  48494. CreateDynamicObject(19439, 1941.64111, -1702.06506, -24.84004, 179.00000, 90.00000, 0.52000);
  48495. CreateDynamicObject(19439, 1939.09839, -1704.50317, -24.84410, 179.00000, 90.00000, -89.00000);
  48496. CreateDynamicObject(19439, 1944.17004, -1704.21619, -24.84410, 179.00000, 90.00000, -89.00000);
  48497. CreateDynamicObject(19439, 1941.71851, -1706.82642, -24.84004, 179.00000, 90.00000, 0.52000);
  48498. CreateDynamicObject(1566, 1938.13037, -1666.48083, -22.44091, 0.00000, 0.00000, 0.00000);
  48499. CreateDynamicObject(1566, 1941.26074, -1666.60815, -22.44091, 0.00000, 0.00000, -182.28006);
  48500. CreateDynamicObject(19376, 1945.56189, -1743.44250, -27.67320, 0.00000, 0.00000, -89.64006);
  48501. CreateDynamicObject(19376, 1935.98303, -1743.52185, -27.67320, 0.00000, 0.00000, -89.16006);
  48502. CreateDynamicObject(3124, 1941.34680, -1705.21179, -26.14296, 0.00000, 0.00000, -158.64000);
  48503. CreateDynamicObject(351, 1940.10828, -1704.18384, -25.70789, 0.00000, 0.00000, 60.78751);
  48504. CreateDynamicObject(356, 1940.51929, -1705.25952, -25.77457, 0.00000, 0.00000, 120.64095);
  48505. CreateDynamicObject(348, 1942.60559, -1703.82593, -25.71859, 0.00000, 0.00000, 115.13998);
  48506. CreateDynamicObject(349, 1942.37744, -1705.25085, -25.98804, 0.00000, 0.00000, 71.76001);
  48507. CreateDynamicObject(353, 1940.90930, -1703.17041, -25.81017, 0.00000, 0.00000, 0.00000);
  48508. CreateDynamicObject(353, 1941.78979, -1702.99243, -25.81017, 0.00000, 0.00000, -150.54007);
  48509. CreateDynamicObject(2558, 1941.61975, -1701.50110, -24.43008, 0.00000, 0.00000, 90.77982);
  48510. CreateDynamicObject(2558, 1940.87646, -1702.08618, -24.43008, 0.00000, 0.00000, -89.28017);
  48511. CreateDynamicObject(19360, 1941.41418, -1702.79395, -28.31864, 0.00000, 0.00000, 89.58000);
  48512. CreateDynamicObject(19360, 1939.84277, -1704.40234, -28.31864, 0.00000, 0.00000, -1.20000);
  48513. CreateDynamicObject(19360, 1943.08789, -1704.52295, -28.31864, 0.00000, 0.00000, 4.74001);
  48514. CreateDynamicObject(19360, 1941.46350, -1706.04749, -28.31864, 0.00000, 0.00000, -90.17995);
  48515. CreateDynamicObject(16151, 1923.68079, -1700.36584, -27.25897, 0.00000, 0.00000, -192.17998);
  48516. CreateDynamicObject(1541, 1924.40356, -1701.34253, -26.31364, 0.00000, 0.00000, 74.04002);
  48517. CreateDynamicObject(14657, 1952.08521, -1730.46606, -26.95049, 0.00000, 0.00000, -0.84000);
  48518. CreateDynamicObject(14657, 1931.13037, -1730.32886, -26.95049, 0.00000, 0.00000, -0.54000);
  48519. CreateDynamicObject(19608, 1941.43396, -1740.89978, -27.67704, 0.00000, 0.00000, -178.55995);
  48520. CreateDynamicObject(19609, 1941.14490, -1740.78394, -27.64050, 0.00000, 0.00000, -181.26001);
  48521. CreateDynamicObject(2232, 1944.47083, -1740.10889, -27.13191, 0.00000, 0.00000, 202.98004);
  48522. CreateDynamicObject(2232, 1938.31274, -1740.26587, -27.13191, 0.00000, 0.00000, 136.56009);
  48523. CreateDynamicObject(19128, 1943.23010, -1740.74402, -27.63147, 0.00000, 0.00000, 1.32000);
  48524. CreateDynamicObject(19128, 1939.28113, -1740.86584, -27.63147, 0.00000, 0.00000, 1.32000);
  48525. CreateDynamicObject(19128, 1943.51257, -1740.71716, -27.63147, 0.00000, 0.00000, 1.32000);
  48526. CreateDynamicObject(14410, 1932.03699, -1676.97852, -26.94818, 0.00000, 0.00000, 0.00000);
  48527. CreateDynamicObject(14410, 1935.88574, -1676.98279, -26.94818, 0.00000, 0.00000, 0.00000);
  48528. CreateDynamicObject(14410, 1939.69177, -1677.00818, -26.94818, 0.00000, 0.00000, 0.00000);
  48529. CreateDynamicObject(14410, 1943.15356, -1677.03418, -26.94818, 0.00000, 0.00000, 0.00000);
  48530. CreateDynamicObject(14410, 1946.92114, -1677.03577, -26.94818, 0.00000, 0.00000, 0.00000);
  48531. CreateDynamicObject(14410, 1950.39502, -1677.02966, -26.94818, 0.00000, 0.00000, 0.00000);
  48532. CreateDynamicObject(19700, 1935.44727, -1668.97314, -23.77597, 0.00000, 0.00000, 0.00000);
  48533. CreateDynamicObject(19700, 1947.92444, -1668.94385, -23.77597, 0.00000, 0.00000, 0.00000);
  48534. CreateDynamicObject(14410, 1954.27661, -1677.04077, -26.94818, 0.00000, 0.00000, 0.00000);
  48535. /*// Joingame new event
  48536. CreateDynamicObject(5004, 1284.98328, -1329.42188, 11.91022, 0.00000, 0.00000, 0.00000);
  48537. CreateDynamicObject(3578, 1306.21204, -1376.38660, 11.30550, 0.00000, 0.00000, 18.14640);
  48538. CreateDynamicObject(3578, 1306.21204, -1298.05188, 11.30546, 0.00000, 0.00000, 0.00000);
  48539. CreateDynamicObject(3578, 1306.21204, -1304.75110, 11.30550, 0.00000, 0.00000, 0.00000);
  48540. CreateDynamicObject(3578, 1306.21204, -1311.03491, 11.30550, 0.00000, 0.00000, 0.00000);
  48541. CreateDynamicObject(3578, 1324.94800, -1297.50464, 11.30550, 0.00000, 0.00000, 0.00000);
  48542. CreateDynamicObject(3578, 1324.93469, -1324.48987, 11.30550, 0.00000, 0.00000, 0.00000);
  48543. CreateDynamicObject(3578, 1324.93469, -1332.14172, 11.30550, 0.00000, 0.00000, 0.00000);
  48544. CreateDynamicObject(3578, 1324.93469, -1341.99255, 11.30550, 0.00000, 0.00000, 0.00000);
  48545. CreateDynamicObject(3578, 1324.93469, -1350.24451, 11.30550, 0.00000, 0.00000, 0.00000);
  48546. CreateDynamicObject(3578, 1306.21204, -1365.81360, 11.30550, 0.00000, 0.00000, 18.14640);
  48547. CreateDynamicObject(3578, 1324.93469, -1358.02563, 11.30550, 0.00000, 0.00000, 0.00000);
  48548. CreateDynamicObject(3578, 1306.21204, -1358.35535, 11.30550, 0.00000, 0.00000, 0.00000);
  48549. CreateDynamicObject(3578, 1306.21204, -1349.68298, 11.30550, 0.00000, 0.00000, 0.00000);
  48550. CreateDynamicObject(3578, 1306.21204, -1341.50525, 11.30550, 0.00000, 0.00000, 0.00000);
  48551. CreateDynamicObject(3578, 1306.21204, -1332.10205, 11.30550, 0.00000, 0.00000, 0.00000);
  48552. CreateDynamicObject(3578, 1306.21204, -1324.44775, 11.30550, 0.00000, 0.00000, 0.00000);
  48553. CreateDynamicObject(3578, 1306.22620, -1317.77258, 11.30550, 0.00000, 0.00000, 0.00000);
  48554. CreateDynamicObject(3578, 1324.93469, -1317.81445, 11.30550, 0.00000, 0.00000, 0.00000);
  48555. CreateDynamicObject(3578, 1324.93811, -1311.25024, 11.30550, 0.00000, 0.00000, 0.00000);
  48556. CreateDynamicObject(3578, 1324.93909, -1304.49048, 11.30550, 0.00000, 0.00000, 0.00000);
  48557. CreateDynamicObject(19913, 1332.15759, -1359.45325, 11.83100, 0.00000, 0.00000, 90.00881);
  48558. CreateDynamicObject(19913, 1332.25244, -1316.31250, 11.83100, 0.00000, 0.00000, 90.00880);
  48559. CreateDynamicObject(19912, 1309.24060, -1384.48889, 14.61338, 0.00000, 0.00000, 0.00000);
  48560. CreateDynamicObject(19912, 1332.16943, -1384.39233, 14.61338, 0.00000, 0.00000, 0.00000);
  48561. CreateDynamicObject(19912, 1320.71033, -1384.43701, 14.61338, 0.00000, 0.00000, 0.00000);
  48562. CreateDynamicObject(19912, 1298.83948, -1384.51624, 14.61338, 0.00000, 0.00000, 0.00000);
  48563. CreateDynamicObject(19913, 1287.40466, -1359.66699, 11.83100, 0.00000, 0.00000, 90.00881);
  48564. CreateDynamicObject(19913, 1287.18286, -1333.28918, 11.83100, 0.00000, 0.00000, 90.00881);
  48565. CreateDynamicObject(19912, 1332.55188, -1292.86865, 14.61338, 0.00000, 0.00000, 0.00000);
  48566. CreateDynamicObject(19912, 1321.09070, -1292.75146, 14.61338, 0.00000, 0.00000, 0.00000);
  48567. CreateDynamicObject(19912, 1309.39355, -1292.69702, 14.61338, 0.00000, 0.00000, 0.00000);
  48568. CreateDynamicObject(19912, 1297.89563, -1292.62292, 14.61338, 0.00000, 0.00000, 0.00000);
  48569. CreateDynamicObject(6965, 1313.81116, -1339.25208, 15.82422, 0.00000, 0.00000, 0.00000);
  48570. CreateDynamicObject(19129, 1322.13550, -1374.02954, 12.11935, 0.00000, 0.00000, 0.00000);
  48571. CreateDynamicObject(19129, 1302.19409, -1373.81653, 12.11935, 0.00000, 0.00000, 0.00000);
  48572. CreateDynamicObject(19129, 1322.04602, -1354.98376, 12.11935, 0.00000, 0.00000, 0.00000);
  48573. CreateDynamicObject(19129, 1302.30054, -1354.17468, 12.11935, 0.00000, 0.00000, 0.00000);
  48574. CreateDynamicObject(19129, 1322.54895, -1335.11243, 12.11935, 0.00000, 0.00000, 0.00000);
  48575. CreateDynamicObject(19129, 1302.47278, -1334.85791, 12.11935, 0.00000, 0.00000, 0.00000);
  48576. CreateDynamicObject(19129, 1322.41821, -1315.09839, 12.11935, 0.00000, 0.00000, 0.00000);
  48577. CreateDynamicObject(19129, 1302.55347, -1314.64600, 12.11935, 0.00000, 0.00000, 0.00000);
  48578. CreateDynamicObject(1931, 1527.75537, -1596.13525, 12.33145, 0.00000, 0.00000, 0.00000);
  48579. CreateDynamicObject(19527, 2294.54102, -1732.46460, 12.35974, 0.00000, 0.00000, 0.00000);
  48580. CreateDynamicObject(6865, 1462.57458, -1749.53748, 22.21646, 0.00000, 0.00000, 226.68024);
  48581. CreateDynamicObject(6865, 1499.88110, -1750.21497, 22.21646, 0.00000, 0.00000, 226.68024);
  48582. CreateDynamicObject(5714, 2255.21582, -1744.64185, 14.53137, 0.00000, 0.00000, 0.00000);
  48583. CreateDynamicObject(3524, 2225.75488, -1732.44299, 13.77380, 0.00000, 0.00000, 278.41080);
  48584. CreateDynamicObject(3524, 2276.22729, -1732.25464, 13.77380, 0.00000, 0.00000, 276.07086);
  48585. CreateDynamicObject(3524, 2237.21143, -1732.31482, 13.77380, 0.00000, 0.00000, 276.07086);
  48586. CreateDynamicObject(3524, 2230.35986, -1732.24268, 13.77380, 0.00000, 0.00000, 276.07086);
  48587. CreateDynamicObject(3524, 2241.98364, -1732.32288, 13.77380, 0.00000, 0.00000, 276.07086);
  48588. CreateDynamicObject(3524, 2247.78662, -1732.36279, 13.77380, 0.00000, 0.00000, 276.07086);
  48589. CreateDynamicObject(3524, 2255.59595, -1732.41638, 13.77380, 0.00000, 0.00000, 276.07086);
  48590. CreateDynamicObject(3524, 2264.88086, -1732.47998, 13.77380, 0.00000, 0.00000, 276.07086);
  48591. CreateDynamicObject(18761, 1308.79199, -1378.12891, 16.43755, 0.00000, 0.00000, -0.84000);
  48592. CreateDynamicObject(16770, 1307.52808, -1374.58008, 13.60965, 0.00000, 0.00000, 269.64282);
  48593. CreateDynamicObject(2599, 1315.10229, -1377.59253, 12.62209, 0.00000, 0.00000, 0.48000);
  48594. CreateDynamicObject(2599, 1313.45972, -1377.49219, 12.62209, 0.00000, 0.00000, 0.48000);
  48595. CreateDynamicObject(2599, 1311.85559, -1377.57739, 12.62209, 0.00000, 0.00000, 0.48000);
  48596. CreateDynamicObject(2599, 1310.46350, -1377.69092, 12.62209, 0.00000, 0.00000, 0.48000);
  48597. CreateDynamicObject(2599, 1308.85669, -1377.75220, 12.62209, 0.00000, 0.00000, 0.48000);
  48598. CreateDynamicObject(2599, 1307.31799, -1377.76270, 12.62209, 0.00000, 0.00000, 0.48000);
  48599. CreateDynamicObject(2599, 1305.96436, -1377.61914, 12.62209, 0.00000, 0.00000, 0.48000);
  48600. CreateDynamicObject(2599, 1304.44751, -1377.58130, 12.62209, 0.00000, 0.00000, 0.48000);
  48601. CreateDynamicObject(2599, 1302.83643, -1377.49109, 12.62209, 0.00000, 0.00000, 0.48000);
  48602. CreateDynamicObject(2599, 1301.49341, -1377.49805, 12.62209, 0.00000, 0.00000, 0.48000);
  48603. CreateDynamicObject(19458, 1315.74084, -1379.04871, 12.49747, 0.00000, 0.00000, 0.00000);
  48604. CreateDynamicObject(19458, 1314.23450, -1378.88989, 12.49747, 0.00000, 0.00000, 0.00000);
  48605. CreateDynamicObject(19458, 1312.76379, -1379.03003, 12.49747, 0.00000, 0.00000, 0.00000);
  48606. CreateDynamicObject(19458, 1311.23279, -1378.92664, 12.49747, 0.00000, 0.00000, 0.00000);
  48607. CreateDynamicObject(19458, 1309.68298, -1379.02942, 12.49747, 0.00000, 0.00000, 0.00000);
  48608. CreateDynamicObject(19458, 1308.20740, -1378.99255, 12.49747, 0.00000, 0.00000, 0.00000);
  48609. CreateDynamicObject(19458, 1306.65930, -1378.96558, 12.49747, 0.00000, 0.00000, 0.00000);
  48610. CreateDynamicObject(19458, 1305.21362, -1378.92078, 12.49747, 0.00000, 0.00000, 0.00000);
  48611. CreateDynamicObject(19458, 1303.78821, -1378.89929, 12.49747, 0.00000, 0.00000, 0.00000);
  48612. CreateDynamicObject(19458, 1302.30200, -1378.91675, 12.49747, 0.00000, 0.00000, 0.00000);
  48613. CreateDynamicObject(19458, 1300.86377, -1378.90686, 12.49747, 0.00000, 0.00000, 0.00000);
  48614. CreateDynamicObject(19700, 1321.68103, -1377.93494, 12.18321, 0.00000, 0.00000, 0.00000);
  48615. CreateDynamicObject(19700, 1309.31299, -1377.81616, 12.18321, 0.00000, 0.00000, 0.00000);
  48616. CreateDynamicObject(19700, 1296.85107, -1377.85840, 12.18321, 0.00000, 0.00000, 0.00000);
  48617. CreateDynamicObject(19700, 1288.56458, -1377.70679, 12.18321, 0.00000, 0.00000, 0.00000);
  48618. CreateDynamicObject(19129, 1282.26953, -1373.47424, 12.11935, 0.00000, 0.00000, 0.00000);
  48619. CreateDynamicObject(19129, 1282.34326, -1353.56628, 12.11935, 0.00000, 0.00000, 0.00000);
  48620. CreateDynamicObject(19129, 1282.54468, -1333.67810, 12.11935, 0.00000, 0.00000, 0.00000);
  48621. CreateDynamicObject(19129, 1284.97778, -1313.86804, 12.11935, 0.00000, 0.00000, 0.00000);
  48622. CreateDynamicObject(19129, 1322.37390, -1296.07678, 12.11935, 0.00000, 0.00000, 0.00000);
  48623. CreateDynamicObject(19129, 1303.36597, -1295.11719, 12.11935, 0.00000, 0.00000, 0.00000);
  48624. CreateDynamicObject(19129, 1283.40454, -1296.66736, 12.11935, 0.00000, 0.00000, 0.00000);
  48625. CreateDynamicObject(19458, 1317.18347, -1378.97156, 12.49747, 0.00000, 0.00000, 0.00000);
  48626. CreateDynamicObject(3461, 1317.05127, -1373.95581, 13.92664, 0.00000, 0.00000, 0.00000);
  48627. CreateDynamicObject(3461, 1315.77698, -1374.18799, 13.92664, 0.00000, 0.00000, 0.00000);
  48628. CreateDynamicObject(3461, 1314.22302, -1374.06543, 13.92664, 0.00000, 0.00000, 0.00000);
  48629. CreateDynamicObject(3461, 1312.71948, -1374.12146, 13.92664, 0.00000, 0.00000, 0.00000);
  48630. CreateDynamicObject(3461, 1311.24475, -1374.08557, 13.92664, 0.00000, 0.00000, 0.00000);
  48631. CreateDynamicObject(3461, 1309.65857, -1374.10107, 13.92664, 0.00000, 0.00000, 0.00000);
  48632. CreateDynamicObject(3461, 1308.20447, -1374.10132, 13.92664, 0.00000, 0.00000, 0.00000);
  48633. CreateDynamicObject(3461, 1306.74109, -1374.08325, 13.92664, 0.00000, 0.00000, 0.00000);
  48634. CreateDynamicObject(3461, 1305.23462, -1374.02588, 13.92664, 0.00000, 0.00000, 0.00000);
  48635. CreateDynamicObject(3461, 1303.79883, -1374.09460, 13.92664, 0.00000, 0.00000, 0.00000);
  48636. CreateDynamicObject(3461, 1302.38574, -1373.97803, 13.92664, 0.00000, 0.00000, 0.00000);
  48637. CreateDynamicObject(3461, 1300.93323, -1374.01550, 13.92664, 0.00000, 0.00000, 0.00000);
  48638. CreateDynamicObject(19458, 1315.48315, -1378.96899, 14.22880, 0.00000, 90.00000, 0.00000);
  48639. CreateDynamicObject(19458, 1312.06201, -1378.95142, 14.22880, 0.00000, 90.00000, 0.00000);
  48640. CreateDynamicObject(19458, 1308.57617, -1378.94812, 14.22880, 0.00000, 90.00000, 0.00000);
  48641. CreateDynamicObject(19458, 1305.13208, -1378.92603, 14.22880, 0.00000, 90.00000, 0.00000);
  48642. CreateDynamicObject(19458, 1302.42542, -1378.88770, 14.22880, 0.00000, 90.00000, 0.00000);
  48643. CreateDynamicObject(19700, 1333.63770, -1377.92517, 12.18321, 0.00000, 0.00000, 0.00000);
  48644. CreateDynamicObject(3533, 1286.93335, -1292.93762, 16.74854, 0.00000, 0.00000, 0.00000);
  48645. CreateDynamicObject(3533, 1287.50574, -1308.30823, 16.74854, 0.00000, 0.00000, 0.00000);
  48646. CreateDynamicObject(3461, 1285.61462, -1292.62402, 13.90938, 0.00000, 0.00000, 0.00000);
  48647. CreateDynamicObject(3461, 1286.09131, -1308.16321, 13.90938, 0.00000, 0.00000, 0.00000);
  48648. CreateDynamicObject(3461, 1287.08582, -1308.23633, 22.95426, 0.00000, 0.00000, 0.00000);
  48649. CreateDynamicObject(3461, 1286.57397, -1292.83240, 22.94259, 0.00000, 0.00000, 0.00000);
  48650. CreateDynamicObject(2745, 1308.00623, -1378.06726, 15.61657, 0.00000, 0.00000, 179.30191);
  48651. CreateDynamicObject(3858, 1308.25244, -1374.05408, 11.46624, 0.00000, 0.00000, 44.82000);
  48652. CreateDynamicObject(19700, 1309.43640, -1365.53223, 12.18321, 0.00000, 0.00000, 0.00000);
  48653. CreateDynamicObject(19459, 1312.52112, -1379.72510, 15.11239, 0.00000, 0.00000, 90.24001);
  48654. CreateDynamicObject(19459, 1304.80432, -1379.68298, 15.11239, 0.00000, 0.00000, 89.46001);
  48655. CreateDynamicObject(3533, 1318.07764, -1378.25037, 16.42148, 0.00000, 0.00000, 0.00000);
  48656. CreateDynamicObject(3533, 1299.70337, -1378.08191, 16.94220, 0.00000, 0.00000, 0.00000);
  48657. CreateDynamicObject(3461, 1308.86584, -1377.84973, 15.29724, 0.00000, 0.00000, 0.00000);
  48658. CreateDynamicObject(3461, 1307.20154, -1378.03845, 15.29724, 0.00000, 0.00000, 0.00000);
  48659. CreateDynamicObject(19364, 1306.74561, -1378.80872, 14.95449, 0.00000, 0.00000, -0.24000);
  48660. CreateDynamicObject(19364, 1309.18970, -1378.85376, 14.95449, 0.00000, 0.00000, -0.24000);*/
  48661. // Wood DM EVENT! (Paintball v.2)
  48662. CreateDynamicObject(19379, 643.93219, 1630.27539, 61.28905, 0.00000, 0.00000, 0.00000);
  48663. CreateDynamicObject(19379, 643.93671, 1620.65625, 61.28905, 0.00000, 0.00000, 0.00000);
  48664. CreateDynamicObject(19379, 643.92017, 1611.04199, 61.28905, 0.00000, 0.00000, 0.00000);
  48665. CreateDynamicObject(19379, 643.86908, 1601.70557, 61.28905, 0.00000, 0.00000, 0.00000);
  48666. CreateDynamicObject(19379, 648.01923, 1634.85999, 61.28905, 0.00000, 0.00000, -89.45998);
  48667. CreateDynamicObject(19379, 657.59277, 1634.97021, 61.28905, 0.00000, 0.00000, -89.45998);
  48668. CreateDynamicObject(19379, 666.60992, 1635.02551, 61.28905, 0.00000, 0.00000, -89.45998);
  48669. CreateDynamicObject(19379, 676.06451, 1635.09790, 61.28905, 0.00000, 0.00000, -89.45998);
  48670. CreateDynamicObject(19379, 685.37189, 1635.21155, 61.28905, 0.00000, 0.00000, -89.45998);
  48671. CreateDynamicObject(19379, 645.89099, 1601.97864, 61.28905, 0.00000, 0.00000, -90.35999);
  48672. CreateDynamicObject(19379, 655.48328, 1601.91187, 61.28905, 0.00000, 0.00000, -90.35999);
  48673. CreateDynamicObject(19379, 665.14886, 1601.73230, 61.28905, 0.00000, 0.00000, -90.35999);
  48674. CreateDynamicObject(19379, 673.89551, 1601.81262, 61.28905, 0.00000, 0.00000, -90.35999);
  48675. CreateDynamicObject(19379, 682.96362, 1601.91602, 61.28905, 0.00000, 0.00000, -90.35999);
  48676. CreateDynamicObject(19379, 690.38739, 1633.71826, 61.28905, 0.00000, 0.00000, -180.05995);
  48677. CreateDynamicObject(19379, 690.48010, 1624.85791, 61.28905, 0.00000, 0.00000, -179.81992);
  48678. CreateDynamicObject(19379, 690.50995, 1617.42358, 61.28905, 0.00000, 0.00000, -179.45993);
  48679. CreateDynamicObject(19379, 690.50964, 1611.78784, 61.28905, 0.00000, 0.00000, -179.93991);
  48680. CreateDynamicObject(19379, 691.19104, 1601.79761, 61.28905, 0.00000, 0.00000, -90.35999);
  48681. CreateDynamicObject(19379, 695.13165, 1607.10669, 61.28905, 0.00000, 0.00000, -90.35999);
  48682. CreateDynamicObject(19379, 698.87610, 1601.77075, 61.28905, 0.00000, 0.00000, -90.35999);
  48683. CreateDynamicObject(19379, 723.06244, 1603.68213, 66.61985, 0.00000, 0.00000, -179.81993);
  48684. CreateDynamicObject(19379, 723.03345, 1613.09595, 66.61985, 0.00000, 0.00000, -179.81993);
  48685. CreateDynamicObject(19379, 718.35834, 1621.35950, 66.61985, 0.00000, 0.00000, -270.89987);
  48686. CreateDynamicObject(19379, 703.42139, 1597.01563, 61.28905, 0.00000, 0.00000, -182.21999);
  48687. CreateDynamicObject(19379, 708.26208, 1598.13623, 66.05761, 0.00000, 0.00000, -269.70004);
  48688. CreateDynamicObject(19379, 717.64532, 1598.20239, 66.13433, 0.00000, 0.00000, -269.82004);
  48689. CreateDynamicObject(19379, 727.10242, 1598.24451, 65.98432, 0.00000, 0.00000, -269.82004);
  48690. CreateDynamicObject(19379, 699.31763, 1612.00964, 67.20643, 0.00000, 0.00000, -215.10011);
  48691. CreateDynamicObject(19379, 713.78912, 1621.42114, 66.61985, 0.00000, 0.00000, -270.89987);
  48692. CreateDynamicObject(19379, 705.58777, 1618.64868, 66.61985, 0.00000, 0.00000, -231.89990);
  48693. CreateDynamicObject(19379, 723.00134, 1621.99426, 66.61985, 0.00000, 0.00000, -179.81993);
  48694. CreateDynamicObject(19377, 649.18256, 1606.89832, 66.14463, 0.00000, 90.00000, 0.00000);
  48695. CreateDynamicObject(19377, 649.39716, 1616.25549, 66.14463, 0.00000, 90.00000, 0.00000);
  48696. CreateDynamicObject(19377, 649.11609, 1625.76306, 66.14463, 0.00000, 90.00000, 0.00000);
  48697. CreateDynamicObject(19377, 649.16479, 1635.51904, 66.14463, 0.00000, 90.00000, 0.00000);
  48698. CreateDynamicObject(19377, 659.65442, 1606.69055, 66.14463, 0.00000, 90.00000, 0.00000);
  48699. CreateDynamicObject(19377, 659.57446, 1615.88953, 66.14463, 0.00000, 90.00000, 0.00000);
  48700. CreateDynamicObject(19377, 659.54810, 1625.55237, 66.14463, 0.00000, 90.00000, 0.00000);
  48701. CreateDynamicObject(19377, 659.49347, 1635.11963, 66.14463, 0.00000, 90.00000, 0.00000);
  48702. CreateDynamicObject(19377, 669.87994, 1634.71118, 66.14463, 0.00000, 90.00000, 0.00000);
  48703. CreateDynamicObject(19377, 669.88422, 1625.24963, 66.14463, 0.00000, 90.00000, 0.00000);
  48704. CreateDynamicObject(19377, 669.95081, 1615.63574, 66.14463, 0.00000, 90.00000, 0.00000);
  48705. CreateDynamicObject(19377, 670.02808, 1606.16724, 66.14463, 0.00000, 90.00000, 0.00000);
  48706. CreateDynamicObject(19377, 679.83167, 1635.17969, 66.14463, 0.00000, 90.00000, 0.00000);
  48707. CreateDynamicObject(19377, 689.86078, 1635.19250, 66.14463, 0.00000, 90.00000, 0.00000);
  48708. CreateDynamicObject(19377, 680.11169, 1625.86206, 66.14463, 0.00000, 90.00000, 0.00000);
  48709. CreateDynamicObject(19377, 690.38452, 1625.90222, 66.14463, 0.00000, 90.00000, 0.00000);
  48710. CreateDynamicObject(19377, 680.19586, 1616.31018, 66.14463, 0.00000, 90.00000, 0.00000);
  48711. CreateDynamicObject(19377, 690.49176, 1616.36682, 66.14463, 0.00000, 90.00000, 0.00000);
  48712. CreateDynamicObject(19377, 678.87421, 1606.79724, 66.14463, 0.00000, 90.00000, 0.00000);
  48713. CreateDynamicObject(19377, 678.87421, 1606.79724, 66.14463, 0.00000, 90.00000, 0.00000);
  48714. CreateDynamicObject(19377, 688.99371, 1606.71436, 66.14463, 0.00000, 90.00000, 0.00000);
  48715. CreateDynamicObject(19129, 722.85699, 1618.65173, 61.96490, 0.00000, 90.00000, -179.93996);
  48716. CreateDynamicObject(19129, 722.83459, 1598.88794, 61.96490, 0.00000, 90.00000, -179.93996);
  48717. CreateDynamicObject(19377, 708.78284, 1602.68140, 70.90851, 0.00000, 90.00000, 0.00000);
  48718. CreateDynamicObject(19377, 719.21930, 1602.81580, 70.90851, 0.00000, 90.00000, 0.00000);
  48719. CreateDynamicObject(19377, 719.27924, 1612.45068, 70.90851, 0.00000, 90.00000, 0.00000);
  48720. CreateDynamicObject(19377, 719.30231, 1621.88843, 70.90851, 0.00000, 90.00000, 0.00000);
  48721. CreateDynamicObject(19377, 711.21448, 1612.09436, 70.90851, 0.00000, 90.00000, 0.00000);
  48722. CreateDynamicObject(19377, 711.22406, 1621.35205, 70.90851, 0.00000, 90.00000, 0.00000);
  48723. CreateDynamicObject(19377, 700.87946, 1618.39185, 70.90851, 0.00000, 90.00000, 0.00000);
  48724. CreateDynamicObject(19379, 698.81018, 1598.00562, 66.05761, 0.00000, 0.00000, -448.97977);
  48725. CreateDynamicObject(19377, 700.91998, 1612.22461, 70.90851, 0.00000, 90.00000, 0.00000);
  48726. CreateDynamicObject(19377, 700.60626, 1617.79260, 70.90851, 0.00000, 90.00000, 0.00000);
  48727. CreateDynamicObject(19377, 700.54602, 1612.02161, 70.90851, 0.00000, 90.00000, 0.00000);
  48728. CreateDynamicObject(19379, 699.78058, 1602.44104, 71.24877, 0.00000, 0.00000, -182.21999);
  48729. CreateDynamicObject(19377, 694.71814, 1606.75049, 66.25079, 0.00000, 90.00000, 0.00000);
  48730. CreateDynamicObject(19379, 699.75665, 1611.96228, 71.24877, 0.00000, 0.00000, -182.21999);
  48731. CreateDynamicObject(19377, 705.02545, 1602.54114, 70.90851, 0.00000, 90.00000, 0.00000);
  48732. CreateDynamicObject(19379, 649.19080, 1629.98462, 56.02637, 0.00000, 90.00000, 0.00000);
  48733. CreateDynamicObject(19379, 649.22461, 1620.35718, 55.96219, 0.00000, 90.00000, 0.00000);
  48734. CreateDynamicObject(19379, 649.22443, 1610.76489, 55.96219, 0.00000, 90.00000, 0.00000);
  48735. CreateDynamicObject(19379, 649.14893, 1601.12231, 55.96219, 0.00000, 90.00000, 0.00000);
  48736. CreateDynamicObject(19379, 659.51965, 1601.26855, 55.96219, 0.00000, 90.00000, 0.00000);
  48737. CreateDynamicObject(19379, 659.41138, 1610.63672, 55.96219, 0.00000, 90.00000, 0.00000);
  48738. CreateDynamicObject(19379, 659.36304, 1619.87891, 55.96219, 0.00000, 90.00000, 0.00000);
  48739. CreateDynamicObject(19379, 659.38208, 1629.43774, 55.96219, 0.00000, 90.00000, 0.00000);
  48740. CreateDynamicObject(19379, 659.41962, 1639.18420, 55.96219, 0.00000, 90.00000, 0.00000);
  48741. CreateDynamicObject(19379, 669.88391, 1610.70007, 55.96219, 0.00000, 90.00000, 0.00000);
  48742. CreateDynamicObject(19379, 669.85089, 1601.32251, 55.96219, 0.00000, 90.00000, 0.00000);
  48743. CreateDynamicObject(19379, 669.76459, 1620.02124, 55.96219, 0.00000, 90.00000, 0.00000);
  48744. CreateDynamicObject(19379, 669.78540, 1629.65051, 55.96219, 0.00000, 90.00000, 0.00000);
  48745. CreateDynamicObject(19379, 669.80066, 1638.98962, 55.96219, 0.00000, 90.00000, 0.00000);
  48746. CreateDynamicObject(19379, 680.08545, 1636.79907, 55.96219, 0.00000, 90.00000, 0.00000);
  48747. CreateDynamicObject(19379, 680.07349, 1627.14478, 55.96219, 0.00000, 90.00000, 0.00000);
  48748. CreateDynamicObject(19379, 680.09235, 1617.66272, 55.96219, 0.00000, 90.00000, 0.00000);
  48749. CreateDynamicObject(19379, 680.09113, 1608.14734, 55.96219, 0.00000, 90.00000, 0.00000);
  48750. CreateDynamicObject(19379, 680.16534, 1598.53601, 55.96219, 0.00000, 90.00000, 0.00000);
  48751. CreateDynamicObject(19379, 690.20990, 1637.01013, 55.96219, 0.00000, 90.00000, 0.00000);
  48752. CreateDynamicObject(19379, 690.50079, 1627.70386, 55.96219, 0.00000, 90.00000, 0.00000);
  48753. CreateDynamicObject(19379, 689.56897, 1619.01062, 55.96219, 0.00000, 90.00000, 0.00000);
  48754. CreateDynamicObject(19379, 690.02460, 1610.03455, 55.96219, 0.00000, 90.00000, 0.00000);
  48755. CreateDynamicObject(19379, 688.00470, 1601.58923, 55.96219, 0.00000, 90.00000, 0.00000);
  48756. CreateDynamicObject(14410, 697.50281, 1606.25208, 59.12586, 0.00000, 0.00000, -88.02000);
  48757. CreateDynamicObject(14410, 697.59631, 1602.97510, 59.12586, 0.00000, 0.00000, -88.55997);
  48758. CreateDynamicObject(19379, 709.02893, 1605.44080, 62.17337, 0.00000, 90.00000, 1.33031);
  48759. CreateDynamicObject(19379, 700.64630, 1612.20471, 62.17337, 0.00000, 90.00000, 2.71031);
  48760. CreateDynamicObject(19379, 708.70258, 1614.40515, 62.17337, 0.00000, 90.00000, 2.71031);
  48761. CreateDynamicObject(19379, 708.33734, 1597.02344, 62.17337, 0.00000, 90.00000, 1.33031);
  48762. CreateDynamicObject(19379, 718.62610, 1596.22375, 62.17337, 0.00000, 90.00000, 1.33031);
  48763. CreateDynamicObject(19379, 718.84357, 1616.31958, 62.17337, 0.00000, 90.00000, 2.71031);
  48764. CreateDynamicObject(19379, 719.06964, 1605.72546, 62.17337, 0.00000, 90.00000, 2.71031);
  48765. CreateDynamicObject(19379, 719.51111, 1606.66858, 62.17337, 0.00000, 90.00000, 2.71031);
  48766. CreateDynamicObject(19379, 708.02045, 1623.59460, 62.17337, 0.00000, 90.00000, 2.71031);
  48767. // NEW MAP OF TDM (Paintball v.2)
  48768. CreateDynamicObject(17864, 1734.47388, -1883.79285, 1059.97900, 0.00000, 0.00000, 0.00000);
  48769. CreateDynamicObject(17864, 1734.37488, -1851.99902, 1059.97900, 0.00000, 0.00000, 180.00000);
  48770. CreateDynamicObject(18981, 1714.40869, -1887.17908, 1070.46533, 0.00000, 0.00000, 0.00000);
  48771. CreateDynamicObject(18981, 1714.40869, -1862.19995, 1070.46533, 0.00000, 0.00000, 0.00000);
  48772. CreateDynamicObject(18981, 1714.40869, -1837.20422, 1070.46533, 0.00000, 0.00000, 0.00000);
  48773. CreateDynamicObject(18981, 1726.59253, -1899.77844, 1070.46533, 0.00000, 0.00000, 90.00000);
  48774. CreateDynamicObject(18981, 1751.58716, -1899.77844, 1070.46533, 0.00000, 0.00000, 90.00000);
  48775. CreateDynamicObject(18981, 1754.39209, -1889.56140, 1070.46533, 0.00000, 0.00000, 0.00000);
  48776. CreateDynamicObject(18981, 1754.39209, -1864.57385, 1070.46533, 0.00000, 0.00000, 0.00000);
  48777. CreateDynamicObject(18981, 1754.39209, -1839.59656, 1070.46533, 0.00000, 0.00000, 0.00000);
  48778. CreateDynamicObject(18981, 1744.61646, -1836.30066, 1070.46533, 0.00000, 0.00000, 90.00000);
  48779. CreateDynamicObject(18981, 1719.63953, -1836.30066, 1070.46533, 0.00000, 0.00000, 90.00000);
  48780. CreateDynamicObject(683, 1725.02673, -1879.56140, 1059.60486, 0.00000, 0.00000, 0.00000);
  48781. CreateDynamicObject(683, 1738.91528, -1877.66699, 1059.35608, 0.00000, 0.00000, 0.00000);
  48782. CreateDynamicObject(683, 1731.52698, -1864.10120, 1060.02783, 0.00000, 0.00000, 0.00000);
  48783. CreateDynamicObject(683, 1745.52283, -1856.80066, 1059.63623, 0.00000, 0.00000, 0.00000);
  48784. CreateDynamicObject(683, 1734.01575, -1845.39734, 1059.47192, 0.00000, 0.00000, 0.00000);
  48785. CreateDynamicObject(831, 1725.56616, -1856.25366, 1061.01440, 0.00000, 0.00000, 0.00000);
  48786. CreateDynamicObject(831, 1731.55981, -1873.79968, 1061.01440, 0.00000, 0.00000, -185.00000);
  48787. CreateDynamicObject(831, 1744.72473, -1879.13806, 1061.01440, 0.00000, 0.00000, 55.00000);
  48788. CreateDynamicObject(831, 1739.61426, -1856.59033, 1061.01440, 0.00000, 0.00000, -185.00000);
  48789. CreateDynamicObject(1418, 1752.49426, -1880.13452, 1060.59924, 0.00000, 0.00000, 0.00000);
  48790. CreateDynamicObject(19641, 1723.66333, -1862.98743, 1059.24011, 0.00000, 0.00000, 0.00000);
  48791. CreateDynamicObject(3260, 1737.49854, -1877.56323, 1061.05103, 0.00000, 0.00000, 180.00000);
  48792. CreateDynamicObject(879, 1730.95947, -1848.46558, 1060.12109, 0.00000, 0.00000, 80.00000);
  48793. CreateDynamicObject(807, 1741.53491, -1874.75854, 1060.38745, 0.00000, 0.00000, 50.00000);
  48794. CreateDynamicObject(807, 1733.33972, -1872.17847, 1060.38745, 0.00000, 0.00000, 80.00000);
  48795. CreateDynamicObject(807, 1723.29578, -1873.10864, 1060.38745, 0.00000, 0.00000, -80.00000);
  48796. CreateDynamicObject(807, 1730.51294, -1880.48572, 1060.38745, 0.00000, 0.00000, -30.00000);
  48797. CreateDynamicObject(807, 1727.54736, -1858.85925, 1060.38745, 0.00000, 0.00000, 20.00000);
  48798. CreateDynamicObject(807, 1730.69348, -1852.24329, 1060.38745, 0.00000, 0.00000, 40.00000);
  48799. CreateDynamicObject(807, 1718.74585, -1850.75781, 1060.38745, 0.00000, 0.00000, 90.00000);
  48800. CreateDynamicObject(807, 1740.35730, -1861.66296, 1060.38745, 0.00000, 0.00000, 0.00000);
  48801. CreateDynamicObject(906, 1733.30615, -1866.26782, 1059.08276, 0.00000, 0.00000, 0.00000);
  48802. CreateDynamicObject(807, 1746.55872, -1889.00024, 1059.93811, 0.00000, 0.00000, 30.00000);
  48803. CreateDynamicObject(807, 1749.72522, -1879.63599, 1060.08936, 0.00000, 0.00000, 50.00000);
  48804. CreateDynamicObject(16281, 1721.57617, -1877.60962, 1059.92102, 0.00000, 0.00000, 150.00000);
  48805. CreateDynamicObject(890, 1747.18835, -1871.64380, 1060.30750, 0.00000, 0.00000, 0.00000);
  48806. CreateDynamicObject(830, 1731.86414, -1860.00098, 1060.71899, 0.00000, 0.00000, 0.00000);
  48807. CreateDynamicObject(848, 1727.76709, -1876.43225, 1061.44226, 0.00000, 0.00000, 0.00000);
  48808. CreateDynamicObject(1463, 1744.05688, -1856.66833, 1060.47424, 0.00000, 0.00000, -4.00000);
  48809. CreateDynamicObject(3302, 1747.76074, -1863.06335, 1060.95142, 76.00000, 0.00000, 0.00000);
  48810. CreateDynamicObject(19412, 1752.68237, -1855.96155, 1061.49109, 0.00000, 0.00000, 90.00000);
  48811. CreateDynamicObject(19412, 1728.58618, -1856.43262, 1059.70972, 0.00000, 0.00000, 90.00000);
  48812. CreateDynamicObject(19412, 1729.25159, -1870.67322, 1061.55090, 0.00000, 0.00000, 48.00000);
  48813. CreateDynamicObject(865, 1734.59277, -1877.12903, 1060.01282, 0.00000, 0.00000, 0.00000);
  48814. CreateDynamicObject(865, 1740.51941, -1871.78027, 1060.01282, 0.00000, 0.00000, 30.00000);
  48815. CreateDynamicObject(865, 1742.29602, -1866.39258, 1060.01282, 0.00000, 0.00000, 30.00000);
  48816. CreateDynamicObject(865, 1729.70007, -1867.38892, 1060.01282, 0.00000, 0.00000, 30.00000);
  48817. CreateDynamicObject(865, 1725.92993, -1860.34790, 1060.01282, 0.00000, 0.00000, 30.00000);
  48818. CreateDynamicObject(865, 1717.71594, -1855.88208, 1060.01282, 0.00000, 0.00000, 70.00000);
  48819. CreateDynamicObject(865, 1727.13013, -1846.38635, 1060.01282, 0.00000, 0.00000, 70.00000);
  48820. CreateDynamicObject(865, 1742.45374, -1851.71143, 1060.01282, 0.00000, 0.00000, 65.00000);
  48821. CreateDynamicObject(865, 1736.31030, -1847.50391, 1060.01282, 0.00000, 0.00000, 65.00000);
  48822. CreateDynamicObject(871, 1749.49158, -1862.25964, 1060.32983, 0.00000, 0.00000, 0.00000);
  48823. CreateDynamicObject(871, 1752.81470, -1857.99963, 1060.32983, 0.00000, 0.00000, 0.00000);
  48824. CreateDynamicObject(866, 1748.71252, -1856.71619, 1060.16199, 0.00000, 0.00000, 0.00000);
  48825. CreateDynamicObject(866, 1749.35291, -1847.47461, 1060.16199, 0.00000, 0.00000, 0.00000);
  48826. CreateDynamicObject(866, 1742.20166, -1842.34363, 1059.79126, 0.00000, 0.00000, 0.00000);
  48827. CreateDynamicObject(866, 1742.90930, -1884.02441, 1060.07520, 0.00000, 0.00000, 0.00000);
  48828. CreateDynamicObject(866, 1737.90735, -1881.45642, 1060.07520, 0.00000, 0.00000, 0.00000);
  48829. CreateDynamicObject(866, 1731.81287, -1885.83411, 1060.07520, 0.00000, 0.00000, 0.00000);
  48830. CreateDynamicObject(866, 1723.66345, -1882.62463, 1060.07520, 0.00000, 0.00000, 30.00000);
  48831. CreateDynamicObject(866, 1725.66028, -1889.12915, 1060.07520, 0.00000, 0.00000, 50.00000);
  48832. CreateDynamicObject(842, 1721.83081, -1889.54077, 1060.05542, 0.00000, 0.00000, 0.00000);
  48833. CreateDynamicObject(842, 1732.92444, -1879.68958, 1060.05542, 0.00000, 0.00000, 0.00000);
  48834. CreateDynamicObject(19838, 1731.02710, -1855.00415, 1060.01379, 0.00000, 0.00000, 0.00000);
  48835. CreateDynamicObject(19838, 1730.01489, -1857.01978, 1060.01379, 0.00000, 0.00000, 0.00000);
  48836. CreateDynamicObject(19838, 1728.42749, -1864.61926, 1060.01379, 0.00000, 0.00000, 0.00000);
  48837. CreateDynamicObject(19838, 1734.89954, -1869.72083, 1060.01379, 0.00000, 0.00000, 0.00000);
  48838. CreateDynamicObject(19838, 1738.81970, -1867.92761, 1060.01379, 0.00000, 0.00000, 0.00000);
  48839. CreateDynamicObject(19838, 1748.09216, -1866.30310, 1060.01379, 0.00000, 0.00000, 0.00000);
  48840. CreateDynamicObject(761, 1750.19519, -1865.83679, 1060.12378, 0.00000, 0.00000, 0.00000);
  48841. CreateDynamicObject(761, 1745.21118, -1861.15137, 1060.12378, 0.00000, 0.00000, 0.00000);
  48842. CreateDynamicObject(761, 1741.52515, -1877.29968, 1060.12378, 0.00000, 0.00000, 0.00000);
  48843. CreateDynamicObject(761, 1744.28687, -1873.30957, 1060.12378, 0.00000, 0.00000, 0.00000);
  48844. CreateDynamicObject(761, 1749.25757, -1876.14282, 1060.12378, 0.00000, 0.00000, 0.00000);
  48845. CreateDynamicObject(761, 1734.28467, -1856.42419, 1060.12378, 0.00000, 0.00000, 50.00000);
  48846. CreateDynamicObject(761, 1752.13123, -1872.80530, 1060.12378, 0.00000, 0.00000, 0.00000);
  48847. CreateDynamicObject(761, 1737.02832, -1857.68591, 1060.12378, 0.00000, 0.00000, 0.00000);
  48848. CreateDynamicObject(19448, 1751.30652, -1893.16235, 1061.49121, 0.00000, 0.00000, 90.00000);
  48849. CreateDynamicObject(19386, 1746.40222, -1894.68030, 1061.49121, 0.00000, 0.00000, 0.00000);
  48850. CreateDynamicObject(19356, 1746.40222, -1897.88916, 1061.49121, 0.00000, 0.00000, 0.00000);
  48851. CreateDynamicObject(19386, 1723.16223, -1841.50696, 1061.49121, 0.00000, 0.00000, 0.00000);
  48852. CreateDynamicObject(19356, 1723.16223, -1838.30554, 1061.49121, 0.00000, 0.00000, 0.00000);
  48853. CreateDynamicObject(19448, 1718.26038, -1843.03015, 1061.49121, 0.00000, 0.00000, 90.00000);
  48854. CreateDynamicObject(19860, 1753.90088, -1898.57910, 1061.03516, 0.00000, 0.00000, 90.00000);
  48855. CreateDynamicObject(19860, 1714.89746, -1838.59729, 1060.91248, 0.00000, 0.00000, 90.00000);
  48856. CreateDynamicObject(19307, 1723.17896, -1839.16162, 1062.45313, 0.00000, 28.00000, 180.00000);
  48857. CreateDynamicObject(19306, 1746.33875, -1897.18945, 1062.32666, 0.00000, 30.00000, 0.00000);
  48858. CreateDynamicObject(697, 1720.13049, -1868.25757, 1059.63855, 0.00000, 0.00000, 0.00000);
  48859. CreateDynamicObject(697, 1751.04895, -1886.18469, 1059.63855, 0.00000, 0.00000, 0.00000);
  48860. CreateDynamicObject(782, 1725.59021, -1892.31262, 1059.30859, 0.00000, 0.00000, 0.00000);
  48861. CreateDynamicObject(782, 1738.87036, -1889.95752, 1059.30859, 0.00000, 0.00000, 50.00000);
  48862. CreateDynamicObject(659, 1747.87939, -1843.60547, 1058.90393, 0.00000, 0.00000, 0.00000);
  48863. CreateDynamicObject(659, 1741.75391, -1846.39673, 1058.90393, 0.00000, 0.00000, 0.00000);
  48864. CreateDynamicObject(659, 1720.73450, -1854.42224, 1058.90393, 0.00000, 0.00000, 0.00000);
  48865. // Death Arena by Jack Deen
  48866. tmpobjid = CreateDynamicObjectEx(19447,2012.964,-2504.003,1021.101,0.000,-90.000,270.000,300.000,300.000);
  48867. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1280);
  48868. tmpobjid = CreateDynamicObjectEx(19447,2022.594,-2504.003,1021.101,0.000,-90.000,270.000,300.000,300.000);
  48869. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1280);
  48870. tmpobjid = CreateDynamicObjectEx(19447,2032.203,-2504.003,1021.101,0.000,-90.000,270.000,300.000,300.000);
  48871. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1280);
  48872. tmpobjid = CreateDynamicObjectEx(19447,2008.173,-2504.003,1021.103,0.000,-90.000,270.000,300.000,300.000);
  48873. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1280);
  48874. tmpobjid = CreateDynamicObjectEx(19447,2012.964,-2491.003,1025.102,0.000,-90.000,270.000,300.000,300.000);
  48875. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -16711936);
  48876. tmpobjid = CreateDynamicObjectEx(19385,2003.515,-2503.951,1019.312,0.000,0.000,-179.998,300.000,300.000);
  48877. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1280);
  48878. tmpobjid = CreateDynamicObjectEx(19385,2036.693,-2504.003,1019.312,0.000,0.000,0.000,300.000,300.000);
  48879. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1280);
  48880. tmpobjid = CreateDynamicObjectEx(19447,2032.203,-2516.904,1025.102,0.000,-90.000,270.000,300.000,300.000);
  48881. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -16711936);
  48882. tmpobjid = CreateDynamicObjectEx(19447,2022.594,-2516.904,1025.102,0.000,-90.000,270.000,300.000,300.000);
  48883. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -16711936);
  48884. tmpobjid = CreateDynamicObjectEx(19447,2012.964,-2516.904,1025.102,0.000,-90.000,270.000,300.000,300.000);
  48885. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -16711936);
  48886. tmpobjid = CreateDynamicObjectEx(19447,2008.173,-2516.904,1025.103,0.000,-90.000,270.000,300.000,300.000);
  48887. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -16711936);
  48888. tmpobjid = CreateDynamicObjectEx(19447,2022.594,-2491.003,1025.102,0.000,-90.000,270.000,300.000,300.000);
  48889. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -16711936);
  48890. tmpobjid = CreateDynamicObjectEx(19447,2032.203,-2491.003,1025.102,0.000,-90.000,270.000,300.000,300.000);
  48891. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -16711936);
  48892. tmpobjid = CreateDynamicObjectEx(19447,2008.173,-2491.003,1025.103,0.000,-90.000,270.000,300.000,300.000);
  48893. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -16711936);
  48894. tmpobjid = CreateDynamicObjectEx(19447,2020.683,-2497.888,1019.174,24.198,90.000,-179.998,300.000,300.000);
  48895. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1280);
  48896. tmpobjid = CreateDynamicObjectEx(19385,2033.895,-2508.870,1019.312,0.000,0.000,-89.999,300.000,300.000);
  48897. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -16711936);
  48898. tmpobjid = CreateDynamicObjectEx(19447,2033.895,-2504.093,1021.103,0.000,-90.000,360.000,300.000,300.000);
  48899. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -16711936);
  48900. tmpobjid = CreateDynamicObjectEx(19385,2033.764,-2499.674,1019.312,0.000,0.000,90.000,300.000,300.000);
  48901. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -16711936);
  48902. tmpobjid = CreateDynamicObjectEx(19447,2033.895,-2497.169,1023.117,24.198,-90.000,360.000,300.000,300.000);
  48903. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -16711936);
  48904. tmpobjid = CreateDynamicObjectEx(19447,2033.885,-2510.773,1023.117,24.198,90.000,-179.998,300.000,300.000);
  48905. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -16711936);
  48906. tmpobjid = CreateDynamicObjectEx(19447,2020.683,-2510.087,1019.174,24.198,90.000,0.000,300.000,300.000);
  48907. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -1280);
  48908. tmpobjid = CreateDynamicObjectEx(19074,2020.149,-2504.132,1039.676,0.000,180.000,0.000,300.000,300.000);
  48909. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -36096);
  48910. SetDynamicObjectMaterial(tmpobjid, 1, -1, "none", "none", -36096);
  48911. tmpobjid = CreateDynamicObjectEx(19447,2006.384,-2510.773,1023.117,24.198,90.000,-179.998,300.000,300.000);
  48912. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -16711936);
  48913. tmpobjid = CreateDynamicObjectEx(19385,2006.395,-2508.870,1019.312,0.000,0.000,-89.999,300.000,300.000);
  48914. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -16711936);
  48915. tmpobjid = CreateDynamicObjectEx(19447,2006.395,-2504.093,1021.104,0.000,-90.000,360.000,300.000,300.000);
  48916. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -16711936);
  48917. tmpobjid = CreateDynamicObjectEx(19385,2006.394,-2499.674,1019.312,0.000,0.000,90.000,300.000,300.000);
  48918. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -16711936);
  48919. tmpobjid = CreateDynamicObjectEx(19447,2006.395,-2497.169,1023.117,24.198,-90.000,360.000,300.000,300.000);
  48920. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -16711936);
  48921. tmpobjid = CreateDynamicObjectEx(4708,2019.437,-2508.427,1056.012,0.000,-180.000,0.000,300.000,300.000);
  48922. SetDynamicObjectMaterial(tmpobjid, 1, -1, "none", "none", -65536);
  48923. SetDynamicObjectMaterial(tmpobjid, 2, -1, "none", "none", -65536);
  48924. SetDynamicObjectMaterial(tmpobjid, 3, -1, "none", "none", -65536);
  48925. SetDynamicObjectMaterial(tmpobjid, 4, -1, "none", "none", -65536);
  48926. SetDynamicObjectMaterial(tmpobjid, 5, -1, "none", "none", -65536);
  48927. SetDynamicObjectMaterial(tmpobjid, 6, -1, "none", "none", -65536);
  48928. SetDynamicObjectMaterial(tmpobjid, 7, -1, "none", "none", -65536);
  48929. tmpobjid = CreateDynamicObjectEx(8419,2023.750,-2498.135,1005.927,0.000,0.000,0.000,300.000,300.000);
  48930. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -65536);
  48931. SetDynamicObjectMaterial(tmpobjid, 1, -1, "none", "none", -65536);
  48932. SetDynamicObjectMaterial(tmpobjid, 2, -1, "none", "none", -65536);
  48933. SetDynamicObjectMaterial(tmpobjid, 3, -1, "none", "none", -65536);
  48934. SetDynamicObjectMaterial(tmpobjid, 4, -1, "none", "none", -65536);
  48935. tmpobjid = CreateDynamicObjectEx(4848,2033.454,-2499.995,1038.562,39.999,180.000,112.499,300.000,300.000);
  48936. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -16733441);
  48937. tmpobjid = CreateDynamicObjectEx(18762,2022.634,-2503.967,1037.838,0.000,-90.000,0.001,300.000,300.000);
  48938. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  48939. tmpobjid = CreateDynamicObjectEx(18762,2040.790,-2503.968,1019.796,0.000,0.000,0.001,300.000,300.000);
  48940. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  48941. tmpobjid = CreateDynamicObjectEx(18762,2039.967,-2503.968,1024.494,0.000,-20.003,0.001,300.000,300.000);
  48942. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  48943. tmpobjid = CreateDynamicObjectEx(18762,2037.905,-2503.968,1028.924,0.000,-30.003,0.001,300.000,300.000);
  48944. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  48945. tmpobjid = CreateDynamicObjectEx(18762,2035.126,-2503.967,1032.910,0.000,-40.006,0.001,300.000,300.000);
  48946. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  48947. tmpobjid = CreateDynamicObjectEx(4848,2038.927,-2497.727,1032.135,49.999,180.000,112.499,300.000,300.000);
  48948. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -65536);
  48949. tmpobjid = CreateDynamicObjectEx(4848,2040.682,-2496.997,1028.137,59.999,180.000,112.499,300.000,300.000);
  48950. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -16733441);
  48951. tmpobjid = CreateDynamicObjectEx(4848,2041.713,-2496.571,1023.963,69.999,180.000,112.499,300.000,300.000);
  48952. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -65536);
  48953. tmpobjid = CreateDynamicObjectEx(4848,2041.939,-2496.477,1020.927,89.999,180.000,112.499,300.000,300.000);
  48954. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -16733441);
  48955. tmpobjid = CreateDynamicObjectEx(4848,2032.363,-2510.596,1038.562,39.999,180.000,67.499,300.000,300.000);
  48956. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -16733441);
  48957. tmpobjid = CreateDynamicObjectEx(18762,2021.902,-2505.753,1037.838,0.000,-90.000,-44.998,300.000,300.000);
  48958. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  48959. tmpobjid = CreateDynamicObjectEx(18762,2031.692,-2503.967,1036.358,0.000,-50.006,0.001,300.000,300.000);
  48960. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  48961. tmpobjid = CreateDynamicObjectEx(18762,2027.614,-2503.967,1037.838,0.000,-90.000,0.001,300.000,300.000);
  48962. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  48963. tmpobjid = CreateDynamicObjectEx(4848,2026.729,-2491.726,1038.562,39.999,180.000,157.498,300.000,300.000);
  48964. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -16733441);
  48965. tmpobjid = CreateDynamicObjectEx(18762,2021.886,-2502.186,1037.838,0.000,-90.000,45.000,300.000,300.000);
  48966. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  48967. tmpobjid = CreateDynamicObjectEx(18762,2034.725,-2489.347,1019.796,0.000,0.000,45.000,300.000,300.000);
  48968. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  48969. tmpobjid = CreateDynamicObjectEx(18762,2034.144,-2489.930,1024.494,0.000,-20.003,45.000,300.000,300.000);
  48970. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  48971. tmpobjid = CreateDynamicObjectEx(18762,2032.686,-2491.388,1028.924,0.000,-30.003,45.000,300.000,300.000);
  48972. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  48973. tmpobjid = CreateDynamicObjectEx(18762,2030.720,-2493.352,1032.910,0.000,-40.006,45.000,300.000,300.000);
  48974. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  48975. tmpobjid = CreateDynamicObjectEx(4848,2028.994,-2486.251,1032.135,49.999,180.000,157.498,300.000,300.000);
  48976. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -65536);
  48977. tmpobjid = CreateDynamicObjectEx(18762,2034.739,-2518.593,1019.796,0.000,0.000,-44.998,300.000,300.000);
  48978. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  48979. tmpobjid = CreateDynamicObjectEx(18762,2034.157,-2518.011,1024.494,0.000,-20.003,-44.998,300.000,300.000);
  48980. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  48981. tmpobjid = CreateDynamicObjectEx(18762,2032.699,-2516.553,1028.924,0.000,-30.003,-44.998,300.000,300.000);
  48982. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  48983. tmpobjid = CreateDynamicObjectEx(18762,2030.735,-2514.587,1032.910,0.000,-40.006,-44.998,300.000,300.000);
  48984. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  48985. tmpobjid = CreateDynamicObjectEx(4848,2037.836,-2512.863,1032.135,49.999,180.000,67.499,300.000,300.000);
  48986. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -65536);
  48987. tmpobjid = CreateDynamicObjectEx(4848,2039.593,-2513.589,1028.137,60.000,180.000,67.499,300.000,300.000);
  48988. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -16733441);
  48989. tmpobjid = CreateDynamicObjectEx(4848,2040.624,-2514.016,1023.963,69.999,180.000,67.499,300.000,300.000);
  48990. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -65536);
  48991. tmpobjid = CreateDynamicObjectEx(4848,2040.849,-2514.110,1020.927,90.000,488.179,119.319,300.000,300.000);
  48992. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -16733441);
  48993. tmpobjid = CreateDynamicObjectEx(18762,2028.308,-2512.159,1036.358,0.000,-50.006,-44.998,300.000,300.000);
  48994. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  48995. tmpobjid = CreateDynamicObjectEx(18762,2025.423,-2509.275,1037.838,0.000,-90.000,-44.998,300.000,300.000);
  48996. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  48997. tmpobjid = CreateDynamicObjectEx(4848,2029.720,-2484.495,1028.137,59.999,180.000,157.498,300.000,300.000);
  48998. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -16733441);
  48999. tmpobjid = CreateDynamicObjectEx(4848,2030.147,-2483.465,1023.963,69.999,180.000,157.498,300.000,300.000);
  49000. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -65536);
  49001. tmpobjid = CreateDynamicObjectEx(4848,2030.241,-2483.238,1020.927,90.000,192.492,145.007,300.000,300.000);
  49002. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -16733441);
  49003. tmpobjid = CreateDynamicObjectEx(18762,2028.292,-2495.780,1036.358,0.000,-50.006,45.000,300.000,300.000);
  49004. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  49005. tmpobjid = CreateDynamicObjectEx(18762,2025.407,-2498.664,1037.838,0.000,-90.000,45.000,300.000,300.000);
  49006. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  49007. tmpobjid = CreateDynamicObjectEx(4848,2016.126,-2490.634,1038.562,39.999,180.000,-157.500,300.000,300.000);
  49008. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -16733441);
  49009. tmpobjid = CreateDynamicObjectEx(18762,2020.098,-2501.454,1037.838,0.000,-90.000,90.000,300.000,300.000);
  49010. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  49011. tmpobjid = CreateDynamicObjectEx(18762,2020.099,-2483.298,1019.796,0.000,0.000,90.000,300.000,300.000);
  49012. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  49013. tmpobjid = CreateDynamicObjectEx(18762,2020.100,-2484.122,1024.494,0.000,-20.003,90.000,300.000,300.000);
  49014. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  49015. tmpobjid = CreateDynamicObjectEx(18762,2020.099,-2486.184,1028.924,0.000,-30.003,90.000,300.000,300.000);
  49016. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  49017. tmpobjid = CreateDynamicObjectEx(18762,2020.098,-2488.961,1032.910,0.000,-40.006,90.000,300.000,300.000);
  49018. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  49019. tmpobjid = CreateDynamicObjectEx(4848,2013.859,-2485.160,1032.135,49.999,180.000,-157.500,300.000,300.000);
  49020. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -65536);
  49021. tmpobjid = CreateDynamicObjectEx(4848,2013.130,-2483.405,1028.137,59.999,180.000,-157.500,300.000,300.000);
  49022. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -16733441);
  49023. tmpobjid = CreateDynamicObjectEx(4848,2012.703,-2482.375,1023.963,69.999,180.000,-157.500,300.000,300.000);
  49024. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -65536);
  49025. tmpobjid = CreateDynamicObjectEx(4848,2012.609,-2482.147,1020.927,90.000,333.166,49.332,300.000,300.000);
  49026. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -16733441);
  49027. tmpobjid = CreateDynamicObjectEx(18762,2020.098,-2492.395,1036.358,0.000,-50.006,90.000,300.000,300.000);
  49028. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  49029. tmpobjid = CreateDynamicObjectEx(18762,2020.098,-2496.475,1037.838,0.000,-90.000,90.000,300.000,300.000);
  49030. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  49031. tmpobjid = CreateDynamicObjectEx(4848,2007.858,-2497.358,1038.562,39.999,180.000,-112.500,300.000,300.000);
  49032. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -16733441);
  49033. tmpobjid = CreateDynamicObjectEx(18762,2018.317,-2502.201,1037.838,0.000,-90.000,135.000,300.000,300.000);
  49034. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  49035. tmpobjid = CreateDynamicObjectEx(18762,2005.479,-2489.362,1019.796,0.000,0.000,135.000,300.000,300.000);
  49036. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  49037. tmpobjid = CreateDynamicObjectEx(18762,2006.062,-2489.944,1024.494,0.000,-20.003,135.000,300.000,300.000);
  49038. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  49039. tmpobjid = CreateDynamicObjectEx(18762,2007.520,-2491.402,1028.924,0.000,-30.003,135.000,300.000,300.000);
  49040. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  49041. tmpobjid = CreateDynamicObjectEx(18762,2009.484,-2493.367,1032.910,0.000,-40.006,135.000,300.000,300.000);
  49042. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  49043. tmpobjid = CreateDynamicObjectEx(4848,2002.385,-2495.093,1032.135,49.999,180.000,-112.500,300.000,300.000);
  49044. SetDynamicObjectMaterial(tmpobjid, 1, -1, "none", "none", -65536);
  49045. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -65536);
  49046. tmpobjid = CreateDynamicObjectEx(4848,2000.626,-2494.366,1028.137,59.999,180.000,-112.500,300.000,300.000);
  49047. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -16733441);
  49048. tmpobjid = CreateDynamicObjectEx(4848,1999.597,-2493.939,1023.963,69.999,180.000,-112.500,300.000,300.000);
  49049. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -65536);
  49050. tmpobjid = CreateDynamicObjectEx(4848,1999.369,-2493.845,1020.927,90.000,186.257,-118.758,300.000,300.000);
  49051. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -16733441);
  49052. tmpobjid = CreateDynamicObjectEx(18762,2011.911,-2495.795,1036.358,0.000,-50.006,135.000,300.000,300.000);
  49053. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  49054. tmpobjid = CreateDynamicObjectEx(18762,2014.796,-2498.679,1037.838,0.000,-90.000,135.000,300.000,300.000);
  49055. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  49056. tmpobjid = CreateDynamicObjectEx(4848,2006.765,-2507.960,1038.562,39.999,180.000,-67.500,300.000,300.000);
  49057. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -16733441);
  49058. tmpobjid = CreateDynamicObjectEx(18762,2017.587,-2503.989,1037.838,0.000,-90.000,-179.998,300.000,300.000);
  49059. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  49060. tmpobjid = CreateDynamicObjectEx(18762,1999.430,-2503.988,1019.796,0.000,0.000,-179.998,300.000,300.000);
  49061. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  49062. tmpobjid = CreateDynamicObjectEx(18762,2000.254,-2503.988,1024.494,0.000,-20.003,-179.998,300.000,300.000);
  49063. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  49064. tmpobjid = CreateDynamicObjectEx(18762,2002.316,-2503.988,1028.924,0.000,-30.003,-179.998,300.000,300.000);
  49065. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  49066. tmpobjid = CreateDynamicObjectEx(18762,2005.093,-2503.989,1032.910,0.000,-40.006,-179.998,300.000,300.000);
  49067. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  49068. tmpobjid = CreateDynamicObjectEx(4848,2001.292,-2510.229,1032.135,49.999,180.000,-67.500,300.000,300.000);
  49069. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -65536);
  49070. tmpobjid = CreateDynamicObjectEx(4848,1999.536,-2510.958,1028.137,59.999,180.000,-67.500,300.000,300.000);
  49071. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -16733441);
  49072. tmpobjid = CreateDynamicObjectEx(4848,1998.506,-2511.385,1023.963,69.999,180.000,-67.500,300.000,300.000);
  49073. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -65536);
  49074. tmpobjid = CreateDynamicObjectEx(4848,1998.281,-2511.479,1020.927,90.000,340.565,131.934,300.000,300.000);
  49075. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -16733441);
  49076. tmpobjid = CreateDynamicObjectEx(18762,2008.526,-2503.989,1036.358,0.000,-50.006,-179.998,300.000,300.000);
  49077. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  49078. tmpobjid = CreateDynamicObjectEx(18762,2012.607,-2503.989,1037.838,0.000,-90.000,-179.998,300.000,300.000);
  49079. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  49080. tmpobjid = CreateDynamicObjectEx(4848,2013.490,-2516.229,1038.562,39.999,180.000,-22.500,300.000,300.000);
  49081. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -16733441);
  49082. tmpobjid = CreateDynamicObjectEx(18762,2018.333,-2505.770,1037.838,0.000,-90.000,-134.998,300.000,300.000);
  49083. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  49084. tmpobjid = CreateDynamicObjectEx(18762,2005.494,-2518.607,1019.796,0.000,0.000,-134.998,300.000,300.000);
  49085. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  49086. tmpobjid = CreateDynamicObjectEx(18762,2006.077,-2518.024,1024.494,0.000,-20.003,-134.998,300.000,300.000);
  49087. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  49088. tmpobjid = CreateDynamicObjectEx(18762,2007.535,-2516.566,1028.924,0.000,-30.003,-134.998,300.000,300.000);
  49089. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  49090. tmpobjid = CreateDynamicObjectEx(18762,2009.500,-2514.604,1032.910,0.000,-40.006,-134.998,300.000,300.000);
  49091. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  49092. tmpobjid = CreateDynamicObjectEx(4848,2011.224,-2521.704,1032.135,49.999,180.000,-22.500,300.000,300.000);
  49093. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -65536);
  49094. tmpobjid = CreateDynamicObjectEx(4848,2010.499,-2523.460,1028.137,60.000,180.000,-22.500,300.000,300.000);
  49095. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -16733441);
  49096. tmpobjid = CreateDynamicObjectEx(4848,2010.072,-2524.490,1023.963,69.999,180.000,-22.500,300.000,300.000);
  49097. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -65536);
  49098. tmpobjid = CreateDynamicObjectEx(4848,2009.978,-2524.718,1020.927,90.000,486.811,30.687,300.000,300.000);
  49099. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -16733441);
  49100. tmpobjid = CreateDynamicObjectEx(18762,2011.927,-2512.177,1036.358,0.000,-50.006,-134.998,300.000,300.000);
  49101. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  49102. tmpobjid = CreateDynamicObjectEx(18762,2014.812,-2509.291,1037.838,0.000,-90.000,-134.998,300.000,300.000);
  49103. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  49104. tmpobjid = CreateDynamicObjectEx(4848,2024.093,-2517.322,1038.562,39.999,180.000,22.499,300.000,300.000);
  49105. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -16733441);
  49106. tmpobjid = CreateDynamicObjectEx(18762,2020.121,-2506.501,1037.838,0.000,-90.000,-89.998,300.000,300.000);
  49107. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  49108. tmpobjid = CreateDynamicObjectEx(18762,2020.119,-2524.657,1019.796,0.000,0.000,-89.998,300.000,300.000);
  49109. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  49110. tmpobjid = CreateDynamicObjectEx(18762,2020.119,-2523.833,1024.494,0.000,-20.003,-89.998,300.000,300.000);
  49111. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  49112. tmpobjid = CreateDynamicObjectEx(18762,2020.119,-2521.771,1028.924,0.000,-30.003,-89.998,300.000,300.000);
  49113. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  49114. tmpobjid = CreateDynamicObjectEx(18762,2020.120,-2518.993,1032.910,0.000,-40.006,-89.998,300.000,300.000);
  49115. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  49116. tmpobjid = CreateDynamicObjectEx(4848,2026.360,-2522.794,1032.135,49.999,180.000,22.499,300.000,300.000);
  49117. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -65536);
  49118. tmpobjid = CreateDynamicObjectEx(4848,2027.090,-2524.551,1028.137,60.000,180.000,22.499,300.000,300.000);
  49119. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -16733441);
  49120. tmpobjid = CreateDynamicObjectEx(4848,2027.517,-2525.581,1023.963,69.999,180.000,22.499,300.000,300.000);
  49121. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -65536);
  49122. tmpobjid = CreateDynamicObjectEx(4848,2027.610,-2525.808,1020.927,90.000,347.505,-145.005,300.000,300.000);
  49123. SetDynamicObjectMaterial(tmpobjid, 2, 3925, "weemap", "steel128", -16733441);
  49124. tmpobjid = CreateDynamicObjectEx(18762,2020.121,-2515.561,1036.358,0.000,-50.006,-89.998,300.000,300.000);
  49125. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  49126. tmpobjid = CreateDynamicObjectEx(18762,2020.120,-2511.480,1037.838,0.000,-90.000,-89.998,300.000,300.000);
  49127. SetDynamicObjectMaterial(tmpobjid, 0, 18808, "MatTextures", "ab_sheetSteel", -8224896);
  49128. tmpobjid = CreateDynamicObjectEx(19482,2026.507,-2488.772,1029.893,-0.000,19.999,-112.500,300.000,300.000);
  49129. SetDynamicObjectMaterialText(tmpobjid, 0, "DEATH", 120, "Engravers MT", 50, 1, -36096, 0, 1);
  49130. tmpobjid = CreateDynamicObjectEx(19482,2013.881,-2488.703,1029.893,0.000,20.000,-67.500,300.000,300.000);
  49131. SetDynamicObjectMaterialText(tmpobjid, 0, "DEATH", 120, "Engravers MT", 50, 1, -36096, 0, 1);
  49132. tmpobjid = CreateDynamicObjectEx(19482,2004.904,-2497.581,1029.893,0.000,19.999,-22.499,300.000,300.000);
  49133. SetDynamicObjectMaterialText(tmpobjid, 0, "DEATH", 120, "Engravers MT", 50, 1, -36096, 0, 1);
  49134. tmpobjid = CreateDynamicObjectEx(19482,2004.835,-2510.207,1029.893,0.000,19.999,22.500,300.000,300.000);
  49135. SetDynamicObjectMaterialText(tmpobjid, 0, "DEATH", 120, "Engravers MT", 50, 1, -36096, 0, 1);
  49136. tmpobjid = CreateDynamicObjectEx(19482,2013.713,-2519.184,1029.893,0.000,19.999,67.500,300.000,300.000);
  49137. SetDynamicObjectMaterialText(tmpobjid, 0, "DEATH", 120, "Engravers MT", 50, 1, -36096, 0, 1);
  49138. tmpobjid = CreateDynamicObjectEx(19482,2026.339,-2519.253,1029.893,-0.000,19.999,112.499,300.000,300.000);
  49139. SetDynamicObjectMaterialText(tmpobjid, 0, "DEATH", 120, "Engravers MT", 50, 1, -36096, 0, 1);
  49140. tmpobjid = CreateDynamicObjectEx(19482,2035.316,-2510.375,1029.893,-0.000,19.999,157.499,300.000,300.000);
  49141. SetDynamicObjectMaterialText(tmpobjid, 0, "DEATH", 120, "Engravers MT", 50, 1, -36096, 0, 1);
  49142. tmpobjid = CreateDynamicObjectEx(19482,2035.386,-2497.749,1029.893,-0.000,19.999,-157.500,300.000,300.000);
  49143. SetDynamicObjectMaterialText(tmpobjid, 0, "DEATH", 120, "Engravers MT", 50, 1, -36096, 0, 1);
  49144. tmpobjid = CreateDynamicObjectEx(19482,2011.538,-2521.526,1019.148,0.000,0.000,67.500,300.000,300.000);
  49145. SetDynamicObjectMaterialText(tmpobjid, 0, "Blast Gaming", 90, "Calibri", 50, 1, -16776961, 0, 0);
  49146. tmpobjid = CreateDynamicObjectEx(13649,2019.879,-2503.926,1024.677,0.000,0.000,0.000,300.000,300.000);
  49147. SetDynamicObjectMaterial(tmpobjid, 0, 2707, "Shopping", "white", -5635841);
  49148. SetDynamicObjectMaterial(tmpobjid, 1, 2707, "Shopping", "white", -16730113);
  49149. tmpobjid = CreateDynamicObjectEx(13649,2019.879,-2503.926,1024.677,0.000,180.000,0.000,300.000,300.000);
  49150. SetDynamicObjectMaterial(tmpobjid, 0, 2707, "Shopping", "white", -5635841);
  49151. SetDynamicObjectMaterial(tmpobjid, 1, 2707, "Shopping", "white", -16730113);
  49152. tmpobjid = CreateDynamicObjectEx(19447,2019.795,-2510.383,1025.101,0.000,-90.000,360.000,300.000,300.000);
  49153. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -16711936);
  49154. tmpobjid = CreateDynamicObjectEx(19447,2019.934,-2497.571,1025.101,0.000,-90.000,360.000,300.000,300.000);
  49155. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -16711936);
  49156. tmpobjid = CreateDynamicObjectEx(19454,2004.314,-2503.831,1028.377,0.000,90.000,-179.999,300.000,300.000);
  49157. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -6487809);
  49158. tmpobjid = CreateDynamicObjectEx(19447,2010.456,-2504.155,1026.728,-19.800,-90.000,-90.000,300.000,300.000);
  49159. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -6487809);
  49160. tmpobjid = CreateDynamicObjectEx(19447,2019.606,-2504.114,1025.103,-0.000,-90.000,-90.000,300.000,300.000);
  49161. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -6487809);
  49162. tmpobjid = CreateDynamicObjectEx(19447,2020.614,-2504.112,1025.102,0.000,-90.000,450.000,300.000,300.000);
  49163. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -6487809);
  49164. tmpobjid = CreateDynamicObjectEx(19447,2029.764,-2504.071,1026.727,-19.800,-90.000,450.000,300.000,300.000);
  49165. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -6487809);
  49166. tmpobjid = CreateDynamicObjectEx(19454,2035.907,-2504.395,1028.376,0.000,90.000,0.000,300.000,300.000);
  49167. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", -6487809);
  49168. tmpobjid = CreateDynamicObjectEx(8064,2021.122,-2503.646,1014.287,0.000,0.000,45.000,300.000,300.000);
  49169. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", 16711680);
  49170. SetDynamicObjectMaterial(tmpobjid, 1, -1, "none", "none", 16711680);
  49171. SetDynamicObjectMaterial(tmpobjid, 2, -1, "none", "none", 16711680);
  49172. SetDynamicObjectMaterial(tmpobjid, 3, -1, "none", "none", 16711680);
  49173. SetDynamicObjectMaterial(tmpobjid, 4, -1, "none", "none", 16711680);
  49174. SetDynamicObjectMaterial(tmpobjid, 5, -1, "none", "none", 16711680);
  49175. SetDynamicObjectMaterial(tmpobjid, 6, -1, "none", "none", 16711680);
  49176. SetDynamicObjectMaterial(tmpobjid, 7, -1, "none", "none", -65536);
  49177. SetDynamicObjectMaterialText(tmpobjid, 7, "Blast RP", 130, "Ariel", 50, 0, -861401, 0, 1);
  49178. tmpobjid = CreateDynamicObjectEx(8064,2020.330,-2504.439,1014.277,0.000,0.000,135.000,300.000,300.000);
  49179. SetDynamicObjectMaterial(tmpobjid, 0, -1, "none", "none", 16711680);
  49180. SetDynamicObjectMaterial(tmpobjid, 1, -1, "none", "none", 16711680);
  49181. SetDynamicObjectMaterial(tmpobjid, 2, -1, "none", "none", 16711680);
  49182. SetDynamicObjectMaterial(tmpobjid, 3, -1, "none", "none", 16711680);
  49183. SetDynamicObjectMaterial(tmpobjid, 4, -1, "none", "none", 16711680);
  49184. SetDynamicObjectMaterial(tmpobjid, 5, -1, "none", "none", 16711680);
  49185. SetDynamicObjectMaterial(tmpobjid, 6, -1, "none", "none", 16711680);
  49186. SetDynamicObjectMaterial(tmpobjid, 7, -1, "none", "none", -65536);
  49187. SetDynamicObjectMaterialText(tmpobjid, 7, "*", 130, "Webdings", 250, 0, -65536, 0, 1);
  49188. CreateDynamicObjectEx(3785,2020.133,-2490.700,1034.001,0.000,40.000,-90.000,300.000,300.000);
  49189. CreateDynamicObjectEx(3785,2029.515,-2494.605,1034.001,0.000,40.000,-135.000,300.000,300.000);
  49190. CreateDynamicObjectEx(3785,2010.738,-2494.572,1034.001,0.000,40.000,-45.000,300.000,300.000);
  49191. CreateDynamicObjectEx(3785,2006.833,-2503.955,1034.001,0.000,40.000,0.000,300.000,300.000);
  49192. CreateDynamicObjectEx(3785,2010.704,-2513.350,1034.001,0.000,39.999,44.999,300.000,300.000);
  49193. CreateDynamicObjectEx(3785,2020.087,-2517.254,1034.001,0.000,39.999,89.999,300.000,300.000);
  49194. CreateDynamicObjectEx(3785,2029.483,-2513.383,1034.001,0.000,39.999,134.998,300.000,300.000);
  49195. CreateDynamicObjectEx(3785,2033.386,-2504.000,1034.001,0.000,39.999,179.998,300.000,300.000);
  49196. CreateDynamicObject(3046, 2019.95740, -2504.51733, 1025.78174, 88.31999, 159.60011, 0.06000);
  49197. CreateDynamicObject(3046, 2019.95776, -2503.18164, 1025.78174, 88.31999, 159.60011, 0.06000);
  49198. CreateDynamicObject(1370, 2019.09753, -2503.86621, 1025.82898, 0.00000, 0.00000, 0.00000);
  49199. CreateDynamicObject(1370, 2020.81714, -2503.90942, 1025.82898, 0.00000, 0.00000, 0.00000);
  49200. CreateDynamicObject(3046, 2035.87830, -2508.25830, 1028.92908, 88.31999, 159.60011, 0.06000);
  49201. CreateDynamicObject(3046, 2035.67139, -2500.30640, 1028.92908, 88.31999, 159.60011, 0.06000);
  49202. CreateDynamicObject(1370, 2036.80786, -2504.22266, 1029.03516, 0.00000, 0.00000, 0.00000);
  49203. CreateDynamicObject(3046, 2004.32300, -2499.80615, 1028.92908, 88.31999, 159.60011, 0.06000);
  49204. CreateDynamicObject(3046, 2004.44971, -2507.93970, 1028.92908, 88.31999, 159.60011, 0.06000);
  49205. CreateDynamicObject(1370, 2003.61426, -2503.67114, 1028.94678, 0.00000, 0.00000, 0.00000);
  49206. CreateDynamicObject(3046, 2019.58643, -2517.83936, 1025.68835, 88.31999, 159.60011, 0.06000);
  49207. CreateDynamicObject(1370, 2033.29016, -2516.81543, 1025.73401, 0.00000, 0.00000, 0.00000);
  49208. CreateDynamicObject(1370, 2006.85559, -2516.90503, 1025.71448, 0.00000, 0.00000, 0.00000);
  49209. CreateDynamicObject(3046, 2020.13208, -2490.54395, 1025.66895, 88.31999, 159.60011, 0.06000);
  49210. CreateDynamicObject(1370, 2007.20435, -2491.36157, 1025.73779, 0.00000, 0.00000, 0.00000);
  49211. CreateDynamicObject(1370, 2033.21326, -2491.30640, 1025.72949, 0.00000, 0.00000, 0.00000);
  49212. CreateDynamicObject(3046, 2019.95776, -2503.18164, 1021.69019, 88.31999, 159.60011, 0.06000);
  49213. CreateDynamicObject(3046, 2020.80811, -2503.18384, 1021.69019, 88.31999, 159.60011, 0.06000);
  49214. CreateDynamicObject(1370, 2020.85645, -2503.95947, 1021.74164, 0.00000, 0.00000, 0.00000);
  49215. CreateDynamicObject(1370, 2020.09241, -2503.97705, 1021.74164, 0.00000, 0.00000, 0.00000);
  49216. CreateDynamicObject(3046, 2036.46167, -2504.17505, 1021.70935, 88.31999, 159.60011, 0.06000);
  49217. CreateDynamicObject(1370, 2036.46594, -2505.32861, 1021.60718, 0.00000, 0.00000, 0.00000);
  49218. CreateDynamicObject(1370, 2036.72827, -2502.68213, 1021.70892, 0.00000, 0.00000, 0.00000);
  49219. CreateDynamicObject(3046, 2004.22693, -2503.86230, 1021.63062, 88.31999, 159.60011, 0.06000);
  49220. CreateDynamicObject(1370, 2004.19336, -2502.79224, 1021.58350, 0.00000, 0.00000, 0.00000);
  49221. CreateDynamicObject(1370, 2004.06921, -2505.17090, 1021.58350, 0.00000, 0.00000, 0.00000);
  49222. CreateDynamicObject(3046, 2025.43042, -2486.03613, 1018.14587, 88.31999, 159.60011, 0.06000);
  49223. CreateDynamicObject(3046, 2016.49072, -2485.58569, 1018.14587, 88.31999, 159.60011, 0.06000);
  49224. CreateDynamicObject(3046, 2009.02893, -2488.94067, 1018.14587, 88.31999, 159.60011, 0.06000);
  49225. CreateDynamicObject(3046, 2003.61841, -2496.91626, 1018.14587, 88.31999, 159.60011, 0.06000);
  49226. CreateDynamicObject(3046, 2002.31458, -2503.28516, 1018.14587, 88.31999, 159.60011, 0.06000);
  49227. CreateDynamicObject(3046, 2004.49255, -2511.51563, 1018.14587, 88.31999, 159.60011, 0.06000);
  49228. CreateDynamicObject(3046, 2011.56750, -2518.15308, 1018.14587, 88.31999, 159.60011, 0.06000);
  49229. CreateDynamicObject(3046, 2021.07129, -2519.97705, 1018.14587, 88.31999, 159.60011, 0.06000);
  49230. CreateDynamicObject(3046, 2032.47534, -2516.50098, 1018.14587, 88.31999, 159.60011, 0.06000);
  49231. CreateDynamicObject(3046, 2036.72192, -2507.66772, 1018.14587, 88.31999, 159.60011, 0.06000);
  49232. CreateDynamicObject(3046, 2035.76440, -2497.09277, 1018.14587, 88.31999, 159.60011, 0.06000);
  49233. CreateDynamicObject(3046, 2034.40771, -2490.12305, 1018.14587, 88.31999, 159.60011, 0.06000);
  49234. // Lance's PD precinct
  49235. CreateDynamicObject(19375, 1176.07593, 2967.45361, 1005.00000, 0.00000, 90.00000, 0.00000);
  49236. CreateDynamicObject(19375, 1176.10046, 2977.08643, 1005.00000, 0.00000, 90.00000, 0.00000);
  49237. CreateDynamicObject(19375, 1165.60327, 2977.08789, 1005.00000, 0.00000, 90.00000, 0.00000);
  49238. CreateDynamicObject(19375, 1165.65308, 2967.45776, 1005.00000, 0.00000, 90.00000, 0.00000);
  49239. CreateDynamicObject(19459, 1181.26221, 2977.08496, 1006.84003, 0.00000, 0.00000, 0.00000);
  49240. CreateDynamicObject(19459, 1181.26465, 2967.54541, 1006.84003, 0.00000, 0.00000, 0.00000);
  49241. CreateDynamicObject(19459, 1177.46033, 2962.68115, 1006.84003, 0.00000, 0.00000, 90.00000);
  49242. CreateDynamicObject(19459, 1163.31531, 2962.71460, 1006.84003, 0.00000, 0.00000, 90.00000);
  49243. CreateDynamicObject(19459, 1160.42664, 2967.42578, 1006.84003, 0.00000, 0.00000, 0.00000);
  49244. CreateDynamicObject(19459, 1160.41748, 2976.96411, 1006.84003, 0.00000, 0.00000, 0.00000);
  49245. CreateDynamicObject(19459, 1165.15625, 2981.73145, 1006.84003, 0.00000, 0.00000, 90.00000);
  49246. CreateDynamicObject(19459, 1174.67639, 2981.72485, 1006.84003, 0.00000, 0.00000, 90.00000);
  49247. CreateDynamicObject(19459, 1184.17712, 2981.71606, 1006.84003, 0.00000, 0.00000, 90.00000);
  49248. CreateDynamicObject(19375, 1170.48901, 2957.86401, 1005.00000, 0.00000, 90.00000, 0.00000);
  49249. CreateDynamicObject(19459, 1172.72400, 2957.93140, 1006.84003, 0.00000, 0.00000, 0.00000);
  49250. CreateDynamicObject(19459, 1168.03784, 2957.91675, 1006.84003, 0.00000, 0.00000, 0.00000);
  49251. CreateDynamicObject(19459, 1170.08887, 2953.24390, 1006.84003, 0.00000, 0.00000, 90.00000);
  49252. CreateDynamicObject(1569, 1169.56274, 2953.29077, 1005.08002, 0.00000, 0.00000, 0.00000);
  49253. CreateDynamicObject(19459, 1165.23718, 2970.07520, 1004.70001, 0.00000, 0.00000, 90.00000);
  49254. CreateDynamicObject(19459, 1165.23718, 2970.07520, 1009.70001, 180.00000, 0.00000, 90.00000);
  49255. CreateDynamicObject(19367, 1171.64258, 2970.08008, 1006.84003, 0.00000, 0.00000, 90.00000);
  49256. CreateDynamicObject(19395, 1174.82263, 2970.07056, 1006.84003, 0.00000, 0.00000, 90.00000);
  49257. CreateDynamicObject(19459, 1181.13208, 2970.08228, 1006.84003, 0.00000, 0.00000, 90.00000);
  49258. CreateDynamicObject(19466, 1161.35913, 2970.04126, 1007.34003, 0.00000, 0.00000, -90.00000);
  49259. CreateDynamicObject(19466, 1163.59998, 2970.04126, 1007.34003, 0.00000, 0.00000, -90.00000);
  49260. CreateDynamicObject(19466, 1165.83850, 2970.04126, 1007.34003, 0.00000, 0.00000, -90.00000);
  49261. CreateDynamicObject(19466, 1168.07800, 2970.04126, 1007.34003, 0.00000, 0.00000, -90.00000);
  49262. CreateDynamicObject(19466, 1170.31750, 2970.04126, 1007.34003, 0.00000, 0.00000, -90.00000);
  49263. CreateDynamicObject(14782, 1180.85974, 2978.05103, 1006.09998, 0.00000, 0.00000, -90.00000);
  49264. CreateDynamicObject(19459, 1171.98706, 2981.23315, 1006.84003, 0.00000, 0.00000, 0.00000);
  49265. CreateDynamicObject(19395, 1171.98779, 2974.85229, 1006.84003, 0.00000, 0.00000, 0.00000);
  49266. CreateDynamicObject(19367, 1171.98804, 2971.72559, 1006.84003, 0.00000, 0.00000, 0.00000);
  49267. CreateDynamicObject(1491, 1172.02026, 2974.10376, 1005.08759, 0.00000, 0.00000, 90.00000);
  49268. CreateDynamicObject(2308, 1171.50635, 2971.66748, 1005.05219, 0.00000, 0.00000, -180.00000);
  49269. CreateDynamicObject(2165, 1169.56494, 2970.62231, 1005.05219, 0.00000, 0.00000, -180.00000);
  49270. CreateDynamicObject(2173, 1167.65430, 2970.61377, 1005.05219, 0.00000, 0.00000, -180.00000);
  49271. CreateDynamicObject(2165, 1165.70471, 2970.62915, 1005.05219, 0.00000, 0.00000, -180.00000);
  49272. CreateDynamicObject(2605, 1163.28162, 2970.60107, 1005.45221, 0.00000, 0.00000, -180.00000);
  49273. CreateDynamicObject(2605, 1161.33521, 2970.59888, 1005.45221, 0.00000, 0.00000, -180.00000);
  49274. CreateDynamicObject(19459, 1160.87830, 2977.27051, 1006.84003, 0.00000, 0.00000, 90.00000);
  49275. CreateDynamicObject(19367, 1170.47473, 2977.27441, 1006.84003, 0.00000, 0.00000, 90.00000);
  49276. CreateDynamicObject(19395, 1167.28467, 2977.26294, 1006.84003, 0.00000, 0.00000, 90.00000);
  49277. CreateDynamicObject(1491, 1166.49780, 2977.22241, 1005.08759, 0.00000, 0.00000, 0.00000);
  49278. CreateDynamicObject(19927, 1160.92114, 2978.28662, 1005.06909, 0.00000, 0.00000, 0.00000);
  49279. CreateDynamicObject(19929, 1160.91284, 2980.65259, 1005.06909, 0.00000, 0.00000, 0.00000);
  49280. CreateDynamicObject(2047, 1174.76099, 2969.98535, 1008.12482, 0.00000, 0.00000, 0.00000);
  49281. CreateDynamicObject(1721, 1178.59448, 2963.02026, 1005.08643, 0.00000, 0.00000, 0.00000);
  49282. CreateDynamicObject(1721, 1177.79883, 2962.97876, 1005.08643, 0.00000, 0.00000, 0.00000);
  49283. CreateDynamicObject(1721, 1176.90430, 2962.95288, 1005.08643, 0.00000, 0.00000, 0.00000);
  49284. CreateDynamicObject(1721, 1175.99622, 2962.96875, 1005.08643, 0.00000, 0.00000, 0.00000);
  49285. CreateDynamicObject(15038, 1168.38647, 2962.97925, 1005.72479, 0.00000, 0.00000, 0.00000);
  49286. CreateDynamicObject(15038, 1172.41187, 2962.98267, 1005.72479, 0.00000, 0.00000, 0.00000);
  49287. CreateDynamicObject(15038, 1171.82385, 2953.85596, 1005.72479, 0.00000, 0.00000, 0.00000);
  49288. CreateDynamicObject(15038, 1168.83313, 2953.89648, 1005.72479, 0.00000, 0.00000, 0.00000);
  49289. CreateDynamicObject(949, 1180.60376, 2969.46118, 1005.70477, 0.00000, 0.00000, 0.00000);
  49290. CreateDynamicObject(949, 1180.57983, 2963.21875, 1005.70477, 0.00000, 0.00000, 0.00000);
  49291. CreateDynamicObject(949, 1174.97852, 2963.19727, 1005.70477, 0.00000, 0.00000, 0.00000);
  49292. CreateDynamicObject(1368, 1166.18311, 2963.29126, 1005.72583, 0.00000, 0.00000, 180.00000);
  49293. CreateDynamicObject(1368, 1163.67834, 2963.29004, 1005.72583, 0.00000, 0.00000, 180.00000);
  49294. CreateDynamicObject(1368, 1161.15735, 2963.29614, 1005.72583, 0.00000, 0.00000, 180.00000);
  49295. CreateDynamicObject(19375, 1170.48901, 2957.86401, 1008.56000, 0.00000, 90.00000, 0.00000);
  49296. CreateDynamicObject(19375, 1164.67249, 2967.45386, 1008.56000, 0.00000, 90.00000, 0.00000);
  49297. CreateDynamicObject(19375, 1175.16931, 2967.48071, 1008.56000, 0.00000, 90.00000, 0.00000);
  49298. CreateDynamicObject(19375, 1185.52429, 2967.10181, 1008.56000, 0.00000, 90.00000, 0.00000);
  49299. CreateDynamicObject(19375, 1177.09534, 2976.88574, 1008.56097, 0.00000, 90.00000, 0.00000);
  49300. CreateDynamicObject(19375, 1183.30237, 2967.30371, 1008.56097, 0.00000, 90.00000, 0.00000);
  49301. CreateDynamicObject(19375, 1167.99890, 2977.00098, 1008.56000, 0.00000, 90.00000, 0.00000);
  49302. CreateDynamicObject(19375, 1160.65125, 2976.96875, 1008.56097, 0.00000, 90.00000, 0.00000);
  49303. CreateDynamicObject(3383, 1171.03064, 2979.52710, 1005.00751, 0.00000, 0.00000, 90.00000);
  49304. CreateDynamicObject(2111, 1164.27051, 2980.22656, 1005.42810, 0.00000, 0.00000, 0.00000);
  49305. CreateDynamicObject(2310, 1163.45593, 2981.12622, 1005.52777, 0.00000, 0.00000, 95.28001);
  49306. CreateDynamicObject(2310, 1165.69580, 2981.12256, 1005.52777, 0.00000, 0.00000, 33.60000);
  49307. CreateDynamicObject(2310, 1165.66040, 2979.60254, 1005.52777, 0.00000, 0.00000, -30.60000);
  49308. CreateDynamicObject(2310, 1162.94324, 2979.87158, 1005.52777, 0.00000, 0.00000, -169.73999);
  49309. CreateDynamicObject(2858, 1164.16418, 2980.44897, 1005.84161, 0.00000, 0.00000, 0.00000);
  49310. CreateDynamicObject(11722, 1164.06812, 2979.98315, 1005.96167, 0.00000, 0.00000, 0.00000);
  49311. CreateDynamicObject(2684, 1170.73547, 2980.51831, 1006.06183, 90.00000, 90.00000, 25.62000);
  49312. CreateDynamicObject(2684, 1171.07263, 2979.43823, 1006.06183, 90.00000, 90.00000, 3.24000);
  49313. CreateDynamicObject(2684, 1170.87488, 2978.35693, 1006.06183, 90.00000, 90.00000, -49.44001);
  49314. CreateDynamicObject(2612, 1176.34570, 2981.56006, 1006.88849, 0.00000, 0.00000, 0.00000);
  49315. CreateDynamicObject(2611, 1174.42090, 2981.58496, 1006.88849, 0.00000, 0.00000, 0.00000);
  49316. CreateDynamicObject(2615, 1178.58582, 2981.57178, 1006.88849, 0.00000, 0.00000, 0.00000);
  49317. CreateDynamicObject(19273, 1173.49268, 2970.00049, 1006.60028, 0.00000, 0.00000, 0.00000);
  49318. CreateDynamicObject(19273, 1176.24414, 2970.13599, 1006.60028, 0.00000, 0.00000, -180.00000);
  49319. //vip hq
  49320. CreateDynamicObject(4571, -4107.36963, 919.73480, -61.92410, 0.00000, 0.00000, 0.00000);
  49321. CreateDynamicObject(14623, -4107.36914, 939.01758, 7.64760, 0.00000, 0.00000, 0.00000);
  49322. CreateDynamicObject(3586, -4107.38525, 878.55334, 5.56740, 0.00000, 0.00000, 0.00000);
  49323. CreateDynamicObject(12814, -4042.93237, 869.06372, 2.08650, 0.00000, 0.00000, 0.00000);
  49324. CreateDynamicObject(4718, -4147.46582, 949.30847, 2.08420, 0.00000, 0.00000, -90.00000);
  49325. CreateDynamicObject(4718, -4084.54346, 949.28674, 2.07507, 0.00000, 0.00000, -90.00000);
  49326. CreateDynamicObject(4718, -4102.82568, 949.31830, 46.78777, 0.00000, 180.00000, 90.00000);
  49327. CreateDynamicObject(4718, -4111.38135, 864.16669, -46.89890, 0.00000, -90.00000, -90.00000);
  49328. CreateDynamicObject(4718, -4037.99902, 911.03381, -46.89890, 0.00000, -90.00000, 0.00000);
  49329. CreateDynamicObject(4718, -4037.99902, 834.62567, -46.90090, 0.00000, -90.00000, 0.00000);
  49330. CreateDynamicObject(4718, -4101.44238, 956.49524, 2.08420, 0.00000, 0.00000, -90.00000);
  49331. CreateDynamicObject(4718, -4018.39233, 867.96863, -46.90090, 0.00000, -90.00000, 0.00000);
  49332. CreateDynamicObject(7191, -4100.42920, 870.12292, 8.92840, 0.00000, 90.00000, 90.00000);
  49333. CreateDynamicObject(7191, -4100.42920, 870.12292, 7.89130, 0.00000, 90.00000, 90.00000);
  49334. CreateDynamicObject(7191, -4100.42725, 866.15967, 8.92640, 0.00000, 90.00000, 90.00000);
  49335. CreateDynamicObject(7191, -4100.38916, 862.23901, 8.92840, 0.00000, 90.00000, 90.00000);
  49336. CreateDynamicObject(7191, -4100.42725, 866.17157, 7.89330, 0.00000, 90.00000, 90.00000);
  49337. CreateDynamicObject(7191, -4100.42920, 862.24127, 7.89130, 0.00000, 90.00000, 90.00000);
  49338. CreateDynamicObject(4718, -4171.40576, 867.72980, 2.08420, 0.00000, 0.00000, 0.00000);
  49339. CreateDynamicObject(4718, -4029.41235, 847.51825, 2.08420, 0.00000, 0.00000, 180.00000);
  49340. CreateDynamicObject(4718, -4043.58032, 815.17560, 2.08420, 0.00000, 0.00000, 90.00000);
  49341. CreateDynamicObject(7191, -4055.50806, 866.19098, 8.92640, 0.00000, 90.00000, 90.00000);
  49342. CreateDynamicObject(4718, -3991.66870, 888.40497, 2.46820, 0.00000, 0.00000, 180.00000);
  49343. CreateDynamicObject(4718, -4087.67505, 866.26453, -52.75532, 0.00000, -90.00000, -90.00000);
  49344. CreateDynamicObject(7191, -4079.90259, 894.18683, 8.92640, 0.00000, 90.00000, 180.00000);
  49345. CreateDynamicObject(7191, -4083.83936, 894.18683, 8.92440, 0.00000, 90.00000, 180.00000);
  49346. CreateDynamicObject(7191, -4087.79004, 894.18683, 8.92440, 0.00000, 90.00000, 180.00000);
  49347. CreateDynamicObject(7191, -4091.75952, 894.18683, 8.92440, 0.00000, 90.00000, 180.00000);
  49348. CreateDynamicObject(3586, -4103.29395, 876.66431, 12.40820, 0.00000, 0.00000, 180.00000);
  49349. CreateDynamicObject(2774, -4100.37695, 872.16199, 14.23030, 0.00000, 0.00000, 0.00000);
  49350. CreateDynamicObject(2774, -4110.17627, 872.18427, 14.23030, 0.00000, 0.00000, 0.00000);
  49351. CreateDynamicObject(2774, -4093.80444, 872.13379, 14.23034, 0.00000, 0.00000, 0.00000);
  49352. CreateDynamicObject(2774, -4121.61523, 872.16199, 14.23030, 0.00000, 0.00000, 0.00000);
  49353. CreateDynamicObject(2774, -4093.80396, 899.42358, 14.23030, 0.00000, 0.00000, 0.00000);
  49354. CreateDynamicObject(19325, -4104.18066, 872.16199, 5.87858, 0.00000, 0.00000, 90.00000);
  49355. CreateDynamicObject(8650, -4116.39648, 872.16199, 2.77176, 0.00000, 0.00000, 90.00000);
  49356. CreateDynamicObject(19325, -4110.82324, 872.16125, 5.87860, 0.00000, 0.00000, 90.00000);
  49357. CreateDynamicObject(19325, -4117.46436, 872.16199, 5.87860, 0.00000, 0.00000, 90.00000);
  49358. CreateDynamicObject(7191, -4091.75952, 894.18683, 7.89330, 0.00000, 90.00000, 180.00000);
  49359. CreateDynamicObject(7191, -4083.83936, 894.18683, 7.89330, 0.00000, 90.00000, 180.00000);
  49360. CreateDynamicObject(7191, -4087.79004, 894.18683, 7.89330, 0.00000, 90.00000, 180.00000);
  49361. CreateDynamicObject(7191, -4079.90259, 894.18683, 7.89330, 0.00000, 90.00000, 180.00000);
  49362. CreateDynamicObject(8650, -4093.80396, 877.24359, 2.77180, 0.00000, 0.00000, 0.00000);
  49363. CreateDynamicObject(2774, -4093.76782, 892.64288, 14.23030, 0.00000, 0.00000, 0.00000);
  49364. CreateDynamicObject(8650, -4093.34595, 887.92285, 7.90950, 0.00000, 180.00000, 0.00000);
  49365. CreateDynamicObject(19325, -4093.70483, 888.59723, 5.87860, 0.00000, 0.00000, 0.00000);
  49366. CreateDynamicObject(19325, -4093.70532, 881.99701, 5.87860, 0.00000, 0.00000, 0.00000);
  49367. CreateDynamicObject(19325, -4093.70483, 875.38782, 5.87860, 0.00000, 0.00000, 0.00000);
  49368. CreateDynamicObject(19325, -4093.70483, 868.94000, 5.87860, 0.00000, 0.00000, 0.00000);
  49369. CreateDynamicObject(19325, -4093.69946, 864.06244, 5.87860, 0.00000, 0.00000, 0.00000);
  49370. CreateDynamicObject(2774, -4082.87500, 892.64288, -4.15761, 0.00000, 180.00000, 0.00000);
  49371. CreateDynamicObject(2774, -4082.87500, 872.16199, -4.15760, 0.00000, 180.00000, 0.00000);
  49372. CreateDynamicObject(8650, -4078.32495, 909.64679, 7.90950, 0.00000, 180.00000, 0.00000);
  49373. CreateDynamicObject(8650, -4078.32300, 879.27844, 7.90950, 0.00000, 180.00000, 0.00000);
  49374. CreateDynamicObject(18755, -4123.99316, 896.74854, 4.02201, 0.00000, 0.00000, 180.00000);
  49375. CreateDynamicObject(1472, -4063.04297, 894.30615, 2.42425, 0.00000, 0.00000, 180.00000);
  49376. CreateDynamicObject(1472, -4071.56177, 894.31531, 2.42425, 0.00000, 0.00000, 180.00000);
  49377. CreateDynamicObject(1479, -4076.38647, 871.71216, -1.43191, 0.00000, 0.00000, 0.00000);
  49378. CreateDynamicObject(14387, -4075.43213, 869.89307, 0.79860, 0.00000, 0.00000, 90.00000);
  49379. CreateDynamicObject(14387, -4075.36621, 874.38690, -0.93837, 0.00000, 0.00000, 90.00000);
  49380. CreateDynamicObject(4718, -4091.66431, 813.53546, 2.08420, 0.00000, 0.00000, 90.00000);
  49381. CreateDynamicObject(7191, -4132.53271, 871.75641, 14.94630, 0.00000, 180.00000, -90.00000);
  49382. CreateDynamicObject(4718, -4065.01880, 958.98871, 14.81181, 0.00000, 180.00000, -90.00000);
  49383. CreateDynamicObject(2714, -4098.97217, 862.31451, 11.88760, 0.00000, 0.00000, 180.00000);
  49384. CreateDynamicObject(7191, -4054.89380, 890.19427, 8.92440, 0.00000, 90.00000, 180.00000);
  49385. CreateDynamicObject(7191, -4050.99658, 890.19427, 8.92240, 0.00000, 90.00000, 180.00000);
  49386. CreateDynamicObject(7191, -4047.06543, 890.19427, 8.92440, 0.00000, 90.00000, 180.00000);
  49387. CreateDynamicObject(7191, -4043.15259, 890.19427, 8.92240, 0.00000, 90.00000, 180.00000);
  49388. CreateDynamicObject(7191, -4039.50903, 890.19427, 8.92440, 0.00000, 90.00000, 180.00000);
  49389. CreateDynamicObject(7191, -4054.89380, 890.19427, 7.89330, 0.00000, 90.00000, 180.00000);
  49390. CreateDynamicObject(7191, -4050.99658, 890.19427, 7.89530, 0.00000, 90.00000, 180.00000);
  49391. CreateDynamicObject(7191, -4047.06543, 890.19427, 7.89330, 0.00000, 90.00000, 180.00000);
  49392. CreateDynamicObject(7191, -4043.15259, 890.19427, 7.89530, 0.00000, 90.00000, 180.00000);
  49393. CreateDynamicObject(7191, -4039.50903, 890.19427, 7.89330, 0.00000, 90.00000, 180.00000);
  49394. CreateDynamicObject(8650, -4056.50073, 885.39587, 8.97549, 0.00000, 0.00000, 0.00000);
  49395. CreateDynamicObject(8650, -4056.50000, 883.41528, 8.97750, 0.00000, 0.00000, 0.00000);
  49396. CreateDynamicObject(2624, -4112.86035, 869.65045, 10.57560, 0.00000, 0.00000, 0.00000);
  49397. CreateDynamicObject(1499, -4109.98828, 865.92236, 9.03140, 0.00000, 0.00000, 90.00000);
  49398. CreateDynamicObject(7191, -4109.49561, 860.05225, 30.50070, -90.00000, 0.00000, -90.00000);
  49399. CreateDynamicObject(19129, -4039.93677, 896.85388, 9.06869, 0.00000, 0.00000, 0.00000);
  49400. CreateDynamicObject(8650, -4051.62671, 908.67572, 9.57640, 0.00000, 0.00000, 0.00000);
  49401. CreateDynamicObject(18766, -4052.42749, 898.32123, 8.94943, 90.00000, 0.00000, 90.00000);
  49402. CreateDynamicObject(18766, -4054.15552, 898.31946, 9.06500, 90.00000, 0.00000, 90.00000);
  49403. CreateDynamicObject(19129, -4046.47949, 900.28864, 17.88647, 0.00000, 90.00000, -90.00000);
  49404. CreateDynamicObject(19129, -4040.68066, 891.42493, 17.87383, 0.00000, 90.00000, 180.00000);
  49405. CreateDynamicObject(3851, -4056.55908, 896.47980, 11.99300, 0.00000, 0.00000, 0.00000);
  49406. CreateDynamicObject(3851, -4056.55908, 885.16669, 11.99300, 0.00000, 0.00000, 0.00000);
  49407. CreateDynamicObject(3851, -4056.55908, 873.91888, 11.99300, 0.00000, 0.00000, 0.00000);
  49408. CreateDynamicObject(3851, -4056.55908, 896.47980, 15.97290, 0.00000, 0.00000, 0.00000);
  49409. CreateDynamicObject(3851, -4056.55908, 885.16669, 15.97290, 0.00000, 0.00000, 0.00000);
  49410. CreateDynamicObject(3851, -4056.55908, 873.91888, 15.97290, 0.00000, 0.00000, 0.00000);
  49411. CreateDynamicObject(2774, -4056.08472, 867.57520, 20.98083, 0.00000, 0.00000, 0.00000);
  49412. CreateDynamicObject(7191, -4055.50806, 866.19098, 7.89330, 0.00000, 90.00000, 90.00000);
  49413. CreateDynamicObject(8650, -4093.34595, 856.21698, 7.90950, 0.00000, 180.00000, 0.00000);
  49414. CreateDynamicObject(8650, -4108.58789, 871.71899, 7.90950, 0.00000, 180.00000, 90.00000);
  49415. CreateDynamicObject(8650, -4062.76123, 867.79468, 7.90550, 0.00000, 180.00000, 90.00000);
  49416. CreateDynamicObject(8650, -4033.06494, 867.79669, 7.90350, 0.00000, 180.00000, 90.00000);
  49417. CreateDynamicObject(1698, -4055.12451, 894.28955, 9.02141, 0.00000, 0.00000, 0.00000);
  49418. CreateDynamicObject(1698, -4055.12451, 894.28955, 9.23395, 0.00000, 0.00000, 0.00000);
  49419. CreateDynamicObject(1698, -4055.12598, 893.78101, 9.02140, 0.00000, 0.00000, 0.00000);
  49420. CreateDynamicObject(14582, -4047.70190, 876.39954, 12.47358, 0.00000, 0.00000, 0.00000);
  49421. CreateDynamicObject(19129, -4046.75220, 873.95807, 16.67067, 0.00000, 0.00000, 0.00000);
  49422. CreateDynamicObject(19129, -4046.74219, 893.94092, 16.67067, 0.00000, 0.00000, 0.00000);
  49423. CreateDynamicObject(8650, -4056.50073, 885.39587, 17.67220, 0.00000, 180.00000, 0.00000);
  49424. CreateDynamicObject(8650, -4056.49487, 872.71503, 17.67420, 0.00000, 180.00000, 0.00000);
  49425. CreateDynamicObject(14787, -4085.19653, 901.68860, 9.01888, 0.00000, 0.00000, 0.00000);
  49426. CreateDynamicObject(10632, -4108.30127, 860.17181, 17.90101, 90.00000, 0.00000, 90.00000);
  49427. CreateDynamicObject(2068, -4117.52197, 866.99475, 15.23386, 0.00000, 0.00000, 0.00000);
  49428. CreateDynamicObject(18102, -4053.01318, 900.72668, 9.94430, 90.00000, 0.00000, 180.00000);
  49429. CreateDynamicObject(18102, -4040.17163, 895.49939, 10.65927, 90.00000, 0.00000, 90.00000);
  49430. CreateDynamicObject(2799, -4055.38330, 885.46112, 9.51640, 0.00000, 0.00000, 28.00000);
  49431. CreateDynamicObject(2799, -4055.43726, 882.34778, 9.51640, 0.00000, 0.00000, 28.00000);
  49432. CreateDynamicObject(2799, -4055.41064, 888.34619, 9.51640, 0.00000, 0.00000, 28.00000);
  49433. CreateDynamicObject(2725, -4050.58594, 884.62933, 9.41210, 0.00000, 0.00000, 0.00000);
  49434. CreateDynamicObject(2725, -4051.13550, 887.80011, 9.41210, 0.00000, 0.00000, 0.00000);
  49435. CreateDynamicObject(2725, -4046.93921, 884.14667, 9.41210, 0.00000, 0.00000, 0.00000);
  49436. CreateDynamicObject(2725, -4043.93213, 883.85132, 9.41210, 0.00000, 0.00000, 0.00000);
  49437. CreateDynamicObject(12814, -4092.23291, 835.07678, 12.70020, 0.00000, 180.00000, 0.00000);
  49438. CreateDynamicObject(12814, -4096.47754, 834.94452, 12.69820, 0.00000, 180.00000, 0.00000);
  49439. CreateDynamicObject(983, -4097.23779, 871.95972, 9.65230, 0.00000, 0.00000, 90.00000);
  49440. CreateDynamicObject(982, -4093.46851, 885.78296, 9.61249, 0.00000, 0.00000, 0.00000);
  49441. CreateDynamicObject(1798, -4054.18066, 887.18866, 1.71060, 0.00000, 0.00000, -90.00000);
  49442. CreateDynamicObject(1798, -4054.19287, 890.24878, 1.71060, 0.00000, 0.00000, -90.00000);
  49443. CreateDynamicObject(1798, -4054.20850, 883.96820, 1.71060, 0.00000, 0.00000, -90.00000);
  49444. CreateDynamicObject(1255, -4052.40405, 879.03528, 2.48533, 0.00000, 0.00000, 180.00000);
  49445. CreateDynamicObject(1255, -4052.41968, 876.82794, 2.48533, 0.00000, 0.00000, 180.00000);
  49446. CreateDynamicObject(1255, -4052.30786, 874.55560, 2.48533, 0.00000, 0.00000, 180.00000);
  49447. CreateDynamicObject(1645, -4046.67090, 889.81238, 2.31150, 0.00000, 0.00000, -90.00000);
  49448. CreateDynamicObject(1645, -4046.72095, 887.14063, 2.31150, 0.00000, 0.00000, -90.00000);
  49449. CreateDynamicObject(1645, -4046.74634, 884.34741, 2.31150, 0.00000, 0.00000, -90.00000);
  49450. CreateDynamicObject(1645, -4046.85181, 881.93512, 2.31150, 0.00000, 0.00000, -90.00000);
  49451. CreateDynamicObject(16151, -4041.69604, 870.41382, 2.41241, 0.00000, 0.00000, 0.00000);
  49452. CreateDynamicObject(16151, -4047.54492, 865.27838, 2.41240, 0.00000, 0.00000, -90.00000);
  49453. CreateDynamicObject(649, -4043.34204, 892.87073, 2.09070, 0.00000, 0.00000, 0.00000);
  49454. CreateDynamicObject(649, -4043.23267, 889.80133, 2.09070, 0.00000, 0.00000, 0.00000);
  49455. CreateDynamicObject(649, -4043.24121, 886.27753, 2.09070, 0.00000, 0.00000, 0.00000);
  49456. CreateDynamicObject(649, -4043.11938, 882.16370, 2.09070, 0.00000, 0.00000, 0.00000);
  49457. CreateDynamicObject(649, -4043.50317, 878.14575, 2.09070, 0.00000, 0.00000, 0.00000);
  49458. CreateDynamicObject(649, -4050.08032, 892.71716, 2.09070, 0.00000, 0.00000, 0.00000);
  49459. CreateDynamicObject(649, -4055.62573, 892.64807, 2.09070, 0.00000, 0.00000, 0.00000);
  49460. CreateDynamicObject(8650, -4078.32300, 885.39587, 8.97550, 0.00000, 0.00000, 0.00000);
  49461. CreateDynamicObject(8650, -4078.32690, 883.41418, 8.97350, 0.00000, 0.00000, 0.00000);
  49462. CreateDynamicObject(8650, -4078.32300, 885.39587, 17.67220, 0.00000, 180.00000, 0.00000);
  49463. CreateDynamicObject(8650, -4078.32593, 872.71234, 17.67420, 0.00000, 180.00000, 0.00000);
  49464. CreateDynamicObject(3851, -4078.32300, 896.47980, 11.99300, 0.00000, 0.00000, 0.00000);
  49465. CreateDynamicObject(3851, -4078.32300, 885.16669, 11.99300, 0.00000, 0.00000, 0.00000);
  49466. CreateDynamicObject(3851, -4078.32300, 873.91888, 11.99300, 0.00000, 0.00000, 0.00000);
  49467. CreateDynamicObject(3851, -4078.32300, 873.91888, 15.97290, 0.00000, 0.00000, 0.00000);
  49468. CreateDynamicObject(3851, -4078.32300, 885.16669, 15.97290, 0.00000, 0.00000, 0.00000);
  49469. CreateDynamicObject(3851, -4078.32300, 896.47980, 15.97290, 0.00000, 0.00000, 0.00000);
  49470. CreateDynamicObject(984, -4071.73682, 868.09967, 9.58910, 0.00000, 0.00000, 90.00000);
  49471. CreateDynamicObject(984, -4071.73682, 868.09967, 9.58910, 0.00000, 0.00000, 90.00000);
  49472. CreateDynamicObject(984, -4062.13257, 868.09650, 9.58910, 0.00000, 0.00000, 90.00000);
  49473. CreateDynamicObject(2774, -4078.32300, 867.57520, 20.98080, 0.00000, 0.00000, 0.00000);
  49474. CreateDynamicObject(18756, -4120.15186, 896.80042, 4.03846, 0.00000, 0.00000, 0.00000);
  49475. CreateDynamicObject(18757, -4120.15186, 896.80042, 4.03850, 0.00000, 0.00000, 0.00000);
  49476. CreateDynamicObject(2627, -4079.82861, 899.02655, 9.02409, 0.00000, 0.00000, 0.00000);
  49477. CreateDynamicObject(2627, -4081.62134, 899.04431, 9.02409, 0.00000, 0.00000, 0.00000);
  49478. CreateDynamicObject(2627, -4083.18579, 899.03046, 9.02409, 0.00000, 0.00000, 0.00000);
  49479. CreateDynamicObject(2627, -4084.76855, 898.99500, 9.02409, 0.00000, 0.00000, 0.00000);
  49480. CreateDynamicObject(14782, -4089.66748, 899.81622, 9.97268, 0.00000, 0.00000, 0.00000);
  49481. CreateDynamicObject(14401, -4090.30859, 894.45947, 9.01942, 0.00000, 0.00000, 0.00000);
  49482. CreateDynamicObject(2628, -4087.40210, 895.38525, 9.02410, 0.00000, 0.00000, 90.00000);
  49483. CreateDynamicObject(2628, -4087.40601, 893.57855, 9.02410, 0.00000, 0.00000, 90.00000);
  49484. CreateDynamicObject(2630, -4079.75879, 894.75342, 9.02410, 0.00000, 0.00000, 90.00000);
  49485. CreateDynamicObject(2630, -4079.75708, 893.25079, 9.02410, 0.00000, 0.00000, 90.00000);
  49486. CreateDynamicObject(2630, -4079.80078, 891.83710, 9.02410, 0.00000, 0.00000, 90.00000);
  49487. CreateDynamicObject(2629, -4087.31885, 891.32806, 9.02410, 0.00000, 0.00000, 90.00000);
  49488. CreateDynamicObject(12814, -4063.65625, 877.54572, 18.54460, 0.00000, 180.00000, 0.00000);
  49489. CreateDynamicObject(14629, -4062.00269, 895.96973, 17.68047, 0.00000, 0.00000, 0.00000);
  49490. CreateDynamicObject(14629, -4061.92358, 887.67365, 17.68047, 0.00000, 0.00000, 0.00000);
  49491. CreateDynamicObject(7191, -4103.26270, 905.26727, 14.75318, 0.00000, 90.00000, 180.00000);
  49492. CreateDynamicObject(7191, -4103.26270, 905.26727, 15.75217, 0.00000, 90.00000, 180.00000);
  49493. CreateDynamicObject(7191, -4095.79419, 894.96375, 15.75220, 0.00000, 90.00000, 0.00000);
  49494. CreateDynamicObject(7191, -4099.41699, 894.96368, 15.74820, 0.00000, 90.00000, 0.00000);
  49495. CreateDynamicObject(7191, -4107.22266, 894.96368, 15.74820, 0.00000, 90.00000, 0.00000);
  49496. CreateDynamicObject(7191, -4110.91650, 894.95972, 15.74420, 0.00000, 90.00000, 0.00000);
  49497. CreateDynamicObject(7191, -4114.81982, 894.95972, 15.74020, 0.00000, 90.00000, 0.00000);
  49498. CreateDynamicObject(7191, -4118.75684, 894.95972, 15.74420, 0.00000, 90.00000, 0.00000);
  49499. CreateDynamicObject(7191, -4122.61328, 894.96368, 15.73963, 0.00000, 90.00000, 0.00000);
  49500. CreateDynamicObject(7191, -4107.22266, 894.96368, 14.75320, 0.00000, 90.00000, 0.00000);
  49501. CreateDynamicObject(7191, -4110.91650, 894.95972, 14.75520, 0.00000, 90.00000, 0.00000);
  49502. CreateDynamicObject(7191, -4118.75684, 894.95972, 14.75520, 0.00000, 90.00000, 0.00000);
  49503. CreateDynamicObject(7191, -4114.81982, 894.95972, 14.75320, 0.00000, 90.00000, 0.00000);
  49504. CreateDynamicObject(7191, -4122.61328, 894.96368, 14.75320, 0.00000, 90.00000, 0.00000);
  49505. CreateDynamicObject(7191, -4095.79419, 894.96368, 14.75520, 0.00000, 90.00000, 0.00000);
  49506. CreateDynamicObject(7191, -4099.41699, 894.96368, 14.75320, 0.00000, 90.00000, 0.00000);
  49507. CreateDynamicObject(8650, -4094.19897, 887.78369, 14.72669, 0.00000, 180.00000, 0.00000);
  49508. CreateDynamicObject(8650, -4109.49854, 872.51270, 14.72670, 0.00000, 180.00000, 90.00000);
  49509. CreateDynamicObject(8650, -4109.47998, 872.47949, 16.83298, 0.00000, 0.00000, 90.00000);
  49510. CreateDynamicObject(12814, -4093.52441, 880.01648, 19.60783, 0.00000, 180.00000, 0.00000);
  49511. CreateDynamicObject(8650, -4078.32446, 872.71100, 19.87490, 0.00000, 180.00000, 0.00000);
  49512. CreateDynamicObject(8650, -4078.32129, 885.39679, 19.87490, 0.00000, 180.00000, 0.00000);
  49513. CreateDynamicObject(3437, -4091.99829, 887.04504, 1.98189, 0.00000, 0.00000, 0.00000);
  49514. CreateDynamicObject(6965, -4107.38525, 892.35498, 2.08600, 0.00000, 0.00000, 0.00000);
  49515. CreateDynamicObject(14629, -4098.74756, 898.52307, 13.89730, 0.00000, 0.00000, 0.00000);
  49516. CreateDynamicObject(14629, -4117.54590, 898.52307, 13.89730, 0.00000, 0.00000, 0.00000);
  49517. CreateDynamicObject(2946, -4105.68750, 907.47699, 2.09540, 0.00000, 0.00000, 90.00000);
  49518. CreateDynamicObject(2946, -4108.87061, 907.47699, 2.09540, 0.00000, 0.00000, -90.00000);
  49519. CreateDynamicObject(7313, -4092.43848, 883.14044, 6.72102, 0.00000, 0.00000, 90.00000);
  49520. CreateDynamicObject(1698, -4091.34570, 884.81268, 2.08597, 0.00000, 0.00000, 0.00000);
  49521. CreateDynamicObject(1698, -4091.34644, 881.53082, 2.08400, 0.00000, 0.00000, 0.00000);
  49522. CreateDynamicObject(1698, -4092.70581, 881.53168, 2.08400, 0.00000, 0.00000, 0.00000);
  49523. CreateDynamicObject(1698, -4092.70581, 884.81268, 2.08600, 0.00000, 0.00000, 0.00000);
  49524. CreateDynamicObject(2773, -4090.55054, 881.33160, 2.62176, 0.00000, 0.00000, 0.00000);
  49525. CreateDynamicObject(2773, -4090.54028, 884.79321, 2.62176, 0.00000, 0.00000, 0.00000);
  49526. CreateDynamicObject(3437, -4091.99829, 879.34161, 1.98190, 0.00000, 0.00000, 0.00000);
  49527. CreateDynamicObject(14642, -4088.33936, 872.27478, 6.94890, 0.00000, 0.00000, 0.00000);
  49528. CreateDynamicObject(2785, -4087.83838, 871.53436, 2.89022, 0.00000, 0.00000, 0.00000);
  49529. CreateDynamicObject(2785, -4087.84033, 872.43781, 2.88820, 0.00000, 0.00000, 180.00000);
  49530. CreateDynamicObject(1716, -4085.83325, 873.70837, 2.08720, 0.00000, 0.00000, 0.00000);
  49531. CreateDynamicObject(1716, -4086.74951, 873.75171, 2.08720, 0.00000, 0.00000, 0.00000);
  49532. CreateDynamicObject(1716, -4087.59253, 873.70514, 2.08720, 0.00000, 0.00000, 0.00000);
  49533. CreateDynamicObject(1716, -4088.47339, 873.66339, 2.08720, 0.00000, 0.00000, 0.00000);
  49534. CreateDynamicObject(1716, -4089.27808, 873.66882, 2.08720, 0.00000, 0.00000, 0.00000);
  49535. CreateDynamicObject(1716, -4089.21582, 870.76727, 2.08720, 0.00000, 0.00000, 0.00000);
  49536. CreateDynamicObject(1716, -4088.42480, 870.77112, 2.08720, 0.00000, 0.00000, 0.00000);
  49537. CreateDynamicObject(1716, -4087.57227, 870.78644, 2.08720, 0.00000, 0.00000, 0.00000);
  49538. CreateDynamicObject(1716, -4086.61865, 870.75128, 2.08720, 0.00000, 0.00000, 0.00000);
  49539. CreateDynamicObject(1716, -4085.76807, 870.72675, 2.08720, 0.00000, 0.00000, 0.00000);
  49540. CreateDynamicObject(8650, -4109.47852, 872.48108, 19.05010, 0.00000, 0.00000, 90.00000);
  49541. CreateDynamicObject(12814, -4107.98877, 847.10565, 15.64780, 0.00000, 180.00000, 0.00000);
  49542. CreateDynamicObject(7191, -4105.43896, 870.45984, 17.68241, 0.00000, 0.00000, 0.00000);
  49543. CreateDynamicObject(12814, -4092.99951, 846.79486, 30.64454, 0.00000, 90.00000, 0.00000);
  49544. CreateDynamicObject(7191, -4105.43896, 918.40277, 17.68240, 0.00000, 0.00000, 0.00000);
  49545. CreateDynamicObject(1502, -4105.41797, 892.56812, 15.82490, 0.00000, 0.00000, 90.00000);
  49546. CreateDynamicObject(1502, -4105.46338, 895.60272, 15.82490, 0.00000, 0.00000, -90.00000);
  49547. CreateDynamicObject(7191, -4105.44092, 873.58282, 20.28799, 0.00000, 0.00000, 0.00000);
  49548. CreateDynamicObject(12814, -4104.76904, 879.59381, 19.60980, 0.00000, 180.00000, 0.00000);
  49549. CreateDynamicObject(7191, -4112.94385, 881.44312, 17.68241, 0.00000, 0.00000, 0.00000);
  49550. CreateDynamicObject(2564, -4110.29004, 873.77521, 15.83940, 0.00000, 0.00000, 90.00000);
  49551. CreateDynamicObject(2564, -4110.31836, 879.97717, 15.83940, 0.00000, 0.00000, 90.00000);
  49552. CreateDynamicObject(2564, -4110.34131, 886.39795, 15.83940, 0.00000, 0.00000, 90.00000);
  49553. CreateDynamicObject(2564, -4110.38672, 892.96368, 15.83940, 0.00000, 0.00000, 90.00000);
  49554. CreateDynamicObject(2020, -4106.51367, 891.14349, 15.84420, 0.00000, 0.00000, -90.00000);
  49555. CreateDynamicObject(2020, -4106.51367, 888.35492, 15.84420, 0.00000, 0.00000, -90.00000);
  49556. CreateDynamicObject(2020, -4106.51367, 885.55408, 15.84420, 0.00000, 0.00000, -90.00000);
  49557. CreateDynamicObject(2020, -4106.51367, 882.73389, 15.84420, 0.00000, 0.00000, -90.00000);
  49558. CreateDynamicObject(2020, -4106.51367, 879.37659, 15.84420, 0.00000, 0.00000, -90.00000);
  49559. CreateDynamicObject(2020, -4106.51367, 876.10022, 15.84420, 0.00000, 0.00000, -90.00000);
  49560. CreateDynamicObject(982, -4093.95874, 885.77063, 16.42232, 0.00000, 0.00000, 0.00000);
  49561. CreateDynamicObject(1709, -4099.69189, 874.27100, 15.84720, 0.00000, 0.00000, 90.00000);
  49562. CreateDynamicObject(1709, -4095.52808, 878.86511, 15.84720, 0.00000, 0.00000, -90.00000);
  49563. CreateDynamicObject(1825, -4095.48120, 885.27197, 15.84756, 0.00000, 0.00000, 0.00000);
  49564. CreateDynamicObject(1825, -4095.54297, 889.84302, 15.84756, 0.00000, 0.00000, 0.00000);
  49565. CreateDynamicObject(1825, -4095.66577, 894.47076, 15.84756, 0.00000, 0.00000, 0.00000);
  49566. CreateDynamicObject(984, -4101.31934, 876.77130, 16.42230, 0.00000, 0.00000, 0.00000);
  49567. CreateDynamicObject(2236, -4098.52881, 874.82446, 15.84320, 0.00000, 0.00000, 90.00000);
  49568. CreateDynamicObject(2236, -4098.54980, 876.89935, 15.84320, 0.00000, 0.00000, 90.00000);
  49569. CreateDynamicObject(2236, -4095.58496, 875.35162, 15.84320, 0.00000, 0.00000, 90.00000);
  49570. CreateDynamicObject(2236, -4095.58521, 877.57605, 15.84320, 0.00000, 0.00000, 90.00000);
  49571. CreateDynamicObject(2251, -4096.21338, 878.13593, 17.19023, 0.00000, 0.00000, 0.00000);
  49572. CreateDynamicObject(2251, -4096.23389, 875.87341, 17.19023, 0.00000, 0.00000, 0.00000);
  49573. CreateDynamicObject(2251, -4099.17529, 877.39160, 17.19023, 0.00000, 0.00000, 0.00000);
  49574. CreateDynamicObject(2251, -4099.16162, 875.31012, 17.19023, 0.00000, 0.00000, 0.00000);
  49575. CreateDynamicObject(7191, -4109.98730, 869.43048, 30.50070, -90.00000, 0.00000, 180.00000);
  49576. CreateDynamicObject(2206, -4052.51416, 893.97430, 9.56630, 0.00000, 0.00000, 90.00000);
  49577. CreateDynamicObject(2206, -4052.56274, 897.67834, 9.56630, 0.00000, 0.00000, 90.00000);
  49578. CreateDynamicObject(14820, -4052.54590, 898.65417, 10.50260, 0.00000, 0.00000, -90.00000);
  49579. CreateDynamicObject(14820, -4052.52344, 894.93909, 10.50260, 0.00000, 0.00000, -90.00000);
  49580. CreateDynamicObject(2232, -4050.74292, 893.85236, 10.12936, 0.00000, 0.00000, 52.00000);
  49581. CreateDynamicObject(2232, -4050.74292, 893.85236, 11.30278, 0.00000, 0.00000, 52.00000);
  49582. CreateDynamicObject(2232, -4050.39063, 899.19092, 11.24647, 0.00000, 0.00000, 84.00000);
  49583. CreateDynamicObject(2232, -4050.39014, 899.18817, 10.09021, 0.00000, 0.00000, 84.00000);
  49584. CreateDynamicObject(1840, -4051.75098, 893.74512, 10.69250, 0.00000, 0.00000, -32.00000);
  49585. CreateDynamicObject(1840, -4051.76709, 896.13678, 10.69250, 0.00000, 0.00000, 11.00000);
  49586. CreateDynamicObject(1840, -4051.80420, 897.29883, 10.69250, 0.00000, 0.00000, -40.00000);
  49587. CreateDynamicObject(1840, -4051.59814, 899.84601, 10.69250, 0.00000, 0.00000, 40.00000);
  49588. CreateDynamicObject(4718, -4068.50757, 949.28796, 2.07507, 0.00000, 0.00000, -90.00000);
  49589. CreateDynamicObject(1538, -4101.61865, 900.21143, 15.80280, 0.00000, 0.00000, 0.00000);
  49590. CreateDynamicObject(19176, -4122.32324, 866.96027, 3.54490, 0.00000, 0.00000, 90.00000);
  49591. CreateDynamicObject(7191, -4109.98730, 863.93640, 30.50070, -90.00000, 0.00000, 0.00000);
  49592. CreateDynamicObject(14782, -4121.90479, 868.24420, 9.95740, 0.00000, 0.00000, 90.00000);
  49593. CreateDynamicObject(19325, -4114.22803, 871.91095, 10.91909, 0.00000, 0.00000, 90.00000);
  49594. CreateDynamicObject(19325, -4120.86963, 871.91089, 10.91910, 0.00000, 0.00000, 90.00000);
  49595. CreateDynamicObject(14782, -4119.34473, 862.90399, 9.95740, 0.00000, 0.00000, 180.00000);
  49596. CreateDynamicObject(14401, -4117.48486, 867.79327, 9.23580, 0.00000, 0.00000, 180.00000);
  49597. CreateDynamicObject(14782, -4113.17139, 862.88110, 9.95740, 0.00000, 0.00000, 180.00000);
  49598. CreateDynamicObject(7191, -4109.98926, 866.63348, 33.66086, -90.00000, 0.00000, 0.00000);
  49599. // All Saints Hospital & Los Santos Police Department Addons
  49600. CreateDynamicObject(970, 1270.25769, -1327.16003, 13.10000, 0.00000, 0.00000, 90.00000);
  49601. CreateDynamicObject(970, 1270.17920, -1348.46558, 13.10000, 0.00000, 0.00000, 90.00000);
  49602. CreateDynamicObject(982, 1283.76160, -1290.83423, 13.10000, 0.00000, 0.00000, 90.00000);
  49603. CreateDynamicObject(970, 1287.19824, -1307.50830, 18.30000, 0.00000, 0.00000, 90.00000);
  49604. CreateDynamicObject(970, 1287.19849, -1311.64807, 18.30000, 0.00000, 0.00000, 90.00000);
  49605. CreateDynamicObject(970, 1287.21936, -1315.82825, 18.30000, 0.00000, 0.00000, 90.00000);
  49606. CreateDynamicObject(970, 1287.22046, -1320.02930, 18.30000, 0.00000, 0.00000, 90.00000);
  49607. CreateDynamicObject(970, 1287.20386, -1324.19202, 18.30000, 0.00000, 0.00000, 90.00000);
  49608. CreateDynamicObject(970, 1287.18982, -1328.31433, 18.30000, 0.00000, 0.00000, 90.00000);
  49609. CreateDynamicObject(970, 1287.19214, -1332.49524, 18.30000, 0.00000, 0.00000, 90.00000);
  49610. CreateDynamicObject(970, 1287.19458, -1336.63513, 18.30000, 0.00000, 0.00000, 90.00000);
  49611. CreateDynamicObject(970, 1287.21643, -1340.75586, 18.30000, 0.00000, 0.00000, 90.00000);
  49612. CreateDynamicObject(970, 1287.19702, -1344.85571, 18.30000, 0.00000, 0.00000, 90.00000);
  49613. CreateDynamicObject(1257, 1268.95337, -1322.62122, 13.50000, 0.00000, 0.00000, 0.00000);
  49614. CreateDynamicObject(1257, 1268.76099, -1352.95166, 13.50000, 0.00000, 0.00000, 0.00000);
  49615. CreateDynamicObject(638, 1287.55811, -1306.66882, 18.40000, 0.00000, 0.00000, 0.00000);
  49616. CreateDynamicObject(638, 1287.55737, -1309.29700, 18.40000, 0.00000, 0.00000, 0.00000);
  49617. CreateDynamicObject(638, 1287.55713, -1311.97754, 18.40000, 0.00000, 0.00000, 0.00000);
  49618. CreateDynamicObject(638, 1287.56714, -1314.63794, 18.40000, 0.00000, 0.00000, 0.00000);
  49619. CreateDynamicObject(638, 1287.57678, -1317.22278, 18.40000, 0.00000, 0.00000, 0.00000);
  49620. CreateDynamicObject(638, 1287.57166, -1319.88257, 18.40000, 0.00000, 0.00000, 0.00000);
  49621. CreateDynamicObject(638, 1287.57275, -1322.57593, 18.40000, 0.00000, 0.00000, 0.00000);
  49622. CreateDynamicObject(638, 1287.57336, -1325.23145, 18.40000, 0.00000, 0.00000, 0.00000);
  49623. CreateDynamicObject(638, 1287.54272, -1327.90051, 18.40000, 0.00000, 0.00000, 0.00000);
  49624. CreateDynamicObject(638, 1287.54089, -1330.56702, 18.40000, 0.00000, 0.00000, 0.00000);
  49625. CreateDynamicObject(638, 1287.54089, -1333.22876, 18.40000, 0.00000, 0.00000, 0.00000);
  49626. CreateDynamicObject(638, 1287.55371, -1335.90967, 18.40000, 0.00000, 0.00000, 0.00000);
  49627. CreateDynamicObject(638, 1287.58667, -1338.60901, 18.40000, 0.00000, 0.00000, 0.00000);
  49628. CreateDynamicObject(638, 1287.57874, -1341.26941, 18.40000, 0.00000, 0.00000, 0.00000);
  49629. CreateDynamicObject(638, 1287.59009, -1343.95032, 18.40000, 0.00000, 0.00000, 0.00000);
  49630. CreateDynamicObject(638, 1287.57971, -1345.51147, 18.40000, 0.00000, 0.00000, 0.00000);
  49631. CreateDynamicObject(870, 1178.73816, -1334.13208, 13.40000, 0.00000, 0.00000, 0.00000);
  49632. CreateDynamicObject(870, 1178.63391, -1333.33850, 13.40000, 0.00000, 0.00000, 0.00000);
  49633. CreateDynamicObject(870, 1178.66614, -1332.38220, 13.40000, 0.00000, 0.00000, 0.00000);
  49634. CreateDynamicObject(870, 1178.63391, -1333.33850, 13.40000, 0.00000, 0.00000, 0.00000);
  49635. CreateDynamicObject(870, 1178.65796, -1331.16895, 13.40000, 0.00000, 0.00000, -0.60000);
  49636. CreateDynamicObject(870, 1178.63391, -1333.33850, 13.40000, 0.00000, 0.00000, 0.00000);
  49637. CreateDynamicObject(870, 1178.66614, -1332.38220, 13.40000, 0.00000, 0.00000, 0.00000);
  49638. CreateDynamicObject(870, 1178.87390, -1330.60889, 13.40000, 0.00000, 0.00000, -0.60000);
  49639. CreateDynamicObject(870, 1178.63391, -1333.33850, 13.40000, 0.00000, 0.00000, 0.00000);
  49640. CreateDynamicObject(870, 1178.66614, -1332.38220, 13.40000, 0.00000, 0.00000, 0.00000);
  49641. CreateDynamicObject(870, 1178.65796, -1331.16895, 13.40000, 0.00000, 0.00000, -0.60000);
  49642. CreateDynamicObject(870, 1177.23975, -1330.64233, 13.40000, 0.00000, 0.00000, -0.90000);
  49643. CreateDynamicObject(870, 1178.63391, -1333.33850, 13.40000, 0.00000, 0.00000, 0.00000);
  49644. CreateDynamicObject(870, 1178.66919, -1332.40198, 13.40000, 0.00000, 0.00000, 0.00000);
  49645. CreateDynamicObject(870, 1178.55627, -1316.46777, 13.40000, 0.00000, 0.00000, -0.60000);
  49646. CreateDynamicObject(870, 1178.87390, -1330.60889, 13.40000, 0.00000, 0.00000, -0.60000);
  49647. CreateDynamicObject(870, 1175.79919, -1330.62488, 13.40000, 0.00000, 0.00000, -1.20000);
  49648. CreateDynamicObject(870, 1174.43567, -1330.45337, 13.40000, 0.00000, 0.00000, -1.20000);
  49649. CreateDynamicObject(870, 1174.41772, -1332.27783, 13.40000, 0.00000, 0.00000, -1.20000);
  49650. CreateDynamicObject(870, 1174.43567, -1330.45337, 13.40000, 0.00000, 0.00000, -1.20000);
  49651. CreateDynamicObject(870, 1175.53137, -1332.40723, 13.40000, 0.00000, 0.00000, -1.20000);
  49652. CreateDynamicObject(870, 1174.43567, -1330.45337, 13.40000, 0.00000, 0.00000, -1.20000);
  49653. CreateDynamicObject(870, 1174.41772, -1332.27783, 13.40000, 0.00000, 0.00000, -1.20000);
  49654. CreateDynamicObject(870, 1176.41064, -1333.36414, 13.40000, 0.00000, 0.00000, -1.20000);
  49655. CreateDynamicObject(870, 1174.43567, -1330.45337, 13.40000, 0.00000, 0.00000, -1.20000);
  49656. CreateDynamicObject(870, 1174.41772, -1332.27783, 13.40000, 0.00000, 0.00000, -1.20000);
  49657. CreateDynamicObject(870, 1175.53137, -1332.40723, 13.40000, 0.00000, 0.00000, -1.20000);
  49658. CreateDynamicObject(870, 1176.38049, -1334.07751, 13.40000, 0.00000, 0.00000, -1.20000);
  49659. CreateDynamicObject(870, 1174.43567, -1330.45337, 13.40000, 0.00000, 0.00000, -1.20000);
  49660. CreateDynamicObject(870, 1174.41772, -1332.27783, 13.40000, 0.00000, 0.00000, -1.20000);
  49661. CreateDynamicObject(870, 1175.53137, -1332.40723, 13.40000, 0.00000, 0.00000, -1.20000);
  49662. CreateDynamicObject(870, 1176.41064, -1333.36414, 13.40000, 0.00000, 0.00000, -1.20000);
  49663. CreateDynamicObject(870, 1174.36462, -1334.13000, 13.40000, 0.00000, 0.00000, -1.20000);
  49664. CreateDynamicObject(870, 1176.60278, -1334.20496, 13.40000, 0.00000, 0.00000, -1.20000);
  49665. CreateDynamicObject(870, 1174.68103, -1333.31140, 13.40000, 0.00000, 0.00000, -1.20000);
  49666. CreateDynamicObject(870, 1176.60278, -1334.20496, 13.40000, 0.00000, 0.00000, -1.20000);
  49667. CreateDynamicObject(870, 1174.68103, -1333.31140, 13.40000, 0.00000, 0.00000, -1.20000);
  49668. CreateDynamicObject(870, 1177.30029, -1334.13538, 13.40000, 0.00000, 0.00000, -1.20000);
  49669. CreateDynamicObject(870, 1177.11060, -1332.28247, 13.40000, 0.00000, 0.00000, -1.20000);
  49670. CreateDynamicObject(870, 1177.30029, -1334.13538, 13.40000, 0.00000, 0.00000, -1.20000);
  49671. CreateDynamicObject(870, 1178.74133, -1330.93298, 13.40000, 0.00000, 0.00000, -1.20000);
  49672. CreateDynamicObject(870, 1178.87390, -1330.60889, 13.40000, 0.00000, 0.00000, -0.60000);
  49673. CreateDynamicObject(870, 1179.01025, -1316.68127, 13.40000, 0.00000, 0.00000, -0.54000);
  49674. CreateDynamicObject(870, 1178.80151, -1315.56702, 13.40000, 0.00000, 0.00000, -1.26000);
  49675. CreateDynamicObject(870, 1179.01025, -1316.68127, 13.40000, 0.00000, 0.00000, -0.54000);
  49676. CreateDynamicObject(870, 1178.55627, -1316.46777, 13.40000, 0.00000, 0.00000, -0.60000);
  49677. CreateDynamicObject(870, 1178.83447, -1316.78845, 13.40000, 0.00000, 0.00000, -0.54000);
  49678. CreateDynamicObject(870, 1178.89856, -1314.96228, 13.40000, 0.00000, 0.00000, -1.26000);
  49679. CreateDynamicObject(870, 1178.55627, -1316.46777, 13.40000, 0.00000, 0.00000, -0.60000);
  49680. CreateDynamicObject(870, 1177.29565, -1316.86841, 13.40000, 0.00000, 0.00000, -0.54000);
  49681. CreateDynamicObject(870, 1178.76672, -1315.68835, 13.40000, 0.00000, 0.00000, -1.26000);
  49682. CreateDynamicObject(870, 1176.86646, -1315.16113, 13.40000, 0.00000, 0.00000, -1.26000);
  49683. CreateDynamicObject(870, 1178.99329, -1313.27759, 13.40000, 0.00000, 0.00000, -1.26000);
  49684. CreateDynamicObject(870, 1178.41357, -1313.30017, 13.40000, 0.00000, 0.00000, -1.26000);
  49685. CreateDynamicObject(870, 1178.41357, -1313.30017, 13.40000, 0.00000, 0.00000, -1.26000);
  49686. CreateDynamicObject(870, 1178.50464, -1316.61841, 13.40000, 0.00000, 0.00000, -1.26000);
  49687. CreateDynamicObject(870, 1178.50464, -1316.61841, 13.40000, 0.00000, 0.00000, -1.26000);
  49688. CreateDynamicObject(870, 1177.87781, -1316.92590, 13.40000, 0.00000, 0.00000, -0.54000);
  49689. CreateDynamicObject(870, 1176.09375, -1316.83508, 13.40000, 0.00000, 0.00000, -0.54000);
  49690. CreateDynamicObject(870, 1177.87781, -1316.92590, 13.40000, 0.00000, 0.00000, -0.54000);
  49691. CreateDynamicObject(870, 1175.11621, -1316.91296, 13.40000, 0.00000, 0.00000, -0.54000);
  49692. CreateDynamicObject(870, 1174.39697, -1316.94080, 13.40000, 0.00000, 0.00000, -0.54000);
  49693. CreateDynamicObject(870, 1175.31433, -1315.32422, 13.40000, 0.00000, 0.00000, -0.54000);
  49694. CreateDynamicObject(870, 1174.39697, -1316.94080, 13.40000, 0.00000, 0.00000, -0.54000);
  49695. CreateDynamicObject(870, 1175.11621, -1316.91296, 13.40000, 0.00000, 0.00000, -0.54000);
  49696. CreateDynamicObject(870, 1174.39697, -1316.94080, 13.40000, 0.00000, 0.00000, -0.54000);
  49697. CreateDynamicObject(870, 1176.72546, -1314.04883, 13.40000, 0.00000, 0.00000, -0.54000);
  49698. CreateDynamicObject(870, 1177.11133, -1313.17383, 13.40000, 0.00000, 0.00000, -0.60000);
  49699. CreateDynamicObject(870, 1176.72546, -1314.04883, 13.40000, 0.00000, 0.00000, -0.54000);
  49700. CreateDynamicObject(870, 1175.82556, -1313.04358, 13.40000, 0.00000, 0.00000, -0.42000);
  49701. CreateDynamicObject(870, 1176.72546, -1314.04883, 13.40000, 0.00000, 0.00000, -0.54000);
  49702. CreateDynamicObject(870, 1177.11133, -1313.17383, 13.40000, 0.00000, 0.00000, -0.60000);
  49703. CreateDynamicObject(870, 1173.96338, -1313.01624, 13.40000, 0.00000, 0.00000, -0.42000);
  49704. CreateDynamicObject(870, 1176.72546, -1314.04883, 13.40000, 0.00000, 0.00000, -0.54000);
  49705. CreateDynamicObject(870, 1177.11133, -1313.17383, 13.40000, 0.00000, 0.00000, -0.60000);
  49706. CreateDynamicObject(870, 1175.82556, -1313.04358, 13.40000, 0.00000, 0.00000, -0.42000);
  49707. CreateDynamicObject(870, 1174.02454, -1314.57446, 13.40000, 0.00000, 0.00000, -0.36000);
  49708. CreateDynamicObject(870, 1176.72546, -1314.04883, 13.40000, 0.00000, 0.00000, -0.54000);
  49709. CreateDynamicObject(870, 1177.11133, -1313.17383, 13.40000, 0.00000, 0.00000, -0.60000);
  49710. CreateDynamicObject(870, 1175.82556, -1313.04358, 13.40000, 0.00000, 0.00000, -0.42000);
  49711. CreateDynamicObject(870, 1174.95337, -1314.27930, 13.40000, 0.00000, 0.00000, -0.42000);
  49712. CreateDynamicObject(870, 1174.02454, -1314.57446, 13.40000, 0.00000, 0.00000, -0.36000);
  49713. CreateDynamicObject(870, 1176.72546, -1314.04883, 13.40000, 0.00000, 0.00000, -0.54000);
  49714. CreateDynamicObject(870, 1177.11133, -1313.17383, 13.40000, 0.00000, 0.00000, -0.60000);
  49715. CreateDynamicObject(870, 1174.75110, -1313.22461, 13.40000, 0.00000, 0.00000, -0.42000);
  49716. CreateDynamicObject(870, 1173.96338, -1313.01624, 13.40000, 0.00000, 0.00000, -0.42000);
  49717. CreateDynamicObject(870, 1174.02454, -1314.57446, 13.40000, 0.00000, 0.00000, -0.36000);
  49718. CreateDynamicObject(870, 1174.95337, -1314.27930, 13.40000, 0.00000, 0.00000, -0.42000);
  49719. CreateDynamicObject(870, 1178.85706, -1314.40295, 13.40000, 0.00000, 0.00000, -1.14000);
  49720. CreateDynamicObject(627, 1176.71509, -1328.63074, 14.80000, 0.00000, 0.00000, 0.00000);
  49721. CreateDynamicObject(627, 1176.63843, -1318.99744, 14.80000, 0.00000, 0.00000, -0.06000);
  49722. CreateDynamicObject(627, 1172.01685, -1328.50183, 16.20000, 0.00000, 0.00000, 0.00000);
  49723. CreateDynamicObject(627, 1172.08984, -1318.99792, 16.20000, 0.00000, 0.00000, 0.00000);
  49724. CreateDynamicObject(627, 1181.23865, -1328.68542, 14.40000, 0.00000, 0.00000, 0.00000);
  49725. CreateDynamicObject(627, 1181.24573, -1318.80164, 14.40000, 0.00000, 0.00000, 0.00000);
  49726. CreateDynamicObject(19786, 1172.83130, -1327.09338, 25.94065, 0.00000, 0.00000, 0.00000);
  49727. CreateDynamicObject(19786, 1172.83130, -1327.09338, 25.94065, 0.00000, 0.00000, 0.00000);
  49728. CreateDynamicObject(3802, 1181.95056, -1341.79736, 17.54690, 0.00000, 0.00000, 90.00000);
  49729. CreateDynamicObject(3802, 1179.49316, -1341.79407, 17.54690, 0.00000, 0.00000, 90.00000);
  49730. CreateDynamicObject(3802, 1179.09900, -1341.81189, 17.54690, 0.00000, 0.00000, 90.00000);
  49731. CreateDynamicObject(3802, 1178.56409, -1341.80640, 17.54690, 0.00000, 0.00000, 90.00000);
  49732. CreateDynamicObject(3802, 1177.95630, -1341.78223, 17.54690, 0.00000, 0.00000, 90.00000);
  49733. CreateDynamicObject(3802, 1177.43298, -1341.76355, 17.54690, 0.00000, 0.00000, 90.00000);
  49734. CreateDynamicObject(3802, 1176.85266, -1341.78943, 17.54690, 0.00000, 0.00000, 90.00000);
  49735. CreateDynamicObject(3802, 1176.19019, -1341.78149, 17.54690, 0.00000, 0.00000, 90.00000);
  49736. CreateDynamicObject(3802, 1181.48938, -1341.76929, 17.54690, 0.00000, 0.00000, 90.00000);
  49737. CreateDynamicObject(3802, 1180.94409, -1341.79395, 17.54690, 0.00000, 0.00000, 90.00000);
  49738. CreateDynamicObject(3802, 1180.41467, -1341.79517, 17.54690, 0.00000, 0.00000, 90.00000);
  49739. CreateDynamicObject(3802, 1179.95605, -1341.74182, 17.54690, 0.00000, 0.00000, 90.00000);
  49740. CreateDynamicObject(3802, 1176.34241, -1305.89246, 18.34330, 0.00000, 0.00000, -90.00000);
  49741. CreateDynamicObject(3802, 1177.11877, -1305.92358, 18.34330, 0.00000, 0.00000, -90.00000);
  49742. CreateDynamicObject(3802, 1177.72607, -1305.89893, 18.34330, 0.00000, 0.00000, -90.00000);
  49743. CreateDynamicObject(3802, 1178.42566, -1305.91968, 18.34330, 0.00000, 0.00000, -90.00000);
  49744. CreateDynamicObject(970, 1182.03455, -1344.55542, 18.90000, 0.00000, 0.00000, 90.00000);
  49745. CreateDynamicObject(970, 1182.02209, -1348.73950, 18.90000, 0.00000, 0.00000, 90.00000);
  49746. CreateDynamicObject(970, 1182.03699, -1352.26001, 18.90000, 0.00000, 0.00000, 90.00000);
  49747. CreateDynamicObject(970, 1179.91980, -1354.30408, 18.90000, 0.00000, 0.00000, 0.00000);
  49748. CreateDynamicObject(970, 1175.75757, -1354.30286, 18.90000, 0.00000, 0.00000, 0.18000);
  49749. CreateDynamicObject(970, 1179.91980, -1354.30408, 18.90000, 0.00000, 0.00000, 0.00000);
  49750. CreateDynamicObject(970, 1171.61584, -1354.34094, 18.90000, 0.00000, 0.00000, 0.18000);
  49751. CreateDynamicObject(970, 1179.92236, -1342.49377, 18.90000, 0.00000, 0.00000, 0.00000);
  49752. CreateDynamicObject(970, 1175.76147, -1342.49329, 18.90000, 0.00000, 0.00000, 0.00000);
  49753. CreateDynamicObject(970, 1171.57800, -1342.49207, 18.90000, 0.00000, 0.00000, 0.00000);
  49754. CreateDynamicObject(638, 1175.57385, -1341.10608, 18.93310, 0.00000, 0.00000, 0.00000);
  49755. CreateDynamicObject(638, 1175.56836, -1338.40515, 18.93310, 0.00000, 0.00000, 0.00000);
  49756. CreateDynamicObject(638, 1175.56311, -1335.72400, 18.93310, 0.00000, 0.00000, 0.00000);
  49757. CreateDynamicObject(638, 1175.57861, -1333.08276, 18.93310, 0.00000, 0.00000, 0.00000);
  49758. CreateDynamicObject(638, 1175.57300, -1330.38257, 18.93310, 0.00000, 0.00000, 0.00000);
  49759. CreateDynamicObject(638, 1175.58655, -1327.66077, 18.93310, 0.00000, 0.00000, 0.00000);
  49760. CreateDynamicObject(638, 1175.58118, -1324.97949, 18.93310, 0.00000, 0.00000, 0.00000);
  49761. CreateDynamicObject(638, 1175.55786, -1322.37891, 18.93310, 0.00000, 0.00000, 0.00000);
  49762. CreateDynamicObject(638, 1175.52576, -1319.69885, 18.93310, 0.00000, 0.00000, 0.00000);
  49763. CreateDynamicObject(638, 1175.53308, -1317.01770, 18.93310, 0.00000, 0.00000, 0.00000);
  49764. CreateDynamicObject(638, 1175.52747, -1314.35742, 18.93310, 0.00000, 0.00000, 0.00000);
  49765. CreateDynamicObject(638, 1175.53784, -1311.65747, 18.93310, 0.00000, 0.00000, 0.00000);
  49766. CreateDynamicObject(638, 1175.53540, -1308.97620, 18.93310, 0.00000, 0.00000, 0.00000);
  49767. CreateDynamicObject(638, 1175.53784, -1311.65747, 18.93310, 0.00000, 0.00000, 0.00000);
  49768. CreateDynamicObject(638, 1175.53430, -1306.29578, 18.93310, 0.00000, 0.00000, -0.30000);
  49769. CreateDynamicObject(618, 1177.39612, -1332.97729, 12.55674, 0.00000, 0.00000, 0.00000);
  49770. CreateDynamicObject(618, 1177.35901, -1315.68774, 12.55674, 0.00000, 0.00000, 0.00000);
  49771. CreateDynamicObject(3802, 1182.78455, -1342.89795, 17.54690, 0.00000, 0.00000, 0.00000);
  49772. CreateDynamicObject(3802, 1182.82153, -1343.51831, 17.54690, 0.00000, 0.00000, 0.00000);
  49773. CreateDynamicObject(3802, 1182.80249, -1344.13855, 17.54690, 0.00000, 0.00000, 0.00000);
  49774. CreateDynamicObject(3802, 1182.79590, -1344.81873, 17.54690, 0.00000, 0.00000, 0.00000);
  49775. CreateDynamicObject(3802, 1182.75037, -1345.45728, 17.54690, 0.00000, 0.00000, 0.06000);
  49776. CreateDynamicObject(3802, 1182.79785, -1346.13660, 17.54690, 0.00000, 0.00000, 0.06000);
  49777. CreateDynamicObject(3802, 1182.80676, -1346.95630, 17.54690, 0.00000, 0.00000, 0.06000);
  49778. CreateDynamicObject(3802, 1182.81543, -1347.73621, 17.54690, 0.00000, 0.00000, 0.06000);
  49779. CreateDynamicObject(3802, 1182.80676, -1346.95630, 17.54690, 0.00000, 0.00000, 0.06000);
  49780. CreateDynamicObject(3802, 1182.80005, -1348.47620, 17.54690, 0.00000, 0.00000, 0.06000);
  49781. CreateDynamicObject(3802, 1182.79736, -1349.23706, 17.54690, 0.00000, 0.00000, 0.06000);
  49782. CreateDynamicObject(3802, 1182.80005, -1348.47620, 17.54690, 0.00000, 0.00000, 0.06000);
  49783. CreateDynamicObject(3802, 1182.75391, -1350.03625, 17.54690, 0.00000, 0.00000, 0.06000);
  49784. CreateDynamicObject(3802, 1182.74841, -1350.89722, 17.54690, 0.00000, 0.00000, 0.06000);
  49785. CreateDynamicObject(3802, 1182.75708, -1351.67786, 17.54690, 0.00000, 0.00000, 0.06000);
  49786. CreateDynamicObject(3802, 1182.75952, -1352.39844, 17.54690, 0.00000, 0.00000, 0.06000);
  49787. CreateDynamicObject(3802, 1182.74341, -1353.05872, 17.54690, 0.00000, 0.00000, 0.06000);
  49788. CreateDynamicObject(3802, 1182.73169, -1353.53833, 17.54690, 0.00000, 0.00000, 0.06000);
  49789. CreateDynamicObject(3802, 1182.73425, -1354.24243, 17.54690, 0.00000, 0.00000, 0.06000);
  49790. CreateDynamicObject(3515, 1177.66650, -1361.30396, 13.10028, 0.00000, 0.00000, 0.00000);
  49791. CreateDynamicObject(18014, 1181.70044, -1362.83667, 13.60000, 0.00000, 0.00000, 0.00000);
  49792. CreateDynamicObject(18014, 1181.69958, -1359.63611, 13.60000, 0.00000, 0.00000, 0.00000);
  49793. CreateDynamicObject(18014, 1179.02881, -1357.66455, 13.60000, 0.00000, 0.00000, 90.00000);
  49794. CreateDynamicObject(18014, 1176.43079, -1357.67639, 13.60000, 0.00000, 0.00000, 90.00000);
  49795. CreateDynamicObject(18014, 1174.45703, -1360.35583, 13.60000, 0.00000, 0.00000, 0.00000);
  49796. CreateDynamicObject(18014, 1174.47095, -1362.81409, 13.60000, 0.00000, 0.00000, 0.00000);
  49797. CreateDynamicObject(18014, 1177.18201, -1364.75098, 13.60000, 0.00000, 0.00000, 90.00000);
  49798. CreateDynamicObject(18014, 1179.36194, -1364.78809, 13.60000, 0.00000, 0.00000, 90.06000);
  49799. CreateDynamicObject(1231, 1174.02246, -1366.85059, 15.60000, 0.00000, 0.00000, 90.00000);
  49800. CreateDynamicObject(1231, 1173.77441, -1354.96899, 15.60000, 0.00000, 0.00000, 90.00000);
  49801. CreateDynamicObject(618, 1175.04211, -1364.58582, 12.55674, 0.00000, 0.00000, 2.58000);
  49802. CreateDynamicObject(618, 1175.28528, -1359.03906, 12.55674, 0.00000, 0.00000, 2.58000);
  49803. CreateDynamicObject(618, 1180.44507, -1359.07471, 12.55674, 0.00000, 0.00000, 2.58000);
  49804. CreateDynamicObject(618, 1180.43457, -1364.79919, 12.55674, 0.00000, 0.00000, 2.58000);
  49805. CreateDynamicObject(870, 1183.19031, -1344.32422, 13.40000, 0.00000, 0.00000, 0.18000);
  49806. CreateDynamicObject(870, 1183.96399, -1343.83337, 13.40000, 0.00000, 0.00000, 0.06000);
  49807. CreateDynamicObject(870, 1184.05115, -1345.37000, 13.40000, 0.00000, 0.00000, 0.06000);
  49808. CreateDynamicObject(870, 1183.10046, -1345.76697, 13.40000, 0.00000, 0.00000, 0.06000);
  49809. CreateDynamicObject(870, 1182.79626, -1347.49988, 13.40000, 0.00000, 0.00000, 0.12000);
  49810. CreateDynamicObject(870, 1183.10046, -1345.76697, 13.40000, 0.00000, 0.00000, 0.06000);
  49811. CreateDynamicObject(870, 1184.08362, -1346.43091, 13.40000, 0.00000, 0.00000, 0.12000);
  49812. CreateDynamicObject(870, 1183.10046, -1345.76697, 13.40000, 0.00000, 0.00000, 0.06000);
  49813. CreateDynamicObject(870, 1182.79626, -1347.49988, 13.40000, 0.00000, 0.00000, 0.12000);
  49814. CreateDynamicObject(870, 1184.22742, -1347.85510, 13.40000, 0.00000, 0.00000, 0.30000);
  49815. CreateDynamicObject(870, 1183.10046, -1345.76697, 13.40000, 0.00000, 0.00000, 0.06000);
  49816. CreateDynamicObject(870, 1182.79578, -1347.51990, 13.40000, 0.00000, 0.00000, 0.12000);
  49817. CreateDynamicObject(870, 1184.08362, -1346.43091, 13.40000, 0.00000, 0.00000, 0.12000);
  49818. CreateDynamicObject(870, 1183.04199, -1348.84595, 13.40000, 0.00000, 0.00000, 0.30000);
  49819. CreateDynamicObject(870, 1184.18311, -1348.85425, 13.40000, 0.00000, 0.00000, 0.30000);
  49820. CreateDynamicObject(870, 1183.04199, -1348.84595, 13.40000, 0.00000, 0.00000, 0.30000);
  49821. CreateDynamicObject(870, 1182.66260, -1350.41711, 13.40000, 0.00000, 0.00000, 0.30000);
  49822. CreateDynamicObject(870, 1183.90820, -1350.22803, 13.40000, 0.00000, 0.00000, 0.30000);
  49823. CreateDynamicObject(870, 1182.66260, -1350.41711, 13.40000, 0.00000, 0.00000, 0.30000);
  49824. CreateDynamicObject(870, 1182.67883, -1352.15771, 13.40000, 0.00000, 0.00000, 0.60000);
  49825. CreateDynamicObject(870, 1184.02856, -1351.77112, 13.40000, 0.00000, 0.00000, 0.60000);
  49826. CreateDynamicObject(870, 1182.67883, -1352.15771, 13.40000, 0.00000, 0.00000, 0.60000);
  49827. CreateDynamicObject(870, 1184.09937, -1350.53271, 13.40000, 0.00000, 0.00000, 0.60000);
  49828. CreateDynamicObject(870, 1184.12622, -1349.47314, 13.40000, 0.00000, 0.00000, 0.60000);
  49829. CreateDynamicObject(870, 1184.18066, -1347.31335, 13.40000, 0.00000, 0.00000, 0.60000);
  49830. CreateDynamicObject(870, 1184.18066, -1347.31335, 13.40000, 0.00000, 0.00000, 0.60000);
  49831. CreateDynamicObject(870, 1184.18066, -1347.31335, 13.40000, 0.00000, 0.00000, 0.60000);
  49832. CreateDynamicObject(870, 1184.20862, -1346.27417, 13.40000, 0.00000, 0.00000, 0.24000);
  49833. CreateDynamicObject(870, 1184.18066, -1347.31335, 13.40000, 0.00000, 0.00000, 0.60000);
  49834. CreateDynamicObject(870, 1184.10889, -1344.67114, 13.40000, 0.00000, 0.00000, 0.06000);
  49835. CreateDynamicObject(870, 1184.20862, -1346.27417, 13.40000, 0.00000, 0.00000, 0.24000);
  49836. CreateDynamicObject(870, 1184.04565, -1343.93469, 13.40000, 0.00000, 0.00000, 0.06000);
  49837. CreateDynamicObject(870, 1182.56506, -1343.99329, 13.40000, 0.00000, 0.00000, 0.06000);
  49838. CreateDynamicObject(870, 1183.94019, -1344.54663, 13.40000, 0.00000, 0.00000, 0.06000);
  49839. CreateDynamicObject(870, 1182.82581, -1353.44214, 13.40000, 0.00000, 0.00000, 0.12000);
  49840. CreateDynamicObject(870, 1183.97974, -1353.73096, 13.40000, 0.00000, 0.00000, 0.12000);
  49841. CreateDynamicObject(870, 1182.82581, -1353.44214, 13.40000, 0.00000, 0.00000, 0.12000);
  49842. CreateDynamicObject(870, 1184.10278, -1352.81665, 13.40000, 0.00000, 0.00000, 0.12000);
  49843. CreateDynamicObject(870, 1184.12122, -1354.55884, 13.40000, 0.00000, 0.00000, 0.12000);
  49844. CreateDynamicObject(870, 1182.04260, -1355.76208, 13.40000, 0.00000, 0.00000, 0.12000);
  49845. CreateDynamicObject(870, 1183.93005, -1356.08801, 13.40000, 0.00000, 0.00000, 0.12000);
  49846. CreateDynamicObject(870, 1182.04260, -1355.76208, 13.40000, 0.00000, 0.00000, 0.12000);
  49847. CreateDynamicObject(870, 1182.95508, -1357.72571, 13.40000, 0.00000, 0.00000, 4.56000);
  49848. CreateDynamicObject(870, 1181.22864, -1355.16467, 13.40000, 0.00000, 0.00000, 0.12000);
  49849. CreateDynamicObject(870, 1181.79431, -1356.39185, 13.40000, 0.00000, 0.00000, 0.12000);
  49850. CreateDynamicObject(870, 1183.98938, -1357.87256, 13.40000, 0.00000, 0.00000, 4.56000);
  49851. CreateDynamicObject(870, 1184.09827, -1356.79651, 13.40000, 0.00000, 0.00000, 4.56000);
  49852. CreateDynamicObject(870, 1184.08325, -1355.79504, 13.40000, 0.00000, 0.00000, 4.56000);
  49853. CreateDynamicObject(870, 1184.08325, -1355.79504, 13.40000, 0.00000, 0.00000, 4.56000);
  49854. CreateDynamicObject(870, 1181.79431, -1356.39185, 13.40000, 0.00000, 0.00000, 0.12000);
  49855. CreateDynamicObject(870, 1180.22363, -1356.14014, 13.40000, 0.00000, 0.00000, 0.12000);
  49856. CreateDynamicObject(870, 1178.83325, -1355.89722, 13.40000, 0.00000, 0.00000, 0.12000);
  49857. CreateDynamicObject(870, 1178.83325, -1355.89722, 13.40000, 0.00000, 0.00000, 0.12000);
  49858. CreateDynamicObject(870, 1177.10901, -1356.05420, 13.40000, 0.00000, 0.00000, 0.12000);
  49859. CreateDynamicObject(870, 1178.83325, -1355.89722, 13.40000, 0.00000, 0.00000, 0.12000);
  49860. CreateDynamicObject(870, 1175.54651, -1356.13525, 13.40000, 0.00000, 0.00000, 0.12000);
  49861. CreateDynamicObject(870, 1174.58105, -1355.53149, 13.40000, 0.00000, 0.00000, 0.12000);
  49862. CreateDynamicObject(870, 1174.58105, -1355.53149, 13.40000, 0.00000, 0.00000, 0.12000);
  49863. CreateDynamicObject(870, 1173.81348, -1356.75159, 13.40000, 0.00000, 0.00000, 0.12000);
  49864. CreateDynamicObject(870, 1173.14954, -1359.23401, 13.40000, 0.00000, 0.00000, 0.12000);
  49865. CreateDynamicObject(870, 1173.05823, -1360.43652, 13.40000, 0.00000, 0.00000, 0.12000);
  49866. CreateDynamicObject(870, 1173.16406, -1361.32886, 13.40000, 0.00000, 0.00000, 0.12000);
  49867. CreateDynamicObject(870, 1173.05823, -1360.43652, 13.40000, 0.00000, 0.00000, 0.12000);
  49868. CreateDynamicObject(870, 1173.03943, -1362.26135, 13.40000, 0.00000, 0.00000, 0.12000);
  49869. CreateDynamicObject(870, 1172.96887, -1363.72607, 13.40000, 0.00000, 0.00000, 0.12000);
  49870. CreateDynamicObject(870, 1173.92773, -1366.09302, 13.40000, 0.00000, 0.00000, 0.12000);
  49871. CreateDynamicObject(870, 1175.55823, -1366.02136, 13.40000, 0.00000, 0.00000, 0.18000);
  49872. CreateDynamicObject(870, 1173.92773, -1366.09302, 13.40000, 0.00000, 0.00000, 0.12000);
  49873. CreateDynamicObject(870, 1177.13818, -1366.14502, 13.40000, 0.00000, 0.00000, 0.42000);
  49874. CreateDynamicObject(870, 1173.92773, -1366.09302, 13.40000, 0.00000, 0.00000, 0.12000);
  49875. CreateDynamicObject(870, 1175.55823, -1366.02136, 13.40000, 0.00000, 0.00000, 0.18000);
  49876. CreateDynamicObject(870, 1178.46606, -1366.32568, 13.40000, 0.00000, 0.00000, 0.42000);
  49877. CreateDynamicObject(870, 1179.70178, -1366.30969, 13.40000, 0.00000, 0.00000, 0.66000);
  49878. CreateDynamicObject(870, 1178.46606, -1366.32568, 13.40000, 0.00000, 0.00000, 0.42000);
  49879. CreateDynamicObject(870, 1181.02563, -1366.24622, 13.40000, 0.00000, 0.00000, 0.72000);
  49880. CreateDynamicObject(870, 1178.46606, -1366.32568, 13.40000, 0.00000, 0.00000, 0.42000);
  49881. CreateDynamicObject(870, 1179.70178, -1366.30969, 13.40000, 0.00000, 0.00000, 0.66000);
  49882. CreateDynamicObject(870, 1182.12012, -1366.22900, 13.40000, 0.00000, 0.00000, 0.72000);
  49883. CreateDynamicObject(870, 1178.46606, -1366.32568, 13.40000, 0.00000, 0.00000, 0.42000);
  49884. CreateDynamicObject(870, 1179.70178, -1366.30969, 13.40000, 0.00000, 0.00000, 0.66000);
  49885. CreateDynamicObject(870, 1181.02563, -1366.24622, 13.40000, 0.00000, 0.00000, 0.72000);
  49886. CreateDynamicObject(870, 1183.27991, -1366.21191, 13.40000, 0.00000, 0.00000, 0.72000);
  49887. CreateDynamicObject(870, 1184.05701, -1366.16345, 13.40000, 0.00000, 0.00000, 0.72000);
  49888. CreateDynamicObject(870, 1184.15173, -1364.73450, 13.40000, 0.00000, 0.00000, 0.72000);
  49889. CreateDynamicObject(870, 1183.08875, -1364.09497, 13.40000, 0.00000, 0.00000, 0.72000);
  49890. CreateDynamicObject(870, 1183.07251, -1362.97498, 13.40000, 0.00000, 0.00000, 0.72000);
  49891. CreateDynamicObject(870, 1183.99500, -1363.50464, 13.40000, 0.00000, 0.00000, 0.72000);
  49892. CreateDynamicObject(870, 1184.22729, -1362.50269, 13.40000, 0.00000, 0.00000, 0.72000);
  49893. CreateDynamicObject(870, 1183.02905, -1361.33972, 13.40000, 0.00000, 0.00000, 0.72000);
  49894. CreateDynamicObject(870, 1184.20544, -1361.64307, 13.40000, 0.00000, 0.00000, 0.72000);
  49895. CreateDynamicObject(870, 1182.81909, -1359.90833, 13.40000, 0.00000, 0.00000, 0.60000);
  49896. CreateDynamicObject(870, 1184.20544, -1361.64307, 13.40000, 0.00000, 0.00000, 0.72000);
  49897. CreateDynamicObject(870, 1184.00977, -1360.51111, 13.40000, 0.00000, 0.00000, 0.60000);
  49898. CreateDynamicObject(870, 1184.04871, -1359.04919, 13.40000, 0.00000, 0.00000, 0.36000);
  49899. CreateDynamicObject(870, 1180.12195, -1363.18054, 13.40000, 0.00000, 0.00000, 0.72000);
  49900. CreateDynamicObject(870, 1180.21008, -1361.52026, 13.40000, 0.00000, 0.00000, 0.72000);
  49901. CreateDynamicObject(870, 1180.12195, -1363.18054, 13.40000, 0.00000, 0.00000, 0.72000);
  49902. CreateDynamicObject(870, 1180.05908, -1359.94080, 13.40000, 0.00000, 0.00000, 0.72000);
  49903. CreateDynamicObject(870, 1178.85583, -1359.50903, 13.40000, 0.00000, 0.00000, 0.72000);
  49904. CreateDynamicObject(870, 1177.59497, -1359.45740, 13.40000, 0.00000, 0.00000, 0.72000);
  49905. CreateDynamicObject(870, 1179.67322, -1359.12256, 13.40000, 0.00000, 0.00000, 0.72000);
  49906. CreateDynamicObject(870, 1178.68140, -1363.20959, 13.40000, 0.00000, 0.00000, 0.72000);
  49907. CreateDynamicObject(870, 1177.22058, -1363.16589, 13.40000, 0.00000, 0.00000, 0.72000);
  49908. CreateDynamicObject(870, 1178.68140, -1363.20959, 13.40000, 0.00000, 0.00000, 0.72000);
  49909. CreateDynamicObject(870, 1175.48022, -1363.38245, 13.40000, 0.00000, 0.00000, 0.72000);
  49910. CreateDynamicObject(870, 1178.68140, -1363.20959, 13.40000, 0.00000, 0.00000, 0.72000);
  49911. CreateDynamicObject(870, 1177.22058, -1363.16589, 13.40000, 0.00000, 0.00000, 0.72000);
  49912. CreateDynamicObject(870, 1175.62585, -1361.65955, 13.40000, 0.00000, 0.00000, 0.72000);
  49913. CreateDynamicObject(870, 1176.08398, -1359.40552, 13.40000, 0.00000, 0.00000, 0.72000);
  49914. CreateDynamicObject(870, 1175.95996, -1358.91052, 13.40000, 0.00000, 0.00000, 0.78000);
  49915. CreateDynamicObject(970, 1185.79932, -1365.39795, 13.70000, 0.00000, 0.00000, 90.00000);
  49916. CreateDynamicObject(970, 1185.80640, -1361.23682, 13.70000, 0.00000, 0.00000, 90.00000);
  49917. CreateDynamicObject(970, 1185.82153, -1357.07556, 13.70000, 0.00000, 0.00000, 90.00000);
  49918. CreateDynamicObject(970, 1185.81665, -1352.89490, 13.70000, 0.00000, 0.00000, 90.00000);
  49919. CreateDynamicObject(970, 1185.79968, -1348.72717, 13.70000, 0.00000, 0.00000, 90.00000);
  49920. CreateDynamicObject(970, 1185.80652, -1344.58569, 13.70000, 0.00000, 0.00000, 90.00000);
  49921. CreateDynamicObject(970, 1183.72791, -1342.48596, 13.70000, 0.00000, 0.00000, 0.00000);
  49922. CreateDynamicObject(870, 1184.18396, -1343.90869, 13.40000, 0.00000, 0.00000, 0.06000);
  49923. CreateDynamicObject(3802, 1179.90417, -1305.15735, 18.34330, 0.00000, 0.00000, 0.00000);
  49924. CreateDynamicObject(3802, 1179.93652, -1304.51685, 18.34330, 0.00000, 0.00000, 0.00000);
  49925. CreateDynamicObject(3802, 1179.90417, -1305.15735, 18.34330, 0.00000, 0.00000, 0.00000);
  49926. CreateDynamicObject(3802, 1179.91895, -1303.85559, 18.34330, 0.00000, 0.00000, 0.00000);
  49927. CreateDynamicObject(3802, 1179.21240, -1305.85864, 18.34330, 0.00000, 0.00000, -90.00000);
  49928. CreateDynamicObject(3802, 1179.93201, -1303.25549, 18.34330, 0.00000, 0.00000, 0.00000);
  49929. CreateDynamicObject(3802, 1179.91760, -1302.67712, 18.34330, 0.00000, 0.00000, 0.00000);
  49930. CreateDynamicObject(3802, 1179.92883, -1301.98560, 18.34330, 0.00000, 0.00000, 0.00000);
  49931. CreateDynamicObject(3802, 1179.91553, -1301.38318, 18.34330, 0.00000, 0.00000, 0.00000);
  49932. CreateDynamicObject(3802, 1179.91284, -1300.68188, 18.34330, 0.00000, 0.00000, 0.00000);
  49933. CreateDynamicObject(3802, 1179.92261, -1299.98132, 18.34330, 0.00000, 0.00000, 0.00000);
  49934. CreateDynamicObject(3802, 1179.91260, -1299.28088, 18.34330, 0.00000, 0.00000, 0.00000);
  49935. CreateDynamicObject(3802, 1179.92334, -1298.64050, 18.34330, 0.00000, 0.00000, 0.00000);
  49936. CreateDynamicObject(3802, 1179.90503, -1298.04041, 18.34330, 0.00000, 0.00000, 0.00000);
  49937. CreateDynamicObject(3802, 1179.90625, -1297.41992, 18.34330, 0.00000, 0.00000, 0.00000);
  49938. CreateDynamicObject(3802, 1179.90991, -1296.87952, 18.34330, 0.00000, 0.00000, 0.00000);
  49939. CreateDynamicObject(3802, 1179.90723, -1296.25977, 18.34330, 0.00000, 0.00000, -0.18000);
  49940. CreateDynamicObject(3802, 1179.91455, -1295.63660, 18.34330, 0.00000, 0.00000, -0.18000);
  49941. CreateDynamicObject(3802, 1179.92322, -1295.07629, 18.34330, 0.00000, 0.00000, -0.18000);
  49942. CreateDynamicObject(3802, 1179.91687, -1294.41504, 18.34330, 0.00000, 0.00000, -0.18000);
  49943. CreateDynamicObject(3802, 1179.92407, -1293.89148, 18.34330, 0.00000, 0.00000, -0.18000);
  49944. CreateDynamicObject(3802, 1179.92944, -1293.25623, 18.34330, 0.00000, 0.00000, -0.18000);
  49945. CreateDynamicObject(3802, 1179.93945, -1292.64026, 18.34330, 0.00000, 0.00000, -0.18000);
  49946. CreateDynamicObject(3802, 1179.92944, -1293.25623, 18.34330, 0.00000, 0.00000, -0.18000);
  49947. CreateDynamicObject(3802, 1179.92834, -1292.00354, 18.34330, 0.00000, 0.00000, -0.18000);
  49948. CreateDynamicObject(3802, 1179.90942, -1291.38342, 18.34330, 0.00000, 0.00000, -0.18000);
  49949. CreateDynamicObject(970, 1181.36096, -1305.17847, 13.70000, 0.00000, 0.00000, 0.00000);
  49950. CreateDynamicObject(970, 1183.54541, -1305.23291, 13.70000, 0.00000, 0.00000, 0.00000);
  49951. CreateDynamicObject(970, 1185.65686, -1303.10388, 13.70000, 0.00000, 0.00000, 89.50200);
  49952. CreateDynamicObject(970, 1185.69250, -1298.95801, 13.70000, 0.00000, 0.00000, 89.70000);
  49953. CreateDynamicObject(970, 1185.70532, -1294.84009, 13.70000, 0.00000, 0.00000, 90.00000);
  49954. CreateDynamicObject(970, 1185.73804, -1292.83752, 13.70000, 0.00000, 0.00000, 90.00000);
  49955. CreateDynamicObject(970, 1183.66663, -1290.76160, 13.70000, 0.00000, 0.00000, 0.00000);
  49956. CreateDynamicObject(970, 1181.34521, -1290.79236, 13.70000, 0.00000, 0.00000, 0.99600);
  49957. CreateDynamicObject(870, 1181.59705, -1303.31104, 13.40000, 0.00000, 0.00000, -1.26000);
  49958. CreateDynamicObject(870, 1180.34204, -1303.42114, 13.40000, 0.00000, 0.00000, -1.26000);
  49959. CreateDynamicObject(870, 1182.89917, -1303.53918, 13.40000, 0.00000, 0.00000, -1.20000);
  49960. CreateDynamicObject(870, 1181.59705, -1303.31104, 13.40000, 0.00000, 0.00000, -1.26000);
  49961. CreateDynamicObject(870, 1183.96301, -1303.55042, 13.40000, 0.00000, 0.00000, -1.20000);
  49962. CreateDynamicObject(870, 1184.10620, -1302.16846, 13.40000, 0.00000, 0.00000, -1.20000);
  49963. CreateDynamicObject(870, 1184.08289, -1301.24121, 13.40000, 0.00000, 0.00000, -1.20000);
  49964. CreateDynamicObject(870, 1182.94287, -1301.31531, 13.40000, 0.00000, 0.00000, -1.20000);
  49965. CreateDynamicObject(870, 1181.94373, -1301.26477, 13.40000, 0.00000, 0.00000, -1.20000);
  49966. CreateDynamicObject(870, 1180.87976, -1301.37244, 13.40000, 0.00000, 0.00000, -1.20000);
  49967. CreateDynamicObject(870, 1180.14282, -1301.24976, 13.40000, 0.00000, 0.00000, -1.20000);
  49968. CreateDynamicObject(870, 1180.06714, -1303.72888, 13.40000, 0.00000, 0.00000, 0.18000);
  49969. CreateDynamicObject(870, 1180.28735, -1299.13293, 13.40000, 0.00000, 0.00000, -1.20000);
  49970. CreateDynamicObject(870, 1180.06714, -1303.72888, 13.40000, 0.00000, 0.00000, 0.18000);
  49971. CreateDynamicObject(870, 1181.70740, -1299.17627, 13.40000, 0.00000, 0.00000, -1.20000);
  49972. CreateDynamicObject(870, 1182.80591, -1299.26990, 13.40000, 0.00000, 0.00000, -1.20000);
  49973. CreateDynamicObject(870, 1182.73584, -1297.62671, 13.40000, 0.00000, 0.00000, -1.20000);
  49974. CreateDynamicObject(870, 1181.61072, -1297.11182, 13.40000, 0.00000, 0.00000, -1.20000);
  49975. CreateDynamicObject(870, 1180.29395, -1296.97144, 13.40000, 0.00000, 0.00000, -1.20000);
  49976. CreateDynamicObject(870, 1180.28088, -1295.42993, 13.40000, 0.00000, 0.00000, -1.20000);
  49977. CreateDynamicObject(870, 1181.96130, -1295.46118, 13.40000, 0.00000, 0.00000, -1.20000);
  49978. CreateDynamicObject(870, 1183.38293, -1295.44446, 13.40000, 0.00000, 0.00000, -1.20000);
  49979. CreateDynamicObject(870, 1183.96790, -1295.96289, 13.40000, 0.00000, 0.00000, -1.20000);
  49980. CreateDynamicObject(870, 1184.04541, -1300.49927, 13.40000, 0.00000, 0.00000, -1.20000);
  49981. CreateDynamicObject(870, 1184.15955, -1295.11609, 13.40000, 0.00000, 0.00000, -1.32000);
  49982. CreateDynamicObject(870, 1183.38293, -1295.44446, 13.40000, 0.00000, 0.00000, -1.20000);
  49983. CreateDynamicObject(870, 1184.00842, -1293.97815, 13.40000, 0.00000, 0.00000, -1.32000);
  49984. CreateDynamicObject(870, 1184.05994, -1293.11768, 13.40000, 0.00000, 0.00000, -1.32000);
  49985. CreateDynamicObject(870, 1184.00842, -1293.97815, 13.40000, 0.00000, 0.00000, -1.32000);
  49986. CreateDynamicObject(870, 1182.08838, -1293.99744, 13.40000, 0.00000, 0.00000, -1.32000);
  49987. CreateDynamicObject(870, 1180.56641, -1293.79199, 13.40000, 0.00000, 0.00000, -1.32000);
  49988. CreateDynamicObject(870, 1179.97668, -1292.87817, 13.40000, 0.00000, 0.00000, -1.32000);
  49989. CreateDynamicObject(870, 1181.35742, -1292.90430, 13.40000, 0.00000, 0.00000, -1.32000);
  49990. CreateDynamicObject(870, 1182.61743, -1292.91187, 13.40000, 0.00000, 0.00000, -1.32000);
  49991. CreateDynamicObject(870, 1183.26526, -1292.78137, 13.40000, 0.00000, 0.00000, -1.32000);
  49992. CreateDynamicObject(870, 1183.75671, -1292.33801, 13.40000, 0.00000, 0.00000, 90.00000);
  49993. CreateDynamicObject(1256, 1178.36145, -1328.60803, 13.70000, 0.00000, 0.00000, -90.00000);
  49994. CreateDynamicObject(1256, 1178.37549, -1318.96472, 13.70000, 0.00000, 0.00000, 90.00000);
  49995. CreateDynamicObject(970, 1539.53198, -1653.49475, 13.10000, 0.00000, 0.00000, 90.00000);
  49996. CreateDynamicObject(970, 1539.52637, -1657.67908, 13.10000, 0.00000, 0.00000, 90.00000);
  49997. CreateDynamicObject(970, 1539.52368, -1661.87854, 13.10000, 0.00000, 0.00000, 90.00000);
  49998. CreateDynamicObject(970, 1539.50122, -1666.07800, 13.10000, 0.00000, 0.00000, 90.00000);
  49999. CreateDynamicObject(970, 1539.49292, -1670.25806, 13.10000, 0.00000, 0.00000, 90.00000);
  50000. CreateDynamicObject(970, 1539.50598, -1697.69312, 13.10000, 0.00000, 0.00000, 90.00000);
  50001. CreateDynamicObject(970, 1539.50793, -1693.51318, 13.10000, 0.00000, 0.00000, 90.00000);
  50002. CreateDynamicObject(970, 1539.50757, -1689.37280, 13.10000, 0.00000, 0.00000, 90.00000);
  50003. CreateDynamicObject(970, 1539.48083, -1685.23218, 13.10000, 0.00000, 0.00000, 90.00000);
  50004. CreateDynamicObject(970, 1539.45654, -1681.09167, 13.10000, 0.00000, 0.00000, 90.00000);
  50005. CreateDynamicObject(717, 1548.66821, -1656.80481, 13.10000, 0.00000, 0.00000, 0.00000);
  50006. CreateDynamicObject(717, 1548.48767, -1665.70105, 13.10000, 0.00000, 0.00000, 0.00000);
  50007. CreateDynamicObject(717, 1544.82690, -1665.69336, 13.10000, 0.00000, 0.00000, 0.00000);
  50008. CreateDynamicObject(717, 1544.82446, -1656.76233, 13.10000, 0.00000, 0.00000, 0.00000);
  50009. CreateDynamicObject(1257, 1523.62207, -1671.20923, 13.60000, 0.00000, 0.00000, -900.00000);
  50010. CreateDynamicObject(717, 1544.66809, -1685.31628, 13.10000, 0.00000, 0.00000, 0.00000);
  50011. CreateDynamicObject(717, 1544.67090, -1694.62122, 13.10000, 0.00000, 0.00000, 0.00000);
  50012. CreateDynamicObject(717, 1548.67749, -1694.56714, 13.10000, 0.00000, 0.00000, 0.00000);
  50013. CreateDynamicObject(717, 1548.67810, -1685.30225, 13.10000, 0.00000, 0.00000, 0.00000);
  50014. CreateDynamicObject(717, 1546.90698, -1661.14050, 13.10000, 0.00000, 0.00000, 0.00000);
  50015. CreateDynamicObject(717, 1546.82568, -1689.90015, 13.10000, 0.00000, 0.00000, 0.00000);
  50016. CreateDynamicObject(970, 1543.60803, -1657.59546, 13.40000, 0.00000, 0.00000, 90.00000);
  50017. CreateDynamicObject(970, 1543.59949, -1661.75928, 13.40000, 0.00000, 0.00000, 90.00000);
  50018. CreateDynamicObject(970, 1543.59839, -1664.92261, 13.40000, 0.00000, 0.00000, 90.00000);
  50019. CreateDynamicObject(970, 1545.68164, -1667.00330, 13.40000, 0.00000, 0.00000, 0.00000);
  50020. CreateDynamicObject(970, 1547.77612, -1667.01233, 13.40000, 0.00000, 0.00000, 0.00000);
  50021. CreateDynamicObject(970, 1549.85022, -1664.92505, 13.40000, 0.00000, 0.00000, 90.00000);
  50022. CreateDynamicObject(970, 1549.85925, -1660.74622, 13.40000, 0.00000, 0.00000, 90.00000);
  50023. CreateDynamicObject(970, 1549.84900, -1657.58533, 13.40000, 0.00000, 0.00000, 90.00000);
  50024. CreateDynamicObject(970, 1547.74585, -1655.50623, 13.40000, 0.00000, 0.00000, 0.00000);
  50025. CreateDynamicObject(970, 1545.70398, -1655.52893, 13.40000, 0.00000, 0.00000, 0.00000);
  50026. CreateDynamicObject(970, 1543.59045, -1686.32507, 13.40000, 0.00000, 0.00000, 90.00000);
  50027. CreateDynamicObject(970, 1543.58679, -1690.47070, 13.40000, 0.00000, 0.00000, 90.00000);
  50028. CreateDynamicObject(970, 1543.59778, -1693.61169, 13.40000, 0.00000, 0.00000, 90.00000);
  50029. CreateDynamicObject(970, 1545.67578, -1695.69543, 13.40000, 0.00000, 0.00000, 0.00000);
  50030. CreateDynamicObject(970, 1547.75586, -1695.72412, 13.40000, 0.00000, 0.00000, 0.00000);
  50031. CreateDynamicObject(970, 1549.85132, -1693.63684, 13.40000, 0.00000, 0.00000, 90.00000);
  50032. CreateDynamicObject(970, 1549.85388, -1689.45483, 13.40000, 0.00000, 0.00000, 90.00000);
  50033. CreateDynamicObject(970, 1549.85596, -1686.29431, 13.40000, 0.00000, 0.00000, 90.00000);
  50034. CreateDynamicObject(970, 1547.75415, -1684.22681, 13.40000, 0.00000, 0.00000, 0.00000);
  50035. CreateDynamicObject(970, 1545.68652, -1684.20288, 13.40000, 0.00000, 0.00000, 0.00000);
  50036. CreateDynamicObject(2942, 1545.70532, -1650.45593, 13.10000, 0.00000, 0.00000, 0.00000);
  50037. CreateDynamicObject(638, 1539.89331, -1652.76099, 13.10000, 0.00000, 0.00000, 0.00000);
  50038. CreateDynamicObject(638, 1539.89160, -1655.44092, 13.10000, 0.00000, 0.00000, 0.00000);
  50039. CreateDynamicObject(638, 1539.88940, -1658.08142, 13.10000, 0.00000, 0.00000, 0.00000);
  50040. CreateDynamicObject(638, 1539.89893, -1660.72180, 13.10000, 0.00000, 0.00000, 0.00000);
  50041. CreateDynamicObject(638, 1539.88953, -1663.40576, 13.10000, 0.00000, 0.00000, 0.00000);
  50042. CreateDynamicObject(638, 1539.88452, -1666.08618, 13.10000, 0.00000, 0.00000, 0.00000);
  50043. CreateDynamicObject(638, 1539.87720, -1668.78784, 13.10000, 0.00000, 0.00000, 0.00000);
  50044. CreateDynamicObject(638, 1539.88245, -1670.96716, 13.12000, 0.00000, 0.00000, 0.00000);
  50045. CreateDynamicObject(638, 1539.85522, -1680.35266, 13.12000, 0.00000, 0.00000, 0.00000);
  50046. CreateDynamicObject(638, 1539.86096, -1683.03345, 13.12000, 0.00000, 0.00000, 0.00000);
  50047. CreateDynamicObject(638, 1539.86670, -1685.71387, 13.12000, 0.00000, 0.00000, 0.00000);
  50048. CreateDynamicObject(638, 1539.83191, -1688.37488, 13.12000, 0.00000, 0.00000, 0.00000);
  50049. CreateDynamicObject(638, 1539.84485, -1691.03772, 13.12000, 0.00000, 0.00000, 0.00000);
  50050. CreateDynamicObject(638, 1539.84521, -1693.71753, 13.12000, 0.00000, 0.00000, 0.00000);
  50051. CreateDynamicObject(638, 1539.85608, -1696.41748, 13.12000, 0.00000, 0.00000, 0.00000);
  50052. CreateDynamicObject(638, 1539.85461, -1698.49902, 13.13000, 0.00000, 0.00000, 0.00000);
  50053. CreateDynamicObject(3802, 1542.57422, -1650.05005, 17.65120, 0.00000, 0.00000, 180.00000);
  50054. CreateDynamicObject(3802, 1542.52917, -1649.39233, 17.65120, 0.00000, 0.00000, 180.00000);
  50055. CreateDynamicObject(3802, 1542.50476, -1648.73169, 17.65120, 0.00000, 0.00000, 180.00000);
  50056. CreateDynamicObject(3802, 1542.50977, -1648.08142, 17.65120, 0.00000, 0.00000, 180.00000);
  50057. CreateDynamicObject(3802, 1542.48486, -1647.43860, 17.65120, 0.00000, 0.00000, 180.00000);
  50058. CreateDynamicObject(3802, 1542.48193, -1646.82178, 17.65120, 0.00000, 0.00000, 180.00000);
  50059. CreateDynamicObject(3802, 1542.49438, -1646.22217, 17.65120, 0.00000, 0.00000, 180.00000);
  50060. CreateDynamicObject(3802, 1542.50024, -1645.55737, 17.65120, 0.00000, 0.00000, 180.00000);
  50061. CreateDynamicObject(3802, 1542.51660, -1644.87708, 17.65120, 0.00000, 0.00000, 180.00000);
  50062. CreateDynamicObject(3802, 1542.54724, -1644.17651, 17.65120, 0.00000, 0.00000, 180.00000);
  50063. CreateDynamicObject(3802, 1542.53918, -1643.48584, 17.65120, 0.00000, 0.00000, 180.00000);
  50064. CreateDynamicObject(3802, 1542.53284, -1642.80469, 17.65120, 0.00000, 0.00000, 180.00000);
  50065. CreateDynamicObject(3802, 1542.52661, -1642.12341, 17.65120, 0.00000, 0.00000, 180.00000);
  50066. CreateDynamicObject(3802, 1542.53430, -1641.45667, 17.65120, 0.00000, 0.00000, 180.00000);
  50067. CreateDynamicObject(3802, 1542.50122, -1640.77637, 17.65120, 0.00000, 0.00000, 180.00000);
  50068. CreateDynamicObject(3802, 1542.48914, -1640.18298, 17.65120, 0.00000, 0.00000, 180.00000);
  50069. CreateDynamicObject(3802, 1542.52905, -1639.48425, 17.65120, 0.00000, 0.00000, 180.00000);
  50070. CreateDynamicObject(3802, 1542.48071, -1638.87830, 17.65120, 0.00000, 0.00000, 180.00000);
  50071. CreateDynamicObject(3802, 1542.46069, -1638.23792, 17.65120, 0.00000, 0.00000, 180.00000);
  50072. CreateDynamicObject(870, 1542.22522, -1637.93140, 13.10000, 0.00000, 0.00000, 0.00000);
  50073. CreateDynamicObject(870, 1541.57666, -1637.79443, 13.10000, 0.00000, 0.00000, 0.00000);
  50074. CreateDynamicObject(870, 1541.03516, -1637.78967, 13.10000, 0.00000, 0.00000, 0.00000);
  50075. CreateDynamicObject(870, 1541.57666, -1637.79443, 13.10000, 0.00000, 0.00000, 0.00000);
  50076. CreateDynamicObject(870, 1541.02026, -1639.18726, 13.10000, 0.00000, 0.00000, 0.00000);
  50077. CreateDynamicObject(870, 1541.57666, -1637.79443, 13.10000, 0.00000, 0.00000, 0.00000);
  50078. CreateDynamicObject(870, 1543.89893, -1637.94336, 13.10000, 0.00000, 0.00000, 0.00000);
  50079. CreateDynamicObject(870, 1541.76941, -1639.75000, 13.10000, 0.00000, 0.00000, 0.00000);
  50080. CreateDynamicObject(870, 1541.57666, -1637.79443, 13.10000, 0.00000, 0.00000, 0.00000);
  50081. CreateDynamicObject(870, 1541.03467, -1637.76978, 13.10000, 0.00000, 0.00000, 0.00000);
  50082. CreateDynamicObject(870, 1541.28198, -1639.28320, 13.10000, 0.00000, 0.00000, 0.00000);
  50083. CreateDynamicObject(870, 1541.09644, -1640.36719, 13.10000, 0.00000, 0.00000, 0.00000);
  50084. CreateDynamicObject(870, 1541.57666, -1637.79443, 13.10000, 0.00000, 0.00000, 0.00000);
  50085. CreateDynamicObject(870, 1541.05505, -1637.78955, 13.10000, 0.00000, 0.00000, 0.00000);
  50086. CreateDynamicObject(870, 1541.07910, -1639.12622, 13.10000, 0.00000, 0.00000, 0.00000);
  50087. CreateDynamicObject(870, 1541.76941, -1639.75000, 13.10000, 0.00000, 0.00000, 0.00000);
  50088. CreateDynamicObject(870, 1541.83936, -1640.86719, 13.10000, 0.00000, 0.00000, 0.00000);
  50089. CreateDynamicObject(870, 1541.94421, -1642.02722, 13.10000, 0.00000, 0.00000, 0.00000);
  50090. CreateDynamicObject(870, 1541.02356, -1641.69250, 13.10000, 0.00000, 0.00000, 0.30000);
  50091. CreateDynamicObject(870, 1541.94421, -1642.02722, 13.10000, 0.00000, 0.00000, 0.00000);
  50092. CreateDynamicObject(870, 1540.92310, -1642.83301, 13.10000, 0.00000, 0.00000, 0.30000);
  50093. CreateDynamicObject(870, 1540.92310, -1642.83301, 13.10000, 0.00000, 0.00000, 0.30000);
  50094. CreateDynamicObject(870, 1542.23633, -1643.31006, 13.10000, 0.00000, 0.00000, 0.30000);
  50095. CreateDynamicObject(870, 1541.75024, -1644.01868, 13.10000, 0.00000, 0.00000, 0.36000);
  50096. CreateDynamicObject(870, 1540.95459, -1643.76392, 13.10000, 0.00000, 0.00000, 0.36000);
  50097. CreateDynamicObject(870, 1541.75024, -1644.01868, 13.10000, 0.00000, 0.00000, 0.36000);
  50098. CreateDynamicObject(870, 1541.00256, -1645.28467, 13.10000, 0.00000, 0.00000, 0.36000);
  50099. CreateDynamicObject(870, 1542.18103, -1645.66016, 13.10000, 0.00000, 0.00000, 0.36000);
  50100. CreateDynamicObject(870, 1542.22546, -1645.28271, 13.10000, 0.00000, 0.00000, 0.36000);
  50101. CreateDynamicObject(870, 1542.18640, -1646.80823, 13.10000, 0.00000, 0.00000, 0.36000);
  50102. CreateDynamicObject(870, 1540.96545, -1646.40234, 13.10000, 0.00000, 0.00000, 0.36000);
  50103. CreateDynamicObject(870, 1540.85327, -1647.69800, 13.10000, 0.00000, 0.00000, 0.36000);
  50104. CreateDynamicObject(870, 1540.96777, -1648.57654, 13.10000, 0.00000, 0.00000, 0.36000);
  50105. CreateDynamicObject(870, 1540.85327, -1647.69800, 13.10000, 0.00000, 0.00000, 0.36000);
  50106. CreateDynamicObject(870, 1541.08350, -1649.53491, 13.10000, 0.00000, 0.00000, 0.36000);
  50107. CreateDynamicObject(870, 1540.85327, -1647.69800, 13.10000, 0.00000, 0.00000, 0.36000);
  50108. CreateDynamicObject(870, 1540.96777, -1648.57654, 13.10000, 0.00000, 0.00000, 0.36000);
  50109. CreateDynamicObject(870, 1542.22852, -1648.57593, 13.10000, 0.00000, 0.00000, 0.36000);
  50110. CreateDynamicObject(870, 1542.38293, -1649.45374, 13.10000, 0.00000, 0.00000, 0.36000);
  50111. CreateDynamicObject(870, 1541.03467, -1637.76978, 13.10000, 0.00000, 0.00000, 0.00000);
  50112. CreateDynamicObject(870, 1543.07861, -1637.95642, 13.10000, 0.00000, 0.00000, 0.00000);
  50113. CreateDynamicObject(870, 1543.88293, -1649.45544, 13.10000, 0.00000, 0.00000, 0.36000);
  50114. CreateDynamicObject(870, 1546.44336, -1685.98096, 13.10000, 0.00000, 0.00000, 0.36000);
  50115. CreateDynamicObject(870, 1548.03467, -1686.65039, 13.10000, 0.00000, 0.00000, 0.36000);
  50116. CreateDynamicObject(870, 1546.58679, -1687.85535, 13.10000, 0.00000, 0.00000, 0.36000);
  50117. CreateDynamicObject(870, 1548.16467, -1688.22461, 13.10000, 0.00000, 0.00000, 0.36000);
  50118. CreateDynamicObject(870, 1548.21350, -1690.16431, 13.10000, 0.00000, 0.00000, 0.36000);
  50119. CreateDynamicObject(870, 1548.21362, -1691.94592, 13.10000, 0.00000, 0.00000, 0.36000);
  50120. CreateDynamicObject(870, 1548.26074, -1692.54431, 13.10000, 0.00000, 0.00000, 0.36000);
  50121. CreateDynamicObject(870, 1546.92029, -1692.10425, 13.10000, 0.00000, 0.00000, 0.36000);
  50122. CreateDynamicObject(870, 1545.53430, -1691.98645, 13.10000, 0.00000, 0.00000, 0.36000);
  50123. CreateDynamicObject(870, 1545.45374, -1686.66541, 13.10000, 0.00000, 0.00000, 0.36000);
  50124. CreateDynamicObject(870, 1545.53174, -1688.38342, 13.10000, 0.00000, 0.00000, 0.36000);
  50125. CreateDynamicObject(870, 1545.45374, -1686.66541, 13.10000, 0.00000, 0.00000, 0.36000);
  50126. CreateDynamicObject(870, 1545.49121, -1689.70605, 13.10000, 0.00000, 0.00000, 0.36000);
  50127. CreateDynamicObject(870, 1545.13196, -1691.06384, 13.10000, 0.00000, 0.00000, 0.36000);
  50128. CreateDynamicObject(870, 1545.31909, -1692.97754, 13.10000, 0.00000, 0.00000, 0.36000);
  50129. CreateDynamicObject(870, 1546.61255, -1694.14026, 13.10000, 0.00000, 0.00000, 0.36000);
  50130. CreateDynamicObject(870, 1545.42749, -1687.10645, 13.10000, 0.00000, 0.00000, 0.36000);
  50131. CreateDynamicObject(870, 1546.87024, -1686.18823, 13.10000, 0.00000, 0.00000, 0.48000);
  50132. CreateDynamicObject(870, 1546.48364, -1657.52856, 13.10000, 0.00000, 0.00000, 0.36000);
  50133. CreateDynamicObject(870, 1547.10205, -1657.45105, 13.10000, 0.00000, 0.00000, 0.36000);
  50134. CreateDynamicObject(870, 1548.38562, -1658.97522, 13.10000, 0.00000, 0.00000, 0.36000);
  50135. CreateDynamicObject(870, 1546.61426, -1659.28528, 13.10000, 0.00000, 0.00000, 0.36000);
  50136. CreateDynamicObject(870, 1545.37219, -1657.83838, 13.10000, 0.00000, 0.00000, 0.42000);
  50137. CreateDynamicObject(870, 1545.16235, -1659.68481, 13.10000, 0.00000, 0.00000, 0.42000);
  50138. CreateDynamicObject(870, 1545.06909, -1661.40820, 13.10000, 0.00000, 0.00000, 0.18000);
  50139. CreateDynamicObject(870, 1545.05798, -1663.16882, 13.10000, 0.00000, 0.00000, 0.18000);
  50140. CreateDynamicObject(870, 1544.01208, -1701.77832, 13.10000, 0.00000, 0.00000, 0.18000);
  50141. CreateDynamicObject(870, 1547.13940, -1661.06824, 13.10000, 0.00000, 0.00000, 0.18000);
  50142. CreateDynamicObject(870, 1548.08704, -1660.60095, 13.10000, 0.00000, 0.00000, 0.18000);
  50143. CreateDynamicObject(870, 1548.28223, -1662.57593, 13.10000, 0.00000, 0.00000, 0.18000);
  50144. CreateDynamicObject(870, 1546.86267, -1662.61584, 13.10000, 0.00000, 0.00000, 0.18000);
  50145. CreateDynamicObject(870, 1548.28223, -1662.57593, 13.10000, 0.00000, 0.00000, 0.18000);
  50146. CreateDynamicObject(870, 1546.41418, -1660.16711, 13.10000, 0.00000, 0.00000, 0.18000);
  50147. CreateDynamicObject(870, 1548.03967, -1663.96204, 13.10000, 0.00000, 0.00000, 0.18000);
  50148. CreateDynamicObject(870, 1546.73755, -1665.34033, 13.10000, 0.00000, 0.00000, 0.18000);
  50149. CreateDynamicObject(870, 1545.45996, -1664.05505, 13.10000, 0.00000, 0.00000, 0.18000);
  50150. CreateDynamicObject(627, 1539.25342, -1672.11646, 14.30000, 0.00000, 0.00000, 0.00000);
  50151. CreateDynamicObject(627, 1539.08081, -1679.27466, 14.30000, 0.00000, 0.00000, 0.00000);
  50152. CreateDynamicObject(627, 1545.77393, -1678.80737, 14.30000, 0.00000, 0.00000, 0.00000);
  50153. CreateDynamicObject(627, 1545.82349, -1672.53467, 14.30000, 0.00000, 0.00000, 0.00000);
  50154. CreateDynamicObject(627, 1554.76099, -1673.29114, 17.00000, 0.00000, 0.00000, 0.00000);
  50155. CreateDynamicObject(627, 1554.72571, -1678.01953, 17.00000, 0.00000, 0.00000, 0.00000);
  50156. CreateDynamicObject(870, 1545.45996, -1664.05505, 13.10000, 0.00000, 0.00000, 0.18000);
  50157. CreateDynamicObject(870, 1542.67273, -1701.72351, 13.10000, 0.00000, 0.00000, 0.18000);
  50158. CreateDynamicObject(870, 1541.42432, -1701.79492, 13.10000, 0.00000, 0.00000, 0.18000);
  50159. CreateDynamicObject(870, 1542.03040, -1703.42200, 13.10000, 0.00000, 0.00000, 0.18000);
  50160. CreateDynamicObject(870, 1541.42432, -1701.79492, 13.10000, 0.00000, 0.00000, 0.18000);
  50161. CreateDynamicObject(870, 1540.81079, -1701.63965, 13.10000, 0.00000, 0.00000, 0.18000);
  50162. CreateDynamicObject(870, 1540.57056, -1701.67773, 13.10000, 0.00000, 0.00000, 0.18000);
  50163. CreateDynamicObject(870, 1540.57117, -1703.35864, 13.10000, 0.00000, 0.00000, 0.18000);
  50164. CreateDynamicObject(870, 1542.03040, -1703.42200, 13.10000, 0.00000, 0.00000, 0.18000);
  50165. CreateDynamicObject(870, 1542.17358, -1705.35669, 13.10000, 0.00000, 0.00000, 0.18000);
  50166. CreateDynamicObject(870, 1540.59473, -1705.28479, 13.10000, 0.00000, 0.00000, 0.18000);
  50167. CreateDynamicObject(870, 1540.59473, -1705.28479, 13.10000, 0.00000, 0.00000, 0.18000);
  50168. CreateDynamicObject(870, 1541.84143, -1707.22046, 13.10000, 0.00000, 0.00000, 0.18000);
  50169. CreateDynamicObject(870, 1540.48145, -1707.28516, 13.10000, 0.00000, 0.00000, 0.12000);
  50170. CreateDynamicObject(870, 1542.25757, -1708.96863, 13.10000, 0.00000, 0.00000, -0.06000);
  50171. CreateDynamicObject(870, 1540.48145, -1707.28516, 13.10000, 0.00000, 0.00000, 0.12000);
  50172. CreateDynamicObject(870, 1540.49878, -1709.04565, 13.10000, 0.00000, 0.00000, -0.06000);
  50173. CreateDynamicObject(870, 1542.39392, -1710.68689, 13.10000, 0.00000, 0.00000, -0.06000);
  50174. CreateDynamicObject(870, 1540.65039, -1710.50305, 13.10000, 0.00000, 0.00000, -0.06000);
  50175. CreateDynamicObject(870, 1542.21338, -1712.49048, 13.10000, 0.00000, 0.00000, -0.18000);
  50176. CreateDynamicObject(870, 1540.52808, -1712.22522, 13.10000, 0.00000, 0.00000, -0.18000);
  50177. CreateDynamicObject(870, 1542.45276, -1714.34631, 13.10000, 0.00000, 0.00000, -0.18000);
  50178. CreateDynamicObject(870, 1540.58752, -1714.10522, 13.10000, 0.00000, 0.00000, -0.18000);
  50179. CreateDynamicObject(870, 1544.16785, -1714.09106, 13.10000, 0.00000, 0.00000, -0.18000);
  50180. CreateDynamicObject(3802, 1542.49084, -1701.14917, 17.65120, 0.00000, 0.00000, 180.00000);
  50181. CreateDynamicObject(3802, 1542.49707, -1701.87061, 17.65120, 0.00000, 0.00000, 180.00000);
  50182. CreateDynamicObject(3802, 1542.50488, -1702.57300, 17.65120, 0.00000, 0.00000, 180.00000);
  50183. CreateDynamicObject(3802, 1542.51257, -1703.25391, 17.65120, 0.00000, 0.00000, 180.00000);
  50184. CreateDynamicObject(3802, 1542.49329, -1703.92737, 17.65120, 0.00000, 0.00000, 180.00000);
  50185. CreateDynamicObject(3802, 1542.52209, -1704.66772, 17.65120, 0.00000, 0.00000, 180.00000);
  50186. CreateDynamicObject(3802, 1542.53625, -1705.28845, 17.65120, 0.00000, 0.00000, 180.00000);
  50187. CreateDynamicObject(3802, 1542.51282, -1705.95959, 17.65120, 0.00000, 0.00000, 180.00000);
  50188. CreateDynamicObject(3802, 1542.48840, -1706.56042, 17.65120, 0.00000, 0.00000, 180.00000);
  50189. CreateDynamicObject(3802, 1542.46655, -1707.24207, 17.65120, 0.00000, 0.00000, 180.00000);
  50190. CreateDynamicObject(3802, 1542.50623, -1707.86011, 17.65120, 0.00000, 0.00000, 180.00000);
  50191. CreateDynamicObject(3802, 1542.51453, -1708.47876, 17.65120, 0.00000, 0.00000, 180.00000);
  50192. CreateDynamicObject(3802, 1542.51404, -1709.77588, 17.65120, 0.00000, 0.00000, 180.00000);
  50193. CreateDynamicObject(3802, 1542.49377, -1709.14148, 17.65120, 0.00000, 0.00000, 180.00000);
  50194. CreateDynamicObject(3802, 1542.54236, -1710.41663, 17.65120, 0.00000, 0.00000, 180.00000);
  50195. CreateDynamicObject(3802, 1542.51294, -1711.09753, 17.65120, 0.00000, 0.00000, 180.00000);
  50196. CreateDynamicObject(3802, 1542.53528, -1711.70044, 17.65120, 0.00000, 0.00000, 180.00000);
  50197. CreateDynamicObject(3802, 1542.52771, -1712.30579, 17.65120, 0.00000, 0.00000, 180.00000);
  50198. CreateDynamicObject(3802, 1542.52710, -1712.97058, 17.65120, 0.00000, 0.00000, 180.00000);
  50199. CreateDynamicObject(3802, 1542.53955, -1713.57349, 17.65120, 0.00000, 0.00000, 180.00000);
  50200. CreateDynamicObject(2942, 1546.91040, -1650.47314, 13.10000, 0.00000, 0.00000, 0.00000);
  50201. // miner mappings
  50202. CreateDynamicObject(3214,1277.7990700,-1258.8350800,20.9226000,0.0000000,0.0000000,-90.0000000); //
  50203. CreateDynamicObject(17033,1233.7236300,-1266.4901100,11.7162000,0.0000000,0.0000000,-48.0000000); //
  50204. CreateDynamicObject(899,1260.1379400,-1261.4006300,6.3516000,-15.0000000,0.0000000,-50.0000000); //
  50205. CreateDynamicObject(901,1235.7368200,-1251.2432900,13.9622000,12.0000000,-35.0000000,132.0000000); //
  50206. CreateDynamicObject(898,1255.8817100,-1245.7943100,13.5716000,0.0000000,25.0000000,-30.0000000); //
  50207. CreateDynamicObject(8873,1246.2618400,-1244.5792200,18.2100000,0.0000000,0.0000000,-50.0000000); //
  50208. CreateDynamicObject(8874,1244.8524200,-1250.6547900,19.0376000,0.0000000,0.0000000,-50.0000000); //
  50209. CreateDynamicObject(8873,1228.6597900,-1260.4421400,18.2900000,0.0000000,0.0000000,55.0000000); //
  50210. CreateDynamicObject(8874,1234.8278800,-1260.3496100,19.1776000,0.0000000,0.0000000,55.0000000); //
  50211. CreateDynamicObject(8873,1246.4541000,-1265.2119100,18.2100000,0.0000000,0.0000000,155.0000000); //
  50212. CreateDynamicObject(8874,1245.2639200,-1259.1793200,19.0376000,0.0000000,0.0000000,515.0000000); //
  50213. CreateDynamicObject(3929,1242.1699200,-1252.1143800,13.2249000,0.0000000,0.0000000,0.0200000); //
  50214. CreateDynamicObject(3929,1245.5736100,-1252.2762500,11.9449000,0.0000000,0.0000000,0.0200000); //
  50215. CreateDynamicObject(3929,1242.3726800,-1261.6992200,12.2649000,0.0000000,0.0000000,0.0200000); //
  50216. CreateDynamicObject(3929,1243.8170200,-1251.3470500,11.9649000,0.0000000,0.0000000,0.0200000); //
  50217. CreateDynamicObject(3929,1244.7651400,-1250.2681900,11.9449000,0.0000000,0.0000000,0.0200000); //
  50218. CreateDynamicObject(3929,1240.8890400,-1262.1449000,13.0649000,0.0000000,0.0000000,0.0200000); //
  50219. CreateDynamicObject(3929,1240.0146500,-1261.3233600,12.2649000,0.0000000,0.0000000,0.0200000); //
  50220. CreateDynamicObject(897,1271.5629900,-1245.9299300,12.5316000,0.0000000,25.0000000,-55.0000000); //
  50221. CreateDynamicObject(3722,1257.9979200,-1234.4896200,18.1781000,0.0000000,0.0000000,90.0000000); //
  50222. CreateDynamicObject(5153,1250.2524400,-1234.6562500,14.9548000,90.0000000,113.8000000,90.0000000); //
  50223. CreateDynamicObject(5153,1250.2823500,-1238.0561500,14.9748000,90.0000000,113.8000000,90.0000000); //
  50224. CreateDynamicObject(3722,1279.3949000,-1241.6052200,15.1981000,0.0000000,0.0000000,0.0000000); //
  50225. CM = CreateActor(90, 36.805793,1.408629,467.086883, 91.63);
  50226. //Create3DTextLabel("Jason Slayer", COLOR_ORANGE, 2128.2251,-1776.7285,14.5580, 10.0, 0, 0);
  50227. TW = CreateActor(294, 2128.176513, -1775.101318, 13.558402, 89.94);
  50228. Create3DTextLabel("Dustin Corman", COLOR_ORANGE, 2128.176513,-1775.101318,14.558402, 10.0, 0, 0);
  50229. FW = CreateActor(294, 1309.271362,-1369.367919,19.000312, 86.89);
  50230. //Create3DTextLabel("Aira Salvador", COLOR_ORANGE, 2128.227539, -1773.333618, 14.558834, 10.0, 0, 0);
  50231. HM = CreateActor(2, 2126.507324,-1775.125122,13.558396, 89.74);
  50232. Create3DTextLabel("Howard McAdam", COLOR_ORANGE, 2126.507324,-1775.125122,13.558396, 10.0, 0, 0);
  50233. JP = CreateActor(294, 2128.197753,-1771.971801,13.559165, 89.74);
  50234. Create3DTextLabel("Paolo Villaflor", COLOR_ORANGE, 2128.197753,-1771.971801,13.559165, 10.0, 0, 0);
  50235. RDR = CreateActor(60, 1809.292846,-1907.967773,13.571975, 92.73);
  50236. //Create3DTextLabel("Ronald_Dela_Rosa", COLOR_ORANGE, 2128.224604,-1777.788085,13.557745, 10.0, 0, 0);
  50237. //JS = CreateActor(174, 2128.227050,-1777.152954,13.557901, 86.21);
  50238. //Create3DTextLabel("John Smithy", COLOR_ORANGE, 2128.227050,-1777.152954,13.557901, 10.0, 0, 0);
  50239. ApplyActorAnimation(CM, "ON_LOOKERS", "wave_loop", 4.0, 1, 0, 0, 0, 0);
  50240. ApplyActorAnimation(TW, "SMOKING", "M_smklean_loop", 4.0, 1, 0, 0, 0, 0);
  50241. ApplyActorAnimation(FW, "DANCING", "DAN_Right_A", 4.0, 1, 0, 0, 0, 0);
  50242. ApplyActorAnimation(HM, "BEACH", "Lay_Bac_Loop", 4.0, 1, 0, 0, 0, 0);
  50243. ApplyActorAnimation(JP, "SMOKING", "M_smklean_loop", 4.0, 1, 0, 0, 0, 0);
  50244. //ApplyActorAnimation(JS, "SMOKING", "M_smklean_loop", 4.0, 1, 0, 0, 0, 0);
  50245. //ApplyActorAnimation(RDR, "SMOKING", "M_smklean_loop", 4.0, 1, 0, 0, 0, 0);
  50246. SetActorInvulnerable(CM, true);
  50247. SetActorInvulnerable(TW, true);
  50248. SetActorInvulnerable(FW, true);
  50249. SetActorInvulnerable(HM, true);
  50250. SetActorInvulnerable(JP, true);
  50251. SetActorInvulnerable(RDR, true);
  50252. //SetActorInvulnerable(JS, true);
  50253. LockTD = TextDrawCreate(260.000030, 149.333312, "VEHICLE LOCKED");
  50254. TextDrawLetterSize(LockTD, 0.315600, 1.921064);
  50255. TextDrawAlignment(LockTD, 1);
  50256. TextDrawColor(LockTD, COLOR_RED);
  50257. TextDrawSetShadow(LockTD, 0);
  50258. TextDrawSetOutline(LockTD, 1);
  50259. TextDrawBackgroundColor(LockTD, 51);
  50260. TextDrawFont(LockTD, 2);
  50261. TextDrawSetProportional(LockTD, 1);
  50262. Text0 = TextDrawCreate(577.687011, 2.333317, "Serenity");
  50263. TextDrawLetterSize(Text0, 0.201683, 1.454166);
  50264. TextDrawAlignment(Text0, 1);
  50265. TextDrawColor(Text0, -1);
  50266. TextDrawSetShadow(Text0, 0);
  50267. TextDrawSetOutline(Text0, 1);
  50268. TextDrawBackgroundColor(Text0, 51);
  50269. TextDrawFont(Text0, 3);
  50270. TextDrawSetProportional(Text0, 1);
  50271. // Blood Effects
  50272. Blood[0] = TextDrawCreate(86.666648, 121.814811, "particle:bloodpool_64");
  50273. TextDrawLetterSize(Blood[0], 0.000000, 0.000000);
  50274. TextDrawTextSize(Blood[0], 24.000000, 34.000000);
  50275. TextDrawAlignment(Blood[0], 1);
  50276. TextDrawColor(Blood[0], -1);
  50277. TextDrawSetShadow(Blood[0], 0);
  50278. TextDrawSetOutline(Blood[0], 0);
  50279. TextDrawBackgroundColor(Blood[0], 255);
  50280. TextDrawFont(Blood[0], 4);
  50281. TextDrawSetProportional(Blood[0], 0);
  50282. TextDrawSetShadow(Blood[0], 0);
  50283. Blood[1] = TextDrawCreate(477.333312, 246.674102, "particle:bloodpool_64");
  50284. TextDrawLetterSize(Blood[1], 0.000000, 0.000000);
  50285. TextDrawTextSize(Blood[1], 36.000000, 41.000000);
  50286. TextDrawAlignment(Blood[1], 1);
  50287. TextDrawColor(Blood[1], -1);
  50288. TextDrawSetShadow(Blood[1], 0);
  50289. TextDrawSetOutline(Blood[1], 0);
  50290. TextDrawBackgroundColor(Blood[1], 255);
  50291. TextDrawFont(Blood[1], 4);
  50292. TextDrawSetProportional(Blood[1], 0);
  50293. TextDrawSetShadow(Blood[1], 0);
  50294. Blood[2] = TextDrawCreate(24.000041, 249.992660, "particle:bloodpool_64");
  50295. TextDrawLetterSize(Blood[2], 0.000000, 0.000000);
  50296. TextDrawTextSize(Blood[2], 70.000000, 57.000000);
  50297. TextDrawAlignment(Blood[2], 1);
  50298. TextDrawColor(Blood[2], -1);
  50299. TextDrawSetShadow(Blood[2], 0);
  50300. TextDrawSetOutline(Blood[2], 0);
  50301. TextDrawBackgroundColor(Blood[2], 255);
  50302. TextDrawFont(Blood[2], 4);
  50303. TextDrawSetProportional(Blood[2], 0);
  50304. TextDrawSetShadow(Blood[2], 0);
  50305. Blood[3] = TextDrawCreate(546.333374, 323.414916, "particle:bloodpool_64");
  50306. TextDrawLetterSize(Blood[3], 0.000000, 0.000000);
  50307. TextDrawTextSize(Blood[3], 70.000000, 57.000000);
  50308. TextDrawAlignment(Blood[3], 1);
  50309. TextDrawColor(Blood[3], -1);
  50310. TextDrawSetShadow(Blood[3], 0);
  50311. TextDrawSetOutline(Blood[3], 0);
  50312. TextDrawBackgroundColor(Blood[3], 255);
  50313. TextDrawFont(Blood[3], 4);
  50314. TextDrawSetProportional(Blood[3], 0);
  50315. TextDrawSetShadow(Blood[3], 0);
  50316. Blood[4] = TextDrawCreate(276.666717, 340.007568, "particle:bloodpool_64");
  50317. TextDrawLetterSize(Blood[4], 0.000000, 0.000000);
  50318. TextDrawTextSize(Blood[4], 70.000000, 57.000000);
  50319. TextDrawAlignment(Blood[4], 1);
  50320. TextDrawColor(Blood[4], -1);
  50321. TextDrawSetShadow(Blood[4], 0);
  50322. TextDrawSetOutline(Blood[4], 0);
  50323. TextDrawBackgroundColor(Blood[4], 255);
  50324. TextDrawFont(Blood[4], 4);
  50325. TextDrawSetProportional(Blood[4], 0);
  50326. TextDrawSetShadow(Blood[4], 0);
  50327. Blood[5] = TextDrawCreate(442.666748, 12.718672, "particle:bloodpool_64");
  50328. TextDrawLetterSize(Blood[5], 0.000000, 0.000000);
  50329. TextDrawTextSize(Blood[5], 17.000000, 25.000000);
  50330. TextDrawAlignment(Blood[5], 1);
  50331. TextDrawColor(Blood[5], -1);
  50332. TextDrawSetShadow(Blood[5], 0);
  50333. TextDrawSetOutline(Blood[5], 0);
  50334. TextDrawBackgroundColor(Blood[5], 255);
  50335. TextDrawFont(Blood[5], 4);
  50336. TextDrawSetProportional(Blood[5], 0);
  50337. TextDrawSetShadow(Blood[5], 0);
  50338. Blood[6] = TextDrawCreate(201.666732, 16.866807, "particle:bloodpool_64");
  50339. TextDrawLetterSize(Blood[6], 0.000000, 0.000000);
  50340. TextDrawTextSize(Blood[6], 48.000000, 49.000000);
  50341. TextDrawAlignment(Blood[6], 1);
  50342. TextDrawColor(Blood[6], -1);
  50343. TextDrawSetShadow(Blood[6], 0);
  50344. TextDrawSetOutline(Blood[6], 0);
  50345. TextDrawBackgroundColor(Blood[6], 255);
  50346. TextDrawFont(Blood[6], 4);
  50347. TextDrawSetProportional(Blood[6], 0);
  50348. TextDrawSetShadow(Blood[6], 0);
  50349. Blood[7] = TextDrawCreate(117.000106, 148.777893, "particle:bloodpool_64");
  50350. TextDrawLetterSize(Blood[7], 0.000000, 0.000000);
  50351. TextDrawTextSize(Blood[7], 127.000000, 70.000000);
  50352. TextDrawAlignment(Blood[7], 1);
  50353. TextDrawColor(Blood[7], -1);
  50354. TextDrawSetShadow(Blood[7], 0);
  50355. TextDrawSetOutline(Blood[7], 0);
  50356. TextDrawBackgroundColor(Blood[7], 255);
  50357. TextDrawFont(Blood[7], 4);
  50358. TextDrawSetProportional(Blood[7], 0);
  50359. TextDrawSetShadow(Blood[7], 0);
  50360. Blood[8] = TextDrawCreate(428.666717, 118.911254, "particle:bloodpool_64");
  50361. TextDrawLetterSize(Blood[8], 0.000000, 0.000000);
  50362. TextDrawTextSize(Blood[8], 59.000000, 50.000000);
  50363. TextDrawAlignment(Blood[8], 1);
  50364. TextDrawColor(Blood[8], -1);
  50365. TextDrawSetShadow(Blood[8], 0);
  50366. TextDrawSetOutline(Blood[8], 0);
  50367. TextDrawBackgroundColor(Blood[8], 255);
  50368. TextDrawFont(Blood[8], 4);
  50369. TextDrawSetProportional(Blood[8], 0);
  50370. TextDrawSetShadow(Blood[8], 0);
  50371. // Damage Informer Textdraw
  50372. for(new i; i < MAX_PLAYERS; ++i)
  50373. {
  50374. Damage[i] = TextDrawCreate(198.000015, 382.874114, "Damage: You were shot by");
  50375. TextDrawLetterSize(Damage[i], 0.213333, 1.110517);
  50376. TextDrawAlignment(Damage[i], 1);
  50377. TextDrawColor(Damage[i], -1);
  50378. TextDrawSetShadow(Damage[i], 0);
  50379. TextDrawSetOutline(Damage[i], 1);
  50380. TextDrawBackgroundColor(Damage[i], 51);
  50381. TextDrawFont(Damage[i], 1);
  50382. TextDrawSetProportional(Damage[i], 1);
  50383. }
  50384. // Maximus Club
  50385. CreateObject(19700, 1062.70215, -1713.99854, -25.05750, 0.00000, 0.00000, 0.00000);
  50386. CreateObject(19700, 1062.71533, -1726.45984, -25.05750, -0.06000, -0.18000, 0.00000);
  50387. CreateObject(19700, 1062.71729, -1738.83984, -25.05750, -0.24000, 0.06000, 0.00000);
  50388. CreateObject(19700, 1062.68494, -1701.54578, -25.05750, 0.00000, 0.00000, 0.00000);
  50389. CreateObject(19700, 1100.13525, -25.05750, -25.05750, 0.00000, 0.00000, 0.00000);
  50390. CreateObject(19700, 1075.17737, -1701.51099, -25.05750, 0.00000, 0.00000, 0.00000);
  50391. CreateObject(19700, 1075.19531, -1713.99976, -25.05750, 0.00000, 0.00000, 0.00000);
  50392. CreateObject(19700, 1075.20752, -1726.27234, -25.05750, 0.00000, 0.00000, 0.00000);
  50393. CreateObject(19700, 1075.21533, -1738.73975, -25.05750, 0.00000, 0.00000, 0.00000);
  50394. CreateObject(2773, 1071.77075, -1726.56909, -24.43840, 0.00000, 0.00000, 90.00000);
  50395. CreateObject(19128, 1070.73987, -1724.45422, -24.95720, 0.00000, 0.00000, 0.00000);
  50396. CreateObject(19128, 1066.82031, -1724.43420, -24.95720, 0.00000, 0.00000, 0.00000);
  50397. CreateObject(2773, 1068.75073, -1726.66479, -24.43840, 0.00000, 0.00000, 90.06000);
  50398. CreateObject(2773, 1065.79065, -1726.68616, -24.43840, 0.00000, 0.00000, 90.00000);
  50399. CreateObject(19128, 1066.80029, -1720.49426, -24.95720, 0.00000, 0.00000, 0.00000);
  50400. CreateObject(19128, 1070.73987, -1720.49414, -24.95720, 0.00000, 0.00000, 0.00000);
  50401. CreateObject(19128, 1070.75989, -1716.53418, -24.95720, 0.00000, 0.00000, 0.00000);
  50402. CreateObject(19128, 1066.76038, -1716.53430, -24.95720, 0.00000, 0.00000, 0.00000);
  50403. CreateObject(2773, 1068.75073, -1714.38757, -24.43840, 0.00000, 0.00000, 90.00000);
  50404. CreateObject(2773, 1065.79065, -1714.38757, -24.43840, 0.00000, 0.00000, 90.00000);
  50405. CreateObject(2773, 1071.77075, -1714.38757, -24.43840, 0.00000, 0.00000, 90.00000);
  50406. CreateObject(643, 1062.09375, -1723.91687, -24.13690, 0.00000, 0.00000, 0.00000);
  50407. CreateObject(643, 1061.78955, -1720.15894, -24.13690, 0.00000, 0.00000, 6.24000);
  50408. CreateObject(643, 1061.70874, -1716.41345, -24.13690, 0.00000, 0.00000, 0.00000);
  50409. CreateObject(19400, 1084.95642, -1723.64294, -23.24140, 0.00000, 0.00000, 0.00000);
  50410. CreateObject(19400, 1084.95642, -1726.82288, -23.24140, 0.00000, 0.00000, 0.00000);
  50411. CreateObject(19400, 1084.95642, -1729.98291, -23.24140, 0.00000, 0.00000, 0.00000);
  50412. CreateObject(19354, 1084.95642, -1720.46057, -23.24080, 0.02000, 0.00000, 0.00000);
  50413. CreateObject(19354, 1084.95642, -1717.30066, -23.24080, 0.02000, 0.00000, 0.00000);
  50414. CreateObject(19354, 1084.95642, -1714.18054, -23.24080, 0.02000, 0.00000, 0.00000);
  50415. CreateObject(19354, 1084.95642, -1707.90063, -23.24080, 0.02000, 0.00000, 0.00000);
  50416. CreateObject(19354, 1084.95642, -1733.17004, -23.24450, 0.00000, 0.00000, 0.00000);
  50417. CreateObject(19354, 1084.95642, -1736.34998, -23.24450, 0.00000, 0.00000, 0.00000);
  50418. CreateObject(19354, 1084.95642, -1739.52991, -23.24450, 0.00000, 0.06000, 0.00000);
  50419. CreateObject(19354, 1084.95642, -1742.70996, -23.24450, 0.00000, 0.00000, 0.00000);
  50420. CreateObject(19354, 1056.55640, -1742.70996, -23.24450, 0.00000, 0.00000, 0.00000);
  50421. CreateObject(19354, 1056.55640, -1739.52991, -23.24450, 0.00000, 0.00000, 0.00000);
  50422. CreateObject(19354, 1056.55640, -1736.34998, -23.24450, 0.00000, 0.00000, 0.00000);
  50423. CreateObject(19354, 1056.55640, -1733.17004, -23.24450, 0.00000, 0.00000, -0.06000);
  50424. CreateObject(19400, 1056.55640, -1729.98291, -23.24140, 0.00000, 0.00000, 0.00000);
  50425. CreateObject(19400, 1056.55640, -1726.82288, -23.24140, 0.00000, 0.00000, 0.00000);
  50426. CreateObject(19400, 1056.55640, -1723.64294, -23.24140, 0.00000, 0.00000, 0.00000);
  50427. CreateObject(19354, 1056.55640, -1720.46057, -23.24080, 0.02000, 0.00000, 0.00000);
  50428. CreateObject(19354, 1056.55640, -1717.30066, -23.24080, 0.02000, 0.00000, 0.00000);
  50429. CreateObject(19354, 1056.55640, -1714.18054, -23.24080, 0.02000, 0.00000, 0.00000);
  50430. CreateObject(19354, 1056.55640, -1711.10059, -23.24080, 0.02000, 0.00000, 0.00000);
  50431. CreateObject(19354, 1056.55640, -1707.90063, -23.24080, 0.02000, 0.00000, 0.00000);
  50432. CreateObject(19786, 1085.07642, -1730.03247, -23.70080, 0.00000, 0.00000, -90.00000);
  50433. CreateObject(19786, 1085.07642, -1730.03247, -22.48080, 0.00000, 0.00000, -90.00000);
  50434. CreateObject(19786, 1085.07642, -1726.85254, -22.48080, 0.00000, 0.00000, -90.00000);
  50435. CreateObject(19786, 1085.07642, -1723.59253, -22.48080, 0.00000, 0.00000, -90.00000);
  50436. CreateObject(19786, 1085.07642, -1723.59253, -23.70080, 0.00000, 0.00000, -90.00000);
  50437. CreateObject(19786, 1085.07642, -1726.85254, -23.70080, 0.00000, 0.00000, -90.00000);
  50438. CreateObject(19786, 1056.45605, -1723.59253, -22.48080, 0.00000, 0.00000, 90.00000);
  50439. CreateObject(19786, 1056.45605, -1723.59253, -23.70080, 0.00000, 0.00000, 90.00000);
  50440. CreateObject(19786, 1056.45605, -1726.77246, -23.70080, 0.00000, 0.00000, 90.00000);
  50441. CreateObject(19786, 1056.45605, -1726.77246, -22.48080, 0.00000, 0.00000, 90.00000);
  50442. CreateObject(19786, 1056.45605, -1730.11255, -23.70080, 0.00000, 0.00000, 90.00000);
  50443. CreateObject(19786, 1056.45605, -1730.11255, -22.48150, 0.00000, 0.00000, 90.00000);
  50444. CreateObject(19446, 2442.76147, -10428.56836, -5246.53711, 0.00000, 0.00000, 0.00000);
  50445. CreateObject(19446, 1076.62061, -1744.24463, -23.23890, 0.00000, 0.00000, -90.00000);
  50446. CreateObject(19446, 1067.08057, -1744.24463, -23.23890, 0.00000, 0.00000, -90.00000);
  50447. CreateObject(19446, 1057.62061, -1744.24463, -23.23890, 0.00000, 0.00000, -90.00000);
  50448. CreateObject(19446, 1084.95642, -1701.52734, -23.24080, 0.00000, 0.00000, 0.12000);
  50449. CreateObject(19446, 1056.55640, -1701.52734, -23.24080, 0.00000, 0.00000, 0.06000);
  50450. CreateObject(14416, 1075.88782, -1711.12427, -24.67840, 0.00000, 0.00000, -90.00000);
  50451. CreateObject(19354, 1084.95642, -1711.12061, -23.24080, 0.00000, 0.00000, 0.00000);
  50452. CreateObject(19354, 1074.49646, -1713.00061, -23.22080, 0.00000, 0.00000, -90.00000);
  50453. CreateObject(19354, 1077.19641, -1713.02063, -23.22080, 0.00000, 0.00000, -90.12000);
  50454. CreateObject(19446, 1077.68140, -1709.19482, -23.23920, 0.00000, 0.00000, 90.06000);
  50455. CreateObject(19446, 1060.44104, -1709.19482, -23.23920, 0.00000, 0.00000, 90.00000);
  50456. CreateObject(19446, 1054.82104, -1709.19482, -23.23920, 0.00000, 0.00000, 90.00000);
  50457. CreateObject(19360, 1058.19727, -1710.87366, -21.55790, 0.00000, 90.00000, 0.00000);
  50458. CreateObject(19360, 1058.19727, -1714.05359, -21.55790, 0.00000, 90.00000, 0.00000);
  50459. CreateObject(19360, 1058.19727, -1717.23364, -21.55790, 0.00000, 90.00000, 0.00000);
  50460. CreateObject(19360, 1058.19727, -1720.43359, -21.55790, 0.00000, 90.06000, 0.00000);
  50461. CreateObject(19360, 1058.19727, -1723.61365, -21.55790, 0.00000, 90.00000, 0.00000);
  50462. CreateObject(19360, 1058.19727, -1726.77356, -21.55790, 0.00000, 90.00000, 0.00000);
  50463. CreateObject(19354, 1078.41602, -1709.48059, -23.24080, 0.02000, 0.00000, 0.00000);
  50464. CreateObject(19354, 1078.41602, -1712.56055, -23.24080, 0.02000, 0.00000, 0.00000);
  50465. CreateObject(19360, 1710.54736, -1710.81616, -21.57570, 0.00000, 90.00000, 0.00000);
  50466. CreateObject(19354, 1079.96094, -1714.06018, -23.27600, 0.00000, 0.00000, 90.00000);
  50467. CreateObject(19354, 1084.95642, -1736.34998, -19.88450, 0.00000, 0.00000, 0.00000);
  50468. CreateObject(19354, 1084.95642, -1733.17004, -19.88450, 0.00000, 0.00000, 0.00000);
  50469. CreateObject(19354, 1084.95642, -1729.98291, -19.88450, 0.06000, 0.00000, 0.00000);
  50470. CreateObject(19354, 1084.95642, -1726.82288, -19.88450, 0.00000, 0.12000, 0.00000);
  50471. CreateObject(19354, 1084.95642, -1723.64294, -19.88450, 0.00000, 0.00000, 0.00000);
  50472. CreateObject(19354, 1084.95642, -1720.46057, -19.88450, 0.00000, 0.00000, 0.00000);
  50473. CreateObject(19354, 1084.95642, -1717.30066, -19.88450, 0.00000, 0.00000, 0.00000);
  50474. CreateObject(19354, 1084.95642, -1714.18054, -19.88450, 0.00000, 0.00000, 0.00000);
  50475. CreateObject(19446, 1085.03137, -1707.83740, -19.88450, 0.00000, 0.00000, 0.00000);
  50476. CreateObject(19446, 1085.03137, -1698.31738, -19.88450, 0.00000, 0.00000, 0.00000);
  50477. CreateObject(19446, 1056.55640, -1698.31738, -19.88450, 0.00000, 0.00000, 0.00000);
  50478. CreateObject(19446, 1056.55640, -1707.83740, -19.88450, 0.00000, 0.00000, 0.00000);
  50479. CreateObject(19354, 1056.55640, -1714.18054, -19.88450, 0.00000, 0.00000, 0.00000);
  50480. CreateObject(19354, 1056.55640, -1717.30066, -19.88450, 0.00000, 0.00000, 0.00000);
  50481. CreateObject(19354, 1056.55640, -1720.46057, -19.88450, 0.00000, 0.00000, 0.00000);
  50482. CreateObject(19354, 1056.55640, -1723.64294, -19.88450, 0.00000, 0.00000, 0.00000);
  50483. CreateObject(19354, 1056.55640, -1726.82288, -19.88450, 0.00000, 0.00000, 0.00000);
  50484. CreateObject(19354, 1056.55640, -1729.98291, -19.88450, 0.00000, 0.00000, 0.00000);
  50485. CreateObject(19354, 1056.55640, -1733.17004, -19.88450, 0.00000, 0.00000, 0.00000);
  50486. CreateObject(19354, 1056.55640, -1736.34998, -19.88450, 0.00000, 0.00000, 0.00000);
  50487. CreateObject(19354, 1056.55640, -1739.52991, -19.88450, 0.00000, 0.00000, 0.06000);
  50488. CreateObject(19354, 1056.55640, -1742.70996, -19.88450, 0.00000, 0.00000, 0.00000);
  50489. CreateObject(1704, 1084.37830, -1715.47705, -24.95460, 0.00000, 0.00000, -90.00000);
  50490. CreateObject(1704, 1084.37830, -1719.11707, -24.95460, 0.00000, 0.00000, -90.00000);
  50491. CreateObject(1704, 1084.37830, -1722.65710, -24.95460, 0.00000, 0.00000, -90.00000);
  50492. CreateObject(1704, 1084.37830, -1726.09705, -24.95460, 0.00000, 0.00000, -90.00000);
  50493. CreateObject(2229, 1084.94604, -1728.11511, -24.86670, 0.00000, 0.00000, -90.00000);
  50494. CreateObject(2229, 1084.94604, -1721.55505, -24.86670, 0.00000, 0.06000, -90.00000);
  50495. CreateObject(2229, 1084.88599, -1714.89514, -24.86670, 0.00000, 0.00000, -90.00000);
  50496. CreateObject(3533, 1077.05334, -1713.91199, -20.91920, 0.00000, 0.00000, -0.42000);
  50497. CreateObject(19354, 1058.15649, -1713.00061, -23.22080, 0.00000, 0.00000, -90.00000);
  50498. CreateObject(19354, 1061.19653, -1713.00061, -23.22080, 0.00000, 0.00000, -90.00000);
  50499. CreateObject(19354, 1063.65649, -1713.00061, -23.22080, 0.00000, 0.00000, -90.00000);
  50500. CreateObject(14416, 1061.80127, -1711.00281, -24.67840, 0.00000, 0.00000, 90.00000);
  50501. CreateObject(3533, 1061.24817, -1713.91199, -20.91920, 0.00000, 0.00000, -0.42000);
  50502. CreateObject(14608, 1069.20435, -1707.88684, -23.84200, 0.00000, 0.00000, 135.00000);
  50503. CreateObject(3858, 1069.50830, -1709.27515, -24.39810, 0.00000, 0.00000, 45.00000);
  50504. CreateObject(19376, 1076.48755, -1704.00537, -21.54070, 0.00000, 90.00000, 90.36000);
  50505. CreateObject(19376, 1066.94763, -1704.00537, -21.54070, 0.00000, 90.00000, 90.00000);
  50506. CreateObject(19376, 1057.34766, -1704.00537, -21.54070, 0.00000, 90.00000, 89.94000);
  50507. CreateObject(19360, 1058.20557, -1697.09546, -21.55370, 0.00000, 90.00000, 90.00000);
  50508. CreateObject(19360, 1061.40564, -1697.09546, -21.55370, 0.00000, 90.00000, 90.00000);
  50509. CreateObject(19360, 1064.60559, -1697.07544, -21.55370, 0.00000, 90.00000, 90.00000);
  50510. CreateObject(19360, 1067.78564, -1697.07544, -21.55370, 0.00000, 90.00000, 90.00000);
  50511. CreateObject(19360, 1070.94556, -1697.07544, -21.55370, 0.00000, 90.00000, 90.00000);
  50512. CreateObject(19360, 1074.12561, -1697.07544, -21.55370, 0.00000, 90.00000, 90.00000);
  50513. CreateObject(19360, 1077.32556, -1697.07544, -21.55370, 0.00000, 90.00000, 90.00000);
  50514. CreateObject(19360, 1080.54565, -1697.07544, -21.55370, 0.00000, 90.00000, 90.00000);
  50515. CreateObject(19354, 1056.54565, -1695.13989, -23.23780, 0.00000, 0.00000, 0.00000);
  50516. CreateObject(19354, 1084.95642, -1695.16736, -23.24080, 0.00000, 0.00000, 0.00000);
  50517. CreateObject(19608, 1069.04761, -1707.07849, -21.49580, 0.00000, 0.00000, 0.00000);
  50518. CreateObject(2315, 1068.27893, -1708.94775, -21.44720, 0.00000, 0.00000, 0.00000);
  50519. CreateObject(14820, 1068.99915, -1708.88513, -20.95610, 0.00000, 0.00000, 0.00000);
  50520. CreateObject(2232, 1067.13574, -1708.91309, -20.88730, 0.00000, 0.00000, 0.00000);
  50521. CreateObject(2232, 1065.97571, -1708.91309, -20.88730, 0.00000, 0.00000, 0.00000);
  50522. CreateObject(2232, 1071.01575, -1708.91309, -20.88730, 0.00000, 0.00000, 0.00000);
  50523. CreateObject(2232, 1072.27576, -1708.91309, -20.88730, 0.00000, 0.00000, 0.00000);
  50524. CreateObject(19446, 1061.44714, -1695.39539, -23.31910, 0.00000, 0.00000, 90.06000);
  50525. CreateObject(19446, 1070.88721, -1695.39539, -23.31910, 0.00000, 0.00000, 90.00000);
  50526. CreateObject(19446, 1080.20715, -1695.39539, -23.31910, 0.00000, 0.00000, 90.00000);
  50527. CreateObject(19446, 1069.16724, -1705.75537, -23.31910, 0.00000, 0.00000, 90.00000);
  50528. CreateObject(19354, 1072.94629, -1707.48669, -23.35540, 0.00000, 0.00000, 0.00000);
  50529. CreateObject(19354, 1065.12634, -1707.48669, -23.35540, 0.00000, 0.00000, 0.00000);
  50530. CreateObject(19446, 1074.50085, -1704.72205, -19.87540, 0.00000, 0.00000, 90.00000);
  50531. CreateObject(19384, 1083.68506, -1704.71106, -19.87380, 0.00000, 0.00000, 90.00000);
  50532. CreateObject(19446, 1064.92090, -1704.72205, -19.85540, 0.00000, 0.00000, 90.00000);
  50533. CreateObject(19446, 1055.54089, -1704.72205, -19.85540, 0.00000, 0.00000, 90.00000);
  50534. CreateObject(19128, 1071.02795, -1704.77356, -20.15610, 90.00000, 0.00000, 0.00000);
  50535. CreateObject(19128, 1067.04810, -1704.77356, -20.15610, 90.00000, 0.00000, 0.00000);
  50536. CreateObject(1491, 1082.89319, -1704.72217, -21.61330, 0.00000, 0.00000, 0.00000);
  50537. CreateObject(19446, 1080.20715, -1695.39539, -19.87540, 0.00000, 0.00000, 90.00000);
  50538. CreateObject(19446, 1070.88721, -1695.39539, -19.87540, 0.00000, 0.00000, 90.00000);
  50539. CreateObject(19446, 1061.44714, -1695.39539, -19.87540, 0.00000, 0.00000, 90.06000);
  50540. CreateObject(11729, 1074.81885, -1700.75293, -21.45520, 0.00000, 0.00000, 90.00000);
  50541. CreateObject(11729, 1074.81885, -1700.07288, -21.45520, 0.00000, 0.00000, 90.00000);
  50542. CreateObject(11729, 1074.81885, -1699.41284, -21.45520, 0.00000, 0.00000, 90.00000);
  50543. CreateObject(11729, 1074.81885, -1698.79285, -21.45520, 0.00000, 0.00000, 90.00000);
  50544. CreateObject(19454, 1055.54089, -1704.68201, -19.85540, 0.00000, 0.00000, 90.00000);
  50545. CreateObject(19454, 1064.92090, -1704.68201, -19.85540, 0.00000, 0.00000, 90.00000);
  50546. CreateObject(19454, 1074.50085, -1704.68201, -19.85540, 0.00000, 0.06000, 90.00000);
  50547. CreateObject(19391, 1083.67957, -1704.68005, -19.86430, 0.00000, 0.00000, 90.00000);
  50548. CreateObject(19454, 1056.65149, -1699.75415, -19.88450, 0.00000, 0.00000, 0.00000);
  50549. CreateObject(19454, 1084.95642, -1699.97974, -19.88450, 0.00000, 0.00000, 0.12000);
  50550. CreateObject(19454, 1061.47705, -1695.41711, -19.87540, 0.00000, 0.00000, 90.00000);
  50551. CreateObject(19454, 1070.88721, -1695.41711, -19.87540, 0.00000, 0.00000, 90.00000);
  50552. CreateObject(19454, 1080.20715, -1695.41711, -19.87540, 0.00000, 0.00000, 90.00000);
  50553. CreateObject(19454, 1074.61218, -1696.94922, -20.94450, 0.00000, 0.00000, 0.00000);
  50554. CreateObject(11729, 1074.81885, -1698.15283, -21.45520, 0.00000, 0.00000, 90.00000);
  50555. CreateObject(11729, 1074.81885, -1697.53284, -21.45520, 0.00000, 0.00000, 90.00000);
  50556. CreateObject(11729, 1074.81885, -1696.89282, -21.45520, 0.00000, 0.00000, 90.00000);
  50557. CreateObject(11729, 1074.32141, -1700.73474, -21.46550, 0.00000, 0.00000, -90.00000);
  50558. CreateObject(11729, 1074.32141, -1700.09473, -21.46550, 0.00000, 0.00000, -90.00000);
  50559. CreateObject(11729, 1074.32141, -1699.47473, -21.46550, 0.00000, 0.00000, -90.00000);
  50560. CreateObject(11729, 1074.32141, -1698.81470, -21.46550, 0.00000, 0.00000, -90.00000);
  50561. CreateObject(11729, 1074.32141, -1698.19470, -21.46550, 0.00000, 0.00000, -90.00000);
  50562. CreateObject(11730, 1074.28101, -1697.55554, -21.46550, 0.00000, 0.00000, -90.00000);
  50563. CreateObject(11730, 1074.28101, -1696.91565, -21.46550, 0.00000, 0.00000, -90.00000);
  50564. CreateObject(11729, 1084.62952, -1697.24854, -21.50910, 0.00000, 0.00000, -90.00000);
  50565. CreateObject(11729, 1084.62952, -1697.86853, -21.50910, 0.00000, 0.00000, -90.00000);
  50566. CreateObject(11729, 1084.62952, -1698.52844, -21.50910, 0.00000, 0.00000, -90.00000);
  50567. CreateObject(11729, 1084.62952, -1699.18848, -21.50910, 0.00000, 0.00000, -90.00000);
  50568. CreateObject(11729, 1084.62939, -1699.84851, -21.50910, 0.00000, 0.00000, -90.00000);
  50569. CreateObject(11730, 1084.63428, -1700.48889, -21.50440, 0.00000, 0.00000, -90.00000);
  50570. CreateObject(2063, 1072.03528, -1704.33167, -20.71500, 0.00000, 0.00000, 0.00000);
  50571. CreateObject(19454, 1064.82544, -1699.81018, -19.88450, 0.00000, 0.00000, 0.00000);
  50572. CreateObject(2063, 1068.53528, -1704.33167, -20.71500, 0.00000, 0.00000, 0.00000);
  50573. CreateObject(358, 1069.04968, -1704.25244, -19.89070, -84.00000, 55.00000, 237.00000);
  50574. CreateObject(358, 1068.00964, -1704.17236, -19.87070, -84.00000, 55.00000, 237.00000);
  50575. CreateObject(358, 1068.00964, -1704.31226, -20.32270, -84.00000, 55.00000, 235.00000);
  50576. CreateObject(358, 1069.04968, -1704.31238, -20.32270, -84.00000, 55.00000, 235.00000);
  50577. CreateObject(358, 1069.04968, -1704.37256, -20.75670, -84.00000, 55.00000, 235.00000);
  50578. CreateObject(358, 1068.05164, -1704.31030, -20.75670, -84.00000, 55.00000, 235.00000);
  50579. CreateObject(358, 1068.00964, -1704.25220, -21.23670, -83.99000, 55.00000, 235.00000);
  50580. CreateObject(358, 1069.06970, -1704.33252, -21.24070, -84.00000, 55.00000, 235.00000);
  50581. CreateObject(355, 1071.74072, -1704.35596, -19.88010, -84.00000, 55.00000, 237.00000);
  50582. CreateObject(355, 1072.92310, -1704.27527, -19.87610, -84.00000, 55.00000, 237.00000);
  50583. CreateObject(355, 1071.74072, -1704.35596, -20.30410, -84.00000, 55.00000, 237.00000);
  50584. CreateObject(355, 1072.92310, -1704.27527, -20.31810, -84.00000, 55.00000, 237.00000);
  50585. CreateObject(355, 1072.92310, -1704.27527, -20.74410, -84.00000, 55.00000, 237.00000);
  50586. CreateObject(355, 1072.92310, -1704.27527, -21.23210, -84.00000, 55.00000, 237.00000);
  50587. CreateObject(355, 1071.74072, -1704.35596, -21.23210, -84.00000, 55.00000, 237.00000);
  50588. CreateObject(355, 1071.74072, -1704.35596, -20.74410, -84.00000, 55.00000, 237.00000);
  50589. CreateObject(1271, 1065.42297, -1703.45374, -21.07770, 0.00000, 0.00000, -1.74000);
  50590. CreateObject(937, 1065.47754, -1700.44312, -21.01400, 0.00000, 0.00000, 90.00000);
  50591. CreateObject(11738, 1065.96924, -1700.16504, -20.50650, 0.00000, 0.00000, 90.00000);
  50592. CreateObject(11738, 1065.96924, -1700.66296, -20.50650, 0.00000, 0.00000, 90.00000);
  50593. CreateObject(11738, 1065.96924, -1701.18701, -20.50650, 0.00000, 0.00000, 90.00000);
  50594. CreateObject(11738, 1065.72119, -1700.16504, -20.50650, 0.00000, 0.00000, 90.00000);
  50595. CreateObject(11738, 1065.45325, -1700.16504, -20.50650, 0.00000, 0.00000, 90.00000);
  50596. CreateObject(11738, 1065.22925, -1700.16504, -20.50650, 0.00000, 0.00000, 90.00000);
  50597. CreateObject(11738, 1065.01123, -1700.16504, -20.50650, 0.00000, 0.00000, 90.00000);
  50598. CreateObject(11738, 1065.72119, -1700.66296, -20.50650, 0.00000, 0.00000, 90.00000);
  50599. CreateObject(11738, 1065.45325, -1700.66296, -20.50650, 0.00000, 0.00000, 90.00000);
  50600. CreateObject(11738, 1065.22925, -1700.66296, -20.50650, 0.00000, 0.00000, 90.00000);
  50601. CreateObject(11738, 1065.01123, -1700.66296, -20.50650, 0.00000, 0.00000, 90.00000);
  50602. CreateObject(11738, 1065.72119, -1701.18701, -20.50650, 0.00000, 0.00000, 90.00000);
  50603. CreateObject(11738, 1065.45325, -1701.18701, -20.50650, 0.00000, 0.00000, 90.00000);
  50604. CreateObject(11738, 1065.22925, -1701.18701, -20.50650, 0.00000, 0.00000, 90.00000);
  50605. CreateObject(11738, 1065.01123, -1701.18701, -20.50650, 0.00000, 0.00000, 90.00000);
  50606. CreateObject(2912, 1065.54517, -1697.81995, -21.46710, 0.00000, 0.00000, 0.00000);
  50607. CreateObject(2912, 1065.54517, -1696.65588, -21.46710, 0.00000, 0.00000, 0.00000);
  50608. CreateObject(2912, 1065.54517, -1696.65588, -20.76710, 0.00000, 0.00000, 47.00000);
  50609. CreateObject(2063, 1068.24426, -1695.77332, -20.60760, 0.00000, 0.00000, -180.00000);
  50610. CreateObject(1242, 1068.70569, -1695.83960, -19.64420, 0.00000, 0.00000, 0.00000);
  50611. CreateObject(1242, 1068.11572, -1695.83960, -19.64420, 0.00000, 0.00000, 0.00000);
  50612. CreateObject(1242, 1067.55969, -1695.83960, -19.64420, 0.00000, 0.00000, 0.00000);
  50613. CreateObject(1242, 1067.55969, -1695.84155, -20.11220, 0.00000, 0.00000, 0.00000);
  50614. CreateObject(1242, 1068.11572, -1695.83960, -20.10020, 0.00000, 0.00000, 0.00000);
  50615. CreateObject(1242, 1068.70569, -1695.83960, -20.08420, 0.00000, 0.00000, 0.00000);
  50616. CreateObject(1242, 1068.70569, -1695.83960, -20.53820, 0.00000, 0.00000, 0.00000);
  50617. CreateObject(1242, 1068.11572, -1695.83960, -20.52020, 0.00000, 0.00000, 0.00000);
  50618. CreateObject(1242, 1067.55969, -1695.84155, -20.53820, 0.00000, 0.00000, 0.00000);
  50619. CreateObject(1242, 1067.55969, -1695.84155, -21.01420, 0.00000, 0.00000, 0.00000);
  50620. CreateObject(1242, 1068.11572, -1695.83960, -21.00820, 0.00000, 0.00000, 0.00000);
  50621. CreateObject(1242, 1068.70569, -1695.83960, -21.01420, 0.00000, 0.00000, 0.00000);
  50622. CreateObject(643, 1068.29382, -1727.66687, -24.13690, 0.00000, 0.00000, 0.00000);
  50623. CreateObject(16151, 1068.79395, -1731.97705, -24.57120, 0.00000, 0.00000, -90.00000);
  50624. CreateObject(19354, 1076.25732, -1734.73584, -23.33970, 0.00000, 0.00000, 0.00000);
  50625. CreateObject(19354, 1076.25732, -1737.88574, -23.33970, 0.00000, 0.00000, 0.00000);
  50626. CreateObject(14608, 1069.01123, -1737.62219, -23.86220, 0.00000, 0.00000, 135.00000);
  50627. CreateObject(19354, 1061.75732, -1737.88574, -23.33970, 0.00000, 0.00000, 0.00000);
  50628. CreateObject(19354, 1061.75732, -1734.73584, -23.33970, 0.00000, 0.00000, 0.00000);
  50629. CreateObject(19354, 1071.75696, -1733.06458, -23.38620, 0.00000, 0.00000, 90.00000);
  50630. CreateObject(3858, 1068.93323, -1739.40295, -24.53890, 0.00000, 0.00000, 45.00000);
  50631. CreateObject(19354, 1074.75696, -1733.06458, -23.38620, 0.00000, 0.00000, 90.00000);
  50632. CreateObject(19354, 1062.92505, -1734.38550, -23.33530, 0.00000, 0.00000, 43.00000);
  50633. CreateObject(19354, 1065.52502, -1735.48535, -23.23530, 0.00000, 0.00000, 90.00000);
  50634. CreateObject(19354, 1068.47498, -1735.48535, -23.23530, 0.00000, 0.12000, 90.00000);
  50635. CreateObject(19354, 1072.42505, -1735.48535, -23.23530, 0.00000, 0.00000, 90.00000);
  50636. CreateObject(19354, 1075.07764, -1734.27405, -23.28490, 0.00000, 0.00000, -43.00000);
  50637. CreateObject(19354, 1070.37500, -1735.48535, -23.23530, 0.00000, 0.12000, 90.00000);
  50638. CreateObject(3858, 1068.93323, -1733.05298, -24.53890, 0.00000, 0.00000, 45.00000);
  50639. CreateObject(19354, 1063.20703, -1733.06458, -23.38620, 0.00000, 0.00000, 90.00000);
  50640. CreateObject(19354, 1066.20703, -1733.06458, -23.38620, 0.00000, 0.00000, 90.00000);
  50641. CreateObject(19354, 1074.71704, -1739.40601, -23.21230, 0.00000, 0.00000, 90.00000);
  50642. CreateObject(19354, 1063.31702, -1739.40601, -23.21230, 0.00000, 0.00000, 90.00000);
  50643. CreateObject(19376, 1080.06421, -1733.12085, -21.53730, 0.00000, 90.00000, 0.00000);
  50644. CreateObject(19376, 1079.98926, -1742.67090, -21.53730, 0.00000, 90.00000, 0.00000);
  50645. CreateObject(19376, 1069.56421, -1742.67090, -21.53730, 0.00000, 90.00000, 0.00000);
  50646. CreateObject(19376, 1059.33936, -1742.67090, -21.53730, 0.00000, 90.00000, 0.00000);
  50647. CreateObject(19376, 1069.56421, -1733.12085, -21.53730, 0.00000, 90.00000, 0.00000);
  50648. CreateObject(19376, 1059.51416, -1733.12085, -21.53730, 0.00000, 90.00000, 0.00000);
  50649. CreateObject(19446, 1057.62061, -1744.24463, -19.88450, 0.00000, 0.00000, -90.00000);
  50650. CreateObject(19446, 1076.62061, -1744.24463, -19.88450, 0.00000, 0.00000, -90.00000);
  50651. CreateObject(19446, 1067.08057, -1744.24463, -19.88450, 0.00000, 0.00000, -90.00000);
  50652. CreateObject(19376, 1082.63745, -1714.28040, -21.54070, 0.00000, 90.06000, 90.36000);
  50653. CreateObject(19376, 1082.71252, -1724.33044, -21.54070, 0.12000, 90.17999, 90.36000);
  50654. CreateObject(19700, 1087.47742, -1701.51099, -25.05750, 0.00000, 0.00000, 0.00000);
  50655. CreateObject(19700, 1087.47742, -1713.96106, -25.05750, 0.00000, 0.00000, 0.00000);
  50656. CreateObject(19700, 1087.47742, -1726.41101, -25.05750, 0.00000, 0.00000, 0.00000);
  50657. CreateObject(19700, 1087.55237, -1738.71106, -25.05750, 0.00000, 0.00000, 0.00000);
  50658. CreateObject(19446, 1086.22058, -1744.24463, -23.23890, 0.00000, 0.00000, -90.00000);
  50659. CreateObject(19354, 1084.95642, -1742.70996, -19.88450, 0.00000, 0.00000, 0.00000);
  50660. CreateObject(19376, 1085.86255, -1704.00537, -21.54070, 0.00000, 90.00000, 90.36000);
  50661. CreateObject(19360, 1083.54565, -1697.07544, -21.55370, 0.00000, 90.00000, 90.00000);
  50662. CreateObject(19354, 1080.61011, -1704.71106, -19.87380, 0.00000, 0.00000, 90.00000);
  50663. CreateObject(19362, 1080.76624, -1704.68652, -19.83820, 0.00000, 0.00000, 90.00000);
  50664. CreateObject(19354, 1084.95642, -1739.52991, -19.88450, 0.00000, 0.00000, 0.06000);
  50665. CreateObject(19446, 1086.07056, -1744.24463, -19.88450, 0.00000, 0.00000, -90.00000);
  50666. CreateObject(19384, 1058.05579, -1728.46619, -19.87680, 0.00000, 0.00000, 90.00000);
  50667. CreateObject(1491, 1057.27637, -1728.51074, -21.52560, 0.00000, 0.00000, 0.00000);
  50668. CreateObject(3858, 1066.60120, -1728.41040, -18.45250, 0.00000, 0.00000, 45.00000);
  50669. CreateObject(19400, 1061.18896, -1728.48633, -19.88480, 0.00000, 0.00000, 90.00000);
  50670. CreateObject(19400, 1064.33899, -1728.48633, -19.88480, 0.00000, 0.00000, 90.00000);
  50671. CreateObject(19400, 1067.48901, -1728.48633, -19.88480, 0.00000, 0.00000, 90.00000);
  50672. CreateObject(19400, 1070.63904, -1728.48633, -19.88480, 0.00000, 0.00000, 90.00000);
  50673. CreateObject(19400, 1073.78894, -1728.48633, -19.88480, 0.00000, 0.00000, 90.00000);
  50674. CreateObject(3858, 1081.18115, -1728.41040, -18.45250, 0.00000, 0.00000, 45.00000);
  50675. CreateObject(19400, 1076.93884, -1728.48633, -19.88480, 0.00000, 0.00000, 90.00000);
  50676. CreateObject(19400, 1080.08887, -1728.48633, -19.88480, 0.00000, 0.00000, 90.00000);
  50677. CreateObject(19400, 1083.23889, -1728.48633, -19.88480, 0.00000, 0.00000, 90.00000);
  50678. CreateObject(2773, 1059.71008, -1714.07300, -20.93150, 0.00000, 0.00000, 0.00000);
  50679. CreateObject(2773, 1059.71008, -1716.50305, -20.93150, 0.00000, 0.00000, 0.00000);
  50680. CreateObject(2773, 1059.71008, -1718.93298, -20.93150, 0.00000, 0.00000, 0.00000);
  50681. CreateObject(2773, 1059.71008, -1721.36304, -20.93150, 0.00000, 0.00000, 0.00000);
  50682. CreateObject(2773, 1059.71008, -1723.79297, -20.93150, 0.00000, 0.00000, 0.00000);
  50683. CreateObject(2773, 1059.71008, -1726.40295, -20.93150, 0.00000, 0.00000, 0.00000);
  50684. CreateObject(3811, 1056.95044, -1730.49133, -21.00150, 0.00000, 0.00000, 0.00000);
  50685. CreateObject(3811, 1056.95044, -1733.19128, -21.00150, 0.06000, -0.06000, 0.00000);
  50686. CreateObject(11706, 1059.33057, -1728.83960, -21.45020, 0.00000, 0.00000, 0.00000);
  50687. CreateObject(19446, 1072.44629, -1733.22266, -19.92320, 0.00000, 0.00000, 0.00000);
  50688. CreateObject(19446, 1072.44629, -1745.19263, -19.86320, 0.00000, 0.00000, 0.00000);
  50689. CreateObject(19384, 1072.42737, -1738.95923, -19.83380, 0.00000, 0.00000, 0.00000);
  50690. CreateObject(1491, 1072.46057, -1738.19128, -21.53930, 0.00000, 0.00000, -90.00000);
  50691. CreateObject(3811, 1073.06042, -1730.49133, -21.00150, 0.00000, 0.00000, 0.00000);
  50692. CreateObject(3811, 1072.88037, -1733.19128, -21.00150, 0.06000, -0.06000, 0.00000);
  50693. CreateObject(11706, 1075.08057, -1728.92957, -21.45020, 0.00000, 0.00000, 0.00000);
  50694. CreateObject(11665, 1083.28479, -1735.06213, -20.64450, 0.00000, 0.00000, 0.00000);
  50695. CreateObject(1723, 1082.21106, -1729.07385, -21.45370, 0.00000, 0.00000, 0.00000);
  50696. CreateObject(1723, 1077.35095, -1729.07385, -21.45370, 0.00000, 0.00000, 0.00000);
  50697. CreateObject(1723, 1067.18103, -1729.07385, -21.45370, 0.00000, 0.00000, 0.00000);
  50698. CreateObject(1723, 1062.68103, -1729.07385, -21.45370, 0.00000, 0.00000, 0.00000);
  50699. CreateObject(1968, 1066.83350, -1737.94788, -20.82340, 0.00000, 0.00000, 0.00000);
  50700. CreateObject(1723, 1082.98315, -1727.92578, -21.45320, 0.00000, 0.00000, 180.00000);
  50701. CreateObject(2635, 1082.19202, -1725.95679, -21.00260, 0.00000, 0.00000, 0.00000);
  50702. CreateObject(1723, 1081.00317, -1724.05579, -21.45320, 0.00000, 0.00000, 0.00000);
  50703. CreateObject(1723, 1084.32397, -1725.03418, -21.43820, 0.00000, 0.00000, -90.00000);
  50704. CreateObject(1723, 1084.32397, -1718.10425, -21.43820, 0.00000, 0.00000, -90.00000);
  50705. CreateObject(1723, 1081.00317, -1717.03577, -21.45320, 0.00000, 0.00000, 0.00000);
  50706. CreateObject(2635, 1082.19202, -1719.20679, -21.00260, 0.00000, 0.00000, 0.00000);
  50707. CreateObject(1723, 1082.98315, -1721.89575, -21.45320, 0.00000, 0.00000, 180.00000);
  50708. CreateObject(2773, 1078.16016, -1727.12305, -20.93150, 0.00000, 0.00000, 0.00000);
  50709. CreateObject(2773, 1078.16016, -1724.42297, -20.93150, 0.00000, 0.00000, 0.00000);
  50710. CreateObject(2773, 1078.16016, -1721.72302, -20.93150, 0.00000, 0.00000, 0.00000);
  50711. CreateObject(2773, 1078.16016, -1719.02295, -20.93150, 0.00000, 0.00000, 0.00000);
  50712. CreateObject(2773, 1078.16016, -1715.78296, -20.93150, 0.00000, 0.00000, 0.00000);
  50713. CreateObject(1557, 1067.43811, -1744.21606, -24.91360, 0.00000, 0.00000, 0.00000);
  50714. CreateObject(1557, 1070.46423, -1744.22607, -24.91160, 0.06000, 0.06000, 180.00000);
  50715. CreateObject(3811, 1072.30005, -1743.85339, -24.51170, 0.00000, 0.00000, 90.00000);
  50716. CreateObject(3811, 1075.35999, -1743.85339, -24.51170, 0.00000, 0.00000, 90.00000);
  50717. CreateObject(3811, 1079.38000, -1743.85339, -24.51170, 0.00000, 0.00000, 90.00000);
  50718. CreateObject(3811, 1082.80005, -1743.85339, -24.51170, 0.00000, 0.00000, 90.00000);
  50719. CreateObject(3811, 1065.64001, -1743.85339, -24.51170, 0.00000, 0.00000, 90.00000);
  50720. CreateObject(3811, 1062.33997, -1743.85339, -24.51170, 0.00000, 0.00000, 90.00000);
  50721. CreateObject(3811, 1059.04004, -1743.85339, -24.51170, 0.00000, 0.00000, 90.00000);
  50722. CreateObject(2229, 1056.44824, -1743.78113, -24.92520, 0.00000, 0.00000, 139.00000);
  50723. CreateObject(2229, 1084.62427, -1744.29895, -24.93450, 0.00000, 0.00000, -129.00000);
  50724. CreateObject(19354, 1082.72095, -1714.06018, -23.27600, 0.00000, 0.00000, 90.00000);
  50725. CreateObject(19354, 1085.84094, -1714.06018, -23.27600, 0.00000, 0.00000, 90.00000);
  50726. CreateObject(3785, 1056.76550, -1725.22388, -22.84280, 0.00000, 0.00000, 0.00000);
  50727. CreateObject(3785, 1056.76550, -1728.40393, -22.84280, 0.00000, 0.00000, 0.00000);
  50728. CreateObject(3785, 1056.76550, -1731.82385, -22.84280, 0.00000, 0.00000, 0.00000);
  50729. CreateObject(3785, 1056.76550, -1735.18396, -22.84280, 0.00000, 0.00000, 0.00000);
  50730. CreateObject(3785, 1056.76550, -1738.06384, -22.84280, 0.00000, 0.00000, 0.00000);
  50731. CreateObject(3785, 1056.76550, -1741.48389, -22.84280, 0.00000, 0.00000, 0.00000);
  50732. CreateObject(3785, 1058.17017, -1744.02100, -22.51090, 0.00000, 0.00000, 90.00000);
  50733. CreateObject(3785, 1059.91016, -1744.02100, -22.51090, 0.00000, 0.00000, 90.00000);
  50734. CreateObject(3785, 1061.95020, -1744.02100, -22.51090, 0.00000, 0.00000, 90.00000);
  50735. CreateObject(3785, 1063.87024, -1744.02100, -22.51090, 0.00000, 0.00000, 90.00000);
  50736. CreateObject(3785, 1066.33020, -1744.02100, -22.51090, 0.00000, 0.00000, 90.00000);
  50737. CreateObject(3785, 1070.89026, -1744.02100, -22.51090, 0.00000, 0.00000, 90.00000);
  50738. CreateObject(3785, 1073.65015, -1744.02100, -22.51090, 0.00000, 0.00000, 90.00000);
  50739. CreateObject(3785, 1076.77014, -1744.02100, -22.51090, 0.00000, 0.00000, 90.00000);
  50740. CreateObject(3785, 1080.07019, -1744.02100, -22.51090, 0.00000, 0.00000, 90.00000);
  50741. CreateObject(3785, 1083.07019, -1744.02100, -22.51090, 0.00000, 0.00000, 90.00000);
  50742. CreateObject(3785, 1084.74658, -1740.39465, -22.57570, 0.00000, 0.00000, 180.00000);
  50743. CreateObject(3785, 1084.74658, -1738.05469, -22.57570, 0.00000, 0.00000, 180.00000);
  50744. CreateObject(3785, 1084.74658, -1734.63464, -22.57570, 0.00000, 0.00000, 180.00000);
  50745. CreateObject(3785, 1084.74658, -1731.15466, -22.57570, 0.00000, 0.00000, 180.00000);
  50746. CreateObject(3785, 1084.74658, -1728.45471, -22.57570, 0.00000, 0.00000, 180.00000);
  50747. CreateObject(3785, 1084.74658, -1724.91467, -22.57570, 0.00000, 0.00000, 180.00000);
  50748. CreateObject(3785, 1084.74658, -1722.15466, -22.57570, 0.00000, 0.00000, 180.00000);
  50749. CreateObject(3785, 1084.74658, -1719.15466, -22.57570, 0.00000, 0.00000, 180.00000);
  50750. CreateObject(3785, 1084.74658, -1715.97473, -22.57570, 0.00000, 0.00000, 180.00000);
  50751. CreateObject(3785, 1084.74658, -1713.51465, -22.57570, 0.00000, 0.00000, 180.00000);
  50752. CreateObject(3785, 1056.76550, -1721.80396, -22.84280, 0.00000, 0.00000, 0.00000);
  50753. CreateObject(3785, 1056.76550, -1718.62390, -22.84280, 0.00000, 0.00000, 0.00000);
  50754. CreateObject(3785, 1056.76550, -1715.38391, -22.84280, 0.00000, 0.00000, 0.00000);
  50755. CreateObject(3785, 1056.76550, -1713.22388, -22.84280, 0.00000, 0.00000, 0.00000);
  50756. CreateObject(3461, 1078.15247, -1723.10425, -20.05380, 0.00000, 0.00000, 0.00000);
  50757. CreateObject(3461, 1078.15247, -1720.34436, -19.95380, 0.00000, 0.00000, 0.00000);
  50758. CreateObject(3461, 1078.15247, -1717.52429, -20.05380, 0.00000, 0.00000, 0.00000);
  50759. CreateObject(3461, 1078.15247, -1714.10425, -20.05380, 0.00000, 0.00000, 0.00000);
  50760. CreateObject(3461, 1078.15247, -1725.80432, -20.05380, 0.00000, 0.00000, 0.00000);
  50761. CreateObject(3461, 1072.59399, -1712.92139, -23.43600, 0.00000, 0.00000, 0.00000);
  50762. CreateObject(3461, 1065.51404, -1712.92139, -23.43600, 0.00000, 0.00000, 0.00000);
  50763. CreateObject(19377, 1079.74854, -1739.43140, -18.16590, 0.00000, 90.00000, 0.00000);
  50764. CreateObject(19377, 1069.24854, -1739.43140, -18.16590, 0.00000, 90.00000, 0.00000);
  50765. CreateObject(19377, 1058.86853, -1739.43140, -18.16590, 0.00000, 90.00000, 0.00000);
  50766. CreateObject(19377, 1079.74854, -1729.93140, -18.16590, 0.00000, 90.00000, 0.00000);
  50767. CreateObject(19377, 1069.44849, -1729.83142, -18.16590, 0.00000, 90.00000, 0.00000);
  50768. CreateObject(19377, 1059.24854, -1729.83142, -18.16590, 0.00000, 90.00000, 0.00000);
  50769. CreateObject(19377, 1079.74854, -1720.33142, -18.16590, 0.00000, 90.00000, 0.00000);
  50770. CreateObject(19377, 1079.74854, -1711.03137, -18.16590, 0.00000, 90.00000, 0.00000);
  50771. CreateObject(19377, 1079.74854, -1701.73145, -18.16590, 0.00000, 90.00000, 0.00000);
  50772. CreateObject(19377, 1079.74854, -1692.33142, -18.16590, 0.00000, 90.00000, 0.00000);
  50773. CreateObject(19377, 1069.24854, -1692.33142, -18.16590, 0.00000, 90.00000, 0.00000);
  50774. CreateObject(19377, 1059.14856, -1692.33142, -18.16590, 0.00000, 90.00000, 0.00000);
  50775. CreateObject(19377, 1059.14856, -1701.43140, -18.16590, 0.00000, 90.00000, 0.00000);
  50776. CreateObject(19377, 1059.14856, -1710.63135, -18.16590, 0.00000, 90.00000, 0.00000);
  50777. CreateObject(19377, 1059.14856, -1720.23145, -18.16590, 0.00000, 90.00000, 0.00000);
  50778. CreateObject(19377, 1069.54858, -1720.23145, -18.16590, 0.00000, 90.00000, 0.00000);
  50779. CreateObject(19377, 1069.54858, -1710.63135, -18.16590, 0.00000, 90.00000, 0.00000);
  50780. CreateObject(19377, 1069.54858, -1701.53125, -18.16590, 0.00000, 90.00000, 0.00000);
  50781. CreateObject(19324, 1084.46680, -1713.83716, -20.87920, 0.00000, 0.00000, -90.00000);
  50782. #if defined TREASURE_HUNT_ENABLED
  50783. SetRandomHuntPos();
  50784. #endif
  50785. new str[40];
  50786. for(new idx = 1; idx < sizeof(BusinessInfo); idx++)//Creates a loop, that goes through all of the businesses.
  50787. {
  50788. format(str, sizeof(str), BPATH, idx);//formats the file path, with the biz ID
  50789. INI_ParseFile(str, "loadbiz_%s", .bExtra = true, .extra = idx );//This is very hard to explain, but it basically loads the info from the file(More in Y_Less y_ini tutorial.)
  50790. BusinessInfo[idx][bOutsideIcon] = CreateDynamicPickup(1272, 1, BusinessInfo[idx][bEntranceX], BusinessInfo[idx][bEntranceY], BusinessInfo[idx][bEntranceZ], BusinessInfo[idx][bWorld]); //Creates a pickup at the business entrance.
  50791. new strs[142];
  50792. if(BusinessInfo[idx][bOwned] == 0)
  50793. {
  50794. format(strs, 142, "This business is for sale!\nType: %s\nPrice\nID: %d", BusinessType(idx), BusinessInfo[idx][bPrice], idx);
  50795. BusinessInfo[idx][bText] = CreateDynamic3DTextLabel(strs, COLOR_REALRED, BusinessInfo[idx][bEntranceX], BusinessInfo[idx][bEntranceY], BusinessInfo[idx][bEntranceZ]+0.5,20.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 10.0);
  50796. }
  50797. else if(BusinessInfo[idx][bOwned] == 1)
  50798. {
  50799. format(strs, 142, "%s\nOwner: %s (%d)", BusinessInfo[idx][bName], BusinessInfo[idx][bOwner], idx);
  50800. BusinessInfo[idx][bText] = CreateDynamic3DTextLabel(strs, COLOR_REALRED, BusinessInfo[idx][bEntranceX], BusinessInfo[idx][bEntranceY], BusinessInfo[idx][bEntranceZ]+0.5,20.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 10.0);
  50801. }
  50802. }
  50803. for(new id = 1; id < sizeof(LandsInfo); id++)//Creates a loop, that goes through all of the businesses.
  50804. {
  50805. format(str, sizeof(str), LPATH, id);//formats the file path, with the biz ID
  50806. INI_ParseFile(str, "loadland_%s", .bExtra = true, .extra = id);//This is very hard to explain, but it basically loads the info from the file(More in Y_Less y_ini tutorial.)
  50807. LandsInfo[id][lIcon] = CreateDynamicPickup(19523, 1, LandsInfo[id][pos_X], LandsInfo[id][pos_Y], LandsInfo[id][pos_Z], 0);//Creates a pickup at your location
  50808. new strss[142];
  50809. if(LandsInfo[id][lOwned] == 0)
  50810. {
  50811. format(strss, sizeof(strss), "This land is for sale! (%d)\nPrice: $%s\nType: %s", id, Comma(LandsInfo[id][lPrice]), LandType(id));
  50812. LandsInfo[id][lText] = CreateDynamic3DTextLabel(strss, COLOR_REALRED, LandsInfo[id][pos_X], LandsInfo[id][pos_Y], LandsInfo[id][pos_Z]+0.5,20.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 10.0);
  50813. }
  50814. else if(LandsInfo[id][lOwned] == 1)
  50815. {
  50816. format(strss, 142, "%s's land (%d)", LandsInfo[id][lOwner], id);
  50817. LandsInfo[id][lText] = CreateDynamic3DTextLabel(strss, COLOR_REALRED, LandsInfo[id][pos_X], LandsInfo[id][pos_Y], LandsInfo[id][pos_Z]+0.5,20.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 10.0);
  50818. }
  50819. }
  50820. SetTimer("RandomMessages", 60000, true); //here, you're defining a timer with the name "RandomMessages", which should appear every minute
  50821. Textdraw0s = TextDrawCreate(58.399978, 423.360137, "TURF OWNER:");
  50822. TextDrawLetterSize(Textdraw0s, 0.190797, 1.502933);
  50823. TextDrawAlignment(Textdraw0s, 1);
  50824. TextDrawColor(Textdraw0s, -1);
  50825. TextDrawSetShadow(Textdraw0s, 0);
  50826. TextDrawSetOutline(Textdraw0s, 1);
  50827. TextDrawBackgroundColor(Textdraw0s, COLOR_BLACK);
  50828. TextDrawFont(Textdraw0s, 1);
  50829. TextDrawSetProportional(Textdraw0s, 1);
  50830. TurfsInfo[0][TurfID] = GangZoneCreate(991.6937, -2810.916, 2151.559, -2084.531);
  50831. TurfsInfo[1][TurfID] = GangZoneCreate(839.5802, -2084.531, 1691.416, -1800.294);
  50832. TurfsInfo[2][TurfID] = GangZoneCreate(181.6896, -2124.009, 847.1859, -1662.123);
  50833. TurfsInfo[3][TurfID] = GangZoneCreate(147.4641, -1654.228, 554.3676, -1069.962);
  50834. TurfsInfo[4][TurfID] = GangZoneCreate(2604.096, -2262.18, 2934.943, -1658.175);
  50835. TurfsInfo[5][TurfID] = GangZoneCreate(1649.584, -1267.349, 2079.305, -1144.969);
  50836. TurfsInfo[6][TurfID] = GangZoneCreate(1094.37, -1413.416, 1349.16, -1141.021);
  50837. TurfsInfo[7][TurfID] = GangZoneCreate(831.9745, -1125.23, 1094.37, -762.0381);
  50838. TurfsInfo[8][TurfID] = GangZoneCreate(1444.231, -1733.182, 1539.302, -1614.75);
  50839. TurfsInfo[9][TurfID] = GangZoneCreate(1060.145, -1579.221, 1212.258, -1397.625);
  50840. format(TurfsInfo[0][TurfsName], 128, "Willowfield");
  50841. format(TurfsInfo[0][TurfsOwner], 128, "Neutral");
  50842. format(TurfsInfo[0][TurfsCapper], 128, "Law Enforcement");
  50843. TurfsInfo[0][TurfsHours] = 72;
  50844. TurfsInfo[0][TurfsGang] = 255;
  50845. format(TurfsInfo[1][TurfsName], 128, "Verona Beach 1");
  50846. format(TurfsInfo[1][TurfsOwner], 128, "Neutral");
  50847. format(TurfsInfo[1][TurfsCapper], 128, "Law Enforcement");
  50848. TurfsInfo[1][TurfsHours] = 72;
  50849. TurfsInfo[1][TurfsGang] = 255;
  50850. format(TurfsInfo[2][TurfsName], 128, "Verona Beach 2");
  50851. format(TurfsInfo[2][TurfsOwner], 128, "Neutral");
  50852. format(TurfsInfo[2][TurfsCapper], 128, "Law Enforcement");
  50853. TurfsInfo[2][TurfsHours] = 72;
  50854. TurfsInfo[2][TurfsGang] = 255;
  50855. format(TurfsInfo[3][TurfsName], 128, "Rodeo");
  50856. format(TurfsInfo[3][TurfsOwner], 128, "Neutral");
  50857. format(TurfsInfo[3][TurfsCapper], 128, "Law Enforcement");
  50858. TurfsInfo[3][TurfsHours] = 72;
  50859. TurfsInfo[3][TurfsGang] = 255;
  50860. format(TurfsInfo[4][TurfsName], 128, "Ocean Docks");
  50861. format(TurfsInfo[4][TurfsOwner], 128, "Neutral");
  50862. format(TurfsInfo[4][TurfsCapper], 128, "Law Enforcement");
  50863. TurfsInfo[4][TurfsHours] = 72;
  50864. TurfsInfo[4][TurfsGang] = 255;
  50865. format(TurfsInfo[5][TurfsName], 128, "Downtown Los Santos");
  50866. format(TurfsInfo[5][TurfsOwner], 128, "Neutral");
  50867. format(TurfsInfo[5][TurfsCapper], 128, "Law Enforcement");
  50868. TurfsInfo[5][TurfsHours] = 72;
  50869. TurfsInfo[5][TurfsGang] = 255;
  50870. format(TurfsInfo[6][TurfsName], 128, "Market 2");
  50871. format(TurfsInfo[6][TurfsOwner], 128, "Neutral");
  50872. format(TurfsInfo[6][TurfsCapper], 128, "Law Enforcement");
  50873. TurfsInfo[6][TurfsHours] = 72;
  50874. TurfsInfo[6][TurfsGang] = 255;
  50875. format(TurfsInfo[7][TurfsName], 128, "Vinewood");
  50876. format(TurfsInfo[7][TurfsOwner], 128, "Neutral");
  50877. format(TurfsInfo[7][TurfsCapper], 128, "Law Enforcement");
  50878. TurfsInfo[7][TurfsHours] = 72;
  50879. TurfsInfo[7][TurfsGang] = 255;
  50880. format(TurfsInfo[8][TurfsName], 128, "Commerce");
  50881. format(TurfsInfo[8][TurfsOwner], 128, "Neutral");
  50882. format(TurfsInfo[8][TurfsCapper], 128, "Law Enforcement");
  50883. TurfsInfo[8][TurfsHours] = 72;
  50884. TurfsInfo[8][TurfsGang] = 255;
  50885. format(TurfsInfo[9][TurfsName], 128, "Market");
  50886. format(TurfsInfo[9][TurfsOwner], 128, "Neutral");
  50887. format(TurfsInfo[9][TurfsCapper], 128, "Law Enforcement");
  50888. TurfsInfo[9][TurfsHours] = 72;
  50889. TurfsInfo[9][TurfsGang] = 255;
  50890. AntiDeAMX();
  50891. Streamer_TickRate(125);
  50892. SetGameModeText("BRP " SERVER_VERSION);
  50893. format(pdleader, 128, "No-one");
  50894. format(fmdleader, 128, "No-one");
  50895. format(fbileader, 128, "No-one");
  50896. format(GMAleader, 128, "No-one");
  50897. format(governmentleader, 128, "No-one");
  50898. format(aresleader, 128, "No-one");
  50899. format(sasdleader, 128, "No-one");
  50900. SetWeather(10);
  50901. Create3DTextLabel("{FFFF00}Information Kiosk\nType {FFFFFF}/kiosk{FFFF00} for more info", -1, 1806.878173,-1908.002563,13.573719, 20.0, 0, 0);
  50902. Create3DTextLabel("{FFFF00}Want to donate to help our community stay alive, then ask an admin [/report]", -1, 1780.144409,-1929.310668,13.388019, 20.0, 0, 0);
  50903. //Create3DTextLabel("{AAC5E3}The Maximus Club", -1, 1311.563476, -1372.238281, 13.650312, 20.0, 0, 0);
  50904. Create3DTextLabel("{FFFF00}Sleepless Roleplay Managements", -1, 2126.164794,-1775.033569,13.558418, 20.0, 0, 0);
  50905. Create3DTextLabel("{FFFF00}Type /dlocker to purchase items", -1, 1073.607177,-1698.576782,-20.464061, 20.0, 0, 0);
  50906. //Create3DTextLabel("{FFFF00}The Maximus Club{FFFFFF}\nType {AAC5E3}/dtoys", -1, 2371.557373,-1472.172851,-18.824062, 20.0, 0, 0);
  50907. //Create3DTextLabel("{FFFF00}The Maximus Club{FFFFFF}\nType {AAC5E3}/maximusclothes", -1, 2371.556884,-1471.276489,-18.824062, 20.0, 0, 0);
  50908. Create3DTextLabel("{FFFF00}Enjoy Playing at Sleepless Roleplay <3", -1, 1309.229003,-1369.515380,19.000312, 20.0, 0, 0);
  50909. Create3DTextLabel("{FFFF00}Press {FFFFFF}Y {FFFF00}to Enter.", -1, 2803.852294,-1070.076416,30.456432, 20.0, 0, 0);
  50910. Create3DTextLabel("{FFFF00}/spawnatmc\nTo respawn here instead.", -1, 1075.941894,-1706.718261,-20.454763, 20.0, 0, 0);
  50911. CreatePickup(1239, 23, 1075.975830,-1706.627807,-20.454763, -1); //spawnatmc
  50912. Create3DTextLabel("{FFFF00}Type /bankhelp for the commands ", -1, 1667.425415,-972.651367,683.687316, 20.0, 0, 0);
  50913. //Create3DTextLabel("{FFFF00}/joingame ", -1, 1316.399291,-1373.334228,13.308210, 20.0, 0, 0);
  50914. EnableStuntBonusForAll(0);
  50915. ShowPlayerMarkers(PLAYER_MARKERS_MODE_GLOBAL);
  50916. DisableInteriorEnterExits();
  50917. SetNameTagDrawDistance(45.0);
  50918. AllowInteriorWeapons(1);
  50919. SetDamageSounds(true, true);
  50920. UsePlayerPedAnims();
  50921. //ShowNameTags(0);
  50922. //SetTimer("UpdateNametag", 500, true);// by nnahtann
  50923. // mSelection
  50924. skinlist = LoadModelSelectionMenu("skinlist.txt");
  50925. if(Jackpot < 0) Jackpot = 0;
  50926. //if(TaxValue < 0) TaxValue = 0;
  50927. // Dynamic systems
  50928. LoadPoints();
  50929. LoadFamilies();
  50930. LoadHouses();
  50931. LoadDynamicDoors();
  50932. LoadDynamicMapIcons();
  50933. LoadcDealerships();
  50934. LoadThePay();
  50935. Misc_Load();
  50936. GiftAllowed = 1;
  50937. //Fire System Progress
  50938. SetTimer("OnFireUpdate", 500, 1);
  50939. for(new i; i < MAX_PLAYERS; i++)
  50940. {
  50941. ExtTimer[i] = -1;
  50942. }
  50943. for(new f = 0; f < sizeof(FamilyInfo); f++)
  50944. {
  50945. for(new fv = 0; fv < MAX_GANG_VEHICLES; fv++)
  50946. {
  50947. FamilyVehicleInfo[f][fv][fvModelId] = 0;
  50948. FamilyVehicleInfo[f][fv][fvSpawnx] = 0.0;
  50949. FamilyVehicleInfo[f][fv][fvSpawny] = 0.0;
  50950. FamilyVehicleInfo[f][fv][fvSpawnz] = 0.0;
  50951. FamilyVehicleInfo[f][fv][fvSpawna] = 0.0;
  50952. FamilyVehicleInfo[f][fv][fvPaintJob] = -1;
  50953. FamilyVehicleInfo[f][fv][fvColor1] = 126;
  50954. FamilyVehicleInfo[f][fv][fvColor2] = 126;
  50955. FamilyVehicleInfo[f][fv][fvPrice] = 0;
  50956. FamilyVehicleInfo[f][fv][fvFuel] = 100.00;
  50957. FamilyVehicleInfo[f][fv][fvId] = INVALID_VEHICLE_ID;
  50958. }
  50959. }
  50960. LoadFamiliesHQ();
  50961. ClearReports();
  50962. for(new h = 0; h < sizeof(FamilyInfo); h++)
  50963. {
  50964. if(FamilyInfo[h][FamilyUSafe] > 0)
  50965. {
  50966. FamilyInfo[h][FamilyPickup] = CreatePickup(1239, 23, FamilyInfo[h][FamilySafe][0], FamilyInfo[h][FamilySafe][1], FamilyInfo[h][FamilySafe][2], -1);
  50967. }
  50968. if(FamilyInfo[h][FamilyEntrance][0] != 0.0 && FamilyInfo[h][FamilyEntrance][1] != 0.0)
  50969. {
  50970. FamilyInfo[h][FamilyEntrancePickup] = CreatePickup(1318, 23, FamilyInfo[h][FamilyEntrance][0], FamilyInfo[h][FamilyEntrance][1], FamilyInfo[h][FamilyEntrance][2], -1);
  50971. format(string, sizeof(string), "%s", FamilyInfo[h][FamilyName]);
  50972. FamilyInfo[h][FamilyEntranceText] = CreateDynamic3DTextLabel(string,COLOR_YELLOW,FamilyInfo[h][FamilyEntrance][0], FamilyInfo[h][FamilyEntrance][1], FamilyInfo[h][FamilyEntrance][2]+0.6,4.0);
  50973. }
  50974. LoadGangVehicles(h);
  50975. }
  50976. for(new h = 0; h < sizeof(Points); h++)
  50977. {
  50978. if(Points[h][Type] == 3)
  50979. {
  50980. format(string, sizeof(string), " POT AVAILABLE: %d grams.", Points[h][Stock]);
  50981. Points[h][TextLabel] = CreateDynamic3DTextLabel(string, COLOR_YELLOW, Points[h][Pointx], Points[h][Pointy], Points[h][Pointz], 4.0);
  50982. Points[h][CratePoint] = 1;
  50983. }
  50984. else if(Points[h][Type] == 4)
  50985. {
  50986. format(string, sizeof(string), " CRACK AVAILABLE: %d grams.", Points[h][Stock]);
  50987. Points[h][TextLabel] = CreateDynamic3DTextLabel(string, COLOR_YELLOW, Points[h][Pointx], Points[h][Pointy], Points[h][Pointz], 4.0);
  50988. Points[h][CratePoint] = 2;
  50989. }
  50990. CreatePickup(1239, 23, Points[h][Pointx], Points[h][Pointy], Points[h][Pointz], -1);
  50991. }
  50992. new text_info[128];
  50993. for(new d = 0; d < sizeof(CarDealershipInfo); d++)
  50994. {
  50995. if(CarDealershipInfo[d][cdEntranceX] != 0.0 && CarDealershipInfo[d][cdEntranceY] != 0.0)
  50996. {
  50997. CarDealershipInfo[d][cdPickupID] = CreatePickup(1272, 1, CarDealershipInfo[d][cdEntranceX], CarDealershipInfo[d][cdEntranceY], CarDealershipInfo[d][cdEntranceZ], -1);
  50998. if(CarDealershipInfo[d][cdOwned])
  50999. {
  51000. format(text_info, sizeof(text_info),"Car Dealership %s\nOwner: %s\nID: %d", CarDealershipInfo[d][cdMessage], CarDealershipInfo[d][cdOwner], d);
  51001. CarDealershipInfo[d][cdTextLabel] = CreateDynamic3DTextLabel(text_info,COLOR_LIGHTBLUE,CarDealershipInfo[d][cdEntranceX], CarDealershipInfo[d][cdEntranceY], CarDealershipInfo[d][cdEntranceZ]+0.5,3.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,1);
  51002. }
  51003. else
  51004. {
  51005. format(text_info, sizeof(text_info),"Car Dealership %s For Sale\nPrice: %d\nID: %d", CarDealershipInfo[d][cdMessage], CarDealershipInfo[d][cdPrice], d);
  51006. CarDealershipInfo[d][cdTextLabel] = CreateDynamic3DTextLabel(text_info,COLOR_YELLOW,CarDealershipInfo[d][cdEntranceX], CarDealershipInfo[d][cdEntranceY], CarDealershipInfo[d][cdEntranceZ]+0.5,3.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,1);
  51007. }
  51008. }
  51009. for(new v = 0; v < MAX_DEALERSHIPVEHICLES; v++)
  51010. {
  51011. if(CarDealershipInfo[d][cdVehicleModel][v] != 0)
  51012. {
  51013. new carcreated = CreateVehicle(CarDealershipInfo[d][cdVehicleModel][v], CarDealershipInfo[d][cdVehicleSpawnX][v], CarDealershipInfo[d][cdVehicleSpawnY][v], CarDealershipInfo[d][cdVehicleSpawnZ][v], CarDealershipInfo[d][cdVehicleSpawnAngle][v], 0, 0, 6);
  51014. format(text_info, sizeof(text_info), "%s For Sale | Price: %d", GetVehicleName(carcreated), CarDealershipInfo[d][cdVehicleCost][v]);
  51015. CarDealershipInfo[d][cdVehicleLabel][v] = CreateDynamic3DTextLabel(text_info,COLOR_LIGHTBLUE,0.0, 0.0, 0.0,8.0,INVALID_PLAYER_ID,carcreated);
  51016. CarDealershipInfo[d][cdVehicleId][v] = carcreated;
  51017. }
  51018. }
  51019. }
  51020. gettime(ghour, gminute, gsecond);
  51021. FixHour(ghour);
  51022. ghour = shifthour;
  51023. SetWorldTime(ghour);
  51024. for(new i = 0; i <= sizeof(Peds)-1; i++)
  51025. {
  51026. AddPlayerClass(Peds[i][0],1958.3783,1343.1572,1100.3746,269.1425,-1,-1,-1,-1,-1,-1);
  51027. }
  51028. for(new i = 0; i < sizeof(CreatedCars); i++)
  51029. {
  51030. CreatedCars[i] = INVALID_VEHICLE_ID;
  51031. }
  51032. //LSPD Button
  51033. lspdcopsonly = CreateButton(1789.65979, -1046.26721, -25.05176, 3.0); // ONLYS ONLY
  51034. lspdeveryone = CreateButton(1788.80115, -1046.20093, -25.05176, 92.0); // People, ^^==LSPD
  51035. lspdcopsonly1 = CreateButton(1775.26172, -1040.63013, -24.64567, 3.0); // ONLYS ONLY
  51036. lspdeveryone1 = CreateButton(1775.74243, -1040.70056, -24.84514, 92.0); // People, ^^==LSPD
  51037. CreateDynamicObject(2886, 1788.80115, -1046.20093, -25.05176, 0.00000, 0.00000, -85.74003, 20002); //lspdeveryone button
  51038. CreateDynamicObject(2886, 1789.65979, -1046.26721, -25.05176, 0.00000, 0.00000, -362.22012, 20002); //lspdcopsonly button
  51039. CreateDynamicObject(2886, 1775.74243, -1040.70056, -24.84514, 0.00000, 0.00000, -271.56003, 20002); //lspdeveryone1 button
  51040. CreateDynamicObject(2886, 1775.26172, -1040.63013, -24.64567, 0.00000, 0.00000, -91.20003, 20002); //lspdcopsonly1 button
  51041. lspddoor1 = CreateDynamicObject(1569, 1788.90442, -1046.27759, -26.38650, 0.00000, 0.00000, -88.86001);
  51042. lspddoor2 = CreateDynamicObject(1569, 1788.99072, -1049.24573, -26.40553, 0.00000, 0.00000, 90.70854);
  51043. lspddoor3 = CreateDynamicObject(1569, 1775.41260, -1040.68811, -26.41463, 0.00000, 0.00000, 89.86352);
  51044. lspddoor4 = CreateDynamicObject(1569, 1775.44702, -1037.73376, -26.41463, 0.00000, 0.00000, -93.24004);
  51045. // Faction gates
  51046. LSPDGate = CreateDynamicObject(968, 1544.6943359375, -1630.73046875, 13.27956199646, 0.000000, 90, 90); //
  51047. LSPDGate2 = CreateDynamicObject(971, 1588.6428222656, -1638.02734375, 15.240161895752, 0, 0, 181.03271484375);
  51048. FBIGate1 = CreateDynamicObject(971, 320.40628051758, -1487.9129638672, 26.900407791138, 0.000000, 0.000000, 144.85501098633); //
  51049. FBIGate2 = CreateDynamicObject(971, 283.96463012695, -1543.154296875, 27.167940139771, 0.000000, 0.000000, 326.25500488281); //
  51050. // Faction text labels and pickups
  51051. //arrest
  51052. CreatePickup(1247, 23, 1528.082397, -1677.978637, 5.890625, -1); // LSPD
  51053. CreateDynamic3DTextLabel("/arrest",COLOR_YELLOW,1528.082397, -1677.978637, 5.890625+0.6,4.0); // LSPD
  51054. CreatePickup(1247, 23, 1564.830932, -1652.506469, 28.395606, -1); // LSPD roof
  51055. CreateDynamic3DTextLabel("/arrest",COLOR_YELLOW,1564.830932, -1652.506469, 28.395606+0.6,4.0); // LSPD roof
  51056. CreatePickup(1247, 23, 304.796508, -1526.349731, 76.539062, -1); // FBI roof
  51057. CreateDynamic3DTextLabel("/arrest",COLOR_YELLOW,304.796508, -1526.349731, 76.539062+0.6,4.0); // FBI roof
  51058. CreatePickup(1247, 23, 298.313842, -1536.036865, 24.593750, -1); // FBI
  51059. CreateDynamic3DTextLabel("/arrest",COLOR_YELLOW,298.313842, -1536.036865, 24.593750+0.6,4.0); // FBI
  51060. // Miner Dynamic 3d textdraws..
  51061. CreateDynamic3DTextLabel("/mine\nTo begin mining rocks",COLOR_YELLOW,1250.1315,-1251.8857,13.6803+0.6,4.0);
  51062. CreateDynamic3DTextLabel("/mine\nTo begin mining rocks",COLOR_YELLOW,1244.8136,-1267.3768,14.0674+0.6,4.0);
  51063. CreateDynamic3DTextLabel("/mine\nTo begin mining rocks",COLOR_YELLOW,1242.2014,-1251.1252,14.1024+0.6,4.0);
  51064. CreateDynamic3DTextLabel("/mine\nTo begin mining rocks",COLOR_YELLOW,1235.3142,-1250.9010,19.2036+0.6,4.0);
  51065. //deliver
  51066. CreatePickup(1247, 23, 1992.484130, -2312.814208, 13.546875, -1);
  51067. CreateDynamic3DTextLabel("/deliver\nFor most wanted suspects",COLOR_YELLOW,1992.484130, -2312.814208, 13.546875+0.6,4.0);
  51068. CreateDynamicObject(1681,1994.44226074,-2315.96582031,14.67000008,0.00000000,0.00000000,90.00000000); //object(ap_learjet1_01) (1)
  51069. //LSPD Dildo
  51070. dildo = CreatePickup(321, 2, 261.6014, 71.2014, 1003.2422, -1);
  51071. //impounding
  51072. CreateDynamic3DTextLabel("Impound Yard \nType /impound to impound a vehicle",COLOR_YELLOW,1602.002197, -1608.801879, 13.662560+0.6,5.0);
  51073. // LSPD lockers
  51074. CreateDynamic3DTextLabel("{2641FE}/locker\n{FFFF00}To open your locker.",COLOR_YELLOW,1767.054321,-1039.901733,-24.009588+0.6,4.0);
  51075. // LSPD lockerss
  51076. CreateDynamic3DTextLabel("{2641FE}/locker\n{FFFF00}To open your locker.",COLOR_YELLOW,1180.122680,2977.833496,1006.085937+0.6,4.0);
  51077. // SASD lockers
  51078. CreateDynamic3DTextLabel("{FFA500}/locker\n{FFFF00}To open your locker.",COLOR_YELLOW,-1632.767700,685.920898,1008.735961+0.6,4.0);
  51079. // Ares lockers
  51080. CreateDynamic3DTextLabel("{1C77B3}/locker\n{FFFF00}To open your locker.",COLOR_YELLOW,-1109.457641, -95.517982, 2040.269287+0.6,4.0);
  51081. // GMA lockers
  51082. CreateDynamic3DTextLabel("{33AA33}/locker\n{FFFF00}To open your locker.",COLOR_YELLOW,2654.473632,-1834.064331,-38.724376+0.6,4.0);
  51083. // Blackmarket Weapons
  51084. CreateDynamic3DTextLabel("/blackmarket",COLOR_REALREDS,-20.229053,17.140705,467.120300+0.6,4.0);
  51085. // Blackmarket Weapons v2
  51086. CreateDynamic3DTextLabel("/blackmarket",COLOR_REALREDS,1040.369995,-1409.241210,-6.406630+0.6,4.0);
  51087. // Blackmarket Weapons v3
  51088. CreateDynamic3DTextLabel("/blackmarket",COLOR_REALREDS,-4118.0459, 863.6408, 10.0257+0.6,4.0);
  51089. /*// Casino
  51090. CreateDynamic3DTextLabel("[Casino]\n/Dicebet\n{00FFFF}To bet someone.",COLOR_YELLOW,1130.6852,-1.6767,1000.6797+0.6,4.0);///fbi*/
  51091. //FBI lockers
  51092. CreateDynamic3DTextLabel("{8D8DFF}/locker\n{FFFF00}To open your locker.",COLOR_YELLOW,310.3679,-1537.5204,-45.1338+0.6,4.0);///fbi
  51093. // LSFMD lockers
  51094. CreateDynamic3DTextLabel("{FF8282}/locker\n{FFFF00}To open your locker.",COLOR_YELLOW,1188.5157470703,-1350.9741210938, 2423.2648925781+0.6,4.0);
  51095. CreateDynamic3DTextLabel("{FF8282}/locker\n{FFFF00}To open your locker.",COLOR_YELLOW,1377.696655,-918.741760,-15.741325+0.6,4.0);
  51096. CreateDynamic3DTextLabel("{FF8282}/locker\n{FFFF00}To open your locker.",COLOR_YELLOW,280.822174,1711.853393,2046.205932+0.6,4.0);
  51097. // /deliver
  51098. CreatePickup(1240, 23, 1142.4733,-1326.3633,13.6259, -1);// Deliverpt
  51099. CreatePickup(1240, 23, 1165.1564,-1368.8240,26.6502, -1);// Deliverpt
  51100. CreatePickup(1240, 23, 2027.0599,-1410.6870,16.9922, -1);// Deliverpt
  51101. CreatePickup(1240, 23, 2024.5742,-1382.7844,48.3359, -1);// Deliverpt
  51102. CreatePickup(1240, 23, 1607.820434,-2158.261718,13.554687, -1);// Deliverpt
  51103. CreateDynamic3DTextLabel("/deliverpt",COLOR_LIGHTRED,1142.4733,-1326.3633,13.6259+0.6,4.0);///Deliverpt
  51104. CreateDynamic3DTextLabel("/deliverpt",COLOR_LIGHTRED,1165.1564,-1368.8240,26.6502+0.6,4.0);///Deliverpt
  51105. CreateDynamic3DTextLabel("/deliverpt",COLOR_LIGHTRED,2027.0599,-1410.6870,16.9922+0.6,4.0);///Deliverpt
  51106. CreateDynamic3DTextLabel("/deliverpt",COLOR_LIGHTRED,2024.5742,-1382.7844,48.3359+0.6,4.0);///Deliverpt
  51107. CreateDynamic3DTextLabel("/deliverpt",COLOR_LIGHTRED,1607.820434,-2158.261718,13.554687+0.6,4.0);///Deliverpt
  51108. // advance mining and lumber jack job
  51109. CreateDynamic3DTextLabel("Minable {777777}average {FFFFFF}rock\n{C1C1C1}To start mining, walk up to these rocks",COLOR_WHITE,-1854.7035,-1650.9668,25.7248+0.6,4.0);
  51110. CreateDynamic3DTextLabel("Minable {777777}average {FFFFFF}rock\n{C1C1C1}To start mining, walk up to these rocks",COLOR_WHITE,-1803.5344,-1655.2640,25.8294+0.6,4.0);
  51111. CreateDynamic3DTextLabel("Minable {777777}average {FFFFFF}rock\n{C1C1C1}To start mining, walk up to these rocks",COLOR_WHITE,-1788.5780,-1640.7179,27.0669+0.6,4.0);
  51112. CreateDynamic3DTextLabel("Minable {DDFF00}quality {FFFFFF}rock\n{C1C1C1}To start mining, walk up to these rocks",COLOR_WHITE,-1869.1316,-1634.7915,-58.500+0.6,4.0);
  51113. CreateDynamic3DTextLabel("Minable {DDFF00}quality {FFFFFF}rock\n{C1C1C1}To start mining, walk up to these rocks",COLOR_WHITE,-1868.9603,-1643.6682,-58.046+0.6,4.0);
  51114. pickup777 = CreatePickup(1275, 23, -1830.2748,-1639.3976,22.2496, 0);
  51115. CreateDynamic3DTextLabel("[SIDE JOB]\nMiner Job\n Location: Near Mt. Chilliad",COLOR_YELLOW,-1830.2748,-1639.3976,22.2496+0.6,4.0);
  51116. CreateDynamic3DTextLabel("{DDFF00}Oak {FFFFFF}tree\n{C1C1C1}To get started, go to the tree",COLOR_WHITE,-1931.063354,-2360.959228,30.820381+0.6,4.0);
  51117. CreateDynamic3DTextLabel("{DDFF00}Oak {FFFFFF}tree\n{C1C1C1}To get started, go to the tree",COLOR_WHITE,-1914.466308,-2369.007685,29.804220+0.6,4.0);
  51118. CreateDynamic3DTextLabel("{DDFF00}Oak {FFFFFF}tree\n{C1C1C1}To get started, go to the tree",COLOR_WHITE,-1903.706787,-2361.488769,31.170394+0.6,4.0);
  51119. CreateDynamic3DTextLabel("{DDFF00}Spruce {FFFFFF}tree\n{C1C1C1}To get started, go to the tree",COLOR_WHITE,-1934.799438,-2243.597412,65.4831+0.6,4.0);
  51120. CreateDynamic3DTextLabel("{DDFF00}Spruce {FFFFFF}tree\n{C1C1C1}To get started, go to the tree",COLOR_WHITE,-1917.573364,-2251.707519,65.8043+0.6,4.0);
  51121. CreateDynamic3DTextLabel("[SIDE JOB]\nLumberjack Job\n Location: Angel Pine",COLOR_YELLOW,-1991.550659, -2389.910644, 30.625000+0.6,4.0);
  51122. // /healme
  51123. CreatePickup(1240, 23, 1179.4012451172,-1331.5632324219,2423.0461425781, -1);
  51124. CreateDynamic3DTextLabel("/healme \nTo cure your disease",COLOR_LIGHTRED,1179.4012451172,-1331.5632324219,2423.0461425781+0.6,4.0);
  51125. // /buyinsurance
  51126. CreatePickup(1239, 23, 1169.7209472656,-1348.3218994141,2423.0461425781, -1);// /Old Insurance: 2086.4915,2826.7122,-16.1744
  51127. CreateDynamic3DTextLabel("/buyinsurance \n To buy insurance",COLOR_YELLOW,1169.7209472656,-1348.3218994141,2423.0461425781+0.6,4.0);// Insurance
  51128. CreateDynamic3DTextLabel("/govl\nTo open your locker.",COLOR_YELLOW, -1221.620849, -155.842590, 4891.833007, 4.0);// Government lockers
  51129. // Faction vehicles
  51130. // LSPD
  51131. LSPDVehicles[0] = AddStaticVehicleEx(596, 1601.795898, -1684.209350, 5.631327, 90.0, 0, 1, VEHICLE_RESPAWN); // Police Car (LSPD)
  51132. LSPDVehicles[1] = AddStaticVehicleEx(596, 1601.790527, -1688.099243, 5.611071, 90.0, 0, 1, VEHICLE_RESPAWN); // Police Car (LSPD)
  51133. LSPDVehicles[2] = AddStaticVehicleEx(596, 1601.790649, -1692.043945, 5.627151, 90.0, 0, 1, VEHICLE_RESPAWN); // Police Car (LSPD)
  51134. LSPDVehicles[3] = AddStaticVehicleEx(596, 1601.790527, -1696.380981, 5.617440, 90.0, 0, 1, VEHICLE_RESPAWN); // Police Car (LSPD)
  51135. LSPDVehicles[4] = AddStaticVehicleEx(596, 1601.790161, -1700.374267, 5.618237, 90.0, 0, 1, VEHICLE_RESPAWN); // Police Car (LSPD)
  51136. LSPDVehicles[5] = AddStaticVehicleEx(596, 1601.791015, -1704.578247, 5.613302, 90.0, 0, 1, VEHICLE_RESPAWN); // Police Car (LSPD)
  51137. LSPDVehicles[6] = AddStaticVehicleEx(596, 1595.375122, -1710.665039, 5.629010, 0.0, 0, 1, VEHICLE_RESPAWN); // Police Car (LSPD)
  51138. LSPDVehicles[7] = AddStaticVehicleEx(596, 1591.266113, -1711.172851, 5.562825, 0.0, 0, 1, VEHICLE_RESPAWN); // Police Car (LSPD)
  51139. LSPDVehicles[8] = AddStaticVehicleEx(596, 1587.176269, -1711.167724, 5.559627, 0.0, 0, 1, VEHICLE_RESPAWN); // Police Car (LSPD)
  51140. LSPDVehicles[9] = AddStaticVehicleEx(596, 1583.157104, -1711.164550, 5.575726, 0.0, 0, 1, VEHICLE_RESPAWN); // Police Car (LSPD)
  51141. LSPDVehicles[10] = AddStaticVehicleEx(596, 1578.746948, -1711.159790, 5.579936, 0.0, 0, 1, VEHICLE_RESPAWN); // Police Car (LSPD)
  51142. LSPDVehicles[11] = AddStaticVehicleEx(596, 1574.747192, -1711.155517, 5.616508, 0.0, 0, 1, VEHICLE_RESPAWN); // Police Car (LSPD)
  51143. LSPDVehicles[12] = AddStaticVehicleEx(596, 1570.507080, -1711.150390, 5.631289, 0.0, 0, 1, VEHICLE_RESPAWN); // Police Car (LSPD)
  51144. LSPDVehicles[13] = AddStaticVehicleEx(560, 1545.363403, -1684.183715, 5.776185, 90.0, 0, 0, VEHICLE_RESPAWN); // Tow Truck
  51145. LSPDVehicles[14] = AddStaticVehicleEx(560, 1545.271606, -1680.033325, 5.789134, 90.0, 0, 0, VEHICLE_RESPAWN); // Tow Truck
  51146. LSPDVehicles[15] = AddStaticVehicleEx(560, 1545.206909, -1676.062377, 5.768874, 90.0, 0, 0, VEHICLE_RESPAWN); // Tow Truck
  51147. LSPDVehicles[16] = AddStaticVehicleEx(525, 1545.136840, -1671.935791, 5.796144, 90.0, 0, 79, VEHICLE_RESPAWN); // Tow Truck
  51148. LSPDVehicles[17] = AddStaticVehicleEx(525, 1545.113891, -1667.590332, 5.768740, 90.0, 0, 79, VEHICLE_RESPAWN); // Tow Truck
  51149. LSPDVehicles[18] = AddStaticVehicleEx(525, 1545.052978, -1663.159057, 5.769451, 90.0, 0, 79, VEHICLE_RESPAWN); // Tow Truck
  51150. LSPDVehicles[19] = AddStaticVehicleEx(528, 1539.080932, -1644.956298, 6.022599, 180.0, 0, 1, VEHICLE_RESPAWN); // FBI Truck
  51151. LSPDVehicles[20] = AddStaticVehicleEx(528, 1534.736694, -1644.953979, 6.025968, 180.0, 0, 1, VEHICLE_RESPAWN); // FBI Truck
  51152. LSPDVehicles[21] = AddStaticVehicleEx(601, 1530.765136, -1644.953735, 5.626488, 180.0, 0, 0, VEHICLE_RESPAWN); // S.W.A.T. Van
  51153. LSPDVehicles[22] = AddStaticVehicleEx(601, 1526.807250, -1644.952392, 5.685305, 180.0, 0, 0, VEHICLE_RESPAWN); // S.W.A.T. Van
  51154. LSPDVehicles[23] = AddStaticVehicleEx(523, 1586.753173, -1680.919067, 5.467967, 270.0, 0, 0, VEHICLE_RESPAWN); // HPV-1000
  51155. LSPDVehicles[24] = AddStaticVehicleEx(523, 1583.504272, -1680.935913, 5.456614, 270.0, 0, 0, VEHICLE_RESPAWN); // HPV-1000
  51156. LSPDVehicles[25] = AddStaticVehicleEx(523, 1583.508789, -1678.958862, 5.454283, 270.0, 0, 0, VEHICLE_RESPAWN); // HPV-1000
  51157. LSPDVehicles[26] = AddStaticVehicleEx(523, 1583.510498, -1677.093017, 5.481368, 270.0, 0, 0, VEHICLE_RESPAWN); // HPV-1000
  51158. LSPDVehicles[27] = AddStaticVehicleEx(523, 1583.519409, -1675.270629, 5.453042, 270.0, 0, 0, VEHICLE_RESPAWN); // HPV-1000
  51159. LSPDVehicles[28] = AddStaticVehicleEx(523, 1586.685302, -1678.958740, 5.490104, 270.0, 0, 0, VEHICLE_RESPAWN); // HPV-1000
  51160. LSPDVehicles[29] = AddStaticVehicleEx(523, 1586.702880, -1677.099365, 5.452620, 270.0, 0, 0, VEHICLE_RESPAWN); // HPV-1000
  51161. LSPDVehicles[30] = AddStaticVehicleEx(523, 1586.705566, -1675.270629, 5.434679, 270.0, 0, 0, VEHICLE_RESPAWN); // HPV-1000
  51162. LSPDVehicles[31] = AddStaticVehicleEx(599, 1585.306152, -1667.855957, 6.086935, 270.0, 0, 1, VEHICLE_RESPAWN); // Police Ranger
  51163. LSPDVehicles[32] = AddStaticVehicleEx(599, 1585.286010, -1671.934448, 6.118605, 270.0, 0, 1, VEHICLE_RESPAWN); // Police Ranger
  51164. LSPDVehicles[33] = AddStaticVehicleEx(427, 1544.986694, -1659.187500, 6.019245, 90.0, 0, 1, VEHICLE_RESPAWN); // Enforcer
  51165. LSPDVehicles[34] = AddStaticVehicleEx(598, 1544.987060, -1655.224243, 6.054365, 90.0, 0, 1, VEHICLE_RESPAWN); // Enforcer
  51166. LSPDVehicles[35] = AddStaticVehicleEx(598, 1544.987182, -1651.171020, 6.010422, 90.0, 0, 1, VEHICLE_RESPAWN); // Enforcer
  51167. LSPDVehicles[36] = AddStaticVehicleEx(599, 1558.675781, -1711.144897, 6.032533, 0.0, 0, 1, VEHICLE_RESPAWN); // Police Ranger
  51168. LSPDVehicles[37] = AddStaticVehicleEx(497,1564.34960938,-1648.89172363,28.66711426,90.00000000,0,1,VEHICLE_RESPAWN); //Police Maverick
  51169. LSPDVehicles[38] = AddStaticVehicleEx(497,1564.30908203,-1700.77612305,28.66711426,90.00000000,0,1,VEHICLE_RESPAWN); //Police Maverick
  51170. for(new x;x<sizeof(LSPDVehicles);x++)
  51171. {
  51172. format(string, sizeof(string), "LSPD %d", LSPDVehicles[x]);
  51173. SetVehicleNumberPlate(LSPDVehicles[x], string);
  51174. }
  51175. // FBI
  51176. FBIVehicles[0] = AddStaticVehicleEx(490,278.2950,-1535.1125,24.7221,234.8203,0,0,2000); // FBI car 1
  51177. FBIVehicles[1] = AddStaticVehicleEx(490,281.3488,-1531.0051,24.7211,234.4913,0,0,2000); // FBI car 2
  51178. FBIVehicles[2] = AddStaticVehicleEx(490,284.1479,-1526.7838,24.7219,235.9317,0,0,2000); // FBI car 3
  51179. FBIVehicles[3] = AddStaticVehicleEx(402,287.9204,-1522.4076,24.4254,233.3578,0,0,2000); // FBI car 4
  51180. FBIVehicles[4] = AddStaticVehicleEx(402,291.0083,-1518.0157,24.4255,235.8604,0,0,2000); // FBI car 5
  51181. FBIVehicles[5] = AddStaticVehicleEx(426,294.4281,-1513.3267,24.3367,233.7115,0,0,2000); // FBI car 6
  51182. FBIVehicles[6] = AddStaticVehicleEx(426,297.6391,-1508.7694,24.3367,233.2394,0,0,2000); // FBI car 7
  51183. FBIVehicles[7] = AddStaticVehicleEx(482,301.1381,-1504.8762,24.7139,233.2884,0,0,2000); // FBI Car 8
  51184. FBIVehicles[8] = AddStaticVehicleEx(415,304.2608,-1486.6423,24.2188,235.1092,0,0,2000); // FBI Car 9
  51185. FBIVehicles[9] = AddStaticVehicleEx(415,307.1080,-1482.1565,24.2188,234.6429,0,0,2000); // FBI Car 10
  51186. FBIVehicles[10] = AddStaticVehicleEx(487, 316.47, -1516.18, 77.24, 228.39, 0, 79, 2000); // Levithian - FBI Roof
  51187. FBIVehicles[11] = AddStaticVehicleEx(487, 329.79, -1500.35, 77.24, 222.55, 0, 79, 2000); // Levithian - FBI Roof
  51188. FBIVehicles[12] = AddStaticVehicleEx(427, 300.645629, -1490.589233, 24.723447, 233.09, 0, 0, 2000); // FBI Enforcer
  51189. // LSFMD
  51190. LSFMDVehicles[1] = AddStaticVehicleEx(452,721.1721,-1628.0261,-0.6700,180.6752,1,53, VEHICLE_RESPAWN); // LSFD Boat 2
  51191. LSFMDVehicles[2] = AddStaticVehicleEx(452,720.1046,-1693.4014,-0.4581,179.7505,1,35, VEHICLE_RESPAWN); // LSFD Boat 3
  51192. LSFMDVehicles[3] = AddStaticVehicleEx(416,1607.2472,-2153.6628,13.7036,88.4947,1,3, VEHICLE_RESPAWN); // FDA Ambulance
  51193. LSFMDVehicles[4] = AddStaticVehicleEx(416,1590.8926,-2152.0854,13.7039,268.5291,1,3, VEHICLE_RESPAWN); // LSFMD ambulance
  51194. LSFMDVehicles[5] = AddStaticVehicleEx(416,1590.9957,-2159.7983,13.7047,269.8668,1,3, VEHICLE_RESPAWN); // LSFMD ambulance
  51195. LSFMDVehicles[6] = AddStaticVehicleEx(416,1591.0316,-2167.6848,13.7039,269.8569,1,3, VEHICLE_RESPAWN); // LSFMD ambulance
  51196. LSFMDVehicles[7] = AddStaticVehicleEx(407, 1544.7987060547, -2173.884765625, 13.916874885559, 270, -1, -1, VEHICLE_RESPAWN); //Ambulance
  51197. LSFMDVehicles[8] = AddStaticVehicleEx(407, 1544.7987060547, -2165.47265625, 13.916874885559, 270, -1, -1, VEHICLE_RESPAWN); //Ambulance
  51198. LSFMDVehicles[9] = AddStaticVehicleEx(544, 1513.0217285156, -2173.1804199219, 13.916874885559, 90, -1, -1, VEHICLE_RESPAWN);//Ambulance
  51199. LSFMDVehicles[10] = AddStaticVehicleEx(416, 87.18, -160.59, 2.74, 357.75, 1, 3, VEHICLE_RESPAWN);//Ambulance - LSFMD Sub Station
  51200. LSFMDVehicles[11] = AddStaticVehicleEx(490, 97.63, -171.87, 2.75, 271.18, 3, 1, VEHICLE_RESPAWN); // LSFMD Rancher - Sub Station
  51201. LSFMDVehicles[12] = AddStaticVehicleEx(407, 95.26, -164.77, 2.82, 269.32, 3, 1, VEHICLE_RESPAWN); // Fire Truck - Sub Station
  51202. LSFMDVehicles[13] = AddStaticVehicleEx(563, 152.42, -167.52, 2.28, 92.43, 3, 1, VEHICLE_RESPAWN); // Raindance - Sub Station
  51203. LSFMDVehicles[14] = AddStaticVehicleEx(416,1220.61, 301.97, 19.70, 155.82,1,3, VEHICLE_RESPAWN); // Memorial - Ambulance
  51204. LSFMDVehicles[15] = AddStaticVehicleEx(416,1227.83, 298.53, 19.70, 155.16,1,3, VEHICLE_RESPAWN); // Memorial - Ambulance
  51205. LSFMDVehicles[16] = AddStaticVehicleEx(563,1230.78, 318.34, 25.46, 153.57,1,3, VEHICLE_RESPAWN); // Memorial - Raindance
  51206. LSFMDVehicles[17] = AddStaticVehicleEx(416,1609.2712,-2181.0779,13.7039,177.3877,1,3, VEHICLE_RESPAWN); // LSFD Ambulance
  51207. LSFMDVehicles[18] = AddStaticVehicleEx(554,1580.2485,-2147.9507,13.6308,270.7723,3,1, VEHICLE_RESPAWN); // LSFD Car
  51208. LSFMDVehicles[19] = AddStaticVehicleEx(554,1545.3405,-2183.1868,13.6328,269.7860,3,1, VEHICLE_RESPAWN); // LSFD Car 2
  51209. LSFMDVehicles[20] = AddStaticVehicleEx(416,1179.9149,-1308.8851,13.8767,268.7781,1,3, VEHICLE_RESPAWN); //Ambulance 1
  51210. LSFMDVehicles[21] = AddStaticVehicleEx(416,1179.3976,-1338.5197,13.9653,270.0616,1,3, VEHICLE_RESPAWN); //Ambulance 2
  51211. LSFMDVehicles[22] = AddStaticVehicleEx(416,2036.9012,-1425.9266,17.1406,359.5312,1,3, VEHICLE_RESPAWN); //Ambulance 3
  51212. LSFMDVehicles[23] = AddStaticVehicleEx(416,2008.3009,-1411.0936,17.1413,88.3472,1,3, VEHICLE_RESPAWN); //Ambulance 4
  51213. LSFMDVehicles[24] = AddStaticVehicleEx(407,1545.6364,-2155.6382,13.7988,273.9738,3,1, VEHICLE_RESPAWN); //Ambulance 5
  51214. LSFMDVehicles[25] = AddStaticVehicleEx(407,1516.0275,-2162.9231,13.7834,89.9683,3,1, VEHICLE_RESPAWN); //Ambulance 6
  51215. LSFMDVehicles[26] = AddStaticVehicleEx(416,1606.9974,-2167.0830,13.7039,91.1709,1,3, VEHICLE_RESPAWN); //Ambulance 7
  51216. LSFMDVehicles[27] = AddStaticVehicleEx(416,1607.3264,-2148.6665,13.7040,89.7026,1,3, VEHICLE_RESPAWN); //Ambulance 8
  51217. LSFMDVehicles[28] = AddStaticVehicleEx(490,1616.3599,-2144.3535,13.6824,88.7370,3,1, VEHICLE_RESPAWN); // LSFMDFBIRANCHER main station
  51218. LSFMDVehicles[29] = AddStaticVehicleEx(490,1628.9847,-2151.2844,13.6831,269.9678,3,1, VEHICLE_RESPAWN); // LSFMDFBIRANCHER sub station new
  51219. LSFMDVehicles[30] = AddStaticVehicleEx(416,-2668.79589844,605.40057373,14.75412750,180.00000000,1,3,VEHICLE_RESPAWN); //Ambulance
  51220. LSFMDVehicles[31] = AddStaticVehicleEx(416,-2662.53906250,605.74005127,14.75412750,180.00000000,1,3,VEHICLE_RESPAWN); //Ambulance
  51221. LSFMDVehicles[32] = AddStaticVehicleEx(416,-2655.28808594,605.89562988,14.75412750,180.00000000,1,3,VEHICLE_RESPAWN); //Ambulance
  51222. LSFMDVehicles[33] = AddStaticVehicleEx(407,-2021.93737793,84.03466797,28.25847435,270.00000000,3,1,VEHICLE_RESPAWN); //Firetruck
  51223. LSFMDVehicles[34] = AddStaticVehicleEx(407,-2022.07055664,92.80475616,28.41874695,270.00000000,3,1,VEHICLE_RESPAWN); //Firetruck
  51224. LSFMDVehicles[35] = AddStaticVehicleEx(407,-2022.19433594,76.03833008,28.25847435,270.00000000,3,11,VEHICLE_RESPAWN); //Firetruck
  51225. LSFMDVehicles[36] = AddStaticVehicleEx(563,1633.9830,-2180.9321,14.2601,267.5514,3,1,VEHICLE_RESPAWN); // fda raindance
  51226. LSFMDVehicles[37] = AddStaticVehicleEx(563,1489.1141,-2168.0686,14.2523,180.3227,3,1,VEHICLE_RESPAWN); // raindance 2
  51227. LSFMDVehicles[38] = AddStaticVehicleEx(487,-2703.3201,624.0250,14.1766,180.2649, 1, 3, VEHICLE_RESPAWN);//Medic Chopper/*Maverick*/
  51228. LSFMDVehicles[39] = AddStaticVehicleEx(487, 1610.3516,-2180.1248,19.9312,354.8875,1, 0, VEHICLE_RESPAWN);//Medic Chopper/*Maverick*/ -- in LS
  51229. LSFMDVehicles[40] = AddStaticVehicleEx(487, 1620.5365,-2179.8254,19.9498,5.4440,1, 0, VEHICLE_RESPAWN);//Medic Chopper/*Maverick*/ -- in LS
  51230. for(new x;x<sizeof(LSFMDVehicles);x++) {
  51231. format(string, sizeof(string), "LSFMD %d", LSFMDVehicles[x]);
  51232. SetVehicleNumberPlate(LSFMDVehicles[x], string);
  51233. SetVehicleToRespawn(LSFMDVehicles[x]);
  51234. }
  51235. // Government vehicles
  51236. GovVehicles[0] = AddStaticVehicleEx(409,1278.07080078,-2014.19921875,58.83128357,0.00000000,0, 0, VEHICLE_RESPAWN); //Stretch
  51237. GovVehicles[1] = AddStaticVehicleEx(409,1278.27148438,-2024.24951172,58.83128357,0.00000000,0, 0, VEHICLE_RESPAWN); //Stretch
  51238. GovVehicles[2] = AddStaticVehicleEx(489,1246.49230957,-2009.86267090,60.20861435,270.00000000,0, 0, VEHICLE_RESPAWN); //Rancher
  51239. GovVehicles[3] = AddStaticVehicleEx(489,1246.25427246,-2015.10778809,60.20861435,270.00000000,0, 0, VEHICLE_RESPAWN); //Rancher
  51240. GovVehicles[4] = AddStaticVehicleEx(489,1245.95520020,-2019.85485840,60.20861435,270.00000000,0, 0, VEHICLE_RESPAWN); //Rancher
  51241. GovVehicles[5] = AddStaticVehicleEx(489,1245.90637207,-2024.60449219,60.20861435,270.00000000,0, 0, VEHICLE_RESPAWN); //Rancher
  51242. GovVehicles[6] = AddStaticVehicleEx(463,1263.28942871,-2009.04907227,58.94292068,180.00000000,0, 0, VEHICLE_RESPAWN); //Freeway
  51243. GovVehicles[7] = AddStaticVehicleEx(463,1266.04895020,-2008.95178223,58.94292068,180.00000000,0, 0, VEHICLE_RESPAWN); //Freeway
  51244. GovVehicles[8] = AddStaticVehicleEx(487,1116.52880859,-2055.13989258,74.69468689,0.00000000,0, 0, VEHICLE_RESPAWN); //Maverick
  51245. GovVehicles[9] = AddStaticVehicleEx(487,1115.95190430,-2019.10473633,74.69468689,180.00000000,0, 0, VEHICLE_RESPAWN); //Maverick
  51246. GovVehicles[10] = AddStaticVehicleEx(426, 1257.2582, -2010.0286, 59.6413, 179.5065, 0, 0, VEHICLE_RESPAWN); // Premier
  51247. GovVehicles[11] = AddStaticVehicleEx(426, 1462.2908, -1845.3002, 13.6906, 270.0187, 0, 0, VEHICLE_RESPAWN); // Premier
  51248. GovVehicles[12] = AddStaticVehicleEx(426, 1487.0929, -1845.2926, 13.6904, 270.0193, 0, 0, VEHICLE_RESPAWN); // Premier
  51249. GovVehicles[13] = AddStaticVehicleEx(426, 1509.3724, -1847.7166, 13.6876, 265.7939, 0, 0, VEHICLE_RESPAWN); // Premier
  51250. GovVehicles[14] = AddStaticVehicleEx(560, 1532.8997, -1846.7733, 13.6909, 1.3031, 0, 0, VEHICLE_RESPAWN); // Sultan
  51251. GovVehicles[15] = AddStaticVehicleEx(560, 1551.6821, -1840.1754, 13.6897, 260.9821, 0, 0, VEHICLE_RESPAWN); // Sultan
  51252. GovVehicles[16] = AddStaticVehicleEx(560, 1554.8734, -1783.5621, 13.6906, 359.1968, 0, 0, VEHICLE_RESPAWN); // Sultan
  51253. GovVehicles[17] = AddStaticVehicleEx(560, 1554.6436, -1718.8489, 13.6926, 88.5928, 0, 0, VEHICLE_RESPAWN); // Sultan
  51254. for(new x;x<sizeof(GovVehicles);x++) {
  51255. format(string, sizeof(string), "GOV %d", GovVehicles[x]);
  51256. SetVehicleNumberPlate(GovVehicles[x], string);
  51257. SetVehicleToRespawn(GovVehicles[x]);
  51258. }
  51259. // GMA vehicles
  51260. SANVehicles[0] = AddStaticVehicleEx(582,753.6042480469,-1334.6889648438,13.6949853897,180.5405273438,49,11,2000); //Newsvan
  51261. SANVehicles[1] = AddStaticVehicleEx(582,757.6818237305,-1334.6668701172,13.6950349808,180.5405273438,49,11,2000); //Newsvan
  51262. SANVehicles[2] = AddStaticVehicleEx(582,762.3946533203,-1334.4571533203,13.6954946518,180.6304321289,49,11,2000); //Newsvan
  51263. SANVehicles[3] = AddStaticVehicleEx(582,766.1726684570,-1334.3752441406,13.6956758499,180.5405273438,49,11,2000); //Newsvan
  51264. SANVehicles[4] = AddStaticVehicleEx(488, 736.0602, -1376.2152, 25.8823, 270.2599, 2, 26, 2000); //News Chopper
  51265. SANVehicles[5] = AddStaticVehicleEx(488,743.5921630859,-1366.7655029297,25.9572105408,0.0000000000,2,26,2000); //News Chopper
  51266. for(new x;x<sizeof(SANVehicles);x++) {
  51267. format(string, sizeof(string), "SAN %d", SANVehicles[x]);
  51268. SetVehicleNumberPlate(SANVehicles[x], string);
  51269. SetVehicleToRespawn(SANVehicles[x]);
  51270. }
  51271. // Trucker Vehicles
  51272. TruckerVehicles[0] = AddStaticVehicleEx(456,2223.45068359,-2675.48315430,13.79090691,0.00000000,-1,-1,300); //Yankee
  51273. TruckerVehicles[1] = AddStaticVehicleEx(456,2229.94897461,-2675.69653320,13.79090691,0.00000000,-1,-1,300); //Yankee
  51274. TruckerVehicles[2] = AddStaticVehicleEx(456,2247.59399414,-2678.06005859,13.79090691,0.00000000,-1,-1,300); //Yankee
  51275. TruckerVehicles[3] = AddStaticVehicleEx(414,2252.95361328,-2678.02856445,13.70086479,0.00000000,-1,-1,300); //Mule
  51276. TruckerVehicles[4] = AddStaticVehicleEx(414,2257.94824219,-2677.81347656,13.70086479,0.00000000,-1,-1,300); //Mule
  51277. TruckerVehicles[5] = AddStaticVehicleEx(414,2263.20507812,-2677.70410156,13.70086479,0.00000000,-1,-1,300); //Mule
  51278. TruckerVehicles[6] = AddStaticVehicleEx(456,2165.29052734,-2657.01904297,13.79687500,270.00000000,-1,-1,300); //Yankee
  51279. TruckerVehicles[7] = AddStaticVehicleEx(456,2167.83178711,-2650.11987305,13.79687500,270.00000000,-1,-1,300); //Yankee
  51280. TruckerVehicles[8] = AddStaticVehicleEx(456,2203.90942383,-2641.51489258,13.79687500,270.00000000,-1,-1,300); //Yankee
  51281. TruckerVehicles[9] = AddStaticVehicleEx(499,2175.12963867,-2637.71411133,13.64687538,180.00000000,-1,-1,300); //Benson
  51282. TruckerVehicles[10] = AddStaticVehicleEx(499,2180.41625977,-2638.07910156,13.64687538,180.00000000,-1,-1,300); //Benson
  51283. TruckerVehicles[11] = AddStaticVehicleEx(499,2185.71166992,-2638.12036133,13.64687538,180.00000000,-1,-1,300); //Benson
  51284. TruckerVehicles[12] = AddStaticVehicleEx(414,2205.19726562,-2597.21484375,13.69090652,270.00000000,-1,-1,300); //Mule
  51285. TruckerVehicles[13] = AddStaticVehicleEx(499,2213.06250000,-2583.26538086,13.64687538,0.00000000,-1,-1,300); //Benson
  51286. TruckerVehicles[14] = AddStaticVehicleEx(456,2204.75000000,-2569.27026367,13.79687500,270.00000000,-1,-1,300); //Yankee
  51287. TruckerVehicles[15] = AddStaticVehicleEx(456,2239.31396484,-2644.32055664,13.79451466,90.00000000,-1,-1,300); //Yankee
  51288. TruckerVehicles[16] = AddStaticVehicleEx(456,2239.52050781,-2638.99414062,13.79451466,90.00000000,-1,-1,300); //Yankee
  51289. TruckerVehicles[17] = AddStaticVehicleEx(456,2239.46142578,-2633.49414062,13.79451466,90.00000000,-1,-1,300); //Yankee
  51290. TruckerVehicles[18] = AddStaticVehicleEx(456,2239.34033203,-2627.85107422,13.79451466,90.00000000,-1,-1,300); //Yankee
  51291. TruckerVehicles[19] = AddStaticVehicleEx(456,2206.29296875,-2530.18920898,13.79687500,270.00000000,-1,-1,300); //Yankee
  51292. TruckerVehicles[20] = AddStaticVehicleEx(456,2206.20117188,-2524.10937500,13.79687500,270.00000000,-1,-1,300); //Yankee
  51293. TruckerVehicles[21] = AddStaticVehicleEx(456,2206.03466797,-2518.52441406,13.79687500,270.00000000,-1,-1,300); //Yankee
  51294. // Paintball (pickup + 3dtextlabel)
  51295. Create3DTextLabel("{FFFF00}Paintball v2 - Type /paintball to play", -1, 1941.132446,-1699.301757,-26.661914, 20.0, 0, 0);
  51296. CreatePickup(1254, 23, 1941.132446,-1699.301757,-26.661914, -1);
  51297. // Added by Calgon (extra vehicles really needed)
  51298. TruckerVehicles[22] = AddStaticVehicle(456,2453.1619,-2639.1846,13.8379,270.4689,102,300); // Ocean Docks 1
  51299. TruckerVehicles[23] = AddStaticVehicle(456,2473.5852,-2639.2966,13.8242,268.3057,102,300); // Ocean Docks 2
  51300. TruckerVehicles[24] = AddStaticVehicle(456,2453.1306,-2649.3818,13.8346,271.3797,102,300); // Ocean Docks 3
  51301. TruckerVehicles[25] = AddStaticVehicle(456,2471.5981,-2649.7627,13.8288,269.0897,102,300); // Ocean Docks 4
  51302. TruckerVehicles[26] = AddStaticVehicle(456,2393.3713,-2670.7224,13.8374,89.5815,102,300); // Ocean Docks 5
  51303. TruckerVehicles[27] = AddStaticVehicle(456,2397.2883,-2627.0601,13.8374,358.5510,102,300); // Ocean Docks 6
  51304. TruckerVehicles[28] = AddStaticVehicle(456,2397.9001,-2602.9380,13.8374,358.5483,102,300); // Ocean Docks 7
  51305. TruckerVehicles[29] = AddStaticVehicle(456,2203.0491,-2632.2080,13.2632,91.2853,53,300); // Ocean Docks Truck x1 (needs model)
  51306. TruckerVehicles[30] = AddStaticVehicle(456,2247.2212,-2605.2102,8.0225,356.8250,53,300); // Ocean Docks Truck x2 (needs model)
  51307. TruckerVehicles[31] = AddStaticVehicle(456,2248.7383,-2577.7927,8.0144,356.8441,53,300); // Ocean Docks Truck x3 (needs model)
  51308. TruckerVehicles[32] = AddStaticVehicle(456,2248.7473,-2556.0659,8.0211,359.6938,53,300); // Ocean Docks Truck x4 (needs model)
  51309. TruckerVehicles[33] = AddStaticVehicle(456,2248.8784,-2531.6667,8.0229,359.6888,53,300); // Ocean Docks Truck x5 (needs model)
  51310. TruckerVehicles[34] = AddStaticVehicle(456,2248.9675,-2515.1245,8.0156,359.6818,53,300); // Ocean Docks Truck x6 (needs model)
  51311. TruckerVehicles[35] = AddStaticVehicle(456,2249.0857,-2494.2341,8.0111,359.7150,53,300); // Ocean Docks Truck x7 (needs model)
  51312. TruckerVehicles[36] = AddStaticVehicle(456,2264.4348,-2484.6040,8.0058,261.9050,53,300); // Ocean Docks Truck x8 (needs model)
  51313. // Street Sweeper Vehicle (LS)
  51314. SweeperVehicles[0] = AddStaticVehicleEx(574,2193.00000000,-1984.80004883,13.30000019,90.00000000, 1, 1, 120);
  51315. SweeperVehicles[1] = AddStaticVehicleEx(574,2192.89990234,-1987.59997559,13.30000019,90.00000000, 1, 1, 120);
  51316. SweeperVehicles[2] = AddStaticVehicleEx(574,2193.00000000,-1990.30004883,13.30000019,90.00000000, 1, 1, 120);
  51317. SweeperVehicles[3] = AddStaticVehicleEx(574,2193.19995117,-1993.30004883,13.30000019,90.00000000, 1, 1, 120);
  51318. SweeperVehicles[4] = AddStaticVehicleEx(574,2193.30004883,-1996.30004883,13.30000019,90.00000000, 1, 1, 120);
  51319. SweeperVehicles[5] = AddStaticVehicleEx(574,2193.39990234,-2000.09997559,13.30000019,90.00000000, 1, 1, 120);
  51320. SweeperVehicles[6] = AddStaticVehicleEx(574,2182.60009766,-1996.09997559,13.30000019,320.00000000, 1, 1, 120);
  51321. SweeperVehicles[7] = AddStaticVehicleEx(574,2181.10009766,-1992.80004883,13.30000019,319.99877930, 1, 1, 120);
  51322. SweeperVehicles[8] = AddStaticVehicleEx(574,2179.00000000,-1990.59997559,13.30000019,319.99877930, 1, 1, 120);
  51323. SweeperVehicles[9] = AddStaticVehicleEx(574,2176.39990234,-1988.30004883,13.30000019,319.99877930, 1, 1, 120);
  51324. SweeperVehicles[10] = AddStaticVehicleEx(574,2173.80004883,-1986.30004883,13.30000019,319.99877930, 1, 1, 120);
  51325. SweeperVehicles[11] = AddStaticVehicleEx(574,2187.50000000,-1976.09997559,13.30000019,180.00000000, 1, 1, 120);
  51326. SweeperVehicles[12] = AddStaticVehicleEx(574,2184.69995117,-1976.09997559,13.30000019,180.00000000, 1, 1, 120);
  51327. SweeperVehicles[13] = AddStaticVehicleEx(574,2181.39990234,-1976.00000000,13.30000019,180.00000000, 1, 1, 120);
  51328. SweeperVehicles[14] = AddStaticVehicleEx(574,2178.39990234,-1975.80004883,13.30000019,180.00000000, 1, 1, 120);
  51329. SweeperVehicles[15] = AddStaticVehicleEx(574,2174.89990234,-1976.00000000,13.30000019,180.00000000, 1, 1, 120);
  51330. SweeperVehicles[16] = AddStaticVehicleEx(574,2171.10009766,-1975.80004883,13.30000019,180.00000000, 1, 1, 120);
  51331. //LSPD - LSFMD - All Saints
  51332. CreateDynamicObject(18030, 2092.279296875, 2817.1181640625, -14.807208061218, 0.000000, 0.000000, 0.000000); //
  51333. CreateDynamicObject(2951, 2109.0756835938, 2812.5268554688, -17.188125610352, 0.000000, 0.000000, 270.67498779297); //
  51334. CreateDynamicObject(2951, 2087.53515625, 2803.2150878906, -17.674396514893, 0.000000, 0.000000, 0.000000); //
  51335. CreateDynamicObject(3386, 2103.3381347656, 2830.3115234375, -17.174396514893, 0.000000, 0.000000, 0.000000); //
  51336. CreateDynamicObject(3387, 2103.4313964844, 2826.3564453125, -17.174396514893, 0.000000, 0.000000, 0.000000); //
  51337. CreateDynamicObject(3389, 2101.015625, 2830.6564941406, -17.174396514893, 0.000000, 0.000000, 91.894958496094); //
  51338. CreateDynamicObject(1997, 2071.7292480469, 2806.0947265625, -17.174396514893, 0.000000, 0.000000, 93.295013427734); //
  51339. CreateDynamicObject(1997, 2071.7165527344, 2807.8830566406, -17.174396514893, 0.000000, 0.000000, 91.310028076172); //
  51340. CreateDynamicObject(1997, 2071.7561035156, 2809.45703125, -17.174396514893, 0.000000, 0.000000, 91.310028076172); //
  51341. CreateDynamicObject(3384, 2103.1545410156, 2822.3237304688, -15.731789588928, 0.000000, 0.000000, 0.000000); //
  51342. CreateDynamicObject(3383, 2100.4477539063, 2827.2509765625, -17.174396514893, 0.000000, 0.000000, 0.000000); //
  51343. CreateDynamicObject(3383, 2100.5051269531, 2822.8688964844, -17.174396514893, 0.000000, 0.000000, 0.000000); //
  51344. CreateDynamicObject(3383, 2094.5844726563, 2825.0227050781, -17.174396514893, 0.000000, 0.000000, 0.000000); //
  51345. CreateDynamicObject(1796, 2100.0754394531, 2808.0727539063, -17.174396514893, 0.000000, 0.000000, 179.28002929688); //
  51346. CreateDynamicObject(1796, 2098.4482421875, 2808.1791992188, -17.174396514893, 0.000000, 0.000000, 178.9150390625); //
  51347. CreateDynamicObject(1796, 2102.0798339844, 2807.9851074219, -17.174396514893, 0.000000, 0.000000, 179.05505371094); //
  51348. CreateDynamicObject(2239, 2103.4404296875, 2804.8537597656, -17.174396514893, 0.000000, 0.000000, 218.75506591797); //
  51349. CreateDynamicObject(2184, 2085.3012695313, 2828.1159667969, -17.174396514893, 0.000000, 0.000000, 0.000000); //
  51350. CreateDynamicObject(1671, 2086.1975097656, 2829.4157714844, -16.714181900024, 0.000000, 0.000000, 0.000000); //
  51351. CreateDynamicObject(2190, 2087.134765625, 2828.1010742188, -16.398658752441, 0.000000, 0.000000, 230.5249786377); //
  51352. CreateDynamicObject(2854, 2085.673828125, 2828.6516113281, -16.398658752441, 0.000000, 0.000000, 133.07997131348); //
  51353. CreateDynamicObject(2946, 2081.85546875, 2831.0966796875, -17.174396514893, 0.000000, 0.000000, 91.310028076172); //
  51354. CreateDynamicObject(10182, 1145.3453369141, -1326.4350585938, 14.297383308411, 0.000000, 0.000000, 0.000000); //
  51355. CreateDynamicObject(16656, 1421.5529785156, -2445.5986328125, -9.6055564880371, 0.000000, 0.000000, 0.000000); //
  51356. CreateDynamicObject(1997, 1430.8905029297, -2437.8049316406, -12.598474502563, 0.000000, 0.000000, 269.9599609375); //
  51357. CreateDynamicObject(3384, 1431.6123046875, -2441.9572753906, -11.155867576599, 0.000000, 0.000000, 0.000000); //
  51358. CreateDynamicObject(1886, 1426.7391357422, -2451.6730957031, -7.6691589355469, 0.000000, 358.01501464844, 182.52499389648); //
  51359. CreateDynamicObject(2951, 1420.4285888672, -2442.7119140625, -13.105556488037, 0.000000, 0.000000, 270.44995117188); //
  51360. CreateDynamicObject(2951, 1420.4750976563, -2450.1713867188, -13.098474502563, 0.000000, 0.000000, 270.53997802734); //
  51361. CreateDynamicObject(2946, 1425.0671386719, -2436.9409179688, -12.605556488037, 0.000000, 0.000000, 268.69006347656); //
  51362. CreateDynamicObject(2606, 1422.2109375, -2436.7719726563, -10.66157245636, 0.000000, 0.000000, 0.000000); //
  51363. CreateDynamicObject(1999, 1421.7412109375, -2437.5876464844, -12.605556488037, 0.000000, 0.000000, 0.000000); //
  51364. CreateDynamicObject(2356, 1422.6676025391, -2438.5456542969, -12.605556488037, 0.000000, 0.000000, 0.000000); //
  51365. CreateDynamicObject(11008, 1530.6383056641, -2167.5698242188, 19.045516967773, 0.000000, 0.000000, 0.000000); //
  51366. CreateDynamicObject(8356, 1560.9700927734, -2091.2924804688, 12.568482398987, 0.000000, 0.000000, 180); //
  51367. CreateDynamicObject(8356, 1600.9536132813, -2091.2219238281, 12.568482398987, 0.000000, 0.000000, 180); //
  51368. CreateDynamicObject(8356, 1501.1728515625, -2091.2724609375, 12.568482398987, 0.000000, 0.000000, 180); //
  51369. CreateDynamicObject(5711, 1581.1998291016, -2159.6352539063, 16.031856536865, 0.000000, 0.000000, 180); //
  51370. CreateDynamicObject(16564, 1618.6606445313, -2164.0412597656, 12.494687080383, 0.000000, 0.000000, 90); //
  51371. CreateDynamicObject(8356, 1640.9392089844, -2091.2358398438, 12.568482398987, 0.000000, 0.000000, 179.99450683594); //
  51372. CreateDynamicObject(12839, 1604.3753662109, -2180.419921875, 16.050001144409, 0.000000, 0.000000, 0.000000); //
  51373. /*CreateDynamicObject(994, 2222.9479980469, -1707.8178710938, 12.554218292236, 0.000000, 0.000000, 83.25);
  51374. CreateDynamicObject(994, 2222.2282714844, -1714.1044921875, 12.554218292236, 0.000000, 0.000000, 83.248901367188);
  51375. CreateDynamicObject(994, 2221.666015625, -1720.4332275391, 12.554218292236, 0.000000, 0.000000, 84.998901367188);
  51376. CreateDynamicObject(997, 2221.5944824219, -1720.4653320313, 12.554218292236, 0.000000, 0.000000, 270.39489746094);
  51377. CreateDynamicObject(997, 2221.6120605469, -1723.6779785156, 12.554218292236, 0.000000, 0.000000, 308.13818359375);
  51378. CreateDynamicObject(997, 2223.5490722656, -1726.2283935547, 12.554218292236, 0.000000, 0.000000, 343.46838378906);
  51379. CreateDynamicObject(994, 2232.9912109375, -1727.2038574219, 12.554218292236, 0.000000, 0.000000, 179.2939453125);
  51380. CreateDynamicObject(994, 2239.298828125, -1727.1459960938, 12.554218292236, 0.000000, 0.000000, 180.29138183594);
  51381. CreateDynamicObject(994, 2245.6069335938, -1727.1053466797, 12.554218292236, 0.000000, 0.000000, 180.29113769531);
  51382. CreateDynamicObject(994, 2230.0375976563, -1702.1334228516, 12.554218292236, 0.000000, 0.000000, 174.55895996094);
  51383. CreateDynamicObject(994, 2245.8688964844, -1720.8118896484, 12.554218292236, 0.000000, 0.000000, 267.63110351563);*/
  51384. CreateDynamicObject(1495, 1582.6011962891, -1637.8992919922, 12.552812576294, 0.000000, 0.000000, 0.000000); //
  51385. CreateDynamicObject(11326,1604.98535156,-1623.68457031,14.71534920,0.00000000,0.00000000,90.00000000); //object(sfse_hublockup) (1)
  51386. CreateDynamicObject(1886,1581.56628418,-1633.38085938,16.76438522,0.00000000,0.00000000,308.90148926); //object(shop_sec_cam) (1)
  51387. CreateDynamicObject(983, 1544.6878662109, -1620.4252929688, 13.038116455078, 0.000000, 0.000000, 0.000000); //
  51388. CreateDynamicObject(983, 1544.7156982422, -1635.9808349609, 13.237470626831, 0.000000, 0.000000, 0.000000); //
  51389. CreateDynamicObject(1344, 1544.7709960938, -1617.0625, 13.191030502319, 0.000000, 0.000000, 180); //
  51390. CreateDynamicObject(13644, 1582.6353759766, -1639.0125732422, 10.541254043579, 0.000000, 19.14501953125, 268.55499267578); //
  51391. //CreateDynamicObject(969, 1635.2663574219, -1852.6921386719, 12.548987388611, 0.000000, 0.000000, 179.99450683594); //
  51392. CreateDynamicObject(1496, 1564.2520751953, -1667.3739013672, 27.395606994629, 0.000000, 0.000000, 0.000000); //
  51393. CreateDynamicObject(12814, 264.49127197266, 1882.6428222656, 16.587562561035, 0, 0, 0);
  51394. CreateDynamicObject(991, 226.45503234863, 1872.4094238281, 13.949615478516, 0, 0, 270.27062988281);
  51395. CreateDynamicObject(3029, 2175.6774902344, 1594.2722167969, 998.97888183594, 0, 0, 268.69067382813); // Drug Factory Doors
  51396. CreateDynamicObject(10832, 296.68603515625, -1549.5653076172, 77.338836669922, 0.000000, 0.000000, 162.94946289063); //
  51397. CreateDynamicObject(3029, 2223.58203125, 1598.2083740234, 998.9765625, 0, 0, 268.69067382813);
  51398. CreateDynamicObject(3471,1564.04772949,-1881.44250488,13.82141495,0.00000000,0.00000000,90.00000000); // TRIADS object(vgschinalion1) (2)
  51399. CreateDynamicObject(3471,1571.83093262,-1881.41430664,13.82141495,0.00000000,0.00000000,90.00000000); // TRIADS object(vgschinalion1) (3)
  51400. CreateDynamicObject(9482,1567.88854980,-1882.18041992,19.17709923,0.00000000,0.00000000,90.00000000); // TRIADS object(chinagate) (2)
  51401. CreateDynamicObject(2948,968.48669434,-53.18999100,1000.12457275,0.00000000,0.00000000,0.00000000, .interiorid = 3); //object(cr_door_02) (1)
  51402. CreateDynamicObject(2948,968.48632812,-53.18945312,1000.12457275,0.00000000,0.00000000,180.00000000, .interiorid = 3); //object(cr_door_02) (5)
  51403. CreateDynamicObject(2885,968.70294189,-56.50698090,1005.57806396,0.00000000,0.00000000,90.00000000, .interiorid = 3); //object(xref_garagedoor) (1)
  51404. CreateDynamicObject(2714,968.44470215,-53.15001678,1003.11096191,0.00000000,0.00000000,270.00000000, .interiorid = 3); //object(cj_open_sign_2) (1)
  51405. CreateDynamicObject(2885,963.42553711,-56.52644730,1003.82830811,270.00000000,180.69543457,270.69543457, .interiorid = 3); //object(xref_garagedoor) (3)
  51406. CreateDynamicObject(10671,680.26983643,-444.72039795,-24.75238800,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(savehousegdoor_sfs) (1)
  51407. CreateDynamicObject(10671,682.69573975,-444.75363159,-24.75238800,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(savehousegdoor_sfs) (2)
  51408. CreateDynamicObject(10671,680.79193115,-447.47885132,-26.72739220,0.00000000,90.00000000,0.00000000, .interiorid = 1); //object(savehousegdoor_sfs) (3)
  51409. CreateDynamicObject(11319,680.67449951,-443.91644287,-26.69394875,0.00000000,0.00000000,270.00000000, .interiorid = 1); //object(sprayshpdr2_sfse) (1)
  51410. //---------------FBI HQ Interior--------------------//
  51411. CreateDynamicObject(1536,293.27246094,-1481.46582031,-34.53342056,0.00000000,0.00000000,179.99450684,1324123, .interiorid = 1); //object(gen_doorext15) (2)
  51412. CreateDynamicObject(1536,290.27832031,-1481.50488281,-34.53342056,0.00000000,0.00000000,0.00000000,1324123, .interiorid = 1); //object(gen_doorext15) (2)
  51413. CreateDynamicObject(1776,291.19232178,-1512.44006348,-45.03078842,0.00000000,0.00000000,90.00000000,1324123, .interiorid = 1); //object(cj_candyvendor) (2)
  51414. FBILobbyLeftBTN[0] = CreateButton(297.66613770,-1498.67749023,-44.59006119,0.79565430); //Lobby Button Left
  51415. FBILobbyLeftBTN[1] = CreateButton(297.24850464,-1498.23107910,-44.59006119,180); //Lobby Button Left
  51416. FBILobbyRightBTN[0] = CreateButton(300.05300903,-1521.40747070,-44.59006119,180); //Lobby Button Right
  51417. FBILobbyRightBTN[1] = CreateButton(300.16033936,-1521.84387207,-44.59006119,0); //Lobby Button Right
  51418. FBIPrivateBTN[0] = CreateButton(298.87384033,-1495.87316895,-27.32773209,270); //Private Office Button
  51419. FBIPrivateBTN[1] = CreateButton(300.49453735,-1495.33837891,-27.28091812,180.49487305); //Private Office Button
  51420. CreateDynamicObject(2886,297.66613770,-1498.67749023,-44.59006119,0,0,0.79565430, 1324123); //Lobby Button Left
  51421. CreateDynamicObject(2886,297.24850464,-1498.23107910,-44.59006119,0,0,180, 1324123); //Lobby Button Left
  51422. CreateDynamicObject(2886,300.05300903,-1521.40747070,-44.59006119,0,0,180, 1324123); //Lobby Button Right
  51423. CreateDynamicObject(2886,300.16033936,-1521.84387207,-44.59006119,0,0,0, 1324123); //Lobby Button Right
  51424. CreateDynamicObject(2886,298.87384033,-1495.87316895,-27.32773209,0,0,270, 1324123); //Private Office Button
  51425. CreateDynamicObject(2886,300.49453735,-1495.33837891,-27.28091812,0,0,180.49487305, 1324123); //Private Office Button
  51426. FBIPrivate[0] = CreateDynamicObject(1536,299.29986572,-1492.82666016,-28.73300552,0.00000000,0.00000000,270.00000000,1324123, .interiorid = 1); //Private Office Door Left
  51427. FBIPrivate[1] = CreateDynamicObject(1536,299.33737183,-1495.83911133,-28.73300552,0.00000000,0.00000000,90.00000000,1324123, .interiorid = 1); //Private Office Door Right
  51428. FBILobbyLeft = CreateDynamicObject(1536,295.40136719,-1498.43457031,-46.13965225,0.00000000,0.00000000,0.00000000,1324123, .interiorid = 1); //Lobby Door Left
  51429. FBILobbyRight = CreateDynamicObject(1536,302.39355469,-1521.62988281,-46.13965225,0.00000000,0.00000000,179.99450684,1324123, .interiorid = 1); //Lobby Door Right
  51430. CreateDynamicObject(1536,281.51000977,-1513.26867676,23.89100075,0.00000000,0.00000000,55.00000000); // Door in FBI garage
  51431. CreateDynamicObject(14858,309.24609375,-1498.32812500,-29.38235855,0.00000000,0.00000000,270.00000000, .interiorid = 1); //object(veg_pol_main1) (1)
  51432. CreateDynamicObject(14596,294.02929688,-1490.56835938,-35.43539047,0.00000000,0.00000000,179.99450684, .interiorid = 1); //object(paperchase_stairs) (1)
  51433. CreateDynamicObject(14602,291.64355469,-1505.73730469,-40.76299286,0.00000000,0.00000000,179.99450684, .interiorid = 1); //object(paperchase01) (1)
  51434. CreateDynamicObject(14593,308.32128906,-1535.68750000,-43.80562592,0.00000000,0.00000000,179.99450684, .interiorid = 1); //object(paperchase04) (1)
  51435. CreateDynamicObject(8231,308.96191406,-1496.32617188,-38.62692261,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(vgsbikeschl05) (1)
  51436. CreateDynamicObject(2395,300.22045898,-1490.45019531,-40.34618378,0.00000000,0.00000000,270.00000000, .interiorid = 1); //object(cj_sports_wall) (1)
  51437. CreateDynamicObject(2395,300.22143555,-1495.39575195,-40.34618378,0.00000000,0.00000000,270.00000000, .interiorid = 1); //object(cj_sports_wall) (2)
  51438. CreateDynamicObject(2395,300.21777344,-1492.38110352,-38.05657196,0.00000000,0.00000000,270.00000000, .interiorid = 1); //object(cj_sports_wall) (3)
  51439. CreateDynamicObject(1523,300.42980957,-1495.13427734,-40.51028061,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(gen_doorext10) (2)
  51440. CreateDynamicObject(1491,317.16406250,-1489.74243164,-40.33905029,0.00000000,0.00000000,179.99450684, .interiorid = 1); //object(gen_doorint01) (3)
  51441. CreateDynamicObject(18001,300.45489502,-1489.20227051,-38.69902802,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(int_barbera07) (2)
  51442. CreateDynamicObject(8169,300.41653442,-1489.28137207,-37.95204163,73.49853516,270.00000000,179.99450684, .interiorid = 1); //object(vgs_guardhseflr) (2)
  51443. CreateDynamicObject(2197,300.78768921,-1490.73352051,-40.85678101,90.00000000,0.00000000,0.00000000, .interiorid = 1); //object(filling_cabinet) (1)
  51444. CreateDynamicObject(2197,300.78659058,-1489.06945801,-40.85678101,90.00000000,0.00000000,0.00000000, .interiorid = 1); //object(filling_cabinet) (2)
  51445. CreateDynamicObject(2197,300.78652954,-1487.39941406,-40.85678101,90.00000000,0.00000000,0.00000000, .interiorid = 1); //object(filling_cabinet) (3)
  51446. CreateDynamicObject(2515,300.82122803,-1491.78662109,-39.25311279,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(cj_bs_sink) (1)
  51447. CreateDynamicObject(2515,300.81488037,-1490.82836914,-39.25311279,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(cj_bs_sink) (1)
  51448. CreateDynamicObject(2515,300.80892944,-1489.84216309,-39.25311279,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(cj_bs_sink) (1)
  51449. CreateDynamicObject(2515,300.80908203,-1488.83654785,-39.25311279,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(cj_bs_sink) (1)
  51450. CreateDynamicObject(2738,313.09997559,-1491.99609375,-39.72719574,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(cj_toilet_bs) (2)
  51451. CreateDynamicObject(2957,314.01480103,-1489.76110840,-38.71026230,0.00000000,90.00000000,0.31311035, .interiorid = 1); //object(chinatgaragedoor) (2)
  51452. CreateDynamicObject(2957,312.46731567,-1491.96643066,-38.71386337,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(chinatgaragedoor) (3)
  51453. CreateDynamicObject(2957,312.46868896,-1491.96606445,-38.47619247,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(chinatgaragedoor) (4)
  51454. CreateDynamicObject(2957,318.77011108,-1489.75573730,-38.71026230,0.00000000,90.00000000,0.00000000, .interiorid = 1); //object(chinatgaragedoor) (5)
  51455. CreateDynamicObject(2957,317.91894531,-1489.73242188,-36.22134018,0.00000000,0.00000000,179.99450684, .interiorid = 1); //object(chinatgaragedoor) (6)
  51456. CreateDynamicObject(2602,310.02233887,-1498.55773926,-39.60855103,0.00000000,0.00000000,225.12634277, .interiorid = 1); //object(police_cell_toilet) (1)
  51457. CreateDynamicObject(2602,311.27764893,-1498.55688477,-39.60855103,0.00000000,0.00000000,225.12084961, .interiorid = 1); //object(police_cell_toilet) (2)
  51458. CreateDynamicObject(2602,312.52236938,-1498.55688477,-39.60855103,0.00000000,0.00000000,225.12084961, .interiorid = 1); //object(police_cell_toilet) (3)
  51459. CreateDynamicObject(2741,300.51300049,-1487.71777344,-38.53912735,0.00000000,0.00000000,90.19226074, .interiorid = 1); //object(cj_soap_disp) (1)
  51460. CreateDynamicObject(2742,300.63558960,-1493.05334473,-38.75522995,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(cj_handdrier) (1)
  51461. CreateDynamicObject(2685,300.49490356,-1495.37646484,-38.65332794,0.00000000,0.00000000,90.04394531, .interiorid = 1); //object(cj_food_post1) (1)
  51462. CreateDynamicObject(1522,276.98992920,-1506.53881836,-46.13738251,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(gen_doorshop3) (1)
  51463. CreateDynamicObject(3798,301.63208008,-1521.53662109,-48.13918304,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(acbox3_sfs) (1)
  51464. CreateDynamicObject(14420,301.31414795,-1504.62548828,-25.47793198,0.00000000,0.00000000,270.00000000, .interiorid = 1); //object(madddoggs09) (1)
  51465. CreateDynamicObject(2395,296.75616455,-1490.17004395,-28.86031342,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(cj_sports_wall) (1)
  51466. CreateDynamicObject(2395,299.82714844,-1492.76855469,-28.86031342,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(cj_sports_wall) (1)
  51467. CreateDynamicObject(2952,299.73284912,-1476.11962891,-28.81253433,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(kmb_gimpdoor) (1)
  51468. CreateDynamicObject(2952,299.73013306,-1473.99279785,-28.81253433,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(kmb_gimpdoor) (2)
  51469. CreateDynamicObject(10558,307.77490234,-1490.10229492,-26.71455383,0.00000000,0.00000000,270.00000000, .interiorid = 1); //object(tbnsfs) (4)
  51470. CreateDynamicObject(10558,303.61007690,-1474.12097168,-26.71455383,0.00000000,0.00000000,270.00000000, .interiorid = 1); //object(tbnsfs) (5)
  51471. CreateDynamicObject(12814,313.29492188,-1478.75097656,-28.73871231,0.00000000,0.00000000,179.99450684, .interiorid = 1); //object(cuntyeland04) (1)
  51472. CreateDynamicObject(12814,313.79980469,-1473.21289062,-34.54065323,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(cuntyeland04) (2)
  51473. CreateDynamicObject(5066,310.43295288,-1484.74877930,-33.05167389,0.00000000,0.00000000,180.00000000, .interiorid = 1); //object(mondoshave_las) (1)
  51474. CreateDynamicObject(14598,303.44128418,-1505.88110352,-30.57250977,0.00000000,0.00000000,179.99450684, .interiorid = 1); //object(paperchase_glass) (1)
  51475. CreateDynamicObject(2395,305.25082397,-1489.78857422,-28.86031342,0.00000000,0.00000000,180.00000000, .interiorid = 1); //object(cj_sports_wall) (1)
  51476. CreateDynamicObject(2395,301.95947266,-1490.32165527,-28.86031342,0.00000000,0.00000000,270.00000000, .interiorid = 1); //object(cj_sports_wall) (1)
  51477. CreateDynamicObject(2395,301.95996094,-1494.03027344,-28.86031342,0.00000000,0.00000000,270.00000000, .interiorid = 1); //object(cj_sports_wall) (1)
  51478. CreateDynamicObject(2395,303.02163696,-1495.31762695,-28.86031342,0.00000000,0.00000000,180.00000000, .interiorid = 1); //object(cj_sports_wall) (1)
  51479. CreateDynamicObject(10558,299.79708862,-1485.71166992,-26.71455383,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(tbnsfs) (5)
  51480. CreateDynamicObject(10558,299.79199219,-1477.44433594,-26.71455383,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(tbnsfs) (5)
  51481. CreateDynamicObject(10558,308.07742310,-1477.47680664,-26.71455383,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(tbnsfs) (5)
  51482. CreateDynamicObject(10558,308.07962036,-1485.49145508,-26.71455383,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(tbnsfs) (5)
  51483. CreateDynamicObject(2395,303.70001221,-1495.32324219,-34.54189301,0.00000000,0.00000000,179.99450684, .interiorid = 1); //object(cj_sports_wall) (1)
  51484. CreateDynamicObject(2395,303.47012329,-1481.95263672,-34.54189301,0.00000000,0.00000000,270.00000000, .interiorid = 1); //object(cj_sports_wall) (1)
  51485. CreateDynamicObject(2395,303.47064209,-1485.67785645,-34.54189301,0.00000000,0.00000000,270.00000000, .interiorid = 1); //object(cj_sports_wall) (1)
  51486. CreateDynamicObject(2395,303.47103882,-1489.40173340,-34.54189301,0.00000000,0.00000000,270.00000000, .interiorid = 1); //object(cj_sports_wall) (1)
  51487. CreateDynamicObject(2395,303.47222900,-1493.12512207,-34.54189301,0.00000000,0.00000000,270.00000000, .interiorid = 1); //object(cj_sports_wall) (1)
  51488. CreateDynamicObject(2395,300.50918579,-1485.34570312,-34.54189301,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(cj_sports_wall) (1)
  51489. CreateDynamicObject(2395,300.50698853,-1489.05407715,-34.54189301,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(cj_sports_wall) (1)
  51490. CreateDynamicObject(2395,300.50997925,-1492.77001953,-34.54189301,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(cj_sports_wall) (1)
  51491. CreateDynamicObject(2395,300.50823975,-1484.68981934,-34.54189301,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(cj_sports_wall) (1)
  51492. CreateDynamicObject(14782,309.60202026,-1543.15441895,-45.20714951,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(int3int_boxing30) (1)
  51493. CreateDynamicObject(14782,309.58764648,-1536.19519043,-45.20714951,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(int3int_boxing30) (2)
  51494. CreateDynamicObject(1827,305.07128906,-1533.61816406,-46.13375092,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(man_sdr_tables) (1)
  51495. CreateDynamicObject(1811,304.16955566,-1531.93151855,-45.50744629,0.00000000,0.00000000,117.60995483, .interiorid = 1); //object(med_din_chair_5) (1)
  51496. CreateDynamicObject(1811,305.66729736,-1531.85888672,-45.50744629,0.00000000,0.00000000,69.65365601, .interiorid = 1); //object(med_din_chair_5) (2)
  51497. CreateDynamicObject(16000,309.58935547,-1500.71423340,-26.22244644,270.00000000,0.00000000,90.00000000, .interiorid = 1); //object(drvin_screen) (1)
  51498. CreateDynamicObject(16000,310.02539062,-1492.14257812,-31.78104019,270.00000000,0.00000000,90.00000000, .interiorid = 1); //object(drvin_screen) (2)
  51499. CreateDynamicObject(2395,309.09744263,-1546.07031250,-46.13375092,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(cj_sports_wall) (19)
  51500. CreateDynamicObject(2395,309.09747314,-1542.33789062,-46.13375092,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(cj_sports_wall) (20)
  51501. CreateDynamicObject(2395,309.09802246,-1538.61096191,-46.13375092,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(cj_sports_wall) (21)
  51502. CreateDynamicObject(2395,309.09780884,-1534.87768555,-46.13375092,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(cj_sports_wall) (22)
  51503. CreateDynamicObject(2395,309.09716797,-1534.07751465,-46.13375092,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(cj_sports_wall) (23)
  51504. CreateDynamicObject(2395,308.94421387,-1531.32495117,-46.13555145,0.00000000,0.00000000,270.00000000, .interiorid = 1); //object(cj_sports_wall) (24)
  51505. CreateDynamicObject(2395,308.94485474,-1535.05346680,-46.13555145,0.00000000,0.00000000,270.00000000, .interiorid = 1); //object(cj_sports_wall) (25)
  51506. CreateDynamicObject(2395,308.94528198,-1538.78503418,-46.13555145,0.00000000,0.00000000,270.00000000, .interiorid = 1); //object(cj_sports_wall) (26)
  51507. CreateDynamicObject(2395,308.94180298,-1542.47778320,-46.13555145,0.00000000,0.00000000,270.00000000, .interiorid = 1); //object(cj_sports_wall) (27)
  51508. CreateDynamicObject(2395,308.94659424,-1543.31518555,-46.13555145,0.00000000,0.00000000,270.00000000, .interiorid = 1); //object(cj_sports_wall) (28)
  51509. CreateDynamicObject(1432,307.47851562,-1544.94921875,-46.13375092,0.00000000,0.00000000,350.07385254, .interiorid = 1); //object(dyn_table_2) (1)
  51510. CreateDynamicObject(1703,297.30395508,-1520.81726074,-46.12367630,0.00000000,0.00000000,180.00000000, .interiorid = 1); //object(kb_couch02) (1)
  51511. CreateDynamicObject(1703,298.31497192,-1517.79614258,-46.12367630,0.00000000,0.00000000,270.00000000, .interiorid = 1); //object(kb_couch02) (2)
  51512. CreateDynamicObject(2725,298.29296875,-1520.72167969,-45.69048691,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(lm_striptable) (1)
  51513. CreateDynamicObject(1806,309.10546875,-1505.52636719,-46.12367630,0.00000000,0.00000000,105.87994385, .interiorid = 1); //object(med_office_chair) (1)
  51514. CreateDynamicObject(2190,307.29687500,-1506.07812500,-45.40361786,0.00000000,0.00000000,104.99633789, .interiorid = 1); //object(pc_1) (1)
  51515. CreateDynamicObject(1892,278.57611084,-1506.30029297,-46.13018036,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(security_gatsh) (1)
  51516. CreateDynamicObject(2773,304.49935913,-1504.94628906,-45.61295319,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(cj_airprt_bar) (1)
  51517. CreateDynamicObject(2773,304.50588989,-1506.51086426,-45.61295319,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(cj_airprt_bar) (2)
  51518. CreateDynamicObject(2773,302.58798218,-1506.51135254,-45.61295319,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(cj_airprt_bar) (3)
  51519. CreateDynamicObject(2773,303.51632690,-1503.98291016,-45.61295319,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(cj_airprt_bar) (4)
  51520. CreateDynamicObject(2773,302.57733154,-1503.02441406,-45.61295319,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(cj_airprt_bar) (5)
  51521. CreateDynamicObject(2773,301.60446167,-1505.54931641,-45.61295319,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(cj_airprt_bar) (6)
  51522. CreateDynamicObject(2773,300.64788818,-1503.04052734,-45.61295319,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(cj_airprt_bar) (7)
  51523. CreateDynamicObject(2773,299.66088867,-1503.99853516,-45.61295319,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(cj_airprt_bar) (8)
  51524. CreateDynamicObject(2773,298.72500610,-1504.95776367,-45.61115265,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(cj_airprt_bar) (9)
  51525. CreateDynamicObject(2773,300.66802979,-1506.51232910,-45.61115265,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(cj_airprt_bar) (10)
  51526. CreateDynamicObject(2773,298.75299072,-1506.51000977,-45.61295319,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(cj_airprt_bar) (11)
  51527. CreateDynamicObject(12814,309.92465210,-1460.12158203,-34.53705215,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(cuntyeland04) (2)
  51528. CreateDynamicObject(8169,304.51583862,-1444.51806641,-32.52923965,107.00000000,90.00000000,180.00000000, .interiorid = 1); //object(vgs_guardhseflr) (1)
  51529. CreateDynamicObject(8169,304.51293945,-1449.76049805,-32.52923965,106.99584961,90.00000000,179.99450684, .interiorid = 1); //object(vgs_guardhseflr) (3)
  51530. CreateDynamicObject(8169,313.10473633,-1444.55773926,-32.52923965,106.99588013,90.00000000,0.00000000, .interiorid = 1); //object(vgs_guardhseflr) (4)
  51531. CreateDynamicObject(8169,313.10540771,-1449.97326660,-32.52923965,106.99584961,90.00000000,0.00000000, .interiorid = 1); //object(vgs_guardhseflr) (5)
  51532. CreateDynamicObject(8169,301.08428955,-1441.09985352,-32.52923965,106.99588013,90.00000000,270.00000000, .interiorid = 1); //object(vgs_guardhseflr) (7)
  51533. CreateDynamicObject(8169,300.08203125,-1441.09960938,-32.52923965,106.99584961,90.00000000,270.00000000, .interiorid = 1); //object(vgs_guardhseflr) (8)
  51534. CreateDynamicObject(8169,316.52737427,-1441.10034180,-32.52923965,106.99588013,90.00000000,270.00000000, .interiorid = 1); //object(vgs_guardhseflr) (9)
  51535. CreateDynamicObject(8169,319.76895142,-1441.10217285,-32.52923965,106.99584961,90.00000000,270.00000000, .interiorid = 1); //object(vgs_guardhseflr) (10)
  51536. CreateDynamicObject(8169,321.71502686,-1444.51538086,-32.52923965,106.99584961,90.00000000,179.99450684, .interiorid = 1); //object(vgs_guardhseflr) (11)
  51537. CreateDynamicObject(8169,321.71609497,-1451.29589844,-32.52923965,106.99584961,90.00000000,179.99450684, .interiorid = 1); //object(vgs_guardhseflr) (12)
  51538. CreateDynamicObject(8169,296.79656982,-1444.37243652,-32.52923965,106.99584961,90.00000000,0.00000000, .interiorid = 1); //object(vgs_guardhseflr) (13)
  51539. CreateDynamicObject(8169,296.80148315,-1451.28527832,-32.52923965,106.99584961,90.00000000,0.00000000, .interiorid = 1); //object(vgs_guardhseflr) (14)
  51540. CreateDynamicObject(14856,309.25753784,-1451.73974609,-32.65511322,0.00000000,0.00000000,270.00000000, .interiorid = 1); //object(cellsa) (1)
  51541. CreateDynamicObject(8169,314.25317383,-1444.62646484,-32.52923965,106.99588013,90.00000000,90.00000000, .interiorid = 1); //object(vgs_guardhseflr) (15)
  51542. CreateDynamicObject(8169,304.31835938,-1444.62304688,-32.52923965,106.99584961,90.00000000,90.00000000, .interiorid = 1); //object(vgs_guardhseflr) (16)
  51543. CreateDynamicObject(2957,308.80404663,-1453.56689453,-32.47067261,0.00000000,90.00000000,0.00000000, .interiorid = 1); //object(chinatgaragedoor) (1)
  51544. CreateDynamicObject(2957,305.55273438,-1453.56542969,-30.41305542,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(chinatgaragedoor) (7)
  51545. CreateDynamicObject(2957,311.57226562,-1453.56542969,-30.41333008,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(chinatgaragedoor) (8)
  51546. CreateDynamicObject(1491,305.67440796,-1453.56250000,-34.52923965,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(gen_doorint01) (1)
  51547. CreateDynamicObject(1491,310.42266846,-1453.56958008,-34.52923965,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(gen_doorint01) (2)
  51548. CreateDynamicObject(2957,304.04525757,-1453.56958008,-32.47067261,0.00000000,90.00000000,0.00000000, .interiorid = 1); //object(chinatgaragedoor) (1)
  51549. CreateDynamicObject(2957,313.55474854,-1453.56701660,-32.47067261,0.00000000,90.00000000,0.00000000, .interiorid = 1); //object(chinatgaragedoor) (1)
  51550. CreateDynamicObject(1649,308.91375732,-1451.29418945,-32.86349869,0.00000000,0.00000000,270.00000000, .interiorid = 1); //object(wglasssmash) (1)
  51551. CreateDynamicObject(1649,308.91308594,-1451.29394531,-32.86349869,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(wglasssmash) (2)
  51552. CreateDynamicObject(8169,308.91879272,-1450.16955566,-32.52923965,106.99588013,90.00000000,180.00000000, .interiorid = 1); //object(vgs_guardhseflr) (8)
  51553. CreateDynamicObject(1649,308.91668701,-1451.29418945,-29.60837173,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(wglasssmash) (3)
  51554. CreateDynamicObject(1649,308.91128540,-1451.29431152,-29.60297012,0.00000000,0.00000000,270.00000000, .interiorid = 1); //object(wglasssmash) (4)
  51555. CreateDynamicObject(14532,309.53399658,-1452.88830566,-33.54652023,0.00000000,0.00000000,315.00000000, .interiorid = 1); //object(tv_stand_driv) (1)
  51556. CreateDynamicObject(1671,311.07064819,-1450.01330566,-34.06902695,0.00000000,0.00000000,311.60888672, .interiorid = 1); //object(swivelchair_a) (1)
  51557. CreateDynamicObject(1671,311.91442871,-1451.20056152,-34.06902695,0.00000000,0.00000000,282.31018066, .interiorid = 1); //object(swivelchair_a) (2)
  51558. CreateDynamicObject(1810,305.47702026,-1450.94470215,-34.52923965,0.00000000,0.00000000,87.65490723, .interiorid = 1); //object(cj_foldchair) (1)
  51559. CreateDynamicObject(1810,307.89422607,-1451.39428711,-34.52923965,0.00000000,0.00000000,273.15954590, .interiorid = 1); //object(cj_foldchair) (2)
  51560. CreateDynamicObject(1827,306.67138672,-1451.28918457,-34.52923965,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(man_sdr_tables) (2)
  51561. CreateDynamicObject(2009,290.45791626,-1468.11608887,-34.52298355,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(officedesk2l) (1)
  51562. CreateDynamicObject(2197,286.46551514,-1467.00256348,-34.52298355,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(filling_cabinet) (4)
  51563. CreateDynamicObject(2200,292.76733398,-1469.83776855,-34.52298355,0.00000000,0.00000000,270.00000000, .interiorid = 1); //object(med_office5_unit_1) (1)
  51564. CreateDynamicObject(2204,287.41705322,-1471.50622559,-34.52298355,0.00000000,0.00000000,180.00000000, .interiorid = 1); //object(med_office8_cabinet) (1)
  51565. CreateDynamicObject(1714,290.53604126,-1467.20202637,-34.52298355,0.00000000,0.00000000,289.61608887, .interiorid = 1); //object(kb_swivelchair1) (1)
  51566. CreateDynamicObject(1778,329.46221924,-1474.47827148,-34.52298355,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(cj_mop_pail) (1)
  51567. CreateDynamicObject(1771,328.46612549,-1476.94348145,-33.88931656,0.00000000,0.00000000,268.69885254, .interiorid = 1); //object(cj_bunk_bed1) (1)
  51568. CreateDynamicObject(1337,322.30862427,-1474.60803223,-33.87375641,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(binnt07_la) (2)
  51569. CreateDynamicObject(1338,326.28952026,-1476.88671875,-33.81167221,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(binnt08_la) (1)
  51570. CreateDynamicObject(1440,324.06448364,-1476.95019531,-34.00386810,0.00000000,0.00000000,180.00000000, .interiorid = 1); //object(dyn_box_pile_3) (1)
  51571. CreateDynamicObject(1265,325.22683716,-1476.19226074,-34.05393982,0.00000000,0.00000000,296.25524902, .interiorid = 1); //object(blackbag2) (1)
  51572. CreateDynamicObject(1264,323.25726318,-1474.70031738,-34.05083847,0.00000000,0.00000000,279.02832031, .interiorid = 1); //object(blackbag1) (1)
  51573. CreateDynamicObject(11631,329.22161865,-1468.77941895,-33.27708054,0.00000000,0.00000000,270.00000000, .interiorid = 1); //object(ranch_desk) (1)
  51574. CreateDynamicObject(2607,325.18939209,-1468.12915039,-34.12730026,0.00000000,0.00000000,180.00000000, .interiorid = 1); //object(polce_desk2) (1)
  51575. CreateDynamicObject(2356,328.48495483,-1469.47021484,-34.52298355,0.00000000,0.00000000,303.83496094, .interiorid = 1); //object(police_off_chair) (1)
  51576. CreateDynamicObject(2207,303.88574219,-1480.73437500,-28.73089981,0.00000000,0.00000000,270.00000000, .interiorid = 1); //object(med_office7_desk_1) (1)
  51577. CreateDynamicObject(1714,305.63839722,-1481.56811523,-28.75525284,0.00000000,0.00000000,286.04431152, .interiorid = 1); //object(kb_swivelchair1) (2)
  51578. CreateDynamicObject(2190,303.95974731,-1482.46374512,-27.95352745,0.00000000,0.00000000,111.03887939, .interiorid = 1); //object(pc_1) (2)
  51579. CreateDynamicObject(2311,304.88085938,-1489.10546875,-28.73089981,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(cj_tv_table2) (2)
  51580. CreateDynamicObject(2700,300.06005859,-1481.78222656,-25.16612434,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(cj_sex_tv2) (1)
  51581. CreateDynamicObject(1893,301.89276123,-1493.61791992,-31.40267563,0.00000000,0.00000000,270.00000000, .interiorid = 1); //object(shoplight1) (1)
  51582. CreateDynamicObject(1893,301.88687134,-1486.12084961,-31.40267563,0.00000000,0.00000000,270.00000000, .interiorid = 1); //object(shoplight1) (2)
  51583. CreateDynamicObject(1893,301.28695679,-1483.02026367,-31.40267563,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(shoplight1) (3)
  51584. CreateDynamicObject(2007,285.47372437,-1461.86901855,-34.53079605,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(filing_cab_nu01) (1)
  51585. CreateDynamicObject(2007,285.47827148,-1465.82226562,-34.53079605,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(filing_cab_nu01) (2)
  51586. CreateDynamicObject(2008,289.19281006,-1463.93908691,-34.53079605,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(officedesk1) (1)
  51587. CreateDynamicObject(1714,290.24304199,-1463.02392578,-34.52298355,0.00000000,0.00000000,289.61608887, .interiorid = 1); //object(kb_swivelchair1) (1)
  51588. CreateDynamicObject(2608,292.67315674,-1465.32287598,-33.81932449,0.00000000,0.00000000,270.00000000, .interiorid = 1); //object(polce_shelf) (1)
  51589. CreateDynamicObject(2609,292.52435303,-1461.60766602,-33.79908752,0.00000000,0.00000000,270.00000000, .interiorid = 1); //object(cj_p_fileing1) (1)
  51590. CreateDynamicObject(2191,292.37973022,-1462.93566895,-34.53079605,0.00000000,0.00000000,270.00000000, .interiorid = 1); //object(med_office2_cab) (1)
  51591. CreateDynamicObject(16662,309.20010376,-1463.23413086,-24.77413940,63.39999390,90.00000000,270.00000000, .interiorid = 1); //object(a51_radar_stuff) (1)
  51592. CreateDynamicObject(1668,304.25622559,-1480.90881348,-27.78682327,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(propvodkabotl1) (1)
  51593. CreateDynamicObject(2855,303.82894897,-1481.18969727,-27.95352745,0.00000000,0.00000000,65.86511230, .interiorid = 1); //object(gb_bedmags05) (1)
  51594. CreateDynamicObject(2852,303.61880493,-1482.01403809,-27.95352745,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(gb_bedmags02) (1)
  51595. CreateDynamicObject(1736,307.49340820,-1481.78393555,-25.27207184,0.00000000,0.00000000,269.48693848, .interiorid = 1); //object(cj_stags_head) (1)
  51596. CreateDynamicObject(2491,308.43945312,-1467.54589844,-35.16662979,0.00000000,0.00000000,179.99450684, .interiorid = 1); //object(model_stand) (1)
  51597. CreateDynamicObject(1730,300.42053223,-1474.60668945,-28.73089981,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(swank_cabinet_3) (1)
  51598. CreateDynamicObject(2204,301.84945679,-1474.26086426,-28.73089981,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(med_office8_cabinet) (2)
  51599. CreateDynamicObject(2200,302.21353149,-1474.26831055,-26.94274521,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(med_office5_unit_1) (2)
  51600. CreateDynamicObject(1703,304.62121582,-1474.67419434,-28.73089981,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(kb_couch02) (3)
  51601. CreateDynamicObject(12814,313.29492188,-1478.75097656,-24.23483658,0.00000000,0.00000000,179.99450684, .interiorid = 1); //object(cuntyeland04) (1)
  51602. CreateDynamicObject(2002,302.75833130,-1489.31335449,-28.73089981,0.00000000,0.00000000,180.00000000, .interiorid = 1); //object(water_coolnu) (1)
  51603. CreateDynamicObject(2288,300.29425049,-1479.18029785,-26.33251381,0.00000000,0.00000000,90.09881592, .interiorid = 1); //object(frame_3) (1)
  51604. CreateDynamicObject(2007,314.12896729,-1505.99865723,-46.13018036,0.00000000,0.00000000,270.00000000, .interiorid = 1); //object(filing_cab_nu01) (3)
  51605. CreateDynamicObject(1806,312.65527344,-1512.03027344,-46.12367630,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(med_office_chair) (1)
  51606. CreateDynamicObject(1806,312.62911987,-1518.00183105,-46.12367630,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(med_office_chair) (1)
  51607. CreateDynamicObject(1806,312.64999390,-1499.31555176,-46.12367630,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(med_office_chair) (1)
  51608. CreateDynamicObject(1806,312.67895508,-1493.98632812,-46.12367630,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(med_office_chair) (1)
  51609. CreateDynamicObject(2190,310.62237549,-1512.26940918,-45.21636200,0.00000000,0.00000000,104.99630737, .interiorid = 1); //object(pc_1) (1)
  51610. CreateDynamicObject(2190,310.59692383,-1518.19750977,-45.21636200,0.00000000,0.00000000,104.99630737, .interiorid = 1); //object(pc_1) (1)
  51611. CreateDynamicObject(2190,310.74307251,-1499.55859375,-45.21636200,0.00000000,0.00000000,104.99630737, .interiorid = 1); //object(pc_1) (1)
  51612. CreateDynamicObject(2190,310.70114136,-1494.10925293,-45.21636200,0.00000000,0.00000000,104.99633789, .interiorid = 1); //object(pc_1) (1)
  51613. CreateDynamicObject(1886,308.70672607,-1467.93701172,-30.56187057,16.16790771,0.19573975,179.06506348, .interiorid = 1); //object(shop_sec_cam) (1)
  51614. CreateDynamicObject(2747,308.48376465,-1472.51135254,-34.11668777,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(cj_donut_table) (1)
  51615. CreateDynamicObject(2747,310.08023071,-1472.51135254,-34.11668777,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(cj_donut_table) (2)
  51616. CreateDynamicObject(2747,306.88693237,-1472.51135254,-34.11668777,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(cj_donut_table) (3)
  51617. CreateDynamicObject(2747,306.88693237,-1473.50244141,-34.11668777,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(cj_donut_table) (4)
  51618. CreateDynamicObject(2747,308.48376465,-1473.50244141,-34.11668777,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(cj_donut_table) (5)
  51619. CreateDynamicObject(2747,310.08023071,-1473.50244141,-34.11668777,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(cj_donut_table) (6)
  51620. CreateDynamicObject(1806,306.94726562,-1474.57141113,-34.52923965,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(med_office_chair) (6)
  51621. CreateDynamicObject(1806,308.53701782,-1474.58837891,-34.52923965,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(med_office_chair) (7)
  51622. CreateDynamicObject(1806,310.08981323,-1474.62011719,-34.52923965,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(med_office_chair) (8)
  51623. CreateDynamicObject(1806,310.13595581,-1471.40625000,-34.52923965,0.00000000,0.00000000,180.00000000, .interiorid = 1); //object(med_office_chair) (9)
  51624. CreateDynamicObject(1806,308.49731445,-1471.39831543,-34.52923965,0.00000000,0.00000000,179.99450684, .interiorid = 1); //object(med_office_chair) (10)
  51625. CreateDynamicObject(1806,306.94650269,-1471.37988281,-34.52923965,0.00000000,0.00000000,179.99450684, .interiorid = 1); //object(med_office_chair) (11)
  51626. CreateDynamicObject(1806,305.62155151,-1473.00012207,-34.52923965,0.00000000,0.00000000,270.00000000, .interiorid = 1); //object(med_office_chair) (12)
  51627. CreateDynamicObject(1806,311.44116211,-1472.99316406,-34.52923965,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(med_office_chair) (13)
  51628. CreateDynamicObject(16782,322.13433838,-1469.29296875,-32.56002808,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(a51_radar_scan) (1)
  51629. CreateDynamicObject(2611,325.91857910,-1473.77783203,-32.58835220,0.00000000,0.00000000,179.93066406, .interiorid = 1); //object(police_nb1) (1)
  51630. CreateDynamicObject(14527,304.30047607,-1480.94714355,-26.86861801,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(fannyfan) (1)
  51631. CreateDynamicObject(2198,289.17578125,-1474.82629395,-34.53079605,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(med_office2_desk_3) (1)
  51632. CreateDynamicObject(1714,290.23767090,-1474.06457520,-34.53079605,0.00000000,0.00000000,300.22509766, .interiorid = 1); //object(kb_swivelchair1) (4)
  51633. CreateDynamicObject(2182,292.43322754,-1475.33679199,-34.53079605,0.00000000,0.00000000,180.00000000, .interiorid = 1); //object(med_office5_desk_1) (1)
  51634. CreateDynamicObject(2000,285.47576904,-1472.12133789,-34.53079605,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(filing_cab_nu) (1)
  51635. CreateDynamicObject(2000,285.47576904,-1472.64123535,-34.53079605,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(filing_cab_nu) (2)
  51636. CreateDynamicObject(14632,321.33325195,-1475.83569336,-33.03472900,0.00000000,0.00000000,270.00000000, .interiorid = 1); //object(paperchase_bits2b) (1)
  51637. CreateDynamicObject(2186,329.36141968,-1464.33728027,-34.52298355,0.00000000,0.00000000,270.00000000, .interiorid = 1); //object(photocopier_1) (1)
  51638. CreateDynamicObject(2206,329.35076904,-1471.45605469,-34.52298355,0.00000000,0.00000000,270.00000000, .interiorid = 1); //object(med_office8_desk_02) (1)
  51639. CreateDynamicObject(2606,329.50375366,-1472.36730957,-33.36120224,0.00000000,0.00000000,270.00000000, .interiorid = 1); //object(cj_police_counter2) (1)
  51640. CreateDynamicObject(2612,304.02514648,-1463.07299805,-32.50022888,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(police_nb2) (1)
  51641. CreateDynamicObject(2611,314.25363159,-1463.07299805,-32.39287949,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(police_nb1) (2)
  51642. CreateDynamicObject(1722,323.52783203,-1485.03967285,-34.52298355,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(off_chairnu) (1)
  51643. CreateDynamicObject(1722,322.35116577,-1485.02929688,-34.52298355,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(off_chairnu) (2)
  51644. CreateDynamicObject(1722,321.10070801,-1485.05798340,-34.52298355,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(off_chairnu) (3)
  51645. CreateDynamicObject(1722,325.25961304,-1481.93444824,-34.52298355,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(off_chairnu) (4)
  51646. CreateDynamicObject(1722,325.27322388,-1480.63781738,-34.52298355,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(off_chairnu) (5)
  51647. CreateDynamicObject(1722,325.24453735,-1479.48413086,-34.52298355,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(off_chairnu) (6)
  51648. CreateDynamicObject(1808,317.90686035,-1482.45349121,-34.52298355,0.00000000,0.00000000,90.00000000, .interiorid = 1); //object(cj_watercooler2) (1)
  51649. CreateDynamicObject(15038,325.23391724,-1478.51025391,-33.90579605,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(plant_pot_3_sv) (1)
  51650. CreateDynamicObject(1616,317.07241821,-1498.25427246,-37.11650085,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(nt_securecam1_01) (1)
  51651. CreateDynamicObject(1616,281.14285278,-1481.05761719,-31.00306702,0.00000000,0.00000000,267.23352051, .interiorid = 1); //object(nt_securecam1_01) (2)
  51652. CreateDynamicObject(1616,318.01690674,-1485.05334473,-31.00306702,0.00000000,0.00000000,267.23144531, .interiorid = 1); //object(nt_securecam1_01) (3)
  51653. CreateDynamicObject(1616,277.92636108,-1509.63354492,-43.22993469,0.00000000,0.00000000,267.23144531, .interiorid = 1); //object(nt_securecam1_01) (4)
  51654. // Hospital Interior
  51655. CreateDynamicObject(18030, 1174.7900390625, -1343.57421875, 2424.4133300781, 0, 0, 0, .interiorid = 1);
  51656. CreateDynamicObject(14466, 1214.5484619141, -1360.7130126953, 2432.2053222656, 0, 0, 270.5, .interiorid = 1);
  51657. CreateDynamicObject(7191, 1191.828125, -1351.0107421875, 2421.6208496094, 0, 270, 0, .interiorid = 1);
  51658. CreateDynamicObject(14782, 1187.7976074219, -1353.7375488281, 2423.0622558594, 0, 0, 90.5, .interiorid = 1);
  51659. CreateDynamicObject(1523, 1190.55078125, -1350.01953125, 2422.2648925781, 0, 0, 180.24719238281, .interiorid = 1);
  51660. CreateDynamicObject(18070, 1169.6414794922, -1345.1927490234, 2422.5458984375, 0, 0, 0, .interiorid = 1);
  51661. CreateDynamicObject(4724, 1158.5886230469, -1353.6053466797, 2423.7512207031, 0, 0, 0.25, .interiorid = 1);
  51662. CreateDynamicObject(2001, 1163.2530517578, -1355.927734375, 2422.0461425781, 0, 0, 0, .interiorid = 1);
  51663. CreateDynamicObject(932, 1185.4672851563, -1355.8714599609, 2422.0461425781, 0, 0, 272.5, .interiorid = 1);
  51664. CreateDynamicObject(932, 1183.7150878906, -1355.9479980469, 2422.0461425781, 0, 0, 272.49938964844, .interiorid = 1);
  51665. CreateDynamicObject(932, 1182.11328125, -1355.9810791016, 2422.0461425781, 0, 0, 272.49938964844, .interiorid = 1);
  51666. CreateDynamicObject(932, 1180.4866943359, -1355.9487304688, 2422.0461425781, 0, 0, 272.49938964844, .interiorid = 1);
  51667. CreateDynamicObject(1557, 1168.1516113281, -1357.0413818359, 2422.0461425781, 0, 0, 359.5, .interiorid = 1);
  51668. CreateDynamicObject(1557, 1171.1590576172, -1357.0489501953, 2422.0461425781, 0, 0, 180, .interiorid = 1);
  51669. CreateDynamicObject(2596, 1156.7939453125, -1348.4765625, 2425.3452148438, 0, 0, 0, .interiorid = 1);
  51670. CreateDynamicObject(2596, 1163.4686279297, -1354.6719970703, 2425.3083496094, 0, 0, 270.25, .interiorid = 1);
  51671. CreateDynamicObject(2773, 1185.4097900391, -1354.6234130859, 2422.5634765625, 0, 0, 90.25, .interiorid = 1);
  51672. CreateDynamicObject(2773, 1183.4921875, -1354.6352539063, 2422.5634765625, 0, 0, 90.247192382813, .interiorid = 1);
  51673. CreateDynamicObject(2773, 1181.576171875, -1354.6499023438, 2422.5634765625, 0, 0, 90.247192382813, .interiorid = 1);
  51674. CreateDynamicObject(2190, 1168.4984130859, -1346.9685058594, 2423.0561523438, 0, 0.25, 182.75, .interiorid = 1);
  51675. CreateDynamicObject(2190, 1170.7844238281, -1346.9844970703, 2423.0561523438, 0, 0.2471923828125, 182.74658203125, .interiorid = 1);
  51676. CreateDynamicObject(1663, 1170.712890625, -1345.3366699219, 2422.5063476563, 0, 0, 17.25, .interiorid = 1);
  51677. CreateDynamicObject(1663, 1168.3572998047, -1345.3454589844, 2422.5063476563, 0, 0, 355.99853515625, .interiorid = 1);
  51678. CreateDynamicObject(2894, 1169.7390136719, -1347.2918701172, 2423.0561523438, 0, 0, 0, .interiorid = 1);
  51679. CreateDynamicObject(7930, 1189.5693359375, -1345.9460449219, 2423.5441894531, 90, 180.0054931640600549316406, 269.98352050781, .interiorid = 1);
  51680. CreateDynamicObject(3962, 1156.3192138672, -1357.0517578125, 2424.2602539063, 0, 0, 268.5, .interiorid = 1);
  51681. CreateDynamicObject(2257, 1152.9465332031, -1351.5755615234, 2424.3505859375, 0, 180, 89.999969482422, .interiorid = 1);
  51682. CreateDynamicObject(2243, 1166.4963378906, -1348.0822753906, 2422.3195800781, 0, 0, 0, .interiorid = 1);
  51683. CreateDynamicObject(2243, 1172.7916259766, -1347.9880371094, 2422.3195800781, 0, 0, 0, .interiorid = 1);
  51684. CreateDynamicObject(2954, 1190.2352294922, -1346.0294189453, 2422.0461425781, 0, 0, 270.5, .interiorid = 1);
  51685. CreateDynamicObject(1726, 1155.638671875, -1348.72265625, 2422.0461425781, 0, 0, 0.25, .interiorid = 1);
  51686. CreateDynamicObject(1726, 1153.4948730469, -1352.5561523438, 2422.0461425781, 0, 0, 89.997192382813, .interiorid = 1);
  51687. CreateDynamicObject(1726, 1157.3165283203, -1355.7957763672, 2422.0461425781, 0, 0, 179.99450683594, .interiorid = 1);
  51688. CreateDynamicObject(1727, 1154.0897216797, -1354.7977294922, 2422.0461425781, 0, 0, 123, .interiorid = 1);
  51689. CreateDynamicObject(1727, 1153.9633789063, -1349.6390380859, 2422.0461425781, 0, 0, 44.997436523438, .interiorid = 1);
  51690. CreateDynamicObject(1727, 1162.5498046875, -1354.5593261719, 2422.0461425781, 0, 0, 220.99743652344, .interiorid = 1);
  51691. CreateDynamicObject(7191, 1157.6741943359, -1339.1177978516, 2424.0207519531, 0, 0, 270, .interiorid = 1);
  51692. CreateDynamicObject(7191, 1157.6701660156, -1338.3753662109, 2424.0207519531, 0, 0, 270, .interiorid = 1);
  51693. CreateDynamicObject(1776, 1153.2979736328, -1343.3521728516, 2423.1455078125, 0, 0, 90.75, .interiorid = 1);
  51694. CreateDynamicObject(1209, 1153.2958984375, -1346.2855224609, 2422.0461425781, 0, 0, 90.5, .interiorid = 1);
  51695. CreateDynamicObject(7191, 1167.7000732422, -1313.4320068359, 2427.9807128906, 0, 0, 180, .interiorid = 1);
  51696. CreateDynamicObject(7191, 1191.1739501953, -1335.5490722656, 2424.0207519531, 0, 0, 90, .interiorid = 1);
  51697. CreateDynamicObject(7191, 1167.69921875, -1313.431640625, 2424.0207519531, 0, 0, 179.99450683594, .interiorid = 1);
  51698. CreateDynamicObject(7191, 1191.173828125, -1335.548828125, 2427.9807128906, 0, 0, 90, .interiorid = 1);
  51699. CreateDynamicObject(2603, 1154.3084716797, -1331.0260009766, 2422.4995117188, 0, 0, 0, .interiorid = 1);
  51700. CreateDynamicObject(2603, 1157.8651123047, -1331.033203125, 2422.4995117188, 0, 0, 0, .interiorid = 1);
  51701. CreateDynamicObject(2603, 1162.1901855469, -1330.9475097656, 2422.4995117188, 0, 0, 0, .interiorid = 1);
  51702. CreateDynamicObject(2603, 1165.8120117188, -1330.8693847656, 2422.4995117188, 0, 0, 0, .interiorid = 1);
  51703. CreateDynamicObject(2596, 1156.2908935547, -1337.9664306641, 2424.7763671875, 0, 0, 179.25, .interiorid = 1);
  51704. CreateDynamicObject(2596, 1163.3677978516, -1337.9395751953, 2424.7763671875, 0, 0, 179.24743652344, .interiorid = 1);
  51705. CreateDynamicObject(3383, 1175.9519042969, -1330.5677490234, 2422.0461425781, 0, 0, 179.75, .interiorid = 1);
  51706. CreateDynamicObject(3383, 1183.3975830078, -1330.3992919922, 2422.0461425781, 0, 0, 179.74731445313, .interiorid = 1);
  51707. CreateDynamicObject(3388, 1172.5631103516, -1329.8569335938, 2422.0461425781, 0, 0, 90.25, .interiorid = 1);
  51708. CreateDynamicObject(3388, 1180.3153076172, -1329.8544921875, 2422.0461425781, 0, 0, 90.247192382813, .interiorid = 1);
  51709. CreateDynamicObject(3394, 1184.6655273438, -1334.9022216797, 2422.0461425781, 0, 0, 269.75, .interiorid = 1);
  51710. CreateDynamicObject(3394, 1175.7877197266, -1334.8275146484, 2422.0461425781, 0, 0, 269.74731445313, .interiorid = 1);
  51711. // Fire Department
  51712. CreateDynamicObject(14853, 233.17, 151.00, 2002.00, 0.00, 0.00, 0.00, .interiorid = 73);
  51713. CreateDynamicObject(14855, 199.40, 146.71, 2000.94, 0.00, 0.00, 0.00, .interiorid = 73);
  51714. CreateDynamicObject(8133, 222.43, 152.07, 2022.76, 90.00, 0.00, 0.00, .interiorid = 73);
  51715. CreateDynamicObject(14858, 213.01, 151.55, 2002.00, 0.00, 0.00, 0.00, .interiorid = 73);
  51716. CreateDynamicObject(8133, 172.93, 150.34, 1997.00, 0.00, 90.00, 0.00, .interiorid = 73);
  51717. CreateDynamicObject(2206, 189.63, 132.41, 1996.78, 0.00, 0.00, 180.00, .interiorid = 73);
  51718. CreateDynamicObject(2206, 184.74, 132.63, 1996.84, 0.00, 0.00, 180.00, .interiorid = 73);
  51719. CreateDynamicObject(2737, 189.22, 135.20, 1999.00, 0.00, 0.00, 0.00, .interiorid = 73);
  51720. CreateDynamicObject(1663, 188.62, 130.16, 1997.31, 0.00, 0.00, 180.00, .interiorid = 73);
  51721. CreateDynamicObject(1663, 189.68, 130.87, 1997.31, 0.00, 0.00, 180.00, .interiorid = 73);
  51722. CreateDynamicObject(1663, 187.74, 130.89, 1997.31, 0.00, 0.00, 180.00, .interiorid = 73);
  51723. CreateDynamicObject(1663, 184.92, 131.06, 1997.31, 0.00, 0.00, 180.00, .interiorid = 73);
  51724. CreateDynamicObject(1663, 183.72, 130.35, 1997.31, 0.00, 0.00, 180.00, .interiorid = 73);
  51725. CreateDynamicObject(1663, 182.57, 131.09, 1997.31, 0.00, 0.00, 180.00, .interiorid = 73);
  51726. CreateDynamicObject(1671, 188.75, 133.92, 1997.30, 0.00, 0.00, 0.00, .interiorid = 73);
  51727. CreateDynamicObject(1671, 183.78, 133.49, 1997.30, 0.00, 0.00, 0.00, .interiorid = 73);
  51728. CreateDynamicObject(16378, 178.77, 133.37, 1997.58, 0.00, 0.00, 0.00, .interiorid = 73);
  51729. CreateDynamicObject(1721, 178.29, 132.04, 1997.00, 0.00, 0.00, 0.00, .interiorid = 73);
  51730. CreateDynamicObject(1721, 176.43, 132.10, 1997.00, 0.00, 0.00, 0.00, .interiorid = 73);
  51731. CreateDynamicObject(2161, 175.98, 128.29, 1996.90, 0.00, 0.00, 90.00, .interiorid = 73);
  51732. CreateDynamicObject(2161, 175.98, 129.59, 1996.90, 0.00, 0.00, 90.00, .interiorid = 73);
  51733. CreateDynamicObject(2163, 181.20, 127.73, 1996.88, 0.00, 0.00, 90.00, .interiorid = 73);
  51734. CreateDynamicObject(2163, 181.20, 127.73, 1997.78, 0.00, 0.00, 90.00, .interiorid = 73);
  51735. CreateDynamicObject(14455, 191.37, 128.10, 1998.53, 0.00, 0.00, 90.00, .interiorid = 73);
  51736. CreateDynamicObject(2002, 186.88, 135.02, 1997.00, 0.00, 0.00, 0.00, .interiorid = 73);
  51737. CreateDynamicObject(2002, 181.72, 134.96, 1997.00, 0.00, 0.00, 0.00, .interiorid = 73);
  51738. CreateDynamicObject(644, 190.81, 134.36, 1997.00, 0.00, 0.00, 104.00, .interiorid = 73);
  51739. CreateDynamicObject(2240, 185.72, 127.87, 1997.26, 0.00, 0.00, 0.00, .interiorid = 73);
  51740. CreateDynamicObject(14782, 189.27, 167.67, 1997.86, 0.00, 0.00, 90.00, .interiorid = 73);
  51741. CreateDynamicObject(14782, 192.03, 167.76, 1997.86, 0.00, 0.00, 270.00, .interiorid = 73);
  51742. CreateDynamicObject(14401, 179.46, 171.55, 1997.00, 0.00, 0.00, 270.00, .interiorid = 73);
  51743. CreateDynamicObject(14401, 185.46, 171.59, 1997.00, 0.00, 0.00, 270.00, .interiorid = 73);
  51744. CreateDynamicObject(14401, 202.21, 176.02, 1997.00, 0.00, 0.00, 90.00, .interiorid = 73);
  51745. CreateDynamicObject(14401, 197.28, 176.04, 1997.00, 0.00, 0.00, 90.00, .interiorid = 73);
  51746. CreateDynamicObject(14401, 191.47, 176.12, 1997.00, 0.00, 0.00, 90.00, .interiorid = 73);
  51747. CreateDynamicObject(14401, 195.93, 175.97, 1997.00, 0.00, 0.00, 90.00, .interiorid = 73);
  51748. CreateDynamicObject(366, 189.03, 171.99, 1997.95, 0.00, 40.00, 0.00, .interiorid = 73);
  51749. CreateDynamicObject(14397, 204.39, 172.34, 1996.37, 0.00, 0.00, 0.00, .interiorid = 73);
  51750. CreateDynamicObject(366, 189.59, 172.00, 1997.95, 0.00, 40.00, 0.00, .interiorid = 73);
  51751. CreateDynamicObject(366, 190.07, 172.02, 1997.95, 0.00, 40.00, 0.00, .interiorid = 73);
  51752. CreateDynamicObject(366, 190.51, 172.01, 1997.95, 0.00, 40.00, 0.00, .interiorid = 73);
  51753. CreateDynamicObject(366, 191.01, 172.03, 1997.95, 0.00, 40.00, 0.00, .interiorid = 73);
  51754. CreateDynamicObject(366, 191.45, 172.01, 1997.95, 0.00, 40.00, 0.00, .interiorid = 73);
  51755. CreateDynamicObject(366, 192.19, 172.26, 1997.94, 0.00, 40.00, 236.00, .interiorid = 73);
  51756. CreateDynamicObject(2395, 193.89, 162.71, 1996.87, 0.00, 0.00, 309.00, .interiorid = 73);
  51757. CreateDynamicObject(2395, 193.90, 162.70, 1999.58, 0.00, 0.00, 309.00, .interiorid = 73);
  51758. CreateDynamicObject(1523, 193.71, 163.13, 1996.83, 0.00, 0.00, 129.00, .interiorid = 73);
  51759. CreateDynamicObject(2395, 192.61, 164.30, 2002.55, 0.00, 90.00, 309.00, .interiorid = 73);
  51760. CreateDynamicObject(2395, 195.92, 160.21, 2000.08, 0.00, 90.00, 309.00, .interiorid = 73);
  51761. CreateDynamicObject(2395, 193.89, 162.71, 1996.87, 0.00, 180.00, 309.00, .interiorid = 73);
  51762. CreateDynamicObject(2395, 195.81, 160.69, 1999.58, 0.00, 0.00, 129.00, .interiorid = 73);
  51763. CreateDynamicObject(2395, 195.81, 160.69, 1996.87, 0.00, 0.00, 129.00, .interiorid = 73);
  51764. CreateDynamicObject(2395, 197.83, 158.17, 2000.08, 0.00, 90.00, 129.00, .interiorid = 73);
  51765. CreateDynamicObject(2395, 194.50, 162.28, 2002.55, 0.00, 90.00, 129.00, .interiorid = 73);
  51766. CreateDynamicObject(2198, 187.40, 148.76, 1996.80, 0.00, 0.00, 0.00, .interiorid = 73);
  51767. CreateDynamicObject(2198, 188.44, 149.81, 1996.80, 0.00, 0.00, 180.00, .interiorid = 73);
  51768. CreateDynamicObject(2198, 189.37, 148.76, 1996.80, 0.00, 0.00, 90.00, .interiorid = 73);
  51769. CreateDynamicObject(2198, 186.49, 149.80, 1996.80, 0.00, 0.00, 270.00, .interiorid = 73);
  51770. CreateDynamicObject(2356, 187.91, 147.53, 1996.85, 0.00, 0.00, 0.00, .interiorid = 73);
  51771. CreateDynamicObject(2356, 187.76, 150.76, 1996.85, 0.00, 0.00, 180.00, .interiorid = 73);
  51772. CreateDynamicObject(2356, 190.04, 149.26, 1996.85, 0.00, 0.00, 90.00, .interiorid = 73);
  51773. CreateDynamicObject(2356, 185.33, 149.21, 1996.85, 0.00, 0.00, 270.00, .interiorid = 73);
  51774. CreateDynamicObject(2198, 180.87, 147.97, 1997.00, 0.00, 0.00, 90.00, .interiorid = 73);
  51775. CreateDynamicObject(2198, 179.89, 149.01, 1997.00, 0.00, 0.00, 270.00, .interiorid = 73);
  51776. CreateDynamicObject(2198, 179.86, 147.06, 1997.00, 0.00, 0.00, 0.00, .interiorid = 73);
  51777. CreateDynamicObject(2198, 180.88, 149.94, 1997.00, 0.00, 0.00, 180.00, .interiorid = 73);
  51778. CreateDynamicObject(2356, 180.23, 151.13, 1996.85, 0.00, 0.00, 180.00, .interiorid = 73);
  51779. CreateDynamicObject(2356, 180.45, 145.81, 1996.85, 0.00, 0.00, 0.00, .interiorid = 73);
  51780. CreateDynamicObject(2356, 181.97, 148.37, 1996.85, 0.00, 0.00, 90.00, .interiorid = 73);
  51781. CreateDynamicObject(2356, 178.87, 148.29, 1996.85, 0.00, 0.00, 270.00, .interiorid = 73);
  51782. CreateDynamicObject(2202, 184.09, 159.46, 1996.85, 0.00, 0.00, 0.00, .interiorid = 73);
  51783. CreateDynamicObject(2202, 178.75, 159.42, 1996.80, 0.00, 0.00, 0.00, .interiorid = 73);
  51784. CreateDynamicObject(2197, 190.60, 159.55, 1996.80, 0.00, 0.00, 270.00, .interiorid = 73);
  51785. CreateDynamicObject(2197, 190.62, 158.86, 1996.80, 0.00, 0.00, 270.00, .interiorid = 73);
  51786. CreateDynamicObject(2197, 190.62, 158.19, 1996.80, 0.00, 0.00, 270.00, .interiorid = 73);
  51787. CreateDynamicObject(2197, 190.63, 157.51, 1996.81, 0.00, 0.00, 270.00, .interiorid = 73);
  51788. CreateDynamicObject(2191, 191.16, 156.67, 1996.73, 0.00, 0.00, 270.00, .interiorid = 73);
  51789. CreateDynamicObject(2198, 183.86, 153.59, 1997.00, 0.00, 0.00, 0.00, .interiorid = 73);
  51790. CreateDynamicObject(2198, 184.94, 154.59, 1996.80, 0.00, 0.00, 180.00, .interiorid = 73);
  51791. CreateDynamicObject(2198, 185.87, 153.57, 1996.80, 0.00, 0.00, 90.00, .interiorid = 73);
  51792. CreateDynamicObject(2198, 182.97, 154.58, 1996.80, 0.00, 0.00, 270.00, .interiorid = 73);
  51793. CreateDynamicObject(2356, 182.00, 154.01, 1996.85, 0.00, 0.00, 270.00, .interiorid = 73);
  51794. CreateDynamicObject(2356, 184.37, 152.52, 1996.85, 0.00, 0.00, 0.00, .interiorid = 73);
  51795. CreateDynamicObject(2356, 186.76, 154.00, 1996.85, 0.00, 0.00, 90.00, .interiorid = 73);
  51796. CreateDynamicObject(2356, 184.40, 155.67, 1996.85, 0.00, 0.00, 180.00, .interiorid = 73);
  51797. CreateDynamicObject(2204, 191.66, 145.73, 1996.80, 0.00, 0.00, 270.00, .interiorid = 73);
  51798. CreateDynamicObject(2001, 191.50, 154.56, 1996.82, 0.00, 0.00, 0.00, .interiorid = 73);
  51799. CreateDynamicObject(2001, 191.50, 151.45, 1996.82, 0.00, 0.00, 0.00, .interiorid = 73);
  51800. CreateDynamicObject(2001, 191.55, 147.75, 1996.82, 0.00, 0.00, 0.00, .interiorid = 73);
  51801. CreateDynamicObject(2266, 184.69, 143.75, 1998.76, 0.00, 0.00, 180.00, .interiorid = 73);
  51802. CreateDynamicObject(2258, 177.72, 154.14, 1999.00, 0.00, 0.00, 90.00, .interiorid = 73);
  51803. CreateDynamicObject(638, 172.83, 157.38, 1997.53, 0.00, 0.00, 0.00, .interiorid = 73);
  51804. CreateDynamicObject(638, 172.78, 144.98, 1997.53, 0.00, 0.00, 0.00, .interiorid = 73);
  51805. CreateDynamicObject(2013, 199.64, 164.01, 1996.70, 0.00, 0.00, 270.00, .interiorid = 73);
  51806. CreateDynamicObject(2014, 199.64, 162.03, 1996.70, 0.00, 0.00, 270.00, .interiorid = 73);
  51807. CreateDynamicObject(2014, 199.63, 165.00, 1996.70, 0.00, 0.00, 270.00, .interiorid = 73);
  51808. CreateDynamicObject(2017, 199.62, 166.01, 1996.71, 0.00, 0.00, 270.00, .interiorid = 73);
  51809. CreateDynamicObject(2016, 199.62, 167.00, 1996.71, 0.00, 0.00, 270.00, .interiorid = 73);
  51810. CreateDynamicObject(2015, 199.65, 161.04, 1996.70, 0.00, 0.00, 270.00, .interiorid = 73);
  51811. CreateDynamicObject(1786, 195.53, 167.94, 1997.33, 0.00, 0.00, 0.00, .interiorid = 73);
  51812. CreateDynamicObject(2314, 194.92, 167.69, 1996.86, 0.00, 0.00, 0.00, .interiorid = 73);
  51813. CreateDynamicObject(1769, 196.16, 165.31, 1996.59, 0.00, 0.00, 180.00, .interiorid = 73);
  51814. CreateDynamicObject(1769, 197.60, 166.14, 1996.59, 0.00, 0.00, 222.00, .interiorid = 73);
  51815. CreateDynamicObject(1769, 193.80, 165.91, 1996.59, 0.00, 0.00, 90.00, .interiorid = 73);
  51816. CreateDynamicObject(1594, 197.53, 161.01, 1997.28, 0.00, 0.00, 0.00, .interiorid = 73);
  51817. CreateDynamicObject(1594, 195.60, 162.44, 1997.28, 0.00, 0.00, 0.00, .interiorid = 73);
  51818. CreateDynamicObject(2748, 201.20, 122.87, 1997.24, 0.00, 0.00, 180.00, .interiorid = 73);
  51819. CreateDynamicObject(1775, 198.92, 122.92, 1997.93, 0.00, 0.00, 180.00, .interiorid = 73);
  51820. CreateDynamicObject(8133, 208.60, 141.42, 2013.00, 0.00, 90.00, 180.00, .interiorid = 73);
  51821. CreateDynamicObject(637, 196.63, 131.45, 1997.03, 0.00, 0.00, 0.00, .interiorid = 73);
  51822. CreateDynamicObject(860, 196.75, 132.35, 1997.27, 0.00, 0.00, 0.00, .interiorid = 73);
  51823. CreateDynamicObject(860, 196.68, 130.50, 1997.27, 0.00, 0.00, 0.00, .interiorid = 73);
  51824. CreateDynamicObject(861, 196.66, 131.45, 1997.20, 0.00, 0.00, 0.00, .interiorid = 73);
  51825. CreateDynamicObject(3660, 208.64, 134.32, 1998.99, 0.00, 0.00, 90.00, .interiorid = 73);
  51826. CreateDynamicObject(3660, 208.65, 153.92, 1998.99, 0.00, 0.00, 90.00, .interiorid = 73);
  51827. CreateDynamicObject(2356, 200.61, 150.34, 1996.80, 0.00, 0.00, 265.00, .interiorid = 73);
  51828. CreateDynamicObject(2356, 200.63, 147.43, 1996.80, 0.00, 0.00, 287.00, .interiorid = 73);
  51829. CreateDynamicObject(2356, 200.10, 143.63, 1996.80, 0.00, 0.00, 229.00, .interiorid = 73);
  51830. CreateDynamicObject(950, 186.46, 123.30, 1997.35, 0.00, 0.00, 0.00, .interiorid = 73);
  51831. CreateDynamicObject(950, 191.70, 123.31, 1997.35, 0.00, 0.00, 0.00, .interiorid = 73);
  51832. CreateDynamicObject(950, 181.10, 123.31, 1997.35, 0.00, 0.00, 0.00, .interiorid = 73);
  51833. CreateDynamicObject(950, 175.87, 123.29, 1997.35, 0.00, 0.00, 0.00, .interiorid = 73);
  51834. CreateDynamicObject(2252, 199.55, 141.45, 1997.71, 0.00, 0.00, 0.00, .interiorid = 73);
  51835. CreateDynamicObject(2252, 201.91, 145.19, 1997.71, 0.00, 0.00, 0.00, .interiorid = 73);
  51836. CreateDynamicObject(2252, 202.09, 151.59, 1997.71, 0.00, 0.00, 0.00, .interiorid = 73);
  51837. CreateDynamicObject(2190, 200.38, 141.99, 1997.40, 0.00, 0.00, 193.00, .interiorid = 73);
  51838. CreateDynamicObject(2190, 202.09, 147.77, 1997.40, 0.00, 0.00, -91.00, .interiorid = 73);
  51839. CreateDynamicObject(2190, 202.07, 150.05, 1997.40, 0.00, 0.00, -91.00, .interiorid = 73);
  51840. CreateDynamicObject(1533, 208.12, 121.16, 1996.86, 0.00, 0.00, 180.00, .interiorid = 73);
  51841. CreateDynamicObject(1533, 206.63, 121.16, 1996.86, 0.00, 0.00, 180.00, .interiorid = 73);
  51842. CreateDynamicObject(1721, 196.49, 128.82, 1996.83, 0.00, 0.00, 270.00, .interiorid = 73);
  51843. CreateDynamicObject(1721, 196.49, 128.20, 1996.83, 0.00, 0.00, 270.00, .interiorid = 73);
  51844. CreateDynamicObject(1721, 196.50, 127.58, 1996.83, 0.00, 0.00, 270.00, .interiorid = 73);
  51845. CreateDynamicObject(1721, 196.49, 126.97, 1996.83, 0.00, 0.00, 270.00, .interiorid = 73);
  51846. CreateDynamicObject(1721, 196.47, 126.34, 1996.83, 0.00, 0.00, 270.00, .interiorid = 73);
  51847. CreateDynamicObject(1721, 196.44, 125.08, 1996.83, 0.00, 0.00, 270.00, .interiorid = 73);
  51848. CreateDynamicObject(1721, 196.45, 124.50, 1996.83, 0.00, 0.00, 270.00, .interiorid = 73);
  51849. CreateDynamicObject(1721, 196.46, 123.93, 1996.83, 0.00, 0.00, 270.00, .interiorid = 73);
  51850. CreateDynamicObject(1721, 196.47, 123.34, 1996.83, 0.00, 0.00, 270.00, .interiorid = 73);
  51851. CreateDynamicObject(14397, 201.89, 161.46, 2000.14, 0.00, 0.00, 90.00, .interiorid = 73);
  51852. CreateDynamicObject(14397, 201.89, 161.46, 2000.63, 0.00, 0.00, 90.00, .interiorid = 73);
  51853. CreateDynamicObject(3117, 201.29, 142.76, 2002.69, 0.00, 90.00, 149.00, .interiorid = 73);
  51854. CreateDynamicObject(2690, 201.43, 142.68, 2001.29, 0.00, 90.00, 55.00, .interiorid = 73);
  51855. // Hitman Interiors
  51856. CreateDynamicObject(14415, 39.16, 1539.34, -2.51, 0.00, 0.00, 0.00);
  51857. CreateDynamicObject(1536, 64.37, 1549.61, -8.74, 0.00, 0.00, 268.43);
  51858. CreateDynamicObject(1536, 64.34, 1546.66, -8.74, 0.00, 0.00, 87.68);
  51859. CreateDynamicObject(19450, 64.64, 1546.84, -7.34, 0.00, 0.00, 0.00);
  51860. CreateDynamicObject(1491, 46.85, 1542.62, -8.65, 0.00, 0.00, 359.42);
  51861. CreateDynamicObject(1491, 49.82, 1542.64, -8.65, 0.00, 0.00, 179.81);
  51862. CreateDynamicObject(1491, 49.81, 1534.58, -8.65, 0.00, 0.00, 179.81);
  51863. CreateDynamicObject(1491, 46.80, 1534.57, -8.65, 0.00, 0.00, 359.42);
  51864. CreateDynamicObject(1491, 31.26, 1528.10, -8.55, 0.00, 0.00, 90.67);
  51865. CreateDynamicObject(1491, 31.27, 1528.19, -8.55, 0.00, 0.00, 267.67);
  51866. CreateDynamicObject(19450, 18.70, 1546.62, -7.19, 0.00, 0.00, 0.00);
  51867. CreateDynamicObject(2229, 26.23, 1534.98, -8.68, 0.00, 0.00, 177.28);
  51868. CreateDynamicObject(1516, 22.90, 1546.22, -8.68, 0.00, 0.00, 0.00);
  51869. CreateDynamicObject(1516, 24.04, 1546.24, -8.68, 0.00, 0.00, 0.00);
  51870. CreateDynamicObject(1516, 25.16, 1546.26, -8.68, 0.00, 0.00, 0.00);
  51871. CreateDynamicObject(1516, 26.25, 1546.25, -8.68, 0.00, 0.00, 0.00);
  51872. CreateDynamicObject(358, 22.82, 1546.14, -8.16, 0.00, 0.00, 0.00);
  51873. CreateDynamicObject(356, 23.82, 1546.20, -8.05, 0.00, 0.00, 0.00);
  51874. CreateDynamicObject(351, 25.27, 1546.10, -8.16, 0.00, 0.00, 0.00);
  51875. CreateDynamicObject(19129, 26.48, 1544.19, -8.67, 0.00, 0.00, 0.72);
  51876. CreateDynamicObject(18102, 27.50, 1548.24, 1.03, 0.00, 0.00, 0.00);
  51877. CreateDynamicObject(9833, 20.63, 1545.72, -6.29, 0.00, 0.00, 0.00);
  51878. CreateDynamicObject(9833, 28.81, 1546.62, -6.29, 0.00, 0.00, 0.00);
  51879. CreateDynamicObject(19122, 22.20, 1546.17, -8.24, 0.00, 0.00, 264.25);
  51880. CreateDynamicObject(19122, 26.99, 1546.35, -8.24, 0.00, 0.00, 264.25);
  51881. CreateDynamicObject(2229, 22.86, 1534.99, -8.68, 0.00, 0.00, 177.28);
  51882. CreateDynamicObject(2773, 26.24, 1535.64, -8.22, 0.00, 0.00, 2.44);
  51883. CreateDynamicObject(2773, 23.43, 1535.64, -8.22, 0.00, 0.00, 2.44);
  51884. CreateDynamicObject(19465, 25.00, 1534.66, -6.29, 0.00, 0.00, 91.19);
  51885. CreateDynamicObject(1491, 24.25, 1534.58, -8.64, 0.00, 0.00, 1.16);
  51886. // Hitman interior
  51887. CreateDynamicObject(14390, 1249.41, -775.23, 5083.00, 0.00, 0.00, 0.00, .interiorid = 42);
  51888. CreateDynamicObject(14597, 1233.17, -751.84, 5081.75, 0.00, 0.00, 0.00, .interiorid = 42);
  51889. CreateDynamicObject(2395, 1246.36, -755.39, 5082.07, 0.00, 90.00, 90.00, .interiorid = 42);
  51890. CreateDynamicObject(5056, 1246.25, -751.18, 5079.65, 0.00, 90.00, 0.00, .interiorid = 42);
  51891. CreateDynamicObject(1557, 1275.37, -760.01, 5079.75, 0.00, 0.00, 0.00, .interiorid = 42);
  51892. CreateDynamicObject(1557, 1278.39, -760.02, 5079.75, 0.00, 0.00, 180.00, .interiorid = 42);
  51893. CreateDynamicObject(14399, 1257.84, -756.54, 5079.72, 0.00, 0.00, 0.00, .interiorid = 42);
  51894. CreateDynamicObject(2051, 1239.18, -738.26, 5082.22, 0.00, 0.00, 0.00, .interiorid = 42);
  51895. CreateDynamicObject(2051, 1241.72, -738.28, 5082.22, 0.00, 0.00, 0.00, .interiorid = 42);
  51896. CreateDynamicObject(2050, 1240.47, -738.27, 5082.10, 0.00, 0.00, 0.00, .interiorid = 42);
  51897. CreateDynamicObject(18051, 1243.84, -739.91, 5081.25, 0.00, 0.00, 270.00, .interiorid = 42);
  51898. CreateDynamicObject(14397, 1252.44, -743.42, 5081.75, 0.00, 0.00, 0.00, .interiorid = 42);
  51899. CreateDynamicObject(941, 1238.20, -747.91, 5080.19, 0.00, 0.00, 0.00, .interiorid = 42);
  51900. CreateDynamicObject(2041, 1239.44, -748.19, 5080.85, 0.00, 0.00, 180.00, .interiorid = 42);
  51901. CreateDynamicObject(2041, 1239.22, -748.19, 5080.85, 0.00, 0.00, 180.00, .interiorid = 42);
  51902. CreateDynamicObject(348, 1238.59, -747.54, 5080.66, 90.00, 0.00, 0.00, .interiorid = 42);
  51903. CreateDynamicObject(348, 1238.97, -747.50, 5080.66, 90.00, 0.00, 0.00, .interiorid = 42);
  51904. CreateDynamicObject(352, 1237.44, -748.13, 5080.67, 90.00, 0.00, 0.00, .interiorid = 42);
  51905. CreateDynamicObject(2509, 1243.02, -765.45, 5081.59, 0.00, 90.00, 180.00, .interiorid = 42);
  51906. CreateDynamicObject(2509, 1241.14, -765.44, 5081.59, 0.00, 90.00, 180.00, .interiorid = 42);
  51907. CreateDynamicObject(2509, 1239.28, -765.44, 5081.59, 0.00, 90.00, 180.00, .interiorid = 42);
  51908. CreateDynamicObject(352, 1238.59, -765.42, 5081.92, 0.00, 5.00, 1.00, .interiorid = 42);
  51909. CreateDynamicObject(352, 1238.59, -765.42, 5081.44, 0.00, 5.00, 1.00, .interiorid = 42);
  51910. CreateDynamicObject(356, 1239.29, -765.45, 5081.84, 0.00, 0.00, 8.00, .interiorid = 42);
  51911. CreateDynamicObject(356, 1239.29, -765.45, 5081.38, 0.00, 0.00, 8.00, .interiorid = 42);
  51912. CreateDynamicObject(355, 1240.87, -765.44, 5081.91, 0.00, 5.00, 5.00, .interiorid = 42);
  51913. CreateDynamicObject(355, 1240.87, -765.44, 5081.45, 0.00, 5.00, 5.00, .interiorid = 42);
  51914. CreateDynamicObject(351, 1242.02, -765.42, 5081.89, 0.00, 10.00, 3.00, .interiorid = 42);
  51915. CreateDynamicObject(351, 1242.02, -765.42, 5081.42, 0.00, 10.00, 3.00, .interiorid = 42);
  51916. CreateDynamicObject(358, 1243.56, -765.38, 5081.30, -5.00, -40.00, 180.00, .interiorid = 42);
  51917. CreateDynamicObject(3015, 1243.93, -765.21, 5079.83, 0.00, 0.00, 0.00, .interiorid = 42);
  51918. CreateDynamicObject(3015, 1243.47, -765.22, 5079.83, 0.00, 0.00, 0.00, .interiorid = 42);
  51919. CreateDynamicObject(941, 1243.81, -762.82, 5080.16, 0.00, 0.00, 90.00, .interiorid = 42);
  51920. CreateDynamicObject(941, 1243.80, -760.36, 5080.16, 0.00, 0.00, 90.00, .interiorid = 42);
  51921. CreateDynamicObject(363, 1243.86, -758.95, 5080.69, 270.00, 0.00, 270.00, .interiorid = 42);
  51922. CreateDynamicObject(363, 1243.87, -759.23, 5080.69, 270.00, 0.00, 270.00, .interiorid = 42);
  51923. CreateDynamicObject(363, 1243.89, -759.54, 5080.69, 270.00, 0.00, 270.00, .interiorid = 42);
  51924. CreateDynamicObject(363, 1243.89, -759.85, 5080.69, 270.00, 0.00, 270.00, .interiorid = 42);
  51925. CreateDynamicObject(364, 1243.28, -759.35, 5080.62, 0.00, 0.00, 270.00, .interiorid = 42);
  51926. CreateDynamicObject(342, 1244.01, -760.72, 5080.63, 90.00, 0.00, 0.00, .interiorid = 42);
  51927. CreateDynamicObject(342, 1243.83, -760.72, 5080.63, 90.00, 0.00, 0.00, .interiorid = 42);
  51928. CreateDynamicObject(342, 1243.69, -760.73, 5080.63, 90.00, 0.00, 0.00, .interiorid = 42);
  51929. CreateDynamicObject(342, 1243.55, -760.74, 5080.63, 90.00, 0.00, 0.00, .interiorid = 42);
  51930. CreateDynamicObject(347, 1243.43, -761.88, 5080.70, 270.00, 0.00, 270.00, .interiorid = 42);
  51931. CreateDynamicObject(347, 1243.42, -762.60, 5080.70, 270.00, 0.00, 270.00, .interiorid = 42);
  51932. CreateDynamicObject(2043, 1244.12, -761.88, 5080.73, 0.00, 0.00, 0.00, .interiorid = 42);
  51933. CreateDynamicObject(2043, 1244.11, -762.62, 5080.73, 0.00, 0.00, 0.00, .interiorid = 42);
  51934. CreateDynamicObject(2358, 1237.18, -760.90, 5079.87, 0.00, 0.00, 90.00, .interiorid = 42);
  51935. CreateDynamicObject(2358, 1237.16, -760.22, 5079.87, 0.00, 0.00, 90.00, .interiorid = 42);
  51936. CreateDynamicObject(2358, 1237.17, -759.56, 5079.87, 0.00, 0.00, 90.00, .interiorid = 42);
  51937. CreateDynamicObject(2358, 1237.18, -758.90, 5079.87, 0.00, 0.00, 90.00, .interiorid = 42);
  51938. CreateDynamicObject(2358, 1237.15, -759.58, 5080.05, 0.00, 0.00, 90.00, .interiorid = 42);
  51939. CreateDynamicObject(2358, 1237.15, -760.30, 5080.05, 0.00, 0.00, 90.00, .interiorid = 42);
  51940. CreateDynamicObject(942, 1232.92, -764.60, 5081.91, 0.00, 0.00, 0.00, .interiorid = 42);
  51941. CreateDynamicObject(3800, 1236.09, -761.58, 5079.75, 0.00, 0.00, 0.00, .interiorid = 42);
  51942. CreateDynamicObject(3800, 1236.15, -760.43, 5079.75, 0.00, 0.00, 0.00, .interiorid = 42);
  51943. CreateDynamicObject(3800, 1236.15, -759.28, 5079.75, 0.00, 0.00, 0.00, .interiorid = 42);
  51944. CreateDynamicObject(3800, 1236.19, -759.66, 5080.76, 0.00, 0.00, 0.00, .interiorid = 42);
  51945. CreateDynamicObject(3800, 1236.13, -760.89, 5080.76, 0.00, 0.00, 0.00, .interiorid = 42);
  51946. CreateDynamicObject(3793, 1229.77, -760.39, 5080.77, 0.00, 0.00, 90.00, .interiorid = 42);
  51947. CreateDynamicObject(3788, 1229.99, -760.36, 5080.24, 0.00, 0.00, 90.00, .interiorid = 42);
  51948. CreateDynamicObject(359, 1229.99, -760.15, 5080.22, 270.00, 0.00, 90.00, .interiorid = 42);
  51949. CreateDynamicObject(359, 1230.29, -760.16, 5080.22, 270.00, 0.00, 90.00, .interiorid = 42);
  51950. CreateDynamicObject(2207, 1231.98, -742.15, 5079.75, 0.00, 0.00, 0.00, .interiorid = 42);
  51951. CreateDynamicObject(1714, 1233.03, -739.87, 5079.72, 0.00, 0.00, 0.00, .interiorid = 42);
  51952. CreateDynamicObject(1663, 1232.14, -743.12, 5080.17, 0.00, 0.00, 160.00, .interiorid = 42);
  51953. CreateDynamicObject(1663, 1231.21, -742.56, 5080.17, 0.00, 0.00, 140.00, .interiorid = 42);
  51954. CreateDynamicObject(1663, 1233.38, -743.18, 5080.17, 0.00, 0.00, 190.00, .interiorid = 42);
  51955. CreateDynamicObject(1663, 1234.41, -742.64, 5080.17, 0.00, 0.00, 210.00, .interiorid = 42);
  51956. CreateDynamicObject(18044, 1226.95, -762.62, 5081.44, 0.00, 0.00, 0.00, .interiorid = 42);
  51957. CreateDynamicObject(18052, 1244.05, -761.95, 5082.21, 0.00, 0.00, 90.00, .interiorid = 42);
  51958. CreateDynamicObject(11353, 1233.08, -737.75, 5079.75, 90.00, 0.00, 90.00, .interiorid = 42);
  51959. CreateDynamicObject(1736, 1233.00, -738.63, 5082.97, 0.00, 0.00, 0.00, .interiorid = 42);
  51960. CreateDynamicObject(2163, 1234.32, -737.90, 5079.74, 0.00, 0.00, 0.00, .interiorid = 42);
  51961. CreateDynamicObject(2163, 1232.56, -737.91, 5079.74, 0.00, 0.00, 0.00, .interiorid = 42);
  51962. CreateDynamicObject(2163, 1230.80, -737.90, 5079.74, 0.00, 0.00, 0.00, .interiorid = 42);
  51963. CreateDynamicObject(1665, 1233.18, -742.43, 5080.55, 0.00, 0.00, 0.00, .interiorid = 42);
  51964. CreateDynamicObject(1665, 1232.06, -742.18, 5080.55, 0.00, 0.00, 0.00, .interiorid = 42);
  51965. CreateDynamicObject(1665, 1232.34, -741.41, 5080.55, 0.00, 0.00, 55.00, .interiorid = 42);
  51966. CreateDynamicObject(2894, 1233.51, -741.73, 5080.52, 0.00, 0.00, 207.00, .interiorid = 42);
  51967. CreateDynamicObject(14455, 1236.64, -743.26, 5081.37, 0.00, 0.00, 90.00, .interiorid = 42);
  51968. CreateDynamicObject(14455, 1236.65, -747.57, 5081.37, 0.00, 0.00, 90.00, .interiorid = 42);
  51969. CreateDynamicObject(14455, 1229.36, -739.01, 5081.41, 0.00, 0.00, 270.00, .interiorid = 42);
  51970. CreateDynamicObject(14455, 1229.36, -743.34, 5081.41, 0.00, 0.00, 270.00, .interiorid = 42);
  51971. CreateDynamicObject(2737, 1223.06, -748.98, 5082.15, 0.00, 0.00, 0.00, .interiorid = 42);
  51972. CreateDynamicObject(2737, 1222.65, -754.68, 5082.15, 0.00, 0.00, 180.00, .interiorid = 42);
  51973. CreateDynamicObject(2737, 1226.06, -754.67, 5082.15, 0.00, 0.00, 180.00, .interiorid = 42);
  51974. CreateDynamicObject(7294, 1226.08, -749.01, 5076.88, 0.00, 0.00, 180.00, .interiorid = 42);
  51975. CreateDynamicObject(7294, 1220.08, -751.91, 5076.60, 0.00, 0.00, 270.00, .interiorid = 42);
  51976. CreateDynamicObject(2953, 1233.43, -741.36, 5080.54, 0.00, 0.00, 0.00, .interiorid = 42);
  51977. CreateDynamicObject(1727, 1269.49, -754.55, 5079.75, 0.00, 0.00, 0.00, .interiorid = 42);
  51978. CreateDynamicObject(1726, 1271.47, -754.57, 5079.91, 0.00, 0.00, 0.00, .interiorid = 42);
  51979. CreateDynamicObject(1727, 1265.94, -757.02, 5079.88, 0.00, 0.00, 90.00, .interiorid = 42);
  51980. CreateDynamicObject(1726, 1266.67, -754.61, 5079.91, 0.00, 0.00, 0.00, .interiorid = 42);
  51981. CreateDynamicObject(1651, 1270.53, -757.70, 5082.56, 0.00, 0.00, 90.00, .interiorid = 42);
  51982. CreateDynamicObject(2229, 1271.95, -758.16, 5080.96, 0.00, 90.00, 180.00, .interiorid = 42);
  51983. CreateDynamicObject(2229, 1269.05, -758.13, 5081.58, 0.00, 270.00, 180.00, .interiorid = 42);
  51984. CreateDynamicObject(2233, 1265.93, -758.23, 5079.90, 0.00, 0.00, 180.00, .interiorid = 42);
  51985. CreateDynamicObject(2233, 1266.68, -753.86, 5079.74, 0.00, 0.00, 0.00, .interiorid = 42);
  51986. CreateDynamicObject(2233, 1269.53, -753.79, 5079.74, 0.00, 0.00, 0.00, .interiorid = 42);
  51987. CreateDynamicObject(2233, 1271.39, -753.79, 5079.74, 0.00, 0.00, 0.00, .interiorid = 42);
  51988. CreateDynamicObject(2233, 1274.45, -753.90, 5079.74, 0.00, 0.00, 0.00, .interiorid = 42);
  51989. CreateDynamicObject(335, 1243.37, -763.38, 5080.62, 90.00, 0.00, 0.00, .interiorid = 42);
  51990. CreateDynamicObject(335, 1243.56, -763.38, 5080.62, 90.00, 0.00, 0.00, .interiorid = 42);
  51991. CreateDynamicObject(335, 1243.73, -763.38, 5080.62, 90.00, 0.00, 0.00, .interiorid = 42);
  51992. CreateDynamicObject(335, 1243.95, -763.39, 5080.62, 90.00, 0.00, 0.00, .interiorid = 42);
  51993. CreateDynamicObject(2001, 1263.06, -749.78, 5079.73, 0.00, 0.00, 0.00, .interiorid = 42);
  51994. CreateDynamicObject(2001, 1263.08, -755.89, 5079.73, 0.00, 0.00, 0.00, .interiorid = 42);
  51995. CreateDynamicObject(2001, 1273.10, -757.39, 5079.89, 0.00, 0.00, 0.00, .interiorid = 42);
  51996. CreateDynamicObject(2001, 1246.76, -749.64, 5079.75, 0.00, 0.00, 0.00, .interiorid = 42);
  51997. CreateDynamicObject(2001, 1246.67, -753.53, 5079.69, 0.00, 0.00, 0.00, .interiorid = 42);
  51998. CreateDynamicObject(2252, 1257.67, -754.83, 5081.39, 0.00, 0.00, 0.00, .interiorid = 42);
  51999. CreateDynamicObject(2252, 1258.00, -758.88, 5081.39, 0.00, 0.00, 0.00, .interiorid = 42);
  52000. CreateDynamicObject(2252, 1252.36, -754.62, 5081.39, 0.00, 0.00, 0.00, .interiorid = 42);
  52001. CreateDynamicObject(2257, 1267.86, -748.62, 5082.48, 0.00, 0.00, 0.00, .interiorid = 42);
  52002. CreateDynamicObject(3806, 1262.76, -753.09, 5083.84, 0.00, 0.00, 0.00, .interiorid = 42);
  52003. CreateDynamicObject(1668, 1249.39, -759.21, 5082.37, 0.00, 0.00, 0.00, .interiorid = 42);
  52004. CreateDynamicObject(1668, 1248.43, -759.25, 5082.37, 0.00, 0.00, 0.00, .interiorid = 42);
  52005. CreateDynamicObject(1668, 1247.09, -759.28, 5082.37, 0.00, 0.00, 0.00, .interiorid = 42);
  52006. CreateDynamicObject(1668, 1246.50, -758.11, 5082.37, 0.00, 0.00, 0.00, .interiorid = 42);
  52007. CreateDynamicObject(1668, 1246.50, -758.11, 5081.78, 0.00, 0.00, 0.00, .interiorid = 42);
  52008. CreateDynamicObject(1668, 1247.72, -759.30, 5081.78, 0.00, 0.00, 0.00, .interiorid = 42);
  52009. CreateDynamicObject(1668, 1249.20, -759.27, 5081.78, 0.00, 0.00, 0.00, .interiorid = 42);
  52010. CreateDynamicObject(1668, 1249.20, -759.27, 5081.18, 0.00, 0.00, 0.00, .interiorid = 42);
  52011. CreateDynamicObject(1668, 1248.33, -759.27, 5081.18, 0.00, 0.00, 0.00, .interiorid = 42);
  52012. CreateDynamicObject(1668, 1247.04, -759.32, 5081.18, 0.00, 0.00, 0.00, .interiorid = 42);
  52013. CreateDynamicObject(1668, 1246.54, -757.68, 5081.18, 0.00, 0.00, 0.00, .interiorid = 42);
  52014. CreateDynamicObject(1520, 1248.94, -759.27, 5082.24, 0.00, 0.00, 0.00, .interiorid = 42);
  52015. CreateDynamicObject(1520, 1247.92, -759.24, 5082.24, 0.00, 0.00, 0.00, .interiorid = 42);
  52016. CreateDynamicObject(1520, 1246.54, -758.36, 5082.24, 0.00, 0.00, 0.00, .interiorid = 42);
  52017. CreateDynamicObject(1520, 1246.54, -758.36, 5081.67, 0.00, 0.00, 0.00, .interiorid = 42);
  52018. CreateDynamicObject(1520, 1248.01, -759.28, 5081.67, 0.00, 0.00, 0.00, .interiorid = 42);
  52019. CreateDynamicObject(1520, 1248.01, -759.28, 5081.12, 0.00, 0.00, 0.00, .interiorid = 42);
  52020. CreateDynamicObject(1520, 1246.58, -758.48, 5081.06, 0.00, 0.00, 0.00, .interiorid = 42);
  52021. CreateDynamicObject(1512, 1248.66, -759.23, 5082.41, 0.00, 0.00, 0.00, .interiorid = 42);
  52022. CreateDynamicObject(1512, 1247.44, -759.27, 5082.41, 0.00, 0.00, 0.00, .interiorid = 42);
  52023. CreateDynamicObject(1512, 1246.48, -757.93, 5082.41, 0.00, 0.00, 0.00, .interiorid = 42);
  52024. CreateDynamicObject(1512, 1246.48, -757.93, 5081.74, 0.00, 0.00, 0.00, .interiorid = 42);
  52025. CreateDynamicObject(1512, 1246.48, -757.93, 5081.20, 0.00, 0.00, 0.00, .interiorid = 42);
  52026. CreateDynamicObject(1512, 1247.50, -759.35, 5081.20, 0.00, 0.00, 0.00, .interiorid = 42);
  52027. CreateDynamicObject(1512, 1247.29, -759.32, 5081.81, 0.00, 0.00, 0.00, .interiorid = 42);
  52028. CreateDynamicObject(1512, 1246.83, -759.23, 5081.81, 0.00, 0.00, 0.00, .interiorid = 42);
  52029. CreateDynamicObject(1665, 1250.68, -754.33, 5081.11, 0.00, 0.00, 180.00, .interiorid = 42);
  52030. CreateDynamicObject(1665, 1251.71, -754.35, 5081.11, 0.00, 0.00, 180.00, .interiorid = 42);
  52031. CreateDynamicObject(1665, 1253.47, -754.34, 5081.11, 0.00, 0.00, 180.00, .interiorid = 42);
  52032. CreateDynamicObject(1665, 1254.49, -754.26, 5081.11, 0.00, 0.00, 180.00, .interiorid = 42);
  52033. CreateDynamicObject(1665, 1255.60, -754.30, 5081.11, 0.00, 0.00, 180.00, .interiorid = 42);
  52034. CreateDynamicObject(1665, 1256.73, -754.28, 5081.11, 0.00, 0.00, 180.00, .interiorid = 42);
  52035. CreateDynamicObject(1541, 1247.90, -755.23, 5081.29, 0.00, 0.00, 180.00, .interiorid = 42);
  52036. CreateDynamicObject(1541, 1248.80, -755.23, 5081.29, 0.00, 0.00, 180.00, .interiorid = 42);
  52037. CreateDynamicObject(1548, 1248.31, -754.75, 5081.09, 0.00, 0.00, 0.00, .interiorid = 42);
  52038. CreateDynamicObject(1547, 1249.64, -754.72, 5081.09, 0.00, 0.00, 180.00, .interiorid = 42);
  52039. CreateDynamicObject(2125, 1256.23, -753.59, 5080.06, 0.00, 0.00, 0.00, .interiorid = 42);
  52040. CreateDynamicObject(2125, 1254.90, -753.63, 5080.06, 0.00, 0.00, 0.00, .interiorid = 42);
  52041. CreateDynamicObject(2125, 1253.67, -753.62, 5080.06, 0.00, 0.00, 0.00, .interiorid = 42);
  52042. CreateDynamicObject(2125, 1251.27, -753.63, 5080.06, 0.00, 0.00, 0.00, .interiorid = 42);
  52043. CreateDynamicObject(2125, 1250.37, -753.55, 5080.06, 0.00, 0.00, 0.00, .interiorid = 42);
  52044. CreateDynamicObject(2271, 1251.02, -749.09, 5082.93, 0.00, 0.00, 0.00, .interiorid = 42);
  52045. CreateDynamicObject(2270, 1254.56, -749.09, 5082.94, 0.00, 0.00, 0.00, .interiorid = 42);
  52046. CreateDynamicObject(1544, 1246.53, -758.92, 5082.21, 0.00, 0.00, 0.00, .interiorid = 42);
  52047. CreateDynamicObject(1544, 1246.52, -757.55, 5081.60, 0.00, 0.00, 0.00, .interiorid = 42);
  52048. CreateDynamicObject(1544, 1248.93, -759.31, 5081.60, 0.00, 0.00, 0.00, .interiorid = 42);
  52049. CreateDynamicObject(1544, 1248.72, -759.29, 5081.60, 0.00, 0.00, 0.00, .interiorid = 42);
  52050. CreateDynamicObject(1544, 1248.72, -759.29, 5081.03, 0.00, 0.00, 0.00, .interiorid = 42);
  52051. CreateDynamicObject(1544, 1249.02, -759.28, 5081.03, 0.00, 0.00, 0.00, .interiorid = 42);
  52052. CreateDynamicObject(1544, 1246.56, -758.95, 5081.03, 0.00, 0.00, 0.00, .interiorid = 42);
  52053. CreateDynamicObject(3806, 1261.99, -753.12, 5083.84, 0.00, 0.00, 180.00, .interiorid = 42);
  52054. CreateDynamicObject(2051, 1243.20, -738.25, 5082.22, 0.00, 0.00, 0.00, .interiorid = 42);
  52055. CreateDynamicObject(2050, 1238.27, -738.28, 5082.10, 0.00, 0.00, 0.00, .interiorid = 42);
  52056. CreateDynamicObject(2208, 1223.33, -751.86, 5079.76, 0.00, 0.00, 0.00, .interiorid = 42);
  52057. CreateDynamicObject(367, 1226.13, -751.96, 5080.62, 0.00, 0.00, 90.00, .interiorid = 42);
  52058. CreateDynamicObject(367, 1225.75, -751.96, 5080.62, 0.00, 0.00, 90.00, .interiorid = 42);
  52059. CreateDynamicObject(367, 1225.36, -751.96, 5080.62, 0.00, 0.00, 90.00, .interiorid = 42);
  52060. CreateDynamicObject(369, 1224.43, -751.85, 5080.62, 90.00, 0.00, 0.00, .interiorid = 42);
  52061. CreateDynamicObject(369, 1224.23, -751.85, 5080.62, 90.00, 0.00, 0.00, .interiorid = 42);
  52062. CreateDynamicObject(369, 1224.01, -751.83, 5080.62, 90.00, 0.00, 0.00, .interiorid = 42);
  52063. CreateDynamicObject(367, 1223.42, -751.96, 5080.62, 0.00, 0.00, 90.00, .interiorid = 42);
  52064. CreateDynamicObject(18766, 1279.89, -760.49, 5081.79, 0.00, 0.00, 0.00, .interiorid = 42);
  52065. CreateDynamicObject(2847, 1276.39, -759.68, 5079.75, 0.00, 0.00, 0.00, .interiorid = 42);
  52066. CreateDynamicObject(3462, 1278.68, -750.33, 5081.26, 0.00, 0.00, 47.00, .interiorid = 42);
  52067. CreateDynamicObject(18652, 1279.88, -750.04, 5079.78, 0.00, 0.00, 0.00, .interiorid = 42);
  52068. CreateDynamicObject(18652, 1278.83, -749.02, 5079.78, 0.00, 0.00, 90.00, .interiorid = 42);
  52069. CreateDynamicObject(2258, 1274.97, -755.53, 5081.91, 0.00, 0.00, 90.00, .interiorid = 42);
  52070. CreateDynamicObject(1892, 1278.68, -759.08, 5079.75, 0.00, 0.00, 0.00, .interiorid = 42);
  52071. CreateDynamicObject(1892, 1274.09, -759.06, 5079.75, 0.00, 0.00, 0.00, .interiorid = 42);
  52072. CreateDynamicObject(644, 1273.94, -749.60, 5079.91, 0.00, 0.00, 0.00, .interiorid = 42);
  52073. // Door fix for Denise's house and covered pilot area for Shamal interior
  52074. CreateDynamicObject(1498,2401.75927734,-1714.56994629,13.13000011,0.00000000,0.00000000,0.00000000); //object(gen_doorext03) (1)
  52075. CreateDynamicObject(2634,1.74394608,31.97999954,1199.72998047,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(ab_vaultdoor) (3)
  52076. CreateDynamicObject(2634,1.74316406,31.97949219,1202.69995117,0.00000000,0.00000000,0.00000000, .interiorid = 1); //object(ab_vaultdoor) (4)
  52077. // Mall Interior
  52078. CreateDynamicObject(3989,455.68774400,-2404.30932600,5.33563600,0.00000000,0.00000000,0.00000000, .interiorid = 18);
  52079. CreateDynamicObject(7493,523.24963400,-2413.61035200,13.25608600,0.00000000,0.00000000,0.85943669, .interiorid = 18);
  52080. CreateDynamicObject(7493,419.32476800,-2425.11035200,13.25608600,0.00000000,0.00000000,180.48182006, .interiorid = 18);
  52081. CreateDynamicObject(7493,489.72479200,-2484.48779300,13.25608600,0.00000000,0.00000000,0.85943669, .interiorid = 18);
  52082. CreateDynamicObject(7493,487.52450600,-2329.01171900,13.25608600,0.00000000,0.00000000,0.85943669, .interiorid = 18);
  52083. CreateDynamicObject(7493,489.69986000,-2484.63720700,16.78107800,0.00000000,0.00000000,0.85943669, .interiorid = 18);
  52084. CreateDynamicObject(7493,487.59942600,-2328.79052700,17.20606800,0.00000000,0.00000000,0.85943669, .interiorid = 18);
  52085. CreateDynamicObject(1560,474.51272600,-2377.74804700,9.80654800,0.00000000,0.00000000,0.00000000, .interiorid = 18);
  52086. CreateDynamicObject(1560,476.01260400,-2377.74804700,9.80654800,0.00000000,0.00000000,0.00000000, .interiorid = 18);
  52087. CreateDynamicObject(1560,477.48742700,-2377.74804700,9.80654800,0.00000000,0.00000000,0.00000000, .interiorid = 18);
  52088. CreateDynamicObject(1560,478.98742700,-2377.74804700,9.80654800,0.00000000,0.00000000,0.00000000, .interiorid = 18);
  52089. CreateDynamicObject(1560,486.41214000,-2377.77294900,9.80654800,0.00000000,0.00000000,0.00000000, .interiorid = 18);
  52090. CreateDynamicObject(1560,484.91226200,-2377.74804700,9.80654800,0.00000000,0.00000000,0.00000000, .interiorid = 18);
  52091. CreateDynamicObject(1560,483.38751200,-2377.74804700,9.80654800,0.00000000,0.00000000,0.00000000, .interiorid = 18);
  52092. CreateDynamicObject(1560,481.86264000,-2377.74804700,9.80654800,0.00000000,0.00000000,0.00000000, .interiorid = 18);
  52093. CreateDynamicObject(3530,481.18234300,-2376.96899400,15.60875100,0.00000000,0.00000000,0.00000000, .interiorid = 18);
  52094. CreateDynamicObject(3530,481.15734900,-2377.16821300,20.78376000,0.00000000,0.00000000,0.00000000, .interiorid = 18);
  52095. CreateDynamicObject(994,480.82080100,-2390.36132800,9.89794700,0.00000000,0.00000000,88.52197935, .interiorid = 18);
  52096. CreateDynamicObject(1984,478.56616200,-2389.01904300,9.78588800,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52097. CreateDynamicObject(1984,475.49148600,-2389.01904300,9.78588800,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52098. CreateDynamicObject(1984,472.39157100,-2389.01904300,9.78588800,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52099. CreateDynamicObject(1984,469.24166900,-2389.01904300,9.78588800,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52100. CreateDynamicObject(1984,466.06658900,-2389.01904300,9.78588800,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52101. CreateDynamicObject(1984,462.91674800,-2389.01904300,9.78588800,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52102. CreateDynamicObject(1984,459.76684600,-2389.01904300,9.78588800,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52103. CreateDynamicObject(1984,456.71698000,-2389.01904300,9.78588800,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52104. CreateDynamicObject(1663,479.69928000,-2386.61132800,10.24607800,0.00000000,0.00000000,-73.91155557, .interiorid = 18);
  52105. CreateDynamicObject(1663,476.47433500,-2386.66113300,10.24607800,0.00000000,0.00000000,-73.91155557, .interiorid = 18);
  52106. CreateDynamicObject(1663,473.39917000,-2386.63623000,10.24607800,0.00000000,0.00000000,-73.91155557, .interiorid = 18);
  52107. CreateDynamicObject(1663,470.32437100,-2386.63623000,10.24607800,0.00000000,0.00000000,-73.91155557, .interiorid = 18);
  52108. CreateDynamicObject(1843,487.57012900,-2392.18725600,9.78098000,0.00000000,0.00000000,-89.38141604, .interiorid = 18);
  52109. CreateDynamicObject(1843,487.62011700,-2395.16137700,9.78098000,0.00000000,0.00000000,-88.52197935, .interiorid = 18);
  52110. CreateDynamicObject(1843,487.77008100,-2401.03686500,9.78098000,0.00000000,0.00000000,-88.52197935, .interiorid = 18);
  52111. CreateDynamicObject(1844,487.70239300,-2398.10913100,9.78064700,0.00000000,0.00000000,-88.52197935, .interiorid = 18);
  52112. CreateDynamicObject(1844,487.90234400,-2408.15502900,9.78064700,0.00000000,0.00000000,-89.38141604, .interiorid = 18);
  52113. CreateDynamicObject(1844,487.92733800,-2411.10522500,9.78064700,0.00000000,0.00000000,-89.38141604, .interiorid = 18);
  52114. CreateDynamicObject(1887,487.97479200,-2414.06201200,9.78038000,0.00000000,0.00000000,-88.52197935, .interiorid = 18);
  52115. CreateDynamicObject(1887,488.07476800,-2419.93847700,9.78038000,0.00000000,0.00000000,-89.38141604, .interiorid = 18);
  52116. CreateDynamicObject(1843,488.04068000,-2416.99829100,9.78043200,0.00000000,0.00000000,-89.38141604, .interiorid = 18);
  52117. CreateDynamicObject(1890,483.91915900,-2392.20166000,9.78272600,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52118. CreateDynamicObject(1889,480.01214600,-2395.14526400,9.78414700,0.00000000,0.00000000,-90.24085273, .interiorid = 18);
  52119. CreateDynamicObject(1889,483.91198700,-2395.12036100,9.78414700,0.00000000,0.00000000,-90.24085273, .interiorid = 18);
  52120. CreateDynamicObject(1890,483.91915900,-2398.05224600,9.78272600,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52121. CreateDynamicObject(1890,483.91915900,-2400.97949200,9.78272600,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52122. CreateDynamicObject(1889,483.91287200,-2403.88818400,9.78243600,0.00000000,0.00000000,-90.24085273, .interiorid = 18);
  52123. CreateDynamicObject(1884,479.99008200,-2398.14819300,9.78434000,0.00000000,0.00000000,89.38141604, .interiorid = 18);
  52124. CreateDynamicObject(1884,479.94009400,-2401.07348600,9.78434000,0.00000000,0.00000000,89.38141604, .interiorid = 18);
  52125. CreateDynamicObject(1884,479.91510000,-2404.02465800,9.78434000,0.00000000,0.00000000,89.38141604, .interiorid = 18);
  52126. CreateDynamicObject(1890,476.08337400,-2395.20532200,9.78643000,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52127. CreateDynamicObject(1889,472.43722500,-2395.14526400,9.78414700,0.00000000,0.00000000,-90.24085273, .interiorid = 18);
  52128. CreateDynamicObject(2365,481.95449800,-2381.40698200,9.78423100,0.00000000,0.00000000,0.00000000, .interiorid = 18);
  52129. CreateDynamicObject(2365,481.95449800,-2381.38208000,10.07572000,0.00000000,0.00000000,0.00000000, .interiorid = 18);
  52130. CreateDynamicObject(1349,481.83047500,-2384.01928700,10.35518100,0.00000000,1.71887339,-90.24079544, .interiorid = 18);
  52131. CreateDynamicObject(1349,481.83047500,-2384.51733400,10.35518100,0.00000000,1.71887339,-90.24079544, .interiorid = 18);
  52132. CreateDynamicObject(1349,481.83047500,-2386.24243200,10.35518100,0.00000000,1.71887339,-51.56614427, .interiorid = 18);
  52133. CreateDynamicObject(1349,487.19693000,-2386.69409200,10.35294000,0.00000000,1.71887339,260.40943248, .interiorid = 18);
  52134. CreateDynamicObject(2365,483.75006100,-2389.97168000,9.78319500,0.00000000,0.00000000,94.53803620, .interiorid = 18);
  52135. CreateDynamicObject(2365,475.91857900,-2393.15820300,9.78712900,0.00000000,0.00000000,94.53803620, .interiorid = 18);
  52136. CreateDynamicObject(1890,476.08337400,-2398.15454100,9.78643000,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52137. CreateDynamicObject(1890,476.08337400,-2401.10668900,9.78643000,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52138. CreateDynamicObject(1884,476.06506300,-2404.04956100,9.78434000,0.00000000,0.00000000,89.38141604, .interiorid = 18);
  52139. CreateDynamicObject(1889,472.43722500,-2398.09448200,9.78414700,0.00000000,0.00000000,-90.24085273, .interiorid = 18);
  52140. CreateDynamicObject(1890,472.45840500,-2401.05688500,9.78643000,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52141. CreateDynamicObject(1890,472.45840500,-2404.00708000,9.78643000,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52142. CreateDynamicObject(1890,483.92062400,-2406.87548800,9.78221300,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52143. CreateDynamicObject(1884,479.91510000,-2406.97387700,9.78434000,0.00000000,0.00000000,89.38141604, .interiorid = 18);
  52144. CreateDynamicObject(1884,476.06506300,-2407.02465800,9.78434000,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52145. CreateDynamicObject(1848,485.17611700,-2421.95288100,9.78149000,0.00000000,0.00000000,-178.76300397, .interiorid = 18);
  52146. CreateDynamicObject(1890,483.92062400,-2412.79882800,9.78221300,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52147. CreateDynamicObject(1890,483.92062400,-2415.79785200,9.78221300,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52148. CreateDynamicObject(1845,482.43237300,-2424.07226600,9.78731700,0.00000000,0.00000000,-89.38141604, .interiorid = 18);
  52149. CreateDynamicObject(1845,482.45736700,-2427.02246100,9.78731700,0.00000000,0.00000000,-89.38141604, .interiorid = 18);
  52150. CreateDynamicObject(1845,482.45736700,-2429.94873000,9.78731700,0.00000000,0.00000000,-90.24085273, .interiorid = 18);
  52151. CreateDynamicObject(1848,485.32608000,-2431.95092800,9.78149000,0.00000000,0.00000000,-0.00005730, .interiorid = 18);
  52152. CreateDynamicObject(1848,485.31097400,-2426.82568400,9.78730800,0.00000000,0.00000000,269.00351293, .interiorid = 18);
  52153. CreateDynamicObject(1842,478.89740000,-2424.58203100,10.25606400,0.00000000,0.00000000,89.38141604, .interiorid = 18);
  52154. CreateDynamicObject(1842,478.87240600,-2429.21142600,10.25606400,0.00000000,0.00000000,89.38141604, .interiorid = 18);
  52155. CreateDynamicObject(1889,479.88073700,-2412.85937500,9.78417300,0.00000000,0.00000000,-90.24085273, .interiorid = 18);
  52156. CreateDynamicObject(1890,479.89468400,-2415.85253900,9.78445900,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52157. CreateDynamicObject(1884,476.06506300,-2412.79760700,9.78434000,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52158. CreateDynamicObject(1884,476.06506300,-2415.74487300,9.78434000,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52159. CreateDynamicObject(1991,454.33581500,-2397.91992200,9.81896800,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52160. CreateDynamicObject(1981,454.32482900,-2394.97680700,9.81466500,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52161. CreateDynamicObject(1996,454.32177700,-2393.97998000,9.81063400,0.00000000,0.00000000,89.38141604, .interiorid = 18);
  52162. CreateDynamicObject(1889,472.43722500,-2406.94409200,9.78414700,0.00000000,0.00000000,-90.24085273, .interiorid = 18);
  52163. CreateDynamicObject(1981,454.32482900,-2395.95092800,9.81466500,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52164. CreateDynamicObject(1981,454.32482900,-2396.92407200,9.81466500,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52165. CreateDynamicObject(1889,472.43722500,-2409.87036100,9.78414700,0.00000000,0.00000000,-90.24085273, .interiorid = 18);
  52166. CreateDynamicObject(1889,472.43722500,-2412.82153300,9.78414700,0.00000000,0.00000000,-90.24085273, .interiorid = 18);
  52167. CreateDynamicObject(1884,472.44009400,-2415.74487300,9.78434000,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52168. CreateDynamicObject(1884,472.44009400,-2418.69409200,9.78434000,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52169. CreateDynamicObject(1890,472.45260600,-2421.62524400,9.78730800,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52170. CreateDynamicObject(1890,472.45260600,-2424.57348600,9.78730800,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52171. CreateDynamicObject(1890,472.45260600,-2427.52172900,9.78730800,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52172. CreateDynamicObject(1884,472.46508800,-2430.46997100,9.78434000,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52173. CreateDynamicObject(2412,479.30438200,-2378.38232400,9.80765400,0.00000000,0.00000000,0.00000000, .interiorid = 18);
  52174. CreateDynamicObject(2412,476.35424800,-2378.30761700,9.80765400,0.00000000,0.00000000,0.00000000, .interiorid = 18);
  52175. CreateDynamicObject(1889,468.41217000,-2400.86743200,9.78414700,0.00000000,0.00000000,-90.24085273, .interiorid = 18);
  52176. CreateDynamicObject(1889,468.41217000,-2403.84057600,9.78414700,0.00000000,0.00000000,-90.24085273, .interiorid = 18);
  52177. CreateDynamicObject(1890,468.43347200,-2406.80395500,9.78643000,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52178. CreateDynamicObject(1890,468.43347200,-2409.75317400,9.78643000,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52179. CreateDynamicObject(1884,468.44015500,-2412.67797900,9.78434000,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52180. CreateDynamicObject(1884,468.44015500,-2415.65307600,9.78434000,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52181. CreateDynamicObject(1884,468.44015500,-2418.57641600,9.78434000,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52182. CreateDynamicObject(1889,468.41217000,-2421.51293900,9.78414700,0.00000000,0.00000000,-90.24085273, .interiorid = 18);
  52183. CreateDynamicObject(1889,468.41217000,-2424.45922900,9.78414700,0.00000000,0.00000000,-90.24085273, .interiorid = 18);
  52184. CreateDynamicObject(1848,488.30081200,-2434.88085900,9.78730800,0.00000000,0.00000000,-89.38147334, .interiorid = 18);
  52185. CreateDynamicObject(1890,484.38366700,-2437.15112300,9.78730800,0.00000000,0.00000000,179.62232607, .interiorid = 18);
  52186. CreateDynamicObject(1848,488.35080000,-2439.83203100,9.78730800,0.00000000,0.00000000,-90.24091003, .interiorid = 18);
  52187. CreateDynamicObject(1890,481.43377700,-2437.12622100,9.78730800,0.00000000,0.00000000,179.62232607, .interiorid = 18);
  52188. CreateDynamicObject(1890,478.50869800,-2437.12622100,9.78730800,0.00000000,0.00000000,179.62232607, .interiorid = 18);
  52189. CreateDynamicObject(1884,475.58224500,-2437.13354500,9.77759300,0.00000000,0.00000000,179.62238337, .interiorid = 18);
  52190. CreateDynamicObject(1889,469.69757100,-2437.13232400,9.76570700,0.00000000,0.00000000,0.00000000, .interiorid = 18);
  52191. CreateDynamicObject(1889,468.41217000,-2427.38549800,9.78414700,0.00000000,0.00000000,-90.24085273, .interiorid = 18);
  52192. CreateDynamicObject(1889,468.41217000,-2430.33569300,9.78414700,0.00000000,0.00000000,-90.24085273, .interiorid = 18);
  52193. CreateDynamicObject(1890,466.73388700,-2437.12622100,9.78730800,0.00000000,0.00000000,179.62232607, .interiorid = 18);
  52194. CreateDynamicObject(1890,463.68402100,-2436.25659200,9.78730800,0.00000000,0.00000000,147.82316844, .interiorid = 18);
  52195. CreateDynamicObject(1890,461.40927100,-2434.00659200,9.78730800,0.00000000,0.00000000,122.89938976, .interiorid = 18);
  52196. CreateDynamicObject(1890,460.53448500,-2430.87915000,9.78730800,0.00000000,0.00000000,90.24073814, .interiorid = 18);
  52197. CreateDynamicObject(1889,460.51226800,-2427.88354500,9.78414700,0.00000000,0.00000000,-90.24085273, .interiorid = 18);
  52198. CreateDynamicObject(1842,476.09741200,-2424.58203100,10.25606400,0.00000000,0.00000000,89.38141604, .interiorid = 18);
  52199. CreateDynamicObject(1842,476.09741200,-2429.20654300,10.25606400,0.00000000,0.00000000,89.38141604, .interiorid = 18);
  52200. CreateDynamicObject(1842,460.56561300,-2424.89941400,10.25791500,0.00000000,0.00000000,89.38141604, .interiorid = 18);
  52201. CreateDynamicObject(1842,460.59060700,-2422.02685500,10.25791500,0.00000000,0.00000000,89.38141604, .interiorid = 18);
  52202. CreateDynamicObject(1889,464.56225600,-2427.38549800,9.78414700,0.00000000,0.00000000,-90.24085273, .interiorid = 18);
  52203. CreateDynamicObject(1890,464.57769800,-2424.44897500,9.78730800,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52204. CreateDynamicObject(1890,464.57769800,-2421.49877900,9.78730800,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52205. CreateDynamicObject(1884,464.56524700,-2418.55151400,9.78434000,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52206. CreateDynamicObject(1884,464.56524700,-2415.60229500,9.78434000,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52207. CreateDynamicObject(1884,464.56524700,-2412.62915000,9.78434000,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52208. CreateDynamicObject(1889,463.88546800,-2409.50683600,9.79196000,0.00000000,0.00000000,-66.17662534, .interiorid = 18);
  52209. CreateDynamicObject(1889,461.83560200,-2407.03662100,9.79196000,0.00000000,0.00000000,-34.37752500, .interiorid = 18);
  52210. CreateDynamicObject(1889,458.78555300,-2406.06250000,9.79196000,0.00000000,0.00000000,-0.00005730, .interiorid = 18);
  52211. CreateDynamicObject(1889,458.78555300,-2411.01074200,9.79196000,0.00000000,0.00000000,-0.00005730, .interiorid = 18);
  52212. CreateDynamicObject(1889,458.78555300,-2415.23584000,9.79196000,0.00000000,0.00000000,-0.00005730, .interiorid = 18);
  52213. CreateDynamicObject(1842,464.43753100,-2400.77929700,10.26877400,0.00000000,0.00000000,89.38141604, .interiorid = 18);
  52214. CreateDynamicObject(1842,461.36248800,-2400.77929700,10.26877400,0.00000000,0.00000000,89.38141604, .interiorid = 18);
  52215. CreateDynamicObject(1842,458.18759200,-2400.77929700,10.26877400,0.00000000,0.00000000,89.38141604, .interiorid = 18);
  52216. CreateDynamicObject(1846,476.07522600,-2429.21582000,9.73732100,0.00000000,0.00000000,89.38141604, .interiorid = 18);
  52217. CreateDynamicObject(1846,476.07522600,-2424.56933600,9.73732100,0.00000000,0.00000000,89.38141604, .interiorid = 18);
  52218. CreateDynamicObject(1846,478.90008500,-2424.56933600,9.73732100,0.00000000,0.00000000,89.38141604, .interiorid = 18);
  52219. CreateDynamicObject(1846,478.87509200,-2429.21679700,9.73732100,0.00000000,0.00000000,89.38141604, .interiorid = 18);
  52220. CreateDynamicObject(1846,458.17645300,-2400.77343800,9.75003100,0.00000000,0.00000000,89.38141604, .interiorid = 18);
  52221. CreateDynamicObject(1846,461.35122700,-2400.77343800,9.75003100,0.00000000,0.00000000,89.38141604, .interiorid = 18);
  52222. CreateDynamicObject(1846,464.42614700,-2400.77343800,9.75003100,0.00000000,0.00000000,89.38141604, .interiorid = 18);
  52223. CreateDynamicObject(1890,478.50869800,-2441.45092800,9.78730800,0.00000000,0.00000000,179.62232607, .interiorid = 18);
  52224. CreateDynamicObject(1890,475.55880700,-2441.45092800,9.78730800,0.00000000,0.00000000,179.62232607, .interiorid = 18);
  52225. CreateDynamicObject(1889,472.61200000,-2441.41967800,9.76514600,0.00000000,0.00000000,0.00000000, .interiorid = 18);
  52226. CreateDynamicObject(1889,469.66204800,-2441.41967800,9.76514600,0.00000000,0.00000000,0.00000000, .interiorid = 18);
  52227. CreateDynamicObject(1987,464.92349200,-2441.61425800,9.75987100,0.00000000,0.00000000,0.00000000, .interiorid = 18);
  52228. CreateDynamicObject(1988,465.89694200,-2441.59741200,9.75503300,0.00000000,0.00000000,0.85943669, .interiorid = 18);
  52229. CreateDynamicObject(1987,461.59832800,-2441.61425800,9.75987100,0.00000000,0.00000000,0.00000000, .interiorid = 18);
  52230. CreateDynamicObject(1988,462.57202100,-2441.59741200,9.75503300,0.00000000,0.00000000,0.85943669, .interiorid = 18);
  52231. CreateDynamicObject(1884,481.45620700,-2441.46118200,9.77500600,0.00000000,0.00000000,179.62238337, .interiorid = 18);
  52232. CreateDynamicObject(1884,484.40597500,-2441.46118200,9.77500600,0.00000000,0.00000000,179.62238337, .interiorid = 18);
  52233. CreateDynamicObject(1889,476.54007000,-2420.37280300,9.78541500,0.00000000,0.00000000,0.00000000, .interiorid = 18);
  52234. CreateDynamicObject(1889,455.48580900,-2419.48388700,9.79196000,0.00000000,0.00000000,-0.00005730, .interiorid = 18);
  52235. CreateDynamicObject(1889,455.53579700,-2423.52880900,9.79196000,0.00000000,0.00000000,-0.00005730, .interiorid = 18);
  52236. CreateDynamicObject(1889,455.56079100,-2427.32470700,9.79196000,0.00000000,0.00000000,-0.00005730, .interiorid = 18);
  52237. CreateDynamicObject(1889,455.61077900,-2431.07373000,9.79196000,0.00000000,0.00000000,-0.00005730, .interiorid = 18);
  52238. CreateDynamicObject(1991,454.33581500,-2408.24560500,9.81896800,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52239. CreateDynamicObject(1981,454.32482900,-2407.27465800,9.81466500,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52240. CreateDynamicObject(1981,454.32482900,-2406.27563500,9.81466500,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52241. CreateDynamicObject(1981,454.32482900,-2405.29858400,9.81466500,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52242. CreateDynamicObject(1981,454.32482900,-2404.30053700,9.81466500,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52243. CreateDynamicObject(1981,454.32482900,-2403.30444300,9.81466500,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52244. CreateDynamicObject(1981,454.32482900,-2402.30835000,9.81466500,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52245. CreateDynamicObject(1996,454.32177700,-2401.32666000,9.81063400,0.00000000,0.00000000,89.38141604, .interiorid = 18);
  52246. CreateDynamicObject(1989,454.67102100,-2437.37011700,9.75281800,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52247. CreateDynamicObject(1989,454.67102100,-2438.31640600,9.75281800,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52248. CreateDynamicObject(1989,454.67102100,-2439.29052700,9.75281800,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52249. CreateDynamicObject(1989,454.67102100,-2440.23681600,9.75281800,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52250. CreateDynamicObject(1989,454.67102100,-2441.15820300,9.75281800,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52251. CreateDynamicObject(1846,460.54464700,-2424.89379900,9.73917100,0.00000000,0.00000000,89.38141604, .interiorid = 18);
  52252. CreateDynamicObject(1846,460.56964100,-2422.01831100,9.73917100,0.00000000,0.00000000,89.38141604, .interiorid = 18);
  52253. CreateDynamicObject(1842,459.08441200,-2437.38598600,10.22056800,0.00000000,0.00000000,131.49392857, .interiorid = 18);
  52254. CreateDynamicObject(1846,459.06817600,-2437.37939500,9.70182400,0.00000000,0.00000000,-48.98789148, .interiorid = 18);
  52255. CreateDynamicObject(1987,458.49835200,-2441.61425800,9.75987100,0.00000000,0.00000000,0.00000000, .interiorid = 18);
  52256. CreateDynamicObject(1988,459.47222900,-2441.59741200,9.75503300,0.00000000,0.00000000,0.85943669, .interiorid = 18);
  52257. CreateDynamicObject(1889,468.41217000,-2433.28393600,9.78414700,0.00000000,0.00000000,-90.24085273, .interiorid = 18);
  52258. CreateDynamicObject(1889,464.56225600,-2430.30688500,9.78414700,0.00000000,0.00000000,-90.24085273, .interiorid = 18);
  52259. CreateDynamicObject(1884,472.46508800,-2433.42016600,9.78434000,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52260. CreateDynamicObject(2541,454.43652300,-2410.16333000,9.80253900,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52261. CreateDynamicObject(2541,454.48651100,-2417.21020500,9.80253900,0.00000000,0.00000000,90.24085273, .interiorid = 18);
  52262. CreateDynamicObject(2541,480.01019300,-2393.15820300,9.78999900,0.00000000,0.00000000,180.48176276, .interiorid = 18);
  52263. CreateDynamicObject(2541,487.65844700,-2390.20800800,9.78641000,0.00000000,0.00000000,180.48176276, .interiorid = 18);
  52264. CreateDynamicObject(2541,472.45776400,-2393.13549800,9.79382200,0.00000000,0.00000000,180.48176276, .interiorid = 18);
  52265. CreateDynamicObject(2542,454.30514500,-2392.00537100,9.83844100,0.00000000,0.00000000,89.38141604, .interiorid = 18);
  52266. CreateDynamicObject(2542,454.30514500,-2391.03222700,9.83844100,0.00000000,0.00000000,89.38141604, .interiorid = 18);
  52267. CreateDynamicObject(2542,454.36703500,-2399.57348600,9.84879000,0.00000000,0.00000000,89.38141604, .interiorid = 18);
  52268. CreateDynamicObject(2871,457.48605300,-2446.50805700,9.74788400,0.00000000,0.00000000,179.62238337, .interiorid = 18);
  52269. CreateDynamicObject(2871,458.43594400,-2446.50805700,9.74788400,0.00000000,0.00000000,179.62238337, .interiorid = 18);
  52270. CreateDynamicObject(2871,459.41070600,-2446.50805700,9.74788400,0.00000000,0.00000000,179.62238337, .interiorid = 18);
  52271. CreateDynamicObject(2543,461.85641500,-2446.40673800,9.51721200,0.00000000,0.00000000,180.48187735, .interiorid = 18);
  52272. CreateDynamicObject(2543,462.83136000,-2446.40673800,9.51721200,0.00000000,0.00000000,180.48187735, .interiorid = 18);
  52273. CreateDynamicObject(2543,463.80636600,-2446.40673800,9.51721200,0.00000000,0.00000000,180.48187735, .interiorid = 18);
  52274. CreateDynamicObject(2542,466.05529800,-2446.38793900,9.75391500,0.00000000,0.00000000,180.48176276, .interiorid = 18);
  52275. CreateDynamicObject(2542,467.03018200,-2446.38793900,9.75391500,0.00000000,0.00000000,180.48176276, .interiorid = 18);
  52276. CreateDynamicObject(2542,468.00500500,-2446.38793900,9.75391500,0.00000000,0.00000000,180.48176276, .interiorid = 18);
  52277. CreateDynamicObject(2541,474.92309600,-2446.23535200,9.70359800,0.00000000,0.00000000,180.48187735, .interiorid = 18);
  52278. CreateDynamicObject(2541,475.92303500,-2446.23535200,9.70359800,0.00000000,0.00000000,180.48187735, .interiorid = 18);
  52279. CreateDynamicObject(2541,476.89804100,-2446.23535200,9.70359800,0.00000000,0.00000000,180.48187735, .interiorid = 18);
  52280. CreateDynamicObject(2583,479.35000600,-2446.36889600,10.59204000,0.00000000,0.00000000,180.48182006, .interiorid = 18);
  52281. CreateDynamicObject(2582,483.32833900,-2446.33325200,10.62340500,0.00000000,0.00000000,180.48193465, .interiorid = 18);
  52282. CreateDynamicObject(2582,484.80322300,-2446.33325200,10.62340500,0.00000000,0.00000000,180.48193465, .interiorid = 18);
  52283. CreateDynamicObject(2942,487.70999100,-2383.75439500,10.42487400,0.00000000,0.00000000,-89.38141604, .interiorid = 18);
  52284. CreateDynamicObject(2942,487.70999100,-2382.95752000,10.42487400,0.00000000,0.00000000,-89.38141604, .interiorid = 18);
  52285. CreateDynamicObject(2412,483.72915600,-2378.35742200,9.80765400,0.00000000,0.00000000,0.00000000, .interiorid = 18);
  52286. CreateDynamicObject(2412,486.75384500,-2378.35742200,9.80765400,0.00000000,0.00000000,0.00000000, .interiorid = 18);
  52287. CreateDynamicObject(14439,475.54144300,-2385.82763700,18.92340100,0.00000000,0.00000000,0.00000000, .interiorid = 18);
  52288. CreateDynamicObject(14439,475.54144300,-2401.75097700,18.92340100,0.00000000,0.00000000,0.00000000, .interiorid = 18);
  52289. CreateDynamicObject(14439,475.54144300,-2418.64746100,18.92340100,0.00000000,0.00000000,0.00000000, .interiorid = 18);
  52290. CreateDynamicObject(14439,475.54144300,-2435.27002000,18.92340100,0.00000000,0.00000000,0.00000000, .interiorid = 18);
  52291. CreateDynamicObject(2583,480.82501200,-2446.36889600,10.59204000,0.00000000,0.00000000,180.48182006, .interiorid = 18);
  52292. CreateDynamicObject(7493,488.62420700,-2424.43994100,23.43117500,0.00000000,-180.48210654,180.48182006, .interiorid = 18);
  52293. CreateDynamicObject(994,480.97076400,-2384.01464800,9.89794700,0.00000000,0.00000000,88.52197935, .interiorid = 18);
  52294. CreateDynamicObject(1889,459.35699500,-2393.92797900,9.79353900,0.00000000,0.00000000,0.00000000, .interiorid = 18);
  52295. CreateDynamicObject(1889,463.85675000,-2393.95288100,9.79353900,0.00000000,0.00000000,0.00000000, .interiorid = 18);
  52296. // ATMs
  52297. CreateDynamicObject(2942, 2065.439453125, -1897.5510253906, 13.19670009613, 0, 0, 0);
  52298. CreateDynamicObject(2942, 1497.7467041016, -1749.8747558594, 15.088212013245, 0, 0, 177.38134765625);
  52299. CreateDynamicObject(2942, 2093.5124511719, -1359.5474853516, 23.62727355957, 0, 0, 0);
  52300. CreateDynamicObject(2942, 1155.6235351563, -1464.9141845703, 15.44321346283, 0, 0, 290.21020507813);
  52301. CreateDynamicObject(2942, 2139.4487304688, -1164.0811767578, 23.63508605957, 0, 0, 91.309509277344);
  52302. CreateDynamicObject(2942, 387.16552734375, -1816.0512695313, 7.4834146499634, 0, 0, 272.48046875);
  52303. CreateDynamicObject(2942, -24.385023117065, -92.001075744629, 1003.1897583008, 0, 0, 180.54052734375);
  52304. CreateDynamicObject(2942, -31.811220169067, -58.106018066406, 1003.1897583008, 0, 0, 181.21594238281);
  52305. CreateDynamicObject(2942, 1212.7785644531, 2.451762676239, 1000.5647583008, 0, 0, 0);
  52306. CreateDynamicObject(2942, 2324.4028320313, -1644.9445800781, 14.469946861267, 0, 0, 0);
  52307. CreateDynamicObject(2942, 2228.39, -1707.78, 13.25, 0.000000, 0.000000, 270.000000); // Ganton Gym ATM
  52308. CreateDynamicObject(2942, 651.19305419922, -520.48815917969, 15.978837013245, 0, 0, 0);
  52309. CreateDynamicObject(2942, 45.78035736084, -291.80926513672, 1.5024013519287, 0, 0, 182.93444824219);
  52310. CreateDynamicObject(2942, 1275.7958984375, 368.31481933594, 19.19758605957, 0, 0, 73.759948730469);
  52311. CreateDynamicObject(2942, 2303.4577636719, -13.539554595947, 26.12727355957, 0, 0, 272.43542480469);
  52312. CreateDynamicObject(2942, 691.08215332031, -618.5625, 15.978837013245, 0, 0, 268.69067382813);
  52313. CreateDynamicObject(2942, 173.23471069336, -155.07606506348, 1.2210245132446, 0, 0, 89.730041503906);
  52314. CreateDynamicObject(2942, 1260.8796386719, 209.30152893066, 19.19758605957, 0, 0, 65.504638671875);
  52315. CreateDynamicObject(2942, 2316.1015625, -88.522567749023, 26.12727355957, 0, 0, 0);
  52316. // Job Pickups
  52317. CreatePickup(1239, 23, 1776.386962,-1047.542968,-25.408025, -1); // Detective job (LS)
  52318. CreatePickup(1239, 23, 1215.1304,-11.8431,1000.9219, -1); //Whore Registration (LS)
  52319. CreatePickup(1239, 23, 378.58, -114.26, 1001.49, -1); // Pizza Boy job (Interior) (LS)
  52320. CreatePickup(1239, 23, 2166.3772, -1675.3829, 15.0859, -1); // Drug Dealer job
  52321. CreatePickup(1239, 23, 2354.2808,-1169.2959,28.0066, -1); //Drug Smuggler (LS)
  52322. CreatePickup(1239, 23, 1380.8955,-1088.6808,27.3844, -1); //Lawyer Registration
  52323. CreatePickup(1239, 23, 2226.1716,-1718.1792,13.5165, -1); //BodyGuard Registration (LS)
  52324. CreatePickup(1239, 23, 1099.73,-1504.67,15.800, -1); //Bodyguard (All Saints Mall) Registration
  52325. CreatePickup(1239, 23, 1366.4325,-1275.2096,13.5469, -1); //ArmsDealer Registration (LS)
  52326. CreatePickup(1239, 23, 2473.52, -2530.29, 13.65, -1);
  52327. CreatePickup(1239, 23, 766.0804,14.5133,1000.7004, -1); //Boxer Registration (LS)
  52328. CreatePickup(1239, 23, 758.98,-60.32,1000.78, -1); //Boxer Registration2 (LS)
  52329. CreatePickup(1239, 23, 1741.6218,-1863.6486,13.5748, -1); //TaxiDriver Registration (LS)
  52330. CreatePickup(1239, 23, 502.6696,-11.6603,1000.6797, -1); //Bartender Registration
  52331. CreatePickup(1239, 23, 2195.8335,-1973.0638,13.5589, -1); //Craftsman Registration
  52332. CreatePickup(1239, 23, 2330.117675, -2315.346435, 13.546875, -1); //Car Mechanic Registration
  52333. CreatePickup(1239, 23, 2214.979736, -2661.346923, 13.546875, -1); //Trucker registration
  52334. CreatePickup(1239, 23, 1280.6154 , -1272.4631, 13.5365, -1); //Miner registration
  52335. // Other job pickups
  52336. CreatePickup(1239, 23, 2104.1999511719, -1787.5999755859, 13.60000038147, -1); // Pizza /getpizza
  52337. // Job 3D text labels
  52338. Create3DTextLabel("{FFFF00}Detective Job \nType /join to become one", -1, 1776.386962,-1047.542968,-25.408025, 20.0, 0, 0);// Detective Job (LS)
  52339. Create3DTextLabel("{FFFF00}Whore Job \nType /join to become one", -1, 1215.1304,-11.8431,1000.9219, 20.0, 0, 0);// Whore (LS)
  52340. Create3DTextLabel("{FFFF00}Pizza Boy Job \nType /join to become one", -1, 378.58, -114.26, 1001.49, 20.0, 0, 0);// Pizza Boy Job (LS)
  52341. Create3DTextLabel("{FFFF00}Drug Dealer Job \nType /join to become one", -1, 2166.3772,-1675.3829,15.0859, 20.0, 0, 0);// Drug Dealer (LS)
  52342. Create3DTextLabel("{FFFF00}Drug Smuggler Job \nType /join to become one", -1, 2354.2808,-1169.2959,28.0066, 20.0, 0, 0);// Drug Smuggler (LS)
  52343. Create3DTextLabel("{FFFF00}Lawyer Job \nType /join to become one", -1, 1380.8955,-1088.6808,27.3844, 20.0, 0, 0);// Lawyer (LS)
  52344. Create3DTextLabel("{FFFF00}Bodyguard Job \nType /join to become one", -1, 2226.1716,-1718.1792,13.5165, 20.0, 0, 0);// Bodyguard (LS)
  52345. Create3DTextLabel("{FFFF00}Bodyguard Job \nType /join to become one", -1, 1099.73,-1504.67,15.800, 20.0, 0, 0);// Bodyguard (All Saints Mall)
  52346. Create3DTextLabel("{FFFF00}Arms Dealer Job \nType /join to become one", -1, 1366.4325,-1275.2096,13.5469, 20.0, 0, 0);// Gun Job (LS)
  52347. Create3DTextLabel("{FFFF00}Garbageman Job \nType /join to become one", -1, 2473.52, -2530.29, 13.65, 20.0, 0, 0);// Garbageman Job (LS)
  52348. Create3DTextLabel("{FFFF00}Boxer Job \nType /join to become one", -1, 766.0804,14.5133,1000.7004, 20.0, 0, 0);// Boxer
  52349. Create3DTextLabel("{FFFF00}Boxer Job \nType /join to become one", -1, 758.98,-60.32,1000.78, 20.0, 0, 0);// Boxer2
  52350. Create3DTextLabel("{FFFF00}Taxi Job \nType /join to become one", -1, 1741.6218,-1863.6486,13.5748, 20.0, 0, 0);// Taxi Driver (LS)
  52351. Create3DTextLabel("{FFFF00}Bartender Job \nType /join to become one", -1, 502.6696,-11.6603,1000.6797, 20.0, 0, 0);// Bartender (Alhambra)
  52352. Create3DTextLabel("{FFFF00}Craftsman Job \nType /join to become one", -1,2195.8335,-1973.0638,13.5589, 20.0, 0, 0);// Craftsman (JUNKYARD LS)
  52353. Create3DTextLabel("{FFFF00}Mechanic Job \nType /join to become one", -1, 2330.117675, -2315.346435, 13.546875, 20.0, 0, 0);// Mechanic (LS)
  52354. Create3DTextLabel("{FFFF00}Trucker Job \nType /join to become one", -1, 2214.979736, -2661.346923, 13.546875, 20.0, 0, 0);// Trucker Job (LS)
  52355. Create3DTextLabel("{FFFF00}Miner Job \nType /join to become one", -1,1280.6154 ,-1272.4631, 13.5365, 20.0, 0, 0);// Miner Job(LS)
  52356. // Other job 3D text labels
  52357. CreateDynamic3DTextLabel("Type /getpizza from a Pizzaboy \nto get pizzas for delivery!",COLOR_YELLOW,2104.1999511719, -1787.5999755859, 13.60000038147, 4.0); //getpizza
  52358. CreateDynamic3DTextLabel("Use /train\nto get a new fighting style",COLOR_YELLOW,758.43,-78.0,1000.65+0.5,4.0);
  52359. CreateDynamic3DTextLabel("Use /train\nto get a new fighting style",COLOR_YELLOW,756.229125, 5.614504, 1000.698608+0.5,4.0);
  52360. // General 3D text labels
  52361. CreateDynamic3DTextLabel("/buyclothes\n To change your skin.",COLOR_YELLOW,208.8970,-100.3289,1005.2578,8.0);
  52362. CreateDynamic3DTextLabel("/buyclothes\n To change your skin.",COLOR_YELLOW,206.5429,-41.2313,1001.8047,8.0);
  52363. CreateDynamic3DTextLabel("/buyclothes\n To change your skin.",COLOR_YELLOW,209.3064,-8.3033,1005.2109,8.0);
  52364. CreateDynamic3DTextLabel("/buyclothes\n To change your skin.",COLOR_YELLOW,159.6771,-83.2866,1001.8120,8.0);
  52365. CreateDynamic3DTextLabel("/buyclothes\n To change your skin.",COLOR_YELLOW,206.4552,-163.0903,1000.5234,8.0);
  52366. CreateDynamic3DTextLabel("/buytoys\n To buy some accessories.",COLOR_YELLOW,206.3253,-100.3268,1005.2578,8.0);
  52367. CreateDynamic3DTextLabel("/buytoys\n To buy some accessories.",COLOR_YELLOW,201.0413,-40.1616,1001.8047,8.0);
  52368. CreateDynamic3DTextLabel("/buytoys\n To buy some accessories.",COLOR_YELLOW,206.3963,-8.2122,1001.2109,8.0);
  52369. CreateDynamic3DTextLabel("/buytoys\n To buy some accessories.",COLOR_YELLOW,162.7706,-83.2726,1001.8047,8.0);
  52370. CreateDynamic3DTextLabel("/buytoys\n To buy some accessories.",COLOR_YELLOW,202.6777,-163.0623,1000.5306,8.0);
  52371. // DMV
  52372. CreateDynamic3DTextLabel("To pay your tickets or\nrelease your cars, type /dmvmenu",COLOR_YELLOW,833.60, 3.23, 1004.17+0.6,4.0);//
  52373. //getlicense
  52374. CreateDynamic3DTextLabel("Type /getlicense to \nacquire a license.",COLOR_YELLOW,366.559448,158.745285,1008.382812+0.5,8.0);// Licenses.
  52375. CreatePickup(1239, 23, -1209.552001, -171.159011, 4891.833007, -1);
  52376. // The Lubu Gentlemen's Club (pickup + text label)
  52377. CreateDynamic3DTextLabel("The Lubu Gentlemen's Club",COLOR_YELLOW,511.817230, -1510.971679, 14.566996+0.7,10.0);
  52378. CreatePickup(1318, 23, 511.817230, -1510.971679, 14.566996, -1);
  52379. // The Tableau Club (pickup + text label)
  52380. CreateDynamic3DTextLabel("The Tableau Club",COLOR_YELLOW,561.802795, -1506.722412, 14.548986+0.7,10.0);
  52381. CreatePickup(1318, 23, 561.802795, -1506.722412, 14.548986, -1);
  52382. CreateDynamic3DTextLabel("Tableau VIP Room\nEntrance cost: $100",COLOR_YELLOW,307.904296, 1025.602294, 1098.540039+0.7,10.0);
  52383. CreatePickup(1318, 23, 307.904296, 1025.602294, 1098.540039, -1);
  52384. // Santa Maria Surfer's Lounge
  52385. CreateDynamic3DTextLabel("Santa Maria Surfer's Lounge",COLOR_YELLOW,387.958374, -1870.688110, 7.835937+0.7,10.0);
  52386. CreatePickup(1318, 23, 387.958374, -1870.688110, 7.835937, -1);
  52387. // Parachute at Startower
  52388. CreateDynamic3DTextLabel("/getparachute",COLOR_YELLOW,1544.2,-1353.4,329.4+0.6,10.0);
  52389. CreatePickup(371, 23, 1544.2,-1353.4,329.4); //LS towertop
  52390. CreatePickup(371, 23, 1536.0, -1360.0, 1150.0); //LS towertop
  52391. // Changename
  52392. CreateDynamic3DTextLabel("Name Change Point \nType /changename to change your name",COLOR_YELLOW,1154.7295,-1440.2323,15.7969+0.6,18.0); // Namechange at mall
  52393. CreatePickup(1239, 23, 1154.7295,-1440.2323,15.7969); //Changename
  52394. // Los Santos Vehicles
  52395. AddStaticVehicleEx(519,1806.1066,-2406.8108,14.4731,220.1901,-1, -1, VEHICLE_RESPAWN);
  52396. AddStaticVehicleEx(519,1851.0873,-2397.0818,14.4738,221.0776,-1, -1, VEHICLE_RESPAWN);
  52397. AddStaticVehicleEx(519,1881.2903,-2364.6726,14.4760,231.6925,-1, -1, VEHICLE_RESPAWN);
  52398. AddStaticVehicleEx(593,1990.4940,-2400.4700,14.0069,126.8314,-1, -1, VEHICLE_RESPAWN);
  52399. AddStaticVehicleEx(593,1991.9357,-2377.5691,14.0096,111.9823,-1, -1, VEHICLE_RESPAWN);
  52400. AddStaticVehicleEx(485,2005.4028,-2340.4004,13.2026,353.8798,-1, -1, VEHICLE_RESPAWN);
  52401. AddStaticVehicleEx(485,1944.1885,-2234.3225,13.2017,358.4947,-1, -1, VEHICLE_RESPAWN);
  52402. AddStaticVehicleEx(485,1893.2838,-2320.5076,13.2070,285.2385,-1, -1, VEHICLE_RESPAWN);
  52403. AddStaticVehicleEx(485,1882.2479,-2390.3965,13.2133,266.7464,-1, -1, VEHICLE_RESPAWN);
  52404. AddStaticVehicleEx(485,1915.2466,-2643.3474,13.2050,2.2446,-1, -1, VEHICLE_RESPAWN);
  52405. AddStaticVehicleEx(553,1944.5242,-2639.1465,14.8823,28.0299,-1, -1, VEHICLE_RESPAWN);
  52406. AddStaticVehicleEx(553,1984.2778,-2637.7561,14.8831,9.0602,-1, -1, VEHICLE_RESPAWN);
  52407. AddStaticVehicleEx(553,2019.7615,-2642.5803,14.8759,318.3256,-1, -1, VEHICLE_RESPAWN);
  52408. AddStaticVehicleEx(510,2081.9866,-2359.7229,13.1551,64.1485,-1, -1, VEHICLE_RESPAWN);
  52409. AddStaticVehicleEx(510,1866.6115,-2660.4602,13.1552,18.6151,-1, -1, VEHICLE_RESPAWN);
  52410. AddStaticVehicleEx(513,1881.0273,-2632.3281,14.0996,40.9586,-1, -1, VEHICLE_RESPAWN);
  52411. AddStaticVehicleEx(513,1891.9824,-2632.7056,14.1085,332.5663,-1, -1, VEHICLE_RESPAWN);
  52412. AddStaticVehicleEx(593,1840.4315,-2631.8525,14.0080,319.2033,-1, -1, VEHICLE_RESPAWN);
  52413. AddStaticVehicleEx(593,1822.1689,-2629.8713,14.0076,35.6965,-1, -1, VEHICLE_RESPAWN);
  52414. AddStaticVehicleEx(593,1806.7133,-2630.3167,14.0037,32.0461,-1, -1, VEHICLE_RESPAWN);
  52415. AddStaticVehicleEx(481,1698.6532,-2692.0225,13.0592,256.1956,-1, -1, VEHICLE_RESPAWN);
  52416. AddStaticVehicleEx(485,1707.5415,-2646.3325,13.2052,359.6846,-1, -1, VEHICLE_RESPAWN);
  52417. AddStaticVehicleEx(487,1716.0422,-2437.5767,13.7316,148.7897,-1, -1, VEHICLE_RESPAWN);
  52418. AddStaticVehicleEx(487,1737.4827,-2432.7019,13.7340,192.0326,-1, -1, VEHICLE_RESPAWN);
  52419. AddStaticVehicleEx(487,1752.5586,-2452.2275,13.7322,147.2027,-1, -1, VEHICLE_RESPAWN);
  52420. AddStaticVehicleEx(417,1636.0142,-2409.7209,13.6266,193.2301,-1, -1, VEHICLE_RESPAWN);
  52421. AddStaticVehicleEx(417,1655.8718,-2410.4551,13.6350,156.9428,-1, -1, VEHICLE_RESPAWN);
  52422. AddStaticVehicleEx(510,1600.9696,-2395.0103,13.2262,298.2056,-1, -1, VEHICLE_RESPAWN);
  52423. AddStaticVehicleEx(446,728.1595,-1495.2687,-0.4906,179.7909,-1, -1, VEHICLE_RESPAWN);
  52424. AddStaticVehicleEx(454,720.7040,-1633.3224,0.1487,177.6009,-1, -1, VEHICLE_RESPAWN);
  52425. AddStaticVehicleEx(454,720.5267,-1699.9827,0.1866,358.9251,-1, -1, VEHICLE_RESPAWN);
  52426. AddStaticVehicleEx(496,648.1077,-1507.8370,14.7836,88.3481,-1, -1, VEHICLE_RESPAWN);
  52427. AddStaticVehicleEx(413,691.4462,-1570.2456,14.3358,179.2636,-1, -1, VEHICLE_RESPAWN);
  52428. AddStaticVehicleEx(603,259.4689,-1597.9203,33.1167,299.1694,-1, -1, VEHICLE_RESPAWN);
  52429. AddStaticVehicleEx(518,258.0661,-1591.6113,33.1217,275.3944,-1, -1, VEHICLE_RESPAWN);
  52430. AddStaticVehicleEx(409,867.4957,-1285.9368,13.8859,357.4155,-1, -1, VEHICLE_RESPAWN);
  52431. AddStaticVehicleEx(457,844.4999,-1197.9865,16.6038,0.3980,-1, -1, VEHICLE_RESPAWN);
  52432. AddStaticVehicleEx(457,880.8410,-1199.7491,16.6031,357.7022,-1, -1, VEHICLE_RESPAWN);
  52433. AddStaticVehicleEx(457,914.7440,-1199.8364,16.6032,359.8655,-1, -1, VEHICLE_RESPAWN);
  52434. AddStaticVehicleEx(463,920.4453,-1290.5063,13.3508,118.6505,-1, -1, VEHICLE_RESPAWN);
  52435. AddStaticVehicleEx(542,863.2733,-1375.0151,13.3187,85.7265,-1, -1, VEHICLE_RESPAWN);
  52436. AddStaticVehicleEx(496,821.6033,-1473.7249,12.5756,357.5008,-1, -1, VEHICLE_RESPAWN);
  52437. AddStaticVehicleEx(461,1031.1113,-1446.3105,13.1411,59.0580,-1, -1, VEHICLE_RESPAWN);
  52438. AddStaticVehicleEx(418,1005.0084,-1461.3424,13.6427,183.0261,-1, -1, VEHICLE_RESPAWN);
  52439. AddStaticVehicleEx(489,990.5985,-1306.8129,13.5204,179.0488,-1, -1, VEHICLE_RESPAWN);
  52440. AddStaticVehicleEx(475,1002.5063,-1306.5654,13.1866,359.6424,-1, -1, VEHICLE_RESPAWN);
  52441. AddStaticVehicleEx(518,981.5054,-1306.6899,13.1630,181.0135,-1, -1, VEHICLE_RESPAWN);
  52442. AddStaticVehicleEx(549,955.8333,-1190.2795,16.6425,270.2728,-1, -1, VEHICLE_RESPAWN);
  52443. AddStaticVehicleEx(482,956.0022,-1199.3633,17.1270,268.5538,-1, -1, VEHICLE_RESPAWN);
  52444. AddStaticVehicleEx(468,956.3898,-1193.4253,16.6297,89.6432,-1, -1, VEHICLE_RESPAWN);
  52445. AddStaticVehicleEx(567,1085.8342,-1199.3883,17.7945,90.5839,-1, -1, VEHICLE_RESPAWN);
  52446. AddStaticVehicleEx(542,1097.0354,-1218.1705,17.5471,356.6483,-1, -1, VEHICLE_RESPAWN);
  52447. AddStaticVehicleEx(461,1084.2866,-1232.2461,15.3945,243.6654,-1, -1, VEHICLE_RESPAWN);
  52448. AddStaticVehicleEx(461,1083.9337,-1235.0449,15.4088,243.8919,-1, -1, VEHICLE_RESPAWN);
  52449. AddStaticVehicleEx(461,1083.7941,-1238.1573,15.4110,243.1097,-1, -1, VEHICLE_RESPAWN);
  52450. AddStaticVehicleEx(405,1109.0310,-1225.8809,15.6987,181.5343,-1, -1, VEHICLE_RESPAWN);
  52451. AddStaticVehicleEx(458,1000.3081,-1084.5488,23.7069,179.6207,-1, -1, VEHICLE_RESPAWN);
  52452. AddStaticVehicleEx(542,1015.8254,-1083.9113,23.5711,0.6381,-1, -1, VEHICLE_RESPAWN);
  52453. AddStaticVehicleEx(461,1032.2993,-1082.4255,23.4136,166.6669,-1, -1, VEHICLE_RESPAWN);
  52454. AddStaticVehicleEx(475,1003.6659,-1054.6088,30.6946,3.0438,-1, -1, VEHICLE_RESPAWN);
  52455. AddStaticVehicleEx(560,1070.9109,-1102.3247,24.4439,270.7971,-1, -1, VEHICLE_RESPAWN);
  52456. AddStaticVehicleEx(496,1137.6492,-1025.5586,31.5121,177.9917,-1, -1, VEHICLE_RESPAWN);
  52457. AddStaticVehicleEx(558,1131.7341,-1010.0580,29.4899,95.0937,-1, -1, VEHICLE_RESPAWN);
  52458. AddStaticVehicleEx(581,1205.2384,-977.0176,43.0742,179.7537,-1, -1, VEHICLE_RESPAWN);
  52459. AddStaticVehicleEx(536,1227.2596,-974.1713,43.2139,180.2966,-1, -1, VEHICLE_RESPAWN);
  52460. AddStaticVehicleEx(581,989.3703,-1589.3812,13.0903,21.5606,-1, -1, VEHICLE_RESPAWN);
  52461. AddStaticVehicleEx(542,1061.2451,-1665.2649,13.4966,91.9120,-1, -1, VEHICLE_RESPAWN);
  52462. AddStaticVehicleEx(405,1136.5767,-1695.5199,13.6956,88.9354,-1, -1, VEHICLE_RESPAWN);
  52463. AddStaticVehicleEx(463,1137.1466,-1700.1902,13.3869,87.9396,-1, -1, VEHICLE_RESPAWN);
  52464. AddStaticVehicleEx(518,1280.4908,-1816.1259,13.0556,270.4623,-1, -1, VEHICLE_RESPAWN);
  52465. AddStaticVehicleEx(482,1250.2468,-1835.0884,13.5047,180.4024,-1, -1, VEHICLE_RESPAWN);
  52466. AddStaticVehicleEx(527,1196.9360,-1829.6980,13.1197,269.7545,-1, -1, VEHICLE_RESPAWN);
  52467. AddStaticVehicleEx(589,1280.9364,-1833.0607,13.0418,90.8050,-1, -1, VEHICLE_RESPAWN);
  52468. AddStaticVehicleEx(562,1267.0612,-1795.2074,13.0702,0.6533,-1, -1, VEHICLE_RESPAWN);
  52469. AddStaticVehicleEx(463,1281.6627,-1805.1254,12.9241,62.4969,-1, -1, VEHICLE_RESPAWN);
  52470. AddStaticVehicleEx(545,1238.0167,-1835.2385,13.2008,177.5310,-1, -1, VEHICLE_RESPAWN);
  52471. AddStaticVehicleEx(400,1423.8417,-1845.0616,13.4772,270.4685,-1, -1, VEHICLE_RESPAWN);
  52472. AddStaticVehicleEx(546,1536.6632,-1846.7765,13.2712,0.8185,-1, -1, VEHICLE_RESPAWN);
  52473. AddStaticVehicleEx(475,1614.0917,-1893.9027,13.3521,357.9483,-1, -1, VEHICLE_RESPAWN);
  52474. AddStaticVehicleEx(546,1796.2775,-1933.2837,13.1180,180.4499,-1, -1, VEHICLE_RESPAWN);
  52475. AddStaticVehicleEx(545,1776.1965,-1917.6884,13.1976,90.7850,-1, -1, VEHICLE_RESPAWN);
  52476. AddStaticVehicleEx(400,1776.1498,-1907.3949,13.4788,271.3831,-1, -1, VEHICLE_RESPAWN);
  52477. AddStaticVehicleEx(400,1804.1429,-1909.4020,13.3328,269.6684,-1, -1, VEHICLE_RESPAWN);
  52478. AddStaticVehicleEx(474,1804.4889,-1919.3353,13.1556,269.8831,-1, -1, VEHICLE_RESPAWN);
  52479. AddStaticVehicleEx(496,1785.9353,-1933.2903,13.1750,0.8605,-1, -1, VEHICLE_RESPAWN);
  52480. AddStaticVehicleEx(496,1776.2777,-1894.0770,12.9741,272.6132,-1, -1, VEHICLE_RESPAWN);
  52481. AddStaticVehicleEx(482,1776.5122,-1899.9752,13.5071,87.3522,-1, -1, VEHICLE_RESPAWN);
  52482. AddStaticVehicleEx(482,1791.3899,-1933.2008,13.5101,180.1195,-1, -1, VEHICLE_RESPAWN);
  52483. AddStaticVehicleEx(461,1775.7963,-1912.6582,12.9720,269.4815,-1, -1, VEHICLE_RESPAWN);
  52484. AddStaticVehicleEx(461,1775.7340,-1914.1243,12.9716,262.3925,-1, -1, VEHICLE_RESPAWN);
  52485. AddStaticVehicleEx(536,1834.7808,-1871.9734,13.0925,179.2434,-1, -1, VEHICLE_RESPAWN);
  52486. AddStaticVehicleEx(496,1836.6301,-1853.6381,13.1059,179.9886,-1, -1, VEHICLE_RESPAWN);
  52487. AddStaticVehicleEx(468,1900.5659,-1849.8379,13.2277,44.6102,-1, -1, VEHICLE_RESPAWN);
  52488. AddStaticVehicleEx(463,1097.5217,-1763.8896,12.8933,267.4286,-1, -1, VEHICLE_RESPAWN);
  52489. AddStaticVehicleEx(475,892.6356,-1668.8604,13.3544,179.2466,-1, -1, VEHICLE_RESPAWN);
  52490. AddStaticVehicleEx(521,870.1176,-1676.6573,13.1183,186.2732,-1, -1, VEHICLE_RESPAWN);
  52491. AddStaticVehicleEx(496,888.5651,-1679.1317,13.2628,357.5185,-1, -1, VEHICLE_RESPAWN);
  52492. AddStaticVehicleEx(496,1671.9685,-1704.4779,20.2006,270.8929,-1, -1, VEHICLE_RESPAWN);
  52493. AddStaticVehicleEx(461,1673.9683,-1713.0564,20.0617,67.1318,-1, -1, VEHICLE_RESPAWN);
  52494. AddStaticVehicleEx(413,327.8443,-1809.2729,4.5733,359.3342,-1, -1, VEHICLE_RESPAWN);
  52495. AddStaticVehicleEx(439,311.7234,-1809.8577,4.3552,179.9755,-1, -1, VEHICLE_RESPAWN);
  52496. AddStaticVehicleEx(496,334.3875,-1788.6018,4.7803,358.1175,-1, -1, VEHICLE_RESPAWN);
  52497. AddStaticVehicleEx(467,740.4370,-1793.5476,12.9180,349.2087,-1, -1, VEHICLE_RESPAWN);
  52498. AddStaticVehicleEx(473,823.7594,-2066.2686,-0.1017,112.6381,-1, -1, VEHICLE_RESPAWN);
  52499. AddStaticVehicleEx(467,892.0507,-1797.3351,13.4070,175.4098,-1, -1, VEHICLE_RESPAWN);
  52500. AddStaticVehicleEx(467,944.9136,-1813.5590,13.0146,350.0614,-1, -1, VEHICLE_RESPAWN);
  52501. AddStaticVehicleEx(491,1096.8945,-1878.8030,13.3031,178.1535,-1, -1, VEHICLE_RESPAWN);
  52502. AddStaticVehicleEx(496,1206.2454,-1879.0792,13.3341,88.5190,-1, -1, VEHICLE_RESPAWN);
  52503. AddStaticVehicleEx(589,346.9617,-1197.2283,76.2875,25.8040,-1, -1, VEHICLE_RESPAWN);
  52504. AddStaticVehicleEx(562,481.5187,-1089.5427,82.1051,359.1924,-1, -1, VEHICLE_RESPAWN);
  52505. AddStaticVehicleEx(426,565.9165,-1067.1946,73.1332,35.3833,-1, -1, VEHICLE_RESPAWN);
  52506. AddStaticVehicleEx(562,150.7156,-1473.8826,24.9243,5.9389,-1, -1, VEHICLE_RESPAWN);
  52507. AddStaticVehicleEx(603,172.0262,-1341.3418,69.5661,168.2207,-1, -1, VEHICLE_RESPAWN);
  52508. AddStaticVehicleEx(405,406.4772,-1264.2565,50.2499,24.0160,-1, -1, VEHICLE_RESPAWN);
  52509. AddStaticVehicleEx(535,423.6223,-1266.3209,51.3450,21.9438,-1, -1, VEHICLE_RESPAWN);
  52510. AddStaticVehicleEx(477,261.5547,-1220.3823,74.6478,183.4546,-1, -1, VEHICLE_RESPAWN);
  52511. AddStaticVehicleEx(535,276.9328,-1267.3054,73.7098,302.5802,-1, -1, VEHICLE_RESPAWN);
  52512. AddStaticVehicleEx(496,280.3806,-1255.7952,73.6166,281.7693,-1, -1, VEHICLE_RESPAWN);
  52513. AddStaticVehicleEx(589,569.3154,-1131.7330,50.2950,243.4572,-1, -1, VEHICLE_RESPAWN);
  52514. AddStaticVehicleEx(562,687.5812,-1072.8162,49.1274,62.7814,-1, -1, VEHICLE_RESPAWN);
  52515. AddStaticVehicleEx(496,724.4913,-995.4954,52.3857,89.4483,-1, -1, VEHICLE_RESPAWN);
  52516. AddStaticVehicleEx(545,795.9840,-840.3973,60.4526,174.5740,-1, -1, VEHICLE_RESPAWN);
  52517. AddStaticVehicleEx(534,831.9914,-858.8560,69.6527,199.3811,-1, -1, VEHICLE_RESPAWN);
  52518. AddStaticVehicleEx(535,839.4457,-893.5928,68.5340,21.2260,-1, -1, VEHICLE_RESPAWN);
  52519. AddStaticVehicleEx(477,912.5916,-832.0980,92.1407,218.1897,-1, -1, VEHICLE_RESPAWN);
  52520. AddStaticVehicleEx(562,966.6584,-842.2115,95.4213,208.6852,-1, -1, VEHICLE_RESPAWN);
  52521. AddStaticVehicleEx(589,1024.2820,-777.6995,102.7277,142.3072,-1, -1, VEHICLE_RESPAWN);
  52522. AddStaticVehicleEx(477,1460.3851,-633.6793,95.5530,179.4419,-1, -1, VEHICLE_RESPAWN);
  52523. AddStaticVehicleEx(535,1516.9452,-765.4361,79.7405,142.5422,-1, -1, VEHICLE_RESPAWN);
  52524. AddStaticVehicleEx(458,1530.6602,-814.2603,71.8145,269.5966,-1, -1, VEHICLE_RESPAWN);
  52525. AddStaticVehicleEx(560,1536.7003,-841.9440,64.3992,91.2450,-1, -1, VEHICLE_RESPAWN);
  52526. AddStaticVehicleEx(589,1088.9662,-644.2655,113.1492,338.4004,-1, -1, VEHICLE_RESPAWN);
  52527. AddStaticVehicleEx(550,1038.2852,-640.5812,119.9407,3.9959,-1, -1, VEHICLE_RESPAWN);
  52528. AddStaticVehicleEx(560,946.7752,-705.8109,121.9154,208.3881,-1, -1, VEHICLE_RESPAWN);
  52529. AddStaticVehicleEx(535,912.4982,-665.0076,116.7563,234.0564,-1, -1, VEHICLE_RESPAWN);
  52530. AddStaticVehicleEx(477,866.9702,-712.0836,105.4297,301.5712,-1, -1, VEHICLE_RESPAWN);
  52531. AddStaticVehicleEx(518,851.5046,-741.6164,94.8512,223.7018,-1, -1, VEHICLE_RESPAWN);
  52532. AddStaticVehicleEx(603,887.4414,-782.3810,101.1163,325.3539,-1, -1, VEHICLE_RESPAWN);
  52533. AddStaticVehicleEx(534,834.7188,-754.2109,85.0352,221.3681,-1, -1, VEHICLE_RESPAWN);
  52534. AddStaticVehicleEx(545,856.4266,-825.8338,89.3121,35.0684,-1, -1, VEHICLE_RESPAWN);
  52535. AddStaticVehicleEx(545,812.7324,-768.6061,76.6226,240.9842,-1, -1, VEHICLE_RESPAWN);
  52536. AddStaticVehicleEx(562,792.6622,-824.7413,69.7717,10.8903,-1, -1, VEHICLE_RESPAWN);
  52537. AddStaticVehicleEx(405,211.8928,-1419.0681,13.1531,135.6236,-1, -1, VEHICLE_RESPAWN);
  52538. AddStaticVehicleEx(461,203.5655,-1441.0552,12.6881,319.3540,-1, -1, VEHICLE_RESPAWN);
  52539. AddStaticVehicleEx(482,216.6308,-1431.9065,13.3691,313.9951,-1, -1, VEHICLE_RESPAWN);
  52540. AddStaticVehicleEx(462,338.6057,-1340.7114,14.1075,116.4867,-1, -1, VEHICLE_RESPAWN);
  52541. AddStaticVehicleEx(439,343.3987,-1353.3427,14.4033,299.2459,-1, -1, VEHICLE_RESPAWN);
  52542. AddStaticVehicleEx(542,412.7446,-1318.5144,14.6645,210.7711,-1, -1, VEHICLE_RESPAWN);
  52543. AddStaticVehicleEx(521,411.1232,-1311.2087,14.5024,140.9818,-1, -1, VEHICLE_RESPAWN);
  52544. AddStaticVehicleEx(562,500.5935,-1304.4486,16.8673,309.5460,-1, -1, VEHICLE_RESPAWN);
  52545. AddStaticVehicleEx(521,531.3096,-1315.9927,16.8135,188.1211,-1, -1, VEHICLE_RESPAWN);
  52546. AddStaticVehicleEx(461,587.8506,-1279.8562,15.9628,75.5049,-1, -1, VEHICLE_RESPAWN);
  52547. AddStaticVehicleEx(463,588.5497,-1282.7085,15.7110,71.1037,-1, -1, VEHICLE_RESPAWN);
  52548. AddStaticVehicleEx(589,569.1940,-1264.3147,16.4483,105.7125,-1, -1, VEHICLE_RESPAWN);
  52549. AddStaticVehicleEx(474,580.0232,-1310.1290,13.6310,190.1793,-1, -1, VEHICLE_RESPAWN);
  52550. AddStaticVehicleEx(463,892.2068,-944.0689,41.3930,346.6371,-1, -1, VEHICLE_RESPAWN);
  52551. AddStaticVehicleEx(496,1039.0024,-925.8621,42.0801,3.8901,-1, -1, VEHICLE_RESPAWN);
  52552. AddStaticVehicleEx(496,1028.1858,-887.8458,41.8743,18.1745,-1, -1, VEHICLE_RESPAWN);
  52553. AddStaticVehicleEx(534,1091.6672,-934.4342,42.7434,181.8923,-1, -1, VEHICLE_RESPAWN);
  52554. AddStaticVehicleEx(496,1196.4460,-887.2950,42.7778,4.9401,-1, -1, VEHICLE_RESPAWN);
  52555. AddStaticVehicleEx(461,1184.3699,-898.7025,42.8468,50.8006,-1, -1, VEHICLE_RESPAWN);
  52556. AddStaticVehicleEx(479,1307.0081,-871.5775,39.3723,88.4695,-1, -1, VEHICLE_RESPAWN);
  52557. AddStaticVehicleEx(482,1307.4617,-865.4689,39.6982,269.2831,-1, -1, VEHICLE_RESPAWN);
  52558. AddStaticVehicleEx(543,1307.4490,-856.3735,39.3962,86.8428,-1, -1, VEHICLE_RESPAWN);
  52559. AddStaticVehicleEx(463,1305.3447,-860.6293,39.1185,240.4489,-1, -1, VEHICLE_RESPAWN);
  52560. AddStaticVehicleEx(567,1327.1772,-856.8694,39.4427,355.0141,-1, -1, VEHICLE_RESPAWN);
  52561. AddStaticVehicleEx(458,1422.6184,-915.6990,35.9254,173.6657,-1, -1, VEHICLE_RESPAWN);
  52562. AddStaticVehicleEx(439,1455.1505,-920.9677,37.4997,5.5316,-1, -1, VEHICLE_RESPAWN);
  52563. AddStaticVehicleEx(550,1025.4679,-981.0638,42.4947,275.3589,-1, -1, VEHICLE_RESPAWN);
  52564. AddStaticVehicleEx(576,929.9745,-996.4139,37.8311,274.6470,-1, -1, VEHICLE_RESPAWN);
  52565. AddStaticVehicleEx(404,863.1107,-1056.6387,24.8362,216.7097,-1, -1, VEHICLE_RESPAWN);
  52566. AddStaticVehicleEx(463,868.9804,-1068.5559,24.6418,26.0884,-1, -1, VEHICLE_RESPAWN);
  52567. AddStaticVehicleEx(439,783.3749,-1356.8221,13.4354,272.4747,-1, -1, VEHICLE_RESPAWN);
  52568. AddStaticVehicleEx(463,733.6376,-1347.5618,13.0519,258.9138,-1, -1, VEHICLE_RESPAWN);
  52569. AddStaticVehicleEx(536,1696.6791,-2097.0415,13.2841,179.3459,-1, -1, VEHICLE_RESPAWN);
  52570. AddStaticVehicleEx(542,1662.7777,-2110.7148,13.2900,90.3870,-1, -1, VEHICLE_RESPAWN);
  52571. AddStaticVehicleEx(400,1707.4287,-2142.6919,13.6471,229.0505,-1, -1, VEHICLE_RESPAWN);
  52572. AddStaticVehicleEx(567,1725.0461,-2130.4683,13.4259,180.7540,-1, -1, VEHICLE_RESPAWN);
  52573. AddStaticVehicleEx(412,1724.0801,-2092.9343,13.3837,178.9921,-1, -1, VEHICLE_RESPAWN);
  52574. AddStaticVehicleEx(536,1747.4430,-2097.3616,13.2870,179.0798,-1, -1, VEHICLE_RESPAWN);
  52575. AddStaticVehicleEx(576,1793.3020,-2149.7551,13.2392,180.6801,-1, -1, VEHICLE_RESPAWN);
  52576. AddStaticVehicleEx(536,1772.7323,-2096.0732,13.2853,181.7548,-1, -1, VEHICLE_RESPAWN);
  52577. AddStaticVehicleEx(549,1948.6121,-2114.0183,13.2416,90.8657,-1, -1, VEHICLE_RESPAWN);
  52578. AddStaticVehicleEx(496,1948.0044,-2126.9031,13.2611,269.0660,-1, -1, VEHICLE_RESPAWN);
  52579. AddStaticVehicleEx(463,1941.4159,-2139.8730,13.0970,153.7429,-1, -1, VEHICLE_RESPAWN);
  52580. AddStaticVehicleEx(576,1938.4186,-2089.9116,13.1725,87.9823,-1, -1, VEHICLE_RESPAWN);
  52581. AddStaticVehicleEx(482,1998.8810,-2095.2688,13.6603,182.4098,-1, -1, VEHICLE_RESPAWN);
  52582. AddStaticVehicleEx(482,2079.6143,-2007.4128,13.6618,267.6052,-1, -1, VEHICLE_RESPAWN);
  52583. AddStaticVehicleEx(543,2070.6382,-1995.7777,13.3738,177.5505,-1, -1, VEHICLE_RESPAWN);
  52584. AddStaticVehicleEx(463,2064.7144,-1998.2357,13.0870,323.5498,-1, -1, VEHICLE_RESPAWN);
  52585. AddStaticVehicleEx(475,1981.1689,-1985.4224,13.3487,0.0153,-1, -1, VEHICLE_RESPAWN);
  52586. AddStaticVehicleEx(443,2002.9520,-1940.1552,13.9832,90.4363,-1, -1, VEHICLE_RESPAWN);
  52587. AddStaticVehicleEx(413,2062.2634,-1904.0969,13.6286,358.4263,-1, -1, VEHICLE_RESPAWN);
  52588. AddStaticVehicleEx(426,2065.5415,-1920.3318,13.2901,179.3121,-1, -1, VEHICLE_RESPAWN);
  52589. AddStaticVehicleEx(468,2120.8396,-1874.5211,13.2159,331.0408,-1, -1, VEHICLE_RESPAWN);
  52590. AddStaticVehicleEx(489,2121.7656,-1783.0730,13.5319,181.4553,-1, -1, VEHICLE_RESPAWN);
  52591. AddStaticVehicleEx(600,2106.7954,-1783.6602,13.0983,178.3882,-1, -1, VEHICLE_RESPAWN);
  52592. AddStaticVehicleEx(400,2114.6040,-1783.4563,13.4944,359.1006,-1, -1, VEHICLE_RESPAWN);
  52593. AddStaticVehicleEx(546,2095.9749,-1800.3145,13.1088,268.3826,-1, -1, VEHICLE_RESPAWN);
  52594. AddStaticVehicleEx(400,2096.2324,-1819.9232,13.4752,269.6763,-1, -1, VEHICLE_RESPAWN);
  52595. AddStaticVehicleEx(554,1928.4520,-1795.0306,13.4708,269.1664,-1, -1, VEHICLE_RESPAWN);
  52596. AddStaticVehicleEx(475,1976.6083,-1727.6584,15.7685,270.5382,-1, -1, VEHICLE_RESPAWN);
  52597. AddStaticVehicleEx(400,2014.2510,-1737.9341,13.6451,89.6673,-1, -1, VEHICLE_RESPAWN);
  52598. AddStaticVehicleEx(546,2017.8608,-1707.7689,13.2712,91.0950,-1, -1, VEHICLE_RESPAWN);
  52599. AddStaticVehicleEx(496,1967.9211,-1658.8986,15.7506,88.9660,-1, -1, VEHICLE_RESPAWN);
  52600. AddStaticVehicleEx(474,2026.2841,-1649.0118,13.3172,268.3413,-1, -1, VEHICLE_RESPAWN);
  52601. AddStaticVehicleEx(475,2014.0079,-1597.3103,13.3757,134.4442,-1, -1, VEHICLE_RESPAWN);
  52602. AddStaticVehicleEx(466,2057.4875,-1636.5558,13.2887,269.2682,-1, -1, VEHICLE_RESPAWN);
  52603. AddStaticVehicleEx(496,2062.4905,-1694.4796,13.3308,89.8789,-1, -1, VEHICLE_RESPAWN);
  52604. AddStaticVehicleEx(533,2062.6511,-1738.6663,13.2560,90.7603,-1, -1, VEHICLE_RESPAWN);
  52605. AddStaticVehicleEx(412,2238.7908,-1630.9789,15.5684,339.3786,-1, -1, VEHICLE_RESPAWN);
  52606. AddStaticVehicleEx(534,2284.0630,-1681.7241,13.8912,0.3629,-1, -1, VEHICLE_RESPAWN);
  52607. AddStaticVehicleEx(475,2271.4482,-1634.8553,15.1246,1.4485,-1, -1, VEHICLE_RESPAWN);
  52608. AddStaticVehicleEx(463,2289.7493,-1685.7275,13.2727,338.6942,-1, -1, VEHICLE_RESPAWN);
  52609. AddStaticVehicleEx(496,2296.9233,-1644.5267,14.5451,178.7794,-1, -1, VEHICLE_RESPAWN);
  52610. AddStaticVehicleEx(474,2328.1565,-1677.1449,14.1746,268.4948,-1, -1, VEHICLE_RESPAWN);
  52611. AddStaticVehicleEx(475,2416.0103,-1707.7166,13.5772,180.6127,-1, -1, VEHICLE_RESPAWN);
  52612. AddStaticVehicleEx(400,2443.6687,-1637.1934,13.3619,180.6244,-1, -1, VEHICLE_RESPAWN);
  52613. AddStaticVehicleEx(404,2516.5413,-1672.2059,13.6568,247.4270,-1, -1, VEHICLE_RESPAWN);
  52614. AddStaticVehicleEx(600,2501.3005,-1685.7114,13.2052,54.2230,-1, -1, VEHICLE_RESPAWN);
  52615. AddStaticVehicleEx(426,2500.2908,-1755.7277,13.1737,179.5942,-1, -1, VEHICLE_RESPAWN);
  52616. AddStaticVehicleEx(479,2452.3486,-1784.1185,13.3435,358.6820,-1, -1, VEHICLE_RESPAWN);
  52617. AddStaticVehicleEx(475,2498.7920,-1953.6908,13.2268,180.0759,-1, -1, VEHICLE_RESPAWN);
  52618. AddStaticVehicleEx(482,2482.8601,-1953.4886,13.5429,359.9536,-1, -1, VEHICLE_RESPAWN);
  52619. AddStaticVehicleEx(475,2731.4260,-1937.1626,13.3474,270.9490,-1, -1, VEHICLE_RESPAWN);
  52620. AddStaticVehicleEx(489,2685.5461,-1986.3003,13.6939,358.8623,-1, -1, VEHICLE_RESPAWN);
  52621. AddStaticVehicleEx(536,2685.3967,-2021.3516,13.2650,179.1453,-1, -1, VEHICLE_RESPAWN);
  52622. AddStaticVehicleEx(475,2644.9438,-1989.3313,13.3576,178.5030,-1, -1, VEHICLE_RESPAWN);
  52623. AddStaticVehicleEx(547,2787.8420,-1876.2371,9.5681,179.4587,-1, -1, VEHICLE_RESPAWN);
  52624. AddStaticVehicleEx(426,2757.7773,-1847.0181,9.4532,21.0801,-1, -1, VEHICLE_RESPAWN);
  52625. AddStaticVehicleEx(479,2732.6860,-1875.2740,9.3877,359.7763,-1, -1, VEHICLE_RESPAWN);
  52626. AddStaticVehicleEx(567,2706.5757,-1843.5668,9.3669,339.9568,-1, -1, VEHICLE_RESPAWN);
  52627. AddStaticVehicleEx(458,2679.1792,-1826.0692,9.2646,129.6775,-1, -1, VEHICLE_RESPAWN);
  52628. AddStaticVehicleEx(439,2657.7949,-1812.8765,9.1989,98.6444,-1, -1, VEHICLE_RESPAWN);
  52629. AddStaticVehicleEx(461,2697.0117,-1836.8411,9.0454,131.7257,-1, -1, VEHICLE_RESPAWN);
  52630. AddStaticVehicleEx(463,2757.8318,-1878.8939,9.2421,331.1535,-1, -1, VEHICLE_RESPAWN);
  52631. AddStaticVehicleEx(521,2813.1143,-1822.5189,9.5068,56.5744,-1, -1, VEHICLE_RESPAWN);
  52632. AddStaticVehicleEx(521,2808.0325,-1669.0962,9.5088,168.8724,-1, -1, VEHICLE_RESPAWN);
  52633. AddStaticVehicleEx(466,2829.7585,-1699.7444,9.7443,256.3983,-1, -1, VEHICLE_RESPAWN);
  52634. AddStaticVehicleEx(545,2825.0059,-1718.6702,9.8159,77.5273,-1, -1, VEHICLE_RESPAWN);
  52635. AddStaticVehicleEx(588,2686.6833,-1672.3564,9.3456,1.2872,-1, -1, VEHICLE_RESPAWN);
  52636. AddStaticVehicleEx(546,2657.6079,-1701.7725,9.0416,92.9747,-1, -1, VEHICLE_RESPAWN);
  52637. AddStaticVehicleEx(521,2654.6636,-1692.5939,8.8779,251.8571,-1, -1, VEHICLE_RESPAWN);
  52638. AddStaticVehicleEx(463,2696.4189,-1669.2604,9.0249,152.7104,-1, -1, VEHICLE_RESPAWN);
  52639. AddStaticVehicleEx(474,2813.8862,-1429.2637,16.0126,357.9624,-1, -1, VEHICLE_RESPAWN);
  52640. AddStaticVehicleEx(546,2792.6982,-1432.1294,19.9428,95.9562,-1, -1, VEHICLE_RESPAWN);
  52641. AddStaticVehicleEx(521,2819.5498,-1427.8861,27.7283,97.0200,-1, -1, VEHICLE_RESPAWN);
  52642. AddStaticVehicleEx(400,2794.7859,-1464.7653,40.1536,180.1253,-1, -1, VEHICLE_RESPAWN);
  52643. AddStaticVehicleEx(418,2816.5820,-1431.5497,40.1556,268.4159,-1, -1, VEHICLE_RESPAWN);
  52644. AddStaticVehicleEx(521,2794.0625,-1576.2109,10.4993,252.9832,-1, -1, VEHICLE_RESPAWN);
  52645. AddStaticVehicleEx(600,2796.4966,-1562.6956,10.6452,89.5535,-1, -1, VEHICLE_RESPAWN);
  52646. AddStaticVehicleEx(426,2822.3193,-1553.4038,10.6672,89.8755,-1, -1, VEHICLE_RESPAWN);
  52647. AddStaticVehicleEx(533,2807.4377,-1540.4016,10.6310,180.0459,-1, -1, VEHICLE_RESPAWN);
  52648. AddStaticVehicleEx(589,2855.3896,-1354.9142,10.8385,271.7889,-1, -1, VEHICLE_RESPAWN);
  52649. AddStaticVehicleEx(521,2850.3010,-1323.3470,10.8710,43.7938,-1, -1, VEHICLE_RESPAWN);
  52650. AddStaticVehicleEx(562,2845.5762,-1287.0035,18.8725,276.4800,-1, -1, VEHICLE_RESPAWN);
  52651. AddStaticVehicleEx(463,2802.9653,-1174.3158,25.0878,148.6355,-1, -1, VEHICLE_RESPAWN);
  52652. AddStaticVehicleEx(589,2814.8518,-1186.5088,24.9740,125.2599,-1, -1, VEHICLE_RESPAWN);
  52653. AddStaticVehicleEx(496,2827.8259,-1165.8298,24.8425,74.4954,-1, -1, VEHICLE_RESPAWN);
  52654. AddStaticVehicleEx(419,2828.4297,-1193.2813,24.7035,319.2678,-1, -1, VEHICLE_RESPAWN);
  52655. AddStaticVehicleEx(521,2686.6938,-1102.2723,68.9335,36.2440,-1, -1, VEHICLE_RESPAWN);
  52656. AddStaticVehicleEx(536,2570.6431,-1101.5728,65.9616,224.2815,-1, -1, VEHICLE_RESPAWN);
  52657. AddStaticVehicleEx(461,2589.6411,-967.6470,80.9740,54.8113,-1, -1, VEHICLE_RESPAWN);
  52658. AddStaticVehicleEx(543,2561.0659,-955.9353,82.5712,189.2468,-1, -1, VEHICLE_RESPAWN);
  52659. AddStaticVehicleEx(543,2499.9092,-961.6536,82.0865,177.1486,-1, -1, VEHICLE_RESPAWN);
  52660. AddStaticVehicleEx(478,2492.5671,-951.8682,82.2364,268.9169,-1, -1, VEHICLE_RESPAWN);
  52661. AddStaticVehicleEx(463,2450.5344,-957.0054,79.5994,88.6032,-1, -1, VEHICLE_RESPAWN);
  52662. AddStaticVehicleEx(521,2359.4319,-648.6396,127.7032,321.5916,-1, -1, VEHICLE_RESPAWN);
  52663. AddStaticVehicleEx(478,2368.4819,-651.1127,127.6424,221.5063,-1, -1, VEHICLE_RESPAWN);
  52664. AddStaticVehicleEx(529,2497.5225,-1063.2612,69.7644,180.0623,-1, -1, VEHICLE_RESPAWN);
  52665. AddStaticVehicleEx(412,2503.8013,-1024.9954,69.9222,354.6204,-1, -1, VEHICLE_RESPAWN);
  52666. AddStaticVehicleEx(536,2485.7839,-1015.6508,65.0513,332.0788,-1, -1, VEHICLE_RESPAWN);
  52667. AddStaticVehicleEx(475,2453.7122,-1011.7231,59.5763,354.2991,-1, -1, VEHICLE_RESPAWN);
  52668. AddStaticVehicleEx(549,2432.1267,-1056.5386,54.0339,182.6494,-1, -1, VEHICLE_RESPAWN);
  52669. AddStaticVehicleEx(521,2366.8833,-1052.4576,53.7198,162.4203,-1, -1, VEHICLE_RESPAWN);
  52670. AddStaticVehicleEx(463,2334.8330,-1052.5548,51.8916,205.8942,-1, -1, VEHICLE_RESPAWN);
  52671. AddStaticVehicleEx(400,2328.0398,-1052.3500,52.4471,178.7152,-1, -1, VEHICLE_RESPAWN);
  52672. AddStaticVehicleEx(468,2368.9734,-1029.3669,53.9112,303.9771,-1, -1, VEHICLE_RESPAWN);
  52673. AddStaticVehicleEx(521,2222.1743,-1043.8972,57.4453,287.0623,-1, -1, VEHICLE_RESPAWN);
  52674. AddStaticVehicleEx(475,2200.8208,-1000.4743,62.1100,337.4120,-1, -1, VEHICLE_RESPAWN);
  52675. AddStaticVehicleEx(536,2073.8337,-972.3666,48.8145,121.6684,-1, -1, VEHICLE_RESPAWN);
  52676. AddStaticVehicleEx(461,2057.1284,-987.3378,45.8448,41.0353,-1, -1, VEHICLE_RESPAWN);
  52677. AddStaticVehicleEx(549,2032.1614,-966.3978,40.8893,144.2881,-1, -1, VEHICLE_RESPAWN);
  52678. AddStaticVehicleEx(521,1994.0328,-1089.3951,24.1790,265.7199,-1, -1, VEHICLE_RESPAWN);
  52679. AddStaticVehicleEx(536,1910.2012,-1117.5193,25.4453,359.7224,-1, -1, VEHICLE_RESPAWN);
  52680. AddStaticVehicleEx(576,1934.3488,-1118.8567,26.0909,167.6531,-1, -1, VEHICLE_RESPAWN);
  52681. AddStaticVehicleEx(540,1991.7618,-1119.2262,26.6329,88.5620,-1, -1, VEHICLE_RESPAWN);
  52682. AddStaticVehicleEx(549,2090.1191,-1141.0527,25.2550,91.9199,-1, -1, VEHICLE_RESPAWN);
  52683. AddStaticVehicleEx(536,2116.0889,-1059.6656,25.4645,1.6788,-1, -1, VEHICLE_RESPAWN);
  52684. AddStaticVehicleEx(549,2161.8665,-1148.1637,24.0918,268.7138,-1, -1, VEHICLE_RESPAWN);
  52685. AddStaticVehicleEx(576,2162.5032,-1162.9884,23.4278,270.5314,-1, -1, VEHICLE_RESPAWN);
  52686. AddStaticVehicleEx(540,2147.6460,-1180.4316,23.6805,271.2742,-1, -1, VEHICLE_RESPAWN);
  52687. AddStaticVehicleEx(554,2161.5271,-1192.5657,23.9013,270.6950,-1, -1, VEHICLE_RESPAWN);
  52688. AddStaticVehicleEx(521,2164.0178,-1178.0918,23.3890,68.9158,-1, -1, VEHICLE_RESPAWN);
  52689. AddStaticVehicleEx(463,2145.5957,-1162.0776,23.3554,273.2266,-1, -1, VEHICLE_RESPAWN);
  52690. AddStaticVehicleEx(475,2148.7520,-1242.4739,24.4964,2.1731,-1, -1, VEHICLE_RESPAWN);
  52691. AddStaticVehicleEx(536,2105.4612,-1242.9531,24.7791,1.3025,-1, -1, VEHICLE_RESPAWN);
  52692. AddStaticVehicleEx(475,2033.9213,-1285.0781,20.7583,269.6826,-1, -1, VEHICLE_RESPAWN);
  52693. AddStaticVehicleEx(479,2033.2328,-1294.9094,20.7262,90.1861,-1, -1, VEHICLE_RESPAWN);
  52694. AddStaticVehicleEx(536,2095.4097,-1365.6405,23.7217,359.4201,-1, -1, VEHICLE_RESPAWN);
  52695. AddStaticVehicleEx(567,2136.8682,-1366.1549,24.9118,181.6538,-1, -1, VEHICLE_RESPAWN);
  52696. AddStaticVehicleEx(554,2156.6670,-1408.6438,25.6234,89.8769,-1, -1, VEHICLE_RESPAWN);
  52697. AddStaticVehicleEx(529,2150.2095,-1423.7836,25.1728,270.8055,-1, -1, VEHICLE_RESPAWN);
  52698. AddStaticVehicleEx(412,2157.4702,-1454.6027,25.3766,272.0728,-1, -1, VEHICLE_RESPAWN);
  52699. AddStaticVehicleEx(482,2168.9004,-1503.8928,24.0567,264.3123,-1, -1, VEHICLE_RESPAWN);
  52700. AddStaticVehicleEx(554,2191.4373,-1465.7140,25.6253,90.8413,-1, -1, VEHICLE_RESPAWN);
  52701. AddStaticVehicleEx(489,2185.0557,-1434.4803,25.6846,93.1798,-1, -1, VEHICLE_RESPAWN);
  52702. AddStaticVehicleEx(529,2229.7317,-1367.4005,23.6257,273.8516,-1, -1, VEHICLE_RESPAWN);
  52703. AddStaticVehicleEx(405,2229.4822,-1348.8889,23.8603,87.4558,-1, -1, VEHICLE_RESPAWN);
  52704. AddStaticVehicleEx(600,2230.1382,-1359.4955,23.7003,269.3415,-1, -1, VEHICLE_RESPAWN);
  52705. AddStaticVehicleEx(536,2196.1318,-1278.5265,24.2447,358.3134,-1, -1, VEHICLE_RESPAWN);
  52706. AddStaticVehicleEx(479,2426.9795,-1241.6071,24.0514,176.5720,-1, -1, VEHICLE_RESPAWN);
  52707. AddStaticVehicleEx(603,2414.5007,-1223.4979,24.7468,354.3562,-1, -1, VEHICLE_RESPAWN);
  52708. AddStaticVehicleEx(475,2431.3196,-1241.5726,24.1538,177.5767,-1, -1, VEHICLE_RESPAWN);
  52709. AddStaticVehicleEx(463,2430.6926,-1220.7517,24.9012,142.6704,-1, -1, VEHICLE_RESPAWN);
  52710. AddStaticVehicleEx(467,2556.9187,-1211.2632,54.2710,92.0357,-1, -1, VEHICLE_RESPAWN);
  52711. AddStaticVehicleEx(475,2559.0198,-1194.6180,61.2624,177.0269,-1, -1, VEHICLE_RESPAWN);
  52712. AddStaticVehicleEx(412,2491.1543,-1299.4158,32.1578,276.4995,-1, -1, VEHICLE_RESPAWN);
  52713. AddStaticVehicleEx(554,2489.9026,-1292.7750,32.0910,246.3011,-1, -1, VEHICLE_RESPAWN);
  52714. AddStaticVehicleEx(400,2493.6797,-1276.2856,33.0028,268.8489,-1, -1, VEHICLE_RESPAWN);
  52715. AddStaticVehicleEx(475,2390.2915,-1487.7120,23.6330,90.8244,-1, -1, VEHICLE_RESPAWN);
  52716. AddStaticVehicleEx(400,2390.6387,-1503.7330,23.9272,270.7136,-1, -1, VEHICLE_RESPAWN);
  52717. AddStaticVehicleEx(463,2389.4578,-1497.8422,23.3752,243.2236,-1, -1, VEHICLE_RESPAWN);
  52718. AddStaticVehicleEx(545,2396.8088,-1536.9807,23.8111,0.1546,-1, -1, VEHICLE_RESPAWN);
  52719. AddStaticVehicleEx(479,2407.3284,-1538.0587,23.7968,0.6749,-1, -1, VEHICLE_RESPAWN);
  52720. AddStaticVehicleEx(466,2412.8625,-1537.3831,23.7432,357.6566,-1, -1, VEHICLE_RESPAWN);
  52721. AddStaticVehicleEx(475,2449.7637,-1556.8450,23.8046,1.3418,-1, -1, VEHICLE_RESPAWN);
  52722. AddStaticVehicleEx(529,2454.6299,-1557.0045,23.6327,180.1560,-1, -1, VEHICLE_RESPAWN);
  52723. AddStaticVehicleEx(496,2477.5659,-1557.4111,23.7818,358.5618,-1, -1, VEHICLE_RESPAWN);
  52724. AddStaticVehicleEx(463,2491.4055,-1535.6182,23.5519,59.4337,-1, -1, VEHICLE_RESPAWN);
  52725. AddStaticVehicleEx(461,2491.1179,-1529.3501,23.5688,56.2088,-1, -1, VEHICLE_RESPAWN);
  52726. AddStaticVehicleEx(521,2491.4360,-1532.5398,23.5717,55.7102,-1, -1, VEHICLE_RESPAWN);
  52727. AddStaticVehicleEx(496,2489.5791,-1518.4509,23.7588,269.8171,-1, -1, VEHICLE_RESPAWN);
  52728. AddStaticVehicleEx(562,2482.6208,-1557.3427,23.6524,2.3099,-1, -1, VEHICLE_RESPAWN);
  52729. AddStaticVehicleEx(468,2499.0034,-1538.0708,23.6439,335.4962,-1, -1, VEHICLE_RESPAWN);
  52730. AddStaticVehicleEx(536,2520.1445,-1480.9065,23.7363,1.3232,-1, -1, VEHICLE_RESPAWN);
  52731. AddStaticVehicleEx(533,2573.5979,-1489.6091,23.7162,87.7542,-1, -1, VEHICLE_RESPAWN);
  52732. AddStaticVehicleEx(521,2554.3159,-1367.9281,31.7872,241.1393,-1, -1, VEHICLE_RESPAWN);
  52733. AddStaticVehicleEx(536,2411.6626,-1390.6456,24.0787,268.8195,-1, -1, VEHICLE_RESPAWN);
  52734. AddStaticVehicleEx(533,1819.8600,-1403.5051,13.1363,89.9457,-1, -1, VEHICLE_RESPAWN);
  52735. AddStaticVehicleEx(496,1809.4696,-1432.1268,13.0139,274.7705,-1, -1, VEHICLE_RESPAWN);
  52736. AddStaticVehicleEx(542,1676.1560,-1106.9868,23.6493,268.6964,-1, -1, VEHICLE_RESPAWN);
  52737. AddStaticVehicleEx(589,1649.5083,-1102.5532,23.5644,270.0267,-1, -1, VEHICLE_RESPAWN);
  52738. AddStaticVehicleEx(589,1658.4116,-1088.9274,23.6777,89.2744,-1, -1, VEHICLE_RESPAWN);
  52739. AddStaticVehicleEx(482,1620.9778,-1089.5054,24.0216,89.9049,-1, -1, VEHICLE_RESPAWN);
  52740. AddStaticVehicleEx(518,1629.4741,-1103.3231,23.5760,268.5257,-1, -1, VEHICLE_RESPAWN);
  52741. AddStaticVehicleEx(518,1640.7035,-1046.7117,23.5692,359.8533,-1, -1, VEHICLE_RESPAWN);
  52742. AddStaticVehicleEx(482,1660.7136,-1016.1744,23.9634,11.4114,-1, -1, VEHICLE_RESPAWN);
  52743. AddStaticVehicleEx(496,1689.9340,-1035.6692,23.6231,178.1297,-1, -1, VEHICLE_RESPAWN);
  52744. AddStaticVehicleEx(542,1731.1282,-1009.0837,23.6852,348.1700,-1, -1, VEHICLE_RESPAWN);
  52745. AddStaticVehicleEx(496,1757.4509,-1037.7462,23.8359,180.9093,-1, -1, VEHICLE_RESPAWN);
  52746. AddStaticVehicleEx(475,1770.8777,-1061.7106,23.7646,179.4640,-1, -1, VEHICLE_RESPAWN);
  52747. AddStaticVehicleEx(496,1780.0526,-1069.8851,23.6770,359.9332,-1, -1, VEHICLE_RESPAWN);
  52748. AddStaticVehicleEx(536,1762.5533,-1085.8549,23.6983,180.7030,-1, -1, VEHICLE_RESPAWN);
  52749. AddStaticVehicleEx(518,1740.1122,-1085.8320,23.6318,181.0830,-1, -1, VEHICLE_RESPAWN);
  52750. AddStaticVehicleEx(542,1726.2168,-1085.2207,23.6669,182.7872,-1, -1, VEHICLE_RESPAWN);
  52751. AddStaticVehicleEx(549,1699.9979,-1068.8979,23.6031,357.9710,-1, -1, VEHICLE_RESPAWN);
  52752. AddStaticVehicleEx(400,1713.3634,-1061.1498,23.9985,181.1158,-1, -1, VEHICLE_RESPAWN);
  52753. AddStaticVehicleEx(496,1640.7484,-1038.1542,23.6150,358.3014,-1, -1, VEHICLE_RESPAWN);
  52754. AddStaticVehicleEx(542,1594.9391,-1009.9454,23.6493,185.8625,-1, -1, VEHICLE_RESPAWN);
  52755. AddStaticVehicleEx(482,1577.2344,-1040.1863,24.0271,141.0052,-1, -1, VEHICLE_RESPAWN);
  52756. AddStaticVehicleEx(536,1562.9835,-1011.3809,23.6439,359.5882,-1, -1, VEHICLE_RESPAWN);
  52757. AddStaticVehicleEx(496,1546.6223,-1026.6492,23.6228,162.1279,-1, -1, VEHICLE_RESPAWN);
  52758. AddStaticVehicleEx(463,1577.0701,-1008.9494,23.4464,165.1993,-1, -1, VEHICLE_RESPAWN);
  52759. AddStaticVehicleEx(521,1592.5432,-1057.9313,23.4784,297.7319,-1, -1, VEHICLE_RESPAWN);
  52760. AddStaticVehicleEx(461,1651.4000,-1015.1333,23.4877,216.5875,-1, -1, VEHICLE_RESPAWN);
  52761. AddStaticVehicleEx(463,1694.4098,-1003.8555,23.4463,216.3939,-1, -1, VEHICLE_RESPAWN);
  52762. AddStaticVehicleEx(521,1748.7355,-1039.5499,23.5323,15.0375,-1, -1, VEHICLE_RESPAWN);
  52763. AddStaticVehicleEx(542,1657.5460,-1137.0397,23.6497,178.3330,-1, -1, VEHICLE_RESPAWN);
  52764. AddStaticVehicleEx(589,1616.6453,-1128.1941,23.5644,92.6623,-1, -1, VEHICLE_RESPAWN);
  52765. AddStaticVehicleEx(484,2947.8057,-2052.6362,0.4738,359.4145,-1, -1, VEHICLE_RESPAWN);
  52766. AddStaticVehicleEx(455,2264.7073,-2335.1189,13.9838,314.5604,-1, -1, VEHICLE_RESPAWN);
  52767. AddStaticVehicleEx(453,2505.7712,-2269.1885,-0.3120,268.6544,-1, -1, VEHICLE_RESPAWN);
  52768. AddStaticVehicleEx(453,2307.9446,-2414.1733,-0.2071,314.9561,-1, -1, VEHICLE_RESPAWN);
  52769. AddStaticVehicleEx(525,2510.2681,-2629.5205,13.5251,88.6646,-1, -1, VEHICLE_RESPAWN);
  52770. AddStaticVehicleEx(455,2498.7861,-2572.7219,14.0866,357.5439,-1, -1, VEHICLE_RESPAWN);
  52771. AddStaticVehicleEx(422,2516.4746,-2452.8889,13.6216,44.3283,-1, -1, VEHICLE_RESPAWN);
  52772. AddStaticVehicleEx(470,2764.3169,-2383.4829,13.6235,181.4826,-1, -1, VEHICLE_RESPAWN);
  52773. AddStaticVehicleEx(470,2779.5730,-2440.3181,13.6296,267.8545,-1, -1, VEHICLE_RESPAWN);
  52774. AddStaticVehicleEx(470,2737.3740,-2485.6760,13.6431,87.2884,-1, -1, VEHICLE_RESPAWN);
  52775. AddStaticVehicleEx(400,2744.2754,-2447.5588,13.7433,179.2557,-1, -1, VEHICLE_RESPAWN);
  52776. AddStaticVehicleEx(400,2765.2122,-2531.8735,13.7407,359.5258,-1, -1, VEHICLE_RESPAWN);
  52777. AddStaticVehicleEx(400,2784.2922,-2387.0547,13.7279,89.7828,-1, -1, VEHICLE_RESPAWN);
  52778. AddStaticVehicleEx(400,2753.1467,-2387.5439,13.7358,1.3794,-1, -1, VEHICLE_RESPAWN);
  52779. AddStaticVehicleEx(552,2656.9172,-2451.1821,13.3204,93.4499,-1, -1, VEHICLE_RESPAWN);
  52780. AddStaticVehicleEx(422,2428.1499,-2492.5559,13.6317,45.6813,-1, -1, VEHICLE_RESPAWN);
  52781. AddStaticVehicleEx(530,2435.3372,-2434.5278,13.3911,41.7356,-1, -1, VEHICLE_RESPAWN);
  52782. AddStaticVehicleEx(530,2418.4021,-2506.5557,13.4131,273.4680,-1, -1, VEHICLE_RESPAWN);
  52783. AddStaticVehicleEx(455,2152.5361,-2148.2825,13.9860,310.8004,-1, -1, VEHICLE_RESPAWN);
  52784. AddStaticVehicleEx(439,1373.6738,-1634.1741,13.2790,271.5004,-1, -1, VEHICLE_RESPAWN);
  52785. AddStaticVehicleEx(542,1362.9803,-1659.5125,13.1263,270.4668,-1, -1, VEHICLE_RESPAWN);
  52786. AddStaticVehicleEx(475,1359.6680,-1749.6177,13.1843,0.0962,-1, -1, VEHICLE_RESPAWN);
  52787. AddStaticVehicleEx(439,1401.3602,-1507.1211,13.4834,163.4146,-1, -1, VEHICLE_RESPAWN);
  52788. AddStaticVehicleEx(475,1500.1357,-1487.4355,13.3556,91.3002,-1, -1, VEHICLE_RESPAWN);
  52789. AddStaticVehicleEx(542,1797.1293,-1701.1102,13.2757,179.5340,-1, -1, VEHICLE_RESPAWN);
  52790. AddStaticVehicleEx(521,1807.9387,-1688.3774,13.1068,105.3693,-1, -1, VEHICLE_RESPAWN);
  52791. AddStaticVehicleEx(475,306.7730,-1438.4087,27.7341,120.6372,-1, -1, VEHICLE_RESPAWN);
  52792. AddStaticVehicleEx(475,1277.5547,-1610.1168,13.3511,90.3928,-1, -1, VEHICLE_RESPAWN);
  52793. AddStaticVehicleEx(475,1145.1482,-1366.7389,13.5456,184.4175,-1, -1, VEHICLE_RESPAWN);
  52794. AddStaticVehicleEx(418,2090.4797,-1556.7979,13.2113,181.8175,-1, -1, VEHICLE_RESPAWN);
  52795. AddStaticVehicleEx(554,2224.8198,-2211.0693,13.6286,314.5282,-1, -1, VEHICLE_RESPAWN);
  52796. AddStaticVehicleEx(439,2393.2522,-1927.3457,13.2782,179.4218,-1, -1, VEHICLE_RESPAWN);
  52797. AddStaticVehicleEx(475,2383.3689,-1928.1165,13.1844,179.4976,-1, -1, VEHICLE_RESPAWN);
  52798. AddStaticVehicleEx(521,2376.8760,-1929.3613,12.9563,341.1395,-1, -1, VEHICLE_RESPAWN);
  52799. AddStaticVehicleEx(439,2349.1824,-2000.2684,13.2666,267.0585,-1, -1, VEHICLE_RESPAWN);
  52800. AddStaticVehicleEx(542,1512.3342,-2211.7639,13.2940,359.3842,-1, -1, VEHICLE_RESPAWN);
  52801. AddStaticVehicleEx(518,1546.2539,-2211.5557,13.2254,178.7042,-1, -1, VEHICLE_RESPAWN);
  52802. AddStaticVehicleEx(521,1560.0939,-2243.5127,13.1179,94.0584,-1, -1, VEHICLE_RESPAWN);
  52803. AddStaticVehicleEx(518,1454.6436,-2224.9185,13.2177,0.2168,-1, -1, VEHICLE_RESPAWN);
  52804. AddStaticVehicleEx(496,1408.1469,-2242.1521,13.2630,359.3946,-1, -1, VEHICLE_RESPAWN);
  52805. AddStaticVehicleEx(439,1398.1570,-2225.4885,13.4427,179.6260,-1, -1, VEHICLE_RESPAWN);
  52806. AddStaticVehicleEx(475,1391.6555,-2241.8704,13.3495,180.5889,-1, -1, VEHICLE_RESPAWN);
  52807. AddStaticVehicleEx(542,1364.5348,-2242.7036,13.2899,270.7713,-1, -1, VEHICLE_RESPAWN);
  52808. AddStaticVehicleEx(542,1404.6641,-2314.1211,13.2898,180.5298,-1, -1, VEHICLE_RESPAWN);
  52809. AddStaticVehicleEx(518,1411.2491,-2347.3430,13.2101,180.0483,-1, -1, VEHICLE_RESPAWN);
  52810. AddStaticVehicleEx(496,1391.5173,-2364.2131,13.2633,179.7053,-1, -1, VEHICLE_RESPAWN);
  52811. AddStaticVehicleEx(521,1365.7269,-2351.5515,13.1069,87.0619,-1, -1, VEHICLE_RESPAWN);
  52812. // Taxi vehicles
  52813. AddStaticVehicleEx(420,1775.6141,-1860.0100,13.2745,269.2006,6,6, VEHICLE_RESPAWN);
  52814. AddStaticVehicleEx(420,1763.0121,-1860.0037,13.2723,271.2998,6,6, VEHICLE_RESPAWN);
  52815. AddStaticVehicleEx(420,1748.9358,-1859.9502,13.2721,270.3943,6,6, VEHICLE_RESPAWN);
  52816. AddStaticVehicleEx(420,1734.6754,-1859.9305,13.2740,270.5646,6,6, VEHICLE_RESPAWN);
  52817. AddStaticVehicleEx(438,1807.70861816,-1866.13635254,13.78153229,0.00000000,6,6,VEHICLE_RESPAWN); //Cabbie
  52818. AddStaticVehicleEx(438,1802.05126953,-1866.05419922,13.78153229,0.00000000,6,6,VEHICLE_RESPAWN); //Cabbie
  52819. AddStaticVehicleEx(438,1797.65332031,-1866.18798828,13.78153229,0.00000000,6,6,VEHICLE_RESPAWN); //Cabbie
  52820. AddStaticVehicleEx(438,1792.40527344,-1866.47851562,13.78153229,0.00000000,6,6,VEHICLE_RESPAWN); //Cabbie
  52821. // Pount boundaries with gang zones
  52822. pointboundaries[0] = GangZoneCreate(2545.8984375 ,-2153.3203125, 2707.03125, -2062.5); // FFC
  52823. pointboundaries[1] = GangZoneCreate(1361.328125,-1435.546875,1478.515625,-1236.328125); // MP1
  52824. pointboundaries[2] = GangZoneCreate(2077.1484375, -2361.328125, 2285.15625, -2179.6875); // MF1
  52825. pointboundaries[3] = GangZoneCreate(2298.828125,-2064.453125,2546.875,-1935.546875); // MP2
  52826. pointboundaries[4] = GangZoneCreate(2156.25, -1151.3671875, 2320.3125, -1001.953125); // MF2
  52827. pointboundaries[5] = GangZoneCreate(2581.0546875, -2586.9140625, 2862.3046875, -2329.1015625); // AEC
  52828. pointboundaries[6] = GangZoneCreate(2105.46875,-1753.90625,2177.734375,-1626.953125); // Drug House
  52829. pointboundaries[7] = GangZoneCreate(2304.6875,-1181.640625,2361.328125,-1160.15625); // Crack Lab
  52830. pointboundaries[8] = GangZoneCreate(13.671875,-402.34375,167.96875,-208.984375); // Drug Factory
  52831. // Removal of hell hole (VIP Lounge)
  52832. CreateDynamicObject(5397, 1782.96, -1563.40, 20.57, 0.00, 0.00, -4.00);
  52833. CreateDynamicObject(3623, 1756.68, -1578.90, 16.63, 0.00, 0.00, 171.00);
  52834. CreateDynamicObject(9946, 1777.26, -1581.90, 12.23, 0.00, 0.00, 0.00);
  52835. CreateDynamicObject(9946, 1787.87, -1555.69, 12.23, 0.00, 0.00, 0.00);
  52836. CreateDynamicObject(1557, 1781.43, -1564.99, 12.29, 0.00, 0.00, -4.00);
  52837. CreateDynamicObject(1557, 1784.42, -1565.20, 12.29, 0.00, 0.00, 176.00);
  52838. CreateDynamicObject(6057, 1766.17, -1540.20, 13.28, 0.00, 0.00, 180.00);
  52839. CreateDynamicObject(6057, 1798.54, -1541.37, 13.24, 0.00, 0.00, 178.00);
  52840. CreateDynamicObject(9339, 1765.43, -1593.55, 12.08, 0.00, 0.00, 84.00);
  52841. CreateDynamicObject(3660, 1773.95, -1593.39, 14.19, 0.00, 0.00, -4.00);
  52842. CreateDynamicObject(18766, 1821.13, -1537.24, 17.44, 90.00, 0.00, 73.00);
  52843. CreateDynamicObject(18766, 1819.97, -1540.89, 17.44, 90.00, 0.00, 73.00);
  52844. CreateDynamicObject(3623, 1761.02, -1551.50, 16.63, 0.00, 0.00, 171.00);
  52845. // Temporary tombstone joke
  52846. CreateDynamicObject(5777, 1767.33, -1578.64, 12.99, 0.00, 0.00, -11.00);
  52847. CreateDynamicObject(325, 1767.82, -1578.75, 12.53, 0.00, 76.00, 91.00);
  52848. CreateDynamicObject(325, 1767.73, -1578.79, 12.57, 0.00, 76.00, 271.00);
  52849. CreateDynamicObject(1080, 1767.38, -1579.73, 12.85, 0.00, -25.00, 295.00);
  52850. CreateDynamicObject(971, 1766.63, -1578.56, 12.47, 0.00, 0.00, 80.00);
  52851. CreateDynamic3DTextLabel("You Can donate use /charity for the Paradox Roleplay , Flawless Roleplay 2019 - 2019\nMay they all rest in Heaven\nby Howard McAdam",COLOR_YELLOW,1767.881835, -1578.757446, 13.347187+0.1,6.0);
  52852. // Crack Lab Fixes
  52853. CreateDynamicObject(7191,2338.39135742,-1182.56323242,1032.95129395,90.00000000,0.00000000,90.00000000, -1, 5); //object(vegasnnewfence2b)(1)
  52854. CreateDynamicObject(13656,2292.93872070,-1132.04724121,1017.29772949,0.00000000,0.00000000,0.00000000, -1, 5); //object(fuckknows)(1)
  52855. CreateDynamicObject(7191,2337.95458984,-1182.54309082,1032.95129395,90.00000000,0.00000000,90.00000000, -1, 5); //object(vegasnnewfence2b)(2)
  52856. CreateDynamicObject(7191,2338.43408203,-1182.39440918,1032.95129395,90.00000000,180.00000000,90.24850464, -1, 5); //object(vegasnnewfence2b)(3)
  52857. CreateDynamicObject(7191,2337.97314453,-1182.39111328,1032.95129395,90.00000000,179.99450684,90.24719238, -1, 5); //object(vegasnnewfence2b)(4)
  52858. CreateDynamicObject(7191,2328.80346680,-1180.43066406,1034.70544434,0.00000000,270.00000000,88.50006104, -1, 5); //object(vegasnnewfence2b)(5)
  52859. CreateDynamicObject(3055,2319.78198242,-1184.82641602,1032.36450195,63.75003052,269.99996948,178.5001220, -1, 5); //object(kmb_shutter)(1)
  52860. CreateDynamicObject(7191,2328.83715820,-1186.81262207,1030.70446777,0.00000000,90.74990845,359.99481201, -1, 5); //object(vegasnnewfence2b)(6)
  52861. CreateDynamicObject(7191,2326.84863281,-1187.03125000,1030.70446777,0.00000000,90.74707031,359.99450684, -1, 5); //object(vegasnnewfence2b)(8)
  52862. CreateDynamicObject(7191,2337.31689453,-1186.55639648,1030.70446777,0.00000000,90.74707031,359.99450684, -1, 5); //object(vegasnnewfence2b)(9)
  52863. CreateDynamicObject(7191,2339.06689453,-1186.13159180,1030.70446777,0.00000000,91.24694824,359.99453735, -1, 5); //object(vegasnnewfence2b)(10)
  52864. CreateDynamicObject(7191,2338.39062500,-1182.56250000,1032.95129395,90.00000000,0.00000000,90.00000000, -1, 5); //object(vegasnnewfence2b)(11)
  52865. CreateDynamicObject(7191,2337.95947266,-1179.38879395,1032.95129395,90.00000000,180.00000000,270.00000000, -1, 5); //object(vegasnnewfence2b)(12)
  52866. CreateDynamicObject(7191,2338.38476562,-1179.43066406,1032.95129395,90.00000000,0.00000000,90.00000000, -1, 5); //object(vegasnnewfence2b)(13)
  52867. CreateDynamicObject(7191,2337.96630859,-1179.23559570,1032.95129395,90.00000000,179.99450684,90.24719238, -1, 5); //object(vegasnnewfence2b)(14)
  52868. // Gas station fix
  52869. CreateDynamicObject(970,1942.49000000,-1766.66000000,12.90000000,0.00000000,0.00000000,90.00000000);
  52870. CreateDynamicObject(970,1942.49000000,-1770.81000000,12.90000000,0.00000000,0.00000000,90.00000000);
  52871. CreateDynamicObject(970,1942.49000000,-1774.95000000,12.90000000,0.00000000,0.00000000,90.00000000);
  52872. CreateDynamicObject(970,1942.49000000,-1779.11000000,12.90000000,0.00000000,0.00000000,90.00000000);
  52873. CreateDynamicObject(970,1940.77000000,-1766.66000000,12.90000000,0.00000000,0.00000000,90.00000000);
  52874. CreateDynamicObject(970,1940.77000000,-1770.81000000,12.90000000,0.00000000,0.00000000,90.00000000);
  52875. CreateDynamicObject(970,1940.77000000,-1774.95000000,12.90000000,0.00000000,0.00000000,90.00000000);
  52876. CreateDynamicObject(970,1940.77000000,-1779.11000000,12.90000000,0.00000000,0.00000000,90.00000000);
  52877. CreateDynamicObject(19121,1941.63000000,-1781.03000000,13.16000000,0.00000000,0.00000000,0.00000000);
  52878. CreateDynamicObject(19121,1941.64000000,-1764.87000000,13.16000000,0.00000000,0.00000000,0.00000000);
  52879. // Points
  52880. CreateDynamicObject(970, 2294.1489257813, -1119.072265625, 37.5280418396, 0.000000, 0.000000, 89.559997558594);
  52881. CreateDynamicObject(970, 2294.1589355469, -1114.8975830078, 37.5280418396, 0.000000, 0.000000, 90.0576171875);
  52882. CreateDynamicObject(970, 2294.1552734375, -1110.7277832031, 37.5280418396, 0.000000, 0.000000, 90.054931640625);
  52883. CreateDynamicObject(970, 2294.1496582031, -1106.5516357422, 37.5280418396, 0.000000, 0.000000, 90.054931640625);
  52884. CreateDynamicObject(970, 2293.8994140625, -1102.4005126953, 37.5280418396, 0.000000, 0.000000, 96.804931640625);
  52885. CreateDynamicObject(944, 2290.7561035156, -1103.4783935547, 37.861351013184, 0.000000, 0.000000, 171);
  52886. CreateDynamicObject(3265, 2268.6408691406, -1135.2796630859, 27.531494140625, 0.000000, 0.000000, 346);
  52887. CreateDynamicObject(944, 2386.1618652344, -2008.1566162109, 13.43848991394, 0.000000, 0.000000, 0.000000);
  52888. CreateDynamicObject(1635, 2396.1938476563, -2008.0467529297, 16.3014087677, 0.000000, 0.000000, 90);
  52889. CreateDynamicObject(1522, 2389.7197265625, -2007.4593505859, 12.553703308105, 0.000000, 0.000000, 0.000000);
  52890. // FIX - Stability Glitch for the Welcome
  52891. CreateDynamicObject(4729, 682.85186767578, -446.04205322266, -26.629999160767, 20, 90, 0.000000, -1, 1, -1, 200.0);
  52892. // Admin prison
  52893. CreateDynamicObject(5706,201.06250000,1798.30761719,1605.14282227,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(studiobld03_law) (1)
  52894. CreateDynamicObject(5706,200.97360229,1800.69091797,1624.89306641,0.00000000,180.00000000,180.00000000, .interiorid = 69); //object(studiobld03_law) (2)
  52895. CreateDynamicObject(5706,201.04508972,1785.34130859,1616.89306641,90.00000000,180.00000000,0.00000000, .interiorid = 69); //object(studiobld03_law) (3)
  52896. CreateDynamicObject(5706,187.49099731,1798.58190918,1616.89306641,270.00000000,167.22003174,77.22552490, .interiorid = 69); //object(studiobld03_law) (5)
  52897. CreateDynamicObject(5706,221.26737976,1796.82397461,1616.89306641,270.00000000,0.00000000,90.00000000, .interiorid = 69); //object(studiobld03_law) (6)
  52898. CreateDynamicObject(10974,185.34759521,1795.66455078,1623.84826660,180.00000000,0.00000000,0.00000000, .interiorid = 69); //object(mall_01_sfs) (1)
  52899. CreateDynamicObject(14856,216.09912109,1811.63830566,1610.83496094,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(cellsa) (1)
  52900. CreateDynamicObject(3095,213.05435181,1806.09997559,1612.68823242,0.00000000,0.00000000,90.00000000, .interiorid = 69); //object(a51_jetdoor) (2)
  52901. CreateDynamicObject(3095,204.07275391,1806.09997559,1612.68823242,0.00000000,0.00000000,90.00000000, .interiorid = 69); //object(a51_jetdoor) (3)
  52902. CreateDynamicObject(3095,195.12341309,1806.09997559,1612.68823242,0.00000000,0.00000000,90.00000000, .interiorid = 69); //object(a51_jetdoor) (4)
  52903. CreateDynamicObject(3095,213.12713623,1806.10498047,1613.26379395,0.00000000,179.99450684,270.00000000, .interiorid = 69); //object(a51_jetdoor) (6)
  52904. CreateDynamicObject(3095,204.15332031,1806.10498047,1613.26379395,0.00000000,179.99450684,270.00000000, .interiorid = 69); //object(a51_jetdoor) (7)
  52905. CreateDynamicObject(3095,195.16894531,1806.10498047,1613.26379395,0.00000000,179.99450684,270.00000000, .interiorid = 69); //object(a51_jetdoor) (8)
  52906. CreateDynamicObject(3095,213.20382690,1807.67150879,1608.71374512,90.00000000,180.00549316,269.98904419, .interiorid = 69); //object(a51_jetdoor) (10)
  52907. CreateDynamicObject(3095,213.95382690,1807.67102051,1608.71374512,270.00000000,179.99963379,269.98315430, .interiorid = 69); //object(a51_jetdoor) (11)
  52908. CreateDynamicObject(3095,208.95237732,1807.66687012,1608.71374512,90.00000000,179.99450684,270.00000000, .interiorid = 69); //object(a51_jetdoor) (12)
  52909. CreateDynamicObject(3095,209.71374512,1807.66662598,1608.71374512,270.00000000,180.00041199,269.98388672, .interiorid = 69); //object(a51_jetdoor) (13)
  52910. CreateDynamicObject(3095,205.46282959,1807.69738770,1608.71374512,270.00000000,180.00152588,269.98498535, .interiorid = 69); //object(a51_jetdoor) (15)
  52911. CreateDynamicObject(3095,204.15332031,1807.69628906,1608.98876953,0.00000000,179.99450684,270.00000000, .interiorid = 69); //object(a51_jetdoor) (16)
  52912. CreateDynamicObject(3095,213.12890625,1807.69628906,1608.98779297,0.00000000,179.99450684,270.00000000, .interiorid = 69); //object(a51_jetdoor) (17)
  52913. CreateDynamicObject(3095,204.16938782,1809.18554688,1613.41516113,90.00000000,180.00549316,0.00000000, .interiorid = 69); //object(a51_jetdoor) (18)
  52914. CreateDynamicObject(3095,213.16665649,1809.18652344,1613.41442871,90.00000000,180.00549316,0.00000000, .interiorid = 69); //object(a51_jetdoor) (19)
  52915. CreateDynamicObject(1508,217.57765198,1795.53601074,1610.62158203,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(dyn_garage_door) (1)
  52916. CreateDynamicObject(3095,213.95312500,1807.67089844,1617.71423340,270.00000000,179.99450684,269.97802734, .interiorid = 69); //object(a51_jetdoor) (22)
  52917. CreateDynamicObject(3095,213.20312500,1807.67089844,1617.66418457,90.00000000,180.00549316,269.98901367, .interiorid = 69); //object(a51_jetdoor) (23)
  52918. CreateDynamicObject(3095,209.71289062,1807.66601562,1617.38842773,270.00000000,179.99450684,269.97802734, .interiorid = 69); //object(a51_jetdoor) (24)
  52919. CreateDynamicObject(3095,208.95214844,1807.66601562,1617.19018555,90.00000000,179.99450684,270.00000000, .interiorid = 69); //object(a51_jetdoor) (25)
  52920. CreateDynamicObject(3095,205.46191406,1807.67187500,1617.19042969,270.00000000,179.99853516,269.98202515, .interiorid = 69); //object(a51_jetdoor) (26)
  52921. CreateDynamicObject(3095,204.82421875,1807.67285156,1617.76354980,90.00000000,180.00549316,269.98904419, .interiorid = 69); //object(a51_jetdoor) (27)
  52922. CreateDynamicObject(14856,216.09863281,1811.63769531,1615.11096191,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(cellsa) (2)
  52923. CreateDynamicObject(3095,213.12890625,1806.10498047,1617.53784180,0.00000000,179.99450684,270.00000000, .interiorid = 69); //object(a51_jetdoor) (28)
  52924. CreateDynamicObject(3095,213.05371094,1806.11840820,1616.96350098,0.00000000,0.00000000,90.00000000, .interiorid = 69); //object(a51_jetdoor) (29)
  52925. CreateDynamicObject(3095,204.17089844,1806.10498047,1616.96374512,0.00000000,0.00000000,90.00000000, .interiorid = 69); //object(a51_jetdoor) (30)
  52926. CreateDynamicObject(3095,204.14634705,1806.12365723,1617.53930664,0.00000000,179.99450684,270.00000000, .interiorid = 69); //object(a51_jetdoor) (31)
  52927. CreateDynamicObject(14856,216.09863281,1811.63769531,1619.23608398,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(cellsa) (3)
  52928. CreateDynamicObject(3095,204.16894531,1809.18554688,1622.41491699,90.00000000,179.99450684,0.00549316, .interiorid = 69); //object(a51_jetdoor) (32)
  52929. CreateDynamicObject(3095,213.16601562,1809.18652344,1622.41271973,90.00000000,180.00549316,0.00000000, .interiorid = 69); //object(a51_jetdoor) (33)
  52930. CreateDynamicObject(3095,217.44302368,1806.10583496,1621.96374512,90.00000000,180.00549316,269.98904419, .interiorid = 69); //object(a51_jetdoor) (34)
  52931. CreateDynamicObject(1508,191.36837769,1795.14965820,1610.62158203,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(dyn_garage_door) (2)
  52932. CreateDynamicObject(3095,204.14608765,1806.11840820,1621.06384277,0.00000000,0.00000000,90.00000000, .interiorid = 69); //object(a51_jetdoor) (35)
  52933. CreateDynamicObject(3095,213.05371094,1806.09960938,1621.06481934,0.00000000,0.00000000,90.00000000, .interiorid = 69); //object(a51_jetdoor) (36)
  52934. CreateDynamicObject(3095,195.18051147,1807.69628906,1608.98876953,0.00000000,179.99450684,270.00000000, .interiorid = 69); //object(a51_jetdoor) (37)
  52935. CreateDynamicObject(3095,195.21980286,1809.17871094,1613.41516113,90.00000000,179.99450684,0.01098633, .interiorid = 69); //object(a51_jetdoor) (38)
  52936. CreateDynamicObject(3095,195.21972656,1809.17871094,1622.41491699,90.00000000,179.99450684,0.00549316, .interiorid = 69); //object(a51_jetdoor) (39)
  52937. CreateDynamicObject(3095,199.09042358,1807.69812012,1617.76354980,90.00000000,180.00549316,269.98901367, .interiorid = 69); //object(a51_jetdoor) (40)
  52938. CreateDynamicObject(3095,199.87951660,1807.70117188,1617.19042969,270.00000000,179.99450684,269.98352051, .interiorid = 69); //object(a51_jetdoor) (41)
  52939. CreateDynamicObject(970,211.04483032,1801.64660645,1613.81237793,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(fencesmallb) (1)
  52940. CreateDynamicObject(970,215.34765625,1801.64648438,1613.81237793,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(fencesmallb) (2)
  52941. CreateDynamicObject(970,206.81762695,1801.64660645,1613.81237793,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(fencesmallb) (3)
  52942. CreateDynamicObject(970,202.59719849,1801.64660645,1613.81237793,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(fencesmallb) (4)
  52943. CreateDynamicObject(970,202.59667969,1801.64648438,1618.06286621,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(fencesmallb) (5)
  52944. CreateDynamicObject(970,206.81738281,1801.64648438,1618.06286621,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(fencesmallb) (6)
  52945. CreateDynamicObject(970,211.04394531,1801.64648438,1618.06286621,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(fencesmallb) (7)
  52946. CreateDynamicObject(970,215.34765625,1801.64648438,1618.06286621,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(fencesmallb) (8)
  52947. CreateDynamicObject(970,198.36755371,1801.64660645,1613.81237793,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(fencesmallb) (9)
  52948. CreateDynamicObject(14856,192.71429443,1811.66918945,1610.82006836,0.00000000,0.00000000,180.00000000, .interiorid = 69); //object(cellsa) (4)
  52949. CreateDynamicObject(14856,192.71386719,1811.66894531,1615.09558105,0.00000000,0.00000000,179.99450684, .interiorid = 69); //object(cellsa) (5)
  52950. CreateDynamicObject(14856,192.71386719,1811.66894531,1619.24499512,0.00000000,0.00000000,179.99450684, .interiorid = 69); //object(cellsa) (6)
  52951. CreateDynamicObject(3095,203.34902954,1807.69787598,1608.71374512,90.00000000,179.99450684,270.00000000, .interiorid = 69); //object(a51_jetdoor) (47)
  52952. CreateDynamicObject(3095,203.34912109,1807.70043945,1616.81311035,90.00000000,179.99450684,270.00000000, .interiorid = 69); //object(a51_jetdoor) (49)
  52953. CreateDynamicObject(3095,199.85475159,1807.69226074,1608.44140625,270.00000000,179.99450684,269.97802734, .interiorid = 69); //object(a51_jetdoor) (52)
  52954. CreateDynamicObject(3095,199.11541748,1807.69702148,1608.26379395,90.00000000,180.00549316,269.98901367, .interiorid = 69); //object(a51_jetdoor) (53)
  52955. CreateDynamicObject(3095,194.85942078,1807.69738770,1617.76354980,90.00000000,179.99450684,270.00000000, .interiorid = 69); //object(a51_jetdoor) (54)
  52956. CreateDynamicObject(3095,195.61764526,1807.69738770,1617.19042969,270.00000000,180.00036621,269.98388672, .interiorid = 69); //object(a51_jetdoor) (55)
  52957. CreateDynamicObject(3095,195.61718750,1807.69726562,1608.51403809,270.00000000,179.99853516,269.98202515, .interiorid = 69); //object(a51_jetdoor) (56)
  52958. CreateDynamicObject(3095,194.85937500,1807.69726562,1608.28735352,90.00000000,179.99450684,270.00000000, .interiorid = 69); //object(a51_jetdoor) (57)
  52959. CreateDynamicObject(3095,195.14624023,1806.11840820,1621.06384277,0.00000000,0.00000000,90.00000000, .interiorid = 69); //object(a51_jetdoor) (58)
  52960. CreateDynamicObject(3095,195.18821716,1806.10400391,1616.96374512,0.00000000,0.00000000,90.00000000, .interiorid = 69); //object(a51_jetdoor) (59)
  52961. CreateDynamicObject(3095,195.15039062,1806.10498047,1617.53930664,0.00000000,179.99450684,270.00000000, .interiorid = 69); //object(a51_jetdoor) (60)
  52962. CreateDynamicObject(3095,191.34226990,1806.09716797,1617.19042969,270.00000000,179.99853516,269.98205566, .interiorid = 69); //object(a51_jetdoor) (61)
  52963. CreateDynamicObject(3095,191.34179688,1806.09667969,1608.31457520,270.00000000,179.99450684,269.97802734, .interiorid = 69); //object(a51_jetdoor) (62)
  52964. CreateDynamicObject(3095,217.42178345,1806.11962891,1613.11291504,90.00000000,180.00549316,270.00000000, .interiorid = 69); //object(a51_jetdoor) (63)
  52965. CreateDynamicObject(3095,188.47315979,1797.14782715,1613.26379395,0.00000000,179.99450684,270.00000000, .interiorid = 69); //object(a51_jetdoor) (64)
  52966. CreateDynamicObject(3095,188.47315979,1788.17077637,1613.26379395,0.00000000,179.99450684,270.00000000, .interiorid = 69); //object(a51_jetdoor) (65)
  52967. CreateDynamicObject(3095,188.47265625,1797.14746094,1617.53979492,0.00000000,179.99450684,270.00000000, .interiorid = 69); //object(a51_jetdoor) (66)
  52968. CreateDynamicObject(3095,188.47265625,1788.16992188,1617.53881836,0.00000000,179.99450684,270.00000000, .interiorid = 69); //object(a51_jetdoor) (67)
  52969. CreateDynamicObject(3095,188.48295593,1797.18103027,1612.68823242,0.00000000,0.00000000,180.00000000, .interiorid = 69); //object(a51_jetdoor) (68)
  52970. CreateDynamicObject(3095,188.48242188,1797.18066406,1616.96374512,0.00000000,0.00000000,179.99450684, .interiorid = 69); //object(a51_jetdoor) (69)
  52971. CreateDynamicObject(3095,188.47740173,1788.21972656,1616.96374512,0.00000000,0.00000000,179.99450684, .interiorid = 69); //object(a51_jetdoor) (70)
  52972. CreateDynamicObject(3095,188.47656250,1788.21972656,1612.68920898,0.00000000,0.00000000,179.99450684, .interiorid = 69); //object(a51_jetdoor) (71)
  52973. CreateDynamicObject(970,195.12841797,1801.67028809,1613.81237793,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(fencesmallb) (10)
  52974. CreateDynamicObject(970,198.36718750,1801.64648438,1618.06286621,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(fencesmallb) (12)
  52975. CreateDynamicObject(970,195.12792969,1801.66992188,1618.06286621,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(fencesmallb) (13)
  52976. CreateDynamicObject(970,192.93154907,1799.55737305,1613.81237793,0.00000000,0.00000000,90.00000000, .interiorid = 69); //object(fencesmallb) (14)
  52977. CreateDynamicObject(970,192.93154907,1795.31909180,1613.81237793,0.00000000,0.00000000,90.00000000, .interiorid = 69); //object(fencesmallb) (15)
  52978. CreateDynamicObject(970,192.93066406,1799.55664062,1618.06286621,0.00000000,0.00000000,90.00000000, .interiorid = 69); //object(fencesmallb) (17)
  52979. CreateDynamicObject(970,192.93066406,1795.31835938,1618.06286621,0.00000000,0.00000000,90.00000000, .interiorid = 69); //object(fencesmallb) (18)
  52980. CreateDynamicObject(3095,197.45889282,1786.73498535,1612.68823242,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(a51_jetdoor) (72)
  52981. CreateDynamicObject(970,192.90052795,1793.24084473,1613.81237793,0.00000000,0.00000000,90.00000000, .interiorid = 69); //object(fencesmallb) (19)
  52982. CreateDynamicObject(3095,197.48855591,1786.73596191,1613.26379395,0.00000000,180.00000000,0.00000000, .interiorid = 69); //object(a51_jetdoor) (73)
  52983. CreateDynamicObject(3095,197.48828125,1786.73535156,1617.53601074,0.00000000,179.99450684,0.00000000, .interiorid = 69); //object(a51_jetdoor) (74)
  52984. CreateDynamicObject(3095,197.45800781,1786.73437500,1616.96301270,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(a51_jetdoor) (76)
  52985. CreateDynamicObject(3095,206.43820190,1786.73596191,1613.26379395,0.00000000,179.99450684,0.00000000, .interiorid = 69); //object(a51_jetdoor) (77)
  52986. CreateDynamicObject(3095,206.42300415,1786.73400879,1612.68823242,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(a51_jetdoor) (78)
  52987. CreateDynamicObject(970,192.90039062,1793.24023438,1618.06286621,0.00000000,0.00000000,90.00000000, .interiorid = 69); //object(fencesmallb) (20)
  52988. CreateDynamicObject(970,195.08341980,1791.18090820,1613.81237793,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(fencesmallb) (21)
  52989. CreateDynamicObject(970,199.35119629,1791.18090820,1613.81237793,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(fencesmallb) (22)
  52990. CreateDynamicObject(970,203.61909485,1791.18090820,1613.81237793,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(fencesmallb) (23)
  52991. CreateDynamicObject(970,207.91763306,1791.18090820,1613.81237793,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(fencesmallb) (24)
  52992. CreateDynamicObject(970,195.08300781,1791.18066406,1618.06286621,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(fencesmallb) (25)
  52993. CreateDynamicObject(970,199.35058594,1791.18066406,1618.06286621,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(fencesmallb) (26)
  52994. CreateDynamicObject(12950,214.32031250,1789.71875000,1609.79418945,0.00000000,0.00000000,90.00000000, .interiorid = 69); //object(cos_sbanksteps03) (1)
  52995. CreateDynamicObject(12950,205.98063660,1789.62817383,1614.14453125,0.00000000,0.00000000,90.00000000, .interiorid = 69); //object(cos_sbanksteps03) (2)
  52996. CreateDynamicObject(3095,206.42285156,1786.73339844,1612.46301270,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(a51_jetdoor) (80)
  52997. CreateDynamicObject(3095,206.44000244,1786.72985840,1613.03833008,0.00000000,179.99450684,0.00000000, .interiorid = 69); //object(a51_jetdoor) (82)
  52998. CreateDynamicObject(3095,206.40036011,1789.18249512,1607.96301270,90.00000000,180.00000000,180.00000000, .interiorid = 69); //object(a51_jetdoor) (83)
  52999. CreateDynamicObject(3095,210.93899536,1786.74987793,1608.16320801,90.00000000,179.99450684,90.01101685, .interiorid = 69); //object(a51_jetdoor) (84)
  53000. CreateDynamicObject(3095,210.35997009,1786.72998047,1608.18823242,90.00000000,180.00549316,269.98904419, .interiorid = 69); //object(a51_jetdoor) (85)
  53001. CreateDynamicObject(3095,206.40390015,1791.20959473,1605.71276855,90.00000000,179.99450684,179.99450684, .interiorid = 69); //object(a51_jetdoor) (86)
  53002. CreateDynamicObject(3095,202.45399475,1786.74548340,1608.16320801,90.00000000,179.99450684,90.01098633, .interiorid = 69); //object(a51_jetdoor) (87)
  53003. CreateDynamicObject(3095,201.88999939,1786.72998047,1608.18823242,90.00000000,180.00549316,269.98901367, .interiorid = 69); //object(a51_jetdoor) (88)
  53004. CreateDynamicObject(1779,209.17303467,1789.21142578,1610.04138184,0.00000000,0.00000000,180.00000000, .interiorid = 69); //object(cj_ticketmachine) (1)
  53005. CreateDynamicObject(1779,208.34777832,1789.21301270,1610.04138184,0.00000000,0.00000000,179.99450684, .interiorid = 69); //object(cj_ticketmachine) (2)
  53006. CreateDynamicObject(1649,208.50978088,1790.75683594,1610.97937012,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(wglasssmash) (1)
  53007. CreateDynamicObject(1649,208.68554688,1790.97949219,1610.97937012,0.00000000,0.00000000,179.99450684, .interiorid = 69); //object(wglasssmash) (2)
  53008. CreateDynamicObject(1649,204.25000000,1790.98034668,1610.97937012,0.00000000,0.00000000,179.99450684, .interiorid = 69); //object(wglasssmash) (4)
  53009. CreateDynamicObject(1649,204.12200928,1790.77050781,1610.97937012,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(wglasssmash) (5)
  53010. CreateDynamicObject(1671,207.08955383,1789.63757324,1609.42346191,0.00000000,0.00000000,170.00000000, .interiorid = 69); //object(swivelchair_a) (1)
  53011. CreateDynamicObject(1671,204.79295349,1789.67260742,1609.42346191,0.00000000,0.00000000,181.99694824, .interiorid = 69); //object(swivelchair_a) (2)
  53012. CreateDynamicObject(1886,192.97596741,1791.22827148,1612.89184570,0.00000000,0.00000000,122.00000000, .interiorid = 69); //object(shop_sec_cam) (1)
  53013. CreateDynamicObject(1886,192.97558594,1791.22753906,1617.09228516,0.00000000,0.00000000,149.99768066, .interiorid = 69); //object(shop_sec_cam) (2)
  53014. CreateDynamicObject(1886,191.98481750,1789.51403809,1621.04223633,30.00000000,0.00000000,119.99633789, .interiorid = 69); //object(shop_sec_cam) (3)
  53015. CreateDynamicObject(1886,216.65586853,1790.06823730,1621.04223633,29.99816895,0.00000000,219.99270630, .interiorid = 69); //object(shop_sec_cam) (4)
  53016. CreateDynamicObject(1886,191.82667542,1802.56311035,1621.16735840,11.00000000,0.00000000,82.26770020, .interiorid = 69); //object(shop_sec_cam) (5)
  53017. CreateDynamicObject(1886,191.82617188,1802.56250000,1617.04248047,10.99731445,0.00000000,82.26562500, .interiorid = 69); //object(shop_sec_cam) (6)
  53018. CreateDynamicObject(1886,191.82617188,1802.56250000,1612.81799316,10.99731445,0.00000000,82.26562500, .interiorid = 69); //object(shop_sec_cam) (7)
  53019. CreateDynamicObject(2163,203.82183838,1791.07727051,1609.16345215,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(med_office_unit_2) (1)
  53020. CreateDynamicObject(2163,206.70214844,1791.09375000,1609.16345215,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(med_office_unit_2) (2)
  53021. CreateDynamicObject(2949,201.87556458,1790.66833496,1608.96325684,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(kmb_lockeddoor) (1)
  53022. CreateDynamicObject(2949,202.47567749,1789.17675781,1608.96325684,0.00000000,0.00000000,179.99993896, .interiorid = 69); //object(kmb_lockeddoor) (2)
  53023. CreateDynamicObject(2611,205.84300232,1789.22143555,1610.90124512,0.00000000,0.00000000,180.00000000, .interiorid = 69); //object(police_nb1) (1)
  53024. CreateDynamicObject(2606,210.55937195,1789.67712402,1611.38903809,0.00000000,0.00000000,270.00000000, .interiorid = 69); //object(cj_police_counter2) (1)
  53025. CreateDynamicObject(2606,210.55859375,1789.67675781,1611.86450195,0.00000000,0.00000000,269.99450684, .interiorid = 69); //object(cj_police_counter2) (2)
  53026. CreateDynamicObject(1800,214.45210266,1805.61340332,1617.53454590,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(low_bed_1) (3)
  53027. CreateDynamicObject(1800,210.21595764,1805.59899902,1617.53454590,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(low_bed_1) (4)
  53028. CreateDynamicObject(1800,205.95664978,1805.66284180,1617.53454590,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(low_bed_1) (5)
  53029. CreateDynamicObject(1800,200.50657654,1805.64892578,1617.53454590,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(low_bed_1) (6)
  53030. CreateDynamicObject(1800,196.11277771,1805.65185547,1617.53454590,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(low_bed_1) (7)
  53031. CreateDynamicObject(1800,191.83377075,1805.65478516,1617.53454590,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(low_bed_1) (8)
  53032. CreateDynamicObject(1800,214.45761108,1805.68225098,1613.26037598,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(low_bed_1) (9)
  53033. CreateDynamicObject(1800,210.19975281,1805.67297363,1613.26037598,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(low_bed_1) (10)
  53034. CreateDynamicObject(1800,205.95896912,1805.70129395,1613.26037598,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(low_bed_1) (11)
  53035. CreateDynamicObject(1800,200.48924255,1805.69775391,1613.26037598,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(low_bed_1) (12)
  53036. CreateDynamicObject(1800,196.09724426,1805.65148926,1613.26037598,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(low_bed_1) (13)
  53037. CreateDynamicObject(1800,191.82055664,1805.65979004,1613.26037598,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(low_bed_1) (14)
  53038. CreateDynamicObject(1800,214.42187500,1805.65441895,1608.98449707,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(low_bed_1) (15)
  53039. CreateDynamicObject(1800,210.21253967,1805.68786621,1608.98449707,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(low_bed_1) (16)
  53040. CreateDynamicObject(1800,205.94084167,1805.60290527,1608.98449707,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(low_bed_1) (17)
  53041. CreateDynamicObject(1800,205.94042969,1805.60253906,1609.93542480,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(low_bed_1) (18)
  53042. CreateDynamicObject(1800,210.21191406,1805.68750000,1609.93542480,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(low_bed_1) (19)
  53043. CreateDynamicObject(1800,200.50958252,1805.69555664,1608.98449707,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(low_bed_1) (20)
  53044. CreateDynamicObject(1800,200.50878906,1805.69531250,1609.96044922,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(low_bed_1) (21)
  53045. CreateDynamicObject(1800,196.10487366,1805.67517090,1608.98449707,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(low_bed_1) (22)
  53046. CreateDynamicObject(1800,196.10449219,1805.67480469,1609.96044922,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(low_bed_1) (23)
  53047. CreateDynamicObject(1800,191.86831665,1805.67456055,1608.98449707,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(low_bed_1) (24)
  53048. CreateDynamicObject(1800,191.86816406,1805.67382812,1609.93542480,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(low_bed_1) (25)
  53049. CreateDynamicObject(1800,214.42187500,1805.65429688,1609.93542480,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(low_bed_1) (26)
  53050. CreateDynamicObject(1800,214.45703125,1805.68164062,1614.23632812,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(low_bed_1) (27)
  53051. CreateDynamicObject(1800,210.19921875,1805.67285156,1614.23632812,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(low_bed_1) (28)
  53052. CreateDynamicObject(1800,205.95800781,1805.70117188,1614.21130371,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(low_bed_1) (29)
  53053. CreateDynamicObject(1800,200.48828125,1805.69726562,1614.23535156,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(low_bed_1) (30)
  53054. CreateDynamicObject(1800,196.09667969,1805.65136719,1614.18627930,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(low_bed_1) (31)
  53055. CreateDynamicObject(1800,191.82031250,1805.65917969,1614.23632812,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(low_bed_1) (32)
  53056. CreateDynamicObject(1800,191.83300781,1805.65429688,1618.50952148,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(low_bed_1) (33)
  53057. CreateDynamicObject(1800,196.11230469,1805.65136719,1618.48498535,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(low_bed_1) (34)
  53058. CreateDynamicObject(1800,200.50585938,1805.64843750,1618.51049805,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(low_bed_1) (35)
  53059. CreateDynamicObject(1800,205.95605469,1805.66210938,1618.48449707,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(low_bed_1) (36)
  53060. CreateDynamicObject(1800,210.21582031,1805.59863281,1618.51049805,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(low_bed_1) (37)
  53061. CreateDynamicObject(1800,214.45117188,1805.61328125,1618.48547363,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(low_bed_1) (38)
  53062. CreateDynamicObject(2774,204.40760803,1803.95361328,1619.56640625,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(cj_airp_pillars) (1)
  53063. CreateDynamicObject(2602,194.12474060,1808.81152344,1613.78393555,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(police_cell_toilet) (1)
  53064. CreateDynamicObject(2602,198.33770752,1808.81555176,1613.78393555,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(police_cell_toilet) (2)
  53065. CreateDynamicObject(2602,202.66923523,1808.81469727,1613.78393555,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(police_cell_toilet) (3)
  53066. CreateDynamicObject(2602,208.20339966,1808.82031250,1613.78393555,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(police_cell_toilet) (4)
  53067. CreateDynamicObject(2602,212.51039124,1808.82153320,1613.78393555,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(police_cell_toilet) (5)
  53068. CreateDynamicObject(2602,216.61041260,1808.82446289,1613.78393555,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(police_cell_toilet) (7)
  53069. CreateDynamicObject(2602,216.61035156,1808.82421875,1618.06042480,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(police_cell_toilet) (8)
  53070. CreateDynamicObject(2602,212.43417358,1808.79223633,1618.06042480,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(police_cell_toilet) (9)
  53071. CreateDynamicObject(2602,208.18164062,1808.78283691,1618.06042480,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(police_cell_toilet) (10)
  53072. CreateDynamicObject(2602,202.55258179,1808.80847168,1618.06042480,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(police_cell_toilet) (11)
  53073. CreateDynamicObject(2602,198.22427368,1808.81884766,1618.06042480,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(police_cell_toilet) (12)
  53074. CreateDynamicObject(2602,194.07098389,1808.83593750,1618.06042480,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(police_cell_toilet) (13)
  53075. CreateDynamicObject(2602,194.07031250,1808.83593750,1609.50891113,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(police_cell_toilet) (15)
  53076. CreateDynamicObject(2602,198.34811401,1808.82019043,1609.50891113,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(police_cell_toilet) (16)
  53077. CreateDynamicObject(2602,202.64959717,1808.82995605,1609.50891113,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(police_cell_toilet) (17)
  53078. CreateDynamicObject(2602,208.22689819,1808.85144043,1609.50891113,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(police_cell_toilet) (18)
  53079. CreateDynamicObject(2602,212.45510864,1808.80895996,1609.50891113,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(police_cell_toilet) (19)
  53080. CreateDynamicObject(2602,216.65698242,1808.81689453,1609.50891113,0.00000000,0.00000000,0.00000000, .interiorid = 69); //object(police_cell_toilet) (20)
  53081. CreateDynamicObject(3388,204.12251282,1788.69470215,1608.96325684,0.00000000,0.00000000,270.00000000, .interiorid = 69); //object(a51_srack4_) (1)
  53082. // WristWatch
  53083. WristWatch = TextDrawCreate(549.000000, 16.000000, string);
  53084. TextDrawBackgroundColor(WristWatch, 255);
  53085. TextDrawFont(WristWatch, 3);
  53086. TextDrawLetterSize(WristWatch, 0.589999, 2.299998);
  53087. TextDrawColor(WristWatch, -1);
  53088. TextDrawSetOutline(WristWatch, 1);
  53089. TextDrawSetProportional(WristWatch, 1);
  53090. // Unknown command error messages
  53091. Textdraw0z = TextDrawCreate(26.000000, 260.000000, "Unknown Command");
  53092. TextDrawBackgroundColor(Textdraw0z, 255);
  53093. TextDrawFont(Textdraw0z, 2);
  53094. TextDrawLetterSize(Textdraw0z, 0.160000, 1.000000);
  53095. TextDrawColor(Textdraw0z, -16776961);
  53096. TextDrawSetOutline(Textdraw0z, 0);
  53097. TextDrawSetProportional(Textdraw0z, 1);
  53098. TextDrawSetShadow(Textdraw0z, 1);
  53099. TextDrawSetSelectable(Textdraw0z, 0);
  53100. Textdraw1z = TextDrawCreate(26.000000, 269.000000, "/help - /newb - /gethelp");
  53101. TextDrawBackgroundColor(Textdraw1z, 255);
  53102. TextDrawFont(Textdraw1z, 2);
  53103. TextDrawLetterSize(Textdraw1z, 0.150000, 0.900000);
  53104. TextDrawColor(Textdraw1z, COLOR_LIGHTBLUE);
  53105. TextDrawSetOutline(Textdraw1z, 0);
  53106. TextDrawSetProportional(Textdraw1z, 1);
  53107. TextDrawSetShadow(Textdraw1z, 1);
  53108. TextDrawSetSelectable(Textdraw1z, 0);
  53109. Textdraw2z = TextDrawCreate(167.000000, 261.000000, "New Textdraw");
  53110. TextDrawBackgroundColor(Textdraw2z, 255);
  53111. TextDrawFont(Textdraw2z, 1);
  53112. TextDrawLetterSize(Textdraw2z, 0.000000, 1.000000);
  53113. TextDrawColor(Textdraw2z, -1);
  53114. TextDrawSetOutline(Textdraw2z, 0);
  53115. TextDrawSetProportional(Textdraw2z, 1);
  53116. TextDrawSetShadow(Textdraw2z, 1);
  53117. TextDrawUseBox(Textdraw2z, 1);
  53118. TextDrawBoxColor(Textdraw2z, 96);
  53119. TextDrawTextSize(Textdraw2z, -3.000000, 0.000000);
  53120. TextDrawSetSelectable(Textdraw2z, 0);
  53121. Textdraw3z = TextDrawCreate(7.000000, 258.000000, "?");
  53122. TextDrawBackgroundColor(Textdraw3z, 255);
  53123. TextDrawFont(Textdraw3z, 2);
  53124. TextDrawLetterSize(Textdraw3z, 0.620000, 2.499999);
  53125. TextDrawColor(Textdraw3z, COLOR_REALREDS);
  53126. TextDrawSetOutline(Textdraw3z, 0);
  53127. TextDrawSetProportional(Textdraw3z, 1);
  53128. TextDrawSetShadow(Textdraw3z, 1);
  53129. TextDrawSetSelectable(Textdraw3z, 0);
  53130. // NEW MainMenuTxtdraw
  53131. MainMenuTxtdraw[0] = TextDrawCreate(641.531494, 40.000000, "usebox");
  53132. TextDrawLetterSize(MainMenuTxtdraw[0], 0.000000, 11.544445);
  53133. TextDrawTextSize(MainMenuTxtdraw[0], -2.000000, 0.000000);
  53134. TextDrawAlignment(MainMenuTxtdraw[0], 1);
  53135. TextDrawColor(MainMenuTxtdraw[0], 0);
  53136. TextDrawUseBox(MainMenuTxtdraw[0], true);
  53137. TextDrawBoxColor(MainMenuTxtdraw[0], 102);
  53138. TextDrawSetShadow(MainMenuTxtdraw[0], 0);
  53139. TextDrawSetOutline(MainMenuTxtdraw[0], 0);
  53140. TextDrawFont(MainMenuTxtdraw[0], 0);
  53141. MainMenuTxtdraw[1] = TextDrawCreate(660.272338, 47.000000, "usebox");
  53142. TextDrawLetterSize(MainMenuTxtdraw[1], 0.041698, -0.919443);
  53143. TextDrawTextSize(MainMenuTxtdraw[1], -2.000000, 0.000000);
  53144. TextDrawAlignment(MainMenuTxtdraw[1], 1);
  53145. TextDrawColor(MainMenuTxtdraw[1], 0);
  53146. TextDrawUseBox(MainMenuTxtdraw[1], true);
  53147. TextDrawBoxColor(MainMenuTxtdraw[1], 102);
  53148. TextDrawSetShadow(MainMenuTxtdraw[1], 0);
  53149. TextDrawSetOutline(MainMenuTxtdraw[1], 0);
  53150. TextDrawFont(MainMenuTxtdraw[1], 0);
  53151. MainMenuTxtdraw[2] = TextDrawCreate(641.531494, 139.166656, "usebox");
  53152. TextDrawLetterSize(MainMenuTxtdraw[2], 0.000000, -0.057406);
  53153. TextDrawTextSize(MainMenuTxtdraw[2], -2.000000, 0.000000);
  53154. TextDrawAlignment(MainMenuTxtdraw[2], 1);
  53155. TextDrawColor(MainMenuTxtdraw[2], 0);
  53156. TextDrawUseBox(MainMenuTxtdraw[2], true);
  53157. TextDrawBoxColor(MainMenuTxtdraw[2], 102);
  53158. TextDrawSetShadow(MainMenuTxtdraw[2], 0);
  53159. TextDrawSetOutline(MainMenuTxtdraw[2], 0);
  53160. TextDrawFont(MainMenuTxtdraw[2], 0);
  53161. MainMenuTxtdraw[3] = TextDrawCreate(249.252960, 62.416679, "Sleepless Roleplay");
  53162. TextDrawLetterSize(MainMenuTxtdraw[3], 0.578843, 3.670834);
  53163. TextDrawAlignment(MainMenuTxtdraw[3], 1);
  53164. TextDrawColor(MainMenuTxtdraw[3], -5963521);
  53165. TextDrawSetShadow(MainMenuTxtdraw[3], 0);
  53166. TextDrawSetOutline(MainMenuTxtdraw[3], 1);
  53167. TextDrawBackgroundColor(MainMenuTxtdraw[3], 51);
  53168. TextDrawFont(MainMenuTxtdraw[3], 3);
  53169. TextDrawSetProportional(MainMenuTxtdraw[3], 1);
  53170. /*Textdraw3 = TextDrawCreate(249.252960, 62.416679, "Sleepless Roleplay");
  53171. TextDrawLetterSize(Textdraw3, 0.578843, 3.670834);
  53172. TextDrawAlignment(Textdraw3, 1);
  53173. TextDrawColor(Textdraw3, -5963521);
  53174. TextDrawSetShadow(Textdraw3, 0);
  53175. TextDrawSetOutline(Textdraw3, 1);
  53176. TextDrawBackgroundColor(Textdraw3, 51);
  53177. TextDrawFont(Textdraw3, 3);
  53178. TextDrawSetProportional(Textdraw3, 1);
  53179. Textdraw4 = TextDrawCreate(278.301361, 95.083305, "V2.0.47(h)");
  53180. TextDrawLetterSize(Textdraw4, 0.407833, 2.824995);
  53181. TextDrawTextSize(Textdraw4, 203.806701, 93.333343);
  53182. TextDrawAlignment(Textdraw4, 1);
  53183. TextDrawColor(Textdraw4, -1);
  53184. TextDrawUseBox(Textdraw4, true);
  53185. TextDrawBoxColor(Textdraw4, 0);
  53186. TextDrawSetShadow(Textdraw4, 0);
  53187. TextDrawSetOutline(Textdraw4, 1);
  53188. TextDrawBackgroundColor(Textdraw4, 51);
  53189. TextDrawFont(Textdraw4, 2);
  53190. TextDrawSetProportional(Textdraw4, 1);*/
  53191. MainMenuTxtdraw[4] = TextDrawCreate(278.301361, 95.083305, SERVER_VERSION);
  53192. TextDrawLetterSize(MainMenuTxtdraw[4], 0.407833, 2.824997);
  53193. TextDrawTextSize(MainMenuTxtdraw[4], 203.806701, 93.333343);
  53194. TextDrawAlignment(MainMenuTxtdraw[4], 1);
  53195. TextDrawColor(MainMenuTxtdraw[4], -1);
  53196. //TextDrawUseBox(MainMenuTxtdraw[4], true);
  53197. TextDrawBoxColor(MainMenuTxtdraw[4], 0);
  53198. TextDrawSetShadow(MainMenuTxtdraw[4], 0);
  53199. TextDrawSetOutline(MainMenuTxtdraw[4], 1);
  53200. TextDrawBackgroundColor(MainMenuTxtdraw[4], 51);
  53201. TextDrawFont(MainMenuTxtdraw[4], 2);
  53202. TextDrawSetProportional(MainMenuTxtdraw[4], 1);
  53203. MainMenuTxtdraw[5] = TextDrawCreate(641.531494, 297.833312, "usebox");
  53204. TextDrawLetterSize(MainMenuTxtdraw[5], 0.000000, 16.470375);
  53205. TextDrawTextSize(MainMenuTxtdraw[5], -2.000000, 0.000000);
  53206. TextDrawAlignment(MainMenuTxtdraw[5], 1);
  53207. TextDrawColor(MainMenuTxtdraw[5], 0);
  53208. TextDrawUseBox(MainMenuTxtdraw[5], true);
  53209. TextDrawBoxColor(MainMenuTxtdraw[5], 102);
  53210. TextDrawSetShadow(MainMenuTxtdraw[5], 0);
  53211. TextDrawSetOutline(MainMenuTxtdraw[5], 0);
  53212. TextDrawFont(MainMenuTxtdraw[5], 0);
  53213. MainMenuTxtdraw[6] = TextDrawCreate(641.531494, 306.000000, "usebox");
  53214. TextDrawLetterSize(MainMenuTxtdraw[6], 0.003746, -0.232409);
  53215. TextDrawTextSize(MainMenuTxtdraw[6], -2.000000, 0.000000);
  53216. TextDrawAlignment(MainMenuTxtdraw[6], 1);
  53217. TextDrawColor(MainMenuTxtdraw[6], 0);
  53218. TextDrawUseBox(MainMenuTxtdraw[6], true);
  53219. TextDrawBoxColor(MainMenuTxtdraw[6], 102);
  53220. TextDrawSetShadow(MainMenuTxtdraw[6], 0);
  53221. TextDrawSetOutline(MainMenuTxtdraw[6], 0);
  53222. TextDrawFont(MainMenuTxtdraw[6], 0);
  53223. MainMenuTxtdraw[7] = TextDrawCreate(28.579757, 326.083343, "News:");
  53224. TextDrawLetterSize(MainMenuTxtdraw[7], 0.449999, 1.600000);
  53225. TextDrawAlignment(MainMenuTxtdraw[7], 1);
  53226. TextDrawColor(MainMenuTxtdraw[7], -5963521);
  53227. TextDrawSetShadow(MainMenuTxtdraw[7], 0);
  53228. TextDrawSetOutline(MainMenuTxtdraw[7], 1);
  53229. TextDrawBackgroundColor(MainMenuTxtdraw[7], 51);
  53230. TextDrawFont(MainMenuTxtdraw[7], 1);
  53231. TextDrawSetProportional(MainMenuTxtdraw[7], 1);
  53232. new newsstring[128];
  53233. format(newsstring, sizeof(newsstring), "%s", GlobalMOTD);
  53234. MainMenuTxtdraw[8] = TextDrawCreate(81.285598, 326.083374, newsstring);
  53235. TextDrawLetterSize(MainMenuTxtdraw[8], 0.449999, 1.600000);
  53236. TextDrawAlignment(MainMenuTxtdraw[8], 1);
  53237. TextDrawColor(MainMenuTxtdraw[8], -1);
  53238. TextDrawSetShadow(MainMenuTxtdraw[8], 0);
  53239. TextDrawSetOutline(MainMenuTxtdraw[8], 1);
  53240. TextDrawBackgroundColor(MainMenuTxtdraw[8], 51);
  53241. TextDrawFont(MainMenuTxtdraw[8], 1);
  53242. TextDrawSetProportional(MainMenuTxtdraw[8], 1);
  53243. MainMenuTxtdraw[9] = TextDrawCreate(73.557861, 393.166656, "Website:");
  53244. TextDrawLetterSize(MainMenuTxtdraw[9], 0.449999, 1.600000);
  53245. TextDrawAlignment(MainMenuTxtdraw[9], 1);
  53246. TextDrawColor(MainMenuTxtdraw[9], -5963521);
  53247. TextDrawSetShadow(MainMenuTxtdraw[9], 0);
  53248. TextDrawSetOutline(MainMenuTxtdraw[9], 1);
  53249. TextDrawBackgroundColor(MainMenuTxtdraw[9], 51);
  53250. TextDrawFont(MainMenuTxtdraw[9], 1);
  53251. TextDrawSetProportional(MainMenuTxtdraw[9], 1);
  53252. MainMenuTxtdraw[10] = TextDrawCreate(143.367507, 394.333343, "www.Serenity");
  53253. TextDrawLetterSize(MainMenuTxtdraw[10], 0.449999, 1.600000);
  53254. TextDrawAlignment(MainMenuTxtdraw[10], 1);
  53255. TextDrawColor(MainMenuTxtdraw[10], -1);
  53256. TextDrawSetShadow(MainMenuTxtdraw[10], 0);
  53257. TextDrawSetOutline(MainMenuTxtdraw[10], 1);
  53258. TextDrawBackgroundColor(MainMenuTxtdraw[10], 51);
  53259. TextDrawFont(MainMenuTxtdraw[10], 1);
  53260. TextDrawSetProportional(MainMenuTxtdraw[10], 1);
  53261. MainMenuTxtdraw[11] = TextDrawCreate(235.666152, 359.333374, "Players Online:");
  53262. TextDrawLetterSize(MainMenuTxtdraw[11], 0.449999, 1.600000);
  53263. TextDrawAlignment(MainMenuTxtdraw[11], 1);
  53264. TextDrawColor(MainMenuTxtdraw[11], -5963521);
  53265. TextDrawSetShadow(MainMenuTxtdraw[11], 0);
  53266. TextDrawSetOutline(MainMenuTxtdraw[11], 1);
  53267. TextDrawBackgroundColor(MainMenuTxtdraw[11], 51);
  53268. TextDrawFont(MainMenuTxtdraw[11], 1);
  53269. TextDrawSetProportional(MainMenuTxtdraw[11], 1);
  53270. MainMenuTxtdraw[12] = TextDrawCreate(345.300231, 393.749969, "Discord:");
  53271. TextDrawLetterSize(MainMenuTxtdraw[12], 0.449999, 1.600000);
  53272. TextDrawAlignment(MainMenuTxtdraw[12], 1);
  53273. TextDrawColor(MainMenuTxtdraw[12], -5963521);
  53274. TextDrawSetShadow(MainMenuTxtdraw[12], 0);
  53275. TextDrawSetOutline(MainMenuTxtdraw[12], 1);
  53276. TextDrawBackgroundColor(MainMenuTxtdraw[12], 51);
  53277. TextDrawFont(MainMenuTxtdraw[12], 1);
  53278. TextDrawSetProportional(MainMenuTxtdraw[12], 1);
  53279. MainMenuTxtdraw[13] = TextDrawCreate(414.172668, 394.333374, DISCORD);
  53280. TextDrawLetterSize(MainMenuTxtdraw[13], 0.449999, 1.600000);
  53281. TextDrawAlignment(MainMenuTxtdraw[13], 1);
  53282. TextDrawColor(MainMenuTxtdraw[13], -1);
  53283. TextDrawSetShadow(MainMenuTxtdraw[13], 0);
  53284. TextDrawSetOutline(MainMenuTxtdraw[13], 1);
  53285. TextDrawBackgroundColor(MainMenuTxtdraw[13], 51);
  53286. TextDrawFont(MainMenuTxtdraw[13], 1);
  53287. TextDrawSetProportional(MainMenuTxtdraw[13], 1);
  53288. //------------------------------------------------------------------------------------------------------------//
  53289. // Tutorial text draws //
  53290. //------------------------------------------------------------------------------------------------------------//
  53291. TutTxtDraw[0] = TextDrawCreate(487.000000, 303.000000, "'");
  53292. TextDrawBackgroundColor(TutTxtDraw[0], 255);
  53293. TextDrawFont(TutTxtDraw[0], 2);
  53294. TextDrawLetterSize(TutTxtDraw[0], 0.000000, 12.800003);
  53295. TextDrawColor(TutTxtDraw[0], -1061109505);
  53296. TextDrawSetOutline(TutTxtDraw[0], 0);
  53297. TextDrawSetProportional(TutTxtDraw[0], 1);
  53298. TextDrawSetShadow(TutTxtDraw[0], 1);
  53299. TextDrawUseBox(TutTxtDraw[0], 1);
  53300. TextDrawBoxColor(TutTxtDraw[0], 170);
  53301. TextDrawTextSize(TutTxtDraw[0], 146.000000, 45.000000);
  53302. TutTxtDraw[1] = TextDrawCreate(487.000000, 303.000000, "'");
  53303. TextDrawBackgroundColor(TutTxtDraw[1], 255);
  53304. TextDrawFont(TutTxtDraw[1], 1);
  53305. TextDrawLetterSize(TutTxtDraw[1], 0.000000, -1.000000);
  53306. TextDrawColor(TutTxtDraw[1], -1);
  53307. TextDrawSetOutline(TutTxtDraw[1], 0);
  53308. TextDrawSetProportional(TutTxtDraw[1], 1);
  53309. TextDrawSetShadow(TutTxtDraw[1], 1);
  53310. TextDrawUseBox(TutTxtDraw[1], 1);
  53311. TextDrawBoxColor(TutTxtDraw[1], 255);
  53312. TextDrawTextSize(TutTxtDraw[1], 146.000000, -2.000000);
  53313. TutTxtDraw[2] = TextDrawCreate(487.000000, 427.000000, "'");
  53314. TextDrawBackgroundColor(TutTxtDraw[2], 255);
  53315. TextDrawFont(TutTxtDraw[2], 1);
  53316. TextDrawLetterSize(TutTxtDraw[2], 0.000000, -1.000000);
  53317. TextDrawColor(TutTxtDraw[2], -1);
  53318. TextDrawSetOutline(TutTxtDraw[2], 0);
  53319. TextDrawSetProportional(TutTxtDraw[2], 1);
  53320. TextDrawSetShadow(TutTxtDraw[2], 1);
  53321. TextDrawUseBox(TutTxtDraw[2], 1);
  53322. TextDrawBoxColor(TutTxtDraw[2], 255);
  53323. TextDrawTextSize(TutTxtDraw[2], 146.000000, -2.000000);
  53324. TutTxtDraw[3] = TextDrawCreate(147.000000, 299.000000, "'");
  53325. TextDrawBackgroundColor(TutTxtDraw[3], 255);
  53326. TextDrawFont(TutTxtDraw[3], 1);
  53327. TextDrawLetterSize(TutTxtDraw[3], 0.000000, 13.600002);
  53328. TextDrawColor(TutTxtDraw[3], -1);
  53329. TextDrawSetOutline(TutTxtDraw[3], 0);
  53330. TextDrawSetProportional(TutTxtDraw[3], 1);
  53331. TextDrawSetShadow(TutTxtDraw[3], 1);
  53332. TextDrawUseBox(TutTxtDraw[3], 1);
  53333. TextDrawBoxColor(TutTxtDraw[3], 255);
  53334. TextDrawTextSize(TutTxtDraw[3], 146.000000, 28.000000);
  53335. TutTxtDraw[4] = TextDrawCreate(487.000000, 299.000000, "'");
  53336. TextDrawBackgroundColor(TutTxtDraw[4], 255);
  53337. TextDrawFont(TutTxtDraw[4], 1);
  53338. TextDrawLetterSize(TutTxtDraw[4], 0.000000, 13.600002);
  53339. TextDrawColor(TutTxtDraw[4], -1);
  53340. TextDrawSetOutline(TutTxtDraw[4], 0);
  53341. TextDrawSetProportional(TutTxtDraw[4], 1);
  53342. TextDrawSetShadow(TutTxtDraw[4], 1);
  53343. TextDrawUseBox(TutTxtDraw[4], 1);
  53344. TextDrawBoxColor(TutTxtDraw[4], 255);
  53345. TextDrawTextSize(TutTxtDraw[4], 486.000000, 34.000000);
  53346. TutTxtDraw[5] = TextDrawCreate(165.000000, 301.000000, "Serenity Tutorial");
  53347. TextDrawBackgroundColor(TutTxtDraw[5], 255);
  53348. TextDrawFont(TutTxtDraw[5], 2);
  53349. TextDrawLetterSize(TutTxtDraw[5], 0.500000, 2.200000);
  53350. TextDrawColor(TutTxtDraw[5], COLOR_NEWS);
  53351. TextDrawSetOutline(TutTxtDraw[5], 0);
  53352. TextDrawSetProportional(TutTxtDraw[5], 1);
  53353. TextDrawSetShadow(TutTxtDraw[5], 3);
  53354. //
  53355. // FIRST TUTORIAL TEXT
  53356. //
  53357. TutTxtDraw[6] = TextDrawCreate(166.000000, 331.000000, "Welcome to Sleepless Roleplay. This is a roleplay server, which means that you take on");
  53358. TextDrawBackgroundColor(TutTxtDraw[6], 255);
  53359. TextDrawFont(TutTxtDraw[6], 1);
  53360. TextDrawLetterSize(TutTxtDraw[6], 0.209999, 1.399999);
  53361. TextDrawColor(TutTxtDraw[6], -1);
  53362. TextDrawSetOutline(TutTxtDraw[6], 0);
  53363. TextDrawSetProportional(TutTxtDraw[6], 1);
  53364. TextDrawSetShadow(TutTxtDraw[6], 2);
  53365. TutTxtDraw[7] = TextDrawCreate(166.000000, 344.000000, "a role and play a character. Be it a crook, an officer of the law or just a regular citizen.");
  53366. TextDrawBackgroundColor(TutTxtDraw[7], 255);
  53367. TextDrawFont(TutTxtDraw[7], 1);
  53368. TextDrawLetterSize(TutTxtDraw[7], 0.209999, 1.399999);
  53369. TextDrawColor(TutTxtDraw[7], -1);
  53370. TextDrawSetOutline(TutTxtDraw[7], 0);
  53371. TextDrawSetProportional(TutTxtDraw[7], 1);
  53372. TextDrawSetShadow(TutTxtDraw[7], 2);
  53373. TutTxtDraw[8] = TextDrawCreate(166.000000, 368.000000, "This also means that there is a difference between you as player and your character.");
  53374. TextDrawBackgroundColor(TutTxtDraw[8], 255);
  53375. TextDrawFont(TutTxtDraw[8], 1);
  53376. TextDrawLetterSize(TutTxtDraw[8], 0.209999, 1.399999);
  53377. TextDrawColor(TutTxtDraw[8], -1);
  53378. TextDrawSetOutline(TutTxtDraw[8], 0);
  53379. TextDrawSetProportional(TutTxtDraw[8], 1);
  53380. TextDrawSetShadow(TutTxtDraw[8], 2);
  53381. TutTxtDraw[9] = TextDrawCreate(166.000000, 381.000000, "We refer to this as OOC (out of character) and IC (in character). This is something");
  53382. TextDrawBackgroundColor(TutTxtDraw[9], 255);
  53383. TextDrawFont(TutTxtDraw[9], 1);
  53384. TextDrawLetterSize(TutTxtDraw[9], 0.209999, 1.399999);
  53385. TextDrawColor(TutTxtDraw[9], -1);
  53386. TextDrawSetOutline(TutTxtDraw[9], 0);
  53387. TextDrawSetProportional(TutTxtDraw[9], 1);
  53388. TextDrawSetShadow(TutTxtDraw[9], 2);
  53389. TutTxtDraw[10] = TextDrawCreate(166.000000, 394.000000, "that is an essential part of the server, therefore we keep them separate.");
  53390. TextDrawBackgroundColor(TutTxtDraw[10], 255);
  53391. TextDrawFont(TutTxtDraw[10], 1);
  53392. TextDrawLetterSize(TutTxtDraw[10], 0.209999, 1.399999);
  53393. TextDrawColor(TutTxtDraw[10], -1);
  53394. TextDrawSetOutline(TutTxtDraw[10], 0);
  53395. TextDrawSetProportional(TutTxtDraw[10], 1);
  53396. TextDrawSetShadow(TutTxtDraw[10], 2);
  53397. //
  53398. // SECOND TUTORIAL TEXT
  53399. //
  53400. TutTxtDraw[11] = TextDrawCreate(166.000000, 331.000000, "There are many ways to earn money and there are many jobs available throughout");
  53401. TextDrawBackgroundColor(TutTxtDraw[11], 255);
  53402. TextDrawFont(TutTxtDraw[11], 1);
  53403. TextDrawLetterSize(TutTxtDraw[11], 0.209999, 1.399999);
  53404. TextDrawColor(TutTxtDraw[11], -1);
  53405. TextDrawSetOutline(TutTxtDraw[11], 0);
  53406. TextDrawSetProportional(TutTxtDraw[11], 1);
  53407. TextDrawSetShadow(TutTxtDraw[11], 2);
  53408. TutTxtDraw[12] = TextDrawCreate(166.000000, 344.000000, "the city. We recommend that you try Trucker or Pizza Boy Job first to earn some");
  53409. TextDrawBackgroundColor(TutTxtDraw[12], 255);
  53410. TextDrawFont(TutTxtDraw[12], 1);
  53411. TextDrawLetterSize(TutTxtDraw[12], 0.209999, 1.399999);
  53412. TextDrawColor(TutTxtDraw[12], -1);
  53413. TextDrawSetOutline(TutTxtDraw[12], 0);
  53414. TextDrawSetProportional(TutTxtDraw[12], 1);
  53415. TextDrawSetShadow(TutTxtDraw[12], 2);
  53416. TutTxtDraw[13] = TextDrawCreate(166.000000, 357.000000, "starting cash. You can find a job with the ~r~/findjob ~w~command.");
  53417. TextDrawBackgroundColor(TutTxtDraw[13], 255);
  53418. TextDrawFont(TutTxtDraw[13], 1);
  53419. TextDrawLetterSize(TutTxtDraw[13], 0.209998, 1.399999);
  53420. TextDrawColor(TutTxtDraw[13], -1);
  53421. TextDrawSetOutline(TutTxtDraw[13], 0);
  53422. TextDrawSetProportional(TutTxtDraw[13], 1);
  53423. TextDrawSetShadow(TutTxtDraw[13], 2);
  53424. TutTxtDraw[14] = TextDrawCreate(166.000000, 381.000000, "You can also use the ~r~/jobhelp ~w~command to get more information about the jobs.");
  53425. TextDrawBackgroundColor(TutTxtDraw[14], 255);
  53426. TextDrawFont(TutTxtDraw[14], 1);
  53427. TextDrawLetterSize(TutTxtDraw[14], 0.209998, 1.399999);
  53428. TextDrawColor(TutTxtDraw[14], -1);
  53429. TextDrawSetOutline(TutTxtDraw[14], 0);
  53430. TextDrawSetProportional(TutTxtDraw[14], 1);
  53431. TextDrawSetShadow(TutTxtDraw[14], 2);
  53432. TutTxtDraw[15] = TextDrawCreate(166.000000, 394.000000, "You can ~r~/withdraw ~w~and ~r~/deposit ~w~at the bank whenever you wish.");
  53433. TextDrawBackgroundColor(TutTxtDraw[15], 255);
  53434. TextDrawFont(TutTxtDraw[15], 1);
  53435. TextDrawLetterSize(TutTxtDraw[15], 0.209998, 1.399999);
  53436. TextDrawColor(TutTxtDraw[15], -1);
  53437. TextDrawSetOutline(TutTxtDraw[15], 0);
  53438. TextDrawSetProportional(TutTxtDraw[15], 1);
  53439. TextDrawSetShadow(TutTxtDraw[15], 2);
  53440. //
  53441. // THIRD TUTORIAL TEXT
  53442. //
  53443. TutTxtDraw[16] = TextDrawCreate(166.000000, 331.000000, "There are several law enforcement agencies such as the ~b~LSPD ~w~and the ~b~FBI~w~, who enforce");
  53444. TextDrawBackgroundColor(TutTxtDraw[16], 255);
  53445. TextDrawFont(TutTxtDraw[16], 1);
  53446. TextDrawLetterSize(TutTxtDraw[16], 0.209999, 1.399999);
  53447. TextDrawColor(TutTxtDraw[16], -1);
  53448. TextDrawSetOutline(TutTxtDraw[16], 0);
  53449. TextDrawSetProportional(TutTxtDraw[16], 1);
  53450. TextDrawSetShadow(TutTxtDraw[16], 2);
  53451. TutTxtDraw[17] = TextDrawCreate(166.000000, 344.000000, "the law. They will arrest you if you break the law. If you cause a lot of trouble then");
  53452. TextDrawBackgroundColor(TutTxtDraw[17], 255);
  53453. TextDrawFont(TutTxtDraw[17], 1);
  53454. TextDrawLetterSize(TutTxtDraw[17], 0.209999, 1.399999);
  53455. TextDrawColor(TutTxtDraw[17], -1);
  53456. TextDrawSetOutline(TutTxtDraw[17], 0);
  53457. TextDrawSetProportional(TutTxtDraw[17], 1);
  53458. TextDrawSetShadow(TutTxtDraw[17], 2);
  53459. TutTxtDraw[18] = TextDrawCreate(166.000000, 357.000000, "you could be marked as one of the most wanted suspects. Which will mark you ~r~red");
  53460. TextDrawBackgroundColor(TutTxtDraw[18], 255);
  53461. TextDrawFont(TutTxtDraw[18], 1);
  53462. TextDrawLetterSize(TutTxtDraw[18], 0.209998, 1.399999);
  53463. TextDrawColor(TutTxtDraw[18], -1);
  53464. TextDrawSetOutline(TutTxtDraw[18], 0);
  53465. TextDrawSetProportional(TutTxtDraw[18], 1);
  53466. TextDrawSetShadow(TutTxtDraw[18], 2);
  53467. TutTxtDraw[19] = TextDrawCreate(166.000000, 371.000000, "on the radar/map. If you're caught as the most wanted suspect, then you will be");
  53468. TextDrawBackgroundColor(TutTxtDraw[19], 255);
  53469. TextDrawFont(TutTxtDraw[19], 1);
  53470. TextDrawLetterSize(TutTxtDraw[19], 0.209998, 1.399999);
  53471. TextDrawColor(TutTxtDraw[19], -1);
  53472. TextDrawSetOutline(TutTxtDraw[19], 0);
  53473. TextDrawSetProportional(TutTxtDraw[19], 1);
  53474. TextDrawSetShadow(TutTxtDraw[19], 2);
  53475. TutTxtDraw[20] = TextDrawCreate(166.000000, 385.000000, "sent to prison for 30 minutes. If you can't do the time, then don't do the crime.");
  53476. TextDrawBackgroundColor(TutTxtDraw[20], 255);
  53477. TextDrawFont(TutTxtDraw[20], 1);
  53478. TextDrawLetterSize(TutTxtDraw[20], 0.209998, 1.399999);
  53479. TextDrawColor(TutTxtDraw[20], -1);
  53480. TextDrawSetOutline(TutTxtDraw[20], 0);
  53481. TextDrawSetProportional(TutTxtDraw[20], 1);
  53482. TextDrawSetShadow(TutTxtDraw[20], 2);
  53483. TutTxtDraw[21] = TextDrawCreate(166.000000, 398.000000, "You can also join these factions. Just contact them in-game (blue names).");
  53484. TextDrawBackgroundColor(TutTxtDraw[21], 255);
  53485. TextDrawFont(TutTxtDraw[21], 1);
  53486. TextDrawLetterSize(TutTxtDraw[21], 0.209998, 1.399999);
  53487. TextDrawColor(TutTxtDraw[21], -1);
  53488. TextDrawSetOutline(TutTxtDraw[21], 0);
  53489. TextDrawSetProportional(TutTxtDraw[21], 1);
  53490. TextDrawSetShadow(TutTxtDraw[21], 2);
  53491. //
  53492. // FOURTH TUTORIAL TEXT
  53493. //
  53494. TutTxtDraw[22] = TextDrawCreate(166.000000, 331.000000, "If you get injured then you can either ~r~/accept death ~w~or you can ~r~/service ems ~w~and wait");
  53495. TextDrawBackgroundColor(TutTxtDraw[22], 255);
  53496. TextDrawFont(TutTxtDraw[22], 1);
  53497. TextDrawLetterSize(TutTxtDraw[22], 0.209999, 1.399999);
  53498. TextDrawColor(TutTxtDraw[22], -1);
  53499. TextDrawSetOutline(TutTxtDraw[22], 0);
  53500. TextDrawSetProportional(TutTxtDraw[22], 1);
  53501. TextDrawSetShadow(TutTxtDraw[22], 2);
  53502. TutTxtDraw[23] = TextDrawCreate(166.000000, 344.000000, "for an ambulance of the LSFMD to arrive. This will allow you to keep your weapons.");
  53503. TextDrawBackgroundColor(TutTxtDraw[23], 255);
  53504. TextDrawFont(TutTxtDraw[23], 1);
  53505. TextDrawLetterSize(TutTxtDraw[23], 0.209999, 1.399999);
  53506. TextDrawColor(TutTxtDraw[23], -1);
  53507. TextDrawSetOutline(TutTxtDraw[23], 0);
  53508. TextDrawSetProportional(TutTxtDraw[23], 1);
  53509. TextDrawSetShadow(TutTxtDraw[23], 2);
  53510. TutTxtDraw[24] = TextDrawCreate(166.000000, 357.000000, "You can also join the LSFMD faction by contacting them in-game (pink names) or");
  53511. TextDrawBackgroundColor(TutTxtDraw[24], 255);
  53512. TextDrawFont(TutTxtDraw[24], 1);
  53513. TextDrawLetterSize(TutTxtDraw[24], 0.209998, 1.399999);
  53514. TextDrawColor(TutTxtDraw[24], -1);
  53515. TextDrawSetOutline(TutTxtDraw[24], 0);
  53516. TextDrawSetProportional(TutTxtDraw[24], 1);
  53517. TextDrawSetShadow(TutTxtDraw[24], 2);
  53518. TutTxtDraw[25] = TextDrawCreate(166.000000, 371.000000, "by applying to join on the forum, which can be found at ~g~www.Serenity");
  53519. TextDrawBackgroundColor(TutTxtDraw[25], 255);
  53520. TextDrawFont(TutTxtDraw[25], 1);
  53521. TextDrawLetterSize(TutTxtDraw[25], 0.209998, 1.399999);
  53522. TextDrawColor(TutTxtDraw[25], -1);
  53523. TextDrawSetOutline(TutTxtDraw[25], 0);
  53524. TextDrawSetProportional(TutTxtDraw[25], 1);
  53525. TextDrawSetShadow(TutTxtDraw[25], 2);
  53526. TutTxtDraw[26] = TextDrawCreate(166.000000, 394.000000, "You can also visit one of the hospitals to ~r~/heal ~w~if you get a disease.");
  53527. TextDrawBackgroundColor(TutTxtDraw[26], 255);
  53528. TextDrawFont(TutTxtDraw[26], 1);
  53529. TextDrawLetterSize(TutTxtDraw[26], 0.209998, 1.399999);
  53530. TextDrawColor(TutTxtDraw[26], -1);
  53531. TextDrawSetOutline(TutTxtDraw[26], 0);
  53532. TextDrawSetProportional(TutTxtDraw[26], 1);
  53533. TextDrawSetShadow(TutTxtDraw[26], 2);
  53534. //
  53535. // FIFTH TUTORIAL TEXT
  53536. //
  53537. TutTxtDraw[27] = TextDrawCreate(166.000000, 331.000000, "There are also ~r~/families ~w~which are basically criminal groups. There are street gangs and");
  53538. TextDrawBackgroundColor(TutTxtDraw[27], 255);
  53539. TextDrawFont(TutTxtDraw[27], 1);
  53540. TextDrawLetterSize(TutTxtDraw[27], 0.209999, 1.399999);
  53541. TextDrawColor(TutTxtDraw[27], -1);
  53542. TextDrawSetOutline(TutTxtDraw[27], 0);
  53543. TextDrawSetProportional(TutTxtDraw[27], 1);
  53544. TextDrawSetShadow(TutTxtDraw[27], 2);
  53545. TutTxtDraw[28] = TextDrawCreate(166.000000, 344.000000, "then there is organized crime (the mafia). We recommend that you're careful around");
  53546. TextDrawBackgroundColor(TutTxtDraw[28], 255);
  53547. TextDrawFont(TutTxtDraw[28], 1);
  53548. TextDrawLetterSize(TutTxtDraw[28], 0.209999, 1.399999);
  53549. TextDrawColor(TutTxtDraw[28], -1);
  53550. TextDrawSetOutline(TutTxtDraw[28], 0);
  53551. TextDrawSetProportional(TutTxtDraw[28], 1);
  53552. TextDrawSetShadow(TutTxtDraw[28], 2);
  53553. TutTxtDraw[29] = TextDrawCreate(166.000000, 357.000000, "them. They also fight over several territories known as ~r~/points and also /turfs~w~.");
  53554. TextDrawBackgroundColor(TutTxtDraw[29], 255);
  53555. TextDrawFont(TutTxtDraw[29], 1);
  53556. TextDrawLetterSize(TutTxtDraw[29], 0.209998, 1.399999);
  53557. TextDrawColor(TutTxtDraw[29], -1);
  53558. TextDrawSetOutline(TutTxtDraw[29], 0);
  53559. TextDrawSetProportional(TutTxtDraw[29], 1);
  53560. TextDrawSetShadow(TutTxtDraw[29], 2);
  53561. TutTxtDraw[30] = TextDrawCreate(166.000000, 381.000000, "You can join a family by approaching them in-game. They can usually be found at their");
  53562. TextDrawBackgroundColor(TutTxtDraw[30], 255);
  53563. TextDrawFont(TutTxtDraw[30], 1);
  53564. TextDrawLetterSize(TutTxtDraw[30], 0.209998, 1.399999);
  53565. TextDrawColor(TutTxtDraw[30], -1);
  53566. TextDrawSetOutline(TutTxtDraw[30], 0);
  53567. TextDrawSetProportional(TutTxtDraw[30], 1);
  53568. TextDrawSetShadow(TutTxtDraw[30], 2);
  53569. TutTxtDraw[31] = TextDrawCreate(166.000000, 394.000000, "respective headquarters (fronts). Which can be clubs, restaurants, bars etc.");
  53570. TextDrawBackgroundColor(TutTxtDraw[31], 255);
  53571. TextDrawFont(TutTxtDraw[31], 1);
  53572. TextDrawLetterSize(TutTxtDraw[31], 0.209998, 1.399999);
  53573. TextDrawColor(TutTxtDraw[31], -1);
  53574. TextDrawSetOutline(TutTxtDraw[31], 0);
  53575. TextDrawSetProportional(TutTxtDraw[31], 1);
  53576. TextDrawSetShadow(TutTxtDraw[31], 2);
  53577. //
  53578. // SIXTH TUTORIAL TEXT
  53579. //
  53580. TutTxtDraw[32] = TextDrawCreate(166.000000, 331.000000, "You can smuggle materials packages to get materials, which then allows you to make");
  53581. TextDrawBackgroundColor(TutTxtDraw[32], 255);
  53582. TextDrawFont(TutTxtDraw[32], 1);
  53583. TextDrawLetterSize(TutTxtDraw[32], 0.209999, 1.399999);
  53584. TextDrawColor(TutTxtDraw[32], -1);
  53585. TextDrawSetOutline(TutTxtDraw[32], 0);
  53586. TextDrawSetProportional(TutTxtDraw[32], 1);
  53587. TextDrawSetShadow(TutTxtDraw[32], 2);
  53588. TutTxtDraw[33] = TextDrawCreate(166.000000, 344.000000, "several items (including weapons). You need the Arms Dealer or Craftsman job for this.");
  53589. TextDrawBackgroundColor(TutTxtDraw[33], 255);
  53590. TextDrawFont(TutTxtDraw[33], 1);
  53591. TextDrawLetterSize(TutTxtDraw[33], 0.209999, 1.399999);
  53592. TextDrawColor(TutTxtDraw[33], -1);
  53593. TextDrawSetOutline(TutTxtDraw[33], 0);
  53594. TextDrawSetProportional(TutTxtDraw[33], 1);
  53595. TextDrawSetShadow(TutTxtDraw[33], 2);
  53596. TutTxtDraw[34] = TextDrawCreate(166.000000, 357.000000, "You will be able to ~r~/getmats ~w~at one of the material pickups and then deliver it to one of");
  53597. TextDrawBackgroundColor(TutTxtDraw[34], 255);
  53598. TextDrawFont(TutTxtDraw[34], 1);
  53599. TextDrawLetterSize(TutTxtDraw[34], 0.209998, 1.399999);
  53600. TextDrawColor(TutTxtDraw[34], -1);
  53601. TextDrawSetOutline(TutTxtDraw[34], 0);
  53602. TextDrawSetProportional(TutTxtDraw[34], 1);
  53603. TextDrawSetShadow(TutTxtDraw[34], 2);
  53604. TutTxtDraw[35] = TextDrawCreate(166.000000, 371.000000, "the material factories. Then you can either ~r~/sellgun ~w~or ~r~/craft ~w~something.");
  53605. TextDrawBackgroundColor(TutTxtDraw[35], 255);
  53606. TextDrawFont(TutTxtDraw[35], 1);
  53607. TextDrawLetterSize(TutTxtDraw[35], 0.209998, 1.399999);
  53608. TextDrawColor(TutTxtDraw[35], -1);
  53609. TextDrawSetOutline(TutTxtDraw[35], 0);
  53610. TextDrawSetProportional(TutTxtDraw[35], 1);
  53611. TextDrawSetShadow(TutTxtDraw[35], 2);
  53612. TutTxtDraw[36] = TextDrawCreate(166.000000, 391.000000, "You can get more information about this with the ~r~/jobhelp ~w~command.");
  53613. TextDrawBackgroundColor(TutTxtDraw[36], 255);
  53614. TextDrawFont(TutTxtDraw[36], 1);
  53615. TextDrawLetterSize(TutTxtDraw[36], 0.209998, 1.399999);
  53616. TextDrawColor(TutTxtDraw[36], -1);
  53617. TextDrawSetOutline(TutTxtDraw[36], 0);
  53618. TextDrawSetProportional(TutTxtDraw[36], 1);
  53619. TextDrawSetShadow(TutTxtDraw[36], 2);
  53620. //
  53621. // SEVENTH TUTORIAL TEXT
  53622. //
  53623. TutTxtDraw[37] = TextDrawCreate(166.000000, 331.000000, "You can also smuggle drugs from Blueberry into Los Santos. This requires you to have");
  53624. TextDrawBackgroundColor(TutTxtDraw[37], 255);
  53625. TextDrawFont(TutTxtDraw[37], 1);
  53626. TextDrawLetterSize(TutTxtDraw[37], 0.209999, 1.399999);
  53627. TextDrawColor(TutTxtDraw[37], -1);
  53628. TextDrawSetOutline(TutTxtDraw[37], 0);
  53629. TextDrawSetProportional(TutTxtDraw[37], 1);
  53630. TextDrawSetShadow(TutTxtDraw[37], 2);
  53631. TutTxtDraw[38] = TextDrawCreate(166.000000, 344.000000, "the Drug Smuggler Job. You can then ~r~/getcrate ~w~and smuggle crack or pot.");
  53632. TextDrawBackgroundColor(TutTxtDraw[38], 255);
  53633. TextDrawFont(TutTxtDraw[38], 1);
  53634. TextDrawLetterSize(TutTxtDraw[38], 0.209999, 1.399999);
  53635. TextDrawColor(TutTxtDraw[38], -1);
  53636. TextDrawSetOutline(TutTxtDraw[38], 0);
  53637. TextDrawSetProportional(TutTxtDraw[38], 1);
  53638. TextDrawSetShadow(TutTxtDraw[38], 2);
  53639. TutTxtDraw[39] = TextDrawCreate(166.000000, 367.000000, "You can also sell and grow drugs with the Drug Dealer Job. You will be able to:");
  53640. TextDrawBackgroundColor(TutTxtDraw[39], 255);
  53641. TextDrawFont(TutTxtDraw[39], 1);
  53642. TextDrawLetterSize(TutTxtDraw[39], 0.209998, 1.399999);
  53643. TextDrawColor(TutTxtDraw[39], -1);
  53644. TextDrawSetOutline(TutTxtDraw[39], 0);
  53645. TextDrawSetProportional(TutTxtDraw[39], 1);
  53646. TextDrawSetShadow(TutTxtDraw[39], 2);
  53647. TutTxtDraw[40] = TextDrawCreate(166.000000, 381.000000, "- ~r~/sellpot ~w~and ~r~/sellcrack");
  53648. TextDrawBackgroundColor(TutTxtDraw[40], 255);
  53649. TextDrawFont(TutTxtDraw[40], 1);
  53650. TextDrawLetterSize(TutTxtDraw[40], 0.209998, 1.399999);
  53651. TextDrawColor(TutTxtDraw[40], -1);
  53652. TextDrawSetOutline(TutTxtDraw[40], 0);
  53653. TextDrawSetProportional(TutTxtDraw[40], 1);
  53654. TextDrawSetShadow(TutTxtDraw[40], 2);
  53655. TutTxtDraw[41] = TextDrawCreate(166.000000, 394.000000, "- ~r~/plantweed ~w~anywhere and grow weed");
  53656. TextDrawBackgroundColor(TutTxtDraw[41], 255);
  53657. TextDrawFont(TutTxtDraw[41], 1);
  53658. TextDrawLetterSize(TutTxtDraw[41], 0.209998, 1.399999);
  53659. TextDrawColor(TutTxtDraw[41], -1);
  53660. TextDrawSetOutline(TutTxtDraw[41], 0);
  53661. TextDrawSetProportional(TutTxtDraw[41], 1);
  53662. TextDrawSetShadow(TutTxtDraw[41], 2);
  53663. //
  53664. // EIGHT TUTORIAL TEXT
  53665. //
  53666. TutTxtDraw[42] = TextDrawCreate(166.000000, 331.000000, "This is a car dealership. There are several throughout the city where you can purchase");
  53667. TextDrawBackgroundColor(TutTxtDraw[42], 255);
  53668. TextDrawFont(TutTxtDraw[42], 1);
  53669. TextDrawLetterSize(TutTxtDraw[42], 0.209999, 1.399999);
  53670. TextDrawColor(TutTxtDraw[42], -1);
  53671. TextDrawSetOutline(TutTxtDraw[42], 0);
  53672. TextDrawSetProportional(TutTxtDraw[42], 1);
  53673. TextDrawSetShadow(TutTxtDraw[42], 2);
  53674. TutTxtDraw[43] = TextDrawCreate(166.000000, 344.000000, "your own personal vehicle with lock. You can own up to 5 vehicles as a regular player,");
  53675. TextDrawBackgroundColor(TutTxtDraw[43], 255);
  53676. TextDrawFont(TutTxtDraw[43], 1);
  53677. TextDrawLetterSize(TutTxtDraw[43], 0.209999, 1.399999);
  53678. TextDrawColor(TutTxtDraw[43], -1);
  53679. TextDrawSetOutline(TutTxtDraw[43], 0);
  53680. TextDrawSetProportional(TutTxtDraw[43], 1);
  53681. TextDrawSetShadow(TutTxtDraw[43], 2);
  53682. TutTxtDraw[44] = TextDrawCreate(166.000000, 357.000000, "and have one spawned at a time. The modifications on personal vehicles will save.");
  53683. TextDrawBackgroundColor(TutTxtDraw[44], 255);
  53684. TextDrawFont(TutTxtDraw[44], 1);
  53685. TextDrawLetterSize(TutTxtDraw[44], 0.209998, 1.399999);
  53686. TextDrawColor(TutTxtDraw[44], -1);
  53687. TextDrawSetOutline(TutTxtDraw[44], 0);
  53688. TextDrawSetProportional(TutTxtDraw[44], 1);
  53689. TextDrawSetShadow(TutTxtDraw[44], 2);
  53690. TutTxtDraw[45] = TextDrawCreate(166.000000, 371.000000, "See ~r~/carhelp ~w~for more information");
  53691. TextDrawBackgroundColor(TutTxtDraw[45], 255);
  53692. TextDrawFont(TutTxtDraw[45], 1);
  53693. TextDrawLetterSize(TutTxtDraw[45], 0.209998, 1.399999);
  53694. TextDrawColor(TutTxtDraw[45], -1);
  53695. TextDrawSetOutline(TutTxtDraw[45], 0);
  53696. TextDrawSetProportional(TutTxtDraw[45], 1);
  53697. TextDrawSetShadow(TutTxtDraw[45], 2);
  53698. TutTxtDraw[46] = TextDrawCreate(166.000000, 385.000000, "And this is a house. If you own a house then you can store several items inside.");
  53699. TextDrawBackgroundColor(TutTxtDraw[46], 255);
  53700. TextDrawFont(TutTxtDraw[46], 1);
  53701. TextDrawLetterSize(TutTxtDraw[46], 0.209998, 1.399999);
  53702. TextDrawColor(TutTxtDraw[46], -1);
  53703. TextDrawSetOutline(TutTxtDraw[46], 0);
  53704. TextDrawSetProportional(TutTxtDraw[46], 1);
  53705. TextDrawSetShadow(TutTxtDraw[46], 2);
  53706. TutTxtDraw[47] = TextDrawCreate(166.000000, 397.000000, "You can also rent a house. See ~r~/househelp ~w~and ~r~/renthelp ~w~for more information.");
  53707. TextDrawBackgroundColor(TutTxtDraw[47], 255);
  53708. TextDrawFont(TutTxtDraw[47], 1);
  53709. TextDrawLetterSize(TutTxtDraw[47], 0.209998, 1.399999);
  53710. TextDrawColor(TutTxtDraw[47], -1);
  53711. TextDrawSetOutline(TutTxtDraw[47], 0);
  53712. TextDrawSetProportional(TutTxtDraw[47], 1);
  53713. TextDrawSetShadow(TutTxtDraw[47], 2);
  53714. //
  53715. // NINTH TUTORIAL TEXT
  53716. //
  53717. TutTxtDraw[48] = TextDrawCreate(166.000000, 331.000000, "We are sure you want to get to playing already, so the tutorial is almost done!");
  53718. TextDrawBackgroundColor(TutTxtDraw[48], 255);
  53719. TextDrawFont(TutTxtDraw[48], 1);
  53720. TextDrawLetterSize(TutTxtDraw[48], 0.209999, 1.399999);
  53721. TextDrawColor(TutTxtDraw[48], -1);
  53722. TextDrawSetOutline(TutTxtDraw[48], 0);
  53723. TextDrawSetProportional(TutTxtDraw[48], 1);
  53724. TextDrawSetShadow(TutTxtDraw[48], 2);
  53725. TutTxtDraw[49] = TextDrawCreate(166.000000, 344.000000, "- This is a 24/7 store. You can ~r~/buy ~w~several items (i.e. a phone) inside.");
  53726. TextDrawBackgroundColor(TutTxtDraw[49], 255);
  53727. TextDrawFont(TutTxtDraw[49], 1);
  53728. TextDrawLetterSize(TutTxtDraw[49], 0.209999, 1.399999);
  53729. TextDrawColor(TutTxtDraw[49], -1);
  53730. TextDrawSetOutline(TutTxtDraw[49], 0);
  53731. TextDrawSetProportional(TutTxtDraw[49], 1);
  53732. TextDrawSetShadow(TutTxtDraw[49], 2);
  53733. TutTxtDraw[50] = TextDrawCreate(166.000000, 357.000000, "- This is a clothing store. You can ~r~/buyclothes ~w~to get a different skin or");
  53734. TextDrawBackgroundColor(TutTxtDraw[50], 255);
  53735. TextDrawFont(TutTxtDraw[50], 1);
  53736. TextDrawLetterSize(TutTxtDraw[50], 0.209998, 1.399999);
  53737. TextDrawColor(TutTxtDraw[50], -1);
  53738. TextDrawSetOutline(TutTxtDraw[50], 0);
  53739. TextDrawSetProportional(TutTxtDraw[50], 1);
  53740. TextDrawSetShadow(TutTxtDraw[50], 2);
  53741. TutTxtDraw[51] = TextDrawCreate(172.000000, 371.000000, "~r~/buytoys ~w~to get some accessories for your character.");
  53742. TextDrawBackgroundColor(TutTxtDraw[51], 255);
  53743. TextDrawFont(TutTxtDraw[51], 1);
  53744. TextDrawLetterSize(TutTxtDraw[51], 0.209998, 1.399999);
  53745. TextDrawColor(TutTxtDraw[51], -1);
  53746. TextDrawSetOutline(TutTxtDraw[51], 0);
  53747. TextDrawSetProportional(TutTxtDraw[51], 1);
  53748. TextDrawSetShadow(TutTxtDraw[51], 2);
  53749. TutTxtDraw[52] = TextDrawCreate(166.000000, 384.000000, "- Remember to check out ~r~/rules ~w~and ~r~/help~w~.");
  53750. TextDrawBackgroundColor(TutTxtDraw[48], 255);
  53751. TextDrawFont(TutTxtDraw[52], 1);
  53752. TextDrawLetterSize(TutTxtDraw[52], 0.209998, 1.399999);
  53753. TextDrawColor(TutTxtDraw[52], -1);
  53754. TextDrawSetOutline(TutTxtDraw[52], 0);
  53755. TextDrawSetProportional(TutTxtDraw[52], 1);
  53756. TextDrawSetShadow(TutTxtDraw[52], 2);
  53757. TutTxtDraw[53] = TextDrawCreate(166.000000, 398.000000, "- Your weapons will be restricted for the first 2 playing hours.");
  53758. TextDrawBackgroundColor(TutTxtDraw[53], 255);
  53759. TextDrawFont(TutTxtDraw[53], 1);
  53760. TextDrawLetterSize(TutTxtDraw[53], 0.209998, 1.399999);
  53761. TextDrawColor(TutTxtDraw[53], -1);
  53762. TextDrawSetOutline(TutTxtDraw[48], 0);
  53763. TextDrawSetProportional(TutTxtDraw[48], 1);
  53764. TextDrawSetShadow(TutTxtDraw[48], 2);
  53765. //------------------------------------------------------------------------------------------------------------
  53766. // Objects loading text draws
  53767. //------------------------------------------------------------------------------------------------------------
  53768. ObjectsLoadingTD[0] = TextDrawCreate(428.354339, 194.583343, "usebox");
  53769. TextDrawLetterSize(ObjectsLoadingTD[0], 0.000000, 4.803702);
  53770. TextDrawTextSize(ObjectsLoadingTD[0], 222.890197, 0.000000);
  53771. TextDrawAlignment(ObjectsLoadingTD[0], 1);
  53772. TextDrawColor(ObjectsLoadingTD[0], 0);
  53773. TextDrawUseBox(ObjectsLoadingTD[0], true);
  53774. TextDrawBoxColor(ObjectsLoadingTD[0], 102);
  53775. TextDrawSetShadow(ObjectsLoadingTD[0], 0);
  53776. TextDrawSetOutline(ObjectsLoadingTD[0], 0);
  53777. TextDrawFont(ObjectsLoadingTD[0], 0);
  53778. ObjectsLoadingTD[1] = TextDrawCreate(237.540237, 207.666656, "OBJECTS LOADING...");
  53779. TextDrawLetterSize(ObjectsLoadingTD[1], 0.449999, 1.600000);
  53780. TextDrawAlignment(ObjectsLoadingTD[1], 1);
  53781. TextDrawColor(ObjectsLoadingTD[1], -16776961);
  53782. TextDrawSetShadow(ObjectsLoadingTD[1], 0);
  53783. TextDrawSetOutline(ObjectsLoadingTD[1], 1);
  53784. TextDrawBackgroundColor(ObjectsLoadingTD[1], 51);
  53785. TextDrawFont(ObjectsLoadingTD[1], 2);
  53786. TextDrawSetProportional(ObjectsLoadingTD[1], 1);
  53787. PizzaVehicles[0] = AddStaticVehicleEx(448,2121.60009766,-1788.00000000,13.19999981,0.00000000,3,6,300); //Pizzaboy
  53788. PizzaVehicles[1] = AddStaticVehicleEx(448,2120.30004883,-1788.00000000,13.19999981,0.00000000,3,6,300); //Pizzaboy
  53789. PizzaVehicles[2] = AddStaticVehicleEx(448,2119.10009766,-1788.00000000,13.19999981,358.00000000,3,6,300); //Pizzaboy
  53790. PizzaVehicles[3] = AddStaticVehicleEx(448,2117.80004883,-1788.00000000,13.19999981,357.99499512,3,6,300); //Pizzaboy
  53791. PizzaVehicles[4] = AddStaticVehicleEx(448,2116.30004883,-1788.00000000,13.19999981,357.99499512,3,6,300); //Pizzaboy
  53792. PizzaVehicles[5] = AddStaticVehicleEx(448,2122.80004883,-1788.00000000,13.19999981,357.99499512,3,6,300); //Pizzaboy
  53793. PizzaVehicles[6] = AddStaticVehicleEx(448,2113.69995117,-1788.09997559,13.19999981,357.99499512,3,6,300); //Pizzaboy
  53794. PizzaVehicles[7] = AddStaticVehicleEx(448,2112.39990234,-1788.09997559,13.19999981,357.99499512,3,6,300); //Pizzaboy
  53795. PizzaVehicles[8] = AddStaticVehicleEx(448,2111.10009766,-1788.09997559,13.19999981,357.99499512,3,6,300); //Pizzaboy
  53796. PizzaVehicles[9] = AddStaticVehicleEx(448,2109.60009766,-1788.09997559,13.19999981,357.99499512,3,6,300); //Pizzaboy
  53797. PizzaVehicles[10] = AddStaticVehicleEx(448,2108.30004883,-1788.09997559,13.19999981,357.99499512,3,6,300); //Pizzaboy
  53798. PizzaVehicles[11] = AddStaticVehicleEx(448,2107.00000000,-1788.09997559,13.19999981,357.99499512,3,6,300); //Pizzaboy
  53799. /*PizzaVehicles[12] = AddStaticVehicleEx(448,2125.72778320,-1821.16296387,13.22481918,270.00000000,-1,-1,300); //Pizzaboy
  53800. PizzaVehicles[13] = AddStaticVehicleEx(448,2125.58886719,-1819.16699219,13.22481918,270.00000000,-1,-1,300); //Pizzaboy
  53801. PizzaVehicles[14] = AddStaticVehicleEx(448,2125.53417969,-1817.41784668,13.22481918,270.00000000,-1,-1,300); //Pizzaboy
  53802. PizzaVehicles[15] = AddStaticVehicleEx(448,2125.59228516,-1815.41772461,13.22481918,270.00000000,-1,-1,300); //Pizzaboy
  53803. PizzaVehicles[16] = AddStaticVehicleEx(448,2125.63085938,-1813.41699219,13.22481918,270.00000000,-1,-1,300); //Pizzaboy
  53804. PizzaVehicles[17] = AddStaticVehicleEx(448,2125.65161133,-1811.47399902,13.22481918,270.00000000,-1,-1,300); //Pizzaboy
  53805. PizzaVehicles[18] = AddStaticVehicleEx(448,2125.63940430,-1809.86132812,13.22481918,270.00000000,-1,-1,300); //Pizzaboy
  53806. PizzaVehicles[19] = AddStaticVehicleEx(448,2125.61669922,-1807.59777832,13.22481918,270.00000000,-1,-1,300); //Pizzaboy
  53807. PizzaVehicles[20] = AddStaticVehicleEx(448,2125.77197266,-1805.30444336,13.22481918,270.00000000,-1,-1,300); //Pizzaboy
  53808. PizzaVehicles[21] = AddStaticVehicleEx(448,2125.79687500,-1802.72937012,13.22481918,270.00000000,-1,-1,300); //Pizzaboy
  53809. PizzaVehicles[22] = AddStaticVehicleEx(448,2125.77929688,-1799.91442871,13.22481918,270.00000000,-1,-1,300); //Pizzaboy
  53810. PizzaVehicles[23] = AddStaticVehicleEx(448,2125.85205078,-1797.00598145,13.22481918,270.00000000,-1,-1,300); //Pizzaboy
  53811. PizzaVehicles[24] = AddStaticVehicleEx(448,2125.74169922,-1794.25805664,13.22481918,270.00000000,-1,-1,300); //Pizzaboy*/
  53812. vehicleMods[0][4] = {1013, 1024, 0, 0};
  53813. vehicleMods[0][6] = {1018, 1019, 1020, 1021};
  53814. vehicleMods[1][0] = {1001, 1003, 0, 0};
  53815. vehicleMods[1][1] = {1004, 1005, 0, 0};
  53816. vehicleMods[1][2] = {1006, 0, 0, 0};
  53817. vehicleMods[1][3] = {1007, 0, 0, 0};
  53818. vehicleMods[1][4] = {1013, 0, 0, 0};
  53819. vehicleMods[1][6] = {1019, 1020, 0, 0};
  53820. vehicleMods[1][12] = {1143, 1145, 0, 0};
  53821. vehicleMods[4][0] = {1002, 1016, 1000, 0};
  53822. vehicleMods[4][3] = {1007, 0, 0, 0};
  53823. vehicleMods[4][4] = {1013, 0, 0, 0};
  53824. vehicleMods[4][6] = {1019, 1020, 1021, 0};
  53825. vehicleMods[5][0] = {1000, 1001, 1014, 1023};
  53826. vehicleMods[5][6] = {1018, 1019, 1020, 1021};
  53827. vehicleMods[10][0] = {1001, 1003, 1023, 0};
  53828. vehicleMods[10][3] = {1007, 0, 0, 0};
  53829. vehicleMods[10][4] = {1013, 1024, 0, 0};
  53830. vehicleMods[10][6] = {1019, 1020, 1021, 0};
  53831. vehicleMods[15][0] = {1001, 1003, 1023, 0};
  53832. vehicleMods[15][6] = {1018, 1019, 0, 0};
  53833. vehicleMods[15][3] = {1007, 0, 0, 0};
  53834. vehicleMods[18][0] = {1002, 1016, 0, 0};
  53835. vehicleMods[18][2] = {1006, 0, 0, 0};
  53836. vehicleMods[18][6] = {1020, 1021, 0, 0};
  53837. vehicleMods[20][0] = {1001, 1003, 0, 0};
  53838. vehicleMods[20][1] = {1004, 1005, 0, 0};
  53839. vehicleMods[20][6] = {1019, 1021, 0, 0};
  53840. vehicleMods[21][0] = {1000, 1014, 1016, 1023};
  53841. vehicleMods[21][6] = {1018, 1019, 1020, 1021};
  53842. vehicleMods[22][3] = {1007, 0, 0, 0};
  53843. vehicleMods[22][4] = {1013, 0, 0, 0};
  53844. vehicleMods[22][6] = {1019, 1020, 1021, 0};
  53845. vehicleMods[26][0] = {1001, 1003, 0, 0};
  53846. vehicleMods[26][1] = {1004, 1005, 0, 0};
  53847. vehicleMods[26][2] = {1006, 0, 0, 0};
  53848. vehicleMods[26][6] = {1019, 1021, 0, 0};
  53849. vehicleMods[36][0] = {1001, 1003, 0, 0};
  53850. vehicleMods[36][2] = {1006, 0, 0, 0};
  53851. vehicleMods[36][3] = {1007, 0, 0, 0};
  53852. vehicleMods[36][4] = {1013, 0, 0, 0};
  53853. vehicleMods[36][6] = {1019, 1020, 1021, 1022};
  53854. vehicleMods[39][0] = {1001, 1003, 1023, 0};
  53855. vehicleMods[39][3] = {1007, 0, 0, 0};
  53856. vehicleMods[39][4] = {1013, 0, 0, 0};
  53857. vehicleMods[39][12] = {1143, 1145, 0, 0};
  53858. vehicleMods[77][2] = {1006, 0, 0, 0};
  53859. vehicleMods[77][3] = {1007, 0, 0, 0};
  53860. vehicleMods[77][6] = {1018, 1019, 1020, 1021};
  53861. vehicleMods[78][1] = {1004, 1005, 1012, 0};
  53862. vehicleMods[78][4] = {1013, 1024, 0, 0};
  53863. vehicleMods[78][6] = {1020, 1021, 1022, 0};
  53864. vehicleMods[89][0] = {1000, 1002, 1016, 0};
  53865. vehicleMods[89][1] = {1004, 1005, 0, 0};
  53866. vehicleMods[89][2] = {1006, 0, 0, 0};
  53867. vehicleMods[89][4] = {1013, 1024, 0, 0};
  53868. vehicleMods[89][6] = {1018, 1019, 1020, 0};
  53869. vehicleMods[91][0] = {1003, 1014, 1023, 0};
  53870. vehicleMods[91][3] = {1007, 0, 0, 0};
  53871. vehicleMods[91][6] = {1018, 1019, 1020, 1021};
  53872. vehicleMods[91][12] = {1143, 1145, 0, 0};
  53873. vehicleMods[92][0] = {1000, 1016, 0, 0};
  53874. vehicleMods[92][1] = {1004, 1005, 0, 0};
  53875. vehicleMods[92][2] = {1006, 0, 0, 0};
  53876. vehicleMods[96][0] = {1001, 1002, 1003, 1023};
  53877. vehicleMods[96][1] = {1011, 0, 0, 0};
  53878. vehicleMods[96][2] = {1006, 0, 0, 0};
  53879. vehicleMods[96][6] = {1019, 1020, 0, 0};
  53880. vehicleMods[96][12] = {1143, 0, 0, 0};
  53881. vehicleMods[100][4] = {1013, 1024, 0, 0};
  53882. vehicleMods[100][6] = {1019, 1020, 1021, 0};
  53883. vehicleMods[116][0] = {1000, 1002, 1015, 1016};
  53884. vehicleMods[116][1] = {1004, 0, 0, 0};
  53885. vehicleMods[116][3] = {1007, 0, 0, 0};
  53886. vehicleMods[116][6] = {1018, 1019, 1020, 1021};
  53887. vehicleMods[117][0] = {1002, 1003, 1016, 1023};
  53888. vehicleMods[117][3] = {1007, 0, 0, 0};
  53889. vehicleMods[117][6] = {1018, 1019, 1020, 0};
  53890. vehicleMods[117][12] = {1143, 1145, 0, 0};
  53891. vehicleMods[118][0] = {1001, 1003, 1023, 0};
  53892. vehicleMods[118][1] = {1005, 0, 0, 0};
  53893. vehicleMods[118][2] = {1006, 0, 0, 0};
  53894. vehicleMods[118][3] = {1007, 0, 0, 0};
  53895. vehicleMods[118][4] = {1013, 0, 0, 0};
  53896. vehicleMods[118][6] = {1018, 1020, 0, 0};
  53897. vehicleMods[118][12] = {1143, 1145, 0, 0};
  53898. vehicleMods[127][0] = {1001, 1014, 1015, 0};
  53899. vehicleMods[127][3] = {1007, 0, 0, 0};
  53900. vehicleMods[127][6] = {1018, 1020, 1021, 0};
  53901. vehicleMods[129][0] = {1001, 1003, 1023, 0};
  53902. vehicleMods[129][1] = {1011, 1012, 0, 0};
  53903. vehicleMods[129][2] = {1006, 0, 0, 0};
  53904. vehicleMods[129][3] = {1007, 0, 0, 0};
  53905. vehicleMods[129][6] = {1018, 1019, 1020, 0};
  53906. vehicleMods[134][1] = {1100, 1123, 1125, 0};
  53907. vehicleMods[134][3] = {1101, 1106, 0, 0};
  53908. vehicleMods[134][6] = {1126, 1127, 0, 0};
  53909. vehicleMods[134][10] = {1179, 1185, 0, 0};
  53910. vehicleMods[134][11] = {1178, 1180, 0, 0};
  53911. vehicleMods[135][3] = {1118, 1119, 0, 0};
  53912. vehicleMods[135][6] = {1113, 1114, 0, 0};
  53913. vehicleMods[135][10] = {1115, 1116, 1117, 0};
  53914. vehicleMods[135][11] = {1109, 1110, 0, 0};
  53915. vehicleMods[136][2] = {1103, 1128, 0, 0};
  53916. vehicleMods[136][3] = {1108, 0, 0, 0};
  53917. vehicleMods[136][6] = {1104, 1105, 0, 0};
  53918. vehicleMods[136][10] = {1181, 1182, 0, 0};
  53919. vehicleMods[136][11] = {1183, 1184, 0, 0};
  53920. vehicleMods[140][0] = {1001, 1023, 0, 0};
  53921. vehicleMods[140][1] = {1004, 0, 0, 0};
  53922. vehicleMods[140][2] = {1006, 0, 0, 0};
  53923. vehicleMods[140][3] = {1007, 0, 0, 0};
  53924. vehicleMods[140][4] = {1024, 0, 0, 0};
  53925. vehicleMods[140][6] = {1018, 1019, 1020, 0};
  53926. vehicleMods[140][12] = {1143, 1145, 0, 0};
  53927. vehicleMods[142][0] = {1014, 1015, 0, 0};
  53928. vehicleMods[142][6] = {1018, 1019, 1020, 1021};
  53929. vehicleMods[142][12] = {1145, 0, 0, 0};
  53930. vehicleMods[146][0] = {1001, 1002, 1023, 0};
  53931. vehicleMods[146][1] = {1004, 0, 0, 0};
  53932. vehicleMods[146][2] = {1006, 0, 0, 0};
  53933. vehicleMods[146][3] = {1007, 0, 0, 0};
  53934. vehicleMods[146][4] = {1024, 0, 0, 0};
  53935. vehicleMods[146][6] = {1018, 1019, 0, 0};
  53936. vehicleMods[146][12] = {1143, 1145, 0, 0};
  53937. vehicleMods[147][0] = {1000, 1003, 1016, 0};
  53938. vehicleMods[147][6] = {1018, 1019, 1020, 1021};
  53939. vehicleMods[147][12] = {1143, 0, 0, 0};
  53940. vehicleMods[149][0] = {1001, 1003, 1023, 0};
  53941. vehicleMods[149][1] = {1011, 1012, 0, 0};
  53942. vehicleMods[149][3] = {1007, 0, 0, 0};
  53943. vehicleMods[149][6] = {1018, 1019, 1020, 0};
  53944. vehicleMods[149][12] = {1143, 1145, 0, 0};
  53945. vehicleMods[150][0] = {1001, 1003, 1023, 0};
  53946. vehicleMods[150][1] = {1004, 1005, 0, 0};
  53947. vehicleMods[150][2] = {1006, 0, 0, 0};
  53948. vehicleMods[150][6] = {1018, 1019, 1020, 0};
  53949. vehicleMods[150][12] = {1143, 1145, 0, 0};
  53950. vehicleMods[151][0] = {1002, 1003, 1016, 1023};
  53951. vehicleMods[151][1] = {1005, 0, 0, 0};
  53952. vehicleMods[151][2] = {1006, 0, 0, 0};
  53953. vehicleMods[151][6] = {1018, 1019, 1020, 1021};
  53954. vehicleMods[158][0] = {1164, 1163, 0, 0};
  53955. vehicleMods[158][2] = {1088, 1091, 0, 0};
  53956. vehicleMods[158][3] = {1090, 1093, 0, 0};
  53957. vehicleMods[158][6] = {1092, 1089, 0, 0};
  53958. vehicleMods[158][10] = {1166, 1165, 0, 0};
  53959. vehicleMods[158][11] = {1168, 1167, 0, 0};
  53960. vehicleMods[159][0] = {1162, 1158, 0, 0};
  53961. vehicleMods[159][2] = {1067, 1068, 0, 0};
  53962. vehicleMods[159][3] = {1069, 1070, 0, 0};
  53963. vehicleMods[159][6] = {1065, 1066, 0, 0};
  53964. vehicleMods[159][10] = {1160, 1173, 0, 0};
  53965. vehicleMods[159][11] = {1159, 1161, 0, 0};
  53966. vehicleMods[160][0] = {1138, 1139, 0, 0};
  53967. vehicleMods[160][2] = {1032, 1033, 0, 0};
  53968. vehicleMods[160][3] = {1026, 1031, 0, 0};
  53969. vehicleMods[160][6] = {1028, 1029, 0, 0};
  53970. vehicleMods[160][10] = {1169, 1170, 0, 0};
  53971. vehicleMods[160][11] = {1141, 1140, 0, 0};
  53972. vehicleMods[161][0] = {1058, 1060, 0, 0};
  53973. vehicleMods[161][2] = {1055, 1061, 0, 0};
  53974. vehicleMods[161][3] = {1056, 1057, 0, 0};
  53975. vehicleMods[161][6] = {1064, 1059, 0, 0};
  53976. vehicleMods[161][10] = {1155, 1157, 0, 0};
  53977. vehicleMods[161][11] = {1154, 1156, 0, 0};
  53978. vehicleMods[162][0] = {1147, 1146, 0, 0};
  53979. vehicleMods[162][2] = {1035, 1038, 0, 0};
  53980. vehicleMods[162][3] = {1036, 1039, 0, 0};
  53981. vehicleMods[162][6] = {1034, 1037, 0, 0};
  53982. vehicleMods[162][10] = {1171, 1172, 0, 0};
  53983. vehicleMods[162][11] = {1149, 1148, 0, 0};
  53984. vehicleMods[165][0] = {1049, 1050, 0, 0};
  53985. vehicleMods[165][2] = {1054, 1053, 0, 0};
  53986. vehicleMods[165][3] = {1047, 1048, 0, 0};
  53987. vehicleMods[165][6] = {1046, 1045, 0, 0};
  53988. vehicleMods[165][10] = {1153, 1152, 0, 0};
  53989. vehicleMods[165][11] = {1150, 1151, 0, 0};
  53990. vehicleMods[167][2] = {1130, 1131, 0, 0};
  53991. vehicleMods[167][3] = {1133, 0, 0, 0};
  53992. vehicleMods[167][6] = {1129, 1132, 0, 0};
  53993. vehicleMods[167][10] = {1189, 1188, 0, 0};
  53994. vehicleMods[167][11] = {1187, 1186, 0, 0};
  53995. vehicleMods[175][3] = {1042, 0, 0, 0};
  53996. vehicleMods[175][6] = {1044, 1043, 0, 0};
  53997. vehicleMods[175][10] = {1174, 1175, 0, 0};
  53998. vehicleMods[175][11] = {1176, 1177, 0, 0};
  53999. vehicleMods[176][3] = {1137, 1134, 0, 0};
  54000. vehicleMods[176][6] = {1136, 1135, 0, 0};
  54001. vehicleMods[176][10] = {1191, 1190, 0, 0};
  54002. vehicleMods[176][11] = {1192, 1193, 0, 0};
  54003. vehicleMods[180][0] = {1001, 1023, 0, 0};
  54004. vehicleMods[180][2] = {1006, 0, 0, 0};
  54005. vehicleMods[180][3] = {1007, 0, 0, 0};
  54006. vehicleMods[180][6] = {1018, 1020, 0, 0};
  54007. vehicleMods[185][0] = {1001, 1003, 1023, 0};
  54008. vehicleMods[185][2] = {1006, 0, 0, 0};
  54009. vehicleMods[185][3] = {1007, 0, 0, 0};
  54010. vehicleMods[185][4] = {1013, 0, 0, 0};
  54011. vehicleMods[185][6] = {1018, 1019, 1020, 0};
  54012. vehicleMods[185][12] = {1143, 1145, 0, 0};
  54013. vehicleMods[189][0] = {1000, 1016, 0, 0};
  54014. vehicleMods[189][1] = {1005, 1004, 0, 0};
  54015. vehicleMods[189][2] = {1006, 0, 0, 0};
  54016. vehicleMods[189][3] = {1007, 0, 0, 0};
  54017. vehicleMods[189][4] = {1013, 1024, 0, 0};
  54018. vehicleMods[189][6] = {1018, 1020, 0, 0};
  54019. vehicleMods[189][12] = {1145, 0, 0, 0};
  54020. vehicleMods[200][1] = {1004, 1005, 0, 0};
  54021. vehicleMods[200][2] = {1006, 0, 0, 0};
  54022. vehicleMods[200][3] = {1007, 0, 0, 0};
  54023. vehicleMods[200][4] = {1013, 0, 0, 0};
  54024. vehicleMods[200][6] = {1018, 1020, 1022, 0};
  54025. vehicleMods[203][0] = {1001, 1023, 0, 0};
  54026. vehicleMods[203][2] = {1006, 0, 0, 0};
  54027. vehicleMods[203][3] = {1007, 0, 0, 0};
  54028. vehicleMods[203][4] = {1024, 0, 0, 0};
  54029. vehicleMods[203][6] = {1019, 1020, 0, 0};
  54030. vehicleMods[203][12] = {1143, 1145, 0, 0};
  54031. EventKernel[EventRequest] = 999;
  54032. EventKernel[EventCreator] = 999;
  54033. for(new x; x < sizeof(EventKernel[EventStaff]); x++) {
  54034. EventKernel[EventStaff][x] = 999;
  54035. }
  54036. return 1;
  54037. }
  54038. forward SaveBusiness(id);
  54039. public SaveBusiness(id)
  54040. {
  54041. new file4[40];
  54042. format(file4, sizeof(file4), BPATH, id);
  54043. new INI:File = INI_Open(file4);
  54044. INI_SetTag(File,"data");
  54045. INI_WriteInt(File,"bOwned", BusinessInfo[id][bOwned]);
  54046. INI_WriteInt(File,"bPrice", BusinessInfo[id][bPrice]);
  54047. INI_WriteString(File,"bOwner", BusinessInfo[id][bOwner]);
  54048. INI_WriteInt(File,"bType", BusinessInfo[id][bType]);
  54049. INI_WriteInt(File,"bLocked", BusinessInfo[id][bLocked]);
  54050. INI_WriteInt(File,"bMoney", BusinessInfo[id][bMoney]);
  54051. INI_WriteFloat(File,"bEntranceX", BusinessInfo[id][bEntranceX]);
  54052. INI_WriteFloat(File,"bEntranceY", BusinessInfo[id][bEntranceY]);
  54053. INI_WriteFloat(File,"bEntranceZ", BusinessInfo[id][bEntranceZ]);
  54054. INI_WriteFloat(File,"bEntranceA", BusinessInfo[id][bEntranceA]);
  54055. INI_WriteFloat(File,"bExitX", BusinessInfo[id][bExitX]);
  54056. INI_WriteFloat(File,"bExitY", BusinessInfo[id][bExitY]);
  54057. INI_WriteFloat(File,"bExitZ", BusinessInfo[id][bExitZ]);
  54058. INI_WriteFloat(File,"bExitA", BusinessInfo[id][bExitA]);
  54059. INI_WriteInt(File,"bInt", BusinessInfo[id][bInt]);
  54060. INI_WriteInt(File,"bWorld", BusinessInfo[id][bWorld]);
  54061. INI_WriteInt(File,"bInsideInt", BusinessInfo[id][bInsideInt]);
  54062. INI_WriteInt(File,"bInsideWorld", BusinessInfo[id][bInsideWorld]);
  54063. INI_WriteString(File,"bName", BusinessInfo[id][bName]);
  54064. INI_WriteString(File,"bIT", BusinessInfo[id][bIT]);
  54065. INI_Close(File);
  54066. return 1;
  54067. }
  54068. forward SaveLand(id);
  54069. public SaveLand(id)
  54070. {
  54071. new file4[40];
  54072. format(file4, sizeof(file4), LPATH, id);
  54073. new INI:File = INI_Open(file4);
  54074. INI_SetTag(File,"data");
  54075. INI_WriteInt(File,"lOwned", LandsInfo[id][lOwned]);
  54076. INI_WriteInt(File,"lPrice", LandsInfo[id][lPrice]);
  54077. INI_WriteString(File,"lOwner", LandsInfo[id][lOwner]);
  54078. INI_WriteInt(File,"lType", LandsInfo[id][lType]);
  54079. INI_WriteFloat(File,"pos_X", LandsInfo[id][pos_X]);
  54080. INI_WriteFloat(File,"pos_Y", LandsInfo[id][pos_Y]);
  54081. INI_WriteFloat(File,"pos_Z", LandsInfo[id][pos_Z]);
  54082. INI_WriteInt(File,"lObjectCount", LandsInfo[id][lObjectCount]);
  54083. INI_Close(File);
  54084. return 1;
  54085. }
  54086. public OnGameModeExit()
  54087. {
  54088. for(new id = 1; id < sizeof(BusinessInfo); id++)//Loops through the businesses.
  54089. {
  54090. if(BusinessInfo[id][bPrice] == 0) break;//Breaks the loop if the price is 0(Meaning it doesn't exist)
  54091. SaveBusiness(id);//Calls the SaveBusiness function.
  54092. }
  54093. for(new h = 1; h < sizeof(LandsInfo); h++)//Loops through the businesses.
  54094. {
  54095. if(LandsInfo[h][lType] == 0) break;//Breaks the loop if the price is 0(Meaning it doesn't exist)
  54096. SaveLand(h);//Calls the SaveBusiness function.
  54097. }
  54098. for(new i; i < MAX_FLAMES; i++)
  54099. {
  54100. KillFire(i);
  54101. }
  54102. for(new playerid; playerid < MAX_PLAYERS; playerid++)
  54103. {
  54104. if(PlayerOnFire[playerid] && !CanPlayerBurn(playerid, 1))
  54105. {
  54106. StopPlayerBurning(playerid);
  54107. }
  54108. }
  54109. return 1;
  54110. }
  54111. forward FixHour(hour);
  54112. public FixHour(hour)
  54113. {
  54114. hour = timeshift + hour;
  54115. if(hour < 0)
  54116. {
  54117. hour = hour+24;
  54118. }
  54119. else if(hour > 23)
  54120. {
  54121. hour = hour-24;
  54122. }
  54123. shifthour = hour;
  54124. return 1;
  54125. }
  54126. public hMoleOn()
  54127. {
  54128. hmole=1;
  54129. return 1;
  54130. }
  54131. //----------------------[ Remove Bomb ]-----------------------
  54132. forward PickUpC4(playerid);
  54133. public PickUpC4(playerid)
  54134. {
  54135. DestroyDynamicObject(PlayerInfo[playerid][pC4]);
  54136. PlayerInfo[playerid][pC4] = 0;
  54137. return 1;
  54138. }
  54139. forward SetPlayerFree(playerid,declare,reason[]);
  54140. public SetPlayerFree(playerid,declare,reason[])
  54141. {
  54142. if(IsPlayerConnected(playerid))
  54143. {
  54144. ClearCrime(playerid);
  54145. new turned[MAX_PLAYER_NAME];
  54146. new turner[MAX_PLAYER_NAME];
  54147. new crbjstore[128];
  54148. if(declare == INVALID_PLAYER_ID)
  54149. {
  54150. format(turner, sizeof(turner), "911");
  54151. }
  54152. else
  54153. {
  54154. if(IsPlayerConnected(declare))
  54155. {
  54156. GetPlayerName(declare, turner, sizeof(turner));
  54157. }
  54158. }
  54159. GetPlayerName(playerid, turned, sizeof(turned));
  54160. foreach(Player, i)
  54161. {
  54162. if(IsACop(i))
  54163. {
  54164. format(crbjstore, sizeof(crbjstore), "HQ: All units, officer %s has completed their assignment.",turner);
  54165. SendClientMessage(i, COLOR_DBLUE, crbjstore);
  54166. format(crbjstore, sizeof(crbjstore), "HQ: %s has been processed, %s.",turned,reason);
  54167. SendClientMessage(i, COLOR_DBLUE, crbjstore);
  54168. }
  54169. }
  54170. }
  54171. }
  54172. public OnPlayerRequestClass(playerid, classid)
  54173. {
  54174. /*SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  54175. SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  54176. SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);*/
  54177. SpawnPlayer(playerid);
  54178. return 1;
  54179. }
  54180. stock IsStringAlphaNumeric(string[]) {
  54181. new
  54182. i;
  54183. static const
  54184. szAppropriateCharacters[] = { "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_" };
  54185. for(new c = 0; c < strlen(string); c++) {
  54186. for(new f = 0; f < sizeof(szAppropriateCharacters); f++) {
  54187. if(string[c] == szAppropriateCharacters[f])
  54188. i++;
  54189. }
  54190. }
  54191. if(i < strlen(string)) return 0;
  54192. return 1;
  54193. }
  54194. public OnPlayerConnect(playerid) {
  54195. new
  54196. szPlayerIP[16];
  54197. RemoveBuildingForPlayer(playerid, 1307, 2071.8828, -1879.5625, 12.6875, 0.25);
  54198. IsCheatingDC[playerid] = 0;
  54199. SetPVarInt(playerid, "HouseID", -1);
  54200. InTurf[playerid] = -1;
  54201. SetPVarInt(playerid, "DoorID", 99999);
  54202. SetPVarInt(playerid, "DonatorColor", 0);
  54203. SetPlayerToTeamColor(playerid);
  54204. SetPlayerColor(playerid,TEAM_HIT_COLOR);
  54205. GarbageUsed[playerid] = INVALID_VEHICLE_ID;
  54206. NearLand[playerid] = 0;
  54207. HealthTD[playerid] = CreatePlayerTextDraw(playerid, 608.799926, 66.453338, "100");
  54208. PlayerTextDrawLetterSize(playerid, HealthTD[playerid], 0.242798, 0.942933);
  54209. PlayerTextDrawAlignment(playerid, HealthTD[playerid], 1);
  54210. PlayerTextDrawColor(playerid, HealthTD[playerid], -16776961);
  54211. PlayerTextDrawSetShadow(playerid, HealthTD[playerid], 0);
  54212. PlayerTextDrawSetOutline(playerid, HealthTD[playerid], 1);
  54213. PlayerTextDrawBackgroundColor(playerid, HealthTD[playerid], 51);
  54214. PlayerTextDrawFont(playerid, HealthTD[playerid], 2);
  54215. PlayerTextDrawSetProportional(playerid, HealthTD[playerid], 1);
  54216. PlayerTextDrawSetSelectable(playerid, HealthTD[playerid], true);
  54217. ArmorTD[playerid] = CreatePlayerTextDraw(playerid, 608.000061, 44.053333, "100");
  54218. PlayerTextDrawLetterSize(playerid, ArmorTD[playerid], 0.222799, 1.047466);
  54219. PlayerTextDrawAlignment(playerid, ArmorTD[playerid], 1);
  54220. PlayerTextDrawColor(playerid, ArmorTD[playerid], -1);
  54221. PlayerTextDrawSetShadow(playerid, ArmorTD[playerid], 0);
  54222. PlayerTextDrawSetOutline(playerid, ArmorTD[playerid], 1);
  54223. PlayerTextDrawBackgroundColor(playerid, ArmorTD[playerid], 51);
  54224. PlayerTextDrawFont(playerid, ArmorTD[playerid], 2);
  54225. PlayerTextDrawSetProportional(playerid, ArmorTD[playerid], 1);
  54226. PlayerTextDrawShow (playerid, HealthTD[playerid]);
  54227. PlayerTextDrawShow (playerid, ArmorTD[playerid]);
  54228. RemoveBuildingForPlayer(playerid, 645, 1906.6875, -1199.1406, 19.2656, 0.25);
  54229. Dueling[playerid] = INVALID_PLAYER_ID;
  54230. LastSMS[playerid] = 0;
  54231. PlayerDragged[playerid] = 0;
  54232. PlayerDraggedBy[playerid] = INVALID_PLAYER_ID;
  54233. IsCopDragging[playerid] = INVALID_PLAYER_ID;
  54234. PlayerInfo[playerid][pWepRes] = 0;
  54235. SendClientMessage(playerid, -1, "{A9C4E4}Establishing connection to the {FFA500}Sleepless Roleplay {A9C4E4}database - please wait a moment...");
  54236. // Code to patch a SA-MP exploit where you can connect to a SA-MP server multiple times with a bunch of names and completely rape the logs
  54237. // We don't receive attacks like this very often, but I have produced the code so if we ever need it, we have it right in front of us. It requires testing though...
  54238. /*new
  54239. szPlayerName[MAX_PLAYER_NAME],
  54240. szPlayerIP[16],
  54241. szPlayerIPs[16],
  54242. szPlayerNames[MAX_PLAYER_NAME];
  54243. GetPlayerName(playerid, szPlayerName, MAX_PLAYER_NAME);
  54244. GetPlayerIp(playerid, szPlayerIP, sizeof(szPlayerIP));
  54245. foreach(Player, x) {
  54246. GetPlayerName(x, szPlayerNames, MAX_PLAYER_NAME);
  54247. GetPlayerIp(playerid, szPlayerIPs, sizeof(szPlayerIPs));
  54248. if(strfind(szPlayerName, szPlayerNames, true) != -1 && !strcmp(szPlayerIPs, szPlayerIP, true) && IsStringAlphaNumeric(szPlayerNames) == 0)
  54249. return BanEx(playerid, "NieXrlaM client spam attack attempt");
  54250. }*/
  54251. TalkingLive[playerid] = INVALID_PLAYER_ID;
  54252. Textdraw0[playerid] = CreatePlayerTextDraw(playerid, 477.600097, 426.346740, "HEALTH: 0.0 SPEED: 0.0");
  54253. PlayerTextDrawLetterSize(playerid, Textdraw0[playerid], 0.287599, 1.644800);
  54254. PlayerTextDrawAlignment(playerid, Textdraw0[playerid], 1);
  54255. PlayerTextDrawColor(playerid, Textdraw0[playerid], 16777215);
  54256. PlayerTextDrawSetShadow(playerid, Textdraw0[playerid], 0);
  54257. PlayerTextDrawSetOutline(playerid, Textdraw0[playerid], 1);
  54258. PlayerTextDrawBackgroundColor(playerid, Textdraw0[playerid], 51);
  54259. PlayerTextDrawFont(playerid, Textdraw0[playerid], 2);
  54260. PlayerTextDrawSetProportional(playerid, Textdraw0[playerid], 1);
  54261. Textdraw1[playerid] = CreatePlayerTextDraw(playerid, 543.199707, 412.159942, "Vehicle");
  54262. PlayerTextDrawLetterSize(playerid, Textdraw1[playerid], 0.450000, 1.629866);
  54263. PlayerTextDrawAlignment(playerid, Textdraw1[playerid], 1);
  54264. PlayerTextDrawColor(playerid, Textdraw1[playerid], COLOR_ORANGE);
  54265. PlayerTextDrawSetShadow(playerid, Textdraw1[playerid], 0);
  54266. PlayerTextDrawSetOutline(playerid, Textdraw1[playerid], 1);
  54267. PlayerTextDrawBackgroundColor(playerid, Textdraw1[playerid], 51);
  54268. PlayerTextDrawFont(playerid, Textdraw1[playerid], 2);
  54269. PlayerTextDrawSetProportional(playerid, Textdraw1[playerid], 1);
  54270. Textdraw1s[playerid] = CreatePlayerTextDraw(playerid, 72.800003, 435.306610, "Neutral");
  54271. PlayerTextDrawLetterSize(playerid, Textdraw1s[playerid], 0.201199, 1.323733);
  54272. PlayerTextDrawAlignment(playerid, Textdraw1s[playerid], 1);
  54273. PlayerTextDrawColor(playerid, Textdraw1s[playerid], COLOR_WHITE);
  54274. PlayerTextDrawSetShadow(playerid, Textdraw1s[playerid], 0);
  54275. PlayerTextDrawSetOutline(playerid, Textdraw1s[playerid], 1);
  54276. PlayerTextDrawBackgroundColor(playerid, Textdraw1s[playerid], 255);
  54277. PlayerTextDrawFont(playerid, Textdraw1s[playerid], 1);
  54278. PlayerTextDrawSetProportional(playerid, Textdraw1s[playerid], 1);
  54279. PlayerTextDrawShow(playerid, Textdraw1s[playerid]);
  54280. TextDrawShowForPlayer(playerid, Textdraw0s);
  54281. /*VDB1[playerid] = CreatePlayerTextDraw(playerid, 506.875000, 125.999977, "-");
  54282. PlayerTextDrawLetterSize(playerid, VDB1[playerid], 0.250000, 1.833333);
  54283. PlayerTextDrawAlignment(playerid, VDB1[playerid], 1);
  54284. PlayerTextDrawColor(playerid, VDB1[playerid], -1);
  54285. PlayerTextDrawSetShadow(playerid, VDB1[playerid], 0);
  54286. PlayerTextDrawSetOutline(playerid, VDB1[playerid], 1);
  54287. PlayerTextDrawBackgroundColor(playerid, VDB1[playerid], 51);
  54288. PlayerTextDrawFont(playerid, VDB1[playerid], 2);
  54289. PlayerTextDrawSetProportional(playerid, VDB1[playerid], 1);
  54290. VDB2[playerid] = CreatePlayerTextDraw(playerid, 477.500000, 146.999969, "HEALTH:");
  54291. PlayerTextDrawLetterSize(playerid, VDB2[playerid], 0.278124, 1.570833);
  54292. PlayerTextDrawAlignment(playerid, VDB2[playerid], 1);
  54293. PlayerTextDrawColor(playerid, VDB2[playerid], -1);
  54294. PlayerTextDrawSetShadow(playerid, VDB2[playerid], 0);
  54295. PlayerTextDrawSetOutline(playerid, VDB2[playerid], 1);
  54296. PlayerTextDrawBackgroundColor(playerid, VDB2[playerid], 51);
  54297. PlayerTextDrawFont(playerid, VDB2[playerid], 2);
  54298. PlayerTextDrawSetProportional(playerid, VDB2[playerid], 1);
  54299. VDB3[playerid] = CreatePlayerTextDraw(playerid, 530.000000, 147.000015, "1000.0");
  54300. PlayerTextDrawLetterSize(playerid, VDB3[playerid], 0.346874, 1.483333);
  54301. PlayerTextDrawAlignment(playerid, VDB3[playerid], 1);
  54302. PlayerTextDrawColor(playerid, VDB3[playerid], 8388863);
  54303. PlayerTextDrawSetShadow(playerid, VDB3[playerid], 0);
  54304. PlayerTextDrawSetOutline(playerid, VDB3[playerid], 1);
  54305. PlayerTextDrawBackgroundColor(playerid, VDB3[playerid], 51);
  54306. PlayerTextDrawFont(playerid, VDB3[playerid], 2);
  54307. PlayerTextDrawSetProportional(playerid, VDB3[playerid], 1);
  54308. VDB4[playerid] = CreatePlayerTextDraw(playerid, 478.125000, 164.499984, "SPEED:");
  54309. PlayerTextDrawLetterSize(playerid, VDB4[playerid], 0.328124, 1.512499);
  54310. PlayerTextDrawAlignment(playerid, VDB4[playerid], 1);
  54311. PlayerTextDrawColor(playerid, VDB4[playerid], -1);
  54312. PlayerTextDrawSetShadow(playerid, VDB4[playerid], 0);
  54313. PlayerTextDrawSetOutline(playerid, VDB4[playerid], 1);
  54314. PlayerTextDrawBackgroundColor(playerid, VDB4[playerid], 51);
  54315. PlayerTextDrawFont(playerid, VDB4[playerid], 2);
  54316. PlayerTextDrawSetProportional(playerid, VDB4[playerid], 1);
  54317. VDB5[playerid] = CreatePlayerTextDraw(playerid, 530.000000, 163.916671, "200");
  54318. PlayerTextDrawLetterSize(playerid, VDB5[playerid], 0.449999, 1.600000);
  54319. PlayerTextDrawAlignment(playerid, VDB5[playerid], 1);
  54320. PlayerTextDrawColor(playerid, VDB5[playerid], 8388863);
  54321. PlayerTextDrawSetShadow(playerid, VDB5[playerid], 0);
  54322. PlayerTextDrawSetOutline(playerid, VDB5[playerid], 1);
  54323. PlayerTextDrawBackgroundColor(playerid, VDB5[playerid], 51);
  54324. PlayerTextDrawFont(playerid, VDB5[playerid], 2);
  54325. PlayerTextDrawSetProportional(playerid, VDB5[playerid], 1);
  54326. PlayerInfo[playerid][pVDB] = 1;*/
  54327. BPOffer[playerid] = 999;
  54328. BPPrice[playerid] = 0;
  54329. PlayerInfo[playerid][pBackpack] = 0;
  54330. PlayerInfo[playerid][pBPPot] = 0;
  54331. PlayerInfo[playerid][pBPCrack] = 0;
  54332. PlayerInfo[playerid][pBPCash] = 0;
  54333. PlayerInfo[playerid][pWearingBP] = 0;
  54334. TotalConnect++;
  54335. if(Iter_Count(Player) > MaxPlayersConnected)
  54336. {
  54337. MaxPlayersConnected = Iter_Count(Player);
  54338. getdate(MPYear,MPMonth,MPDay);
  54339. }
  54340. // Name tags by nnahtann
  54341. //cNametag[playerid] = CreateDynamic3DTextLabel("Loading nametag...", 0xFFFFFFFF, 0.0, 0.0, 0.1, NT_DISTANCE, .attachedplayer = playerid, .testlos = 1);
  54342. GetPlayerIp(playerid, szPlayerIP, sizeof(szPlayerIP));
  54343. if(!InvalidNameCheck(playerid)) return 1;
  54344. if(CheckBan(szPlayerIP) == 1) {
  54345. SetPlayerName(playerid, "BannedPlayer");
  54346. SendClientMessage(playerid, COLOR_REALREDS, "You're banned from Sleepless Roleplay. You can appeal your ban at www.Serenity");
  54347. Kick(playerid);
  54348. return 1;
  54349. }
  54350. SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL, 1);
  54351. SetPlayerSkillLevel(playerid, WEAPONSKILL_MICRO_UZI, 1);
  54352. SetPVarInt(playerid, "IsInArena", -1);
  54353. SetPVarInt(playerid, "MovingStretcher", -1);
  54354. SetPVarInt(playerid, "editingcd", -1);
  54355. SetPVarInt(playerid, "editingcdveh", -1);
  54356. SetPVarInt(playerid, "AdminUndercover", 0);
  54357. SetPlayerColor(playerid,TEAM_HIT_COLOR);
  54358. // Sweeper
  54359. fSweeperPos[playerid][0] = 0;
  54360. fSweeperPos[playerid][1] = 0;
  54361. fSweeperPos[playerid][2] = 0;
  54362. PlayerSweeping[playerid] = 0;
  54363. SweeperTime[playerid] = 0;
  54364. SweeperDistance[playerid] = 0;
  54365. // Player file variables (saving)
  54366. PlayerInfo[playerid][pKey] = 0;
  54367. PlayerInfo[playerid][pLiveBanned] = 0;
  54368. PlayerInfo[playerid][pLevel] = 1;
  54369. PlayerInfo[playerid][pAdmin] = 0;
  54370. format(PlayerInfo[playerid][pAdminName], 32, "0");
  54371. PlayerInfo[playerid][pBanAppealer] = 0;
  54372. PlayerInfo[playerid][pBanned] = 0;
  54373. PlayerInfo[playerid][pPermaBanned] = 0;
  54374. PlayerInfo[playerid][pDisabled] = 0;
  54375. PlayerInfo[playerid][pIP] = 0;
  54376. PlayerInfo[playerid][pReg] = 0;
  54377. PlayerInfo[playerid][pTut] = 0;
  54378. PlayerInfo[playerid][pSex] = 1;
  54379. PlayerInfo[playerid][pGangMod] = 0;
  54380. PlayerInfo[playerid][pFactionMod] = 0;
  54381. PlayerInfo[playerid][pHelperMod] = 0;
  54382. PlayerInfo[playerid][pAge] = 0;
  54383. PlayerInfo[playerid][pSkin] = 299;
  54384. PlayerInfo[playerid][pWalkStyle] = 0;
  54385. PlayerInfo[playerid][pPos_x] = 0;
  54386. PlayerInfo[playerid][pPos_y] = 0;
  54387. PlayerInfo[playerid][pPos_z] = 3.14;
  54388. PlayerInfo[playerid][pPos_r] = 0;
  54389. PlayerInfo[playerid][pConnectTime] = 0;
  54390. PlayerInfo[playerid][pRespect] = 0;
  54391. PlayerInfo[playerid][pNumber] = 0;
  54392. PlayerInfo[playerid][pWarns] = 0;
  54393. PlayerInfo[playerid][pGang] = 255;
  54394. PlayerInfo[playerid][pFaction] = 0;
  54395. PlayerInfo[playerid][pLeader] = 0;
  54396. PlayerInfo[playerid][pRank] = 0;
  54397. PlayerInfo[playerid][pJob] = 0;
  54398. PlayerInfo[playerid][pJob2] = 0;
  54399. PlayerInfo[playerid][pDonator] = 0;
  54400. PlayerInfo[playerid][gPupgrade] = 0;
  54401. PlayerInfo[playerid][pSarmor] = 0;
  54402. PlayerInfo[playerid][pCash] = 100;
  54403. PlayerInfo[playerid][pBank] = 100;
  54404. PlayerInfo[playerid][pInsurance] = 0;
  54405. PlayerInfo[playerid][pCrimes] = 0;
  54406. PlayerInfo[playerid][pArrested] = 0;
  54407. PlayerInfo[playerid][pWantedLevel] = 0;
  54408. PlayerInfo[playerid][pHealth] = 100;
  54409. PlayerInfo[playerid][pArmor] = 0;
  54410. PlayerInfo[playerid][pPot] = 0;
  54411. PlayerInfo[playerid][pCrack] = 0;
  54412. PlayerInfo[playerid][pPackages] = 0;
  54413. PlayerInfo[playerid][pCrates] = 0;
  54414. PlayerInfo[playerid][pRadio] = 0;
  54415. PlayerInfo[playerid][pRadioFreq] = 0;
  54416. PlayerInfo[playerid][pMats] = 0;
  54417. PlayerInfo[playerid][pRope] = 0;
  54418. PlayerInfo[playerid][pCigar] = 0;
  54419. PlayerInfo[playerid][pSprunk] = 0;
  54420. PlayerInfo[playerid][pSpraycan] = 0;
  54421. PlayerInfo[playerid][pHouse] = INVALID_HOUSE_ID;
  54422. PlayerInfo[playerid][pHouse2] = INVALID_HOUSE_ID;
  54423. PlayerInfo[playerid][pRenting] = INVALID_HOUSE_ID;
  54424. PlayerInfo[playerid][pInt] = 0;
  54425. PlayerInfo[playerid][pVW] = 0;
  54426. PlayerInfo[playerid][pJailed] = 0;
  54427. PlayerInfo[playerid][pJailTime] = 0;
  54428. // Weapons
  54429. for(new s = 0; s < 12; s++)
  54430. {
  54431. PlayerInfo[playerid][pAGuns][s] = 0; // Admin spawned, non-saved
  54432. PlayerInfo[playerid][pGuns][s] = 0;
  54433. }
  54434. PlayerInfo[playerid][pPayCheck] = 0;
  54435. PlayerInfo[playerid][pPayReady] = 0;
  54436. PlayerInfo[playerid][pDetSkill] = 0;
  54437. PlayerInfo[playerid][pLawSkill] = 0;
  54438. PlayerInfo[playerid][pSexSkill] = 0;
  54439. PlayerInfo[playerid][pDrugsSkill] = 0;
  54440. PlayerInfo[playerid][pSmugSkill] = 0;
  54441. PlayerInfo[playerid][pArmsSkill] = 0;
  54442. PlayerInfo[playerid][pMechSkill] = 0;
  54443. PlayerInfo[playerid][pFishSkill] = 0;
  54444. PlayerInfo[playerid][pBoxSkill] = 0;
  54445. PlayerInfo[playerid][pTruckSkill] = 0;
  54446. PlayerInfo[playerid][pCarSkill] = 0;
  54447. //PlayerInfo[playerid][pCraftSkill] = 0;
  54448. PlayerInfo[playerid][pLawyerTime] = 0;
  54449. PlayerInfo[playerid][pLawyerFreeTime] = 0;
  54450. PlayerInfo[playerid][pDrugsTime] = 0;
  54451. PlayerInfo[playerid][pMechTime] = 0;
  54452. PlayerInfo[playerid][pSexTime] = 0;
  54453. PlayerInfo[playerid][pCarTime] = 0;
  54454. PlayerInfo[playerid][pFishes] = 0;
  54455. PlayerInfo[playerid][pBiggestFish] = 0;
  54456. PlayerInfo[playerid][pWeedObject] = 0;
  54457. PlayerInfo[playerid][pDamageTimer] = -1;
  54458. PlayerInfo[playerid][pWeedPos][0] = 0;
  54459. PlayerInfo[playerid][pWeedPos][1] = 0;
  54460. PlayerInfo[playerid][pWeedPos][2] = 0;
  54461. PlayerInfo[playerid][pWeedVW] = 0;
  54462. PlayerInfo[playerid][pWeedInt] = 0;
  54463. PlayerInfo[playerid][pWeedGrowth] = -1;
  54464. PlayerInfo[playerid][pWSeeds] = 0;
  54465. PlayerInfo[playerid][pFightStyle] = FIGHT_STYLE_NORMAL;
  54466. PlayerInfo[playerid][pNoDamage] = 0;
  54467. PlayerInfo[playerid][pScrewdriver] = 0;
  54468. PlayerInfo[playerid][pSmslog] = 0;
  54469. PlayerInfo[playerid][pWristwatch] = 0;
  54470. PlayerInfo[playerid][pTire] = 0;
  54471. PlayerInfo[playerid][pFirstaid] = 0;
  54472. PlayerInfo[playerid][pRccam] = 0;
  54473. PlayerInfo[playerid][pReceiver] = 0;
  54474. PlayerInfo[playerid][pGPS] = 0;
  54475. PlayerInfo[playerid][pDonatorColor] = 0;
  54476. PlayerInfo[playerid][pSweep] = 0;
  54477. PlayerInfo[playerid][pSweepLeft] = 0;
  54478. for(new v = 0; v < MAX_PLAYERVEHICLES; v++)
  54479. {
  54480. PlayerVehicleInfo[playerid][v][pvModelId] = 0;
  54481. PlayerVehicleInfo[playerid][v][pvPosX] = 0.0;
  54482. PlayerVehicleInfo[playerid][v][pvPosY] = 0.0;
  54483. PlayerVehicleInfo[playerid][v][pvPosZ] = 0.0;
  54484. PlayerVehicleInfo[playerid][v][pvPosAngle] = 0.0;
  54485. PlayerVehicleInfo[playerid][v][pvLock] = 0;
  54486. PlayerVehicleInfo[playerid][v][pvLocked] = 0;
  54487. PlayerVehicleInfo[playerid][v][pvPaintJob] = -1;
  54488. PlayerVehicleInfo[playerid][v][pvColor1] = 0;
  54489. PlayerVehicleInfo[playerid][v][pvImpounded] = 0;
  54490. PlayerVehicleInfo[playerid][v][pvSpawned] = 0;
  54491. PlayerVehicleInfo[playerid][v][pvColor2] = 0;
  54492. PlayerVehicleInfo[playerid][v][pvPrice] = 0;
  54493. PlayerVehicleInfo[playerid][v][pvTicket] = 0;
  54494. PlayerVehicleInfo[playerid][v][pvWeapons][0] = 0;
  54495. PlayerVehicleInfo[playerid][v][pvWeapons][1] = 0;
  54496. PlayerVehicleInfo[playerid][v][pvWeapons][2] = 0;
  54497. PlayerVehicleInfo[playerid][v][pvWepUpgrade] = 0;
  54498. PlayerVehicleInfo[playerid][v][pvFuel] = 100.0;
  54499. PlayerVehicleInfo[playerid][v][pvAllowedPlayerId] = INVALID_PLAYER_ID;
  54500. PlayerVehicleInfo[playerid][v][pvPark] = 0;
  54501. ListItemReleaseId[playerid][v] = -1;
  54502. PlayerVehicleInfo[playerid][v][pvDisabled] = 0;
  54503. PlayerVehicleInfo[playerid][v][pvSpawned] = 0;
  54504. format(PlayerVehicleInfo[playerid][v][pvNumberPlate], 32, "");
  54505. ListItemTrackId[playerid][v] = -1;
  54506. for(new m = 0; m < MAX_MODS; m++)
  54507. {
  54508. PlayerVehicleInfo[playerid][v][pvMods][m] = 0;
  54509. }
  54510. }
  54511. for(new v = 0; v < MAX_PLAYERVEHICLES; v++) {
  54512. PlayerVehicleInfo[playerid][v][pvAllowedPlayerId] = INVALID_PLAYER_ID;
  54513. }
  54514. PlayerInfo[playerid][pVehicleKeys] = INVALID_PLAYER_VEHICLE_ID; // non-saved
  54515. PlayerInfo[playerid][pVehicleKeysFrom] = INVALID_PLAYER_ID; // non-saved
  54516. PlayerInfo[playerid][pCarLic] = 1;
  54517. PlayerInfo[playerid][pFlyLic] = 0;
  54518. PlayerInfo[playerid][pBoatLic] = 1;
  54519. PlayerInfo[playerid][pFishLic] = 1;
  54520. PlayerInfo[playerid][pGunLic] = 1;
  54521. PlayerInfo[playerid][pDivision] = 0;
  54522. PlayerInfo[playerid][pTicketTime] = 0;
  54523. PlayerInfo[playerid][pHeadValue] = 0;
  54524. strcpy(PlayerInfo[playerid][pContractBy], "Nobody", 64);
  54525. strcpy(PlayerInfo[playerid][pContractDetail], "None", 64);
  54526. PlayerInfo[playerid][pC4] = 0;
  54527. PlayerInfo[playerid][pC4Used] = 0;
  54528. PlayerInfo[playerid][pBombs] = 0;
  54529. PlayerInfo[playerid][pCHits] = 0;
  54530. PlayerInfo[playerid][pFHits] = 0;
  54531. strcpy(PlayerInfo[playerid][pPrisonedBy], "Nobody", 64);
  54532. strcpy(PlayerInfo[playerid][pPrisonReason], "None", 64);
  54533. PlayerInfo[playerid][pAcceptReport] = 0;
  54534. PlayerInfo[playerid][pTrashReport] = 0;
  54535. PlayerInfo[playerid][pAccent] = 0;
  54536. PlayerInfo[playerid][pNMute] = 0;
  54537. PlayerInfo[playerid][pNMuteTotal] = 0;
  54538. PlayerInfo[playerid][pADMute] = 0;
  54539. PlayerInfo[playerid][pADMuteTotal] = 0;
  54540. PlayerInfo[playerid][pRMuted] = 0;
  54541. PlayerInfo[playerid][pRMutedTotal] = 0;
  54542. PlayerInfo[playerid][pRMutedTime] = 0;
  54543. PlayerInfo[playerid][pSpeedo] = 0;
  54544. PlayerInfo[playerid][pGCMuted] = 0;
  54545. PlayerInfo[playerid][pGCMutedTime] = 0;
  54546. PlayerInfo[playerid][pCallsAccepted] = 0;
  54547. PlayerInfo[playerid][pPatientsDelivered] = 0;
  54548. PlayerInfo[playerid][pTriageTime] = 0;
  54549. for(new v = 0; v < MAX_PLAYERTOYS; v++)
  54550. {
  54551. PlayerToyInfo[playerid][v][ptModelID] = 0;
  54552. PlayerToyInfo[playerid][v][ptBone] = 0;
  54553. PlayerToyInfo[playerid][v][ptPosX] = 0.0;
  54554. PlayerToyInfo[playerid][v][ptPosY] = 0.0;
  54555. PlayerToyInfo[playerid][v][ptPosZ] = 0.0;
  54556. PlayerToyInfo[playerid][v][ptRotX] = 0.0;
  54557. PlayerToyInfo[playerid][v][ptRotY] = 0.0;
  54558. PlayerToyInfo[playerid][v][ptRotZ] = 0.0;
  54559. PlayerToyInfo[playerid][v][ptScaleX] = 1.0;
  54560. PlayerToyInfo[playerid][v][ptScaleY] = 1.0;
  54561. PlayerToyInfo[playerid][v][ptScaleZ] = 1.0;
  54562. }
  54563. PlayerInfo[playerid][pKillLog0][0] = 0;
  54564. PlayerInfo[playerid][pKillLog1][0] = 0;
  54565. PlayerInfo[playerid][pKillLog2][0] = 0;
  54566. PlayerInfo[playerid][pKillLog3][0] = 0;
  54567. PlayerInfo[playerid][pKillLog4][0] = 0;
  54568. PlayerInfo[playerid][pKillLog5][0] = 0;
  54569. PlayerInfo[playerid][pKillLog6][0] = 0;
  54570. PlayerInfo[playerid][pKillLog7][0] = 0;
  54571. PlayerInfo[playerid][pKillLog8][0] = 0;
  54572. PlayerInfo[playerid][pKillLog9][0] = 0;
  54573. strcpy(PlayerInfo[playerid][pFlag], "", 128);
  54574. strcpy(PlayerInfo[playerid][pReferredBy], "0", 32);
  54575. PlayerInfo[playerid][pRefTokens] = 0;
  54576. PlayerInfo[playerid][pRefTokensOffline] = 0;
  54577. PlayerInfo[playerid][pHelper] = 0;
  54578. // Other player variables (non-saving)
  54579. AdminRelogPassword[playerid][0] = 0;
  54580. AdminLoggedInBefore[playerid] = 0;
  54581. for(new s = 0; s < 40; s++)
  54582. {
  54583. ListItemReportId[playerid][s] = -1;
  54584. }
  54585. for(new i = 0; i < 6; i++)
  54586. {
  54587. HHcheckFloats[playerid][i] = 0;
  54588. }
  54589. HHcheckInt[playerid] = 0;
  54590. HHcheckVW[playerid] = 0;
  54591. for(new i = 0; i < 3; i++)
  54592. {
  54593. TeleportDest[playerid][i] = 0;
  54594. }
  54595. for(new i = 0; i < 3; i++)
  54596. {
  54597. TeleportDest2[playerid][i] = 0;
  54598. }
  54599. for(new i = 0; i < 3; i++) {
  54600. StopaniFloats[playerid][i] = 0;
  54601. }
  54602. for(new i = 0; i < 3; i++) {
  54603. FixMyVwFloats[playerid][i] = 0;
  54604. }
  54605. InviteCrew[playerid] = 255;
  54606. InviteCrew1[playerid] = 255;
  54607. InviteCrew2[playerid] = 255;
  54608. JustSuicided[playerid] = 0;
  54609. TeleportDestInt[playerid] = 0;
  54610. TeleportDestInt2[playerid] = 0;
  54611. gPlayerAccount[playerid] = 0;
  54612. gPlayerLogTries[playerid] = 0;
  54613. gPlayerLogged[playerid] = 0;
  54614. InsideMainMenu[playerid] = 1;
  54615. InsideTut[playerid] = 1;
  54616. ActiveChatbox[playerid] = 0;
  54617. PlayerCuffed[playerid] = 0;
  54618. Spectate[playerid] = 999;
  54619. Spectating[playerid] = 0;
  54620. GettingSpectated[playerid] = 999;
  54621. InsideShamal[playerid]= INVALID_VEHICLE_ID;
  54622. HouseOffer[playerid] = 999;
  54623. House[playerid] = 0;
  54624. HousePrice[playerid] = 0;
  54625. hInviteHouse[playerid]=INVALID_HOUSE_ID;
  54626. hInviteOffer[playerid]=999;
  54627. //hInviteSlot[playerid]=0;
  54628. playerTabbed[playerid] = 0;
  54629. playerTabbedTime[playerid] = 0;
  54630. playerAFK[playerid] = 0;
  54631. playerAFKTime[playerid] = 0;
  54632. playerLastTyped[playerid] = 0;
  54633. pCurrentWeapon[playerid] = 0;
  54634. JetPack[playerid] = 0;
  54635. TextSpamTimes[playerid] = 0;
  54636. TextSpamUnmute[playerid] = 0;
  54637. CommandSpamTimes[playerid] = 0;
  54638. CommandSpamUnmute[playerid] = 0;
  54639. gLastCar[playerid] = 0;
  54640. GettingJob[playerid] = 0;
  54641. GettingJob2[playerid] = 0;
  54642. PayCheckCode[playerid] = 0;
  54643. AdminDuty[playerid] = 0;
  54644. FindTimePoints[playerid] = 0;
  54645. FindingPlayer[playerid] = 0;
  54646. FindTime[playerid] = 0;
  54647. UsedFind[playerid] = 0;
  54648. Condom[playerid] = 0;
  54649. SexOffer[playerid] = 999;
  54650. SexPrice[playerid] = 0;
  54651. gFam[playerid] = 0;
  54652. InviteOffer[playerid]=999;
  54653. InviteFaction[playerid]=0;
  54654. InviteFamily[playerid]=255;
  54655. PotOffer[playerid] = 999;
  54656. CrackOffer[playerid] = 999;
  54657. PotPrice[playerid]=0;
  54658. CrackPrice[playerid]=0;
  54659. PotGram[playerid]=0;
  54660. CrackGram[playerid]=0;
  54661. JobDuty[playerid]=0;
  54662. WantLawyer[playerid]=0;
  54663. CallLawyer[playerid]=0;
  54664. JailPrice[playerid]=0;
  54665. DefendOffer[playerid] = 999;
  54666. DefendPrice[playerid] = 0;
  54667. CP[playerid] = 0;
  54668. GuardOffer[playerid] = 999;
  54669. GuardPrice[playerid]=0;
  54670. BetOffer[playerid] = 999;
  54671. BetPrice[playerid]=0;
  54672. GunOffer[playerid] = 999;
  54673. GunId[playerid] = 0;
  54674. GunMats[playerid] = 0;
  54675. MatsOffer[playerid] = 999;
  54676. MatsPrice[playerid] = 0;
  54677. MatsAmount[playerid] = 0;
  54678. PlayerBoxing[playerid]=0;
  54679. BoxOffer[playerid] = 999;
  54680. BoxWaitTime[playerid]=0;
  54681. UsedCrack[playerid] = 0;
  54682. UsedWeed[playerid] = 0;
  54683. PlayerStoned[playerid] = 0;
  54684. TransportDuty[playerid]=0;
  54685. TransportValue[playerid] = 0;
  54686. TransportMoney[playerid] = 0;
  54687. TransportTime[playerid] = 0;
  54688. TransportCost[playerid] = 0;
  54689. TransportDriver[playerid] = 999;
  54690. ConsumingMoney[playerid] = 0;
  54691. BusCallTime[playerid]=0;
  54692. BusAccepted[playerid] = 999;
  54693. TaxiCallTime[playerid]=0;
  54694. TaxiAccepted[playerid] = 999;
  54695. DrinkOffer[playerid] = INVALID_PLAYER_ID;
  54696. Fishes[playerid][pLastFish] = 0;
  54697. Fishes[playerid][pFishID] = 0;
  54698. FishCount[playerid]=0;
  54699. CraftOffer[playerid] = 999;
  54700. CraftId[playerid]=0;
  54701. CraftMats[playerid]=0;
  54702. VehicleSpawned[playerid] = 0;
  54703. VehicleOffer[playerid] = 999;
  54704. VehiclePrice[playerid] = 0;
  54705. VehicleId[playerid] = -1;
  54706. GiveKeysTo[playerid] = INVALID_PLAYER_ID;
  54707. RepairCar[playerid]=0;
  54708. OnDuty[playerid]=0;
  54709. ConnectedToPC[playerid]=0;
  54710. PlayerCuffedTime[playerid]=0;
  54711. PhoneOnline[playerid] = 0;
  54712. pTazer[playerid] = 0;
  54713. pTazerReplace[playerid] = 0;
  54714. TazerTimeout[playerid] = 0;
  54715. TicketOffer[playerid] = 999;
  54716. TicketMoney[playerid] = 0;
  54717. arr_Towing[playerid] = INVALID_VEHICLE_ID;
  54718. Fixr[playerid] = 0;
  54719. gBug[playerid] = 1;
  54720. GotHit[playerid]=0;
  54721. GoChase[playerid]=999;
  54722. GetChased[playerid]=999;
  54723. HitOffer[playerid]=999;
  54724. HitToGet[playerid]=999;
  54725. JustReported[playerid] = -1;
  54726. CancelReport[playerid] = -1;
  54727. NewbieTimer[playerid] = 0;
  54728. gNewbie[playerid] = 0;
  54729. for(new i = 0; i < 6; i++) {
  54730. EventFloats[playerid][i] = 0.0;
  54731. }
  54732. EventLastInt[playerid] = 0; EventLastVW[playerid] = 0;
  54733. Mobile[playerid]=INVALID_PLAYER_ID;
  54734. CellTime[playerid] = 0;
  54735. CalledCops[playerid]=0;
  54736. CopsCallTime[playerid]=0;
  54737. CalledMedics[playerid]=0;
  54738. MedicsCallTime[playerid]=0;
  54739. Music[playerid]=0;
  54740. PlayerTied[playerid]=0;
  54741. gRadio[playerid] = 1;
  54742. CallCost[playerid] = 0;
  54743. szAdvert[playerid][0] = 0;
  54744. IsBoundsShowingFFC[playerid] = 0;
  54745. IsBoundsShowingMP1[playerid] = 0;
  54746. IsBoundsShowingMF1[playerid] = 0;
  54747. IsBoundsShowingMP2[playerid] = 0;
  54748. IsBoundsShowingMF2[playerid] = 0;
  54749. IsBoundsShowingAEC[playerid] = 0;
  54750. IsBoundsShowingDH[playerid] = 0;
  54751. IsBoundsShowingCL[playerid] = 0;
  54752. IsBoundsShowingDF[playerid] = 0;
  54753. LoadTruckBar[playerid] = INVALID_BAR_ID;
  54754. LoadTruckTime[playerid] = 0;
  54755. TruckDeliver[playerid] = 0;
  54756. TruckUsed[playerid] = INVALID_VEHICLE_ID;
  54757. GlobalChat[playerid] = 0;
  54758. GlobalChatTimer[playerid] = 0;
  54759. EMSCallTime[playerid]=0;
  54760. EMSAccepted[playerid]=999;
  54761. MedicCallTime[playerid]=0;
  54762. MedicAccepted[playerid] = 999;
  54763. MechanicCallTime[playerid]=0;
  54764. DivorceOffer[playerid] = 999;
  54765. MarryWitness[playerid] = 999;
  54766. MarryWitnessOffer[playerid] = 999;
  54767. MarriageCeremoney[playerid] = 0;
  54768. ProposeOffer[playerid] = 999;
  54769. ProposedTo[playerid] = 999;
  54770. GotProposedBy[playerid] = 999;
  54771. slotselection[playerid] = 0;
  54772. ServiceTime[playerid] = 0;
  54773. WasHereForPaycheck[playerid] = 0;
  54774. SignedPaycheck[playerid] = 0;
  54775. MissedPaychecks[playerid] = 0;
  54776. HidePM[playerid] = 0;
  54777. Backup[playerid] = 0;
  54778. FindingJob[playerid] = 0;
  54779. ShakeHandRequest[playerid] = 999;
  54780. ShakeHandStyle[playerid] = 0;
  54781. TutorialProgress[playerid] = 0;
  54782. ValidArmor[playerid] = 0;
  54783. PhonePrivacy[playerid] = 0;
  54784. MP3Station[playerid] = 0;
  54785. // Start of boombox
  54786. BoomBoxSet[playerid] = 0;
  54787. BoomboxInfo[playerid][bbPosX] = 0.0;
  54788. BoomboxInfo[playerid][bbPosY] = 0.0;
  54789. BoomboxInfo[playerid][bbPosZ] = 0.0;
  54790. BoomboxInfo[playerid][bbInt] = 0;
  54791. BoomboxInfo[playerid][bbVW] = 0;
  54792. BoomboxInfo[playerid][bbStation] = 0;
  54793. BoomboxInfo[playerid][bbSetBy] = 999;
  54794. BoomboxInfo[playerid][bbObject] = 0;
  54795. // End of boombox
  54796. GlobalChat[playerid] = 1;
  54797. ClearCrime(playerid);
  54798. ClearFishes(playerid);
  54799. ClearMarriage(playerid);
  54800. // Removal of hell hole (VIP Lounge)
  54801. RemoveBuildingForPlayer(playerid, 3999, 1785.9766, -1564.8594, 25.2500, 0.25);
  54802. RemoveBuildingForPlayer(playerid, 4079, 1785.9766, -1564.8594, 25.2500, 0.25);
  54803. RemoveBuildingForPlayer(playerid, 4189, 1794.6172, -1576.7344, 17.7578, 0.25);
  54804. RemoveBuildingForPlayer(playerid, 1308, 1822.1563, -1543.7891, 12.6328, 0.25);
  54805. RemoveBuildingForPlayer(playerid, 4046, 1479.5234, -1852.6406, 24.5156, 0.25);
  54806. RemoveBuildingForPlayer(playerid, 4047, 1531.6328, -1852.6406, 24.5156, 0.25);
  54807. RemoveBuildingForPlayer(playerid, 4214, 1589.4531, -1817.5625, 22.2109, 0.25);
  54808. RemoveBuildingForPlayer(playerid, 4217, 1449.2500, -1852.5703, 22.3672, 0.25);
  54809. RemoveBuildingForPlayer(playerid, 4223, 1596.5547, -1817.2969, 21.0313, 0.25);
  54810. RemoveBuildingForPlayer(playerid, 1266, 1482.0859, -1859.9688, 25.0391, 0.25);
  54811. RemoveBuildingForPlayer(playerid, 4170, 1433.9531, -1844.4063, 21.4219, 0.25);
  54812. RemoveBuildingForPlayer(playerid, 1226, 1483.4297, -1867.7188, 16.4219, 0.25);
  54813. RemoveBuildingForPlayer(playerid, 1260, 1482.0859, -1859.9688, 25.0391, 0.25);
  54814. RemoveBuildingForPlayer(playerid, 4004, 1479.5234, -1852.6406, 24.5156, 0.25);
  54815. RemoveBuildingForPlayer(playerid, 1357, 1487.6953, -1848.1094, 12.8125, 0.25);
  54816. RemoveBuildingForPlayer(playerid, 1372, 1486.2109, -1848.1250, 12.6641, 0.25);
  54817. RemoveBuildingForPlayer(playerid, 1230, 1488.9219, -1848.2734, 12.9766, 0.25);
  54818. RemoveBuildingForPlayer(playerid, 4171, 1503.3984, -1848.3359, 21.4609, 0.25);
  54819. RemoveBuildingForPlayer(playerid, 4048, 1531.6328, -1852.6406, 24.5156, 0.25);
  54820. RemoveBuildingForPlayer(playerid, 1226, 1593.9844, -1867.7188, 16.4219, 0.25);
  54821. RemoveBuildingForPlayer(playerid, 4227, 1614.6328, -1862.2109, 14.0156, 0.25);
  54822. RemoveBuildingForPlayer(playerid, 3988, 1596.5547, -1817.2969, 21.0313, 0.25);
  54823. /*// joingame new event
  54824. RemoveBuildingForPlayer(playerid, 5928, 1309.9141, -1330.1328, 25.1875, 0.25);
  54825. RemoveBuildingForPlayer(playerid, 620, 1321.5234, -1374.4297, 12.5859, 0.25);
  54826. RemoveBuildingForPlayer(playerid, 620, 1292.0000, -1374.2969, 12.3672, 0.25);
  54827. RemoveBuildingForPlayer(playerid, 620, 1300.5859, -1374.2969, 12.3672, 0.25);
  54828. RemoveBuildingForPlayer(playerid, 5704, 1309.9141, -1330.1328, 25.1875, 0.25);
  54829. RemoveBuildingForPlayer(playerid, 620, 1329.4766, -1374.4297, 12.5859, 0.25);
  54830. RemoveBuildingForPlayer(playerid, 620, 1330.6016, -1340.9844, 6.1094, 0.25);
  54831. RemoveBuildingForPlayer(playerid, 620, 1326.6953, -1316.0078, 8.7266, 0.25);
  54832. RemoveBuildingForPlayer(playerid, 620, 1327.5938, -1333.6719, 6.1094, 0.25);
  54833. RemoveBuildingForPlayer(playerid, 620, 1332.0000, -1309.4297, 8.7266, 0.25);*/
  54834. PlayerPlaySound(playerid, SOUND_MUSIC1, 2050.1995, 1344.5500, 13.2378);
  54835. SetSpawnInfo(playerid, 0, 299, 1970.506103, -1201.447143, -25.074676, 1.0, -1, -1, -1, -1, -1, -1);
  54836. SpawnPlayer(playerid); // The player doesn't actually spawn before logging in, this is just to get rid of the annoying "<<", ">>" and "Spawn" buttons.
  54837. TogglePlayerControllable(playerid, 0);
  54838. SetTimerEx("Login", 1000, 0, "d", playerid);
  54839. SyncPlayerTime(playerid);
  54840. return 1;
  54841. }
  54842. //-----------------[Get color code by name]----------------------
  54843. forward GetColorCode(clr[]);
  54844. public GetColorCode(clr[])
  54845. {
  54846. new color = -1;
  54847. if(IsNumeric(clr)) {
  54848. color = strval(clr);
  54849. return color;
  54850. }
  54851. if(strcmp(clr, "black", true)==0) color=0;
  54852. if(strcmp(clr, "white", true)==0) color=1;
  54853. if(strcmp(clr, "blue", true)==0) color=2;
  54854. if(strcmp(clr, "red", true)==0) color=3;
  54855. if(strcmp(clr, "green", true)==0) color=16;
  54856. if(strcmp(clr, "purple", true)==0) color=5;
  54857. if(strcmp(clr, "yellow", true)==0) color=6;
  54858. if(strcmp(clr, "lightblue", true)==0) color=7;
  54859. if(strcmp(clr, "navy", true)==0) color=94;
  54860. if(strcmp(clr, "beige", true)==0) color=102;
  54861. if(strcmp(clr, "darkgreen", true)==0) color=51;
  54862. if(strcmp(clr, "darkblue", true)==0) color=103;
  54863. if(strcmp(clr, "darkgrey", true)==0) color=13;
  54864. if(strcmp(clr, "gold", true)==0) color=99;
  54865. if(strcmp(clr, "brown", true)==0 || strcmp(clr, "dennell", true)==0) color=55;
  54866. if(strcmp(clr, "darkbrown", true)==0) color=84;
  54867. if(strcmp(clr, "darkred", true)==0) color=74;
  54868. if(strcmp(clr, "maroon", true)==0) color=115;
  54869. if(strcmp(clr, "pink", true)==0) color=126;
  54870. return color;
  54871. }
  54872. stock HospitalSpawn(playerid)
  54873. {
  54874. if(GetPVarInt(playerid, "MedicBill") == 1 && PlayerInfo[playerid][pJailed] == 0) {
  54875. if(GetPVarInt(playerid, "Hospital") == 1 && PlayerInfo[playerid][pInsurance] == 0) {
  54876. SetPlayerArmourEx(playerid, PlayerInfo[playerid][pSarmor]);
  54877. if(PlayerInfo[playerid][pDonator] >= 2) SetPlayerHealth(playerid, 100.0);
  54878. else SetPlayerHealth(playerid, 50.0);
  54879. DeletePVar(playerid, "MedicBill");
  54880. if(PlayerInfo[playerid][pFaction] != 1 && PlayerInfo[playerid][pLeader] != 1 && PlayerInfo[playerid][pFaction] != 3 && PlayerInfo[playerid][pLeader] != 3 && PlayerInfo[playerid][pLeader] != 5 && PlayerInfo[playerid][pFaction] != 5 && PlayerInfo[playerid][pFaction] != 2 && PlayerInfo[playerid][pLeader] != 2 && PlayerInfo[playerid][pConnectTime] > 8) {
  54881. GivePlayerCash(playerid, -200);
  54882. SendClientMessage(playerid, TEAM_CYAN_COLOR, "Your hospital bill comes to $200. Have a nice day!");
  54883. }
  54884. else if(PlayerInfo[playerid][pConnectTime] < 9) SendClientMessage(playerid, TEAM_CYAN_COLOR, "Your hospital bill was paid for by the state (less than 8 playing hours).");
  54885. else SendClientMessage(playerid, TEAM_CYAN_COLOR, "Your hospital bill was paid for by your faction insurance.");
  54886. GameTextForPlayer(playerid, "~w~You're presently uninsured, ~n~buy insurance!", 5000, 6);
  54887. SendClientMessage(playerid, COLOR_WHITE, "(( Look for the insurance points next to each hospital. Type /insurehelp for more details. ))");
  54888. SetPlayerPos(playerid, 1175.0586,-1324.2463,14.5938);
  54889. SetPlayerFacingAngle(playerid, 268.9748);
  54890. DeletePVar(playerid, "Hospital");
  54891. SetCameraBehindPlayer(playerid);
  54892. TogglePlayerControllable(playerid, 1);
  54893. } else if(GetPVarInt(playerid, "Hospital") == 2 && PlayerInfo[playerid][pInsurance] == 0) {
  54894. SetPlayerArmourEx(playerid, PlayerInfo[playerid][pSarmor]);
  54895. if(PlayerInfo[playerid][pDonator] >= 2) SetPlayerHealth(playerid, 100.0);
  54896. else SetPlayerHealth(playerid, 50.0);
  54897. DeletePVar(playerid, "MedicBill");
  54898. if(PlayerInfo[playerid][pFaction] != 1 && PlayerInfo[playerid][pLeader] != 1 && PlayerInfo[playerid][pFaction] != 3 && PlayerInfo[playerid][pLeader] != 3 && PlayerInfo[playerid][pLeader] != 5 && PlayerInfo[playerid][pFaction] != 5 && PlayerInfo[playerid][pFaction] != 2 && PlayerInfo[playerid][pLeader] != 2 && PlayerInfo[playerid][pConnectTime] > 8) {
  54899. GivePlayerCash(playerid, -200);
  54900. SendClientMessage(playerid, TEAM_CYAN_COLOR, "Your hospital bill comes to $200. Have a nice day!");
  54901. }
  54902. else if(PlayerInfo[playerid][pConnectTime] < 9) SendClientMessage(playerid, TEAM_CYAN_COLOR, "Your hospital bill was paid for by the state (less than 8 playing hours).");
  54903. else SendClientMessage(playerid, TEAM_CYAN_COLOR, "Your hospital bill was paid for by your faction insurance.");
  54904. GameTextForPlayer(playerid, "~w~You're presently uninsured, ~n~buy insurance!", 5000, 6);
  54905. SendClientMessage(playerid, COLOR_WHITE, "(( Look for the insurance points next to each hospital. Type /insurehelp for more details. ))");
  54906. SetPlayerPos(playerid, 2034.2269,-1404.3459,17.2617);
  54907. SetPlayerFacingAngle(playerid, 179.4258);
  54908. DeletePVar(playerid, "Hospital");
  54909. SetCameraBehindPlayer(playerid);
  54910. TogglePlayerControllable(playerid, 1);
  54911. }
  54912. if(GetPVarInt(playerid, "Hospital") == 1 && PlayerInfo[playerid][pInsurance] == 1) {
  54913. SetPlayerArmourEx(playerid, PlayerInfo[playerid][pSarmor]);
  54914. if(PlayerInfo[playerid][pDonator] >= 2) SetPlayerHealth(playerid, 100.0);
  54915. else SetPlayerHealth(playerid, 50.0);
  54916. DeletePVar(playerid, "MedicBill");
  54917. if(PlayerInfo[playerid][pFaction] != 1 && PlayerInfo[playerid][pLeader] != 1 && PlayerInfo[playerid][pFaction] != 3 && PlayerInfo[playerid][pLeader] != 3 && PlayerInfo[playerid][pLeader] != 5 && PlayerInfo[playerid][pFaction] != 5 && PlayerInfo[playerid][pFaction] != 2 && PlayerInfo[playerid][pLeader] != 2 && PlayerInfo[playerid][pConnectTime] > 8) {
  54918. GivePlayerCash(playerid, -150);
  54919. SendClientMessage(playerid, TEAM_CYAN_COLOR, "Your hospital bill comes to $150. Have a nice day!");
  54920. }
  54921. else if(PlayerInfo[playerid][pConnectTime] < 9) SendClientMessage(playerid, TEAM_CYAN_COLOR, "Your hospital bill was paid for by the state (less than 8 playing hours).");
  54922. else SendClientMessage(playerid, TEAM_CYAN_COLOR, "Your hospital bill was paid for by your faction insurance.");
  54923. SetPlayerPos(playerid, 1175.0586,-1324.2463,14.5938);
  54924. SetPlayerFacingAngle(playerid, 268.9748);
  54925. DeletePVar(playerid, "Hospital");
  54926. SetCameraBehindPlayer(playerid);
  54927. TogglePlayerControllable(playerid, 1);
  54928. } else if(GetPVarInt(playerid, "Hospital") == 2 && PlayerInfo[playerid][pInsurance] == 2) {
  54929. SetPlayerArmourEx(playerid, PlayerInfo[playerid][pSarmor]);
  54930. if(PlayerInfo[playerid][pDonator] >= 2) SetPlayerHealth(playerid, 100.0);
  54931. else SetPlayerHealth(playerid, 50.0);
  54932. DeletePVar(playerid, "MedicBill");
  54933. if(PlayerInfo[playerid][pFaction] != 1 && PlayerInfo[playerid][pLeader] != 1 && PlayerInfo[playerid][pFaction] != 3 && PlayerInfo[playerid][pLeader] != 3 && PlayerInfo[playerid][pLeader] != 5 && PlayerInfo[playerid][pFaction] != 5 && PlayerInfo[playerid][pFaction] != 2 && PlayerInfo[playerid][pLeader] != 2 && PlayerInfo[playerid][pConnectTime] > 8) {
  54934. GivePlayerCash(playerid, -150);
  54935. SendClientMessage(playerid, TEAM_CYAN_COLOR, "Your hospital bill comes to $150. Have a nice day!");
  54936. }
  54937. else if(PlayerInfo[playerid][pConnectTime] < 9) SendClientMessage(playerid, TEAM_CYAN_COLOR, "Your hospital bill was paid for by the state (less than 8 playing hours).");
  54938. else SendClientMessage(playerid, TEAM_CYAN_COLOR, "Your hospital bill was paid for by your faction insurance.");
  54939. SetPlayerPos(playerid, 2034.2269,-1404.3459,17.2617);
  54940. SetPlayerFacingAngle(playerid, 179.4258);
  54941. DeletePVar(playerid, "Hospital");
  54942. SetCameraBehindPlayer(playerid);
  54943. TogglePlayerControllable(playerid, 1);
  54944. }
  54945. if(PlayerInfo[playerid][pSpawnMC] == 1)
  54946. {
  54947. if(PlayerInfo[playerid][pFaction] != 1 && PlayerInfo[playerid][pLeader] != 1 && PlayerInfo[playerid][pFaction] != 3 && PlayerInfo[playerid][pLeader] != 3 && PlayerInfo[playerid][pLeader] != 5 && PlayerInfo[playerid][pFaction] != 5 && PlayerInfo[playerid][pFaction] != 2 && PlayerInfo[playerid][pLeader] != 2 && PlayerInfo[playerid][pConnectTime] > 8) {
  54948. //GivePlayerCash(playerid, -200);
  54949. //SendClientMessage(playerid, TEAM_CYAN_COLOR, "Your maximusclub bill comes to $200. Have a nice day!");
  54950. }
  54951. else if(PlayerInfo[playerid][pConnectTime] < 9) SendClientMessage(playerid, TEAM_CYAN_COLOR, "Your hospital bill was paid for by the state (less than 8 playing hours).");
  54952. else SendClientMessage(playerid, TEAM_CYAN_COLOR, "Your maximusclub bill was paid for by your faction insurance.");
  54953. //GameTextForPlayer(playerid, "~w~You're presently uninsured, ~n~buy insurance!", 5000, 6);
  54954. //SendClientMessage(playerid, COLOR_WHITE, "(( Look for the insurance points next to each maximusclub. Type /insurehelp for more details. ))");
  54955. SetPlayerPos(playerid, 1068.912231,-1720.907470,-23.886886);
  54956. SetPlayerFacingAngle(playerid, 268.9748);
  54957. DeletePVar(playerid, "Hospital");
  54958. SetCameraBehindPlayer(playerid);
  54959. TogglePlayerControllable(playerid, 1);
  54960. }
  54961. }
  54962. }
  54963. public OnPlayerDisconnect(playerid, reason)
  54964. {
  54965. // Name tags by nnathann
  54966. //if(IsValidDynamic3DTextLabel(cNametag[playerid]))
  54967. //DestroyDynamic3DTextLabel(cNametag[playerid]);
  54968. ResetPlayerVariables(playerid);
  54969. KillTimer(Timer[playerid]);
  54970. pBlood[playerid] = false;
  54971. // Crash Fix
  54972. new name[MAX_PLAYER_NAME];
  54973. GetPlayerName(playerid, name, sizeof(name));
  54974. if(!strcmp(name, "InvalidNick", true)) return 1;
  54975. if(!strcmp(name, "BannedPlayer", true)) return 1;
  54976. if(playerid == MAX_PLAYERS) return 1;
  54977. if(pTazer[playerid] == 1) GivePlayerValidWeapon(playerid,pTazerReplace[playerid],60000);
  54978. if(GetPVarInt(playerid, "SpeedRadar") == 1) GivePlayerValidWeapon(playerid, GetPVarInt(playerid, "RadarReplacement"), 60000);
  54979. if(PlayerInfo[playerid][pGang] < 255)
  54980. {
  54981. FamilyInfo[PlayerInfo[playerid][pGang]][FamilyOnline]--;
  54982. }
  54983. if(GetPVarInt(playerid, "MovingStretcher") != -1) {
  54984. KillTimer(GetPVarInt(playerid, "TickEMSMove"));
  54985. DeletePVar(GetPVarInt(playerid, "MovingStretcher"), "OnStretcher");
  54986. SetPVarInt(playerid, "MovingStretcher", -1);
  54987. }
  54988. if(Hunted[playerid] == 1)
  54989. {
  54990. new string[128];
  54991. format(string, sizeof(string), "Father, please forgive the hunted %s as he left the server.",GetPlayerNameEx(playerid));
  54992. SendClientMessageToAll(COLOR_YELLOW, string);
  54993. Hunted[playerid] = 0;
  54994. AllHunt = 0;
  54995. return 1;
  54996. }
  54997. if(IsValidDynamicObject(PlayerInfo[playerid][pWeedObject]))
  54998. {
  54999. DestroyDynamicObject(PlayerInfo[playerid][pWeedObject]);
  55000. }
  55001. if(IsValidDynamicObject(BoomboxInfo[playerid][bbObject]))
  55002. {
  55003. DestroyDynamicObject(BoomboxInfo[playerid][bbObject]);
  55004. foreach(Player, i)
  55005. {
  55006. if(IsPlayerInRangeOfPoint(i,150.0,BoomboxInfo[playerid][bbPosX],BoomboxInfo[playerid][bbPosY],BoomboxInfo[playerid][bbPosZ]) && GetPlayerInterior(i) == BoomboxInfo[playerid][bbInt] && GetPlayerVirtualWorld(i) == BoomboxInfo[playerid][bbVW])
  55007. {
  55008. StopAudioStreamForPlayer(i);
  55009. }
  55010. }
  55011. }
  55012. if(PlayerInfo[playerid][pGang] < 255 && PlayerInfo[playerid][pTut] == 1)
  55013. {
  55014. new string[128];
  55015. format(string, sizeof(string), "* %s from your family has disconnected.", GetPlayerNameEx(playerid));
  55016. SendNewFamilyMessage(PlayerInfo[playerid][pGang], COLOR_LIGHTSLATEGRAY, string);
  55017. FamilyInfo[PlayerInfo[playerid][pGang]][FamilyInTurf]--;
  55018. }
  55019. if(PlayerInfo[playerid][pFaction] >= 1)
  55020. {
  55021. new string[128];
  55022. format(string, sizeof(string), "* %s from your faction has disconnected.", GetPlayerNameEx(playerid));
  55023. SendRadioMessage(PlayerInfo[playerid][pFaction], COLOR_LIGHTSLATEGRAY, string);
  55024. }
  55025. if(GetPVarInt(playerid, "PBM") < 1) {
  55026. if(GetPVarInt(playerid, "Hospital") > 0) {
  55027. PlayerInfo[playerid][pHospital] = 1;
  55028. }
  55029. if(GetPVarInt(playerid, "Injured") == 1) {
  55030. PlayerInfo[playerid][pHospital] = 1;
  55031. KillEMSQueue(playerid);
  55032. ResetPlayerWeaponsEx(playerid);
  55033. }
  55034. } else {
  55035. new
  55036. szMessage[64];
  55037. format(szMessage, sizeof(szMessage), "%s has left the paintball game (disconnect).", GetPlayerNameEx(playerid));
  55038. foreach(Player, i) {
  55039. if(GetPVarInt(i, "PBM") == GetPVarInt(playerid, "PBM") && i != playerid)
  55040. SendClientMessage(i, COLOR_RED, szMessage);
  55041. }
  55042. }
  55043. if(PlayerInfo[playerid][pLockCar] != INVALID_VEHICLE_ID)
  55044. vehicle_unlock_doors(PlayerInfo[playerid][pLockCar]);
  55045. if(PlayerInfo[playerid][pVehicleKeysFrom] != INVALID_PLAYER_ID)
  55046. PlayerVehicleInfo[PlayerInfo[playerid][pVehicleKeysFrom]][PlayerInfo[playerid][pVehicleKeys]][pvAllowedPlayerId] = INVALID_PLAYER_ID;
  55047. InsideShamal[playerid] = INVALID_VEHICLE_ID;
  55048. PlayerInfo[playerid][pInt] = GetPlayerInterior(playerid);
  55049. GetPlayerPos(playerid, PlayerInfo[playerid][pPos_x], PlayerInfo[playerid][pPos_y], PlayerInfo[playerid][pPos_z]);
  55050. GetPlayerFacingAngle(playerid, PlayerInfo[playerid][pPos_r]);
  55051. if(GetPlayerSkin(playerid) == 155)
  55052. PlayerInfo[playerid][pSkin] = GetPVarInt(playerid, "NPS");
  55053. if(InsideShamal[playerid] != INVALID_VEHICLE_ID) {
  55054. if(InsideShamal[playerid] == INVALID_VEHICLE_ID || GetVehicleModel(InsideShamal[playerid]) != 519)
  55055. {
  55056. GivePlayerValidWeapon(playerid, 46, 60000);
  55057. PlayerInfo[playerid][pPos_x] = 0.000000;
  55058. PlayerInfo[playerid][pPos_y] = 0.000000;
  55059. PlayerInfo[playerid][pPos_z] = 420.000000;
  55060. }
  55061. else
  55062. {
  55063. new Float:X, Float:Y, Float:Z;
  55064. GetVehiclePos(InsideShamal[playerid], X, Y, Z);
  55065. PlayerInfo[playerid][pPos_x] = X;
  55066. PlayerInfo[playerid][pPos_y] = Y;
  55067. PlayerInfo[playerid][pPos_z] = Z;
  55068. new Float:XB, Float:YB, Float:ZB;
  55069. GetVehiclePos(InsideShamal[playerid], XB, YB, ZB);
  55070. if(ZB > 50.0)
  55071. {
  55072. GivePlayerValidWeapon(playerid, 46, 60000);
  55073. }
  55074. }
  55075. PlayerInfo[playerid][pVW] = 0;
  55076. SetPlayerVirtualWorld(playerid, 0);
  55077. PlayerInfo[playerid][pInt] = 0;
  55078. SetPlayerInterior(playerid, 0);
  55079. InsideShamal[playerid] = INVALID_VEHICLE_ID;
  55080. }
  55081. UnloadPlayerVehicles(playerid);
  55082. ResetPlayerWeapons(playerid);
  55083. for(new i = 0; i < MAX_REPORTS; i++)
  55084. {
  55085. if(Reports[i][ReportFrom] == playerid)
  55086. {
  55087. Reports[i][ReportFrom] = 999;
  55088. Reports[i][BeingUsed] = 0;
  55089. Reports[i][TimeToExpire] = 0;
  55090. }
  55091. }
  55092. foreach(Player, i)
  55093. {
  55094. if(TaxiAccepted[i] == playerid)
  55095. {
  55096. TaxiAccepted[i] = 999;
  55097. GameTextForPlayer(i, "~w~Taxi Caller~n~~r~Left the game", 5000, 1);
  55098. TaxiCallTime[i] = 0;
  55099. DisablePlayerCheckpoint(i);
  55100. }
  55101. if(EMSAccepted[i] == playerid)
  55102. {
  55103. EMSAccepted[i] = 999;
  55104. GameTextForPlayer(i, "~w~EMS Caller~n~~r~Left the game", 5000, 1);
  55105. EMSCallTime[i] = 0;
  55106. DisablePlayerCheckpoint(i);
  55107. }
  55108. if(BusAccepted[i] == playerid)
  55109. {
  55110. BusAccepted[i] = 999;
  55111. GameTextForPlayer(i, "~w~Bus Caller~n~~r~Left the game", 5000, 1);
  55112. BusCallTime[i] = 0;
  55113. DisablePlayerCheckpoint(i);
  55114. }
  55115. if(MedicAccepted[i] == playerid)
  55116. {
  55117. TaxiAccepted[playerid] = 999; BusAccepted[playerid] = 999; MedicAccepted[playerid] = 999;
  55118. GameTextForPlayer(i, "~w~Medic Caller~n~~r~Left the game", 5000, 1);
  55119. MedicCallTime[i] = 0;
  55120. DisablePlayerCheckpoint(i);
  55121. }
  55122. }
  55123. if(Spectate[playerid] < 553)
  55124. {
  55125. PlayerInfo[playerid][pInt] = GetPVarInt(playerid, "SpecInt");
  55126. PlayerInfo[playerid][pVW] = GetPVarInt(playerid, "SpecVW");
  55127. PlayerInfo[playerid][pPos_x] = GetPVarFloat(playerid, "SpecPosX");
  55128. PlayerInfo[playerid][pPos_y] = GetPVarFloat(playerid, "SpecPosY");
  55129. PlayerInfo[playerid][pPos_z] = GetPVarFloat(playerid, "SpecPosZ");
  55130. GettingSpectated[Spectate[playerid]] = 999;
  55131. Spectate[playerid] = 999;
  55132. }
  55133. if(GetPVarInt(playerid, "gpsonoff") == 1) TextDrawDestroy(GPS[playerid]);
  55134. if(PlayerBoxing[playerid] > 0)
  55135. {
  55136. if(Boxer1 == playerid)
  55137. {
  55138. if(IsPlayerConnected(Boxer2))
  55139. {
  55140. if(IsPlayerInRangeOfPoint(PlayerBoxing[Boxer2], 25.0, 765.952270, 4.167977, 1000.719238))
  55141. {
  55142. PlayerBoxing[Boxer2] = 0;
  55143. SetPlayerPos(Boxer2, 765.952270, 4.167977, 1000.719238);
  55144. SetPlayerInterior(Boxer2, 5);
  55145. GameTextForPlayer(Boxer2, "~r~Match interrupted", 5000, 1);
  55146. return 1;
  55147. }
  55148. }
  55149. }
  55150. else if(Boxer2 == playerid)
  55151. {
  55152. if(IsPlayerConnected(Boxer1))
  55153. {
  55154. if(IsPlayerInRangeOfPoint(PlayerBoxing[Boxer1],25.0,765.952270, 4.167977, 1000.719238))
  55155. {
  55156. PlayerBoxing[Boxer1] = 0;
  55157. SetPlayerPos(Boxer1, 765.952270, 4.167977, 1000.719238);
  55158. SetPlayerInterior(Boxer1, 5);
  55159. GameTextForPlayer(Boxer1, "~r~Match interrupted", 5000, 1);
  55160. return 1;
  55161. }
  55162. }
  55163. }
  55164. InRing = 0;
  55165. RoundStarted = 0;
  55166. Boxer1 = INVALID_PLAYER_ID;
  55167. Boxer2 = INVALID_PLAYER_ID;
  55168. }
  55169. new string[128];
  55170. switch (reason)
  55171. {
  55172. case 0:
  55173. {
  55174. format(string, sizeof(string), "%s has left the server (timeout).", GetPlayerNameEx(playerid));
  55175. ProxDetector(30.0, playerid, string, COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW);
  55176. if(PlayerCuffed[playerid] != 0)
  55177. {
  55178. strcpy(PlayerInfo[playerid][pPrisonedBy], "Server", 64);
  55179. strcpy(PlayerInfo[playerid][pPrisonReason], "Logging while cuffed (timeout)", 64);
  55180. PlayerInfo[playerid][pJailed] = 3;
  55181. PlayerInfo[playerid][pJailTime] += 30*60;
  55182. }
  55183. }
  55184. case 1:
  55185. {
  55186. format(string, sizeof(string), "%s has left the server (leaving).", GetPlayerNameEx(playerid));
  55187. ProxDetector(30.0, playerid, string, COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW);
  55188. if(PlayerCuffed[playerid] != 0)
  55189. {
  55190. strcpy(PlayerInfo[playerid][pPrisonedBy], "Server", 64);
  55191. strcpy(PlayerInfo[playerid][pPrisonReason], "Logging while cuffed (leaving)", 64);
  55192. PlayerInfo[playerid][pJailed] = 3;
  55193. PlayerInfo[playerid][pJailTime] += 20*60;
  55194. }
  55195. }
  55196. case 2:
  55197. {
  55198. format(string, sizeof(string), "%s has left the server (kicked/banned).", GetPlayerNameEx(playerid));
  55199. ProxDetector(30.0, playerid, string, COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW,COLOR_YELLOW);
  55200. }
  55201. }
  55202. for(new x; x < sizeof(EventKernel[EventStaff]); x++) {
  55203. if(EventKernel[EventStaff][x] == playerid) {
  55204. EventKernel[EventStaff][x] = 999;
  55205. break;
  55206. }
  55207. }
  55208. if(GetPVarInt(playerid, "EventToken") == 0 && !GetPVarType(playerid, "LoadingObjects"))
  55209. {
  55210. new Float: x, Float: y, Float: z;
  55211. PlayerInfo[playerid][pInt] = GetPlayerInterior(playerid);
  55212. PlayerInfo[playerid][pVW] = GetPlayerVirtualWorld(playerid);
  55213. GetPlayerPos(playerid, x, y, z);
  55214. GetPlayerFacingAngle(playerid, PlayerInfo[playerid][pPos_r]);
  55215. PlayerInfo[playerid][pPos_x] = x;
  55216. PlayerInfo[playerid][pPos_y] = y;
  55217. PlayerInfo[playerid][pPos_z] = z;
  55218. }
  55219. else
  55220. {
  55221. PlayerInfo[playerid][pInt] = EventLastInt[playerid];
  55222. PlayerInfo[playerid][pVW] = EventLastVW[playerid];
  55223. PlayerInfo[playerid][pPos_r] = EventFloats[playerid][0];
  55224. PlayerInfo[playerid][pPos_x] = EventFloats[playerid][1];
  55225. PlayerInfo[playerid][pPos_y] = EventFloats[playerid][2];
  55226. PlayerInfo[playerid][pPos_z] = EventFloats[playerid][3];
  55227. }
  55228. if(TransportCost[playerid] > 0 && TransportDriver[playerid] < 999)
  55229. {
  55230. if(IsPlayerConnected(TransportDriver[playerid]))
  55231. {
  55232. TransportMoney[TransportDriver[playerid]] += TransportCost[playerid];
  55233. TransportTime[TransportDriver[playerid]] = 0;
  55234. TransportCost[TransportDriver[playerid]] = 0;
  55235. format(string, sizeof(string), "~w~Passenger left~n~~g~Earned $%d",TransportCost[playerid]);
  55236. GameTextForPlayer(TransportDriver[playerid], string, 5000, 1);
  55237. TransportDriver[playerid] = 999;
  55238. }
  55239. }
  55240. if(GotHit[playerid] > 0)
  55241. {
  55242. if(GetChased[playerid] < 999)
  55243. {
  55244. if(IsPlayerConnected(GetChased[playerid]))
  55245. {
  55246. SendClientMessage(GetChased[playerid], COLOR_YELLOW, "Your hit has left the server.");
  55247. GoChase[GetChased[playerid]] = 999;
  55248. }
  55249. }
  55250. }
  55251. if(GoChase[playerid] < 999)
  55252. {
  55253. GetChased[GoChase[playerid]] = 999;
  55254. GotHit[GoChase[playerid]] = 999;
  55255. }
  55256. if(TransportDuty[playerid] == 1)
  55257. {
  55258. TaxiDrivers -= 1;
  55259. }
  55260. else if(TransportDuty[playerid] == 2)
  55261. {
  55262. BusDrivers -= 1;
  55263. }
  55264. if(PlayerInfo[playerid][pJob] == 11 || PlayerInfo[playerid][pJob2] == 11)
  55265. {
  55266. if(JobDuty[playerid] == 1) { Medics -= 1; }
  55267. }
  55268. if(PlayerInfo[playerid][pJob] == 7 || PlayerInfo[playerid][pJob2] == 7)
  55269. {
  55270. if(JobDuty[playerid] == 1) { Mechanics -= 1; }
  55271. }
  55272. if(GetPVarType(playerid, "tabbedVW") != 0) {
  55273. printf("[alt tab vw debug] %d | tabvw: %d | real vw: %d", PlayerInfo[playerid][pVW], GetPVarInt(playerid, "tabbedVW"), GetPlayerVirtualWorld(playerid));
  55274. PlayerInfo[playerid][pVW] = GetPVarInt(playerid, "tabbedVW");
  55275. } else PlayerInfo[playerid][pVW] = GetPlayerVirtualWorld(playerid);
  55276. printf("[alt tab vw debug] tabvw: %d | tabvw type: %d", GetPVarInt(playerid, "tabbedVW"), GetPVarType(playerid, "tabbedVW"));
  55277. if(GetPVarInt(playerid, "PBM") > 0) {
  55278. PlayerInfo[playerid][pPos_x] = 1782.8229;
  55279. PlayerInfo[playerid][pPos_y] = -1565.8177;
  55280. PlayerInfo[playerid][pPos_z] = 13.3472;
  55281. PlayerInfo[playerid][pInt] = 0;
  55282. PlayerInfo[playerid][pVW] = 0;
  55283. PlayerInfo[playerid][pPos_r] = 0;
  55284. }
  55285. OnPlayerStatsUpdate(playerid);
  55286. return 1;
  55287. }
  55288. stock GetAdminRank(playerid)
  55289. {
  55290. new arank[64];
  55291. switch(PlayerInfo[playerid][pAdmin])
  55292. {
  55293. case 8: arank = "{ff3366}Server Manager";
  55294. case 7: arank = "{ae00a8}Management";
  55295. case 6: arank = "{910055}Assistant Management";
  55296. case 5: arank = "{d5010b}Head Adminstrator";
  55297. case 4: arank = "{ffaa65}Senior Adminstrator";
  55298. case 3: arank = "{fdee00}General Adminstrator";
  55299. case 2: arank = "{44f037}Junior Adminstrator";
  55300. case 1: arank = "Adminstrator";
  55301. default: arank = "None";
  55302. }
  55303. if(PlayerInfo[playerid][pFormer] == 1)
  55304. {
  55305. arank = "{425aa0}Former Admin";
  55306. }
  55307. return arank;
  55308. }
  55309. forward Login(playerid);
  55310. public Login(playerid)
  55311. {
  55312. PlayAudioStreamForPlayer(playerid, "http://k003.kiwi6.com/hotlink/9ix25ufu54/vance_.mp3");
  55313. // Main Menu Features.
  55314. ShowMainMenuGUI(playerid);
  55315. ClearChat(playerid);
  55316. SetPlayerVirtualWorld(playerid, 0);
  55317. //SendClientMessage(playerid, COLOR_LIGHTRED, "[WARNING] {FFFFFF}This is a heavy Pvp RP environment and is purposely harsh.");
  55318. SendClientMessage(playerid, -1, "{A9C4E4}Wag kalimutang e add ang {FFA500}Sleepless Roleplay 165.22.247.229:27715{A9C4E4} sa inyong favorite list!.");
  55319. InterpolateCameraPos(playerid, 2090.500732, -1730.270385, 122.216575, 873.889953, -1519.312011, 123.752815, 60000);
  55320. InterpolateCameraLookAt(playerid, 2090.014404, -1730.264892, 122.177040, 873.899353, -1518.828613, 123.698936, 60000);
  55321. new playername[MAX_PLAYER_NAME];
  55322. GetPlayerName(playerid, playername, sizeof(playername));
  55323. if(doesAccountExist(playername))
  55324. {
  55325. gPlayerAccount[playerid] = 1;
  55326. ShowMainMenuDialog(playerid, 1);
  55327. return 1;
  55328. }
  55329. else
  55330. {
  55331. gPlayerAccount[playerid] = 0;
  55332. ShowMainMenuDialog(playerid, 2);
  55333. return 1;
  55334. }
  55335. }
  55336. stock PreloadAnims(playerid) {
  55337. ApplyAnimation(playerid, "AIRPORT", "null", 0.0, 0, 0, 0, 0, 0);
  55338. ApplyAnimation(playerid, "Attractors", "null", 0.0, 0, 0, 0, 0, 0);
  55339. ApplyAnimation(playerid, "BAR", "null", 0.0, 0, 0, 0, 0, 0);
  55340. ApplyAnimation(playerid, "BASEBALL", "null", 0.0, 0, 0, 0, 0, 0);
  55341. ApplyAnimation(playerid, "BD_FIRE", "null", 0.0, 0, 0, 0, 0, 0);
  55342. ApplyAnimation(playerid, "BEACH", "null", 0.0, 0, 0, 0, 0, 0);
  55343. ApplyAnimation(playerid, "benchpress", "null", 0.0, 0, 0, 0, 0, 0);
  55344. ApplyAnimation(playerid, "BF_injection", "null", 0.0, 0, 0, 0, 0, 0);
  55345. ApplyAnimation(playerid, "BIKED", "null", 0.0, 0, 0, 0, 0, 0);
  55346. ApplyAnimation(playerid, "BIKEH", "null", 0.0, 0, 0, 0, 0, 0);
  55347. ApplyAnimation(playerid, "BIKELEAP", "null", 0.0, 0, 0, 0, 0, 0);
  55348. ApplyAnimation(playerid, "BIKES", "null", 0.0, 0, 0, 0, 0, 0);
  55349. ApplyAnimation(playerid, "BIKEV", "null", 0.0, 0, 0, 0, 0, 0);
  55350. ApplyAnimation(playerid, "BIKE_DBZ", "null", 0.0, 0, 0, 0, 0, 0);
  55351. ApplyAnimation(playerid, "BMX", "null", 0.0, 0, 0, 0, 0, 0);
  55352. ApplyAnimation(playerid, "BOMBER", "null", 0.0, 0, 0, 0, 0, 0);
  55353. ApplyAnimation(playerid, "BOX", "null", 0.0, 0, 0, 0, 0, 0);
  55354. ApplyAnimation(playerid, "BSKTBALL", "null", 0.0, 0, 0, 0, 0, 0);
  55355. ApplyAnimation(playerid, "BUDDY", "null", 0.0, 0, 0, 0, 0, 0);
  55356. ApplyAnimation(playerid, "BUS", "null", 0.0, 0, 0, 0, 0, 0);
  55357. ApplyAnimation(playerid, "CAMERA", "null", 0.0, 0, 0, 0, 0, 0);
  55358. ApplyAnimation(playerid, "CAR", "null", 0.0, 0, 0, 0, 0, 0);
  55359. ApplyAnimation(playerid, "CARRY", "null", 0.0, 0, 0, 0, 0, 0);
  55360. ApplyAnimation(playerid, "CAR_CHAT", "null", 0.0, 0, 0, 0, 0, 0);
  55361. ApplyAnimation(playerid, "CASINO", "null", 0.0, 0, 0, 0, 0, 0);
  55362. ApplyAnimation(playerid, "CHAINSAW", "null", 0.0, 0, 0, 0, 0, 0);
  55363. ApplyAnimation(playerid, "CHOPPA", "null", 0.0, 0, 0, 0, 0, 0);
  55364. ApplyAnimation(playerid, "CLOTHES", "null", 0.0, 0, 0, 0, 0, 0);
  55365. ApplyAnimation(playerid, "COACH", "null", 0.0, 0, 0, 0, 0, 0);
  55366. ApplyAnimation(playerid, "COLT45", "null", 0.0, 0, 0, 0, 0, 0);
  55367. ApplyAnimation(playerid, "COP_AMBIENT", "null", 0.0, 0, 0, 0, 0, 0);
  55368. ApplyAnimation(playerid, "COP_DVBYZ", "null", 0.0, 0, 0, 0, 0, 0);
  55369. ApplyAnimation(playerid, "CRACK", "null", 0.0, 0, 0, 0, 0, 0);
  55370. ApplyAnimation(playerid, "CRIB", "null", 0.0, 0, 0, 0, 0, 0);
  55371. ApplyAnimation(playerid, "DAM_JUMP", "null", 0.0, 0, 0, 0, 0, 0);
  55372. ApplyAnimation(playerid, "DANCING", "null", 0.0, 0, 0, 0, 0, 0);
  55373. ApplyAnimation(playerid, "DEALER", "null", 0.0, 0, 0, 0, 0, 0);
  55374. ApplyAnimation(playerid, "DILDO", "null", 0.0, 0, 0, 0, 0, 0);
  55375. ApplyAnimation(playerid, "DODGE", "null", 0.0, 0, 0, 0, 0, 0);
  55376. ApplyAnimation(playerid, "DOZER", "null", 0.0, 0, 0, 0, 0, 0);
  55377. ApplyAnimation(playerid, "DRIVEBYS", "null", 0.0, 0, 0, 0, 0, 0);
  55378. ApplyAnimation(playerid, "FAT", "null", 0.0, 0, 0, 0, 0, 0);
  55379. ApplyAnimation(playerid, "FIGHT_B", "null", 0.0, 0, 0, 0, 0, 0);
  55380. ApplyAnimation(playerid, "FIGHT_C", "null", 0.0, 0, 0, 0, 0, 0);
  55381. ApplyAnimation(playerid, "FIGHT_D", "null", 0.0, 0, 0, 0, 0, 0);
  55382. ApplyAnimation(playerid, "FIGHT_E", "null", 0.0, 0, 0, 0, 0, 0);
  55383. ApplyAnimation(playerid, "FINALE", "null", 0.0, 0, 0, 0, 0, 0);
  55384. ApplyAnimation(playerid, "FINALE2", "null", 0.0, 0, 0, 0, 0, 0);
  55385. ApplyAnimation(playerid, "FLAME", "null", 0.0, 0, 0, 0, 0, 0);
  55386. ApplyAnimation(playerid, "Flowers", "null", 0.0, 0, 0, 0, 0, 0);
  55387. ApplyAnimation(playerid, "FOOD", "null", 0.0, 0, 0, 0, 0, 0);
  55388. ApplyAnimation(playerid, "Freeweights", "null", 0.0, 0, 0, 0, 0, 0);
  55389. ApplyAnimation(playerid, "GANGS", "null", 0.0, 0, 0, 0, 0, 0);
  55390. ApplyAnimation(playerid, "GHANDS", "null", 0.0, 0, 0, 0, 0, 0);
  55391. ApplyAnimation(playerid, "GHETTO_DB", "null", 0.0, 0, 0, 0, 0, 0);
  55392. ApplyAnimation(playerid, "goggles", "null", 0.0, 0, 0, 0, 0, 0);
  55393. ApplyAnimation(playerid, "GRAFFITI", "null", 0.0, 0, 0, 0, 0, 0);
  55394. ApplyAnimation(playerid, "GRAVEYARD", "null", 0.0, 0, 0, 0, 0, 0);
  55395. ApplyAnimation(playerid, "GRENADE", "null", 0.0, 0, 0, 0, 0, 0);
  55396. ApplyAnimation(playerid, "GYMNASIUM", "null", 0.0, 0, 0, 0, 0, 0);
  55397. ApplyAnimation(playerid, "HAIRCUTS", "null", 0.0, 0, 0, 0, 0, 0);
  55398. ApplyAnimation(playerid, "HEIST9", "null", 0.0, 0, 0, 0, 0, 0);
  55399. ApplyAnimation(playerid, "INT_HOUSE", "null", 0.0, 0, 0, 0, 0, 0);
  55400. ApplyAnimation(playerid, "INT_OFFICE", "null", 0.0, 0, 0, 0, 0, 0);
  55401. ApplyAnimation(playerid, "INT_SHOP", "null", 0.0, 0, 0, 0, 0, 0);
  55402. ApplyAnimation(playerid, "JST_BUISNESS", "null", 0.0, 0, 0, 0, 0, 0);
  55403. ApplyAnimation(playerid, "KART", "null", 0.0, 0, 0, 0, 0, 0);
  55404. ApplyAnimation(playerid, "KISSING", "null", 0.0, 0, 0, 0, 0, 0);
  55405. ApplyAnimation(playerid, "KNIFE", "null", 0.0, 0, 0, 0, 0, 0);
  55406. ApplyAnimation(playerid, "LAPDAN1", "null", 0.0, 0, 0, 0, 0, 0);
  55407. ApplyAnimation(playerid, "LAPDAN2", "null", 0.0, 0, 0, 0, 0, 0);
  55408. ApplyAnimation(playerid, "LAPDAN3", "null", 0.0, 0, 0, 0, 0, 0);
  55409. ApplyAnimation(playerid, "LOWRIDER", "null", 0.0, 0, 0, 0, 0, 0);
  55410. ApplyAnimation(playerid, "MD_CHASE", "null", 0.0, 0, 0, 0, 0, 0);
  55411. ApplyAnimation(playerid, "MD_END", "null", 0.0, 0, 0, 0, 0, 0);
  55412. ApplyAnimation(playerid, "MEDIC", "null", 0.0, 0, 0, 0, 0, 0);
  55413. ApplyAnimation(playerid, "MISC", "null", 0.0, 0, 0, 0, 0, 0);
  55414. ApplyAnimation(playerid, "MTB", "null", 0.0, 0, 0, 0, 0, 0);
  55415. ApplyAnimation(playerid, "MUSCULAR", "null", 0.0, 0, 0, 0, 0, 0);
  55416. ApplyAnimation(playerid, "NEVADA", "null", 0.0, 0, 0, 0, 0, 0);
  55417. ApplyAnimation(playerid, "ON_LOOKERS", "null", 0.0, 0, 0, 0, 0, 0);
  55418. ApplyAnimation(playerid, "OTB", "null", 0.0, 0, 0, 0, 0, 0);
  55419. ApplyAnimation(playerid, "PARACHUTE", "null", 0.0, 0, 0, 0, 0, 0);
  55420. ApplyAnimation(playerid, "PARK", "null", 0.0, 0, 0, 0, 0, 0);
  55421. ApplyAnimation(playerid, "PAULNMAC", "null", 0.0, 0, 0, 0, 0, 0);
  55422. ApplyAnimation(playerid, "ped", "null", 0.0, 0, 0, 0, 0, 0);
  55423. ApplyAnimation(playerid, "PLAYER_DVBYS", "null", 0.0, 0, 0, 0, 0, 0);
  55424. ApplyAnimation(playerid, "PLAYIDLES", "null", 0.0, 0, 0, 0, 0, 0);
  55425. ApplyAnimation(playerid, "POLICE", "null", 0.0, 0, 0, 0, 0, 0);
  55426. ApplyAnimation(playerid, "POOL", "null", 0.0, 0, 0, 0, 0, 0);
  55427. ApplyAnimation(playerid, "POOR", "null", 0.0, 0, 0, 0, 0, 0);
  55428. ApplyAnimation(playerid, "PYTHON", "null", 0.0, 0, 0, 0, 0, 0);
  55429. ApplyAnimation(playerid, "QUAD", "null", 0.0, 0, 0, 0, 0, 0);
  55430. ApplyAnimation(playerid, "QUAD_DBZ", "null", 0.0, 0, 0, 0, 0, 0);
  55431. ApplyAnimation(playerid, "RAPPING", "null", 0.0, 0, 0, 0, 0, 0);
  55432. ApplyAnimation(playerid, "RIFLE", "null", 0.0, 0, 0, 0, 0, 0);
  55433. ApplyAnimation(playerid, "RIOT", "null", 0.0, 0, 0, 0, 0, 0);
  55434. ApplyAnimation(playerid, "ROB_BANK", "null", 0.0, 0, 0, 0, 0, 0);
  55435. ApplyAnimation(playerid, "RUSTLER", "null", 0.0, 0, 0, 0, 0, 0);
  55436. ApplyAnimation(playerid, "RYDER", "null", 0.0, 0, 0, 0, 0, 0);
  55437. ApplyAnimation(playerid, "SCRATCHING", "null", 0.0, 0, 0, 0, 0, 0);
  55438. ApplyAnimation(playerid, "SHAMAL", "null", 0.0, 0, 0, 0, 0, 0);
  55439. ApplyAnimation(playerid, "SHOP", "null", 0.0, 0, 0, 0, 0, 0);
  55440. ApplyAnimation(playerid, "SHOTGUN", "null", 0.0, 0, 0, 0, 0, 0);
  55441. ApplyAnimation(playerid, "SILENCED", "null", 0.0, 0, 0, 0, 0, 0);
  55442. ApplyAnimation(playerid, "SKATE", "null", 0.0, 0, 0, 0, 0, 0);
  55443. ApplyAnimation(playerid, "SMOKING", "null", 0.0, 0, 0, 0, 0, 0);
  55444. ApplyAnimation(playerid, "SNIPER", "null", 0.0, 0, 0, 0, 0, 0);
  55445. ApplyAnimation(playerid, "SPRAYCAN", "null", 0.0, 0, 0, 0, 0, 0);
  55446. ApplyAnimation(playerid, "STRIP", "null", 0.0, 0, 0, 0, 0, 0);
  55447. ApplyAnimation(playerid, "SUNBATHE", "null", 0.0, 0, 0, 0, 0, 0);
  55448. ApplyAnimation(playerid, "SWAT", "null", 0.0, 0, 0, 0, 0, 0);
  55449. ApplyAnimation(playerid, "SWEET", "null", 0.0, 0, 0, 0, 0, 0);
  55450. ApplyAnimation(playerid, "SWIM", "null", 0.0, 0, 0, 0, 0, 0);
  55451. ApplyAnimation(playerid, "SWORD", "null", 0.0, 0, 0, 0, 0, 0);
  55452. ApplyAnimation(playerid, "TANK", "null", 0.0, 0, 0, 0, 0, 0);
  55453. ApplyAnimation(playerid, "TATTOOS", "null", 0.0, 0, 0, 0, 0, 0);
  55454. ApplyAnimation(playerid, "TEC", "null", 0.0, 0, 0, 0, 0, 0);
  55455. ApplyAnimation(playerid, "TRAIN", "null", 0.0, 0, 0, 0, 0, 0);
  55456. ApplyAnimation(playerid, "TRUCK", "null", 0.0, 0, 0, 0, 0, 0);
  55457. ApplyAnimation(playerid, "UZI", "null", 0.0, 0, 0, 0, 0, 0);
  55458. ApplyAnimation(playerid, "VAN", "null", 0.0, 0, 0, 0, 0, 0);
  55459. ApplyAnimation(playerid, "VENDING", "null", 0.0, 0, 0, 0, 0, 0);
  55460. ApplyAnimation(playerid, "VORTEX", "null", 0.0, 0, 0, 0, 0, 0);
  55461. ApplyAnimation(playerid, "WAYFARER", "null", 0.0, 0, 0, 0, 0, 0);
  55462. ApplyAnimation(playerid, "WEAPONS", "null", 0.0, 0, 0, 0, 0, 0);
  55463. ApplyAnimation(playerid, "WUZI", "null", 0.0, 0, 0, 0, 0, 0);
  55464. return 1;
  55465. }
  55466. stock PreloadAnimLib(playerid, animlib[]) {
  55467. return ApplyAnimation(playerid,animlib,"null",0.0,0,0,0,0,0);
  55468. }
  55469. public OnPlayerSpawn(playerid) {
  55470. PreloadAnims(playerid);
  55471. GangZoneShowForPlayer(playerid, TurfsInfo[0][TurfID], 0xFFFFFF77);
  55472. GangZoneShowForPlayer(playerid, TurfsInfo[1][TurfID], 0xFFFFFF77);
  55473. GangZoneShowForPlayer(playerid, TurfsInfo[2][TurfID], 0xFFFFFF77);
  55474. GangZoneShowForPlayer(playerid, TurfsInfo[3][TurfID], 0xFFFFFF77);
  55475. GangZoneShowForPlayer(playerid, TurfsInfo[4][TurfID], 0xFFFFFF77);
  55476. GangZoneShowForPlayer(playerid, TurfsInfo[5][TurfID], 0xFFFFFF77);
  55477. GangZoneShowForPlayer(playerid, TurfsInfo[6][TurfID], 0xFFFFFF77);
  55478. GangZoneShowForPlayer(playerid, TurfsInfo[7][TurfID], 0xFFFFFF77);
  55479. GangZoneShowForPlayer(playerid, TurfsInfo[8][TurfID], 0xFFFFFF77);
  55480. GangZoneShowForPlayer(playerid, TurfsInfo[9][TurfID], 0xFFFFFF77);
  55481. TextDrawShowForPlayer(playerid, Text0);
  55482. if(!gPlayerLogged[playerid])
  55483. {// The player doesn't actually spawn before logging in, this is just to get rid of the annoying "<<", ">>" and "Spawn" buttons in the login/registration screen.
  55484. TogglePlayerControllable(playerid, 0);
  55485. return 1;
  55486. }
  55487. if(InsideShamal[playerid] != INVALID_VEHICLE_ID)
  55488. {
  55489. SetPlayerPos(playerid, GetPVarFloat(playerid, "air_Xpos"), GetPVarFloat(playerid, "air_Ypos"), GetPVarFloat(playerid, "air_Zpos"));
  55490. SetPlayerFacingAngle(playerid, GetPVarFloat(playerid, "air_Rpos"));
  55491. SetPlayerHealth(playerid, GetPVarFloat(playerid, "air_HP"));
  55492. SetPlayerArmourEx(playerid, GetPVarFloat(playerid, "air_Arm"));
  55493. SetPlayerWeaponsEx(playerid);
  55494. SetPlayerToTeamColor(playerid);
  55495. SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
  55496. DeletePVar(playerid, "air_Xpos");
  55497. DeletePVar(playerid, "air_Ypos");
  55498. DeletePVar(playerid, "air_Zpos");
  55499. DeletePVar(playerid, "air_Rpos");
  55500. DeletePVar(playerid, "air_HP");
  55501. DeletePVar(playerid, "air_Arm");
  55502. SetCameraBehindPlayer(playerid);
  55503. SetPlayerVirtualWorld(playerid, InsideShamal[playerid]);
  55504. return SetPlayerInterior(playerid, 1);
  55505. }
  55506. Streamer_Update(playerid);
  55507. SyncPlayerTime(playerid);
  55508. if(IsPlayerNPC(playerid)) return 1;
  55509. SetPlayerWantedLevel(playerid, PlayerInfo[playerid][pWantedLevel]);
  55510. DeletePVar(playerid, "STD");
  55511. SetCameraBehindPlayer(playerid);
  55512. SetPlayerSpawn(playerid);
  55513. SetPlayerWeapons(playerid);
  55514. SetPlayerToTeamColor(playerid);
  55515. SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL, 1);
  55516. SetPlayerSkillLevel(playerid, WEAPONSKILL_MICRO_UZI, 1);
  55517. return 1;
  55518. }
  55519. public OnPlayerDeath(playerid, killerid, reason) {
  55520. new
  55521. string[128];
  55522. SetPVarInt(playerid, "HouseID", -1);
  55523. SetPVarInt(playerid, "DoorID", 99999);
  55524. if(PlayerInfo[playerid][pGang] < 255)
  55525. {
  55526. FamilyInfo[PlayerInfo[playerid][pGang]][FamilyInTurf]--;
  55527. }
  55528. if(IsPlayerConnected(killerid)) {
  55529. new
  55530. hour,
  55531. minute,
  55532. second,
  55533. weaponname[32];
  55534. gettime(hour,minute,second);
  55535. FixHour(hour);
  55536. hour = shifthour;
  55537. GetWeaponName(reason, weaponname, sizeof(weaponname));
  55538. if(GetPVarInt(playerid, "PBM") > 0 && GetPVarInt(killerid, "PBM") > 0) {
  55539. SetPVarInt(killerid, "PBMK", GetPVarInt(killerid, "PBMK")+5);
  55540. SetPVarInt(playerid, "PBMD", GetPVarInt(playerid, "PBMD")+5);
  55541. format(string, sizeof(string), "%s has killed %s, with a %s in the paintball game.", GetPlayerNameEx(killerid), GetPlayerNameEx(playerid), weaponname);
  55542. foreach(Player, i) {
  55543. if(GetPVarInt(playerid, "PBM") == GetPVarInt(i, "PBM"))
  55544. SendClientMessage(i, COLOR_RED, string);
  55545. }
  55546. format(PlayerInfo[playerid][pKillLog9], 128, "%s", PlayerInfo[playerid][pKillLog8]);
  55547. format(PlayerInfo[playerid][pKillLog8], 128, "%s", PlayerInfo[playerid][pKillLog7]);
  55548. format(PlayerInfo[playerid][pKillLog7], 128, "%s", PlayerInfo[playerid][pKillLog6]);
  55549. format(PlayerInfo[playerid][pKillLog6], 128, "%s", PlayerInfo[playerid][pKillLog5]);
  55550. format(PlayerInfo[playerid][pKillLog5], 128, "%s", PlayerInfo[playerid][pKillLog4]);
  55551. format(PlayerInfo[playerid][pKillLog4], 128, "%s", PlayerInfo[playerid][pKillLog3]);
  55552. format(PlayerInfo[playerid][pKillLog3], 128, "%s", PlayerInfo[playerid][pKillLog2]);
  55553. format(PlayerInfo[playerid][pKillLog2], 128, "%s", PlayerInfo[playerid][pKillLog1]);
  55554. format(PlayerInfo[playerid][pKillLog1], 128, "%s", PlayerInfo[playerid][pKillLog0]);
  55555. format(PlayerInfo[playerid][pKillLog0], 128, "(%d:%d:%d) %s killed me with %s (in paintball)", hour,minute,second,GetPlayerNameEx(killerid), weaponname);
  55556. format(PlayerInfo[killerid][pKillLog9], 128, "%s", PlayerInfo[killerid][pKillLog8]);
  55557. format(PlayerInfo[killerid][pKillLog8], 128, "%s", PlayerInfo[killerid][pKillLog7]);
  55558. format(PlayerInfo[killerid][pKillLog7], 128, "%s", PlayerInfo[killerid][pKillLog6]);
  55559. format(PlayerInfo[killerid][pKillLog6], 128, "%s", PlayerInfo[killerid][pKillLog5]);
  55560. format(PlayerInfo[killerid][pKillLog5], 128, "%s", PlayerInfo[killerid][pKillLog4]);
  55561. format(PlayerInfo[killerid][pKillLog4], 128, "%s", PlayerInfo[killerid][pKillLog3]);
  55562. format(PlayerInfo[killerid][pKillLog3], 128, "%s", PlayerInfo[killerid][pKillLog2]);
  55563. format(PlayerInfo[killerid][pKillLog2], 128, "%s", PlayerInfo[killerid][pKillLog1]);
  55564. format(PlayerInfo[killerid][pKillLog1], 128, "%s", PlayerInfo[killerid][pKillLog0]);
  55565. format(PlayerInfo[killerid][pKillLog0], 128, "(%d:%d:%d) killed %s with %s (in paintball)", hour,minute,second,GetPlayerNameEx(playerid), weaponname);
  55566. } else {
  55567. format(PlayerInfo[playerid][pKillLog9], 128, "%s", PlayerInfo[playerid][pKillLog8]);
  55568. format(PlayerInfo[playerid][pKillLog8], 128, "%s", PlayerInfo[playerid][pKillLog7]);
  55569. format(PlayerInfo[playerid][pKillLog7], 128, "%s", PlayerInfo[playerid][pKillLog6]);
  55570. format(PlayerInfo[playerid][pKillLog6], 128, "%s", PlayerInfo[playerid][pKillLog5]);
  55571. format(PlayerInfo[playerid][pKillLog5], 128, "%s", PlayerInfo[playerid][pKillLog4]);
  55572. format(PlayerInfo[playerid][pKillLog4], 128, "%s", PlayerInfo[playerid][pKillLog3]);
  55573. format(PlayerInfo[playerid][pKillLog3], 128, "%s", PlayerInfo[playerid][pKillLog2]);
  55574. format(PlayerInfo[playerid][pKillLog2], 128, "%s", PlayerInfo[playerid][pKillLog1]);
  55575. format(PlayerInfo[playerid][pKillLog1], 128, "%s", PlayerInfo[playerid][pKillLog0]);
  55576. format(PlayerInfo[playerid][pKillLog0], 128, "(%d:%d:%d) %s killed me with %s", hour,minute,second,GetPlayerNameEx(killerid), weaponname);
  55577. format(PlayerInfo[killerid][pKillLog9], 128, "%s", PlayerInfo[killerid][pKillLog8]);
  55578. format(PlayerInfo[killerid][pKillLog8], 128, "%s", PlayerInfo[killerid][pKillLog7]);
  55579. format(PlayerInfo[killerid][pKillLog7], 128, "%s", PlayerInfo[killerid][pKillLog6]);
  55580. format(PlayerInfo[killerid][pKillLog6], 128, "%s", PlayerInfo[killerid][pKillLog5]);
  55581. format(PlayerInfo[killerid][pKillLog5], 128, "%s", PlayerInfo[killerid][pKillLog4]);
  55582. format(PlayerInfo[killerid][pKillLog4], 128, "%s", PlayerInfo[killerid][pKillLog3]);
  55583. format(PlayerInfo[killerid][pKillLog3], 128, "%s", PlayerInfo[killerid][pKillLog2]);
  55584. format(PlayerInfo[killerid][pKillLog2], 128, "%s", PlayerInfo[killerid][pKillLog1]);
  55585. format(PlayerInfo[killerid][pKillLog1], 128, "%s", PlayerInfo[killerid][pKillLog0]);
  55586. if(JustSuicided[playerid]) {
  55587. JustSuicided[playerid] = 0;
  55588. format(PlayerInfo[killerid][pKillLog0], 128, "(%d:%d:%d) %s commited suicide", hour,minute,second, GetPlayerNameEx(killerid));
  55589. } else {
  55590. format(PlayerInfo[killerid][pKillLog0], 128, "(%d:%d:%d) %s killed %s with %s", hour,minute,second, GetPlayerNameEx(killerid), GetPlayerNameEx(playerid), weaponname);
  55591. }
  55592. }
  55593. } else {
  55594. if(GetPVarInt(playerid, "PBM") > 0) {
  55595. format(string, sizeof(string), "%s has died.", GetPlayerNameEx(playerid));
  55596. foreach(Player, i) {
  55597. if(GetPVarInt(playerid, "PBM") == GetPVarInt(i, "PBM"))
  55598. SendClientMessage(i, COLOR_RED, string);
  55599. }
  55600. }
  55601. }
  55602. if(killerid != 501)
  55603. {
  55604. if(IsPlayerConnected(killerid))
  55605. {
  55606. format(string, sizeof(string), "[KILL]: [%s] has killed [%s] with a [%s].", GetPlayerNameEx(killerid), GetPlayerNameEx(playerid), GunNames[reason]);
  55607. ABroadCast(COLOR_LIGHTRED,string, 1);
  55608. }
  55609. }
  55610. if(GetPVarType(playerid, "SpecOff"))
  55611. {
  55612. SpawnPlayer(playerid);
  55613. return 1;
  55614. }
  55615. if(Dueling[playerid] == killerid && Dueling[killerid] == playerid)
  55616. {
  55617. format(string, sizeof(string), "AdmCmd: %s has won the duel against %s.", GetPlayerNameEx(killerid), GetPlayerNameEx(playerid));
  55618. SetPlayerSpawn(killerid);
  55619. ABroadCast(COLOR_LIGHTRED, string, 1);
  55620. return 1;
  55621. }
  55622. if(Hunted[playerid] == 1)
  55623. {
  55624. format(string, sizeof(string), "Father, please forgive %s for his sins as he killed the hunted %s.", GetPlayerNameEx(killerid), GetPlayerNameEx(playerid));
  55625. SendClientMessageToAll(COLOR_YELLOW, string);
  55626. RandomPrize(killerid);
  55627. return 1;
  55628. }
  55629. pTazer[playerid] = 0;
  55630. InsideShamal[playerid] = INVALID_VEHICLE_ID;
  55631. DeletePVar(playerid, "SpeedRadar");
  55632. DeletePVar(playerid, "UsingSprunk");
  55633. DeletePVar(playerid, "usingfirstaid");
  55634. KillTimer(GetPVarInt(playerid, "firstaid5"));
  55635. if(GetPVarInt(playerid, "Injured") == 1)
  55636. {
  55637. SendClientMessage(playerid, COLOR_WHITE, "You appear to be stuck in limbo, medics have failed to revive you.");
  55638. KillEMSQueue(playerid);
  55639. ResetPlayerWeaponsEx(playerid);
  55640. new Float:X, Float:Y, Float:Z;
  55641. new Float:health;
  55642. GetPlayerHealth(playerid, health);
  55643. SetPlayerHealth(playerid, health-5);
  55644. GetPlayerPos(playerid, X, Y, Z);
  55645. SetPlayerPos(playerid, X, Y, Z+5);
  55646. return 1;
  55647. }
  55648. // Determine if the player is in onplayerdeath
  55649. SetPVarInt(playerid, "OPD", 1);
  55650. if(GetPVarInt(playerid, "MovingStretcher") != -1)
  55651. {
  55652. KillTimer(GetPVarInt(playerid, "TickEMSMove"));
  55653. DeletePVar(GetPVarInt(playerid, "MovingStretcher"), "OnStretcher");
  55654. SetPVarInt(playerid, "MovingStretcher", -1);
  55655. }
  55656. new caller = Mobile[playerid];
  55657. if(IsPlayerConnected(Mobile[playerid]))
  55658. {
  55659. SendClientMessage(caller, COLOR_GRAD2, "The line went dead.");
  55660. format(string, sizeof(string), "* %s puts away their cellphone.", GetPlayerNameEx(caller));
  55661. ProxDetector(30.0, caller, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  55662. CellTime[caller] = 0;
  55663. Mobile[caller] = INVALID_PLAYER_ID;
  55664. }
  55665. Mobile[playerid] = INVALID_PLAYER_ID;
  55666. CellTime[playerid] = 0;
  55667. foreach(Player, i)
  55668. {
  55669. if(EMSAccepted[i] == playerid)
  55670. {
  55671. EMSAccepted[i] = 999;
  55672. GameTextForPlayer(i, "~w~EMS Caller~n~~r~Has Died", 5000, 1);
  55673. EMSCallTime[i] = 0;
  55674. DisablePlayerCheckpoint(i);
  55675. }
  55676. }
  55677. if(GetPVarInt(playerid, "EventToken") == 0)
  55678. {
  55679. if(GetPVarInt(playerid, "PBM") < 1)
  55680. {
  55681. if(PlayerInfo[playerid][pJailTime] == 0)
  55682. {
  55683. new Float:X, Float:Y, Float:Z;
  55684. GetPlayerPos(playerid, X, Y, Z);
  55685. SetSpawnInfo(playerid, 0, PlayerInfo[playerid][pSkin], X, Y, Z, 1.0, -1, -1, -1, -1, -1, -1);
  55686. if(AdminDuty[playerid] != 1)
  55687. {
  55688. SetPVarInt(playerid, "Injured", 1);
  55689. new Float:mX, Float:mY, Float:mZ;
  55690. GetPlayerPos(playerid, mX, mY, mZ);
  55691. SetPVarFloat(playerid, "MedicX", mX);
  55692. SetPVarFloat(playerid, "MedicY", mY);
  55693. SetPVarFloat(playerid, "MedicZ", mZ);
  55694. SetPVarInt(playerid, "MedicVW", GetPlayerVirtualWorld(playerid));
  55695. SetPVarInt(playerid, "MedicInt", GetPlayerInterior(playerid));
  55696. }
  55697. else
  55698. {
  55699. SetPVarInt(playerid, "AdminDeathVW", GetPlayerVirtualWorld(playerid));
  55700. SetPVarInt(playerid, "AdminDeathInt", GetPlayerInterior(playerid));
  55701. SpawnPlayer(playerid);
  55702. }
  55703. }
  55704. }
  55705. }
  55706. if(GetPVarInt(playerid, "Injured") == 0)
  55707. {
  55708. if(GetPVarInt(playerid, "EventToken") >= 1 || GetPVarInt(playerid, "PBM") > 0)
  55709. {
  55710. ResetPlayerWeapons(playerid);
  55711. }
  55712. else
  55713. {
  55714. ResetPlayerWeaponsEx(playerid);
  55715. }
  55716. }
  55717. if(PlayerInfo[killerid][pAdmin] < 6)
  55718. {
  55719. if(reason == 49)
  55720. {
  55721. format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) has possibly just car rammed %s (ID %d) to death.", GetPlayerNameEx(killerid), killerid, GetPlayerNameEx(playerid), playerid);
  55722. ABroadCast(COLOR_YELLOW, string, 1);
  55723. //print(string);
  55724. }
  55725. if(reason == 50)
  55726. {
  55727. if(IsAHelicopter(GetPlayerVehicleID(killerid)))
  55728. {
  55729. format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) has possibly just helibladed %s (ID %d).", GetPlayerNameEx(killerid), killerid, GetPlayerNameEx(playerid), playerid);
  55730. ABroadCast(COLOR_YELLOW, string, 1);
  55731. //print(string);
  55732. }
  55733. else
  55734. {
  55735. if(GetPlayerWeapon(killerid) != 32 || GetPlayerWeapon(killerid) != 28 || GetPlayerWeapon(killerid) != 29)
  55736. {
  55737. format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) has possibly just carparked %s (ID %d) to death.", GetPlayerNameEx(killerid), killerid, GetPlayerNameEx(playerid), playerid);
  55738. ABroadCast(COLOR_YELLOW, string, 1);
  55739. //print(string);
  55740. }
  55741. else
  55742. {
  55743. format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) has possibly just drivershot %s (ID %d) to death.", GetPlayerNameEx(killerid), killerid, GetPlayerNameEx(playerid), playerid);
  55744. ABroadCast(COLOR_YELLOW, string, 1);
  55745. //print(string);
  55746. }
  55747. }
  55748. }
  55749. }
  55750. if(gPlayerCheckpointStatus[playerid] > 4 && gPlayerCheckpointStatus[playerid] < 11)
  55751. {
  55752. DisablePlayerCheckpoint(playerid);
  55753. gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
  55754. }
  55755. ClearCrime(playerid);
  55756. if(PlayerInfo[playerid][pHeadValue] >= 1) {
  55757. if(IsPlayerConnected(killerid)) {
  55758. if(GoChase[killerid] == playerid) {
  55759. new
  55760. killer[MAX_PLAYER_NAME],
  55761. name2[MAX_PLAYER_NAME],
  55762. name[MAX_PLAYER_NAME];
  55763. new takemoney = PlayerInfo[playerid][pHeadValue] / 4 * 2;
  55764. name = GetPlayerNameEx(playerid);
  55765. killer = GetPlayerNameEx(killerid);
  55766. GivePlayerCash(killerid, takemoney);
  55767. GivePlayerCash(playerid, -takemoney);
  55768. format(string,sizeof(string),"Hitman %s has fulfilled the contract on %s and collected $%d.",killer,name,PlayerInfo[playerid][pHeadValue] / 4 * 2);
  55769. SendFamilyMessage(4, COLOR_YELLOW, string);
  55770. format(string,sizeof(string),"You have been critically injured by a hitman and lost $%d.",takemoney);
  55771. ResetPlayerWeaponsEx(playerid);
  55772. SendClientMessage(playerid, COLOR_YELLOW, string);
  55773. foreach(Player, i) {
  55774. name2 = GetPlayerNameEx(i);
  55775. if(!strcmp(PlayerInfo[playerid][pContractBy], name2, true)) {
  55776. if(!IsPlayerStreamedIn(i, playerid)) {
  55777. format(string, sizeof(string), "SMS: %s has been eliminated, Sender: MOLE (555)", name);
  55778. SendClientMessage(i, COLOR_YELLOW, string);
  55779. }
  55780. }
  55781. }
  55782. PlayerInfo[playerid][pHeadValue] = 0;
  55783. strcpy(PlayerInfo[playerid][pContractBy], "Nobody", 64);
  55784. strcpy(PlayerInfo[playerid][pContractDetail], "None", 64);
  55785. PlayerInfo[killerid][pCHits] += 1;
  55786. GotHit[playerid] = 0;
  55787. GetChased[playerid] = 999;
  55788. GoChase[killerid] = 999;
  55789. }
  55790. }
  55791. }
  55792. if(IsPlayerConnected(killerid)) {
  55793. if(GoChase[playerid] == killerid) {
  55794. new killer[MAX_PLAYER_NAME], name[MAX_PLAYER_NAME], name2[MAX_PLAYER_NAME];
  55795. new takemoney = PlayerInfo[playerid][pHeadValue] / 4 * 2;
  55796. GivePlayerCash(killerid, takemoney);
  55797. name = GetPlayerNameEx(playerid);
  55798. killer = GetPlayerNameEx(killerid);
  55799. format(string,128,"Hitman %s has failed the contract on %s and lost $%d.",name,killer,PlayerInfo[killerid][pHeadValue] / 4 * 2);
  55800. SendFamilyMessage(4, COLOR_YELLOW, string);
  55801. GivePlayerCash(playerid, -takemoney);
  55802. format(string,128,"You have just killed a hitman and gained $%d, removing the contact on your head.",PlayerInfo[killerid][pHeadValue] / 4 * 2);
  55803. SendClientMessage(killerid, COLOR_YELLOW, string);
  55804. foreach(Player, i) {
  55805. name2 = GetPlayerNameEx(i);
  55806. if(!strcmp(PlayerInfo[killerid][pContractBy], name2, true)) {
  55807. if(!IsPlayerStreamedIn(i, killerid)) {
  55808. format(string, sizeof(string), "SMS: We failed with %s, you can try place another hit on the target, Sender: MOLE (555)", killer);
  55809. SendClientMessage(i, COLOR_YELLOW, string);
  55810. }
  55811. }
  55812. }
  55813. PlayerInfo[killerid][pHeadValue] = 0;
  55814. strcpy(PlayerInfo[killerid][pContractBy], "Nobody", 64);
  55815. strcpy(PlayerInfo[killerid][pContractDetail], "None", 64);
  55816. PlayerInfo[playerid][pFHits] += 1;
  55817. GotHit[playerid] = 0;
  55818. GetChased[killerid] = 999;
  55819. GoChase[playerid] = 999;
  55820. }
  55821. }
  55822. killerid = INVALID_PLAYER_ID;
  55823. SetPlayerColor(playerid,TEAM_HIT_COLOR);
  55824. return 1;
  55825. }
  55826. forward DelayedVehHealth(vehicleid);
  55827. public DelayedVehHealth(vehicleid) {
  55828. SetVehicleHealth(vehicleid, 2500);
  55829. return 1;
  55830. }
  55831. public OnVehicleSpawn(vehicleid) {
  55832. VehicleStatus{vehicleid} = 0;
  55833. TruckContents[vehicleid] = 0;
  55834. VehicleRadioStation[vehicleid] = 0;
  55835. for(new i = 0; i < sizeof(FamilyInfo); i++) {
  55836. for(new d = 0 ; d < MAX_GANG_VEHICLES; d++) {
  55837. if(FamilyVehicleInfo[i][d][fvLocked] != 0 && FamilyVehicleInfo[i][d][fvLock] > 0)
  55838. LockGangVehicle(i, FamilyVehicleInfo[i][d][fvId], FamilyVehicleInfo[i][d][fvLock]);
  55839. }
  55840. }
  55841. switch(GetVehicleModel(vehicleid)) {
  55842. case 427, 428, 432, 601, 528: SetTimerEx("DelayedVehHealth", 1000, false, "d", vehicleid);
  55843. }
  55844. new v;
  55845. foreach(Player, i)
  55846. {
  55847. v = GetPlayerVehicle(i, vehicleid);
  55848. if(v != -1)
  55849. {
  55850. if(PlayerVehicleInfo[i][v][pvId] == vehicleid && GetVehicleModel(vehicleid) != PlayerVehicleInfo[i][v][pvModelId])
  55851. {
  55852. DestroyVehicle(vehicleid);
  55853. VehicleRadioStation[vehicleid] = 0;
  55854. PlayerVehicleInfo[i][v][pvId] = CreateVehicle(PlayerVehicleInfo[i][v][pvModelId], PlayerVehicleInfo[i][v][pvPosX], PlayerVehicleInfo[i][v][pvPosY], PlayerVehicleInfo[i][v][pvPosZ], PlayerVehicleInfo[i][v][pvPosAngle],PlayerVehicleInfo[i][v][pvColor1], PlayerVehicleInfo[i][v][pvColor2], -1);
  55855. if(PlayerVehicleInfo[i][v][pvLocked] == 1) LockPlayerVehicle(i, PlayerVehicleInfo[i][v][pvId], PlayerVehicleInfo[i][v][pvLock]);
  55856. ChangeVehiclePaintjob(PlayerVehicleInfo[i][v][pvId], PlayerVehicleInfo[i][v][pvPaintJob]);
  55857. ChangeVehicleColor(PlayerVehicleInfo[i][v][pvId], PlayerVehicleInfo[i][v][pvColor1], PlayerVehicleInfo[i][v][pvColor2]);
  55858. for(new m = 0; m < MAX_MODS; m++)
  55859. {
  55860. if(PlayerVehicleInfo[i][v][pvMods][m] >= 1000 && PlayerVehicleInfo[i][v][pvMods][m] <= 1193)
  55861. {
  55862. if(InvalidModCheck(GetVehicleModel(vehicleid), PlayerVehicleInfo[i][v][pvMods][m]))
  55863. {
  55864. AddVehicleComponent(PlayerVehicleInfo[i][v][pvId], PlayerVehicleInfo[i][v][pvMods][m]);
  55865. }
  55866. else
  55867. {
  55868. //printf("Removing invalid mod %d from %d of %s", PlayerVehicleInfo[i][v][pvMods][m], GetVehicleModel(vehicleid), GetPlayerNameEx(i));
  55869. PlayerVehicleInfo[i][v][pvMods][m] = 0;
  55870. }
  55871. }
  55872. }
  55873. }
  55874. else
  55875. {
  55876. ChangeVehiclePaintjob(vehicleid, PlayerVehicleInfo[i][v][pvPaintJob]);
  55877. ChangeVehicleColor(vehicleid, PlayerVehicleInfo[i][v][pvColor1], PlayerVehicleInfo[i][v][pvColor2]);
  55878. for(new m = 0; m < MAX_MODS; m++)
  55879. {
  55880. if(PlayerVehicleInfo[i][v][pvMods][m] >= 1000 && PlayerVehicleInfo[i][v][pvMods][m] <= 1193)
  55881. {
  55882. if(InvalidModCheck(GetVehicleModel(vehicleid), PlayerVehicleInfo[i][v][pvMods][m]))
  55883. {
  55884. AddVehicleComponent(PlayerVehicleInfo[i][v][pvId], PlayerVehicleInfo[i][v][pvMods][m]);
  55885. }
  55886. else
  55887. {
  55888. //printf("Removing invalid mod %d from %d of %s", PlayerVehicleInfo[i][v][pvMods][m], GetVehicleModel(vehicleid), GetPlayerNameEx(i));
  55889. PlayerVehicleInfo[i][v][pvMods][m] = 0;
  55890. }
  55891. }
  55892. }
  55893. if(PlayerVehicleInfo[i][v][pvLocked] == 1) LockPlayerVehicle(i, PlayerVehicleInfo[i][v][pvId], PlayerVehicleInfo[i][v][pvLock]);
  55894. }
  55895. new string[128];
  55896. format(string,sizeof(string),"Your %s has been sent to the location at which you last parked it.",GetVehicleName(vehicleid));
  55897. SendClientMessage(i, COLOR_GRAD1, string);
  55898. }
  55899. }
  55900. if(LockStatus[vehicleid])
  55901. {
  55902. foreach(Player, i)
  55903. {
  55904. if(PlayerInfo[i][pLockCar] == vehicleid)
  55905. {
  55906. PlayerInfo[i][pLockCar] = INVALID_VEHICLE_ID;
  55907. }
  55908. }
  55909. }
  55910. if(VehicleBomb{vehicleid} == 1)
  55911. {
  55912. foreach(Player, i)
  55913. {
  55914. if(PlayerInfo[i][pFaction] == 4 || PlayerInfo[i][pLeader] == 4)
  55915. {
  55916. if(PlacedVehicleBomb[i] == vehicleid)
  55917. {
  55918. VehicleBomb{vehicleid} = 0;
  55919. PlacedVehicleBomb[i] = INVALID_VEHICLE_ID;
  55920. PickUpC4(i);
  55921. PlayerInfo[i][pC4Used] = 0;
  55922. PlayerInfo[i][pC4Get] = 1;
  55923. }
  55924. }
  55925. }
  55926. }
  55927. return 1;
  55928. }
  55929. public OnVehicleDeath(vehicleid, killerid)
  55930. {
  55931. VehicleStatus{vehicleid} = 1;
  55932. TruckContents[vehicleid] = 0;
  55933. VehicleRadioStation[vehicleid] = 0;
  55934. foreach(Player, i)
  55935. {
  55936. if(InsideShamal[i] == vehicleid)
  55937. {
  55938. new Float:X, Float:Y, Float:Z;
  55939. new Float:XB, Float:YB, Float:ZB;
  55940. GetVehiclePos(InsideShamal[i], X, Y, Z);
  55941. SetPlayerPos(i, X-4, Y-2.3, Z);
  55942. GetVehiclePos(InsideShamal[i], XB, YB, ZB);
  55943. if(ZB > 50.0)
  55944. {
  55945. PlayerInfo[i][pAGuns][GetWeaponSlot(46)] = 46;
  55946. GivePlayerValidWeapon(i, 46, 60000);
  55947. }
  55948. PlayerInfo[i][pVW] = 0;
  55949. SetPlayerVirtualWorld(i, 0);
  55950. PlayerInfo[i][pInt] = 0;
  55951. SetPlayerInterior(i, 0);
  55952. SendClientMessage(i, COLOR_WHITE, "The airplane has been damaged, you can't be inside of it!");
  55953. InsideShamal[i] = INVALID_VEHICLE_ID;
  55954. }
  55955. }
  55956. return 1;
  55957. }
  55958. public OnPlayerText(playerid, text[])
  55959. {
  55960. if(gPlayerLogged[playerid] != 1)
  55961. {
  55962. SendClientMessage(playerid, COLOR_RED, "You're not logged in.");
  55963. return 0;
  55964. }
  55965. if(PlayerInfo[playerid][pTut] == 0)
  55966. {
  55967. return 0;
  55968. }
  55969. new sendername[MAX_PLAYER_NAME];
  55970. new giveplayer[MAX_PLAYER_NAME];
  55971. new string[128];
  55972. playerLastTyped[playerid] = 0;
  55973. if(TextSpamUnmute[playerid] != 0)
  55974. {
  55975. if(PlayerInfo[playerid][pAdmin] < 6)
  55976. {
  55977. SendClientMessage(playerid, COLOR_WHITE, "You're muted from submitting text right now.");
  55978. return 0;
  55979. }
  55980. }
  55981. if(PlayerInfo[playerid][pAdmin] < 6)
  55982. {
  55983. TextSpamTimes[playerid]++;
  55984. if(TextSpamTimes[playerid] == 5)
  55985. {
  55986. TextSpamTimes[playerid] = 0;
  55987. TextSpamUnmute[playerid] = 10;
  55988. SendClientMessage(playerid, COLOR_YELLOW, "You have been muted automatically for spamming. Please wait 10 seconds and try again.");
  55989. SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_FLOODPROTECTION);
  55990. return 0;
  55991. }
  55992. }
  55993. if(strfind(text, "|", true) != -1)
  55994. {
  55995. SendClientMessage(playerid, COLOR_RED, "You can't use the '|' character in text.");
  55996. return 0;
  55997. }
  55998. if(PlayerInfo[playerid][pAdmin] < 4)
  55999. {
  56000. if(strfind(text, ":", true) != -1)
  56001. {
  56002. new
  56003. i_numcount,
  56004. i_period,
  56005. i_pos;
  56006. while(text[i_pos]) {
  56007. if('0' <= text[i_pos] <= '9') i_numcount++;
  56008. else if(text[i_pos] == '.') i_period++;
  56009. i_pos++;
  56010. }
  56011. if(i_numcount >= 8 && i_period >= 3) {
  56012. format(string,sizeof(string),"Warning: %s may be server advertising: '%s'.", GetPlayerNameEx(playerid),text);
  56013. ABroadCast(COLOR_PINK, string, 2);
  56014. Log("logs/hack.log", string);
  56015. return 0;
  56016. }
  56017. }
  56018. }
  56019. if(TalkingLive[playerid] != INVALID_PLAYER_ID) {
  56020. if(PlayerInfo[playerid][pFaction] == 9 || PlayerInfo[playerid][pLeader] == 9) {
  56021. format(string, sizeof(string), "Live News Reporter %s: %s", GetPlayerNameEx(playerid), text);
  56022. ICNews(COLOR_LIGHTGREEN,string);
  56023. } else {
  56024. format(string, sizeof(string), "Live Interview Guest %s: %s", GetPlayerNameEx(playerid), text);
  56025. ICNews(COLOR_LIGHTGREEN,string);
  56026. }
  56027. return 0;
  56028. }
  56029. if(GetPVarInt(playerid, "ChoosingDrugs") == 1)
  56030. {
  56031. if(strcmp("pot", text, true) == 0)
  56032. {
  56033. new mypoint = -1;
  56034. for (new i=0; i<MAX_POINTS; i++)
  56035. {
  56036. if(IsPlayerInRangeOfPoint(playerid, 3.0, Points[i][Pointx], Points[i][Pointy], Points[i][Pointz]) && strcmp(Points[i][Name], "Drug Factory", true) == 0)
  56037. {
  56038. mypoint = i;
  56039. }
  56040. }
  56041. if(mypoint == -1)
  56042. {
  56043. SendClientMessage(playerid, COLOR_GREY, "You're not at the Drug Factory!");
  56044. return 0;
  56045. }
  56046. if(PlayerInfo[playerid][pCrates])
  56047. {
  56048. SendClientMessage(playerid, COLOR_GREY, " You can't hold any more Drug Crates!");
  56049. SetPVarInt(playerid, "ChoosingDrugs", 0);
  56050. return 0;
  56051. }
  56052. if(CheckPointCheck(playerid))
  56053. {
  56054. SendClientMessage(playerid, COLOR_WHITE, "Please ensure that your current checkpoint is destroyed first (you either have material packages, or another existing checkpoint).");
  56055. return 0;
  56056. }
  56057. if(GetPlayerCash(playerid) >= 100)
  56058. {
  56059. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* You bought some Drug Crates for $100.");
  56060. GivePlayerCash(playerid, -100);
  56061. PlayerInfo[playerid][pCrates] = 1;
  56062. SetPVarInt(playerid, "CrateDeliver", 1);
  56063. SetPVarInt(playerid, "ChoosingDrugs", 0);
  56064. SetPVarInt(playerid, "tpDrugRunTimer", 45);
  56065. SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_TPDRUGRUNTIMER);
  56066. SetPlayerCheckpoint(playerid, 2166.3772,-1675.3829,15.0859, 3);
  56067. for(new i = 0; i < sizeof(FamilyInfo); i++)
  56068. {
  56069. if(strcmp(Points[mypoint][Owner], FamilyInfo[i][FamilyName], true) == 0)
  56070. {
  56071. FamilyInfo[i][FamilyBank] += 50;
  56072. }
  56073. }
  56074. return 0;
  56075. }
  56076. else
  56077. {
  56078. SendClientMessage(playerid, COLOR_GREY," You can't afford the $100!");
  56079. SetPVarInt(playerid, "ChoosingDrugs", 0);
  56080. return 0;
  56081. }
  56082. }
  56083. else if(strcmp("crack", text, true) == 0)
  56084. {
  56085. new mypoint = -1;
  56086. for (new i=0; i<MAX_POINTS; i++)
  56087. {
  56088. if(IsPlayerInRangeOfPoint(playerid, 3.0, Points[i][Pointx], Points[i][Pointy], Points[i][Pointz]) && strcmp(Points[i][Name], "Drug Factory", true) == 0)
  56089. {
  56090. mypoint = i;
  56091. }
  56092. }
  56093. if(mypoint == -1)
  56094. {
  56095. SendClientMessage(playerid, COLOR_GREY, "You're not at the Drug Factory!");
  56096. return 0;
  56097. }
  56098. if(PlayerInfo[playerid][pCrates])
  56099. {
  56100. SendClientMessage(playerid, COLOR_GREY, " You can't hold any more drug crates!");
  56101. SetPVarInt(playerid, "ChoosingDrugs", 0);
  56102. return 0;
  56103. }
  56104. if(CheckPointCheck(playerid))
  56105. {
  56106. SendClientMessage(playerid, COLOR_WHITE, "Please ensure that your current checkpoint is destroyed first (you either have material packages, or another existing checkpoint).");
  56107. return 0;
  56108. }
  56109. if(GetPlayerCash(playerid) >= 100)
  56110. {
  56111. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* You bought some drug crates for $100.");
  56112. GivePlayerCash(playerid, -100);
  56113. PlayerInfo[playerid][pCrates] = 1;
  56114. SetPVarInt(playerid, "CrateDeliver", 2);
  56115. SetPVarInt(playerid, "ChoosingDrugs", 0);
  56116. SetPVarInt(playerid, "tpDrugRunTimer", 45);
  56117. SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_TPDRUGRUNTIMER);
  56118. SetPlayerCheckpoint(playerid, 2354.2808,-1169.2959,28.0066, 3);
  56119. for(new i = 0; i < sizeof(FamilyInfo); i++)
  56120. {
  56121. if(strcmp(Points[mypoint][Owner], FamilyInfo[i][FamilyName], true) == 0)
  56122. {
  56123. FamilyInfo[i][FamilyBank] += 50;
  56124. }
  56125. }
  56126. return 0;
  56127. }
  56128. else
  56129. {
  56130. SendClientMessage(playerid, COLOR_GREY," You can't afford the $100!");
  56131. SetPVarInt(playerid, "ChoosingDrugs", 0);
  56132. return 0;
  56133. }
  56134. }
  56135. else
  56136. {
  56137. SendClientMessage(playerid, COLOR_LIGHTRED,"What type of drugs would you like to smuggle? Type 'crack' or 'pot'.");
  56138. return 0;
  56139. }
  56140. }
  56141. if(MarriageCeremoney[playerid] > 0)
  56142. {
  56143. if(strcmp("yes", text, true) == 0)
  56144. {
  56145. if(GotProposedBy[playerid] < 999)
  56146. {
  56147. if(IsPlayerConnected(GotProposedBy[playerid]))
  56148. {
  56149. GetPlayerName(playerid, sendername, sizeof(sendername));
  56150. GetPlayerName(GotProposedBy[playerid], giveplayer, sizeof(giveplayer));
  56151. format(string, sizeof(string), "Priest: %s do you take %s as your lovely wife? (Type 'yes' - anything else will reject the marriage).", giveplayer,sendername);
  56152. SendClientMessage(GotProposedBy[playerid], COLOR_WHITE, string);
  56153. MarriageCeremoney[GotProposedBy[playerid]] = 1;
  56154. MarriageCeremoney[playerid] = 0;
  56155. GotProposedBy[playerid] = 999;
  56156. return 0; // Yeah... no more "YES DILDOS SEX RAPE LOL" broadcast to the whole server
  56157. }
  56158. else
  56159. {
  56160. MarriageCeremoney[playerid] = 0;
  56161. GotProposedBy[playerid] = 999;
  56162. return 0;
  56163. }
  56164. }
  56165. else if(ProposedTo[playerid] < 999)
  56166. {
  56167. if(IsPlayerConnected(ProposedTo[playerid]))
  56168. {
  56169. GetPlayerName(playerid, sendername, sizeof(sendername));
  56170. GetPlayerName(ProposedTo[playerid], giveplayer, sizeof(giveplayer));
  56171. if(PlayerInfo[playerid][pSex] == 1 && PlayerInfo[ProposedTo[playerid]][pSex] == 2)
  56172. {
  56173. format(string, sizeof(string), "Priest: %s and %s i pronounce you now... Husband & Wife, you may kiss the bride.", sendername, giveplayer);
  56174. SendClientMessage(playerid, COLOR_WHITE, string);
  56175. format(string, sizeof(string), "Priest: %s and %s i pronounce you now... Husband & Wife, you may kiss the groom.", giveplayer, sendername);
  56176. SendClientMessage(ProposedTo[playerid], COLOR_WHITE, string);
  56177. format(string, sizeof(string), "Marriage News: We have a new lovely couple! %s & %s have been married.", sendername, giveplayer);
  56178. SendClientMessageToAllEx(COLOR_WHITE, string);
  56179. }
  56180. else if(PlayerInfo[playerid][pSex] == 1 && PlayerInfo[ProposedTo[playerid]][pSex] == 1)
  56181. {
  56182. format(string, sizeof(string), "Priest: %s and %s i pronounce you now... Husband & Husband, you may kiss the bride.", sendername, giveplayer);
  56183. SendClientMessage(playerid, COLOR_WHITE, string);
  56184. format(string, sizeof(string), "Priest: %s and %s i pronounce you now... Husband & Husband, you may kiss the groom.", giveplayer, sendername);
  56185. SendClientMessage(ProposedTo[playerid], COLOR_WHITE, string);
  56186. format(string, sizeof(string), "Marriage News: We have a new gay couple! %s & %s have been married.", sendername, giveplayer);
  56187. SendClientMessageToAllEx(COLOR_WHITE, string);
  56188. }
  56189. else if(PlayerInfo[playerid][pSex] == 2 && PlayerInfo[ProposedTo[playerid]][pSex] == 2)
  56190. {
  56191. format(string, sizeof(string), "Priest: %s and %s i pronounce you now... Wife & Wife, you may kiss the Bride.", sendername, giveplayer);
  56192. SendClientMessage(playerid, COLOR_WHITE, string);
  56193. format(string, sizeof(string), "Priest: %s and %s i pronounce you now... Wife & Wife, you may kiss the Groom.", giveplayer, sendername);
  56194. SendClientMessage(ProposedTo[playerid], COLOR_WHITE, string);
  56195. format(string, sizeof(string), "Marriage News: We have a new lesbian couple! %s & %s have been married.", sendername, giveplayer);
  56196. SendClientMessageToAllEx(COLOR_WHITE, string);
  56197. }
  56198. //MarriageCeremoney[ProposedTo[playerid]] = 1;
  56199. MarriageCeremoney[ProposedTo[playerid]] = 0;
  56200. MarriageCeremoney[playerid] = 0;
  56201. format(PlayerInfo[ProposedTo[playerid]][pMarriedTo], MAX_PLAYER_NAME, "%s", sendername);
  56202. format(PlayerInfo[playerid][pMarriedTo], MAX_PLAYER_NAME, "%s", giveplayer);
  56203. GivePlayerCash(playerid, - 10000);
  56204. PlayerInfo[playerid][pMarried] = 1;
  56205. PlayerInfo[ProposedTo[playerid]][pMarried] = 1;
  56206. ProposedTo[playerid] = 999;
  56207. MarriageCeremoney[playerid] = 0;
  56208. return 0;
  56209. }
  56210. else
  56211. {
  56212. MarriageCeremoney[playerid] = 0;
  56213. ProposedTo[playerid] = 999;
  56214. return 0;
  56215. }
  56216. }
  56217. }
  56218. else
  56219. {
  56220. if(GotProposedBy[playerid] < 999)
  56221. {
  56222. if(IsPlayerConnected(GotProposedBy[playerid]))
  56223. {
  56224. format(string, sizeof(string), "* You didn't want to marry %s, no 'yes' was said.", GetPlayerNameEx(GotProposedBy[playerid]));
  56225. SendClientMessage(playerid, COLOR_YELLOW, string);
  56226. format(string, sizeof(string), "* %s did't want to marry you, no 'yes' was said.",GetPlayerNameEx(playerid));
  56227. SendClientMessage(GotProposedBy[playerid], COLOR_YELLOW, string);
  56228. return 0;
  56229. }
  56230. else
  56231. {
  56232. MarriageCeremoney[playerid] = 0;
  56233. GotProposedBy[playerid] = 999;
  56234. return 0;
  56235. }
  56236. }
  56237. else if(ProposedTo[playerid] < 999)
  56238. {
  56239. if(IsPlayerConnected(ProposedTo[playerid]))
  56240. {
  56241. format(string, sizeof(string), "* You didn't want to marry %s, no 'yes' was said.",GetPlayerNameEx(ProposedTo[playerid]));
  56242. SendClientMessage(playerid, COLOR_YELLOW, string);
  56243. format(string, sizeof(string), "* %s did't want to marry you, no 'yes' was said.",GetPlayerNameEx(playerid));
  56244. SendClientMessage(ProposedTo[playerid], COLOR_YELLOW, string);
  56245. return 0;
  56246. }
  56247. else
  56248. {
  56249. MarriageCeremoney[playerid] = 0;
  56250. ProposedTo[playerid] = 999;
  56251. return 0;
  56252. }
  56253. }
  56254. }
  56255. return 0;
  56256. }
  56257. if(CallLawyer[playerid] == 111)
  56258. {
  56259. if(strcmp("yes", text, true) == 0)
  56260. {
  56261. format(string, sizeof(string), "** %s is in jail, and needs a lawyer. Go to the Police Station.", GetPlayerNameEx(playerid));
  56262. SendJobMessage(2, TEAM_AZTECAS_COLOR, string);
  56263. SendClientMessage(playerid, COLOR_LIGHTRED, "A message has been sent to all available lawyers, please wait.");
  56264. WantLawyer[playerid] = 0;
  56265. CallLawyer[playerid] = 0;
  56266. return 0;
  56267. }
  56268. else
  56269. {
  56270. SendClientMessage(playerid, COLOR_LIGHTRED, "There is no lawyer available to you anymore. Jail time has started.");
  56271. WantLawyer[playerid] = 0;
  56272. CallLawyer[playerid] = 0;
  56273. return 0;
  56274. }
  56275. }
  56276. if(Mobile[playerid] != INVALID_PLAYER_ID)
  56277. {
  56278. format(string, sizeof(string), "(cellphone) %s says: %s", GetPlayerNameEx(playerid), text);
  56279. ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
  56280. if(Mobile[playerid] == 914)
  56281. {
  56282. if(!text[0])
  56283. {
  56284. SendClientMessage(playerid, TEAM_CYAN_COLOR, "Dispatch: Sorry, I don't understand?");
  56285. return 0;
  56286. }
  56287. SendClientMessage(playerid, TEAM_CYAN_COLOR, "Dispatch: We have alerted all units in the area.");
  56288. SendClientMessage(playerid, TEAM_CYAN_COLOR, "Thank you for reporting this incident");
  56289. format(string, sizeof(string), "Dispatch: All Units IA: Caller: %s",GetPlayerNameEx(playerid));
  56290. SendFamilyMessage(3, COLOR_TWPINK, string);
  56291. format(string, sizeof(string), "Dispatch: Incident: %s",text);
  56292. SendFamilyMessage(3, COLOR_TWPINK, string);
  56293. CalledMedics[playerid] = 1;
  56294. MedicsCallTime[playerid] = 60;
  56295. ShowPlayerBeaconForMedics(playerid);
  56296. SendClientMessage(playerid, COLOR_GRAD2, " They hung up...");
  56297. Mobile[playerid] = INVALID_PLAYER_ID;
  56298. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_STOPUSECELLPHONE);
  56299. RemovePlayerAttachedObject(playerid, 9);
  56300. return 0;
  56301. }
  56302. if(Mobile[playerid] == 913)
  56303. {
  56304. if(!text[0])
  56305. {
  56306. SendClientMessage(playerid, COLOR_ALLDEPT, "EMERGENCY: Sorry, I don't understand?");
  56307. return 0;
  56308. }
  56309. if(strcmp("no", text, true) == 0)
  56310. {
  56311. SendClientMessage(playerid, COLOR_DBLUE, "Police HQ: We have alerted all units in the area.");
  56312. SendClientMessage(playerid, COLOR_DBLUE, "Thank you for reporting this crime.");
  56313. new
  56314. szZone[MAX_ZONE_NAME];
  56315. GetPlayer2DZone(playerid, szZone, MAX_ZONE_NAME);
  56316. format(string, sizeof(string), "HQ: All Units APB: Reporter: %s (in %s)",GetPlayerNameEx(playerid), szZone);
  56317. SendFamilyMessage(1, COLOR_DBLUE, string);
  56318. SendFamilyMessage(2, COLOR_DBLUE, string);
  56319. format(string, sizeof(string), "HQ: Crime: %s, Suspect: Unknown",PlayerCrime[playerid][pAccusing]);
  56320. SendFamilyMessage(1, COLOR_DBLUE, string);
  56321. SendFamilyMessage(2, COLOR_DBLUE, string);
  56322. CalledCops[playerid] = 1;
  56323. CopsCallTime[playerid] = 60;
  56324. ShowPlayerBeaconForCops(playerid);
  56325. SendClientMessage(playerid, COLOR_GRAD2, " They hung up...");
  56326. Mobile[playerid] = INVALID_PLAYER_ID;
  56327. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_STOPUSECELLPHONE);
  56328. RemovePlayerAttachedObject(playerid, 9);
  56329. return 0;
  56330. }
  56331. new badguy = ReturnUser(text);
  56332. if(IsPlayerConnected(badguy))
  56333. {
  56334. if(badguy != INVALID_PLAYER_ID)
  56335. {
  56336. if(PlayerInfo[badguy][pWantedLevel] > 0)
  56337. {
  56338. SendClientMessage(playerid, COLOR_DBLUE, "Police HQ: Units are already assigned to that case...");
  56339. SendClientMessage(playerid, COLOR_DBLUE, "Thank you for reporting this crime.");
  56340. SendClientMessage(playerid, COLOR_GRAD2, " They hung up...");
  56341. Mobile[playerid] = INVALID_PLAYER_ID;
  56342. return 0;
  56343. }
  56344. if(badguy == playerid)
  56345. {
  56346. SendClientMessage(playerid, COLOR_DBLUE, "Police HQ: Don't fool around. This is an emergency line.");
  56347. SendClientMessage(playerid, COLOR_GRAD2, " They hung up...");
  56348. Mobile[playerid] = INVALID_PLAYER_ID;
  56349. return 0;
  56350. }
  56351. SendClientMessage(playerid, COLOR_DBLUE, "Police HQ: We have alerted all units in the area.");
  56352. SendClientMessage(playerid, COLOR_DBLUE, "Thank you for reporting this crime.");
  56353. new
  56354. szZone[MAX_ZONE_NAME];
  56355. GetPlayer2DZone(playerid, szZone, MAX_ZONE_NAME);
  56356. format(string, sizeof(string), "HQ: All Units APB: Reporter: %s (in %s)",GetPlayerNameEx(playerid), szZone);
  56357. SendFamilyMessage(1, COLOR_DBLUE, string);
  56358. SendFamilyMessage(2, COLOR_DBLUE, string);
  56359. format(string, sizeof(string), "HQ: Crime: %s, Suspect: %s",PlayerCrime[playerid][pAccusing], GetPlayerNameEx(badguy));
  56360. SendFamilyMessage(1, COLOR_DBLUE, string);
  56361. SendFamilyMessage(2, COLOR_DBLUE, string);
  56362. CalledCops[playerid] = 1;
  56363. CopsCallTime[playerid] = 60;
  56364. ShowPlayerBeaconForCops(playerid);
  56365. SendClientMessage(playerid, COLOR_GRAD2, " They hung up...");
  56366. Mobile[playerid] = INVALID_PLAYER_ID;
  56367. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_STOPUSECELLPHONE);
  56368. RemovePlayerAttachedObject(playerid, 9);
  56369. return 0;
  56370. }
  56371. return 0;
  56372. }
  56373. else
  56374. {
  56375. format(string, sizeof(string), "Police HQ: I have no information on %s, are you sure that's the correct name?",text);
  56376. SendClientMessage(playerid, COLOR_DBLUE, string);
  56377. return 0;
  56378. }
  56379. }
  56380. if(Mobile[playerid] == 912)
  56381. {
  56382. if(!text[0])
  56383. {
  56384. SendClientMessage(playerid, COLOR_ALLDEPT, "EMERGENCY: Sorry, I don't understand?");
  56385. return 0;
  56386. }
  56387. strmid(PlayerCrime[playerid][pAccusing], text, 0, strlen(text), 255);
  56388. SendClientMessage(playerid, COLOR_DBLUE, "Police HQ: If you know the assailant's name or part of it say it now or just say no.");
  56389. Mobile[playerid] = 913;
  56390. return 0;
  56391. }
  56392. if(Mobile[playerid] == 911)
  56393. {
  56394. if(!text[0])
  56395. {
  56396. SendClientMessage(playerid, COLOR_ALLDEPT, "EMERGENCY: Sorry, I don't understand - police or paramedic?");
  56397. return 0;
  56398. }
  56399. else if(strcmp("police", text, true) == 0)
  56400. {
  56401. SendClientMessage(playerid, COLOR_ALLDEPT, "EMERGENCY: I am patching you to police headquarters, please hold...");
  56402. Mobile[playerid] = 912;
  56403. SendClientMessage(playerid, COLOR_DBLUE, "Police HQ: Please give me a short description of the crime.");
  56404. return 0;
  56405. }
  56406. else if(strcmp("paramedic", text, true) == 0)
  56407. {
  56408. SendClientMessage(playerid, COLOR_ALLDEPT, "EMERGENCY: I am patching you to LSFMD headquarters, please hold...");
  56409. Mobile[playerid] = 914;
  56410. SendClientMessage(playerid, TEAM_CYAN_COLOR, "Dispatch: Please give me a short description of the incident.");
  56411. return 0;
  56412. }
  56413. else
  56414. {
  56415. SendClientMessage(playerid, COLOR_ALLDEPT, "EMERGENCY: Sorry, I don't understand - police or paramedic?");
  56416. return 0;
  56417. }
  56418. }
  56419. if(IsPlayerConnected(Mobile[playerid]))
  56420. {
  56421. if(Mobile[Mobile[playerid]] == playerid)
  56422. {
  56423. /*if(PlayerInfo[Mobile[playerid]][pSpeakerPhone] != 0)
  56424. {
  56425. format(string, sizeof(string), "(speakerphone) %s says: %s", GetPlayerNameEx(playerid), text);
  56426. ProxDetector(20.0, Mobile[playerid], string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
  56427. }
  56428. else
  56429. {
  56430. SendClientMessage(Mobile[playerid], COLOR_YELLOW,string);
  56431. }*/
  56432. SendClientMessage(Mobile[playerid], COLOR_YELLOW,string);
  56433. if(PlayerInfo[playerid][pBugged] == 1)
  56434. {
  56435. format(string, sizeof(string), "(bug) %s (cellphone): %s", GetPlayerNameEx(playerid), text);
  56436. SendBugMessage(2, COLOR_LIGHTGREEN, string);
  56437. }
  56438. }
  56439. }
  56440. else
  56441. {
  56442. SendClientMessage(playerid, COLOR_GREY, "There's nobody there!");
  56443. CellTime[playerid] = 0;
  56444. SendClientMessage(playerid, COLOR_GRAD2, " You hung up.");
  56445. format(string, sizeof(string), "* %s puts away their cellphone.", GetPlayerNameEx(playerid));
  56446. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  56447. Mobile[playerid] = INVALID_PLAYER_ID;
  56448. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_STOPUSECELLPHONE);
  56449. RemovePlayerAttachedObject(playerid, 9);
  56450. }
  56451. return 0;
  56452. }
  56453. sendername = GetPlayerNameEx(playerid);
  56454. switch(PlayerInfo[playerid][pAccent])
  56455. {
  56456. case 0, 1:
  56457. {
  56458. if(AdminDuty[playerid] == 1)
  56459. format(string, sizeof(string), "%s says: (( %s )) ", sendername, text);
  56460. else
  56461. format(string, sizeof(string), "%s says: %s", sendername, text);
  56462. ProxDetector(20.0, playerid,string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
  56463. SetPlayerChatBubble(playerid,text,COLOR_WHITE,20.0,5000);
  56464. }
  56465. case 2:
  56466. {
  56467. format(string, sizeof(string), "(British accent) %s says: %s", sendername, text);
  56468. ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
  56469. SetPlayerChatBubble(playerid,text,COLOR_WHITE,20.0,5000);
  56470. }
  56471. case 3:
  56472. {
  56473. format(string, sizeof(string), "(Asian accent) %s says: %s", sendername, text);
  56474. ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
  56475. SetPlayerChatBubble(playerid,text,COLOR_WHITE,20.0,5000);
  56476. }
  56477. case 4:
  56478. {
  56479. format(string, sizeof(string), "(Scottish accent) %s says: %s", sendername, text);
  56480. ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
  56481. SetPlayerChatBubble(playerid,text,COLOR_WHITE,20.0,5000);
  56482. }
  56483. case 5:
  56484. {
  56485. format(string, sizeof(string), "(Irish accent) %s says: %s", sendername, text);
  56486. ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
  56487. SetPlayerChatBubble(playerid,text,COLOR_WHITE,20.0,5000);
  56488. }
  56489. case 6:
  56490. {
  56491. format(string, sizeof(string), "(Russian accent) %s says: %s", sendername, text);
  56492. ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
  56493. SetPlayerChatBubble(playerid,text,COLOR_WHITE,20.0,5000);
  56494. }
  56495. case 7:
  56496. {
  56497. format(string, sizeof(string), "(American accent) %s says: %s", sendername, text);
  56498. ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
  56499. SetPlayerChatBubble(playerid,text,COLOR_WHITE,20.0,5000);
  56500. }
  56501. case 8:
  56502. {
  56503. format(string, sizeof(string), "(Spanish accent) %s says: %s", sendername, text);
  56504. ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
  56505. SetPlayerChatBubble(playerid,text,COLOR_WHITE,20.0,5000);
  56506. }
  56507. case 9:
  56508. {
  56509. format(string, sizeof(string), "(Southern Accent) %s says: %s", sendername, text);
  56510. ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
  56511. SetPlayerChatBubble(playerid,text,COLOR_WHITE,20.0,5000);
  56512. }
  56513. case 10:
  56514. {
  56515. format(string, sizeof(string), "(Cuban accent) %s says: %s", sendername, text);
  56516. ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
  56517. SetPlayerChatBubble(playerid,text,COLOR_WHITE,20.0,5000);
  56518. }
  56519. case 11:
  56520. {
  56521. format(string, sizeof(string), "(Italian accent) %s says: %s", sendername, text);
  56522. ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
  56523. SetPlayerChatBubble(playerid,text,COLOR_WHITE,20.0,5000);
  56524. }
  56525. case 12:
  56526. {
  56527. format(string, sizeof(string), "(Gangster accent) %s says: %s", sendername, text);
  56528. ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
  56529. SetPlayerChatBubble(playerid,text,COLOR_WHITE,20.0,5000);
  56530. }
  56531. case 13:
  56532. {
  56533. format(string, sizeof(string), "(Australian accent) %s says: %s", sendername, text);
  56534. ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
  56535. SetPlayerChatBubble(playerid,text,COLOR_WHITE,20.0,5000);
  56536. }
  56537. case 14:
  56538. {
  56539. format(string, sizeof(string), "(Arabic accent) %s says: %s", sendername, text);
  56540. ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
  56541. SetPlayerChatBubble(playerid,text,COLOR_WHITE,20.0,5000);
  56542. }
  56543. case 15:
  56544. {
  56545. format(string, sizeof(string), "(Balkan accent) %s says: %s", sendername, text);
  56546. ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
  56547. SetPlayerChatBubble(playerid,text,COLOR_WHITE,20.0,5000);
  56548. }
  56549. case 16:
  56550. {
  56551. format(string, sizeof(string), "(Canadian accent) %s says: %s", sendername, text);
  56552. ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
  56553. SetPlayerChatBubble(playerid,text,COLOR_WHITE,20.0,5000);
  56554. }
  56555. case 17:
  56556. {
  56557. format(string, sizeof(string), "(Jamaican accent) %s says: %s", sendername, text);
  56558. ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
  56559. SetPlayerChatBubble(playerid,text,COLOR_WHITE,20.0,5000);
  56560. }
  56561. case 18:
  56562. {
  56563. format(string, sizeof(string), "(Israeli accent) %s says: %s", sendername, text);
  56564. ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
  56565. SetPlayerChatBubble(playerid,text,COLOR_WHITE,20.0,5000);
  56566. }
  56567. case 19:
  56568. {
  56569. format(string, sizeof(string), "(Indian accent) %s says: %s", sendername, text);
  56570. ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
  56571. SetPlayerChatBubble(playerid,text,COLOR_WHITE,20.0,5000);
  56572. }
  56573. case 20:
  56574. {
  56575. format(string, sizeof(string), "(Welsh accent) %s says: %s", sendername, text);
  56576. ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
  56577. SetPlayerChatBubble(playerid,text,COLOR_WHITE,20.0,5000);
  56578. }
  56579. case 21:
  56580. {
  56581. format(string, sizeof(string), "(French accent) %s says: %s", sendername, text);
  56582. ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
  56583. SetPlayerChatBubble(playerid,text,COLOR_WHITE,20.0,5000);
  56584. }
  56585. case 22:
  56586. {
  56587. format(string, sizeof(string), "(German accent) %s says: %s", sendername, text);
  56588. ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
  56589. SetPlayerChatBubble(playerid,text,COLOR_WHITE,20.0,5000);
  56590. }
  56591. case 23:
  56592. {
  56593. format(string, sizeof(string), "(Dutch accent) %s says: %s", sendername, text);
  56594. ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
  56595. SetPlayerChatBubble(playerid,text,COLOR_WHITE,20.0,5000);
  56596. }
  56597. case 24:
  56598. {
  56599. format(string, sizeof(string), "(South African accent) %s says: %s", sendername, text);
  56600. ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
  56601. SetPlayerChatBubble(playerid,text,COLOR_WHITE,20.0,5000);
  56602. }
  56603. case 25:
  56604. {
  56605. format(string, sizeof(string), "(Filipino accent) %s says: %s", sendername, text);
  56606. ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
  56607. SetPlayerChatBubble(playerid,text,COLOR_WHITE,20.0,5000);
  56608. }
  56609. case 26:
  56610. {
  56611. format(string, sizeof(string), "%s says: %s", sendername, text);
  56612. ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
  56613. SetPlayerChatBubble(playerid,text,COLOR_WHITE,20.0,5000);
  56614. }
  56615. }
  56616. if(PlayerInfo[playerid][pBugged] == 1)
  56617. {
  56618. format(string, sizeof(string), "(bug) %s: %s", GetPlayerNameEx(playerid), text);
  56619. SendBugMessage(2, COLOR_LIGHTGREEN, string);
  56620. }
  56621. return 0;
  56622. }
  56623. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) {
  56624. if(PlayerCuffed[playerid] != 0)
  56625. SetPVarInt(playerid, "ToBeEjected", 1);
  56626. if(GetPVarInt(playerid, "Injured") == 1)
  56627. SetPVarInt(playerid, "ToBeEjected", 1);
  56628. SetPVarInt(playerid, "LastWeapon", GetPlayerWeapon(playerid));
  56629. new engine,lights,alarm,doors,bonnet,boot,objective;
  56630. GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
  56631. if(GetPVarInt(playerid, "Pizza") != 0 && !(IsAPizzaCar(vehicleid))) {
  56632. new Float:slx, Float:sly, Float:slz;
  56633. GetPlayerPos(playerid, slx, sly, slz);
  56634. SetPlayerPos(playerid, slx, sly, slz+1.3);
  56635. PlayerPlaySound(playerid, 1130, slx, sly, slz+1.3);
  56636. RemovePlayerFromVehicle(playerid);
  56637. NOPCheck(playerid);
  56638. SendClientMessage(playerid, COLOR_GRAD2, "You need to be in a PizzaBoy when delivering pizzas!");
  56639. return 1;
  56640. }
  56641. /*if(PlayerInfo[playerid][pVDB] == 1)
  56642. {
  56643. new string[128];
  56644. new Float:health;
  56645. GetVehicleHealth(vehicleid, health);
  56646. format(string, sizeof(string), "%.0f", health);
  56647. PlayerTextDrawSetString(playerid, VDB3[playerid], string);
  56648. format(string, sizeof(string), "%s", GetVehicleName(vehicleid));
  56649. PlayerTextDrawSetString(playerid, VDB1[playerid], string);
  56650. format(string, sizeof(string), "%.0f MPH", player_get_speed(playerid));
  56651. PlayerTextDrawSetString(playerid, VDB5[playerid], string);
  56652. PlayerTextDrawShow(playerid, VDB1[playerid]);
  56653. PlayerTextDrawShow(playerid, VDB2[playerid]);
  56654. PlayerTextDrawShow(playerid, VDB3[playerid]);
  56655. PlayerTextDrawShow(playerid, VDB4[playerid]);
  56656. PlayerTextDrawShow(playerid, VDB5[playerid]);
  56657. TextDrawShowForPlayer(playerid,VDB0);
  56658. }*/
  56659. if(!ispassenger)
  56660. {
  56661. SetPlayerArmedWeapon(playerid, 0);
  56662. if(GetChased[playerid] < 999 && VehicleBomb{vehicleid} == 1)
  56663. {
  56664. if(PlayerInfo[playerid][pHeadValue] >= 1)
  56665. {
  56666. if(PlayerInfo[GetChased[playerid]][pFaction] == 4 || PlayerInfo[GetChased[playerid]][pLeader] == 4)
  56667. {
  56668. VehicleBomb{vehicleid} = 0;
  56669. SetTimerEx("VehicleBombDelay", 5000, 0, "d", playerid);
  56670. return 1;
  56671. }
  56672. }
  56673. }
  56674. if(IsACopCar(vehicleid)) {
  56675. if(PlayerInfo[playerid][pFaction] != 1 && PlayerInfo[playerid][pLeader] != 1) {
  56676. RemovePlayerFromVehicle(playerid);
  56677. new Float:slx, Float:sly, Float:slz;
  56678. GetPlayerPos(playerid, slx, sly, slz);
  56679. SetPlayerPos(playerid, slx, sly, slz);
  56680. NOPCheck(playerid);
  56681. SendClientMessage(playerid, COLOR_GRAD2, "You're not in the LSPD!");
  56682. }
  56683. }
  56684. else if(IsAnARESCar(vehicleid)) {
  56685. if(PlayerInfo[playerid][pFaction] != 10 && PlayerInfo[playerid][pLeader] != 10) {
  56686. RemovePlayerFromVehicle(playerid);
  56687. new Float:slx, Float:sly, Float:slz;
  56688. GetPlayerPos(playerid, slx, sly, slz);
  56689. SetPlayerPos(playerid, slx, sly, slz);
  56690. NOPCheck(playerid);
  56691. SendClientMessage(playerid, COLOR_GRAD2, "You're not in the ARES!");
  56692. }
  56693. }
  56694. else if(IsAFBICar(vehicleid)) {
  56695. if(PlayerInfo[playerid][pFaction] != 2 && PlayerInfo[playerid][pLeader] != 2) {
  56696. RemovePlayerFromVehicle(playerid);
  56697. new Float:slx, Float:sly, Float:slz;
  56698. GetPlayerPos(playerid, slx, sly, slz);
  56699. SetPlayerPos(playerid, slx, sly, slz);
  56700. NOPCheck(playerid);
  56701. SendClientMessage(playerid, COLOR_GRAD2, "You're not in the FBI!");
  56702. }
  56703. }
  56704. else if(IsAPizzaCar(vehicleid)) {
  56705. if(PlayerInfo[playerid][pJob] != 21 && PlayerInfo[playerid][pJob2] != 21) {
  56706. new Float:slx, Float:sly, Float:slz;
  56707. GetPlayerPos(playerid, slx, sly, slz);
  56708. SetPlayerPos(playerid, slx, sly, slz+1.3);
  56709. PlayerPlaySound(playerid, 1130, slx, sly, slz+1.3);
  56710. RemovePlayerFromVehicle(playerid);
  56711. NOPCheck(playerid);
  56712. SendClientMessage(playerid, COLOR_GRAD2, "You're not a Pizza Boy!");
  56713. }
  56714. }
  56715. else if(IsAnAmbulance(vehicleid)) {
  56716. if(PlayerInfo[playerid][pFaction] == 3 || PlayerInfo[playerid][pLeader] == 3) {
  56717. if(LSFMDVehicles[13] == vehicleid && PlayerInfo[playerid][pRank] < 5) {
  56718. RemovePlayerFromVehicle(playerid);
  56719. new Float:slx, Float:sly, Float:slz;
  56720. GetPlayerPos(playerid, slx, sly, slz);
  56721. SetPlayerPos(playerid, slx, sly, slz);
  56722. NOPCheck(playerid);
  56723. SendClientMessage(playerid, COLOR_GRAD2, "Only ranks 5+ can drive this vehicle.");
  56724. }
  56725. }
  56726. else
  56727. {
  56728. SendClientMessage(playerid,COLOR_GREY," You're not in the LSFMD!");
  56729. RemovePlayerFromVehicle(playerid);
  56730. new Float:slx, Float:sly, Float:slz;
  56731. GetPlayerPos(playerid, slx, sly, slz);
  56732. SetPlayerPos(playerid, slx, sly, slz);
  56733. NOPCheck(playerid);
  56734. }
  56735. }
  56736. else if(IGMAVeh(vehicleid)) {
  56737. if(PlayerInfo[playerid][pFaction] != 9 && PlayerInfo[playerid][pLeader] != 9) {
  56738. RemovePlayerFromVehicle(playerid);
  56739. new Float:slx, Float:sly, Float:slz;
  56740. GetPlayerPos(playerid, slx, sly, slz);
  56741. SetPlayerPos(playerid, slx, sly, slz);
  56742. NOPCheck(playerid);
  56743. SendClientMessage(playerid, COLOR_GRAD2, "You're not in the San Andreas News faction!");
  56744. } else if(GetVehicleModel(vehicleid) == 488 && PlayerInfo[playerid][pRank] < 3) {
  56745. RemovePlayerFromVehicle(playerid);
  56746. new Float:slx, Float:sly, Float:slz;
  56747. GetPlayerPos(playerid, slx, sly, slz);
  56748. SetPlayerPos(playerid, slx, sly, slz);
  56749. NOPCheck(playerid);
  56750. SendClientMessage(playerid, COLOR_GRAD2, "You must be Rank 3 or higher to pilot this helicopter.");
  56751. }
  56752. }
  56753. else if(IsAGovCar(vehicleid)) {
  56754. if(PlayerInfo[playerid][pFaction] != 5 && PlayerInfo[playerid][pLeader] != 5) {
  56755. RemovePlayerFromVehicle(playerid);
  56756. new Float:slx, Float:sly, Float:slz;
  56757. GetPlayerPos(playerid, slx, sly, slz);
  56758. SetPlayerPos(playerid, slx, sly, slz);
  56759. NOPCheck(playerid);
  56760. SendClientMessage(playerid, COLOR_GRAD2, "You're not in the Government!");
  56761. }
  56762. }
  56763. else if(IsAPlane(vehicleid)) {
  56764. if(PlayerInfo[playerid][pFlyLic] != 1) {
  56765. RemovePlayerFromVehicle(playerid);
  56766. new Float:slx, Float:sly, Float:slz;
  56767. GetPlayerPos(playerid, slx, sly, slz);
  56768. SetPlayerPos(playerid, slx, sly, slz);
  56769. NOPCheck(playerid);
  56770. SendClientMessage(playerid,COLOR_GREY,"You don't have a pilot license!");
  56771. }
  56772. }
  56773. else if(IsAHelicopter(vehicleid)) {
  56774. PlayerInfo[playerid][pAGuns][GetWeaponSlot(46)] = 46;
  56775. GivePlayerValidWeapon(playerid, 46, 60000);
  56776. }
  56777. else if(IsATruckerCar(vehicleid)) {
  56778. if(PlayerInfo[playerid][pJob] == 20 || PlayerInfo[playerid][pJob2] == 20) {
  56779. new string[128];
  56780. new truckcontents = TruckContents[vehicleid];
  56781. new truckcontentname[50];
  56782. if(truckcontents == 0)
  56783. { format(truckcontentname, sizeof(truckcontentname), "None"); }
  56784. else if(truckcontents >= 1 && truckcontents <= 3)
  56785. { format(truckcontentname, sizeof(truckcontentname), "{00F70C}Food & beverages");}
  56786. else if(truckcontents >= 4 && truckcontents <= 6)
  56787. { format(truckcontentname, sizeof(truckcontentname), "{00F70C}Clothing"); }
  56788. else if(truckcontents == 7)
  56789. { format(truckcontentname, sizeof(truckcontentname), "{00F70C}Legal materials"); }
  56790. else if(truckcontents >= 8 && truckcontents <= 10)
  56791. { format(truckcontentname, sizeof(truckcontentname), "{00F70C}24/7 items"); }
  56792. else if(truckcontents >= 11 && truckcontents <= 15)
  56793. { format(truckcontentname, sizeof(truckcontentname), "{F7F304}Illegal weapons"); }
  56794. else if(truckcontents >= 16 && truckcontents <= 20)
  56795. { format(truckcontentname, sizeof(truckcontentname), "{F7F304}Illegal drugs"); }
  56796. else if(truckcontents >= 21 && truckcontents <= 25)
  56797. { format(truckcontentname, sizeof(truckcontentname), "{F7F304}Illegal materials"); }
  56798. format(string, sizeof(string), "TRUCKER JOB: (Truck registration: %s %d) - (Content: %s{FFFF00})", GetVehicleName(vehicleid), vehicleid, truckcontentname);
  56799. SendClientMessage(playerid, COLOR_YELLOW, string);
  56800. if(IsACop(playerid) && truckcontents >= 11)
  56801. {
  56802. SendClientMessage(playerid, COLOR_YELLOW, "TRUCKER JOB: To remove the illegal goods type /cleartruck near the Truck.");
  56803. }
  56804. if(truckcontents > 0 && TruckUsed[playerid] == INVALID_VEHICLE_ID)
  56805. {
  56806. SendClientMessage(playerid, COLOR_YELLOW, "TRUCKER JOB: To deliver the goods type /hijacktruck as the driver.");
  56807. }
  56808. else if(TruckUsed[playerid] == INVALID_VEHICLE_ID)
  56809. {
  56810. SendClientMessage(playerid, COLOR_YELLOW, "TRUCKER JOB: To get goods type /loadtruck as the driver.");
  56811. }
  56812. else if(TruckUsed[playerid] == vehicleid && gPlayerCheckpointStatus[playerid] == CHECKPOINT_RETURNTRUCK)
  56813. {
  56814. SendClientMessage(playerid, COLOR_YELLOW, "TRUCKER JOB: This is your Truck, you have not returned it to the docks yet for your pay.");
  56815. }
  56816. else if(TruckUsed[playerid] == vehicleid)
  56817. {
  56818. SendClientMessage(playerid, COLOR_YELLOW, "TRUCKER JOB: This is your Truck, you have not delivered your goods yet.");
  56819. }
  56820. else if(TruckUsed[playerid] != INVALID_VEHICLE_ID)
  56821. {
  56822. SendClientMessage(playerid, COLOR_YELLOW, "TRUCKER JOB: you're already on another delivery, type /cancel truck to cancel that delivery.");
  56823. }
  56824. }
  56825. else
  56826. {
  56827. RemovePlayerFromVehicle(playerid);
  56828. new Float:slx, Float:sly, Float:slz;
  56829. GetPlayerPos(playerid, slx, sly, slz);
  56830. SetPlayerPos(playerid, slx, sly, slz);
  56831. NOPCheck(playerid);
  56832. SendClientMessage(playerid, COLOR_GRAD2, "You're not a Trucker!");
  56833. }
  56834. }
  56835. else if(IsAnTaxi(vehicleid) || IsAnBus(vehicleid)) {
  56836. if(PlayerInfo[playerid][pJob] != 17 && PlayerInfo[playerid][pJob2] != 17) {
  56837. SendClientMessage(playerid,COLOR_GREY," You're not a Taxi/Bus Driver!");
  56838. RemovePlayerFromVehicle(playerid);
  56839. new Float:slx, Float:sly, Float:slz;
  56840. GetPlayerPos(playerid, slx, sly, slz);
  56841. SetPlayerPos(playerid, slx, sly, slz);
  56842. }
  56843. }
  56844. else if(IsAGarbageCar(vehicleid)) {
  56845. if(PlayerInfo[playerid][pJob] != 22 && PlayerInfo[playerid][pJob2] != 22) {
  56846. SendClientMessage(playerid,COLOR_GREY," You're not a Garbage Man!");
  56847. RemovePlayerFromVehicle(playerid);
  56848. new Float:slx, Float:sly, Float:slz;
  56849. GetPlayerPos(playerid, slx, sly, slz);
  56850. SetPlayerPos(playerid, slx, sly, slz);
  56851. }
  56852. }
  56853. }
  56854. else if(!IsPlayerInRangeOfVehicle(playerid, vehicleid, 7.5) || LockStatus[vehicleid] >= 1) { // G-bugging fix
  56855. ClearAnimations(playerid);
  56856. }
  56857. return 1;
  56858. }
  56859. public OnPlayerExitVehicle(playerid, vehicleid)
  56860. {
  56861. if(GetPlayerState(playerid) == 1)
  56862. return 1;
  56863. if(GetPVarInt(playerid, "rccam") == 1)
  56864. {
  56865. DestroyVehicle(GetPVarInt(playerid, "rcveh"));
  56866. VehicleRadioStation[GetPVarInt(playerid, "rcveh")] = 0;
  56867. SetPlayerPos(playerid, GetPVarFloat(playerid, "rcX"), GetPVarFloat(playerid, "rcY"), GetPVarFloat(playerid, "rcZ"));
  56868. DeletePVar(playerid, "rccam");
  56869. KillTimer(GetPVarInt(playerid, "rccamtimer"));
  56870. }
  56871. /*PlayerTextDrawHide(playerid, VDB1[playerid]);
  56872. PlayerTextDrawHide(playerid, VDB2[playerid]);
  56873. PlayerTextDrawHide(playerid, VDB3[playerid]);
  56874. PlayerTextDrawHide(playerid, VDB4[playerid]);
  56875. PlayerTextDrawHide(playerid, VDB5[playerid]);
  56876. TextDrawHideForPlayer(playerid, VDB0);*/
  56877. return 1;
  56878. }
  56879. public OnPlayerStateChange(playerid, newstate, oldstate) {
  56880. if(GettingSpectated[playerid] != 999)
  56881. {
  56882. new spectator = GettingSpectated[playerid];
  56883. if(!IsPlayerConnected(spectator))
  56884. {
  56885. GettingSpectated[playerid] = 999;
  56886. Spectate[spectator] = 999;
  56887. }
  56888. if(newstate == PLAYER_STATE_DRIVER && PlayerInfo[spectator][pAdmin] >= 2 || newstate == PLAYER_STATE_PASSENGER && PlayerInfo[spectator][pAdmin] >= 2)
  56889. {
  56890. TogglePlayerSpectating(spectator, true);
  56891. new carid = GetPlayerVehicleID(playerid);
  56892. PlayerSpectateVehicle(spectator, carid);
  56893. }
  56894. else if(newstate == PLAYER_STATE_ONFOOT && PlayerInfo[spectator][pAdmin] >= 2)
  56895. {
  56896. TogglePlayerSpectating(spectator, true);
  56897. PlayerSpectatePlayer(spectator, playerid);
  56898. SetPlayerInterior(spectator, GetPlayerInterior(playerid));
  56899. }
  56900. }
  56901. if((newstate == 2 || newstate == 3 || newstate == 7 || newstate == 9) && pTazer[playerid] == 1)
  56902. {
  56903. RemovePlayerWeapon(playerid, 23);
  56904. GivePlayerValidWeapon(playerid, pTazerReplace[playerid], 60000);
  56905. pTazer[playerid] = 0;
  56906. }
  56907. if(newstate == PLAYER_STATE_ONFOOT)
  56908. {
  56909. StopAudioStreamForPlayer(playerid);
  56910. PlayerTextDrawHide(playerid, Textdraw0[playerid]);
  56911. PlayerTextDrawHide(playerid, Textdraw1[playerid]);
  56912. if(GettingSpectated[playerid] < MAX_PLAYERS && PlayerInfo[GettingSpectated[playerid]][pAdmin] >= 2)
  56913. {
  56914. new spectator = GettingSpectated[playerid];
  56915. // Preventing possible buffer overflows with the arrays
  56916. TogglePlayerSpectating(spectator, true);
  56917. PlayerSpectatePlayer(spectator, playerid);
  56918. SetPlayerInterior(spectator, GetPlayerInterior(playerid));
  56919. SetPlayerInterior(spectator, GetPlayerInterior(playerid));
  56920. SetPlayerVirtualWorld(spectator, GetPlayerVirtualWorld(playerid));
  56921. }
  56922. if(ConnectedToPC[playerid] == 1337)//mdc
  56923. {
  56924. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* you're now logged off the MDC.");
  56925. ConnectedToPC[playerid] = 0;
  56926. }
  56927. if(TransportDuty[playerid] > 0)
  56928. {
  56929. if(TransportDuty[playerid] == 1)
  56930. {
  56931. TaxiDrivers -= 1;
  56932. }
  56933. else if(TransportDuty[playerid] == 2)
  56934. {
  56935. BusDrivers -= 1;
  56936. }
  56937. TransportDuty[playerid] = 0;
  56938. new string[42];
  56939. format(string, sizeof(string), "* you're now off duty and earned $%d.", TransportMoney[playerid]);
  56940. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  56941. GivePlayerCash(playerid, TransportMoney[playerid]);
  56942. ConsumingMoney[playerid] = 1; TransportValue[playerid] = 0; TransportMoney[playerid] = 0;
  56943. SetPlayerColor(playerid, TEAM_HIT_COLOR);
  56944. TransportTime[playerid] = 0;
  56945. TransportCost[playerid] = 0;
  56946. }
  56947. if(TransportDriver[playerid] < 999)
  56948. {
  56949. new string[128];
  56950. TransportMoney[TransportDriver[playerid]] += TransportCost[playerid];
  56951. format(string, sizeof(string), "~w~The ride cost~n~~r~$%d",TransportCost[playerid]);
  56952. GameTextForPlayer(playerid, string, 5000, 3);
  56953. format(string, sizeof(string), "~w~Passenger left the taxi.~n~~g~Earned $%d",TransportCost[playerid]);
  56954. GameTextForPlayer(TransportDriver[playerid], string, 5000, 3);
  56955. GivePlayerCash(playerid, -TransportCost[playerid]);
  56956. new ip[32], ipex[32];
  56957. GetPlayerIp(playerid, ip, sizeof(ip));
  56958. GetPlayerIp(TransportDriver[playerid], ipex, sizeof(ipex));
  56959. TaxiWarn[playerid][TransportDriver[playerid]] += TransportCost[playerid];
  56960. if(TaxiWarn[playerid][TransportDriver[playerid]] >= 10000)
  56961. {
  56962. format(string, sizeof(string), "%s (IP:%s) has taxied %s (IP:%s) $%d in this session.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(TransportDriver[playerid]), ipex, TaxiWarn[playerid][TransportDriver[playerid]]);
  56963. //Log("logs/pay.log", string);
  56964. ABroadCast(COLOR_YELLOW, string, 1);
  56965. }
  56966. TransportTime[TransportDriver[playerid]] = 0;
  56967. TransportCost[TransportDriver[playerid]] = 0;
  56968. TransportCost[playerid] = 0;
  56969. TransportTime[playerid] = 0;
  56970. TransportDriver[playerid] = 999;
  56971. }
  56972. TelePos[playerid][0] = 0.0;
  56973. TelePos[playerid][1] = 0.0;
  56974. }
  56975. if(newstate == PLAYER_STATE_WASTED)
  56976. {
  56977. if(GetPVarInt(playerid, "EventToken") == 0)
  56978. {
  56979. SetPVarInt(playerid, "MedicBill", 1);
  56980. }
  56981. }
  56982. if(newstate == PLAYER_STATE_PASSENGER)
  56983. {
  56984. fVehSpeed[playerid] = 0;
  56985. new vehicleid = GetPlayerVehicleID(playerid);
  56986. gLastCar[playerid] = vehicleid;
  56987. if(PlayerInfo[playerid][pGuns][4] > 0) SetPlayerArmedWeapon(playerid,PlayerInfo[playerid][pGuns][4]);
  56988. else SetPlayerArmedWeapon(playerid,0);
  56989. if(GetPVarInt(playerid, "ToBeEjected") >= 1)
  56990. {
  56991. SetPVarInt(playerid, "ToBeEjected", 0);
  56992. RemovePlayerFromVehicle(playerid);
  56993. new Float:X, Float:Y, Float:Z;
  56994. GetPlayerPos(playerid, X, Y, Z);
  56995. SetPlayerPos(playerid, X, Y, Z+2);
  56996. if(GetPVarInt(playerid, "Injured") == 1)
  56997. {
  56998. Streamer_UpdateEx(playerid, GetPVarFloat(playerid,"MedicX"), GetPVarFloat(playerid,"MedicY"), GetPVarFloat(playerid,"MedicZ"));
  56999. SetPlayerPos(playerid, GetPVarFloat(playerid,"MedicX"), GetPVarFloat(playerid,"MedicY"), GetPVarFloat(playerid,"MedicZ"));
  57000. SetPlayerVirtualWorld(playerid, GetPVarInt(playerid,"MedicVW"));
  57001. SetPlayerInterior(playerid, GetPVarInt(playerid,"MedicInt"));
  57002. ClearAnimations(playerid);
  57003. ApplyAnimation(playerid, "KNIFE", "KILL_Knife_Ped_Die", 4.0, 0, 1, 1, 1, 0, 1);
  57004. }
  57005. }
  57006. if(VehicleRadioStation[GetPlayerVehicleID(playerid)] != 0)
  57007. {
  57008. new getradio = VehicleRadioStation[GetPlayerVehicleID(playerid)]-1;
  57009. PlayAudioStreamForPlayer(playerid, VehicleRadioListing[getradio][radiourl]);
  57010. }
  57011. foreach(Player, i)
  57012. {
  57013. if(IsPlayerInVehicle(i, vehicleid) && GetPlayerState(i) == 2 && TransportDuty[i] > 0)
  57014. {
  57015. if(GetPlayerCash(playerid) < TransportValue[i])
  57016. {
  57017. new string[28];
  57018. format(string, sizeof(string), "* You need $%d to enter.", TransportValue[i]);
  57019. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  57020. RemovePlayerFromVehicle(playerid);
  57021. new Float:X, Float:Y, Float:Z;
  57022. GetPlayerPos(playerid, X, Y, Z);
  57023. SetPlayerPos(playerid, X, Y, Z+2);
  57024. TogglePlayerControllable(playerid, 1);
  57025. }
  57026. else
  57027. {
  57028. new string[38];
  57029. if(TransportDuty[i] == 1)
  57030. {
  57031. format(string, sizeof(string), "* You paid $%d to the Taxi Driver.", TransportValue[i]);
  57032. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  57033. format(string, sizeof(string), "* Passenger %s has entered your taxi.", GetPlayerNameEx(playerid));
  57034. SendClientMessage(i, COLOR_LIGHTBLUE, string);
  57035. TransportTime[i] = 1;
  57036. TransportTime[playerid] = 1;
  57037. TransportCost[playerid] = TransportValue[i];
  57038. TransportCost[i] = TransportValue[i];
  57039. TransportDriver[playerid] = i;
  57040. }
  57041. else if(TransportDuty[i] == 2)
  57042. {
  57043. format(string, sizeof(string), "* You paid $%d to the Taxi Driver.", TransportValue[i]);
  57044. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  57045. format(string, sizeof(string), "* Passenger %s has entered your Taxi.", GetPlayerNameEx(playerid));
  57046. SendClientMessage(i, COLOR_LIGHTBLUE, string);
  57047. }
  57048. GivePlayerCash(playerid, - TransportValue[i]);
  57049. TransportMoney[i] += TransportValue[i];
  57050. }
  57051. }
  57052. }
  57053. }
  57054. if(newstate == PLAYER_STATE_DRIVER)
  57055. {
  57056. fVehSpeed[playerid] = 0;
  57057. SetPlayerArmedWeapon(playerid, 0);
  57058. if(VehicleRadioStation[GetPlayerVehicleID(playerid)] == 0)
  57059. {
  57060. SendClientMessage(playerid, COLOR_WHITE, "{FFA500}Vehicle radio station:{FFFFFF} None - {FFA500}Genre:{FFFFFF} None {FFA500} (Use /setradio)");
  57061. }
  57062. if(VehicleRadioStation[GetPlayerVehicleID(playerid)] != 0)
  57063. {
  57064. new getradio = VehicleRadioStation[GetPlayerVehicleID(playerid)]-1;
  57065. PlayAudioStreamForPlayer(playerid, VehicleRadioListing[getradio][radiourl]);
  57066. new genre[18];
  57067. if(getradio >= 0 && getradio <= 9) genre = "Alternative";
  57068. else if(getradio >= 10 && getradio <= 19) genre = "Blues";
  57069. else if(getradio >= 20 && getradio <= 29) genre = "Classical";
  57070. else if(getradio >= 30 && getradio <= 39) genre = "Country";
  57071. else if(getradio >= 40 && getradio <= 49) genre = "Decades";
  57072. else if(getradio >= 50 && getradio <= 59) genre = "Easy Listening";
  57073. else if(getradio >= 60 && getradio <= 69) genre = "Electronic";
  57074. else if(getradio >= 70 && getradio <= 79) genre = "Folk";
  57075. else if(getradio >= 80 && getradio <= 89) genre = "Inspirational";
  57076. else if(getradio >= 90 && getradio <= 99) genre = "International";
  57077. else if(getradio >= 100 && getradio <= 109) genre = "Jazz";
  57078. else if(getradio >= 110 && getradio <= 119) genre = "Latin";
  57079. else if(getradio >= 120 && getradio <= 129) genre = "Metal";
  57080. else if(getradio >= 130 && getradio <= 139) genre = "Misc";
  57081. else if(getradio >= 140 && getradio <= 149) genre = "New Age";
  57082. else if(getradio >= 150 && getradio <= 159) genre = "Pop";
  57083. else if(getradio >= 160 && getradio <= 169) genre = "Public Radio";
  57084. else if(getradio >= 170 && getradio <= 179) genre = "R&B/Urban";
  57085. else if(getradio >= 180 && getradio <= 189) genre = "Rap";
  57086. else if(getradio >= 190 && getradio <= 199) genre = "Reggae";
  57087. else if(getradio >= 200 && getradio <= 209) genre = "Rock";
  57088. else if(getradio >= 210 && getradio <= 219) genre = "Talk";
  57089. new string[128];
  57090. format(string, sizeof(string), "{FFA500}Vehicle radio station:{FFFFFF} %s - {FFA500}Genre:{FFFFFF} %s {FFA500} (Use /setradio)", VehicleRadioListing[getradio][radioname], genre);
  57091. SendClientMessage(playerid, COLOR_WHITE, string);
  57092. }
  57093. if(IsASweeper(GetPlayerVehicleID(playerid)))
  57094. {
  57095. PlayerSweeping[playerid] = 1;
  57096. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You are now street sweeping, drive around town to earn money.");
  57097. GetPlayerPos(playerid, fSweeperPos[playerid][0], fSweeperPos[playerid][1], fSweeperPos[playerid][2]);
  57098. }
  57099. new
  57100. newcar = GetPlayerVehicleID(playerid),
  57101. engine, lights, alarm, doors, bonnet, boot, objective, v;
  57102. gLastCar[playerid] = newcar;
  57103. if(GetPVarInt(playerid, "ToBeEjected") >= 1)
  57104. {
  57105. SetPVarInt(playerid, "ToBeEjected", 0);
  57106. RemovePlayerFromVehicle(playerid);
  57107. new Float:X, Float:Y, Float:Z;
  57108. GetPlayerPos(playerid, X, Y, Z);
  57109. SetPlayerPos(playerid, X, Y, Z+2);
  57110. if(GetPVarInt(playerid, "Injured") == 1)
  57111. {
  57112. Streamer_UpdateEx(playerid, GetPVarFloat(playerid,"MedicX"), GetPVarFloat(playerid,"MedicY"), GetPVarFloat(playerid,"MedicZ"));
  57113. SetPlayerPos(playerid, GetPVarFloat(playerid,"MedicX"), GetPVarFloat(playerid,"MedicY"), GetPVarFloat(playerid,"MedicZ"));
  57114. SetPlayerVirtualWorld(playerid, GetPVarInt(playerid,"MedicVW"));
  57115. SetPlayerInterior(playerid, GetPVarInt(playerid,"MedicInt"));
  57116. ClearAnimations(playerid);
  57117. ApplyAnimation(playerid, "KNIFE", "KILL_Knife_Ped_Die", 4.0, 0, 1, 1, 1, 0, 1);
  57118. }
  57119. }
  57120. TelePos[playerid][0] = 0.0;
  57121. TelePos[playerid][1] = 0.0;
  57122. if(GetCarDealershipVehicleId(newcar) != -1 && GetCarDealershipVehicleId(newcar) == GetPVarInt(playerid, "editingcdveh")) return 1;
  57123. if(GetCarDealershipVehicleId(newcar) != -1)
  57124. {
  57125. new string[57 + 20 + 4];
  57126. format(string, sizeof(string),"Would you like to buy this %s?\n\nThis vehicle costs $%d.", GetVehicleName(newcar), CarDealershipInfo[GetCarDealershipId(newcar)][cdVehicleCost][GetCarDealershipVehicleId(newcar)]);
  57127. ShowPlayerDialogEx(playerid,DIALOG_CDBUY,DIALOG_STYLE_MSGBOX,"Warning:",string,"Buy","Cancel");
  57128. TogglePlayerControllable(playerid, false);
  57129. return 1;
  57130. }
  57131. foreach(Player, i)
  57132. {
  57133. v = GetPlayerVehicle(i, newcar);
  57134. if(v != -1) {
  57135. if(i == playerid) {
  57136. new
  57137. string[96];
  57138. format(string, sizeof(string),"You're the owner of this %s.", GetVehicleName(newcar));
  57139. SendClientMessage(playerid, COLOR_GREY, string);
  57140. if(PlayerVehicleInfo[i][v][pvTicket] != 0)
  57141. {
  57142. format(string, sizeof(string),"A $%d parking ticket was left on your vehicle. You must pay the ticket at the DMV in Dilimore.", PlayerVehicleInfo[i][v][pvTicket]);
  57143. SendClientMessage(playerid, COLOR_GREY, string);
  57144. SendClientMessage(playerid, COLOR_GREY, "Failure to pay this ticket as soon as possible will result in a fine, or even an arrest.");
  57145. }
  57146. }
  57147. else if(i == PlayerInfo[playerid][pVehicleKeysFrom]) {
  57148. new
  57149. string[64 + MAX_PLAYER_NAME];
  57150. format(string, sizeof(string),"You have the keys for this %s from owner %s.", GetVehicleName(newcar), GetPlayerNameEx(i));
  57151. SendClientMessage(playerid, COLOR_GREY, string);
  57152. }
  57153. else if(PlayerVehicleInfo[i][v][pvLocked] == 1 && PlayerVehicleInfo[i][v][pvLock] == 1) {
  57154. GetVehicleParamsEx(newcar,engine,lights,alarm,doors,bonnet,boot,objective);
  57155. SetVehicleParamsEx(newcar,engine,lights,VEHICLE_PARAMS_ON,doors,bonnet,boot,objective);
  57156. SetTimerEx("DisableVehicleAlarm", 20000, 0, "d", newcar);
  57157. }
  57158. /*else if(PlayerVehicleInfo[i][v][pvLocked] == 1 && PlayerVehicleInfo[i][v][pvLock] == 2) {
  57159. new
  57160. string[49 + MAX_PLAYER_NAME];
  57161. if(PlayerInfo[playerid][pAdmin] < 2)
  57162. {
  57163. format(string, sizeof(string), "* %s has been stunned by the electric anti-theft.",GetPlayerNameEx(playerid));
  57164. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  57165. new Float:X, Float:Y, Float:Z, Float:HP;
  57166. GetPlayerPos(playerid, X, Y, Z);
  57167. //SendAudioToRange(64, 100, X, Y, Z, 20.0);
  57168. SetPlayerPos(playerid, X + 1, Y, Z);
  57169. RemovePlayerFromVehicle(playerid);
  57170. SetPVarInt(playerid, "IsFrozen", 1);
  57171. TogglePlayerControllable(playerid,0);
  57172. SetTimerEx("ReleasePlayer", 10000, 0, "d", playerid);
  57173. GameTextForPlayer(playerid,"~r~STUNNED!",11000,3);
  57174. GetPlayerHealth(playerid,HP);
  57175. SetPlayerHealth(playerid,HP-15);
  57176. }
  57177. else
  57178. {
  57179. format(string, sizeof(string), "Warning: This %s is owned by %s.", GetVehicleName(newcar), GetPlayerNameEx(i));
  57180. SendClientMessage(playerid, COLOR_GREY, string);
  57181. }
  57182. }*/
  57183. return 1;
  57184. }
  57185. }
  57186. for(new f = 0; f < MAX_FAMILY; f++) {
  57187. v = GetGangVehicle(f, newcar);
  57188. if(v != -1) {
  57189. new string[49 + MAX_PLAYER_NAME];
  57190. if(PlayerInfo[playerid][pGang] == f)
  57191. {
  57192. format(string, sizeof(string), "You're in the family that owns this %s.", GetVehicleName(newcar));
  57193. SendClientMessage(playerid, COLOR_GREY, string);
  57194. }
  57195. else if(FamilyVehicleInfo[f][v][fvLocked] == 1 && FamilyVehicleInfo[f][v][fvLock] == 1)
  57196. {
  57197. GetVehicleParamsEx(newcar,engine,lights,alarm,doors,bonnet,boot,objective);
  57198. SetVehicleParamsEx(newcar,engine,lights,VEHICLE_PARAMS_ON,doors,bonnet,boot,objective);
  57199. SetTimerEx("DisableVehicleAlarm", 20000, 0, "d", newcar);
  57200. }
  57201. /*else if(FamilyVehicleInfo[f][v][fvLocked] == 1 && FamilyVehicleInfo[f][v][fvLock] == 2)
  57202. {
  57203. format(string, sizeof(string), "* %s has been stunned by the electric anti-theft.",GetPlayerNameEx(playerid));
  57204. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  57205. new Float:X, Float:Y, Float:Z, Float:HP;
  57206. GetPlayerPos(playerid, X, Y, Z);
  57207. //SendAudioToRange(64, 100, X, Y, Z, 20.0);
  57208. SetPlayerPos(playerid, X + 1, Y, Z);
  57209. RemovePlayerFromVehicle(playerid);
  57210. new Float:slx, Float:sly, Float:slz;
  57211. GetPlayerPos(playerid, slx, sly, slz);
  57212. SetPlayerPos(playerid, slx, sly, slz);
  57213. SetPVarInt(playerid, "IsFrozen", 1);
  57214. TogglePlayerControllable(playerid,0);
  57215. SetTimerEx("ReleasePlayer", 10000, 0, "d", playerid);
  57216. GameTextForPlayer(playerid,"~r~STUNNED!",11000,3);
  57217. GetPlayerHealth(playerid,HP);
  57218. SetPlayerHealth(playerid,HP-15);
  57219. }*/
  57220. return 1;
  57221. }
  57222. }
  57223. new vehicleid = GetPlayerVehicleID(playerid);
  57224. if(IsACopCar(vehicleid))
  57225. {
  57226. if(PlayerInfo[playerid][pFaction] == 1||PlayerInfo[playerid][pLeader] == 1)
  57227. {
  57228. }
  57229. else
  57230. {
  57231. RemovePlayerFromVehicle(playerid);
  57232. new Float:slx, Float:sly, Float:slz;
  57233. GetPlayerPos(playerid, slx, sly, slz);
  57234. SetPlayerPos(playerid, slx, sly, slz);
  57235. NOPCheck(playerid);
  57236. SendClientMessage(playerid, COLOR_GRAD2, "You're not in the LSPD!");
  57237. }
  57238. }
  57239. if(IsAnARESCar(vehicleid))
  57240. {
  57241. if(PlayerInfo[playerid][pFaction] == 10||PlayerInfo[playerid][pLeader] == 10)
  57242. {
  57243. }
  57244. else
  57245. {
  57246. RemovePlayerFromVehicle(playerid);
  57247. new Float:slx, Float:sly, Float:slz;
  57248. GetPlayerPos(playerid, slx, sly, slz);
  57249. SetPlayerPos(playerid, slx, sly, slz);
  57250. NOPCheck(playerid);
  57251. SendClientMessage(playerid, COLOR_GRAD2, "You're not in the ARES!");
  57252. }
  57253. }
  57254. else if(IsAFBICar(vehicleid))
  57255. {
  57256. if(PlayerInfo[playerid][pFaction] == 2||PlayerInfo[playerid][pLeader] == 2)
  57257. {
  57258. }
  57259. else
  57260. {
  57261. RemovePlayerFromVehicle(playerid);
  57262. new Float:slx, Float:sly, Float:slz;
  57263. GetPlayerPos(playerid, slx, sly, slz);
  57264. SetPlayerPos(playerid, slx, sly, slz);
  57265. NOPCheck(playerid);
  57266. SendClientMessage(playerid, COLOR_GRAD2, "You're not in the FBI!");
  57267. }
  57268. }
  57269. else if(vehicleid == LSFMDVehicles[12] || vehicleid == LSFMDVehicles[33] || vehicleid == LSFMDVehicles[34] || vehicleid == LSFMDVehicles[35])
  57270. {
  57271. if(PlayerInfo[playerid][pLeader] == 3 || PlayerInfo[playerid][pFaction] == 3 && PlayerInfo[playerid][pDivision] == 1)
  57272. {
  57273. }
  57274. else
  57275. {
  57276. RemovePlayerFromVehicle(playerid);
  57277. new Float:slx, Float:sly, Float:slz;
  57278. GetPlayerPos(playerid, slx, sly, slz);
  57279. SetPlayerPos(playerid, slx, sly, slz);
  57280. NOPCheck(playerid);
  57281. SendClientMessage(playerid, COLOR_GRAD2, "You're not in the Fire Department Division!");
  57282. }
  57283. }
  57284. else if(vehicleid == LSFMDVehicles[37] || vehicleid == LSFMDVehicles[36])
  57285. {
  57286. if(PlayerInfo[playerid][pLeader] == 3 || PlayerInfo[playerid][pFaction] == 3 && PlayerInfo[playerid][pDivision] == 2)
  57287. {
  57288. }
  57289. else
  57290. {
  57291. RemovePlayerFromVehicle(playerid);
  57292. new Float:slx, Float:sly, Float:slz;
  57293. GetPlayerPos(playerid, slx, sly, slz);
  57294. SetPlayerPos(playerid, slx, sly, slz);
  57295. NOPCheck(playerid);
  57296. SendClientMessage(playerid, COLOR_GRAD2, "You're not in the EMS Division!");
  57297. }
  57298. }
  57299. else if(IGMAVeh(vehicleid))
  57300. {
  57301. if(PlayerInfo[playerid][pFaction] == 9||PlayerInfo[playerid][pLeader] == 9)
  57302. {
  57303. if(GetVehicleModel(vehicleid) == 488 && PlayerInfo[playerid][pRank] < 3) {
  57304. RemovePlayerFromVehicle(playerid);
  57305. new Float:slx, Float:sly, Float:slz;
  57306. GetPlayerPos(playerid, slx, sly, slz);
  57307. SetPlayerPos(playerid, slx, sly, slz);
  57308. NOPCheck(playerid);
  57309. SendClientMessage(playerid, COLOR_GRAD2, "You must be Rank 3 or higher to pilot this helicopter.");
  57310. }
  57311. }
  57312. else
  57313. {
  57314. RemovePlayerFromVehicle(playerid);
  57315. new Float:slx, Float:sly, Float:slz;
  57316. GetPlayerPos(playerid, slx, sly, slz);
  57317. SetPlayerPos(playerid, slx, sly, slz);
  57318. NOPCheck(playerid);
  57319. SendClientMessage(playerid, COLOR_GRAD2, "You're not in the San Andreas News faction!");
  57320. }
  57321. }
  57322. else if(IsAGovCar(vehicleid))
  57323. {
  57324. if(PlayerInfo[playerid][pFaction] == 5||PlayerInfo[playerid][pLeader] == 5)
  57325. {
  57326. }
  57327. else
  57328. {
  57329. RemovePlayerFromVehicle(playerid);
  57330. new Float:slx, Float:sly, Float:slz;
  57331. GetPlayerPos(playerid, slx, sly, slz);
  57332. SetPlayerPos(playerid, slx, sly, slz);
  57333. NOPCheck(playerid);
  57334. SendClientMessage(playerid, COLOR_GRAD2, "You're not in the Government!");
  57335. }
  57336. }
  57337. else if(IsAPlane(vehicleid))
  57338. {
  57339. if(PlayerInfo[playerid][pFlyLic] != 1)
  57340. {
  57341. RemovePlayerFromVehicle(playerid);
  57342. new Float:slx, Float:sly, Float:slz;
  57343. GetPlayerPos(playerid, slx, sly, slz);
  57344. SetPlayerPos(playerid, slx, sly, slz);
  57345. NOPCheck(playerid);
  57346. SendClientMessage(playerid,COLOR_GREY,"You don't have a pilot license!");
  57347. }
  57348. }
  57349. else if(IsAHelicopter(vehicleid))
  57350. {
  57351. PlayerInfo[playerid][pAGuns][GetWeaponSlot(46)] = 46;
  57352. GivePlayerValidWeapon(playerid, 46, 60000);
  57353. }
  57354. else if(IsAnTaxi(vehicleid) || IsAnBus(vehicleid))
  57355. {
  57356. if(PlayerInfo[playerid][pJob] == 17 || PlayerInfo[playerid][pJob2] == 17)
  57357. {
  57358. }
  57359. else
  57360. {
  57361. SendClientMessage(playerid,COLOR_GREY," You're not a Taxi/Bus Driver!");
  57362. RemovePlayerFromVehicle(playerid);
  57363. new Float:slx, Float:sly, Float:slz;
  57364. GetPlayerPos(playerid, slx, sly, slz);
  57365. SetPlayerPos(playerid, slx, sly, slz);
  57366. }
  57367. }
  57368. new Float:vhp;
  57369. GetVehicleHealth(newcar, vhp);
  57370. new string[128];
  57371. format(string, sizeof(string), "HEALTH: %.0f SPEED: %.0f MPH", vhp, player_get_speed(playerid));
  57372. PlayerTextDrawSetString(playerid, Textdraw0[playerid], string);
  57373. format(string, sizeof(string), "%s", GetVehicleName(newcar));
  57374. PlayerTextDrawSetString(playerid, Textdraw1[playerid], string);
  57375. PlayerTextDrawShow(playerid, Textdraw0[playerid]);
  57376. PlayerTextDrawShow(playerid, Textdraw1[playerid]);
  57377. }
  57378. if(newstate == PLAYER_STATE_SPAWNED)
  57379. {
  57380. TelePos[playerid][0] = 0.0;
  57381. TelePos[playerid][1] = 0.0;
  57382. //gPlayerSpawned[playerid] = 1;
  57383. }
  57384. return 1;
  57385. }
  57386. public OnPlayerEnterCheckpoint(playerid)
  57387. {
  57388. if(GetPVarInt(playerid,"TrackCar") != 0)
  57389. {
  57390. PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
  57391. DisablePlayerCheckpoint(playerid);
  57392. DeletePVar(playerid, "TrackCar");
  57393. return 1;
  57394. }
  57395. if(GetPVarInt(playerid, "Trashup") == 1)
  57396. {
  57397. DisablePlayerCheckpoint(playerid);
  57398. SetPVarInt(playerid, "Trashup", 0);
  57399. SetPVarInt(playerid, "Trashup", 2);
  57400. SendClientMessage(playerid, COLOR_LIGHTBLUE, "Deliver the garbage/trash to collect your pay.");
  57401. SetPlayerCheckpoint(playerid, 2483.96, -2640.06, 13.52, 5.0);
  57402. return 1;
  57403. }
  57404. if(GetPVarInt(playerid, "Trashup") == 2)
  57405. {
  57406. DisablePlayerCheckpoint(playerid);
  57407. SetPVarInt(playerid, "Trashup", 0);
  57408. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You have been given $450 for delivering the trash/garbages.");
  57409. GivePlayerCash(playerid, 450);
  57410. new vehicleid = GetPlayerVehicleID(playerid);
  57411. SetVehicleToRespawn(vehicleid);
  57412. return 1;
  57413. }
  57414. if(GetPVarInt(playerid, "TruckDeliver") > 0 && gPlayerCheckpointStatus[playerid] != CHECKPOINT_RETURNTRUCK)
  57415. {
  57416. new vehicleid = GetPlayerVehicleID(playerid);
  57417. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
  57418. {
  57419. SendClientMessage(playerid, COLOR_WHITE, "You're not in a Truck!");
  57420. return 1;
  57421. }
  57422. if(TruckUsed[playerid] != INVALID_VEHICLE_ID && vehicleid != TruckUsed[playerid])
  57423. {
  57424. SendClientMessage(playerid, COLOR_WHITE, "This is not your Truck with the goods you're suppose to deliver!");
  57425. return 1;
  57426. }
  57427. if(!IsAtTruckDeliveryPoint(playerid))
  57428. {// In the case the player finds a way to exploit the checkpoint to different location
  57429. CancelTruckDelivery(playerid);
  57430. SendClientMessage(playerid, COLOR_REALRED, "ERROR: Wrong checkpoint entered. Truck delivery canceled completely.");
  57431. return 1;
  57432. }
  57433. if(GetPVarInt(playerid, "tpTruckRunTimer") != 0) {
  57434. new string[128];
  57435. format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) is possibly teleport truckrunning.", GetPlayerNameEx(playerid), playerid);
  57436. ABroadCast(COLOR_YELLOW, string, 2);
  57437. format(string, sizeof(string), "%s was possibly teleport truckrunning.", GetPlayerNameEx(playerid));
  57438. AddAutomatedFlag(playerid, string);
  57439. SetPVarInt(playerid, "_TP_HACK_WARNINGS", GetPVarInt(playerid,"_TP_HACK_WARNINGS")+1);
  57440. if(GetPVarInt(playerid,"_TP_HACK_WARNINGS") >= 3)
  57441. {
  57442. format(string, sizeof(string), "AdmCmd: %s has been banned, reason: Teleport hacking.", GetPlayerNameEx(playerid));
  57443. SendClientMessageToAllEx(COLOR_LIGHTRED, string);
  57444. PlayerInfo[playerid][pBanned] = 3;
  57445. new playerip[32];
  57446. GetPlayerIp(playerid, playerip, sizeof(playerip));
  57447. format(string, sizeof(string), "AdmCmd: %s (IP:%s) was banned, reason: Teleport hacking.", GetPlayerNameEx(playerid), playerip);
  57448. PlayerInfo[playerid][pBanned] = 3;
  57449. Log("logs/ban.log", string);
  57450. new ip[32];
  57451. GetPlayerIp(playerid,ip,sizeof(ip));
  57452. AddBan(ip);
  57453. Kick(playerid);
  57454. TotalAutoBan++;
  57455. }
  57456. return 1;
  57457. }
  57458. new truckdeliver = GetPVarInt(playerid, "TruckDeliver");
  57459. TruckContents[vehicleid] = 0;
  57460. if(truckdeliver >= 1 && truckdeliver <= 3)
  57461. {
  57462. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You delivered the food & beverages, return the truck to the Ocean Docks to collect your pay.");
  57463. }
  57464. else if(truckdeliver >= 4 && truckdeliver <= 6)
  57465. {
  57466. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You delivered the clothing, return the truck to the Ocean Docks to collect your pay.");
  57467. }
  57468. else if(truckdeliver == 7)
  57469. {
  57470. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You delivered the materials, return the truck to the Ocean Docks to collect your pay.");
  57471. }
  57472. else if(truckdeliver >= 8 && truckdeliver <= 10)
  57473. {
  57474. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You delivered the 24/7 items, return the truck to the Ocean Docks to collect your pay.");
  57475. }
  57476. else if(truckdeliver >= 11 && truckdeliver <= 15)
  57477. {
  57478. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You delivered the weapons, return the truck to the Ocean Docks to collect your pay.");
  57479. }
  57480. else if(truckdeliver >= 16 && truckdeliver <= 20)
  57481. {
  57482. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You delivered the drugs, return the truck to the Ocean Docks to collect your pay.");
  57483. }
  57484. else if(truckdeliver >= 21 && truckdeliver <= 25)
  57485. {
  57486. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You delivered the illegal materials, return the truck to the Ocean Docks to collect your pay.");
  57487. }
  57488. DisablePlayerCheckpoint(playerid);
  57489. gPlayerCheckpointStatus[playerid] = CHECKPOINT_RETURNTRUCK;
  57490. SetPlayerCheckpoint(playerid, 2225.343261, -2635.977294, 13.438463, 5);
  57491. GameTextForPlayer(playerid, "~w~Waypoint set ~r~Ocean Docks", 5000, 1);
  57492. SendClientMessage(playerid, COLOR_WHITE, "HINT: Return to the Ocean Docks (see checkpoint on radar).");
  57493. SetPVarInt(playerid, "tpTruckRunTimer", 30);
  57494. SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_TPTRUCKRUNTIMER);
  57495. return 1;
  57496. }
  57497. else if(GetPVarInt(playerid, "Pizza") > 0 && IsPlayerInRangeOfPoint(playerid, 5.0, HouseInfo[GetPVarInt(playerid, "Pizza")][hExteriorX], HouseInfo[GetPVarInt(playerid, "Pizza")][hExteriorY], HouseInfo[GetPVarInt(playerid, "Pizza")][hExteriorZ]))
  57498. {
  57499. new string[128];
  57500. if(GetPVarInt(playerid, "tpPizzaTimer") != 0)
  57501. {
  57502. format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) is possibly teleport pizzarunning.", GetPlayerNameEx(playerid), playerid);
  57503. ABroadCast(COLOR_YELLOW, string, 2);
  57504. format(string, sizeof(string), "%s was possibly teleport pizzarunning.", GetPlayerNameEx(playerid));
  57505. AddAutomatedFlag(playerid, string);
  57506. // format(string, sizeof(string), "%s (ID %d) is possibly teleport pizzarunning.", GetPlayerNameEx(playerid), playerid);
  57507. // Log("logs/hack.log", string);
  57508. format(string, sizeof(string), "You have delivered the pizza to the destination! You have made $%d.", (GetPVarInt(playerid, "pizzaTimer") * 2));
  57509. SendClientMessage(playerid, COLOR_WHITE, string);
  57510. SetPVarInt(playerid, "Pizza", 0);
  57511. DisablePlayerCheckpoint(playerid);
  57512. SetPVarInt(playerid, "_TP_HACK_WARNINGS", GetPVarInt(playerid,"_TP_HACK_WARNINGS")+1);
  57513. if(GetPVarInt(playerid,"_TP_HACK_WARNINGS") >= 3)
  57514. {
  57515. format(string, sizeof(string), "AdmCmd: %s has been banned, reason: Teleport hacking.", GetPlayerNameEx(playerid));
  57516. SendClientMessageToAllEx(COLOR_LIGHTRED, string);
  57517. PlayerInfo[playerid][pBanned] = 3;
  57518. new playerip[32];
  57519. GetPlayerIp(playerid, playerip, sizeof(playerip));
  57520. format(string, sizeof(string), "AdmCmd: %s (IP:%s) was banned, reason: Teleport hacking.", GetPlayerNameEx(playerid), playerip);
  57521. PlayerInfo[playerid][pBanned] = 3;
  57522. Log("logs/ban.log", string);
  57523. new ip[32];
  57524. GetPlayerIp(playerid,ip,sizeof(ip));
  57525. AddBan(ip);
  57526. Kick(playerid);
  57527. TotalAutoBan++;
  57528. }
  57529. return 1;
  57530. }
  57531. DestroyProgressBar(PizzaBar[playerid]);
  57532. format(string, sizeof(string), "You have delivered the pizza to the destination! You have made $%d.", (GetPVarInt(playerid, "pizzaTimer") * 2));
  57533. //Tax -= (GetPVarInt(playerid, "pizzaTimer") * 70);
  57534. //Misc_Save();
  57535. GivePlayerCash(playerid, floatround((GetPVarInt(playerid, "pizzaTimer") * 2), floatround_round));
  57536. SendClientMessage(playerid, COLOR_WHITE, string);
  57537. SetPVarInt(playerid, "Pizza", 0);
  57538. DisablePlayerCheckpoint(playerid);
  57539. }
  57540. else if(FindingJob[playerid] != 0)
  57541. {
  57542. switch (FindingJob[playerid])
  57543. {
  57544. case 1: SendClientMessage(playerid, COLOR_WHITE, "The Detective Job is inside this building. Type /enter to go inside.");
  57545. case 2: SendClientMessage(playerid, COLOR_WHITE, "You have arrived at the Lawyer Job. Type /join to get this job.");
  57546. case 3: SendClientMessage(playerid, COLOR_WHITE, "The Whore Job is inside this building. Type /enter to go inside.");
  57547. case 4: SendClientMessage(playerid, COLOR_WHITE, "You have arrived at the Drug Dealer Job. Type /join to get this job.");
  57548. case 5: SendClientMessage(playerid, COLOR_WHITE, "You have arrived at the Car Mechanic Job. Type /join to get this job.");
  57549. case 6: SendClientMessage(playerid, COLOR_WHITE, "You have arrived at the Bodyguard Job. Type /join to get this job.");
  57550. case 7: SendClientMessage(playerid, COLOR_WHITE, "You have arrived at the Arms Dealer Job. Type /join to get this job.");
  57551. case 8: SendClientMessage(playerid, COLOR_WHITE, "The Boxer Job is inside this building. Type /enter to go inside.");
  57552. case 9: SendClientMessage(playerid, COLOR_WHITE, "You have arrived at the Drug Smuggler Job. Type /join to get this job.");
  57553. case 10: SendClientMessage(playerid, COLOR_WHITE, "You have arrived at the Taxi Driver Job. Type /join to get this job.");
  57554. case 11: SendClientMessage(playerid, COLOR_WHITE, "You have arrived at the Craftsman Job. Type /join to get this job.");
  57555. case 12: SendClientMessage(playerid, COLOR_WHITE, "The Bartender Job is inside this building. Type /enter to go inside.");
  57556. case 13: SendClientMessage(playerid, COLOR_WHITE, "You have arrived at the Trucker Job. Type /join to get this job.");
  57557. case 14: SendClientMessage(playerid, COLOR_WHITE, "The Pizza Boy Job is inside this building. Type /enter to go inside.");
  57558. case 15: SendClientMessage(playerid, COLOR_WHITE, "You have arrived at the Fisher Job. You can /fish at this pier or on boats.");
  57559. case 16: SendClientMessage(playerid, COLOR_WHITE, "You have arrived at the Sweeper Job. Earn 150$ dollars just sweep around Los Santos.");
  57560. case 17: SendClientMessage(playerid, COLOR_WHITE, "You have arrived at the Miner Job. Type /join to get this job.");
  57561. }
  57562. DisablePlayerCheckpoint(playerid);
  57563. FindingJob[playerid] = 0;
  57564. }
  57565. else if(CP[playerid] == 1)
  57566. {
  57567. if(IsPlayerInAnyVehicle(playerid))
  57568. {
  57569. new vehicleid = GetPlayerVehicleID(playerid);
  57570. foreach(Player, i)
  57571. {
  57572. new v = GetPlayerVehicle(i, vehicleid);
  57573. if(v != -1)
  57574. {
  57575. CP[playerid] = 0;
  57576. DisablePlayerCheckpoint(playerid);
  57577. GameTextForPlayer(playerid, "~r~Vehicle denied", 5000, 1);
  57578. SendClientMessage(playerid, COLOR_WHITE, "You can't sell vehicles owned by players or families.");
  57579. return 1;
  57580. }
  57581. }
  57582. for(new f = 0; f < MAX_FAMILY; f++)
  57583. {
  57584. new v = GetGangVehicle(f, vehicleid);
  57585. if(v != -1)
  57586. {
  57587. CP[playerid] = 0;
  57588. DisablePlayerCheckpoint(playerid);
  57589. GameTextForPlayer(playerid, "~r~Vehicle denied", 5000, 1);
  57590. SendClientMessage(playerid, COLOR_WHITE, "You can't sell vehicles owned by players or families.");
  57591. return 1;
  57592. }
  57593. }
  57594. new string[128];
  57595. if(DoubleXP == 1)
  57596. {
  57597. new hour,minuite,second;
  57598. gettime(hour,minuite,second);
  57599. if(DoubleEXPcheck(hour))
  57600. {
  57601. PlayerInfo[playerid][pCarSkill] += 2;
  57602. SendClientMessage(playerid, COLOR_YELLOW, "* You have gained two skill points for this job due to double experience.");
  57603. }
  57604. /*else
  57605. {
  57606. SendClientMessage(playerid, COLOR_YELLOW, "* You have only gained one skill point for this job since it's not within the double experience hours.");
  57607. PlayerInfo[playerid][pCarSkill]++;
  57608. }*/
  57609. }
  57610. else
  57611. {
  57612. PlayerInfo[playerid][pCarSkill] ++;
  57613. }
  57614. new mypoint = -1;
  57615. for (new i=0; i<MAX_POINTS; i++)
  57616. {
  57617. if(strcmp(Points[i][Name], "Auto Export Company", true) == 0)
  57618. {
  57619. mypoint = i;
  57620. }
  57621. }
  57622. if(PlayerInfo[playerid][pCarSkill] == 51)
  57623. { SendClientMessage(playerid, COLOR_YELLOW, "* Your Car Jack Skill is now Level 2, you will earn more Money and quicker Reload Time."); }
  57624. else if(PlayerInfo[playerid][pCarSkill] == 101)
  57625. { SendClientMessage(playerid, COLOR_YELLOW, "* Your Car Jack Skill is now Level 3, you will earn more Money and quicker Reload Time."); }
  57626. else if(PlayerInfo[playerid][pCarSkill] == 201)
  57627. { SendClientMessage(playerid, COLOR_YELLOW, "* Your Car Jack Skill is now Level 4, you will earn more Money and quicker Reload Time."); }
  57628. else if(PlayerInfo[playerid][pCarSkill] == 401)
  57629. { SendClientMessage(playerid, COLOR_YELLOW, "* Your Car Jack Skill is now Level 5, you will earn more Money and quicker Reload Time."); }
  57630. new level = PlayerInfo[playerid][pCarSkill];
  57631. if(level >= 0 && level <= 50)
  57632. {
  57633. new rand = random(sizeof(SELLCAR1));
  57634. new duh = GetPlayerVehicleID(playerid);
  57635. format(string, sizeof(string), "You sold a car for $%d, your reload time is 20 minutes.", SELLCAR1[rand]);
  57636. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  57637. GivePlayerCash(playerid, SELLCAR1[rand]);
  57638. CP[playerid] = 0;
  57639. DisablePlayerCheckpoint(playerid);
  57640. PlayerInfo[playerid][pCarTime] = 1200;
  57641. SetVehicleToRespawn(duh);
  57642. for(new i = 0; i < sizeof(FamilyInfo); i++)
  57643. {
  57644. if(strcmp(Points[mypoint][Owner], FamilyInfo[i][FamilyName], true) == 0)
  57645. {
  57646. FamilyInfo[i][FamilyBank] = FamilyInfo[i][FamilyBank]+(SELLCAR1[rand]/2);
  57647. }
  57648. }
  57649. }
  57650. else if(level >= 51 && level <= 100)
  57651. {
  57652. new rand = random(sizeof(SELLCAR2));
  57653. new duh = GetPlayerVehicleID(playerid);
  57654. format(string, sizeof(string), "You sold a car for $%d, your reload time is 18 minutes.", SELLCAR2[rand]);
  57655. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  57656. GivePlayerCash(playerid, SELLCAR2[rand]);
  57657. PlayerInfo[playerid][pCarTime] = 1080;
  57658. CP[playerid] = 0;
  57659. DisablePlayerCheckpoint(playerid);
  57660. SetVehicleToRespawn(duh);
  57661. for(new i = 0; i < sizeof(FamilyInfo); i++)
  57662. {
  57663. if(strcmp(Points[mypoint][Owner], FamilyInfo[i][FamilyName], true) == 0)
  57664. {
  57665. FamilyInfo[i][FamilyBank] = FamilyInfo[i][FamilyBank]+(SELLCAR2[rand]/2);
  57666. }
  57667. }
  57668. }
  57669. else if(level >= 101 && level <= 200)
  57670. {
  57671. new rand = random(sizeof(SELLCAR3));
  57672. new duh = GetPlayerVehicleID(playerid);
  57673. format(string, sizeof(string), "You sold a car for $%d, your reload time is 16 minutes.", SELLCAR3[rand]);
  57674. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  57675. GivePlayerCash(playerid, SELLCAR3[rand]);
  57676. PlayerInfo[playerid][pCarTime] = 960;
  57677. CP[playerid] = 0;
  57678. DisablePlayerCheckpoint(playerid);
  57679. SetVehicleToRespawn(duh);
  57680. for(new i = 0; i < sizeof(FamilyInfo); i++)
  57681. {
  57682. if(strcmp(Points[mypoint][Owner], FamilyInfo[i][FamilyName], true) == 0)
  57683. {
  57684. FamilyInfo[i][FamilyBank] = FamilyInfo[i][FamilyBank]+(SELLCAR3[rand]/2);
  57685. }
  57686. }
  57687. }
  57688. else if(level >= 201 && level <= 400)
  57689. {
  57690. new rand = random(sizeof(SELLCAR4));
  57691. new duh = GetPlayerVehicleID(playerid);
  57692. format(string, sizeof(string), "You sold a car for $%d, your reload time is 14 minutes.", SELLCAR4[rand]);
  57693. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  57694. GivePlayerCash(playerid, SELLCAR4[rand]);
  57695. PlayerInfo[playerid][pCarTime] = 840;
  57696. CP[playerid] = 0;
  57697. DisablePlayerCheckpoint(playerid);
  57698. SetVehicleToRespawn(duh);
  57699. for(new i = 0; i < sizeof(FamilyInfo); i++)
  57700. {
  57701. if(strcmp(Points[mypoint][Owner], FamilyInfo[i][FamilyName], true) == 0)
  57702. {
  57703. FamilyInfo[i][FamilyBank] = FamilyInfo[i][FamilyBank]+(SELLCAR4[rand]/2);
  57704. }
  57705. }
  57706. }
  57707. else if(level >= 401)
  57708. {
  57709. new money = 600;
  57710. format(string, sizeof(string), "You sold a car for $%d, your reload time is 12 minutes.", money);
  57711. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  57712. GivePlayerCash(playerid, money);
  57713. PlayerInfo[playerid][pCarTime] = 720;
  57714. CP[playerid] = 0;
  57715. DisablePlayerCheckpoint(playerid);
  57716. SetVehicleToRespawn(vehicleid);
  57717. for(new i = 0; i < sizeof(FamilyInfo); i++)
  57718. {
  57719. if(strcmp(Points[mypoint][Owner], FamilyInfo[i][FamilyName], true) == 0)
  57720. {
  57721. FamilyInfo[i][FamilyBank] = FamilyInfo[i][FamilyBank]+(money/2);
  57722. }
  57723. }
  57724. }
  57725. GameTextForPlayer(playerid, "~y~Sold the car", 2500, 1);
  57726. CP[playerid] = 0;
  57727. DisablePlayerCheckpoint(playerid);
  57728. if(GetVehicleModel(vehicleid)==525&&IsTrailerAttachedToVehicle(vehicleid))
  57729. {
  57730. SetVehicleToRespawn(GetVehicleTrailer(vehicleid));
  57731. }
  57732. else
  57733. {
  57734. SetVehicleToRespawn(vehicleid);
  57735. }
  57736. SetTimerEx("RespawnVehicleFunction", 3000, false, "d", gLastCar[playerid]);
  57737. }
  57738. else
  57739. {
  57740. CP[playerid] = 0;
  57741. GameTextForPlayer(playerid, "Not in a car", 5000, 1);
  57742. DisablePlayerCheckpoint(playerid);
  57743. }
  57744. }
  57745. if(TaxiCallTime[playerid] > 0 && TaxiAccepted[playerid] < 999)
  57746. {
  57747. TaxiAccepted[playerid] = 999;
  57748. GameTextForPlayer(playerid, "~w~Reached destination", 5000, 1);
  57749. TaxiCallTime[playerid] = 0;
  57750. DisablePlayerCheckpoint(playerid);
  57751. }
  57752. else if(EMSCallTime[playerid] > 0 && EMSAccepted[playerid] < 999)
  57753. {
  57754. if(GetPVarInt(EMSAccepted[playerid], "Injured") == 1)
  57755. {
  57756. SendEMSQueue(EMSAccepted[playerid],2);
  57757. EMSAccepted[playerid] = 999;
  57758. GameTextForPlayer(playerid, "~w~Reached destination", 5000, 1);
  57759. EMSCallTime[playerid] = 0;
  57760. DisablePlayerCheckpoint(playerid);
  57761. }
  57762. else
  57763. {
  57764. EMSAccepted[playerid] = 999;
  57765. GameTextForPlayer(playerid, "~r~Patient has died", 5000, 1);
  57766. EMSCallTime[playerid] = 0;
  57767. DisablePlayerCheckpoint(playerid);
  57768. }
  57769. }
  57770. else if(BusCallTime[playerid] > 0 && BusAccepted[playerid] < 999)
  57771. {
  57772. BusAccepted[playerid] = 999;
  57773. GameTextForPlayer(playerid, "~w~Reached destination", 5000, 1);
  57774. BusCallTime[playerid] = 0;
  57775. DisablePlayerCheckpoint(playerid);
  57776. }
  57777. else if(MedicCallTime[playerid] > 0 && MedicAccepted[playerid] < 999)
  57778. {
  57779. MedicAccepted[playerid] = 999;
  57780. GameTextForPlayer(playerid, "~w~Reached patient", 5000, 1);
  57781. MedicCallTime[playerid] = 0;
  57782. DisablePlayerCheckpoint(playerid);
  57783. }
  57784. else
  57785. {
  57786. switch (gPlayerCheckpointStatus[playerid])
  57787. {
  57788. case CHECKPOINT_HOME:
  57789. {
  57790. PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0);
  57791. new i = hInviteHouse[playerid];
  57792. DisablePlayerCheckpoint(playerid);
  57793. gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
  57794. Streamer_UpdateEx(playerid, HouseInfo[i][hInteriorX],HouseInfo[i][hInteriorY],HouseInfo[i][hInteriorZ]);
  57795. SetPlayerInterior(playerid,HouseInfo[i][hHInteriorWorld]);
  57796. if(HouseInfo[i][hCustomInterior] == 1)
  57797. {
  57798. TogglePlayerControllable(playerid, 0);
  57799. for(new o = 0; o < 2; o++)
  57800. {
  57801. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  57802. }
  57803. SetPVarInt(playerid, "LoadingObjects", 1);
  57804. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  57805. }
  57806. SetPlayerPos(playerid,HouseInfo[i][hInteriorX],HouseInfo[i][hInteriorY],HouseInfo[i][hInteriorZ]);
  57807. GameTextForPlayer(playerid, "~w~Welcome Home", 5000, 1);
  57808. PlayerInfo[playerid][pInt] = HouseInfo[i][hHInteriorWorld];
  57809. PlayerInfo[playerid][pVW] = i+60000;
  57810. SetPlayerVirtualWorld(playerid, i+60000);
  57811. hInviteOffer[playerid] = 999;
  57812. hInviteHouse[playerid] = INVALID_HOUSE_ID;
  57813. }
  57814. case CHECKPOINT_MINER:
  57815. {
  57816. new cost, string[128];
  57817. if(PlayerInfo[playerid][pMiningRock] == 1)
  57818. {
  57819. cost = 100 + random(50);
  57820. }
  57821. else if(PlayerInfo[playerid][pMiningRock] == 2)
  57822. {
  57823. cost = 150 + random(50);
  57824. }
  57825. PlayerInfo[playerid][pMiningRock] = 0;
  57826. format(string, sizeof(string), " You have earned $%i for mining rocks.", cost);
  57827. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  57828. ApplyAnimation(playerid, "CARRY", "putdwn", 4.1, 0, 0, 0, 0, 0, 1);
  57829. format(string, sizeof(string), "~g~+$%i", cost);
  57830. GameTextForPlayer(playerid, string, 5000, 1);
  57831. GivePlayerCash(playerid, cost);
  57832. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
  57833. RemovePlayerAttachedObject(playerid, 9);
  57834. gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
  57835. DisablePlayerCheckpoint(playerid);
  57836. }
  57837. case CHECKPOINT_LOADTRUCK:
  57838. {
  57839. if(IsPlayerInRangeOfPoint(playerid, 6, 2197.660644, -2662.190185, 13.546875))
  57840. {
  57841. new vehicleid = GetPlayerVehicleID(playerid);
  57842. if(IsATruckerCar(vehicleid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  57843. {
  57844. PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0);
  57845. DisablePlayerCheckpoint(playerid);
  57846. gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
  57847. TogglePlayerControllable(playerid, 0);
  57848. SetPVarInt(playerid, "IsFrozen", 1);
  57849. ShowPlayerDialogEx(playerid,DIALOG_LOADTRUCK,DIALOG_STYLE_LIST,"What do you want to transport?","{00F70C}Legal goods {FFFFFF}(no risk but also no bonuses)\n{C2A2DA}Illegal goods {FFFFFF}(risk of getting caught but a bonus)","Select","Cancel");
  57850. }
  57851. else return SendClientMessage(playerid, COLOR_GREY, "You're not driving an Ocean Docks Truck!");
  57852. }
  57853. }
  57854. case CHECKPOINT_RETURNTRUCK:
  57855. {
  57856. if(!IsPlayerInRangeOfPoint(playerid, 6, 2225.343261, -2635.977294, 13.438463))
  57857. {// In the case the player finds a way to exploit the checkpoint to different location
  57858. CancelTruckDelivery(playerid);
  57859. SendClientMessage(playerid, COLOR_REALRED, "ERROR: Wrong checkpoint entered. Truck delivery canceled completely.");
  57860. return 1;
  57861. }
  57862. new vehicleid = GetPlayerVehicleID(playerid);
  57863. if(!IsATruckerCar(vehicleid))
  57864. {// Patch for an exploit
  57865. CancelTruckDelivery(playerid);
  57866. SendClientMessage(playerid, COLOR_REALRED, "ERROR: You're not driving an Ocean Docks Truck. Truck delivery canceled completely.");
  57867. return 1;
  57868. }
  57869. if(GetPVarInt(playerid, "tpTruckRunTimer") != 0)
  57870. {
  57871. new string[128];
  57872. format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) is possibly teleport truckrunning.", GetPlayerNameEx(playerid), playerid);
  57873. ABroadCast(COLOR_YELLOW, string, 2);
  57874. format(string, sizeof(string), "%s was possibly teleport truckrunning.", GetPlayerNameEx(playerid));
  57875. AddAutomatedFlag(playerid, string);
  57876. // format(string, sizeof(string), "%s (ID %d) is possibly teleport truckrunning.", GetPlayerNameEx(playerid), playerid);
  57877. // Log("logs/hack.log", string);
  57878. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You were paid $100 for delivering the goods and returning the truck.");
  57879. CancelTruckDelivery(playerid);
  57880. SetPVarInt(playerid, "_TP_HACK_WARNINGS", GetPVarInt(playerid,"_TP_HACK_WARNINGS")+1);
  57881. if(GetPVarInt(playerid,"_TP_HACK_WARNINGS") >= 3)
  57882. {
  57883. format(string, sizeof(string), "AdmCmd: %s has been banned, reason: Teleport hacking.", GetPlayerNameEx(playerid));
  57884. SendClientMessageToAllEx(COLOR_LIGHTRED, string);
  57885. PlayerInfo[playerid][pBanned] = 3;
  57886. new playerip[32];
  57887. GetPlayerIp(playerid, playerip, sizeof(playerip));
  57888. format(string, sizeof(string), "AdmCmd: %s (IP:%s) was banned, reason: Teleport hacking.", GetPlayerNameEx(playerid), playerip);
  57889. PlayerInfo[playerid][pBanned] = 3;
  57890. Log("logs/ban.log", string);
  57891. new ip[32];
  57892. GetPlayerIp(playerid,ip,sizeof(ip));
  57893. AddBan(ip);
  57894. Kick(playerid);
  57895. TotalAutoBan++;
  57896. }
  57897. return 1;
  57898. }
  57899. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
  57900. {
  57901. SendClientMessage(playerid, COLOR_WHITE, "You're not in a Truck!");
  57902. return 1;
  57903. }
  57904. if(TruckUsed[playerid] != INVALID_VEHICLE_ID && vehicleid != TruckUsed[playerid])
  57905. {
  57906. SendClientMessage(playerid, COLOR_WHITE, "This is not the Truck you used, return the Truck you used in order to receive your pay!");
  57907. return 1;
  57908. }
  57909. PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0);
  57910. DisablePlayerCheckpoint(playerid);
  57911. gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
  57912. SetVehicleToRespawn(vehicleid);
  57913. new string[128], payment;
  57914. new level = PlayerInfo[playerid][pTruckSkill];
  57915. if(level >= 0 && level <= 50) payment = 100;
  57916. else if(level >= 51 && level <= 100) payment = 150;
  57917. else if(level >= 101 && level <= 200) payment = 300;
  57918. else if(level >= 201 && level <= 400) payment = 400;
  57919. else if(level >= 401) payment = 500;
  57920. GivePlayerCash(playerid, payment);
  57921. format(string, sizeof(string), "* You were paid $%d for delivering the goods and returning the truck.", payment);
  57922. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  57923. new truckdeliver = GetPVarInt(playerid, "TruckDeliver");
  57924. /*if(truckdeliver == 11)
  57925. {
  57926. if(PlayerInfo[playerid][pConnectTime] > 1)
  57927. {
  57928. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You were also given a free 9mm as a bonus for taking the risk of transporting illegal weapons.");
  57929. GivePlayerValidWeapon(playerid, 22, 60000);
  57930. }
  57931. else SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You did not receive a weapon bonus since your weapons are currently restricted.");
  57932. }*/
  57933. if(truckdeliver == 12)
  57934. {
  57935. new randomweapon = Random(1, 3);
  57936. if(PlayerInfo[playerid][pConnectTime] < 2)
  57937. {
  57938. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You did not receive a weapon bonus since your weapons are currently restricted.");
  57939. }
  57940. else if(randomweapon == 1)
  57941. {
  57942. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You were also given a free 9mm as a bonus for taking the risk of transporting illegal weapons.");
  57943. GivePlayerValidWeapon(playerid, 22, 60000);
  57944. }
  57945. else if(randomweapon == 2)
  57946. {
  57947. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You were also given a free Silenced Pistol as a bonus for taking the risk of transporting illegal weapons.");
  57948. GivePlayerValidWeapon(playerid, 23, 60000);
  57949. }
  57950. }
  57951. else if(truckdeliver == 13)
  57952. {
  57953. new randomweapon = Random(1, 4);
  57954. if(PlayerInfo[playerid][pConnectTime] < 2)
  57955. {
  57956. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You did not receive a weapon bonus since your weapons are currently restricted.");
  57957. }
  57958. else if(randomweapon == 1)
  57959. {
  57960. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You were also given a free 9mm as a bonus for taking the risk of transporting illegal weapons.");
  57961. GivePlayerValidWeapon(playerid, 22, 60000);
  57962. }
  57963. else if(randomweapon == 2)
  57964. {
  57965. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You were also given a free Silenced Pistol as a bonus for taking the risk of transporting illegal weapons.");
  57966. GivePlayerValidWeapon(playerid, 23, 60000);
  57967. }
  57968. else if(randomweapon == 3)
  57969. {
  57970. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You were also given a free Shotgun as a bonus for taking the risk of transporting illegal weapons.");
  57971. GivePlayerValidWeapon(playerid, 25, 60000);
  57972. }
  57973. }
  57974. else if(truckdeliver == 14)
  57975. {
  57976. new randomweapon = Random(1, 5);
  57977. if(PlayerInfo[playerid][pConnectTime] < 2)
  57978. {
  57979. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You did not receive a weapon bonus since your weapons are currently restricted.");
  57980. }
  57981. else if(randomweapon == 1)
  57982. {
  57983. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You were also given a free 9mm as a bonus for taking the risk of transporting illegal weapons.");
  57984. GivePlayerValidWeapon(playerid, 22, 60000);
  57985. }
  57986. else if(randomweapon == 2)
  57987. {
  57988. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You were also given a free Silenced Pistol as a bonus for taking the risk of transporting illegal weapons.");
  57989. GivePlayerValidWeapon(playerid, 23, 60000);
  57990. }
  57991. else if(randomweapon == 3)
  57992. {
  57993. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You were also given a free Shotgun as a bonus for taking the risk of transporting illegal weapons.");
  57994. GivePlayerValidWeapon(playerid, 25, 60000);
  57995. }
  57996. else if(randomweapon == 4)
  57997. {
  57998. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You were also given a free Country Rifle as a bonus for taking the risk of transporting illegal weapons.");
  57999. GivePlayerValidWeapon(playerid, 33, 60000);
  58000. }
  58001. }
  58002. else if(truckdeliver == 15)
  58003. {
  58004. new randomweapon = Random(1, 101);
  58005. if(PlayerInfo[playerid][pConnectTime] < 2)
  58006. {
  58007. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You did not receive a weapon bonus since your weapons are currently restricted.");
  58008. }
  58009. else if(randomweapon >= 1 && randomweapon <= 45)
  58010. {
  58011. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You were also given a free Shotgun as a bonus for taking the risk of transporting illegal weapons.");
  58012. GivePlayerValidWeapon(playerid, 25, 60000);
  58013. }
  58014. else if(randomweapon >= 46 && randomweapon <= 87)
  58015. {
  58016. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You were also given a free Country Rifle as a bonus for taking the risk of transporting illegal weapons.");
  58017. GivePlayerValidWeapon(playerid, 33, 60000);
  58018. }
  58019. else if(randomweapon >= 88 && randomweapon <= 100)
  58020. {
  58021. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You were also given a free Deagle as a bonus for taking the risk of transporting illegal weapons.");
  58022. GivePlayerValidWeapon(playerid, 24, 60000);
  58023. }
  58024. }
  58025. /*else if(truckdeliver == 16)
  58026. {
  58027. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You were also given 1 pot & 1 crack as a bonus for taking the risk of transporting illegal drugs.");
  58028. PlayerInfo[playerid][pPot] += 1;
  58029. PlayerInfo[playerid][pCrack] += 1;
  58030. }*/
  58031. else if(truckdeliver == 17)
  58032. {
  58033. new drug = Random(1, 3);
  58034. if(drug == 1)
  58035. {
  58036. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You were also given 1 pot as a bonus for taking the risk of transporting illegal drugs.");
  58037. PlayerInfo[playerid][pPot] += 1;
  58038. }
  58039. else if(drug == 2)
  58040. {
  58041. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You were also given 1 crack as a bonus for taking the risk of transporting illegal drugs.");
  58042. PlayerInfo[playerid][pCrack] += 1;
  58043. }
  58044. }
  58045. else if(truckdeliver == 18)
  58046. {
  58047. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You were also given 1 pot & 1 crack as a bonus for taking the risk of transporting illegal drugs.");
  58048. PlayerInfo[playerid][pPot] += 1;
  58049. PlayerInfo[playerid][pCrack] += 1;
  58050. }
  58051. else if(truckdeliver == 19)
  58052. {
  58053. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You were also given 2 pot & 2 crack as a bonus for taking the risk of transporting illegal drugs.");
  58054. PlayerInfo[playerid][pPot] += 2;
  58055. PlayerInfo[playerid][pCrack] += 2;
  58056. }
  58057. else if(truckdeliver == 20)
  58058. {
  58059. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You were also given 3 pot & 3 crack as a bonus for taking the risk of transporting illegal drugs.");
  58060. PlayerInfo[playerid][pPot] += 3;
  58061. PlayerInfo[playerid][pCrack] += 3;
  58062. }
  58063. else if(truckdeliver == 21)
  58064. {
  58065. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You were also given 25 materials as a bonus for taking the risk of transporting illegal materials.");
  58066. PlayerInfo[playerid][pMats] += 25;
  58067. }
  58068. else if(truckdeliver == 22)
  58069. {
  58070. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You were also given 50 materials as a bonus for taking the risk of transporting illegal materials.");
  58071. PlayerInfo[playerid][pMats] += 50;
  58072. }
  58073. else if(truckdeliver == 23)
  58074. {
  58075. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You were also given 100 materials as a bonus for taking the risk of transporting illegal materials.");
  58076. PlayerInfo[playerid][pMats] += 100;
  58077. }
  58078. else if(truckdeliver == 24)
  58079. {
  58080. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You were also given 150 materials as a bonus for taking the risk of transporting illegal materials.");
  58081. PlayerInfo[playerid][pMats] += 150;
  58082. }
  58083. else if(truckdeliver == 25)
  58084. {
  58085. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You were also given 200 materials as a bonus for taking the risk of transporting illegal materials.");
  58086. PlayerInfo[playerid][pMats] += 200;
  58087. }
  58088. if(DoubleXP == 1)
  58089. {
  58090. new hour,minuite,second;
  58091. gettime(hour,minuite,second);
  58092. if(DoubleEXPcheck(hour))
  58093. {
  58094. PlayerInfo[playerid][pTruckSkill] += 2;
  58095. SendClientMessage(playerid, COLOR_YELLOW, "* You have gained two skill points for this job due to double experience.");
  58096. }
  58097. else
  58098. {
  58099. SendClientMessage(playerid, COLOR_YELLOW, "* You have only gained one skill point for this job since it's not within the double experience hours.");
  58100. PlayerInfo[playerid][pTruckSkill]++;
  58101. }
  58102. }
  58103. else
  58104. {
  58105. PlayerInfo[playerid][pTruckSkill]++;
  58106. }
  58107. TruckUsed[playerid] = INVALID_VEHICLE_ID;
  58108. DeletePVar(playerid, "TruckDeliver");
  58109. }
  58110. case CHECKPOINT_PICKUPTRASH:
  58111. {
  58112. new vehicleid = GetPlayerVehicleID(playerid);
  58113. if(!IsAGarbageCar(vehicleid))
  58114. {// Patch for an exploit
  58115. DisablePlayerCheckpoint(playerid);
  58116. gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
  58117. SendClientMessage(playerid, COLOR_REALRED, "ERROR: You're not driving an Trashmaster.");
  58118. return 1;
  58119. }
  58120. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
  58121. {
  58122. SendClientMessage(playerid, COLOR_WHITE, "You're not in a Trashmaster!");
  58123. return 1;
  58124. }
  58125. if(GarbageUsed[playerid] != INVALID_VEHICLE_ID && vehicleid != GarbageUsed[playerid])
  58126. {
  58127. SendClientMessage(playerid, COLOR_WHITE, "This is not the trashmaster you used, return the trashmaster you used in order to receive your pay!");
  58128. return 1;
  58129. }
  58130. DisablePlayerCheckpoint(playerid);
  58131. gPlayerCheckpointStatus[playerid] = CHECKPOINT_RETURNTRASH;
  58132. SetPlayerCheckpoint(playerid, 2484.10, -2638.86, 13.52, 5);
  58133. SCM(playerid, COLOR_LIGHTBLUE, "Return the trashmaster to the place you were before to receive your salary.");
  58134. }
  58135. case CHECKPOINT_RETURNTRASH:
  58136. {
  58137. if(IsPlayerInAnyVehicle(playerid))
  58138. {
  58139. DisablePlayerCheckpoint(playerid);
  58140. gPlayerCheckpointStatus[playerid] = CHECKPOINT_RETURNTRASH;
  58141. new vehicleid = GetPlayerVehicleID(playerid);
  58142. if(!IsAGarbageCar(vehicleid))
  58143. {// Patch for an exploit
  58144. DisablePlayerCheckpoint(playerid);
  58145. gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
  58146. SendClientMessage(playerid, COLOR_REALRED, "ERROR: You're not driving an Trashmaster.");
  58147. return 1;
  58148. }
  58149. SetVehicleToRespawn(vehicleid);
  58150. GivePlayerCash(playerid, 5000);
  58151. SCM(playerid, COLOR_LIGHTBLUE, "You have been given $5,000 as your salary for delivering trash.");
  58152. GarbageUsed[playerid] = INVALID_VEHICLE_ID;
  58153. }
  58154. else return SCM(playerid, COLOR_GRAD2, "Not in a car!");
  58155. }
  58156. case CHECKPOINT_HITMAN:
  58157. {
  58158. PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0);
  58159. DisablePlayerCheckpoint(playerid);
  58160. gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
  58161. SendClientMessage(playerid, COLOR_GRAD2, " Type /enter to enter the HQ.");
  58162. }
  58163. case CHECKPOINT_MAXIMUSCLUB:
  58164. {
  58165. PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0);
  58166. DisablePlayerCheckpoint(playerid);
  58167. gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
  58168. SendClientMessage(playerid, COLOR_GRAD2, " Press Y to enter the Maximus club.");
  58169. }
  58170. case CHECKPOINT_BLACKMARKET:
  58171. {
  58172. PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0);
  58173. DisablePlayerCheckpoint(playerid);
  58174. gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
  58175. SendClientMessage(playerid, COLOR_GRAD2, " Press Y to enter the Blackmarket.");
  58176. }
  58177. }
  58178. }
  58179. for(new h = 0; h < MAX_POINTS; h++)
  58180. {
  58181. if(Points[h][Type] == 3 && GetPVarInt(playerid, "CrateDeliver") == 1 && IsPlayerInRangeOfPoint(playerid, 6.0, 2166.3772,-1675.3829,15.0859))
  58182. {
  58183. new string[128];
  58184. if(GetPVarInt(playerid, "tpDrugRunTimer") != 0) {
  58185. format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) is possibly teleport drugrunning.", GetPlayerNameEx(playerid), playerid);
  58186. ABroadCast(COLOR_YELLOW, string, 2);
  58187. format(string, sizeof(string), "%s was possibly teleport drugrunning.", GetPlayerNameEx(playerid));
  58188. AddAutomatedFlag(playerid, string);
  58189. // format(string, sizeof(string), "%s (ID %d) is possibly teleport drugrunning.", GetPlayerNameEx(playerid), playerid);
  58190. // Log("logs/hack.log", string);
  58191. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* You received $150 for delivering the Drug Crates.");
  58192. DeletePVar(playerid, "CrateDeliver");
  58193. PlayerInfo[playerid][pCrates] = 0;
  58194. SetPVarInt(playerid, "_TP_HACK_WARNINGS", GetPVarInt(playerid,"_TP_HACK_WARNINGS")+1);
  58195. if(GetPVarInt(playerid,"_TP_HACK_WARNINGS") >= 3)
  58196. {
  58197. format(string, sizeof(string), "AdmCmd: %s has been banned, reason: Teleport hacking.", GetPlayerNameEx(playerid));
  58198. SendClientMessageToAllEx(COLOR_LIGHTRED, string);
  58199. PlayerInfo[playerid][pBanned] = 3;
  58200. new playerip[32];
  58201. GetPlayerIp(playerid, playerip, sizeof(playerip));
  58202. format(string, sizeof(string), "AdmCmd: %s (IP:%s) was banned, reason: Teleport hacking.", GetPlayerNameEx(playerid), playerip);
  58203. PlayerInfo[playerid][pBanned] = 3;
  58204. Log("logs/ban.log", string);
  58205. new ip[32];
  58206. GetPlayerIp(playerid,ip,sizeof(ip));
  58207. AddBan(ip);
  58208. Kick(playerid);
  58209. TotalAutoBan++;
  58210. }
  58211. return 1;
  58212. }
  58213. DisablePlayerCheckpoint(playerid);
  58214. new level = PlayerInfo[playerid][pSmugSkill];
  58215. if(level >= 0 && level <= 50)
  58216. {
  58217. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* You received $250 for delivering the Drug Crates.");
  58218. GivePlayerCash(playerid, 250);
  58219. }
  58220. else if(level >= 51 && level <= 100)
  58221. {
  58222. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* You received $300 for delivering the Drug Crates.");
  58223. GivePlayerCash(playerid, 300);
  58224. }
  58225. else if(level >= 101 && level <= 200)
  58226. {
  58227. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* You received $350 for delivering the Drug Crates.");
  58228. GivePlayerCash(playerid, 350);
  58229. }
  58230. else if(level >= 201 && level <= 400)
  58231. {
  58232. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* You received $400 for delivering the Drug Crates.");
  58233. GivePlayerCash(playerid, 400);
  58234. }
  58235. else if(level >= 401)
  58236. {
  58237. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* You received $450 for delivering the Drug Crates.");
  58238. GivePlayerCash(playerid, 450);
  58239. }
  58240. DeletePVar(playerid, "CrateDeliver");
  58241. PlayerInfo[playerid][pCrates] = 0;
  58242. Points[h][Stock] += 10;
  58243. if(DoubleXP == 1)
  58244. {
  58245. new hour,minuite,second;
  58246. gettime(hour,minuite,second);
  58247. if(DoubleEXPcheck(hour))
  58248. {
  58249. PlayerInfo[playerid][pSmugSkill] += 2;
  58250. SendClientMessage(playerid, COLOR_YELLOW, "* You have gained two skill points for this job due to double experience.");
  58251. }
  58252. /*else
  58253. {
  58254. SendClientMessage(playerid, COLOR_YELLOW, "* You have only gained one skill point for this job since it's not within the double experience hours.");
  58255. PlayerInfo[playerid][pSmugSkill]++;
  58256. }*/
  58257. }
  58258. else
  58259. {
  58260. PlayerInfo[playerid][pSmugSkill]++;
  58261. }
  58262. format(string, sizeof(string), " POT AVAILABLE: %d grams.", Points[h][Stock]);
  58263. UpdateDynamic3DTextLabelText(Points[h][TextLabel], COLOR_YELLOW, string);
  58264. return 1;
  58265. }
  58266. else if(Points[h][Type] == 4 && GetPVarInt(playerid, "CrateDeliver") == 2 && IsPlayerInRangeOfPoint(playerid, 6.0, 2354.2808,-1169.2959,28.0066))
  58267. {
  58268. new string[128];
  58269. if(GetPVarInt(playerid, "tpDrugRunTimer") != 0)
  58270. {
  58271. format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) is possibly teleport drugrunning.", GetPlayerNameEx(playerid), playerid);
  58272. ABroadCast(COLOR_YELLOW, string, 2);
  58273. format(string, sizeof(string), "%s was possibly teleport drugrunning.", GetPlayerNameEx(playerid));
  58274. AddAutomatedFlag(playerid, string);
  58275. // format(string, sizeof(string), "%s (ID %d) is possibly teleport drugrunning.", GetPlayerNameEx(playerid), playerid);
  58276. // Log("logs/hack.log", string);
  58277. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* You received $125 for delivering the Drug Crates.");
  58278. DeletePVar(playerid, "CrateDeliver");
  58279. PlayerInfo[playerid][pCrates] = 0;
  58280. SetPVarInt(playerid, "_TP_HACK_WARNINGS", GetPVarInt(playerid,"_TP_HACK_WARNINGS")+1);
  58281. if(GetPVarInt(playerid,"_TP_HACK_WARNINGS") >= 3)
  58282. {
  58283. format(string, sizeof(string), "AdmCmd: %s has been banned, reason: Teleport hacking.", GetPlayerNameEx(playerid));
  58284. SendClientMessageToAllEx(COLOR_LIGHTRED, string);
  58285. PlayerInfo[playerid][pBanned] = 3;
  58286. new playerip[32];
  58287. GetPlayerIp(playerid, playerip, sizeof(playerip));
  58288. format(string, sizeof(string), "AdmCmd: %s (IP:%s) was banned, reason: Teleport hacking.", GetPlayerNameEx(playerid), playerip);
  58289. PlayerInfo[playerid][pBanned] = 3;
  58290. Log("logs/ban.log", string);
  58291. new ip[32];
  58292. GetPlayerIp(playerid,ip,sizeof(ip));
  58293. AddBan(ip);
  58294. Kick(playerid);
  58295. TotalAutoBan++;
  58296. }
  58297. return 1;
  58298. }
  58299. DisablePlayerCheckpoint(playerid);
  58300. new level = PlayerInfo[playerid][pSmugSkill];
  58301. if(level >= 0 && level <= 50)
  58302. {
  58303. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* You received $250 for delivering the Drug Crates.");
  58304. GivePlayerCash(playerid, 250);
  58305. }
  58306. else if(level >= 51 && level <= 100)
  58307. {
  58308. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* You received $300 for delivering the Drug Crates.");
  58309. GivePlayerCash(playerid, 300);
  58310. }
  58311. else if(level >= 101 && level <= 200)
  58312. {
  58313. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* You received $350 for delivering the Drug Crates.");
  58314. GivePlayerCash(playerid, 350);
  58315. }
  58316. else if(level >= 201 && level <= 400)
  58317. {
  58318. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* You received $400 for delivering the Drug Crates.");
  58319. GivePlayerCash(playerid, 400);
  58320. }
  58321. else if(level >= 401)
  58322. {
  58323. SendClientMessage(playerid, COLOR_LIGHTBLUE,"* You received $450 for delivering the Drug Crates.");
  58324. GivePlayerCash(playerid, 450);
  58325. }
  58326. DeletePVar(playerid, "CrateDeliver");
  58327. PlayerInfo[playerid][pCrates] = 0;
  58328. Points[h][Stock] += 10;
  58329. if(DoubleXP == 1)
  58330. {
  58331. new hour,minuite,second;
  58332. gettime(hour,minuite,second);
  58333. if(DoubleEXPcheck(hour))
  58334. {
  58335. PlayerInfo[playerid][pSmugSkill] += 2;
  58336. SendClientMessage(playerid, COLOR_YELLOW, "* You have gained two skill points for this job due to double experience.");
  58337. }
  58338. /*else
  58339. {
  58340. SendClientMessage(playerid, COLOR_YELLOW, "* You have only gained one skill point for this job since it's not within the double experience hours.");
  58341. PlayerInfo[playerid][pSmugSkill]++;
  58342. }*/
  58343. }
  58344. else
  58345. {
  58346. PlayerInfo[playerid][pSmugSkill]++;
  58347. }
  58348. format(string, sizeof(string), " CRACK AVAILABLE: %d grams.", Points[h][Stock]);
  58349. UpdateDynamic3DTextLabelText(Points[h][TextLabel], COLOR_YELLOW, string);
  58350. return 1;
  58351. }
  58352. else if(Points[h][Type] == 2 && GetPVarInt(playerid, "MatDeliver") == Points[h][MatPoint] && IsPlayerInRangeOfPoint(playerid, 6.0, Points[h][Pointx], Points[h][Pointy], Points[h][Pointz]))
  58353. {
  58354. if(GetPVarInt(playerid, "Packages") > 0)
  58355. {
  58356. new string[128];
  58357. if(GetPVarInt(playerid, "tpMatRunTimer") != 0)
  58358. {
  58359. format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) is possibly teleport matrunning.", GetPlayerNameEx(playerid), playerid);
  58360. ABroadCast(COLOR_YELLOW, string, 2);
  58361. format(string, sizeof(string), "%s was possibly teleport matrunning.", GetPlayerNameEx(playerid));
  58362. AddAutomatedFlag(playerid, string);
  58363. // format(string, sizeof(string), "%s (ID %d) is possibly teleport matrunning.", GetPlayerNameEx(playerid), playerid);
  58364. // Log("logs/hack.log", string);
  58365. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* The factory gave you 350 materials for your 15 materials packages.");
  58366. DeletePVar(playerid, "Packages");
  58367. DeletePVar(playerid, "MatDeliver");
  58368. DisablePlayerCheckpoint(playerid);
  58369. SetPVarInt(playerid, "_TP_HACK_WARNINGS", GetPVarInt(playerid,"_TP_HACK_WARNINGS")+1);
  58370. if(GetPVarInt(playerid,"_TP_HACK_WARNINGS") >= 3)
  58371. {
  58372. format(string, sizeof(string), "AdmCmd: %s has been banned, reason: Teleport hacking.", GetPlayerNameEx(playerid));
  58373. SendClientMessageToAllEx(COLOR_LIGHTRED, string);
  58374. PlayerInfo[playerid][pBanned] = 3;
  58375. new playerip[32];
  58376. GetPlayerIp(playerid, playerip, sizeof(playerip));
  58377. format(string, sizeof(string), "AdmCmd: %s (IP:%s) was banned, reason: Teleport hacking.", GetPlayerNameEx(playerid), playerip);
  58378. PlayerInfo[playerid][pBanned] = 3;
  58379. Log("logs/ban.log", string);
  58380. new ip[32];
  58381. GetPlayerIp(playerid,ip,sizeof(ip));
  58382. AddBan(ip);
  58383. Kick(playerid);
  58384. TotalAutoBan++;
  58385. }
  58386. return 1;
  58387. }
  58388. new payout = (25)*(GetPVarInt(playerid, "Packages"));
  58389. PlayerInfo[playerid][pMats] += 350;
  58390. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* The factory gave you 350 materials for your 15 materials packages.");
  58391. DeletePVar(playerid, "Packages");
  58392. DeletePVar(playerid, "MatDeliver");
  58393. DisablePlayerCheckpoint(playerid);
  58394. for(new p = 0; p < sizeof(FamilyInfo); p++)
  58395. {
  58396. if(strcmp(Points[h][Owner], FamilyInfo[p][FamilyName], true) == 0)
  58397. {
  58398. FamilyInfo[p][FamilyBank] = FamilyInfo[p][FamilyBank]+(payout/3);
  58399. //SendClientMessage(playerid, COLOR_WHITE, " Family owner recieved 33 percent of the cost.");
  58400. }
  58401. }
  58402. return 1;
  58403. }
  58404. }
  58405. }
  58406. DisablePlayerCheckpoint(playerid);
  58407. return 1;
  58408. }
  58409. forward ShowPlayerBeaconForCops(playerid);
  58410. public ShowPlayerBeaconForCops(playerid)
  58411. {
  58412. foreach(Player, i)
  58413. {
  58414. if(IsACop(i))
  58415. {
  58416. SetPlayerMarkerForPlayer(i, playerid, COP_GREEN_COLOR);
  58417. }
  58418. }
  58419. return 1;
  58420. }
  58421. forward HidePlayerBeaconForCops(playerid);
  58422. public HidePlayerBeaconForCops(playerid)
  58423. {
  58424. foreach(Player, i)
  58425. {
  58426. if(IsACop(i))
  58427. {
  58428. SetPlayerMarkerForPlayer(i, playerid, TEAM_HIT_COLOR);
  58429. }
  58430. }
  58431. SetPlayerToTeamColor(playerid);
  58432. return 1;
  58433. }
  58434. forward ShowPlayerBeaconForMedics(playerid);
  58435. public ShowPlayerBeaconForMedics(playerid)
  58436. {
  58437. foreach(Player, i)
  58438. {
  58439. if(IsInLSFMD(i))
  58440. {
  58441. SetPlayerMarkerForPlayer(i, playerid, COP_GREEN_COLOR);
  58442. }
  58443. }
  58444. return 1;
  58445. }
  58446. forward HidePlayerBeaconForMedics(playerid);
  58447. public HidePlayerBeaconForMedics(playerid)
  58448. {
  58449. foreach(Player, i)
  58450. {
  58451. if(IsInLSFMD(i))
  58452. {
  58453. SetPlayerMarkerForPlayer(i, playerid, TEAM_HIT_COLOR);
  58454. }
  58455. }
  58456. SetPlayerToTeamColor(playerid);
  58457. return 1;
  58458. }
  58459. public OnPlayerLeaveCheckpoint(playerid)
  58460. {
  58461. return 1;
  58462. }
  58463. public OnPlayerEnterRaceCheckpoint(playerid)
  58464. {
  58465. return 1;
  58466. }
  58467. public OnPlayerLeaveRaceCheckpoint(playerid)
  58468. {
  58469. return 1;
  58470. }
  58471. public OnRconCommand(cmd[])
  58472. {
  58473. return 1;
  58474. }
  58475. public OnPlayerRequestSpawn(playerid)
  58476. {
  58477. return 1;
  58478. }
  58479. public OnObjectMoved(objectid)
  58480. {
  58481. return 1;
  58482. }
  58483. public OnPlayerObjectMoved(playerid, objectid)
  58484. {
  58485. return 1;
  58486. }
  58487. public OnPlayerPickUpPickup(playerid, pickupid) {
  58488. // Advance Mining and lumber jack job
  58489. if(pickupid == pickup777)
  58490. {
  58491. if(onminer[playerid] == 0) ShowPlayerDialogEx(playerid, DIALOG_STARTJOB, DIALOG_STYLE_MSGBOX, "{DDFF00}Mining Job", "{FFFFFF}Would you like this to be hired as a {DDFF00}miner?", "Yes", "No");
  58492. else ShowPlayerDialogEx(playerid, DIALOG_ENDJOB, DIALOG_STYLE_MSGBOX, "{FFFFFF}Mining Job", "{FFFFFF}Would you like to go off duty as a {DDFF00}miner?", "Yes", "No");
  58493. }
  58494. #if defined TREASURE_HUNT_ENABLED
  58495. if(iHuntPickup == pickupid && GetPVarType(playerid, "fT") == 0 && AdminDuty[playerid] != 1) {
  58496. new string[128];
  58497. format(string, sizeof(string), "%s has just found a treasure package in the hunt.", GetPlayerNameEx(playerid));
  58498. Log("logs/treasurehunt.log", string);
  58499. format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) has just found a treasure package in the hunt.", GetPlayerNameEx(playerid), playerid);
  58500. ABroadCast(COLOR_YELLOW, string, 2);
  58501. AskHuntQuestion(playerid);
  58502. SetPVarInt(playerid, "fT", 1);
  58503. }
  58504. #endif
  58505. if(pickupid == dildo) {
  58506. GivePlayerValidWeapon(playerid, 10, 60000);
  58507. }
  58508. return 1;
  58509. }
  58510. public OnEnterExitModShop(playerid, enterexit, interiorid) {
  58511. return 1;
  58512. }
  58513. public OnVehicleMod(playerid, vehicleid, componentid) {
  58514. if(!(1 <= GetPlayerInterior(playerid) <= 3) && PlayerInfo[playerid][pAdmin] < 5 && !GetPVarType(playerid, "unMod")) {
  58515. new
  58516. szMessage[128];
  58517. format(szMessage, sizeof(szMessage), "AdmWarning: %s may be hacking vehicle modifications (applied %s %s to their %s).", GetPlayerNameEx(playerid), partName(componentid), partType(GetVehicleComponentType(componentid)), GetVehicleName(vehicleid));
  58518. ABroadCast(COLOR_YELLOW, szMessage, 2);
  58519. }
  58520. if(GetPVarType(playerid, "unMod")) DeletePVar(playerid, "unMod");
  58521. return 1;
  58522. }
  58523. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  58524. {
  58525. return 1;
  58526. }
  58527. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  58528. {
  58529. return 1;
  58530. }
  58531. public OnPlayerExitedMenu(playerid)
  58532. {
  58533. return 1;
  58534. }
  58535. forward TazerTimer(playerid);
  58536. public TazerTimer(playerid)
  58537. {
  58538. if(TazerTimeout[playerid] > 0)
  58539. {
  58540. new string[128];
  58541. format(string,sizeof(string),"~n~~n~~n~~n~~n~~n~~n~~n~~r~Tazer reloading... ~w~%d", TazerTimeout[playerid]);
  58542. GameTextForPlayer(playerid, string,1500, 3);
  58543. TazerTimeout[playerid] -= 1;
  58544. SetTimerEx("TazerTimer",1000,false,"d",playerid);
  58545. }
  58546. return 1;
  58547. }
  58548. Float:DistanceCameraTargetToLocation(Float:CamX, Float:CamY, Float:CamZ, Float:ObjX, Float:ObjY, Float:ObjZ, Float:FrX, Float:FrY, Float:FrZ)
  58549. {
  58550. new Float:TGTDistance;
  58551. // get distance from camera to target
  58552. TGTDistance = floatsqroot((CamX - ObjX) * (CamX - ObjX) + (CamY - ObjY) * (CamY - ObjY) + (CamZ - ObjZ) * (CamZ - ObjZ));
  58553. new Float:tmpX, Float:tmpY, Float:tmpZ;
  58554. tmpX = FrX * TGTDistance + CamX;
  58555. tmpY = FrY * TGTDistance + CamY;
  58556. tmpZ = FrZ * TGTDistance + CamZ;
  58557. return floatsqroot((tmpX - ObjX) * (tmpX - ObjX) + (tmpY - ObjY) * (tmpY - ObjY) + (tmpZ - ObjZ) * (tmpZ - ObjZ));
  58558. }
  58559. stock IsPlayerAimingAt(playerid, Float:x, Float:y, Float:z, Float:radius)
  58560. {
  58561. new Float:cx,Float:cy,Float:cz,Float:fx,Float:fy,Float:fz;
  58562. GetPlayerCameraPos(playerid, cx, cy, cz);
  58563. GetPlayerCameraFrontVector(playerid, fx, fy, fz);
  58564. return (radius >= DistanceCameraTargetToLocation(cx, cy, cz, x, y, z, fx, fy, fz));
  58565. }
  58566. public OnPlayerInteriorChange(playerid,newinteriorid,oldinteriorid)
  58567. {
  58568. PlayerInfo[playerid][pInt] = newinteriorid;
  58569. if(GettingSpectated[playerid] != 999)
  58570. {
  58571. new spectator = GettingSpectated[playerid];
  58572. if(!IsPlayerConnected(spectator))
  58573. {
  58574. GettingSpectated[playerid] = 999;
  58575. Spectate[spectator] = 999;
  58576. }
  58577. else
  58578. {
  58579. PlayerSpectatePlayer(spectator, playerid);
  58580. SetPlayerInterior(spectator, GetPlayerInterior(playerid));
  58581. SetPlayerVirtualWorld(spectator, GetPlayerVirtualWorld(playerid));
  58582. }
  58583. }
  58584. Streamer_Update(playerid);
  58585. }
  58586. public OnPlayerDamage(&playerid, &Float:amount, &issuerid, &weapon, &bodypart)
  58587. {
  58588. if(pTazer[issuerid] == 1 && GetPlayerState(issuerid) == PLAYER_STATE_ONFOOT && weapon == 23 && amount > 10)
  58589. {
  58590. if(TazerTimeout[issuerid] > 0)
  58591. {
  58592. return 1;
  58593. }
  58594. if(PlayerCuffed[playerid] == 0 && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT && (GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(playerid)))
  58595. {
  58596. new Float:X, Float:Y, Float:Z;
  58597. GetPlayerPos(playerid, X, Y, Z);
  58598. if(!IsPlayerInRangeOfPoint(playerid, 18.5, X, Y, Z))
  58599. {
  58600. SendClientMessage(issuerid, COLOR_GRAD2, "Your tazer can't reach that far!");
  58601. return 1;
  58602. }
  58603. if(AdminDuty[playerid] == 1)
  58604. {
  58605. SendClientMessage(issuerid, COLOR_GRAD2, "Admins can't be tazed!");
  58606. return 1;
  58607. }
  58608. new string[44 + (MAX_PLAYER_NAME * 2)];
  58609. format(string, sizeof(string), "* %s fires their tazer at %s, stunning them.", GetPlayerNameEx(issuerid), GetPlayerNameEx(playerid));
  58610. ProxDetector(30.0, issuerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  58611. GameTextForPlayer(playerid, "~r~Tazed", 3500, 3);
  58612. TogglePlayerControllable(playerid, 0);
  58613. ApplyAnimation(playerid,"CRACK","crckdeth2",4.1,0,1,1,1,1,1);
  58614. GetPlayerPos(playerid, X, Y, Z);
  58615. PlayerPlaySound(playerid, 1085, X, Y, Z);
  58616. PlayerPlaySound(playerid, 1085, X, Y, Z);
  58617. PlayerCuffed[playerid] = 1;
  58618. SetPVarInt(playerid, "PlayerCuffed", 1);
  58619. PlayerCuffedTime[playerid] = 16;
  58620. SetPVarInt(playerid, "IsFrozen", 1);
  58621. //Frozen[i] = 1;
  58622. TazerTimeout[issuerid] = 4;
  58623. SetTimerEx("TazerTimer",1000,false,"d",issuerid);
  58624. GameTextForPlayer(issuerid, "~n~~n~~n~~n~~n~~n~~n~~n~~r~Tazer reloading... ~w~5", 1500,3);
  58625. return 1;
  58626. }
  58627. if(GetPlayerHealth(playerid) < 49.0 && !IsPlayerNPC(playerid) && !pBlood[playerid])
  58628. {
  58629. ShowBlood(playerid, 2);
  58630. pBlood[playerid] = true;
  58631. }
  58632. if(PlayerInfo[playerid][pNoDamage])
  58633. {
  58634. GameTextForPlayer(issuerid, "That player has god-mode turned on!", 5000, 3);
  58635. GameTextForPlayer(playerid, "God mode is on!", 5000, 3);
  58636. return 0;
  58637. }
  58638. if(playerid != INVALID_PLAYER_ID && PlayerInfo[playerid][pNoDamage])
  58639. {
  58640. return 0; // for fall damage while on /god
  58641. }
  58642. }
  58643. return 1;
  58644. }
  58645. public OnPlayerDamageDone(playerid, Float:amount, issuerid, weapon, bodypart)
  58646. {
  58647. new string[50];
  58648. if(playerid != INVALID_PLAYER_ID && issuerid != INVALID_PLAYER_ID) // motherfucker caused us to start out with bed rep BIATCH
  58649. {
  58650. if(PlayerInfo[playerid][pLevel] >= 1)
  58651. {
  58652. format(string, sizeof(string), "~g~Damage: You hit %s for %.0f damage.", GetPlayerNameEx(playerid), amount);
  58653. TextDrawSetString(Damage[issuerid], string);
  58654. TextDrawShowForPlayer(issuerid, Damage[issuerid]);
  58655. PlayerPlaySound(issuerid, 17802, 0.0, 0.0, 15.0);
  58656. KillTimer(PlayerInfo[issuerid][pDamageTimer]);
  58657. PlayerInfo[issuerid][pDamageTimer] = SetTimerEx("DestroyDamageTD", 1500, false, "i", issuerid);
  58658. }
  58659. if(PlayerInfo[playerid][pLevel] >= 1)
  58660. {
  58661. format(string, sizeof(string), "~r~Damage: %s hit you for %.0f damage.", GetPlayerNameEx(issuerid), amount);
  58662. TextDrawSetString(Damage[playerid], string);
  58663. TextDrawShowForPlayer(playerid, Damage[playerid]);
  58664. PlayerPlaySound(playerid, 17802, 0.0, 0.0, 15.0);
  58665. KillTimer(PlayerInfo[playerid][pDamageTimer]);
  58666. PlayerInfo[playerid][pDamageTimer] = SetTimerEx("DestroyDamageTD", 1500, false, "i", playerid);
  58667. }
  58668. }
  58669. return 1;
  58670. }
  58671. stock ResetPlayerVariables(playerid)
  58672. {
  58673. // ** GENERAL
  58674. pCBugging[playerid] = false;
  58675. // ** TIMERS
  58676. KillTimer(ptmCBugFreezeOver[playerid]);
  58677. // ** TIMESTAMPS
  58678. ptsLastFiredWeapon[playerid] = 0;
  58679. return 1;
  58680. }
  58681. forward CBugFreezeOver(playerid);
  58682. public CBugFreezeOver(playerid)
  58683. {
  58684. ClearAnimations(playerid);
  58685. TogglePlayerControllable(playerid, true);
  58686. ClearAnimations(playerid);
  58687. pCBugging[playerid] = false;
  58688. return 1;
  58689. }
  58690. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) {
  58691. if(IsPlayerNPC(playerid)) return 1;
  58692. if (((newkeys & KEY_WALK && newkeys & KEY_UP) || (newkeys & KEY_WALK && newkeys & KEY_DOWN) || (newkeys & KEY_WALK && newkeys & KEY_LEFT) || (newkeys & KEY_WALK && newkeys & KEY_RIGHT))
  58693. || ((oldkeys & KEY_WALK && newkeys & KEY_UP) || (oldkeys & KEY_WALK && newkeys & KEY_DOWN) || (oldkeys & KEY_WALK && newkeys & KEY_LEFT) || (oldkeys & KEY_WALK && newkeys & KEY_RIGHT))
  58694. || ((newkeys & KEY_WALK && oldkeys & KEY_UP) || (newkeys & KEY_WALK && oldkeys & KEY_DOWN) || (newkeys & KEY_WALK && oldkeys & KEY_LEFT) || (newkeys & KEY_WALK && oldkeys & KEY_RIGHT))
  58695. && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) {
  58696. walktime[playerid] = SetTimerEx("WalkAnim",200,0,"d",playerid);
  58697. }
  58698. if(!pCBugging[playerid] && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
  58699. {
  58700. if(PRESSED(KEY_FIRE))
  58701. {
  58702. switch(GetPlayerWeapon(playerid))
  58703. {
  58704. case WEAPON_DEAGLE, WEAPON_SHOTGUN, WEAPON_SNIPER, WEAPON_SHOTGSPA:
  58705. {
  58706. ptsLastFiredWeapon[playerid] = gettime();
  58707. }
  58708. }
  58709. }
  58710. else if(PRESSED(KEY_CROUCH))
  58711. {
  58712. if((gettime() - ptsLastFiredWeapon[playerid]) < 1)
  58713. {
  58714. if(Dueling[playerid] == INVALID_PLAYER_ID && GetPVarInt(playerid, "PBM") == 0 && GetPVarInt(playerid, "EventToken") == 0)
  58715. {
  58716. TogglePlayerControllable(playerid, true);
  58717. TogglePlayerControllable(playerid, false);
  58718. ApplyAnimation(playerid, "SAMP", "FishingIdle", 3.0,1,1,0,0,0);
  58719. pCBugging[playerid] = true;
  58720. SCM(playerid, COLOR_REALREDS, "WARNING: Do not abuse C-bug. Gun discharge exploit is forbidden outside paintball and events.");
  58721. KillTimer(ptmCBugFreezeOver[playerid]);
  58722. ptmCBugFreezeOver[playerid] = SetTimerEx("CBugFreezeOver", 1500, false, "i", playerid);
  58723. }
  58724. }
  58725. }
  58726. }
  58727. if((newkeys & KEY_FIRE) && GetPVarInt(playerid, "SpeedRadar") == 1 && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
  58728. {
  58729. if(GetPVarInt(playerid, "RadarTimeout") == 0)
  58730. {
  58731. if(GetPlayerWeapon(playerid) == 43)
  58732. {
  58733. new Float:x,Float:y,Float:z;
  58734. foreach(Player, i)
  58735. {
  58736. if(IsPlayerStreamedIn(i, playerid))
  58737. {
  58738. GetPlayerPos(i,x,y,z);
  58739. if(IsPlayerAimingAt(playerid,x,y,z,10))
  58740. {
  58741. new string[68];
  58742. format(string, sizeof(string), "~n~~n~~n~~n~~n~~n~~b~License Plate: ~w~%d~n~~b~Speed: ~w~%.0f MPH", GetPlayerVehicleID(i), fVehSpeed[i]);
  58743. GameTextForPlayer(playerid, string,3500, 3);
  58744. format(string, sizeof(string), "License Plate: %d. Speed: %.0f MPH", GetPlayerVehicleID(i), fVehSpeed[i]);
  58745. SendClientMessage(playerid, COLOR_GRAD4, string);
  58746. SetPVarInt(playerid, "RadarTimeout", 1);
  58747. SetTimerEx("RadarCooldown", 3000, 0, "i", playerid);
  58748. return 1;
  58749. }
  58750. }
  58751. }
  58752. }
  58753. }
  58754. }
  58755. if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_DRINK_BEER && (newkeys & KEY_FIRE))
  58756. {
  58757. if(GetPVarInt(playerid, "DrinkCooledDown") == 1)
  58758. {
  58759. new Float: cHealth;
  58760. GetPlayerHealth(playerid, cHealth);
  58761. if((cHealth + 5) >= 100) {
  58762. SetPlayerHealth(playerid, 100);
  58763. SendClientMessage(playerid, COLOR_GREY, "* You finish up the drink and throw it away.");
  58764. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
  58765. }
  58766. else if(cHealth <= 95) {
  58767. SetPlayerHealth(playerid, cHealth+5);
  58768. }
  58769. else {
  58770. SendClientMessage(playerid, COLOR_GREY, "* You finish up the drink and throw it away.");
  58771. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
  58772. }
  58773. DeletePVar(playerid, "DrinkCooledDown");
  58774. SetTimerEx("DrinkCooldown", 2500, 0, "i", playerid);
  58775. return 1;
  58776. }
  58777. }
  58778. if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_DRINK_WINE && (newkeys & KEY_FIRE))
  58779. {
  58780. if(GetPVarInt(playerid, "DrinkCooledDown") == 1)
  58781. {
  58782. new Float: cHealth;
  58783. GetPlayerHealth(playerid, cHealth);
  58784. if((cHealth + 8) >= 100) {
  58785. SetPlayerHealth(playerid, 100);
  58786. SendClientMessage(playerid, COLOR_GREY, "* You finish up the drink and throw it away.");
  58787. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
  58788. } else if(cHealth <= 92) {
  58789. SetPlayerHealth(playerid, cHealth+8);
  58790. } else {
  58791. SendClientMessage(playerid, COLOR_GREY, "* You finish up the drink and throw it away.");
  58792. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
  58793. }
  58794. DeletePVar(playerid, "DrinkCooledDown");
  58795. SetTimerEx("DrinkCooldown", 2500, 0, "i", playerid);
  58796. return 1;
  58797. }
  58798. }
  58799. if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_DRINK_SPRUNK && (newkeys & KEY_FIRE))
  58800. {
  58801. if(GetPVarInt(playerid, "DrinkCooledDown") == 1)
  58802. {
  58803. new Float: cHealth;
  58804. GetPlayerHealth(playerid, cHealth);
  58805. if((cHealth + 2) >= 100) {
  58806. SetPlayerHealth(playerid, 100);
  58807. SendClientMessage(playerid, COLOR_GREY, "* You finish up the drink and throw it away.");
  58808. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
  58809. } else if(cHealth <= 98) {
  58810. SetPlayerHealth(playerid, cHealth+2);
  58811. } else {
  58812. SendClientMessage(playerid, COLOR_GREY, "* You finish up the drink and throw it away.");
  58813. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
  58814. }
  58815. DeletePVar(playerid, "DrinkCooledDown");
  58816. SetTimerEx("DrinkCooldown", 2500, 0, "i", playerid);
  58817. return 1;
  58818. }
  58819. }
  58820. if(IsKeyJustDown(KEY_SECONDARY_ATTACK, newkeys, oldkeys))
  58821. {
  58822. if(GetPVarInt(playerid, "UsingSprunk"))
  58823. {
  58824. DeletePVar(playerid, "UsingSprunk");
  58825. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
  58826. return 1;
  58827. }
  58828. }
  58829. if(IsKeyJustDown(KEY_FIRE, newkeys, oldkeys))
  58830. {
  58831. if(PlayerInfo[playerid][pC4Used] == 1)
  58832. {
  58833. if(GoChase[playerid] < 999)
  58834. {
  58835. if(IsPlayerInRangeOfPoint(GoChase[playerid], 12.0, GetPVarFloat(playerid, "DYN_C4_FLOAT_X"), GetPVarFloat(playerid, "DYN_C4_FLOAT_Y"), GetPVarFloat(playerid, "DYN_C4_FLOAT_Z")))
  58836. {
  58837. if(PlayerInfo[GoChase[playerid]][pHeadValue] >= 1)
  58838. {
  58839. if(PlayerInfo[playerid][pFaction] == 4 || PlayerInfo[playerid][pLeader] == 4)
  58840. {
  58841. new
  58842. string[128],
  58843. name2[MAX_PLAYER_NAME],
  58844. name[MAX_PLAYER_NAME];
  58845. new takemoney = PlayerInfo[GoChase[playerid]][pHeadValue] / 4 * 2;
  58846. name = GetPlayerNameEx(GoChase[playerid]);
  58847. GivePlayerCash(playerid, takemoney);
  58848. GivePlayerCash(GoChase[playerid], -takemoney);
  58849. format(string,sizeof(string),"Hitman %s has fulfilled the contract on %s and collected $%d",GetPlayerNameEx(playerid),GetPlayerNameEx(GoChase[playerid]),PlayerInfo[GoChase[playerid]][pHeadValue] / 4 * 2);
  58850. SendFamilyMessage(4, COLOR_YELLOW, string);
  58851. format(string,sizeof(string),"You have been critically injured by a Hitman and lost $%d!",takemoney);
  58852. ResetPlayerWeaponsEx(GoChase[playerid]);
  58853. // SpawnPlayer(GoChase[playerid]);
  58854. SendClientMessage(GoChase[playerid], COLOR_YELLOW, string);
  58855. foreach(Player, i) {
  58856. name2 = GetPlayerNameEx(i);
  58857. if(!strcmp(PlayerInfo[GoChase[playerid]][pContractBy], name2, true)) {
  58858. if(!IsPlayerStreamedIn(i, GoChase[playerid])) {
  58859. format(string, sizeof(string), "SMS: The deed (on %s) has been done, Sender: MOLE (555)", name);
  58860. SendClientMessage(i, COLOR_YELLOW, string);
  58861. }
  58862. }
  58863. }
  58864. PlayerInfo[GoChase[playerid]][pHeadValue] = 0;
  58865. strcpy(PlayerInfo[GoChase[playerid]][pContractBy], "Nobody", 64);
  58866. strcpy(PlayerInfo[GoChase[playerid]][pContractDetail], "None", 64);
  58867. PlayerInfo[playerid][pCHits] += 1;
  58868. SetPlayerHealth(GoChase[playerid], 0.0);
  58869. // KillEMSQueue(GoChase[playerid]);
  58870. GotHit[GoChase[playerid]] = 0;
  58871. GetChased[GoChase[playerid]] = 999;
  58872. GoChase[playerid] = 999;
  58873. }
  58874. }
  58875. }
  58876. }
  58877. PlayerInfo[playerid][pC4Used] = 0;
  58878. CreateExplosion(GetPVarFloat(playerid, "DYN_C4_FLOAT_X"), GetPVarFloat(playerid, "DYN_C4_FLOAT_Y"), GetPVarFloat(playerid, "DYN_C4_FLOAT_Z"), 7, 8);
  58879. PickUpC4(playerid);
  58880. SendClientMessage(playerid, COLOR_YELLOW, "Bomb has been detonated!");
  58881. PlayerInfo[playerid][pC4Used] = 0;
  58882. return 1;
  58883. }
  58884. if(GetPVarInt(playerid, "MovingStretcher") != -1)
  58885. {
  58886. KillTimer(GetPVarInt(playerid, "TickEMSMove"));
  58887. MoveEMS(playerid);
  58888. return 1;
  58889. }
  58890. if(GetPVarInt(playerid, "editingcdvehpos"))
  58891. {
  58892. TogglePlayerControllable(playerid, false);
  58893. ShowPlayerDialogEx(playerid,DIALOG_CDEDITPARK,DIALOG_STYLE_MSGBOX,"Warning:","Is this the new position you want?","Ok","Cancel");
  58894. }
  58895. if(GetPVarInt(playerid, "editingcdvehnew"))
  58896. {
  58897. TogglePlayerControllable(playerid, false);
  58898. ShowPlayerDialogEx(playerid,DIALOG_CDEDITPARK,DIALOG_STYLE_MSGBOX,"Warning:","Is this the new position you want?","Ok","Cancel");
  58899. }
  58900. new Float:health;
  58901. GetPlayerHealth(playerid, health);
  58902. if(GetPVarInt(playerid, "UsingSprunk"))
  58903. {
  58904. new hpint = floatround(health, floatround_round);
  58905. if(hpint >= 100)
  58906. {
  58907. SendClientMessage(playerid, COLOR_GREY, " You already have full health.");
  58908. return 1;
  58909. }
  58910. else
  58911. {
  58912. GetPlayerHealth(playerid, health);
  58913. SetPlayerHealth(playerid, health+1.0);
  58914. }
  58915. }
  58916. }
  58917. if(IsKeyJustDown(KEY_YES, newkeys, oldkeys)) {
  58918. if(GetPVarInt(playerid, "PBM") > 0) {
  58919. SendClientMessage(playerid, COLOR_WHITE, "You can't do this while being in a arena!");
  58920. return 1;
  58921. }
  58922. if(PlayerCuffed[playerid] >= 1) {
  58923. SendClientMessage(playerid, COLOR_WHITE, "You can't do this right now.");
  58924. return 1;
  58925. }
  58926. if(PlayerInfo[playerid][pJailed] > 0) {
  58927. SendClientMessage(playerid, COLOR_WHITE, "You can't do this right now.");
  58928. return 1;
  58929. }
  58930. if((IsPlayerInRangeOfPoint(playerid, 5.0, 130.24, 751.72, 940.02)) || (IsPlayerInRangeOfPoint(playerid, 5.0, 109.19, 752.59, 940.02)) || (IsPlayerInRangeOfPoint(playerid, 5.0, 119.77, 750.97,940.02)))
  58931. {
  58932. SetPlayerPos(playerid, 102.71, 751.71, 950.31);
  58933. }
  58934. new string[128];
  58935. for(new b = 1; b < sizeof(BusinessInfo); b++)//Loops through all the businesses.
  58936. {
  58937. if(IsPlayerInRangeOfPoint(playerid, 3.0, BusinessInfo[b][bEntranceX], BusinessInfo[b][bEntranceY], BusinessInfo[b][bEntranceZ]))//Checks if player is near the entrance.
  58938. {
  58939. if(BusinessInfo[b][bLocked] == 1) return SendClientMessage(playerid, COLOR_GREY, "This Business is locked!");//Checks it it is locked/
  58940. format(string, sizeof(string), "* %s has entered %s.", GetPlayerNameEx(playerid), BusinessInfo[b][bName]);
  58941. ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  58942. format(string, sizeof(string), "%s - %s", BusinessInfo[b][bName], BusinessInfo[b][bIT]);
  58943. SCM(playerid, -1, string);
  58944. SetPlayerPos(playerid, BusinessInfo[b][bExitX], BusinessInfo[b][bExitY], BusinessInfo[b][bExitZ]);
  58945. SetPlayerFacingAngle(playerid, BusinessInfo[b][bExitA]);
  58946. SetPlayerInterior(playerid, BusinessInfo[b][bInsideInt]);
  58947. SetPlayerVirtualWorld(playerid, BusinessInfo[b][bInsideWorld]);
  58948. InsideBiz[playerid] = b;
  58949. /*foreach(Player, i)
  58950. {
  58951. GameTextForPlayer(i, "Please use ~r~/buy~w~ to buy a products", 5000, 5);
  58952. }*/
  58953. return 1;
  58954. }
  58955. if(IsPlayerInRangeOfPoint(playerid, 3.0, BusinessInfo[b][bExitX], BusinessInfo[b][bExitY], BusinessInfo[b][bExitZ]) && GetPlayerVirtualWorld(playerid) == BusinessInfo[b][bInsideWorld])//Checks if player is in near the exit.
  58956. {
  58957. format(string, sizeof(string), "* %s has exited the building.", GetPlayerNameEx(playerid));
  58958. ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  58959. SetPlayerPos(playerid, BusinessInfo[b][bEntranceX], BusinessInfo[b][bEntranceY], BusinessInfo[b][bEntranceZ]);
  58960. SetPlayerFacingAngle(playerid, BusinessInfo[b][bEntranceA]);
  58961. SetPlayerInterior(playerid, BusinessInfo[b][bInt]);
  58962. SetPlayerVirtualWorld(playerid, BusinessInfo[b][bWorld]);
  58963. InsideBiz[playerid] = 0;
  58964. return 1;
  58965. }
  58966. }
  58967. for(new i = 0; i < sizeof(DDoorsInfo); i++) {
  58968. if(IsPlayerInRangeOfPoint(playerid,3.0,DDoorsInfo[i][ddExteriorX], DDoorsInfo[i][ddExteriorY], DDoorsInfo[i][ddExteriorZ]) && PlayerInfo[playerid][pVW] == DDoorsInfo[i][ddExteriorVW]) {
  58969. if(DDoorsInfo[i][ddVIP] > 0 && PlayerInfo[playerid][pDonator] < DDoorsInfo[i][ddVIP]) {
  58970. SendClientMessage(playerid, COLOR_GRAD2, "You can't enter, you're not a high enough Donator level.");
  58971. return 1;
  58972. }
  58973. if(DDoorsInfo[i][ddGang] > 0) {
  58974. if(PlayerInfo[playerid][pGang] != DDoorsInfo[i][ddGang]) {
  58975. SendClientMessage(playerid, COLOR_GRAD2, "You can't enter, this door is gang restricted.");
  58976. return 1;
  58977. }
  58978. }
  58979. if(DDoorsInfo[i][ddFaction] > 0)
  58980. {
  58981. if(PlayerInfo[playerid][pFaction] != DDoorsInfo[i][ddFaction])
  58982. {
  58983. SendClientMessage(playerid, COLOR_GRAD2, "You can't enter, this door is faction restricted.");
  58984. return 1;
  58985. }
  58986. }
  58987. if(DDoorsInfo[i][ddAdmin] > 0 && PlayerInfo[playerid][pAdmin] < DDoorsInfo[i][ddAdmin])
  58988. {
  58989. SendClientMessage(playerid, COLOR_GRAD2, "You can't enter, you're not a high enough admin level.");
  58990. return 1;
  58991. }
  58992. if(DDoorsInfo[i][ddWanted] > 0 && PlayerInfo[playerid][pWantedLevel] != 0) {
  58993. SendClientMessage(playerid, COLOR_GRAD2, "You can't enter, this door restricts those with wanted levels.");
  58994. return 1;
  58995. }
  58996. if(DDoorsInfo[i][ddLocked] == 1) {
  58997. return SendClientMessage(playerid, COLOR_GRAD2, "This door is currently locked.");
  58998. }
  58999. format(string, sizeof(string), "* %s has entered %s.", GetPlayerNameEx(playerid), DDoorsInfo[i][ddDescription]);
  59000. ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  59001. SetPlayerInterior(playerid,DDoorsInfo[i][ddInteriorInt]);
  59002. PlayerInfo[playerid][pInt] = DDoorsInfo[i][ddInteriorInt];
  59003. PlayerInfo[playerid][pVW] = DDoorsInfo[i][ddInteriorVW];
  59004. SetPVarInt(playerid, "DoorID", i);
  59005. SetPlayerVirtualWorld(playerid, DDoorsInfo[i][ddInteriorVW]);
  59006. if(DDoorsInfo[i][ddCustomInterior]) {
  59007. TogglePlayerControllable(playerid, 0);
  59008. for(new o = 0; o < 2; o++) {
  59009. TextDrawSetString(ObjectsLoadingTD[1], "OBJECTS LOADING...");
  59010. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  59011. }
  59012. SetPVarInt(playerid, "LoadingObjects", 1);
  59013. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  59014. }
  59015. if(DDoorsInfo[i][ddVehicleAble] > 0 && GetPlayerState(playerid) == PLAYER_STATE_DRIVER) {
  59016. SetVehiclePos(GetPlayerVehicleID(playerid), DDoorsInfo[i][ddInteriorX],DDoorsInfo[i][ddInteriorY],DDoorsInfo[i][ddInteriorZ]);
  59017. SetVehicleZAngle(GetPlayerVehicleID(playerid), DDoorsInfo[i][ddInteriorA]);
  59018. SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), DDoorsInfo[i][ddInteriorVW]);
  59019. LinkVehicleToInterior(GetPlayerVehicleID(playerid), DDoorsInfo[i][ddInteriorInt]);
  59020. }
  59021. else {
  59022. SetPlayerPos(playerid,DDoorsInfo[i][ddInteriorX],DDoorsInfo[i][ddInteriorY],DDoorsInfo[i][ddInteriorZ]);
  59023. SetPlayerFacingAngle(playerid,DDoorsInfo[i][ddInteriorA]);
  59024. SetCameraBehindPlayer(playerid);
  59025. }
  59026. foreach(Player, x)
  59027. {
  59028. if(IsABoomboxNearby(DDoorsInfo[i][ddInteriorX] ,DDoorsInfo[i][ddInteriorY], DDoorsInfo[i][ddInteriorZ], x) < 150.0 && DDoorsInfo[i][ddInteriorVW] == BoomboxInfo[x][bbVW] && DDoorsInfo[i][ddInteriorInt] == BoomboxInfo[x][bbInt])
  59029. {
  59030. PlayAudioStreamForPlayer(playerid, VehicleRadioListing[BoomboxInfo[x][bbStation]-1][radiourl], BoomboxInfo[x][bbPosX], BoomboxInfo[x][bbPosY], BoomboxInfo[x][bbPosZ], 50.0, 1);
  59031. }
  59032. }
  59033. return Streamer_UpdateEx(playerid, DDoorsInfo[i][ddInteriorX],DDoorsInfo[i][ddInteriorY],DDoorsInfo[i][ddInteriorZ]);
  59034. }
  59035. }
  59036. for(new i = 0; i < sizeof(HouseInfo); i++) {
  59037. if(IsPlayerInRangeOfPoint(playerid,3,HouseInfo[i][hExteriorX], HouseInfo[i][hExteriorY], HouseInfo[i][hExteriorZ])) {
  59038. if(PlayerInfo[playerid][pHouse] == i || PlayerInfo[playerid][pHouse2] == i || HouseInfo[i][hLock] == 0 || PlayerInfo[playerid][pRenting] == i) {
  59039. if(PlayerInfo[playerid][pHouse] == i || PlayerInfo[playerid][pHouse2] == i) {
  59040. format(string, sizeof(string), "* %s has entered their house.", GetPlayerNameEx(playerid));
  59041. ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  59042. }
  59043. else {
  59044. format(string, sizeof(string), "* %s has entered %s's house.", GetPlayerNameEx(playerid), HouseInfo[i][hOwner]);
  59045. ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  59046. }
  59047. SetPlayerInterior(playerid,HouseInfo[i][hHInteriorWorld]);
  59048. PlayerInfo[playerid][pInt] = HouseInfo[i][hHInteriorWorld];
  59049. PlayerInfo[playerid][pVW] = i+60000;
  59050. SetPlayerVirtualWorld(playerid, i+60000);
  59051. SetPVarInt(playerid, "HouseID", i);
  59052. if(HouseInfo[i][hCustomInterior] == 1) {
  59053. TogglePlayerControllable(playerid, 0);
  59054. for(new o = 0; o < 2; o++) {
  59055. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  59056. }
  59057. SetPVarInt(playerid, "LoadingObjects", 1);
  59058. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  59059. }
  59060. SetPlayerPos(playerid,HouseInfo[i][hInteriorX],HouseInfo[i][hInteriorY],HouseInfo[i][hInteriorZ]);
  59061. SetPlayerFacingAngle(playerid,HouseInfo[i][hInteriorA]);
  59062. SetCameraBehindPlayer(playerid);
  59063. if(PlayerInfo[playerid][pHouse] == i || PlayerInfo[playerid][pHouse2] == i) {
  59064. GameTextForPlayer(playerid, "~w~Welcome Home", 5000, 1);
  59065. }
  59066. foreach(Player, x)
  59067. {
  59068. if(IsABoomboxNearby(HouseInfo[i][hInteriorX], HouseInfo[i][hInteriorY], HouseInfo[i][hInteriorZ], x) < 150.0 && i+60000 == BoomboxInfo[x][bbVW] && HouseInfo[i][hHInteriorWorld] == BoomboxInfo[x][bbInt])
  59069. {
  59070. PlayAudioStreamForPlayer(playerid, VehicleRadioListing[BoomboxInfo[x][bbStation]-1][radiourl], BoomboxInfo[x][bbPosX], BoomboxInfo[x][bbPosY], BoomboxInfo[x][bbPosZ], 50.0, 1);
  59071. }
  59072. }
  59073. Streamer_UpdateEx(playerid, HouseInfo[i][hInteriorX],HouseInfo[i][hInteriorY],HouseInfo[i][hInteriorZ]);
  59074. }
  59075. else {
  59076. GameTextForPlayer(playerid, "~r~Locked", 5000, 1);
  59077. }
  59078. return 1;
  59079. }
  59080. }
  59081. // Hitman HQ
  59082. if(IsPlayerInRangeOfPoint(playerid, 2.0, 1938.545898, 165.629531, 37.281250)) {
  59083. if(PlayerInfo[playerid][pFaction] == 4 || PlayerInfo[playerid][pLeader] == 4) {
  59084. SetPlayerVirtualWorld(playerid, 666420);
  59085. PlayerInfo[playerid][pVW] = 666420;
  59086. SetPlayerInterior(playerid, 42);
  59087. PlayerInfo[playerid][pInt] = 42;
  59088. SetPlayerPos(playerid, 1277.019165, -758.428771, 5080.750000);
  59089. SetPlayerInterior(playerid, 42);
  59090. SetPlayerInterior(playerid, 42);
  59091. SetPlayerFacingAngle(playerid, 358.16);
  59092. SetCameraBehindPlayer(playerid);
  59093. SetPVarInt(playerid, "DoorID", 50512);
  59094. TogglePlayerControllable(playerid, 0);
  59095. for(new o = 0; o < 2; o++) {
  59096. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  59097. }
  59098. SetPVarInt(playerid, "LoadingObjects", 1);
  59099. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  59100. SendClientMessage(playerid, COLOR_WHITE, "You can /order weaponry in the armory room.");
  59101. return 1;
  59102. }
  59103. }
  59104. else if(IsPlayerInRangeOfPoint(playerid, 6.0, 2804.870, -1070.357421, 30.386))
  59105. {
  59106. if(PlayerInfo[playerid][pFaction] == 10 || PlayerInfo[playerid][pLeader] == 10)
  59107. {
  59108. SetPlayerVirtualWorld(playerid, 0);
  59109. PlayerInfo[playerid][pVW] = 666420;
  59110. SetPlayerPos(playerid, 959.6879,677.0198,16.7539);
  59111. SetPlayerFacingAngle(playerid, 186.9793);
  59112. SetCameraBehindPlayer(playerid);
  59113. if(GetPlayerState(playerid) == 2)
  59114. {
  59115. new tmpcar = GetPlayerVehicleID(playerid);
  59116. SetVehiclePos(tmpcar, 959.6879,677.0198,16.7539);
  59117. LinkVehicleToInterior(GetPlayerVehicleID(playerid), 0);
  59118. SetPlayerInterior(playerid, 0);
  59119. SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), 0);
  59120. SetPlayerVirtualWorld(playerid, 0);
  59121. PutPlayerInVehicle(playerid, tmpcar, 0);
  59122. }
  59123. }
  59124. }
  59125. else if(IsPlayerInRangeOfPoint(playerid, 5.0, 959.6879,677.0198,16.7539))
  59126. {
  59127. if(PlayerInfo[playerid][pFaction] == 10 || PlayerInfo[playerid][pLeader] == 10)
  59128. {
  59129. SetPlayerVirtualWorld(playerid, 0);
  59130. PlayerInfo[playerid][pVW] = 0;
  59131. SetPlayerPos(playerid, 2804.870, -1070.357421, 30.386);
  59132. SetPlayerFacingAngle(playerid, 267.15);
  59133. SetCameraBehindPlayer(playerid);
  59134. if(GetPlayerState(playerid) == 2)
  59135. {
  59136. new tmpcar = GetPlayerVehicleID(playerid);
  59137. SetVehiclePos(tmpcar, 2804.870, -1070.357421, 30.386);
  59138. LinkVehicleToInterior(GetPlayerVehicleID(playerid), 0);
  59139. SetPlayerInterior(playerid, 0);
  59140. SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), 0);
  59141. SetPlayerVirtualWorld(playerid, 0);
  59142. PutPlayerInVehicle(playerid, tmpcar, 0);
  59143. }
  59144. }
  59145. }
  59146. else if(IsPlayerInRangeOfPoint(playerid, 2.0, 1974.8, -1671.1, 15.9))
  59147. {
  59148. if(PlayerInfo[playerid][pFaction] == 4 || PlayerInfo[playerid][pLeader] == 4)
  59149. {
  59150. SetPlayerVirtualWorld(playerid, 666420);
  59151. PlayerInfo[playerid][pVW] = 666420;
  59152. SetPlayerInterior(playerid, 42);
  59153. PlayerInfo[playerid][pInt] = 42;
  59154. SetPlayerPos(playerid, 1256.2, -759.0, 5080.9);
  59155. SetPlayerFacingAngle(playerid, 358.16);
  59156. SetCameraBehindPlayer(playerid);
  59157. SetPVarInt(playerid, "DoorID", 50513);
  59158. TogglePlayerControllable(playerid, 0);
  59159. for(new o = 0; o < 2; o++)
  59160. {
  59161. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  59162. }
  59163. SetPVarInt(playerid, "LoadingObjects", 1);
  59164. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  59165. SendClientMessage(playerid, COLOR_WHITE, "You can /order weaponry in the armory room.");
  59166. }
  59167. }
  59168. else if(IsPlayerInRangeOfPoint(playerid, 2.0, 2205.8, -987.3 ,63.9))
  59169. {
  59170. if(PlayerInfo[playerid][pFaction] == 4 || PlayerInfo[playerid][pLeader] == 4)
  59171. {
  59172. SetPlayerVirtualWorld(playerid, 666420);
  59173. PlayerInfo[playerid][pVW] = 666420;
  59174. SetPlayerInterior(playerid, 42);
  59175. PlayerInfo[playerid][pInt] = 42;
  59176. SetPlayerPos(playerid, 1266.2, -758.8, 5080.9);
  59177. SetPlayerFacingAngle(playerid, 358.16);
  59178. SetCameraBehindPlayer(playerid);
  59179. SetPVarInt(playerid, "DoorID", 50514);
  59180. TogglePlayerControllable(playerid, 0);
  59181. for(new o = 0; o < 2; o++)
  59182. {
  59183. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  59184. }
  59185. SetPVarInt(playerid, "LoadingObjects", 1);
  59186. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  59187. SendClientMessage(playerid, COLOR_WHITE, "You can /order weaponry in the armory room.");
  59188. }
  59189. }
  59190. // The Lubu Gentlemen's Club
  59191. if(IsPlayerInRangeOfPoint(playerid, 3.0, 511.817230, -1510.971679, 14.566996)) {
  59192. format(string, sizeof(string), "* %s has entered The Lubu Gentlemen's Club.", GetPlayerNameEx(playerid));
  59193. ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  59194. SetPlayerVirtualWorld(playerid, 373737);
  59195. PlayerInfo[playerid][pVW] = 373737;
  59196. SetPlayerInterior(playerid, 37);
  59197. PlayerInfo[playerid][pInt] = 37;
  59198. SetPlayerPos(playerid, -1077.946533, 613.206665, 1116.507812);
  59199. SetPlayerFacingAngle(playerid, 92.42);
  59200. SetCameraBehindPlayer(playerid);
  59201. SetPVarInt(playerid, "DoorID", 50515);
  59202. TogglePlayerControllable(playerid, 0);
  59203. for(new o = 0; o < 2; o++) {
  59204. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  59205. }
  59206. SetPVarInt(playerid, "LoadingObjects", 1);
  59207. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  59208. PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=242774", -1087.677978, 615.239807, 1116.507812, 40.0, 1);
  59209. return 1;
  59210. }
  59211. // The Tableau Club
  59212. else if(IsPlayerInRangeOfPoint(playerid, 3.0, 561.802795, -1506.722412, 14.548986)) {
  59213. format(string, sizeof(string), "* %s has entered The Tableau Club.", GetPlayerNameEx(playerid));
  59214. ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  59215. SetPlayerVirtualWorld(playerid, 363636);
  59216. PlayerInfo[playerid][pVW] = 363636;
  59217. SetPlayerInterior(playerid, 36);
  59218. PlayerInfo[playerid][pInt] = 36;
  59219. SetPlayerPos(playerid, 308.045654, 1053.886840, 1098.540039);
  59220. SetPlayerFacingAngle(playerid, 267.57);
  59221. SetCameraBehindPlayer(playerid);
  59222. SetPVarInt(playerid, "DoorID", 50516);
  59223. TogglePlayerControllable(playerid, 0);
  59224. for(new o = 0; o < 2; o++) {
  59225. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  59226. }
  59227. SetPVarInt(playerid, "LoadingObjects", 1);
  59228. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  59229. PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1377200", 321.139465, 1034.947753, 1098.914062, 120.0, 1);
  59230. return 1;
  59231. }
  59232. // The Tableau Club (VIP ROOM)
  59233. else if(IsPlayerInRangeOfPoint(playerid, 3.0, 307.904296, 1025.602294, 1098.540039)) {
  59234. if(GetPlayerCash(playerid) >= 100) {
  59235. format(string, sizeof(string), "* %s has entered The Tableau VIP Room.", GetPlayerNameEx(playerid));
  59236. ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  59237. GivePlayerCash(playerid, -100);
  59238. GameTextForPlayer(playerid, "~r~-$100", 3000, 1);
  59239. SetPlayerVirtualWorld(playerid, 363636);
  59240. PlayerInfo[playerid][pVW] = 363636;
  59241. SetPlayerInterior(playerid, 36);
  59242. PlayerInfo[playerid][pInt] = 36;
  59243. SetPVarInt(playerid, "DoorID", 50517);
  59244. SetPlayerPos(playerid, 293.066436, 1029.785278, 1104.560058);
  59245. SetPlayerFacingAngle(playerid, 352.47);
  59246. SetCameraBehindPlayer(playerid);
  59247. return 1;
  59248. }
  59249. else return SendClientMessage(playerid, COLOR_GREY, " You do not have the cash for that.");
  59250. }
  59251. // Santa Maria Surfer's Lounge
  59252. else if(IsPlayerInRangeOfPoint(playerid, 3.0, 387.958374, -1870.688110, 7.835937)) {
  59253. format(string, sizeof(string), "* %s has entered Santa Maria Surfer's Lounge.", GetPlayerNameEx(playerid));
  59254. ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  59255. SetPlayerVirtualWorld(playerid, 353535);
  59256. PlayerInfo[playerid][pVW] = 353535;
  59257. SetPlayerInterior(playerid, 35);
  59258. PlayerInfo[playerid][pInt] = 35;
  59259. SetPlayerPos(playerid, 271.742034, 1074.419677, 5096.750000);
  59260. SetPlayerFacingAngle(playerid, 86.54);
  59261. SetCameraBehindPlayer(playerid);
  59262. SetPVarInt(playerid, "DoorID", 50518);
  59263. TogglePlayerControllable(playerid, 0);
  59264. for(new o = 0; o < 2; o++) {
  59265. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  59266. }
  59267. SetPVarInt(playerid, "LoadingObjects", 1);
  59268. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  59269. PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=21585", 271.742034, 1074.419677, 5096.750000, 120.0, 1);
  59270. return 1;
  59271. }
  59272. new vehicleid = GetPlayerVehicleID(playerid);
  59273. new closestcar = GetClosestCar(playerid, vehicleid);
  59274. if(IsPlayerInRangeOfVehicle(playerid, closestcar, 6.0) && GetVehicleModel(closestcar) == 519) {
  59275. if(VehicleStatus{closestcar}
  59276. == 1) return SendClientMessage(playerid, COLOR_WHITE, "You're not allowed to enter this Shamal as it's been damaged!");
  59277. format(string, sizeof(string), "* %s enters the Shamal airplane as a passenger.", GetPlayerNameEx(playerid));
  59278. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  59279. SetPlayerPos(playerid, 2.509036, 23.118730, 1199.593750);
  59280. SetPlayerFacingAngle(playerid, 82.14);
  59281. SetCameraBehindPlayer(playerid);
  59282. PlayerInfo[playerid][pVW] = closestcar;
  59283. SetPlayerVirtualWorld(playerid, closestcar);
  59284. SetPVarInt(playerid, "DoorID", 50519);
  59285. PlayerInfo[playerid][pInt] = 1;
  59286. SetPlayerInterior(playerid, 1);
  59287. InsideShamal[playerid] = closestcar;
  59288. SendClientMessage(playerid, COLOR_WHITE, "Type /exit near the door to exit the vehicle, or /window to look outside.");
  59289. foreach(Player, x)
  59290. {
  59291. if(IsABoomboxNearby(2.509036, 23.118730, 1199.593750, x) < 150.0 && closestcar == BoomboxInfo[x][bbVW] && BoomboxInfo[x][bbInt] == 1)
  59292. {
  59293. PlayAudioStreamForPlayer(playerid, VehicleRadioListing[BoomboxInfo[x][bbStation]-1][radiourl], BoomboxInfo[x][bbPosX], BoomboxInfo[x][bbPosY], BoomboxInfo[x][bbPosZ], 50.0, 1);
  59294. }
  59295. }
  59296. return 1;
  59297. }
  59298. for(new i = 0; i < sizeof(DDoorsInfo); i++) {
  59299. if(IsPlayerInRangeOfPoint(playerid,3,DDoorsInfo[i][ddInteriorX], DDoorsInfo[i][ddInteriorY], DDoorsInfo[i][ddInteriorZ]) && PlayerInfo[playerid][pVW] == DDoorsInfo[i][ddInteriorVW]) {
  59300. format(string, sizeof(string), "* %s has exited the building.", GetPlayerNameEx(playerid));
  59301. ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  59302. SetPlayerInterior(playerid,DDoorsInfo[i][ddExteriorInt]);
  59303. PlayerInfo[playerid][pInt] = DDoorsInfo[i][ddExteriorInt];
  59304. SetPlayerVirtualWorld(playerid, DDoorsInfo[i][ddExteriorVW]);
  59305. SetPVarInt(playerid, "DoorID", 99999);
  59306. PlayerInfo[playerid][pVW] = DDoorsInfo[i][ddExteriorVW];
  59307. if(DDoorsInfo[i][ddCustomExterior]) {
  59308. TogglePlayerControllable(playerid, 0);
  59309. for(new o = 0; o < 2; o++) {
  59310. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  59311. }
  59312. SetPVarInt(playerid, "LoadingObjects", 1);
  59313. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  59314. }
  59315. if(DDoorsInfo[i][ddVehicleAble] > 0 && GetPlayerState(playerid) == PLAYER_STATE_DRIVER) {
  59316. SetVehiclePos(GetPlayerVehicleID(playerid), DDoorsInfo[i][ddExteriorX],DDoorsInfo[i][ddExteriorY],DDoorsInfo[i][ddExteriorZ]);
  59317. SetVehicleZAngle(GetPlayerVehicleID(playerid), DDoorsInfo[i][ddExteriorA]);
  59318. SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), DDoorsInfo[i][ddExteriorVW]);
  59319. LinkVehicleToInterior(GetPlayerVehicleID(playerid), DDoorsInfo[i][ddExteriorInt]);
  59320. }
  59321. else {
  59322. SetPlayerPos(playerid,DDoorsInfo[i][ddExteriorX],DDoorsInfo[i][ddExteriorY],DDoorsInfo[i][ddExteriorZ]);
  59323. SetPlayerFacingAngle(playerid, DDoorsInfo[i][ddExteriorA]);
  59324. SetCameraBehindPlayer(playerid);
  59325. }
  59326. return Streamer_UpdateEx(playerid, DDoorsInfo[i][ddInteriorX],DDoorsInfo[i][ddInteriorY],DDoorsInfo[i][ddInteriorZ]);
  59327. }
  59328. }
  59329. for(new i = 0; i < sizeof(HouseInfo); i++) {
  59330. if(IsPlayerInRangeOfPoint(playerid,3,HouseInfo[i][hInteriorX], HouseInfo[i][hInteriorY], HouseInfo[i][hInteriorZ]) && PlayerInfo[playerid][pVW] == i+60000) {
  59331. format(string, sizeof(string), "* %s has exited the house.", GetPlayerNameEx(playerid));
  59332. ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  59333. SetPlayerInterior(playerid,0);
  59334. PlayerInfo[playerid][pInt] = 0;
  59335. if(HouseInfo[i][hCustomExterior]) {
  59336. TogglePlayerControllable(playerid, 0);
  59337. for(new o = 0; o < 2; o++) {
  59338. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  59339. }
  59340. SetPVarInt(playerid, "LoadingObjects", 1);
  59341. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  59342. }
  59343. SetPVarInt(playerid, "DoorID", -1);
  59344. SetPlayerPos(playerid,HouseInfo[i][hExteriorX],HouseInfo[i][hExteriorY],HouseInfo[i][hExteriorZ]);
  59345. SetPlayerFacingAngle(playerid, HouseInfo[i][hExteriorA]);
  59346. SetCameraBehindPlayer(playerid);
  59347. SetPlayerVirtualWorld(playerid, 0);
  59348. PlayerInfo[playerid][pVW] = 0;
  59349. return Streamer_UpdateEx(playerid, HouseInfo[i][hExteriorX],HouseInfo[i][hExteriorY],HouseInfo[i][hExteriorZ]);
  59350. }
  59351. }
  59352. // Hitman HQ
  59353. if(IsPlayerInRangeOfPoint(playerid, 2.0, 1277.019165, -758.428771, 5080.750000) && (GetPlayerVirtualWorld(playerid) == 666420)) {
  59354. if(PlayerInfo[playerid][pFaction] == 4 || PlayerInfo[playerid][pLeader] == 4) {
  59355. SetPlayerVirtualWorld(playerid, 0);
  59356. PlayerInfo[playerid][pVW] = 0;
  59357. SetPlayerInterior(playerid, 0);
  59358. PlayerInfo[playerid][pInt] = 0;
  59359. SetPlayerPos(playerid, 1938.545898, 165.629531, 37.281250);
  59360. SetPlayerFacingAngle(playerid, 338.54);
  59361. SetCameraBehindPlayer(playerid);
  59362. SetPVarInt(playerid, "DoorID", -1);
  59363. return 1;
  59364. }
  59365. }
  59366. else if(IsPlayerInRangeOfPoint(playerid, 2.0, 1256.2, -759.0, 5080.9) && (GetPlayerVirtualWorld(playerid) == 666420))
  59367. {
  59368. if(PlayerInfo[playerid][pFaction] == 4 || PlayerInfo[playerid][pLeader] == 4)
  59369. {
  59370. SetPlayerVirtualWorld(playerid, 0);
  59371. PlayerInfo[playerid][pVW] = 0;
  59372. SetPlayerInterior(playerid, 0);
  59373. PlayerInfo[playerid][pInt] = 0;
  59374. SetPlayerPos(playerid, 1974.8, -1671.1, 15.9);
  59375. SetPVarInt(playerid, "DoorID", -1);
  59376. SetPlayerFacingAngle(playerid, 338.54);
  59377. SetCameraBehindPlayer(playerid);
  59378. }
  59379. }
  59380. else if(IsPlayerInRangeOfPoint(playerid, 2.0, 1266.2, -758.8, 5080.9) && (GetPlayerVirtualWorld(playerid) == 666420))
  59381. {
  59382. if(PlayerInfo[playerid][pFaction] == 4 || PlayerInfo[playerid][pLeader] == 4)
  59383. {
  59384. SetPlayerVirtualWorld(playerid, 0);
  59385. PlayerInfo[playerid][pVW] = 0;
  59386. SetPlayerInterior(playerid, 0);
  59387. PlayerInfo[playerid][pInt] = 0;
  59388. SetPVarInt(playerid, "DoorID", -1);
  59389. SetPlayerPos(playerid, 2205.8, -987.3 ,63.9);
  59390. SetPlayerFacingAngle(playerid, 338.54);
  59391. SetCameraBehindPlayer(playerid);
  59392. }
  59393. }
  59394. // The Lubu Gentlemen's Club
  59395. if(IsPlayerInRangeOfPoint(playerid, 3.0, -1077.946533, 613.206665, 1116.507812) && (GetPlayerVirtualWorld(playerid) == 373737)) {
  59396. format(string, sizeof(string), "* %s has exited the building.", GetPlayerNameEx(playerid));
  59397. ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  59398. SetPlayerVirtualWorld(playerid, 0);
  59399. PlayerInfo[playerid][pVW] = 0;
  59400. SetPlayerInterior(playerid, 0);
  59401. PlayerInfo[playerid][pInt] = 0;
  59402. SetPlayerPos(playerid, 511.817230, -1510.971679, 14.566996);
  59403. SetPVarInt(playerid, "DoorID", -1);
  59404. SetPlayerFacingAngle(playerid, 272.11);
  59405. SetCameraBehindPlayer(playerid);
  59406. StopAudioStreamForPlayer(playerid);
  59407. return 1;
  59408. }
  59409. // The Tableau Club
  59410. else if(IsPlayerInRangeOfPoint(playerid, 3.0, 308.045654, 1053.886840, 1098.540039) && (GetPlayerVirtualWorld(playerid) == 363636)) {
  59411. format(string, sizeof(string), "* %s has exited the building.", GetPlayerNameEx(playerid));
  59412. ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  59413. SetPlayerVirtualWorld(playerid, 0);
  59414. PlayerInfo[playerid][pVW] = 0;
  59415. SetPlayerInterior(playerid, 0);
  59416. PlayerInfo[playerid][pInt] = 0;
  59417. SetPlayerPos(playerid, 561.802795, -1506.722412, 14.548986);
  59418. SetPVarInt(playerid, "DoorID", -1);
  59419. SetPlayerFacingAngle(playerid, 86.78);
  59420. SetCameraBehindPlayer(playerid);
  59421. StopAudioStreamForPlayer(playerid);
  59422. return 1;
  59423. }
  59424. // The Tableau Club (VIP ROOM)
  59425. else if(IsPlayerInRangeOfPoint(playerid, 3.0, 293.066436, 1029.785278, 1104.560058) && (GetPlayerVirtualWorld(playerid) == 363636)) {
  59426. SetPlayerVirtualWorld(playerid, 363636);
  59427. PlayerInfo[playerid][pVW] = 363636;
  59428. SetPlayerInterior(playerid, 36);
  59429. PlayerInfo[playerid][pInt] = 36;
  59430. SetPlayerPos(playerid, 307.904296, 1025.602294, 1098.540039);
  59431. SetPVarInt(playerid, "DoorID", -1);
  59432. SetPlayerFacingAngle(playerid, 264.06);
  59433. SetCameraBehindPlayer(playerid);
  59434. return 1;
  59435. }
  59436. // Santa Maria Surfer's Lounge
  59437. else if(IsPlayerInRangeOfPoint(playerid, 3.0, 271.742034, 1074.419677, 5096.750000) && (GetPlayerVirtualWorld(playerid) == 353535)) {
  59438. format(string, sizeof(string), "* %s has exited the building.", GetPlayerNameEx(playerid));
  59439. ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  59440. SetPlayerVirtualWorld(playerid, 0);
  59441. PlayerInfo[playerid][pVW] = 0;
  59442. SetPlayerInterior(playerid, 0);
  59443. PlayerInfo[playerid][pInt] = 0;
  59444. SetPlayerPos(playerid, 387.958374, -1870.688110, 7.835937);
  59445. SetPVarInt(playerid, "DoorID", -1);
  59446. SetPlayerFacingAngle(playerid, 89.99);
  59447. SetCameraBehindPlayer(playerid);
  59448. StopAudioStreamForPlayer(playerid);
  59449. return 1;
  59450. }
  59451. // Shamal
  59452. else if(InsideShamal[playerid] != INVALID_VEHICLE_ID && IsPlayerInRangeOfPoint(playerid,3,2.509036, 23.118730, 1199.593750)) {
  59453. format(string, sizeof(string), "* %s exits the Shamal airplane.", GetPlayerNameEx(playerid));
  59454. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  59455. if(InsideShamal[playerid] == INVALID_VEHICLE_ID || GetVehicleModel(InsideShamal[playerid]) != 519) {
  59456. PlayerInfo[playerid][pAGuns][GetWeaponSlot(46)] = 46;
  59457. GivePlayerValidWeapon(playerid, 46, 60000);
  59458. SetPlayerPos(playerid, 0.000000, 0.000000, 420.000000);
  59459. }
  59460. else {
  59461. new Float:X, Float:Y, Float:Z;
  59462. GetVehiclePos(InsideShamal[playerid], X, Y, Z);
  59463. SetPlayerPos(playerid, X-4, Y-2.3, Z);
  59464. new Float:XB, Float:YB, Float:ZB;
  59465. GetVehiclePos(InsideShamal[playerid], XB, YB, ZB);
  59466. if(ZB > 50.0) {
  59467. PlayerInfo[playerid][pAGuns][GetWeaponSlot(46)] = 46;
  59468. GivePlayerValidWeapon(playerid, 46, 60000);
  59469. }
  59470. }
  59471. PlayerInfo[playerid][pVW] = 0;
  59472. SetPlayerVirtualWorld(playerid, 0);
  59473. PlayerInfo[playerid][pInt] = 0;
  59474. SetPlayerInterior(playerid, 0);
  59475. InsideShamal[playerid] = INVALID_VEHICLE_ID;
  59476. SetPVarInt(playerid, "DoorID", -1);
  59477. }
  59478. }
  59479. return 1;
  59480. }
  59481. public OnRconLoginAttempt(ip[], password[], success)
  59482. {
  59483. return 1;
  59484. }
  59485. OnPlayerChangeWeapon(playerid, newweapon)
  59486. {
  59487. if(pTazer[playerid] == 1) SetPlayerArmedWeapon(playerid,23);
  59488. if(IsPlayerInRangeOfPoint(playerid, 10.0, -20.229053,17.140705,467.120300))
  59489. {
  59490. SetPlayerArmedWeapon(playerid,0); // disables weapon
  59491. SendClientMessage(playerid, COLOR_REALRED, "You can't switch a weapon since you are in Black Market.");
  59492. SendClientMessage(playerid, -1, "RULE: No shooting or killing inside blackmarket, else prison for 5 minutes.");
  59493. return 1;
  59494. }
  59495. else if(IsPlayerInRangeOfPoint(playerid, 10.0, 1073.609008,-1698.879638,-20.454763))
  59496. {
  59497. SetPlayerArmedWeapon(playerid,0); // disables weapon
  59498. SendClientMessage(playerid, COLOR_REALRED, "You can't switch a weapon since you are in The Maximus Club.");
  59499. SendClientMessage(playerid, -1, "RULE: No shooting or killing inside The Maximus Club, else prison for 5 minutes.");
  59500. return 1;
  59501. }
  59502. if(PlayerInfo[playerid][pAdmin] < 5)
  59503. {
  59504. if(GetPVarInt(playerid, "EventToken") != 0) return 1;
  59505. if(PlayerInfo[playerid][pGuns][1] != 2 && PlayerInfo[playerid][pAGuns][1] != 2 && GetPlayerWeapon(playerid) == 2)
  59506. {
  59507. //ExecuteHackerAction(playerid, newweapon);
  59508. }
  59509. else if(PlayerInfo[playerid][pGuns][1] != 3 && PlayerInfo[playerid][pAGuns][1] != 3 && GetPlayerWeapon(playerid) == 3)
  59510. {
  59511. ExecuteHackerAction(playerid, newweapon);
  59512. }
  59513. else if(PlayerInfo[playerid][pGuns][1] != 4 && PlayerInfo[playerid][pAGuns][1] != 4 && GetPlayerWeapon(playerid) == 4)
  59514. {
  59515. new WeaponName[32];
  59516. GetWeaponName(newweapon, WeaponName, sizeof(WeaponName));
  59517. new String[128];
  59518. format(String, sizeof(String), "AdmCmd: %s has been banned, reason: Weapon hacking (%s).", GetPlayerNameEx(playerid), WeaponName);
  59519. SendClientMessageToAllEx(COLOR_LIGHTRED, String);
  59520. SetPVarInt(playerid, "_HACK_WARNINGS", 0);
  59521. //RemovePlayerWeapon(playerid, weaponid);
  59522. PlayerInfo[playerid][pBanned] = 3;
  59523. new playerip[32];
  59524. GetPlayerIp(playerid, playerip, sizeof(playerip));
  59525. format(String, sizeof(String), "AdmCmd: %s (IP:%s) was banned, reason: Weapon hacking (%s)", GetPlayerNameEx(playerid), playerip, WeaponName);
  59526. PlayerInfo[playerid][pBanned] = 3;
  59527. Log("logs/ban.log", String);
  59528. new ip[32];
  59529. GetPlayerIp(playerid,ip,sizeof(ip));
  59530. AddBan(ip);
  59531. Kick(playerid);
  59532. TotalAutoBan++;
  59533. }
  59534. else if(PlayerInfo[playerid][pGuns][1] != 5 && PlayerInfo[playerid][pAGuns][1] != 5 && GetPlayerWeapon(playerid) == 5)
  59535. {
  59536. ExecuteHackerAction(playerid, newweapon);
  59537. }
  59538. else if(PlayerInfo[playerid][pGuns][1] != 6 && PlayerInfo[playerid][pAGuns][1] != 6 && GetPlayerWeapon(playerid) == 6)
  59539. {
  59540. ExecuteHackerAction(playerid, newweapon);
  59541. }
  59542. else if(PlayerInfo[playerid][pGuns][1] != 7 && PlayerInfo[playerid][pAGuns][1] != 7 && GetPlayerWeapon(playerid) == 7)
  59543. {
  59544. ExecuteHackerAction(playerid, newweapon);
  59545. }
  59546. else if(PlayerInfo[playerid][pGuns][1] != 8 && PlayerInfo[playerid][pAGuns][1] != 8 && GetPlayerWeapon(playerid) == 8)
  59547. {
  59548. ExecuteHackerAction(playerid, newweapon);
  59549. }
  59550. else if(PlayerInfo[playerid][pGuns][1] != 9 && PlayerInfo[playerid][pAGuns][1] != 9 && GetPlayerWeapon(playerid) == 9)
  59551. {
  59552. new WeaponName[32];
  59553. GetWeaponName(newweapon, WeaponName, sizeof(WeaponName));
  59554. new String[128];
  59555. format(String, sizeof(String), "AdmCmd: %s has been banned, reason: Weapon hacking (%s).", GetPlayerNameEx(playerid), WeaponName);
  59556. SendClientMessageToAllEx(COLOR_LIGHTRED, String);
  59557. SetPVarInt(playerid, "_HACK_WARNINGS", 0);
  59558. //RemovePlayerWeapon(playerid, weaponid);
  59559. PlayerInfo[playerid][pBanned] = 3;
  59560. new playerip[32];
  59561. GetPlayerIp(playerid, playerip, sizeof(playerip));
  59562. format(String, sizeof(String), "AdmCmd: %s (IP:%s) was banned, reason: Weapon hacking (%s)", GetPlayerNameEx(playerid), playerip, WeaponName);
  59563. PlayerInfo[playerid][pBanned] = 3;
  59564. Log("logs/ban.log", String);
  59565. new ip[32];
  59566. GetPlayerIp(playerid,ip,sizeof(ip));
  59567. AddBan(ip);
  59568. Kick(playerid);
  59569. TotalAutoBan++;
  59570. }
  59571. else if(PlayerInfo[playerid][pGuns][2] != 22 && PlayerInfo[playerid][pAGuns][2] != 22 && GetPlayerWeapon(playerid) == 22)
  59572. {
  59573. if(PlayerInfo[playerid][pConnectTime] < 2)
  59574. {
  59575. new WeaponName[32];
  59576. GetWeaponName(newweapon, WeaponName, sizeof(WeaponName));
  59577. new String[128];
  59578. format(String, sizeof(String), "AdmCmd: %s has been banned, reason: Weapon hacking (%s).", GetPlayerNameEx(playerid), WeaponName);
  59579. SendClientMessageToAllEx(COLOR_LIGHTRED, String);
  59580. SetPVarInt(playerid, "_HACK_WARNINGS", 0);
  59581. //RemovePlayerWeapon(playerid, weaponid);
  59582. PlayerInfo[playerid][pBanned] = 3;
  59583. new playerip[32];
  59584. GetPlayerIp(playerid, playerip, sizeof(playerip));
  59585. format(String, sizeof(String), "AdmCmd: %s (IP:%s) was banned, reason: Weapon hacking (%s)", GetPlayerNameEx(playerid), playerip, WeaponName);
  59586. PlayerInfo[playerid][pBanned] = 3;
  59587. Log("logs/ban.log", String);
  59588. new ip[32];
  59589. GetPlayerIp(playerid,ip,sizeof(ip));
  59590. AddBan(ip);
  59591. Kick(playerid);
  59592. TotalAutoBan++;
  59593. }
  59594. ExecuteHackerAction(playerid, newweapon);
  59595. }
  59596. else if(PlayerInfo[playerid][pGuns][2] != 23 && PlayerInfo[playerid][pAGuns][2] != 23 && GetPlayerWeapon(playerid) == 23)
  59597. {
  59598. if(PlayerInfo[playerid][pConnectTime] < 2)
  59599. {
  59600. new WeaponName[32];
  59601. GetWeaponName(newweapon, WeaponName, sizeof(WeaponName));
  59602. new String[128];
  59603. format(String, sizeof(String), "AdmCmd: %s has been banned, reason: Weapon hacking (%s).", GetPlayerNameEx(playerid), WeaponName);
  59604. SendClientMessageToAllEx(COLOR_LIGHTRED, String);
  59605. SetPVarInt(playerid, "_HACK_WARNINGS", 0);
  59606. //RemovePlayerWeapon(playerid, weaponid);
  59607. PlayerInfo[playerid][pBanned] = 3;
  59608. new playerip[32];
  59609. GetPlayerIp(playerid, playerip, sizeof(playerip));
  59610. format(String, sizeof(String), "AdmCmd: %s (IP:%s) was banned, reason: Weapon hacking (%s)", GetPlayerNameEx(playerid), playerip, WeaponName);
  59611. PlayerInfo[playerid][pBanned] = 3;
  59612. Log("logs/ban.log", String);
  59613. new ip[32];
  59614. GetPlayerIp(playerid,ip,sizeof(ip));
  59615. AddBan(ip);
  59616. Kick(playerid);
  59617. TotalAutoBan++;
  59618. }
  59619. ExecuteHackerAction(playerid, newweapon);
  59620. }
  59621. else if(PlayerInfo[playerid][pGuns][2] != 24 && PlayerInfo[playerid][pAGuns][2] != 24 && GetPlayerWeapon(playerid) == 24)
  59622. {
  59623. if(PlayerInfo[playerid][pConnectTime] < 2)
  59624. {
  59625. new WeaponName[32];
  59626. GetWeaponName(newweapon, WeaponName, sizeof(WeaponName));
  59627. new String[128];
  59628. format(String, sizeof(String), "AdmCmd: %s has been banned, reason: Weapon hacking (%s).", GetPlayerNameEx(playerid), WeaponName);
  59629. SendClientMessageToAllEx(COLOR_LIGHTRED, String);
  59630. SetPVarInt(playerid, "_HACK_WARNINGS", 0);
  59631. //RemovePlayerWeapon(playerid, weaponid);
  59632. PlayerInfo[playerid][pBanned] = 3;
  59633. new playerip[32];
  59634. GetPlayerIp(playerid, playerip, sizeof(playerip));
  59635. format(String, sizeof(String), "AdmCmd: %s (IP:%s) was banned, reason: Weapon hacking (%s) (%d-%d-%d)", GetPlayerNameEx(playerid), playerip, WeaponName);
  59636. PlayerInfo[playerid][pBanned] = 3;
  59637. Log("logs/ban.log", String);
  59638. new ip[32];
  59639. GetPlayerIp(playerid,ip,sizeof(ip));
  59640. AddBan(ip);
  59641. Kick(playerid);
  59642. TotalAutoBan++;
  59643. }
  59644. ExecuteHackerAction(playerid, newweapon);
  59645. }
  59646. else if(PlayerInfo[playerid][pGuns][3] != 25 && PlayerInfo[playerid][pAGuns][3] != 25 && GetPlayerWeapon(playerid) == 25)
  59647. {
  59648. if(PlayerInfo[playerid][pConnectTime] < 2)
  59649. {
  59650. new WeaponName[32];
  59651. GetWeaponName(newweapon, WeaponName, sizeof(WeaponName));
  59652. new String[128];
  59653. format(String, sizeof(String), "AdmCmd: %s has been banned, reason: Weapon hacking (%s).", GetPlayerNameEx(playerid), WeaponName);
  59654. SendClientMessageToAllEx(COLOR_LIGHTRED, String);
  59655. SetPVarInt(playerid, "_HACK_WARNINGS", 0);
  59656. //RemovePlayerWeapon(playerid, weaponid);
  59657. PlayerInfo[playerid][pBanned] = 3;
  59658. new playerip[32];
  59659. GetPlayerIp(playerid, playerip, sizeof(playerip));
  59660. format(String, sizeof(String), "AdmCmd: %s (IP:%s) was banned, reason: Weapon hacking (%s)", GetPlayerNameEx(playerid), playerip, WeaponName);
  59661. PlayerInfo[playerid][pBanned] = 3;
  59662. Log("logs/ban.log", String);
  59663. new ip[32];
  59664. GetPlayerIp(playerid,ip,sizeof(ip));
  59665. AddBan(ip);
  59666. Kick(playerid);
  59667. TotalAutoBan++;
  59668. }
  59669. ExecuteHackerAction(playerid, newweapon);
  59670. }
  59671. else if(PlayerInfo[playerid][pGuns][3] != 26 && PlayerInfo[playerid][pAGuns][3] != 26 && GetPlayerWeapon(playerid) == 26)
  59672. {
  59673. new WeaponName[32];
  59674. GetWeaponName(newweapon, WeaponName, sizeof(WeaponName));
  59675. new String[128];
  59676. format(String, sizeof(String), "AdmCmd: %s has been banned, reason: Weapon hacking (%s).", GetPlayerNameEx(playerid), WeaponName);
  59677. SendClientMessageToAllEx(COLOR_LIGHTRED, String);
  59678. SetPVarInt(playerid, "_HACK_WARNINGS", 0);
  59679. //RemovePlayerWeapon(playerid, weaponid);
  59680. PlayerInfo[playerid][pBanned] = 3;
  59681. new playerip[32];
  59682. GetPlayerIp(playerid, playerip, sizeof(playerip));
  59683. format(String, sizeof(String), "AdmCmd: %s (IP:%s) was banned, reason: Weapon hacking (%s)", GetPlayerNameEx(playerid), playerip, WeaponName);
  59684. PlayerInfo[playerid][pBanned] = 3;
  59685. Log("logs/ban.log", String);
  59686. new ip[32];
  59687. GetPlayerIp(playerid,ip,sizeof(ip));
  59688. AddBan(ip);
  59689. Kick(playerid);
  59690. TotalAutoBan++;
  59691. }
  59692. else if(PlayerInfo[playerid][pGuns][3] != 27 && PlayerInfo[playerid][pAGuns][3] != 27 && GetPlayerWeapon(playerid) == 27)
  59693. {
  59694. if(PlayerInfo[playerid][pConnectTime] < 2)
  59695. {
  59696. new WeaponName[32];
  59697. GetWeaponName(newweapon, WeaponName, sizeof(WeaponName));
  59698. new String[128];
  59699. format(String, sizeof(String), "AdmCmd: %s has been banned, reason: Weapon hacking (%s).", GetPlayerNameEx(playerid), WeaponName);
  59700. SendClientMessageToAllEx(COLOR_LIGHTRED, String);
  59701. SetPVarInt(playerid, "_HACK_WARNINGS", 0);
  59702. //RemovePlayerWeapon(playerid, weaponid);
  59703. PlayerInfo[playerid][pBanned] = 3;
  59704. new playerip[32];
  59705. GetPlayerIp(playerid, playerip, sizeof(playerip));
  59706. format(String, sizeof(String), "AdmCmd: %s (IP:%s) was banned, reason: Weapon hacking (%s)", GetPlayerNameEx(playerid), playerip, WeaponName);
  59707. PlayerInfo[playerid][pBanned] = 3;
  59708. Log("logs/ban.log", String);
  59709. new ip[32];
  59710. GetPlayerIp(playerid,ip,sizeof(ip));
  59711. AddBan(ip);
  59712. Kick(playerid);
  59713. TotalAutoBan++;
  59714. }
  59715. ExecuteHackerAction(playerid, newweapon);
  59716. }
  59717. else if(PlayerInfo[playerid][pGuns][4] != 28 && PlayerInfo[playerid][pAGuns][4] != 28 && GetPlayerWeapon(playerid) == 28)
  59718. {
  59719. new WeaponName[32];
  59720. GetWeaponName(newweapon, WeaponName, sizeof(WeaponName));
  59721. new String[128];
  59722. format(String, sizeof(String), "AdmCmd: %s has been banned, reason: Weapon hacking (%s).", GetPlayerNameEx(playerid), WeaponName);
  59723. SendClientMessageToAllEx(COLOR_LIGHTRED, String);
  59724. SetPVarInt(playerid, "_HACK_WARNINGS", 0);
  59725. //RemovePlayerWeapon(playerid, weaponid);
  59726. PlayerInfo[playerid][pBanned] = 3;
  59727. new playerip[32];
  59728. GetPlayerIp(playerid, playerip, sizeof(playerip));
  59729. format(String, sizeof(String), "AdmCmd: %s (IP:%s) was banned, reason: Weapon hacking (%s))", GetPlayerNameEx(playerid), playerip, WeaponName);
  59730. PlayerInfo[playerid][pBanned] = 3;
  59731. Log("logs/ban.log", String);
  59732. new ip[32];
  59733. GetPlayerIp(playerid,ip,sizeof(ip));
  59734. AddBan(ip);
  59735. Kick(playerid);
  59736. TotalAutoBan++;
  59737. }
  59738. else if(PlayerInfo[playerid][pGuns][4] != 29 && PlayerInfo[playerid][pAGuns][4] != 29 && GetPlayerWeapon(playerid) == 29)
  59739. {
  59740. if(PlayerInfo[playerid][pConnectTime] < 2)
  59741. {
  59742. new WeaponName[32];
  59743. GetWeaponName(newweapon, WeaponName, sizeof(WeaponName));
  59744. new String[128];
  59745. format(String, sizeof(String), "AdmCmd: %s has been banned, reason: Weapon hacking (%s).", GetPlayerNameEx(playerid), WeaponName);
  59746. SendClientMessageToAllEx(COLOR_LIGHTRED, String);
  59747. SetPVarInt(playerid, "_HACK_WARNINGS", 0);
  59748. //RemovePlayerWeapon(playerid, weaponid);
  59749. PlayerInfo[playerid][pBanned] = 3;
  59750. new playerip[32];
  59751. GetPlayerIp(playerid, playerip, sizeof(playerip));
  59752. format(String, sizeof(String), "AdmCmd: %s (IP:%s) was banned, reason: Weapon hacking (%s)", GetPlayerNameEx(playerid), playerip, WeaponName);
  59753. PlayerInfo[playerid][pBanned] = 3;
  59754. Log("logs/ban.log", String);
  59755. new ip[32];
  59756. GetPlayerIp(playerid,ip,sizeof(ip));
  59757. AddBan(ip);
  59758. Kick(playerid);
  59759. TotalAutoBan++;
  59760. }
  59761. ExecuteHackerAction(playerid, newweapon);
  59762. }
  59763. else if(PlayerInfo[playerid][pGuns][5] != 30 && PlayerInfo[playerid][pAGuns][5] != 30 && GetPlayerWeapon(playerid) == 30)
  59764. {
  59765. if(PlayerInfo[playerid][pConnectTime] < 2)
  59766. {
  59767. new WeaponName[32];
  59768. GetWeaponName(newweapon, WeaponName, sizeof(WeaponName));
  59769. new String[128];
  59770. format(String, sizeof(String), "AdmCmd: %s has been banned, reason: Weapon hacking (%s).", GetPlayerNameEx(playerid), WeaponName);
  59771. SendClientMessageToAllEx(COLOR_LIGHTRED, String);
  59772. SetPVarInt(playerid, "_HACK_WARNINGS", 0);
  59773. //RemovePlayerWeapon(playerid, weaponid);
  59774. PlayerInfo[playerid][pBanned] = 3;
  59775. new playerip[32];
  59776. GetPlayerIp(playerid, playerip, sizeof(playerip));
  59777. format(String, sizeof(String), "AdmCmd: %s (IP:%s) was banned, reason: Weapon hacking (%s)", GetPlayerNameEx(playerid), playerip, WeaponName);
  59778. PlayerInfo[playerid][pBanned] = 3;
  59779. Log("logs/ban.log", String);
  59780. new ip[32];
  59781. GetPlayerIp(playerid,ip,sizeof(ip));
  59782. AddBan(ip);
  59783. Kick(playerid);
  59784. TotalAutoBan++;
  59785. }
  59786. ExecuteHackerAction(playerid, newweapon);
  59787. }
  59788. else if(PlayerInfo[playerid][pGuns][5] != 31 && PlayerInfo[playerid][pAGuns][5] != 31 && GetPlayerWeapon(playerid) == 31)
  59789. {
  59790. if(PlayerInfo[playerid][pConnectTime] < 2)
  59791. {
  59792. new WeaponName[32];
  59793. GetWeaponName(newweapon, WeaponName, sizeof(WeaponName));
  59794. new String[128];
  59795. format(String, sizeof(String), "AdmCmd: %s has been banned, reason: Weapon hacking (%s).", GetPlayerNameEx(playerid), WeaponName);
  59796. SendClientMessageToAllEx(COLOR_LIGHTRED, String);
  59797. SetPVarInt(playerid, "_HACK_WARNINGS", 0);
  59798. //RemovePlayerWeapon(playerid, weaponid);
  59799. PlayerInfo[playerid][pBanned] = 3;
  59800. new playerip[32];
  59801. GetPlayerIp(playerid, playerip, sizeof(playerip));
  59802. format(String, sizeof(String), "AdmCmd: %s (IP:%s) was banned, reason: Weapon hacking (%s)", GetPlayerNameEx(playerid), playerip, WeaponName);
  59803. PlayerInfo[playerid][pBanned] = 3;
  59804. Log("logs/ban.log", String);
  59805. new ip[32];
  59806. GetPlayerIp(playerid,ip,sizeof(ip));
  59807. AddBan(ip);
  59808. Kick(playerid);
  59809. TotalAutoBan++;
  59810. }
  59811. ExecuteHackerAction(playerid, newweapon);
  59812. }
  59813. else if(PlayerInfo[playerid][pGuns][4] != 32 && PlayerInfo[playerid][pAGuns][4] != 32 && GetPlayerWeapon(playerid) == 32)
  59814. {
  59815. new WeaponName[32];
  59816. GetWeaponName(newweapon, WeaponName, sizeof(WeaponName));
  59817. new String[128];
  59818. format(String, sizeof(String), "AdmCmd: %s has been banned, reason: Weapon hacking (%s).", GetPlayerNameEx(playerid), WeaponName);
  59819. SendClientMessageToAllEx(COLOR_LIGHTRED, String);
  59820. SetPVarInt(playerid, "_HACK_WARNINGS", 0);
  59821. //RemovePlayerWeapon(playerid, weaponid);
  59822. PlayerInfo[playerid][pBanned] = 3;
  59823. new playerip[32];
  59824. GetPlayerIp(playerid, playerip, sizeof(playerip));
  59825. format(String, sizeof(String), "AdmCmd: %s (IP:%s) was banned, reason: Weapon hacking (%s)", GetPlayerNameEx(playerid), playerip, WeaponName);
  59826. PlayerInfo[playerid][pBanned] = 3;
  59827. Log("logs/ban.log", String);
  59828. new ip[32];
  59829. GetPlayerIp(playerid,ip,sizeof(ip));
  59830. AddBan(ip);
  59831. Kick(playerid);
  59832. TotalAutoBan++;
  59833. }
  59834. else if(PlayerInfo[playerid][pGuns][6] != 33 && PlayerInfo[playerid][pAGuns][6] != 33 && GetPlayerWeapon(playerid) == 33)
  59835. {
  59836. if(PlayerInfo[playerid][pConnectTime] < 2)
  59837. {
  59838. new WeaponName[32];
  59839. GetWeaponName(newweapon, WeaponName, sizeof(WeaponName));
  59840. new String[128];
  59841. format(String, sizeof(String), "AdmCmd: %s has been banned, reason: Weapon hacking (%s).", GetPlayerNameEx(playerid), WeaponName);
  59842. SendClientMessageToAllEx(COLOR_LIGHTRED, String);
  59843. SetPVarInt(playerid, "_HACK_WARNINGS", 0);
  59844. //RemovePlayerWeapon(playerid, weaponid);
  59845. PlayerInfo[playerid][pBanned] = 3;
  59846. new playerip[32];
  59847. GetPlayerIp(playerid, playerip, sizeof(playerip));
  59848. format(String, sizeof(String), "AdmCmd: %s (IP:%s) was banned, reason: Weapon hacking (%s)", GetPlayerNameEx(playerid), playerip, WeaponName);
  59849. PlayerInfo[playerid][pBanned] = 3;
  59850. Log("logs/ban.log", String);
  59851. new ip[32];
  59852. GetPlayerIp(playerid,ip,sizeof(ip));
  59853. AddBan(ip);
  59854. Kick(playerid);
  59855. TotalAutoBan++;
  59856. }
  59857. ExecuteHackerAction(playerid, newweapon);
  59858. }
  59859. else if(PlayerInfo[playerid][pGuns][6] != 34 && PlayerInfo[playerid][pAGuns][6] != 34 && GetPlayerWeapon(playerid) == 34)
  59860. {
  59861. if(PlayerInfo[playerid][pConnectTime] < 2)
  59862. {
  59863. new WeaponName[32];
  59864. GetWeaponName(newweapon, WeaponName, sizeof(WeaponName));
  59865. new String[128];
  59866. format(String, sizeof(String), "AdmCmd: %s has been banned, reason: Weapon hacking (%s).", GetPlayerNameEx(playerid), WeaponName);
  59867. SendClientMessageToAllEx(COLOR_LIGHTRED, String);
  59868. SetPVarInt(playerid, "_HACK_WARNINGS", 0);
  59869. //RemovePlayerWeapon(playerid, weaponid);
  59870. PlayerInfo[playerid][pBanned] = 3;
  59871. new playerip[32];
  59872. GetPlayerIp(playerid, playerip, sizeof(playerip));
  59873. format(String, sizeof(String), "AdmCmd: %s (IP:%s) was banned, reason: Weapon hacking (%s)", GetPlayerNameEx(playerid), playerip, WeaponName);
  59874. PlayerInfo[playerid][pBanned] = 3;
  59875. Log("logs/ban.log", String);
  59876. new ip[32];
  59877. GetPlayerIp(playerid,ip,sizeof(ip));
  59878. AddBan(ip);
  59879. Kick(playerid);
  59880. TotalAutoBan++;
  59881. }
  59882. ExecuteHackerAction(playerid, newweapon);
  59883. }
  59884. else if(PlayerInfo[playerid][pGuns][7] != 35 && PlayerInfo[playerid][pAGuns][7] != 35 && GetPlayerWeapon(playerid) == 35)
  59885. {
  59886. new WeaponName[32];
  59887. GetWeaponName(newweapon, WeaponName, sizeof(WeaponName));
  59888. new String[128];
  59889. format(String, sizeof(String), "AdmCmd: %s has been banned, reason: Weapon hacking (%s).", GetPlayerNameEx(playerid), WeaponName);
  59890. SendClientMessageToAllEx(COLOR_LIGHTRED, String);
  59891. SetPVarInt(playerid, "_HACK_WARNINGS", 0);
  59892. //RemovePlayerWeapon(playerid, weaponid);
  59893. PlayerInfo[playerid][pBanned] = 3;
  59894. new playerip[32];
  59895. GetPlayerIp(playerid, playerip, sizeof(playerip));
  59896. format(String, sizeof(String), "AdmCmd: %s (IP:%s) was banned, reason: Weapon hacking (%s)", GetPlayerNameEx(playerid), playerip, WeaponName);
  59897. PlayerInfo[playerid][pBanned] = 3;
  59898. Log("logs/ban.log", String);
  59899. new ip[32];
  59900. GetPlayerIp(playerid,ip,sizeof(ip));
  59901. AddBan(ip);
  59902. Kick(playerid);
  59903. TotalAutoBan++;
  59904. ExecuteHackerAction(playerid, newweapon);
  59905. }
  59906. else if(PlayerInfo[playerid][pGuns][7] != 36 && PlayerInfo[playerid][pAGuns][7] != 36 && GetPlayerWeapon(playerid) == 36)
  59907. {
  59908. new WeaponName[32];
  59909. GetWeaponName(newweapon, WeaponName, sizeof(WeaponName));
  59910. new String[128];
  59911. format(String, sizeof(String), "AdmCmd: %s has been banned, reason: Weapon hacking (%s).", GetPlayerNameEx(playerid), WeaponName);
  59912. SendClientMessageToAllEx(COLOR_LIGHTRED, String);
  59913. SetPVarInt(playerid, "_HACK_WARNINGS", 0);
  59914. //RemovePlayerWeapon(playerid, weaponid);
  59915. PlayerInfo[playerid][pBanned] = 3;
  59916. new playerip[32];
  59917. GetPlayerIp(playerid, playerip, sizeof(playerip));
  59918. format(String, sizeof(String), "AdmCmd: %s (IP:%s) was banned, reason: Weapon hacking (%s)", GetPlayerNameEx(playerid), playerip, WeaponName);
  59919. PlayerInfo[playerid][pBanned] = 3;
  59920. Log("logs/ban.log", String);
  59921. new ip[32];
  59922. GetPlayerIp(playerid,ip,sizeof(ip));
  59923. AddBan(ip);
  59924. Kick(playerid);
  59925. TotalAutoBan++;
  59926. ExecuteHackerAction(playerid, newweapon);
  59927. }
  59928. else if(PlayerInfo[playerid][pGuns][7] != 37 && PlayerInfo[playerid][pAGuns][7] != 37 && GetPlayerWeapon(playerid) == 37)
  59929. {
  59930. new WeaponName[32];
  59931. GetWeaponName(newweapon, WeaponName, sizeof(WeaponName));
  59932. new String[128];
  59933. format(String, sizeof(String), "AdmCmd: %s has been banned, reason: Weapon hacking (%s).", GetPlayerNameEx(playerid), WeaponName);
  59934. SendClientMessageToAllEx(COLOR_LIGHTRED, String);
  59935. SetPVarInt(playerid, "_HACK_WARNINGS", 0);
  59936. //RemovePlayerWeapon(playerid, weaponid);
  59937. PlayerInfo[playerid][pBanned] = 3;
  59938. new playerip[32];
  59939. GetPlayerIp(playerid, playerip, sizeof(playerip));
  59940. format(String, sizeof(String), "AdmCmd: %s (IP:%s) was banned, reason: Weapon hacking (%s))", GetPlayerNameEx(playerid), playerip, WeaponName);
  59941. PlayerInfo[playerid][pBanned] = 3;
  59942. Log("logs/ban.log", String);
  59943. new ip[32];
  59944. GetPlayerIp(playerid,ip,sizeof(ip));
  59945. AddBan(ip);
  59946. Kick(playerid);
  59947. TotalAutoBan++;
  59948. ExecuteHackerAction(playerid, newweapon);
  59949. }
  59950. else if(PlayerInfo[playerid][pGuns][7] != 38 && PlayerInfo[playerid][pAGuns][7] != 38 && GetPlayerWeapon(playerid) == 38)
  59951. {
  59952. new WeaponName[32];
  59953. GetWeaponName(newweapon, WeaponName, sizeof(WeaponName));
  59954. new String[128];
  59955. format(String, sizeof(String), "AdmCmd: %s has been banned, reason: Weapon hacking (%s).", GetPlayerNameEx(playerid), WeaponName);
  59956. SendClientMessageToAllEx(COLOR_LIGHTRED, String);
  59957. SetPVarInt(playerid, "_HACK_WARNINGS", 0);
  59958. //RemovePlayerWeapon(playerid, weaponid);
  59959. PlayerInfo[playerid][pBanned] = 3;
  59960. new playerip[32];
  59961. GetPlayerIp(playerid, playerip, sizeof(playerip));
  59962. format(String, sizeof(String), "AdmCmd: %s (IP:%s) was banned, reason: Weapon hacking (%s)", GetPlayerNameEx(playerid), playerip, WeaponName);
  59963. Log("logs/ban.log", String);
  59964. new ip[32];
  59965. GetPlayerIp(playerid,ip,sizeof(ip));
  59966. AddBan(ip);
  59967. Kick(playerid);
  59968. TotalAutoBan++;
  59969. ExecuteHackerAction(playerid, newweapon);
  59970. }
  59971. else if(PlayerInfo[playerid][pGuns][8] != 16 && PlayerInfo[playerid][pAGuns][8] != 16 && GetPlayerWeapon(playerid) == 16)
  59972. {
  59973. new WeaponName[32];
  59974. GetWeaponName(newweapon, WeaponName, sizeof(WeaponName));
  59975. new String[128];
  59976. format(String, sizeof(String), "AdmCmd: %s has been banned, reason: Weapon hacking (%s).", GetPlayerNameEx(playerid), WeaponName);
  59977. SendClientMessageToAllEx(COLOR_LIGHTRED, String);
  59978. SetPVarInt(playerid, "_HACK_WARNINGS", 0);
  59979. //RemovePlayerWeapon(playerid, weaponid);
  59980. PlayerInfo[playerid][pBanned] = 3;
  59981. new playerip[32];
  59982. GetPlayerIp(playerid, playerip, sizeof(playerip));
  59983. format(String, sizeof(String), "AdmCmd: %s (IP:%s) was banned, reason: Weapon hacking (%s)", GetPlayerNameEx(playerid), playerip, WeaponName);
  59984. PlayerInfo[playerid][pBanned] = 3;
  59985. Log("logs/ban.log", String);
  59986. new ip[32];
  59987. GetPlayerIp(playerid,ip,sizeof(ip));
  59988. AddBan(ip);
  59989. Kick(playerid);
  59990. TotalAutoBan++;
  59991. ExecuteHackerAction(playerid, newweapon);
  59992. }
  59993. else if(PlayerInfo[playerid][pGuns][8] != 17 && PlayerInfo[playerid][pAGuns][8] != 17 && GetPlayerWeapon(playerid) == 17)
  59994. {
  59995. ExecuteHackerAction(playerid, newweapon);
  59996. }
  59997. else if(PlayerInfo[playerid][pGuns][8] != 18 && PlayerInfo[playerid][pAGuns][8] != 18 && GetPlayerWeapon(playerid) == 18)
  59998. {
  59999. new WeaponName[32];
  60000. GetWeaponName(newweapon, WeaponName, sizeof(WeaponName));
  60001. new String[128];
  60002. format(String, sizeof(String), "AdmCmd: %s has been banned, reason: Weapon hacking (%s).", GetPlayerNameEx(playerid), WeaponName);
  60003. SendClientMessageToAllEx(COLOR_LIGHTRED, String);
  60004. SetPVarInt(playerid, "_HACK_WARNINGS", 0);
  60005. //RemovePlayerWeapon(playerid, weaponid);
  60006. PlayerInfo[playerid][pBanned] = 3;
  60007. new playerip[32];
  60008. GetPlayerIp(playerid, playerip, sizeof(playerip));
  60009. format(String, sizeof(String), "AdmCmd: %s (IP:%s) was banned, reason: Weapon hacking (%s)", GetPlayerNameEx(playerid), playerip, WeaponName);
  60010. PlayerInfo[playerid][pBanned] = 3;
  60011. Log("logs/ban.log", String);
  60012. new ip[32];
  60013. GetPlayerIp(playerid,ip,sizeof(ip));
  60014. AddBan(ip);
  60015. Kick(playerid);
  60016. TotalAutoBan++;
  60017. ExecuteHackerAction(playerid, newweapon);
  60018. }
  60019. else if(PlayerInfo[playerid][pGuns][8] != 39 && PlayerInfo[playerid][pAGuns][8] != 39 && GetPlayerWeapon(playerid) == 39)
  60020. {
  60021. new WeaponName[32];
  60022. GetWeaponName(newweapon, WeaponName, sizeof(WeaponName));
  60023. new String[128];
  60024. format(String, sizeof(String), "AdmCmd: %s has been banned, reason: Weapon hacking (%s).", GetPlayerNameEx(playerid), WeaponName);
  60025. SendClientMessageToAllEx(COLOR_LIGHTRED, String);
  60026. SetPVarInt(playerid, "_HACK_WARNINGS", 0);
  60027. //RemovePlayerWeapon(playerid, weaponid);
  60028. PlayerInfo[playerid][pBanned] = 3;
  60029. new playerip[32];
  60030. GetPlayerIp(playerid, playerip, sizeof(playerip));
  60031. format(String, sizeof(String), "AdmCmd: %s (IP:%s) was banned, reason: Weapon hacking (%s)", GetPlayerNameEx(playerid), playerip, WeaponName);
  60032. PlayerInfo[playerid][pBanned] = 3;
  60033. Log("logs/ban.log", String);
  60034. new ip[32];
  60035. GetPlayerIp(playerid,ip,sizeof(ip));
  60036. AddBan(ip);
  60037. Kick(playerid);
  60038. TotalAutoBan++;
  60039. ExecuteHackerAction(playerid, newweapon);
  60040. }
  60041. else if(PlayerInfo[playerid][pGuns][9] != 41 && PlayerInfo[playerid][pAGuns][9] != 41 && GetPlayerWeapon(playerid) == 41)
  60042. {
  60043. if(PlayerInfo[playerid][pConnectTime] < 2)
  60044. {
  60045. new WeaponName[32];
  60046. GetWeaponName(newweapon, WeaponName, sizeof(WeaponName));
  60047. new String[128];
  60048. format(String, sizeof(String), "AdmCmd: %s has been banned, reason: Weapon hacking (%s).", GetPlayerNameEx(playerid), WeaponName);
  60049. SendClientMessageToAllEx(COLOR_LIGHTRED, String);
  60050. SetPVarInt(playerid, "_HACK_WARNINGS", 0);
  60051. //RemovePlayerWeapon(playerid, weaponid);
  60052. PlayerInfo[playerid][pBanned] = 3;
  60053. new playerip[32];
  60054. GetPlayerIp(playerid, playerip, sizeof(playerip));
  60055. format(String, sizeof(String), "AdmCmd: %s (IP:%s) was banned, reason: Weapon hacking (%s)", GetPlayerNameEx(playerid), playerip, WeaponName);
  60056. PlayerInfo[playerid][pBanned] = 3;
  60057. Log("logs/ban.log", String);
  60058. new ip[32];
  60059. GetPlayerIp(playerid,ip,sizeof(ip));
  60060. AddBan(ip);
  60061. Kick(playerid);
  60062. TotalAutoBan++;
  60063. }
  60064. ExecuteHackerAction(playerid, newweapon);
  60065. }
  60066. else if(PlayerInfo[playerid][pGuns][9] != 42 && PlayerInfo[playerid][pAGuns][9] != 42 && GetPlayerWeapon(playerid) == 42)
  60067. {
  60068. if(PlayerInfo[playerid][pConnectTime] < 2)
  60069. {
  60070. new WeaponName[32];
  60071. GetWeaponName(newweapon, WeaponName, sizeof(WeaponName));
  60072. new String[128];
  60073. format(String, sizeof(String), "AdmCmd: %s has been banned, reason: Weapon hacking (%s).", GetPlayerNameEx(playerid), WeaponName);
  60074. SendClientMessageToAllEx(COLOR_LIGHTRED, String);
  60075. SetPVarInt(playerid, "_HACK_WARNINGS", 0);
  60076. //RemovePlayerWeapon(playerid, weaponid);
  60077. PlayerInfo[playerid][pBanned] = 3;
  60078. new playerip[32];
  60079. GetPlayerIp(playerid, playerip, sizeof(playerip));
  60080. format(String, sizeof(String), "AdmCmd: %s (IP:%s) was banned, reason: Weapon hacking (%s)", GetPlayerNameEx(playerid), playerip, WeaponName);
  60081. PlayerInfo[playerid][pBanned] = 3;
  60082. Log("logs/ban.log", String);
  60083. new ip[32];
  60084. GetPlayerIp(playerid,ip,sizeof(ip));
  60085. AddBan(ip);
  60086. Kick(playerid);
  60087. TotalAutoBan++;
  60088. }
  60089. ExecuteHackerAction(playerid, newweapon);
  60090. }
  60091. else if(PlayerInfo[playerid][pGuns][9] != 43 && PlayerInfo[playerid][pAGuns][9] != 43 && GetPlayerWeapon(playerid) == 43)
  60092. {
  60093. ExecuteHackerAction(playerid, newweapon);
  60094. }
  60095. else if(PlayerInfo[playerid][pGuns][10] != 10 && PlayerInfo[playerid][pAGuns][10] != 10 && GetPlayerWeapon(playerid) == 10)
  60096. {
  60097. ExecuteHackerAction(playerid, newweapon);
  60098. }
  60099. else if(PlayerInfo[playerid][pGuns][10] != 11 && PlayerInfo[playerid][pAGuns][10] != 11 && GetPlayerWeapon(playerid) == 11)
  60100. {
  60101. ExecuteHackerAction(playerid, newweapon);
  60102. }
  60103. else if(PlayerInfo[playerid][pGuns][10] != 12 && PlayerInfo[playerid][pAGuns][10] != 12 && GetPlayerWeapon(playerid) == 12)
  60104. {
  60105. ExecuteHackerAction(playerid, newweapon);
  60106. }
  60107. else if(PlayerInfo[playerid][pGuns][10] != 13 && PlayerInfo[playerid][pAGuns][10] != 13 && GetPlayerWeapon(playerid) == 13)
  60108. {
  60109. ExecuteHackerAction(playerid, newweapon);
  60110. }
  60111. else if(PlayerInfo[playerid][pGuns][10] != 14 && PlayerInfo[playerid][pAGuns][10] != 14 && GetPlayerWeapon(playerid) == 14)
  60112. {
  60113. ExecuteHackerAction(playerid, newweapon);
  60114. }
  60115. else if(PlayerInfo[playerid][pGuns][10] != 15 && PlayerInfo[playerid][pAGuns][10] != 15 && GetPlayerWeapon(playerid) == 15)
  60116. {
  60117. ExecuteHackerAction(playerid, newweapon);
  60118. }
  60119. else if(PlayerInfo[playerid][pGuns][11] != 44 && PlayerInfo[playerid][pAGuns][11] != 44 && GetPlayerWeapon(playerid) == 44)
  60120. {
  60121. ExecuteHackerAction(playerid, newweapon);
  60122. }
  60123. else if(PlayerInfo[playerid][pGuns][11] != 45 && PlayerInfo[playerid][pAGuns][11] != 45 && GetPlayerWeapon(playerid) == 45)
  60124. {
  60125. ExecuteHackerAction(playerid, newweapon);
  60126. }
  60127. else if(PlayerInfo[playerid][pGuns][11] != 46 && GetPlayerWeapon(playerid) == 46)
  60128. {
  60129. PlayerInfo[playerid][pGuns][11] = 46;
  60130. }
  60131. }
  60132. return 1;
  60133. }
  60134. public OnPlayerUpdate(playerid)
  60135. {
  60136. if(onminer[playerid] == 1 && startjob[playerid] == 0 && !IsPlayerInAnyVehicle(playerid))
  60137. {
  60138. if(IsPlayerInRangeOfPoint(playerid, 1, -1854.7035,-1650.9668,25.7248)
  60139. || IsPlayerInRangeOfPoint(playerid, 1, -1803.5344,-1655.2640,25.8294)
  60140. || IsPlayerInRangeOfPoint(playerid, 1, -1788.5780,-1640.7179,27.0669))
  60141. {
  60142. ApplyAnimation(playerid, "SWORD", "sword_4", 4.0, 1, 1, 1, 0, 0);
  60143. GameTextForPlayer(playerid,"~w~Mining..",5000,6);
  60144. ApplyAnimation(playerid, "SWORD", "sword_4", 4.0, 1, 1, 1, 0, 0);
  60145. startjob[playerid] = 1;
  60146. SetTimerEx("TimerGiveMiner", 15000, false, "i", playerid);
  60147. return 1;
  60148. }
  60149. if(IsPlayerInRangeOfPoint(playerid, 1, -1869.1316,-1634.7915,-58.500)
  60150. || IsPlayerInRangeOfPoint(playerid, 1, -1868.9603,-1643.6682,-58.046))
  60151. {
  60152. if(PlayerInfo[playerid][pPickaxe] > 0)
  60153. {
  60154. ApplyAnimation(playerid, "SWORD", "sword_4", 4.0, 1, 1, 1, 0, 0);
  60155. GameTextForPlayer(playerid,"~w~Mining..",5000,6);
  60156. ApplyAnimation(playerid, "SWORD", "sword_4", 4.0, 1, 1, 1, 0, 0);
  60157. startjob[playerid] = 1;
  60158. SetTimerEx("TimerGiveMinerEx", 15000, false, "i", playerid);
  60159. return 1;
  60160. }
  60161. }
  60162. }
  60163. if(playerTabbed[playerid] == 1)
  60164. {
  60165. playerTabbed[playerid] = 0;
  60166. playerTabbedTime[playerid] = 0;
  60167. if(GetPVarType(playerid, "tabbedVW") != 0) {
  60168. SetPlayerVirtualWorld(playerid, GetPVarInt(playerid, "tabbedVW"));
  60169. DeletePVar(playerid, "tabbedVW");
  60170. }
  60171. }
  60172. playerSeconds[playerid] = gettime();
  60173. if(GetPVarInt(playerid, "IsFrozen") == 1) TogglePlayerControllable(playerid, 0);
  60174. new pCurWeap = GetPlayerWeapon(playerid);
  60175. if(pCurWeap != pCurrentWeapon[playerid])
  60176. {
  60177. OnPlayerChangeWeapon(playerid, pCurWeap);
  60178. pCurrentWeapon[playerid] = pCurWeap;
  60179. }
  60180. new string[128];
  60181. new Float:newhp, Float:newarmr;
  60182. GetPlayerHealth(playerid, newhp);
  60183. GetPlayerArmour(playerid, newarmr);
  60184. format(string, 128, "%.0f", newhp);
  60185. PlayerTextDrawSetString(playerid, HealthTD[playerid], string);
  60186. format(string, 128, "%.0f", newarmr);
  60187. PlayerTextDrawSetString(playerid, ArmorTD[playerid], string);
  60188. /*new Float:health, vehicleid = GetPlayerVehicleID(playerid);
  60189. GetVehicleHealth(vehicleid, health);
  60190. format(string, sizeof(string), "%0.0f", health);
  60191. PlayerTextDrawSetString(playerid, VDB3[playerid], string);
  60192. format(string, sizeof(string), "%s", GetVehicleName(vehicleid));
  60193. PlayerTextDrawSetString(playerid, VDB1[playerid], string);
  60194. format(string, sizeof(string), "%.0f", player_get_speed(playerid));
  60195. PlayerTextDrawSetString(playerid, VDB5[playerid], string);*/
  60196. return 1;
  60197. }
  60198. public OnPlayerEditAttachedObject(playerid, response, index, modelid, boneid, Float:fOffsetX, Float:fOffsetY, Float:fOffsetZ, Float:fRotX, Float:fRotY, Float:fRotZ, Float:fScaleX, Float:fScaleY, Float:fScaleZ)
  60199. {
  60200. if(response)
  60201. {
  60202. SendClientMessage(playerid, COLOR_ORANGE, "Toys edition Save");
  60203. if(fOffsetX > 1.4)
  60204. {
  60205. fOffsetX = 1.4;
  60206. SendClientMessage(playerid, COLOR_WHITE, "Maximum X Offset exeeded, damped to maximum");
  60207. }
  60208. if(fOffsetY > 1.4) {
  60209. fOffsetY = 1.4;
  60210. SendClientMessage(playerid, COLOR_WHITE, "Maximum Y Offset exeeded, damped to maximum");
  60211. }
  60212. if(fOffsetZ > 1.4) {
  60213. fOffsetZ = 1.4;
  60214. SendClientMessage(playerid, COLOR_WHITE, "Maximum Z Offset exeeded, damped to maximum");
  60215. }
  60216. if(fOffsetX < -1.4) {
  60217. fOffsetX = -1.4;
  60218. SendClientMessage(playerid, COLOR_WHITE, "Maximum X Offset exeeded, damped to maximum");
  60219. }
  60220. if(fOffsetY < -1.4) {
  60221. fOffsetY = -1.4;
  60222. SendClientMessage(playerid, COLOR_WHITE, "Maximum Y Offset exeeded, damped to maximum");
  60223. }
  60224. if(fOffsetZ < -1.4) {
  60225. fOffsetZ = -1.4;
  60226. SendClientMessage(playerid, COLOR_WHITE, "Maximum Z Offset exeeded, damped to maximum");
  60227. }
  60228. if(fScaleX > 1.5) {
  60229. fScaleX = 1.5;
  60230. SendClientMessage(playerid, COLOR_WHITE, "Maximum X Scale exeeded, damped to maximum");
  60231. }
  60232. if(fScaleY > 1.5) {
  60233. fScaleY = 1.5;
  60234. SendClientMessage(playerid, COLOR_WHITE, "Maximum Y Scale exeeded, damped to maximum");
  60235. }
  60236. if(fScaleZ > 1.5) {
  60237. fScaleZ = 1.5;
  60238. SendClientMessage(playerid, COLOR_WHITE, "Maximum Z Scale exeeded, damped to maximum");
  60239. }
  60240. PlayerToyInfo[playerid][index][ptPosX] = fOffsetX;
  60241. PlayerToyInfo[playerid][index][ptPosY] = fOffsetY;
  60242. PlayerToyInfo[playerid][index][ptPosZ] = fOffsetZ;
  60243. PlayerToyInfo[playerid][index][ptRotX] = fRotX;
  60244. PlayerToyInfo[playerid][index][ptRotY] = fRotY;
  60245. PlayerToyInfo[playerid][index][ptRotZ] = fRotZ;
  60246. PlayerToyInfo[playerid][index][ptScaleX] = fScaleX;
  60247. PlayerToyInfo[playerid][index][ptScaleY] = fScaleY;
  60248. PlayerToyInfo[playerid][index][ptScaleZ] = fScaleZ;
  60249. }
  60250. else
  60251. {
  60252. SendClientMessage(playerid, COLOR_RED, "Toys edition canceled");
  60253. }
  60254. return 1;
  60255. }
  60256. stock ShowEditMenu(playerid)
  60257. {
  60258. if(IsPlayerAttachedObjectSlotUsed(playerid, slotselection[playerid]))
  60259. {
  60260. RemovePlayerAttachedObject(playerid, slotselection[playerid]);
  60261. }
  60262. SetPlayerAttachedObject(playerid, slotselection[playerid], PlayerToyInfo[playerid][slotselection[playerid]][ptModelID],
  60263. PlayerToyInfo[playerid][slotselection[playerid]][ptBone], PlayerToyInfo[playerid][slotselection[playerid]][ptPosX],
  60264. PlayerToyInfo[playerid][slotselection[playerid]][ptPosY], PlayerToyInfo[playerid][slotselection[playerid]][ptPosZ],
  60265. PlayerToyInfo[playerid][slotselection[playerid]][ptRotX], PlayerToyInfo[playerid][slotselection[playerid]][ptRotY],
  60266. PlayerToyInfo[playerid][slotselection[playerid]][ptRotZ], PlayerToyInfo[playerid][slotselection[playerid]][ptScaleX],
  60267. PlayerToyInfo[playerid][slotselection[playerid]][ptScaleY], PlayerToyInfo[playerid][slotselection[playerid]][ptScaleZ]);
  60268. new stringg[512];
  60269. format(stringg, sizeof(stringg), "%sBone (%s)\n", stringg, HoldingBones[PlayerToyInfo[playerid][slotselection[playerid]][ptBone]]);
  60270. format(stringg, sizeof(stringg), "%sOffsets\n", stringg,(PlayerToyInfo[playerid][slotselection[playerid]][ptPosX]));
  60271. ShowPlayerDialogEx(playerid, EDITTOYS2, DIALOG_STYLE_LIST, "Toy Menu: Edit", stringg, "Select", "Cancel");
  60272. }
  60273. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
  60274. new
  60275. string[128],
  60276. sendername[MAX_PLAYER_NAME];
  60277. if(GetPVarInt(playerid, "dialog") != dialogid) { // Confirm the dialogid matches what we have in the PVar
  60278. format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) is possibly trying to spoof a dialog ID (%d).", GetPlayerNameEx(playerid), playerid, dialogid);
  60279. ABroadCast(COLOR_YELLOW, string, 2);
  60280. format(string, sizeof(string), "%s has possibly tried to spoof a dialog ID.", GetPlayerNameEx(playerid));
  60281. AddAutomatedFlag(playerid, string);
  60282. format(string, sizeof(string), "%s has possibly tried to spoof a dialog ID (%d, %d).", GetPlayerNameEx(playerid), dialogid, response);
  60283. Log("logs/crash.log", string);
  60284. return 1;
  60285. }
  60286. DeletePVar(playerid, "dialog"); // Delete the PVar now we're done with it
  60287. if(!isnull(inputtext))
  60288. {
  60289. if(strfind(inputtext, "%s", true) != -1)
  60290. {
  60291. format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) is possibly dialog-exploiting by attempting to send a null string.", GetPlayerNameEx(playerid), playerid);
  60292. ABroadCast(COLOR_YELLOW, string, 2);
  60293. format(string, sizeof(string), "%s is possibly dialog-exploiting by attempting to send a null string.", GetPlayerNameEx(playerid));
  60294. AddAutomatedFlag(playerid, string);
  60295. format(string, sizeof(string), "%s has attempted to insert a false string placeholder into a dialog.", GetPlayerNameEx(playerid));
  60296. Log("logs/crash.log", string);
  60297. Kick(playerid);
  60298. return 1;
  60299. }
  60300. }
  60301. if(dialogid == 5215)
  60302. {
  60303. if(response)
  60304. {
  60305. if(listitem == 0)
  60306. {
  60307. ShowPlayerDialogEx(playerid, 5216, DIALOG_STYLE_INPUT, "Change business name", "Enter your new desired business name:", "Change", "Cancel");
  60308. }
  60309. if(listitem == 1)
  60310. {
  60311. ShowPlayerDialogEx(playerid, 5217, DIALOG_STYLE_INPUT, "Change inside text", "Enter your new desired text name:", "Change", "Cancel");
  60312. }
  60313. if(listitem == 2)
  60314. {
  60315. format(string, sizeof(string), "Your current business balance is $%d.", BusinessInfo[PlayerInfo[playerid][pBizID]][bMoney]);
  60316. ShowPlayerDialogEx(playerid, 5219, DIALOG_STYLE_MSGBOX, "Check balance", string, "Close", "");
  60317. }
  60318. }
  60319. }
  60320. if(dialogid == LANDS)
  60321. {
  60322. if(response)
  60323. {
  60324. if(listitem == 0)
  60325. {
  60326. new id = IsPlayerNearLand(playerid);
  60327. if(id == -1 || id == 0) return SendClientMessage(playerid, COLOR_GREY, "You are not in a land!");
  60328. if(LandsInfo[id][lOwned] == 0)
  60329. {
  60330. if(PlayerInfo[playerid][pLand] == 0)
  60331. {
  60332. if(PlayerInfo[playerid][pCash] < LandsInfo[id][lPrice]) return SendClientMessage(playerid, COLOR_LIGHTRED, "Sorry, you can not afford this land.");
  60333. GivePlayerCash(playerid, -LandsInfo[id][lPrice]);
  60334. format(string, sizeof(string), "You have bought this land for $%s.", Comma(LandsInfo[id][lPrice]));
  60335. SCM(playerid, -1, string);
  60336. PlayerInfo[playerid][pLand] = id;
  60337. format(LandsInfo[id][lOwner], MAX_PLAYER_NAME, "%s", GetPlayerNameEx(playerid));
  60338. LandsInfo[id][lOwned] = 1;
  60339. format(string, sizeof(string), "%s's land (%d)", LandsInfo[id][lOwner], id);
  60340. UpdateDynamic3DTextLabelText(LandsInfo[id][lText], COLOR_REALRED, string);
  60341. }
  60342. else return SCM(playerid, COLOR_GREY, "You already own a land.");
  60343. }
  60344. else return SCM(playerid, COLOR_GREY, "This land is already owned.");
  60345. }
  60346. if(listitem == 1)
  60347. {
  60348. new id = IsPlayerNearLand(playerid);
  60349. if(id == -1 || id == 0) return SendClientMessage(playerid, COLOR_GREY, "You are not in a land!");
  60350. if(id == PlayerInfo[playerid][pLand])
  60351. {
  60352. ShowPlayerDialogEx(playerid, LANDS2, DIALOG_STYLE_LIST, "Selection an action", "Add objects\nEdit objects\nSet object\nDelete object", "Select", "Cancel");
  60353. }
  60354. else SCM(playerid, -1, "This land is not yours.");
  60355. }
  60356. if(listitem == 2)
  60357. {
  60358. SCM(playerid, -1, "This feature is not available.");
  60359. }
  60360. }
  60361. }
  60362. if(dialogid == LANDS2)
  60363. {
  60364. if(response)
  60365. {
  60366. if(listitem == 0)
  60367. {
  60368. new id = IsPlayerNearLand(playerid);
  60369. if(id == -1 || id == 0) return SendClientMessage(playerid, COLOR_GREY, "You are not in a land!");
  60370. if(id == PlayerInfo[playerid][pLand])
  60371. {
  60372. ShowPlayerDialogEx(playerid, LANDS3, DIALOG_STYLE_LIST, "Objects list", "Walls\nDoors\nDoor Frames\nFloors", "Select", "Cancel");
  60373. }
  60374. else SCM(playerid, -1, "This land is not yours.");
  60375. }
  60376. if(listitem == 1)
  60377. {
  60378. new modelstr[128];
  60379. new sstring[1000];
  60380. for(new o = 0; o < MAX_OBJ; o++)
  60381. {
  60382. if(ObjectInfo[o][objModel] != 0)
  60383. {
  60384. switch(ObjectInfo[o][objModel])
  60385. {
  60386. case 19353: modelstr = "wall001";
  60387. case 19354: modelstr = "wall002";
  60388. case 19355: modelstr = "wall003";
  60389. case 19356: modelstr = "wall004";
  60390. case 19357: modelstr = "wall005";
  60391. case 19358: modelstr = "wall006";
  60392. case 19359: modelstr = "wall007";
  60393. case 19360: modelstr = "wall008";
  60394. case 19361: modelstr = "wall009";
  60395. case 19362: modelstr = "wall010";
  60396. case 19363: modelstr = "wall011";
  60397. case 19364: modelstr = "wall012";
  60398. case 19365: modelstr = "wall013";
  60399. case 19366: modelstr = "wall014";
  60400. case 19367: modelstr = "wall015";
  60401. case 19383: modelstr = "doorframe1";
  60402. case 1498: modelstr = "door1";
  60403. case 10244: modelstr = "staircase1";
  60404. }
  60405. format(sstring, sizeof(sstring), "%s\n[Slot %d]: %s", sstring, o, modelstr);
  60406. }
  60407. }
  60408. ShowPlayerDialogEx(playerid, LANDS5, DIALOG_STYLE_LIST, "Objects list", sstring, "Edit", "Close");
  60409. }
  60410. }
  60411. }
  60412. if(dialogid == LANDS5 && response)
  60413. {
  60414. new objid;
  60415. objid = listitem+1;
  60416. if(ObjectInfo[objid][objModel] == 0) return SCM(playerid, -1, "This object does not exist.");
  60417. if(ObjectInfo[objid][objModel] == 1498)
  60418. {
  60419. EditDynamicObject(playerid, ObjectInfo[objid][oDoor]);
  60420. }
  60421. else
  60422. {
  60423. EditDynamicObject(playerid, ObjectInfo[objid][objID]);
  60424. }
  60425. format(string, sizeof(string), "You are now editing slot %d.", objid);
  60426. SCM(playerid, -1, string);
  60427. }
  60428. if(dialogid == LANDS3)
  60429. {
  60430. if(response)
  60431. {
  60432. if(listitem == 0)
  60433. {
  60434. new id = IsPlayerNearLand(playerid);
  60435. if(id == -1 || id == 0) return SendClientMessage(playerid, COLOR_GREY, "You are not in a land!");
  60436. if(id == PlayerInfo[playerid][pLand])
  60437. {
  60438. ShowPlayerDialogEx(playerid, LANDS4, DIALOG_STYLE_LIST, "Objects", "wall001\nwall002\nwall003\nwall004\nwall005\nwall006\nwall007\nwall008\nwall009\nwall010\nwall011\nwall012\nwall013\nwall014\nwall015", "Select", "Cancel");
  60439. }
  60440. else SCM(playerid, -1, "This land is not yours.");
  60441. }
  60442. if(listitem == 1)
  60443. {
  60444. ShowPlayerDialogEx(playerid, LANDS8, DIALOG_STYLE_LIST, "Doors", "door1", "Select", "Cancel");
  60445. }
  60446. if(listitem == 2)
  60447. {
  60448. ShowPlayerDialogEx(playerid, LANDS6, DIALOG_STYLE_LIST, "Door Frames", "doorframe1", "Select", "Cancel");
  60449. }
  60450. if(listitem == 3)
  60451. {
  60452. ShowPlayerDialogEx(playerid, LANDS7, DIALOG_STYLE_LIST, "Floors", "floor1\nstaircase1", "Select", "Cancel");
  60453. }
  60454. }
  60455. }
  60456. if(dialogid == LANDS8)
  60457. {
  60458. if(response)
  60459. {
  60460. if(listitem == 0)
  60461. {
  60462. CreateLandDoorObject(playerid, 1498);
  60463. }
  60464. }
  60465. }
  60466. if(dialogid == LANDS7)
  60467. {
  60468. if(response)
  60469. {
  60470. if(listitem == 0)
  60471. {
  60472. CreateLandFloorObject(playerid, 19379);
  60473. }
  60474. if(listitem == 1)
  60475. {
  60476. CreateLandObject(playerid, 10244);
  60477. }
  60478. }
  60479. }
  60480. if(dialogid == LANDS4)
  60481. {
  60482. if(response)
  60483. {
  60484. if(listitem == 0)
  60485. {
  60486. CreateLandObject(playerid, 19353);
  60487. }
  60488. if(listitem == 1)
  60489. {
  60490. CreateLandObject(playerid, 19354);
  60491. }
  60492. if(listitem == 2)
  60493. {
  60494. CreateLandObject(playerid, 19355);
  60495. }
  60496. if(listitem == 3)
  60497. {
  60498. CreateLandObject(playerid, 19356);
  60499. }
  60500. if(listitem == 4)
  60501. {
  60502. CreateLandObject(playerid, 19357);
  60503. }
  60504. if(listitem == 5)
  60505. {
  60506. CreateLandObject(playerid, 19358);
  60507. }
  60508. if(listitem == 6)
  60509. {
  60510. CreateLandObject(playerid, 19359);
  60511. }
  60512. if(listitem == 7)
  60513. {
  60514. CreateLandObject(playerid, 19360);
  60515. }
  60516. if(listitem == 8)
  60517. {
  60518. CreateLandObject(playerid, 19361);
  60519. }
  60520. if(listitem == 9)
  60521. {
  60522. CreateLandObject(playerid, 19362);
  60523. }
  60524. if(listitem == 10)
  60525. {
  60526. CreateLandObject(playerid, 19363);
  60527. }
  60528. if(listitem == 11)
  60529. {
  60530. CreateLandObject(playerid, 19364);
  60531. }
  60532. if(listitem == 12)
  60533. {
  60534. CreateLandObject(playerid, 19365);
  60535. }
  60536. if(listitem == 13)
  60537. {
  60538. CreateLandObject(playerid, 19366);
  60539. }
  60540. if(listitem == 14)
  60541. {
  60542. CreateLandObject(playerid, 19367);
  60543. }
  60544. }
  60545. }
  60546. if(dialogid == LANDS6)
  60547. {
  60548. if(response)
  60549. {
  60550. if(listitem == 0)
  60551. {
  60552. CreateLandObject(playerid, 19383);
  60553. }
  60554. }
  60555. }
  60556. if(dialogid == 5219)
  60557. {
  60558. if(response)
  60559. {
  60560. format(string, sizeof(string), "Enter the money you want to withdraw you have $%d.", BusinessInfo[PlayerInfo[playerid][pBizID]][bMoney]);
  60561. ShowPlayerDialogEx(playerid, 5220, DIALOG_STYLE_INPUT, "Withdraw from balance", string, "Check", "Cancel");
  60562. }
  60563. }
  60564. if(dialogid == 5220)
  60565. {
  60566. if(response)
  60567. {
  60568. if(IsNumeric(inputtext))
  60569. {
  60570. new money = strval(inputtext);
  60571. if(BusinessInfo[PlayerInfo[playerid][pBizID]][bMoney] >= money)
  60572. {
  60573. GivePlayerMoney(playerid, money);
  60574. BusinessInfo[PlayerInfo[playerid][pBizID]][bMoney] -= money;
  60575. format(string, sizeof(string), "You have withdrawn %d from your business balance.", money);
  60576. SCM(playerid, COLOR_LIGHTBLUE, string);
  60577. }
  60578. else return SCM(playerid, COLOR_GREY, "Your business balance does not have that much.");
  60579. }
  60580. else return SCM(playerid, COLOR_GREY, "You must input numbers instead of letters.");
  60581. }
  60582. }
  60583. if(dialogid == 5218)
  60584. {
  60585. if(response)
  60586. {
  60587. if(listitem == 0)
  60588. {
  60589. if(GetPlayerCash(playerid) >= 800)
  60590. {
  60591. GivePlayerCash(playerid, -800);
  60592. SCM(playerid, -1, "You bought a shotgun for $800.");
  60593. GivePlayerValidWeapon(playerid, 25, 600000);
  60594. BusinessInfo[InsideBiz[playerid]][bMoney] += 800;
  60595. }
  60596. }
  60597. if(listitem == 1)
  60598. {
  60599. if(GetPlayerCash(playerid) >= 200)
  60600. {
  60601. GivePlayerCash(playerid, -200);
  60602. SCM(playerid, -1, "You bought a 9mm for $200.");
  60603. GivePlayerValidWeapon(playerid, 22, 600000);
  60604. BusinessInfo[InsideBiz[playerid]][bMoney] += 800;
  60605. }
  60606. }
  60607. if(listitem == 2)
  60608. {
  60609. if(GetPlayerCash(playerid) >= 1200)
  60610. {
  60611. GivePlayerCash(playerid, -1200);
  60612. SCM(playerid, -1, "You bought a county rifle for $800.");
  60613. GivePlayerValidWeapon(playerid, 33, 600000);
  60614. BusinessInfo[InsideBiz[playerid]][bMoney] += 800;
  60615. }
  60616. }
  60617. if(listitem == 3)
  60618. {
  60619. if(GetPlayerCash(playerid) >= 200)
  60620. {
  60621. GivePlayerCash(playerid, -200);
  60622. SCM(playerid, -1, "You bought a half kevlar vest for $200.");
  60623. SetPlayerArmourEx(playerid, 50);
  60624. BusinessInfo[InsideBiz[playerid]][bMoney] += 200;
  60625. }
  60626. }
  60627. }
  60628. }
  60629. if(dialogid == 5216)
  60630. {
  60631. if(response)
  60632. {
  60633. if(strlen(inputtext) >= 1)
  60634. {
  60635. format(BusinessInfo[PlayerInfo[playerid][pBizID]][bName], 128, "%s", inputtext);
  60636. new strs[142];
  60637. new id = PlayerInfo[playerid][pBizID];
  60638. format(strs, 142, "%s\nOwner: %s (%d)", BusinessInfo[id][bName], BusinessInfo[id][bOwner], id);
  60639. UpdateDynamic3DTextLabelText(BusinessInfo[id][bText], COLOR_REALRED, strs);
  60640. }
  60641. else SCM(playerid, COLOR_GREY, "Name must be atleast 1 characters.");
  60642. }
  60643. }
  60644. if(dialogid == DIALOG_BLACKMARKET1)
  60645. {
  60646. if(response)
  60647. {
  60648. if(listitem == 0)
  60649. {
  60650. SetPlayerHealth(playerid, 100.0);
  60651. }
  60652. if(listitem == 1)
  60653. {
  60654. if(PlayerInfo[playerid][pCash] < 600)
  60655. {
  60656. return SendClientMessage(playerid, COLOR_GREY, "You don't have enough cash to buy a vest.");
  60657. }
  60658. SetPlayerArmourEx(playerid, 100.0);
  60659. GivePlayerCash(playerid, -600);
  60660. }
  60661. if(listitem == 2)
  60662. {
  60663. GivePlayerValidWeapon(playerid, 8, 99999);
  60664. }
  60665. if(listitem == 3)
  60666. {
  60667. if(PlayerInfo[playerid][pCash] < 300)
  60668. {
  60669. return SendClientMessage(playerid, COLOR_GREY, "You don't have enough cash to buy this weapon.");
  60670. }
  60671. GivePlayerValidWeapon(playerid, 22, 99999);
  60672. GivePlayerCash(playerid, -300);
  60673. }
  60674. if(listitem == 4)
  60675. {
  60676. if(PlayerInfo[playerid][pCash] < 300)
  60677. {
  60678. return SendClientMessage(playerid, COLOR_GREY, "You don't have enough cash to buy this weapon.");
  60679. }
  60680. GivePlayerValidWeapon(playerid, 23, 99999);
  60681. GivePlayerCash(playerid, -300);
  60682. }
  60683. if(listitem == 5)
  60684. {
  60685. if(PlayerInfo[playerid][pCash] < 800)
  60686. {
  60687. return SendClientMessage(playerid, COLOR_GREY, "You don't have enough cash to buy this weapon.");
  60688. }
  60689. GivePlayerValidWeapon(playerid, 29, 99999);
  60690. GivePlayerCash(playerid, -800);
  60691. }
  60692. if(listitem == 6)
  60693. {
  60694. if(PlayerInfo[playerid][pCash] < 600)
  60695. {
  60696. return SendClientMessage(playerid, COLOR_GREY, "You don't have enough cash to buy this weapon.");
  60697. }
  60698. GivePlayerValidWeapon(playerid, 25, 99999);
  60699. GivePlayerCash(playerid, -600);
  60700. }
  60701. }
  60702. }
  60703. if(dialogid == DIALOG_BLACKMARKET2)
  60704. {
  60705. if(response)
  60706. {
  60707. if(listitem == 0)
  60708. {
  60709. SetPlayerHealth(playerid, 100.0);
  60710. }
  60711. if(listitem == 1)
  60712. {
  60713. if(PlayerInfo[playerid][pCash] < 500)
  60714. {
  60715. return SendClientMessage(playerid, COLOR_GREY, "You don't have enough cash to buy a vest.");
  60716. }
  60717. SetPlayerArmourEx(playerid, 100);
  60718. GivePlayerCash(playerid, -500);
  60719. }
  60720. if(listitem == 2)
  60721. {
  60722. GivePlayerValidWeapon(playerid, 8, 99999);
  60723. }
  60724. if(listitem == 3)
  60725. {
  60726. if(PlayerInfo[playerid][pCash] < 200)
  60727. {
  60728. return SendClientMessage(playerid, COLOR_GREY, "You don't have enough cash to buy this weapon.");
  60729. }
  60730. GivePlayerValidWeapon(playerid, 22, 99999);
  60731. GivePlayerCash(playerid, -200);
  60732. }
  60733. if(listitem == 4)
  60734. {
  60735. if(PlayerInfo[playerid][pCash] < 200)
  60736. {
  60737. return SendClientMessage(playerid, COLOR_GREY, "You don't have enough cash to buy this weapon.");
  60738. }
  60739. GivePlayerValidWeapon(playerid, 23, 99999);
  60740. GivePlayerCash(playerid, -200);
  60741. }
  60742. if(listitem == 5)
  60743. {
  60744. if(PlayerInfo[playerid][pCash] < 1000)
  60745. {
  60746. return SendClientMessage(playerid, COLOR_GREY, "You don't have enough cash to buy this weapon.");
  60747. }
  60748. GivePlayerValidWeapon(playerid, 24, 99999);
  60749. GivePlayerCash(playerid, -1000);
  60750. }
  60751. if(listitem == 6)
  60752. {
  60753. if(PlayerInfo[playerid][pCash] < 2000)
  60754. {
  60755. return SendClientMessage(playerid, COLOR_GREY, "You don't have enough cash to buy this weapon.");
  60756. }
  60757. GivePlayerValidWeapon(playerid, 27, 99999);
  60758. GivePlayerCash(playerid, -2000);
  60759. }
  60760. if(listitem == 7)
  60761. {
  60762. if(PlayerInfo[playerid][pCash] < 2500)
  60763. {
  60764. return SendClientMessage(playerid, COLOR_GREY, "You don't have enough cash to buy this weapon.");
  60765. }
  60766. GivePlayerValidWeapon(playerid, 34, 99999);
  60767. GivePlayerCash(playerid, -2500);
  60768. }
  60769. if(listitem == 8)
  60770. {
  60771. if(PlayerInfo[playerid][pCash] < 1000)
  60772. {
  60773. return SendClientMessage(playerid, COLOR_GREY, "You don't have enough cash to buy this weapon.");
  60774. }
  60775. GivePlayerValidWeapon(playerid, 31, 99999);
  60776. GivePlayerCash(playerid, -1000);
  60777. }
  60778. if(listitem == 9)
  60779. {
  60780. if(PlayerInfo[playerid][pCash] < 700)
  60781. {
  60782. return SendClientMessage(playerid, COLOR_GREY, "You don't have enough cash to buy this weapon.");
  60783. }
  60784. GivePlayerValidWeapon(playerid, 29, 99999);
  60785. GivePlayerCash(playerid, -700);
  60786. }
  60787. if(listitem == 10)
  60788. {
  60789. if(PlayerInfo[playerid][pCash] < 500)
  60790. {
  60791. return SendClientMessage(playerid, COLOR_GREY, "You don't have enough cash to buy this weapon.");
  60792. }
  60793. GivePlayerValidWeapon(playerid, 25, 99999);
  60794. GivePlayerCash(playerid, -500);
  60795. }
  60796. }
  60797. }
  60798. if(dialogid == 5217)
  60799. {
  60800. if(response)
  60801. {
  60802. if(strlen(inputtext) >= 1)
  60803. {
  60804. new id = PlayerInfo[playerid][pBizID];
  60805. format(BusinessInfo[id][bIT], 128, "%s", inputtext);
  60806. }
  60807. else SCM(playerid, COLOR_GREY, "Name must be atleast 1 characters.");
  60808. }
  60809. }
  60810. if(dialogid == BLACKMARKET)
  60811. {
  60812. if(response)
  60813. {
  60814. if(listitem == 0)
  60815. {
  60816. if(GetPlayerCash(playerid) >= 1000)
  60817. {
  60818. GivePlayerValidWeapon(playerid, 24, 60000);
  60819. GivePlayerCash(playerid, -1000);
  60820. SCM(playerid, -1, "{AAC5E3}[DONATOR WEAPON]{FFFFFF}You have bought a deagle for $1,000.");
  60821. }
  60822. else return SCM(playerid, -1, "You don't have cash.");
  60823. }
  60824. else if(listitem == 1)
  60825. {
  60826. if(GetPlayerCash(playerid) >= 2750)
  60827. {
  60828. GivePlayerValidWeapon(playerid, 27, 60000);
  60829. GivePlayerCash(playerid, -2750);
  60830. SCM(playerid, -1, "{AAC5E3}[DONATOR WEAPON]{FFFFFF}You have bought a SPAS-12 for $2,750.");
  60831. }
  60832. else return SCM(playerid, -1, "You don't have cash.");
  60833. }
  60834. else if(listitem == 2)
  60835. {
  60836. if(GetPlayerCash(playerid) >= 1750)
  60837. {
  60838. GivePlayerValidWeapon(playerid, 31, 60000);
  60839. GivePlayerCash(playerid, -1750);
  60840. SCM(playerid, -1, "{AAC5E3}[DONATOR WEAPON]{FFFFFF}You have bought a M4 for $1,750.");
  60841. }
  60842. else return SCM(playerid, -1, "You don't have cash.");
  60843. }
  60844. else if(listitem == 3)
  60845. {
  60846. if(GetPlayerCash(playerid) >= 350)
  60847. {
  60848. SetPlayerArmourEx(playerid, 100);
  60849. GivePlayerCash(playerid, -350);
  60850. SCM(playerid, -1, "{AAC5E3}[DONATOR ARMOR]{FFFFFF}You have bought a Kevlar Vest for $350.");
  60851. }
  60852. else return SCM(playerid, -1, "You don't have cash.");
  60853. }
  60854. else if(listitem == 4)
  60855. {
  60856. if(GetPlayerCash(playerid) >= 250)
  60857. {
  60858. SetPlayerHealth(playerid, 100);
  60859. GivePlayerCash(playerid, -250);
  60860. SCM(playerid, -1, "{AAC5E3}[DONATOR HEALTH]{FFFFFF}You have bought a First aid kit for $250.");
  60861. }
  60862. else return SCM(playerid, -1, "You don't have cash.");
  60863. }
  60864. else if(listitem == 5)
  60865. {
  60866. if(GetPlayerCash(playerid) >= 3250)
  60867. {
  60868. GivePlayerValidWeapon(playerid, 34, 60000);
  60869. GivePlayerCash(playerid, -3250);
  60870. SCM(playerid, -1, "{AAC5E3}[DONATOR WEAPON]{FFFFFF}You have bought a Sniper for $3,250.");
  60871. }
  60872. else return SCM(playerid, -1, "You don't have cash.");
  60873. }
  60874. else if(listitem == 6)
  60875. {
  60876. if(GetPlayerCash(playerid) >= 8750)
  60877. {
  60878. GivePlayerValidWeapon(playerid, 24, 60000);
  60879. GivePlayerValidWeapon(playerid, 27, 60000);
  60880. GivePlayerValidWeapon(playerid, 31, 60000);
  60881. GivePlayerValidWeapon(playerid, 34, 60000);
  60882. GivePlayerCash(playerid, -8750);
  60883. SCM(playerid, -1, "{AAC5E3}[DONATOR WEAPON]{FFFFFF}You have bought a Full Set Weapon for $8,750.");
  60884. }
  60885. else return SCM(playerid, -1, "You don't have cash.");
  60886. }
  60887. }
  60888. }
  60889. if(dialogid == DIALOG_NEWBWELCOME)
  60890. {
  60891. if(response)
  60892. {
  60893. new szMessage[128];
  60894. SendClientMessage(playerid, COLOR_WHITE, "Your help request has been submitted to the team of helpers.");
  60895. format(szMessage, sizeof(szMessage), "HelpCmd: %s [%d] has just sent a request for tour in LS", GetPlayerNameEx(playerid), playerid);
  60896. HelperBroadcast(COLOR_LIGHTBLUE, szMessage, 1);
  60897. }
  60898. }
  60899. if(dialogid == DIALOG_INTERIOR_MENU) {//Interiors
  60900. if(response) {
  60901. new arrayid = listitem;
  60902. SetPlayerPos(playerid, InteriorDialogData[arrayid][0], InteriorDialogData[arrayid][1], InteriorDialogData[arrayid][2]);
  60903. SetPlayerInterior(playerid, InteriorDialogInteriors[arrayid][0]);
  60904. SetPlayerFacingAngle(playerid, InteriorDialogData[arrayid][3]);
  60905. format(string, sizeof(string), "[INTERIOR:] You teleported to interior ' %s '.", InteriorDialogNames[arrayid][0]);
  60906. SendClientMessage(playerid, 0xADD8E6FF, string);
  60907. }
  60908. else{
  60909. //The player has pressed "Close".
  60910. SendClientMessage(playerid, COLOR_RED, "You have closed the Interior Teleport Dialog.");
  60911. }
  60912. return 0;
  60913. }
  60914. if(dialogid == MAINMENU || dialogid == MAINMENU2)
  60915. {
  60916. if(dialogid == MAINMENU)
  60917. {
  60918. if(response == 0)
  60919. {
  60920. SendClientMessage(playerid, COLOR_NEWS, "You have been kicked out automatically.");
  60921. SendClientMessage(playerid, COLOR_LIGHTRED, "Server closed the Connection.");
  60922. //KillTimer(GetPVarInt(playerid, "MenuTimer"));
  60923. Kick(playerid);
  60924. }
  60925. else
  60926. {
  60927. if(strlen(inputtext))
  60928. {
  60929. new passbuffer[129], name[MAX_PLAYER_NAME];
  60930. GetPlayerName(playerid, name, sizeof(name));
  60931. WP_Hash(passbuffer, sizeof(passbuffer), inputtext);
  60932. //SetTimerEx("MenuCamFix", 1000, false, "i", playerid);
  60933. //KillTimer(GetPVarInt(playerid, "MenuTimer"));
  60934. strcpy(AdminRelogPassword[playerid], passbuffer, 129);
  60935. OnPlayerLogin(playerid, passbuffer);
  60936. }
  60937. else
  60938. {
  60939. new titlestring[64], dstring[512];
  60940. format(titlestring, sizeof(titlestring), "{FFA500}Login");
  60941. format(dstring, sizeof(dstring), "{FFFFFF}Wrong password.\n\n{FFFFFF}That username is registered, please enter your password below.\n\n{FFA500}Username: {FFFFFF}%s\n\n {FFA500}Password:", GetPlayerNameEx(playerid));
  60942. ShowPlayerDialogEx(playerid,MAINMENU,DIALOG_STYLE_PASSWORD,titlestring,dstring,"Login","Quit");
  60943. if(gPlayerLogTries[playerid] == 2) { SendClientMessage(playerid, COLOR_NEWS, "Wrong password, you have been kicked out automatically."); Kick(playerid); }
  60944. }
  60945. }
  60946. }
  60947. if(dialogid == MAINMENU2)
  60948. {
  60949. if(response == 0)
  60950. {
  60951. SendClientMessage(playerid, COLOR_NEWS, "You have been kicked out automatically.");
  60952. SendClientMessage(playerid, COLOR_LIGHTRED, "Server closed the Connection.");
  60953. //KillTimer(GetPVarInt(playerid, "MenuTimer"));
  60954. Kick(playerid);
  60955. }
  60956. else if(strlen(inputtext))
  60957. {
  60958. GetPlayerName(playerid, sendername, sizeof(sendername));
  60959. if(doesAccountExist(sendername))
  60960. {
  60961. SendClientMessage(playerid, COLOR_YELLOW, "That username is already taken, please choose a different one.");
  60962. return 1;
  60963. }
  60964. new passbuffer[129];
  60965. WP_Hash(passbuffer, sizeof(passbuffer), inputtext);
  60966. //SetTimerEx("MenuCamFix", 1000, false, "i", playerid);
  60967. //KillTimer(GetPVarInt(playerid, "MenuTimer"));
  60968. OnPlayerRegister(playerid,passbuffer);
  60969. }
  60970. }
  60971. }
  60972. else if(dialogid == REGISTRATION_MENU_ONE)
  60973. {
  60974. if(response)
  60975. {
  60976. PlayerInfo[playerid][pSex] = 1;
  60977. }
  60978. else
  60979. {
  60980. PlayerInfo[playerid][pSex] = 2;
  60981. }
  60982. ShowPlayerDialogEx(playerid, REGISTRATION_MENU_TWO, DIALOG_STYLE_INPUT, "{FFA500}Registration", "{FFFFFF}What do you want your character's age to be?\n\nNote: The age must be no lower than 18 and no higher than 90.", "Done", "");
  60983. }
  60984. else if(dialogid == REGISTRATION_MENU_TWO)
  60985. {
  60986. if(!IsNumeric(inputtext))
  60987. {
  60988. ShowPlayerDialogEx(playerid, REGISTRATION_MENU_TWO, DIALOG_STYLE_INPUT, "{FFA500}Registration", "{FFFFFF}ENTRY DECLINED: You must enter a number!\n\nWhat do you want your character's age to be?\n\nNote: The age must be no lower than 18 and no higher than 90.", "Done", "");
  60989. return 1;
  60990. }
  60991. new age = strval(inputtext);
  60992. if(age < 18 || age > 90)
  60993. {
  60994. ShowPlayerDialogEx(playerid, REGISTRATION_MENU_TWO, DIALOG_STYLE_INPUT, "{FFA500}Registration", "{FFFFFF}ENTRY DECLINED: The age can only be from 18 to 90!\n\nWhat do you want your character's age to be?\n\nNote: The age must be no lower than 18 and no higher than 90.", "Done", "");
  60995. return 1;
  60996. }
  60997. PlayerInfo[playerid][pAge] = age;
  60998. SetPlayerVirtualWorld(playerid, 0);
  60999. ShowPlayerDialogEx(playerid, REGISTRATION_MENU_THREE, DIALOG_STYLE_MSGBOX, "{FFA500}Registration", "{FFFFFF}Have you been referred here by one of our players?", "Yes", "No");
  61000. }
  61001. if(dialogid == FINDDEALERSHIPMENU)
  61002. {
  61003. if(response)
  61004. {
  61005. new
  61006. szMessage[128];
  61007. SetPlayerCheckpoint(playerid, CarDealershipInfo[listitem][cdEntranceX], CarDealershipInfo[listitem][cdEntranceY], CarDealershipInfo[listitem][cdEntranceZ], 3);
  61008. format(szMessage, sizeof(szMessage), "You have selected %s. Go to the red checkpoint on your radar/map.", CarDealershipInfo[listitem][cdMessage]);
  61009. SendClientMessage(playerid, COLOR_WHITE, szMessage);
  61010. FindingDealership[playerid] = 1;
  61011. }
  61012. }
  61013. if(dialogid == DIALOG_VEHICLE_REFUND)
  61014. {
  61015. if(!IsNumeric(inputtext))
  61016. {
  61017. ShowPlayerDialogEx(playerid, DIALOG_VEHICLE_REFUND, DIALOG_STYLE_INPUT, "{FFA500} Sleepless Roleplay - Vehicle Refund", "{FFFFFF}ENTRY DECLINED: You must enter a number!\n\nWhat Vehicle do you want? Please put especific Vehicle ID\n\nNote:You cannot put a vehicle ID that is restricted vehicles.", "Done", "");
  61018. return 1;
  61019. }
  61020. new modelid;
  61021. modelid = strval(inputtext);
  61022. if(IsARestricted(modelid))
  61023. {
  61024. ShowPlayerDialogEx(playerid, DIALOG_VEHICLE_REFUND, DIALOG_STYLE_INPUT, "{FFA500} Sleepless Roleplay - Vehicle Refund", "{FFFFFF}ENTRY DECLINED: I Told you, you cannot put vehicle id that are Restricted Vehicles", "Done", "");
  61025. return 1;
  61026. }
  61027. if(modelid < 400 || modelid > 611)
  61028. {
  61029. ShowPlayerDialogEx(playerid, DIALOG_VEHICLE_REFUND, DIALOG_STYLE_INPUT, "{FFA500} Sleepless Roleplay - Vehicle Refund", "{FFFFFF}ENTRY DECLINED: Vehicle id must not be lower than 400 or higher than 611!", "Done", "");
  61030. return 1;
  61031. }
  61032. new playervehicleid = GetPlayerFreeVehicleId(playerid);
  61033. new Float:X,Float:Y,Float:Z;
  61034. GetPlayerPos(playerid,X,Y,Z);
  61035. new Float:Angle;
  61036. GetPlayerFacingAngle(playerid,Angle);
  61037. new car = CreatePlayerVehicle(playerid, playervehicleid, modelid, X, Y, Z, Angle, 0, 0, 0);
  61038. format(string, sizeof(string), " Vehicle successfully created with ID %d.", car);
  61039. SendClientMessage(playerid, COLOR_GRAD1, string);
  61040. VehicleSpawned[playerid] = 1;
  61041. //SendClientMessage(playerid, COLOR_WHITE, " You have been refund (Auto Refund) /stats for more info");
  61042. //format(string, sizeof(string), "%s has successfully get his free car %s ", GetPlayerNameEx(playerid), GetVehicleName(car));
  61043. //AddAutomatedFlag(playerid, string);
  61044. }
  61045. if(dialogid == FINDCARTUNINGMENU)
  61046. {
  61047. if(response) {
  61048. switch(listitem) {
  61049. case 0: {
  61050. SetPlayerCheckpoint(playerid, -1935.7700, 228.7900, 34.1563, 3);
  61051. SendClientMessage(playerid, COLOR_WHITE, "You have selected TransFender in San Fierro. Go to the red checkpoint on your radar/map.");
  61052. FindingDealership[playerid] = 1; // Using this because it's pointless to make another variable.
  61053. } case 1: {
  61054. SetPlayerCheckpoint(playerid, -2707.4482, 218.9819, 4.1797, 3);
  61055. SendClientMessage(playerid, COLOR_WHITE, "You have selected Wheel Arch Angels in San Fierro. Go to the red checkpoint on your radar/map.");
  61056. FindingDealership[playerid] = 1; // Using this because it's pointless to make another variable.
  61057. } case 2: {
  61058. SetPlayerCheckpoint(playerid, 2645.6418, -2028.8173, 13.5469, 3);
  61059. SendClientMessage(playerid, COLOR_WHITE, "You have selected LowRider Tuning Garage in Los Santos. Go to the red checkpoint on your radar/map.");
  61060. FindingDealership[playerid] = 1; // Using this because it's pointless to make another variable.
  61061. } case 3: {
  61062. SetPlayerCheckpoint(playerid, 1041.2914, -1036.4375, 31.7365, 3);
  61063. SendClientMessage(playerid, COLOR_WHITE, "You have selected TransFender in Los Santos. Go to the red checkpoint on your radar/map.");
  61064. FindingDealership[playerid] = 1; // Using this because it's pointless to make another variable.
  61065. } case 4: {
  61066. SetPlayerCheckpoint(playerid, 2387.5823, 1036.0345, 10.8203, 3);
  61067. SendClientMessage(playerid, COLOR_WHITE, "You have selected TransFender in Las Venturas. Go to the red checkpoint on your radar/map.");
  61068. FindingDealership[playerid] = 1; // Using this because it's pointless to make another variable.
  61069. }
  61070. }
  61071. }
  61072. }
  61073. else if(dialogid == 3652) {
  61074. if(!response)
  61075. return 1;
  61076. switch(listitem) {
  61077. case 0: {
  61078. // Paintball is static right now; I may change this in the future. Each arena has its own static ID, DM goes from 1-3, TDM goes from 4-6
  61079. ShowPlayerDialogEx(playerid, 3653, DIALOG_STYLE_LIST, "Paintball - DM", "LV Warehouse\nRandom Warehouse\nRC Battlefield\nDeath Arena\nBlast DM Arena", "Go", "Cancel");
  61080. }
  61081. case 1: {
  61082. // Paintball is static right now; I may change this in the future. Each arena has its own static ID, DM goes from 1-3, TDM goes from 4-6
  61083. ShowPlayerDialogEx(playerid, 3654, DIALOG_STYLE_LIST, "Paintball - TDM", "LV Warehouse\nRandom Warehouse\nRC Battlefield\nBlast Arena", "Go", "Cancel");
  61084. }
  61085. case 2: {
  61086. new
  61087. iPlayer = INVALID_PLAYER_ID;
  61088. foreach(Player, i) {
  61089. if(GetPVarInt(i, "PBM") > 0) {
  61090. iPlayer = i; // always going to get the highest ID because Y_Less never added a 'break;' for foreach ~_~ ...or didn't document it
  61091. }
  61092. }
  61093. if(iPlayer == INVALID_PLAYER_ID)
  61094. return SendClientMessage(playerid, COLOR_GREY, "Sorry, there's no players in any games right now.");
  61095. JoinPaintballGame(playerid, GetPVarInt(iPlayer, "PBM"));
  61096. }
  61097. }
  61098. }
  61099. else if(dialogid == DIALOG_SAN_CLOTHES) {
  61100. switch(listitem) {
  61101. case 0: {
  61102. PlayerInfo[playerid][pSkin] = 113;
  61103. SetPlayerSkin(playerid, 113);
  61104. }
  61105. case 1: {
  61106. PlayerInfo[playerid][pSkin] = 148;
  61107. SetPlayerSkin(playerid, 148);
  61108. }
  61109. }
  61110. return 1;
  61111. }
  61112. else if(dialogid == 3653) {
  61113. if(!response)
  61114. return 1;
  61115. SendClientMessage(playerid, COLOR_WHITE, "You're preparing to play a game of deathmatch paintball.");
  61116. SendClientMessage(playerid, COLOR_GREY, "The objective is to kill as many players as you can.");
  61117. switch(listitem) {
  61118. case 0: JoinPaintballGame(playerid, 1);
  61119. case 1: JoinPaintballGame(playerid, 2);
  61120. case 2: JoinPaintballGame(playerid, 3);
  61121. case 3: JoinPaintballGame(playerid, 7);
  61122. case 4: JoinPaintballGame(playerid, 9);
  61123. }
  61124. }
  61125. else if(dialogid == 3654) {
  61126. if(!response)
  61127. return 1;
  61128. SendClientMessage(playerid, COLOR_WHITE, "You're preparing to play a game of *team* deathmatch paintball.");
  61129. SendClientMessage(playerid, COLOR_GREY, "The objective is to kill as many enemies as you can, as a team.");
  61130. switch(listitem) {
  61131. case 0: JoinPaintballGame(playerid, 4);
  61132. case 1: JoinPaintballGame(playerid, 5);
  61133. case 2: JoinPaintballGame(playerid, 6);
  61134. case 3: JoinPaintballGame(playerid, 8);
  61135. }
  61136. }
  61137. #if defined TREASURE_HUNT_ENABLED
  61138. if(dialogid == DIALOG_HUNT_PRIZE) {
  61139. if(!response) {
  61140. SetRandomHuntPos();
  61141. DeletePVar(playerid, "fT");
  61142. return 1;
  61143. }
  61144. switch(listitem) {
  61145. case 0: {
  61146. PlayerInfo[playerid][pPot] += 20;
  61147. PlayerInfo[playerid][pCrack] += 10;
  61148. format(string, sizeof(string), "%s has selected 20 pot and 10 crack as their prize.", GetPlayerNameEx(playerid));
  61149. Log("logs/treasurehunt.log", string);
  61150. SendClientMessage(playerid, COLOR_WHITE, "You have chosen 20 crack, 10 pot. Congratulations, well deserved!");
  61151. }
  61152. case 1: {
  61153. PlayerInfo[playerid][pMats] += 2000;
  61154. format(string, sizeof(string), "%s has selected 2,000 materials as their prize.", GetPlayerNameEx(playerid));
  61155. Log("logs/treasurehunt.log", string);
  61156. SendClientMessage(playerid, COLOR_WHITE, "You have chosen 2,000 materials. Congratulations, well deserved!");
  61157. }
  61158. case 2: {
  61159. GivePlayerValidWeapon(playerid, 24, 50000);
  61160. format(string, sizeof(string), "%s has selected a Desert Eagle as their prize.", GetPlayerNameEx(playerid));
  61161. Log("logs/treasurehunt.log", string);
  61162. SendClientMessage(playerid, COLOR_WHITE, "You have chosen a Desert Eagle. Congratulations, well deserved!");
  61163. }
  61164. case 3: {
  61165. PlayerInfo[playerid][pRespect] += 1;
  61166. format(string, sizeof(string), "%s has selected 1 respect point as their prize.", GetPlayerNameEx(playerid));
  61167. Log("logs/treasurehunt.log", string);
  61168. SendClientMessage(playerid, COLOR_WHITE, "You have chosen 1 respect point. Congratulations, well deserved!");
  61169. }
  61170. }
  61171. SetRandomHuntPos();
  61172. DeletePVar(playerid, "fT");
  61173. return 1;
  61174. }
  61175. else if(dialogid == DIALOG_HUNT_QUESTION) {
  61176. if(!response) {
  61177. SetRandomHuntPos();
  61178. DeletePVar(playerid, "fT");
  61179. return 1;
  61180. }
  61181. switch(GetPVarInt(playerid, "HuntQ")) {
  61182. case 0: {
  61183. if(listitem == 2) {
  61184. PrizeMenu(playerid);
  61185. } else {
  61186. SetRandomHuntPos();
  61187. SendClientMessage(playerid, COLOR_GREY, "You provided an incorrect answer. The treasure has been moved! Better luck next time.");
  61188. DeletePVar(playerid, "fT");
  61189. }
  61190. }
  61191. case 1: {
  61192. if(listitem == 0) {
  61193. PrizeMenu(playerid);
  61194. } else {
  61195. SetRandomHuntPos();
  61196. SendClientMessage(playerid, COLOR_GREY, "You provided an incorrect answer. The treasure has been moved! Better luck next time.");
  61197. DeletePVar(playerid, "fT");
  61198. }
  61199. }
  61200. case 2: {
  61201. if(listitem == 2) {
  61202. PrizeMenu(playerid);
  61203. } else {
  61204. SetRandomHuntPos();
  61205. SendClientMessage(playerid, COLOR_GREY, "You provided an incorrect answer. The treasure has been moved! Better luck next time.");
  61206. DeletePVar(playerid, "fT");
  61207. }
  61208. }
  61209. case 3: {
  61210. if(listitem == 1) {
  61211. PrizeMenu(playerid);
  61212. } else {
  61213. SetRandomHuntPos();
  61214. SendClientMessage(playerid, COLOR_GREY, "You provided an incorrect answer. The treasure has been moved! Better luck next time.");
  61215. DeletePVar(playerid, "fT");
  61216. }
  61217. }
  61218. case 4: {
  61219. if(listitem == 2) {
  61220. PrizeMenu(playerid);
  61221. } else {
  61222. SetRandomHuntPos();
  61223. SendClientMessage(playerid, COLOR_GREY, "You provided an incorrect answer. The treasure has been moved! Better luck next time.");
  61224. DeletePVar(playerid, "fT");
  61225. }
  61226. }
  61227. case 5: {
  61228. if(listitem == 1) {
  61229. PrizeMenu(playerid);
  61230. } else {
  61231. SetRandomHuntPos();
  61232. SendClientMessage(playerid, COLOR_GREY, "You provided an incorrect answer. The treasure has been moved! Better luck next time.");
  61233. DeletePVar(playerid, "fT");
  61234. }
  61235. }
  61236. case 6: { // 0
  61237. if(listitem == 0) {
  61238. PrizeMenu(playerid);
  61239. } else {
  61240. SetRandomHuntPos();
  61241. SendClientMessage(playerid, COLOR_GREY, "You provided an incorrect answer. The treasure has been moved! Better luck next time.");
  61242. DeletePVar(playerid, "fT");
  61243. }
  61244. }
  61245. case 7: { // 2
  61246. if(listitem == 2) {
  61247. PrizeMenu(playerid);
  61248. } else {
  61249. SetRandomHuntPos();
  61250. SendClientMessage(playerid, COLOR_GREY, "You provided an incorrect answer. The treasure has been moved! Better luck next time.");
  61251. DeletePVar(playerid, "fT");
  61252. }
  61253. }
  61254. case 8: { // 0
  61255. if(listitem == 0) {
  61256. PrizeMenu(playerid);
  61257. } else {
  61258. SetRandomHuntPos();
  61259. SendClientMessage(playerid, COLOR_GREY, "You provided an incorrect answer. The treasure has been moved! Better luck next time.");
  61260. DeletePVar(playerid, "fT");
  61261. }
  61262. }
  61263. case 9: { // 1
  61264. if(listitem == 1) {
  61265. PrizeMenu(playerid);
  61266. } else {
  61267. SetRandomHuntPos();
  61268. SendClientMessage(playerid, COLOR_GREY, "You provided an incorrect answer. The treasure has been moved! Better luck next time.");
  61269. DeletePVar(playerid, "fT");
  61270. }
  61271. }
  61272. }
  61273. }
  61274. #endif
  61275. if(dialogid == REGISTRATION_MENU_THREE)
  61276. {
  61277. if(response)
  61278. {
  61279. ShowPlayerDialogEx(playerid, REGISTRATION_MENU_FOUR, DIALOG_STYLE_INPUT, "{FFA500}Registration", "{FFFFFF}What is the name of the player that referred you?\n\nNote: It must be the full player name with underscore ('_'). For example: John_Smith", "Done", "Cancel");
  61280. }
  61281. else
  61282. {
  61283. HideMainMenuGUI(playerid);
  61284. PlayerPlaySound(playerid,SOUND_OFF,2050.1995, 1344.5500, 13.2378); //Music Off
  61285. SetPlayerPos(playerid, 2212.61, -1730.57, -80.0);
  61286. SetPlayerCameraPos(playerid, 2208.67, -1733.71, 27.48);
  61287. SetPlayerCameraLookAt(playerid, 2225.25, -1723.1, 13.56);
  61288. TogglePlayerControllable(playerid, false);
  61289. SetPVarInt(playerid, "IsFrozen", 1);
  61290. for(new t = 0; t < 11; t++)
  61291. {
  61292. TextDrawShowForPlayer(playerid, TutTxtDraw[t]);
  61293. }
  61294. TutorialProgress[playerid] = 1;
  61295. SetTimerEx("TutorialProgression", 14500, 0, "d", playerid);
  61296. }
  61297. }
  61298. else if(dialogid == REGISTRATION_MENU_FOUR)
  61299. {
  61300. if(response) {
  61301. if(IsNumeric(inputtext)) {
  61302. ShowPlayerDialogEx(playerid, REGISTRATION_MENU_FOUR, DIALOG_STYLE_INPUT, "{FFA500}Registration", "{FFFFFF}ENTRY DECLINED: The entry can't be a number.\n\nWhat is the name of the player that referred you?\n\nNote: It must be the full player name with underscore ('_'). For example: John_Smith", "Done", "Cancel");
  61303. return 1;
  61304. }
  61305. for(new i = 0; i < strlen(inputtext); i++) {
  61306. if(inputtext[i] == ' ') {
  61307. ShowPlayerDialogEx(playerid, REGISTRATION_MENU_FOUR, DIALOG_STYLE_INPUT, "{FFA500}Registration", "{FFFFFF}ENTRY DECLINED: Please use the '_'(underscore) instead of the ' '(space)\n\nWhat is the name of the player that referred you?\n\nNote: It must be the full player name with underscore ('_'). For example: John_Smith", "Done", "Cancel");
  61308. return 1;
  61309. }
  61310. }
  61311. if(strfind(inputtext, "_", true) == -1) {
  61312. ShowPlayerDialogEx(playerid, REGISTRATION_MENU_FOUR, DIALOG_STYLE_INPUT, "{FFA500}Registration", "{FFFFFF}ENTRY DECLINED: Please choose a name in the correct format: Firstname_Lastname.\n\nWhat is the name of the player that referred you?\n\nNote: It must be the full player name with underscore ('_'). For example: John_Smith", "Done", "Cancel");
  61313. return 1;
  61314. }
  61315. if(strlen(inputtext) > 20) {
  61316. ShowPlayerDialogEx(playerid, REGISTRATION_MENU_FOUR, DIALOG_STYLE_INPUT, "{FFA500}Registration", "{FFFFFF}ENTRY DECLINED: You can't select a name that's above 20 characters.\n\nWhat is the name of the player that referred you?\n\nNote: It must be the full player name with underscore ('_'). For example: John_Smith", "Done", "Cancel");
  61317. return 1;
  61318. }
  61319. if(!doesAccountExist(inputtext)) {
  61320. ShowPlayerDialogEx(playerid, REGISTRATION_MENU_FOUR, DIALOG_STYLE_INPUT, "{FFA500}Registration", "{FFFFFF}ENTRY DECLINED: There is no player registered by that name.\n\nWhat is the name of the player that referred you?\n\nNote: It must be the full player name with underscore ('_'). For example: John_Smith", "Done", "Cancel");
  61321. return 1;
  61322. }
  61323. format(PlayerInfo[playerid][pReferredBy], MAX_PLAYER_NAME, "%s", inputtext);
  61324. format(string, sizeof(string), "{FFFFFF}Are you sure you were referred by %s?", inputtext);
  61325. ShowPlayerDialogEx(playerid, REGISTRATION_MENU_FIVE, DIALOG_STYLE_MSGBOX, "{FFA500}Registration", string, "Yes", "No");
  61326. }
  61327. else
  61328. {
  61329. strcpy(PlayerInfo[playerid][pReferredBy], "0", 32);
  61330. HideMainMenuGUI(playerid);
  61331. PlayerPlaySound(playerid,SOUND_OFF,2050.1995, 1344.5500, 13.2378); //Music Off
  61332. SetPlayerPos(playerid, 2212.61, -1730.57, -80.0);
  61333. SetPlayerCameraPos(playerid, 2208.67, -1733.71, 27.48);
  61334. SetPlayerCameraLookAt(playerid, 2225.25, -1723.1, 13.56);
  61335. TogglePlayerControllable(playerid,0);
  61336. for(new t = 0; t < 11; t++)
  61337. {
  61338. TextDrawShowForPlayer(playerid, TutTxtDraw[t]);
  61339. }
  61340. TutorialProgress[playerid] = 1;
  61341. SetTimerEx("TutorialProgression", 14500, 0, "d", playerid);
  61342. }
  61343. }
  61344. else if(dialogid == REGISTRATION_MENU_FIVE)
  61345. {
  61346. if(response)
  61347. {
  61348. HideMainMenuGUI(playerid);
  61349. PlayerPlaySound(playerid,SOUND_OFF,2050.1995, 1344.5500, 13.2378); //Music Off
  61350. SetPlayerPos(playerid, 2212.61, -1730.57, -80.0);
  61351. SetPlayerCameraPos(playerid, 2208.67, -1733.71, 27.48);
  61352. SetPlayerCameraLookAt(playerid, 2225.25, -1723.1, 13.56);
  61353. TogglePlayerControllable(playerid,0);
  61354. for(new t = 0; t < 11; t++)
  61355. {
  61356. TextDrawShowForPlayer(playerid, TutTxtDraw[t]);
  61357. }
  61358. TutorialProgress[playerid] = 1;
  61359. SetTimerEx("TutorialProgression", 14500, 0, "d", playerid);
  61360. }
  61361. else
  61362. {
  61363. ShowPlayerDialogEx(playerid, REGISTRATION_MENU_FOUR, DIALOG_STYLE_INPUT, "{FFA500}Registration", "{FFFFFF}What is the name of the player that referred you?\n\nNote: It must be the full player name with underscore ('_'). For example: John_Smith", "Done", "Cancel");
  61364. }
  61365. }
  61366. else if(dialogid == 12768)
  61367. {
  61368. if(response)
  61369. {
  61370. ShowPlayerDialogEx(playerid,INFO_DIALOG,DIALOG_STYLE_MSGBOX,"Referral system information", "If you're offline while the new player reaches 8 playing hours, then you will still receive a referral token on your next login.\n\nYou can trade referral tokens for several items in the referral shop by typing /refshop\n\nIf you refer someone then you're advised not to change your name until the person you referred reaches 8 playing hours,\notherwise no referral tokens will be received.","Close","");
  61371. }
  61372. }
  61373. else if(dialogid == DIALOG_REFSHOP)
  61374. {
  61375. if(response)
  61376. {
  61377. if(listitem == 0)
  61378. {
  61379. if(PlayerInfo[playerid][pRefTokens] >= 1)
  61380. {
  61381. PlayerInfo[playerid][pRefTokens] -= 1;
  61382. PlayerInfo[playerid][pPot] += 50;
  61383. PlayerInfo[playerid][pCrack] += 25;
  61384. SendClientMessage(playerid, COLOR_YELLOW, "REFERRAL SYSTEM: You have traded 1 referral token for 50 grams of pot and 25 grams of crack.");
  61385. }
  61386. else return SendClientMessage(playerid, COLOR_WHITE, "You do not have enough referral tokens for that item.");
  61387. }
  61388. else if(listitem == 1)
  61389. {
  61390. if(PlayerInfo[playerid][pRefTokens] >= 1)
  61391. {
  61392. PlayerInfo[playerid][pRefTokens] -= 1;
  61393. PlayerInfo[playerid][pMats] += 2500;
  61394. SendClientMessage(playerid, COLOR_YELLOW, "REFERRAL SYSTEM: You have traded 1 referral token for 2,500 materials.");
  61395. }
  61396. else return SendClientMessage(playerid, COLOR_WHITE, "You do not have enough referral tokens for that item.");
  61397. }
  61398. else if(listitem == 2)
  61399. {
  61400. if(PlayerInfo[playerid][pRefTokens] >= 1)
  61401. {
  61402. PlayerInfo[playerid][pRefTokens] -= 1;
  61403. PlayerInfo[playerid][pRespect] += 4;
  61404. SendClientMessage(playerid, COLOR_YELLOW, "REFERRAL SYSTEM: You have traded 1 referral token for 4 respect points.");
  61405. }
  61406. else return SendClientMessage(playerid, COLOR_WHITE, "You do not have enough referral tokens for that item.");
  61407. }
  61408. else if(listitem == 3)
  61409. {
  61410. if(PlayerInfo[playerid][pRefTokens] >= 1)
  61411. {
  61412. if(PlayerInfo[playerid][pConnectTime] < 2) return SendClientMessage(playerid, COLOR_WHITE, "You can't get weapons when your weapons are still restricted.");
  61413. PlayerInfo[playerid][pRefTokens] -= 1;
  61414. GivePlayerValidWeapon(playerid, 24, 60000);
  61415. GivePlayerValidWeapon(playerid, 27, 60000);
  61416. SendClientMessage(playerid, COLOR_YELLOW, "REFERRAL SYSTEM: You have traded 1 referral token for a SPAS-12 & Desert Eagle.");
  61417. }
  61418. else return SendClientMessage(playerid, COLOR_WHITE, "You do not have enough referral tokens for that item.");
  61419. }
  61420. else if(listitem == 4)
  61421. {
  61422. if(PlayerInfo[playerid][pRefTokens] >= 2)
  61423. {
  61424. PlayerInfo[playerid][pRefTokens] -= 2;
  61425. PlayerInfo[playerid][pPot] += 100;
  61426. PlayerInfo[playerid][pCrack] += 50;
  61427. SendClientMessage(playerid, COLOR_YELLOW, "REFERRAL SYSTEM: You have traded 2 referral tokens for 100 grams of pot and 50 grams of crack.");
  61428. }
  61429. else return SendClientMessage(playerid, COLOR_WHITE, "You do not have enough referral tokens for that item.");
  61430. }
  61431. else if(listitem == 5)
  61432. {
  61433. if(PlayerInfo[playerid][pRefTokens] >= 2)
  61434. {
  61435. if(PlayerInfo[playerid][pConnectTime] < 2) return SendClientMessage(playerid, COLOR_WHITE, "You can't get weapons when your weapons are still restricted.");
  61436. PlayerInfo[playerid][pRefTokens] -= 2;
  61437. GivePlayerValidWeapon(playerid, 27, 60000);
  61438. GivePlayerValidWeapon(playerid, 24, 60000);
  61439. GivePlayerValidWeapon(playerid, 31, 60000);
  61440. GivePlayerValidWeapon(playerid, 34, 60000);
  61441. GivePlayerValidWeapon(playerid, 29, 60000);
  61442. SendClientMessage(playerid, COLOR_YELLOW, "REFERRAL SYSTEM: You have traded 2 referral tokens for a full weapon set.");
  61443. }
  61444. else return SendClientMessage(playerid, COLOR_WHITE, "You do not have enough referral tokens for that item.");
  61445. }
  61446. else if(listitem == 6)
  61447. {
  61448. if(PlayerInfo[playerid][pRefTokens] >= 2)
  61449. {
  61450. PlayerInfo[playerid][pRefTokens] -= 2;
  61451. PlayerInfo[playerid][pRespect] += 8;
  61452. SendClientMessage(playerid, COLOR_YELLOW, "REFERRAL SYSTEM: You have traded 2 referral tokens for 8 respect points.");
  61453. }
  61454. else return SendClientMessage(playerid, COLOR_WHITE, "You do not have enough referral tokens for that item.");
  61455. }
  61456. else if(listitem == 7)
  61457. {
  61458. if(PlayerInfo[playerid][pRefTokens] >= 2)
  61459. {
  61460. PlayerInfo[playerid][pRefTokens] -= 2;
  61461. PlayerInfo[playerid][pMats] += 5000;
  61462. SendClientMessage(playerid, COLOR_YELLOW, "REFERRAL SYSTEM: You have traded 2 referral tokens for 5,000 materials.");
  61463. }
  61464. else return SendClientMessage(playerid, COLOR_WHITE, "You do not have enough referral tokens for that item.");
  61465. }
  61466. else if(listitem == 8)
  61467. {
  61468. if(PlayerInfo[playerid][pRefTokens] >= 3)
  61469. {
  61470. PlayerInfo[playerid][pRefTokens] -= 3;
  61471. PlayerInfo[playerid][pRespect] += 12;
  61472. SendClientMessage(playerid, COLOR_YELLOW, "REFERRAL SYSTEM: You have traded 3 referral tokens for 12 respect points.");
  61473. }
  61474. else return SendClientMessage(playerid, COLOR_WHITE, "You do not have enough referral tokens for that item.");
  61475. }
  61476. else if(listitem == 9)
  61477. {
  61478. if(PlayerInfo[playerid][pRefTokens] >= 3)
  61479. {
  61480. PlayerInfo[playerid][pRefTokens] -= 3;
  61481. PlayerInfo[playerid][pMats] += 10000;
  61482. SendClientMessage(playerid, COLOR_YELLOW, "REFERRAL SYSTEM: You have traded 3 referral tokens for 10,000 materials.");
  61483. }
  61484. else return SendClientMessage(playerid, COLOR_WHITE, "You do not have enough referral tokens for that item.");
  61485. }
  61486. else if(listitem == 10)
  61487. {
  61488. if(PlayerInfo[playerid][pRefTokens] >= 4)
  61489. {
  61490. PlayerInfo[playerid][pRefTokens] -= 4;
  61491. PlayerInfo[playerid][pRespect] += 16;
  61492. SendClientMessage(playerid, COLOR_YELLOW, "REFERRAL SYSTEM: You have traded 4 referral tokens for 16 respect points.");
  61493. }
  61494. else return SendClientMessage(playerid, COLOR_WHITE, "You do not have enough referral tokens for that item.");
  61495. }
  61496. else if(listitem == 11)
  61497. {
  61498. if(PlayerInfo[playerid][pRefTokens] >= 4)
  61499. {
  61500. PlayerInfo[playerid][pRefTokens] -= 4;
  61501. PlayerInfo[playerid][pMats] += 15000;
  61502. SendClientMessage(playerid, COLOR_YELLOW, "REFERRAL SYSTEM: You have traded 4 referral tokens for 15,000 materials.");
  61503. }
  61504. else return SendClientMessage(playerid, COLOR_WHITE, "You do not have enough referral tokens for that item.");
  61505. }
  61506. else if(listitem == 12)
  61507. {
  61508. if(PlayerInfo[playerid][pRefTokens] >= 5)
  61509. {
  61510. PlayerInfo[playerid][pRefTokens] -= 5;
  61511. PlayerInfo[playerid][pRespect] += 20;
  61512. SendClientMessage(playerid, COLOR_YELLOW, "REFERRAL SYSTEM: You have traded 5 referral tokens for 20 respect points.");
  61513. }
  61514. else return SendClientMessage(playerid, COLOR_WHITE, "You do not have enough referral tokens for that item.");
  61515. }
  61516. else if(listitem == 13)
  61517. {
  61518. if(PlayerInfo[playerid][pRefTokens] >= 5)
  61519. {
  61520. PlayerInfo[playerid][pRefTokens] -= 5;
  61521. PlayerInfo[playerid][pMats] += 20000;
  61522. SendClientMessage(playerid, COLOR_YELLOW, "REFERRAL SYSTEM: You have traded 5 referral tokens for 20,000 materials.");
  61523. }
  61524. else return SendClientMessage(playerid, COLOR_WHITE, "You do not have enough referral tokens for that item.");
  61525. }
  61526. else if(listitem == 14)
  61527. {
  61528. if(PlayerInfo[playerid][pRefTokens] >= 10)
  61529. {
  61530. PlayerInfo[playerid][pRefTokens] -= 10;
  61531. new nxtlevel = PlayerInfo[playerid][pLevel]+1;
  61532. format(string, sizeof(string), "~g~LEVEL UP~n~~w~You're Now Level %d", nxtlevel);
  61533. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  61534. PlayerInfo[playerid][pLevel]++;
  61535. PlayerInfo[playerid][gPupgrade] = PlayerInfo[playerid][gPupgrade]+2;
  61536. GameTextForPlayer(playerid, string, 5000, 1);
  61537. SetPlayerScore(playerid, PlayerInfo[playerid][pLevel]);
  61538. SendClientMessage(playerid, COLOR_YELLOW, "REFERRAL SYSTEM: You have traded 10 referral tokens for a level up and 2 upgrade points (/upgrade).");
  61539. }
  61540. else return SendClientMessage(playerid, COLOR_WHITE, "You do not have enough referral tokens for that item.");
  61541. }
  61542. else if(listitem == 15)
  61543. {
  61544. if(PlayerInfo[playerid][pRefTokens] >= 10)
  61545. {
  61546. PlayerInfo[playerid][pRefTokens] -= 10;
  61547. new log[128];
  61548. format(log, sizeof(log), "%s traded 10 referral tokens and is now waiting for a vehicle.", GetPlayerNameEx(playerid));
  61549. Log("logs/referralcars.log", log);
  61550. format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s has just traded 10 referral tokens and is now waiting for a vehicle.", GetPlayerNameEx(playerid));
  61551. ABroadCast(COLOR_YELLOW, string, 4);
  61552. format(PlayerInfo[playerid][pFlag], 128, "Free Car (Only ones available at dealerships)");
  61553. SendClientMessage(playerid, COLOR_YELLOW, "REFERRAL SYSTEM: You have traded 10 referral tokens to receive a vehicle and have been automatically flagged to receive one.");
  61554. SendClientMessage(playerid, COLOR_YELLOW, "REFERRAL SYSTEM: This is a rare reward and may take up to 48 hours to be rewarded, contact a Level 4+ Admin.");
  61555. }
  61556. else return SendClientMessage(playerid, COLOR_WHITE, "You do not have enough referral tokens for that item.");
  61557. }
  61558. }
  61559. }
  61560. else if(dialogid == GOVLOCKERMENU) {
  61561. // Uniform then Equipment
  61562. if(!response)
  61563. return 1;
  61564. switch(listitem) {
  61565. case 0: ShowPlayerDialogEx(playerid, GOVSKINMENU, DIALOG_STYLE_LIST, "Government skin menu", "17 (black male in suit)\n57 (old asian male in suit)\n141 (young asian female suit)\n147 (middle aged white male)\n240 (young white male in vest)\n295 (toreno, older white male suit)", "OK", "Cancel");
  61566. case 1: ShowPlayerDialogEx(playerid, GOVEQUIPMENU, DIALOG_STYLE_LIST, "Government equipment menu", "First Aid Kit\nArmour Vest\nDesert Eagle\nMP5\nSPAS-12\nM4\nSniper Rifle\nAccessories", "OK", "Cancel");
  61567. }
  61568. }
  61569. else if(dialogid == GOVEQUIPMENU) {
  61570. if(!response)
  61571. return 1;
  61572. switch(listitem) {
  61573. case 0: SetPlayerHealth(playerid, 100);
  61574. case 1: SetPlayerArmourEx(playerid, 100);
  61575. case 2: GivePlayerValidWeapon(playerid, 24, 99999);
  61576. case 3: GivePlayerValidWeapon(playerid, 29, 99999);
  61577. case 4: GivePlayerValidWeapon(playerid, 27, 99999);
  61578. case 5: GivePlayerValidWeapon(playerid, 31, 99999);
  61579. case 6: GivePlayerValidWeapon(playerid, 34, 99999);
  61580. case 7: ShowPlayerDialogEx(playerid, BUYTOYSCOP, DIALOG_STYLE_MSGBOX, "Accessories", "Welcome to the law enforcement accessory locker!","Continue", "Cancel");
  61581. }
  61582. }
  61583. else if(dialogid == GOVSKINMENU) {
  61584. if(!response)
  61585. return 1;
  61586. switch(listitem) {
  61587. case 0: {
  61588. SetPlayerSkin(playerid, 17);
  61589. PlayerInfo[playerid][pSkin] = 17;
  61590. }
  61591. case 1: {
  61592. SetPlayerSkin(playerid, 57);
  61593. PlayerInfo[playerid][pSkin] = 57;
  61594. }
  61595. case 2: {
  61596. SetPlayerSkin(playerid, 141);
  61597. PlayerInfo[playerid][pSkin] = 141;
  61598. }
  61599. case 3: {
  61600. SetPlayerSkin(playerid, 147);
  61601. PlayerInfo[playerid][pSkin] = 147;
  61602. }
  61603. case 4: {
  61604. SetPlayerSkin(playerid, 240);
  61605. PlayerInfo[playerid][pSkin] = 240;
  61606. }
  61607. case 5: {
  61608. SetPlayerSkin(playerid, 295);
  61609. PlayerInfo[playerid][pSkin] = 295;
  61610. }
  61611. }
  61612. }
  61613. else if(dialogid == JOBHELPMENU)
  61614. {
  61615. if(response)
  61616. {
  61617. if(listitem == 0) //Detective
  61618. {
  61619. ShowPlayerDialogEx(playerid, DETECTIVEJOB, DIALOG_STYLE_MSGBOX, "Detective", "Information:\n\nThis job can be used to locate people anywhere around San Andreas.\nThis is helpful for the Government factions, and can be used to find criminals. It is a legal job and you can't get busted for doing it.\nIt will tell you the last known location(area) they were found in and give you a beacon.", "Next", "Cancel");
  61620. }
  61621. if(listitem == 1) // Lawyer
  61622. {
  61623. ShowPlayerDialogEx(playerid, LAWYERJOB, DIALOG_STYLE_MSGBOX, "Lawyer", "Information:\n\nThis job can be used to remove wanted stars, reduce jail time, and list all criminals.\nThis is helpful for criminals and crooks, it is a legal job and you can't get busted for doing it.\nIt will come in handy for your friends and families who got trouble with the cops.", "Next", "Cancel");
  61624. }
  61625. if(listitem == 2) //Whore
  61626. {
  61627. ShowPlayerDialogEx(playerid, WHOREJOB, DIALOG_STYLE_MSGBOX, "Whore", "Information:\n\nThis job can be used to bring pleasure to any clients who may be interested in having some fun.\nThis is a job that offers sex to every client who comes along.\nThis is an illegal job and you can get busted for doing it.", "Next", "Cancel");
  61628. }
  61629. if(listitem == 3) //Drug Dealer
  61630. {
  61631. ShowPlayerDialogEx(playerid, DRUGDEALERJOB, DIALOG_STYLE_MSGBOX, "Drug Dealer", "Information:\n\nThis job can be used to sell pot and crack to any customers you might find.\nIt often comes in handy, when you're a higher level at it.\nThe higher the level, the more drugs you can hold.\nThis is an illegal job and you can get busted for doing it.", "Next", "Cancel");
  61632. }
  61633. if(listitem == 4) //Mechanic
  61634. {
  61635. ShowPlayerDialogEx(playerid, MECHANICJOB, DIALOG_STYLE_MSGBOX, "Mechanic", "Information:\n\nThis job can be used to repair, add nos, and add hydraulics to vehicles.\nThis job can sometimes be rewarding, but often people do not require assistance.\nThis is a legal job and you can't get busted for doing it.", "Next", "Cancel");
  61636. }
  61637. if(listitem == 5) //Bodyguard
  61638. {
  61639. ShowPlayerDialogEx(playerid, BODYGUARDJOB, DIALOG_STYLE_MSGBOX, "Bodyguard", "Information:\n\nThis job can be used to give people half armor.\nThis job is very profitable and the common spot for purchasing off bodyguards is the gym.\nThis is a legal job and you can't get busted for doing it.", "Next", "Cancel");
  61640. }
  61641. if(listitem == 6) //Arms Dealer
  61642. {
  61643. ShowPlayerDialogEx(playerid, ARMSDEALERJOB, DIALOG_STYLE_MSGBOX, "Arms Dealer", "Information:\n\nThis job can be used to sell people weapons.\nThis job is very profitable and can earn you big cash at later levels.\nThis is an illegal job and you can get busted for doing it.", "Next", "Cancel");
  61644. }
  61645. if(listitem == 7) //Boxer
  61646. {
  61647. ShowPlayerDialogEx(playerid, BOXERJOB, DIALOG_STYLE_MSGBOX, "Boxer", "Information:\n\nThis job can be used to box people inside the Ganton Gym.\nThis job is not very money-making, but you can become the boxing champion.\nThis is a legal job and you can't get busted for doing it.", "Next", "Cancel");
  61648. }
  61649. if(listitem == 8) //Taxi Driver
  61650. {
  61651. ShowPlayerDialogEx(playerid, TAXIJOB, DIALOG_STYLE_MSGBOX, "Taxi Driver", "Information:\n\nThis job can be used to take passengers around the city for any price you desire($1 - $50 per 16 seconds).\nThis job is not very profitable as people do not usually call taxis, and sometimes they try to steal your taxi vehicle.\nThis is a legal job and you can't get busted for doing it.", "Next", "Cancel");
  61652. }
  61653. if(listitem == 9) //Drug Smuggling
  61654. {
  61655. ShowPlayerDialogEx(playerid, SMUGGLEJOB, DIALOG_STYLE_MSGBOX, "Drug Smuggling", "Information:\n\nThis job can be used to keep Crack and Pot filled in the Crack Lab.\nThis job is very profitable as people usually buy crack and pot, and sometimes they try to steal your pot and crack.\nThis is an ilegal job and you can get busted for doing it.", "Next", "Cancel");
  61656. }
  61657. if(listitem == 10) //Craftsman
  61658. {
  61659. ShowPlayerDialogEx(playerid, CRAFTJOB, DIALOG_STYLE_MSGBOX, "Craftsman", "Information:\nThis job can be used to sell crafts to other players.\nThis job is very profitable as people have a need for many of the things you can make.\nThis is a legal job and you can't get busted for doing it.\n\nCommands:\n/getmats /craft\nLocation of job: This job can be obtained in Willowfield at the junkyard, at the job icon (yellow I).", "Done", "Cancel");
  61660. }
  61661. if(listitem == 11) //Bartender
  61662. {
  61663. ShowPlayerDialogEx(playerid, BARTENDERJOB, DIALOG_STYLE_MSGBOX, "Bartender", "Information:\nThis job can be used to sell drinks to other players.\nThis is a legal job and you can't get busted for doing it.\n\nCommands:\n/selldrink\nLocation of job: This job can be obtained inside the Alhambra Club, at the job icon (yellow I).", "Done", "Cancel");
  61664. }
  61665. if(listitem == 12) //Trucker
  61666. {
  61667. ShowPlayerDialogEx(playerid, TRUCKERJOB, DIALOG_STYLE_MSGBOX, "Trucker","Information:\nThis job can be used to earn money by making truck deliveries\nThis is a legal job, however you can get busted if you transport illegal goods or hijack trucks.\n\nCommands:\n/loadtruck /checktruck /hijacktruck\nLocation of job: This job can be obtained at Ocean Docks, at the job icon (yellow I).", "Done", "Cancel");
  61668. }
  61669. if(listitem == 13) //Pizza Boy
  61670. {
  61671. ShowPlayerDialogEx(playerid, PIZZAJOB, DIALOG_STYLE_MSGBOX, "Pizza Boy","Information:\nThis job can be used to earn money by grabbing a pizza from the\n Idlewood Pizza Stack and then delivering it to different houses.\n You will get less and less money as time moves on and eventually,\n when the pizza is cold, it will be worthless.\n\nCommands:\n/getpizza\nLocation of job: This job can be obtained at the Idlewood Pizza Stack, at the job icon (yellow I).", "Done", "Cancel");
  61672. }
  61673. if(listitem == 14) //Street Sweeper
  61674. {
  61675. ShowPlayerDialogEx(playerid, SWEEPERJOB, DIALOG_STYLE_MSGBOX, "Street Sweeper","Information:\nSweep around Los Santos and from this job you will get $150 per minute.", "Done", "Cancel");
  61676. }
  61677. if(listitem == 15) //Miner
  61678. {
  61679. ShowPlayerDialogEx(playerid, MINERJOB, DIALOG_STYLE_MSGBOX, "Miner","Information:\nMine a good quality of rock to get money\nCommands: /mine, /killcheckpoint\nUse /findjob to locate this job.", "Done", "Cancel");
  61680. }
  61681. }
  61682. }
  61683. else if(dialogid == SMUGGLEJOB2)
  61684. {
  61685. if(response)
  61686. {
  61687. ShowPlayerDialogEx(playerid, SMUGGLEJOB3, DIALOG_STYLE_MSGBOX, "Drug Smuggling", "Commands:\n\n/getcrate [name(Pot/Crack)]\n\nLocation of job: This job can be obtained outside the Crack Lab, at the job icon (yellow I).", "Done", "Cancel");
  61688. }
  61689. }
  61690. else if(dialogid == SMUGGLEJOB)
  61691. {
  61692. if(response)
  61693. {
  61694. ShowPlayerDialogEx(playerid, SMUGGLEJOB2, DIALOG_STYLE_MSGBOX, "Drug Smuggling", "Note: There is no reload time for drug smuggling and you do need to level it up to obtain more money. There are 5 levels for this job.", "Next", "Cancel");
  61695. }
  61696. }
  61697. else if(dialogid == TAXIJOB)
  61698. {
  61699. if(response)
  61700. {
  61701. ShowPlayerDialogEx(playerid, TAXIJOB2, DIALOG_STYLE_MSGBOX, "Taxi Driver", "Note: There is no reload time for taxi fares and there are no levels for this job. In other words, you do not need to level it up to earn the max money you can.", "Next", "Cancel");
  61702. }
  61703. }
  61704. else if(dialogid == TAXIJOB2)
  61705. {
  61706. if(response)
  61707. {
  61708. ShowPlayerDialogEx(playerid, TAXIJOB3, DIALOG_STYLE_MSGBOX, "Taxi Driver", "Commands:\n\n/fare [$1 - $50]\n\nLocation of job: This job can be obtained in front of Unity Station at the job icon (yellow I).", "Done", "Cancel");
  61709. }
  61710. }
  61711. if(dialogid == BOXERJOB2)
  61712. {
  61713. if(response)
  61714. {
  61715. ShowPlayerDialogEx(playerid, BOXERJOB3, DIALOG_STYLE_MSGBOX, "Boxer", "Commands:\n\n/fight [PlayerID/Name], /boxstats\n\nLocation of job: This job can be obtained inside the Ganton Gym, at the job icon (yellow I).", "Done", "Cancel");
  61716. }
  61717. }
  61718. else if(dialogid == BOXERJOB)
  61719. {
  61720. if(response)
  61721. {
  61722. ShowPlayerDialogEx(playerid, BOXERJOB2, DIALOG_STYLE_MSGBOX, "Boxer", "Note: There is no reload time for boxing and you don't need to level it up to box people in the gym. There are 3 levels for this job.\n\nLevel 1: Beginner Boxer.\nLevel 2: Amateur Boxer.\nLevel 3: Professional Boxer.", "Next", "Cancel");
  61723. }
  61724. }
  61725. if(dialogid == ARMSDEALERJOB)
  61726. {
  61727. if(response)
  61728. {
  61729. ShowPlayerDialogEx(playerid, ARMSDEALERJOB2, DIALOG_STYLE_MSGBOX, "Arms Dealer", "Note: The reload time for selling guns is always 10 seconds, no matter what level.\n\nSkills:\n\nLevel 1 Weapons: Flowers, Knuckles, SDPistol, and Shotgun.\nLevel 2 Weapons: Baseball Bat, Cane, MP5, and Rifle.\nLevel 3 Weapons: Shovel and Deagle.\nLevel 4 Weapons: Poolcue, Golf Club, AK47, and M4.\nLevel 5 Weapons: Katana, Dildo, Sniper, and SPAS12.", "Next", "Cancel");
  61730. }
  61731. }
  61732. else if(dialogid == ARMSDEALERJOB2)
  61733. {
  61734. if(response)
  61735. {
  61736. ShowPlayerDialogEx(playerid, ARMSDEALERJOB3, DIALOG_STYLE_MSGBOX, "Arms Dealer", "Commands:\n\n/getmats, /sellgun\n\nLocation of job: This job can be obtained outside the large Ammunation, at the 'gun' icon.", "Done", "Cancel");
  61737. }
  61738. }
  61739. else if(dialogid == BODYGUARDJOB2)
  61740. {
  61741. if(response)
  61742. {
  61743. ShowPlayerDialogEx(playerid, BODYGUARDJOB3, DIALOG_STYLE_MSGBOX, "Bodyguard", "Commands:\n\n/guard [playerid/partofname] [Price $200 - $1000]\n\nLocation of job: This job can be obtained outside the Ganton Gym, at the job icon (yellow I).", "Done", "Cancel");
  61744. }
  61745. }
  61746. if(dialogid == BODYGUARDJOB)
  61747. {
  61748. if(response)
  61749. {
  61750. ShowPlayerDialogEx(playerid, BODYGUARDJOB2, DIALOG_STYLE_MSGBOX, "Bodyguard", "Note: The reload time is always 1 minute. There are no job levels for this job. In other words, you do not need to level it up to earn the max money you can.", "Next", "Cancel");
  61751. }
  61752. }
  61753. else if(dialogid == MECHANICJOB)
  61754. {
  61755. if(response)
  61756. {
  61757. ShowPlayerDialogEx(playerid, MECHANICJOB2, DIALOG_STYLE_MSGBOX, "Mechanic", "Note: The reload time is always 1 minute, no matter what level.", "Next", "Cancel");
  61758. }
  61759. }
  61760. else if(dialogid == MECHANICJOB2)
  61761. {
  61762. if(response)
  61763. {
  61764. ShowPlayerDialogEx(playerid, MECHANICJOB3, DIALOG_STYLE_MSGBOX, "Mechanic", "Commands:\n\n/fix, /repair, /hyd, /nos, /refill, /mechduty\n\nLocation of job: This job can be obtained at Ocean Docks, at the job icon (yellow circle).", "Done", "Cancel");
  61765. }
  61766. }
  61767. else if(dialogid == DRUGDEALERJOB)
  61768. {
  61769. if(response)
  61770. {
  61771. ShowPlayerDialogEx(playerid, DRUGDEALERJOB2, DIALOG_STYLE_MSGBOX, "Drug Dealer", "Note: The reload time is always 1 minute, no matter what level.\n\nSkills:\n\nLevel 1: You can hold 10 pot and 5 crack.\nLevel 2: You can hold 20 pot and 15 crack.\nLevel 3: You can hold 30 pot and 15 crack.\nLevel 4: You can hold 40 pot and 20 crack.\nLevel 5: You can hold 50 pot and 25 crack.", "Next", "Cancel");
  61772. }
  61773. }
  61774. else if(dialogid == DRUGDEALERJOB2)
  61775. {
  61776. if(response)
  61777. {
  61778. ShowPlayerDialogEx(playerid, DRUGDEALERJOB3, DIALOG_STYLE_MSGBOX, "Drug Dealer", "Commands:\n\n/sellpot, /getpot, /sellcrack, /getcrack\n\nLocation of job: This job can be located outside the Drug Den, opposite the Ganton Gym, at the 'D' icon.", "Done", "Cancel");
  61779. }
  61780. }
  61781. else if(dialogid == WHOREJOB2)
  61782. {
  61783. if(response)
  61784. {
  61785. ShowPlayerDialogEx(playerid, WHOREJOB3, DIALOG_STYLE_MSGBOX, "Whore", "Commands:\n\n/sex\n/sex is a command to offer sex to a client, and may only be used in a vehicle.\n\nLocation of job: This job can be obtained inside the Pig Pen, at the job icon (yellow circle).", "Done", "Cancel");
  61786. }
  61787. }
  61788. else if(dialogid == LAWYERJOB2)
  61789. {
  61790. if(response)
  61791. {
  61792. ShowPlayerDialogEx(playerid, LAWYERJOB3, DIALOG_STYLE_MSGBOX, "Lawyer", "Commands:\n\n/defend, /free, /wanted, /lawyerduty\n\nLocation of job: This job can be found at the job map icon (yellow I) near the bank.", "Done", "Cancel");
  61793. }
  61794. }
  61795. else if(dialogid == WHOREJOB)
  61796. {
  61797. if(response)
  61798. {
  61799. ShowPlayerDialogEx(playerid, WHOREJOB2, DIALOG_STYLE_MSGBOX, "Whore", "Note: The reload time is always 1 minute, no matter what level.\n\nSkills:\n\nLevel 1: You have a very high chance of catching/giving STD's.\nLevel 2: You have a high chance of catching/giving STD's.\nLevel 3: You have a medium chance of catching/giving STD's.\nLevel 4: You have a low chance of catching/giving STD's.\nLevel 5: You have a very low chance of catching/giving STD's.", "Next", "Cancel");
  61800. }
  61801. }
  61802. else if(dialogid == LAWYERJOB)
  61803. {
  61804. if(response)
  61805. {
  61806. ShowPlayerDialogEx(playerid, LAWYERJOB2, DIALOG_STYLE_MSGBOX, "Lawyer", "Note: The reload time will decrease as you level up.\n\nSkills:\n\nLevel 1: You can reduce inmates sentences by 1 minute.\nLevel 2: You can reduce inmates sentences by 2 minutes.\nLevel 3: You can reduce inmates sentences by 3 minutes.\nLevel 4: You can reduce inmates sentences by 4 minutes.\nLevel 5: You can reduce inmates sentences by 5 minutes.", "Next", "Cancel");
  61807. }
  61808. }
  61809. else if(dialogid == DETECTIVEJOB2)
  61810. {
  61811. if(response)
  61812. {
  61813. ShowPlayerDialogEx(playerid, DETECTIVEJOB3, DIALOG_STYLE_MSGBOX, "Detective", "Commands:\n\n/find\n/find is a command that can locate a player's position.\n\nLocation of job: This job can be obtained in the Los Santos Police Department.", "Done", "Cancel");
  61814. }
  61815. }
  61816. else if(dialogid == DETECTIVEJOB)
  61817. {
  61818. if(response)
  61819. {
  61820. ShowPlayerDialogEx(playerid, DETECTIVEJOB2, DIALOG_STYLE_MSGBOX, "Detective", "Skills:\n\nLevel 1: You can find someone for 4 seconds, the reload time is 2 minutes.\nLevel 2: You can find someone for 6 seconds, the reload time is 1 minute, 20 seconds.\nLevel 3: You can find someone for 8 seconds, the reload time is 1 minute.\nLevel 4: You can find someone for 10 seconds, the reload time is 30 seconds.\nLevel 5: You can find someone for 12 seconds, the reload time is 15 seconds.", "Next", "Cancel");
  61821. }
  61822. }
  61823. else if(dialogid == FINDJOB)
  61824. {
  61825. if(response)
  61826. {
  61827. if(listitem == 0)
  61828. {
  61829. FindingJob[playerid] = 1;
  61830. SetPlayerCheckpoint(playerid, 1555.170654, -1675.652343, 16.195312, 3);
  61831. SendClientMessage(playerid, COLOR_WHITE, "You have selected the Detective Job. Go to the red checkpoint on your radar/map to get this job.");
  61832. }
  61833. if(listitem == 1)
  61834. {
  61835. FindingJob[playerid] = 2;
  61836. SetPlayerCheckpoint(playerid, 1380.827148, -1088.673339, 27.384355, 3);
  61837. SendClientMessage(playerid, COLOR_WHITE, "You have selected the Lawyer Job. Go to the red checkpoint on your radar/map to get this job.");
  61838. }
  61839. if(listitem == 2)
  61840. {
  61841. FindingJob[playerid] = 3;
  61842. SetPlayerCheckpoint(playerid, 2421.525878, -1219.291503, 25.558557, 3);
  61843. SendClientMessage(playerid, COLOR_WHITE, "You have selected the Whore Job. Go to the red checkpoint on your radar/map to get this job.");
  61844. }
  61845. if(listitem == 3)
  61846. {
  61847. FindingJob[playerid] = 4;
  61848. SetPlayerCheckpoint(playerid, 2166.397216, -1675.312622, 15.085937, 3);
  61849. SendClientMessage(playerid, COLOR_WHITE, "You have selected the Drug Dealer Job. Go to the red checkpoint on your radar/map to get this job.");
  61850. }
  61851. if(listitem == 4)
  61852. {
  61853. FindingJob[playerid] = 5;
  61854. SetPlayerCheckpoint(playerid, 2329.970214, -2315.306884, 13.546875, 3);
  61855. SendClientMessage(playerid, COLOR_WHITE, "You have selected the Car Mechanic Job. Go to the red checkpoint on your radar/map to get this job.");
  61856. }
  61857. if(listitem == 5)
  61858. {
  61859. FindingJob[playerid] = 6;
  61860. SetPlayerCheckpoint(playerid, 2226.128662, -1718.083984, 13.515367, 3);
  61861. SendClientMessage(playerid, COLOR_WHITE, "You have selected the Bodyguard Job. Go to the red checkpoint on your radar/map to get this job.");
  61862. }
  61863. if(listitem == 6)
  61864. {
  61865. FindingJob[playerid] = 7;
  61866. SetPlayerCheckpoint(playerid, 1366.455566, -1275.152709, 13.546875, 3);
  61867. SendClientMessage(playerid, COLOR_WHITE, "You have selected the Arms Dealer Job. Go to the red checkpoint on your radar/map to get this job.");
  61868. }
  61869. if(listitem == 7)
  61870. {
  61871. FindingJob[playerid] = 8;
  61872. SetPlayerCheckpoint(playerid, 2229.904052, -1721.263793, 13.561338, 3);
  61873. SendClientMessage(playerid, COLOR_WHITE, "You have selected the Boxer Job. Go to the red checkpoint on your radar/map to get this job.");
  61874. }
  61875. if(listitem == 8)
  61876. {
  61877. FindingJob[playerid] = 9;
  61878. SetPlayerCheckpoint(playerid, 2354.260498, -1169.261840, 28.004892, 3);
  61879. SendClientMessage(playerid, COLOR_WHITE, "You have selected the Drug Smuggler Job. Go to the red checkpoint on your radar/map to get this job.");
  61880. }
  61881. if(listitem == 9)
  61882. {
  61883. FindingJob[playerid] = 10;
  61884. SetPlayerCheckpoint(playerid, 1741.570678, -1863.780883, 13.574654, 3);
  61885. SendClientMessage(playerid, COLOR_WHITE, "You have selected the Taxi Driver Job. Go to the red checkpoint on your radar/map to get this job.");
  61886. }
  61887. if(listitem == 10)
  61888. {
  61889. FindingJob[playerid] = 11;
  61890. SetPlayerCheckpoint(playerid, 2195.686035, -1972.952880, 13.558935, 3);
  61891. SendClientMessage(playerid, COLOR_WHITE, "You have selected the Craftsman Job. Go to the red checkpoint on your radar/map to get this job.");
  61892. }
  61893. if(listitem == 11)
  61894. {
  61895. FindingJob[playerid] = 12;
  61896. SetPlayerCheckpoint(playerid, 1836.902587, -1682.565063, 13.328538, 3);
  61897. SendClientMessage(playerid, COLOR_WHITE, "You have selected the Bartender Job. Go to the red checkpoint on your radar/map to get this job.");
  61898. }
  61899. if(listitem == 12)
  61900. {
  61901. FindingJob[playerid] = 13;
  61902. SetPlayerCheckpoint(playerid, 2214.893798, -2661.312255, 13.546875, 3);
  61903. SendClientMessage(playerid, COLOR_WHITE, "You have selected the Trucker Job. Go to the red checkpoint on your radar/map to get this job.");
  61904. }
  61905. if(listitem == 13)
  61906. {
  61907. FindingJob[playerid] = 14;
  61908. SetPlayerCheckpoint(playerid, 2105.363037, -1806.507812, 13.554687, 3);
  61909. SendClientMessage(playerid, COLOR_WHITE, "You have selected the Pizza Boy Job. Go to the red checkpoint on your radar/map to get this job.");
  61910. }
  61911. if(listitem == 14)
  61912. {
  61913. FindingJob[playerid] = 15;
  61914. SetPlayerCheckpoint(playerid, 383.403381, -2088.798339, 7.835937, 3);
  61915. SendClientMessage(playerid, COLOR_WHITE, "You have selected the Fisher Job. Go to the red checkpoint on your radar/map to fish.");
  61916. }
  61917. if(listitem == 15)
  61918. {
  61919. FindingJob[playerid] = 16;
  61920. SetPlayerCheckpoint(playerid, 2197.9355, -1977.7380, 13.5584, 3);
  61921. SendClientMessage(playerid, COLOR_WHITE, "You have selected the Street Sweeper Job. Go to the red checkpoint on your radar/map to sweep the streets.");
  61922. }
  61923. if(listitem == 16)
  61924. {
  61925. FindingJob[playerid] = 17;
  61926. SetPlayerCheckpoint(playerid, 1280.6154,-1272.4631,13.5365, 3);
  61927. SendClientMessage(playerid, COLOR_WHITE, "You have selected the Miner Job. Go to the red checkpoint on your radar/map to start mining.");
  61928. }
  61929. }
  61930. } else if(dialogid == SIGNCHECK){
  61931. if(!response)
  61932. return 1;
  61933. if(strlen(inputtext) < 1) {
  61934. format(string, sizeof(string), "You must enter the check code before signing.\n\nCheck code: %d\n\nEnter your check code to receive your paycheck:", PayCheckCode[playerid]);
  61935. ShowPlayerDialogEx(playerid, SIGNCHECK, DIALOG_STYLE_INPUT, "Sign check", string, "Sign check","Cancel");
  61936. return 1;
  61937. }
  61938. if(!IsNumeric(inputtext)) {
  61939. format(string, sizeof(string), "Wrong check code. The check code consists out of numbers only.\n\nCheck code: %d\n\nEnter your check code to receive your paycheck:", PayCheckCode[playerid]);
  61940. ShowPlayerDialogEx(playerid, SIGNCHECK, DIALOG_STYLE_INPUT, "Sign check", string, "Sign check","Cancel");
  61941. return 1;
  61942. }
  61943. if(strlen(inputtext) > 6 || (strlen(inputtext) > 0 && strlen(inputtext) < 6)) {
  61944. format(string, sizeof(string), "Wrong check code. The check code consists out of 6 digits.\n\nCheck code: %d\n\nEnter your check code to receive your paycheck:", PayCheckCode[playerid]);
  61945. ShowPlayerDialogEx(playerid, SIGNCHECK, DIALOG_STYLE_INPUT, "Sign check", string, "Sign check","Cancel");
  61946. return 1;
  61947. }
  61948. new
  61949. code = strval(inputtext);
  61950. if(code == PayCheckCode[playerid]) {
  61951. PayCheckCode[playerid] = 0;
  61952. new
  61953. PayCheck = PlayerInfo[playerid][pPayCheck] / 10,
  61954. TaxCost,
  61955. TaxPercentage;
  61956. if(PayCheck < 1250) {
  61957. TaxPercentage = 10;
  61958. TaxCost = (PayCheck / 100) * 10;
  61959. } else if(PayCheck >= 1250 && PayCheck <= 1999) {
  61960. TaxPercentage = 15;
  61961. TaxCost = (PayCheck / 100) * 15;
  61962. } else if(PayCheck >= 2000 && PayCheck <= 2499) {
  61963. TaxPercentage = 25;
  61964. TaxCost = (PayCheck / 100) * 25;
  61965. } else if(PayCheck >= 2500 && PayCheck <= 3499) {
  61966. TaxPercentage = 30;
  61967. TaxCost = (PayCheck / 100) * 30;
  61968. } else if(PayCheck >= 3500) {
  61969. TaxPercentage = 35;
  61970. TaxCost = (PayCheck / 100) * 35;
  61971. }
  61972. SendClientMessage(playerid, COLOR_WHITE, "________ BANK STATEMENT ________");
  61973. format(string, sizeof(string), " Paycheck: $%d | Tax: $%d (%d percent)", PayCheck, TaxCost, TaxPercentage);
  61974. SendClientMessage(playerid, COLOR_GRAD1, string);
  61975. new
  61976. interest;
  61977. if(PlayerInfo[playerid][pDonator] == 0) interest = PlayerInfo[playerid][pBank] / 1000;
  61978. else if(PlayerInfo[playerid][pDonator] == 1) interest = PlayerInfo[playerid][pBank] / 400;
  61979. else if(PlayerInfo[playerid][pDonator] == 2) interest = PlayerInfo[playerid][pBank] / 200;
  61980. else if(PlayerInfo[playerid][pDonator] == 3) interest = PlayerInfo[playerid][pBank] / 100;
  61981. if(interest > 5000)
  61982. interest = 5000;
  61983. if(PlayerInfo[playerid][pDonator] == 0) format(string, sizeof(string), " Old balance: $%d | Interest rate: 0.1 percent (5k max)", PlayerInfo[playerid][pBank]);
  61984. else if(PlayerInfo[playerid][pDonator] == 1) format(string, sizeof(string), " Old balance: $%d | Interest rate: 0.2 percent (5k max)", PlayerInfo[playerid][pBank]);
  61985. else if(PlayerInfo[playerid][pDonator] == 2) format(string, sizeof(string), " Old balance: $%d | Interest rate: 0.3 percent (5k max)", PlayerInfo[playerid][pBank]);
  61986. else if(PlayerInfo[playerid][pDonator] == 3) format(string, sizeof(string), " Old balance: $%d | Interest rate: 0.5 percent (5k max)", PlayerInfo[playerid][pBank]);
  61987. SendClientMessage(playerid, COLOR_GRAD1, string);
  61988. if(PlayerInfo[playerid][pFaction] == 1 || PlayerInfo[playerid][pFaction] == 2 || PlayerInfo[playerid][pFaction] == 3 || PlayerInfo[playerid][pFaction] == 5 || PlayerInfo[playerid][pFaction] == 9) {
  61989. if(PlayerInfo[playerid][pRank] == 0) {
  61990. PlayerInfo[playerid][pBank] += FACTION_PAY_PER_RANK / 2;
  61991. format(string,sizeof(string)," Faction pay: $%d", FACTION_PAY_PER_RANK / 2);
  61992. SendClientMessage(playerid, COLOR_GRAD2, string);
  61993. } else {
  61994. PlayerInfo[playerid][pBank] += PlayerInfo[playerid][pRank] * FACTION_PAY_PER_RANK;
  61995. format(string,sizeof(string)," Faction pay: $%d", PlayerInfo[playerid][pRank] * 100);
  61996. SendClientMessage(playerid, COLOR_GRAD2, string);
  61997. }
  61998. }
  61999. //Tax += TaxCost;
  62000. PlayerInfo[playerid][pBank] += PayCheck;
  62001. PlayerInfo[playerid][pBank] += interest;
  62002. PlayerInfo[playerid][pBank] -= TaxCost;
  62003. format(string, sizeof(string), " Interest gained: $%d", interest);
  62004. SendClientMessage(playerid, COLOR_GRAD3, string);
  62005. SendClientMessage(playerid, COLOR_GRAD4, "______________________________________");
  62006. format(string, sizeof(string), " New balance: $%d | Rent paid: $%d", PlayerInfo[playerid][pBank], (PlayerInfo[playerid][pRenting] != INVALID_HOUSE_ID) ? (HouseInfo[PlayerInfo[playerid][pRenting]][hRentFee]) : (0));
  62007. SendClientMessage(playerid, COLOR_GRAD5, string);
  62008. GameTextForPlayer(playerid, "~w~Paycheck received", 5000, 1);
  62009. PlayerInfo[playerid][pPayReady] = 0;
  62010. PlayerInfo[playerid][pPayCheck] = 0;
  62011. if(DoubleXP == 1)
  62012. {
  62013. new hour,minuite,second;
  62014. gettime(hour,minuite,second);
  62015. if(DoubleEXPcheck(hour))
  62016. {
  62017. PlayerInfo[playerid][pRespect] += 2;
  62018. SendClientMessage(playerid, COLOR_YELLOW, "* You have gained two respect points due to double experience.");
  62019. }
  62020. /*else
  62021. {
  62022. SendClientMessage(playerid, COLOR_YELLOW, "* You have only gained one respect point since it's not within the double experience hours.");
  62023. PlayerInfo[playerid][pRespect]++;
  62024. }*/
  62025. }
  62026. else
  62027. {
  62028. PlayerInfo[playerid][pRespect]++;
  62029. }
  62030. PlayerInfo[playerid][pConnectTime]++;
  62031. SignedPaycheck[playerid] = 1;
  62032. MissedPaychecks[playerid] = 0;
  62033. if(PlayerInfo[playerid][pWepRes] != 0)
  62034. {
  62035. PlayerInfo[playerid][pWepRes]--;
  62036. }
  62037. // Referrals
  62038. if(PlayerInfo[playerid][pConnectTime] == 8 && (strlen(PlayerInfo[playerid][pReferredBy]) > 3 && strlen(PlayerInfo[playerid][pReferredBy]) < 20)) {
  62039. new
  62040. giveplayerid = ReturnUser(PlayerInfo[playerid][pReferredBy]);
  62041. if(IsPlayerConnected(giveplayerid)) {
  62042. PlayerInfo[giveplayerid][pRefTokens]++;
  62043. format(string, sizeof(string), "Your friend %s, that was referred by you, has just reached 8 playing hours. Therefore you have gained 1 referral token.", GetPlayerNameEx(playerid));
  62044. SendClientMessage(giveplayerid, COLOR_YELLOW, string);
  62045. format(string, sizeof(string), "Since you have reached 8 playing hours and were referred by %s, they have gained 1 referral token.", PlayerInfo[playerid][pReferredBy]);
  62046. SendClientMessage(playerid, COLOR_YELLOW, string);
  62047. } else if(doesAccountExist(PlayerInfo[playerid][pReferredBy])) {
  62048. OnPlayerOfflineLogin(PlayerInfo[playerid][pReferredBy]);
  62049. PlayerInfo[MAX_PLAYERS][pRefTokensOffline]++;
  62050. OnPlayerOfflineSave(PlayerInfo[playerid][pReferredBy]);
  62051. format(string, sizeof(string), "Since you have reached 8 playing hours and were referred by %s, they have gained 1 referral token.", PlayerInfo[playerid][pReferredBy]);
  62052. SendClientMessage(playerid, COLOR_YELLOW, string);
  62053. }
  62054. PlayerInfo[playerid][pClaim] = 1;
  62055. PlayerInfo[playerid][pTT] = 0;
  62056. if(PlayerInfo[playerid][pDonator] > 1)
  62057. {
  62058. PlayerInfo[playerid][pPills]++;
  62059. SCM(playerid, COLOR_YELLOW, "As a Donator, you have received a pills.");
  62060. return 1;
  62061. }
  62062. }
  62063. }
  62064. else
  62065. {
  62066. SendClientMessage(playerid, COLOR_WHITE, "Wrong check code.");
  62067. }
  62068. } else if(dialogid == 2398) {
  62069. if(strlen(inputtext) >= 64)
  62070. {
  62071. SendClientMessage(playerid, COLOR_WHITE, "You can't select a password that's above 64 characters.");
  62072. }
  62073. else
  62074. {
  62075. if(strlen(inputtext) >= 1)
  62076. {
  62077. if(!response)
  62078. {
  62079. SendClientMessage(playerid, COLOR_WHITE, "You have prevented yourself from changing your password.");
  62080. }
  62081. else
  62082. {
  62083. new passbuffer[129];
  62084. WP_Hash(passbuffer, sizeof(passbuffer), inputtext);
  62085. format(PlayerInfo[playerid][pKey], 129, "%s", passbuffer);
  62086. format(string, sizeof(string), "You have changed your password to '%s'", inputtext);
  62087. SendClientMessage(playerid, COLOR_YELLOW, string);
  62088. OnPlayerStatsUpdate(playerid);
  62089. format(string, sizeof(string), "%s (IP: %s) has changed their password.", GetPlayerNameEx(playerid), PlayerInfo[playerid][pIP]);
  62090. Log("logs/password.log", string);
  62091. }
  62092. }
  62093. else
  62094. {
  62095. SendClientMessage(playerid, COLOR_WHITE, "Your password must be longer than 1 character.");
  62096. }
  62097. }
  62098. }
  62099. else if(dialogid == DIALOG_NAMECHANGE)
  62100. {
  62101. if(!response || strlen(inputtext) == 0) return SendClientMessage(playerid, COLOR_WHITE, "You have prevented yourself from changing your name.");
  62102. if(strlen(inputtext) > 20)
  62103. {
  62104. SendClientMessage(playerid, COLOR_WHITE, "You can't select a name that's above 20 characters.");
  62105. }
  62106. else
  62107. {
  62108. if(strlen(inputtext) >= 1)
  62109. {
  62110. if(!response)
  62111. {
  62112. SendClientMessage(playerid, COLOR_WHITE, "You have prevented yourself from changing your name.");
  62113. }
  62114. else
  62115. {
  62116. for(new i = 0; i < strlen(inputtext); i++)
  62117. {
  62118. if(inputtext[i] == ' ') return SendClientMessage(playerid, COLOR_GRAD2, "Please use the '_'(underscore) instead of the ' '(space)");
  62119. }
  62120. if(strfind(inputtext, "_", true) == -1)
  62121. {
  62122. SendClientMessage(playerid, COLOR_WHITE, "Name change rejected. Please choose a name in the correct format: Firstname_Lastname.");
  62123. return 1;
  62124. }
  62125. new namechangecost;
  62126. namechangecost = (PlayerInfo[playerid][pLevel]) * 1500;
  62127. if(PlayerInfo[playerid][pFaction] == 2 || PlayerInfo[playerid][pFaction] == 4)
  62128. {
  62129. new String[128];
  62130. SetPVarInt(playerid, "RequestingNameChange", 1);
  62131. SetPVarString(playerid, "NewNameRequest", inputtext);
  62132. new playername[MAX_PLAYER_NAME];
  62133. GetPlayerName(playerid, playername, sizeof(playername));
  62134. format(String, sizeof(String), "You have requested a namechange from %s to %s at no cost (hitman or FBI), please wait until an admin approves it.", playername, inputtext, namechangecost);
  62135. SendClientMessage(playerid, COLOR_YELLOW, String);
  62136. format(String, sizeof(String), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) requested a name change to %s for free - /approvename %d (accept), or /denyname %d (deny).", playername, playerid, inputtext, playerid, playerid);
  62137. ABroadCast(COLOR_YELLOW, String, 1);
  62138. return 1;
  62139. }
  62140. if(GetPlayerCash(playerid) >= namechangecost)
  62141. {
  62142. new String[128];
  62143. SetPVarInt(playerid, "RequestingNameChange", 1);
  62144. SetPVarString(playerid, "NewNameRequest", inputtext);
  62145. SetPVarInt(playerid, "NameChangeCost", namechangecost);
  62146. new playername[MAX_PLAYER_NAME];
  62147. GetPlayerName(playerid, playername, sizeof(playername));
  62148. format(String, sizeof(String), "You have requested a namechange from %s to %s for $%d, please wait until an admin approves it.", playername, inputtext, namechangecost);
  62149. SendClientMessage(playerid, COLOR_YELLOW, String);
  62150. format(String, sizeof(String), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) requested a name change to %s for $%d - /approvename %d (accept), or /denyname %d (deny).", playername, playerid, inputtext, namechangecost, playerid, playerid);
  62151. ABroadCast(COLOR_YELLOW, String, 1);
  62152. }
  62153. else
  62154. {
  62155. SendClientMessage(playerid, COLOR_GRAD2, "You don't have enough money for the name change.");
  62156. }
  62157. }
  62158. }
  62159. else
  62160. {
  62161. SendClientMessage(playerid, COLOR_WHITE, "Your name must be longer than 1 character.");
  62162. }
  62163. }
  62164. }
  62165. else if(dialogid == DIALOG_NAMECHANGE2)
  62166. {
  62167. if(!response || strlen(inputtext) == 0) return Kick(playerid);
  62168. if(strlen(inputtext) >= 20)
  62169. {
  62170. SendClientMessage(playerid, COLOR_WHITE, "You can't select a name that's above 20 characters.");
  62171. ShowPlayerDialogEx(playerid, DIALOG_NAMECHANGE2, DIALOG_STYLE_INPUT, "Free name change","This is a roleplay server where you must have a name in this format: Firstname_Lastname.\nFor example: John_Smith or Jimmy_Johnson\n\nAn admin has offered you to change your name to the correct format for free. Please enter your desired name below.\n\nNote: If you press cancel you will be kicked from the server.", "Change", "Cancel");
  62172. }
  62173. else
  62174. {
  62175. if(strlen(inputtext) >= 1)
  62176. {
  62177. if(!response)
  62178. {
  62179. ShowPlayerDialogEx(playerid, DIALOG_NAMECHANGE2, DIALOG_STYLE_INPUT, "Free name change","This is a roleplay server where you must have a name in this format: Firstname_Lastname.\nFor example: John_Smith or Jimmy_Johnson\n\nAn admin has offered you to change your name to the correct format for free. Please enter your desired name below.\n\nNote: If you press cancel you will be kicked from the server.", "Change", "Cancel");
  62180. }
  62181. else
  62182. {
  62183. for(new i = 0; i < strlen(inputtext); i++)
  62184. {
  62185. if(inputtext[i] == ' ')
  62186. {
  62187. SendClientMessage(playerid, COLOR_WHITE, "Please use the '_'(underscore) instead of the ' '(space)");
  62188. ShowPlayerDialogEx(playerid, DIALOG_NAMECHANGE2, DIALOG_STYLE_INPUT, "Free name change","This is a roleplay server where you must have a name in this format: Firstname_Lastname.\nFor example: John_Smith or Jimmy_Johnson\n\nAn admin has offered you to change your name to the correct format for free. Please enter your desired name below.\n\nNote: If you press cancel you will be kicked from the server.", "Change", "Cancel");
  62189. return 1;
  62190. }
  62191. }
  62192. if(strfind(inputtext, "_", true) == -1)
  62193. {
  62194. SendClientMessage(playerid, COLOR_WHITE, "Name change rejected. Please choose a name in the correct format: Firstname_Lastname.");
  62195. ShowPlayerDialogEx(playerid, DIALOG_NAMECHANGE2, DIALOG_STYLE_INPUT, "Free name change","This is a roleplay server where you must have a name in this format: Firstname_Lastname.\nFor example: John_Smith or Jimmy_Johnson\n\nAn admin has offered you to change your name to the correct format for free. Please enter your desired name below.\n\nNote: If you press cancel you will be kicked from the server.", "Change", "Cancel");
  62196. return 1;
  62197. }
  62198. else
  62199. {
  62200. new String[128];
  62201. SetPVarInt(playerid, "RequestingNameChange", 1);
  62202. SetPVarString(playerid, "NewNameRequest", inputtext);
  62203. new playername[MAX_PLAYER_NAME];
  62204. GetPlayerName(playerid, playername, sizeof(playername));
  62205. format(String, sizeof(String), "You have requested a namechange from %s to %s please wait until an admin approves it.", playername, inputtext);
  62206. SendClientMessage(playerid, COLOR_YELLOW, String);
  62207. format(String, sizeof(String), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) requested a name change to %s for free (non-RP name) - /approvename %d (accept), or /denyname %d (deny).", playername, playerid, inputtext, playerid, playerid);
  62208. ABroadCast(COLOR_YELLOW, String, 1);
  62209. return 1;
  62210. }
  62211. }
  62212. }
  62213. else
  62214. {
  62215. SendClientMessage(playerid, COLOR_WHITE, "Your name must be longer than 1 character.");
  62216. ShowPlayerDialogEx(playerid, DIALOG_NAMECHANGE2, DIALOG_STYLE_INPUT, "Free name change","This is a roleplay server where you must have a name in this format: Firstname_Lastname.\nFor example: John_Smith or Jimmy_Johnson\n\nAn admin has offered you to change your name to the correct format for free. Please enter your desired name below.\n\nNote: If you press cancel you will be kicked from the server.", "Change", "Cancel");
  62217. }
  62218. }
  62219. }
  62220. if(dialogid == DIALOG_STARTJOB && response)
  62221. {
  62222. startjob[playerid] = 0;
  62223. onminer[playerid] = 1;
  62224. minerskin[playerid] = GetPlayerSkin(playerid);
  62225. SetPlayerSkin(playerid, 27);
  62226. SetPlayerAttachedObject(playerid, 3, 18634, 6, 0.078222, 0.000000, 0.110844, 298.897308, 264.126861, 193.350555, 1.000000, 1.000000, 1.000000);
  62227. SendClientMessage(playerid, -1, "You are now hired as a miner. {DDFF00}Mining sites are located near the rocks.");
  62228. SendClientMessage(playerid, -1, "You need to craft a special Pickaxe to mine Quality metals.");
  62229. SendClientMessage(playerid, -1, "When you are finished with your shift; come back to this place and clock out.");
  62230. injob[playerid] = 1;
  62231. SetTimer("PickupUnhide", 7000, 0);
  62232. return 1;
  62233. }
  62234. if(dialogid == DIALOG_ENDJOB && response)
  62235. {
  62236. new money = countmet[playerid]*1 + countmetEx[playerid]*4;
  62237. startjob[playerid] = 0;
  62238. onminer[playerid] = 0;
  62239. prinesmet[playerid] = 0;
  62240. countmet[playerid] = 0;
  62241. prinesmetEx[playerid] = 0;
  62242. countmetEx[playerid] = 0;
  62243. ExtraMetall[playerid] = 0;
  62244. SetPlayerSkin(playerid, minerskin[playerid]);
  62245. PlayerInfo[playerid][pCash] += money;
  62246. format(string, 128, "Job finished: {DDFF00}$%d {FFFFFF}is your reward", money);
  62247. SendClientMessage(playerid, -1, string);
  62248. format(string, 128, "~g~$%d", money);
  62249. GameTextForPlayer(playerid, string, 4000, 6);
  62250. RemovePlayerAttachedObject(playerid, 3);
  62251. RemovePlayerAttachedObject(playerid, 4);
  62252. DisablePlayerCheckpoint(playerid);
  62253. injob[playerid] = 0;
  62254. SetTimer("PickupUnhide", 7000, 0);
  62255. return 1;
  62256. }
  62257. if(dialogid == NEONMENU)
  62258. {
  62259. if(response)
  62260. {
  62261. if(listitem == 0)
  62262. {
  62263. //blue
  62264. SetPVarInt(playerid, "Status", 1);
  62265. SetPVarInt(playerid, "neon", CreateObject(18648,0,0,0,0,0,0));
  62266. SetPVarInt(playerid, "neon1", CreateObject(18648,0,0,0,0,0,0));
  62267. AttachObjectToVehicle(GetPVarInt(playerid, "neon"), GetPlayerVehicleID(playerid), -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
  62268. AttachObjectToVehicle(GetPVarInt(playerid, "neon1"), GetPlayerVehicleID(playerid), 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
  62269. DestroyObject(GetPVarInt(playerid, "neon2"));
  62270. DeletePVar(playerid, "Status");
  62271. DestroyObject(GetPVarInt(playerid, "neon3"));
  62272. DeletePVar(playerid, "Status");
  62273. DestroyObject(GetPVarInt(playerid, "neon4"));
  62274. DeletePVar(playerid, "Status");
  62275. DestroyObject(GetPVarInt(playerid, "neon5"));
  62276. DeletePVar(playerid, "Status");
  62277. DestroyObject(GetPVarInt(playerid, "neon6"));
  62278. DeletePVar(playerid, "Status");
  62279. DestroyObject(GetPVarInt(playerid, "neon7"));
  62280. DeletePVar(playerid, "Status");
  62281. DestroyObject(GetPVarInt(playerid, "neon8"));
  62282. DeletePVar(playerid, "Status");
  62283. DestroyObject(GetPVarInt(playerid, "neon9"));
  62284. DeletePVar(playerid, "Status");
  62285. DestroyObject(GetPVarInt(playerid, "neon10"));
  62286. DeletePVar(playerid, "Status");
  62287. DestroyObject(GetPVarInt(playerid, "neon11"));
  62288. DeletePVar(playerid, "Status");
  62289. DestroyObject(GetPVarInt(playerid, "neon12"));
  62290. DeletePVar(playerid, "Status");
  62291. DestroyObject(GetPVarInt(playerid, "neon13"));
  62292. DeletePVar(playerid, "Status");
  62293. }
  62294. if(listitem == 1)
  62295. {
  62296. //red
  62297. SetPVarInt(playerid, "Status", 1);
  62298. SetPVarInt(playerid, "neon2", CreateObject(18647,0,0,0,0,0,0));
  62299. SetPVarInt(playerid, "neon3", CreateObject(18647,0,0,0,0,0,0));
  62300. AttachObjectToVehicle(GetPVarInt(playerid, "neon2"), GetPlayerVehicleID(playerid), -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
  62301. AttachObjectToVehicle(GetPVarInt(playerid, "neon3"), GetPlayerVehicleID(playerid), 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
  62302. SendClientMessage(playerid, 0xFFFFFFAA, "neon installed");
  62303. DestroyObject(GetPVarInt(playerid, "neon"));
  62304. DeletePVar(playerid, "Status");
  62305. DestroyObject(GetPVarInt(playerid, "neon1"));
  62306. DeletePVar(playerid, "Status");
  62307. DestroyObject(GetPVarInt(playerid, "neon4"));
  62308. DeletePVar(playerid, "Status");
  62309. DestroyObject(GetPVarInt(playerid, "neon5"));
  62310. DeletePVar(playerid, "Status");
  62311. DestroyObject(GetPVarInt(playerid, "neon6"));
  62312. DeletePVar(playerid, "Status");
  62313. DestroyObject(GetPVarInt(playerid, "neon7"));
  62314. DeletePVar(playerid, "Status");
  62315. DestroyObject(GetPVarInt(playerid, "neon8"));
  62316. DeletePVar(playerid, "Status");
  62317. DestroyObject(GetPVarInt(playerid, "neon9"));
  62318. DeletePVar(playerid, "Status");
  62319. DestroyObject(GetPVarInt(playerid, "neon10"));
  62320. DeletePVar(playerid, "Status");
  62321. DestroyObject(GetPVarInt(playerid, "neon11"));
  62322. DeletePVar(playerid, "Status");
  62323. DestroyObject(GetPVarInt(playerid, "neon12"));
  62324. DeletePVar(playerid, "Status");
  62325. DestroyObject(GetPVarInt(playerid, "neon13"));
  62326. }
  62327. if(listitem == 2)
  62328. {
  62329. //green
  62330. SetPVarInt(playerid, "Status", 1);
  62331. SetPVarInt(playerid, "neon4", CreateObject(18649,0,0,0,0,0,0));
  62332. SetPVarInt(playerid, "neon5", CreateObject(18649,0,0,0,0,0,0));
  62333. AttachObjectToVehicle(GetPVarInt(playerid, "neon4"), GetPlayerVehicleID(playerid), -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
  62334. AttachObjectToVehicle(GetPVarInt(playerid, "neon5"), GetPlayerVehicleID(playerid), 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
  62335. SendClientMessage(playerid, 0xFFFFFFAA, "neon installed");
  62336. DestroyObject(GetPVarInt(playerid, "neon"));
  62337. DeletePVar(playerid, "Status");
  62338. DestroyObject(GetPVarInt(playerid, "neon1"));
  62339. DeletePVar(playerid, "Status");
  62340. DestroyObject(GetPVarInt(playerid, "neon2"));
  62341. DeletePVar(playerid, "Status");
  62342. DestroyObject(GetPVarInt(playerid, "neon3"));
  62343. DestroyObject(GetPVarInt(playerid, "neon6"));
  62344. DeletePVar(playerid, "Status");
  62345. DestroyObject(GetPVarInt(playerid, "neon7"));
  62346. DeletePVar(playerid, "Status");
  62347. DestroyObject(GetPVarInt(playerid, "neon8"));
  62348. DeletePVar(playerid, "Status");
  62349. DestroyObject(GetPVarInt(playerid, "neon9"));
  62350. DeletePVar(playerid, "Status");
  62351. DestroyObject(GetPVarInt(playerid, "neon10"));
  62352. DeletePVar(playerid, "Status");
  62353. DestroyObject(GetPVarInt(playerid, "neon11"));
  62354. DeletePVar(playerid, "Status");
  62355. DestroyObject(GetPVarInt(playerid, "neon12"));
  62356. DeletePVar(playerid, "Status");
  62357. DestroyObject(GetPVarInt(playerid, "neon13"));
  62358. }
  62359. if(listitem == 3)
  62360. {
  62361. //white
  62362. SetPVarInt(playerid, "Status", 1);
  62363. SetPVarInt(playerid, "neon6", CreateObject(18652,0,0,0,0,0,0));
  62364. SetPVarInt(playerid, "neon7", CreateObject(18652,0,0,0,0,0,0));
  62365. AttachObjectToVehicle(GetPVarInt(playerid, "neon6"), GetPlayerVehicleID(playerid), -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
  62366. AttachObjectToVehicle(GetPVarInt(playerid, "neon7"), GetPlayerVehicleID(playerid), 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
  62367. SendClientMessage(playerid, 0xFFFFFFAA, "neon installed");
  62368. DestroyObject(GetPVarInt(playerid, "neon"));
  62369. DeletePVar(playerid, "Status");
  62370. DestroyObject(GetPVarInt(playerid, "neon1"));
  62371. DeletePVar(playerid, "Status");
  62372. DestroyObject(GetPVarInt(playerid, "neon2"));
  62373. DeletePVar(playerid, "Status");
  62374. DestroyObject(GetPVarInt(playerid, "neon3"));
  62375. DeletePVar(playerid, "Status");
  62376. DestroyObject(GetPVarInt(playerid, "neon4"));
  62377. DeletePVar(playerid, "Status");
  62378. DestroyObject(GetPVarInt(playerid, "neon5"));
  62379. DeletePVar(playerid, "Status");
  62380. DestroyObject(GetPVarInt(playerid, "neon8"));
  62381. DeletePVar(playerid, "Status");
  62382. DestroyObject(GetPVarInt(playerid, "neon9"));
  62383. DeletePVar(playerid, "Status");
  62384. DestroyObject(GetPVarInt(playerid, "neon10"));
  62385. DeletePVar(playerid, "Status");
  62386. DestroyObject(GetPVarInt(playerid, "neon11"));
  62387. DeletePVar(playerid, "Status");
  62388. DestroyObject(GetPVarInt(playerid, "neon12"));
  62389. DeletePVar(playerid, "Status");
  62390. DestroyObject(GetPVarInt(playerid, "neon13"));
  62391. }
  62392. if(listitem == 4)
  62393. {
  62394. //pink
  62395. SetPVarInt(playerid, "Status", 1);
  62396. SetPVarInt(playerid, "neon8", CreateObject(18651,0,0,0,0,0,0));
  62397. SetPVarInt(playerid, "neon9", CreateObject(18651,0,0,0,0,0,0));
  62398. AttachObjectToVehicle(GetPVarInt(playerid, "neon8"), GetPlayerVehicleID(playerid), -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
  62399. AttachObjectToVehicle(GetPVarInt(playerid, "neon9"), GetPlayerVehicleID(playerid), 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
  62400. SendClientMessage(playerid, 0xFFFFFFAA, "neon installed");
  62401. DestroyObject(GetPVarInt(playerid, "neon"));
  62402. DeletePVar(playerid, "Status");
  62403. DestroyObject(GetPVarInt(playerid, "neon1"));
  62404. DeletePVar(playerid, "Status");
  62405. DestroyObject(GetPVarInt(playerid, "neon2"));
  62406. DeletePVar(playerid, "Status");
  62407. DestroyObject(GetPVarInt(playerid, "neon3"));
  62408. DeletePVar(playerid, "Status");
  62409. DestroyObject(GetPVarInt(playerid, "neon4"));
  62410. DeletePVar(playerid, "Status");
  62411. DestroyObject(GetPVarInt(playerid, "neon5"));
  62412. DeletePVar(playerid, "Status");
  62413. DestroyObject(GetPVarInt(playerid, "neon6"));
  62414. DeletePVar(playerid, "Status");
  62415. DestroyObject(GetPVarInt(playerid, "neon7"));
  62416. DestroyObject(GetPVarInt(playerid, "neon10"));
  62417. DeletePVar(playerid, "Status");
  62418. DestroyObject(GetPVarInt(playerid, "neon11"));
  62419. DeletePVar(playerid, "Status");
  62420. DestroyObject(GetPVarInt(playerid, "neon12"));
  62421. DeletePVar(playerid, "Status");
  62422. DestroyObject(GetPVarInt(playerid, "neon13"));
  62423. }
  62424. if(listitem == 5)
  62425. {
  62426. //yellow
  62427. SetPVarInt(playerid, "Status", 1);
  62428. SetPVarInt(playerid, "neon10", CreateObject(18650,0,0,0,0,0,0));
  62429. SetPVarInt(playerid, "neon11", CreateObject(18650,0,0,0,0,0,0));
  62430. AttachObjectToVehicle(GetPVarInt(playerid, "neon10"), GetPlayerVehicleID(playerid), -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
  62431. AttachObjectToVehicle(GetPVarInt(playerid, "neon11"), GetPlayerVehicleID(playerid), 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
  62432. SendClientMessage(playerid, 0xFFFFFFAA, "neon installed");
  62433. DestroyObject(GetPVarInt(playerid, "neon"));
  62434. DeletePVar(playerid, "Status");
  62435. DestroyObject(GetPVarInt(playerid, "neon1"));
  62436. DeletePVar(playerid, "Status");
  62437. DestroyObject(GetPVarInt(playerid, "neon2"));
  62438. DeletePVar(playerid, "Status");
  62439. DestroyObject(GetPVarInt(playerid, "neon3"));
  62440. DeletePVar(playerid, "Status");
  62441. DestroyObject(GetPVarInt(playerid, "neon4"));
  62442. DeletePVar(playerid, "Status");
  62443. DestroyObject(GetPVarInt(playerid, "neon5"));
  62444. DeletePVar(playerid, "Status");
  62445. DestroyObject(GetPVarInt(playerid, "neon6"));
  62446. DeletePVar(playerid, "Status");
  62447. DestroyObject(GetPVarInt(playerid, "neon7"));
  62448. DeletePVar(playerid, "Status");
  62449. DestroyObject(GetPVarInt(playerid, "neon8"));
  62450. DeletePVar(playerid, "Status");
  62451. DestroyObject(GetPVarInt(playerid, "neon9"));
  62452. DeletePVar(playerid, "Status");
  62453. DestroyObject(GetPVarInt(playerid, "neon12"));
  62454. DeletePVar(playerid, "Status");
  62455. DestroyObject(GetPVarInt(playerid, "neon13"));
  62456. DeletePVar(playerid, "Status");
  62457. }
  62458. /*if(listitem == 6)
  62459. {
  62460. //police
  62461. SetPVarInt(playerid, "Status", 1);
  62462. SetPVarInt(playerid, "neon12", CreateObject(18646,0,0,0,0,0,0));
  62463. SetPVarInt(playerid, "neon13", CreateObject(18646,0,0,0,0,0,0));
  62464. AttachObjectToVehicle(GetPVarInt(playerid, "neon12"), GetPlayerVehicleID(playerid), -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
  62465. AttachObjectToVehicle(GetPVarInt(playerid, "neon13"), GetPlayerVehicleID(playerid), 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
  62466. SendClientMessage(playerid, 0xFFFFFFAA, "neon installed");
  62467. }
  62468. if(listitem == 7)
  62469. {
  62470. SetPVarInt(playerid, "Status", 1);
  62471. SetPVarInt(playerid, "interior", CreateObject(18646,0,0,0,0,0,0));
  62472. SetPVarInt(playerid, "interior1", CreateObject(18646,0,0,0,0,0,0));
  62473. AttachObjectToVehicle(GetPVarInt(playerid, "interior"), GetPlayerVehicleID(playerid), 0, -0.0, 0, 2.0, 2.0, 3.0);
  62474. AttachObjectToVehicle(GetPVarInt(playerid, "interior1"), GetPlayerVehicleID(playerid), 0, -0.0, 0, 2.0, 2.0, 3.0);
  62475. SendClientMessage(playerid, 0xFFFFFFAA, "Interior lights installed");
  62476. }
  62477. if(listitem == 8)
  62478. {
  62479. //back
  62480. SetPVarInt(playerid, "Status", 1);
  62481. SetPVarInt(playerid, "back", CreateObject(18646,0,0,0,0,0,0));
  62482. SetPVarInt(playerid, "back1", CreateObject(18646,0,0,0,0,0,0));
  62483. AttachObjectToVehicle(GetPVarInt(playerid, "back"), GetPlayerVehicleID(playerid), -0.0, -1.5, -1, 2.0, 2.0, 3.0);
  62484. AttachObjectToVehicle(GetPVarInt(playerid, "back1"), GetPlayerVehicleID(playerid), -0.0, -1.5, -1, 2.0, 2.0, 3.0);
  62485. SendClientMessage(playerid, 0xFFFFFFAA, "Back neon installed");
  62486. }
  62487. if(listitem == 9)
  62488. {
  62489. //front
  62490. SetPVarInt(playerid, "Status", 1);
  62491. SetPVarInt(playerid, "front", CreateObject(18646,0,0,0,0,0,0));
  62492. SetPVarInt(playerid, "front1", CreateObject(18646,0,0,0,0,0,0));
  62493. AttachObjectToVehicle(GetPVarInt(playerid, "front"), GetPlayerVehicleID(playerid), -0.0, 1.5, -0.6, 2.0, 2.0, 3.0);
  62494. AttachObjectToVehicle(GetPVarInt(playerid, "front1"), GetPlayerVehicleID(playerid), -0.0, 1.5, -0.6, 2.0, 2.0, 3.0);
  62495. SendClientMessage(playerid, 0xFFFFFFAA, "Front neon installed");
  62496. }
  62497. if(listitem == 10)
  62498. {
  62499. //undercover
  62500. SetPVarInt(playerid, "Status", 1);
  62501. SetPVarInt(playerid, "undercover", CreateObject(18646,0,0,0,0,0,0));
  62502. SetPVarInt(playerid, "undercover1", CreateObject(18646,0,0,0,0,0,0));
  62503. AttachObjectToVehicle(GetPVarInt(playerid, "undercover"), GetPlayerVehicleID(playerid), -0.5, -0.2, 0.8, 2.0, 2.0, 3.0);
  62504. AttachObjectToVehicle(GetPVarInt(playerid, "undercover1"), GetPlayerVehicleID(playerid), -0.5, -0.2, 0.8, 2.0, 2.0, 3.0);
  62505. SendClientMessage(playerid, 0xFFFFFFAA, "Undercover lights installed");
  62506. }*/
  62507. if(listitem == 6)
  62508. {
  62509. //remove neon
  62510. DestroyObject(GetPVarInt(playerid, "neon"));
  62511. DeletePVar(playerid, "Status");
  62512. DestroyObject(GetPVarInt(playerid, "neon1"));
  62513. DeletePVar(playerid, "Status");
  62514. DestroyObject(GetPVarInt(playerid, "neon2"));
  62515. DeletePVar(playerid, "Status");
  62516. DestroyObject(GetPVarInt(playerid, "neon3"));
  62517. DeletePVar(playerid, "Status");
  62518. DestroyObject(GetPVarInt(playerid, "neon4"));
  62519. DeletePVar(playerid, "Status");
  62520. DestroyObject(GetPVarInt(playerid, "neon5"));
  62521. DeletePVar(playerid, "Status");
  62522. DestroyObject(GetPVarInt(playerid, "neon6"));
  62523. DeletePVar(playerid, "Status");
  62524. DestroyObject(GetPVarInt(playerid, "neon7"));
  62525. DeletePVar(playerid, "Status");
  62526. DestroyObject(GetPVarInt(playerid, "neon8"));
  62527. DeletePVar(playerid, "Status");
  62528. DestroyObject(GetPVarInt(playerid, "neon9"));
  62529. DeletePVar(playerid, "Status");
  62530. DestroyObject(GetPVarInt(playerid, "neon10"));
  62531. DeletePVar(playerid, "Status");
  62532. DestroyObject(GetPVarInt(playerid, "neon11"));
  62533. DeletePVar(playerid, "Status");
  62534. DestroyObject(GetPVarInt(playerid, "neon12"));
  62535. DeletePVar(playerid, "Status");
  62536. DestroyObject(GetPVarInt(playerid, "neon13"));
  62537. DeletePVar(playerid, "Status");
  62538. DestroyObject(GetPVarInt(playerid, "interior"));
  62539. DeletePVar(playerid, "Status");
  62540. DestroyObject(GetPVarInt(playerid, "interior1"));
  62541. DeletePVar(playerid, "Status");
  62542. DestroyObject(GetPVarInt(playerid, "back"));
  62543. DeletePVar(playerid, "Status");
  62544. DestroyObject(GetPVarInt(playerid, "back1"));
  62545. DeletePVar(playerid, "Status");
  62546. DestroyObject(GetPVarInt(playerid, "front"));
  62547. DeletePVar(playerid, "Status");
  62548. DestroyObject(GetPVarInt(playerid, "front1"));
  62549. DeletePVar(playerid, "Status");
  62550. DestroyObject(GetPVarInt(playerid, "undercover"));
  62551. DeletePVar(playerid, "Status");
  62552. DestroyObject(GetPVarInt(playerid, "undercover1"));
  62553. DeletePVar(playerid, "Status");
  62554. }
  62555. }
  62556. }
  62557. if(dialogid == DIALOG_LICENSE_BUY && response)
  62558. {
  62559. switch (listitem)
  62560. {
  62561. case 0:
  62562. {
  62563. if(PlayerInfo[playerid][pCarLic] == 0)
  62564. {
  62565. if(GetPlayerCash(playerid) < 500)
  62566. {
  62567. SendClientMessage(playerid, COLOR_GREY, "You can't afford to buy a driver's license.");
  62568. return 1;
  62569. }
  62570. GivePlayerCash(playerid,-500);
  62571. PlayerInfo[playerid][pCarLic] = 1;
  62572. SendClientMessage(playerid, COLOR_GREY, "You have successfully acquired a driver's license.");
  62573. }
  62574. else SendClientMessage(playerid, COLOR_GREY, "You already have a driver's license.");
  62575. }
  62576. case 1:
  62577. {
  62578. if(PlayerInfo[playerid][pBoatLic] == 0)
  62579. {
  62580. if(GetPlayerCash(playerid) < 500)
  62581. {
  62582. SendClientMessage(playerid, COLOR_GREY, "You can't afford to buy a boating license.");
  62583. return 1;
  62584. }
  62585. GivePlayerCash(playerid,-500);
  62586. PlayerInfo[playerid][pBoatLic] = 1;
  62587. SendClientMessage(playerid, COLOR_GREY, "You have successfully acquired a boating license.");
  62588. }
  62589. else SendClientMessage(playerid, COLOR_GREY, "You already have a boating license.");
  62590. }
  62591. case 2:
  62592. {
  62593. if(PlayerInfo[playerid][pFlyLic] == 0)
  62594. {
  62595. if(PlayerInfo[playerid][pLevel] >=2) // FOR LATER SETTING POSSIBLY
  62596. {
  62597. if(GetPlayerCash(playerid) < 2500)
  62598. {
  62599. SendClientMessage(playerid, COLOR_GREY, "You can't afford to buy a pilot's license.");
  62600. return 1;
  62601. }
  62602. GivePlayerCash(playerid,-2500);
  62603. PlayerInfo[playerid][pFlyLic] = 1;
  62604. SendClientMessage(playerid, COLOR_GREY, "You have successfully acquired a pilot license; you will now be able to pilot aircraft.");
  62605. }
  62606. else SendClientMessage(playerid, COLOR_GREY, "You must be level 2 or above to acquire a pilot license.");
  62607. }
  62608. else SendClientMessage(playerid, COLOR_GREY, "You already have a pilot license.");
  62609. }
  62610. }
  62611. }
  62612. if(dialogid == FAMILYSKINDIALOG)
  62613. {
  62614. if(response)
  62615. {
  62616. if(listitem == 0)
  62617. {
  62618. SetFamilySkin(playerid, 0);
  62619. }
  62620. if(listitem == 1)
  62621. {
  62622. SetFamilySkin(playerid, 1);
  62623. }
  62624. if(listitem == 2)
  62625. {
  62626. SetFamilySkin(playerid, 2);
  62627. }
  62628. if(listitem == 3)
  62629. {
  62630. SetFamilySkin(playerid, 3);
  62631. }
  62632. if(listitem == 4)
  62633. {
  62634. SetFamilySkin(playerid, 4);
  62635. }
  62636. if(listitem == 5)
  62637. {
  62638. SetFamilySkin(playerid, 5);
  62639. }
  62640. if(listitem == 6)
  62641. {
  62642. SetFamilySkin(playerid, 6);
  62643. }
  62644. if(listitem == 7)
  62645. {
  62646. SetFamilySkin(playerid, 7);
  62647. }
  62648. }
  62649. }
  62650. if((dialogid == BUYTOYS) && response)
  62651. {
  62652. new stringg[512];
  62653. for(new x;x<MAX_PLAYERTOYS;x++)
  62654. {
  62655. new name[24];
  62656. format(name, sizeof(name), "None");
  62657. for(new i;i<sizeof(HoldingObjectsAll);i++)
  62658. {
  62659. if(HoldingObjectsAll[i][holdingmodelid] == PlayerToyInfo[playerid][x][ptModelID])
  62660. {
  62661. format(name, sizeof(name), "%s", HoldingObjectsAll[i][holdingmodelname]);
  62662. }
  62663. }
  62664. format(stringg, sizeof(stringg), "%s(%d) %s (Bone: %s)\n", stringg, x, name, HoldingBones[PlayerToyInfo[playerid][x][ptBone]]);
  62665. }
  62666. ShowPlayerDialogEx(playerid, BUYTOYS2, DIALOG_STYLE_LIST, "Select a Slot", stringg, "Select", "Cancel");
  62667. }
  62668. if((dialogid == BUYTOYS2) && response)
  62669. {
  62670. if(listitem == 5 && PlayerInfo[playerid][pDonator] < 1) return SendClientMessage(playerid, COLOR_WHITE, "* You must be a Premium+ Donator to use that slot!");
  62671. if(listitem == 6 && PlayerInfo[playerid][pDonator] < 2) return SendClientMessage(playerid, COLOR_WHITE, "* You must be a Silver+ Donator to use that slot!");
  62672. if(listitem == 7 && PlayerInfo[playerid][pDonator] < 3) return SendClientMessage(playerid, COLOR_WHITE, "* You must be a Gold+ Donator to use that slot!");
  62673. if(PlayerToyInfo[playerid][listitem][ptModelID] != 0) return SendClientMessage(playerid, COLOR_YELLOW, "* You already have something in that slot. Delete it with /toys");
  62674. slotselection[playerid] = listitem;
  62675. new stringg[3500];
  62676. for(new x;x<sizeof(HoldingObjects);x++)
  62677. {
  62678. format(stringg, sizeof(stringg), "%s%s ($%d)\n", stringg, HoldingObjects[x][holdingmodelname], HoldingObjects[x][holdingprice]);
  62679. }
  62680. ShowPlayerDialogEx(playerid, BUYTOYS3, DIALOG_STYLE_LIST, "Select an Item", stringg, "Buy", "Cancel");
  62681. }
  62682. if((dialogid == BUYTOYS3) && response)
  62683. {
  62684. if(GetPlayerCash(playerid) < HoldingObjects[listitem][holdingprice])
  62685. {
  62686. SendClientMessage(playerid, COLOR_WHITE, "* You can't afford that!");
  62687. }
  62688. else
  62689. {
  62690. GivePlayerCash(playerid, -HoldingObjects[listitem][holdingprice]);
  62691. PlayerToyInfo[playerid][slotselection[playerid]][ptModelID] = HoldingObjects[listitem][holdingmodelid];
  62692. new modelid = PlayerToyInfo[playerid][slotselection[playerid]][ptModelID];
  62693. if((modelid >= 19006 && modelid <= 19035) || (modelid >= 19138 && modelid <= 19140))
  62694. {
  62695. PlayerToyInfo[playerid][slotselection[playerid]][ptBone] = 2;
  62696. PlayerToyInfo[playerid][slotselection[playerid]][ptPosX] = 0.9;
  62697. PlayerToyInfo[playerid][slotselection[playerid]][ptPosY] = 0.0;
  62698. PlayerToyInfo[playerid][slotselection[playerid]][ptPosZ] = 0.35;
  62699. PlayerToyInfo[playerid][slotselection[playerid]][ptRotX] = 90.0;
  62700. PlayerToyInfo[playerid][slotselection[playerid]][ptRotY] = 90.0;
  62701. PlayerToyInfo[playerid][slotselection[playerid]][ptRotZ] = 0.0;
  62702. }
  62703. else if(modelid >= 18891 && modelid <= 18910)
  62704. {
  62705. PlayerToyInfo[playerid][slotselection[playerid]][ptBone] = 2;
  62706. PlayerToyInfo[playerid][slotselection[playerid]][ptPosX] = 0.15;
  62707. PlayerToyInfo[playerid][slotselection[playerid]][ptPosY] = 0.0;
  62708. PlayerToyInfo[playerid][slotselection[playerid]][ptPosZ] = 0.0;
  62709. PlayerToyInfo[playerid][slotselection[playerid]][ptRotX] = 90.0;
  62710. PlayerToyInfo[playerid][slotselection[playerid]][ptRotY] = 180.0;
  62711. PlayerToyInfo[playerid][slotselection[playerid]][ptRotZ] = 90.0;
  62712. }
  62713. else if(modelid >= 18926 && modelid <= 18935)
  62714. {
  62715. PlayerToyInfo[playerid][slotselection[playerid]][ptBone] = 2;
  62716. PlayerToyInfo[playerid][slotselection[playerid]][ptPosX] = 0.1;
  62717. PlayerToyInfo[playerid][slotselection[playerid]][ptPosY] = 0.0;
  62718. PlayerToyInfo[playerid][slotselection[playerid]][ptPosZ] = 0.0;
  62719. PlayerToyInfo[playerid][slotselection[playerid]][ptRotX] = 0.0;
  62720. PlayerToyInfo[playerid][slotselection[playerid]][ptRotY] = 0.0;
  62721. PlayerToyInfo[playerid][slotselection[playerid]][ptRotZ] = 0.0;
  62722. }
  62723. else if(modelid >= 18911 && modelid <= 18920)
  62724. {
  62725. PlayerToyInfo[playerid][slotselection[playerid]][ptBone] = 2;
  62726. PlayerToyInfo[playerid][slotselection[playerid]][ptPosX] = 0.1;
  62727. PlayerToyInfo[playerid][slotselection[playerid]][ptPosY] = 0.035;
  62728. PlayerToyInfo[playerid][slotselection[playerid]][ptPosZ] = 0.0;
  62729. PlayerToyInfo[playerid][slotselection[playerid]][ptRotX] = 90.0;
  62730. PlayerToyInfo[playerid][slotselection[playerid]][ptRotY] = 180.0;
  62731. PlayerToyInfo[playerid][slotselection[playerid]][ptRotZ] = 90.0;
  62732. }
  62733. else if(modelid == 19078 || modelid == 19078)
  62734. {
  62735. PlayerToyInfo[playerid][slotselection[playerid]][ptBone] = 16;
  62736. PlayerToyInfo[playerid][slotselection[playerid]][ptPosX] = 0;
  62737. PlayerToyInfo[playerid][slotselection[playerid]][ptPosY] = 0;
  62738. PlayerToyInfo[playerid][slotselection[playerid]][ptPosZ] = 0;
  62739. PlayerToyInfo[playerid][slotselection[playerid]][ptRotX] = 180.0;
  62740. PlayerToyInfo[playerid][slotselection[playerid]][ptRotY] = 180.0;
  62741. PlayerToyInfo[playerid][slotselection[playerid]][ptRotZ] = 0.0;
  62742. }
  62743. else if((modelid >= 18641 && modelid <= 18644) || (modelid >= 19080 && modelid <= 19084) || modelid == 18890)
  62744. {
  62745. PlayerToyInfo[playerid][slotselection[playerid]][ptBone] = 6;
  62746. PlayerToyInfo[playerid][slotselection[playerid]][ptPosX] = 0.0;
  62747. PlayerToyInfo[playerid][slotselection[playerid]][ptPosY] = 0.0;
  62748. PlayerToyInfo[playerid][slotselection[playerid]][ptPosZ] = 0.0;
  62749. PlayerToyInfo[playerid][slotselection[playerid]][ptRotX] = 0.0;
  62750. PlayerToyInfo[playerid][slotselection[playerid]][ptRotY] = 0.0;
  62751. PlayerToyInfo[playerid][slotselection[playerid]][ptRotZ] = 0.0;
  62752. }
  62753. else
  62754. {
  62755. PlayerToyInfo[playerid][slotselection[playerid]][ptBone] = 2;
  62756. PlayerToyInfo[playerid][slotselection[playerid]][ptPosX] = 0.0;
  62757. PlayerToyInfo[playerid][slotselection[playerid]][ptPosY] = 0.0;
  62758. PlayerToyInfo[playerid][slotselection[playerid]][ptPosZ] = 0.0;
  62759. PlayerToyInfo[playerid][slotselection[playerid]][ptRotX] = 0.0;
  62760. PlayerToyInfo[playerid][slotselection[playerid]][ptRotY] = 0.0;
  62761. PlayerToyInfo[playerid][slotselection[playerid]][ptRotZ] = 0.0;
  62762. }
  62763. PlayerToyInfo[playerid][slotselection[playerid]][ptScaleX] = 1.0;
  62764. PlayerToyInfo[playerid][slotselection[playerid]][ptScaleY] = 1.0;
  62765. PlayerToyInfo[playerid][slotselection[playerid]][ptScaleZ] = 1.0;
  62766. format(string, sizeof(string), "* You have purchased %s for $%d (Slot: %d)", HoldingObjects[listitem][holdingmodelname], HoldingObjects[listitem][holdingprice], slotselection[playerid]);
  62767. SendClientMessage(playerid, COLOR_RED, string);
  62768. SendClientMessage(playerid, COLOR_WHITE, "HINT: Use /toys to wear/edit this");
  62769. }
  62770. }
  62771. if((dialogid == TOYS) && response)
  62772. {
  62773. if(listitem == 0)
  62774. {
  62775. new stringg[512];
  62776. for(new x;x<MAX_PLAYERTOYS;x++)
  62777. {
  62778. new name[24];
  62779. format(name, sizeof(name), "None");
  62780. for(new i;i<sizeof(HoldingObjectsAll);i++)
  62781. {
  62782. if(HoldingObjectsAll[i][holdingmodelid] == PlayerToyInfo[playerid][x][ptModelID])
  62783. {
  62784. format(name, sizeof(name), "%s", HoldingObjectsAll[i][holdingmodelname]);
  62785. }
  62786. }
  62787. for(new i;i<sizeof(HoldingObjectsShop);i++)
  62788. {
  62789. if(HoldingObjectsShop[i][holdingmodelid] == PlayerToyInfo[playerid][x][ptModelID])
  62790. {
  62791. format(name, sizeof(name), "%s", HoldingObjectsShop[i][holdingmodelname]);
  62792. }
  62793. }
  62794. format(stringg, sizeof(stringg), "%s(%d) %s (Bone: %s)\n", stringg, x, name, HoldingBones[PlayerToyInfo[playerid][x][ptBone]]);
  62795. }
  62796. ShowPlayerDialogEx(playerid, WEARTOY, DIALOG_STYLE_LIST, "Select a Toy", stringg, "Select", "Cancel");
  62797. }
  62798. else if(listitem == 1)
  62799. {
  62800. new stringg[512];
  62801. for(new x;x<MAX_PLAYERTOYS;x++)
  62802. {
  62803. new name[24];
  62804. format(name, sizeof(name), "None");
  62805. for(new i;i<sizeof(HoldingObjectsAll);i++)
  62806. {
  62807. if(HoldingObjectsAll[i][holdingmodelid] == PlayerToyInfo[playerid][x][ptModelID])
  62808. {
  62809. format(name, sizeof(name), "%s", HoldingObjectsAll[i][holdingmodelname]);
  62810. }
  62811. }
  62812. for(new i;i<sizeof(HoldingObjectsShop);i++)
  62813. {
  62814. if(HoldingObjectsShop[i][holdingmodelid] == PlayerToyInfo[playerid][x][ptModelID])
  62815. {
  62816. format(name, sizeof(name), "%s", HoldingObjectsShop[i][holdingmodelname]);
  62817. }
  62818. }
  62819. format(stringg, sizeof(stringg), "%s(%d) %s (Bone: %s)\n", stringg, x, name, HoldingBones[PlayerToyInfo[playerid][x][ptBone]]);
  62820. }
  62821. ShowPlayerDialogEx(playerid, EDITTOYS, DIALOG_STYLE_LIST, "Select a Toy", stringg, "Select", "Cancel");
  62822. }
  62823. else if(listitem == 2)
  62824. {
  62825. new stringg[512];
  62826. for(new x;x<MAX_PLAYERTOYS;x++)
  62827. {
  62828. new name[24];
  62829. format(name, sizeof(name), "None");
  62830. for(new i;i<sizeof(HoldingObjectsAll);i++)
  62831. {
  62832. if(HoldingObjectsAll[i][holdingmodelid] == PlayerToyInfo[playerid][x][ptModelID])
  62833. {
  62834. format(name, sizeof(name), "%s", HoldingObjectsAll[i][holdingmodelname]);
  62835. }
  62836. }
  62837. for(new i;i<sizeof(HoldingObjectsShop);i++)
  62838. {
  62839. if(HoldingObjectsShop[i][holdingmodelid] == PlayerToyInfo[playerid][x][ptModelID])
  62840. {
  62841. format(name, sizeof(name), "%s", HoldingObjectsShop[i][holdingmodelname]);
  62842. }
  62843. }
  62844. format(stringg, sizeof(stringg), "%s(%d) %s (Bone: %s)\n", stringg, x, name, HoldingBones[PlayerToyInfo[playerid][x][ptBone]]);
  62845. }
  62846. ShowPlayerDialogEx(playerid, DELETETOY, DIALOG_STYLE_LIST, "Select a Toy", stringg, "Delete", "Cancel");
  62847. }
  62848. }
  62849. if((dialogid == EDITTOYS) && response)
  62850. {
  62851. if(PlayerToyInfo[playerid][listitem][ptModelID] == 0)
  62852. {
  62853. ShowPlayerDialogEx(playerid, 0, DIALOG_STYLE_MSGBOX, "Toy Menu: Edit", "Woops! You don't have anything on that slot", "OK", "");
  62854. }
  62855. else
  62856. {
  62857. SendClientMessage(playerid, COLOR_WHITE, "{AA3333}HINT:{FFFF00} Position your camera differently to better see where your editing.");
  62858. slotselection[playerid] = listitem;
  62859. ShowEditMenu(playerid);
  62860. }
  62861. }
  62862. if((dialogid == EDITTOYS2))
  62863. {
  62864. if(response)
  62865. {
  62866. if(listitem == 0)
  62867. {
  62868. ShowPlayerDialogEx(playerid, EDITTOYSBONE, DIALOG_STYLE_LIST, "Select a Bone", "Spine\nHead\nLeft upper arm\nRight upper arm\nLeft hand\nRight hand\nLeft thigh\nRight thigh\nLeft foot\nRight foot\nRight calf\nLeft calf\nLeft forearm\nRight forearm\nLeft clavicle\nRight clavicle\nNeck\nJaw", "Select", "Cancel");
  62869. }
  62870. else if(listitem == 1)
  62871. {
  62872. SendClientMessage(playerid, COLOR_WHITE, "{AA3333}HINT:{FFFF00} Hold your Space Bar to move the camera,Press ESC to cancel the editor");
  62873. EditAttachedObject(playerid, slotselection[playerid]);
  62874. }
  62875. }
  62876. else
  62877. {
  62878. new stringg[512];
  62879. for(new x;x<MAX_PLAYERTOYS;x++)
  62880. {
  62881. new name[24];
  62882. format(name, sizeof(name), "None");
  62883. for(new i;i<sizeof(HoldingObjectsAll);i++)
  62884. {
  62885. if(HoldingObjectsAll[i][holdingmodelid] == PlayerToyInfo[playerid][x][ptModelID])
  62886. {
  62887. format(name, sizeof(name), "%s", HoldingObjectsAll[i][holdingmodelname]);
  62888. }
  62889. }
  62890. format(stringg, sizeof(stringg), "%s(%d) %s (Bone: %s)\n", stringg, x, name, HoldingBones[PlayerToyInfo[playerid][x][ptBone]]);
  62891. }
  62892. ShowPlayerDialogEx(playerid, EDITTOYS, DIALOG_STYLE_LIST, "Select a Toy", stringg, "Select", "Cancel");
  62893. }
  62894. }
  62895. if(dialogid == EDITTOYSBONE)
  62896. {
  62897. if(response)
  62898. {
  62899. PlayerToyInfo[playerid][slotselection[playerid]][ptBone] = listitem+1;
  62900. }
  62901. ShowEditMenu(playerid);
  62902. }
  62903. if((dialogid == WEARTOY) && response)
  62904. {
  62905. if(PlayerToyInfo[playerid][listitem][ptModelID] == 0)
  62906. {
  62907. ShowPlayerDialogEx(playerid, 0, DIALOG_STYLE_MSGBOX, "Toy Menu: Attach/Deattach", "Woops! You don't have anything to put on from that slot", "OK", "");
  62908. }
  62909. else
  62910. {
  62911. if(IsPlayerAttachedObjectSlotUsed(playerid, listitem))
  62912. {
  62913. new name[24];
  62914. format(name, sizeof(name), "None");
  62915. for(new i;i<sizeof(HoldingObjectsAll);i++)
  62916. {
  62917. if(HoldingObjectsAll[i][holdingmodelid] == PlayerToyInfo[playerid][listitem][ptModelID])
  62918. {
  62919. format(name, sizeof(name), "%s", HoldingObjectsAll[i][holdingmodelname]);
  62920. }
  62921. }
  62922. format(string, sizeof(string), "Successfully dettached %s (Bone: %s) (Slot: %d)", name, HoldingBones[PlayerToyInfo[playerid][listitem][ptBone]], listitem);
  62923. SendClientMessage(playerid, COLOR_RED, string);
  62924. RemovePlayerAttachedObject(playerid, listitem);
  62925. }
  62926. else
  62927. {
  62928. if(listitem == 5 && PlayerInfo[playerid][pDonator] < 1) return SendClientMessage(playerid, COLOR_WHITE, "* You must be a Premium Donator+ Donator to use that slot!");
  62929. if(listitem == 6 && PlayerInfo[playerid][pDonator] < 2) return SendClientMessage(playerid, COLOR_WHITE, "* You must be a Silver Donator+ Donator to use that slot!");
  62930. if(listitem == 7 && PlayerInfo[playerid][pDonator] < 3) return SendClientMessage(playerid, COLOR_WHITE, "* You must be a Gold Donator+ Donator to use that slot!");
  62931. if(PlayerToyInfo[playerid][listitem][ptScaleX] == 0) {
  62932. PlayerToyInfo[playerid][listitem][ptScaleX] = 1.0;
  62933. PlayerToyInfo[playerid][listitem][ptScaleY] = 1.0;
  62934. PlayerToyInfo[playerid][listitem][ptScaleZ] = 1.0;
  62935. }
  62936. SetPlayerAttachedObject(playerid, listitem, PlayerToyInfo[playerid][listitem][ptModelID], PlayerToyInfo[playerid][listitem][ptBone], PlayerToyInfo[playerid][listitem][ptPosX], PlayerToyInfo[playerid][listitem][ptPosY], PlayerToyInfo[playerid][listitem][ptPosZ],
  62937. PlayerToyInfo[playerid][listitem][ptRotX], PlayerToyInfo[playerid][listitem][ptRotY], PlayerToyInfo[playerid][listitem][ptRotZ], PlayerToyInfo[playerid][listitem][ptScaleX], PlayerToyInfo[playerid][listitem][ptScaleY], PlayerToyInfo[playerid][listitem][ptScaleZ]);
  62938. new name[24];
  62939. format(name, sizeof(name), "None");
  62940. for(new i;i<sizeof(HoldingObjectsAll);i++)
  62941. {
  62942. if(HoldingObjectsAll[i][holdingmodelid] == PlayerToyInfo[playerid][listitem][ptModelID])
  62943. {
  62944. format(name, sizeof(name), "%s", HoldingObjectsAll[i][holdingmodelname]);
  62945. }
  62946. }
  62947. format(string, sizeof(string), "Successfully attached %s (Bone: %s) (Slot: %d)", name, HoldingBones[PlayerToyInfo[playerid][listitem][ptBone]], listitem);
  62948. SendClientMessage(playerid, COLOR_RED, string);
  62949. }
  62950. }
  62951. }
  62952. if((dialogid == DELETETOY) && response)
  62953. {
  62954. PlayerToyInfo[playerid][listitem][ptModelID] = 0;
  62955. PlayerToyInfo[playerid][listitem][ptBone] = 0;
  62956. PlayerToyInfo[playerid][listitem][ptPosX] = 0.0;
  62957. PlayerToyInfo[playerid][listitem][ptPosY] = 0.0;
  62958. PlayerToyInfo[playerid][listitem][ptPosZ] = 0.0;
  62959. PlayerToyInfo[playerid][listitem][ptPosX] = 0.0;
  62960. PlayerToyInfo[playerid][listitem][ptPosY] = 0.0;
  62961. PlayerToyInfo[playerid][listitem][ptPosZ] = 0.0;
  62962. if(IsPlayerAttachedObjectSlotUsed(playerid, listitem))
  62963. {
  62964. RemovePlayerAttachedObject(playerid, listitem);
  62965. }
  62966. format(string, sizeof(string), "You have deleted your toy in slot %d", listitem);
  62967. ShowPlayerDialogEx(playerid, 0, DIALOG_STYLE_MSGBOX, "Toy Menu", string, "OK", "");
  62968. }
  62969. if((dialogid == BUYTOYSCOP) && response)
  62970. {
  62971. new stringg[512];
  62972. for(new x;x<MAX_PLAYERTOYS;x++)
  62973. {
  62974. new name[24] = "None";
  62975. for(new i;i<sizeof(HoldingObjectsAll);i++)
  62976. {
  62977. if(HoldingObjectsAll[i][holdingmodelid] == PlayerToyInfo[playerid][x][ptModelID])
  62978. {
  62979. format(name, sizeof(name), "%s", HoldingObjectsAll[i][holdingmodelname]);
  62980. }
  62981. }
  62982. format(stringg, sizeof(stringg), "%s(%d) %s (Bone: %s)\n", stringg, x, name, HoldingBones[PlayerToyInfo[playerid][x][ptBone]]);
  62983. }
  62984. ShowPlayerDialogEx(playerid, BUYTOYSCOP2, DIALOG_STYLE_LIST, "Select a Slot", stringg, "Select", "Cancel");
  62985. }
  62986. if((dialogid == BUYTOYSCOP2) && response)
  62987. {
  62988. // (TEMPORARY - Howard NOTE) NO VIP added yet
  62989. if(listitem >= 3 && PlayerInfo[playerid][pDonator] < 1) return SendClientMessage(playerid, COLOR_WHITE, "* You must be a Ruby Donator + to use that slot!");
  62990. if(listitem >= 4 && PlayerInfo[playerid][pDonator] < 2) return SendClientMessage(playerid, COLOR_WHITE, "* You must be a Sapphire Donator + to use that slot!");
  62991. if(listitem >= 5 && PlayerInfo[playerid][pDonator] < 3) return SendClientMessage(playerid, COLOR_WHITE, "* You must be a Diamond Donator + to use that slot!");
  62992. if(PlayerToyInfo[playerid][listitem][ptModelID] != 0) return SendClientMessage(playerid, COLOR_YELLOW, "* You already have something in that slot. Delete it with /toys");
  62993. slotselection[playerid] = listitem;
  62994. new stringg[1024];
  62995. for(new x;x<sizeof(HoldingObjectsCop);x++)
  62996. {
  62997. format(stringg, sizeof(stringg), "%s%s ($%d)\n", stringg, HoldingObjectsCop[x][holdingmodelname], HoldingObjectsCop[x][holdingprice]);
  62998. }
  62999. ShowPlayerDialogEx(playerid, BUYTOYSCOP3, DIALOG_STYLE_LIST, "Select an Item", stringg, "Buy", "Cancel");
  63000. }
  63001. if((dialogid == BUYTOYSCOP3) && response)
  63002. {
  63003. if(GetPlayerCash(playerid) < HoldingObjectsCop[listitem][holdingprice])
  63004. {
  63005. SendClientMessage(playerid, COLOR_WHITE, "* You can't afford that!");
  63006. }
  63007. else
  63008. {
  63009. GivePlayerCash(playerid, -HoldingObjectsCop[listitem][holdingprice]);
  63010. PlayerToyInfo[playerid][slotselection[playerid]][ptModelID] = HoldingObjectsCop[listitem][holdingmodelid];
  63011. new modelid = PlayerToyInfo[playerid][slotselection[playerid]][ptModelID];
  63012. if((modelid >= 19006 && modelid <= 19035) || (modelid >= 19138 && modelid <= 19140))
  63013. {
  63014. PlayerToyInfo[playerid][slotselection[playerid]][ptBone] = 2;
  63015. PlayerToyInfo[playerid][slotselection[playerid]][ptPosX] = 0.9;
  63016. PlayerToyInfo[playerid][slotselection[playerid]][ptPosY] = 0.0;
  63017. PlayerToyInfo[playerid][slotselection[playerid]][ptPosZ] = 0.35;
  63018. PlayerToyInfo[playerid][slotselection[playerid]][ptRotX] = 90.0;
  63019. PlayerToyInfo[playerid][slotselection[playerid]][ptRotY] = 90.0;
  63020. PlayerToyInfo[playerid][slotselection[playerid]][ptRotZ] = 0.0;
  63021. }
  63022. else if(modelid >= 18891 && modelid <= 18910)
  63023. {
  63024. PlayerToyInfo[playerid][slotselection[playerid]][ptBone] = 2;
  63025. PlayerToyInfo[playerid][slotselection[playerid]][ptPosX] = 0.15;
  63026. PlayerToyInfo[playerid][slotselection[playerid]][ptPosY] = 0.0;
  63027. PlayerToyInfo[playerid][slotselection[playerid]][ptPosZ] = 0.0;
  63028. PlayerToyInfo[playerid][slotselection[playerid]][ptRotX] = 90.0;
  63029. PlayerToyInfo[playerid][slotselection[playerid]][ptRotY] = 180.0;
  63030. PlayerToyInfo[playerid][slotselection[playerid]][ptRotZ] = 90.0;
  63031. }
  63032. else if(modelid >= 18926 && modelid <= 18935)
  63033. {
  63034. PlayerToyInfo[playerid][slotselection[playerid]][ptBone] = 2;
  63035. PlayerToyInfo[playerid][slotselection[playerid]][ptPosX] = 0.1;
  63036. PlayerToyInfo[playerid][slotselection[playerid]][ptPosY] = 0.0;
  63037. PlayerToyInfo[playerid][slotselection[playerid]][ptPosZ] = 0.0;
  63038. PlayerToyInfo[playerid][slotselection[playerid]][ptRotX] = 0.0;
  63039. PlayerToyInfo[playerid][slotselection[playerid]][ptRotY] = 0.0;
  63040. PlayerToyInfo[playerid][slotselection[playerid]][ptRotZ] = 0.0;
  63041. }
  63042. else if(modelid >= 18911 && modelid <= 18920)
  63043. {
  63044. PlayerToyInfo[playerid][slotselection[playerid]][ptBone] = 2;
  63045. PlayerToyInfo[playerid][slotselection[playerid]][ptPosX] = 0.1;
  63046. PlayerToyInfo[playerid][slotselection[playerid]][ptPosY] = 0.035;
  63047. PlayerToyInfo[playerid][slotselection[playerid]][ptPosZ] = 0.0;
  63048. PlayerToyInfo[playerid][slotselection[playerid]][ptRotX] = 90.0;
  63049. PlayerToyInfo[playerid][slotselection[playerid]][ptRotY] = 180.0;
  63050. PlayerToyInfo[playerid][slotselection[playerid]][ptRotZ] = 90.0;
  63051. }
  63052. else if(modelid == 19078 || modelid == 19078)
  63053. {
  63054. PlayerToyInfo[playerid][slotselection[playerid]][ptBone] = 16;
  63055. PlayerToyInfo[playerid][slotselection[playerid]][ptPosX] = 0;
  63056. PlayerToyInfo[playerid][slotselection[playerid]][ptPosY] = 0;
  63057. PlayerToyInfo[playerid][slotselection[playerid]][ptPosZ] = 0;
  63058. PlayerToyInfo[playerid][slotselection[playerid]][ptRotX] = 180.0;
  63059. PlayerToyInfo[playerid][slotselection[playerid]][ptRotY] = 180.0;
  63060. PlayerToyInfo[playerid][slotselection[playerid]][ptRotZ] = 0.0;
  63061. }
  63062. else if((modelid >= 18641 && modelid <= 18644) || (modelid >= 19080 && modelid <= 19084) || modelid == 18890)
  63063. {
  63064. PlayerToyInfo[playerid][slotselection[playerid]][ptBone] = 6;
  63065. PlayerToyInfo[playerid][slotselection[playerid]][ptPosX] = 0.0;
  63066. PlayerToyInfo[playerid][slotselection[playerid]][ptPosY] = 0.0;
  63067. PlayerToyInfo[playerid][slotselection[playerid]][ptPosZ] = 0.0;
  63068. PlayerToyInfo[playerid][slotselection[playerid]][ptRotX] = 0.0;
  63069. PlayerToyInfo[playerid][slotselection[playerid]][ptRotY] = 0.0;
  63070. PlayerToyInfo[playerid][slotselection[playerid]][ptRotZ] = 0.0;
  63071. }
  63072. else
  63073. {
  63074. PlayerToyInfo[playerid][slotselection[playerid]][ptBone] = 2;
  63075. PlayerToyInfo[playerid][slotselection[playerid]][ptPosX] = 0.0;
  63076. PlayerToyInfo[playerid][slotselection[playerid]][ptPosY] = 0.0;
  63077. PlayerToyInfo[playerid][slotselection[playerid]][ptPosZ] = 0.0;
  63078. PlayerToyInfo[playerid][slotselection[playerid]][ptRotX] = 0.0;
  63079. PlayerToyInfo[playerid][slotselection[playerid]][ptRotY] = 0.0;
  63080. PlayerToyInfo[playerid][slotselection[playerid]][ptRotZ] = 0.0;
  63081. }
  63082. PlayerToyInfo[playerid][slotselection[playerid]][ptScaleX] = 1.0;
  63083. PlayerToyInfo[playerid][slotselection[playerid]][ptScaleY] = 1.0;
  63084. PlayerToyInfo[playerid][slotselection[playerid]][ptScaleZ] = 1.0;
  63085. format(string, sizeof(string), "* You have purchased %s for $%d (Slot: %d)", HoldingObjectsCop[listitem][holdingmodelname], HoldingObjectsCop[listitem][holdingprice], slotselection[playerid]);
  63086. SendClientMessage(playerid, COLOR_RED, string);
  63087. SendClientMessage(playerid, COLOR_WHITE, "HINT: Use /toys to wear/edit this");
  63088. }
  63089. }
  63090. if((dialogid == BUYTOYSGOLD) && response)
  63091. {
  63092. if(PlayerInfo[playerid][pDonator] < 2) return SendClientMessageEx(playerid, COLOR_WHITE, "* You must be a Sapphire Donator +");
  63093. new stringg[512];
  63094. for(new x;x<MAX_PLAYERTOYS;x++)
  63095. {
  63096. new name[24] = "None";
  63097. for(new i;i<sizeof(HoldingObjectsAll);i++)
  63098. {
  63099. if(HoldingObjectsAll[i][holdingmodelid] == PlayerToyInfo[playerid][x][ptModelID])
  63100. {
  63101. format(name, sizeof(name), "%s", HoldingObjectsAll[i][holdingmodelname]);
  63102. }
  63103. }
  63104. format(stringg, sizeof(stringg), "%s(%d) %s (Bone: %s)\n", stringg, x, name, HoldingBones[PlayerToyInfo[playerid][x][ptBone]]);
  63105. }
  63106. ShowPlayerDialogEx(playerid, BUYTOYSGOLD2, DIALOG_STYLE_LIST, "Select a Slot", stringg, "Select", "Cancel");
  63107. }
  63108. if((dialogid == BUYTOYSGOLD2) && response)
  63109. {
  63110. if(PlayerInfo[playerid][pDonator] < 2) return SendClientMessageEx(playerid, COLOR_WHITE, "* You must be a Sapphire Donator +");
  63111. if(PlayerToyInfo[playerid][listitem][ptModelID] != 0) return SendClientMessageEx(playerid, COLOR_YELLOW, "* You already have something in that slot. Delete it with /toys");
  63112. slotselection[playerid] = listitem;
  63113. new stringg[5256];
  63114. for(new x;x<sizeof(HoldingObjectsAll);x++)
  63115. {
  63116. format(stringg, sizeof(stringg), "%s%s ($%d)\n", stringg, HoldingObjectsAll[x][holdingmodelname], HoldingObjectsAll[x][holdingprice]);
  63117. }
  63118. ShowPlayerDialogEx(playerid, BUYTOYSGOLD3, DIALOG_STYLE_LIST, "Select an Item", stringg, "Buy", "Cancel");
  63119. }
  63120. if((dialogid == BUYTOYSGOLD3) && response)
  63121. {
  63122. if(PlayerInfo[playerid][pDonator] < 2) return SendClientMessageEx(playerid, COLOR_WHITE, "* You must be a Sapphire Donator +");
  63123. if(GetPlayerCash(playerid) < HoldingObjects[listitem][holdingprice])
  63124. {
  63125. SendClientMessageEx(playerid, COLOR_WHITE, "* You can't afford that!");
  63126. }
  63127. else
  63128. {
  63129. GivePlayerCash(playerid, -HoldingObjectsAll[listitem][holdingprice]);
  63130. PlayerToyInfo[playerid][slotselection[playerid]][ptModelID] = HoldingObjectsAll[listitem][holdingmodelid];
  63131. new modelid = PlayerToyInfo[playerid][slotselection[playerid]][ptModelID];
  63132. if((modelid >= 19006 && modelid <= 19035) || (modelid >= 19138 && modelid <= 19140))
  63133. {
  63134. PlayerToyInfo[playerid][slotselection[playerid]][ptBone] = 2;
  63135. PlayerToyInfo[playerid][slotselection[playerid]][ptPosX] = 0.9;
  63136. PlayerToyInfo[playerid][slotselection[playerid]][ptPosY] = 0.0;
  63137. PlayerToyInfo[playerid][slotselection[playerid]][ptPosZ] = 0.35;
  63138. PlayerToyInfo[playerid][slotselection[playerid]][ptRotX] = 90.0;
  63139. PlayerToyInfo[playerid][slotselection[playerid]][ptRotY] = 90.0;
  63140. PlayerToyInfo[playerid][slotselection[playerid]][ptRotZ] = 0.0;
  63141. PlayerToyInfo[playerid][slotselection[playerid]][ptScaleX] = 1.0;
  63142. PlayerToyInfo[playerid][slotselection[playerid]][ptScaleY] = 1.0;
  63143. PlayerToyInfo[playerid][slotselection[playerid]][ptScaleZ] = 1.0;
  63144. }
  63145. else if(modelid >= 18891 && modelid <= 18910)
  63146. {
  63147. PlayerToyInfo[playerid][slotselection[playerid]][ptBone] = 2;
  63148. PlayerToyInfo[playerid][slotselection[playerid]][ptPosX] = 0.15;
  63149. PlayerToyInfo[playerid][slotselection[playerid]][ptPosY] = 0.0;
  63150. PlayerToyInfo[playerid][slotselection[playerid]][ptPosZ] = 0.0;
  63151. PlayerToyInfo[playerid][slotselection[playerid]][ptRotX] = 90.0;
  63152. PlayerToyInfo[playerid][slotselection[playerid]][ptRotY] = 180.0;
  63153. PlayerToyInfo[playerid][slotselection[playerid]][ptRotZ] = 90.0;
  63154. PlayerToyInfo[playerid][slotselection[playerid]][ptScaleX] = 1.0;
  63155. PlayerToyInfo[playerid][slotselection[playerid]][ptScaleY] = 1.0;
  63156. PlayerToyInfo[playerid][slotselection[playerid]][ptScaleZ] = 1.0;
  63157. }
  63158. else if(modelid >= 18926 && modelid <= 18935)
  63159. {
  63160. PlayerToyInfo[playerid][slotselection[playerid]][ptBone] = 2;
  63161. PlayerToyInfo[playerid][slotselection[playerid]][ptPosX] = 0.1;
  63162. PlayerToyInfo[playerid][slotselection[playerid]][ptPosY] = 0.0;
  63163. PlayerToyInfo[playerid][slotselection[playerid]][ptPosZ] = 0.0;
  63164. PlayerToyInfo[playerid][slotselection[playerid]][ptRotX] = 0.0;
  63165. PlayerToyInfo[playerid][slotselection[playerid]][ptRotY] = 0.0;
  63166. PlayerToyInfo[playerid][slotselection[playerid]][ptRotZ] = 0.0;
  63167. PlayerToyInfo[playerid][slotselection[playerid]][ptScaleX] = 1.0;
  63168. PlayerToyInfo[playerid][slotselection[playerid]][ptScaleY] = 1.0;
  63169. PlayerToyInfo[playerid][slotselection[playerid]][ptScaleZ] = 1.0;
  63170. }
  63171. else if(modelid >= 18911 && modelid <= 18920)
  63172. {
  63173. PlayerToyInfo[playerid][slotselection[playerid]][ptBone] = 2;
  63174. PlayerToyInfo[playerid][slotselection[playerid]][ptPosX] = 0.1;
  63175. PlayerToyInfo[playerid][slotselection[playerid]][ptPosY] = 0.035;
  63176. PlayerToyInfo[playerid][slotselection[playerid]][ptPosZ] = 0.0;
  63177. PlayerToyInfo[playerid][slotselection[playerid]][ptRotX] = 90.0;
  63178. PlayerToyInfo[playerid][slotselection[playerid]][ptRotY] = 180.0;
  63179. PlayerToyInfo[playerid][slotselection[playerid]][ptRotZ] = 90.0;
  63180. PlayerToyInfo[playerid][slotselection[playerid]][ptScaleX] = 1.0;
  63181. PlayerToyInfo[playerid][slotselection[playerid]][ptScaleY] = 1.0;
  63182. PlayerToyInfo[playerid][slotselection[playerid]][ptScaleZ] = 1.0;
  63183. }
  63184. else if(modelid == 19078 || modelid == 19078)
  63185. {
  63186. PlayerToyInfo[playerid][slotselection[playerid]][ptBone] = 16;
  63187. PlayerToyInfo[playerid][slotselection[playerid]][ptPosX] = 0;
  63188. PlayerToyInfo[playerid][slotselection[playerid]][ptPosY] = 0;
  63189. PlayerToyInfo[playerid][slotselection[playerid]][ptPosZ] = 0;
  63190. PlayerToyInfo[playerid][slotselection[playerid]][ptRotX] = 180.0;
  63191. PlayerToyInfo[playerid][slotselection[playerid]][ptRotY] = 180.0;
  63192. PlayerToyInfo[playerid][slotselection[playerid]][ptRotZ] = 0.0;
  63193. PlayerToyInfo[playerid][slotselection[playerid]][ptScaleX] = 1.0;
  63194. PlayerToyInfo[playerid][slotselection[playerid]][ptScaleY] = 1.0;
  63195. PlayerToyInfo[playerid][slotselection[playerid]][ptScaleZ] = 1.0;
  63196. }
  63197. else if((modelid >= 18641 && modelid <= 18644) || (modelid >= 19080 && modelid <= 19084) || modelid == 18890)
  63198. {
  63199. PlayerToyInfo[playerid][slotselection[playerid]][ptBone] = 6;
  63200. PlayerToyInfo[playerid][slotselection[playerid]][ptPosX] = 0.0;
  63201. PlayerToyInfo[playerid][slotselection[playerid]][ptPosY] = 0.0;
  63202. PlayerToyInfo[playerid][slotselection[playerid]][ptPosZ] = 0.0;
  63203. PlayerToyInfo[playerid][slotselection[playerid]][ptRotX] = 0.0;
  63204. PlayerToyInfo[playerid][slotselection[playerid]][ptRotY] = 0.0;
  63205. PlayerToyInfo[playerid][slotselection[playerid]][ptRotZ] = 0.0;
  63206. PlayerToyInfo[playerid][slotselection[playerid]][ptScaleX] = 1.0;
  63207. PlayerToyInfo[playerid][slotselection[playerid]][ptScaleY] = 1.0;
  63208. PlayerToyInfo[playerid][slotselection[playerid]][ptScaleZ] = 1.0;
  63209. }
  63210. else
  63211. {
  63212. PlayerToyInfo[playerid][slotselection[playerid]][ptBone] = 2;
  63213. PlayerToyInfo[playerid][slotselection[playerid]][ptPosX] = 0.0;
  63214. PlayerToyInfo[playerid][slotselection[playerid]][ptPosY] = 0.0;
  63215. PlayerToyInfo[playerid][slotselection[playerid]][ptPosZ] = 0.0;
  63216. PlayerToyInfo[playerid][slotselection[playerid]][ptRotX] = 0.0;
  63217. PlayerToyInfo[playerid][slotselection[playerid]][ptRotY] = 0.0;
  63218. PlayerToyInfo[playerid][slotselection[playerid]][ptRotZ] = 0.0;
  63219. PlayerToyInfo[playerid][slotselection[playerid]][ptScaleX] = 1.0;
  63220. PlayerToyInfo[playerid][slotselection[playerid]][ptScaleY] = 1.0;
  63221. PlayerToyInfo[playerid][slotselection[playerid]][ptScaleZ] = 1.0;
  63222. }
  63223. format(string, sizeof(string), "* You have purchased %s for $%d (Slot: %d)", HoldingObjectsAll[listitem][holdingmodelname], HoldingObjectsAll[listitem][holdingprice], slotselection[playerid]);
  63224. SendClientMessageEx(playerid, COLOR_RED, string);
  63225. SendClientMessageEx(playerid, COLOR_WHITE, "HINT: Use /toys to wear/edit this");
  63226. }
  63227. }
  63228. if((dialogid == BUYTOYSPLAT) && response)
  63229. {
  63230. new stringg[512];
  63231. for(new x;x<MAX_PLAYERTOYS;x++)
  63232. {
  63233. new name[24] = "None";
  63234. for(new i;i<sizeof(HoldingObjectsShop);i++)
  63235. {
  63236. if(HoldingObjectsShop[i][holdingmodelid] == PlayerToyInfo[playerid][x][ptModelID])
  63237. {
  63238. format(name, sizeof(name), "%s", HoldingObjectsShop[i][holdingmodelname]);
  63239. }
  63240. }
  63241. for(new i;i<sizeof(HoldingObjectsAll);i++)
  63242. {
  63243. if(HoldingObjectsAll[i][holdingmodelid] == PlayerToyInfo[playerid][x][ptModelID])
  63244. {
  63245. format(name, sizeof(name), "%s", HoldingObjectsAll[i][holdingmodelname]);
  63246. }
  63247. }
  63248. format(stringg, sizeof(stringg), "%s(%d) %s (Bone: %s)\n", stringg, x, name, HoldingBones[PlayerToyInfo[playerid][x][ptBone]]);
  63249. }
  63250. ShowPlayerDialogEx(playerid, BUYTOYSPLAT2, DIALOG_STYLE_LIST, "Select a Slot", stringg, "Select", "Cancel");
  63251. }
  63252. if((dialogid == BUYTOYSPLAT2) && response)
  63253. {
  63254. if(PlayerToyInfo[playerid][listitem][ptModelID] != 0) return SendClientMessageEx(playerid, COLOR_YELLOW, "* You already have something in that slot. Delete it with /toys");
  63255. slotselection[playerid] = listitem;
  63256. new stringg[5256];
  63257. for(new x;x<sizeof(HoldingObjectsShop);x++)
  63258. {
  63259. format(stringg, sizeof(stringg), "%s%s ($%d)\n", stringg, HoldingObjectsShop[x][holdingmodelname], HoldingObjectsShop[x][holdingprice]);
  63260. }
  63261. ShowPlayerDialogEx(playerid, BUYTOYSPLAT3, DIALOG_STYLE_LIST, "Select an Item", stringg, "Buy", "Cancel");
  63262. }
  63263. if((dialogid == BUYTOYSPLAT3) && response)
  63264. {
  63265. if(GetPlayerCash(playerid) < HoldingObjects[listitem][holdingprice])
  63266. {
  63267. SendClientMessageEx(playerid, COLOR_WHITE, "* You can't afford that!");
  63268. }
  63269. else
  63270. {
  63271. GivePlayerCash(playerid, -HoldingObjectsShop[listitem][holdingprice]);
  63272. PlayerToyInfo[playerid][slotselection[playerid]][ptModelID] = HoldingObjectsShop[listitem][holdingmodelid];
  63273. new modelid = PlayerToyInfo[playerid][slotselection[playerid]][ptModelID];
  63274. if((modelid >= 19317 && modelid <= 19318))
  63275. {
  63276. PlayerToyInfo[playerid][slotselection[playerid]][ptBone] = 2;
  63277. PlayerToyInfo[playerid][slotselection[playerid]][ptPosX] = 0;
  63278. PlayerToyInfo[playerid][slotselection[playerid]][ptPosY] = 0;
  63279. PlayerToyInfo[playerid][slotselection[playerid]][ptPosZ] = 0;
  63280. PlayerToyInfo[playerid][slotselection[playerid]][ptRotX] = 0;
  63281. PlayerToyInfo[playerid][slotselection[playerid]][ptRotY] = 0;
  63282. PlayerToyInfo[playerid][slotselection[playerid]][ptRotZ] = 0.0;
  63283. }
  63284. else if(modelid == 19472 || modelid == 19469)
  63285. {
  63286. PlayerToyInfo[playerid][slotselection[playerid]][ptBone] = 2;
  63287. PlayerToyInfo[playerid][slotselection[playerid]][ptPosX] = 0;
  63288. PlayerToyInfo[playerid][slotselection[playerid]][ptPosY] = 0;
  63289. PlayerToyInfo[playerid][slotselection[playerid]][ptPosZ] = 0;
  63290. PlayerToyInfo[playerid][slotselection[playerid]][ptRotX] = 0;
  63291. PlayerToyInfo[playerid][slotselection[playerid]][ptRotY] = 0;
  63292. PlayerToyInfo[playerid][slotselection[playerid]][ptRotZ] = 0.0;
  63293. }
  63294. else if(modelid >= 19421 && modelid <= 19424)
  63295. {
  63296. PlayerToyInfo[playerid][slotselection[playerid]][ptBone] = 2;
  63297. PlayerToyInfo[playerid][slotselection[playerid]][ptPosX] = 0;
  63298. PlayerToyInfo[playerid][slotselection[playerid]][ptPosY] = 0;
  63299. PlayerToyInfo[playerid][slotselection[playerid]][ptPosZ] = 0;
  63300. PlayerToyInfo[playerid][slotselection[playerid]][ptRotX] = 0;
  63301. PlayerToyInfo[playerid][slotselection[playerid]][ptRotY] = 0;
  63302. PlayerToyInfo[playerid][slotselection[playerid]][ptRotZ] = 0.0;
  63303. }
  63304. else if(modelid == 19352 || modelid >= 19350 && modelid <= 19351)
  63305. {
  63306. PlayerToyInfo[playerid][slotselection[playerid]][ptBone] = 2;
  63307. PlayerToyInfo[playerid][slotselection[playerid]][ptPosX] = 0;
  63308. PlayerToyInfo[playerid][slotselection[playerid]][ptPosY] = 0;
  63309. PlayerToyInfo[playerid][slotselection[playerid]][ptPosZ] = 0;
  63310. PlayerToyInfo[playerid][slotselection[playerid]][ptRotX] = 0;
  63311. PlayerToyInfo[playerid][slotselection[playerid]][ptRotY] = 0;
  63312. PlayerToyInfo[playerid][slotselection[playerid]][ptRotZ] = 0.0;
  63313. }
  63314. else if(modelid == 19314 || modelid == 19315)
  63315. {
  63316. PlayerToyInfo[playerid][slotselection[playerid]][ptBone] = 2;
  63317. PlayerToyInfo[playerid][slotselection[playerid]][ptPosX] = 0;
  63318. PlayerToyInfo[playerid][slotselection[playerid]][ptPosY] = 0;
  63319. PlayerToyInfo[playerid][slotselection[playerid]][ptPosZ] = 0;
  63320. PlayerToyInfo[playerid][slotselection[playerid]][ptRotX] = 0;
  63321. PlayerToyInfo[playerid][slotselection[playerid]][ptRotY] = 0;
  63322. PlayerToyInfo[playerid][slotselection[playerid]][ptRotZ] = 0.0;
  63323. }
  63324. else if((modelid >= 19006 && modelid <= 19035) || (modelid >= 19138 && modelid <= 19140))
  63325. {
  63326. PlayerToyInfo[playerid][slotselection[playerid]][ptBone] = 2;
  63327. PlayerToyInfo[playerid][slotselection[playerid]][ptPosX] = 0.9;
  63328. PlayerToyInfo[playerid][slotselection[playerid]][ptPosY] = 0.0;
  63329. PlayerToyInfo[playerid][slotselection[playerid]][ptPosZ] = 0.35;
  63330. PlayerToyInfo[playerid][slotselection[playerid]][ptRotX] = 90.0;
  63331. PlayerToyInfo[playerid][slotselection[playerid]][ptRotY] = 90.0;
  63332. PlayerToyInfo[playerid][slotselection[playerid]][ptRotZ] = 0.0;
  63333. }
  63334. else if(modelid >= 18891 && modelid <= 18910)
  63335. {
  63336. PlayerToyInfo[playerid][slotselection[playerid]][ptBone] = 2;
  63337. PlayerToyInfo[playerid][slotselection[playerid]][ptPosX] = 0.15;
  63338. PlayerToyInfo[playerid][slotselection[playerid]][ptPosY] = 0.0;
  63339. PlayerToyInfo[playerid][slotselection[playerid]][ptPosZ] = 0.0;
  63340. PlayerToyInfo[playerid][slotselection[playerid]][ptRotX] = 90.0;
  63341. PlayerToyInfo[playerid][slotselection[playerid]][ptRotY] = 180.0;
  63342. PlayerToyInfo[playerid][slotselection[playerid]][ptRotZ] = 90.0;
  63343. }
  63344. else if(modelid >= 18926 && modelid <= 18935)
  63345. {
  63346. PlayerToyInfo[playerid][slotselection[playerid]][ptBone] = 2;
  63347. PlayerToyInfo[playerid][slotselection[playerid]][ptPosX] = 0.1;
  63348. PlayerToyInfo[playerid][slotselection[playerid]][ptPosY] = 0.0;
  63349. PlayerToyInfo[playerid][slotselection[playerid]][ptPosZ] = 0.0;
  63350. PlayerToyInfo[playerid][slotselection[playerid]][ptRotX] = 0.0;
  63351. PlayerToyInfo[playerid][slotselection[playerid]][ptRotY] = 0.0;
  63352. PlayerToyInfo[playerid][slotselection[playerid]][ptRotZ] = 0.0;
  63353. }
  63354. else if(modelid >= 18911 && modelid <= 18920)
  63355. {
  63356. PlayerToyInfo[playerid][slotselection[playerid]][ptBone] = 2;
  63357. PlayerToyInfo[playerid][slotselection[playerid]][ptPosX] = 0.1;
  63358. PlayerToyInfo[playerid][slotselection[playerid]][ptPosY] = 0.035;
  63359. PlayerToyInfo[playerid][slotselection[playerid]][ptPosZ] = 0.0;
  63360. PlayerToyInfo[playerid][slotselection[playerid]][ptRotX] = 90.0;
  63361. PlayerToyInfo[playerid][slotselection[playerid]][ptRotY] = 180.0;
  63362. PlayerToyInfo[playerid][slotselection[playerid]][ptRotZ] = 90.0;
  63363. }
  63364. else if(modelid == 19078 || modelid == 19078)
  63365. {
  63366. PlayerToyInfo[playerid][slotselection[playerid]][ptBone] = 16;
  63367. PlayerToyInfo[playerid][slotselection[playerid]][ptPosX] = 0;
  63368. PlayerToyInfo[playerid][slotselection[playerid]][ptPosY] = 0;
  63369. PlayerToyInfo[playerid][slotselection[playerid]][ptPosZ] = 0;
  63370. PlayerToyInfo[playerid][slotselection[playerid]][ptRotX] = 180.0;
  63371. PlayerToyInfo[playerid][slotselection[playerid]][ptRotY] = 180.0;
  63372. PlayerToyInfo[playerid][slotselection[playerid]][ptRotZ] = 0.0;
  63373. }
  63374. else if((modelid >= 18641 && modelid <= 18644) || (modelid >= 19080 && modelid <= 19084) || modelid == 18890)
  63375. {
  63376. PlayerToyInfo[playerid][slotselection[playerid]][ptBone] = 6;
  63377. PlayerToyInfo[playerid][slotselection[playerid]][ptPosX] = 0.0;
  63378. PlayerToyInfo[playerid][slotselection[playerid]][ptPosY] = 0.0;
  63379. PlayerToyInfo[playerid][slotselection[playerid]][ptPosZ] = 0.0;
  63380. PlayerToyInfo[playerid][slotselection[playerid]][ptRotX] = 0.0;
  63381. PlayerToyInfo[playerid][slotselection[playerid]][ptRotY] = 0.0;
  63382. PlayerToyInfo[playerid][slotselection[playerid]][ptRotZ] = 0.0;
  63383. }
  63384. else
  63385. {
  63386. PlayerToyInfo[playerid][slotselection[playerid]][ptBone] = 2;
  63387. PlayerToyInfo[playerid][slotselection[playerid]][ptPosX] = 0.0;
  63388. PlayerToyInfo[playerid][slotselection[playerid]][ptPosY] = 0.0;
  63389. PlayerToyInfo[playerid][slotselection[playerid]][ptPosZ] = 0.0;
  63390. PlayerToyInfo[playerid][slotselection[playerid]][ptRotX] = 0.0;
  63391. PlayerToyInfo[playerid][slotselection[playerid]][ptRotY] = 0.0;
  63392. PlayerToyInfo[playerid][slotselection[playerid]][ptRotZ] = 0.0;
  63393. }
  63394. format(string, sizeof(string), "* You have purchased %s for $%d (Slot: %d)", HoldingObjectsShop[listitem][holdingmodelname], HoldingObjectsShop[listitem][holdingprice], slotselection[playerid]);
  63395. SendClientMessageEx(playerid, COLOR_RED, string);
  63396. SendClientMessageEx(playerid, COLOR_WHITE, "HINT: Use /toys to wear/edit this");
  63397. }
  63398. }
  63399. if(dialogid == LSFMDMENU)
  63400. {
  63401. if(response)
  63402. {
  63403. if(listitem == 0)
  63404. {
  63405. if(PlayerInfo[playerid][pDuty] == 0)
  63406. {
  63407. GetPlayerName(playerid, sendername, sizeof(sendername));
  63408. format(string, sizeof(string), "* Paramedic %s clocked in and is now on duty.", GetPlayerNameEx(playerid));
  63409. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  63410. SetPlayerColor(playerid,TEAM_MED_COLOR);
  63411. SetPlayerArmourEx(playerid, 100);
  63412. if(PlayerInfo[playerid][pRank] >= 4 || PlayerInfo[playerid][pLeader] == 3)
  63413. {
  63414. GivePlayerValidWeapon(playerid, 42, 99999);
  63415. }
  63416. Medics += 1;
  63417. PlayerInfo[playerid][pDuty] = 1;
  63418. }
  63419. else
  63420. {
  63421. format(string, sizeof(string), "* Paramedic %s clocked out and is now off duty.", GetPlayerNameEx(playerid));
  63422. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  63423. Medics -= 1;
  63424. PlayerInfo[playerid][pDuty] = 0;
  63425. SetPlayerColor(playerid,TEAM_HIT_COLOR);
  63426. }
  63427. }
  63428. if(listitem == 1)
  63429. {
  63430. ShowPlayerDialogEx(playerid, LSFMDSKINS, DIALOG_STYLE_LIST, "What uniform do you want?","Firesuit 1\nFiresuit 2\nFiresuit 3\nMedic 1\nMedic 2\nMedic 3\nFemale\nHigh Rank", "Select", "Cancel");
  63431. }
  63432. if(listitem == 2)
  63433. {
  63434. ShowPlayerDialogEx(playerid, LSFMDGEAR, DIALOG_STYLE_LIST, "What gear do you want?","Shovel\nCamera\nParachute\nFire Extinguisher\nChainsaw\nShotgun\nVest\nFirst Aid Kit\nAccessories", "Select", "Cancel");
  63435. }
  63436. if(listitem == 3)
  63437. {
  63438. SetPlayerColor(playerid, TEAM_MED_COLOR);
  63439. SetPlayerSkin(playerid, 170);
  63440. ResetPlayerWeaponsEx(playerid);
  63441. }
  63442. }
  63443. }
  63444. if(dialogid == LSFMDSKINS)
  63445. {
  63446. if(response)
  63447. {
  63448. if(listitem == 0)
  63449. {
  63450. PlayerInfo[playerid][pSkin] = 277;
  63451. SetPlayerSkin(playerid, 277);
  63452. }
  63453. if(listitem == 1)
  63454. {
  63455. PlayerInfo[playerid][pSkin] = 278;
  63456. SetPlayerSkin(playerid, 278);
  63457. }
  63458. if(listitem == 2)
  63459. {
  63460. PlayerInfo[playerid][pSkin] = 279;
  63461. SetPlayerSkin(playerid, 279);
  63462. }
  63463. if(listitem == 3)
  63464. {
  63465. PlayerInfo[playerid][pSkin] = 274;
  63466. SetPlayerSkin(playerid, 274);
  63467. }
  63468. if(listitem == 4)
  63469. {
  63470. PlayerInfo[playerid][pSkin] = 275;
  63471. SetPlayerSkin(playerid, 275);
  63472. }
  63473. if(listitem == 5)
  63474. {
  63475. PlayerInfo[playerid][pSkin] = 276;
  63476. SetPlayerSkin(playerid, 276);
  63477. }
  63478. if(listitem == 6)
  63479. {
  63480. PlayerInfo[playerid][pSkin] = 217;
  63481. SetPlayerSkin(playerid, 211);
  63482. }
  63483. if(listitem == 7)
  63484. {
  63485. if(PlayerInfo[playerid][pRank] >= 5)
  63486. {
  63487. PlayerInfo[playerid][pSkin] = 295;
  63488. SetPlayerSkin(playerid, 295);
  63489. }
  63490. else
  63491. {
  63492. SendClientMessage(playerid, COLOR_GRAD2, "Only ranks 5 and 6 can wear this uniform.");
  63493. }
  63494. }
  63495. }
  63496. }
  63497. if(dialogid == LSFMDGEAR)
  63498. {
  63499. if(response)
  63500. {
  63501. if(PlayerInfo[playerid][pConnectTime] < 2) return SendClientMessage(playerid, COLOR_GRAD2, "You can't use this as you're currently restricted from possessing weapons!");
  63502. if(listitem == 0)
  63503. {
  63504. GivePlayerValidWeapon(playerid, 6, 99999);
  63505. }
  63506. else if(listitem == 1)
  63507. {
  63508. GivePlayerValidWeapon(playerid, 43, 99999);
  63509. }
  63510. else if(listitem == 2)
  63511. {
  63512. GivePlayerValidWeapon(playerid, 46, 99999);
  63513. }
  63514. else if(listitem == 3)
  63515. {
  63516. GivePlayerValidWeapon(playerid, 42, 99999);
  63517. }
  63518. else if(listitem == 4)
  63519. {
  63520. if(PlayerInfo[playerid][pRank] >= 4 || PlayerInfo[playerid][pLeader] == 4)
  63521. {
  63522. GivePlayerValidWeapon(playerid, 9, 99999);
  63523. }
  63524. else
  63525. {
  63526. SendClientMessage(playerid, COLOR_GRAD2, "You're not a high enough rank!");
  63527. }
  63528. }
  63529. else if(listitem == 5)
  63530. {
  63531. GivePlayerValidWeapon(playerid, 25, 99999);
  63532. }
  63533. else if(listitem == 6)
  63534. {
  63535. SetPlayerArmourEx(playerid, 100);
  63536. }
  63537. else if(listitem == 7) SetPlayerHealth(playerid, 100);
  63538. // (TEMPORARY - Howard NOTE) No VIP added yet
  63539. //else ShowPlayerDialogEx(playerid, BUYTOYSCOP, DIALOG_STYLE_MSGBOX, "Accessories", "Welcome to the law enforcement accessory locker!\n\n(As with regular toys, VIP unlocks more slots.)","Continue", "Cancel");
  63540. else if(listitem == 8) ShowPlayerDialogEx(playerid, BUYTOYSCOP, DIALOG_STYLE_MSGBOX, "Accessories", "Welcome to the law enforcement accessory locker!","Continue", "Cancel");
  63541. }
  63542. }
  63543. if(dialogid == DIALOG_RADIOMENU_START)
  63544. {
  63545. if(response)
  63546. {
  63547. if(listitem == 0)
  63548. {
  63549. new radiovehicle = GetPlayerVehicleID(playerid);
  63550. if(VehicleRadioStation[radiovehicle] == 0)
  63551. {
  63552. SendClientMessage(playerid, COLOR_GRAD1, "The radio in this vehicle is already turned off.");
  63553. return 1;
  63554. }
  63555. format(string, sizeof(string), "* %s has turned off the radio.", GetPlayerNameEx(playerid));
  63556. ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  63557. VehicleRadioStation[radiovehicle] = 0;
  63558. StopAudioStreamForPlayer(playerid);
  63559. foreach(Player, i)
  63560. {
  63561. if(GetPlayerVehicleID(i) == radiovehicle && IsPlayerInAnyVehicle(i) && GetPlayerState(i) == PLAYER_STATE_PASSENGER && i != playerid)
  63562. {
  63563. StopAudioStreamForPlayer(i);
  63564. }
  63565. }
  63566. }
  63567. if(listitem == 1)
  63568. {
  63569. ShowPlayerDialogEx(playerid, DIALOG_RADIOMENU_SEARCH, DIALOG_STYLE_INPUT, "Radio stations - Search radio", "Enter the radio station you want to search for.\n\nNote: The search must be no less than 3 characters in length.", "Search", "Cancel");
  63570. }
  63571. if(listitem == 2)
  63572. {
  63573. ShowPlayerDialogEx(playerid, DIALOG_RADIOMENU_GENRE, DIALOG_STYLE_LIST, "Radio stations - Select a genre", "Alternative\nBlues\nClassical\nCountry\nDecades\nEasy Listening\nElectronic\nFolk\nInspirational\nInternational\nJazz\nLatin\nMetal\nMisc\nNew Age\nPop\nPublic Radio\nR&B/Urban\nRap\nReggae\nRock\nTalk", "Select", "Cancel");
  63574. }
  63575. }
  63576. }
  63577. if(dialogid == DIALOG_RADIOMENU_SEARCH)
  63578. {
  63579. if(response)
  63580. {
  63581. if(strlen(inputtext) < 3)
  63582. {
  63583. ShowPlayerDialogEx(playerid, DIALOG_RADIOMENU_SEARCH, DIALOG_STYLE_INPUT, "Radio stations - Search radio", "ENTRY DECLINED: The search must be no less than 3 characters in length.\n\nEnter the radio station you want to search for.\n\nNote: It must be no less than 3 characters.", "Search", "Cancel");
  63584. }
  63585. else
  63586. {
  63587. for(new x; x < 50; ++x) ListItemTrackId[playerid][x] = -1;
  63588. new stringg[512], name[32], search[128], iCount;
  63589. strcat(search, inputtext, sizeof(search));
  63590. for (new i=0; i<220; i++)
  63591. {
  63592. if(strfind(VehicleRadioListing[i][radioname], search, true) != -1 && iCount < 50)
  63593. {
  63594. format(name, sizeof(name), "%s", VehicleRadioListing[i][radioname]);
  63595. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  63596. ListItemTrackId[playerid][iCount++] = i;
  63597. }
  63598. }
  63599. if(iCount == 0)
  63600. {
  63601. ShowPlayerDialogEx(playerid, DIALOG_RADIOMENU_SEARCH, DIALOG_STYLE_INPUT, "Radio stations - Search radio", "SEARCH FAILED: No such radio stations found.\n\nEnter the radio station you want to search for.\n\nNote: It must be no less than 3 characters.", "Search", "Cancel");
  63602. }
  63603. else
  63604. {
  63605. ShowPlayerDialogEx(playerid, DIALOG_RADIOMENU_SEARCHLIST, DIALOG_STYLE_LIST, "Ratio stations - Search results", stringg, "Play", "Cancel");
  63606. }
  63607. }
  63608. }
  63609. }
  63610. if(dialogid == DIALOG_RADIOMENU_SEARCHLIST)
  63611. {
  63612. if(response)
  63613. {
  63614. new t = ListItemTrackId[playerid][listitem];
  63615. new radiovehicle = GetPlayerVehicleID(playerid);
  63616. if(VehicleRadioStation[radiovehicle] == t+1)
  63617. {
  63618. SendClientMessage(playerid, COLOR_GRAD1, "The radio station in this vehicle is already set to that station.");
  63619. return 1;
  63620. }
  63621. format(string, sizeof(string), "* %s has set the radio station to %s.", GetPlayerNameEx(playerid), VehicleRadioListing[t][radioname]);
  63622. ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  63623. VehicleRadioStation[radiovehicle] = t+1;
  63624. PlayAudioStreamForPlayer(playerid, VehicleRadioListing[t][radiourl]);
  63625. foreach(Player, i)
  63626. {
  63627. if(GetPlayerVehicleID(i) == radiovehicle && IsPlayerInAnyVehicle(i) && GetPlayerState(i) == PLAYER_STATE_PASSENGER && i != playerid)
  63628. {
  63629. PlayAudioStreamForPlayer(i, VehicleRadioListing[t][radiourl]);
  63630. }
  63631. }
  63632. }
  63633. }
  63634. if(dialogid == DIALOG_RADIOMENU_GENRE)
  63635. {
  63636. if(response)
  63637. {
  63638. new stringg[321], name[32], iCount;
  63639. for(new x; x < 50; ++x) ListItemTrackId[playerid][x] = -1;
  63640. if(listitem == 0)
  63641. {
  63642. for(new r = 0; r < 10; ++r)
  63643. {
  63644. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  63645. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  63646. ListItemTrackId[playerid][iCount++] = r;
  63647. }
  63648. ShowPlayerDialogEx(playerid, DIALOG_RADIOMENU_PLAY, DIALOG_STYLE_LIST, "Radio stations - Alternative", stringg, "Play", "Cancel");
  63649. }
  63650. if(listitem == 1)
  63651. {
  63652. for(new r = 10; r < 20; ++r)
  63653. {
  63654. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  63655. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  63656. ListItemTrackId[playerid][iCount++] = r;
  63657. }
  63658. ShowPlayerDialogEx(playerid, DIALOG_RADIOMENU_PLAY, DIALOG_STYLE_LIST, "Radio stations - Blues", stringg, "Play", "Cancel");
  63659. }
  63660. if(listitem == 2)
  63661. {
  63662. for(new r = 20; r < 30; ++r)
  63663. {
  63664. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  63665. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  63666. ListItemTrackId[playerid][iCount++] = r;
  63667. }
  63668. ShowPlayerDialogEx(playerid, DIALOG_RADIOMENU_PLAY, DIALOG_STYLE_LIST, "Radio stations - Classical", stringg, "Play", "Cancel");
  63669. }
  63670. if(listitem == 3)
  63671. {
  63672. for(new r = 30; r < 40; ++r)
  63673. {
  63674. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  63675. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  63676. ListItemTrackId[playerid][iCount++] = r;
  63677. }
  63678. ShowPlayerDialogEx(playerid, DIALOG_RADIOMENU_PLAY, DIALOG_STYLE_LIST, "Radio stations - Country", stringg, "Play", "Cancel");
  63679. }
  63680. if(listitem == 4)
  63681. {
  63682. for(new r = 40; r < 50; ++r)
  63683. {
  63684. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  63685. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  63686. ListItemTrackId[playerid][iCount++] = r;
  63687. }
  63688. ShowPlayerDialogEx(playerid, DIALOG_RADIOMENU_PLAY, DIALOG_STYLE_LIST, "Radio stations - Decades", stringg, "Play", "Cancel");
  63689. }
  63690. if(listitem == 5)
  63691. {
  63692. for(new r = 50; r < 60; ++r)
  63693. {
  63694. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  63695. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  63696. ListItemTrackId[playerid][iCount++] = r;
  63697. }
  63698. ShowPlayerDialogEx(playerid, DIALOG_RADIOMENU_PLAY, DIALOG_STYLE_LIST, "Radio stations - Easy Listening", stringg, "Play", "Cancel");
  63699. }
  63700. if(listitem == 6)
  63701. {
  63702. for(new r = 60; r < 70; ++r)
  63703. {
  63704. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  63705. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  63706. ListItemTrackId[playerid][iCount++] = r;
  63707. }
  63708. ShowPlayerDialogEx(playerid, DIALOG_RADIOMENU_PLAY, DIALOG_STYLE_LIST, "Radio stations - Electronic", stringg, "Play", "Cancel");
  63709. }
  63710. if(listitem == 7)
  63711. {
  63712. for(new r = 70; r < 80; ++r)
  63713. {
  63714. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  63715. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  63716. ListItemTrackId[playerid][iCount++] = r;
  63717. }
  63718. ShowPlayerDialogEx(playerid, DIALOG_RADIOMENU_PLAY, DIALOG_STYLE_LIST, "Radio stations - Folk", stringg, "Play", "Cancel");
  63719. }
  63720. if(listitem == 8)
  63721. {
  63722. for(new r = 80; r < 90; ++r)
  63723. {
  63724. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  63725. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  63726. ListItemTrackId[playerid][iCount++] = r;
  63727. }
  63728. ShowPlayerDialogEx(playerid, DIALOG_RADIOMENU_PLAY, DIALOG_STYLE_LIST, "Radio stations - Inspirational", stringg, "Play", "Cancel");
  63729. }
  63730. if(listitem == 9)
  63731. {
  63732. for(new r = 90; r < 100; ++r)
  63733. {
  63734. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  63735. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  63736. ListItemTrackId[playerid][iCount++] = r;
  63737. }
  63738. ShowPlayerDialogEx(playerid, DIALOG_RADIOMENU_PLAY, DIALOG_STYLE_LIST, "Radio stations - International", stringg, "Play", "Cancel");
  63739. }
  63740. if(listitem == 10)
  63741. {
  63742. for(new r = 100; r < 110; ++r)
  63743. {
  63744. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  63745. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  63746. ListItemTrackId[playerid][iCount++] = r;
  63747. }
  63748. ShowPlayerDialogEx(playerid, DIALOG_RADIOMENU_PLAY, DIALOG_STYLE_LIST, "Radio stations - Jazz", stringg, "Play", "Cancel");
  63749. }
  63750. if(listitem == 11)
  63751. {
  63752. for(new r = 110; r < 120; ++r)
  63753. {
  63754. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  63755. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  63756. ListItemTrackId[playerid][iCount++] = r;
  63757. }
  63758. ShowPlayerDialogEx(playerid, DIALOG_RADIOMENU_PLAY, DIALOG_STYLE_LIST, "Radio stations - Latin", stringg, "Play", "Cancel");
  63759. }
  63760. if(listitem == 12)
  63761. {
  63762. for(new r = 120; r < 130; ++r)
  63763. {
  63764. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  63765. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  63766. ListItemTrackId[playerid][iCount++] = r;
  63767. }
  63768. ShowPlayerDialogEx(playerid, DIALOG_RADIOMENU_PLAY, DIALOG_STYLE_LIST, "Radio stations - Metal", stringg, "Play", "Cancel");
  63769. }
  63770. if(listitem == 13)
  63771. {
  63772. for(new r = 130; r < 140; ++r)
  63773. {
  63774. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  63775. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  63776. ListItemTrackId[playerid][iCount++] = r;
  63777. }
  63778. ShowPlayerDialogEx(playerid, DIALOG_RADIOMENU_PLAY, DIALOG_STYLE_LIST, "Radio stations - Misc", stringg, "Play", "Cancel");
  63779. }
  63780. if(listitem == 14)
  63781. {
  63782. for(new r = 140; r < 150; ++r)
  63783. {
  63784. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  63785. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  63786. ListItemTrackId[playerid][iCount++] = r;
  63787. }
  63788. ShowPlayerDialogEx(playerid, DIALOG_RADIOMENU_PLAY, DIALOG_STYLE_LIST, "Radio stations - New Age", stringg, "Play", "Cancel");
  63789. }
  63790. if(listitem == 15)
  63791. {
  63792. for(new r = 150; r < 160; ++r)
  63793. {
  63794. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  63795. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  63796. ListItemTrackId[playerid][iCount++] = r;
  63797. }
  63798. ShowPlayerDialogEx(playerid, DIALOG_RADIOMENU_PLAY, DIALOG_STYLE_LIST, "Radio stations - Pop", stringg, "Play", "Cancel");
  63799. }
  63800. if(listitem == 16)
  63801. {
  63802. for(new r = 160; r < 170; ++r)
  63803. {
  63804. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  63805. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  63806. ListItemTrackId[playerid][iCount++] = r;
  63807. }
  63808. ShowPlayerDialogEx(playerid, DIALOG_RADIOMENU_PLAY, DIALOG_STYLE_LIST, "Radio stations - Public Radio", stringg, "Play", "Cancel");
  63809. }
  63810. if(listitem == 17)
  63811. {
  63812. for(new r = 170; r < 180; ++r)
  63813. {
  63814. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  63815. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  63816. ListItemTrackId[playerid][iCount++] = r;
  63817. }
  63818. ShowPlayerDialogEx(playerid, DIALOG_RADIOMENU_PLAY, DIALOG_STYLE_LIST, "Radio stations - R&B/Urban", stringg, "Play", "Cancel");
  63819. }
  63820. if(listitem == 18)
  63821. {
  63822. for(new r = 180; r < 190; ++r)
  63823. {
  63824. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  63825. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  63826. ListItemTrackId[playerid][iCount++] = r;
  63827. }
  63828. ShowPlayerDialogEx(playerid, DIALOG_RADIOMENU_PLAY, DIALOG_STYLE_LIST, "Radio stations - Rap", stringg, "Play", "Cancel");
  63829. }
  63830. if(listitem == 19)
  63831. {
  63832. for(new r = 190; r < 200; ++r)
  63833. {
  63834. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  63835. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  63836. ListItemTrackId[playerid][iCount++] = r;
  63837. }
  63838. ShowPlayerDialogEx(playerid, DIALOG_RADIOMENU_PLAY, DIALOG_STYLE_LIST, "Radio stations - Reggae", stringg, "Play", "Cancel");
  63839. }
  63840. if(listitem == 20)
  63841. {
  63842. for(new r = 200; r < 210; ++r)
  63843. {
  63844. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  63845. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  63846. ListItemTrackId[playerid][iCount++] = r;
  63847. }
  63848. ShowPlayerDialogEx(playerid, DIALOG_RADIOMENU_PLAY, DIALOG_STYLE_LIST, "Radio stations - Rock", stringg, "Play", "Cancel");
  63849. }
  63850. if(listitem == 21)
  63851. {
  63852. for(new r = 210; r < 220; ++r)
  63853. {
  63854. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  63855. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  63856. ListItemTrackId[playerid][iCount++] = r;
  63857. }
  63858. ShowPlayerDialogEx(playerid, DIALOG_RADIOMENU_PLAY, DIALOG_STYLE_LIST, "Radio stations - Talk", stringg, "Play", "Cancel");
  63859. }
  63860. // CURRENTLY NO HOLIDAYS
  63861. /*if(listitem == 24)
  63862. {
  63863. ShowPlayerDialogEx(playerid, DIALOG_RADIOMENU_SEASON, DIALOG_STYLE_LIST, "Radio stations - Seasonal/Holiday", "", "Play", "Cancel");
  63864. }*/
  63865. }
  63866. }
  63867. else if(dialogid == DIALOG_RADIOMENU_PLAY)
  63868. {
  63869. if(response)
  63870. {
  63871. new t = ListItemTrackId[playerid][listitem];
  63872. new radiovehicle = GetPlayerVehicleID(playerid);
  63873. if(VehicleRadioStation[radiovehicle] == t+1)
  63874. {
  63875. SendClientMessage(playerid, COLOR_GRAD1, "The radio station in this vehicle is already set to that station.");
  63876. return 1;
  63877. }
  63878. format(string, sizeof(string), "* %s has set the radio station to %s.", GetPlayerNameEx(playerid), VehicleRadioListing[t][radioname]);
  63879. ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  63880. VehicleRadioStation[radiovehicle] = t+1;
  63881. PlayAudioStreamForPlayer(playerid, VehicleRadioListing[t][radiourl]);
  63882. foreach(Player, i)
  63883. {
  63884. if(GetPlayerVehicleID(i) == radiovehicle && IsPlayerInAnyVehicle(i) && GetPlayerState(i) == PLAYER_STATE_PASSENGER && i != playerid)
  63885. {
  63886. PlayAudioStreamForPlayer(i, VehicleRadioListing[t][radiourl]);
  63887. }
  63888. }
  63889. }
  63890. }
  63891. if(dialogid == DIALOG_MP3_START)
  63892. {
  63893. if(response)
  63894. {
  63895. if(listitem == 0)
  63896. {
  63897. if(MP3Station[playerid] == 0)
  63898. {
  63899. SendClientMessage(playerid, COLOR_GRAD1, "Your MP3 Player is already turned off.");
  63900. return 1;
  63901. }
  63902. format(string, sizeof(string), "* %s has turned off their MP3 Player.", GetPlayerNameEx(playerid));
  63903. ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  63904. MP3Station[playerid] = 0;
  63905. StopAudioStreamForPlayer(playerid);
  63906. }
  63907. if(listitem == 1)
  63908. {
  63909. ShowPlayerDialogEx(playerid, DIALOG_MP3_SEARCH, DIALOG_STYLE_INPUT, "MP3 Player - Search radio", "Enter the radio station you want to search for.\n\nNote: The search must be no less than 3 characters in length.", "Search", "Cancel");
  63910. }
  63911. if(listitem == 2)
  63912. {
  63913. ShowPlayerDialogEx(playerid, DIALOG_MP3_GENRE, DIALOG_STYLE_LIST, "MP3 Player - Select a genre", "Alternative\nBlues\nClassical\nCountry\nDecades\nEasy Listening\nElectronic\nFolk\nInspirational\nInternational\nJazz\nLatin\nMetal\nMisc\nNew Age\nPop\nPublic Radio\nR&B/Urban\nRap\nReggae\nRock\nTalk", "Select", "Cancel");
  63914. }
  63915. }
  63916. }
  63917. if(dialogid == DIALOG_MP3_SEARCH)
  63918. {
  63919. if(response)
  63920. {
  63921. if(strlen(inputtext) < 3)
  63922. {
  63923. ShowPlayerDialogEx(playerid, DIALOG_MP3_SEARCH, DIALOG_STYLE_INPUT, "MP3 Player - Search radio", "ENTRY DECLINED: The search must be no less than 3 characters in length.\n\nEnter the radio station you want to search for.\n\nNote: It must be no less than 3 characters.", "Search", "Cancel");
  63924. }
  63925. else
  63926. {
  63927. for(new x; x < 50; ++x) ListItemTrackId[playerid][x] = -1;
  63928. new stringg[512], name[32], search[128], iCount;
  63929. strcat(search, inputtext, sizeof(search));
  63930. for (new i=0; i<220; i++)
  63931. {
  63932. if(strfind(VehicleRadioListing[i][radioname], search, true) != -1 && iCount < 50)
  63933. {
  63934. format(name, sizeof(name), "%s", VehicleRadioListing[i][radioname]);
  63935. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  63936. ListItemTrackId[playerid][iCount++] = i;
  63937. }
  63938. }
  63939. if(iCount == 0)
  63940. {
  63941. ShowPlayerDialogEx(playerid, DIALOG_MP3_SEARCH, DIALOG_STYLE_INPUT, "MP3 Player - Search radio", "SEARCH FAILED: No such radio stations found.\n\nEnter the radio station you want to search for.\n\nNote: It must be no less than 3 characters.", "Search", "Cancel");
  63942. }
  63943. else
  63944. {
  63945. ShowPlayerDialogEx(playerid, DIALOG_MP3_SEARCHLIST, DIALOG_STYLE_LIST, "MP3 Player - Search results", stringg, "Play", "Cancel");
  63946. }
  63947. }
  63948. }
  63949. }
  63950. if(dialogid == DIALOG_MP3_SEARCHLIST)
  63951. {
  63952. if(response)
  63953. {
  63954. new t = ListItemTrackId[playerid][listitem];
  63955. format(string, sizeof(string), "* %s has set their MP3 Player to %s.", GetPlayerNameEx(playerid), VehicleRadioListing[t][radioname]);
  63956. ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  63957. MP3Station[playerid] = t+1;
  63958. PlayAudioStreamForPlayer(playerid, VehicleRadioListing[t][radiourl]);
  63959. }
  63960. }
  63961. if(dialogid == DIALOG_MP3_GENRE)
  63962. {
  63963. if(response)
  63964. {
  63965. new stringg[321], name[32], iCount;
  63966. for(new x; x < 50; ++x) ListItemTrackId[playerid][x] = -1;
  63967. if(listitem == 0)
  63968. {
  63969. for(new r = 0; r < 10; ++r)
  63970. {
  63971. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  63972. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  63973. ListItemTrackId[playerid][iCount++] = r;
  63974. }
  63975. ShowPlayerDialogEx(playerid, DIALOG_MP3_PLAY, DIALOG_STYLE_LIST, "MP3 Player - Alternative", stringg, "Play", "Cancel");
  63976. }
  63977. if(listitem == 1)
  63978. {
  63979. for(new r = 10; r < 20; ++r)
  63980. {
  63981. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  63982. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  63983. ListItemTrackId[playerid][iCount++] = r;
  63984. }
  63985. ShowPlayerDialogEx(playerid, DIALOG_MP3_PLAY, DIALOG_STYLE_LIST, "MP3 Player - Blues", stringg, "Play", "Cancel");
  63986. }
  63987. if(listitem == 2)
  63988. {
  63989. for(new r = 20; r < 30; ++r)
  63990. {
  63991. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  63992. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  63993. ListItemTrackId[playerid][iCount++] = r;
  63994. }
  63995. ShowPlayerDialogEx(playerid, DIALOG_MP3_PLAY, DIALOG_STYLE_LIST, "MP3 Player - Classical", stringg, "Play", "Cancel");
  63996. }
  63997. if(listitem == 3)
  63998. {
  63999. for(new r = 30; r < 40; ++r)
  64000. {
  64001. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64002. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64003. ListItemTrackId[playerid][iCount++] = r;
  64004. }
  64005. ShowPlayerDialogEx(playerid, DIALOG_MP3_PLAY, DIALOG_STYLE_LIST, "MP3 Player - Country", stringg, "Play", "Cancel");
  64006. }
  64007. if(listitem == 4)
  64008. {
  64009. for(new r = 40; r < 50; ++r)
  64010. {
  64011. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64012. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64013. ListItemTrackId[playerid][iCount++] = r;
  64014. }
  64015. ShowPlayerDialogEx(playerid, DIALOG_MP3_PLAY, DIALOG_STYLE_LIST, "MP3 Player - Decades", stringg, "Play", "Cancel");
  64016. }
  64017. if(listitem == 5)
  64018. {
  64019. for(new r = 50; r < 60; ++r)
  64020. {
  64021. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64022. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64023. ListItemTrackId[playerid][iCount++] = r;
  64024. }
  64025. ShowPlayerDialogEx(playerid, DIALOG_MP3_PLAY, DIALOG_STYLE_LIST, "MP3 Player - Easy Listening", stringg, "Play", "Cancel");
  64026. }
  64027. if(listitem == 6)
  64028. {
  64029. for(new r = 60; r < 70; ++r)
  64030. {
  64031. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64032. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64033. ListItemTrackId[playerid][iCount++] = r;
  64034. }
  64035. ShowPlayerDialogEx(playerid, DIALOG_MP3_PLAY, DIALOG_STYLE_LIST, "MP3 Player - Electronic", stringg, "Play", "Cancel");
  64036. }
  64037. if(listitem == 7)
  64038. {
  64039. for(new r = 70; r < 80; ++r)
  64040. {
  64041. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64042. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64043. ListItemTrackId[playerid][iCount++] = r;
  64044. }
  64045. ShowPlayerDialogEx(playerid, DIALOG_MP3_PLAY, DIALOG_STYLE_LIST, "MP3 Player - Folk", stringg, "Play", "Cancel");
  64046. }
  64047. if(listitem == 8)
  64048. {
  64049. for(new r = 80; r < 90; ++r)
  64050. {
  64051. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64052. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64053. ListItemTrackId[playerid][iCount++] = r;
  64054. }
  64055. ShowPlayerDialogEx(playerid, DIALOG_MP3_PLAY, DIALOG_STYLE_LIST, "MP3 Player - Inspirational", stringg, "Play", "Cancel");
  64056. }
  64057. if(listitem == 9)
  64058. {
  64059. for(new r = 90; r < 100; ++r)
  64060. {
  64061. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64062. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64063. ListItemTrackId[playerid][iCount++] = r;
  64064. }
  64065. ShowPlayerDialogEx(playerid, DIALOG_MP3_PLAY, DIALOG_STYLE_LIST, "MP3 Player - International", stringg, "Play", "Cancel");
  64066. }
  64067. if(listitem == 10)
  64068. {
  64069. for(new r = 100; r < 110; ++r)
  64070. {
  64071. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64072. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64073. ListItemTrackId[playerid][iCount++] = r;
  64074. }
  64075. ShowPlayerDialogEx(playerid, DIALOG_MP3_PLAY, DIALOG_STYLE_LIST, "MP3 Player - Jazz", stringg, "Play", "Cancel");
  64076. }
  64077. if(listitem == 11)
  64078. {
  64079. for(new r = 110; r < 120; ++r)
  64080. {
  64081. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64082. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64083. ListItemTrackId[playerid][iCount++] = r;
  64084. }
  64085. ShowPlayerDialogEx(playerid, DIALOG_MP3_PLAY, DIALOG_STYLE_LIST, "MP3 Player - Latin", stringg, "Play", "Cancel");
  64086. }
  64087. if(listitem == 12)
  64088. {
  64089. for(new r = 120; r < 130; ++r)
  64090. {
  64091. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64092. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64093. ListItemTrackId[playerid][iCount++] = r;
  64094. }
  64095. ShowPlayerDialogEx(playerid, DIALOG_MP3_PLAY, DIALOG_STYLE_LIST, "MP3 Player - Metal", stringg, "Play", "Cancel");
  64096. }
  64097. if(listitem == 13)
  64098. {
  64099. for(new r = 130; r < 140; ++r)
  64100. {
  64101. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64102. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64103. ListItemTrackId[playerid][iCount++] = r;
  64104. }
  64105. ShowPlayerDialogEx(playerid, DIALOG_MP3_PLAY, DIALOG_STYLE_LIST, "MP3 Player - Misc", stringg, "Play", "Cancel");
  64106. }
  64107. if(listitem == 14)
  64108. {
  64109. for(new r = 140; r < 150; ++r)
  64110. {
  64111. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64112. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64113. ListItemTrackId[playerid][iCount++] = r;
  64114. }
  64115. ShowPlayerDialogEx(playerid, DIALOG_MP3_PLAY, DIALOG_STYLE_LIST, "MP3 Player - New Age", stringg, "Play", "Cancel");
  64116. }
  64117. if(listitem == 15)
  64118. {
  64119. for(new r = 150; r < 160; ++r)
  64120. {
  64121. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64122. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64123. ListItemTrackId[playerid][iCount++] = r;
  64124. }
  64125. ShowPlayerDialogEx(playerid, DIALOG_MP3_PLAY, DIALOG_STYLE_LIST, "MP3 Player - Pop", stringg, "Play", "Cancel");
  64126. }
  64127. if(listitem == 16)
  64128. {
  64129. for(new r = 160; r < 170; ++r)
  64130. {
  64131. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64132. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64133. ListItemTrackId[playerid][iCount++] = r;
  64134. }
  64135. ShowPlayerDialogEx(playerid, DIALOG_MP3_PLAY, DIALOG_STYLE_LIST, "MP3 Player - Public Radio", stringg, "Play", "Cancel");
  64136. }
  64137. if(listitem == 17)
  64138. {
  64139. for(new r = 170; r < 180; ++r)
  64140. {
  64141. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64142. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64143. ListItemTrackId[playerid][iCount++] = r;
  64144. }
  64145. ShowPlayerDialogEx(playerid, DIALOG_MP3_PLAY, DIALOG_STYLE_LIST, "MP3 Player - R&B/Urban", stringg, "Play", "Cancel");
  64146. }
  64147. if(listitem == 18)
  64148. {
  64149. for(new r = 180; r < 190; ++r)
  64150. {
  64151. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64152. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64153. ListItemTrackId[playerid][iCount++] = r;
  64154. }
  64155. ShowPlayerDialogEx(playerid, DIALOG_MP3_PLAY, DIALOG_STYLE_LIST, "MP3 Player - Rap", stringg, "Play", "Cancel");
  64156. }
  64157. if(listitem == 19)
  64158. {
  64159. for(new r = 190; r < 200; ++r)
  64160. {
  64161. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64162. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64163. ListItemTrackId[playerid][iCount++] = r;
  64164. }
  64165. ShowPlayerDialogEx(playerid, DIALOG_MP3_PLAY, DIALOG_STYLE_LIST, "MP3 Player - Reggae", stringg, "Play", "Cancel");
  64166. }
  64167. if(listitem == 20)
  64168. {
  64169. for(new r = 200; r < 210; ++r)
  64170. {
  64171. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64172. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64173. ListItemTrackId[playerid][iCount++] = r;
  64174. }
  64175. ShowPlayerDialogEx(playerid, DIALOG_MP3_PLAY, DIALOG_STYLE_LIST, "MP3 Player - Rock", stringg, "Play", "Cancel");
  64176. }
  64177. if(listitem == 21)
  64178. {
  64179. for(new r = 210; r < 220; ++r)
  64180. {
  64181. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64182. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64183. ListItemTrackId[playerid][iCount++] = r;
  64184. }
  64185. ShowPlayerDialogEx(playerid, DIALOG_MP3_PLAY, DIALOG_STYLE_LIST, "MP3 Player - Talk", stringg, "Play", "Cancel");
  64186. }
  64187. // CURRENTLY NO HOLIDAYS
  64188. /*if(listitem == 24)
  64189. {
  64190. ShowPlayerDialogEx(playerid, DIALOG_MP3_SEASON, DIALOG_STYLE_LIST, "MP3 Player - Seasonal/Holiday", "", "Play", "Cancel");
  64191. }*/
  64192. }
  64193. }
  64194. else if(dialogid == DIALOG_MP3_PLAY)
  64195. {
  64196. if(response)
  64197. {
  64198. new t = ListItemTrackId[playerid][listitem];
  64199. format(string, sizeof(string), "* %s has set their MP3 Player to %s.", GetPlayerNameEx(playerid), VehicleRadioListing[t][radioname]);
  64200. ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  64201. MP3Station[playerid] = t+1;
  64202. PlayAudioStreamForPlayer(playerid, VehicleRadioListing[t][radiourl]);
  64203. }
  64204. }
  64205. if(dialogid == DIALOG_BOOMBOX_START)
  64206. {
  64207. if(response)
  64208. {
  64209. if(listitem == 0)
  64210. {
  64211. ShowPlayerDialogEx(playerid, DIALOG_BOOMBOX_SEARCH, DIALOG_STYLE_INPUT, "Boombox - Search radio", "Enter the radio station you want to search for.\n\nNote: The search must be no less than 3 characters in length.", "Search", "Cancel");
  64212. }
  64213. if(listitem == 1)
  64214. {
  64215. ShowPlayerDialogEx(playerid, DIALOG_BOOMBOX_GENRE, DIALOG_STYLE_LIST, "Boombox - Select a genre", "Alternative\nBlues\nClassical\nCountry\nDecades\nEasy Listening\nElectronic\nFolk\nInspirational\nInternational\nJazz\nLatin\nMetal\nMisc\nNew Age\nPop\nPublic Radio\nR&B/Urban\nRap\nReggae\nRock\nTalk", "Select", "Cancel");
  64216. }
  64217. }
  64218. }
  64219. if(dialogid == DIALOG_BOOMBOX_SEARCH)
  64220. {
  64221. if(response)
  64222. {
  64223. if(strlen(inputtext) < 3)
  64224. {
  64225. ShowPlayerDialogEx(playerid, DIALOG_BOOMBOX_SEARCH, DIALOG_STYLE_INPUT, "Boombox - Search radio", "ENTRY DECLINED: The search must be no less than 3 characters in length.\n\nEnter the radio station you want to search for.\n\nNote: It must be no less than 3 characters.", "Search", "Cancel");
  64226. }
  64227. else
  64228. {
  64229. for(new x; x < 50; ++x) ListItemTrackId[playerid][x] = -1;
  64230. new stringg[512], name[32], search[128], iCount;
  64231. strcat(search, inputtext, sizeof(search));
  64232. for (new i=0; i<220; i++)
  64233. {
  64234. if(strfind(VehicleRadioListing[i][radioname], search, true) != -1 && iCount < 50)
  64235. {
  64236. format(name, sizeof(name), "%s", VehicleRadioListing[i][radioname]);
  64237. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64238. ListItemTrackId[playerid][iCount++] = i;
  64239. }
  64240. }
  64241. if(iCount == 0)
  64242. {
  64243. ShowPlayerDialogEx(playerid, DIALOG_BOOMBOX_SEARCH, DIALOG_STYLE_INPUT, "Boombox - Search radio", "SEARCH FAILED: No such radio stations found.\n\nEnter the radio station you want to search for.\n\nNote: It must be no less than 3 characters.", "Search", "Cancel");
  64244. }
  64245. else
  64246. {
  64247. ShowPlayerDialogEx(playerid, DIALOG_BOOMBOX_SEARCHLIST, DIALOG_STYLE_LIST, "Boombox - Search results", stringg, "Play", "Cancel");
  64248. }
  64249. }
  64250. }
  64251. }
  64252. if(dialogid == DIALOG_BOOMBOX_SEARCHLIST)
  64253. {
  64254. if(response)
  64255. {
  64256. new t = ListItemTrackId[playerid][listitem];
  64257. format(string, sizeof(string), "* %s has set down a Boombox to %s.", GetPlayerNameEx(playerid), VehicleRadioListing[t][radioname]);
  64258. ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  64259. BoomBoxSet[playerid] = 1;
  64260. GetPlayerPos(playerid, BoomboxInfo[playerid][bbPosX], BoomboxInfo[playerid][bbPosY], BoomboxInfo[playerid][bbPosZ]);
  64261. BoomboxInfo[playerid][bbInt] = GetPlayerInterior(playerid);
  64262. BoomboxInfo[playerid][bbVW] = GetPlayerVirtualWorld(playerid);
  64263. BoomboxInfo[playerid][bbStation] = t+1;
  64264. BoomboxInfo[playerid][bbSetBy] = playerid;
  64265. ApplyAnimation(playerid,"BOMBER","BOM_Plant",4.0,0,0,0,0,0);
  64266. ApplyAnimation(playerid,"BOMBER","BOM_Plant",4.0,0,0,0,0,0);
  64267. BoomboxInfo[playerid][bbObject] = CreateDynamicObject(2103, BoomboxInfo[playerid][bbPosX], BoomboxInfo[playerid][bbPosY], BoomboxInfo[playerid][bbPosZ]-0.9, 0, 0, 0, BoomboxInfo[playerid][bbVW], BoomboxInfo[playerid][bbInt]);
  64268. foreach(Player, i)
  64269. {
  64270. if(IsPlayerInRangeOfPoint(i,150.0,BoomboxInfo[playerid][bbPosX],BoomboxInfo[playerid][bbPosY],BoomboxInfo[playerid][bbPosZ]) && GetPlayerInterior(i) == BoomboxInfo[playerid][bbInt] && GetPlayerVirtualWorld(i) == BoomboxInfo[playerid][bbVW])
  64271. {
  64272. PlayAudioStreamForPlayer(i, VehicleRadioListing[t][radiourl], BoomboxInfo[playerid][bbPosX], BoomboxInfo[playerid][bbPosY], BoomboxInfo[playerid][bbPosZ], 50.0, 1);
  64273. }
  64274. }
  64275. }
  64276. }
  64277. if(dialogid == DIALOG_BOOMBOX_GENRE)
  64278. {
  64279. if(response)
  64280. {
  64281. new stringg[321], name[32], iCount;
  64282. for(new x; x < 50; ++x) ListItemTrackId[playerid][x] = -1;
  64283. if(listitem == 0)
  64284. {
  64285. for(new r = 0; r < 10; ++r)
  64286. {
  64287. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64288. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64289. ListItemTrackId[playerid][iCount++] = r;
  64290. }
  64291. ShowPlayerDialogEx(playerid, DIALOG_BOOMBOX_PLAY, DIALOG_STYLE_LIST, "Boombox Alternative", stringg, "Play", "Cancel");
  64292. }
  64293. if(listitem == 1)
  64294. {
  64295. for(new r = 10; r < 20; ++r)
  64296. {
  64297. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64298. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64299. ListItemTrackId[playerid][iCount++] = r;
  64300. }
  64301. ShowPlayerDialogEx(playerid, DIALOG_BOOMBOX_PLAY, DIALOG_STYLE_LIST, "Boombox Blues", stringg, "Play", "Cancel");
  64302. }
  64303. if(listitem == 2)
  64304. {
  64305. for(new r = 20; r < 30; ++r)
  64306. {
  64307. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64308. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64309. ListItemTrackId[playerid][iCount++] = r;
  64310. }
  64311. ShowPlayerDialogEx(playerid, DIALOG_BOOMBOX_PLAY, DIALOG_STYLE_LIST, "Boombox Classical", stringg, "Play", "Cancel");
  64312. }
  64313. if(listitem == 3)
  64314. {
  64315. for(new r = 30; r < 40; ++r)
  64316. {
  64317. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64318. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64319. ListItemTrackId[playerid][iCount++] = r;
  64320. }
  64321. ShowPlayerDialogEx(playerid, DIALOG_BOOMBOX_PLAY, DIALOG_STYLE_LIST, "Boombox Country", stringg, "Play", "Cancel");
  64322. }
  64323. if(listitem == 4)
  64324. {
  64325. for(new r = 40; r < 50; ++r)
  64326. {
  64327. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64328. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64329. ListItemTrackId[playerid][iCount++] = r;
  64330. }
  64331. ShowPlayerDialogEx(playerid, DIALOG_BOOMBOX_PLAY, DIALOG_STYLE_LIST, "Boombox Decades", stringg, "Play", "Cancel");
  64332. }
  64333. if(listitem == 5)
  64334. {
  64335. for(new r = 50; r < 60; ++r)
  64336. {
  64337. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64338. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64339. ListItemTrackId[playerid][iCount++] = r;
  64340. }
  64341. ShowPlayerDialogEx(playerid, DIALOG_BOOMBOX_PLAY, DIALOG_STYLE_LIST, "Boombox Easy Listening", stringg, "Play", "Cancel");
  64342. }
  64343. if(listitem == 6)
  64344. {
  64345. for(new r = 60; r < 70; ++r)
  64346. {
  64347. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64348. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64349. ListItemTrackId[playerid][iCount++] = r;
  64350. }
  64351. ShowPlayerDialogEx(playerid, DIALOG_BOOMBOX_PLAY, DIALOG_STYLE_LIST, "Boombox Electronic", stringg, "Play", "Cancel");
  64352. }
  64353. if(listitem == 7)
  64354. {
  64355. for(new r = 70; r < 80; ++r)
  64356. {
  64357. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64358. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64359. ListItemTrackId[playerid][iCount++] = r;
  64360. }
  64361. ShowPlayerDialogEx(playerid, DIALOG_BOOMBOX_PLAY, DIALOG_STYLE_LIST, "Boombox Folk", stringg, "Play", "Cancel");
  64362. }
  64363. if(listitem == 8)
  64364. {
  64365. for(new r = 80; r < 90; ++r)
  64366. {
  64367. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64368. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64369. ListItemTrackId[playerid][iCount++] = r;
  64370. }
  64371. ShowPlayerDialogEx(playerid, DIALOG_BOOMBOX_PLAY, DIALOG_STYLE_LIST, "Boombox Inspirational", stringg, "Play", "Cancel");
  64372. }
  64373. if(listitem == 9)
  64374. {
  64375. for(new r = 90; r < 100; ++r)
  64376. {
  64377. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64378. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64379. ListItemTrackId[playerid][iCount++] = r;
  64380. }
  64381. ShowPlayerDialogEx(playerid, DIALOG_BOOMBOX_PLAY, DIALOG_STYLE_LIST, "Boombox International", stringg, "Play", "Cancel");
  64382. }
  64383. if(listitem == 10)
  64384. {
  64385. for(new r = 100; r < 110; ++r)
  64386. {
  64387. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64388. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64389. ListItemTrackId[playerid][iCount++] = r;
  64390. }
  64391. ShowPlayerDialogEx(playerid, DIALOG_BOOMBOX_PLAY, DIALOG_STYLE_LIST, "Boombox Jazz", stringg, "Play", "Cancel");
  64392. }
  64393. if(listitem == 11)
  64394. {
  64395. for(new r = 110; r < 120; ++r)
  64396. {
  64397. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64398. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64399. ListItemTrackId[playerid][iCount++] = r;
  64400. }
  64401. ShowPlayerDialogEx(playerid, DIALOG_BOOMBOX_PLAY, DIALOG_STYLE_LIST, "Boombox Latin", stringg, "Play", "Cancel");
  64402. }
  64403. if(listitem == 12)
  64404. {
  64405. for(new r = 120; r < 130; ++r)
  64406. {
  64407. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64408. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64409. ListItemTrackId[playerid][iCount++] = r;
  64410. }
  64411. ShowPlayerDialogEx(playerid, DIALOG_BOOMBOX_PLAY, DIALOG_STYLE_LIST, "Boombox Metal", stringg, "Play", "Cancel");
  64412. }
  64413. if(listitem == 13)
  64414. {
  64415. for(new r = 130; r < 140; ++r)
  64416. {
  64417. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64418. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64419. ListItemTrackId[playerid][iCount++] = r;
  64420. }
  64421. ShowPlayerDialogEx(playerid, DIALOG_BOOMBOX_PLAY, DIALOG_STYLE_LIST, "Boombox Misc", stringg, "Play", "Cancel");
  64422. }
  64423. if(listitem == 14)
  64424. {
  64425. for(new r = 140; r < 150; ++r)
  64426. {
  64427. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64428. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64429. ListItemTrackId[playerid][iCount++] = r;
  64430. }
  64431. ShowPlayerDialogEx(playerid, DIALOG_BOOMBOX_PLAY, DIALOG_STYLE_LIST, "Boombox New Age", stringg, "Play", "Cancel");
  64432. }
  64433. if(listitem == 15)
  64434. {
  64435. for(new r = 150; r < 160; ++r)
  64436. {
  64437. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64438. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64439. ListItemTrackId[playerid][iCount++] = r;
  64440. }
  64441. ShowPlayerDialogEx(playerid, DIALOG_BOOMBOX_PLAY, DIALOG_STYLE_LIST, "Boombox Pop", stringg, "Play", "Cancel");
  64442. }
  64443. if(listitem == 16)
  64444. {
  64445. for(new r = 160; r < 170; ++r)
  64446. {
  64447. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64448. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64449. ListItemTrackId[playerid][iCount++] = r;
  64450. }
  64451. ShowPlayerDialogEx(playerid, DIALOG_BOOMBOX_PLAY, DIALOG_STYLE_LIST, "Boombox Public Radio", stringg, "Play", "Cancel");
  64452. }
  64453. if(listitem == 17)
  64454. {
  64455. for(new r = 170; r < 180; ++r)
  64456. {
  64457. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64458. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64459. ListItemTrackId[playerid][iCount++] = r;
  64460. }
  64461. ShowPlayerDialogEx(playerid, DIALOG_BOOMBOX_PLAY, DIALOG_STYLE_LIST, "Boombox R&B/Urban", stringg, "Play", "Cancel");
  64462. }
  64463. if(listitem == 18)
  64464. {
  64465. for(new r = 180; r < 190; ++r)
  64466. {
  64467. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64468. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64469. ListItemTrackId[playerid][iCount++] = r;
  64470. }
  64471. ShowPlayerDialogEx(playerid, DIALOG_BOOMBOX_PLAY, DIALOG_STYLE_LIST, "Boombox Rap", stringg, "Play", "Cancel");
  64472. }
  64473. if(listitem == 19)
  64474. {
  64475. for(new r = 190; r < 200; ++r)
  64476. {
  64477. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64478. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64479. ListItemTrackId[playerid][iCount++] = r;
  64480. }
  64481. ShowPlayerDialogEx(playerid, DIALOG_BOOMBOX_PLAY, DIALOG_STYLE_LIST, "Boombox Reggae", stringg, "Play", "Cancel");
  64482. }
  64483. if(listitem == 20)
  64484. {
  64485. for(new r = 200; r < 210; ++r)
  64486. {
  64487. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64488. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64489. ListItemTrackId[playerid][iCount++] = r;
  64490. }
  64491. ShowPlayerDialogEx(playerid, DIALOG_BOOMBOX_PLAY, DIALOG_STYLE_LIST, "Boombox Rock", stringg, "Play", "Cancel");
  64492. }
  64493. if(listitem == 21)
  64494. {
  64495. for(new r = 210; r < 220; ++r)
  64496. {
  64497. format(name, sizeof(name), "%s", VehicleRadioListing[r][radioname]);
  64498. format(stringg, sizeof(stringg), "%s %s\n", stringg, name);
  64499. ListItemTrackId[playerid][iCount++] = r;
  64500. }
  64501. ShowPlayerDialogEx(playerid, DIALOG_BOOMBOX_PLAY, DIALOG_STYLE_LIST, "Boombox Talk", stringg, "Play", "Cancel");
  64502. }
  64503. // CURRENTLY NO HOLIDAYS
  64504. /*if(listitem == 24)
  64505. {
  64506. ShowPlayerDialogEx(playerid, DIALOG_BOOMBOX_SEASON, DIALOG_STYLE_LIST, "Boombox Seasonal/Holiday", "", "Play", "Cancel");
  64507. }*/
  64508. }
  64509. }
  64510. if(dialogid == DIALOG_BOOMBOX_PLAY)
  64511. {
  64512. if(response)
  64513. {
  64514. new t = ListItemTrackId[playerid][listitem];
  64515. format(string, sizeof(string), "* %s has set down a Boombox to %s.", GetPlayerNameEx(playerid), VehicleRadioListing[t][radioname]);
  64516. ProxDetector(25.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  64517. BoomBoxSet[playerid] = 1;
  64518. GetPlayerPos(playerid, BoomboxInfo[playerid][bbPosX], BoomboxInfo[playerid][bbPosY], BoomboxInfo[playerid][bbPosZ]);
  64519. BoomboxInfo[playerid][bbInt] = GetPlayerInterior(playerid);
  64520. BoomboxInfo[playerid][bbVW] = GetPlayerVirtualWorld(playerid);
  64521. BoomboxInfo[playerid][bbStation] = t+1;
  64522. BoomboxInfo[playerid][bbSetBy] = playerid;
  64523. ApplyAnimation(playerid,"BOMBER","BOM_Plant",4.0,0,0,0,0,0);
  64524. ApplyAnimation(playerid,"BOMBER","BOM_Plant",4.0,0,0,0,0,0);
  64525. BoomboxInfo[playerid][bbObject] = CreateDynamicObject(2103, BoomboxInfo[playerid][bbPosX], BoomboxInfo[playerid][bbPosY], BoomboxInfo[playerid][bbPosZ]-0.9, 0, 0, 0, BoomboxInfo[playerid][bbVW], BoomboxInfo[playerid][bbInt]);
  64526. foreach(Player, i)
  64527. {
  64528. if(IsPlayerInRangeOfPoint(i,150.0,BoomboxInfo[playerid][bbPosX],BoomboxInfo[playerid][bbPosY],BoomboxInfo[playerid][bbPosZ]) && GetPlayerInterior(i) == BoomboxInfo[playerid][bbInt] && GetPlayerVirtualWorld(i) == BoomboxInfo[playerid][bbVW])
  64529. {
  64530. PlayAudioStreamForPlayer(i, VehicleRadioListing[t][radiourl], BoomboxInfo[playerid][bbPosX], BoomboxInfo[playerid][bbPosY], BoomboxInfo[playerid][bbPosZ], 50.0, 1);
  64531. }
  64532. }
  64533. }
  64534. }
  64535. /*if(dialogid == REPORTSMENU)
  64536. {
  64537. if(response)
  64538. {
  64539. if(CancelReport[playerid] == listitem) return 1;
  64540. new reportid = ListItemReportId[playerid][listitem];
  64541. if(Reports[reportid][BeingUsed] == 0)
  64542. {
  64543. SendClientMessage(playerid, COLOR_GREY, " That report ID is not being used!");
  64544. return 1;
  64545. }
  64546. if(!IsPlayerConnected(Reports[reportid][ReportFrom]))
  64547. {
  64548. SendClientMessage(playerid, COLOR_GREY, " The reporter has disconnected!");
  64549. Reports[reportid][ReportFrom] = 999;
  64550. Reports[reportid][BeingUsed] = 0;
  64551. return 1;
  64552. }
  64553. format(string, sizeof(string), "AdmCmd: %s has accepted the report from %s (ID: %i RID: %i).", GetPlayerNameEx(playerid), GetPlayerNameEx(Reports[reportid][ReportFrom]), Reports[reportid][ReportFrom], reportid);
  64554. ABroadCast(COLOR_ORANGE, string, 1);
  64555. AddReportToken(playerid); // Report Tokens
  64556. if(PlayerInfo[playerid][pAdmin] == 1)
  64557. {
  64558. SendClientMessage(Reports[reportid][ReportFrom], COLOR_WHITE, "An admin has accepted your report and is reviewing it, you can /reply to send messages to the admin reviewing your report.");
  64559. }
  64560. else
  64561. {
  64562. format(string, sizeof(string), "%s has accepted your report and is reviewing it, you can /reply to send messages to the admin reviewing your report.", GetPlayerNameEx(playerid));
  64563. SendClientMessage(Reports[reportid][ReportFrom], COLOR_WHITE, string);
  64564. }
  64565. PlayerInfo[playerid][pAcceptReport]++;
  64566. Reports[reportid][ReplyTimerr] = SetTimerEx("ReplyTimer", 60000, 0, "d", reportid);
  64567. Reports[reportid][CheckingReport] = playerid;
  64568. //Reports[reportid][ReportFrom] = 999;
  64569. Reports[reportid][BeingUsed] = 0;
  64570. Reports[reportid][TimeToExpire] = 0;
  64571. //strmid(Reports[reportid][Report], "None", 0, 4, 4);
  64572. }
  64573. else
  64574. {
  64575. if(CancelReport[playerid] == listitem) return 1;
  64576. new reportid = ListItemReportId[playerid][listitem];
  64577. if(Reports[reportid][BeingUsed] == 0)
  64578. {
  64579. SendClientMessage(playerid, COLOR_GREY, " That report ID is not being used!");
  64580. return 1;
  64581. }
  64582. if(!IsPlayerConnected(Reports[reportid][ReportFrom]))
  64583. {
  64584. SendClientMessage(playerid, COLOR_GREY, " The reporter has disconnected!");
  64585. Reports[reportid][ReportFrom] = 999;
  64586. Reports[reportid][BeingUsed] = 0;
  64587. return 1;
  64588. }
  64589. format(string, sizeof(string), "AdmCmd: %s has trashed the report from %s (RID: %i).", GetPlayerNameEx(playerid), GetPlayerNameEx(Reports[reportid][ReportFrom]), reportid);
  64590. ABroadCast(COLOR_ORANGE, string, 1);
  64591. if(PlayerInfo[playerid][pAdmin] == 1)
  64592. {
  64593. SendClientMessage(Reports[reportid][ReportFrom], COLOR_WHITE, "An admin has marked your report invalid. It will not be reviewed.");
  64594. }
  64595. else
  64596. {
  64597. format(string, sizeof(string), "%s has marked your report invalid. It will not be reviewed.", GetPlayerNameEx(playerid));
  64598. SendClientMessage(Reports[reportid][ReportFrom], COLOR_WHITE, string);
  64599. }
  64600. PlayerInfo[playerid][pTrashReport]++;
  64601. Reports[reportid][ReportFrom] = 999;
  64602. Reports[reportid][BeingUsed] = 0;
  64603. Reports[reportid][TimeToExpire] = 0;
  64604. new reportdialog[2048], itemid = 0;
  64605. for(new i = 0; i < MAX_REPORTS; i++)
  64606. {
  64607. if(Reports[i][BeingUsed] == 1 && itemid < 40)
  64608. {
  64609. ListItemReportId[playerid][itemid] = i;
  64610. itemid++;
  64611. if(strlen((Reports[i][Report])) > 92)
  64612. {
  64613. new firstline[128], secondline[128];
  64614. strmid(firstline, Reports[i][Report], 0, 88);
  64615. strmid(secondline, Reports[i][Report], 88, 128);
  64616. format(reportdialog, sizeof(reportdialog), "%s%s(ID:%i) | Report: %s", reportdialog, GetPlayerNameEx(Reports[i][ReportFrom]), Reports[i][ReportFrom], i, firstline);
  64617. format(reportdialog, sizeof(reportdialog), "%s%s", reportdialog, secondline);
  64618. ListItemReportId[playerid][itemid] = i;
  64619. itemid++;
  64620. }
  64621. else format(reportdialog, sizeof(reportdialog), "%s%s(ID:%i) | Report: %s", reportdialog, GetPlayerNameEx(Reports[i][ReportFrom]), Reports[i][ReportFrom], i, (Reports[i][Report]));
  64622. format(reportdialog, sizeof(reportdialog), "%s\n", reportdialog);
  64623. }
  64624. }
  64625. CancelReport[playerid] = itemid;
  64626. format(reportdialog, sizeof(reportdialog), "%s\n", reportdialog);
  64627. format(reportdialog, sizeof(reportdialog), "%sCancel Reports", reportdialog);
  64628. //SendClientMessage(playerid, COLOR_GREEN, "___________________________________________________");
  64629. ShowPlayerDialogEx(playerid, REPORTSMENU, DIALOG_STYLE_LIST, "Reports", reportdialog, "Accept", "Trash");
  64630. //strmid(Reports[reportid][Report], "None", 0, 4, 4);
  64631. }
  64632. }*/
  64633. if(dialogid == DIALOG_LOADTRUCK) // TRUCKER JOB LOAD TRUCK
  64634. {
  64635. if(response)
  64636. {
  64637. if(listitem == 0) // Legal goods
  64638. {
  64639. ShowPlayerDialogEx(playerid, DIALOG_LOADTRUCKL, DIALOG_STYLE_LIST, "What do you want to transport?","{00F70C}Food & beverages\n{00F70C}Clothing\n{00F70C}Materials\n{00F70C}24/7 Items", "Select", "Cancel");
  64640. }
  64641. if(listitem == 1) // Illegal goods
  64642. {
  64643. new level = PlayerInfo[playerid][pTruckSkill];
  64644. if(level >= 0 && level <= 50)
  64645. {
  64646. ShowPlayerDialogEx(playerid, DIALOG_LOADTRUCKI, DIALOG_STYLE_LIST, "What do you want to transport?","{33CCFF}Weapons {FFFFFF}(Level 1 Bonus: None)\n{F7F304}Drugs {FFFFFF}(Level 1 Bonus: None)\n{F7F304}Illegal materials {FFFFFF}(Level 1 Bonus: Free 25 materials)", "Select", "Cancel");
  64647. }
  64648. else if(level >= 51 && level <= 100)
  64649. {
  64650. ShowPlayerDialogEx(playerid, DIALOG_LOADTRUCKI, DIALOG_STYLE_LIST, "What do you want to transport?","{F7F304}Weapons {FFFFFF}(Level 2 Bonus: Silenced Pistol or 9mm)\n{F7F304}Drugs {FFFFFF}(Level 2 Bonus: 1 pot or 1 crack)\n{F7F304}Illegal materials {FFFFFF}(Level 2 Bonus: Free 50 materials)", "Select", "Cancel");
  64651. }
  64652. else if(level >= 101 && level <= 200)
  64653. {
  64654. ShowPlayerDialogEx(playerid, DIALOG_LOADTRUCKI, DIALOG_STYLE_LIST, "What do you want to transport?","{F7F304}Weapons {FFFFFF}(Level 3 Bonus: Silenced Pistol, 9mm or Shotgun)\n{F7F304}Drugs {FFFFFF}(Level 3 Bonus: 1 pot and 1 crack)\n{F7F304}Illegal materials {FFFFFF}(Level 3 Bonus: Free 100 materials)", "Select", "Cancel");
  64655. }
  64656. else if(level >= 201 && level <= 400)
  64657. {
  64658. ShowPlayerDialogEx(playerid, DIALOG_LOADTRUCKI, DIALOG_STYLE_LIST, "What do you want to transport?","{F7F304}Weapons {FFFFFF}(Level 4 Bonus: Silenced Pistol, 9mm, Shotgun or Rifle)\n{F7F304}Drugs {FFFFFF}(Level 4 Bonus: 2 pot and 2 crack)\n{F7F304}Illegal materials {FFFFFF}(Level 4 Bonus: Free 150 materials)", "Select", "Cancel");
  64659. }
  64660. else if(level >= 401)
  64661. {
  64662. ShowPlayerDialogEx(playerid, DIALOG_LOADTRUCKI, DIALOG_STYLE_LIST, "What do you want to transport?","{F7F304}Weapons {FFFFFF}(Level 5 Bonus: Shotgun, Rifle or Deagle [rare])\n{F7F304}Drugs {FFFFFF}(Level 5 Bonus: 3 pot and 3 pot)\n{F7F304}Illegal materials {FFFFFF}(Level 5 Bonus: Free 200 materials)", "Select", "Cancel");
  64663. }
  64664. }
  64665. }
  64666. else
  64667. {
  64668. DeletePVar(playerid, "IsFrozen");
  64669. TogglePlayerControllable(playerid, 1);
  64670. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You canceled the loading of the Truck, type /loadtruck to try again.");
  64671. }
  64672. }
  64673. if(dialogid == DIALOG_LOADTRUCKL) // TRUCKER JOB LEGAL GOODS
  64674. {
  64675. if(response)
  64676. {
  64677. if(listitem == 0) // Food & beverages
  64678. {
  64679. new route = Random(1, 4);
  64680. if(route == 1)
  64681. {
  64682. SetPVarInt(playerid, "TruckDeliver", 1);
  64683. }
  64684. if(route == 2)
  64685. {
  64686. SetPVarInt(playerid, "TruckDeliver", 2);
  64687. }
  64688. if(route == 3)
  64689. {
  64690. SetPVarInt(playerid, "TruckDeliver", 3);
  64691. }
  64692. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Please wait a moment while the truck is being loaded with food & beverages....");
  64693. }
  64694. if(listitem == 1) // Clothing
  64695. {
  64696. new route = Random(1, 4);
  64697. if(route == 1)
  64698. {
  64699. SetPVarInt(playerid, "TruckDeliver", 4);
  64700. }
  64701. if(route == 2)
  64702. {
  64703. SetPVarInt(playerid, "TruckDeliver", 5);
  64704. }
  64705. if(route == 3)
  64706. {
  64707. SetPVarInt(playerid, "TruckDeliver", 6);
  64708. }
  64709. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Please wait a moment while the truck is being loaded with clothing....");
  64710. }
  64711. if(listitem == 2) // Materials
  64712. {
  64713. SetPVarInt(playerid, "TruckDeliver", 7);
  64714. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Please wait a moment while the truck is being loaded with materials....");
  64715. }
  64716. if(listitem == 3) // 24/7 Items
  64717. {
  64718. new route = Random(1, 4);
  64719. if(route == 1)
  64720. {
  64721. SetPVarInt(playerid, "TruckDeliver", 8);
  64722. }
  64723. if(route == 2)
  64724. {
  64725. SetPVarInt(playerid, "TruckDeliver", 9);
  64726. }
  64727. if(route == 3)
  64728. {
  64729. SetPVarInt(playerid, "TruckDeliver", 10);
  64730. }
  64731. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Please wait a moment while the truck is being loaded with 24/7 items....");
  64732. }
  64733. LoadTruckBar[playerid] = CreateProgressBar(258.00, 137.00, 131.50, 3.19, COLOR_GREEN, 100.0);
  64734. SetProgressBarValue(LoadTruckBar[playerid], 100.0);
  64735. ShowProgressBarForPlayer(playerid, LoadTruckBar[playerid]);
  64736. SetTimerEx("LoadTruck", 1000, 0, "d", playerid);
  64737. }
  64738. else
  64739. {
  64740. DeletePVar(playerid, "IsFrozen");
  64741. TogglePlayerControllable(playerid, 1);
  64742. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You canceled the loading of the Truck, type /loadtruck to try again.");
  64743. }
  64744. }
  64745. if(dialogid == DIALOG_LOADTRUCKI) // TRUCKER JOB ILLEGAL GOODS
  64746. {
  64747. if(response)
  64748. {
  64749. new level = PlayerInfo[playerid][pTruckSkill];
  64750. if(listitem == 0) // Weapons
  64751. {
  64752. if(level >= 0 && level <= 50)
  64753. {
  64754. SetPVarInt(playerid, "TruckDeliver", 11); // bonus weapons
  64755. }
  64756. else if(level >= 51 && level <= 100)
  64757. {
  64758. SetPVarInt(playerid, "TruckDeliver", 12); // bonus weapons
  64759. }
  64760. else if(level >= 101 && level <= 200)
  64761. {
  64762. SetPVarInt(playerid, "TruckDeliver", 13); // bonus weapons
  64763. }
  64764. else if(level >= 201 && level <= 400)
  64765. {
  64766. SetPVarInt(playerid, "TruckDeliver", 14); // bonus weapons
  64767. }
  64768. else if(level >= 401)
  64769. {
  64770. SetPVarInt(playerid, "TruckDeliver", 15); // bonus weapons
  64771. }
  64772. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Please wait a moment while the truck is being loaded with weapons....");
  64773. }
  64774. if(listitem == 1) // Drugs
  64775. {
  64776. if(level >= 0 && level <= 50)
  64777. {
  64778. SetPVarInt(playerid, "TruckDeliver", 16); // bonus drugs
  64779. }
  64780. else if(level >= 51 && level <= 100)
  64781. {
  64782. SetPVarInt(playerid, "TruckDeliver", 17); // bonus drugs
  64783. }
  64784. else if(level >= 101 && level <= 200)
  64785. {
  64786. SetPVarInt(playerid, "TruckDeliver", 18); // bonus drugs
  64787. }
  64788. else if(level >= 201 && level <= 400)
  64789. {
  64790. SetPVarInt(playerid, "TruckDeliver", 19); // bonus drugs
  64791. }
  64792. else if(level >= 401)
  64793. {
  64794. SetPVarInt(playerid, "TruckDeliver", 20); // bonus drugs
  64795. }
  64796. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Please wait a moment while the truck is being loaded with drugs....");
  64797. }
  64798. if(listitem == 2) // Illegal materials
  64799. {
  64800. if(level >= 0 && level <= 50)
  64801. {
  64802. SetPVarInt(playerid, "TruckDeliver", 21); // Bonus: x materials
  64803. }
  64804. else if(level >= 51 && level <= 100)
  64805. {
  64806. SetPVarInt(playerid, "TruckDeliver", 22); // Bonus: x materials
  64807. }
  64808. else if(level >= 101 && level <= 200)
  64809. {
  64810. SetPVarInt(playerid, "TruckDeliver", 23); // Bonus: x materials
  64811. }
  64812. else if(level >= 201 && level <= 400)
  64813. {
  64814. SetPVarInt(playerid, "TruckDeliver", 24); // Bonus: x materials
  64815. }
  64816. else if(level >= 401)
  64817. {
  64818. SetPVarInt(playerid, "TruckDeliver", 25); // Bonus: x materials
  64819. }
  64820. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Please wait a moment while the truck is being loaded with illegal materials....");
  64821. }
  64822. LoadTruckBar[playerid] = CreateProgressBar(258.00, 137.00, 131.50, 3.19, COLOR_GREEN, 100.0);
  64823. SetProgressBarValue(LoadTruckBar[playerid], 100.0);
  64824. ShowProgressBarForPlayer(playerid, LoadTruckBar[playerid]);
  64825. SetTimerEx("LoadTruck", 1000, 0, "d", playerid);
  64826. }
  64827. else
  64828. {
  64829. DeletePVar(playerid, "IsFrozen");
  64830. TogglePlayerControllable(playerid, 1);
  64831. SendClientMessage(playerid, COLOR_LIGHTBLUE, "You canceled the loading of the Truck, type /loadtruck to try again.");
  64832. }
  64833. }
  64834. if(dialogid == NMUTE)
  64835. {
  64836. if(response == 1)
  64837. {
  64838. switch(listitem)
  64839. {
  64840. case 0: // Jailtime
  64841. {
  64842. if(PlayerInfo[playerid][pNMuteTotal] < 4)
  64843. {
  64844. /*if(GetPVarInt(playerid, "PBM") > 0)
  64845. {
  64846. LeavePaintballArena(playerid, GetPVarInt(playerid, "IsInArena"));
  64847. }*/
  64848. PlayerInfo[playerid][pNMute] = 0;
  64849. ResetPlayerWeaponsEx(playerid);
  64850. if(PlayerInfo[playerid][pJailed] != 0)
  64851. {
  64852. PlayerInfo[playerid][pJailTime] += PlayerInfo[playerid][pNMuteTotal]*15*60;
  64853. }
  64854. else
  64855. {
  64856. PlayerInfo[playerid][pJailed] = 3;
  64857. PlayerInfo[playerid][pJailTime] = PlayerInfo[playerid][pNMuteTotal]*15*60;
  64858. PhoneOnline[playerid] = 1;
  64859. TogglePlayerControllable(playerid, 0);
  64860. for(new o = 0; o < 2; o++)
  64861. {
  64862. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  64863. }
  64864. SetPVarInt(playerid, "LoadingObjects", 1);
  64865. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  64866. SetPlayerInterior(playerid, 69);
  64867. PlayerInfo[playerid][pVW] = 696969;
  64868. PlayerInfo[playerid][pInt] = 69;
  64869. SetPlayerVirtualWorld(playerid, 696969);
  64870. new rand = random(sizeof(AdminPrisonFloat));
  64871. SetPlayerPos(playerid, AdminPrisonFloat[rand][0], AdminPrisonFloat[rand][1], AdminPrisonFloat[rand][2]);
  64872. }
  64873. }
  64874. else if(PlayerInfo[playerid][pNMuteTotal] >= 4 || PlayerInfo[playerid][pNMuteTotal] < 7)
  64875. {
  64876. /*if(GetPVarInt(playerid, "PBM") > 0)
  64877. {
  64878. LeavePaintballArena(playerid, GetPVarInt(playerid, "IsInArena"));
  64879. }*/
  64880. PlayerInfo[playerid][pNMute] = 0;
  64881. GameTextForPlayer(playerid, "~w~Welcome to ~n~~r~Admin Prison", 5000, 3);
  64882. ResetPlayerWeaponsEx(playerid);
  64883. if(PlayerInfo[playerid][pJailed] != 0)
  64884. {
  64885. PlayerInfo[playerid][pJailTime] += PlayerInfo[playerid][pNMuteTotal]*15*60;
  64886. }
  64887. else
  64888. {
  64889. PlayerInfo[playerid][pJailed] = 3;
  64890. PlayerInfo[playerid][pJailTime] = PlayerInfo[playerid][pNMuteTotal]*15*60;
  64891. PhoneOnline[playerid] = 1;
  64892. TogglePlayerControllable(playerid, 0);
  64893. for(new o = 0; o < 2; o++)
  64894. {
  64895. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  64896. }
  64897. SetPVarInt(playerid, "LoadingObjects", 1);
  64898. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  64899. SetPlayerInterior(playerid, 69);
  64900. PlayerInfo[playerid][pVW] = 696969;
  64901. PlayerInfo[playerid][pInt] = 69;
  64902. SetPlayerVirtualWorld(playerid, 696969);
  64903. new rand = random(sizeof(AdminPrisonFloat));
  64904. SetPlayerPos(playerid, AdminPrisonFloat[rand][0], AdminPrisonFloat[rand][1], AdminPrisonFloat[rand][2]);
  64905. }
  64906. }
  64907. format(string,sizeof(string),"{AA3333}AdmWarning{FFFF00}: %s is serving %d Minutes in Prison for Newbie Unmute.",GetPlayerNameEx(playerid),PlayerInfo[playerid][pNMuteTotal]*15);
  64908. ABroadCast(COLOR_YELLOW,string,1);
  64909. }
  64910. case 1: // Fine
  64911. {
  64912. new playername[MAX_PLAYER_NAME];
  64913. GetPlayerName(playerid, playername, sizeof(playername));
  64914. new allmoney;
  64915. if(PlayerInfo[playerid][pHouse] != INVALID_HOUSE_ID && strcmp(GetPlayerNameEx(playerid), HouseInfo[PlayerInfo[playerid][pHouse]][hOwner], true) == 0)
  64916. {
  64917. allmoney = HouseInfo[PlayerInfo[playerid][pHouse]][hSafeMoney]+GetPlayerCash(playerid)+PlayerInfo[playerid][pBank];
  64918. }
  64919. else if(PlayerInfo[playerid][pHouse2] != INVALID_HOUSE_ID && strcmp(GetPlayerNameEx(playerid), HouseInfo[PlayerInfo[playerid][pHouse2]][hOwner], true) == 0)
  64920. {
  64921. allmoney += HouseInfo[PlayerInfo[playerid][pHouse2]][hSafeMoney];
  64922. }
  64923. else
  64924. {
  64925. allmoney = GetPlayerCash(playerid)+PlayerInfo[playerid][pBank];
  64926. }
  64927. new fine = 10*allmoney/100;
  64928. format(string,sizeof(string),"{AA3333}AdmWarning{FFFF00}: %s has paid a $%d fine for Newbie Chat Unmute.",GetPlayerNameEx(playerid),fine);
  64929. GivePlayerCash(playerid,-fine);
  64930. ABroadCast(COLOR_YELLOW,string,1);
  64931. PlayerInfo[playerid][pNMute] = 0;
  64932. }
  64933. }
  64934. }
  64935. else
  64936. {
  64937. format(string,sizeof(string),"{AA3333}AdmWarning{FFFF00}: %s has canceled punishment for Newbie Chat Unmute.",GetPlayerNameEx(playerid));
  64938. ABroadCast(COLOR_YELLOW,string,1);
  64939. }
  64940. }
  64941. if(dialogid == ADMUTE)
  64942. {
  64943. if(response == 1)
  64944. {
  64945. switch(listitem)
  64946. {
  64947. case 0: // Jailtime
  64948. {
  64949. if(PlayerInfo[playerid][pADMuteTotal] < 4)
  64950. {
  64951. /*if(GetPVarInt(playerid, "PBM") > 0)
  64952. {
  64953. LeavePaintballArena(playerid, GetPVarInt(playerid, "IsInArena"));
  64954. }*/
  64955. PlayerInfo[playerid][pADMute] = 0;
  64956. ResetPlayerWeaponsEx(playerid);
  64957. if(PlayerInfo[playerid][pJailed] != 0)
  64958. {
  64959. PlayerInfo[playerid][pJailTime] += PlayerInfo[playerid][pADMuteTotal]*15*60;
  64960. }
  64961. else
  64962. {
  64963. PlayerInfo[playerid][pJailed] = 3;
  64964. PlayerInfo[playerid][pJailTime] = PlayerInfo[playerid][pNMuteTotal]*15*60;
  64965. PhoneOnline[playerid] = 1;
  64966. TogglePlayerControllable(playerid, 0);
  64967. for(new o = 0; o < 2; o++)
  64968. {
  64969. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  64970. }
  64971. SetPVarInt(playerid, "LoadingObjects", 1);
  64972. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  64973. SetPlayerInterior(playerid, 69);
  64974. PlayerInfo[playerid][pVW] = 696969;
  64975. PlayerInfo[playerid][pInt] = 69;
  64976. SetPlayerVirtualWorld(playerid, 696969);
  64977. new rand = random(sizeof(AdminPrisonFloat));
  64978. SetPlayerPos(playerid, AdminPrisonFloat[rand][0], AdminPrisonFloat[rand][1], AdminPrisonFloat[rand][2]);
  64979. }
  64980. }
  64981. else if(PlayerInfo[playerid][pADMuteTotal] >= 4 || PlayerInfo[playerid][pADMuteTotal] < 7)
  64982. {
  64983. /*if(GetPVarInt(playerid, "PBM") > 0)
  64984. {
  64985. LeavePaintballArena(playerid, GetPVarInt(playerid, "IsInArena"));
  64986. }*/
  64987. PlayerInfo[playerid][pADMute] = 0;
  64988. GameTextForPlayer(playerid, "~w~Welcome to ~n~~r~Admin Prison", 5000, 3);
  64989. ResetPlayerWeaponsEx(playerid);
  64990. if(PlayerInfo[playerid][pJailed] != 0)
  64991. {
  64992. PlayerInfo[playerid][pJailTime] += PlayerInfo[playerid][pADMuteTotal]*15*60;
  64993. }
  64994. else
  64995. {
  64996. PlayerInfo[playerid][pJailed] = 3;
  64997. PlayerInfo[playerid][pJailTime] = PlayerInfo[playerid][pNMuteTotal]*15*60;
  64998. PhoneOnline[playerid] = 1;
  64999. TogglePlayerControllable(playerid, 0);
  65000. for(new o = 0; o < 2; o++)
  65001. {
  65002. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  65003. }
  65004. SetPVarInt(playerid, "LoadingObjects", 1);
  65005. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  65006. SetPlayerInterior(playerid, 69);
  65007. PlayerInfo[playerid][pVW] = 696969;
  65008. PlayerInfo[playerid][pInt] = 69;
  65009. SetPlayerVirtualWorld(playerid, 696969);
  65010. new rand = random(sizeof(AdminPrisonFloat));
  65011. SetPlayerPos(playerid, AdminPrisonFloat[rand][0], AdminPrisonFloat[rand][1], AdminPrisonFloat[rand][2]);
  65012. }
  65013. }
  65014. format(string,sizeof(string),"{AA3333}AdmWarning{FFFF00}: %s is serving %d Minutes in Jail/Prison for Advertisement Unmute.",GetPlayerNameEx(playerid),PlayerInfo[playerid][pADMuteTotal]*15);
  65015. ABroadCast(COLOR_YELLOW,string,1);
  65016. }
  65017. case 1: // Fine
  65018. {
  65019. new playername[MAX_PLAYER_NAME];
  65020. GetPlayerName(playerid, playername, sizeof(playername));
  65021. new allmoney;
  65022. if(PlayerInfo[playerid][pHouse] != INVALID_HOUSE_ID && strcmp(GetPlayerNameEx(playerid), HouseInfo[PlayerInfo[playerid][pHouse]][hOwner], true) == 0)
  65023. {
  65024. allmoney = HouseInfo[PlayerInfo[playerid][pHouse]][hSafeMoney]+GetPlayerCash(playerid)+PlayerInfo[playerid][pBank];
  65025. }
  65026. else if(PlayerInfo[playerid][pHouse2] != INVALID_HOUSE_ID && strcmp(GetPlayerNameEx(playerid), HouseInfo[PlayerInfo[playerid][pHouse2]][hOwner], true) == 0)
  65027. {
  65028. allmoney += HouseInfo[PlayerInfo[playerid][pHouse2]][hSafeMoney];
  65029. }
  65030. else
  65031. {
  65032. allmoney = GetPlayerCash(playerid)+PlayerInfo[playerid][pBank];
  65033. }
  65034. PlayerInfo[playerid][pADMute] = 0;
  65035. new fine = 10*allmoney/100;
  65036. format(string,sizeof(string),"{AA3333}AdmWarning{FFFF00}: %s has paid a $%d fine for Advertisement Unmute.",GetPlayerNameEx(playerid),fine);
  65037. GivePlayerCash(playerid,-fine);
  65038. ABroadCast(COLOR_YELLOW,string,1);
  65039. }
  65040. }
  65041. }
  65042. else
  65043. {
  65044. format(string,sizeof(string),"{AA3333}AdmWarning{FFFF00}: %s has canceled punishment for Advertisement Unmute.",GetPlayerNameEx(playerid));
  65045. ABroadCast(COLOR_YELLOW,string,1);
  65046. }
  65047. }
  65048. switch(dialogid) {
  65049. case DIALOG_ADMAIN: if(response) switch(listitem) {
  65050. case 0: {
  65051. new
  65052. szDialog[2256],
  65053. szBuffer[32],
  65054. arrAdverts[MAX_PLAYERS] = INVALID_PLAYER_ID,
  65055. iDialogCount,
  65056. iCount,
  65057. iBreak,
  65058. iRand;
  65059. for(new x; x < 50; ++x) ListItemTrackId[playerid][x] = -1;
  65060. foreach(Player, i) if(!isnull(szAdvert[i])) arrAdverts[iCount++] = i;
  65061. while(iDialogCount < 50 && iBreak < 5000) {
  65062. iRand = random(iCount);
  65063. if(arrAdverts[iRand] != INVALID_PLAYER_ID) {
  65064. strcpy(szBuffer, szAdvert[arrAdverts[iRand]], sizeof(szBuffer));
  65065. if(AdminDuty[playerid] == 0) format(szDialog, sizeof(szDialog), "%s%s... (%i)\r\n", szDialog, szBuffer, PlayerInfo[arrAdverts[iRand]][pNumber]);
  65066. else format(szDialog, sizeof(szDialog), "%s%s... (%s)\r\n", szDialog, szBuffer, GetPlayerNameEx(arrAdverts[iRand]));
  65067. ListItemTrackId[playerid][iDialogCount++] = arrAdverts[iRand];
  65068. arrAdverts[iRand] = INVALID_PLAYER_ID;
  65069. }
  65070. ++iBreak;
  65071. }
  65072. if(!isnull(szDialog)) return ShowPlayerDialogEx(playerid, DIALOG_ADLIST, DIALOG_STYLE_LIST, "Advertisements - List", szDialog, "Select", "Return");
  65073. ShowPlayerDialogEx(playerid, DIALOG_ADMAIN, DIALOG_STYLE_LIST, "Advertisements", "List Advertisements\nSearch Advertisements\nPlace Advertisement\nPlace Priority Advertisement", "Select", "Cancel");
  65074. SendClientMessage(playerid, COLOR_GREY, "No advertisements have been posted.");
  65075. }
  65076. case 1: ShowPlayerDialogEx(playerid, DIALOG_ADSEARCH, DIALOG_STYLE_INPUT, "Advertisements - Search", "Enter a search phrase.", "Search", "Return");
  65077. case 2: {
  65078. if(PlayerInfo[playerid][pADMute] == 1) {
  65079. SendClientMessage(playerid, COLOR_GREY, "You're muted from advertisements.");
  65080. }
  65081. else if(PlayerInfo[playerid][pNumber] == 0) {
  65082. SendClientMessage(playerid, COLOR_GRAD2, "You don't have a cell phone.");
  65083. }
  65084. else ShowPlayerDialogEx(playerid, DIALOG_ADPLACE, DIALOG_STYLE_INPUT, "Advertisements - Place Advertisement", "Enter your desired advertisement text! Keep it below 128 characters.", "Submit", "Return");
  65085. }
  65086. case 3: {
  65087. if(PlayerInfo[playerid][pADMute] == 1) {
  65088. SendClientMessage(playerid, COLOR_GREY, "You're muted from advertisements.");
  65089. }
  65090. else if(PlayerInfo[playerid][pNumber] == 0) {
  65091. SendClientMessage(playerid, COLOR_GRAD2, "You don't have a cell phone.");
  65092. }
  65093. else if(iAdverTimer >= 1) {
  65094. ShowPlayerDialogEx(playerid, DIALOG_ADMAIN, DIALOG_STYLE_LIST, "Advertisements", "List Advertisements\nSearch Advertisements\nPlace Advertisement\nPlace Priority Advertisement", "Select", "Cancel");
  65095. return SendClientMessage(playerid, COLOR_GREY, "Only one priority advertisement can be placed every 30 seconds.");
  65096. }
  65097. else if(GetPVarType(playerid, "adT")) {
  65098. ShowPlayerDialogEx(playerid, DIALOG_ADMAIN, DIALOG_STYLE_LIST, "Advertisements", "List Advertisements\nSearch Advertisements\nPlace Advertisement\nPlace Priority Advertisement", "Select", "Cancel");
  65099. return SendClientMessage(playerid, COLOR_GREY, "You may only place one priority advertisement every two minutes.");
  65100. }
  65101. else ShowPlayerDialogEx(playerid, DIALOG_ADPLACEP, DIALOG_STYLE_INPUT, "Advertisements - Priority Advertisement",
  65102. "Enter your desired advertisement text! Keep it below 128 characters.\nAs this is a priority advertisement, it will be broadcasted, and will cost you $800.", "Submit", "Return");
  65103. }
  65104. }
  65105. case DIALOG_ADPLACE: {
  65106. if(response) {
  65107. new
  65108. iLength = strlen(inputtext);
  65109. if(!(2 <= iLength <= 127)) {
  65110. ShowPlayerDialogEx(playerid, DIALOG_ADMAIN, DIALOG_STYLE_LIST, "Advertisements", "List Advertisements\nSearch Advertisements\nPlace Advertisement\nPlace Priority Advertisement", "Select", "Cancel");
  65111. return SendClientMessage(playerid, COLOR_GREY, "Your input was too long or too short.");
  65112. }
  65113. iLength *= 5;
  65114. if(GetPlayerCash(playerid) < iLength) {
  65115. ShowPlayerDialogEx(playerid, DIALOG_ADMAIN, DIALOG_STYLE_LIST, "Advertisements", "List Advertisements\nSearch Advertisements\nPlace Advertisement\nPlace Priority Advertisement", "Select", "Cancel");
  65116. return SendClientMessage(playerid, COLOR_GREY, "You don't have enough cash for this.");
  65117. }
  65118. strcpy(szAdvert[playerid], inputtext, 128);
  65119. GivePlayerCash(playerid, -iLength);
  65120. format(string, sizeof(string), "Congratulations, you have placed your advertisement for $%d!", iLength);
  65121. SendClientMessage(playerid, COLOR_WHITE, string);
  65122. }
  65123. else ShowPlayerDialogEx(playerid, DIALOG_ADMAIN, DIALOG_STYLE_LIST, "Advertisements", "List Advertisements\nSearch Advertisements\nPlace Advertisement\nPlace Priority Advertisement", "Select", "Cancel");
  65124. }
  65125. case DIALOG_ADPLACEP: {
  65126. if(response) {
  65127. if(iAdverTimer >= 1) {
  65128. SendClientMessage(playerid, COLOR_GREY, "Only one priority advertisement can be placed every 30 seconds.");
  65129. return ShowPlayerDialogEx(playerid, DIALOG_ADPLACEP, DIALOG_STYLE_INPUT, "Advertisements - Priority Advertisement",
  65130. "Enter your desired advertisement text! Keep it below 128 characters.\nAs this is a priority advertisement, it will be broadcasted, and will cost you $800.", "Submit", "Return");
  65131. }
  65132. else if(GetPlayerCash(playerid) < 800) {
  65133. ShowPlayerDialogEx(playerid, DIALOG_ADMAIN, DIALOG_STYLE_LIST, "Advertisements", "List Advertisements\nSearch Advertisements\nPlace Advertisement\nPlace Priority Advertisement", "Select", "Cancel");
  65134. return SendClientMessage(playerid, COLOR_GREY, "You don't have enough cash for this.");
  65135. }
  65136. else if(!(2 <= strlen(inputtext) <= 79)) {
  65137. ShowPlayerDialogEx(playerid, DIALOG_ADMAIN, DIALOG_STYLE_LIST, "Advertisements", "List Advertisements\nSearch Advertisements\nPlace Advertisement\nPlace Priority Advertisement", "Select", "Cancel");
  65138. return SendClientMessage(playerid, COLOR_GREY, "Your input was too long or too short.");
  65139. }
  65140. iAdverTimer = 30;
  65141. SetPVarInt(playerid, "adT", 120);
  65142. strcpy(szAdvert[playerid], inputtext, 128);
  65143. GivePlayerCash(playerid, -800);
  65144. new
  65145. szMessage[128];
  65146. format(szMessage, sizeof(szMessage), "Advertisement: %s - contact %s (%i)", inputtext, GetPlayerNameEx(playerid), PlayerInfo[playerid][pNumber]);
  65147. SendClientMessageToAllEx(TEAM_GROVE_COLOR, szMessage);
  65148. return SendClientMessage(playerid, COLOR_WHITE, "Congratulations, you've placed your priority advertisement!");
  65149. }
  65150. else ShowPlayerDialogEx(playerid, DIALOG_ADMAIN, DIALOG_STYLE_LIST, "Advertisements", "List Advertisements\nSearch Advertisements\nPlace Advertisement\nPlace Priority Advertisement", "Select", "Cancel");
  65151. }
  65152. case DIALOG_ADSEARCH: {
  65153. if(response) {
  65154. if(!(4 <= strlen(inputtext) <= 80))
  65155. return ShowPlayerDialogEx(playerid, DIALOG_ADSEARCH, DIALOG_STYLE_INPUT, "Advertisements - Search", "Queries must be between 4\n and 80 characters in length.\n\nEnter a search phrase.", "Search", "Return");
  65156. else for(new x; x < 50; ++x) ListItemTrackId[playerid][x] = -1;
  65157. new
  65158. szDialog[2256],
  65159. szSearch[80],
  65160. szBuffer[32],
  65161. iCount;
  65162. strcat(szSearch, inputtext, sizeof(szSearch)); // strfind is a piece of shit when it comes to non-indexed arrays, maybe this'll help.
  65163. foreach(Player, i) if(!isnull(szAdvert[i])) {
  65164. // printf("[ads] [NAME: %s] [ID: %i] [AD: %s] [SEARCH: %s]", GetPlayerNameEx(i), i, szAdvert[i], szSearch);
  65165. if(strfind(szAdvert[i], szSearch, true) != -1 && iCount < 50) {
  65166. // printf("[ads - MATCH] [NAME: %s] [ID: %i] [AD: %s] [SEARCH: %s] [COUNT: %i] [DIALOG LENGTH: %i] [FINDPOS: %i]", GetPlayerNameEx(i), i, szAdvert[i], szSearch, iCount, strlen(szDialog), strfind(szAdvert[i], szSearch, true));
  65167. strcpy(szBuffer, szAdvert[i], sizeof(szBuffer));
  65168. if(AdminDuty[playerid] == 0) format(szDialog, sizeof(szDialog), "%s%s... (%i)\r\n", szDialog, szBuffer, PlayerInfo[i][pNumber]);
  65169. else format(szDialog, sizeof(szDialog), "%s%s... (%s)\r\n", szDialog, szBuffer, GetPlayerNameEx(i));
  65170. ListItemTrackId[playerid][iCount++] = i;
  65171. }
  65172. }
  65173. if(!isnull(szDialog)) ShowPlayerDialogEx(playerid, DIALOG_ADSEARCHLIST, DIALOG_STYLE_LIST, "Advertisements - Search Results", szDialog, "Select", "Return");
  65174. else ShowPlayerDialogEx(playerid, DIALOG_ADSEARCHLIST, DIALOG_STYLE_INPUT, "Advertisements - Search", "No results found.\n\nEnter a search phrase.", "Search", "Return");
  65175. }
  65176. else ShowPlayerDialogEx(playerid, DIALOG_ADMAIN, DIALOG_STYLE_LIST, "Advertisements", "List Advertisements\nSearch Advertisements\nPlace Advertisement\nPlace Priority Advertisement", "Select", "Cancel");
  65177. }
  65178. case DIALOG_ADSEARCHLIST: if(response) {
  65179. new
  65180. i = ListItemTrackId[playerid][listitem],
  65181. szDialog[164];
  65182. if(IsPlayerConnected(i) && !isnull(szAdvert[i])) {
  65183. format(szDialog, sizeof(szDialog), "%s\r\nContact: %i", szAdvert[i], PlayerInfo[i][pNumber]);
  65184. ShowPlayerDialogEx(playerid, DIALOG_ADFINAL, DIALOG_STYLE_MSGBOX, "Advertisements - Search Result", szDialog, "Return", "Exit");
  65185. }
  65186. else SendClientMessage(playerid, COLOR_GREY, "This player has either disconnected or withdrawn their advertisement.");
  65187. }
  65188. case DIALOG_ADFINAL: {
  65189. if(response) return ShowPlayerDialogEx(playerid, DIALOG_ADMAIN, DIALOG_STYLE_LIST, "Advertisements", "List Advertisements\nSearch Advertisements\nPlace Advertisement\nPlace Priority Advertisement", "Select", "Cancel");
  65190. }
  65191. case DIALOG_ADLIST: {
  65192. if(response) {
  65193. new
  65194. i = ListItemTrackId[playerid][listitem],
  65195. szDialog[164];
  65196. if(IsPlayerConnected(i) && !isnull(szAdvert[i])) {
  65197. format(szDialog, sizeof(szDialog), "%s\r\nContact: %i", szAdvert[i], PlayerInfo[i][pNumber]);
  65198. return ShowPlayerDialogEx(playerid, DIALOG_ADFINAL, DIALOG_STYLE_MSGBOX, "Advertisements - Search Result", szDialog, "Return", "Exit");
  65199. }
  65200. else SendClientMessage(playerid, COLOR_GREY, "This player has either disconnected or withdrawn their advertisement.");
  65201. }
  65202. else ShowPlayerDialogEx(playerid, DIALOG_ADMAIN, DIALOG_STYLE_LIST, "Advertisements", "List Advertisements\nSearch Advertisements\nPlace Advertisement\nPlace Priority Advertisement", "Select", "Cancel");
  65203. }
  65204. }
  65205. if(dialogid == STOREMENU)
  65206. {
  65207. if(response)
  65208. {
  65209. if(listitem == 0)
  65210. {
  65211. if(GetPlayerCash(playerid) >= 50)
  65212. {
  65213. new randphone = 1000 + random(99999);//minimum 1000 max 99999
  65214. ReplacePH(PlayerInfo[playerid][pNumber], randphone);
  65215. PlayerInfo[playerid][pNumber] = randphone;
  65216. PlayerInfo[playerid][pInt] = GetPlayerInterior(playerid);
  65217. PlayerInfo[playerid][pVW] = GetPlayerVirtualWorld(playerid);
  65218. GetPlayerIp(playerid, PlayerInfo[playerid][pIP], 32);
  65219. GetPlayerPos(playerid, PlayerInfo[playerid][pPos_x], PlayerInfo[playerid][pPos_y], PlayerInfo[playerid][pPos_z]);
  65220. GetPlayerFacingAngle(playerid, PlayerInfo[playerid][pPos_r]);
  65221. OnPlayerStatsUpdate(playerid);
  65222. format(string, sizeof(string), "Cellphone purchased, your new phone number is %d.", randphone);
  65223. SendClientMessage(playerid, COLOR_GRAD4, string);
  65224. SendClientMessage(playerid, COLOR_GRAD5, "You can check this any time you wish by typing /stats.");
  65225. SendClientMessage(playerid, COLOR_WHITE, "HINT: You can now type /cellphonehelp to see your cellphone commands.");
  65226. GivePlayerCash(playerid, -50);
  65227. BusinessInfo[InsideBiz[playerid]][bMoney] += 50;
  65228. }
  65229. else
  65230. {
  65231. SendClientMessage(playerid, COLOR_GRAD4, "You don't have the cash for this item!");
  65232. }
  65233. }
  65234. if(listitem == 1)
  65235. {
  65236. if(GetPlayerCash(playerid) >= 200)
  65237. {
  65238. PlayerInfo[playerid][pPhoneBook] = 1;
  65239. format(string, sizeof(string), "Phonebook purchased, you can now look up other player's numbers.");
  65240. SendClientMessage(playerid, COLOR_GRAD4, string);
  65241. SendClientMessage(playerid, COLOR_WHITE, "HINT: Type /number <id/name>.");
  65242. GivePlayerCash(playerid, -200);
  65243. BusinessInfo[InsideBiz[playerid]][bMoney] += 200;
  65244. }
  65245. else
  65246. {
  65247. SendClientMessage(playerid, COLOR_GRAD4, "You don't have the cash for this item!");
  65248. }
  65249. }
  65250. if(listitem == 2)
  65251. {
  65252. if(GetPlayerCash(playerid) >= 50)
  65253. {
  65254. PlayerInfo[playerid][pDice] = 1;
  65255. format(string, sizeof(string), "Dice purchased.");
  65256. SendClientMessage(playerid, COLOR_GRAD4, string);
  65257. SendClientMessage(playerid, COLOR_WHITE, "HINT: Type /dice.");
  65258. GivePlayerCash(playerid, -50);
  65259. BusinessInfo[InsideBiz[playerid]][bMoney] += 50;
  65260. }
  65261. else
  65262. {
  65263. SendClientMessage(playerid, COLOR_GRAD4, "You don't have the cash for this item!");
  65264. }
  65265. }
  65266. if(listitem == 3)
  65267. {
  65268. if(GetPlayerCash(playerid) >= 5)
  65269. {
  65270. Condom[playerid] ++;
  65271. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  65272. format(string, sizeof(string), "Condom Purchased.");
  65273. SendClientMessage(playerid, COLOR_GRAD4, string);
  65274. GivePlayerCash(playerid, -5);
  65275. BusinessInfo[InsideBiz[playerid]][bMoney] += 5;
  65276. }
  65277. else
  65278. {
  65279. SendClientMessage(playerid, COLOR_GRAD4, "You don't have the cash for this item!");
  65280. }
  65281. }
  65282. if(listitem == 4)
  65283. {
  65284. if(GetPlayerCash(playerid) >= 5)
  65285. {
  65286. GivePlayerCash(playerid, -50);
  65287. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  65288. SendClientMessage(playerid, COLOR_GRAD4, "CD Player purchased.");
  65289. SendClientMessage(playerid, COLOR_WHITE, "HINT: Type /music");
  65290. PlayerInfo[playerid][pCDPlayer] = 1;
  65291. GivePlayerCash(playerid, -5);
  65292. BusinessInfo[InsideBiz[playerid]][bMoney] += 5;
  65293. }
  65294. else
  65295. {
  65296. SendClientMessage(playerid, COLOR_GRAD4, "You don't have the cash for this item!");
  65297. }
  65298. }
  65299. if(listitem == 5)
  65300. {
  65301. if(GetPlayerCash(playerid) >= 20)
  65302. {
  65303. if(PlayerInfo[playerid][pSpraycan] < 20) {
  65304. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  65305. PlayerInfo[playerid][pSpraycan] += 10;
  65306. SendClientMessage(playerid, COLOR_GRAD4, "10 Spraycans purchased.");
  65307. SendClientMessage(playerid, COLOR_WHITE, "HINT: Type /colorcar or /paintcar while inside a vehicle.");
  65308. GivePlayerCash(playerid, -20);
  65309. BusinessInfo[InsideBiz[playerid]][bMoney] += 20;
  65310. }
  65311. else SendClientMessage(playerid, COLOR_GRAD4, "You can't hold any more of this item!");
  65312. }
  65313. else
  65314. {
  65315. SendClientMessage(playerid, COLOR_GRAD4, "You don't have the cash for this item!");
  65316. }
  65317. }
  65318. if(listitem == 6)
  65319. {
  65320. if(GetPlayerCash(playerid) >= 100)
  65321. {
  65322. if(PlayerInfo[playerid][pRope] < 8) {
  65323. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  65324. PlayerInfo[playerid][pRope] += 3;
  65325. SendClientMessage(playerid, COLOR_GRAD4, "3 Ropes purchased.");
  65326. SendClientMessage(playerid, COLOR_WHITE, "HINT: Type /tie while driving a car to tie someone.");
  65327. GivePlayerCash(playerid, -100);
  65328. BusinessInfo[InsideBiz[playerid]][bMoney] += 100;
  65329. }
  65330. else SendClientMessage(playerid, COLOR_GRAD4, "You can't hold any more of this item!");
  65331. }
  65332. else
  65333. {
  65334. SendClientMessage(playerid, COLOR_GRAD4, "You don't have the cash for this item!");
  65335. }
  65336. }
  65337. if(listitem == 7)
  65338. {
  65339. if(GetPlayerCash(playerid) >= 5)
  65340. {
  65341. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  65342. PlayerInfo[playerid][pCigar] = 10;
  65343. SendClientMessage(playerid, COLOR_GRAD4, "10 cigars purchased.");
  65344. SendClientMessage(playerid, COLOR_WHITE, "HINT: Type /usecigar to use your cigars. Left mouse button to smoke it, F to throw it away.");
  65345. GivePlayerCash(playerid, -5);
  65346. BusinessInfo[InsideBiz[playerid]][bMoney] += 5;
  65347. }
  65348. else
  65349. {
  65350. SendClientMessage(playerid, COLOR_GRAD4, "You don't have the cash for this item!");
  65351. }
  65352. }
  65353. if(listitem == 8) {
  65354. if(GetPlayerCash(playerid) >= 1) {
  65355. if(PlayerInfo[playerid][pSprunk] >= 10)
  65356. return SendClientMessage(playerid, COLOR_GREY, "You can't carry any more Sprunk.");
  65357. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  65358. PlayerInfo[playerid][pSprunk] += 1;
  65359. SendClientMessage(playerid, COLOR_GRAD4, "Sprunk purchased.");
  65360. SendClientMessage(playerid, COLOR_WHITE, "HINT: Type /usesprunk to drink a can of Sprunk. Left mouse button to take a sip, F to throw it away.");
  65361. GivePlayerCash(playerid, -1);
  65362. BusinessInfo[InsideBiz[playerid]][bMoney] += 1;
  65363. }
  65364. else
  65365. {
  65366. SendClientMessage(playerid, COLOR_GRAD4, "You don't have the cash for this item!");
  65367. }
  65368. }
  65369. if(listitem == 9)
  65370. {
  65371. if(GetPlayerCash(playerid) >= 500)
  65372. {
  65373. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  65374. PlayerInfo[playerid][pRadio] = 1;
  65375. PlayerInfo[playerid][pRadioFreq] = 1;
  65376. SendClientMessage(playerid, COLOR_GRAD4, "Portable radio purchased.");
  65377. SendClientMessage(playerid, COLOR_WHITE, "HINT: Type /pr to talk over your portable radio.");
  65378. SendClientMessage(playerid, COLOR_WHITE, "HINT: Type /setfreq to set the frequency of your portable radio.");
  65379. GivePlayerCash(playerid, -500);
  65380. BusinessInfo[InsideBiz[playerid]][bMoney] += 500;
  65381. }
  65382. else
  65383. {
  65384. SendClientMessage(playerid, COLOR_GRAD4, "You don't have the cash for this item!");
  65385. }
  65386. }
  65387. if(listitem == 10)
  65388. {
  65389. if(GetPlayerCash(playerid) >= 20)
  65390. {
  65391. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  65392. GivePlayerValidWeapon(playerid, 43, 99999);
  65393. SendClientMessage(playerid, COLOR_GRAD4, "Camera purchased.");
  65394. SendClientMessage(playerid, COLOR_WHITE, "HINT: Remember look into the viewfinder and take a picture.");
  65395. GivePlayerCash(playerid, -20);
  65396. BusinessInfo[InsideBiz[playerid]][bMoney] += 20;
  65397. }
  65398. else
  65399. {
  65400. SendClientMessage(playerid, COLOR_GRAD4, "You don't have the cash for this item!");
  65401. }
  65402. }
  65403. }
  65404. }
  65405. if(dialogid == STOREMENU1)
  65406. {
  65407. if(response)
  65408. {
  65409. if(listitem == 0)
  65410. {
  65411. ShowPlayerDialogEx(playerid, STOREMENU, DIALOG_STYLE_LIST, "24/7","Cell Phone $200\nPhone Book $50\nDice $50\nCondom $5\nCD Player $5\nSpraycan $20\nRope $100\nCigar $5\nSprunk $1\nPortable Radio $500\nCamera $20", "Buy", "Cancel");
  65412. }
  65413. else if(listitem == 1)
  65414. {
  65415. ShowPlayerDialogEx(playerid, DIALOG_CDLOCKBUY, DIALOG_STYLE_LIST, "24/7", "Alarm Lock $1000\nIndustrial Lock $5000", "Buy", "Cancel");
  65416. }
  65417. else if(listitem == 2)
  65418. {
  65419. if(PlayerInfo[playerid][pGang] != 255 && PlayerInfo[playerid][pRank] >= 6)
  65420. {
  65421. ShowPlayerDialogEx(playerid, DIALOG_CDGLOCKBUY, DIALOG_STYLE_LIST, "24/7", "Alarm Lock $1000\nIndustrial Lock $5000", "Buy", "Cancel");
  65422. }
  65423. else
  65424. {
  65425. SendClientMessageEx(playerid, COLOR_GRAD2, "You need to be in a family and have rank 6 to buy some locks");
  65426. }
  65427. }
  65428. }
  65429. }
  65430. if(dialogid == COLORMENU)
  65431. {
  65432. if(response)
  65433. {
  65434. if(listitem == 0)
  65435. {
  65436. SetPlayerColor(playerid,COLOR_DBLUE);
  65437. SendClientMessage(playerid, COLOR_DBLUE, "Your color has been set to Blue!");
  65438. }
  65439. if(listitem == 1)
  65440. {
  65441. SetPlayerColor(playerid,COLOR_BLACK);
  65442. SendClientMessage(playerid, COLOR_BLACK, "Your color has been set to Black!");
  65443. }
  65444. if(listitem == 2)
  65445. {
  65446. SetPlayerColor(playerid,COLOR_RED);
  65447. SendClientMessage(playerid, COLOR_RED, "Your color has been set to Red!");
  65448. }
  65449. if(listitem == 3)
  65450. {
  65451. SetPlayerColor(playerid,TEAM_ORANGE_COLOR);
  65452. SendClientMessage(playerid, TEAM_ORANGE_COLOR, "Your color has been set to Orange!");
  65453. }
  65454. if(listitem == 4)
  65455. {
  65456. SetPlayerColor(playerid,COLOR_PINK);
  65457. SendClientMessage(playerid, COLOR_PINK, "Your color has been set to Pink!");
  65458. }
  65459. if(listitem == 5)
  65460. {
  65461. SetPlayerColor(playerid,COLOR_PURPLE);
  65462. SendClientMessage(playerid, COLOR_PURPLE, "Your color has been set to Purple!");
  65463. }
  65464. if(listitem == 6)
  65465. {
  65466. SetPlayerColor(playerid,COLOR_GREEN);
  65467. SendClientMessage(playerid, COLOR_GREEN, "Your color has been set to Green!");
  65468. }
  65469. if(listitem == 7)
  65470. {
  65471. SetPlayerColor(playerid,COLOR_YELLOW);
  65472. SendClientMessage(playerid, COLOR_YELLOW, "Your color has been set to Yellow!");
  65473. }
  65474. if(listitem == 8)
  65475. {
  65476. SetPlayerColor(playerid,COLOR_WHITE);
  65477. SendClientMessage(playerid, COLOR_WHITE, "Your color has been set to White!");
  65478. }
  65479. }
  65480. }
  65481. if(dialogid == 3495) {
  65482. new skinid = strval(inputtext);
  65483. if(!response)
  65484. return 1;
  65485. if(IsValidSkin(skinid) == 0 && PlayerInfo[playerid][pDonator] < 1) {
  65486. SendClientMessage(playerid, COLOR_GREY, "That skin ID is either invalid or restricted to faction or family!");
  65487. ShowPlayerDialogEx(playerid, 3495, DIALOG_STYLE_INPUT, "Skin Selection","Please enter a Skin ID!\n\nNote: Skin Changes cost $250.", "Buy", "Cancel");
  65488. } else {
  65489. if(GetPlayerCash(playerid) < 250 && PlayerInfo[playerid][pFaction] == 0 && PlayerInfo[playerid][pLeader] == 0)
  65490. return SendClientMessage(playerid, COLOR_GRAD2, "You can't afford these clothes!");
  65491. if(PlayerInfo[playerid][pDonator] > 0 && IsInvalidSkin(skinid)) {
  65492. ShowPlayerDialogEx(playerid, 3495, DIALOG_STYLE_INPUT, "Skin Selection","Please enter a Skin ID!\n\nNote: Skin Changes are free for donators.", "Buy", "Cancel");
  65493. return SendClientMessage(playerid, COLOR_GREY, "Invalid skin ID, try again.");
  65494. }
  65495. if(PlayerInfo[playerid][pFaction] == 0 && PlayerInfo[playerid][pLeader] == 0 && PlayerInfo[playerid][pDonator] == 0) {
  65496. GivePlayerCash(playerid, -250);
  65497. GameTextForPlayer(playerid, "~g~Skin purchased! ~n~ ~r~- $250", 2000, 1);
  65498. } else {
  65499. GameTextForPlayer(playerid, "~g~Skin changed!", 2000, 1);
  65500. }
  65501. PlayerInfo[playerid][pSkin] = skinid;
  65502. SetPlayerSkin(playerid, skinid);
  65503. }
  65504. return 1;
  65505. }
  65506. // MDC System
  65507. if(dialogid == MDC_MAIN && response)
  65508. {//*Find LEO\n*Civilian Information\n*Law Enforcement Agencies\n*Options
  65509. if(!IsMDCPermitted(playerid)) return SendClientMessage(playerid, COLOR_LIGHTBLUE, " Login Failed. you're not permitted to use the MDC!");
  65510. switch(listitem)
  65511. {
  65512. case 0:
  65513. {
  65514. ShowPlayerDialogEx(playerid, MDC_FIND, DIALOG_STYLE_INPUT, "SA-MDC - Logged in | LEO GPS Location", "Enter the Law Enforcment Official's Name or ID No.", "Enter", "Cancel");
  65515. }
  65516. case 1:
  65517. {
  65518. ShowPlayerDialogEx(playerid, MDC_CIVILIANS, DIALOG_STYLE_LIST, "SA-MDC - Logged in | Civilian Options", "*Check Record\n*Licenses\n*Warrants\n*Issue Warrant\n*BOLO\n*Create BOLO\n*Delete", "OK", "Cancel");
  65519. }
  65520. case 2:
  65521. {
  65522. ShowPlayerDialogEx(playerid, MDC_MEMBERS, DIALOG_STYLE_LIST, "SA-MDC - Logged in | Agency List", "*LSPD\n*FBI\n*LSFMD", "OK", "Cancel");
  65523. }
  65524. case 3: ShowPlayerDialogEx(playerid, MDC_MESSAGE, DIALOG_STYLE_INPUT, "SA-MDC - Logged In | MDC Message", "Enter recipient's Name or ID No.", "OK", "Cancel");
  65525. case 4: ShowPlayerDialogEx(playerid, MDC_SMS, DIALOG_STYLE_INPUT, "SA-MDC - Logged In | SMS", "Enter recipient's phone number.", "OK", "Cancel");
  65526. }
  65527. }
  65528. if(dialogid == MDC_FIND && response)
  65529. {
  65530. new giveplayerid;
  65531. if(!IsMDCPermitted(playerid)) return SendClientMessage(playerid, COLOR_LIGHTBLUE, " Login Failed. you're not permitted to use the MDC!");
  65532. if(sscanf(inputtext, "u", giveplayerid))
  65533. {
  65534. ShowPlayerDialogEx(playerid, MDC_FIND, DIALOG_STYLE_INPUT, "SA-MDC - Logged in | LEO GPS Location", "Enter the Law Enforcment Official's Name or ID No.", "Enter", "Cancel");
  65535. return 1;
  65536. }
  65537. if(IsPlayerConnected(giveplayerid))
  65538. {
  65539. if(giveplayerid != INVALID_PLAYER_ID)
  65540. {
  65541. if(giveplayerid == playerid)
  65542. {
  65543. ShowPlayerDialogEx(playerid, MDC_FIND, DIALOG_STYLE_INPUT, "SA-MDC - Logged in | ERROR", "ERROR: You can't find yourself.\nEnter the Law Enforcment Official's Name or ID No.", "Enter", "Cancel");
  65544. return 1;
  65545. }
  65546. if(PlayerInfo[giveplayerid][pFaction] == 1|| PlayerInfo[giveplayerid][pLeader] == 1 || PlayerInfo[giveplayerid][pFaction] == 2 || PlayerInfo[giveplayerid][pLeader] == 2)
  65547. {
  65548. SetPlayerMarkerForPlayer(playerid,giveplayerid,FIND_COLOR);
  65549. FindingPlayer[playerid] = giveplayerid;
  65550. FindTime[playerid] = 1;
  65551. FindTimePoints[playerid] = 30;
  65552. }
  65553. else
  65554. {
  65555. SendClientMessage(playerid, COLOR_GRAD2, " You can only find other cops!");
  65556. }
  65557. }
  65558. }
  65559. }
  65560. if(dialogid == MDC_CIVILIANS && response)
  65561. { //*Check Record\n*Licenses\nWarrants\n*Issue Warrant
  65562. new WarrantString[512];
  65563. if(!IsMDCPermitted(playerid)) return SendClientMessage(playerid, COLOR_LIGHTBLUE, " Login Failed. you're not permitted to use the MDC!");
  65564. if(News[hTaken6] == 1)
  65565. {
  65566. format(string, sizeof(string), "%s :: Officer: %s\n", News[hAdd6], News[hContact6]);
  65567. strcat(WarrantString, string, sizeof(WarrantString));
  65568. }
  65569. if(News[hTaken7] == 1)
  65570. {
  65571. format(string, sizeof(string), "%s :: Officer: %s\n", News[hAdd7], News[hContact7]);
  65572. strcat(WarrantString, string, sizeof(WarrantString));
  65573. }
  65574. if(News[hTaken8] == 1)
  65575. {
  65576. format(string, sizeof(string), "%s :: Officer: %s\n", News[hAdd8], News[hContact8]);
  65577. strcat(WarrantString, string, sizeof(WarrantString));
  65578. }
  65579. if(News[hTaken9] == 1)
  65580. {
  65581. format(string, sizeof(string), "%s :: Officer: %s\n", News[hAdd9], News[hContact9]);
  65582. strcat(WarrantString, string, sizeof(WarrantString));
  65583. }
  65584. if(News[hTaken10] == 1)
  65585. {
  65586. format(string, sizeof(string), "%s :: Officer: %s\n", News[hAdd10], News[hContact10]);
  65587. strcat(WarrantString, string, sizeof(WarrantString));
  65588. }
  65589. if(News[hTaken11] == 1)
  65590. {
  65591. format(string, sizeof(string), "%s :: Officer: %s\n", News[hAdd11], News[hContact11]);
  65592. strcat(WarrantString, string, sizeof(WarrantString));
  65593. }
  65594. if(News[hTaken12] == 1)
  65595. {
  65596. format(string, sizeof(string), "%s :: Officer: %s\n", News[hAdd12], News[hContact12]);
  65597. strcat(WarrantString, string, sizeof(WarrantString));
  65598. }
  65599. if(News[hTaken13] == 1)
  65600. {
  65601. format(string, sizeof(string), "%s :: Officer: %s\n", News[hAdd13], News[hContact13]);
  65602. strcat(WarrantString, string, sizeof(WarrantString));
  65603. }
  65604. if(strlen(WarrantString) == 0)
  65605. {
  65606. strcat(WarrantString, "No Warrants at this time.", sizeof(WarrantString));
  65607. }
  65608. switch(listitem)
  65609. {
  65610. case 0: ShowPlayerDialogEx(playerid, MDC_CHECK, DIALOG_STYLE_INPUT, "SA-MDC - Logged in | Records Check", "Enter the Person's Name or ID No.", "Enter", "Cancel");
  65611. case 1: ShowPlayerDialogEx(playerid, MDC_LICENSES, DIALOG_STYLE_INPUT, "SA-MDC - Logged in | License Check", "Enter the Person's Name or ID No.", "Enter", "Cancel");
  65612. case 2: ShowPlayerDialogEx(playerid, MDC_WARRANTS, DIALOG_STYLE_LIST, "SA-MDC - Logged in | Warrant List", WarrantString, "Enter", "Cancel");
  65613. case 3: ShowPlayerDialogEx(playerid, MDC_ISSUE_SLOT, DIALOG_STYLE_LIST, "SA-MDC - Logged in | Which Slot would you like to use?", "1\n2\n3\n4\n5\n6\n7\n8", "Enter", "Cancel");
  65614. case 4:
  65615. {
  65616. new BOLOString[512];
  65617. if(News[hTaken14] == 1)
  65618. {
  65619. format(string, sizeof(string), "%s :: Officer: %s\n", News[hAdd14], News[hContact14]);
  65620. strcat(BOLOString, string, sizeof(BOLOString));
  65621. }
  65622. if(News[hTaken15] == 1)
  65623. {
  65624. format(string, sizeof(string), "%s :: Officer: %s\n", News[hAdd15], News[hContact15]);
  65625. strcat(BOLOString, string, sizeof(BOLOString));
  65626. }
  65627. if(News[hTaken16] == 1)
  65628. {
  65629. format(string, sizeof(string), "%s :: Officer: %s\n", News[hAdd16], News[hContact16]);
  65630. strcat(BOLOString, string, sizeof(BOLOString));
  65631. }
  65632. if(News[hTaken17] == 1)
  65633. {
  65634. format(string, sizeof(string), "%s :: Officer: %s\n", News[hAdd17], News[hContact17]);
  65635. strcat(BOLOString, string, sizeof(BOLOString));
  65636. }
  65637. if(News[hTaken18] == 1)
  65638. {
  65639. format(string, sizeof(string), "%s :: Officer: %s\n", News[hAdd18], News[hContact18]);
  65640. strcat(BOLOString, string, sizeof(BOLOString));
  65641. }
  65642. if(News[hTaken19] == 1)
  65643. {
  65644. format(string, sizeof(string), "%s :: Officer: %s\n", News[hAdd19], News[hContact19]);
  65645. strcat(BOLOString, string, sizeof(BOLOString));
  65646. }
  65647. if(News[hTaken20] == 1)
  65648. {
  65649. format(string, sizeof(string), "%s :: Officer: %s\n", News[hAdd20], News[hContact20]);
  65650. strcat(BOLOString, string, sizeof(BOLOString));
  65651. }
  65652. if(News[hTaken21] == 1)
  65653. {
  65654. format(string, sizeof(string), "%s :: Officer: %s\n", News[hAdd21], News[hContact21]);
  65655. strcat(BOLOString, string, sizeof(BOLOString));
  65656. }
  65657. if(strlen(BOLOString) == 0)
  65658. {
  65659. strcat(BOLOString, "No BOLOs at this time.", sizeof(BOLOString));
  65660. }
  65661. ShowPlayerDialogEx(playerid, MDC_BOLOLIST, DIALOG_STYLE_LIST, "SA-MDC - Logged In | BOLO List", BOLOString, "OK", "Cancel");
  65662. }
  65663. case 5:
  65664. {
  65665. ShowPlayerDialogEx(playerid, MDC_BOLO_SLOT, DIALOG_STYLE_LIST, "SA-MDC - Logged in | Which Slot would you like to use?", "1\n2\n3\n4\n5\n6\n7\n8", "Enter", "Cancel");
  65666. }
  65667. case 6:
  65668. {
  65669. ShowPlayerDialogEx(playerid, MDC_DELETE, DIALOG_STYLE_LIST, "SA-MDC - Logged In | Delete", "*BOLO\n*Warrant", "OK", "Cancel");
  65670. }
  65671. }
  65672. }
  65673. if(dialogid == MDC_MEMBERS && response)
  65674. {
  65675. if(!IsMDCPermitted(playerid)) return SendClientMessage(playerid, COLOR_LIGHTBLUE, " Login Failed. you're not permitted to use the MDC!");
  65676. new MemberString[1024], giveplayer[MAX_PLAYER_NAME];
  65677. new rank[64], division[64], employer[64];
  65678. if(listitem == 0)
  65679. {
  65680. foreach(Player, i)
  65681. {
  65682. giveplayer = GetPlayerNameEx(i);
  65683. if(PlayerInfo[i][pFaction] == 1)
  65684. {
  65685. GetPlayerFactionInfo(i, rank, division, employer);
  65686. //GetPlayerName(i, giveplayer, sizeof(giveplayer));
  65687. format(string, sizeof(string), "* %s (%s) %s Ph: %d\n", rank, division, giveplayer, PlayerInfo[i][pNumber]);
  65688. strcat(MemberString, string, sizeof(MemberString));
  65689. }
  65690. }
  65691. if(strlen(MemberString) == 0)
  65692. {
  65693. strcat(MemberString, "No Members online at this time.", sizeof(MemberString));
  65694. }
  65695. ShowPlayerDialogEx(playerid, MDC_LSPD, DIALOG_STYLE_LIST, "SA-MDC - Logged in | LSPD Members", MemberString, "Select", "Cancel");
  65696. }
  65697. else if(listitem == 1)
  65698. {
  65699. foreach(Player, i)
  65700. {
  65701. giveplayer = GetPlayerNameEx(i);
  65702. if(PlayerInfo[i][pFaction] == 2)
  65703. {
  65704. GetPlayerFactionInfo(i, rank, division, employer);
  65705. //GetPlayerName(i, giveplayer, sizeof(giveplayer));
  65706. format(string, sizeof(string), "* %s (%s) %s Ph: %d\n", rank, division, giveplayer, PlayerInfo[i][pNumber]);
  65707. strcat(MemberString, string, sizeof(MemberString));
  65708. }
  65709. }
  65710. if(strlen(MemberString) == 0)
  65711. {
  65712. strcat(MemberString, "No Members online at this time.", sizeof(MemberString));
  65713. }
  65714. ShowPlayerDialogEx(playerid, MDC_SFPD, DIALOG_STYLE_LIST, "SA-MDC - Logged in | FBI Members", MemberString, "Select", "Cancel");
  65715. }
  65716. else if(listitem == 2)
  65717. {
  65718. foreach(Player, i)
  65719. {
  65720. giveplayer = GetPlayerNameEx(i);
  65721. if(PlayerInfo[i][pFaction] == 3)
  65722. {
  65723. GetPlayerFactionInfo(i, rank, division, employer);
  65724. //GetPlayerName(i, giveplayer, sizeof(giveplayer));
  65725. format(string, sizeof(string), "* %s (%s) %s Ph: %d\n", rank, division, giveplayer, PlayerInfo[i][pNumber]);
  65726. strcat(MemberString, string, sizeof(MemberString));
  65727. }
  65728. }
  65729. if(strlen(MemberString) == 0)
  65730. {
  65731. strcat(MemberString, "No Members online at this time.", sizeof(MemberString));
  65732. }
  65733. ShowPlayerDialogEx(playerid, MDC_LSFMD, DIALOG_STYLE_LIST, "SA-MDC - Logged in | LSFMD Members", MemberString, "Select", "Cancel");
  65734. }
  65735. }
  65736. if(dialogid == MDC_WARRANTS && response)
  65737. {
  65738. if(!IsMDCPermitted(playerid)) return SendClientMessage(playerid, COLOR_LIGHTBLUE, " Login Failed. you're not permitted to use the MDC!");
  65739. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | Warrants", inputtext, "OK", "Back");
  65740. }
  65741. if(dialogid == MDC_BOLOLIST && response)
  65742. {
  65743. if(!IsMDCPermitted(playerid)) return SendClientMessage(playerid, COLOR_LIGHTBLUE, " Login Failed. you're not permitted to use the MDC!");
  65744. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | BOLO Hot Sheet", inputtext, "OK", "Back");
  65745. }
  65746. if(dialogid == MDC_CHECK && response)
  65747. {
  65748. if(!IsMDCPermitted(playerid)) return SendClientMessage(playerid, COLOR_LIGHTBLUE, " Login Failed. you're not permitted to use the MDC!");
  65749. new giveplayerid = ReturnUser(inputtext);
  65750. new HistoryString[1024];
  65751. new giveplayer[MAX_PLAYER_NAME];
  65752. giveplayer = GetPlayerNameEx(giveplayerid);
  65753. if(giveplayerid != INVALID_PLAYER_ID)
  65754. {
  65755. format(string, sizeof(string), "Name : %s\n", GetPlayerNameEx(giveplayerid));
  65756. strcat(HistoryString, string, sizeof(HistoryString));
  65757. format(string, sizeof(string), "Crime : %s\n", PlayerCrime[giveplayerid][pAccusedof]);
  65758. strcat(HistoryString, string, sizeof(HistoryString));
  65759. format(string, sizeof(string), "Claimant : %s\n", PlayerCrime[giveplayerid][pVictim]);
  65760. strcat(HistoryString, string, sizeof(HistoryString));
  65761. format(string, sizeof(string), "Reported : %s\n", PlayerCrime[giveplayerid][pAccusing]);
  65762. strcat(HistoryString, string, sizeof(HistoryString));
  65763. format(string, sizeof(string), "Accused : %s\n", PlayerCrime[giveplayerid][pBplayer]);
  65764. strcat(HistoryString, string, sizeof(HistoryString));
  65765. for(new i=0; i<MAX_PLAYERVEHICLES; i++)
  65766. {
  65767. if(PlayerVehicleInfo[giveplayerid][i][pvTicket] != 0)
  65768. {
  65769. format(string, sizeof(string), "Vehicle registration: %d | Vehicle Name: %s | Ticket: $%d.\n",PlayerVehicleInfo[giveplayerid][i][pvId],GetVehicleName(PlayerVehicleInfo[giveplayerid][i][pvId]),PlayerVehicleInfo[giveplayerid][i][pvTicket]);
  65770. strcat(HistoryString, string, sizeof(HistoryString));
  65771. }
  65772. }
  65773. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_LIST, "SA-MDC - Logged in | Criminal History", HistoryString, "OK", "Cancel");
  65774. format(string, sizeof(string), "** DISPATCH: %s has run a check for warrants on %s **", GetPlayerNameEx(playerid), giveplayer);
  65775. SendRadioMessage(1, COLOR_DBLUE, string);
  65776. SendRadioMessage(2, COLOR_DBLUE, string);
  65777. return 1;
  65778. }
  65779. else
  65780. {
  65781. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | ERROR ", "There is no record of that person.", "OK", "Cancel");
  65782. return 1;
  65783. }
  65784. }
  65785. if(dialogid == MDC_LICENSES && response)
  65786. {
  65787. if(!IsMDCPermitted(playerid)) return SendClientMessage(playerid, COLOR_LIGHTBLUE, " Login Failed. you're not permitted to use the MDC!");
  65788. new giveplayerid;
  65789. if(sscanf(inputtext, "u", giveplayerid))
  65790. {
  65791. ShowPlayerDialogEx(playerid, MDC_LICENSES, DIALOG_STYLE_INPUT, "SA-MDC - Logged in | License Check", "Enter the Person's Name or ID No.", "Enter", "Cancel");
  65792. return 1;
  65793. }
  65794. if(IsPlayerConnected(giveplayerid))
  65795. {
  65796. if(giveplayerid != INVALID_PLAYER_ID)
  65797. {
  65798. new LicenseString[256], giveplayer[MAX_PLAYER_NAME];
  65799. GetPlayerName(playerid, sendername, sizeof(sendername));
  65800. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  65801. new text1[20];
  65802. new text2[20];
  65803. new text3[20];
  65804. new text4[20];
  65805. if(PlayerInfo[giveplayerid][pCarLic] == 0) { text1 = "Not Passed"; }
  65806. if(PlayerInfo[giveplayerid][pCarLic] == 1) { text1 = "Passed"; }
  65807. if(PlayerInfo[giveplayerid][pCarLic] == 2) { text1 = "Suspended"; }
  65808. if(PlayerInfo[giveplayerid][pCarLic] == 3) { text1 = "Cancelled"; }
  65809. if(PlayerInfo[giveplayerid][pFlyLic]) { text4 = "Passed"; } else { text4 = "Not Passed"; }
  65810. if(PlayerInfo[giveplayerid][pBoatLic]) { text2 = "Passed"; } else { text2 = "Not Passed"; }
  65811. if(PlayerInfo[giveplayerid][pGunLic]) { text3 = "Passed"; } else { text3 = "Not Passed"; }
  65812. format(string, sizeof(string), " Name: %s\n", giveplayer);
  65813. strcat(LicenseString, string, sizeof(LicenseString));
  65814. format(string, sizeof(string), "-Drivers License: %s.\n", text1);
  65815. strcat(LicenseString, string, sizeof(LicenseString));
  65816. format(string, sizeof(string), "-Flying License: %s.\n", text4);
  65817. strcat(LicenseString, string, sizeof(LicenseString));
  65818. format(string, sizeof(string), "-Sailing License: %s.\n", text2);
  65819. strcat(LicenseString, string, sizeof(LicenseString));
  65820. format(string, sizeof(string), "-Weapon License: %s.\n", text3);
  65821. strcat(LicenseString, string, sizeof(LicenseString));
  65822. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_LIST, "SA-MDC - Logged in | Criminal History", LicenseString, "OK", "Cancel");
  65823. format(string, sizeof(string), "** DISPATCH: %s has ran a license check on %s **", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  65824. SendRadioMessage(1, COLOR_DBLUE, string);
  65825. SendRadioMessage(2, COLOR_DBLUE, string);
  65826. return 1;
  65827. }
  65828. else return ShowPlayerDialogEx(playerid, MDC_LICENSES, DIALOG_STYLE_INPUT, "SA-MDC - Logged in | Error!", "ERROR: Invalid Name or ID No.\nEnter the Person's Name or ID No.", "Enter", "Cancel");
  65829. }
  65830. else return ShowPlayerDialogEx(playerid, MDC_LICENSES, DIALOG_STYLE_INPUT, "SA-MDC - Logged in | Error!", "ERROR: Invalid Name or ID No.\nEnter the Person's Name or ID No.", "Enter", "Cancel");
  65831. }
  65832. if(dialogid == MDC_MESSAGE && response)
  65833. {
  65834. if(!IsMDCPermitted(playerid)) return SendClientMessage(playerid, COLOR_LIGHTBLUE, " Login Failed. you're not permitted to use the MDC!");
  65835. new giveplayerid;
  65836. if(sscanf(inputtext, "u", giveplayerid))
  65837. {
  65838. return ShowPlayerDialogEx(playerid, MDC_MESSAGE, DIALOG_STYLE_INPUT, "SA-MDC - Logged In | Error!", "ERROR: Invalid Recipient\nEnter recipient's Name or ID No.", "OK", "Cancel");
  65839. }
  65840. if(IsPlayerConnected(giveplayerid))
  65841. {
  65842. if(giveplayerid != INVALID_PLAYER_ID)
  65843. {
  65844. format(string, sizeof(string), " Enter your message to %s ", GetPlayerNameEx(giveplayerid));
  65845. ShowPlayerDialogEx(playerid, MDC_MESSAGE_2, DIALOG_STYLE_INPUT, "SA-MDC - Logged In | MDC Message", string, "OK", "Cancel");
  65846. SetPVarInt(playerid, "MDCMessageRecipient", giveplayerid);
  65847. }
  65848. else return ShowPlayerDialogEx(playerid, MDC_MESSAGE, DIALOG_STYLE_INPUT, "SA-MDC - Logged In | Error!", "ERROR: Invalid Recipient\nEnter recipient's Name or ID No.", "OK", "Cancel");
  65849. }
  65850. else return ShowPlayerDialogEx(playerid, MDC_MESSAGE, DIALOG_STYLE_INPUT, "SA-MDC - Logged In | Error!", "ERROR: Invalid Recipient\nEnter recipient's Name or ID No.", "OK", "Cancel");
  65851. }
  65852. if(dialogid == MDC_SMS && response)
  65853. {
  65854. if(isnull(inputtext) || strval(inputtext) != 0)
  65855. {
  65856. return ShowPlayerDialogEx(playerid, MDC_SMS, DIALOG_STYLE_INPUT, "SA-MDC - Logged In | Error!", "ERROR: Invalid Phone Number\nEnter Recipient's Phone Number", "OK", "Cancel");
  65857. }
  65858. new phonenumb = strval(inputtext);
  65859. format(string, sizeof(string), " Enter your message to %d ", phonenumb);
  65860. ShowPlayerDialogEx(playerid, MDC_SMS_2, DIALOG_STYLE_INPUT, "SA-MDC - Logged In | SMS Message", string, "OK", "Cancel");
  65861. SetPVarInt(playerid, "SMSMessageRecipient", phonenumb);
  65862. }
  65863. if(dialogid == MDC_MESSAGE_2 && response)
  65864. {
  65865. new giveplayerid = GetPVarInt(playerid, "MDCMessageRecipient");
  65866. if(giveplayerid == INVALID_PLAYER_ID) return ShowPlayerDialogEx(playerid, MDC_MESSAGE, DIALOG_STYLE_INPUT, "SA-MDC - Logged In | Error!", "ERROR: Invalid Recipient\nEnter recipient's Name or ID No.", "OK", "Cancel");
  65867. if(giveplayerid == playerid)
  65868. {
  65869. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | ERROR ", "You can't send messages to yourself!", "OK", "Cancel");
  65870. return 1;
  65871. }
  65872. if(ConnectedToPC[giveplayerid] == 1337 || IsPlayerInAnyVehicle(giveplayerid))
  65873. {
  65874. if(!IsMDCPermitted(giveplayerid))
  65875. {
  65876. return ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | ERROR ", "That person is not logged into the MDC.", "OK", "Cancel");
  65877. }
  65878. if(!strlen(inputtext))
  65879. {
  65880. return ShowPlayerDialogEx(playerid, MDC_MESSAGE_2, DIALOG_STYLE_INPUT, "SA-MDC - Logged In | Error!", "ERROR: You must type a message!\nEnter Recipient's Name or ID No.", "OK", "Cancel");
  65881. }
  65882. format(string, sizeof(string), "MDC Message sent to %s:\n%s", GetPlayerNameEx(giveplayerid), inputtext);
  65883. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | Message Sent! ", string, "OK", "Cancel");
  65884. if(ConnectedToPC[giveplayerid] == 1337)
  65885. {
  65886. format(string, sizeof(string), "MDC Message from %s:\n%s", GetPlayerNameEx(playerid), inputtext);
  65887. ShowPlayerDialogEx(giveplayerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | New Message!", string, "OK", "Cancel");
  65888. format(string, sizeof(string), "MDC Message from %s: %s", GetPlayerNameEx(playerid), inputtext);
  65889. SendClientMessage(giveplayerid, COLOR_YELLOW, string);
  65890. }
  65891. else
  65892. {
  65893. format(string, sizeof(string), "MDC Message from %s:\n%s", GetPlayerNameEx(playerid), inputtext);
  65894. ShowPlayerDialogEx(giveplayerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | New Message! ", string, "OK", "Cancel");
  65895. }
  65896. }
  65897. else
  65898. {
  65899. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | ERROR ", "That officer is not logged into the MDC.", "OK", "Cancel");
  65900. return 1;
  65901. }
  65902. return 1;
  65903. }
  65904. if(dialogid == MDC_SMS_2 && response)
  65905. {
  65906. new phonenumb = GetPVarInt(playerid, "SMSMessageRecipient");
  65907. if(!strlen(inputtext))
  65908. {
  65909. return ShowPlayerDialogEx(playerid, MDC_SMS_2, DIALOG_STYLE_INPUT, "SA-MDC - Logged In | Error!", "ERROR: You must type a message!\nEnter Recipient's Phone Number", "OK", "Cancel");
  65910. }
  65911. if(phonenumb == 555)
  65912. {
  65913. if(strcmp("yes", inputtext, true) == 0) {
  65914. SendClientMessage(playerid, COLOR_WHITE, "Text Message Delivered.");
  65915. SendClientMessage(playerid, COLOR_YELLOW, "SMS: I have no idea what you're talking about, Sender: MOLE (555)");
  65916. return 0;
  65917. }
  65918. else
  65919. {
  65920. SendClientMessage(playerid, COLOR_YELLOW, "SMS: A simple 'yes' will do, Sender: MOLE (555)");
  65921. //ChatLog(string);
  65922. return 0;
  65923. }
  65924. }
  65925. foreach(Player, i)
  65926. {
  65927. if(PlayerInfo[i][pNumber] == phonenumb && phonenumb != 0)
  65928. {
  65929. Mobile[playerid] = i; //caller connecting
  65930. if(PhoneOnline[i] > 0)
  65931. {
  65932. SendClientMessage(playerid, COLOR_GREY, "That player's phone is switched off.");
  65933. return 1;
  65934. }
  65935. format(string, sizeof(string), "SMS: %s, Sender: %s (Ph:%d)", inputtext,GetPlayerNameEx(playerid),PlayerInfo[playerid][pNumber]);
  65936. GetPlayerName(i, sendername, sizeof(sendername));
  65937. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | Message Sent! ", string, "OK", "Cancel");
  65938. SendClientMessage(i, COLOR_YELLOW, string);
  65939. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  65940. Mobile[playerid] = 255;
  65941. return 1;
  65942. }
  65943. }
  65944. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | Message Delivery Failed! ", "Message Delivery Failed. Try Again", "OK", "Cancel");
  65945. }
  65946. if(dialogid == MDC_BOLO && response)
  65947. {
  65948. new x_nr = GetPVarInt(playerid, "BOLOISSUESLOT");
  65949. if(x_nr == 1)
  65950. {
  65951. if(News[hTaken14] == 0)
  65952. {
  65953. GetPlayerName(playerid, sendername, sizeof(sendername));
  65954. if(strlen(inputtext) < 9) { ShowPlayerDialogEx(playerid, MDC_BOLO, DIALOG_STYLE_INPUT, "SA-MDC - Logged in | ERROR", "ERROR: Must Be 9+ characters\nEnter BOLO Details", "Enter", "Cancel"); return 1; }
  65955. format(string, sizeof(string), "%s",inputtext); strmid(News[hAdd14], string, 0, strlen(string), 255);
  65956. format(string, sizeof(string), "%s",sendername); strmid(News[hContact14], string, 0, strlen(string), 255);
  65957. News[hTaken14] = 1;
  65958. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | Success! ","* You placed details for a BOLO on the MDC -BOLO\nto see the current BOLO List browse to BOLO when logged in to the mdc", "OK", "Back");
  65959. SendRadioMessage(1, COLOR_LIGHTBLUE, "** MDC: Details for a BOLO have been updated.");
  65960. SendRadioMessage(2, COLOR_LIGHTBLUE, "** MDC: Details for a BOLO have been updated.");
  65961. return 1;
  65962. }
  65963. else
  65964. {
  65965. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | Error! ", "Spot 1 is already Taken!", "OK", "Back");
  65966. return 1;
  65967. }
  65968. }
  65969. if(x_nr == 2)
  65970. {
  65971. if(News[hTaken15] == 0)
  65972. {
  65973. GetPlayerName(playerid, sendername, sizeof(sendername));
  65974. if(strlen(inputtext) < 9) { ShowPlayerDialogEx(playerid, MDC_BOLO, DIALOG_STYLE_INPUT, "SA-MDC - Logged in | ERROR", "ERROR: Must Be 9+ characters\nEnter BOLO Details", "Enter", "Cancel"); return 1; }
  65975. format(string, sizeof(string), "%s",inputtext); strmid(News[hAdd15], string, 0, strlen(string), 255);
  65976. format(string, sizeof(string), "%s",sendername); strmid(News[hContact15], string, 0, strlen(string), 255);
  65977. News[hTaken15] = 1;
  65978. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | Success! ","* You placed details for a BOLO on the MDC -BOLO\nto see the current BOLO List browse to BOLO when logged in to the mdc", "OK", "Back");
  65979. SendRadioMessage(1, COLOR_LIGHTBLUE, "** MDC: Details for a BOLO have been updated.");
  65980. SendRadioMessage(2, COLOR_LIGHTBLUE, "** MDC: Details for a BOLO have been updated.");
  65981. return 1;
  65982. }
  65983. else
  65984. {
  65985. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | Error! ", "Spot 2 is already Taken!", "OK", "Back");
  65986. return 1;
  65987. }
  65988. }
  65989. if(x_nr == 3)
  65990. {
  65991. if(News[hTaken16] == 0)
  65992. {
  65993. GetPlayerName(playerid, sendername, sizeof(sendername));
  65994. if(strlen(inputtext) < 9) { ShowPlayerDialogEx(playerid, MDC_BOLO, DIALOG_STYLE_INPUT, "SA-MDC - Logged in | ERROR", "ERROR: Must Be 9+ characters\nEnter BOLO Details", "Enter", "Cancel"); return 1; }
  65995. format(string, sizeof(string), "%s",inputtext); strmid(News[hAdd16], string, 0, strlen(string), 255);
  65996. format(string, sizeof(string), "%s",sendername); strmid(News[hContact16], string, 0, strlen(string), 255);
  65997. News[hTaken16] = 1;
  65998. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | Success! ","* You placed details for a BOLO on the MDC -BOLO\nto see the current BOLO List browse to BOLO when logged in to the mdc", "OK", "Back");
  65999. SendRadioMessage(1, COLOR_LIGHTBLUE, "** MDC: Details for a BOLO have been updated.");
  66000. SendRadioMessage(2, COLOR_LIGHTBLUE, "** MDC: Details for a BOLO have been updated.");
  66001. return 1;
  66002. }
  66003. else
  66004. {
  66005. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | Error! ", "Spot 3 is already Taken!", "OK", "Back");
  66006. return 1;
  66007. }
  66008. }
  66009. if(x_nr == 4)
  66010. {
  66011. if(News[hTaken17] == 0)
  66012. {
  66013. GetPlayerName(playerid, sendername, sizeof(sendername));
  66014. if(strlen(inputtext) < 9) { ShowPlayerDialogEx(playerid, MDC_BOLO, DIALOG_STYLE_INPUT, "SA-MDC - Logged in | ERROR", "ERROR: Must Be 9+ characters\nEnter BOLO Details", "Enter", "Cancel"); return 1; }
  66015. format(string, sizeof(string), "%s",inputtext); strmid(News[hAdd17], string, 0, strlen(string), 255);
  66016. format(string, sizeof(string), "%s",sendername); strmid(News[hContact17], string, 0, strlen(string), 255);
  66017. News[hTaken17] = 1;
  66018. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | Success! ","* You placed details for a BOLO on the MDC -BOLO\nto see the current BOLO List browse to BOLO when logged in to the mdc", "OK", "Back");
  66019. SendRadioMessage(1, COLOR_LIGHTBLUE, "** MDC: Details for a BOLO have been updated.");
  66020. SendRadioMessage(2, COLOR_LIGHTBLUE, "** MDC: Details for a BOLO have been updated.");
  66021. return 1;
  66022. }
  66023. else
  66024. {
  66025. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | Error! ", "Spot 4 is already Taken!", "OK", "Back");
  66026. return 1;
  66027. }
  66028. }
  66029. if(x_nr == 5)
  66030. {
  66031. if(News[hTaken18] == 0)
  66032. {
  66033. GetPlayerName(playerid, sendername, sizeof(sendername));
  66034. if(strlen(inputtext) < 9) { ShowPlayerDialogEx(playerid, MDC_BOLO, DIALOG_STYLE_INPUT, "SA-MDC - Logged in | ERROR", "ERROR: Must Be 9+ characters\nEnter BOLO Details", "Enter", "Cancel"); return 1; }
  66035. format(string, sizeof(string), "%s",inputtext); strmid(News[hAdd18], string, 0, strlen(string), 255);
  66036. format(string, sizeof(string), "%s",sendername); strmid(News[hContact18], string, 0, strlen(string), 255);
  66037. News[hTaken18] = 1;
  66038. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | Success! ","* You placed details for a BOLO on the MDC -BOLO\nto see the current BOLO List browse to BOLO when logged in to the mdc", "OK", "Back");
  66039. SendRadioMessage(1, COLOR_LIGHTBLUE, "** MDC: Details for a BOLO have been updated.");
  66040. SendRadioMessage(2, COLOR_LIGHTBLUE, "** MDC: Details for a BOLO have been updated.");
  66041. return 1;
  66042. }
  66043. else
  66044. {
  66045. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | Error! ", "Spot 5 is already Taken!", "OK", "Back");
  66046. return 1;
  66047. }
  66048. }
  66049. if(x_nr == 6)
  66050. {
  66051. if(News[hTaken19] == 0)
  66052. {
  66053. GetPlayerName(playerid, sendername, sizeof(sendername));
  66054. if(strlen(inputtext) < 9) { ShowPlayerDialogEx(playerid, MDC_BOLO, DIALOG_STYLE_INPUT, "SA-MDC - Logged in | ERROR", "ERROR: Must Be 9+ characters\nEnter BOLO Details", "Enter", "Cancel"); return 1; }
  66055. format(string, sizeof(string), "%s",inputtext); strmid(News[hAdd19], string, 0, strlen(string), 255);
  66056. format(string, sizeof(string), "%s",sendername); strmid(News[hContact19], string, 0, strlen(string), 255);
  66057. News[hTaken19] = 1;
  66058. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | Success! ","* You placed details for a BOLO on the MDC -BOLO\nto see the current BOLO List browse to BOLO when logged in to the mdc", "OK", "Back");
  66059. SendRadioMessage(1, COLOR_LIGHTBLUE, "** MDC: Details for a BOLO have been updated.");
  66060. SendRadioMessage(2, COLOR_LIGHTBLUE, "** MDC: Details for a BOLO have been updated.");
  66061. return 1;
  66062. }
  66063. else
  66064. {
  66065. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | Error! ", "Spot 6 is already Taken!", "OK", "Back");
  66066. return 1;
  66067. }
  66068. }
  66069. if(x_nr == 7)
  66070. {
  66071. if(News[hTaken20] == 0)
  66072. {
  66073. GetPlayerName(playerid, sendername, sizeof(sendername));
  66074. if(strlen(inputtext) < 9) { ShowPlayerDialogEx(playerid, MDC_BOLO, DIALOG_STYLE_INPUT, "SA-MDC - Logged in | ERROR", "ERROR: Must Be 9+ characters\nEnter BOLO Details", "Enter", "Cancel"); return 1; }
  66075. format(string, sizeof(string), "%s",inputtext); strmid(News[hAdd20], string, 0, strlen(string), 255);
  66076. format(string, sizeof(string), "%s",sendername); strmid(News[hContact20], string, 0, strlen(string), 255);
  66077. News[hTaken20] = 1;
  66078. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | Success! ","* You placed details for a BOLO on the MDC -BOLO\nto see the current BOLO List browse to BOLO when logged in to the mdc", "OK", "Back");
  66079. SendRadioMessage(1, COLOR_LIGHTBLUE, "** MDC: Details for a BOLO have been updated.");
  66080. SendRadioMessage(2, COLOR_LIGHTBLUE, "** MDC: Details for a BOLO have been updated.");
  66081. return 1;
  66082. }
  66083. else
  66084. {
  66085. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | Error! ", "Spot 7 is already Taken!", "OK", "Back");
  66086. return 1;
  66087. }
  66088. }
  66089. if(x_nr == 8)
  66090. {
  66091. if(News[hTaken21] == 0)
  66092. {
  66093. GetPlayerName(playerid, sendername, sizeof(sendername));
  66094. if(strlen(inputtext) < 9) { ShowPlayerDialogEx(playerid, MDC_BOLO, DIALOG_STYLE_INPUT, "SA-MDC - Logged in | ERROR", "ERROR: Must Be 9+ characters\nEnter BOLO Details", "Enter", "Cancel"); return 1; }
  66095. format(string, sizeof(string), "%s",inputtext); strmid(News[hAdd21], string, 0, strlen(string), 255);
  66096. format(string, sizeof(string), "%s",sendername); strmid(News[hContact21], string, 0, strlen(string), 255);
  66097. News[hTaken21] = 1;
  66098. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | Success! ","* You placed details for a BOLO on the MDC -BOLO\nto see the current BOLO List browse to BOLO when logged in to the mdc", "OK", "Back");
  66099. SendRadioMessage(1, COLOR_LIGHTBLUE, "** MDC: Details for a BOLO have been updated.");
  66100. SendRadioMessage(2, COLOR_LIGHTBLUE, "** MDC: Details for a BOLO have been updated.");
  66101. return 1;
  66102. }
  66103. else
  66104. {
  66105. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | Error! ", "Spot 8 is already Taken!", "OK", "Back");
  66106. return 1;
  66107. }
  66108. }
  66109. }
  66110. if(dialogid == MDC_BOLO_SLOT && response)
  66111. {
  66112. SetPVarInt(playerid, "BOLOISSUESLOT", listitem + 1);
  66113. ShowPlayerDialogEx(playerid, MDC_BOLO, DIALOG_STYLE_INPUT, "SA-MDC - Logged in | Issue Warrant", "Enter BOLO Details", "Enter", "Cancel");
  66114. }
  66115. if(dialogid == MDC_ISSUE_SLOT && response)
  66116. {
  66117. SetPVarInt(playerid, "ISSUESLOT", listitem + 1);
  66118. ShowPlayerDialogEx(playerid, MDC_ISSUE, DIALOG_STYLE_INPUT, "SA-MDC - Logged in | Issue Warrant", "Enter Arrest Warrant Details", "Enter", "Cancel");
  66119. }
  66120. if(dialogid == MDC_END_ID && response)
  66121. {
  66122. ShowPlayerDialogEx(playerid, MDC_MAIN, DIALOG_STYLE_LIST, "SA-MDC - Logged in", "*Find LEO\n*Civilian Information\n*Law Enforcement Agencies\n*MDC Message\n*SMS", "OK", "Cancel");
  66123. }
  66124. if(dialogid == MDC_ISSUE && response)
  66125. {
  66126. new x_nr = GetPVarInt(playerid, "ISSUESLOT");
  66127. if(x_nr == 1)
  66128. {
  66129. if(News[hTaken6] == 0)
  66130. {
  66131. GetPlayerName(playerid, sendername, sizeof(sendername));
  66132. if(strlen(inputtext) < 9) { ShowPlayerDialogEx(playerid, MDC_ISSUE, DIALOG_STYLE_INPUT, "SA-MDC - Logged in | ERROR", "ERROR: Must Be 9+ characters\nEnter Arrest Warrant Details", "Enter", "Cancel"); return 1; }
  66133. format(string, sizeof(string), "%s",inputtext); strmid(News[hAdd6], string, 0, strlen(string), 255);
  66134. format(string, sizeof(string), "%s",sendername); strmid(News[hContact6], string, 0, strlen(string), 255);
  66135. News[hTaken6] = 1;
  66136. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | Success! ","* You placed details for an arrest warrant on the MDC -Warrants\nto see the current Warrants browse to Warrants when logged in to the mdc", "OK", "Back");
  66137. SendRadioMessage(1, COLOR_LIGHTBLUE, "** MDC: Details for an arrest warrant have been updated.");
  66138. SendRadioMessage(2, COLOR_LIGHTBLUE, "** MDC: Details for an arrest warrant have been updated.");
  66139. return 1;
  66140. }
  66141. else
  66142. {
  66143. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | Error! ", "Spot 1 is already Taken!", "OK", "Back");
  66144. return 1;
  66145. }
  66146. }
  66147. if(x_nr == 2)
  66148. {
  66149. if(News[hTaken7] == 0)
  66150. {
  66151. GetPlayerName(playerid, sendername, sizeof(sendername));
  66152. if(strlen(inputtext) < 9) { ShowPlayerDialogEx(playerid, MDC_ISSUE, DIALOG_STYLE_INPUT, "SA-MDC - Logged in | ERROR", "ERROR: Must Be 9+ characters\nEnter Arrest Warrant Details", "Enter", "Cancel"); return 1; }
  66153. format(string, sizeof(string), "%s",inputtext); strmid(News[hAdd7], string, 0, strlen(string), 255);
  66154. format(string, sizeof(string), "%s",sendername); strmid(News[hContact7], string, 0, strlen(string), 255);
  66155. News[hTaken7] = 1;
  66156. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | Success! ","* You placed details for an arrest warrant on the MDC -Warrants\nto see the current Warrants browse to Warrants when logged in to the mdc", "OK", "Back");
  66157. SendRadioMessage(1, COLOR_LIGHTBLUE, "** MDC: Details for an arrest warrant have been updated.");
  66158. SendRadioMessage(2, COLOR_LIGHTBLUE, "** MDC: Details for an arrest warrant have been updated.");
  66159. return 1;
  66160. }
  66161. else
  66162. {
  66163. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | Error! ", "Spot 2 is already Taken!", "OK", "Back");
  66164. return 1;
  66165. }
  66166. }
  66167. if(x_nr == 3)
  66168. {
  66169. if(News[hTaken8] == 0)
  66170. {
  66171. GetPlayerName(playerid, sendername, sizeof(sendername));
  66172. if(strlen(inputtext) < 9) { ShowPlayerDialogEx(playerid, MDC_ISSUE, DIALOG_STYLE_INPUT, "SA-MDC - Logged in | ERROR", "ERROR: Must Be 9+ characters\nEnter Arrest Warrant Details", "Enter", "Cancel"); return 1; }
  66173. format(string, sizeof(string), "%s",inputtext); strmid(News[hAdd8], string, 0, strlen(string), 255);
  66174. format(string, sizeof(string), "%s",sendername); strmid(News[hContact8], string, 0, strlen(string), 255);
  66175. News[hTaken8] = 1;
  66176. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | Success! ","* You placed details for an arrest warrant on the MDC -Warrants\nto see the current Warrants browse to Warrants when logged in to the mdc", "OK", "Back");
  66177. SendRadioMessage(1, COLOR_LIGHTBLUE, "** MDC: Details for an arrest warrant have been updated.");
  66178. SendRadioMessage(2, COLOR_LIGHTBLUE, "** MDC: Details for an arrest warrant have been updated.");
  66179. return 1;
  66180. }
  66181. else
  66182. {
  66183. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | Error! ", "Spot 3 is already Taken!", "OK", "Back");
  66184. return 1;
  66185. }
  66186. }
  66187. if(x_nr == 4)
  66188. {
  66189. if(News[hTaken9] == 0)
  66190. {
  66191. GetPlayerName(playerid, sendername, sizeof(sendername));
  66192. if(strlen(inputtext) < 9) { ShowPlayerDialogEx(playerid, MDC_ISSUE, DIALOG_STYLE_INPUT, "SA-MDC - Logged in | ERROR", "ERROR: Must Be 9+ characters\nEnter Arrest Warrant Details", "Enter", "Cancel"); return 1; }
  66193. format(string, sizeof(string), "%s",inputtext); strmid(News[hAdd9], string, 0, strlen(string), 255);
  66194. format(string, sizeof(string), "%s",sendername); strmid(News[hContact9], string, 0, strlen(string), 255);
  66195. News[hTaken9] = 1;
  66196. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | Success! ","* You placed details for an arrest warrant on the MDC -Warrants\nto see the current Warrants browse to Warrants when logged in to the mdc", "OK", "Back");
  66197. SendRadioMessage(1, COLOR_LIGHTBLUE, "** MDC: Details for an arrest warrant have been updated.");
  66198. SendRadioMessage(2, COLOR_LIGHTBLUE, "** MDC: Details for an arrest warrant have been updated.");
  66199. return 1;
  66200. }
  66201. else
  66202. {
  66203. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | Error! ", "Spot 4 is already Taken!", "OK", "Back");
  66204. return 1;
  66205. }
  66206. }
  66207. if(x_nr == 5)
  66208. {
  66209. if(News[hTaken10] == 0)
  66210. {
  66211. GetPlayerName(playerid, sendername, sizeof(sendername));
  66212. if(strlen(inputtext) < 9) { ShowPlayerDialogEx(playerid, MDC_ISSUE, DIALOG_STYLE_INPUT, "SA-MDC - Logged in | ERROR", "ERROR: Must Be 9+ characters\nEnter Arrest Warrant Details", "Enter", "Cancel"); return 1; }
  66213. format(string, sizeof(string), "%s",inputtext); strmid(News[hAdd10], string, 0, strlen(string), 255);
  66214. format(string, sizeof(string), "%s",sendername); strmid(News[hContact10], string, 0, strlen(string), 255);
  66215. News[hTaken10] = 1;
  66216. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | Success! ","* You placed details for an arrest warrant on the MDC -Warrants\nto see the current Warrants browse to Warrants when logged in to the mdc", "OK", "Back");
  66217. SendRadioMessage(1, COLOR_LIGHTBLUE, "** MDC: Details for an arrest warrant have been updated.");
  66218. SendRadioMessage(2, COLOR_LIGHTBLUE, "** MDC: Details for an arrest warrant have been updated.");
  66219. return 1;
  66220. }
  66221. else
  66222. {
  66223. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | Error! ", "Spot 5 is already Taken!", "OK", "Back");
  66224. return 1;
  66225. }
  66226. }
  66227. if(x_nr == 6)
  66228. {
  66229. if(News[hTaken11] == 0)
  66230. {
  66231. GetPlayerName(playerid, sendername, sizeof(sendername));
  66232. if(strlen(inputtext) < 9) { ShowPlayerDialogEx(playerid, MDC_ISSUE, DIALOG_STYLE_INPUT, "SA-MDC - Logged in | ERROR", "ERROR: Must Be 9+ characters\nEnter Arrest Warrant Details", "Enter", "Cancel"); return 1; }
  66233. format(string, sizeof(string), "%s",inputtext); strmid(News[hAdd11], string, 0, strlen(string), 255);
  66234. format(string, sizeof(string), "%s",sendername); strmid(News[hContact11], string, 0, strlen(string), 255);
  66235. News[hTaken11] = 1;
  66236. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | Success! ","* You placed details for an arrest warrant on the MDC -Warrants\nto see the current Warrants browse to Warrants when logged in to the mdc", "OK", "Back");
  66237. SendRadioMessage(1, COLOR_LIGHTBLUE, "** MDC: Details for an arrest warrant have been updated.");
  66238. SendRadioMessage(2, COLOR_LIGHTBLUE, "** MDC: Details for an arrest warrant have been updated.");
  66239. return 1;
  66240. }
  66241. else
  66242. {
  66243. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | Error! ", "Spot 6 is already Taken!", "OK", "Back");
  66244. return 1;
  66245. }
  66246. }
  66247. if(x_nr == 7)
  66248. {
  66249. if(News[hTaken12] == 0)
  66250. {
  66251. GetPlayerName(playerid, sendername, sizeof(sendername));
  66252. if(strlen(inputtext) < 9) { ShowPlayerDialogEx(playerid, MDC_ISSUE, DIALOG_STYLE_INPUT, "SA-MDC - Logged in | ERROR", "ERROR: Must Be 9+ characters\nEnter Arrest Warrant Details", "Enter", "Cancel"); return 1; }
  66253. format(string, sizeof(string), "%s",inputtext); strmid(News[hAdd12], string, 0, strlen(string), 255);
  66254. format(string, sizeof(string), "%s",sendername); strmid(News[hContact12], string, 0, strlen(string), 255);
  66255. News[hTaken12] = 1;
  66256. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | Success! ","* You placed details for an arrest warrant on the MDC -Warrants\nto see the current Warrants browse to Warrants when logged in to the mdc", "OK", "Back");
  66257. SendRadioMessage(1, COLOR_LIGHTBLUE, "** MDC: Details for an arrest warrant have been updated.");
  66258. SendRadioMessage(2, COLOR_LIGHTBLUE, "** MDC: Details for an arrest warrant have been updated.");
  66259. return 1;
  66260. }
  66261. else
  66262. {
  66263. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | Error! ", "Spot 7 is already Taken!", "OK", "Back");
  66264. return 1;
  66265. }
  66266. }
  66267. if(x_nr == 8)
  66268. {
  66269. if(News[hTaken13] == 0)
  66270. {
  66271. GetPlayerName(playerid, sendername, sizeof(sendername));
  66272. if(strlen(inputtext) < 9) { ShowPlayerDialogEx(playerid, MDC_ISSUE, DIALOG_STYLE_INPUT, "SA-MDC - Logged in | ERROR", "ERROR: Must Be 9+ characters\nEnter Arrest Warrant Details", "Enter", "Cancel"); return 1; }
  66273. format(string, sizeof(string), "%s",inputtext); strmid(News[hAdd13], string, 0, strlen(string), 255);
  66274. format(string, sizeof(string), "%s",sendername); strmid(News[hContact13], string, 0, strlen(string), 255);
  66275. News[hTaken13] = 1;
  66276. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | Success! ","* You placed details for an arrest warrant on the MDC -Warrants\nto see the current Warrants browse to Warrants when logged in to the mdc", "OK", "Back");
  66277. SendRadioMessage(1, COLOR_LIGHTBLUE, "** MDC: Details for an arrest warrant have been updated.");
  66278. SendRadioMessage(2, COLOR_LIGHTBLUE, "** MDC: Details for an arrest warrant have been updated.");
  66279. return 1;
  66280. }
  66281. else
  66282. {
  66283. ShowPlayerDialogEx(playerid, MDC_END_ID, DIALOG_STYLE_MSGBOX, "SA-MDC - Logged in | Error! ", "Spot 8 is already Taken!", "OK", "Back");
  66284. return 1;
  66285. }
  66286. }
  66287. }
  66288. if(dialogid == MDC_DELETE && response)
  66289. {
  66290. if(listitem == 0)
  66291. {
  66292. ShowPlayerDialogEx(playerid, MDC_DEL_BOLO, DIALOG_STYLE_LIST, "SA-MDC - Logged in | Which BOLO Slot would you like to delete?", "1\n2\n3\n4\n5\n6\n7\n8\nALL", "Enter", "Cancel");
  66293. }
  66294. if(listitem == 1)
  66295. {
  66296. ShowPlayerDialogEx(playerid, MDC_DEL_WARRANT, DIALOG_STYLE_LIST, "SA-MDC - Logged in | Which Warrant Slot would you like to delete?", "1\n2\n3\n4\n5\n6\n7\n8\nALL", "Enter", "Cancel");
  66297. }
  66298. }
  66299. if(dialogid == MDC_DEL_BOLO && response)
  66300. {
  66301. new string1[MAX_PLAYER_NAME];
  66302. if(isnull(inputtext))
  66303. {
  66304. ShowPlayerDialogEx(playerid, MDC_DEL_WARRANT, DIALOG_STYLE_LIST, "SA-MDC - Logged in | Which Warrant Slot would you like to delete?", "1\n2\n3\n4\n5\n6\n7\n8\nALL", "Enter", "Cancel");
  66305. return 1;
  66306. }
  66307. if(strcmp(inputtext, "1") == 0)
  66308. {
  66309. format(string, sizeof(string), "Nothing"); strmid(News[hAdd14], string, 0, strlen(string), 255);
  66310. format(string1, sizeof(string1), "No-one"); strmid(News[hContact14], string1, 0, strlen(string1), 255);
  66311. News[hTaken14] = 0;
  66312. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You deleted details for Be on the Lookout (1) from the MDC -BOLO.");
  66313. return 1;
  66314. }
  66315. else if(strcmp(inputtext, "2") == 0)
  66316. {
  66317. format(string, sizeof(string), "Nothing"); strmid(News[hAdd15], string, 0, strlen(string), 255);
  66318. format(string1, sizeof(string1), "No-one"); strmid(News[hContact15], string1, 0, strlen(string1), 255);
  66319. News[hTaken15] = 0;
  66320. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You deleted details for Be on the Lookout (2) from the MDC -BOLO.");
  66321. return 1;
  66322. }
  66323. else if(strcmp(inputtext, "3") == 0)
  66324. {
  66325. format(string, sizeof(string), "Nothing"); strmid(News[hAdd16], string, 0, strlen(string), 255);
  66326. format(string1, sizeof(string1), "No-one"); strmid(News[hContact16], string1, 0, strlen(string1), 255);
  66327. News[hTaken16] = 0;
  66328. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You deleted details for Be on the Lookout (3) from the MDC -BOLO.");
  66329. return 1;
  66330. }
  66331. else if(strcmp(inputtext, "4") == 0)
  66332. {
  66333. format(string, sizeof(string), "Nothing"); strmid(News[hAdd17], string, 0, strlen(string), 255);
  66334. format(string1, sizeof(string1), "No-one"); strmid(News[hContact17], string1, 0, strlen(string1), 255);
  66335. News[hTaken17] = 0;
  66336. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You deleted details for Be on the Lookout (4) from the MDC -BOLO.");
  66337. return 1;
  66338. }
  66339. else if(strcmp(inputtext, "5") == 0)
  66340. {
  66341. format(string, sizeof(string), "Nothing"); strmid(News[hAdd18], string, 0, strlen(string), 255);
  66342. format(string1, sizeof(string1), "No-one"); strmid(News[hContact18], string1, 0, strlen(string1), 255);
  66343. News[hTaken18] = 0;
  66344. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You deleted details for Be on the Lookout (5) from the MDC -BOLO.");
  66345. return 1;
  66346. }
  66347. else if(strcmp(inputtext, "6") == 0)
  66348. {
  66349. format(string, sizeof(string), "Nothing"); strmid(News[hAdd19], string, 0, strlen(string), 255);
  66350. format(string1, sizeof(string1), "No-one"); strmid(News[hContact19], string1, 0, strlen(string1), 255);
  66351. News[hTaken19] = 0;
  66352. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You deleted details for Be on the Lookout (6) from the MDC -BOLO.");
  66353. return 1;
  66354. }
  66355. else if(strcmp(inputtext, "7") == 0)
  66356. {
  66357. format(string, sizeof(string), "Nothing"); strmid(News[hAdd20], string, 0, strlen(string), 255);
  66358. format(string1, sizeof(string1), "No-one"); strmid(News[hContact20], string1, 0, strlen(string1), 255);
  66359. News[hTaken20] = 0;
  66360. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You deleted details for Be on the Lookout (7) from the MDC -BOLO.");
  66361. return 1;
  66362. }
  66363. else if(strcmp(inputtext, "8") == 0)
  66364. {
  66365. format(string, sizeof(string), "Nothing"); strmid(News[hAdd21], string, 0, strlen(string), 255);
  66366. format(string1, sizeof(string1), "No-one"); strmid(News[hContact21], string1, 0, strlen(string1), 255);
  66367. News[hTaken21] = 0;
  66368. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You deleted details for Be on the Lookout (8) from the MDC -BOLO.");
  66369. return 1;
  66370. }
  66371. else if(strcmp(inputtext,"all",true) == 0)
  66372. {
  66373. format(string, sizeof(string), "Nothing"); strmid(News[hAdd14], string, 0, strlen(string), 255);
  66374. format(string1, sizeof(string1), "No-one"); strmid(News[hContact14], string1, 0, strlen(string1), 255);
  66375. News[hTaken14] = 0;
  66376. format(string, sizeof(string), "Nothing"); strmid(News[hAdd15], string, 0, strlen(string), 255);
  66377. format(string1, sizeof(string1), "No-one"); strmid(News[hContact15], string1, 0, strlen(string1), 255);
  66378. News[hTaken15] = 0;
  66379. format(string, sizeof(string), "Nothing"); strmid(News[hAdd16], string, 0, strlen(string), 255);
  66380. format(string1, sizeof(string1), "No-one"); strmid(News[hContact16], string1, 0, strlen(string1), 255);
  66381. News[hTaken16] = 0;
  66382. format(string, sizeof(string), "Nothing"); strmid(News[hAdd17], string, 0, strlen(string), 255);
  66383. format(string1, sizeof(string1), "No-one"); strmid(News[hContact17], string1, 0, strlen(string1), 255);
  66384. News[hTaken17] = 0;
  66385. format(string, sizeof(string), "Nothing"); strmid(News[hAdd18], string, 0, strlen(string), 255);
  66386. format(string1, sizeof(string1), "No-one"); strmid(News[hContact18], string1, 0, strlen(string1), 255);
  66387. News[hTaken18] = 0;
  66388. format(string, sizeof(string), "Nothing"); strmid(News[hAdd19], string, 0, strlen(string), 255);
  66389. format(string1, sizeof(string1), "No-one"); strmid(News[hContact19], string1, 0, strlen(string1), 255);
  66390. News[hTaken19] = 0;
  66391. format(string, sizeof(string), "Nothing"); strmid(News[hAdd20], string, 0, strlen(string), 255);
  66392. format(string1, sizeof(string1), "No-one"); strmid(News[hContact20], string1, 0, strlen(string1), 255);
  66393. News[hTaken20] = 0;
  66394. format(string, sizeof(string), "Nothing"); strmid(News[hAdd21], string, 0, strlen(string), 255);
  66395. format(string1, sizeof(string1), "No-one"); strmid(News[hContact21], string1, 0, strlen(string1), 255);
  66396. News[hTaken21] = 0;
  66397. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You deleted all the details for Be on the Lookout from the MDC -BOLO.");
  66398. return 1;
  66399. }
  66400. }
  66401. if(dialogid == MDC_DEL_WARRANT && response)
  66402. {
  66403. new string1[MAX_PLAYER_NAME];
  66404. if(isnull(inputtext))
  66405. {
  66406. ShowPlayerDialogEx(playerid, MDC_DEL_WARRANT, DIALOG_STYLE_LIST, "SA-MDC - Logged in | Which Warrant Slot would you like to delete?", "1\n2\n3\n4\n5\n6\n7\n8\nALL", "Enter", "Cancel");
  66407. return 1;
  66408. }
  66409. if(strcmp(inputtext,"1",true) == 0)
  66410. {
  66411. format(string, sizeof(string), "Nothing"); strmid(News[hAdd6], string, 0, strlen(string), 255);
  66412. format(string1, sizeof(string1), "No-one"); strmid(News[hContact6], string1, 0, strlen(string1), 255);
  66413. News[hTaken6] = 0;
  66414. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You deleted details for Arrest Warrant (1) from the MDC -Warrants.");
  66415. return 1;
  66416. }
  66417. else if(strcmp(inputtext,"2",true) == 0)
  66418. {
  66419. format(string, sizeof(string), "Nothing"); strmid(News[hAdd7], string, 0, strlen(string), 255);
  66420. format(string1, sizeof(string1), "No-one"); strmid(News[hContact7], string1, 0, strlen(string1), 255);
  66421. News[hTaken7] = 0;
  66422. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You deleted details for Arrest Warrant (2) from the MDC -Warrants.");
  66423. return 1;
  66424. }
  66425. else if(strcmp(inputtext,"3",true) == 0)
  66426. {
  66427. format(string, sizeof(string), "Nothing"); strmid(News[hAdd8], string, 0, strlen(string), 255);
  66428. format(string1, sizeof(string1), "No-one"); strmid(News[hContact8], string1, 0, strlen(string1), 255);
  66429. News[hTaken8] = 0;
  66430. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You deleted details for Arrest Warrant (3) from the MDC -Warrants.");
  66431. return 1;
  66432. }
  66433. else if(strcmp(inputtext,"4",true) == 0)
  66434. {
  66435. format(string, sizeof(string), "Nothing"); strmid(News[hAdd9], string, 0, strlen(string), 255);
  66436. format(string1, sizeof(string1), "No-one"); strmid(News[hContact9], string1, 0, strlen(string1), 255);
  66437. News[hTaken9] = 0;
  66438. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You deleted details for Arrest Warrant (4) from the MDC -Warrants.");
  66439. return 1;
  66440. }
  66441. else if(strcmp(inputtext,"5",true) == 0)
  66442. {
  66443. format(string, sizeof(string), "Nothing"); strmid(News[hAdd10], string, 0, strlen(string), 255);
  66444. format(string1, sizeof(string1), "No-one"); strmid(News[hContact10], string1, 0, strlen(string1), 255);
  66445. News[hTaken10] = 0;
  66446. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You deleted details for Arrest Warrant (5) from the MDC -Warrants.");
  66447. return 1;
  66448. }
  66449. else if(strcmp(inputtext,"6",true) == 0)
  66450. {
  66451. format(string, sizeof(string), "Nothing"); strmid(News[hAdd11], string, 0, strlen(string), 255);
  66452. format(string1, sizeof(string1), "No-one"); strmid(News[hContact11], string1, 0, strlen(string1), 255);
  66453. News[hTaken11] = 0;
  66454. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You deleted details for Arrest Warrant (6) from the MDC -Warrants.");
  66455. return 1;
  66456. }
  66457. else if(strcmp(inputtext,"7",true) == 0)
  66458. {
  66459. format(string, sizeof(string), "Nothing"); strmid(News[hAdd12], string, 0, strlen(string), 255);
  66460. format(string1, sizeof(string1), "No-one"); strmid(News[hContact12], string1, 0, strlen(string1), 255);
  66461. News[hTaken12] = 0;
  66462. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You deleted details for Arrest Warrant (7) from the MDC -Warrants.");
  66463. return 1;
  66464. }
  66465. else if(strcmp(inputtext,"8",true) == 0)
  66466. {
  66467. format(string, sizeof(string), "Nothing"); strmid(News[hAdd13], string, 0, strlen(string), 255);
  66468. format(string1, sizeof(string1), "No-one"); strmid(News[hContact13], string1, 0, strlen(string1), 255);
  66469. News[hTaken13] = 0;
  66470. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You deleted details for Arrest Warrant (8) from the MDC -Warrants.");
  66471. return 1;
  66472. }
  66473. else if(strcmp(inputtext,"all",true) == 0)
  66474. {
  66475. format(string, sizeof(string), "Nothing"); strmid(News[hAdd6], string, 0, strlen(string), 255);
  66476. format(string1, sizeof(string1), "No-one"); strmid(News[hContact6], string1, 0, strlen(string1), 255);
  66477. News[hTaken6] = 0;
  66478. format(string, sizeof(string), "Nothing"); strmid(News[hAdd7], string, 0, strlen(string), 255);
  66479. format(string1, sizeof(string1), "No-one"); strmid(News[hContact7], string1, 0, strlen(string1), 255);
  66480. News[hTaken7] = 0;
  66481. format(string, sizeof(string), "Nothing"); strmid(News[hAdd8], string, 0, strlen(string), 255);
  66482. format(string1, sizeof(string1), "No-one"); strmid(News[hContact8], string1, 0, strlen(string1), 255);
  66483. News[hTaken8] = 0;
  66484. format(string, sizeof(string), "Nothing"); strmid(News[hAdd9], string, 0, strlen(string), 255);
  66485. format(string1, sizeof(string1), "No-one"); strmid(News[hContact9], string1, 0, strlen(string1), 255);
  66486. News[hTaken9] = 0;
  66487. format(string, sizeof(string), "Nothing"); strmid(News[hAdd10], string, 0, strlen(string), 255);
  66488. format(string1, sizeof(string1), "No-one"); strmid(News[hContact10], string1, 0, strlen(string1), 255);
  66489. News[hTaken10] = 0;
  66490. format(string, sizeof(string), "Nothing"); strmid(News[hAdd11], string, 0, strlen(string), 255);
  66491. format(string1, sizeof(string1), "No-one"); strmid(News[hContact11], string1, 0, strlen(string1), 255);
  66492. News[hTaken11] = 0;
  66493. format(string, sizeof(string), "Nothing"); strmid(News[hAdd12], string, 0, strlen(string), 255);
  66494. format(string1, sizeof(string1), "No-one"); strmid(News[hContact12], string1, 0, strlen(string1), 255);
  66495. News[hTaken12] = 0;
  66496. format(string, sizeof(string), "Nothing"); strmid(News[hAdd13], string, 0, strlen(string), 255);
  66497. format(string1, sizeof(string1), "No-one"); strmid(News[hContact13], string1, 0, strlen(string1), 255);
  66498. News[hTaken13] = 0;
  66499. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You deleted all the details for Arrest Warrants from the MDC -Warrants.");
  66500. return 1;
  66501. }
  66502. }
  66503. if(dialogid == MDC_LOGOUT && response)
  66504. {
  66505. }
  66506. if(dialogid == MDC_CREATE && response)
  66507. {
  66508. }
  66509. if((dialogid >= MDC_START_ID && dialogid <= MDC_END_ID) && !response)
  66510. {
  66511. if(dialogid == MDC_MAIN)
  66512. {
  66513. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* you're now logged off the MDC.");
  66514. ConnectedToPC[playerid] = 0;
  66515. }
  66516. else
  66517. {
  66518. ShowPlayerDialogEx(playerid, MDC_MAIN, DIALOG_STYLE_LIST, "SA-MDC - Logged in", "*Find LEO\n*Civilian Information\n*Law Enforcement Agencies\n*MDC Message\n*SMS", "OK", "Cancel");
  66519. }
  66520. }
  66521. if(dialogid == DUTYMENU)
  66522. {
  66523. if(response)
  66524. {
  66525. if(listitem == 0) // LSPD Duty
  66526. {
  66527. if(PlayerInfo[playerid][pDuty]==0)
  66528. {
  66529. format(string, sizeof(string), "* Officer %s takes a badge and a gun from their locker.", GetPlayerNameEx(playerid));
  66530. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  66531. SetPlayerColor(playerid, TEAM_BLUE_COLOR);
  66532. SetPlayerSkin(playerid, 280);
  66533. PlayerInfo[playerid][pSkin] = 280;
  66534. SetPlayerArmourEx(playerid, 100.0);
  66535. GivePlayerValidWeapon(playerid, 24, 99999);
  66536. GivePlayerValidWeapon(playerid, 41, 99999);
  66537. GivePlayerValidWeapon(playerid, 3, 99999);
  66538. OnDuty[playerid] = 1;
  66539. PlayerInfo[playerid][pDuty] = 1;
  66540. //ShowPlayerDialogEx(playerid, DUTY_OPTIONS, DIALOG_STYLE_LIST, "Duty Options","Public\nUndercover", "Select", "Cancel");
  66541. }
  66542. else if(PlayerInfo[playerid][pDuty]==1)
  66543. {
  66544. format(string, sizeof(string), "* Officer %s places their badge and gun in their locker.", GetPlayerNameEx(playerid));
  66545. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  66546. SetPlayerColor(playerid, TEAM_HIT_COLOR);
  66547. SetPlayerArmourEx(playerid, 0.0);
  66548. SetPlayerSkin(playerid, 46);
  66549. PlayerInfo[playerid][pSkin] = 46;
  66550. OnDuty[playerid] = 0;
  66551. PlayerInfo[playerid][pDuty] = 0;
  66552. }
  66553. }
  66554. if(listitem == 1) // LSPD Weapons
  66555. {
  66556. ShowPlayerDialogEx(playerid, DUTYMENU2, DIALOG_STYLE_LIST, "LSPD Equipment","Mace\nNite Stick\nDesert Eagle\nSPAS-12 $700\nMP5\nM4\nAK-47\nSmoke Grenade\nShotgun\nRifle $100\nSniper Rifle $800\nKevlar Vest\nFirst Aid Kit\nAccessories", "Purchase", "Cancel");
  66557. }
  66558. if(listitem == 2) // LSPD SWAT Uniform
  66559. {
  66560. SetPlayerSkin(playerid, 285);
  66561. PlayerInfo[playerid][pSkin] = 285;
  66562. }
  66563. if(listitem == 3) // LSPD Uniforms
  66564. {
  66565. ShowPlayerDialogEx(playerid, DUTYMENU3, DIALOG_STYLE_LIST, "LSPD Uniforms","Cadet\nFemale Officer\nOfficer 1\nOfficer 2\nOfficer 3\nBlack Officer\nLatino Officer\nMotorcycle Officer\nSWAT Officer\nSergeant\nCaptain\nChief", "Put On", "Cancel");
  66566. }
  66567. if(listitem == 4) // LSPD Undercover Uniform
  66568. {
  66569. ShowPlayerDialogEx(playerid, FDUTYMENU4, DIALOG_STYLE_INPUT, "Undercover","Choose a skin (by ID).", "Select", "Cancel");
  66570. }
  66571. if(listitem == 5) // LSPD Clear.
  66572. {
  66573. ShowPlayerDialogEx(playerid, DUTYMENU5,DIALOG_STYLE_INPUT,"LSPD"," Who would you like to clear?","Clear","Nevermind");
  66574. }
  66575. }
  66576. }
  66577. if(dialogid == DUTYMENU2)
  66578. {
  66579. if(response)
  66580. {
  66581. if(PlayerInfo[playerid][pConnectTime] < 2) return SendClientMessage(playerid, COLOR_GRAD2, "You can't use this as you're currently restricted from possessing weapons!");
  66582. switch(listitem)
  66583. {
  66584. case 0: // LSPD Mace
  66585. {
  66586. GivePlayerValidWeapon(playerid, 41, 60000);
  66587. }
  66588. case 1: // LSPD Nite Stick
  66589. {
  66590. GivePlayerValidWeapon(playerid, 3, 60000);
  66591. }
  66592. case 2: // LSPD Deagle
  66593. {
  66594. GivePlayerValidWeapon(playerid, 24, 60000);
  66595. }
  66596. case 3: // LSPD Spas12 *
  66597. {
  66598. if(PlayerInfo[playerid][pRank] >= 2) {
  66599. if(GetPlayerCash(playerid) < 700)
  66600. return SendClientMessage(playerid, COLOR_WHITE, "You don't have the cash for that.");
  66601. GivePlayerCash(playerid, -700);
  66602. GivePlayerValidWeapon(playerid, 27, 60000);
  66603. }
  66604. else
  66605. {
  66606. SendClientMessage(playerid, COLOR_GRAD2, "You're not at least rank 2.");
  66607. }
  66608. }
  66609. case 4: // LSPD mp5
  66610. {
  66611. GivePlayerValidWeapon(playerid, 29, 60000);
  66612. }
  66613. case 5: // LSPD m4 *
  66614. {
  66615. if(PlayerInfo[playerid][pRank] >= 1)
  66616. {
  66617. GivePlayerValidWeapon(playerid, 31, 60000);
  66618. }
  66619. else
  66620. {
  66621. SendClientMessage(playerid, COLOR_GRAD2, "You're not at least rank 1.");
  66622. }
  66623. }
  66624. case 6: // LSPD ak-47 *
  66625. {
  66626. if(PlayerInfo[playerid][pRank] >= 1)
  66627. {
  66628. GivePlayerValidWeapon(playerid, 30, 60000);
  66629. }
  66630. else
  66631. {
  66632. SendClientMessage(playerid, COLOR_GRAD2, "You're not at least rank 1.");
  66633. }
  66634. }
  66635. case 7: // LSPD Smoke Bomb *
  66636. {
  66637. if(PlayerInfo[playerid][pRank] >= 1)
  66638. {
  66639. GivePlayerValidWeapon(playerid, 17, 5);
  66640. }
  66641. else
  66642. {
  66643. SendClientMessage(playerid, COLOR_GRAD2, "You're not at least rank 1.");
  66644. }
  66645. }
  66646. case 8: // LSPD Shotgun
  66647. {
  66648. GivePlayerValidWeapon(playerid, 25, 60000);
  66649. }
  66650. case 9: // LSPD rifle
  66651. {
  66652. if(GetPlayerCash(playerid) < 100) return SendClientMessage(playerid, COLOR_WHITE, "You don't have the cash for that.");
  66653. GivePlayerCash(playerid, -100);
  66654. GivePlayerValidWeapon(playerid, 33, 60000);
  66655. }
  66656. case 10: // LSPD Sniper *
  66657. {
  66658. if(PlayerInfo[playerid][pRank] >= 2)
  66659. {
  66660. if(GetPlayerCash(playerid) < 800) return SendClientMessage(playerid, COLOR_WHITE, "You don't have the cash for that.");
  66661. GivePlayerCash(playerid, -800);
  66662. GivePlayerValidWeapon(playerid, 34, 60000);
  66663. }
  66664. else
  66665. {
  66666. SendClientMessage(playerid, COLOR_GRAD2, "You're not at least rank 3.");
  66667. }
  66668. }
  66669. case 11: // LSPD Kevlar
  66670. {
  66671. SetPlayerArmourEx(playerid, 100.0);
  66672. }
  66673. case 12: SetPlayerHealth(playerid, 100);
  66674. case 13: ShowPlayerDialogEx(playerid, BUYTOYSCOP, DIALOG_STYLE_MSGBOX, "Accessories", "Welcome to the law enforcement accessory locker!","Continue", "Cancel");
  66675. }
  66676. }
  66677. }
  66678. if(dialogid == DUTYMENU3)
  66679. {
  66680. if(response)
  66681. {
  66682. if(listitem == 0) // LSPD Uniforms
  66683. {
  66684. SetPlayerSkin(playerid, 71);
  66685. PlayerInfo[playerid][pSkin] = 71;
  66686. }
  66687. if(listitem == 1) //LSPD Uniforms
  66688. {
  66689. SetPlayerSkin(playerid, 141);
  66690. PlayerInfo[playerid][pSkin] = 141;
  66691. }
  66692. if(listitem == 2) // LSPD Uniforms
  66693. {
  66694. SetPlayerSkin(playerid, 280);
  66695. PlayerInfo[playerid][pSkin] = 280;
  66696. }
  66697. if(listitem == 3) //LSPD Uniforms
  66698. {
  66699. SetPlayerSkin(playerid, 266);
  66700. PlayerInfo[playerid][pSkin] = 266;
  66701. }
  66702. if(listitem == 4) //LSPD Uniforms
  66703. {
  66704. SetPlayerSkin(playerid, 281);
  66705. PlayerInfo[playerid][pSkin] = 281;
  66706. }
  66707. if(listitem == 5) // LSPD Uniforms
  66708. {
  66709. SetPlayerSkin(playerid, 265);
  66710. PlayerInfo[playerid][pSkin] = 265;
  66711. }
  66712. if(listitem == 6) // LSPD Uniforms
  66713. {
  66714. SetPlayerSkin(playerid, 267);
  66715. PlayerInfo[playerid][pSkin] = 267;
  66716. }
  66717. if(listitem == 7) // LSPD Uniforms
  66718. {
  66719. SetPlayerSkin(playerid, 284);
  66720. PlayerInfo[playerid][pSkin] = 284;
  66721. }
  66722. if(listitem == 8) // LSPD Uniforms
  66723. {
  66724. SetPlayerSkin(playerid, 285);
  66725. PlayerInfo[playerid][pSkin] = 285;
  66726. }
  66727. if(listitem == 9) //LSPD Uniforms
  66728. {
  66729. SetPlayerSkin(playerid, 282);
  66730. PlayerInfo[playerid][pSkin] = 282;
  66731. }
  66732. if(listitem == 10) //LSPD Uniforms
  66733. {
  66734. SetPlayerSkin(playerid, 283);
  66735. PlayerInfo[playerid][pSkin] = 283;
  66736. }
  66737. if(listitem == 11) //LSPD Uniforms
  66738. {
  66739. SetPlayerSkin(playerid, 288);
  66740. PlayerInfo[playerid][pSkin] = 288;
  66741. }
  66742. }
  66743. }
  66744. if(dialogid == DUTYMENU4)
  66745. {
  66746. if(response)
  66747. {
  66748. if(listitem == 0) // LSPD Uniforms
  66749. {
  66750. SetPlayerSkin(playerid, 223);
  66751. PlayerInfo[playerid][pSkin] = 223;
  66752. }
  66753. if(listitem == 1) //LSPD Uniforms
  66754. {
  66755. SetPlayerSkin(playerid, 120);
  66756. PlayerInfo[playerid][pSkin] = 120;
  66757. }
  66758. if(listitem == 2) // LSPD Uniforms
  66759. {
  66760. SetPlayerSkin(playerid, 240);
  66761. PlayerInfo[playerid][pSkin] = 240;
  66762. }
  66763. if(listitem == 3) //LSPD Uniforms
  66764. {
  66765. SetPlayerSkin(playerid, 296);
  66766. PlayerInfo[playerid][pSkin] = 296;
  66767. }
  66768. if(listitem == 4) //LSPD Uniforms
  66769. {
  66770. SetPlayerSkin(playerid, 137);
  66771. PlayerInfo[playerid][pSkin] = 137;
  66772. }
  66773. if(listitem == 5) // LSPD Uniforms
  66774. {
  66775. SetPlayerSkin(playerid, 214);
  66776. PlayerInfo[playerid][pSkin] = 214;
  66777. }
  66778. if(listitem == 6) // LSPD Uniforms
  66779. {
  66780. SetPlayerSkin(playerid, 147);
  66781. PlayerInfo[playerid][pSkin] = 147;
  66782. }
  66783. if(listitem == 7) //LSPD Uniforms
  66784. {
  66785. SetPlayerSkin(playerid, 150);
  66786. PlayerInfo[playerid][pSkin] = 150;
  66787. }
  66788. if(listitem == 8) //LSPD Uniforms
  66789. {
  66790. SetPlayerSkin(playerid, 201);
  66791. PlayerInfo[playerid][pSkin] = 201;
  66792. }
  66793. if(listitem == 9) //LSPD Uniforms
  66794. {
  66795. SetPlayerSkin(playerid, 162);
  66796. PlayerInfo[playerid][pSkin] = 162;
  66797. }
  66798. if(listitem == 10) //LSPD Uniforms
  66799. {
  66800. SetPlayerSkin(playerid, 29);
  66801. PlayerInfo[playerid][pSkin] = 29;
  66802. }
  66803. if(listitem == 11) //LSPD Uniforms
  66804. {
  66805. SetPlayerSkin(playerid, 270);
  66806. PlayerInfo[playerid][pSkin] = 270;
  66807. }
  66808. if(listitem == 12) //LSPD Uniforms
  66809. {
  66810. SetPlayerSkin(playerid, 59);
  66811. PlayerInfo[playerid][pSkin] = 59;
  66812. }
  66813. }
  66814. }
  66815. if(dialogid == DUTYMENU5)
  66816. {
  66817. if(response)
  66818. {
  66819. new giveplayerid = ReturnUser(inputtext);
  66820. //giveplayerid = strval(inputtext);
  66821. if(IsPlayerConnected(giveplayerid))
  66822. {
  66823. if(giveplayerid != INVALID_PLAYER_ID)
  66824. {
  66825. format(string, sizeof(string), "* You cleared the records and wanted points of %s.", GetPlayerNameEx(giveplayerid));
  66826. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  66827. format(string, sizeof(string), "* Officer %s has cleared your records and wanted points.", GetPlayerNameEx(playerid));
  66828. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  66829. format(string, sizeof(string), "* Officer %s has cleared %s's records and wanted points.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  66830. SendRadioMessage(1, RADIO, string);
  66831. SendRadioMessage(2, RADIO, string);
  66832. PlayerInfo[giveplayerid][pWantedLevel] = 0;
  66833. SetPlayerToTeamColor(giveplayerid);
  66834. SetPlayerWantedLevel(giveplayerid, 0);
  66835. ClearCrime(giveplayerid);
  66836. }
  66837. else
  66838. {
  66839. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  66840. }
  66841. }
  66842. }
  66843. }
  66844. if(dialogid == SDUTYMENU)
  66845. {
  66846. if(response)
  66847. {
  66848. if(listitem == 0) // LSPD Duty
  66849. {
  66850. if(PlayerInfo[playerid][pDuty]==0)
  66851. {
  66852. format(string, sizeof(string), "* Corporal %s takes a badge and a gun from their locker.", GetPlayerNameEx(playerid));
  66853. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  66854. SetPlayerColor(playerid, COLOR_ORANGE);
  66855. SetPlayerSkin(playerid, 280);
  66856. PlayerInfo[playerid][pSkin] = 280;
  66857. SetPlayerArmourEx(playerid, 100.0);
  66858. GivePlayerValidWeapon(playerid, 24, 99999);
  66859. GivePlayerValidWeapon(playerid, 41, 99999);
  66860. GivePlayerValidWeapon(playerid, 3, 99999);
  66861. OnDuty[playerid] = 1;
  66862. PlayerInfo[playerid][pDuty] = 1;
  66863. //ShowPlayerDialogEx(playerid, DUTY_OPTIONS, DIALOG_STYLE_LIST, "Duty Options","Public\nUndercover", "Select", "Cancel");
  66864. }
  66865. else if(PlayerInfo[playerid][pDuty]==1)
  66866. {
  66867. format(string, sizeof(string), "* Corporal %s places their badge and gun in their locker.", GetPlayerNameEx(playerid));
  66868. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  66869. SetPlayerColor(playerid, TEAM_HIT_COLOR);
  66870. SetPlayerArmourEx(playerid, 0.0);
  66871. SetPlayerSkin(playerid, 46);
  66872. PlayerInfo[playerid][pSkin] = 46;
  66873. OnDuty[playerid] = 0;
  66874. PlayerInfo[playerid][pDuty] = 0;
  66875. }
  66876. }
  66877. if(listitem == 1) // LSPD Weapons
  66878. {
  66879. ShowPlayerDialogEx(playerid, DUTYMENU2, DIALOG_STYLE_LIST, "SASD Equipment","Mace\nNite Stick\nDesert Eagle\nSPAS-12 $700\nMP5\nM4\nAK-47\nSmoke Grenade\nShotgun\nRifle $100\nSniper Rifle $800\nKevlar Vest\nFirst Aid Kit\nAccessories", "Purchase", "Cancel");
  66880. }
  66881. if(listitem == 2) // LSPD SWAT Uniform
  66882. {
  66883. SetPlayerSkin(playerid, 285);
  66884. PlayerInfo[playerid][pSkin] = 285;
  66885. }
  66886. if(listitem == 3) // LSPD Uniforms
  66887. {
  66888. ShowPlayerDialogEx(playerid, DUTYMENU3, DIALOG_STYLE_LIST, "SASD Uniforms","Cadet\nFemale Officer\nOfficer 1\nOfficer 2\nOfficer 3\nBlack Officer\nLatino Officer\nMotorcycle Officer\nSWAT Officer\nSergeant\nCaptain\nChief", "Put On", "Cancel");
  66889. }
  66890. if(listitem == 4) // LSPD Undercover Uniform
  66891. {
  66892. ShowPlayerDialogEx(playerid, FDUTYMENU4, DIALOG_STYLE_INPUT, "Undercover","Choose a skin (by ID).", "Select", "Cancel");
  66893. }
  66894. if(listitem == 5) // LSPD Clear.
  66895. {
  66896. ShowPlayerDialogEx(playerid, DUTYMENU5,DIALOG_STYLE_INPUT,"SASD"," Who would you like to clear?","Clear","Nevermind");
  66897. }
  66898. }
  66899. }
  66900. if(dialogid == SDUTYMENU2)
  66901. {
  66902. if(response)
  66903. {
  66904. if(PlayerInfo[playerid][pConnectTime] < 2) return SendClientMessage(playerid, COLOR_GRAD2, "You can't use this as you're currently restricted from possessing weapons!");
  66905. switch(listitem)
  66906. {
  66907. case 0: // LSPD Mace
  66908. {
  66909. GivePlayerValidWeapon(playerid, 41, 60000);
  66910. }
  66911. case 1: // LSPD Nite Stick
  66912. {
  66913. GivePlayerValidWeapon(playerid, 3, 60000);
  66914. }
  66915. case 2: // LSPD Deagle
  66916. {
  66917. GivePlayerValidWeapon(playerid, 24, 60000);
  66918. }
  66919. case 3: // LSPD Spas12 *
  66920. {
  66921. if(PlayerInfo[playerid][pRank] >= 2) {
  66922. if(GetPlayerCash(playerid) < 700)
  66923. return SendClientMessage(playerid, COLOR_WHITE, "You don't have the cash for that.");
  66924. GivePlayerCash(playerid, -700);
  66925. GivePlayerValidWeapon(playerid, 27, 60000);
  66926. }
  66927. else
  66928. {
  66929. SendClientMessage(playerid, COLOR_GRAD2, "You're not at least rank 2.");
  66930. }
  66931. }
  66932. case 4: // LSPD mp5
  66933. {
  66934. GivePlayerValidWeapon(playerid, 29, 60000);
  66935. }
  66936. case 5: // LSPD m4 *
  66937. {
  66938. if(PlayerInfo[playerid][pRank] >= 1)
  66939. {
  66940. GivePlayerValidWeapon(playerid, 31, 60000);
  66941. }
  66942. else
  66943. {
  66944. SendClientMessage(playerid, COLOR_GRAD2, "You're not at least rank 1.");
  66945. }
  66946. }
  66947. case 6: // LSPD ak-47 *
  66948. {
  66949. if(PlayerInfo[playerid][pRank] >= 1)
  66950. {
  66951. GivePlayerValidWeapon(playerid, 30, 60000);
  66952. }
  66953. else
  66954. {
  66955. SendClientMessage(playerid, COLOR_GRAD2, "You're not at least rank 1.");
  66956. }
  66957. }
  66958. case 7: // LSPD Smoke Bomb *
  66959. {
  66960. if(PlayerInfo[playerid][pRank] >= 1)
  66961. {
  66962. GivePlayerValidWeapon(playerid, 17, 5);
  66963. }
  66964. else
  66965. {
  66966. SendClientMessage(playerid, COLOR_GRAD2, "You're not at least rank 1.");
  66967. }
  66968. }
  66969. case 8: // LSPD Shotgun
  66970. {
  66971. GivePlayerValidWeapon(playerid, 25, 60000);
  66972. }
  66973. case 9: // LSPD rifle
  66974. {
  66975. if(GetPlayerCash(playerid) < 100) return SendClientMessage(playerid, COLOR_WHITE, "You don't have the cash for that.");
  66976. GivePlayerCash(playerid, -100);
  66977. GivePlayerValidWeapon(playerid, 33, 60000);
  66978. }
  66979. case 10: // LSPD Sniper *
  66980. {
  66981. if(PlayerInfo[playerid][pRank] >= 2)
  66982. {
  66983. if(GetPlayerCash(playerid) < 800) return SendClientMessage(playerid, COLOR_WHITE, "You don't have the cash for that.");
  66984. GivePlayerCash(playerid, -800);
  66985. GivePlayerValidWeapon(playerid, 34, 60000);
  66986. }
  66987. else
  66988. {
  66989. SendClientMessage(playerid, COLOR_GRAD2, "You're not at least rank 3.");
  66990. }
  66991. }
  66992. case 11: // LSPD Kevlar
  66993. {
  66994. SetPlayerArmourEx(playerid, 100.0);
  66995. }
  66996. case 12: SetPlayerHealth(playerid, 100);
  66997. case 13: ShowPlayerDialogEx(playerid, BUYTOYSCOP, DIALOG_STYLE_MSGBOX, "Accessories", "Welcome to the law enforcement accessory locker!","Continue", "Cancel");
  66998. }
  66999. }
  67000. }
  67001. if(dialogid == SDUTYMENU3)
  67002. {
  67003. if(response)
  67004. {
  67005. if(listitem == 0) // LSPD Uniforms
  67006. {
  67007. SetPlayerSkin(playerid, 71);
  67008. PlayerInfo[playerid][pSkin] = 71;
  67009. }
  67010. if(listitem == 1) //LSPD Uniforms
  67011. {
  67012. SetPlayerSkin(playerid, 141);
  67013. PlayerInfo[playerid][pSkin] = 141;
  67014. }
  67015. if(listitem == 2) // LSPD Uniforms
  67016. {
  67017. SetPlayerSkin(playerid, 280);
  67018. PlayerInfo[playerid][pSkin] = 280;
  67019. }
  67020. if(listitem == 3) //LSPD Uniforms
  67021. {
  67022. SetPlayerSkin(playerid, 266);
  67023. PlayerInfo[playerid][pSkin] = 266;
  67024. }
  67025. if(listitem == 4) //LSPD Uniforms
  67026. {
  67027. SetPlayerSkin(playerid, 281);
  67028. PlayerInfo[playerid][pSkin] = 281;
  67029. }
  67030. if(listitem == 5) // LSPD Uniforms
  67031. {
  67032. SetPlayerSkin(playerid, 265);
  67033. PlayerInfo[playerid][pSkin] = 265;
  67034. }
  67035. if(listitem == 6) // LSPD Uniforms
  67036. {
  67037. SetPlayerSkin(playerid, 267);
  67038. PlayerInfo[playerid][pSkin] = 267;
  67039. }
  67040. if(listitem == 7) // LSPD Uniforms
  67041. {
  67042. SetPlayerSkin(playerid, 284);
  67043. PlayerInfo[playerid][pSkin] = 284;
  67044. }
  67045. if(listitem == 8) // LSPD Uniforms
  67046. {
  67047. SetPlayerSkin(playerid, 285);
  67048. PlayerInfo[playerid][pSkin] = 285;
  67049. }
  67050. if(listitem == 9) //LSPD Uniforms
  67051. {
  67052. SetPlayerSkin(playerid, 282);
  67053. PlayerInfo[playerid][pSkin] = 282;
  67054. }
  67055. if(listitem == 10) //LSPD Uniforms
  67056. {
  67057. SetPlayerSkin(playerid, 283);
  67058. PlayerInfo[playerid][pSkin] = 283;
  67059. }
  67060. if(listitem == 11) //LSPD Uniforms
  67061. {
  67062. SetPlayerSkin(playerid, 288);
  67063. PlayerInfo[playerid][pSkin] = 288;
  67064. }
  67065. }
  67066. }
  67067. if(dialogid == SDUTYMENU4)
  67068. {
  67069. if(response)
  67070. {
  67071. if(listitem == 0) // LSPD Uniforms
  67072. {
  67073. SetPlayerSkin(playerid, 223);
  67074. PlayerInfo[playerid][pSkin] = 223;
  67075. }
  67076. if(listitem == 1) //LSPD Uniforms
  67077. {
  67078. SetPlayerSkin(playerid, 120);
  67079. PlayerInfo[playerid][pSkin] = 120;
  67080. }
  67081. if(listitem == 2) // LSPD Uniforms
  67082. {
  67083. SetPlayerSkin(playerid, 240);
  67084. PlayerInfo[playerid][pSkin] = 240;
  67085. }
  67086. if(listitem == 3) //LSPD Uniforms
  67087. {
  67088. SetPlayerSkin(playerid, 296);
  67089. PlayerInfo[playerid][pSkin] = 296;
  67090. }
  67091. if(listitem == 4) //LSPD Uniforms
  67092. {
  67093. SetPlayerSkin(playerid, 137);
  67094. PlayerInfo[playerid][pSkin] = 137;
  67095. }
  67096. if(listitem == 5) // LSPD Uniforms
  67097. {
  67098. SetPlayerSkin(playerid, 214);
  67099. PlayerInfo[playerid][pSkin] = 214;
  67100. }
  67101. if(listitem == 6) // LSPD Uniforms
  67102. {
  67103. SetPlayerSkin(playerid, 147);
  67104. PlayerInfo[playerid][pSkin] = 147;
  67105. }
  67106. if(listitem == 7) //LSPD Uniforms
  67107. {
  67108. SetPlayerSkin(playerid, 150);
  67109. PlayerInfo[playerid][pSkin] = 150;
  67110. }
  67111. if(listitem == 8) //LSPD Uniforms
  67112. {
  67113. SetPlayerSkin(playerid, 201);
  67114. PlayerInfo[playerid][pSkin] = 201;
  67115. }
  67116. if(listitem == 9) //LSPD Uniforms
  67117. {
  67118. SetPlayerSkin(playerid, 162);
  67119. PlayerInfo[playerid][pSkin] = 162;
  67120. }
  67121. if(listitem == 10) //LSPD Uniforms
  67122. {
  67123. SetPlayerSkin(playerid, 29);
  67124. PlayerInfo[playerid][pSkin] = 29;
  67125. }
  67126. if(listitem == 11) //LSPD Uniforms
  67127. {
  67128. SetPlayerSkin(playerid, 270);
  67129. PlayerInfo[playerid][pSkin] = 270;
  67130. }
  67131. if(listitem == 12) //LSPD Uniforms
  67132. {
  67133. SetPlayerSkin(playerid, 59);
  67134. PlayerInfo[playerid][pSkin] = 59;
  67135. }
  67136. }
  67137. }
  67138. if(dialogid == SDUTYMENU5)
  67139. {
  67140. if(response)
  67141. {
  67142. new giveplayerid = ReturnUser(inputtext);
  67143. //giveplayerid = strval(inputtext);
  67144. if(IsPlayerConnected(giveplayerid))
  67145. {
  67146. if(giveplayerid != INVALID_PLAYER_ID)
  67147. {
  67148. format(string, sizeof(string), "* You cleared the records and wanted points of %s.", GetPlayerNameEx(giveplayerid));
  67149. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  67150. format(string, sizeof(string), "* Corporal %s has cleared your records and wanted points.", GetPlayerNameEx(playerid));
  67151. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  67152. format(string, sizeof(string), "* Corporal %s has cleared %s's records and wanted points.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  67153. SendRadioMessage(1, RADIO, string);
  67154. SendRadioMessage(2, RADIO, string);
  67155. PlayerInfo[giveplayerid][pWantedLevel] = 0;
  67156. SetPlayerToTeamColor(giveplayerid);
  67157. SetPlayerWantedLevel(giveplayerid, 0);
  67158. ClearCrime(giveplayerid);
  67159. }
  67160. else
  67161. {
  67162. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  67163. }
  67164. }
  67165. }
  67166. }
  67167. if(dialogid == BACKPACK)
  67168. {
  67169. if(response)
  67170. {
  67171. if(listitem == 0)
  67172. {
  67173. if(GetPlayerCash(playerid) < 500000)
  67174. {
  67175. SendClientMessage(playerid, COLOR_GREY, "Not enough cash! ($500,000)");
  67176. return 1;
  67177. }
  67178. GivePlayerCash(playerid, -500000);
  67179. PlayerInfo[playerid][pBackpack] = 1;
  67180. SendClientMessage(playerid, -1, "Congratulatinos! You have bought Large Backpack!");
  67181. SetPlayerAttachedObject(playerid, 1, 3026, 1, -0.125, -0.046, -0.004, -1.299, -0.5, -6.297, 1.0, 1.0, 1.0); // Backpack
  67182. PlayerInfo[playerid][pWearingBP] = 1;
  67183. }
  67184. if(listitem == 1)
  67185. {
  67186. if(GetPlayerCash(playerid) < 100000)
  67187. {
  67188. SendClientMessage(playerid, COLOR_GREY, "Not enough cash! ($100,000)");
  67189. return 1;
  67190. }
  67191. GivePlayerCash(playerid, -100000);
  67192. PlayerInfo[playerid][pBackpack] = 2;
  67193. SendClientMessage(playerid, -1, "Congratulatinos! You have bought Medium Backpack!");
  67194. SetPlayerAttachedObject(playerid, 1, 3026, 1, -0.125, -0.046, -0.004, -1.299, -0.5, -6.297, 1.0, 1.0, 1.0); // Backpack
  67195. PlayerInfo[playerid][pWearingBP] = 1;
  67196. }
  67197. if(listitem == 2)
  67198. {
  67199. if(GetPlayerCash(playerid) < 50000)
  67200. {
  67201. SendClientMessage(playerid, COLOR_GREY, "Not enough cash! ($50,000)");
  67202. return 1;
  67203. }
  67204. PlayerInfo[playerid][pBackpack] = 3;
  67205. SendClientMessage(playerid, -1, "Congratulatinos! You have bought Small Backpack!");
  67206. SetPlayerAttachedObject(playerid, 1, 3026, 1, -0.125, -0.046, -0.004, -1.299, -0.5, -6.297, 1.0, 1.0, 1.0); // Backpack
  67207. PlayerInfo[playerid][pWearingBP] = 1;
  67208. }
  67209. }
  67210. }
  67211. if(dialogid == ADUTYMENU)
  67212. {
  67213. if(response)
  67214. {
  67215. if(listitem == 0) // LSPD Duty
  67216. {
  67217. if(PlayerInfo[playerid][pDuty]==0)
  67218. {
  67219. format(string, sizeof(string), "* Officer %s takes a badge and a gun from their locker.", GetPlayerNameEx(playerid));
  67220. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  67221. SetPlayerColor(playerid, TEAM_ARES_COLOR);
  67222. SetPlayerSkin(playerid, 280);
  67223. PlayerInfo[playerid][pSkin] = 280;
  67224. SetPlayerArmourEx(playerid, 100.0);
  67225. GivePlayerValidWeapon(playerid, 24, 99999);
  67226. GivePlayerValidWeapon(playerid, 41, 99999);
  67227. GivePlayerValidWeapon(playerid, 3, 99999);
  67228. OnDuty[playerid] = 1;
  67229. PlayerInfo[playerid][pDuty] = 1;
  67230. //ShowPlayerDialogEx(playerid, DUTY_OPTIONS, DIALOG_STYLE_LIST, "Duty Options","Public\nUndercover", "Select", "Cancel");
  67231. }
  67232. else if(PlayerInfo[playerid][pDuty]==1)
  67233. {
  67234. format(string, sizeof(string), "* Officer %s places their badge and gun in their locker.", GetPlayerNameEx(playerid));
  67235. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  67236. SetPlayerColor(playerid, TEAM_HIT_COLOR);
  67237. SetPlayerArmourEx(playerid, 0.0);
  67238. SetPlayerSkin(playerid, 46);
  67239. PlayerInfo[playerid][pSkin] = 46;
  67240. OnDuty[playerid] = 0;
  67241. PlayerInfo[playerid][pDuty] = 0;
  67242. }
  67243. }
  67244. if(listitem == 1) // LSPD Weapons
  67245. {
  67246. ShowPlayerDialogEx(playerid, ADUTYMENU2, DIALOG_STYLE_LIST, "LSPD Equipment","Mace\nNite Stick\nDesert Eagle\nSPAS-12 $700\nMP5\nM4\nAK-47\nSmoke Grenade\nShotgun\nRifle $100\nSniper Rifle $800\nKevlar Vest\nFirst Aid Kit\nAccessories", "Purchase", "Cancel");
  67247. }
  67248. if(listitem == 2) // LSPD SWAT Uniform
  67249. {
  67250. SetPlayerSkin(playerid, 285);
  67251. PlayerInfo[playerid][pSkin] = 285;
  67252. }
  67253. if(listitem == 3) // LSPD Uniforms
  67254. {
  67255. ShowPlayerDialogEx(playerid, ADUTYMENU3, DIALOG_STYLE_LIST, "LSPD Uniforms","Cadet\nFemale Officer\nOfficer 1\nOfficer 2\nOfficer 3\nBlack Officer\nLatino Officer\nMotorcycle Officer\nSWAT Officer\nSergeant\nCaptain\nChief", "Put On", "Cancel");
  67256. }
  67257. if(listitem == 4) // LSPD Undercover Uniform
  67258. {
  67259. ShowPlayerDialogEx(playerid, ADUTYMENU4, DIALOG_STYLE_INPUT, "Undercover","Choose a skin (by ID).", "Select", "Cancel");
  67260. }
  67261. if(listitem == 5) // LSPD Clear.
  67262. {
  67263. ShowPlayerDialogEx(playerid, ADUTYMENU5,DIALOG_STYLE_INPUT,"LSPD"," Who would you like to clear?","Clear","Nevermind");
  67264. }
  67265. }
  67266. }
  67267. if(dialogid == ADUTYMENU2)
  67268. {
  67269. if(response)
  67270. {
  67271. if(PlayerInfo[playerid][pConnectTime] < 2) return SendClientMessage(playerid, COLOR_GRAD2, "You can't use this as you're currently restricted from possessing weapons!");
  67272. switch(listitem)
  67273. {
  67274. case 0: // LSPD Mace
  67275. {
  67276. GivePlayerValidWeapon(playerid, 41, 60000);
  67277. }
  67278. case 1: // LSPD Nite Stick
  67279. {
  67280. GivePlayerValidWeapon(playerid, 3, 60000);
  67281. }
  67282. case 2: // LSPD Deagle
  67283. {
  67284. GivePlayerValidWeapon(playerid, 24, 60000);
  67285. }
  67286. case 3: // LSPD Spas12 *
  67287. {
  67288. if(PlayerInfo[playerid][pRank] >= 2) {
  67289. if(GetPlayerCash(playerid) < 700)
  67290. return SendClientMessage(playerid, COLOR_WHITE, "You don't have the cash for that.");
  67291. GivePlayerCash(playerid, -700);
  67292. GivePlayerValidWeapon(playerid, 27, 60000);
  67293. }
  67294. else
  67295. {
  67296. SendClientMessage(playerid, COLOR_GRAD2, "You're not at least rank 2.");
  67297. }
  67298. }
  67299. case 4: // LSPD mp5
  67300. {
  67301. GivePlayerValidWeapon(playerid, 29, 60000);
  67302. }
  67303. case 5: // LSPD m4 *
  67304. {
  67305. if(PlayerInfo[playerid][pRank] >= 1)
  67306. {
  67307. GivePlayerValidWeapon(playerid, 31, 60000);
  67308. }
  67309. else
  67310. {
  67311. SendClientMessage(playerid, COLOR_GRAD2, "You're not at least rank 1.");
  67312. }
  67313. }
  67314. case 6: // LSPD ak-47 *
  67315. {
  67316. if(PlayerInfo[playerid][pRank] >= 1)
  67317. {
  67318. GivePlayerValidWeapon(playerid, 30, 60000);
  67319. }
  67320. else
  67321. {
  67322. SendClientMessage(playerid, COLOR_GRAD2, "You're not at least rank 1.");
  67323. }
  67324. }
  67325. case 7: // LSPD Smoke Bomb *
  67326. {
  67327. if(PlayerInfo[playerid][pRank] >= 1)
  67328. {
  67329. GivePlayerValidWeapon(playerid, 17, 5);
  67330. }
  67331. else
  67332. {
  67333. SendClientMessage(playerid, COLOR_GRAD2, "You're not at least rank 1.");
  67334. }
  67335. }
  67336. case 8: // LSPD Shotgun
  67337. {
  67338. GivePlayerValidWeapon(playerid, 25, 60000);
  67339. }
  67340. case 9: // LSPD rifle
  67341. {
  67342. if(GetPlayerCash(playerid) < 100) return SendClientMessage(playerid, COLOR_WHITE, "You don't have the cash for that.");
  67343. GivePlayerCash(playerid, -100);
  67344. GivePlayerValidWeapon(playerid, 33, 60000);
  67345. }
  67346. case 10: // LSPD Sniper *
  67347. {
  67348. if(PlayerInfo[playerid][pRank] >= 2)
  67349. {
  67350. if(GetPlayerCash(playerid) < 800) return SendClientMessage(playerid, COLOR_WHITE, "You don't have the cash for that.");
  67351. GivePlayerCash(playerid, -800);
  67352. GivePlayerValidWeapon(playerid, 34, 60000);
  67353. }
  67354. else
  67355. {
  67356. SendClientMessage(playerid, COLOR_GRAD2, "You're not at least rank 3.");
  67357. }
  67358. }
  67359. case 11: // LSPD Kevlar
  67360. {
  67361. SetPlayerArmourEx(playerid, 100.0);
  67362. }
  67363. case 12: SetPlayerHealth(playerid, 100);
  67364. case 13: ShowPlayerDialogEx(playerid, BUYTOYSCOP, DIALOG_STYLE_MSGBOX, "Accessories", "Welcome to the law enforcement accessory locker!","Continue", "Cancel");
  67365. }
  67366. }
  67367. }
  67368. if(dialogid == ADUTYMENU3)
  67369. {
  67370. if(response)
  67371. {
  67372. if(listitem == 0) // LSPD Uniforms
  67373. {
  67374. SetPlayerSkin(playerid, 71);
  67375. PlayerInfo[playerid][pSkin] = 71;
  67376. }
  67377. if(listitem == 1) //LSPD Uniforms
  67378. {
  67379. SetPlayerSkin(playerid, 141);
  67380. PlayerInfo[playerid][pSkin] = 141;
  67381. }
  67382. if(listitem == 2) // LSPD Uniforms
  67383. {
  67384. SetPlayerSkin(playerid, 280);
  67385. PlayerInfo[playerid][pSkin] = 280;
  67386. }
  67387. if(listitem == 3) //LSPD Uniforms
  67388. {
  67389. SetPlayerSkin(playerid, 266);
  67390. PlayerInfo[playerid][pSkin] = 266;
  67391. }
  67392. if(listitem == 4) //LSPD Uniforms
  67393. {
  67394. SetPlayerSkin(playerid, 281);
  67395. PlayerInfo[playerid][pSkin] = 281;
  67396. }
  67397. if(listitem == 5) // LSPD Uniforms
  67398. {
  67399. SetPlayerSkin(playerid, 265);
  67400. PlayerInfo[playerid][pSkin] = 265;
  67401. }
  67402. if(listitem == 6) // LSPD Uniforms
  67403. {
  67404. SetPlayerSkin(playerid, 267);
  67405. PlayerInfo[playerid][pSkin] = 267;
  67406. }
  67407. if(listitem == 7) // LSPD Uniforms
  67408. {
  67409. SetPlayerSkin(playerid, 284);
  67410. PlayerInfo[playerid][pSkin] = 284;
  67411. }
  67412. if(listitem == 8) // LSPD Uniforms
  67413. {
  67414. SetPlayerSkin(playerid, 285);
  67415. PlayerInfo[playerid][pSkin] = 285;
  67416. }
  67417. if(listitem == 9) //LSPD Uniforms
  67418. {
  67419. SetPlayerSkin(playerid, 282);
  67420. PlayerInfo[playerid][pSkin] = 282;
  67421. }
  67422. if(listitem == 10) //LSPD Uniforms
  67423. {
  67424. SetPlayerSkin(playerid, 283);
  67425. PlayerInfo[playerid][pSkin] = 283;
  67426. }
  67427. if(listitem == 11) //LSPD Uniforms
  67428. {
  67429. SetPlayerSkin(playerid, 288);
  67430. PlayerInfo[playerid][pSkin] = 288;
  67431. }
  67432. }
  67433. }
  67434. if(dialogid == ADUTYMENU4)
  67435. {
  67436. if(response)
  67437. {
  67438. if(listitem == 0) // LSPD Uniforms
  67439. {
  67440. SetPlayerSkin(playerid, 223);
  67441. PlayerInfo[playerid][pSkin] = 223;
  67442. }
  67443. if(listitem == 1) //LSPD Uniforms
  67444. {
  67445. SetPlayerSkin(playerid, 120);
  67446. PlayerInfo[playerid][pSkin] = 120;
  67447. }
  67448. if(listitem == 2) // LSPD Uniforms
  67449. {
  67450. SetPlayerSkin(playerid, 240);
  67451. PlayerInfo[playerid][pSkin] = 240;
  67452. }
  67453. if(listitem == 3) //LSPD Uniforms
  67454. {
  67455. SetPlayerSkin(playerid, 296);
  67456. PlayerInfo[playerid][pSkin] = 296;
  67457. }
  67458. if(listitem == 4) //LSPD Uniforms
  67459. {
  67460. SetPlayerSkin(playerid, 137);
  67461. PlayerInfo[playerid][pSkin] = 137;
  67462. }
  67463. if(listitem == 5) // LSPD Uniforms
  67464. {
  67465. SetPlayerSkin(playerid, 214);
  67466. PlayerInfo[playerid][pSkin] = 214;
  67467. }
  67468. if(listitem == 6) // LSPD Uniforms
  67469. {
  67470. SetPlayerSkin(playerid, 147);
  67471. PlayerInfo[playerid][pSkin] = 147;
  67472. }
  67473. if(listitem == 7) //LSPD Uniforms
  67474. {
  67475. SetPlayerSkin(playerid, 150);
  67476. PlayerInfo[playerid][pSkin] = 150;
  67477. }
  67478. if(listitem == 8) //LSPD Uniforms
  67479. {
  67480. SetPlayerSkin(playerid, 201);
  67481. PlayerInfo[playerid][pSkin] = 201;
  67482. }
  67483. if(listitem == 9) //LSPD Uniforms
  67484. {
  67485. SetPlayerSkin(playerid, 162);
  67486. PlayerInfo[playerid][pSkin] = 162;
  67487. }
  67488. if(listitem == 10) //LSPD Uniforms
  67489. {
  67490. SetPlayerSkin(playerid, 29);
  67491. PlayerInfo[playerid][pSkin] = 29;
  67492. }
  67493. if(listitem == 11) //LSPD Uniforms
  67494. {
  67495. SetPlayerSkin(playerid, 270);
  67496. PlayerInfo[playerid][pSkin] = 270;
  67497. }
  67498. if(listitem == 12) //LSPD Uniforms
  67499. {
  67500. SetPlayerSkin(playerid, 59);
  67501. PlayerInfo[playerid][pSkin] = 59;
  67502. }
  67503. }
  67504. }
  67505. if(dialogid == ADUTYMENU5)
  67506. {
  67507. if(response)
  67508. {
  67509. new giveplayerid = ReturnUser(inputtext);
  67510. //giveplayerid = strval(inputtext);
  67511. if(IsPlayerConnected(giveplayerid))
  67512. {
  67513. if(giveplayerid != INVALID_PLAYER_ID)
  67514. {
  67515. format(string, sizeof(string), "* You cleared the records and wanted points of %s.", GetPlayerNameEx(giveplayerid));
  67516. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  67517. format(string, sizeof(string), "* Officer %s has cleared your records and wanted points.", GetPlayerNameEx(playerid));
  67518. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  67519. format(string, sizeof(string), "* Officer %s has cleared %s's records and wanted points.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  67520. SendRadioMessage(1, RADIO, string);
  67521. SendRadioMessage(2, RADIO, string);
  67522. SendRadioMessage(10, RADIO, string);
  67523. PlayerInfo[giveplayerid][pWantedLevel] = 0;
  67524. SetPlayerToTeamColor(giveplayerid);
  67525. SetPlayerWantedLevel(giveplayerid, 0);
  67526. ClearCrime(giveplayerid);
  67527. }
  67528. else
  67529. {
  67530. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  67531. }
  67532. }
  67533. }
  67534. }
  67535. if(dialogid == FDUTYMENU)
  67536. {
  67537. if(response)
  67538. {
  67539. if(listitem == 0) // FBI Duty
  67540. {
  67541. if(PlayerInfo[playerid][pDuty]==0)
  67542. {
  67543. format(string, sizeof(string), "* Agent %s takes a badge and a gun from their locker.", GetPlayerNameEx(playerid));
  67544. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  67545. SetPlayerColor(playerid, TEAM_FBI_COLOR);
  67546. SetPlayerArmourEx(playerid, 100.0);
  67547. GivePlayerValidWeapon(playerid, 24, 99999);
  67548. GivePlayerValidWeapon(playerid, 41, 99999);
  67549. GivePlayerValidWeapon(playerid, 3, 99999);
  67550. GivePlayerValidWeapon(playerid, 29, 99999);
  67551. OnDuty[playerid] = 1;
  67552. PlayerInfo[playerid][pDuty] = 1;
  67553. }
  67554. else if(PlayerInfo[playerid][pDuty]==1)
  67555. {
  67556. format(string, sizeof(string), "* Agent %s places their badge and gun in their locker.", GetPlayerNameEx(playerid));
  67557. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  67558. SetPlayerColor(playerid, TEAM_HIT_COLOR);
  67559. SetPlayerSkin(playerid, 46);
  67560. PlayerInfo[playerid][pSkin] = 46;
  67561. SetPlayerArmourEx(playerid, 0.0);
  67562. OnDuty[playerid] = 0;
  67563. PlayerInfo[playerid][pDuty] = 0;
  67564. }
  67565. }
  67566. if(listitem == 1) // FBI Weapons
  67567. {
  67568. ShowPlayerDialogEx(playerid, FDUTYMENU2, DIALOG_STYLE_LIST, "FBI Weapons","Mace\nNite Stick\nDesert Eagle\nShotgun\nSPAS-12 $700\nMP5\nM4\nAK-47\nSmoke Grenade\nCamera\nSniper Rifle $800\nTactical Vest\nFirst Aid Kit\nAccessories", "Purchase", "Cancel");
  67569. }
  67570. if(listitem == 2) // FBI SWAT Uniform
  67571. {
  67572. if(PlayerInfo[playerid][pRank] > 3)
  67573. {
  67574. SetPlayerSkin(playerid, 285);
  67575. PlayerInfo[playerid][pSkin] = 285;
  67576. }
  67577. else
  67578. {
  67579. SendClientMessage(playerid, COLOR_GRAD2, "You're not the required rank!");
  67580. return 1;
  67581. }
  67582. }
  67583. if(listitem == 3) // FBI Uniforms
  67584. {
  67585. ShowPlayerDialogEx(playerid, FDUTYMENU3, DIALOG_STYLE_LIST, "FBI Uniforms","Agent with Coat\nBlack Agent\nWhite Agent\nAsian Agent\nAsian Agent 2\nSWAT\nGirl", "Put On", "Cancel");
  67586. }
  67587. if(listitem == 4) // FBI Undercover Uniform
  67588. {
  67589. ShowPlayerDialogEx(playerid, FDUTYMENU4, DIALOG_STYLE_INPUT, "Undercover","Choose a skin (by ID).", "Select", "Cancel");
  67590. }
  67591. if(listitem == 5) // FBI Clear.
  67592. {
  67593. ShowPlayerDialogEx(playerid,FDUTYMENU5,DIALOG_STYLE_INPUT,"FBI"," Who would you like to clear?","Clear","Return");
  67594. }
  67595. }
  67596. }
  67597. if(dialogid == FDUTYMENU2)
  67598. {
  67599. if(response)
  67600. {
  67601. if(PlayerInfo[playerid][pConnectTime] < 2) return SendClientMessage(playerid, COLOR_GRAD2, "You can't use this as you're currently restricted from possessing weapons!");
  67602. else switch(listitem) {
  67603. case 0: // FBI Weapons
  67604. {
  67605. GivePlayerValidWeapon(playerid, 41, 99999);
  67606. }
  67607. case 1: // FBI Weapons
  67608. {
  67609. GivePlayerValidWeapon(playerid, 3, 99999);
  67610. }
  67611. case 2: // FBI Weapons
  67612. {
  67613. GivePlayerValidWeapon(playerid, 24, 99999);
  67614. }
  67615. case 3: // FBI Weapons
  67616. {
  67617. GivePlayerValidWeapon(playerid, 25, 99999);
  67618. }
  67619. case 4: // FBI Weapons
  67620. {
  67621. if(GetPlayerCash(playerid) < 700) return SendClientMessage(playerid, COLOR_WHITE, "You don't have the cash for that.");
  67622. GivePlayerCash(playerid, -700);
  67623. GivePlayerValidWeapon(playerid, 27, 99999);
  67624. }
  67625. case 5: // FBI Weapons
  67626. {
  67627. GivePlayerValidWeapon(playerid, 29, 99999);
  67628. }
  67629. case 6: // FBI Weapons
  67630. {
  67631. GivePlayerValidWeapon(playerid, 31, 99999);
  67632. }
  67633. case 7: // FBI Weapons
  67634. {
  67635. GivePlayerValidWeapon(playerid, 30, 99999);
  67636. }
  67637. case 8: // FBI Weapons
  67638. {
  67639. GivePlayerValidWeapon(playerid, 17, 5);
  67640. }
  67641. case 9: // FBI Weapons
  67642. {
  67643. GivePlayerValidWeapon(playerid, 43, 99999);
  67644. }
  67645. case 10: // FBI Weapons
  67646. {
  67647. if(GetPlayerCash(playerid) < 800) return SendClientMessage(playerid, COLOR_WHITE, "You don't have the cash for that.");
  67648. GivePlayerCash(playerid, -800);
  67649. GivePlayerValidWeapon(playerid, 34, 99999);
  67650. }
  67651. case 11: // FBI Weapons
  67652. {
  67653. SetPlayerArmourEx(playerid, 100);
  67654. }
  67655. case 12: SetPlayerHealth(playerid, 100);
  67656. case 13: ShowPlayerDialogEx(playerid, BUYTOYSCOP, DIALOG_STYLE_MSGBOX, "Accessories", "Welcome to the law enforcement accessory locker!","Continue", "Cancel");
  67657. }
  67658. }
  67659. }
  67660. if(dialogid == FDUTYMENU3)
  67661. {
  67662. if(response)
  67663. {
  67664. if(listitem == 0) // FBI Uniforms
  67665. {
  67666. SetPlayerSkin(playerid, 286);
  67667. PlayerInfo[playerid][pSkin] = 286;
  67668. }
  67669. if(listitem == 1) //FBI Uniforms
  67670. {
  67671. SetPlayerSkin(playerid, 166);
  67672. PlayerInfo[playerid][pSkin] = 166;
  67673. }
  67674. if(listitem == 2) // FBI Uniforms
  67675. {
  67676. SetPlayerSkin(playerid, 165);
  67677. PlayerInfo[playerid][pSkin] = 165;
  67678. }
  67679. if(listitem == 3) // FBI Uniforms
  67680. {
  67681. SetPlayerSkin(playerid, 294);
  67682. PlayerInfo[playerid][pSkin] = 294;
  67683. }
  67684. if(listitem == 4) // FBI Uniforms
  67685. {
  67686. SetPlayerSkin(playerid, 120);
  67687. PlayerInfo[playerid][pSkin] = 120;
  67688. }
  67689. if(listitem == 5) //FBI Uniforms
  67690. {
  67691. SetPlayerSkin(playerid, 285);
  67692. PlayerInfo[playerid][pSkin] = 285;
  67693. }
  67694. if(listitem == 6) //FBI Uniforms
  67695. {
  67696. SetPlayerSkin(playerid, 141);
  67697. PlayerInfo[playerid][pSkin] = 141;
  67698. }
  67699. }
  67700. }
  67701. if(dialogid == FDUTYMENU4)
  67702. {
  67703. if(response)
  67704. {
  67705. new skin = strval(inputtext);
  67706. if(IsInvalidSkin(skin) || 274 <= skin <= 288 || skin == 165 || skin == 166 || skin == 71) {
  67707. return ShowPlayerDialogEx(playerid, FDUTYMENU4, DIALOG_STYLE_INPUT, "Undercover","Invalid skin specified. Choose another.", "Select", "Cancel");
  67708. }
  67709. PlayerInfo[playerid][pSkin] = skin;
  67710. SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
  67711. }
  67712. }
  67713. if(dialogid == FDUTYMENU5)
  67714. {
  67715. if(response)
  67716. {
  67717. new giveplayerid;
  67718. new giveplayer[MAX_PLAYER_NAME];
  67719. giveplayerid = ReturnUser(inputtext);
  67720. //giveplayerid = strval(inputtext);
  67721. if(IsPlayerConnected(giveplayerid))
  67722. {
  67723. if(giveplayerid != INVALID_PLAYER_ID)
  67724. {
  67725. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  67726. GetPlayerName(playerid, sendername, sizeof(sendername));
  67727. format(string, sizeof(string), "* You cleared the records and wanted points of %s.", GetPlayerNameEx(giveplayerid));
  67728. SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
  67729. format(string, sizeof(string), "* Agent %s has cleared your records and wanted points.", GetPlayerNameEx(playerid));
  67730. SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
  67731. format(string, sizeof(string), "* Agent %s has cleared %s's records and wanted points.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  67732. SendRadioMessage(1, RADIO, string);
  67733. SendRadioMessage(2, RADIO, string);
  67734. PlayerInfo[giveplayerid][pWantedLevel] = 0;
  67735. SetPlayerToTeamColor(giveplayerid);
  67736. SetPlayerWantedLevel(giveplayerid, 0);
  67737. ClearCrime(giveplayerid);
  67738. }
  67739. else
  67740. {
  67741. SendClientMessage(playerid, COLOR_GREY, "Invalid player specified.");
  67742. }
  67743. }
  67744. }
  67745. }
  67746. else if(dialogid == DIALOG_CDEDIT)
  67747. { // car dealership dialog
  67748. if(response && GetPVarInt(playerid, "editingcd") != -1)
  67749. {
  67750. if(listitem == 0) // New Vehicle
  67751. {
  67752. format(string, sizeof(string),"Please type the model ID of the new vehicle.");
  67753. ShowPlayerDialogEx(playerid,DIALOG_CDNEWVEH,DIALOG_STYLE_INPUT,"Warning:",string,"Ok","Cancel");
  67754. }
  67755. else if(listitem == 1) // My Vehicles
  67756. {
  67757. new vehicles;
  67758. for(new i=0; i<MAX_DEALERSHIPVEHICLES; i++)
  67759. {
  67760. if(CarDealershipInfo[GetPVarInt(playerid, "editingcd")][cdVehicleModel][i] != 0)
  67761. {
  67762. vehicles++;
  67763. format(string, sizeof(string), "Vehicle %d| Name: %s | Price: %d.",i+1,GetVehicleName(CarDealershipInfo[GetPVarInt(playerid, "editingcd")][cdVehicleId][i]),CarDealershipInfo[GetPVarInt(playerid, "editingcd")][cdVehicleCost][i]);
  67764. SendClientMessage(playerid, COLOR_WHITE, string);
  67765. }
  67766. }
  67767. if(vehicles)
  67768. {
  67769. ShowPlayerDialogEx(playerid, DIALOG_CDEDITCARS, DIALOG_STYLE_INPUT, "Car Dealership:", " Choose a vehicle to edit:", "Edit", "Back");
  67770. }
  67771. else
  67772. {
  67773. SendClientMessage(playerid, COLOR_GRAD2, " This car dealership doesn't have any cars.");
  67774. }
  67775. }
  67776. else if(listitem == 2) // Upgrade
  67777. {
  67778. new listitems[] = "1 Vehicle Spawn\n2 Radius\n3 Dealership Name\n4 Price";
  67779. ShowPlayerDialogEx(playerid,DIALOG_CDUPGRADE,DIALOG_STYLE_LIST,"Choose an item to continue.", listitems,"Select","Cancel");
  67780. }
  67781. else if(listitem == 3) // Till
  67782. {
  67783. new listitems[] = "1 Withdraw\n2 Deposit";
  67784. ShowPlayerDialogEx(playerid,DIALOG_CDTILL,DIALOG_STYLE_LIST,"Choose an item to continue.", listitems,"Select","Cancel");
  67785. }
  67786. }
  67787. else
  67788. {
  67789. SavecDealerships();
  67790. SetPVarInt(playerid, "editingcd", -1);
  67791. }
  67792. }
  67793. else if(dialogid == DIALOG_CDTILL)
  67794. { // car dealership dialog
  67795. if(response && GetPVarInt(playerid, "editingcd") != -1)
  67796. {
  67797. if(listitem == 0) // Withdraw
  67798. {
  67799. format(string, sizeof(string), "You have $%d in your till account.\n\n\tHow much money to withdraw?", CarDealershipInfo[GetPVarInt(playerid, "editingcd")][cdTill]);
  67800. ShowPlayerDialogEx(playerid,DIALOG_CDWITHDRAW,DIALOG_STYLE_INPUT,"Withdraw", string,"Select","Cancel");
  67801. }
  67802. else if(listitem == 1) // Deposit
  67803. {
  67804. format(string, sizeof(string), "You have $%d in your till account.\n\n\tHow much money to deposit?", CarDealershipInfo[GetPVarInt(playerid, "editingcd")][cdTill]);
  67805. ShowPlayerDialogEx(playerid,DIALOG_CDDEPOSIT,DIALOG_STYLE_INPUT,"Deposit", string,"Select","Cancel");
  67806. }
  67807. }
  67808. else
  67809. {
  67810. SavecDealerships();
  67811. SetPVarInt(playerid, "editingcd", -1);
  67812. }
  67813. }
  67814. else if(dialogid == DIALOG_CDWITHDRAW)
  67815. { // car dealership dialog
  67816. if(response && GetPVarInt(playerid, "editingcd") != -1)
  67817. {
  67818. if(IsNumeric(inputtext))
  67819. {
  67820. new money = strval(inputtext);
  67821. if(CarDealershipInfo[GetPVarInt(playerid, "editingcd")][cdTill] < money)
  67822. {
  67823. format(string, sizeof(string), "You don't have that much in your till!\n\nYou have $%d in your till account.\n\n\tHow much money to withdraw?", CarDealershipInfo[GetPVarInt(playerid, "editingcd")][cdTill]);
  67824. ShowPlayerDialogEx(playerid,DIALOG_CDWITHDRAW,DIALOG_STYLE_INPUT,"Withdraw", string,"Select","Cancel");
  67825. return 1;
  67826. }
  67827. CarDealershipInfo[GetPVarInt(playerid, "editingcd")][cdTill] -= money;
  67828. PlayerInfo[playerid][pCash] += money;
  67829. format(string, sizeof(string), "You have successfully withdrawn $%d from your till, new balance: $%d", money, CarDealershipInfo[GetPVarInt(playerid, "editingcd")][cdTill]);
  67830. SendClientMessage(playerid, COLOR_GRAD2, string);
  67831. SavecDealerships();
  67832. SetPVarInt(playerid, "editingcd", -1);
  67833. }
  67834. }
  67835. else
  67836. {
  67837. SavecDealerships();
  67838. SetPVarInt(playerid, "editingcd", -1);
  67839. }
  67840. }
  67841. else if(dialogid == DIALOG_CDDEPOSIT)
  67842. { // car dealership dialog
  67843. if(response && GetPVarInt(playerid, "editingcd") != -1)
  67844. {
  67845. if(IsNumeric(inputtext))
  67846. {
  67847. new money = strval(inputtext);
  67848. if(PlayerInfo[playerid][pCash] < money)
  67849. {
  67850. format(string, sizeof(string), "You don't have that much in your wallet!\n\nYou have $%d in your till account.\n\n\tHow much money to deposit?", CarDealershipInfo[GetPVarInt(playerid, "editingcd")][cdTill]);
  67851. ShowPlayerDialogEx(playerid,DIALOG_CDDEPOSIT,DIALOG_STYLE_INPUT,"Deposit", string,"Select","Cancel");
  67852. return 1;
  67853. }
  67854. CarDealershipInfo[GetPVarInt(playerid, "editingcd")][cdTill] += money;
  67855. PlayerInfo[playerid][pCash] -= money;
  67856. format(string, sizeof(string), "You have successfully deposited $%d to your till, new balance: $%d", money, CarDealershipInfo[GetPVarInt(playerid, "editingcd")][cdTill]);
  67857. SendClientMessage(playerid, COLOR_GRAD2, string);
  67858. SavecDealerships();
  67859. SetPVarInt(playerid, "editingcd", -1);
  67860. }
  67861. }
  67862. else
  67863. {
  67864. SavecDealerships();
  67865. SetPVarInt(playerid, "editingcd", -1);
  67866. }
  67867. }
  67868. else if(dialogid == DIALOG_CDUPGRADE)
  67869. { // car dealership dialog
  67870. if(response && GetPVarInt(playerid, "editingcd") != -1)
  67871. {
  67872. if(listitem == 0) // Vehicle Spawn
  67873. {
  67874. SendClientMessage(playerid, COLOR_GRAD2, " Please stand where you want to have your brought vehicles spawn.");
  67875. SendClientMessage(playerid, COLOR_GRAD2, " Once ready press the fire button.");
  67876. SetPVarInt(playerid, "editingcdvehpos", 2);
  67877. }
  67878. if(listitem == 1) // Radius
  67879. {
  67880. ShowPlayerDialogEx(playerid, DIALOG_CDRADIUS, DIALOG_STYLE_INPUT, "Car Dealership:", " Choose the new radius:", "Edit", "Back");
  67881. }
  67882. else if(listitem == 2) // Dealership Name
  67883. {
  67884. ShowPlayerDialogEx(playerid, DIALOG_CDNAME, DIALOG_STYLE_INPUT, "Car Dealership:", " Choose the new name:", "Edit", "Back");
  67885. }
  67886. else if(listitem == 3) // Price
  67887. {
  67888. ShowPlayerDialogEx(playerid, DIALOG_CDPRICE, DIALOG_STYLE_INPUT, "Car Dealership:", " Choose the new price:", "Edit", "Back");
  67889. }
  67890. }
  67891. else
  67892. {
  67893. SavecDealerships();
  67894. SetPVarInt(playerid, "editingcd", -1);
  67895. }
  67896. }
  67897. else if(dialogid == DIALOG_CDRADIUS)
  67898. { // car dealership dialog
  67899. if(response && GetPVarInt(playerid, "editingcd") != -1)
  67900. {
  67901. new d;
  67902. d = GetPVarInt(playerid, "editingcd");
  67903. new Float:radius = floatstr(inputtext);
  67904. new Float:radiusex = CarDealershipInfo[d][cdRadius];
  67905. new test = floatround(radius), test1 = floatround(radiusex);
  67906. if(CarDealershipInfo[d][cdRadius] > radius)
  67907. {
  67908. new cost = (test - test1) * (test1 * 1000);
  67909. if(PlayerInfo[playerid][pCash] < cost)
  67910. {
  67911. format(string, sizeof(string), "ERROR: You do not have enough money for this upgrade ($%d).",cost);
  67912. SendClientMessage(playerid, COLOR_GREY, string);
  67913. return 1;
  67914. }
  67915. format(string, sizeof(string), " Car Dealership radius upgraded from %.1f to %.1f for $%d.",radiusex, radius, cost);
  67916. SendClientMessage(playerid, COLOR_GREY, string);
  67917. CarDealershipInfo[d][cdRadius] = radius;
  67918. format(string,128,"Car Dealership %s\nOwner: %s\nID: %d", CarDealershipInfo[d][cdMessage], CarDealershipInfo[d][cdOwner], d);
  67919. UpdateDynamic3DTextLabelText(CarDealershipInfo[d][cdTextLabel], COLOR_LIGHTBLUE, string);
  67920. new listitems[] = "1 Vehicle Spawn\n2 Radius\n3 Dealership Name\n4 Price";
  67921. ShowPlayerDialogEx(playerid,DIALOG_CDUPGRADE,DIALOG_STYLE_LIST,"Choose an item to continue", listitems,"Select","Cancel");
  67922. SavecDealerships();
  67923. }
  67924. }
  67925. else
  67926. {
  67927. new listitems[] = "1 Vehicle Spawn\n2 Radius\n3 Dealership Name\n4 Price";
  67928. ShowPlayerDialogEx(playerid,DIALOG_CDUPGRADE,DIALOG_STYLE_LIST,"Choose an item to continue", listitems,"Select","Cancel");
  67929. }
  67930. }
  67931. else if(dialogid == DIALOG_CDNAME)
  67932. { // car dealership dialog
  67933. if(response && GetPVarInt(playerid, "editingcd") != -1)
  67934. {
  67935. new d;
  67936. d = GetPVarInt(playerid, "editingcd");
  67937. if(!strlen(inputtext))
  67938. {
  67939. SendClientMessage(playerid, COLOR_LIGHTRED, "** You must type a name **");
  67940. ShowPlayerDialogEx(playerid, DIALOG_CDNAME, DIALOG_STYLE_INPUT, "Car Dealership:", " Choose the new name:", "Edit", "Back");
  67941. return 1;
  67942. }
  67943. new cost = strlen(inputtext) * 50;
  67944. format(string, sizeof(string), " Car Dealership name upgraded from %s to %s for $%d.", CarDealershipInfo[d][cdMessage], inputtext, cost);
  67945. SendClientMessage(playerid, COLOR_GREY, string);
  67946. strmid(CarDealershipInfo[d][cdMessage], inputtext, 0, strlen(inputtext), 255);
  67947. format(string,128,"Car Dealership %s\nOwner: %s\nID: %d", CarDealershipInfo[d][cdMessage], CarDealershipInfo[d][cdOwner], d);
  67948. UpdateDynamic3DTextLabelText(CarDealershipInfo[d][cdTextLabel], COLOR_LIGHTBLUE, string);
  67949. new listitems[] = "1 Vehicle Spawn\n2 Radius\n3 Dealership Name\n4 Price";
  67950. ShowPlayerDialogEx(playerid,DIALOG_CDUPGRADE,DIALOG_STYLE_LIST,"Choose an item to continue", listitems,"Select","Cancel");
  67951. SavecDealerships();
  67952. }
  67953. else
  67954. {
  67955. new listitems[] = "1 Vehicle Spawn\n2 Radius\n3 Dealership Name\n4 Price";
  67956. ShowPlayerDialogEx(playerid,DIALOG_CDUPGRADE,DIALOG_STYLE_LIST,"Choose an item to continue", listitems,"Select","Cancel");
  67957. }
  67958. }
  67959. else if(dialogid == DIALOG_CDEDITCARS)
  67960. { // car dealership dialog
  67961. if(response && GetPVarInt(playerid, "editingcd") != -1)
  67962. {
  67963. new cdvid;
  67964. if(IsNumeric(inputtext))
  67965. {
  67966. cdvid = strval(inputtext);
  67967. if(CarDealershipInfo[GetPVarInt(playerid, "editingcd")][cdVehicleModel][cdvid-1])
  67968. {
  67969. SetPVarInt(playerid, "editingcdveh", cdvid-1);
  67970. new listitems[] = "1 Edit Model\n2 Edit Cost\n3 Edit Park\n4 Delete Vehicle";
  67971. ShowPlayerDialogEx(playerid,DIALOG_CDEDITONE,DIALOG_STYLE_LIST,"Car Dealership:", listitems,"Select","Cancel");
  67972. }
  67973. }
  67974. }
  67975. else
  67976. {
  67977. new listitems[] = "1 New Vehicle\n2 My Vehicles\n3 Upgrade\n4 Till";
  67978. ShowPlayerDialogEx(playerid,DIALOG_CDEDIT,DIALOG_STYLE_LIST,"Choose an item to continue", listitems,"Select","Cancel");
  67979. }
  67980. }
  67981. else if(dialogid == DIALOG_CDEDITONE)
  67982. { // car dealership dialog
  67983. if(response && GetPVarInt(playerid, "editingcd") != -1 && GetPVarInt(playerid, "editingcdveh") != -1)
  67984. {
  67985. if(listitem == 0) // Edit Model
  67986. {
  67987. ShowPlayerDialogEx(playerid, DIALOG_CDEDITMODEL, DIALOG_STYLE_INPUT, "Car Dealership:", " Choose the new model id:", "Edit", "Back");
  67988. }
  67989. else if(listitem == 1) // Edit Cost
  67990. {
  67991. ShowPlayerDialogEx(playerid, DIALOG_CDEDITCOST, DIALOG_STYLE_INPUT, "Car Dealership:", " Choose the new price of the car:", "Edit", "Back");
  67992. }
  67993. else if(listitem == 2) // Edit Park
  67994. {
  67995. PutPlayerInVehicle(playerid, CarDealershipInfo[GetPVarInt(playerid, "editingcd")][cdVehicleId][GetPVarInt(playerid, "editingcdveh")], 0);
  67996. SendClientMessage(playerid, COLOR_GRAD2, " Please stand where you want to park the vehicle.");
  67997. SendClientMessage(playerid, COLOR_GRAD2, " Once ready press the fire button.");
  67998. SetPVarInt(playerid, "editingcdvehpos", 1);
  67999. }
  68000. else if(listitem == 3) // Delete Vehicle
  68001. {
  68002. format(string, sizeof(string), "Are you sure you want to delete this %s?\nNote: You will not get any refounds.",
  68003. GetVehicleName(CarDealershipInfo[GetPVarInt(playerid, "editingcd")][cdVehicleId][GetPVarInt(playerid, "editingcdveh")]));
  68004. ShowPlayerDialogEx(playerid,DIALOG_CDDELVEH,DIALOG_STYLE_MSGBOX,"Warning:",string,"Ok","Cancel");
  68005. }
  68006. }
  68007. else
  68008. {
  68009. SavecDealerships();
  68010. SetPVarInt(playerid, "editingcdveh", -1);
  68011. }
  68012. }
  68013. else if(dialogid == DIALOG_CDEDITMODEL)
  68014. { // car dealership dialog
  68015. if(response && GetPVarInt(playerid, "editingcd") != -1 && GetPVarInt(playerid, "editingcdveh") != -1)
  68016. {
  68017. new modelid, d, v;
  68018. new text_info[128];
  68019. d = GetPVarInt(playerid, "editingcd");
  68020. v = GetPVarInt(playerid, "editingcdveh");
  68021. if(IsNumeric(inputtext))
  68022. {
  68023. modelid = strval(inputtext);
  68024. if(modelid < 400 || modelid > 611) { SendClientMessage(playerid, COLOR_GREY, " Vehicle Number can't be below 400 or above 611!"); return 1; }
  68025. CarDealershipInfo[d][cdVehicleModel][v] = modelid;
  68026. DestroyDynamic3DTextLabel(CarDealershipInfo[d][cdVehicleLabel][v]);
  68027. DestroyVehicle(CarDealershipInfo[d][cdVehicleId][v]);
  68028. VehicleRadioStation[CarDealershipInfo[d][cdVehicleId][v]] = 0;
  68029. new carcreated;
  68030. carcreated = CreateVehicle(CarDealershipInfo[d][cdVehicleModel][v], CarDealershipInfo[d][cdVehicleSpawnX][v], CarDealershipInfo[d][cdVehicleSpawnY][v], CarDealershipInfo[d][cdVehicleSpawnZ][v], CarDealershipInfo[d][cdVehicleSpawnAngle][v], 0, 0, 6);
  68031. format(text_info, sizeof(text_info),"%s For Sale | Price: %d", GetVehicleName(carcreated), CarDealershipInfo[d][cdVehicleCost][v]);
  68032. CarDealershipInfo[d][cdVehicleLabel][v] = CreateDynamic3DTextLabel(text_info,COLOR_LIGHTBLUE,0.0, 0.0, 0.0,8.0,INVALID_PLAYER_ID,carcreated);
  68033. CarDealershipInfo[d][cdVehicleId][v] = carcreated;
  68034. new listitems[] = "1 Edit Model\n2 Edit Cost\n3 Edit Park\n4 Delete Vehicle";
  68035. ShowPlayerDialogEx(playerid,DIALOG_CDEDITONE,DIALOG_STYLE_LIST,"Car Dealership:", listitems,"Select","Cancel");
  68036. SavecDealerships();
  68037. }
  68038. }
  68039. else
  68040. {
  68041. new listitems[] = "1 Edit Model\n2 Edit Cost\n3 Edit Park\n4 Delete Vehicle";
  68042. ShowPlayerDialogEx(playerid,DIALOG_CDEDITONE,DIALOG_STYLE_LIST,"Car Dealership:", listitems,"Select","Cancel");
  68043. }
  68044. }
  68045. else if(dialogid == DIALOG_CDEDITCOST)
  68046. { // car dealership dialog
  68047. if(response && GetPVarInt(playerid, "editingcd") != -1 && GetPVarInt(playerid, "editingcdveh") != -1)
  68048. {
  68049. new price, d, v;
  68050. new text_info[128];
  68051. d = GetPVarInt(playerid, "editingcd");
  68052. v = GetPVarInt(playerid, "editingcdveh");
  68053. if(IsNumeric(inputtext))
  68054. {
  68055. price = strval(inputtext);
  68056. CarDealershipInfo[d][cdVehicleCost][v] = price;
  68057. format(text_info, sizeof(text_info), "%s For Sale | Price: %d", GetVehicleName(CarDealershipInfo[d][cdVehicleId][v]), CarDealershipInfo[d][cdVehicleCost][v]);
  68058. UpdateDynamic3DTextLabelText(CarDealershipInfo[d][cdVehicleLabel][v], COLOR_LIGHTBLUE, text_info);
  68059. new listitems[] = "1 Edit Model\n2 Edit Cost\n3 Edit Park\n4 Delete Vehicle";
  68060. ShowPlayerDialogEx(playerid,DIALOG_CDEDITONE,DIALOG_STYLE_LIST,"Car Dealership:", listitems,"Select","Cancel");
  68061. SavecDealerships();
  68062. }
  68063. }
  68064. else
  68065. {
  68066. new listitems[] = "1 Edit Model\n2 Edit Cost\n3 Edit Park\n4 Delete Vehicle";
  68067. ShowPlayerDialogEx(playerid,DIALOG_CDEDITONE,DIALOG_STYLE_LIST,"Car Dealership:", listitems,"Select","Cancel");
  68068. }
  68069. }
  68070. else if(dialogid == DIALOG_CDDELVEH)
  68071. { // car dealership dialog
  68072. if(response && GetPVarInt(playerid, "editingcd") != -1 && GetPVarInt(playerid, "editingcdveh") != -1)
  68073. {
  68074. DestroyCarDealershipVehicle(GetPVarInt(playerid, "editingcd"), GetPVarInt(playerid, "editingcdveh"));
  68075. SavecDealerships();
  68076. }
  68077. else
  68078. {
  68079. new listitems[] = "1 Edit Model\n2 Edit Cost\n3 Edit Park\n4 Delete Vehicle";
  68080. ShowPlayerDialogEx(playerid,DIALOG_CDEDITONE,DIALOG_STYLE_LIST,"Car Dealership:", listitems,"Select","Cancel");
  68081. }
  68082. }
  68083. else if(dialogid == DIALOG_CDEDITPARK)
  68084. { // car dealership dialog
  68085. if(response && GetPVarInt(playerid, "editingcd") != -1 && GetPVarInt(playerid, "editingcdveh") != -1 && GetPVarInt(playerid, "editingcdvehpos") == 1 || GetPVarInt(playerid, "editingcdvehnew"))
  68086. {
  68087. new Float: x, Float: y, Float: z, Float: a;
  68088. new d, v, text_info[128];
  68089. d = GetPVarInt(playerid, "editingcd");
  68090. v = GetPVarInt(playerid, "editingcdveh");
  68091. GetVehiclePos(CarDealershipInfo[d][cdVehicleId][v], x, y, z);
  68092. GetVehicleZAngle(CarDealershipInfo[d][cdVehicleId][v], a);
  68093. if(IsPlayerInRangeOfPoint(playerid, CarDealershipInfo[d][cdRadius], CarDealershipInfo[d][cdEntranceX], CarDealershipInfo[d][cdEntranceY], CarDealershipInfo[d][cdEntranceZ]))
  68094. {
  68095. CarDealershipInfo[d][cdVehicleSpawnX][v] = x;
  68096. CarDealershipInfo[d][cdVehicleSpawnY][v] = y;
  68097. CarDealershipInfo[d][cdVehicleSpawnZ][v] = z;
  68098. CarDealershipInfo[d][cdVehicleSpawnAngle][v] = a;
  68099. SetPVarInt(playerid, "editingcdvehpos", 0);
  68100. SetPVarInt(playerid, "editingcdvehnew", 0);
  68101. DestroyDynamic3DTextLabel(CarDealershipInfo[d][cdVehicleLabel][v]);
  68102. DestroyVehicle(CarDealershipInfo[d][cdVehicleId][v]);
  68103. VehicleRadioStation[CarDealershipInfo[d][cdVehicleId][v]] = 0;
  68104. new carcreated;
  68105. carcreated = CreateVehicle(CarDealershipInfo[d][cdVehicleModel][v], CarDealershipInfo[d][cdVehicleSpawnX][v], CarDealershipInfo[d][cdVehicleSpawnY][v], CarDealershipInfo[d][cdVehicleSpawnZ][v], CarDealershipInfo[d][cdVehicleSpawnAngle][v], 0, 0, 6);
  68106. format(text_info, sizeof(text_info), "%s For Sale | Price: %d", GetVehicleName(carcreated), CarDealershipInfo[d][cdVehicleCost][v]);
  68107. CarDealershipInfo[d][cdVehicleLabel][v] = CreateDynamic3DTextLabel(text_info,COLOR_LIGHTBLUE,0.0, 0.0, 0.0,8.0,INVALID_PLAYER_ID,carcreated);
  68108. CarDealershipInfo[d][cdVehicleId][v] = carcreated;
  68109. TogglePlayerControllable(playerid, true);
  68110. new listitems[] = "1 Edit Model\n2 Edit Cost\n3 Edit Park\n4 Delete Vehicle";
  68111. ShowPlayerDialogEx(playerid,DIALOG_CDEDITONE,DIALOG_STYLE_LIST,"Car Dealership:", listitems,"Select","Cancel");
  68112. SavecDealerships();
  68113. }
  68114. else
  68115. {
  68116. SendClientMessage(playerid, COLOR_GREY, "ERROR: you're out of this Car Dealership radius, please try again.");
  68117. TogglePlayerControllable(playerid, true);
  68118. }
  68119. }
  68120. else if(response && GetPVarInt(playerid, "editingcd") != -1 && GetPVarInt(playerid, "editingcdvehpos") == 2)
  68121. {
  68122. new Float: x, Float: y, Float: z, Float: a;
  68123. new d;
  68124. GetPlayerPos(playerid,x,y,z);
  68125. GetPlayerFacingAngle(playerid, a);
  68126. d = GetPVarInt(playerid, "editingcd");
  68127. if(IsPlayerInRangeOfPoint(playerid, CarDealershipInfo[d][cdRadius], CarDealershipInfo[d][cdEntranceX], CarDealershipInfo[d][cdEntranceY], CarDealershipInfo[d][cdEntranceZ]))
  68128. {
  68129. CarDealershipInfo[d][cdVehicleSpawn][0] = x;
  68130. CarDealershipInfo[d][cdVehicleSpawn][1] = y;
  68131. CarDealershipInfo[d][cdVehicleSpawn][2] = z;
  68132. CarDealershipInfo[d][cdVehicleSpawn][3] = a;
  68133. SetPVarInt(playerid, "editingcdvehpos", 0);
  68134. TogglePlayerControllable(playerid, true);
  68135. new listitems[] = "1 Vehicle Spawn\n2 Radius\n3 Dealership Name\n4 Price";
  68136. ShowPlayerDialogEx(playerid,DIALOG_CDUPGRADE,DIALOG_STYLE_LIST,"Choose an item to continue", listitems,"Select","Cancel");
  68137. SavecDealerships();
  68138. }
  68139. else
  68140. {
  68141. SendClientMessage(playerid, COLOR_GREY, "ERROR: you're out of this Car Dealership radius, please try again.");
  68142. TogglePlayerControllable(playerid, true);
  68143. }
  68144. }
  68145. else if(!response && GetPVarInt(playerid, "editingcd") != -1 && GetPVarInt(playerid, "editingcdvehpos") == 1)
  68146. {
  68147. new listitems[] = "1 Edit Model\n2 Edit Cost\n3 Edit Park\n4 Delete Vehicle";
  68148. ShowPlayerDialogEx(playerid,DIALOG_CDEDITONE,DIALOG_STYLE_LIST,"Car Dealership:", listitems,"Select","Cancel");
  68149. TogglePlayerControllable(playerid, true);
  68150. SetPVarInt(playerid, "editingcdvehpos", 0);
  68151. }
  68152. else if(!response && GetPVarInt(playerid, "editingcd") != -1 && GetPVarInt(playerid, "editingcdvehpos") == 2)
  68153. {
  68154. new listitems[] = "1 Vehicle Spawn\n2 Radius\n3 Dealership Name\n4 Price";
  68155. ShowPlayerDialogEx(playerid,DIALOG_CDUPGRADE,DIALOG_STYLE_LIST,"Choose an item to continue", listitems,"Select","Cancel");
  68156. TogglePlayerControllable(playerid, true);
  68157. SetPVarInt(playerid, "editingcdvehpos", 0);
  68158. }
  68159. }
  68160. else if(dialogid == DIALOG_CDNEWVEH)
  68161. { // car dealership dialog
  68162. if(response && GetPVarInt(playerid, "editingcd") != -1)
  68163. {
  68164. new modelid, d;
  68165. new Float: x, Float: y, Float: z, Float: a;
  68166. new text_info[128];
  68167. d = GetPVarInt(playerid, "editingcd");
  68168. GetPlayerPos(playerid,x,y,z);
  68169. GetPlayerFacingAngle(playerid, a);
  68170. if(!IsNumeric(inputtext)) return SendClientMessage(playerid, COLOR_GRAD1, "ERROR: Model ID must be numbers.");
  68171. if(IsPlayerInRangeOfPoint(playerid, CarDealershipInfo[d][cdRadius], CarDealershipInfo[d][cdEntranceX], CarDealershipInfo[d][cdEntranceY], CarDealershipInfo[d][cdEntranceZ]))
  68172. {
  68173. modelid = strval(inputtext);
  68174. if(modelid < 400 || modelid > 611) { SendClientMessage(playerid, COLOR_GREY, " Vehicle Number can't be below 400 or above 611!"); return 1; }
  68175. new cdvehicleid = CreateCarDealershipVehicle(d, modelid, x, y, z, a, 1337);
  68176. if(cdvehicleid == -1)
  68177. {
  68178. SendClientMessage(playerid, COLOR_GREY, "ERROR: Car couldn't be created.");
  68179. }
  68180. else
  68181. {
  68182. PutPlayerInVehicle(playerid, CarDealershipInfo[d][cdVehicleId][cdvehicleid], 0);
  68183. format(text_info, sizeof(text_info), " Car Dealership Vehicle created with Vehicle ID %d.", cdvehicleid-1);
  68184. SendClientMessage(playerid, COLOR_GRAD1, text_info);
  68185. SendClientMessage(playerid, COLOR_GRAD2, " Please stand where you want to add your new vehicle.");
  68186. SendClientMessage(playerid, COLOR_GRAD2, " Once ready press the fire button.");
  68187. SetPVarInt(playerid, "editingcdvehnew", 1);
  68188. SetPVarInt(playerid, "editingcdveh", cdvehicleid);
  68189. }
  68190. }
  68191. else
  68192. {
  68193. SendClientMessage(playerid, COLOR_GREY, "ERROR: you're out of this Car Dealership radius, please try again.");
  68194. TogglePlayerControllable(playerid, true);
  68195. }
  68196. }
  68197. else
  68198. {
  68199. TogglePlayerControllable(playerid, true);
  68200. SetPVarInt(playerid, "editingcd", -1);
  68201. }
  68202. }
  68203. else if(dialogid == DIALOG_CDBUY)
  68204. {
  68205. // Account Eating Bug Fix
  68206. if(!IsPlayerInAnyVehicle(playerid))
  68207. {
  68208. TogglePlayerControllable(playerid, 1);
  68209. SendClientMessage(playerid,COLOR_GRAD2,"You need to be in the vehicle you wish to purchase.");
  68210. return 1;
  68211. }
  68212. new vehicleid = GetPlayerVehicleID(playerid);
  68213. new v = GetCarDealershipVehicleId(vehicleid);
  68214. new d = GetCarDealershipId(vehicleid);
  68215. if(response)
  68216. {
  68217. if(CarDealershipInfo[d][cdVehicleSpawn][0] == 0.0 && CarDealershipInfo[d][cdVehicleSpawn][1] == 0.0 && CarDealershipInfo[d][cdVehicleSpawn][2] == 0.0)
  68218. {
  68219. SendClientMessage(playerid, COLOR_GRAD1, "ERROR: The owner of this Car Dealership hasn't set the purchased vehicles spawn point.");
  68220. RemovePlayerFromVehicle(playerid);
  68221. new Float:slx, Float:sly, Float:slz;
  68222. GetPlayerPos(playerid, slx, sly, slz);
  68223. SetPlayerPos(playerid, slx, sly, slz+1.2);
  68224. TogglePlayerControllable(playerid, 1);
  68225. return 1;
  68226. }
  68227. if(CarDealershipInfo[d][cdDonator] == 1 && PlayerInfo[playerid][pDonator] < 1)
  68228. {
  68229. SendClientMessage(playerid, COLOR_GREY, "The vehicles in this dealership are only available for Ruby+ Donators.");
  68230. RemovePlayerFromVehicle(playerid);
  68231. new Float:slx, Float:sly, Float:slz;
  68232. GetPlayerPos(playerid, slx, sly, slz);
  68233. SetPlayerPos(playerid, slx, sly, slz+1.2);
  68234. TogglePlayerControllable(playerid, 1);
  68235. return 1;
  68236. }
  68237. if(CarDealershipInfo[d][cdDonator] == 2 && PlayerInfo[playerid][pDonator] < 2)
  68238. {
  68239. SendClientMessage(playerid, COLOR_GREY, "The vehicles in this dealership are only available for Sapphire+ Donators.");
  68240. RemovePlayerFromVehicle(playerid);
  68241. new Float:slx, Float:sly, Float:slz;
  68242. GetPlayerPos(playerid, slx, sly, slz);
  68243. SetPlayerPos(playerid, slx, sly, slz+1.2);
  68244. TogglePlayerControllable(playerid, 1);
  68245. return 1;
  68246. }
  68247. if(CarDealershipInfo[d][cdDonator] == 3 && PlayerInfo[playerid][pDonator] < 3)
  68248. {
  68249. SendClientMessage(playerid, COLOR_GREY, "The vehicles in this dealership are only available for Diamond+ Donators.");
  68250. RemovePlayerFromVehicle(playerid);
  68251. new Float:slx, Float:sly, Float:slz;
  68252. GetPlayerPos(playerid, slx, sly, slz);
  68253. SetPlayerPos(playerid, slx, sly, slz+1.2);
  68254. TogglePlayerControllable(playerid, 1);
  68255. return 1;
  68256. }
  68257. new playervehicleid = GetPlayerFreeVehicleId(playerid);
  68258. new carsamount = GetPlayerVehicleCount(playerid);
  68259. // (TEMPORARY - Howard NOTE) TempDonator not added yet
  68260. if(PlayerInfo[playerid][pDonator] == 0 && carsamount >= 5) //PlayerInfo[playerid][pTempDonator] > 0) && carsamount >= 5)
  68261. {
  68262. SendClientMessage(playerid, COLOR_GREY, "ERROR: You can't have more cars, non-donator can only own 5 cars.");
  68263. RemovePlayerFromVehicle(playerid);
  68264. new Float:slx, Float:sly, Float:slz;
  68265. GetPlayerPos(playerid, slx, sly, slz);
  68266. SetPlayerPos(playerid, slx, sly, slz+1.2);
  68267. TogglePlayerControllable(playerid, 1);
  68268. return 1;
  68269. }
  68270. if(PlayerInfo[playerid][pDonator] == 1 && carsamount >= 7)
  68271. {
  68272. SendClientMessage(playerid, COLOR_GREY, "ERROR: You can't have more cars, Ruby Donator can only own 7 cars.");
  68273. RemovePlayerFromVehicle(playerid);
  68274. new Float:slx, Float:sly, Float:slz;
  68275. GetPlayerPos(playerid, slx, sly, slz);
  68276. SetPlayerPos(playerid, slx, sly, slz+1.2);
  68277. TogglePlayerControllable(playerid, 1);
  68278. return 1;
  68279. }
  68280. if(PlayerInfo[playerid][pDonator] == 2 && carsamount >= 8)
  68281. {
  68282. SendClientMessage(playerid, COLOR_GREY, "ERROR: You can't have more cars, Sapphire Donator can only own 8 cars.");
  68283. RemovePlayerFromVehicle(playerid);
  68284. new Float:slx, Float:sly, Float:slz;
  68285. GetPlayerPos(playerid, slx, sly, slz);
  68286. SetPlayerPos(playerid, slx, sly, slz+1.2);
  68287. TogglePlayerControllable(playerid, 1);
  68288. return 1;
  68289. }
  68290. if(PlayerInfo[playerid][pDonator] == 3 && carsamount >= 10)
  68291. {
  68292. SendClientMessage(playerid, COLOR_GREY, "ERROR: You can't have more cars, Diamond Donator can only own 10 cars.");
  68293. RemovePlayerFromVehicle(playerid);
  68294. new Float:slx, Float:sly, Float:slz;
  68295. GetPlayerPos(playerid, slx, sly, slz);
  68296. SetPlayerPos(playerid, slx, sly, slz+1.2);
  68297. TogglePlayerControllable(playerid, 1);
  68298. return 1;
  68299. }
  68300. /*if(PlayerInfo[playerid][pDonator] >= 4 && carsamount >= 10)
  68301. {
  68302. SendClientMessage(playerid, COLOR_GREY, "ERROR: You can't have more cars, Platinum+ VIP can only own 10 cars.");
  68303. RemovePlayerFromVehicle(playerid);
  68304. new Float:slx, Float:sly, Float:slz;
  68305. GetPlayerPos(playerid, slx, sly, slz);
  68306. SetPlayerPos(playerid, slx, sly, slz+1.2);
  68307. TogglePlayerControllable(playerid, 1);
  68308. return 1;
  68309. }*/
  68310. if(playervehicleid == -1)
  68311. {
  68312. SendClientMessage(playerid, COLOR_GREY, "ERROR: You can't have more cars.");
  68313. RemovePlayerFromVehicle(playerid);
  68314. new Float:slx, Float:sly, Float:slz;
  68315. GetPlayerPos(playerid, slx, sly, slz);
  68316. SetPlayerPos(playerid, slx, sly, slz+1.2);
  68317. TogglePlayerControllable(playerid, 1);
  68318. return 1;
  68319. }
  68320. if(PlayerInfo[playerid][pDonator] == 0 && VehicleSpawned[playerid] >= 1)
  68321. {
  68322. SendClientMessage(playerid, COLOR_GREY, "ERROR: You can only have 1 vehicle spawned at a time as non-donator. Store that vehicle in order to purchase one.");
  68323. RemovePlayerFromVehicle(playerid);
  68324. new Float:slx, Float:sly, Float:slz;
  68325. GetPlayerPos(playerid, slx, sly, slz);
  68326. SetPlayerPos(playerid, slx, sly, slz+1.2);
  68327. TogglePlayerControllable(playerid, 1);
  68328. return 1;
  68329. }
  68330. if(PlayerInfo[playerid][pDonator] == 1 && VehicleSpawned[playerid] >= 2)
  68331. {
  68332. SendClientMessage(playerid, COLOR_GREY, "ERROR: You can only have 2 vehicles spawned at a time as Ruby Donator. Store that vehicle in order to purchase one.");
  68333. RemovePlayerFromVehicle(playerid);
  68334. new Float:slx, Float:sly, Float:slz;
  68335. GetPlayerPos(playerid, slx, sly, slz);
  68336. SetPlayerPos(playerid, slx, sly, slz+1.2);
  68337. TogglePlayerControllable(playerid, 1);
  68338. return 1;
  68339. }
  68340. if(PlayerInfo[playerid][pDonator] == 2 && VehicleSpawned[playerid] >= 3)
  68341. {
  68342. SendClientMessage(playerid, COLOR_GREY, "ERROR: You can only have 3 vehicles spawned at a time as Sapphire Donator. Store one vehicle in order to purchase one.");
  68343. RemovePlayerFromVehicle(playerid);
  68344. new Float:slx, Float:sly, Float:slz;
  68345. GetPlayerPos(playerid, slx, sly, slz);
  68346. SetPlayerPos(playerid, slx, sly, slz+1.2);
  68347. TogglePlayerControllable(playerid, 1);
  68348. return 1;
  68349. }
  68350. if(PlayerInfo[playerid][pDonator] == 3 && VehicleSpawned[playerid] >= 4)
  68351. {
  68352. SendClientMessage(playerid, COLOR_GREY, "ERROR: You can only have 4 vehicles spawned at a time as Diamond Donator. Store one vehicle in order to purchase one.");
  68353. RemovePlayerFromVehicle(playerid);
  68354. new Float:slx, Float:sly, Float:slz;
  68355. GetPlayerPos(playerid, slx, sly, slz);
  68356. SetPlayerPos(playerid, slx, sly, slz+1.2);
  68357. TogglePlayerControllable(playerid, 1);
  68358. return 1;
  68359. }
  68360. /*if(PlayerInfo[playerid][pDonator] == 4 && VehicleSpawned[playerid] >= 5)
  68361. {
  68362. SendClientMessage(playerid, COLOR_GREY, "ERROR: You can only have 5 vehicles spawned at a time as Undefined Donator. Store one vehicle in order to purchase one.");
  68363. RemovePlayerFromVehicle(playerid);
  68364. new Float:slx, Float:sly, Float:slz;
  68365. GetPlayerPos(playerid, slx, sly, slz);
  68366. SetPlayerPos(playerid, slx, sly, slz+1.2);
  68367. TogglePlayerControllable(playerid, 1);
  68368. return 1;
  68369. }
  68370. if(PlayerInfo[playerid][pDonator] == 5 && VehicleSpawned[playerid] >= 5)
  68371. {
  68372. SendClientMessage(playerid, COLOR_GREY, "ERROR: You can only have 5 vehicles spawned at a time as VIP Moderator. Store one vehicle in order to purchase one.");
  68373. RemovePlayerFromVehicle(playerid);
  68374. new Float:slx, Float:sly, Float:slz;
  68375. GetPlayerPos(playerid, slx, sly, slz);
  68376. SetPlayerPos(playerid, slx, sly, slz+1.2);
  68377. TogglePlayerControllable(playerid, 1);
  68378. return 1;
  68379. }*/
  68380. if(PlayerInfo[playerid][pDonator] < 0 || PlayerInfo[playerid][pDonator] > 3)
  68381. {
  68382. SendClientMessage(playerid, COLOR_GREY, "ERROR: Invalid Donator level.");
  68383. RemovePlayerFromVehicle(playerid);
  68384. new Float:slx, Float:sly, Float:slz;
  68385. GetPlayerPos(playerid, slx, sly, slz);
  68386. SetPlayerPos(playerid, slx, sly, slz+1.2);
  68387. TogglePlayerControllable(playerid, 1);
  68388. return 1;
  68389. }
  68390. new randcolor1 = Random(0, 126);
  68391. new randcolor2 = Random(0, 126);
  68392. SetPlayerPos(playerid, CarDealershipInfo[d][cdVehicleSpawn][0], CarDealershipInfo[d][cdVehicleSpawn][1], CarDealershipInfo[d][cdVehicleSpawn][2]+2);
  68393. TogglePlayerControllable(playerid, 1);
  68394. new cost;
  68395. if(PlayerInfo[playerid][pDonator] < 1)
  68396. {
  68397. cost = CarDealershipInfo[d][cdVehicleCost][v];
  68398. if(PlayerInfo[playerid][pCash] < CarDealershipInfo[d][cdVehicleCost][v])
  68399. {
  68400. SendClientMessage(playerid, COLOR_GRAD1, "ERROR: You don't have enough money to buy this.");
  68401. RemovePlayerFromVehicle(playerid);
  68402. new Float:slx, Float:sly, Float:slz;
  68403. GetPlayerPos(playerid, slx, sly, slz);
  68404. SetPlayerPos(playerid, slx, sly, slz+1.2);
  68405. return 1;
  68406. }
  68407. format(string, sizeof(string), " Thank you for buying at %s.", CarDealershipInfo[d][cdMessage]);
  68408. SendClientMessage(playerid, COLOR_GRAD1, string);
  68409. PlayerInfo[playerid][pCash] -= CarDealershipInfo[d][cdVehicleCost][v];
  68410. CarDealershipInfo[d][cdTill] += (CarDealershipInfo[d][cdVehicleCost][v] * 40) / (100);
  68411. }
  68412. else
  68413. {
  68414. cost = (CarDealershipInfo[d][cdVehicleCost][v] * 80) / (100);
  68415. if(PlayerInfo[playerid][pCash] < cost)
  68416. {
  68417. SendClientMessage(playerid, COLOR_GRAD1, "ERROR: You don't have enough money to buy this.");
  68418. RemovePlayerFromVehicle(playerid);
  68419. new Float:slx, Float:sly, Float:slz;
  68420. GetPlayerPos(playerid, slx, sly, slz);
  68421. SetPlayerPos(playerid, slx, sly, slz+1.2);
  68422. return 1;
  68423. }
  68424. if(AdminDuty[playerid] == 1)
  68425. {
  68426. SendClientMessage(playerid, COLOR_GRAD1, "ERROR: You can't buy a vehicle while on-duty as admin.");
  68427. RemovePlayerFromVehicle(playerid);
  68428. new Float:slx, Float:sly, Float:slz;
  68429. GetPlayerPos(playerid, slx, sly, slz);
  68430. SetPlayerPos(playerid, slx, sly, slz+1.2);
  68431. return 1;
  68432. }
  68433. format(string, sizeof(string), " Thank you for buying at %s.", CarDealershipInfo[d][cdMessage]);
  68434. SendClientMessage(playerid, COLOR_GRAD1, string);
  68435. PlayerInfo[playerid][pCash] -= cost;
  68436. CarDealershipInfo[d][cdTill] += cost;
  68437. }
  68438. new car = CreatePlayerVehicle(playerid, playervehicleid, CarDealershipInfo[d][cdVehicleModel][v], CarDealershipInfo[d][cdVehicleSpawn][0], CarDealershipInfo[d][cdVehicleSpawn][1], CarDealershipInfo[d][cdVehicleSpawn][2], CarDealershipInfo[d][cdVehicleSpawn][3], randcolor1, randcolor2, cost);
  68439. SetTimerEx("PutPlayerInVeh", 2000, 0, "dd", playerid, car);
  68440. SavecDealerships();
  68441. }
  68442. else
  68443. {
  68444. RemovePlayerFromVehicle(playerid);
  68445. new Float:slx, Float:sly, Float:slz;
  68446. GetPlayerPos(playerid, slx, sly, slz);
  68447. SetPlayerPos(playerid, slx, sly, slz+1.2);
  68448. TogglePlayerControllable(playerid, 1);
  68449. return 1;
  68450. }
  68451. }
  68452. else if(dialogid == DIALOG_CDSELL)
  68453. {
  68454. if(response)
  68455. {
  68456. if(GetPVarInt(playerid, "editingcd") == -1) return 1;
  68457. PlayerInfo[playerid][pCash] += (CarDealershipInfo[GetPVarInt(playerid, "editingcd")][cdPrice] / 2);
  68458. SellCarDealership(GetPVarInt(playerid, "editingcd"));
  68459. PlayerPlayMusic(playerid);
  68460. format(string, sizeof(string), "Car Dealership successfully sold for %d.", CarDealershipInfo[GetPVarInt(playerid, "editingcd")][cdPrice] / 2);
  68461. SendClientMessage(playerid, COLOR_WHITE, string);
  68462. }
  68463. else
  68464. {
  68465. SetPVarInt(playerid, "editingcd", -1);
  68466. return 1;
  68467. }
  68468. }
  68469. if(dialogid == FIGHTMENU)
  68470. {
  68471. if(response)
  68472. {
  68473. if(GetPlayerCash(playerid) >= 5000)
  68474. {
  68475. if(listitem == 0)
  68476. {
  68477. PlayerInfo[playerid][pFightStyle] = FIGHT_STYLE_BOXING;
  68478. SetPlayerFightingStyle (playerid, FIGHT_STYLE_BOXING);
  68479. SendClientMessage(playerid, COLOR_WHITE, "You're now using the boxing fighting style!");
  68480. GivePlayerCash(playerid, -5000);
  68481. }
  68482. if(listitem == 1)
  68483. {
  68484. PlayerInfo[playerid][pFightStyle] = FIGHT_STYLE_ELBOW;
  68485. SetPlayerFightingStyle (playerid, FIGHT_STYLE_ELBOW);
  68486. SendClientMessage(playerid, COLOR_WHITE, "You're now using the elbow fighting style!");
  68487. GivePlayerCash(playerid, -5000);
  68488. }
  68489. if(listitem == 2)
  68490. {
  68491. PlayerInfo[playerid][pFightStyle] = FIGHT_STYLE_KNEEHEAD;
  68492. SetPlayerFightingStyle (playerid, FIGHT_STYLE_KNEEHEAD);
  68493. SendClientMessage(playerid, COLOR_WHITE, "You're now using the kneehead fighting style!");
  68494. GivePlayerCash(playerid, -5000);
  68495. }
  68496. if(listitem == 3)
  68497. {
  68498. PlayerInfo[playerid][pFightStyle] = FIGHT_STYLE_KUNGFU;
  68499. SetPlayerFightingStyle (playerid, FIGHT_STYLE_KUNGFU);
  68500. SendClientMessage(playerid, COLOR_WHITE, "You're now using the kungfu fighting style!");
  68501. GivePlayerCash(playerid, -5000);
  68502. }
  68503. if(listitem == 4)
  68504. {
  68505. PlayerInfo[playerid][pFightStyle] = FIGHT_STYLE_GRABKICK;
  68506. SetPlayerFightingStyle (playerid, FIGHT_STYLE_GRABKICK);
  68507. SendClientMessage(playerid, COLOR_WHITE, "You're now using the grabkick fighting style!");
  68508. GivePlayerCash(playerid, -5000);
  68509. }
  68510. }
  68511. else
  68512. {
  68513. SendClientMessage(playerid, COLOR_GREY, " You do not have the cash for that!");
  68514. return 1;
  68515. }
  68516. if(listitem == 5)
  68517. {
  68518. PlayerInfo[playerid][pFightStyle] = FIGHT_STYLE_NORMAL;
  68519. SetPlayerFightingStyle (playerid, FIGHT_STYLE_NORMAL);
  68520. SendClientMessage(playerid, COLOR_WHITE, "You're now using the normal fighting style!");
  68521. return 1;
  68522. }
  68523. }
  68524. }
  68525. if(dialogid == REMOVEKEYS)
  68526. {
  68527. if(response)
  68528. {
  68529. if(PlayerVehicleInfo[playerid][listitem][pvId] == INVALID_PLAYER_VEHICLE_ID) {
  68530. SendClientMessage(playerid, COLOR_GRAD2, "You can't remove the keys of a non-existent, impounded vehicle or stored vehicle.");
  68531. return 1;
  68532. }
  68533. if(PlayerVehicleInfo[playerid][listitem][pvAllowedPlayerId] != PlayerVehicleInfo[playerid][listitem][pvAllowedPlayerId])
  68534. {
  68535. SendClientMessage(playerid, COLOR_GRAD2, "This player doesn't have the keys of this car.");
  68536. return 1;
  68537. }
  68538. if(PlayerVehicleInfo[playerid][listitem][pvAllowedPlayerId] == INVALID_PLAYER_ID)
  68539. {
  68540. SendClientMessage(playerid, COLOR_GRAD2, "You have not given anyone the keys for this car.");
  68541. return 1;
  68542. }
  68543. PlayerInfo[PlayerVehicleInfo[playerid][listitem][pvAllowedPlayerId]][pVehicleKeys] = INVALID_PLAYER_VEHICLE_ID;
  68544. PlayerInfo[PlayerVehicleInfo[playerid][listitem][pvAllowedPlayerId]][pVehicleKeysFrom] = INVALID_PLAYER_ID;
  68545. format(string, sizeof(string), "%s has taken the keys of their %s.", GetPlayerNameEx(playerid), GetVehicleName(PlayerVehicleInfo[playerid][listitem][pvId]));
  68546. SendClientMessage(PlayerVehicleInfo[playerid][listitem][pvAllowedPlayerId], COLOR_GRAD2, string);
  68547. format(string, sizeof(string), "You took the keys of your %s from %s.", GetVehicleName(PlayerVehicleInfo[playerid][listitem][pvId]),GetPlayerNameEx(PlayerVehicleInfo[playerid][listitem][pvAllowedPlayerId]));
  68548. SendClientMessage(playerid, COLOR_GRAD2, string);
  68549. PlayerVehicleInfo[playerid][listitem][pvAllowedPlayerId] = INVALID_PLAYER_ID;
  68550. }
  68551. }
  68552. if(dialogid == GIVEKEYS)
  68553. {
  68554. if(response)
  68555. {
  68556. if(PlayerVehicleInfo[playerid][listitem][pvId] == INVALID_PLAYER_VEHICLE_ID) {
  68557. SendClientMessage(playerid, COLOR_GRAD2, "You can't give out keys to a non-existent, impounded vehicle or stored vehicle.");
  68558. GiveKeysTo[playerid] = INVALID_PLAYER_ID;
  68559. return 1;
  68560. }
  68561. if(PlayerVehicleInfo[playerid][listitem][pvAllowedPlayerId] != INVALID_PLAYER_ID)
  68562. {
  68563. SendClientMessage(playerid, COLOR_GRAD2, "You already gave someone the keys of this car.");
  68564. GiveKeysTo[playerid] = INVALID_PLAYER_ID;
  68565. return 1;
  68566. }
  68567. if(PlayerInfo[GiveKeysTo[playerid]][pVehicleKeysFrom] != INVALID_PLAYER_ID)
  68568. {
  68569. SendClientMessage(playerid, COLOR_GRAD2, "That player already has keys from a different car.");
  68570. GiveKeysTo[playerid] = INVALID_PLAYER_ID;
  68571. return 1;
  68572. }
  68573. PlayerVehicleInfo[playerid][listitem][pvAllowedPlayerId] = GiveKeysTo[playerid];
  68574. PlayerInfo[GiveKeysTo[playerid]][pVehicleKeys] = listitem;
  68575. PlayerInfo[GiveKeysTo[playerid]][pVehicleKeysFrom] = playerid;
  68576. format(string, sizeof(string), "%s has given you the keys for their %s.", GetPlayerNameEx(playerid), GetVehicleName(PlayerVehicleInfo[playerid][listitem][pvId]));
  68577. SendClientMessage(GiveKeysTo[playerid], COLOR_GRAD2, string);
  68578. format(string, sizeof(string), "You gave %s the keys for your %s.", GetPlayerNameEx(GiveKeysTo[playerid]), GetVehicleName(PlayerVehicleInfo[playerid][listitem][pvId]));
  68579. SendClientMessage(playerid, COLOR_GRAD2, string);
  68580. GiveKeysTo[playerid] = INVALID_PLAYER_ID;
  68581. }
  68582. }
  68583. if(dialogid == MPSPAYTICKETSCOP)
  68584. {
  68585. if(response)
  68586. {
  68587. new
  68588. szMessage[128],
  68589. iTargetID = GetPVarInt(playerid, "vRel");
  68590. if(PlayerVehicleInfo[iTargetID][listitem][pvTicket]) {
  68591. format(szMessage, sizeof(szMessage), "You have paid the $%d ticket on %s's %s.", PlayerVehicleInfo[iTargetID][listitem][pvTicket], GetPlayerNameEx(iTargetID), VehicleName[PlayerVehicleInfo[iTargetID][listitem][pvModelId] - 400]);
  68592. SendClientMessage(playerid, COLOR_GRAD2, szMessage);
  68593. format(szMessage, sizeof(szMessage), "%s has paid all tickets on your %s (%i).", GetPlayerNameEx(playerid), VehicleName[PlayerVehicleInfo[iTargetID][listitem][pvModelId] - 400], PlayerVehicleInfo[iTargetID][listitem][pvTicket]);
  68594. SendClientMessage(iTargetID, COLOR_LIGHTBLUE, szMessage);
  68595. PlayerVehicleInfo[iTargetID][listitem][pvTicket] = 0;
  68596. }
  68597. else if(PlayerVehicleInfo[iTargetID][listitem][pvImpounded])
  68598. {
  68599. if(PlayerInfo[iTargetID][pDonator] == 0 && VehicleSpawned[iTargetID] >= 1)
  68600. {
  68601. SendClientMessage(playerid, COLOR_GREY, "That player has too many vehicles out of storage for this vehicle to be released.");
  68602. return 1;
  68603. }
  68604. if(PlayerInfo[iTargetID][pDonator] == 1 && VehicleSpawned[iTargetID] >= 1)
  68605. {
  68606. SendClientMessage(playerid, COLOR_GREY, "That player has too many vehicles out of storage for this vehicle to be released.");
  68607. return 1;
  68608. }
  68609. if(PlayerInfo[iTargetID][pDonator] == 2 && VehicleSpawned[iTargetID] >= 2)
  68610. {
  68611. SendClientMessage(playerid, COLOR_GREY, "That player has too many vehicles out of storage for this vehicle to be released.");
  68612. return 1;
  68613. }
  68614. if(PlayerInfo[iTargetID][pDonator] == 3 && VehicleSpawned[iTargetID] >= 3)
  68615. {
  68616. SendClientMessage(playerid, COLOR_GREY, "That player has too many vehicles out of storage for this vehicle to be released.");
  68617. return 1;
  68618. }
  68619. if(PlayerInfo[iTargetID][pDonator] == 4 && VehicleSpawned[iTargetID] >= 5)
  68620. {
  68621. SendClientMessage(playerid, COLOR_GREY, "That player has too many vehicles out of storage for this vehicle to be released.");
  68622. return 1;
  68623. }
  68624. if(PlayerInfo[iTargetID][pDonator] == 5 && VehicleSpawned[iTargetID] >= 5)
  68625. {
  68626. SendClientMessage(playerid, COLOR_GREY, "That player has too many vehicles out of storage for this vehicle to be released.");
  68627. return 1;
  68628. }
  68629. if(PlayerInfo[iTargetID][pDonator] < 0 || PlayerInfo[iTargetID][pDonator] > 5)
  68630. {
  68631. SendClientMessage(playerid, COLOR_GREY, "That player has too many vehicles out of storage for this vehicle to be released.");
  68632. return 1;
  68633. }
  68634. format(szMessage, sizeof(szMessage), "You have released %s's %s.", GetPlayerNameEx(iTargetID), VehicleName[PlayerVehicleInfo[iTargetID][listitem][pvModelId] - 400]);
  68635. SendClientMessage(playerid, COLOR_LIGHTBLUE, szMessage);
  68636. format(szMessage, sizeof(szMessage), "%s has released your %s from the impound.", GetPlayerNameEx(playerid), VehicleName[PlayerVehicleInfo[iTargetID][listitem][pvModelId] - 400]);
  68637. SendClientMessage(iTargetID, COLOR_LIGHTBLUE, szMessage);
  68638. format(szMessage, sizeof(szMessage), "HQ: %s has released %s's %s from the impound.", GetPlayerNameEx(playerid), GetPlayerNameEx(iTargetID), VehicleName[PlayerVehicleInfo[iTargetID][listitem][pvModelId] - 400]);
  68639. SendRadioMessage(PlayerInfo[playerid][pFaction], RADIO, szMessage);
  68640. PlayerVehicleInfo[iTargetID][listitem][pvImpounded] = 0;
  68641. PlayerVehicleInfo[playerid][listitem][pvSpawned] = 1;
  68642. PlayerVehicleInfo[iTargetID][listitem][pvPosX] = 813.8251;
  68643. PlayerVehicleInfo[iTargetID][listitem][pvPosY] = -601.5270;
  68644. PlayerVehicleInfo[iTargetID][listitem][pvPosZ] = 16.0430;
  68645. PlayerVehicleInfo[iTargetID][listitem][pvPosAngle] = 89.0223;
  68646. PlayerVehicleInfo[iTargetID][listitem][pvTicket] = 0;
  68647. VehicleSpawned[iTargetID]++;
  68648. ++PlayerCars;
  68649. PlayerVehicleInfo[iTargetID][listitem][pvId] = CreateVehicle(PlayerVehicleInfo[iTargetID][listitem][pvModelId], PlayerVehicleInfo[iTargetID][listitem][pvPosX], PlayerVehicleInfo[iTargetID][listitem][pvPosY], PlayerVehicleInfo[iTargetID][listitem][pvPosZ], PlayerVehicleInfo[iTargetID][listitem][pvPosAngle],PlayerVehicleInfo[iTargetID][listitem][pvColor1], PlayerVehicleInfo[iTargetID][listitem][pvColor2], -1);
  68650. //VehicleFuel[PlayerVehicleInfo[iTargetID][listitem][pvId]] = PlayerVehicleInfo[iTargetID][listitem][pvFuel];
  68651. if(PlayerVehicleInfo[iTargetID][listitem][pvLocked] == 1) LockPlayerVehicle(iTargetID, PlayerVehicleInfo[iTargetID][listitem][pvId], PlayerVehicleInfo[iTargetID][listitem][pvLock]);
  68652. LoadPlayerVehicleMods(iTargetID, listitem);
  68653. }
  68654. else SendClientMessage(playerid, COLOR_GRAD2, "This vehicle either does not exist, or does not need to be released or have its tickets paid.");
  68655. }
  68656. return 1;
  68657. }
  68658. if(dialogid == MPSPAYTICKETS)
  68659. {
  68660. if(response)
  68661. {
  68662. new
  68663. szMessage[128];
  68664. if(PlayerInfo[playerid][pWantedLevel] != 0)
  68665. {
  68666. format(szMessage, sizeof(szMessage), "%s has attempted to pay/release their vehicles with %i active warrant(s).", GetPlayerNameEx(playerid), PlayerInfo[playerid][pWantedLevel]);
  68667. SendRadioMessage(1, DEPTRADIO, szMessage);
  68668. SendRadioMessage(2, DEPTRADIO, szMessage);
  68669. return SendClientMessage(playerid, COLOR_YELLOW, "The police has been warned that you're wanted, and are on their way.");
  68670. }
  68671. if(PlayerVehicleInfo[playerid][listitem][pvTicket]) {
  68672. if(GetPlayerCash(playerid) < PlayerVehicleInfo[playerid][listitem][pvTicket]) {
  68673. return SendClientMessage(playerid, COLOR_GRAD2, "You don't have enough money on you to pay the ticket.");
  68674. }
  68675. GivePlayerCash(playerid, -PlayerVehicleInfo[playerid][listitem][pvTicket]);
  68676. format(szMessage, sizeof(szMessage), "You have paid the $%d ticket on your %s.", PlayerVehicleInfo[playerid][listitem][pvTicket], VehicleName[PlayerVehicleInfo[playerid][listitem][pvModelId] - 400]);
  68677. SendClientMessage(playerid, COLOR_GRAD2, szMessage);
  68678. PlayerVehicleInfo[playerid][listitem][pvTicket] = 0;
  68679. }
  68680. else if(PlayerVehicleInfo[playerid][listitem][pvImpounded]) {
  68681. new iCost = (PlayerVehicleInfo[playerid][listitem][pvPrice] / 10) + PlayerVehicleInfo[playerid][listitem][pvTicket] + (PlayerInfo[playerid][pLevel] * 10);
  68682. if(iCost > 10000)
  68683. {
  68684. iCost = 1000;
  68685. }
  68686. if(GetPlayerCash(playerid) < iCost) {
  68687. return SendClientMessage(playerid, COLOR_GRAD2, "You don't have enough money on you.");
  68688. }
  68689. if(PlayerInfo[playerid][pDonator] == 0 && VehicleSpawned[playerid] >= 1)
  68690. {
  68691. SendClientMessage(playerid, COLOR_GREY, "As non-donator you can only have 1 vehicle spawned. You must store a vehicle in order to spawn another one.");
  68692. return 1;
  68693. }
  68694. if(PlayerInfo[playerid][pDonator] == 1 && VehicleSpawned[playerid] >= 2)
  68695. {
  68696. SendClientMessage(playerid, COLOR_GREY, "As Ruby Donator you can only have 2 vehicles spawned. You must store a vehicle in order to spawn another one.");
  68697. return 1;
  68698. }
  68699. if(PlayerInfo[playerid][pDonator] == 2 && VehicleSpawned[playerid] >= 3)
  68700. {
  68701. SendClientMessage(playerid, COLOR_GREY, "As Sapphire Donator you can only have 3 vehicles spawned. You must store a vehicle in order to spawn another one.");
  68702. return 1;
  68703. }
  68704. if(PlayerInfo[playerid][pDonator] == 3 && VehicleSpawned[playerid] >= 4)
  68705. {
  68706. SendClientMessage(playerid, COLOR_GREY, "As Diamond Donator you can only have 4 vehicles spawned. You must store a vehicle in order to spawn another one.");
  68707. return 1;
  68708. }
  68709. /*if(PlayerInfo[playerid][pDonator] == 4 && VehicleSpawned[playerid] >= 5)
  68710. {
  68711. SendClientMessage(playerid, COLOR_GREY, "As Undefined Donator you can only have 5 vehicles spawned. You must store a vehicle in order to spawn another one.");
  68712. return 1;
  68713. }
  68714. if(PlayerInfo[playerid][pDonator] == 5 && VehicleSpawned[playerid] >= 5)
  68715. {
  68716. SendClientMessage(playerid, COLOR_GREY, "As VIP Moderator you can only have 5 vehicles spawned. You must store a vehicle in order to spawn another one.");
  68717. return 1;
  68718. }*/
  68719. if(PlayerInfo[playerid][pDonator] < 0 || PlayerInfo[playerid][pDonator] > 3)
  68720. {
  68721. SendClientMessage(playerid, COLOR_GREY, "You have an invalid Donator level.");
  68722. return 1;
  68723. }
  68724. format(szMessage, sizeof(szMessage), "You have released your %s for $%i.", VehicleName[PlayerVehicleInfo[playerid][listitem][pvModelId] - 400], iCost);
  68725. SendClientMessage(playerid, COLOR_LIGHTBLUE, szMessage);
  68726. GivePlayerCash(playerid, -iCost);
  68727. PlayerVehicleInfo[playerid][listitem][pvImpounded] = 0;
  68728. PlayerVehicleInfo[playerid][listitem][pvSpawned] = 1;
  68729. PlayerVehicleInfo[playerid][listitem][pvPosX] = 813.8251;
  68730. PlayerVehicleInfo[playerid][listitem][pvPosY] = -601.5270;
  68731. PlayerVehicleInfo[playerid][listitem][pvPosZ] = 16.0430;
  68732. PlayerVehicleInfo[playerid][listitem][pvPosAngle] = 89.0223;
  68733. PlayerVehicleInfo[playerid][listitem][pvTicket] = 0;
  68734. VehicleSpawned[playerid]++;
  68735. ++PlayerCars;
  68736. PlayerVehicleInfo[playerid][listitem][pvId] = CreateVehicle(PlayerVehicleInfo[playerid][listitem][pvModelId], PlayerVehicleInfo[playerid][listitem][pvPosX], PlayerVehicleInfo[playerid][listitem][pvPosY], PlayerVehicleInfo[playerid][listitem][pvPosZ], PlayerVehicleInfo[playerid][listitem][pvPosAngle],PlayerVehicleInfo[playerid][listitem][pvColor1], PlayerVehicleInfo[playerid][listitem][pvColor2], -1);
  68737. //VehicleFuel[PlayerVehicleInfo[playerid][listitem][pvId]] = PlayerVehicleInfo[playerid][listitem][pvFuel];
  68738. if(PlayerVehicleInfo[playerid][listitem][pvLocked] == 1) LockPlayerVehicle(playerid, PlayerVehicleInfo[playerid][listitem][pvId], PlayerVehicleInfo[playerid][listitem][pvLock]);
  68739. LoadPlayerVehicleMods(playerid, listitem);
  68740. }
  68741. else SendClientMessage(playerid, COLOR_GRAD2, "This vehicle either does not exist, or does not need to be released or have its tickets paid.");
  68742. }
  68743. return 1;
  68744. }
  68745. if(dialogid == GOTOPLAYERCAR)
  68746. {
  68747. if(response == 1)
  68748. {
  68749. for(new i = 0; i < MAX_PLAYERVEHICLES; i++)
  68750. {
  68751. if(listitem == i)
  68752. {
  68753. new Float: carPos[3], id = GetPVarInt(playerid, "playeraffectedcarTP");
  68754. if(PlayerVehicleInfo[id][i][pvId] > INVALID_PLAYER_VEHICLE_ID)
  68755. {
  68756. GetVehiclePos(PlayerVehicleInfo[id][i][pvId], carPos[0], carPos[1], carPos[2]);
  68757. SetPlayerVirtualWorld(playerid,GetVehicleVirtualWorld(PlayerVehicleInfo[id][i][pvId]));
  68758. SetPlayerInterior(playerid,0);
  68759. SetPlayerPos(playerid, carPos[0], carPos[1], carPos[2]);
  68760. }
  68761. else
  68762. {
  68763. SendClientMessage(playerid, COLOR_WHITE, "You can't teleport to an empty, disabled or impounded slot.");
  68764. }
  68765. }
  68766. }
  68767. }
  68768. }
  68769. if(dialogid == VEHICLESTORAGE && response) {
  68770. if(PlayerVehicleInfo[playerid][listitem][pvSpawned])
  68771. {
  68772. new
  68773. Float: vehiclehealth;
  68774. GetVehicleHealth(PlayerVehicleInfo[playerid][listitem][pvId], vehiclehealth);
  68775. if(vehiclehealth < 750)
  68776. {
  68777. SendClientMessage(playerid, COLOR_WHITE, "This vehicle is too damaged to be stored.");
  68778. }
  68779. else {
  68780. --PlayerCars;
  68781. VehicleSpawned[playerid]--;
  68782. PlayerVehicleInfo[playerid][listitem][pvSpawned] = 0;
  68783. DestroyVehicle(PlayerVehicleInfo[playerid][listitem][pvId]);
  68784. VehicleRadioStation[PlayerVehicleInfo[playerid][listitem][pvId]] = 0;
  68785. PlayerVehicleInfo[playerid][listitem][pvId] = INVALID_PLAYER_VEHICLE_ID;
  68786. new vstring[128];
  68787. format(vstring, sizeof(vstring), "You have stored your %s. The vehicle has been despawned.", VehicleName[PlayerVehicleInfo[playerid][listitem][pvModelId] - 400]);
  68788. SendClientMessage(playerid, COLOR_WHITE, vstring);
  68789. }
  68790. }
  68791. else if(PlayerVehicleInfo[playerid][listitem][pvModelId] == 0) {
  68792. SendClientMessage(playerid, COLOR_WHITE, "You can't spawn an non-existant vehicle.");
  68793. }
  68794. else if(PlayerVehicleInfo[playerid][listitem][pvImpounded]) {
  68795. SendClientMessage(playerid, COLOR_WHITE, "You can't spawn an impounded vehicle. If you wish to reclaim it, do so at the DMV in Dillimore.");
  68796. }
  68797. else if(PlayerVehicleInfo[playerid][listitem][pvDisabled] == 1) {
  68798. SendClientMessage(playerid, COLOR_WHITE, "You can't spawn a disabled vehicle. It is disabled due to your Donator level (vehicle restrictions).");
  68799. }
  68800. else if(PlayerVehicleInfo[playerid][listitem][pvSpawned] == 0) {
  68801. if(PlayerInfo[playerid][pDonator] == 0 && VehicleSpawned[playerid] >= 1) {
  68802. SendClientMessage(playerid, COLOR_GREY, "As non-donator you can only have 1 vehicle spawned. You must store a vehicle in order to spawn another one.");
  68803. }
  68804. else if(PlayerInfo[playerid][pDonator] == 1 && VehicleSpawned[playerid] >= 2) {
  68805. SendClientMessage(playerid, COLOR_GREY, "As Ruby Donator you can only have 2 vehicles spawned. You must store a vehicle in order to spawn another one.");
  68806. }
  68807. else if(PlayerInfo[playerid][pDonator] == 2 && VehicleSpawned[playerid] >= 3) {
  68808. SendClientMessage(playerid, COLOR_GREY, "As Sapphire Donator you can only have 3 vehicles spawned. You must store a vehicle in order to spawn another one.");
  68809. }
  68810. else if(PlayerInfo[playerid][pDonator] == 3 && VehicleSpawned[playerid] >= 4) {
  68811. SendClientMessage(playerid, COLOR_GREY, "As Diamond Donator you can only have 4 vehicles spawned. You must store a vehicle in order to spawn another one.");
  68812. }
  68813. /*else if(PlayerInfo[playerid][pDonator] == 4 && VehicleSpawned[playerid] >= 5) {
  68814. SendClientMessage(playerid, COLOR_GREY, "As Undefined Donator you can only have 5 vehicles spawned. You must store a vehicle in order to spawn another one.");
  68815. }
  68816. else if(PlayerInfo[playerid][pDonator] == 5 && VehicleSpawned[playerid] >= 5){
  68817. SendClientMessage(playerid, COLOR_GREY, "As VIP Moderator you can only have 5 vehicles spawned. You must store a vehicle in order to spawn another one.");
  68818. }*/
  68819. else if(!(0 <= PlayerInfo[playerid][pDonator] <= 3)) {
  68820. SendClientMessage(playerid, COLOR_GREY, "You have an invalid Donator level.");
  68821. }
  68822. else {
  68823. ++PlayerCars;
  68824. VehicleSpawned[playerid]++;
  68825. PlayerVehicleInfo[playerid][listitem][pvSpawned] = 1;
  68826. PlayerVehicleInfo[playerid][listitem][pvId] = CreateVehicle(PlayerVehicleInfo[playerid][listitem][pvModelId], PlayerVehicleInfo[playerid][listitem][pvPosX], PlayerVehicleInfo[playerid][listitem][pvPosY], PlayerVehicleInfo[playerid][listitem][pvPosZ], PlayerVehicleInfo[playerid][listitem][pvPosAngle],PlayerVehicleInfo[playerid][listitem][pvColor1], PlayerVehicleInfo[playerid][listitem][pvColor2], -1);
  68827. //VehicleFuel[PlayerVehicleInfo[playerid][listitem][pvId]] = PlayerVehicleInfo[playerid][listitem][pvFuel];
  68828. if(PlayerVehicleInfo[playerid][listitem][pvLocked] == 1) LockPlayerVehicle(playerid, PlayerVehicleInfo[playerid][listitem][pvId], PlayerVehicleInfo[playerid][listitem][pvLock]);
  68829. if(strlen(PlayerVehicleInfo[playerid][listitem][pvNumberPlate]) > 0)
  68830. SetVehicleNumberPlate(PlayerVehicleInfo[playerid][listitem][pvId], PlayerVehicleInfo[playerid][listitem][pvNumberPlate]);
  68831. LoadPlayerVehicleMods(playerid, listitem);
  68832. new vstring[128];
  68833. format(vstring, sizeof(vstring), "You have taken your %s out of storage. The vehicle has been spawned at the last parking location.", VehicleName[PlayerVehicleInfo[playerid][listitem][pvModelId] - 400]);
  68834. SendClientMessage(playerid, COLOR_WHITE, vstring);
  68835. }
  68836. }
  68837. else SendClientMessage(playerid, COLOR_WHITE, "You can't spawn a non-existent vehicle.");
  68838. }
  68839. if(dialogid == TRACKCAR && response) {
  68840. new Float: carPos[3];
  68841. if(PlayerVehicleInfo[playerid][listitem][pvId] > INVALID_PLAYER_VEHICLE_ID)
  68842. {
  68843. GetVehiclePos(PlayerVehicleInfo[playerid][listitem][pvId], carPos[0], carPos[1], carPos[2]);
  68844. if(CheckPointCheck(playerid))
  68845. {
  68846. SendClientMessage(playerid, COLOR_WHITE, "Please ensure that your current checkpoint is destroyed first with /killcheckpoint (you either have material packages, or another existing checkpoint).");
  68847. }
  68848. else
  68849. {
  68850. SetPVarInt(playerid, "TrackCar", 1);
  68851. new zone[MAX_ZONE_NAME];
  68852. Get3DZone(carPos[0], carPos[1], carPos[2], zone, sizeof(zone));
  68853. format(string, sizeof(string), "Your vehicle is located in %s.", zone);
  68854. SendClientMessage(playerid, COLOR_YELLOW, string);
  68855. SetPlayerCheckpoint(playerid, carPos[0], carPos[1], carPos[2], 15.0);
  68856. SendClientMessage(playerid, COLOR_WHITE, "Hint: Make your way to the checkpoint to find your vehicle!");
  68857. }
  68858. }
  68859. else if(PlayerVehicleInfo[playerid][listitem][pvImpounded]) SendClientMessage(playerid, COLOR_WHITE, "You can't track an impounded vehicle. If you wish to reclaim it, do so at the DMV in Dillimore.");
  68860. else if(PlayerVehicleInfo[playerid][listitem][pvDisabled] == 1) SendClientMessage(playerid, COLOR_WHITE, "You can't track a disabled vehicle. It is disabled due to your Donator level (vehicle restrictions).");
  68861. else if(PlayerVehicleInfo[playerid][listitem][pvSpawned] == 0 && PlayerVehicleInfo[playerid][listitem][pvModelId] != 0) SendClientMessage(playerid, COLOR_WHITE, "You can't track a stored vehicle. Use /vstorage to spawn it.");
  68862. else SendClientMessage(playerid, COLOR_WHITE, "You can't track a non-existent vehicle.");
  68863. }
  68864. else if(dialogid == GTRACKCAR)
  68865. {
  68866. if(response == 1)
  68867. {
  68868. for(new i = 0; i < MAX_GANG_VEHICLES; i++)
  68869. {
  68870. if(listitem == i)
  68871. {
  68872. new Float: carPos[3];
  68873. new Family = PlayerInfo[playerid][pGang];
  68874. if(FamilyVehicleInfo[Family][i][fvId] != INVALID_VEHICLE_ID)
  68875. {
  68876. GetVehiclePos(FamilyVehicleInfo[Family][i][fvId], carPos[0], carPos[1], carPos[2]);
  68877. if(CheckPointCheck(playerid))
  68878. {
  68879. SendClientMessage(playerid, COLOR_WHITE, "Please ensure that your current checkpoint is destroyed first with /killcheckpoint (you either have material packages, or another existing checkpoint).");
  68880. }
  68881. else
  68882. {
  68883. SetPVarInt(playerid, "TrackCar", 1);
  68884. new zone[MAX_ZONE_NAME];
  68885. Get3DZone(carPos[0], carPos[1], carPos[2], zone, sizeof(zone));
  68886. format(string, sizeof(string), "Your vehicle is located in %s.", zone);
  68887. SendClientMessage(playerid, COLOR_YELLOW, string);
  68888. SetPlayerCheckpoint(playerid, carPos[0], carPos[1], carPos[2], 15.0);
  68889. SendClientMessage(playerid, COLOR_WHITE, "Hint: Make your way to the checkpoint to find your car!");
  68890. }
  68891. }
  68892. else
  68893. {
  68894. SendClientMessage(playerid, COLOR_WHITE, "You can't track a vehicle in a empty slot.");
  68895. }
  68896. }
  68897. }
  68898. }
  68899. }
  68900. if(dialogid == UNMODCARMENU)
  68901. {
  68902. if(response)
  68903. {
  68904. new count = GetPVarInt(playerid, "modCount");
  68905. new d;
  68906. for(new z = 0 ; z < MAX_PLAYERVEHICLES; z++)
  68907. {
  68908. if(IsPlayerInVehicle(playerid, PlayerVehicleInfo[playerid][z][pvId]))
  68909. {
  68910. d = z;
  68911. break;
  68912. }
  68913. }
  68914. for (new i = 0; i < count; i++)
  68915. {
  68916. if(listitem == i)
  68917. {
  68918. format(string, sizeof(string), "partList%i", i);
  68919. new partID = GetPVarInt(playerid, string);
  68920. if(partID == 999)
  68921. {
  68922. for(new f = 0 ; f < MAX_MODS; f++)
  68923. {
  68924. SetPVarInt(playerid, "unMod", 1);
  68925. RemoveVehicleComponent(PlayerVehicleInfo[playerid][d][pvId], GetVehicleComponentInSlot(PlayerVehicleInfo[playerid][d][pvId], f));
  68926. PlayerVehicleInfo[playerid][d][pvMods][f] = 0;
  68927. }
  68928. SendClientMessage(playerid, COLOR_WHITE, "All modifications have been removed from your vehicle.");
  68929. return 1;
  68930. }
  68931. SetPVarInt(playerid, "unMod", 1);
  68932. RemoveVehicleComponent(GetPlayerVehicleID(playerid), partID);
  68933. PlayerVehicleInfo[playerid][d][pvMods][GetVehicleComponentType(partID)] = 0;
  68934. SendClientMessage(playerid, COLOR_WHITE, "The modification you requested has been removed.");
  68935. return 1;
  68936. }
  68937. }
  68938. }
  68939. }
  68940. else if(dialogid == DIALOG_CDLOCKBUY)
  68941. {
  68942. if(response)
  68943. {
  68944. if(listitem == 0)
  68945. {
  68946. if(GetPlayerVehicleCount(playerid) != 0)
  68947. {
  68948. if(PlayerInfo[playerid][pCash] < 1000)
  68949. {
  68950. SendClientMessage(playerid, COLOR_GRAD2, " Not enough money!");
  68951. return 1;
  68952. }
  68953. SetPVarInt(playerid, "lockmenu", 1);
  68954. for(new i=0; i<MAX_PLAYERVEHICLES; i++)
  68955. {
  68956. if(PlayerVehicleInfo[playerid][i][pvId] != INVALID_PLAYER_VEHICLE_ID)
  68957. {
  68958. format(string, sizeof(string), "Vehicle %d| Name: %s.",i+1,GetVehicleName(PlayerVehicleInfo[playerid][i][pvId]));
  68959. SendClientMessage(playerid, COLOR_WHITE, string);
  68960. }
  68961. }
  68962. ShowPlayerDialogEx(playerid, DIALOG_CDLOCKMENU, DIALOG_STYLE_INPUT, "24-7;"," Select a vehicle you wish to install this on:", "Select", "Cancel");
  68963. }
  68964. else
  68965. {
  68966. SendClientMessage(playerid, COLOR_WHITE, "You don't have any cars - where we can install this item?");
  68967. return 1;
  68968. }
  68969. }
  68970. if(listitem == 1)
  68971. {
  68972. if(GetPlayerVehicleCount(playerid) != 0)
  68973. {
  68974. if(PlayerInfo[playerid][pCash] < 5000)
  68975. {
  68976. SendClientMessage(playerid, COLOR_GRAD2, " Not enough money!");
  68977. return 1;
  68978. }
  68979. SetPVarInt(playerid, "lockmenu", 2);
  68980. for(new i=0; i<MAX_PLAYERVEHICLES; i++)
  68981. {
  68982. if(PlayerVehicleInfo[playerid][i][pvId] != INVALID_PLAYER_VEHICLE_ID)
  68983. {
  68984. format(string, sizeof(string), "Vehicle %d | Name: %s.",i+1,GetVehicleName(PlayerVehicleInfo[playerid][i][pvId]));
  68985. SendClientMessage(playerid, COLOR_WHITE, string);
  68986. }
  68987. }
  68988. ShowPlayerDialogEx(playerid, DIALOG_CDLOCKMENU, DIALOG_STYLE_INPUT, "24-7;"," Select a vehicle you wish to install this on:", "Select", "Cancel");
  68989. }
  68990. else
  68991. {
  68992. SendClientMessage(playerid, COLOR_WHITE, "You don't have any cars - where we can install this item?");
  68993. return 1;
  68994. }
  68995. }
  68996. }
  68997. }
  68998. if(dialogid == DIALOG_CDLOCKMENU)
  68999. {
  69000. if(response)
  69001. {
  69002. if(GetPVarInt(playerid, "lockmenu") == 1)
  69003. {
  69004. new pvid;
  69005. if(IsNumeric(inputtext))
  69006. {
  69007. pvid = strval(inputtext)-1;
  69008. if(PlayerVehicleInfo[playerid][pvid][pvId] == INVALID_PLAYER_VEHICLE_ID)
  69009. {
  69010. SendClientMessage(playerid, COLOR_GRAD4, "ERROR: You don't have a vehicle in this slot.");
  69011. SetPVarInt(playerid, "lockmenu", 0);
  69012. return 1;
  69013. }
  69014. if(PlayerVehicleInfo[playerid][pvid][pvLock] == 1)
  69015. {
  69016. SendClientMessage(playerid, COLOR_GRAD4, "ERROR: You already have this item installed on this vehicle.");
  69017. SetPVarInt(playerid, "lockmenu", 0);
  69018. return 1;
  69019. }
  69020. format(string, sizeof(string), " You have purchased an alarm lock!");
  69021. SendClientMessage(playerid, COLOR_GRAD4, string);
  69022. SendClientMessage(playerid, COLOR_YELLOW, "HINT: You can now use /pvlock to lock your car.");
  69023. PlayerInfo[playerid][pCash] -= 1000;
  69024. PlayerVehicleInfo[playerid][pvid][pvLock] = 1;
  69025. SetPVarInt(playerid, "lockmenu", 0);
  69026. }
  69027. }
  69028. else if(GetPVarInt(playerid, "lockmenu") == 2)
  69029. {
  69030. new pvid;
  69031. if(IsNumeric(inputtext))
  69032. {
  69033. pvid = strval(inputtext)-1;
  69034. if(PlayerVehicleInfo[playerid][pvid][pvId] == INVALID_PLAYER_VEHICLE_ID)
  69035. {
  69036. SendClientMessage(playerid, COLOR_GRAD4, "ERROR: You don't have a vehicle in this slot.");
  69037. SetPVarInt(playerid, "lockmenu", 0);
  69038. return 1;
  69039. }
  69040. if(PlayerVehicleInfo[playerid][pvid][pvLock] == 2)
  69041. {
  69042. SendClientMessage(playerid, COLOR_GRAD4, "ERROR: You already have this item installed on this vehicle.");
  69043. SetPVarInt(playerid, "lockmenu", 0);
  69044. return 1;
  69045. }
  69046. format(string, sizeof(string), " You have Purchased an industrial lock!");
  69047. SendClientMessage(playerid, COLOR_GRAD4, string);
  69048. SendClientMessage(playerid, COLOR_YELLOW, "HINT: You can now use /pvlock to lock your car.");
  69049. PlayerInfo[playerid][pCash] -= 5000;
  69050. PlayerVehicleInfo[playerid][pvid][pvLock] = 2;
  69051. SetPVarInt(playerid, "lockmenu", 0);
  69052. }
  69053. }
  69054. }
  69055. }
  69056. if(dialogid == 7483) // VIP Menu
  69057. {
  69058. if(response)
  69059. {
  69060. if(listitem == 0)
  69061. {
  69062. ShowPlayerDialogEx(playerid, 7487, DIALOG_STYLE_LIST, "{AAC5E3}Choose a job", "{FFFFFF}Detective\nLawyer\nWhore\nDrug Dealer\nCar Mechanic\nBodyguard\nArms Dealer\nBoxer\nDrug Smuggler\nTaxi Driver\nCraftsman\nBartender\nTrucker\nPizza Boy\nGarbageman\nMiner", "Select", "Cancel");
  69063. }
  69064. if(listitem == 1)
  69065. {
  69066. if(PlayerInfo[playerid][pDonator] < 1)
  69067. {
  69068. ShowPlayerDialogEx(playerid, 7485, DIALOG_STYLE_INPUT, "Skin Selection","Please enter a Skin ID!\n\nNote: Skin Changes cost $250.", "Buy", "Cancel");
  69069. }
  69070. else
  69071. {
  69072. ShowModelSelectionMenu(playerid, skinlist, "Donator Skins");
  69073. }
  69074. }
  69075. if(listitem == 2)
  69076. {
  69077. ShowPlayerDialogEx(playerid, 7484, DIALOG_STYLE_LIST, "{AAC5E3}Black Market", "{FFFFFF}Deagle ($1,000) \nSpas-12 ($2,750) \nM4 ($1,750) \nKevlar Vest ($350) \nFirst aid kit ($250) \nSniper ($3,250) \nFull Set ($8,750) ", "OK", "Cancel");
  69078. }
  69079. if(listitem == 3)
  69080. {
  69081. ShowPlayerDialogEx(playerid, 7486, DIALOG_STYLE_MSGBOX, "{AAC5E3}Donator Toys", "{FFFFFF}Welcome to the donator toys locker!","Continue", "Cancel");
  69082. }
  69083. if(listitem == 4)
  69084. {
  69085. PlayerInfo[playerid][pSpawnMC] = 1;
  69086. SendClientMessageEx(playerid, COLOR_LIGHTSLATEGRAY, "Donator: You will now respawn at the Maximus Club instead.");
  69087. }
  69088. }
  69089. }
  69090. if(dialogid == 7484)
  69091. {
  69092. if(response)
  69093. {
  69094. if(listitem == 0)
  69095. {
  69096. if(GetPlayerCash(playerid) >= 1000)
  69097. {
  69098. GivePlayerValidWeapon(playerid, 24, 60000);
  69099. GivePlayerCash(playerid, -1000);
  69100. SCM(playerid, -1, "{AAC5E3}[DONATOR WEAPON]{FFFFFF}You have bought a deagle for $1,000.");
  69101. }
  69102. else return SCM(playerid, -1, "You don't have cash.");
  69103. }
  69104. else if(listitem == 1)
  69105. {
  69106. if(GetPlayerCash(playerid) >= 2750)
  69107. {
  69108. GivePlayerValidWeapon(playerid, 27, 60000);
  69109. GivePlayerCash(playerid, -2750);
  69110. SCM(playerid, -1, "{AAC5E3}[DONATOR WEAPON]{FFFFFF}You have bought a SPAS-12 for $2,750.");
  69111. }
  69112. else return SCM(playerid, -1, "You don't have cash.");
  69113. }
  69114. else if(listitem == 2)
  69115. {
  69116. if(GetPlayerCash(playerid) >= 1750)
  69117. {
  69118. GivePlayerValidWeapon(playerid, 31, 60000);
  69119. GivePlayerCash(playerid, -1750);
  69120. SCM(playerid, -1, "{AAC5E3}[DONATOR WEAPON]{FFFFFF}You have bought a M4 for $1,750.");
  69121. }
  69122. else return SCM(playerid, -1, "You don't have cash.");
  69123. }
  69124. else if(listitem == 3)
  69125. {
  69126. if(GetPlayerCash(playerid) >= 350)
  69127. {
  69128. SetPlayerArmourEx(playerid, 100);
  69129. GivePlayerCash(playerid, -350);
  69130. SCM(playerid, -1, "{AAC5E3}[DONATOR ARMOR]{FFFFFF}You have bought a Kevlar Vest for $350.");
  69131. }
  69132. else return SCM(playerid, -1, "You don't have cash.");
  69133. }
  69134. else if(listitem == 4)
  69135. {
  69136. if(GetPlayerCash(playerid) >= 250)
  69137. {
  69138. SetPlayerHealth(playerid, 100);
  69139. GivePlayerCash(playerid, -250);
  69140. SCM(playerid, -1, "{AAC5E3}[DONATOR HEALTH]{FFFFFF}You have bought a First aid kit for $250.");
  69141. }
  69142. else return SCM(playerid, -1, "You don't have cash.");
  69143. }
  69144. else if(listitem == 5)
  69145. {
  69146. if(GetPlayerCash(playerid) >= 3250)
  69147. {
  69148. GivePlayerValidWeapon(playerid, 34, 60000);
  69149. GivePlayerCash(playerid, -3250);
  69150. SCM(playerid, -1, "{AAC5E3}[DONATOR WEAPON]{FFFFFF}You have bought a Sniper for $3,250.");
  69151. }
  69152. else return SCM(playerid, -1, "You don't have cash.");
  69153. }
  69154. else if(listitem == 6)
  69155. {
  69156. if(GetPlayerCash(playerid) >= 8750)
  69157. {
  69158. GivePlayerValidWeapon(playerid, 24, 60000);
  69159. GivePlayerValidWeapon(playerid, 27, 60000);
  69160. GivePlayerValidWeapon(playerid, 31, 60000);
  69161. GivePlayerValidWeapon(playerid, 34, 60000);
  69162. GivePlayerCash(playerid, -8750);
  69163. SCM(playerid, -1, "{AAC5E3}[DONATOR WEAPON]{FFFFFF}You have bought a Full Set Weapon for $8,750.");
  69164. }
  69165. else return SCM(playerid, -1, "You don't have cash.");
  69166. }
  69167. }
  69168. }
  69169. if(dialogid == 7485) {
  69170. new skinid = strval(inputtext);
  69171. if(!response)
  69172. return 1;
  69173. if(IsValidSkin(skinid) == 0 && PlayerInfo[playerid][pDonator] < 1) {
  69174. SendClientMessage(playerid, COLOR_GREY, "That skin ID is either invalid or restricted to faction or family!");
  69175. ShowPlayerDialogEx(playerid, 3495, DIALOG_STYLE_INPUT, "Skin Selection","Please enter a Skin ID!\n\nNote: Skin Changes cost $250.", "Buy", "Cancel");
  69176. } else {
  69177. if(GetPlayerCash(playerid) < 250 && PlayerInfo[playerid][pFaction] == 0 && PlayerInfo[playerid][pLeader] == 0)
  69178. return SendClientMessage(playerid, COLOR_GRAD2, "You can't afford these clothes!");
  69179. if(PlayerInfo[playerid][pDonator] > 0 && IsInvalidSkin(skinid)) {
  69180. ShowPlayerDialogEx(playerid, 3495, DIALOG_STYLE_INPUT, "Skin Selection","Please enter a Skin ID!\n\nNote: Skin Changes are free for donators.", "Buy", "Cancel");
  69181. return SendClientMessage(playerid, COLOR_GREY, "Invalid skin ID, try again.");
  69182. }
  69183. if(PlayerInfo[playerid][pFaction] == 0 && PlayerInfo[playerid][pLeader] == 0 && PlayerInfo[playerid][pDonator] == 0) {
  69184. GivePlayerCash(playerid, -250);
  69185. GameTextForPlayer(playerid, "~g~Skin purchased! ~n~ ~r~- $250", 2000, 1);
  69186. } else {
  69187. GameTextForPlayer(playerid, "~g~Skin changed!", 2000, 1);
  69188. }
  69189. PlayerInfo[playerid][pSkin] = skinid;
  69190. SetPlayerSkin(playerid, skinid);
  69191. }
  69192. return 1;
  69193. }
  69194. if((dialogid == 7486) && response)
  69195. {
  69196. if(PlayerInfo[playerid][pDonator] < 2) return SendClientMessageEx(playerid, COLOR_WHITE, "* You must be a Sapphire Donator +");
  69197. new stringg[512];
  69198. for(new x;x<MAX_PLAYERTOYS;x++)
  69199. {
  69200. new name[24] = "None";
  69201. for(new i;i<sizeof(HoldingObjectsAll);i++)
  69202. {
  69203. if(HoldingObjectsAll[i][holdingmodelid] == PlayerToyInfo[playerid][x][ptModelID])
  69204. {
  69205. format(name, sizeof(name), "%s", HoldingObjectsAll[i][holdingmodelname]);
  69206. }
  69207. }
  69208. format(stringg, sizeof(stringg), "%s(%d) %s (Bone: %s)\n", stringg, x, name, HoldingBones[PlayerToyInfo[playerid][x][ptBone]]);
  69209. }
  69210. ShowPlayerDialogEx(playerid, BUYTOYSGOLD2, DIALOG_STYLE_LIST, "Select a Slot", stringg, "Select", "Cancel");
  69211. }
  69212. if(dialogid == 7487)
  69213. {
  69214. if(response)
  69215. {
  69216. if(listitem == 0)
  69217. {
  69218. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Detective, type /accept job.");
  69219. GettingJob[playerid] = 1;
  69220. }
  69221. if(listitem == 1)
  69222. {
  69223. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Lawyer, type /accept job.");
  69224. GettingJob[playerid] = 2;
  69225. }
  69226. if(listitem == 2)
  69227. {
  69228. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Whore, type /accept job.");
  69229. GettingJob[playerid] = 3;
  69230. }
  69231. if(listitem == 3)
  69232. {
  69233. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Drugs Dealer, type /accept job.");
  69234. GettingJob[playerid] = 4;
  69235. }
  69236. if(listitem == 4)
  69237. {
  69238. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Car Mechanic, type /accept job.");
  69239. GettingJob[playerid] = 7;
  69240. }
  69241. if(listitem == 5)
  69242. {
  69243. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Bodyguard, type /accept job.");
  69244. GettingJob[playerid] = 8;
  69245. }
  69246. if(listitem == 6)
  69247. {
  69248. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Arms Dealer, type /accept job.");
  69249. GettingJob[playerid] = 9;
  69250. }
  69251. if(listitem == 7)
  69252. {
  69253. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Boxer, type /accept job.");
  69254. GettingJob[playerid] = 12;
  69255. }
  69256. if(listitem == 8)
  69257. {
  69258. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Drug Smuggler, type /accept job.");
  69259. GettingJob[playerid] = 14;
  69260. }
  69261. if(listitem == 9)
  69262. {
  69263. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Taxi Driver, type /accept job.");
  69264. GettingJob[playerid] = 17;
  69265. }
  69266. if(listitem == 10)
  69267. {
  69268. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Craftsman, type /accept job.");
  69269. GettingJob[playerid] = 18;
  69270. }
  69271. if(listitem == 11)
  69272. {
  69273. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Bartender, type /accept job.");
  69274. GettingJob[playerid] = 19;
  69275. }
  69276. if(listitem == 12)
  69277. {
  69278. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Trucker, type /accept job.");
  69279. GettingJob[playerid] = 20;
  69280. }
  69281. if(listitem == 13)
  69282. {
  69283. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Pizza Boy, type /accept job.");
  69284. GettingJob[playerid] = 21;
  69285. }
  69286. if(listitem == 14)
  69287. {
  69288. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Garbageman, type /accept job.");
  69289. GettingJob[playerid] = 22;
  69290. }
  69291. if(listitem == 15)
  69292. {
  69293. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you're sure to become a Miner, type /accept job.");
  69294. GettingJob[playerid] = 23;
  69295. }
  69296. }
  69297. }
  69298. if(dialogid == 5510) // GMA Menu
  69299. {
  69300. if(response)
  69301. {
  69302. if(listitem == 0)
  69303. {
  69304. ShowPlayerDialogEx(playerid, 7488, DIALOG_STYLE_LIST, "GMA Duty", "Duty", "OK", "Cancel");
  69305. }
  69306. if(listitem == 1)
  69307. {
  69308. ShowPlayerDialogEx(playerid, 7489, DIALOG_STYLE_LIST, "GMA Guns", "Deagle ($1,000) \nSpas-12 ($2,750) \nM4 ($1,750) \nKevlar Vest ($350) \nFirst aid kit ($250) \nSniper ($3,250) \nFull Set ($8,750) ", "OK", "Cancel");
  69309. }
  69310. if(listitem == 2)
  69311. {
  69312. if(PlayerInfo[playerid][pLevel] < 1)
  69313. {
  69314. ShowPlayerDialogEx(playerid, 7490, DIALOG_STYLE_INPUT, "Skin Selection","Please enter a Skin ID!\n\nNote: Skin Changes cost $250.", "Buy", "Cancel");
  69315. }
  69316. else
  69317. {
  69318. ShowModelSelectionMenu(playerid, skinlist, "GMA Skins");
  69319. }
  69320. }
  69321. }
  69322. }
  69323. if(dialogid == 7488)
  69324. {
  69325. if(response)
  69326. {
  69327. if(listitem == 0) // LSPD Duty
  69328. {
  69329. if(PlayerInfo[playerid][pDuty]==0)
  69330. {
  69331. format(string, sizeof(string), "* Journalist %s takes a badge and a gun from their locker.", GetPlayerNameEx(playerid));
  69332. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  69333. SetPlayerColor(playerid, TEAM_NEWS_COLOR);
  69334. GivePlayerValidWeapon(playerid, 24, 99999);
  69335. GivePlayerValidWeapon(playerid, 41, 99999);
  69336. GivePlayerValidWeapon(playerid, 3, 99999);
  69337. OnDuty[playerid] = 1;
  69338. PlayerInfo[playerid][pDuty] = 1;
  69339. //ShowPlayerDialogEx(playerid, DUTY_OPTIONS, DIALOG_STYLE_LIST, "Duty Options","Public\nUndercover", "Select", "Cancel");
  69340. }
  69341. else if(PlayerInfo[playerid][pDuty]==1)
  69342. {
  69343. format(string, sizeof(string), "* Journalist %s places their badge and gun in their locker.", GetPlayerNameEx(playerid));
  69344. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  69345. SetPlayerColor(playerid, TEAM_HIT_COLOR);
  69346. SetPlayerArmourEx(playerid, 0.0);
  69347. OnDuty[playerid] = 0;
  69348. PlayerInfo[playerid][pDuty] = 0;
  69349. }
  69350. }
  69351. }
  69352. }
  69353. if(dialogid == 7489)
  69354. {
  69355. if(response)
  69356. {
  69357. if(listitem == 0)
  69358. {
  69359. if(GetPlayerCash(playerid) >= 1000)
  69360. {
  69361. GivePlayerValidWeapon(playerid, 24, 60000);
  69362. GivePlayerCash(playerid, -1000);
  69363. SCM(playerid, -1, "You have bought a deagle for $1,000.");
  69364. }
  69365. else return SCM(playerid, -1, "You don't have cash.");
  69366. }
  69367. else if(listitem == 1)
  69368. {
  69369. if(GetPlayerCash(playerid) >= 2750)
  69370. {
  69371. GivePlayerValidWeapon(playerid, 27, 60000);
  69372. GivePlayerCash(playerid, -2750);
  69373. SCM(playerid, -1, "You have bought a SPAS-12 for $2,750.");
  69374. }
  69375. else return SCM(playerid, -1, "You don't have cash.");
  69376. }
  69377. else if(listitem == 2)
  69378. {
  69379. if(GetPlayerCash(playerid) >= 1750)
  69380. {
  69381. GivePlayerValidWeapon(playerid, 31, 60000);
  69382. GivePlayerCash(playerid, -1750);
  69383. SCM(playerid, -1, "You have bought a M4 for $1,750.");
  69384. }
  69385. else return SCM(playerid, -1, "You don't have cash.");
  69386. }
  69387. else if(listitem == 3)
  69388. {
  69389. if(GetPlayerCash(playerid) >= 0)
  69390. {
  69391. SetPlayerArmourEx(playerid, 100);
  69392. GivePlayerCash(playerid, -0);
  69393. SCM(playerid, -1, "You have bought a Kevlar Vest for free.");
  69394. }
  69395. else return SCM(playerid, -1, "You don't have cash.");
  69396. }
  69397. else if(listitem == 4)
  69398. {
  69399. if(GetPlayerCash(playerid) >= 0)
  69400. {
  69401. SetPlayerHealth(playerid, 100);
  69402. GivePlayerCash(playerid, -0);
  69403. SCM(playerid, -1, "You have bought a First aid kit for free.");
  69404. }
  69405. else return SCM(playerid, -1, "You don't have cash.");
  69406. }
  69407. else if(listitem == 5)
  69408. {
  69409. if(GetPlayerCash(playerid) >= 3250)
  69410. {
  69411. GivePlayerValidWeapon(playerid, 34, 60000);
  69412. GivePlayerCash(playerid, -3250);
  69413. SCM(playerid, -1, "You have bought a Sniper for $3,250.");
  69414. }
  69415. else return SCM(playerid, -1, "You don't have cash.");
  69416. }
  69417. else if(listitem == 6)
  69418. {
  69419. if(GetPlayerCash(playerid) >= 8750)
  69420. {
  69421. GivePlayerValidWeapon(playerid, 24, 60000);
  69422. GivePlayerValidWeapon(playerid, 27, 60000);
  69423. GivePlayerValidWeapon(playerid, 31, 60000);
  69424. GivePlayerValidWeapon(playerid, 34, 60000);
  69425. GivePlayerCash(playerid, -8750);
  69426. SCM(playerid, -1, "You have bought a Full Set Weapon for $8,750.");
  69427. }
  69428. else return SCM(playerid, -1, "You don't have cash.");
  69429. }
  69430. }
  69431. }
  69432. if(dialogid == 7490) {
  69433. new skinid = strval(inputtext);
  69434. if(!response)
  69435. return 1;
  69436. if(IsValidSkin(skinid) == 0 && PlayerInfo[playerid][pDonator] < 1) {
  69437. SendClientMessage(playerid, COLOR_GREY, "That skin ID is either invalid or restricted to faction or family!");
  69438. ShowPlayerDialogEx(playerid, 3495, DIALOG_STYLE_INPUT, "Skin Selection","Please enter a Skin ID!\n\nNote: Skin Changes cost $250.", "Buy", "Cancel");
  69439. } else {
  69440. if(GetPlayerCash(playerid) < 250 && PlayerInfo[playerid][pFaction] == 0 && PlayerInfo[playerid][pLeader] == 0)
  69441. return SendClientMessage(playerid, COLOR_GRAD2, "You can't afford these clothes!");
  69442. if(PlayerInfo[playerid][pDonator] > 0 && IsInvalidSkin(skinid)) {
  69443. ShowPlayerDialogEx(playerid, 3495, DIALOG_STYLE_INPUT, "Skin Selection","Please enter a Skin ID!\n\nNote: Skin Changes are free for donators.", "Buy", "Cancel");
  69444. return SendClientMessage(playerid, COLOR_GREY, "Invalid skin ID, try again.");
  69445. }
  69446. if(PlayerInfo[playerid][pFaction] == 0 && PlayerInfo[playerid][pLeader] == 0 && PlayerInfo[playerid][pDonator] == 0) {
  69447. GivePlayerCash(playerid, -250);
  69448. GameTextForPlayer(playerid, "~g~Skin purchased! ~n~ ~r~- $250", 2000, 1);
  69449. } else {
  69450. GameTextForPlayer(playerid, "~g~Skin changed!", 2000, 1);
  69451. }
  69452. PlayerInfo[playerid][pSkin] = skinid;
  69453. SetPlayerSkin(playerid, skinid);
  69454. }
  69455. return 1;
  69456. }
  69457. else if(dialogid == DIALOG_CDGLOCKBUY)
  69458. {
  69459. if(response)
  69460. {
  69461. if(listitem == 0)
  69462. {
  69463. if(GetGangVehicleCount(PlayerInfo[playerid][pGang]) != 0)
  69464. {
  69465. if(PlayerInfo[playerid][pCash] < 1000)
  69466. {
  69467. SendClientMessage(playerid, COLOR_GRAD2, " Not enough money!");
  69468. return 1;
  69469. }
  69470. SetPVarInt(playerid, "lockmenu", 1);
  69471. for(new i=0; i<MAX_GANG_VEHICLES; i++)
  69472. {
  69473. if(FamilyVehicleInfo[PlayerInfo[playerid][pGang]][i][fvId] != INVALID_VEHICLE_ID)
  69474. {
  69475. format(string, sizeof(string), "Vehicle %d | Name: %s.",i+1,GetVehicleName(FamilyVehicleInfo[PlayerInfo[playerid][pGang]][i][fvId]));
  69476. SendClientMessage(playerid, COLOR_WHITE, string);
  69477. }
  69478. }
  69479. ShowPlayerDialogEx(playerid, DIALOG_CDGLOCKMENU, DIALOG_STYLE_INPUT, "24-7;"," Select a vehicle you wish to install this on:", "Select", "Cancel");
  69480. }
  69481. else
  69482. {
  69483. SendClientMessage(playerid, COLOR_WHITE, "You don't have any cars - where can we install this item?");
  69484. return 1;
  69485. }
  69486. }
  69487. if(listitem == 1)
  69488. {
  69489. if(GetGangVehicleCount(PlayerInfo[playerid][pGang]) != 0)
  69490. {
  69491. if(PlayerInfo[playerid][pCash] < 5000)
  69492. {
  69493. SendClientMessage(playerid, COLOR_GRAD2, " Not enough money!");
  69494. return 1;
  69495. }
  69496. SetPVarInt(playerid, "lockmenu", 2);
  69497. for(new i=0; i<MAX_GANG_VEHICLES; i++)
  69498. {
  69499. if(FamilyVehicleInfo[PlayerInfo[playerid][pGang]][i][fvId] != INVALID_VEHICLE_ID)
  69500. {
  69501. format(string, sizeof(string), "Vehicle %d| Name: %s.",i+1,GetVehicleName(FamilyVehicleInfo[PlayerInfo[playerid][pGang]][i][fvId]));
  69502. SendClientMessage(playerid, COLOR_WHITE, string);
  69503. }
  69504. }
  69505. ShowPlayerDialogEx(playerid, DIALOG_CDGLOCKMENU, DIALOG_STYLE_INPUT, "24-7;"," Select a vehicle you wish to install this on:", "Select", "Cancel");
  69506. }
  69507. else
  69508. {
  69509. SendClientMessage(playerid, COLOR_WHITE, "You don't have any cars - where can we install this item?");
  69510. return 1;
  69511. }
  69512. }
  69513. }
  69514. }
  69515. if(dialogid == DIALOG_CDGLOCKMENU)
  69516. {
  69517. if(response)
  69518. {
  69519. if(GetPVarInt(playerid, "lockmenu") == 1)
  69520. {
  69521. new fvid;
  69522. if(IsNumeric(inputtext))
  69523. {
  69524. fvid = strval(inputtext)-1;
  69525. if(FamilyVehicleInfo[PlayerInfo[playerid][pGang]][fvid][fvId] == INVALID_VEHICLE_ID)
  69526. {
  69527. SendClientMessage(playerid, COLOR_GRAD4, "ERROR: You don't have a vehicle in this slot.");
  69528. SetPVarInt(playerid, "lockmenu", 0);
  69529. return 1;
  69530. }
  69531. if(FamilyVehicleInfo[PlayerInfo[playerid][pGang]][fvid][fvLock] == 1)
  69532. {
  69533. SendClientMessage(playerid, COLOR_GRAD4, "ERROR: You already have this item installed on this vehicle.");
  69534. SetPVarInt(playerid, "lockmenu", 0);
  69535. return 1;
  69536. }
  69537. format(string, sizeof(string), " You have purchased an alarm lock!");
  69538. SendClientMessage(playerid, COLOR_GRAD4, string);
  69539. SendClientMessage(playerid, COLOR_YELLOW, "HINT: You can now use /gvlock to lock your family car.");
  69540. PlayerInfo[playerid][pCash] -= 1000;
  69541. FamilyVehicleInfo[PlayerInfo[playerid][pGang]][fvid][fvLock] = 1;
  69542. SetPVarInt(playerid, "lockmenu", 0);
  69543. }
  69544. }
  69545. else if(GetPVarInt(playerid, "lockmenu") == 2)
  69546. {
  69547. new fvid;
  69548. if(IsNumeric(inputtext))
  69549. {
  69550. fvid = strval(inputtext)-1;
  69551. if(FamilyVehicleInfo[PlayerInfo[playerid][pGang]][fvid][fvId] == 0)
  69552. {
  69553. SendClientMessage(playerid, COLOR_GRAD4, "ERROR: You don't have a vehicle in this slot.");
  69554. SetPVarInt(playerid, "lockmenu", 0);
  69555. return 1;
  69556. }
  69557. if(FamilyVehicleInfo[PlayerInfo[playerid][pGang]][fvid][fvLock] == 2)
  69558. {
  69559. SendClientMessage(playerid, COLOR_GRAD4, "ERROR: You already have this item installed on this vehicle.");
  69560. SetPVarInt(playerid, "lockmenu", 0);
  69561. return 1;
  69562. }
  69563. format(string, sizeof(string), " You have Purchased an industrial lock!");
  69564. SendClientMessage(playerid, COLOR_GRAD4, string);
  69565. SendClientMessage(playerid, COLOR_YELLOW, "HINT: You can now use /gvlock to lock your family car.");
  69566. PlayerInfo[playerid][pCash] -= 5000;
  69567. FamilyVehicleInfo[PlayerInfo[playerid][pGang]][fvid][fvLock] = 2;
  69568. SetPVarInt(playerid, "lockmenu", 0);
  69569. }
  69570. }
  69571. }
  69572. }
  69573. else if(dialogid == DOORLOCK)
  69574. {
  69575. if(response == 1)
  69576. {
  69577. new i = GetPVarInt(playerid, "Door");
  69578. if(isnull(inputtext))
  69579. {
  69580. SendClientMessage(playerid, COLOR_GREY, "You did not enter anything");
  69581. return 1;
  69582. }
  69583. if(strlen(inputtext) > 24)
  69584. {
  69585. SendClientMessage(playerid, COLOR_GREY, "The password can't be greater than 24 characters.");
  69586. return 1;
  69587. }
  69588. if(strcmp(inputtext, DDoorsInfo[i][ddPass], true) == 0)
  69589. {
  69590. if(DDoorsInfo[i][ddLocked] == 0)
  69591. {
  69592. DDoorsInfo[i][ddLocked] = 1;
  69593. SendClientMessage(playerid, COLOR_WHITE, "Password accepted, doors locked.");
  69594. }
  69595. else
  69596. {
  69597. DDoorsInfo[i][ddLocked] = 0;
  69598. SendClientMessage(playerid, COLOR_WHITE, "Password accepted, doors unlocked.");
  69599. }
  69600. }
  69601. else
  69602. {
  69603. SendClientMessage(playerid, COLOR_WHITE, "Password declined.");
  69604. }
  69605. }
  69606. else
  69607. {
  69608. return 1;
  69609. }
  69610. }
  69611. else if(dialogid == DRINKLISTDIALOG)
  69612. {
  69613. if(response)
  69614. {
  69615. switch(listitem)
  69616. {
  69617. case 0:
  69618. {
  69619. SetPVarString(playerid, "DrinkName", "Beer");
  69620. SetPVarInt(playerid, "DrinkPrice", 60);
  69621. SetPVarInt(playerid, "DrinkSpecialAction", SPECIAL_ACTION_DRINK_BEER);
  69622. }
  69623. case 1:
  69624. {
  69625. SetPVarString(playerid, "DrinkName", "Vodka");
  69626. SetPVarInt(playerid, "DrinkPrice", 100);
  69627. SetPVarInt(playerid, "DrinkSpecialAction", SPECIAL_ACTION_DRINK_WINE);
  69628. }
  69629. case 2:
  69630. {
  69631. SetPVarString(playerid, "DrinkName", "Whiskey");
  69632. SetPVarInt(playerid, "DrinkPrice", 100);
  69633. SetPVarInt(playerid, "DrinkSpecialAction", SPECIAL_ACTION_DRINK_WINE);
  69634. }
  69635. case 3:
  69636. {
  69637. SetPVarString(playerid, "DrinkName", "Water");
  69638. SetPVarInt(playerid, "DrinkPrice", 20);
  69639. SetPVarInt(playerid, "DrinkSpecialAction", SPECIAL_ACTION_DRINK_SPRUNK);
  69640. }
  69641. case 4:
  69642. {
  69643. SetPVarString(playerid, "DrinkName", "Soda");
  69644. SetPVarInt(playerid, "DrinkPrice", 20);
  69645. SetPVarInt(playerid, "DrinkSpecialAction", SPECIAL_ACTION_DRINK_SPRUNK);
  69646. }
  69647. }
  69648. if(GetPlayerCash(playerid) >= GetPVarInt(playerid, "DrinkPrice"))
  69649. {
  69650. new drinkname[32];
  69651. GetPVarString(playerid, "DrinkName", drinkname, sizeof(drinkname));
  69652. new drinkprice = GetPVarInt(playerid, "DrinkPrice");
  69653. new dspecialaction = GetPVarInt(playerid, "DrinkSpecialAction");
  69654. format(string, sizeof(string), "You have asked the bartender for a drink of %s for $%d. Do you want to tip the bartender?", drinkname, drinkprice);
  69655. ShowPlayerDialogEx(playerid, DRINKDIALOG, DIALOG_STYLE_MSGBOX, "Drink Purchase", string, "Yes", "No");
  69656. format(string, sizeof(string), "* %s pours %s a %s and hands it to them.", GetPlayerNameEx(DrinkOffer[playerid]), GetPlayerNameEx(playerid), drinkname);
  69657. ProxDetector(15.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  69658. format(string, sizeof(string), "* You pour %s a %s, they slide you the money. ($%d)", GetPlayerNameEx(playerid), drinkname, drinkprice);
  69659. SendClientMessage(DrinkOffer[playerid], COLOR_LIGHTBLUE, string);
  69660. GivePlayerCash(DrinkOffer[playerid], drinkprice);
  69661. GivePlayerCash(playerid, -drinkprice);
  69662. SetPlayerSpecialAction(playerid, dspecialaction);
  69663. SetPVarInt(playerid, "DrinkCooledDown", 1);
  69664. new ip[32], ipex[32];
  69665. GetPlayerIp(playerid, ip, sizeof(ip));
  69666. GetPlayerIp(DrinkOffer[playerid], ipex, sizeof(ipex));
  69667. DrinkWarn[playerid][DrinkOffer[playerid]] += drinkprice;
  69668. if(DrinkWarn[playerid][DrinkOffer[playerid]] >= 2500 && (PlayerInfo[DrinkOffer[playerid]][pLevel] <= 3 || PlayerInfo[DrinkOffer[playerid]][pLevel] <= 3))
  69669. {
  69670. format(string, sizeof(string), "%s (IP:%s) has tipped %s (IP:%s) $%d in this session.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(DrinkOffer[playerid]), ipex, DrinkWarn[playerid][DrinkOffer[playerid]]);
  69671. ABroadCast(COLOR_YELLOW, string, 1);
  69672. }
  69673. }
  69674. else
  69675. {
  69676. SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You don't have enough money for this drink!");
  69677. }
  69678. }
  69679. else
  69680. {
  69681. DrinkOffer[playerid] = INVALID_PLAYER_ID;
  69682. }
  69683. }
  69684. else if(dialogid == DRINKDIALOG)
  69685. {
  69686. if(response)
  69687. {
  69688. ShowPlayerDialogEx(playerid, TIPDIALOG, DIALOG_STYLE_INPUT, "Tipping the Bartender", "How much would you like to tip the bartender for his service?", "OK", "Cancel");
  69689. }
  69690. else
  69691. {
  69692. DrinkOffer[playerid] = INVALID_PLAYER_ID;
  69693. }
  69694. }
  69695. else if(dialogid == TIPDIALOG)
  69696. {
  69697. if(response)
  69698. {
  69699. if(GetPlayerCash(playerid) >= strval(inputtext))
  69700. {
  69701. if(strval(inputtext) < 0 || strval(inputtext) > 1000)
  69702. {
  69703. return ShowPlayerDialogEx(playerid, TIPDIALOG, DIALOG_STYLE_INPUT, "Tipping the Bartender", "Must be above $0 and below $1000.\nHow much would you like to tip the bartender for his service?", "OK", "Cancel");
  69704. }
  69705. format(string, sizeof(string), "** %s gives %s a tip for his service.", GetPlayerNameEx(playerid), GetPlayerNameEx(DrinkOffer[playerid]));
  69706. ProxDetector(15.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  69707. format(string, sizeof(string), "* %s has given you a tip of $%d for your service.", GetPlayerNameEx(playerid), strval(inputtext));
  69708. SendClientMessage(DrinkOffer[playerid], COLOR_LIGHTBLUE, string);
  69709. GivePlayerCash(DrinkOffer[playerid], strval(inputtext));
  69710. GivePlayerCash(playerid, -strval(inputtext));
  69711. new ip[32], ipex[32];
  69712. GetPlayerIp(playerid, ip, sizeof(ip));
  69713. GetPlayerIp(DrinkOffer[playerid], ipex, sizeof(ipex));
  69714. DrinkWarn[playerid][DrinkOffer[playerid]] += strval(inputtext);
  69715. if(DrinkWarn[playerid][DrinkOffer[playerid]] >= 2500 && (PlayerInfo[DrinkOffer[playerid]][pLevel] <= 3 || PlayerInfo[playerid][pLevel] <= 3))
  69716. {
  69717. format(string, sizeof(string), "%s (IP:%s) has tipped %s (IP:%s) $%d in this session.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(DrinkOffer[playerid]), ipex, DrinkWarn[playerid][DrinkOffer[playerid]]);
  69718. ABroadCast(COLOR_YELLOW, string, 1);
  69719. }
  69720. DrinkOffer[playerid] = INVALID_PLAYER_ID;
  69721. }
  69722. }
  69723. else
  69724. {
  69725. DrinkOffer[playerid] = INVALID_PLAYER_ID;
  69726. }
  69727. }
  69728. else if(dialogid == QUIZCREATE1)
  69729. {
  69730. if(response)
  69731. {
  69732. if(!isnull(inputtext))
  69733. {
  69734. format(question, sizeof(question), "%s", inputtext);
  69735. ShowPlayerDialogEx(playerid, QUIZCREATE2, DIALOG_STYLE_INPUT, "Create a quiz!", "Input the quiz answer", "Next", "Cancel");
  69736. }
  69737. else
  69738. {
  69739. ShowPlayerDialogEx(playerid, QUIZCREATE1, DIALOG_STYLE_INPUT, "Create a quiz!", "ERROR!\nInput the quiz question", "Next", "Cancel");
  69740. }
  69741. }
  69742. }
  69743. else if(dialogid == QUIZCREATE2)
  69744. {
  69745. if(response)
  69746. {
  69747. if(!isnull(inputtext))
  69748. {
  69749. format(answer, sizeof(answer), "%s", inputtext);
  69750. quizexist = true;
  69751. format(string, sizeof(string), "QUIZ: %s", question);
  69752. SendClientMessageToAll(COLOR_LIGHTRED, string);
  69753. SendClientMessageToAll(COLOR_LIGHTRED, "Type /answer along with your answer to answer the question!");
  69754. }
  69755. else
  69756. {
  69757. ShowPlayerDialogEx(playerid, QUIZCREATE2, DIALOG_STYLE_INPUT, "Create a quiz!", "ERROR!\nInput the quiz answer", "Next", "Cancel");
  69758. }
  69759. }
  69760. else
  69761. {
  69762. format(question, sizeof(question), "None");
  69763. }
  69764. }
  69765. return 1;
  69766. }
  69767. //------------------------------------------------------------------------------
  69768. //PLAYER OWNED VEHICLES SYSTEM
  69769. //------------------------------------------------------------------------------
  69770. LockPlayerVehicle(ownerid, carid, type)
  69771. {
  69772. new v = GetPlayerVehicle(ownerid, carid);
  69773. if(PlayerVehicleInfo[ownerid][v][pvId] == carid && type == 2)
  69774. {
  69775. LockStatus[carid] = 1;
  69776. vehicle_lock_doors(carid);
  69777. }
  69778. }
  69779. UnLockPlayerVehicle(ownerid, carid, type)
  69780. {
  69781. new v = GetPlayerVehicle(ownerid, carid);
  69782. if(PlayerVehicleInfo[ownerid][v][pvId] == carid && type == 2)
  69783. {
  69784. LockStatus[carid] = 0;
  69785. vehicle_unlock_doors(carid);
  69786. }
  69787. }
  69788. forward DisableVehicleAlarm(vehicleid);
  69789. public DisableVehicleAlarm(vehicleid)
  69790. {
  69791. new engine,lights,alarm,doors,bonnet,boot,objective;
  69792. GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
  69793. SetVehicleParamsEx(vehicleid,engine,lights,VEHICLE_PARAMS_OFF,doors,bonnet,boot,objective);
  69794. return 1;
  69795. }
  69796. forward ReleasePlayer(playerid);
  69797. public ReleasePlayer(playerid)
  69798. {
  69799. SetPVarInt(playerid, "IsFrozen", 0);
  69800. TogglePlayerControllable(playerid,1);
  69801. }
  69802. stock CreatePlayerVehicle(playerid, playervehicleid, modelid, Float: x, Float: y, Float: z, Float: angle, color1, color2, price)
  69803. {
  69804. if(PlayerVehicleInfo[playerid][playervehicleid][pvId] == INVALID_PLAYER_VEHICLE_ID)
  69805. {
  69806. VehicleSpawned[playerid]++;
  69807. PlayerCars++;
  69808. PlayerVehicleInfo[playerid][playervehicleid][pvModelId] = modelid;
  69809. PlayerVehicleInfo[playerid][playervehicleid][pvPosX] = x;
  69810. PlayerVehicleInfo[playerid][playervehicleid][pvPosY] = y;
  69811. PlayerVehicleInfo[playerid][playervehicleid][pvPosZ] = z;
  69812. PlayerVehicleInfo[playerid][playervehicleid][pvPosAngle] = angle;
  69813. PlayerVehicleInfo[playerid][playervehicleid][pvColor1] = color1;
  69814. PlayerVehicleInfo[playerid][playervehicleid][pvColor2] = color2;
  69815. PlayerVehicleInfo[playerid][playervehicleid][pvPark] = 1;
  69816. PlayerVehicleInfo[playerid][playervehicleid][pvPrice] = price;
  69817. PlayerVehicleInfo[playerid][playervehicleid][pvFuel] = 100.0;
  69818. PlayerVehicleInfo[playerid][playervehicleid][pvImpounded] = 0;
  69819. for(new m = 0; m < MAX_MODS; m++)
  69820. {
  69821. PlayerVehicleInfo[playerid][playervehicleid][pvMods][m] = 0;
  69822. }
  69823. new carcreated = CreateVehicle(modelid,x,y,z,angle,color1,color2,-1);
  69824. PlayerVehicleInfo[playerid][playervehicleid][pvId] = carcreated;
  69825. PlayerVehicleInfo[playerid][playervehicleid][pvSpawned] = 1;
  69826. SetVehicleNumberPlate(carcreated, PlayerVehicleInfo[playerid][playervehicleid][pvNumberPlate]);
  69827. return carcreated;
  69828. }
  69829. return INVALID_PLAYER_VEHICLE_ID;
  69830. }
  69831. stock DestroyPlayerVehicle(playerid, playervehicleid)
  69832. {
  69833. if(PlayerVehicleInfo[playerid][playervehicleid][pvModelId])
  69834. {
  69835. VehicleSpawned[playerid]--;
  69836. PlayerCars--;
  69837. DestroyVehicle(PlayerVehicleInfo[playerid][playervehicleid][pvId]);
  69838. VehicleRadioStation[PlayerVehicleInfo[playerid][playervehicleid][pvId]] = 0;
  69839. PlayerVehicleInfo[playerid][playervehicleid][pvModelId] = 0;
  69840. PlayerVehicleInfo[playerid][playervehicleid][pvPosX] = 0.0;
  69841. PlayerVehicleInfo[playerid][playervehicleid][pvPosY] = 0.0;
  69842. PlayerVehicleInfo[playerid][playervehicleid][pvPosZ] = 0.0;
  69843. PlayerVehicleInfo[playerid][playervehicleid][pvPosAngle] = 0.0;
  69844. PlayerVehicleInfo[playerid][playervehicleid][pvPaintJob] = -1;
  69845. PlayerVehicleInfo[playerid][playervehicleid][pvColor1] = 126;
  69846. PlayerVehicleInfo[playerid][playervehicleid][pvColor2] = 126;
  69847. PlayerVehicleInfo[playerid][playervehicleid][pvPrice] = 0;
  69848. PlayerVehicleInfo[playerid][playervehicleid][pvFuel] = 100.0;
  69849. PlayerVehicleInfo[playerid][playervehicleid][pvImpounded] = 0;
  69850. PlayerVehicleInfo[playerid][playervehicleid][pvSpawned] = 0;
  69851. //VehicleFuel[PlayerVehicleInfo[playerid][playervehicleid][pvId]] = 100.0;
  69852. PlayerVehicleInfo[playerid][playervehicleid][pvId] = INVALID_PLAYER_VEHICLE_ID;
  69853. if(PlayerVehicleInfo[playerid][playervehicleid][pvAllowedPlayerId] != INVALID_PLAYER_ID)
  69854. {
  69855. PlayerInfo[PlayerVehicleInfo[playerid][playervehicleid][pvAllowedPlayerId]][pVehicleKeys] = INVALID_PLAYER_VEHICLE_ID;
  69856. PlayerInfo[PlayerVehicleInfo[playerid][playervehicleid][pvAllowedPlayerId]][pVehicleKeysFrom] = INVALID_PLAYER_ID;
  69857. PlayerVehicleInfo[playerid][playervehicleid][pvAllowedPlayerId] = INVALID_PLAYER_ID;
  69858. }
  69859. }
  69860. }
  69861. stock LoadPlayerVehicles(playerid) {
  69862. switch(PlayerInfo[playerid][pDonator]) {
  69863. case 0: {
  69864. PlayerVehicleInfo[playerid][0][pvDisabled] = 0;
  69865. PlayerVehicleInfo[playerid][1][pvDisabled] = 0;
  69866. PlayerVehicleInfo[playerid][2][pvDisabled] = 0;
  69867. PlayerVehicleInfo[playerid][3][pvDisabled] = 0;
  69868. PlayerVehicleInfo[playerid][4][pvDisabled] = 0;
  69869. PlayerVehicleInfo[playerid][5][pvDisabled] = 1;
  69870. PlayerVehicleInfo[playerid][6][pvDisabled] = 1;
  69871. PlayerVehicleInfo[playerid][7][pvDisabled] = 1;
  69872. PlayerVehicleInfo[playerid][8][pvDisabled] = 1;
  69873. PlayerVehicleInfo[playerid][9][pvDisabled] = 1;
  69874. }
  69875. case 1: {
  69876. PlayerVehicleInfo[playerid][0][pvDisabled] = 0;
  69877. PlayerVehicleInfo[playerid][1][pvDisabled] = 0;
  69878. PlayerVehicleInfo[playerid][2][pvDisabled] = 0;
  69879. PlayerVehicleInfo[playerid][3][pvDisabled] = 0;
  69880. PlayerVehicleInfo[playerid][4][pvDisabled] = 0;
  69881. PlayerVehicleInfo[playerid][5][pvDisabled] = 0;
  69882. PlayerVehicleInfo[playerid][6][pvDisabled] = 0;
  69883. PlayerVehicleInfo[playerid][7][pvDisabled] = 1;
  69884. PlayerVehicleInfo[playerid][8][pvDisabled] = 1;
  69885. PlayerVehicleInfo[playerid][9][pvDisabled] = 1;
  69886. }
  69887. case 2: {
  69888. PlayerVehicleInfo[playerid][0][pvDisabled] = 0;
  69889. PlayerVehicleInfo[playerid][1][pvDisabled] = 0;
  69890. PlayerVehicleInfo[playerid][2][pvDisabled] = 0;
  69891. PlayerVehicleInfo[playerid][3][pvDisabled] = 0;
  69892. PlayerVehicleInfo[playerid][4][pvDisabled] = 0;
  69893. PlayerVehicleInfo[playerid][5][pvDisabled] = 0;
  69894. PlayerVehicleInfo[playerid][6][pvDisabled] = 0;
  69895. PlayerVehicleInfo[playerid][7][pvDisabled] = 0;
  69896. PlayerVehicleInfo[playerid][8][pvDisabled] = 1;
  69897. PlayerVehicleInfo[playerid][9][pvDisabled] = 1;
  69898. }
  69899. case 3: {
  69900. PlayerVehicleInfo[playerid][0][pvDisabled] = 0;
  69901. PlayerVehicleInfo[playerid][1][pvDisabled] = 0;
  69902. PlayerVehicleInfo[playerid][2][pvDisabled] = 0;
  69903. PlayerVehicleInfo[playerid][3][pvDisabled] = 0;
  69904. PlayerVehicleInfo[playerid][4][pvDisabled] = 0;
  69905. PlayerVehicleInfo[playerid][5][pvDisabled] = 0;
  69906. PlayerVehicleInfo[playerid][6][pvDisabled] = 0;
  69907. PlayerVehicleInfo[playerid][7][pvDisabled] = 0;
  69908. PlayerVehicleInfo[playerid][8][pvDisabled] = 0;
  69909. PlayerVehicleInfo[playerid][9][pvDisabled] = 0;
  69910. }
  69911. default: {
  69912. PlayerVehicleInfo[playerid][0][pvDisabled] = 0;
  69913. PlayerVehicleInfo[playerid][1][pvDisabled] = 0;
  69914. PlayerVehicleInfo[playerid][2][pvDisabled] = 0;
  69915. PlayerVehicleInfo[playerid][3][pvDisabled] = 0;
  69916. PlayerVehicleInfo[playerid][4][pvDisabled] = 0;
  69917. PlayerVehicleInfo[playerid][5][pvDisabled] = 0;
  69918. PlayerVehicleInfo[playerid][6][pvDisabled] = 0;
  69919. PlayerVehicleInfo[playerid][7][pvDisabled] = 0;
  69920. PlayerVehicleInfo[playerid][8][pvDisabled] = 0;
  69921. PlayerVehicleInfo[playerid][9][pvDisabled] = 0;
  69922. }
  69923. }
  69924. for(new v = 0; v < MAX_PLAYERVEHICLES; v++) {
  69925. if(vehicleCountCheck(playerid)) {
  69926. if(PlayerVehicleInfo[playerid][v][pvModelId] != 0 && PlayerVehicleInfo[playerid][v][pvImpounded] == 0 && PlayerVehicleInfo[playerid][v][pvSpawned] == 1) {
  69927. PlayerCars++;
  69928. VehicleSpawned[playerid]++;
  69929. new carcreated = CreateVehicle(PlayerVehicleInfo[playerid][v][pvModelId], PlayerVehicleInfo[playerid][v][pvPosX], PlayerVehicleInfo[playerid][v][pvPosY], PlayerVehicleInfo[playerid][v][pvPosZ], PlayerVehicleInfo[playerid][v][pvPosAngle],PlayerVehicleInfo[playerid][v][pvColor1], PlayerVehicleInfo[playerid][v][pvColor2], -1);
  69930. PlayerVehicleInfo[playerid][v][pvId] = carcreated;
  69931. //VehicleFuel[carcreated] = PlayerVehicleInfo[playerid][v][pvFuel];
  69932. if(PlayerVehicleInfo[playerid][v][pvLocked]) {
  69933. LockPlayerVehicle(playerid, PlayerVehicleInfo[playerid][v][pvId], PlayerVehicleInfo[playerid][v][pvLock]);
  69934. }
  69935. if(strlen(PlayerVehicleInfo[playerid][v][pvNumberPlate]) > 0)
  69936. SetVehicleNumberPlate(carcreated, PlayerVehicleInfo[playerid][v][pvNumberPlate]);
  69937. LoadPlayerVehicleMods(playerid, v);
  69938. }
  69939. else if(PlayerVehicleInfo[playerid][v][pvModelId] == 0 && PlayerVehicleInfo[playerid][v][pvImpounded] != 0) {
  69940. PlayerVehicleInfo[playerid][v][pvImpounded] = 0;
  69941. }
  69942. else if(PlayerVehicleInfo[playerid][v][pvModelId] == 0 && PlayerVehicleInfo[playerid][v][pvSpawned] != 0) {
  69943. PlayerVehicleInfo[playerid][v][pvSpawned] = 0;
  69944. }
  69945. }
  69946. else PlayerVehicleInfo[playerid][v][pvSpawned] = 0;
  69947. }
  69948. return 1;
  69949. }
  69950. vehicleCountCheck(playerid) {
  69951. switch(PlayerInfo[playerid][pDonator]) {
  69952. case 0, 1: if(VehicleSpawned[playerid] >= 1) return 0;
  69953. case 2: if(VehicleSpawned[playerid] >= 2) return 0;
  69954. case 3: if(VehicleSpawned[playerid] >= 3) return 0;
  69955. case 4, 5: if(VehicleSpawned[playerid] >= 5) return 0;
  69956. default: return 0;
  69957. }
  69958. return 1;
  69959. }
  69960. stock UnloadPlayerVehicles(playerid)
  69961. {
  69962. new playername[MAX_PLAYER_NAME];
  69963. GetPlayerName(playerid, playername, sizeof(playername));
  69964. //printf(" Unloading %s's vehicles.", playername);
  69965. for(new v = 0; v < MAX_PLAYERVEHICLES; v++)
  69966. {
  69967. if(PlayerVehicleInfo[playerid][v][pvId] != INVALID_PLAYER_VEHICLE_ID && PlayerVehicleInfo[playerid][v][pvImpounded] == 0)
  69968. {
  69969. //new Float:x, Float:y, Float:z, Float:angle;
  69970. //GetVehiclePos(PlayerVehicleInfo[playerid][v][pvId], x, y, z);
  69971. //GetVehicleZAngle(PlayerVehicleInfo[playerid][v][pvId], angle);
  69972. //UpdatePlayerVehicleParkPosition(playerid, v, x, y, z, angle);
  69973. PlayerCars--;
  69974. if(LockStatus[PlayerVehicleInfo[playerid][v][pvId]] != 0) LockStatus[PlayerVehicleInfo[playerid][v][pvId]] = 0;
  69975. UpdatePlayerVehicleMods(playerid, v);
  69976. DestroyVehicle(PlayerVehicleInfo[playerid][v][pvId]);
  69977. VehicleRadioStation[PlayerVehicleInfo[playerid][v][pvId]] = 0;
  69978. //VehicleFuel[PlayerVehicleInfo[playerid][v][pvId]] = 100.0;
  69979. PlayerVehicleInfo[playerid][v][pvId] = INVALID_PLAYER_VEHICLE_ID;
  69980. if(PlayerVehicleInfo[playerid][v][pvAllowedPlayerId] != INVALID_PLAYER_ID)
  69981. {
  69982. PlayerInfo[PlayerVehicleInfo[playerid][v][pvAllowedPlayerId]][pVehicleKeys] = INVALID_PLAYER_VEHICLE_ID;
  69983. PlayerInfo[PlayerVehicleInfo[playerid][v][pvAllowedPlayerId]][pVehicleKeysFrom] = INVALID_PLAYER_ID;
  69984. PlayerVehicleInfo[playerid][v][pvAllowedPlayerId] = INVALID_PLAYER_ID;
  69985. }
  69986. }
  69987. }
  69988. }
  69989. stock UpdatePlayerVehicleParkPosition(playerid, playervehicleid, Float:newx, Float:newy, Float:newz, Float:newangle, Float:health)
  69990. {
  69991. new playername[MAX_PLAYER_NAME];
  69992. GetPlayerName(playerid, playername, sizeof(playername));
  69993. if(PlayerVehicleInfo[playerid][playervehicleid][pvId] != INVALID_PLAYER_VEHICLE_ID)
  69994. {
  69995. new Float:oldx, Float:oldy, Float:oldz;
  69996. oldx = PlayerVehicleInfo[playerid][playervehicleid][pvPosX];
  69997. oldy = PlayerVehicleInfo[playerid][playervehicleid][pvPosY];
  69998. oldz = PlayerVehicleInfo[playerid][playervehicleid][pvPosZ];
  69999. if(oldx == newx && oldy == newy && oldz == newz) return 0;
  70000. PlayerVehicleInfo[playerid][playervehicleid][pvPosX] = newx;
  70001. PlayerVehicleInfo[playerid][playervehicleid][pvPosY] = newy;
  70002. PlayerVehicleInfo[playerid][playervehicleid][pvPosZ] = newz;
  70003. PlayerVehicleInfo[playerid][playervehicleid][pvPosAngle] = newangle;
  70004. //oldfuel = VehicleFuel[PlayerVehicleInfo[playerid][playervehicleid][pvId]];
  70005. //VehicleFuel[PlayerVehicleInfo[playerid][playervehicleid][pvId]] = 100.0;
  70006. UpdatePlayerVehicleMods(playerid, playervehicleid);
  70007. DestroyVehicle(PlayerVehicleInfo[playerid][playervehicleid][pvId]);
  70008. new carcreated = CreateVehicle(PlayerVehicleInfo[playerid][playervehicleid][pvModelId], PlayerVehicleInfo[playerid][playervehicleid][pvPosX], PlayerVehicleInfo[playerid][playervehicleid][pvPosY], PlayerVehicleInfo[playerid][playervehicleid][pvPosZ],
  70009. PlayerVehicleInfo[playerid][playervehicleid][pvPosAngle],PlayerVehicleInfo[playerid][playervehicleid][pvColor1], PlayerVehicleInfo[playerid][playervehicleid][pvColor2], -1);
  70010. PlayerVehicleInfo[playerid][playervehicleid][pvId] = carcreated;
  70011. //VehicleFuel[carcreated] = oldfuel;
  70012. SetVehicleNumberPlate(carcreated, PlayerVehicleInfo[playerid][playervehicleid][pvNumberPlate]);
  70013. SetVehicleHealth(carcreated, health);
  70014. if(PlayerVehicleInfo[playerid][playervehicleid][pvLocked] == 1) LockPlayerVehicle(playerid, PlayerVehicleInfo[playerid][playervehicleid][pvId], PlayerVehicleInfo[playerid][playervehicleid][pvLock]);
  70015. LoadPlayerVehicleMods(playerid, playervehicleid);
  70016. return 1;
  70017. }
  70018. return 0;
  70019. }
  70020. stock UpdatePlayerVehicleMods(playerid, playervehicleid)
  70021. {
  70022. if(PlayerVehicleInfo[playerid][playervehicleid][pvImpounded] == 0 || PlayerVehicleInfo[playerid][playervehicleid][pvSpawned] == 1) {
  70023. new playername[MAX_PLAYER_NAME];
  70024. GetPlayerName(playerid, playername, sizeof(playername));
  70025. new carid = PlayerVehicleInfo[playerid][playervehicleid][pvId];
  70026. new exhaust, frontbumper, rearbumper, roof, spoilers, sideskirt1,
  70027. sideskirt2, wheels, hydraulics, nitro, hood, lamps, stereo, ventright, ventleft;
  70028. exhaust = GetVehicleComponentInSlot(carid, CARMODTYPE_EXHAUST);
  70029. frontbumper = GetVehicleComponentInSlot(carid, CARMODTYPE_FRONT_BUMPER);
  70030. rearbumper = GetVehicleComponentInSlot(carid, CARMODTYPE_REAR_BUMPER);
  70031. roof = GetVehicleComponentInSlot(carid, CARMODTYPE_ROOF);
  70032. spoilers = GetVehicleComponentInSlot(carid, CARMODTYPE_SPOILER);
  70033. sideskirt1 = GetVehicleComponentInSlot(carid, CARMODTYPE_SIDESKIRT);
  70034. sideskirt2 = GetVehicleComponentInSlot(carid, CARMODTYPE_SIDESKIRT);
  70035. wheels = GetVehicleComponentInSlot(carid, CARMODTYPE_WHEELS);
  70036. hydraulics = GetVehicleComponentInSlot(carid, CARMODTYPE_HYDRAULICS);
  70037. nitro = GetVehicleComponentInSlot(carid, CARMODTYPE_NITRO);
  70038. hood = GetVehicleComponentInSlot(carid, CARMODTYPE_HOOD);
  70039. lamps = GetVehicleComponentInSlot(carid, CARMODTYPE_LAMPS);
  70040. stereo = GetVehicleComponentInSlot(carid, CARMODTYPE_STEREO);
  70041. ventright = GetVehicleComponentInSlot(carid, CARMODTYPE_VENT_RIGHT);
  70042. ventleft = GetVehicleComponentInSlot(carid, CARMODTYPE_VENT_LEFT);
  70043. if(spoilers >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][0] = spoilers;
  70044. if(hood >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][1] = hood;
  70045. if(roof >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][2] = roof;
  70046. if(sideskirt1 >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][3] = sideskirt1;
  70047. if(lamps >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][4] = lamps;
  70048. if(nitro >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][5] = nitro;
  70049. if(exhaust >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][6] = exhaust;
  70050. if(wheels >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][7] = wheels;
  70051. if(stereo >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][8] = stereo;
  70052. if(hydraulics >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][9] = hydraulics;
  70053. if(frontbumper >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][10] = frontbumper;
  70054. if(rearbumper >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][11] = rearbumper;
  70055. if(ventright >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][12] = ventright;
  70056. if(ventleft >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][13] = ventleft;
  70057. if(sideskirt2 >= 1000) PlayerVehicleInfo[playerid][playervehicleid][pvMods][14] = sideskirt2;
  70058. }
  70059. }
  70060. stock LoadPlayerVehicleMods(playerid, playervehicleid)
  70061. {
  70062. if(PlayerVehicleInfo[playerid][playervehicleid][pvImpounded] == 0 || PlayerVehicleInfo[playerid][playervehicleid][pvSpawned] == 1) {
  70063. //printf(" Loading player #%d vehicle #%d mods.", playerid, playervehicleid);
  70064. new paintjob = PlayerVehicleInfo[playerid][playervehicleid][pvPaintJob];
  70065. new color1 = PlayerVehicleInfo[playerid][playervehicleid][pvColor1];
  70066. new color2 = PlayerVehicleInfo[playerid][playervehicleid][pvColor2];
  70067. if(PlayerVehicleInfo[playerid][playervehicleid][pvPaintJob] != -1)
  70068. {
  70069. ChangeVehiclePaintjob(PlayerVehicleInfo[playerid][playervehicleid][pvId], paintjob);
  70070. ChangeVehicleColor(PlayerVehicleInfo[playerid][playervehicleid][pvId], color1, color2);
  70071. }
  70072. for(new m = 0; m < MAX_MODS; m++)
  70073. {
  70074. if(PlayerVehicleInfo[playerid][playervehicleid][pvMods][m] >= 1000 && PlayerVehicleInfo[playerid][playervehicleid][pvMods][m] <= 1193)
  70075. {
  70076. if(InvalidModCheck(GetVehicleModel(PlayerVehicleInfo[playerid][playervehicleid][pvId]),PlayerVehicleInfo[playerid][playervehicleid][pvMods][m]))
  70077. {
  70078. AddVehicleComponent(PlayerVehicleInfo[playerid][playervehicleid][pvId], PlayerVehicleInfo[playerid][playervehicleid][pvMods][m]);
  70079. }
  70080. else
  70081. {
  70082. //printf("Removing invalid mod %d from %d of %s", PlayerVehicleInfo[playerid][playervehicleid][pvMods][m], GetVehicleModel(PlayerVehicleInfo[playerid][playervehicleid][pvId]), GetPlayerNameEx(playerid));
  70083. PlayerVehicleInfo[playerid][playervehicleid][pvMods][m] = 0;
  70084. }
  70085. }
  70086. }
  70087. }
  70088. }
  70089. stock GetPlayerFreeVehicleId(playerid) {
  70090. for(new i; i < MAX_PLAYERVEHICLES; ++i) {
  70091. if(PlayerVehicleInfo[playerid][i][pvModelId] == 0) return i;
  70092. }
  70093. return -1;
  70094. }
  70095. GetPlayerVehicleCount(playerid)
  70096. {
  70097. new cars = 0;
  70098. for(new i = 0; i < MAX_PLAYERVEHICLES; i++)
  70099. {
  70100. if(PlayerVehicleInfo[playerid][i][pvModelId])
  70101. {
  70102. if(PlayerVehicleInfo[playerid][i][pvId] != INVALID_PLAYER_VEHICLE_ID && PlayerVehicleInfo[playerid][i][pvImpounded] == 0) {
  70103. if(CheckPlayerVehicleForDesync(playerid, PlayerVehicleInfo[playerid][i][pvId])) return 0;
  70104. cars++;
  70105. }
  70106. }
  70107. }
  70108. return cars;
  70109. }
  70110. CheckPlayerVehicleForDesync(playerid, vehicleid)
  70111. {
  70112. if(GetVehicleModel(vehicleid) < 400 || GetVehicleModel(vehicleid) > 611)
  70113. {
  70114. SendClientMessage(playerid, COLOR_WHITE, "A problem with your vehicles has been detected.");
  70115. UnloadPlayerVehicles(playerid);
  70116. LoadPlayerVehicles(playerid);
  70117. SendClientMessage(playerid, COLOR_WHITE, "This problem has now been resolved.");
  70118. return 1;
  70119. }
  70120. return 0;
  70121. }
  70122. /*stock GetPlayerVehicleCount(playerid)
  70123. {
  70124. new
  70125. i = 0,
  70126. cars = 0;
  70127. while(i < MAX_PLAYERVEHICLES && PlayerVehicleInfo[playerid][i][pvId])
  70128. {
  70129. cars++;
  70130. i++;
  70131. }
  70132. return cars;
  70133. }*/
  70134. stock GetPlayerVehicle(playerid, vehicleid)
  70135. {
  70136. if(!IsPlayerConnected(playerid)) return -1;
  70137. if(!GetVehicleModel(vehicleid)) return -1;
  70138. for(new v = 0; v < MAX_PLAYERVEHICLES; v++)
  70139. {
  70140. if(PlayerVehicleInfo[playerid][v][pvId] == vehicleid)
  70141. {
  70142. return v;
  70143. }
  70144. }
  70145. return -1;
  70146. }
  70147. forward IsAtTruckDeliveryPoint(playerid);
  70148. public IsAtTruckDeliveryPoint(playerid)
  70149. {
  70150. if(IsPlayerInRangeOfPoint(playerid, 6, 812.287231, -1623.678222, 13.546875) || IsPlayerInRangeOfPoint(playerid, 6, 1204.510375, -920.674499, 43.074016) ||
  70151. IsPlayerInRangeOfPoint(playerid, 6, 2402.169677, -1502.789306, 23.834865) || IsPlayerInRangeOfPoint(playerid, 6, 2110.254394, -1214.892578, 23.485479) ||
  70152. IsPlayerInRangeOfPoint(playerid, 6, 1458.425292, -1140.346069, 23.938444) || IsPlayerInRangeOfPoint(playerid, 6, 500.889678, -1352.339843, 15.463395) ||
  70153. IsPlayerInRangeOfPoint(playerid, 6, 334.012207, -1373.775146, 14.230167) || IsPlayerInRangeOfPoint(playerid, 6, 1317.785522, -870.413818, 39.089378) ||
  70154. IsPlayerInRangeOfPoint(playerid, 6, 1342.577026, -1748.498535, 12.934987) || IsPlayerInRangeOfPoint(playerid, 6, 653.629699, -579.503051, 15.889705) ||
  70155. IsPlayerInRangeOfPoint(playerid, 6, 1634.834716, 757.830017, 10.820312) || IsPlayerInRangeOfPoint(playerid, 6, 2833.109375, 893.754699, 10.757797) ||
  70156. IsPlayerInRangeOfPoint(playerid, 6, -510.522918, -501.250030, 25.523437))
  70157. { return true; }
  70158. return false;
  70159. }
  70160. forward CancelTruckDelivery(playerid);
  70161. public CancelTruckDelivery(playerid)
  70162. {
  70163. new vehicleid = GetPlayerVehicleID(playerid);
  70164. if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  70165. {
  70166. if(IsATruckerCar(vehicleid)) SetVehicleToRespawn(vehicleid);
  70167. }
  70168. DestroyProgressBar(LoadTruckBar[playerid]);
  70169. LoadTruckBar[playerid] = INVALID_BAR_ID;
  70170. LoadTruckTime[playerid] = 0;
  70171. DeletePVar(playerid, "TruckDeliver");
  70172. TruckContents[TruckUsed[playerid]] = 0;
  70173. TruckUsed[playerid] = INVALID_VEHICLE_ID;
  70174. gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
  70175. DisablePlayerCheckpoint(playerid);
  70176. return 1;
  70177. }
  70178. stock InvalidModCheck(model, partid) {
  70179. switch(model) {
  70180. case 430, 446, 452, 453, 454, 472, 473, 484, 493, 595, 573, 556, 557, 539, 471, 432, 406, 444,
  70181. 448, 461, 462, 463, 468, 481, 509, 510, 521, 522, 581, 586, 417, 425, 447, 460, 469, 476, 487,
  70182. 488, 511, 512, 513, 519, 520, 548, 553, 563, 577, 592, 593: return 0;
  70183. default: switch(GetVehicleComponentType(partid)) {
  70184. case 5: switch(partid) {
  70185. case 1008, 1009, 1010: return 1;
  70186. default: return 0;
  70187. }
  70188. case 7: switch(partid) {
  70189. case 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1096, 1097, 1098, 1025: return 1;
  70190. default: return 0;
  70191. }
  70192. case 8: switch(partid) {
  70193. case 1086: return 1;
  70194. default: return 0;
  70195. }
  70196. case 9: switch(partid) {
  70197. case 1087: return 1;
  70198. default: return 0;
  70199. }
  70200. default: for(new i; i < 4; i++) if(partid == vehicleMods[model - 400][GetVehicleComponentType(partid)][i]) {
  70201. return 1;
  70202. }
  70203. }
  70204. }
  70205. return 0;
  70206. }
  70207. //------------------------------------------------------------------------------
  70208. //CAR DEALERSHIP SYSTEM
  70209. //------------------------------------------------------------------------------
  70210. stock CreateCarDealership(Float: enx, Float: eny, Float: enz, Float: radius, price, message[])
  70211. {
  70212. new dealershipid = GetFreeCarDealership();
  70213. if(dealershipid == -1) return -1;
  70214. new text_info[128];
  70215. CarDealershipInfo[dealershipid][cdEntranceX] = enx;
  70216. CarDealershipInfo[dealershipid][cdEntranceY] = eny;
  70217. CarDealershipInfo[dealershipid][cdEntranceZ] = enz;
  70218. CarDealershipInfo[dealershipid][cdRadius] = radius;
  70219. CarDealershipInfo[dealershipid][cdPrice] = price;
  70220. strmid(CarDealershipInfo[dealershipid][cdMessage], message, 0, strlen(message), 255);
  70221. CarDealershipInfo[dealershipid][cdPickupID] = CreatePickup(1272, 1, CarDealershipInfo[dealershipid][cdEntranceX], CarDealershipInfo[dealershipid][cdEntranceY], CarDealershipInfo[dealershipid][cdEntranceZ], -1);
  70222. format(text_info, sizeof(text_info), "Car Dealership %s For Sale\nPrice: %d\nID: %d", CarDealershipInfo[dealershipid][cdMessage], CarDealershipInfo[dealershipid][cdPrice], dealershipid);
  70223. CarDealershipInfo[dealershipid][cdTextLabel] = CreateDynamic3DTextLabel(text_info,COLOR_YELLOW,CarDealershipInfo[dealershipid][cdEntranceX], CarDealershipInfo[dealershipid][cdEntranceY], CarDealershipInfo[dealershipid][cdEntranceZ]+0.5,3.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,1);
  70224. SavecDealerships();
  70225. return dealershipid;
  70226. }
  70227. stock DestroyCarDealership(dealershipid)
  70228. {
  70229. new string[30];
  70230. CarDealershipInfo[dealershipid][cdEntranceX] = 0.0;
  70231. CarDealershipInfo[dealershipid][cdEntranceY] = 0.0;
  70232. CarDealershipInfo[dealershipid][cdEntranceZ] = 0.0;
  70233. CarDealershipInfo[dealershipid][cdRadius] = 0.0;
  70234. CarDealershipInfo[dealershipid][cdTill] = 0;
  70235. CarDealershipInfo[dealershipid][cdOwned] = 0;
  70236. CarDealershipInfo[dealershipid][cdPrice] = 0;
  70237. format(string, sizeof(string), "None");
  70238. strmid(CarDealershipInfo[dealershipid][cdOwner], string, 0, strlen(string), 255);
  70239. format(string, sizeof(string), "None");
  70240. strmid(CarDealershipInfo[dealershipid][cdMessage], string, 0, strlen(string), 255);
  70241. DestroyDynamic3DTextLabel(CarDealershipInfo[dealershipid][cdTextLabel]);
  70242. DestroyPickup(CarDealershipInfo[dealershipid][cdPickupID]);
  70243. CarDealershipInfo[dealershipid][cdPickupID] = 0;
  70244. CarDealershipInfo[dealershipid][cdTextLabel] = Text3D:INVALID_3DTEXT_ID;
  70245. CarDealershipInfo[dealershipid][cdVehicleSpawn][0] = 0.0;
  70246. CarDealershipInfo[dealershipid][cdVehicleSpawn][1] = 0.0;
  70247. CarDealershipInfo[dealershipid][cdVehicleSpawn][2] = 0.0;
  70248. CarDealershipInfo[dealershipid][cdVehicleSpawn][3] = 0.0;
  70249. for(new v = 0; v < MAX_DEALERSHIPVEHICLES; v++)
  70250. {
  70251. if(CarDealershipInfo[dealershipid][cdVehicleModel][v] != 0)
  70252. {
  70253. DestroyCarDealershipVehicle(dealershipid, v);
  70254. }
  70255. }
  70256. SavecDealerships();
  70257. }
  70258. stock GetFreeCarDealership()
  70259. {
  70260. new
  70261. i = 0;
  70262. while (i < MAX_CARDEALERSHIPS && CarDealershipInfo[i][cdEntranceX] != 0.0 && CarDealershipInfo[i][cdEntranceY] != 0.0)
  70263. {
  70264. i++;
  70265. }
  70266. if(i == MAX_CARDEALERSHIPS) return -1;
  70267. return i;
  70268. }
  70269. stock SetPlayerOwnerOfCD(playerid, dealershipid)
  70270. {
  70271. new owner[MAX_PLAYER_NAME];
  70272. CarDealershipInfo[dealershipid][cdOwned] = 1;
  70273. GetPlayerName(playerid, owner, sizeof(owner));
  70274. strmid(CarDealershipInfo[dealershipid][cdOwner], owner, 0, strlen(owner), 255);
  70275. new text_info[128];
  70276. format(text_info, sizeof(text_info), "Car Dealership %s\nOwner: %s\nID: %d", CarDealershipInfo[dealershipid][cdMessage], CarDealershipInfo[dealershipid][cdOwner], dealershipid);
  70277. UpdateDynamic3DTextLabelText(CarDealershipInfo[dealershipid][cdTextLabel], COLOR_LIGHTBLUE, text_info);
  70278. SavecDealerships();
  70279. }
  70280. stock SellCarDealership(dealershipid)
  70281. {
  70282. CarDealershipInfo[dealershipid][cdOwned] = 0;
  70283. CarDealershipInfo[dealershipid][cdVehicleSpawn][0] = 0.0;
  70284. CarDealershipInfo[dealershipid][cdVehicleSpawn][1] = 0.0;
  70285. CarDealershipInfo[dealershipid][cdVehicleSpawn][2] = 0.0;
  70286. CarDealershipInfo[dealershipid][cdVehicleSpawn][3] = 0.0;
  70287. strmid(CarDealershipInfo[dealershipid][cdOwner], "No-one", 0, MAX_PLAYER_NAME, 255);
  70288. new text_info[128];
  70289. format(text_info, sizeof(text_info), "Car Dealership %s For Sale\nPrice: %d\nID: %d", CarDealershipInfo[dealershipid][cdMessage], CarDealershipInfo[dealershipid][cdPrice], dealershipid);
  70290. UpdateDynamic3DTextLabelText(CarDealershipInfo[dealershipid][cdTextLabel], COLOR_RED, text_info);
  70291. SavecDealerships();
  70292. }
  70293. stock IsPlayerOwnerOfCD(playerid)
  70294. {
  70295. new owner[MAX_PLAYER_NAME];
  70296. GetPlayerName(playerid, owner, sizeof(owner));
  70297. for(new d = 0; d < MAX_CARDEALERSHIPS; d++)
  70298. {
  70299. if(strcmp(CarDealershipInfo[d][cdOwner],owner, true) == 0)
  70300. {
  70301. return d;
  70302. }
  70303. }
  70304. return -1;
  70305. }
  70306. stock IsPlayerOwnerOfCDEx(playerid, dealershipid)
  70307. {
  70308. new owner[MAX_PLAYER_NAME];
  70309. GetPlayerName(playerid, owner, sizeof(owner));
  70310. if(strcmp(CarDealershipInfo[dealershipid][cdOwner],owner, true) == 0)
  70311. {
  70312. return 1;
  70313. }
  70314. return 0;
  70315. }
  70316. stock CreateCarDealershipVehicle(dealershipid, modelid, Float: x, Float: y, Float: z, Float: a, price)
  70317. {
  70318. new cdvehicleid = GetFreeCarDealershipVehicleId(dealershipid);
  70319. if(cdvehicleid == -1) return -1;
  70320. new text_info[128];
  70321. CarDealershipInfo[dealershipid][cdVehicleModel][cdvehicleid] = modelid;
  70322. CarDealershipInfo[dealershipid][cdVehicleCost][cdvehicleid] = price;
  70323. CarDealershipInfo[dealershipid][cdVehicleSpawnX][cdvehicleid] = x;
  70324. CarDealershipInfo[dealershipid][cdVehicleSpawnY][cdvehicleid] = y;
  70325. CarDealershipInfo[dealershipid][cdVehicleSpawnZ][cdvehicleid] = z;
  70326. CarDealershipInfo[dealershipid][cdVehicleSpawnAngle][cdvehicleid] = a;
  70327. new carcreated = CreateVehicle(modelid, x, y, z, a, 0, 0, 6);
  70328. format(text_info, sizeof(text_info), "%s For Sale | Price: %d", GetVehicleName(carcreated), CarDealershipInfo[dealershipid][cdVehicleCost][cdvehicleid]);
  70329. CarDealershipInfo[dealershipid][cdVehicleLabel][cdvehicleid] = CreateDynamic3DTextLabel(text_info,COLOR_LIGHTBLUE,0.0, 0.0, 0.0,5.0,INVALID_PLAYER_ID,carcreated,1);
  70330. CarDealershipInfo[dealershipid][cdVehicleId][cdvehicleid] = carcreated;
  70331. SavecDealerships();
  70332. return cdvehicleid;
  70333. }
  70334. stock DestroyCarDealershipVehicle(dealershipid, cdvehicleid)
  70335. {
  70336. CarDealershipInfo[dealershipid][cdVehicleModel][cdvehicleid] = 0;
  70337. CarDealershipInfo[dealershipid][cdVehicleCost][cdvehicleid] = 0;
  70338. CarDealershipInfo[dealershipid][cdVehicleSpawnX][cdvehicleid] = 0.0;
  70339. CarDealershipInfo[dealershipid][cdVehicleSpawnY][cdvehicleid] = 0.0;
  70340. CarDealershipInfo[dealershipid][cdVehicleSpawnZ][cdvehicleid] = 0.0;
  70341. CarDealershipInfo[dealershipid][cdVehicleSpawnAngle][cdvehicleid] = 0.0;
  70342. DestroyDynamic3DTextLabel(CarDealershipInfo[dealershipid][cdVehicleLabel][cdvehicleid]);
  70343. DestroyVehicle(CarDealershipInfo[dealershipid][cdVehicleId][cdvehicleid]);
  70344. VehicleRadioStation[CarDealershipInfo[dealershipid][cdVehicleId][cdvehicleid]] = 0;
  70345. CarDealershipInfo[dealershipid][cdVehicleLabel][cdvehicleid] = Text3D:INVALID_3DTEXT_ID;
  70346. CarDealershipInfo[dealershipid][cdVehicleId][cdvehicleid] = 0;
  70347. }
  70348. stock GetFreeCarDealershipVehicleId(dealershipid)
  70349. {
  70350. new
  70351. i = 0;
  70352. while (i < MAX_DEALERSHIPVEHICLES && CarDealershipInfo[dealershipid][cdVehicleModel][i] != 0)
  70353. {
  70354. i++;
  70355. }
  70356. if(i == MAX_DEALERSHIPVEHICLES) return -1;
  70357. return i;
  70358. }
  70359. stock GetCarDealershipVehicleId(vehicleid)
  70360. {
  70361. for(new d = 0; d < MAX_CARDEALERSHIPS; d++)
  70362. {
  70363. for(new v = 0; v < MAX_DEALERSHIPVEHICLES; v++)
  70364. {
  70365. if(CarDealershipInfo[d][cdVehicleId][v] == vehicleid)
  70366. {
  70367. return v;
  70368. }
  70369. }
  70370. }
  70371. return -1;
  70372. }
  70373. stock GetCarDealershipId(vehicleid)
  70374. {
  70375. for(new d = 0; d < MAX_CARDEALERSHIPS; d++)
  70376. {
  70377. for(new v = 0; v < MAX_DEALERSHIPVEHICLES; v++)
  70378. {
  70379. if(CarDealershipInfo[d][cdVehicleId][v] == vehicleid)
  70380. {
  70381. return d;
  70382. }
  70383. }
  70384. }
  70385. return -1;
  70386. }
  70387. //------------------------------------------------------------------------------
  70388. //----------------------DYNAMIC GANG VEHICLE SYSTEM-----------------------------
  70389. //------------------------------------------------------------------------------
  70390. LockGangVehicle(family, carid, type)
  70391. {
  70392. new v = GetGangVehicle(family, carid);
  70393. if(FamilyVehicleInfo[family][v][fvId] == carid && type == 2)
  70394. {
  70395. LockStatus[carid] = 1;
  70396. vehicle_lock_doors(carid);
  70397. }
  70398. }
  70399. UnLockGangVehicle(family, carid, type)
  70400. {
  70401. new v = GetGangVehicle(family, carid);
  70402. if(FamilyVehicleInfo[family][v][fvId] == carid && type == 2)
  70403. {
  70404. LockStatus[carid] = 0;
  70405. vehicle_unlock_doors(carid);
  70406. }
  70407. }
  70408. stock CreateGangVehicle(f, fv, modelid, Float: x, Float: y, Float: z, Float: angle, color1, color2, price)
  70409. {
  70410. if(FamilyVehicleInfo[f][fv][fvId] == INVALID_VEHICLE_ID)
  70411. {
  70412. FamilyVehicleInfo[f][fv][fvModelId] = modelid;
  70413. FamilyVehicleInfo[f][fv][fvSpawnx] = x;
  70414. FamilyVehicleInfo[f][fv][fvSpawny] = y;
  70415. FamilyVehicleInfo[f][fv][fvSpawnz] = z;
  70416. FamilyVehicleInfo[f][fv][fvSpawna] = angle;
  70417. FamilyVehicleInfo[f][fv][fvColor1] = color1;
  70418. FamilyVehicleInfo[f][fv][fvColor2] = color2;
  70419. FamilyVehicleInfo[f][fv][fvPrice] = price;
  70420. FamilyVehicleInfo[f][fv][fvFuel] = 100.0;
  70421. new carcreated = CreateVehicle(modelid,x,y,z,angle,color1,color2,-1);
  70422. FamilyVehicleInfo[f][fv][fvId] = carcreated;
  70423. //printf("Created the gang vehicle for family %d | vehicleid #%d | familyvehicleslot #%d.", f, FamilyVehicleInfo[f][fv][fvId], fv);
  70424. return carcreated;
  70425. }
  70426. return INVALID_VEHICLE_ID;
  70427. }
  70428. stock DestroyGangVehicle(f, fv)
  70429. {
  70430. if(FamilyVehicleInfo[f][fv][fvId] != INVALID_VEHICLE_ID)
  70431. {
  70432. DestroyVehicle(FamilyVehicleInfo[f][fv][fvId]);
  70433. VehicleRadioStation[FamilyVehicleInfo[f][fv][fvId]] = 0;
  70434. FamilyVehicleInfo[f][fv][fvModelId] = 0;
  70435. FamilyVehicleInfo[f][fv][fvSpawnx] = 0.0;
  70436. FamilyVehicleInfo[f][fv][fvSpawny] = 0.0;
  70437. FamilyVehicleInfo[f][fv][fvSpawnz] = 0.0;
  70438. FamilyVehicleInfo[f][fv][fvSpawna] = 0.0;
  70439. FamilyVehicleInfo[f][fv][fvPaintJob] = -1;
  70440. FamilyVehicleInfo[f][fv][fvColor1] = 126;
  70441. FamilyVehicleInfo[f][fv][fvColor2] = 126;
  70442. FamilyVehicleInfo[f][fv][fvPrice] = 0;
  70443. FamilyVehicleInfo[f][fv][fvImpounded] = 0;
  70444. FamilyVehicleInfo[f][fv][fvFuel] = 100.0;
  70445. //VehicleFuel[FamilyVehicleInfo[f][fv][fvId]] = 100.0;
  70446. //printf("Family %d vehicle %d(vehicleid %d) has been destroyed.", f,fv,FamilyVehicleInfo[f][fv][fvId]);
  70447. FamilyVehicleInfo[f][fv][fvId] = INVALID_VEHICLE_ID;
  70448. }
  70449. }
  70450. stock LoadGangVehicles(f)
  70451. {
  70452. //printf(" Loading family %d's vehicles.", f);
  70453. for(new fv = 0; fv < MAX_GANG_VEHICLES; fv++)
  70454. {
  70455. if(FamilyVehicleInfo[f][fv][fvModelId] != 0)
  70456. {
  70457. new carcreated = CreateVehicle(FamilyVehicleInfo[f][fv][fvModelId], FamilyVehicleInfo[f][fv][fvSpawnx], FamilyVehicleInfo[f][fv][fvSpawny], FamilyVehicleInfo[f][fv][fvSpawnz], FamilyVehicleInfo[f][fv][fvSpawna],FamilyVehicleInfo[f][fv][fvColor1], FamilyVehicleInfo[f][fv][fvColor2], -1);
  70458. FamilyVehicleInfo[f][fv][fvId] = carcreated;
  70459. //VehicleFuel[carcreated] = FamilyVehicleInfo[f][fv][fvFuel];
  70460. //if(VehicleFuel[carcreated] == 0) VehicleFuel[carcreated] = 100.0;
  70461. if(FamilyVehicleInfo[f][fv][fvLocked] == 1) LockGangVehicle(f, FamilyVehicleInfo[f][fv][fvId], FamilyVehicleInfo[f][fv][fvLock]);
  70462. }
  70463. }
  70464. }
  70465. stock UnloadGangVehicles(f)
  70466. {
  70467. //printf(" Unloading %s's vehicles.", FamilyInfo[f][FamilyName]);
  70468. for(new fv = 0; fv < MAX_PLAYERVEHICLES; fv++)
  70469. {
  70470. if(FamilyVehicleInfo[f][fv][fvId] != INVALID_VEHICLE_ID)
  70471. {
  70472. if(LockStatus[FamilyVehicleInfo[f][fv][fvId]] != 0) LockStatus[FamilyVehicleInfo[f][fv][fvId]] = 0;
  70473. DestroyVehicle(FamilyVehicleInfo[f][fv][fvId]);
  70474. VehicleRadioStation[FamilyVehicleInfo[f][fv][fvId]] = 0;
  70475. //VehicleFuel[FamilyVehicleInfo[f][fv][fvId]] = 100.0;
  70476. FamilyVehicleInfo[f][fv][fvId] = INVALID_VEHICLE_ID;
  70477. }
  70478. }
  70479. }
  70480. stock UpdateGangVehicleParkPosition(f, fv, Float:newx, Float:newy, Float:newz, Float:newangle, Float:health, temp = 1)
  70481. {
  70482. if(FamilyVehicleInfo[f][fv][fvId] != INVALID_VEHICLE_ID)
  70483. {
  70484. if(temp == 0)
  70485. {
  70486. new Float:oldx, Float:oldy, Float:oldz;
  70487. oldx = FamilyVehicleInfo[f][fv][fvSpawnx];
  70488. oldy = FamilyVehicleInfo[f][fv][fvSpawny];
  70489. oldz = FamilyVehicleInfo[f][fv][fvSpawnz];
  70490. if(oldx == newx && oldy == newy && oldz == newz) return 0;
  70491. FamilyVehicleInfo[f][fv][fvSpawnx] = newx;
  70492. FamilyVehicleInfo[f][fv][fvSpawny] = newy;
  70493. FamilyVehicleInfo[f][fv][fvSpawnz] = newz;
  70494. FamilyVehicleInfo[f][fv][fvSpawna] = newangle;
  70495. DestroyVehicle(FamilyVehicleInfo[f][fv][fvId]);
  70496. new carcreated = CreateVehicle(FamilyVehicleInfo[f][fv][fvModelId], FamilyVehicleInfo[f][fv][fvSpawnx], FamilyVehicleInfo[f][fv][fvSpawny], FamilyVehicleInfo[f][fv][fvSpawnz],
  70497. FamilyVehicleInfo[f][fv][fvSpawna],FamilyVehicleInfo[f][fv][fvColor1], FamilyVehicleInfo[f][fv][fvColor2], -1);
  70498. FamilyVehicleInfo[f][fv][fvId] = carcreated;
  70499. SetVehicleHealth(carcreated, health);
  70500. SaveFamiliesHQ();
  70501. return 1;
  70502. }
  70503. else
  70504. {
  70505. new Float:oldx, Float:oldy, Float:oldz;
  70506. oldx = FamilyVehicleInfo[f][fv][fvSpawnxtmp];
  70507. oldy = FamilyVehicleInfo[f][fv][fvSpawnytmp];
  70508. oldz = FamilyVehicleInfo[f][fv][fvSpawnztmp];
  70509. if(oldx == newx && oldy == newy && oldz == newz) return 0;
  70510. FamilyVehicleInfo[f][fv][fvSpawnxtmp] = newx;
  70511. FamilyVehicleInfo[f][fv][fvSpawnytmp] = newy;
  70512. FamilyVehicleInfo[f][fv][fvSpawnztmp] = newz;
  70513. FamilyVehicleInfo[f][fv][fvSpawnatmp] = newangle;
  70514. DestroyVehicle(FamilyVehicleInfo[f][fv][fvId]);
  70515. new carcreated = CreateVehicle(FamilyVehicleInfo[f][fv][fvModelId], FamilyVehicleInfo[f][fv][fvSpawnxtmp], FamilyVehicleInfo[f][fv][fvSpawnytmp], FamilyVehicleInfo[f][fv][fvSpawnztmp],
  70516. FamilyVehicleInfo[f][fv][fvSpawnatmp],FamilyVehicleInfo[f][fv][fvColor1], FamilyVehicleInfo[f][fv][fvColor2], -1);
  70517. FamilyVehicleInfo[f][fv][fvId] = carcreated;
  70518. SetVehicleHealth(carcreated, health);
  70519. SaveFamiliesHQ();
  70520. return 1;
  70521. }
  70522. }
  70523. return 0;
  70524. }
  70525. stock GetGangFreeVehicleId(f)
  70526. {
  70527. new
  70528. i = 0;
  70529. while (i < MAX_GANG_VEHICLES && FamilyVehicleInfo[f][i][fvId] != INVALID_VEHICLE_ID)
  70530. {
  70531. i++;
  70532. }
  70533. if(i == MAX_GANG_VEHICLES) return -1;
  70534. return i;
  70535. }
  70536. stock GetGangVehicleCount(f)
  70537. {
  70538. new
  70539. i = 0,
  70540. cars = 0;
  70541. while (i < MAX_GANG_VEHICLES && FamilyVehicleInfo[f][i][fvId] != INVALID_VEHICLE_ID)
  70542. {
  70543. cars++;
  70544. i++;
  70545. }
  70546. return cars;
  70547. }
  70548. stock GetGangVehicle(f, vehicleid)
  70549. {
  70550. if(f == 255) return -1;
  70551. if(vehicleid == -1) return -1;
  70552. for(new v = 0; v < MAX_GANG_VEHICLES; v++)
  70553. {
  70554. if(FamilyVehicleInfo[f][v][fvId] == vehicleid)
  70555. {
  70556. return v;
  70557. }
  70558. }
  70559. return -1;
  70560. }
  70561. ProxDetector(Float: f_Radius, playerid, string[],col1,col2,col3,col4,col5)
  70562. {
  70563. new
  70564. Float: f_playerPos[3];
  70565. GetPlayerPos(playerid, f_playerPos[0], f_playerPos[1], f_playerPos[2]);
  70566. foreach(Player, i) {
  70567. if((InsideShamal[playerid] == GetPlayerVehicleID(i) && GetPlayerState(i) == 2) || (InsideShamal[i] == GetPlayerVehicleID(playerid) && GetPlayerState(playerid) == 2) || (InsideShamal[playerid] != INVALID_VEHICLE_ID && InsideShamal[playerid] == InsideShamal[i])) {
  70568. SendClientMessage(i, col1, string);
  70569. }
  70570. else if(GetPlayerVirtualWorld(i) == GetPlayerVirtualWorld(playerid)) {
  70571. if(IsPlayerInRangeOfPoint(i, f_Radius / 16, f_playerPos[0], f_playerPos[1], f_playerPos[2])) {
  70572. SendClientMessage(i, col1, string);
  70573. }
  70574. else if(IsPlayerInRangeOfPoint(i, f_Radius / 8, f_playerPos[0], f_playerPos[1], f_playerPos[2])) {
  70575. SendClientMessage(i, col2, string);
  70576. }
  70577. else if(IsPlayerInRangeOfPoint(i, f_Radius / 4, f_playerPos[0], f_playerPos[1], f_playerPos[2])) {
  70578. SendClientMessage(i, col3, string);
  70579. }
  70580. else if(IsPlayerInRangeOfPoint(i, f_Radius / 2, f_playerPos[0], f_playerPos[1], f_playerPos[2])) {
  70581. SendClientMessage(i, col4, string);
  70582. }
  70583. else if(IsPlayerInRangeOfPoint(i, f_Radius, f_playerPos[0], f_playerPos[1], f_playerPos[2])) {
  70584. SendClientMessage(i, col5, string);
  70585. }
  70586. }
  70587. }
  70588. return 1;
  70589. }
  70590. ProxDetectorS(Float:radi, playerid, targetid) {
  70591. if(Spectating[targetid] != 0 && PlayerInfo[playerid][pAdmin] < 2)
  70592. {
  70593. return 0;
  70594. }
  70595. new
  70596. Float: fp_playerPos[3];
  70597. GetPlayerPos(targetid, fp_playerPos[0], fp_playerPos[1], fp_playerPos[2]);
  70598. if(IsPlayerInRangeOfPoint(playerid, radi, fp_playerPos[0], fp_playerPos[1], fp_playerPos[2]) && GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(targetid))
  70599. {
  70600. return 1;
  70601. }
  70602. return 0;
  70603. }
  70604. IsPlayerInRangeOfVehicle(playerid, vehicleid, Float: radius) {
  70605. new
  70606. Float:Floats[3];
  70607. GetVehiclePos(vehicleid, Floats[0], Floats[1], Floats[2]);
  70608. return IsPlayerInRangeOfPoint(playerid, radius, Floats[0], Floats[1], Floats[2]);
  70609. }
  70610. forward MoveEMS(playerid);
  70611. public MoveEMS(playerid)
  70612. {
  70613. new Float:mX, Float:mY, Float:mZ;
  70614. GetPlayerPos(playerid, mX, mY, mZ);
  70615. SetPVarFloat(GetPVarInt(playerid, "MovingStretcher"), "MedicX", mX);
  70616. SetPVarFloat(GetPVarInt(playerid, "MovingStretcher"), "MedicY", mY);
  70617. SetPVarFloat(GetPVarInt(playerid, "MovingStretcher"), "MedicZ", mZ);
  70618. SetPVarInt(GetPVarInt(playerid, "MovingStretcher"), "MedicVW", GetPlayerVirtualWorld(playerid));
  70619. SetPVarInt(GetPVarInt(playerid, "MovingStretcher"), "MedicInt", GetPlayerInterior(playerid));
  70620. Streamer_UpdateEx(GetPVarInt(playerid, "MovingStretcher"), mX, mY, mZ);
  70621. SetPlayerPos(GetPVarInt(playerid, "MovingStretcher"), mX, mY, mZ);
  70622. SetPlayerInterior(GetPVarInt(playerid, "MovingStretcher"), GetPlayerVirtualWorld(playerid));
  70623. SetPlayerVirtualWorld(GetPVarInt(playerid, "MovingStretcher"), GetPlayerVirtualWorld(playerid));
  70624. ClearAnimations(GetPVarInt(playerid, "MovingStretcher"));
  70625. ApplyAnimation(GetPVarInt(playerid, "MovingStretcher"), "SWAT", "gnstwall_injurd", 4.0, 0, 1, 1, 1, 0, 1);
  70626. DeletePVar(GetPVarInt(playerid, "MovingStretcher"), "OnStretcher");
  70627. SetPVarInt(playerid, "MovingStretcher", -1);
  70628. }
  70629. forward KillEMSQueue(playerid);
  70630. public KillEMSQueue(playerid)
  70631. {
  70632. if(IsPlayerConnected(GetPVarInt(playerid, "EMSWaiting")) && EMSAccepted[GetPVarInt(playerid, "EMSWaiting")] == playerid) {
  70633. new
  70634. string[126];
  70635. format(string, sizeof(string), "* Your patient %s has died before you reached them!",GetPlayerNameEx(playerid));
  70636. SendClientMessage(GetPVarInt(playerid, "EMSWaiting"), COLOR_LIGHTBLUE, string);
  70637. DisablePlayerCheckpoint(GetPVarInt(playerid, "EMSWaiting"));
  70638. EMSCallTime[GetPVarInt(playerid, "EMSWaiting")] = 0;
  70639. EMSAccepted[GetPVarInt(playerid, "EMSWaiting")] = INVALID_PLAYER_ID;
  70640. }
  70641. DeletePVar(playerid, "Injured");
  70642. DeletePVar(playerid, "EMSAttempt");
  70643. DeletePVar(playerid, "EMSWaiting");
  70644. SetPVarInt(playerid, "MedicBill", 1);
  70645. DeletePVar(playerid, "MedicCall");
  70646. return 1;
  70647. }
  70648. forward SendEMSQueue(playerid,type);
  70649. public SendEMSQueue(playerid,type)
  70650. {
  70651. switch (type)
  70652. {
  70653. case 1:
  70654. {
  70655. Streamer_UpdateEx(playerid, GetPVarFloat(playerid,"MedicX"), GetPVarFloat(playerid,"MedicY"), GetPVarFloat(playerid,"MedicZ"));
  70656. SetPlayerPos(playerid, GetPVarFloat(playerid,"MedicX"), GetPVarFloat(playerid,"MedicY"), GetPVarFloat(playerid,"MedicZ"));
  70657. SetPlayerVirtualWorld(playerid, GetPVarInt(playerid,"MedicVW"));
  70658. SetPlayerInterior(playerid, GetPVarInt(playerid,"MedicInt"));
  70659. SetPVarInt(playerid, "EMSAttempt", -1);
  70660. if(GetPlayerInterior(playerid) > 0)
  70661. {
  70662. TogglePlayerControllable(playerid, 0);
  70663. for(new o = 0; o < 2; o++)
  70664. {
  70665. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  70666. }
  70667. SetPVarInt(playerid, "LoadingObjects", 1);
  70668. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  70669. }
  70670. GameTextForPlayer(playerid, "~r~Injured~n~~w~/accept death or /service ems", 5000, 3);
  70671. ClearAnimations(playerid);
  70672. PreloadAnimLib(playerid,"KNIFE");
  70673. ApplyAnimation(playerid, "KNIFE", "KILL_Knife_Ped_Die", 4.0, 0, 1, 1, 1, 0, 1);
  70674. SetPlayerHealth(playerid, 100);
  70675. SetPlayerArmourEx(playerid,0);
  70676. if(GetPVarInt(playerid, "usingfirstaid") == 1)
  70677. firstaidexpire(playerid);
  70678. SetPVarInt(playerid,"MedicCall",1);
  70679. }
  70680. case 2:
  70681. {
  70682. SetPVarInt(playerid,"EMSAttempt", 2);
  70683. ClearAnimations(playerid);
  70684. ApplyAnimation(playerid, "SWAT", "gnstwall_injurd", 4.0, 0, 1, 1, 1, 0, 1);
  70685. SetPlayerHealth(playerid, 100);
  70686. SetPlayerArmourEx(playerid,0);
  70687. }
  70688. }
  70689. return 1;
  70690. }
  70691. stock OAddFlag(name[],adminid,reason[])
  70692. {
  70693. new month,day,year;
  70694. getdate(year,month,day);
  70695. if(doesAccountExist(name))
  70696. {
  70697. OnPlayerOfflineLogin(name);
  70698. format(PlayerInfo[MAX_PLAYERS][pFlag], 128, "%s - %s (%d/%d/%d)",reason,GetPlayerNameEx(adminid),month,day,year);
  70699. OnPlayerOfflineSave(name);
  70700. return 1;
  70701. }
  70702. else
  70703. {
  70704. SendClientMessage(adminid, COLOR_WHITE, "That account doesn't exist.");
  70705. return 0;
  70706. }
  70707. }
  70708. stock ORemoveFlag(name[])
  70709. {
  70710. if(doesAccountExist(name))
  70711. {
  70712. OnPlayerOfflineLogin(name);
  70713. format(PlayerInfo[MAX_PLAYERS][pFlag], 128, "");
  70714. OnPlayerOfflineSave(name);
  70715. return 1;
  70716. }
  70717. else
  70718. {
  70719. return 0;
  70720. }
  70721. }
  70722. stock AddAutomatedFlag(playerid, reason[]) {
  70723. new month,day,year;
  70724. getdate(year,month,day);
  70725. if(!strlen(PlayerInfo[playerid][pFlag]))
  70726. format(PlayerInfo[playerid][pFlag],128,"%s - Server (%d/%d/%d)",reason, month,day,year);
  70727. return 1;
  70728. }
  70729. stock AddFlag(playerid,adminid,reason[])
  70730. {
  70731. new month,day,year;
  70732. getdate(year,month,day);
  70733. new playername[MAX_PLAYER_NAME];
  70734. GetPlayerName(playerid, playername, sizeof(playername));
  70735. format(PlayerInfo[playerid][pFlag],128,"%s - %s (%d/%d/%d)",reason,GetPlayerNameEx(adminid),month,day,year);
  70736. }
  70737. forward AddReportToken(playerid);
  70738. public AddReportToken(playerid)
  70739. {
  70740. new
  70741. sz_FileStr[32 + MAX_PLAYER_NAME],
  70742. sz_playerName[MAX_PLAYER_NAME],
  70743. i_timestamp[3],
  70744. File: fPointer;
  70745. GetPlayerName(playerid, sz_playerName, MAX_PLAYER_NAME);
  70746. getdate(i_timestamp[0], i_timestamp[1], i_timestamp[2]);
  70747. format(sz_FileStr, sizeof(sz_FileStr), "admins/rtokens/%s[%d'%d'%d]", sz_playerName, i_timestamp[1], i_timestamp[2], i_timestamp[0]);
  70748. if(fexist(sz_FileStr))
  70749. {
  70750. fPointer = fopen(sz_FileStr, io_read);
  70751. fread(fPointer, sz_playerName);
  70752. fclose(fPointer);
  70753. new
  70754. i_tokenVal = strval(sz_playerName);
  70755. format(sz_playerName, sizeof(sz_playerName), "%i", i_tokenVal + 1);
  70756. fPointer = fopen(sz_FileStr, io_write);
  70757. fwrite(fPointer, sz_playerName);
  70758. fclose(fPointer);
  70759. }
  70760. else {
  70761. fPointer = fopen(sz_FileStr, io_write);
  70762. fwrite(fPointer, "1");
  70763. fclose(fPointer);
  70764. }
  70765. return 1;
  70766. }
  70767. forward SeeReportToken(playerid,name[],month,day,year);
  70768. public SeeReportToken(playerid,name[],month,day,year)
  70769. {
  70770. new string[128], rtoken;
  70771. new strFromFile[128];
  70772. format(string,sizeof(string),"admins/rtokens/%s[%d'%d'%d]",name,month,day,year);
  70773. if(fexist(string))
  70774. {
  70775. new File: file = fopen(string, io_read);
  70776. fread(file, strFromFile);
  70777. fclose(file);
  70778. rtoken = strval(strFromFile);
  70779. format(string,sizeof(string),"Admin has %d report tokens on [%d/%d/%d].",rtoken,month,day,year);
  70780. SendClientMessage(playerid, COLOR_YELLOW, string);
  70781. }
  70782. else
  70783. {
  70784. SendClientMessage(playerid, COLOR_YELLOW, "Admin does not have any logged report tokens for this date.");
  70785. return 0;
  70786. }
  70787. return 1;
  70788. }
  70789. forward firstaid5(playerid);
  70790. public firstaid5(playerid)
  70791. {
  70792. if(GetPVarInt(playerid, "usingfirstaid") == 1)
  70793. {
  70794. new Float:health;
  70795. GetPlayerHealth(playerid, health);
  70796. if(health < 100.0)
  70797. {
  70798. if((health+5.0) <= 100.0)
  70799. {
  70800. SetPlayerHealth(playerid, health+5.0);
  70801. }
  70802. }
  70803. }
  70804. }
  70805. forward firstaidexpire(playerid);
  70806. public firstaidexpire(playerid)
  70807. {
  70808. SendClientMessage(playerid, COLOR_GRAD1, "Your first aid kit no longer takes effect.");
  70809. KillTimer(GetPVarInt(playerid, "firstaid5"));
  70810. SetPVarInt(playerid, "usingfirstaid", 0);
  70811. }
  70812. stock GetClosestPlayer(p1)
  70813. {
  70814. new Float:dis,Float:dis2,player;
  70815. player = -1;
  70816. dis = 99999.99;
  70817. foreach(Player, x)
  70818. {
  70819. if(x != p1)
  70820. {
  70821. dis2 = GetDistanceBetweenPlayers(x,p1);
  70822. if(dis2 < dis && dis2 != -1.00)
  70823. {
  70824. dis = dis2;
  70825. player = x;
  70826. }
  70827. }
  70828. }
  70829. return player;
  70830. }
  70831. forward SyncPlayerTime(playerid);
  70832. public SyncPlayerTime(playerid)
  70833. {
  70834. new hour, minute, second;
  70835. gettime(hour, minute, second);
  70836. SetPlayerTime(playerid, hour, minute);
  70837. return 1;
  70838. }
  70839. forward rccam(playerid);
  70840. public rccam(playerid)
  70841. {
  70842. DestroyVehicle(GetPVarInt(playerid, "rcveh"));
  70843. VehicleRadioStation[GetPVarInt(playerid, "rcveh")] = 0;
  70844. SetPlayerPos(playerid, GetPVarFloat(playerid, "rcX"), GetPVarFloat(playerid, "rcY"), GetPVarFloat(playerid, "rcZ"));
  70845. SendClientMessage(playerid, COLOR_GRAD1, "Your RC Cam has ran out of batteries!");
  70846. SetPVarInt(playerid, "rccam", 0);
  70847. }
  70848. forward SyncMinTime();
  70849. public SyncMinTime()
  70850. {
  70851. new hour, minute, second;
  70852. gettime(hour, minute, second);
  70853. foreach(Player, i)
  70854. {
  70855. SetPlayerTime(i, hour, minute);
  70856. }
  70857. return 1;
  70858. }
  70859. forward SyncTime();
  70860. public SyncTime()
  70861. {
  70862. new string[64];
  70863. new tmphour;
  70864. new tmpminute;
  70865. new tmpsecond;
  70866. gettime(tmphour, tmpminute, tmpsecond);
  70867. FixHour(tmphour);
  70868. tmphour = shifthour;
  70869. if((tmphour > ghour) || (tmphour == 0 && ghour == 23))
  70870. {
  70871. format(string, sizeof(string), "The time is now %d:00.",tmphour);
  70872. SendClientMessageToAllEx(COLOR_WHITE,string);
  70873. ghour = tmphour;
  70874. TotalUptime += 1;
  70875. PayDay();
  70876. SetWorldTime(tmphour);
  70877. SaveFamilies();
  70878. }
  70879. }
  70880. PayDay()
  70881. {
  70882. new string[128];
  70883. GiftAllowed = 1;
  70884. foreach(Player, i) if(PlayerInfo[i][pLevel] > 0)
  70885. {
  70886. if(GetPVarType(i, "debtMsg"))
  70887. {
  70888. if(PlayerInfo[i][pJailed] < 1 && !IsACop(i) && PlayerInfo[i][pWantedLevel] < 6) {
  70889. format(string,sizeof(string),"You're failing to pay your debt of $%d - now the police are on the look out for you.",GetPlayerCash(i));
  70890. SendClientMessage(i, COLOR_LIGHTRED, string);
  70891. PlayerInfo[i][pCrimes]++;
  70892. SetPlayerWantedLevel(i, ++PlayerInfo[i][pWantedLevel]);
  70893. }
  70894. }
  70895. if(PlayerInfo[i][pPayReady] >= 6) {
  70896. new code = Random(100000, 999999);
  70897. PayCheckCode[i] = code;
  70898. SendClientMessage(i, COLOR_GREY,"_______________________________________________________________");
  70899. SendClientMessage(i, COLOR_WHITE,"Information on paychecks: {FFA500}/payhelp {FFFFFF}or {FFA500}/taxhelp");
  70900. SendClientMessage(i, COLOR_GREY,"_______________________________________________________________");
  70901. SendClientMessage(i, COLOR_WHITE,"Sign the check to receive your paycheck.");
  70902. SendClientMessage(i, COLOR_LIGHTBLUE, "Type /signcheck");
  70903. SendClientMessage(i, COLOR_WHITE,"You have 5 minutes to sign the check before it becomes invalid.");
  70904. SendClientMessage(i, COLOR_GREY,"_______________________________________________________________");
  70905. GameTextForPlayer(i, "~w~Type /signcheck", 2500, 1);
  70906. PlayerPlaySound(i, SOUND_MUSIC1, 2050.1995, 1344.5500, 13.2378);
  70907. PayMusic(i);
  70908. WasHereForPaycheck[i] = 1;
  70909. SetTimer("LastAlertPayCheck", 240000, false);
  70910. PlayerInfo[i][pClaim] = 1;
  70911. }
  70912. else SendClientMessage(i, COLOR_LIGHTRED, "* You haven't played long enough to obtain a paycheck.");
  70913. }
  70914. for (new x = 0; x < MAX_POINTS; x++)
  70915. {
  70916. Points[x][Announced] = 0;
  70917. if(Points[x][Vulnerable] > 0)
  70918. {
  70919. Points[x][Vulnerable]--;
  70920. UpdatePoints();
  70921. }
  70922. if(Points[x][Vulnerable] == 0 && Points[x][Type] >= 0 && Points[x][Announced] == 0 && Points[x][ClaimerId] == INVALID_PLAYER_ID)
  70923. {
  70924. format(string, sizeof(string), "%s has become available for capture.", Points[x][Name]);
  70925. SendClientMessageToAllEx(COLOR_YELLOW, string);
  70926. //SetPlayerCheckpoint(i, Points[i][Pointx], Points[i][Pointy], Points[i][Pointz], 3);
  70927. ReadyToCapture(x);
  70928. Points[x][Announced] = 1;
  70929. }
  70930. }
  70931. for (new h = 0; h < MAX_TURFS; h++)
  70932. {
  70933. if(TurfsInfo[h][TurfsHours] == 1 && TurfsInfo[h][TurfsVulnerable] == 0)
  70934. {
  70935. format(string, sizeof(string), "%s has become available for capturf.", TurfsInfo[h][TurfsName]);
  70936. SendClientMessageToAllEx(COLOR_YELLOW, string);
  70937. TurfsInfo[h][TurfsVulnerable] = 1;
  70938. }
  70939. TurfsInfo[h][TurfsHours]--;
  70940. }
  70941. Misc_Save();
  70942. return 1;
  70943. }
  70944. ReadyToCapture(pointid)
  70945. {
  70946. //new string[128];
  70947. foreach(Player, i)
  70948. {
  70949. if(PlayerInfo[i][pGang] < 255)
  70950. {
  70951. if(Points[pointid][Type] == 3 && Points[pointid][Type] == 4) return 1;
  70952. //format(string, sizeof(string), "%s has become available to capture! Stand here and /capture it!", Points[pointid][Name]);
  70953. //Points[pointid][CaptureProccess] = CreateDynamic3DTextLabel(string, COLOR_YELLOW, Points[pointid][Pointx], Points[pointid][Pointy], Points[pointid][Pointz], 10.0, _, _, _, _, _, i);
  70954. Points[pointid][CaptureProccessEx] = 1;
  70955. }
  70956. }
  70957. return 1;
  70958. }
  70959. forward LastAlertPayCheck();
  70960. public LastAlertPayCheck()
  70961. {
  70962. foreach(Player, i)
  70963. {
  70964. if(WasHereForPaycheck[i] == 1 && SignedPaycheck[i] == 0)
  70965. {
  70966. if(GetPVarInt(i, "LAPCReceived") != 1)
  70967. {
  70968. GameTextForPlayer(i, "~w~Type /signcheck", 2500, 1);
  70969. SendClientMessage(i, COLOR_WHITE, "You have one minute left before your paycheck code expires. Please type /signcheck to get your paycheck.");
  70970. SetPVarInt(i, "LAPCReceived", 1);
  70971. }
  70972. }
  70973. }
  70974. SetTimer("DestroyChecks", 60000, false);
  70975. }
  70976. forward DestroyChecks();
  70977. public DestroyChecks()
  70978. {
  70979. foreach(Player, i)
  70980. {
  70981. PayCheckCode[i] = 0;
  70982. if(WasHereForPaycheck[i] == 1 && SignedPaycheck[i] == 0)
  70983. {
  70984. SendClientMessage(i, COLOR_WHITE, "Your paycheck code expired. Please remember to /signcheck next time.");
  70985. if(AdminDuty[i] == 0)
  70986. {
  70987. MissedPaychecks[i]++;
  70988. }
  70989. if(MissedPaychecks[i] >= 2 && AdminDuty[i] == 0)
  70990. {
  70991. new string[128];
  70992. format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s has been auto kicked for failing to sign two paychecks in a row.", GetPlayerNameEx(i));
  70993. ABroadCast(COLOR_YELLOW, string, 1);
  70994. format(string, sizeof(string), "AdmWarning: %s has been auto kicked for failing to sign two paychecks in a row.", GetPlayerNameEx(i));
  70995. Log("logs/payfarming.log", string);
  70996. Kick(i);
  70997. }
  70998. }
  70999. WasHereForPaycheck[i] = 0;
  71000. SignedPaycheck[i] = 0;
  71001. DeletePVar(i, "LAPCReceived");
  71002. }
  71003. }
  71004. forward TutorialProgression(playerid);
  71005. public TutorialProgression(playerid)
  71006. {
  71007. Streamer_Update(playerid);
  71008. if(TutorialProgress[playerid] == 1)
  71009. {
  71010. SetPlayerPos(playerid, 2224.411865, -2649.862060, -30.544359);
  71011. SetPlayerCameraPos(playerid, 2268.519531, -2611.522460, 31.097387);
  71012. SetPlayerCameraLookAt(playerid, 2224.411865, -2649.862060, 13.407735);
  71013. TogglePlayerControllable(playerid,0);
  71014. for(new t = 6; t < 11; t++)
  71015. {
  71016. TextDrawHideForPlayer(playerid, TutTxtDraw[t]);
  71017. }
  71018. for(new t = 11; t < 15; t++)
  71019. {
  71020. TextDrawShowForPlayer(playerid, TutTxtDraw[t]);
  71021. }
  71022. TutorialProgress[playerid] = 2;
  71023. SetTimerEx("TutorialProgression", 12000, 0, "d", playerid);
  71024. }
  71025. else if(TutorialProgress[playerid] == 2)
  71026. {
  71027. SetPlayerPos(playerid, 1466.24, -1023.05, -80.0);
  71028. SetPlayerCameraPos(playerid, 1502.28, -1044.47, 31.19);
  71029. SetPlayerCameraLookAt(playerid, 1466.24, -1023.05, 23.83);
  71030. TogglePlayerControllable(playerid,0);
  71031. TextDrawShowForPlayer(playerid, TutTxtDraw[15]);
  71032. TutorialProgress[playerid] = 3;
  71033. SetTimerEx("TutorialProgression", 8500, 0, "d", playerid);
  71034. }
  71035. else if(TutorialProgress[playerid] == 3)
  71036. {
  71037. SetPlayerPos(playerid, 1504.23, -1700.17, -80.0);
  71038. SetPlayerCameraPos(playerid, 1500.21, -1691.75, 38.38);
  71039. SetPlayerCameraLookAt(playerid, 1541.46, -1676.17, 13.55);
  71040. TogglePlayerControllable(playerid,0);
  71041. for(new t = 11; t < 16; t++)
  71042. {
  71043. TextDrawHideForPlayer(playerid, TutTxtDraw[t]);
  71044. }
  71045. for(new t = 16; t < 22; t++)
  71046. {
  71047. TextDrawShowForPlayer(playerid, TutTxtDraw[t]);
  71048. }
  71049. TutorialProgress[playerid] = 4;
  71050. SetTimerEx("TutorialProgression", 14000, 0, "d", playerid);
  71051. }
  71052. else if(TutorialProgress[playerid] == 4)
  71053. {
  71054. SetPlayerPos(playerid, 1201.12, -1324, -80.0);
  71055. SetPlayerCameraPos(playerid, 1207.39, -1294.71, 24.61);
  71056. SetPlayerCameraLookAt(playerid, 1181.72, -1322.65, 13.58);
  71057. TogglePlayerControllable(playerid,0);
  71058. for(new t = 16; t < 22; t++)
  71059. {
  71060. TextDrawHideForPlayer(playerid, TutTxtDraw[t]);
  71061. }
  71062. for(new t = 22; t < 27; t++)
  71063. {
  71064. TextDrawShowForPlayer(playerid, TutTxtDraw[t]);
  71065. }
  71066. TutorialProgress[playerid] = 5;
  71067. SetTimerEx("TutorialProgression", 12500, 0, "d", playerid);
  71068. }
  71069. else if(TutorialProgress[playerid] == 5)
  71070. {
  71071. SetPlayerPos(playerid, 2489.09, -1669.88, -80.0);
  71072. SetPlayerCameraPos(playerid, 2459.82, -1652.68, 26.45);
  71073. SetPlayerCameraLookAt(playerid, 2489.09, -1669.88, 13.34);
  71074. TogglePlayerControllable(playerid,0);
  71075. for(new t = 22; t < 27; t++)
  71076. {
  71077. TextDrawHideForPlayer(playerid, TutTxtDraw[t]);
  71078. }
  71079. for(new t = 27; t < 32; t++)
  71080. {
  71081. TextDrawShowForPlayer(playerid, TutTxtDraw[t]);
  71082. }
  71083. TutorialProgress[playerid] = 6;
  71084. SetTimerEx("TutorialProgression", 12500, 0, "d", playerid);
  71085. }
  71086. else if(TutorialProgress[playerid] == 6)
  71087. {
  71088. SetPlayerPos(playerid, 2172.315185, -2263.781250, -60.0);
  71089. SetPlayerCameraPos(playerid, 2206.363769, -2262.568359, 24.240808);
  71090. SetPlayerCameraLookAt(playerid, 2172.315185, -2263.781250, 13.335824);
  71091. TogglePlayerControllable(playerid,0);
  71092. for(new t = 27; t < 32; t++)
  71093. {
  71094. TextDrawHideForPlayer(playerid, TutTxtDraw[t]);
  71095. }
  71096. for(new t = 32; t < 37; t++)
  71097. {
  71098. TextDrawShowForPlayer(playerid, TutTxtDraw[t]);
  71099. }
  71100. TutorialProgress[playerid] = 7;
  71101. SetTimerEx("TutorialProgression", 13500, 0, "d", playerid);
  71102. }
  71103. else if(TutorialProgress[playerid] == 7)
  71104. {
  71105. SetPlayerPos(playerid, 2351.542724, -1169.992797, -22.303030);
  71106. SetPlayerCameraPos(playerid, 2335.889404, -1148.501586, 34.610519);
  71107. SetPlayerCameraLookAt(playerid, 2351.542724, -1169.992797, 28.041967);
  71108. TogglePlayerControllable(playerid,0);
  71109. for(new t = 32; t < 37; t++)
  71110. {
  71111. TextDrawHideForPlayer(playerid, TutTxtDraw[t]);
  71112. }
  71113. for(new t = 37; t < 42; t++)
  71114. {
  71115. TextDrawShowForPlayer(playerid, TutTxtDraw[t]);
  71116. }
  71117. TutorialProgress[playerid] = 8;
  71118. SetTimerEx("TutorialProgression", 10500, 0, "d", playerid);
  71119. }
  71120. else if(TutorialProgress[playerid] == 8)
  71121. {
  71122. SetPlayerPos(playerid, 2128.194091, -1132.911865, -14.425248);
  71123. SetPlayerCameraPos(playerid, 2116.651123, -1103.233642, 37.885963);
  71124. SetPlayerCameraLookAt(playerid, 2128.194091, -1132.911865, 25.567047);
  71125. TogglePlayerControllable(playerid,0);
  71126. for(new t = 37; t < 42; t++)
  71127. {
  71128. TextDrawHideForPlayer(playerid, TutTxtDraw[t]);
  71129. }
  71130. for(new t = 42; t < 46; t++)
  71131. {
  71132. TextDrawShowForPlayer(playerid, TutTxtDraw[t]);
  71133. }
  71134. TutorialProgress[playerid] = 9;
  71135. SetTimerEx("TutorialProgression", 13500, 0, "d", playerid);
  71136. }
  71137. else if(TutorialProgress[playerid] == 9)
  71138. {
  71139. SetPlayerPos(playerid, 2523.063232, -1679.484375, -17.811601);
  71140. SetPlayerCameraPos(playerid, 2508.055908, -1676.983154, 18.012311);
  71141. SetPlayerCameraLookAt(playerid, 2523.063232, -1679.484375, 15.496999);
  71142. TogglePlayerControllable(playerid,0);
  71143. TextDrawShowForPlayer(playerid, TutTxtDraw[46]);
  71144. TextDrawShowForPlayer(playerid, TutTxtDraw[47]);
  71145. TutorialProgress[playerid] = 10;
  71146. SetTimerEx("TutorialProgression", 10500, 0, "d", playerid);
  71147. }
  71148. else if(TutorialProgress[playerid] == 10)
  71149. {
  71150. SetPlayerPos(playerid, 1315.601806, -898.753417, -4.157680);
  71151. SetPlayerCameraPos(playerid, 1315.780151, -927.116638, 48.019481);
  71152. SetPlayerCameraLookAt(playerid, 1315.601806, -898.753417, 39.578125);
  71153. TogglePlayerControllable(playerid,0);
  71154. for(new t = 42; t < 48; t++)
  71155. {
  71156. TextDrawHideForPlayer(playerid, TutTxtDraw[t]);
  71157. }
  71158. TextDrawShowForPlayer(playerid, TutTxtDraw[48]);
  71159. TextDrawShowForPlayer(playerid, TutTxtDraw[49]);
  71160. TutorialProgress[playerid] = 11;
  71161. SetTimerEx("TutorialProgression", 10500, 0, "d", playerid);
  71162. }
  71163. else if(TutorialProgress[playerid] == 11)
  71164. {
  71165. SetPlayerPos(playerid, 2243.374023, -1664.780517, -38.467826);
  71166. SetPlayerCameraPos(playerid, 2239.001953, -1645.624145, 22.123142);
  71167. SetPlayerCameraLookAt(playerid, 2243.374023, -1664.780517, 15.476562);
  71168. TogglePlayerControllable(playerid,0);
  71169. TextDrawShowForPlayer(playerid, TutTxtDraw[50]);
  71170. TextDrawShowForPlayer(playerid, TutTxtDraw[51]);
  71171. TutorialProgress[playerid] = 12;
  71172. SetTimerEx("TutorialProgression", 10000, 0, "d", playerid);
  71173. }
  71174. else if(TutorialProgress[playerid] == 12)
  71175. {
  71176. SetPlayerPos(playerid, 1970.506103, -1201.447143, -25.074676);
  71177. SetPlayerCameraPos(playerid, 2022.083740, -1308.260620, 80.478797);
  71178. SetPlayerCameraLookAt(playerid, 1970.506103, -1201.447143, 25.596593);
  71179. TogglePlayerControllable(playerid,0);
  71180. TextDrawShowForPlayer(playerid, TutTxtDraw[52]);
  71181. TextDrawShowForPlayer(playerid, TutTxtDraw[53]);
  71182. TutorialProgress[playerid] = 13;
  71183. SetTimerEx("TutorialProgression", 7000, 0, "d", playerid);
  71184. }
  71185. else if(TutorialProgress[playerid] == 13)
  71186. {
  71187. DeletePVar(playerid, "IsFrozen");
  71188. for(new t = 0; t < 54; t++)
  71189. {
  71190. TextDrawHideForPlayer(playerid, TutTxtDraw[t]);
  71191. }
  71192. SetPlayerInterior(playerid, 0);
  71193. SetPlayerVirtualWorld(playerid, 0);
  71194. SetPlayerPos(playerid, 1773.459350, -1942.273437, 13.569922);
  71195. SetPlayerFacingAngle(playerid, 329.64);
  71196. SetCameraBehindPlayer(playerid);
  71197. InsideTut[playerid] = 0;
  71198. DeletePVar(playerid, "MedicBill");
  71199. SetPlayerColor(playerid,TEAM_HIT_COLOR);
  71200. PlayerInfo[playerid][pTut] = 1;
  71201. PlayerInfo[playerid][pSkin] = 299;
  71202. SetPlayerSkin(playerid, 299);
  71203. PlayerInfo[playerid][pFormer] = 0;
  71204. PlayerInfo[playerid][pOS] = 0;
  71205. PlayerInfo[playerid][pVintage] = 0;
  71206. PlayerInfo[playerid][pFamed] = 0;
  71207. ClearChatbox(playerid);
  71208. new string[128];
  71209. format(string, sizeof(string), "Welcome to Sleepless Roleplay, %s.", GetPlayerNameEx(playerid));
  71210. SendClientMessage(playerid, COLOR_NEWS, string);
  71211. format(string, sizeof(string), "~w~Welcome~n~~y~%s", GetPlayerNameEx(playerid));
  71212. GameTextForPlayer(playerid, string, 5000, 1);
  71213. SendClientMessage(playerid, COLOR_YELLOW, "If you have any further questions, please use /newb. You can also /report if you see any rule-breakers.");
  71214. new motdstring[128];
  71215. format(motdstring, sizeof(motdstring), "{FFA500}News:{FFFFFF} %s", GlobalMOTD);
  71216. SendClientMessage(playerid, COLOR_WHITE, motdstring);
  71217. format(string, sizeof(string), "> {FFA500} %s {FFFF00} has just spawned on Sleepless Roleplay for the first time!", GetPlayerNameEx(playerid));
  71218. foreach(Player, i)
  71219. {
  71220. if(PlayerInfo[i][pAdmin] >= 1 || PlayerInfo[i][pHelper] >= 1 || PlayerInfo[i][pLevel] >= 1)
  71221. {
  71222. SendClientMessageEx(i, COLOR_YELLOW, string);
  71223. }
  71224. }
  71225. RefundPlayer(playerid);
  71226. WelcomePlayer(playerid);
  71227. ShowPlayerDialogEx(playerid, DIALOG_NEWBWELCOME, DIALOG_STYLE_MSGBOX, "{FFFFFF}Welcome to {FFA500}Sleepless Roleplay", "Would you like one of our Senior Helpers to give you a tour of the server?", "Yes", "No");
  71228. TutorialProgress[playerid] = 0;
  71229. TogglePlayerControllable(playerid, true);
  71230. }
  71231. }
  71232. forward SafeLoadObjects(playerid);
  71233. public SafeLoadObjects(playerid)
  71234. {
  71235. Streamer_Update(playerid);
  71236. if(GetPVarType(playerid, "LoadingObjects"))
  71237. {
  71238. DeletePVar(playerid, "LoadingObjects");
  71239. TogglePlayerControllable(playerid, 1);
  71240. TextDrawSetString(ObjectsLoadingTD[1], "OBJECTS LOADED!");
  71241. TextDrawColor(ObjectsLoadingTD[1], COLOR_GREEN);
  71242. TextDrawHideForPlayer(playerid, ObjectsLoadingTD[1]);
  71243. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[1]);
  71244. SetTimerEx("SafeLoadObjectsClear", 500, 0, "d", playerid);
  71245. }
  71246. if(GetPVarType(playerid, "MedicCall")) {
  71247. ClearAnimations(playerid);
  71248. ApplyAnimation(playerid, "KNIFE", "KILL_Knife_Ped_Die", 4.0, 0, 1, 1, 1, 0, 1);
  71249. }
  71250. }
  71251. forward SafeLoadObjectsClear(playerid);
  71252. public SafeLoadObjectsClear(playerid)
  71253. {
  71254. for(new o = 0; o < 2; o++)
  71255. {
  71256. TextDrawHideForPlayer(playerid, ObjectsLoadingTD[o]);
  71257. }
  71258. }
  71259. stock ClearMarriage(playerid)
  71260. {
  71261. if(IsPlayerConnected(playerid)) {
  71262. new string[MAX_PLAYER_NAME];
  71263. format(string, sizeof(string), "Nobody");
  71264. strmid(PlayerInfo[playerid][pMarriedTo], string, 0, strlen(string), 255);
  71265. PlayerInfo[playerid][pMarried] = 0;
  71266. }
  71267. return 1;
  71268. }
  71269. forward VehicleBombDelay(playerid);
  71270. public VehicleBombDelay(playerid)
  71271. {
  71272. new
  71273. string[128],
  71274. name2[MAX_PLAYER_NAME],
  71275. name[MAX_PLAYER_NAME];
  71276. new Float:boomx, Float:boomy, Float:boomz;
  71277. GetPlayerPos(playerid,boomx, boomy, boomz);
  71278. CreateExplosion(boomx, boomy , boomz, 7, 1);
  71279. PlacedVehicleBomb[GetChased[playerid]] = INVALID_VEHICLE_ID;
  71280. new takemoney = PlayerInfo[playerid][pHeadValue] / 4 * 2;
  71281. name = GetPlayerNameEx(playerid);
  71282. GivePlayerCash(GetChased[playerid], takemoney);
  71283. GivePlayerCash(playerid, -takemoney);
  71284. format(string,sizeof(string),"Hitman %s has fulfilled the contract on %s and collected $%d.",GetPlayerNameEx(GetChased[playerid]),GetPlayerNameEx(playerid),PlayerInfo[playerid][pHeadValue] / 4 * 2);
  71285. SendFamilyMessage(4, COLOR_YELLOW, string);
  71286. format(string,sizeof(string),"You have been critically injured by a hitman and lost $%d!",takemoney);
  71287. ResetPlayerWeaponsEx(playerid);
  71288. // SpawnPlayer(playerid);
  71289. SendClientMessage(playerid, COLOR_YELLOW, string);
  71290. foreach(Player, i) {
  71291. name2 = GetPlayerNameEx(i);
  71292. if(!strcmp(PlayerInfo[playerid][pContractBy], name2, true)) {
  71293. if(!IsPlayerStreamedIn(i, playerid)) {
  71294. format(string, sizeof(string), "SMS: The deed (on %s) has been done, Sender: MOLE (555)", name);
  71295. SendClientMessage(i, COLOR_YELLOW, string);
  71296. }
  71297. }
  71298. }
  71299. PlayerInfo[playerid][pHeadValue] = 0;
  71300. strcpy(PlayerInfo[playerid][pContractBy], "Nobody", 64);
  71301. strcpy(PlayerInfo[playerid][pContractDetail], "None", 64);
  71302. PlayerInfo[GetChased[playerid]][pCHits] += 1;
  71303. SetPlayerHealth(playerid, 0.0);
  71304. // KillEMSQueue(playerid);
  71305. GoChase[GetChased[playerid]] = 999;
  71306. PlayerInfo[GetChased[playerid]][pC4Used] = 0;
  71307. PlayerInfo[GetChased[playerid]][pC4] = 0;
  71308. GotHit[playerid] = 0;
  71309. GetChased[playerid] = 999;
  71310. return 1;
  71311. }
  71312. /*forward MenuCamFix(playerid);
  71313. public MenuCamFix(playerid)
  71314. {
  71315. SetCameraBehindPlayer(playerid);
  71316. }*/
  71317. forward OtherTimerEx(playerid, type);
  71318. public OtherTimerEx(playerid, type)
  71319. {
  71320. if(type == TYPE_TPMATRUNTIMER)
  71321. {
  71322. if(GetPVarInt(playerid, "tpMatRunTimer") > 0)
  71323. {
  71324. SetPVarInt(playerid, "tpMatRunTimer", GetPVarInt(playerid, "tpMatRunTimer")-1);
  71325. SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_TPMATRUNTIMER);
  71326. }
  71327. }
  71328. else if(type == TYPE_TPDRUGRUNTIMER)
  71329. {
  71330. if(GetPVarInt(playerid, "tpDrugRunTimer") > 0)
  71331. {
  71332. SetPVarInt(playerid, "tpDrugRunTimer", GetPVarInt(playerid, "tpDrugRunTimer")-1);
  71333. SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_TPDRUGRUNTIMER);
  71334. }
  71335. }
  71336. else if(type == TYPE_ARMSTIMER)
  71337. {
  71338. if(GetPVarInt(playerid, "ArmsTimer") > 0)
  71339. {
  71340. SetPVarInt(playerid, "ArmsTimer", GetPVarInt(playerid, "ArmsTimer")-1);
  71341. SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_ARMSTIMER);
  71342. }
  71343. }
  71344. else if(type == TYPE_GUARDTIMER)
  71345. {
  71346. if(GetPVarInt(playerid, "GuardTimer") > 0)
  71347. {
  71348. SetPVarInt(playerid, "GuardTimer", GetPVarInt(playerid, "GuardTimer")-1);
  71349. SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GUARDTIMER);
  71350. }
  71351. }
  71352. else if(type == TYPE_BETTIMER)
  71353. {
  71354. if(GetPVarInt(playerid, "BetTimer") > 0)
  71355. {
  71356. SetPVarInt(playerid, "BetTimer", GetPVarInt(playerid, "BetTimer")-1);
  71357. SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_BETTIMER);
  71358. }
  71359. }
  71360. else if(type == TYPE_BPTIMER)
  71361. {
  71362. if(GetPVarInt(playerid, "BPTimer") > 0)
  71363. {
  71364. SetPVarInt(playerid, "BPTimer", GetPVarInt(playerid, "BPTimer")-1);
  71365. SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_BPTIMER);
  71366. }
  71367. }
  71368. else if(type == TYPE_GIVEWEAPONTIMER)
  71369. {
  71370. if(GetPVarInt(playerid, "GiveWeaponTimer") > 0)
  71371. {
  71372. SetPVarInt(playerid, "GiveWeaponTimer", GetPVarInt(playerid, "GiveWeaponTimer")-1);
  71373. SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_GIVEWEAPONTIMER);
  71374. }
  71375. }
  71376. else if(type == TYPE_SELLMATSTIMER)
  71377. {
  71378. if(GetPVarInt(playerid, "SellMatsTimer") > 0)
  71379. {
  71380. SetPVarInt(playerid, "SellMatsTimer", GetPVarInt(playerid, "SellMatsTimer")-1);
  71381. SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_SELLMATSTIMER);
  71382. }
  71383. }
  71384. else if(type == TYPE_TPTRUCKRUNTIMER)
  71385. {
  71386. if(GetPVarInt(playerid, "tpTruckRunTimer") > 0)
  71387. {
  71388. SetPVarInt(playerid, "tpTruckRunTimer", GetPVarInt(playerid, "tpTruckRunTimer")-1);
  71389. SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_TPTRUCKRUNTIMER);
  71390. }
  71391. }
  71392. else if(type == TYPE_HOSPITALTIMER)
  71393. {
  71394. if(GetPVarInt(playerid, "HospitalTimer") > 0)
  71395. {
  71396. new Float:curhealth;
  71397. GetPlayerHealth(playerid, curhealth);
  71398. SetPVarInt(playerid, "HospitalTimer", GetPVarInt(playerid, "HospitalTimer")-1);
  71399. SetPlayerHealth(playerid, curhealth+1);
  71400. SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_HOSPITALTIMER);
  71401. if(GetPVarInt(playerid, "HospitalTimer") == 0)
  71402. {
  71403. HospitalSpawn(playerid);
  71404. }
  71405. }
  71406. }
  71407. else if(type == TYPE_FLOODPROTECTION)
  71408. {
  71409. if(CommandSpamUnmute[playerid] >= 1)
  71410. {
  71411. CommandSpamUnmute[playerid]--;
  71412. SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_FLOODPROTECTION);
  71413. }
  71414. if(TextSpamUnmute[playerid] >= 1)
  71415. {
  71416. TextSpamUnmute[playerid]--;
  71417. SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_FLOODPROTECTION);
  71418. }
  71419. }
  71420. else if(type == TYPE_TPPIZZARUNTIMER)
  71421. {
  71422. if(GetPVarInt(playerid, "tpPizzaTimer") > 0 && GetPVarInt(playerid, "Pizza"))
  71423. {
  71424. SetPVarInt(playerid, "tpPizzaTimer", GetPVarInt(playerid, "tpPizzaTimer")-1);
  71425. SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_TPPIZZARUNTIMER);
  71426. }
  71427. }
  71428. else if(type == TYPE_PIZZATIMER)
  71429. {
  71430. if(GetPVarInt(playerid, "pizzaTimer") == 0)
  71431. {
  71432. SendClientMessage(playerid, COLOR_WHITE, "You failed to deliver the pizza to the house before it got cold!");
  71433. SetPVarInt(playerid, "Pizza", 0);
  71434. DestroyProgressBar(PizzaBar[playerid]);
  71435. DisablePlayerCheckpoint(playerid);
  71436. }
  71437. else if(GetPVarInt(playerid, "Pizza") == 0)
  71438. {
  71439. DestroyProgressBar(PizzaBar[playerid]);
  71440. DisablePlayerCheckpoint(playerid);
  71441. }
  71442. else if(GetPVarInt(playerid, "pizzaTimer") > 0 && GetPVarInt(playerid, "Pizza") > 0)
  71443. {
  71444. SetPVarInt(playerid, "pizzaTimer", GetPVarInt(playerid, "pizzaTimer")-1);
  71445. SetProgressBarValue(PizzaBar[playerid], (GetPVarInt(playerid, "pizzaTimer") * 100.0 / GetPVarInt(playerid, "pizzaTotal")));
  71446. UpdateProgressBar(PizzaBar[playerid], playerid);
  71447. SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_PIZZATIMER);
  71448. }
  71449. }
  71450. else if(type == TYPE_SELLMYTIMER)
  71451. {
  71452. if(GetPVarInt(playerid, "SellMyTimer") > 0)
  71453. {
  71454. SetPVarInt(playerid, "SellMyTimer", GetPVarInt(playerid, "SellMyTimer")-1);
  71455. SetTimerEx("OtherTimerEx", 1000, false, "ii", playerid, TYPE_SELLMYTIMER);
  71456. }
  71457. }
  71458. }
  71459. stock VehicleToPoint(Float:radi, vehicleid, Float:x, Float:y, Float:z)
  71460. {
  71461. new Float:oldposx, Float:oldposy, Float:oldposz;
  71462. new Float:tempposx, Float:tempposy, Float:tempposz;
  71463. GetVehiclePos(vehicleid, oldposx, oldposy, oldposz);
  71464. tempposx = (oldposx -x);
  71465. tempposy = (oldposy -y);
  71466. tempposz = (oldposz -z);
  71467. if(((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
  71468. {
  71469. return 1;
  71470. }
  71471. return 0;
  71472. }
  71473. encode_tires(tire1, tire2, tire3, tire4)
  71474. {
  71475. return tire1 | (tire2 << 1) | (tire3 << 2) | (tire4 << 3);
  71476. }
  71477. forward AFKick(playerid);
  71478. public AFKick(playerid)
  71479. {
  71480. if(playerTabbed[playerid] != 0)
  71481. {
  71482. playerTabbedTime[playerid]++;
  71483. if(playerTabbedTime[playerid] > 3600 && GetPVarType(playerid, "tabbedVW") == 0) {
  71484. SetPVarInt(playerid, "tabbedVW", GetPlayerVirtualWorld(playerid));
  71485. SetPlayerVirtualWorld(playerid, playerid+1); // so player ID 0 will never be in VW 0, +1.
  71486. }
  71487. SetTimerEx("AFKick",1000,false,"d",playerid);
  71488. }
  71489. return 1;
  71490. }
  71491. forward ReportTimer(reportid);
  71492. public ReportTimer(reportid)
  71493. {
  71494. if(Reports[reportid][BeingUsed] == 1)
  71495. {
  71496. if(Reports[reportid][TimeToExpire] > 0)
  71497. {
  71498. Reports[reportid][TimeToExpire]--;
  71499. if(Reports[reportid][TimeToExpire] == 0)
  71500. {
  71501. SendClientMessage(Reports[reportid][ReportFrom], COLOR_GRAD2, "Your report has expired. You can attempt to report again if you wish.");
  71502. SendClientMessage(Reports[reportid][ReportFrom], COLOR_GRAD2, "But it's recommended you seek additonal help on the forums (www.Serenity)");
  71503. Reports[reportid][BeingUsed] = 0;
  71504. Reports[reportid][ReportFrom] = 999;
  71505. return 1;
  71506. }
  71507. Reports[reportid][ReportExpireTimer] = SetTimerEx("ReportTimer", 60000, 0, "d", reportid);
  71508. }
  71509. }
  71510. return 1;
  71511. }
  71512. forward ReplyTimer(reportid);
  71513. public ReplyTimer(reportid)
  71514. {
  71515. Reports[reportid][BeingUsed] = 0;
  71516. Reports[reportid][ReportFrom] = 999;
  71517. Reports[reportid][CheckingReport] = 999;
  71518. }
  71519. forward CaptureTimer(point);
  71520. public CaptureTimer(point)
  71521. {
  71522. new string[128];
  71523. new fam;
  71524. if(Points[point][ClaimerId] != INVALID_PLAYER_ID && Points[point][TimeToClaim])
  71525. {
  71526. new claimer = Points[point][ClaimerId];
  71527. new Float: x, Float: y, Float: z;
  71528. GetPlayerPos(claimer, x, y, z);
  71529. if(Points[point][Capturex] != x || Points[point][Capturey] != y || Points[point][Capturez] != z || GetPVarInt(Points[point][ClaimerId],"Injured") == 1)
  71530. {
  71531. SendClientMessage(Points[point][ClaimerId], COLOR_LIGHTBLUE, "You failed to capture. You either moved or died while attempting to capture.");
  71532. Points[point][ClaimerId] = INVALID_PLAYER_ID;
  71533. Points[point][TimeToClaim] = 0;
  71534. }
  71535. else
  71536. {
  71537. if(Points[point][Vulnerable] > 0)
  71538. {
  71539. SendClientMessage(Points[point][ClaimerId], COLOR_LIGHTBLUE, "You failed to capture. The point was already captured.");
  71540. Points[point][ClaimerId] = INVALID_PLAYER_ID;
  71541. Points[point][TimeToClaim] = 0;
  71542. return 1;
  71543. }
  71544. if(playerTabbed[claimer] != 0)
  71545. {
  71546. SendClientMessage(Points[point][ClaimerId], COLOR_LIGHTBLUE, "You failed to capture. You were alt-tabbed.");
  71547. format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) may have possibly alt tabbed to capture a point.", GetPlayerNameEx(claimer), claimer);
  71548. ABroadCast(COLOR_YELLOW, string, 1);
  71549. format(string, sizeof(string), "%s may have possibly alt tabbed to capture a point.", GetPlayerNameEx(claimer));
  71550. AddAutomatedFlag(claimer, string);
  71551. Points[point][ClaimerId] = INVALID_PLAYER_ID;
  71552. Points[point][TimeToClaim] = 0;
  71553. return 1;
  71554. }
  71555. fam = PlayerInfo[claimer][pGang];
  71556. Points[point][PlayerNameCapping] = GetPlayerNameEx(claimer);
  71557. format(string, sizeof(string), "%s is attempting to take over of the %s for %s, they'll own it in %d minutes.", Points[point][PlayerNameCapping], Points[point][Name], FamilyInfo[fam][FamilyName], TIME_TO_TAKEOVER);
  71558. SendClientMessageToAllEx(COLOR_YELLOW, string);
  71559. if(Points[point][CaptureProccessEx] >= 1)
  71560. {
  71561. Points[point][CaptureProccessEx] = 2;
  71562. }
  71563. Points[point][TakeOverTimerStarted] = 1;
  71564. Points[point][TakeOverTimer] = 10;
  71565. Points[point][ClaimerId] = INVALID_PLAYER_ID;
  71566. Points[point][ClaimerTeam] = fam;
  71567. Points[point][TimeToClaim] = 0;
  71568. if(Points[point][CaptureTimerEx2] != -1) KillTimer(Points[point][CaptureTimerEx2]);
  71569. Points[point][CaptureTimerEx2] = SetTimerEx("CaptureTimerEx", 60000, 1, "d", point);
  71570. }
  71571. }
  71572. return 1;
  71573. }
  71574. forward ProgressTimer(point);
  71575. public ProgressTimer(point)
  71576. {
  71577. if(Points[point][ClaimerId] != INVALID_PLAYER_ID && Points[point][TimeToClaim])
  71578. {
  71579. Points[point][TimeLeft]--;
  71580. SetProgressBarValue(Points[point][PointBarID], GetProgressBarValue(Points[point][PointBarID])-10.0);
  71581. UpdateProgressBar(Points[point][PointBarID], Points[point][ClaimerId]);
  71582. if(Points[point][TimeLeft] >= 1) SetTimerEx("ProgressTimer", 1000, 0, "d", point);
  71583. new string[128];
  71584. format(string, sizeof(string), "%s is attempting to capture the point, time left: %d", GetPlayerNameEx(Points[point][ClaimerId]), Points[point][TimeLeft]);
  71585. if(Points[point][TimeLeft] == 9) Points[point][CaptureProgress] = CreateDynamic3DTextLabel(string, COLOR_RED, Points[point][Pointx], Points[point][Pointy], Points[point][Pointz]+1.0, 10.0);
  71586. else if(Points[point][TimeLeft] < 9 && Points[point][TimeLeft] >= 0) UpdateDynamic3DTextLabelText(Points[point][CaptureProgress], COLOR_RED, string);
  71587. if(Points[point][TimeLeft] == 5)
  71588. {
  71589. SetProgressBarColor(Points[point][PointBarID], COLOR_YELLOW);
  71590. UpdateProgressBar(Points[point][PointBarID], Points[point][ClaimerId]);
  71591. }
  71592. else if(Points[point][TimeLeft] == 2)
  71593. {
  71594. SetProgressBarColor(Points[point][PointBarID], COLOR_RED);
  71595. UpdateProgressBar(Points[point][PointBarID], Points[point][ClaimerId]);
  71596. }
  71597. else if(Points[point][TimeLeft] <= 0)
  71598. {
  71599. CaptureTimer(point);
  71600. Points[point][TimeLeft] = 0;
  71601. DestroyProgressBar(Points[point][PointBarID]);
  71602. DestroyDynamic3DTextLabel(Points[point][CaptureProgress]);
  71603. }
  71604. }
  71605. else
  71606. {
  71607. DestroyProgressBar(Points[point][PointBarID]);
  71608. DestroyDynamic3DTextLabel(Points[point][CaptureProgress]);
  71609. Points[point][ClaimerId] = INVALID_PLAYER_ID;
  71610. Points[point][TimeToClaim] = 0;
  71611. }
  71612. return 1;
  71613. }
  71614. forward CaptureTimerEx(point);
  71615. public CaptureTimerEx(point)
  71616. {
  71617. new string[128];
  71618. new fam;
  71619. if(Points[point][TakeOverTimerStarted])
  71620. {
  71621. fam = Points[point][ClaimerTeam];
  71622. if(Points[point][TakeOverTimer] > 0)
  71623. {
  71624. Points[point][TakeOverTimer]--;
  71625. //format(string, sizeof(string), "%s has successfully attempted to take over of %s for %s, it will be theirs in %d minutes!",
  71626. //Points[point][PlayerNameCapping], Points[point][Name], FamilyInfo[fam][FamilyName], Points[point][TakeOverTimer]);
  71627. //UpdateDynamic3DTextLabelText(Points[point][CaptureProccess], COLOR_YELLOW, string);
  71628. }
  71629. else
  71630. {
  71631. Points[point][ClaimerTeam] = INVALID_PLAYER_ID;
  71632. Points[point][TakeOverTimer] = 0;
  71633. Points[point][TakeOverTimerStarted] = 0;
  71634. Points[point][Announced] = 0;
  71635. Points[point][Vulnerable] = NEW_VULNERABLE;
  71636. //DestroyDynamic3DTextLabel(Points[point][CaptureProccess]);
  71637. Points[point][CaptureProccessEx] = 0;
  71638. strmid(Points[point][Owner], FamilyInfo[fam][FamilyName], 0, 32, 32);
  71639. strmid(Points[point][CapperName], Points[point][PlayerNameCapping], 0, 32, 32);
  71640. format(string, sizeof(string), "%s has taken control of the %s for %s.", Points[point][CapperName], Points[point][Name], Points[point][Owner]);
  71641. SendClientMessageToAllEx(COLOR_YELLOW, string);
  71642. UpdatePoints();
  71643. KillTimer(Points[point][CaptureTimerEx2]);
  71644. Points[point][CaptureTimerEx2] = -1;
  71645. }
  71646. }
  71647. }
  71648. stock SurfingCheck(vehicleid)
  71649. {
  71650. foreach(Player, p)
  71651. {
  71652. if(GetPlayerSurfingVehicleID(p) == vehicleid)
  71653. {
  71654. new Float:x, Float:y, Float:z;
  71655. GetPlayerPos(p, x, y, z);
  71656. SetPVarFloat(p, "tempPosX", x);
  71657. SetPVarFloat(p, "tempPosY", x);
  71658. SetPVarFloat(p, "tempPosZ", x);
  71659. SetTimerEx("SurfingFix", 2000, 0, "i", p);
  71660. }
  71661. }
  71662. }
  71663. forward SurfingFix(playerid);
  71664. public SurfingFix(playerid)
  71665. {
  71666. SetPlayerPos(playerid, GetPVarFloat(playerid, "tmpPosX"), GetPVarFloat(playerid, "tmpPosY"), GetPVarFloat(playerid, "tmpPosZ"));
  71667. DeletePVar(playerid, "tmpPosX");
  71668. DeletePVar(playerid, "tmpPosY");
  71669. DeletePVar(playerid, "tmpPosZ");
  71670. return 1;
  71671. }
  71672. forward PutPlayerInVeh(playerid, car);
  71673. public PutPlayerInVeh(playerid, car)
  71674. {
  71675. PutPlayerInVehicle(playerid, car, 0);
  71676. return 1;
  71677. }
  71678. forward DrinkCooldown(playerid);
  71679. public DrinkCooldown(playerid)
  71680. {
  71681. SetPVarInt(playerid, "DrinkCooledDown", 1);
  71682. return 1;
  71683. }
  71684. forward RadarCooldown(playerid);
  71685. public RadarCooldown(playerid)
  71686. {
  71687. DeletePVar(playerid, "RadarTimeout");
  71688. return 1;
  71689. }
  71690. // Timer Name: PayMusic(playerid)
  71691. Delay:PayMusic[3000, i](playerid)
  71692. {
  71693. PlayerPlaySound(playerid, SOUND_MUSIC1, 2050.1995, 1344.5500, 13.2378); //Music Off
  71694. return 1;
  71695. }
  71696. // Timer Name: SkinDelay(playerid)
  71697. Delay:SkinDelay[2000, i](playerid)
  71698. {
  71699. if(PlayerInfo[playerid][pJailed] == 3 || PlayerInfo[playerid][pJailed] == 4)
  71700. {
  71701. SetPlayerSkin(playerid, 50);
  71702. ClearAnimations(playerid);
  71703. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
  71704. return 1;
  71705. }
  71706. SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
  71707. ClearAnimations(playerid);
  71708. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
  71709. return 1;
  71710. }
  71711. // Timer Name: NOPCheck(playerid)
  71712. Delay:NOPCheck[5000, i](playerid)
  71713. {
  71714. if(GetPlayerState(playerid) != 2) NOPTrigger[playerid] = 0;
  71715. new newcar = GetPlayerVehicleID(playerid);
  71716. if(PlayerInfo[playerid][pAdmin] > 4 || GetPlayerState(playerid) != 2) return 1;
  71717. else if(IsACopCar(newcar) && PlayerInfo[playerid][pFaction] != 1 && PlayerInfo[playerid][pLeader] != 1) ExecuteNOPAction(playerid);
  71718. else if(IsAFBICar(newcar) && PlayerInfo[playerid][pFaction] != 2 && PlayerInfo[playerid][pLeader] != 2) ExecuteNOPAction(playerid);
  71719. else if(IsAnAmbulance(newcar) && PlayerInfo[playerid][pFaction] != 3 && PlayerInfo[playerid][pLeader] != 3) ExecuteNOPAction(playerid);
  71720. else if(IsAGovCar(newcar) && PlayerInfo[playerid][pFaction] != 5 && PlayerInfo[playerid][pLeader] != 5) ExecuteNOPAction(playerid);
  71721. else if(IGMAVeh(newcar) && PlayerInfo[playerid][pFaction] != 9 && PlayerInfo[playerid][pLeader] != 9) ExecuteNOPAction(playerid);
  71722. else if(IsATruckerCar(newcar) && PlayerInfo[playerid][pJob] != 20 && PlayerInfo[playerid][pJob2] != 20) ExecuteNOPAction(playerid);
  71723. else if(IsAPizzaCar(newcar) && PlayerInfo[playerid][pJob] != 21 && PlayerInfo[playerid][pJob2] != 21) ExecuteNOPAction(playerid);
  71724. else if(IsAPlane(newcar) && (PlayerInfo[playerid][pFlyLic] != 1)) ExecuteNOPAction(playerid);
  71725. return 1;
  71726. }
  71727. // Timer Name: ServerMicrobeat()
  71728. // TickRate: 400 Milliseconds
  71729. Timer:ServerMicrobeat[400]()
  71730. {
  71731. new
  71732. Float: fCurrentSpeed,
  71733. iVehicle,
  71734. arrDamage[4],
  71735. szSpeed[42];
  71736. foreach(Player, i)
  71737. {
  71738. if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
  71739. {
  71740. if(arr_Towing[i] != INVALID_VEHICLE_ID) {
  71741. if(GetVehicleModel(arr_Towing[i]) && IsVehicleStreamedIn(arr_Towing[i], i)) AttachTrailerToVehicle(arr_Towing[i], GetPlayerVehicleID(i));
  71742. else arr_Towing[i] = INVALID_VEHICLE_ID;
  71743. }
  71744. fCurrentSpeed = player_get_speed(i);
  71745. if(PlayerInfo[i][pSpeedo] != 0 && FindTimePoints[i] == 0) {
  71746. format(szSpeed, sizeof(szSpeed),"~n~~n~~n~~n~~n~~n~~n~~n~~n~~w~%.0f MPH", fCurrentSpeed);
  71747. GameTextForPlayer(i, szSpeed, 1500, 3);
  71748. new string[128];
  71749. format(string, sizeof(string), "SPEED: %.0f", player_get_speed(i));
  71750. PlayerTextDrawSetString(i, Textdraw0[i], string);
  71751. }
  71752. iVehicle = GetPlayerVehicleID(i);
  71753. for(new x = 0; x < sizeof(SpikeStrips); ++x) if(SpikeStrips[x][sX] != 0 && GetVehicleDistanceFromPoint(iVehicle, SpikeStrips[x][sX], SpikeStrips[x][sY], SpikeStrips[x][sZ]) <= 3.5) {
  71754. GetVehicleDamageStatus(iVehicle, arrDamage[0], arrDamage[1], arrDamage[2], arrDamage[3]);
  71755. arrDamage[3] = encode_tires(1, 1, 1, 1);
  71756. UpdateVehicleDamageStatus(iVehicle, arrDamage[0], arrDamage[1], arrDamage[2], arrDamage[3]);
  71757. }
  71758. }
  71759. }
  71760. }
  71761. Timer:BusinessTime[1000]()
  71762. {
  71763. for(new idx = 1; idx < sizeof(BusinessInfo); idx++)//Creates a loop, that goes through all of the businesses.
  71764. {
  71765. if(BusinessInfo[idx][bPrice] != 0)
  71766. {
  71767. SaveBusiness(idx);
  71768. }
  71769. }
  71770. }
  71771. Timer:Paintball[1000]()
  71772. {
  71773. for(new f = 0; f < 10; f++) {
  71774. if(gaPaintballGameTimeRemaining[f] > 0) {
  71775. gaPaintballGameTimeRemaining[f]--;
  71776. new
  71777. //szScoreText[512],
  71778. szWinner[128],
  71779. szMessage[128];
  71780. if(gaPaintballGameTimeRemaining[f] == 1) {
  71781. new
  71782. Float: fHighestScore,
  71783. iHighestScorer = INVALID_PLAYER_ID;
  71784. foreach(Player, x) {
  71785. new kills = GetPVarInt(x, "PBMK");
  71786. new deaths = GetPVarInt(x, "PBMD");
  71787. new score;
  71788. score = kills - deaths;
  71789. if(score > fHighestScore && GetPVarInt(x, "PBM") == f) {
  71790. fHighestScore = score;
  71791. iHighestScorer = x;
  71792. }
  71793. }
  71794. if(iHighestScorer != INVALID_PLAYER_ID) { // just in case no valid player won
  71795. new kills = GetPVarInt(iHighestScorer, "PBMK");
  71796. new deaths = GetPVarInt(iHighestScorer, "PBMD");
  71797. new fkills = kills / 5;
  71798. new fdeaths = deaths / 5;
  71799. new score;
  71800. score = kills - deaths;
  71801. format(szWinner, sizeof(szWinner), "The winner of the round is %s! (%d kills, %d deaths, score of %d)", GetPlayerNameEx(iHighestScorer), fkills, fdeaths, score);
  71802. } else {
  71803. format(szWinner, sizeof(szWinner), "No winner this time around!");
  71804. }
  71805. /*new
  71806. scIt;
  71807. foreach(Player, x) {
  71808. PlayerRatio[scIt][iKills] = GetPVarInt(x, "PBMK");
  71809. PlayerRatio[scIt][iPlayerID] = x;
  71810. scIt++;
  71811. }
  71812. HighScores(PlayerRatio, 0, MAX_PLAYERS);
  71813. new
  71814. iterator,
  71815. iterator2;
  71816. format(szScoreText, sizeof(szScoreText), "The scoreboard is as follows:\n\n");
  71817. foreach(Player, x) {
  71818. SendClientMessageToAll(COLOR_YELLOW, szScoreText);
  71819. print(szScoreText);
  71820. iterator2++;
  71821. if(GetPVarInt(x, "PBM") == f) {
  71822. iterator++;
  71823. format(szScoreText, sizeof(szScoreText), "%s%d. %s - %d kills, %d deaths\n", szScoreText, iterator, GetPlayerNameEx(PlayerRatio[iterator][iPlayerID]), PlayerRatio[iterator][iKills], GetPVarInt(PlayerRatio[iterator][iPlayerID], "PBMD"));
  71824. }
  71825. }*/
  71826. }
  71827. foreach(Player, playerid) {
  71828. if(GetPVarInt(playerid, "PBM") == f) {
  71829. switch(gaPaintballGameTimeRemaining[f]) {
  71830. case 9: GameTextForPlayer(playerid, "~r~ Game ends in...~n~ ~g~ 8", 1000, 3);
  71831. case 8: GameTextForPlayer(playerid, "~r~ Game ends in...~n~ ~g~ 7", 1000, 3);
  71832. case 7: GameTextForPlayer(playerid, "~r~ Game ends in...~n~ ~g~ 6", 1000, 3);
  71833. case 6: {
  71834. GameTextForPlayer(playerid, "~r~ Game ends in...~n~ ~g~ 5", 1000, 3);
  71835. TogglePlayerControllable(playerid, false);
  71836. }
  71837. case 5: GameTextForPlayer(playerid, "~r~ Game ends in...~n~ ~g~ 4", 1000, 3);
  71838. case 4: GameTextForPlayer(playerid, "~r~ Game ends in...~n~ ~g~ 3", 1000, 3);
  71839. case 3: GameTextForPlayer(playerid, "~r~ Game ends in...~n~ ~g~ 2", 1000, 3);
  71840. case 2: GameTextForPlayer(playerid, "~r~ Game ends in...~n~ ~y~ 1", 1000, 3);
  71841. case 1: {
  71842. GameTextForPlayer(playerid, "~r~ Game ~r~over!", 2000, 3);
  71843. SendClientMessage(playerid, COLOR_RED, "Game over!");
  71844. SetPlayerPos(playerid, 1941.301635,-1695.501098,-26.661914);
  71845. SetPlayerInterior(playerid, 0);
  71846. SetPlayerVirtualWorld(playerid, 0);
  71847. for(new o = 0; o < 2; o++)
  71848. {
  71849. TextDrawShowForPlayer(playerid, ObjectsLoadingTD[o]);
  71850. }
  71851. SetPVarInt(playerid, "LoadingObjects", 1);
  71852. SetTimerEx("SafeLoadObjects", 3000, 0, "d", playerid);
  71853. //ShowPlayerDialogEx(playerid, 0, DIALOG_STYLE_MSGBOX, "Scoreboard (in order of kills)", szScoreText, "OK", "");
  71854. new kills = GetPVarInt(playerid, "PBMK");
  71855. new deaths = GetPVarInt(playerid, "PBMD");
  71856. new fkills = kills / 5;
  71857. new fdeaths = deaths / 5;
  71858. new score;
  71859. score = kills - deaths;
  71860. SendClientMessage(playerid, COLOR_ORANGE, szWinner);
  71861. format(szMessage, sizeof(szMessage), "You gained %d kills and you died %d times (Score: %d).", fkills, fdeaths, score);
  71862. SendClientMessage(playerid, COLOR_WHITE, szMessage);
  71863. DeletePVar(playerid, "PBM");
  71864. DeletePVar(playerid, "PBMK");
  71865. DeletePVar(playerid, "PBMD");
  71866. if(GetPVarType(playerid, "PBMT") != 0) {
  71867. SetPlayerToTeamColor(playerid);
  71868. DeletePVar(playerid, "PBMT");
  71869. }
  71870. SetPlayerHealth(playerid, GetPVarFloat(playerid, "pbhealth"));
  71871. SetPlayerArmourEx(playerid, GetPVarFloat(playerid, "pbarmour"));
  71872. ResetPlayerWeapons(playerid);
  71873. PlayerInfo[playerid][pAGuns][0] = 0;
  71874. PlayerInfo[playerid][pAGuns][1] = 0;
  71875. PlayerInfo[playerid][pAGuns][2] = 0;
  71876. PlayerInfo[playerid][pAGuns][3] = 0;
  71877. PlayerInfo[playerid][pAGuns][4] = 0;
  71878. PlayerInfo[playerid][pAGuns][5] = 0;
  71879. PlayerInfo[playerid][pAGuns][6] = 0;
  71880. PlayerInfo[playerid][pAGuns][7] = 0;
  71881. PlayerInfo[playerid][pAGuns][8] = 0;
  71882. PlayerInfo[playerid][pAGuns][9] = 0;
  71883. PlayerInfo[playerid][pAGuns][10] = 0;
  71884. PlayerInfo[playerid][pAGuns][11] = 0;
  71885. SetPlayerWeapons(playerid);
  71886. DeletePVar(playerid, "pbhealth");
  71887. DeletePVar(playerid, "pbarmour");
  71888. }
  71889. }
  71890. }
  71891. }
  71892. }
  71893. }
  71894. }
  71895. // Timer Name: ServerHeartbeat()
  71896. // TickRate: 1 secs.
  71897. Timer:ServerHeartbeat[1000]()
  71898. {
  71899. foreach(Player, i)
  71900. {
  71901. if(playerTabbed[i] != 1) switch(PlayerInfo[i][pLevel])
  71902. {
  71903. case 0 .. 2: PlayerInfo[i][pPayCheck] += 1;
  71904. case 3 .. 4: PlayerInfo[i][pPayCheck] += 2;
  71905. case 5 .. 6: PlayerInfo[i][pPayCheck] += 3;
  71906. case 7 .. 8: PlayerInfo[i][pPayCheck] += 4;
  71907. case 9 .. 10: PlayerInfo[i][pPayCheck] += 5;
  71908. case 11 .. 12: PlayerInfo[i][pPayCheck] += 6;
  71909. case 13 .. 14: PlayerInfo[i][pPayCheck] += 7;
  71910. case 15 .. 16: PlayerInfo[i][pPayCheck] += 8;
  71911. case 17 .. 18: PlayerInfo[i][pPayCheck] += 9;
  71912. case 19 .. 20: PlayerInfo[i][pPayCheck] += 10;
  71913. default: PlayerInfo[i][pPayCheck] += 11;
  71914. }
  71915. if(GetPVarType(i, "DistortAim") != 0) {
  71916. if(GetPlayerSurfingVehicleID(i) == INVALID_VEHICLE_ID) {
  71917. DeletePVar(i, "DistortAim");
  71918. SetPlayerDrunkLevel(i, 0);
  71919. }
  71920. }
  71921. if(GetPlayerSurfingVehicleID(i) != INVALID_VEHICLE_ID) {
  71922. if(GetVehicleSpeedByVehicleID(GetPlayerSurfingVehicleID(i)) > 7) {
  71923. if(GetPVarType(i, "DistortAim") == 0) {
  71924. switch(GetVehicleModel(GetPlayerSurfingVehicleID(i))) {
  71925. case 422, 478, 543, 554, 600, 605, 607, 472, 473, 493, 595, 484, 430, 453, 452, 446, 454: {
  71926. SetPVarInt(i, "DistortAim", 1);
  71927. SetPlayerDrunkLevel(i, 35000);
  71928. }
  71929. default: {
  71930. GetPlayerPos(i, PlayerInfo[i][pPos_x], PlayerInfo[i][pPos_y], PlayerInfo[i][pPos_z]);
  71931. SetPlayerPos(i, PlayerInfo[i][pPos_x], PlayerInfo[i][pPos_y]+1.5, PlayerInfo[i][pPos_z]);
  71932. GameTextForPlayer(i, "~r~ You slipped off!", 1500, 3);
  71933. }
  71934. }
  71935. }
  71936. }
  71937. }
  71938. if(PlayerInfo[i][pJailed] > 0)
  71939. {
  71940. if(PlayerInfo[i][pJailTime] > 0)
  71941. {
  71942. if(playerTabbed[i] != 1)
  71943. {
  71944. PlayerInfo[i][pJailTime]--;
  71945. }
  71946. }
  71947. if(PlayerInfo[i][pJailTime] <= 0)
  71948. {
  71949. PlayerInfo[i][pJailTime] = 0;
  71950. if(PlayerInfo[i][pJailed] == 1)
  71951. {
  71952. SetPlayerInterior(i, 6);
  71953. PlayerInfo[i][pInt] = 6;
  71954. SetPlayerPos(i, 268.420379, 78.474227, 1001.039062);
  71955. SetPlayerVirtualWorld(i, 20002);
  71956. PlayerInfo[i][pVW] = 20002;
  71957. SetPlayerFacingAngle(i,0.68);
  71958. }
  71959. else if(PlayerInfo[i][pJailed] == 2)
  71960. {
  71961. SetPlayerInterior(i, 0);
  71962. PlayerInfo[i][pInt] = 0;
  71963. SetPlayerVirtualWorld(i, 0);
  71964. PlayerInfo[i][pVW] = 0;
  71965. SetPlayerPos(i,343.1081,-1521.4404,33.2985);
  71966. }
  71967. else if(PlayerInfo[i][pJailed] == 3)
  71968. {
  71969. SetPlayerInterior(i, 0);
  71970. PlayerInfo[i][pInt] = 0;
  71971. SetPlayerVirtualWorld(i, 0);
  71972. PlayerInfo[i][pVW] = 0;
  71973. SetPlayerPos(i,1529.6,-1691.2,13.3);
  71974. strcpy(PlayerInfo[i][pPrisonedBy], "Nobody", 64);
  71975. strcpy(PlayerInfo[i][pPrisonReason], "None", 64);
  71976. }
  71977. else if(PlayerInfo[i][pJailed] == 4)
  71978. {
  71979. SetPlayerInterior(i, 0);
  71980. PlayerInfo[i][pInt] = 0;
  71981. SetPlayerVirtualWorld(i, 0);
  71982. PlayerInfo[i][pVW] = 0;
  71983. SetPlayerPos(i,1529.6,-1691.2,13.3);
  71984. }
  71985. PlayerInfo[i][pJailed] = 0;
  71986. PhoneOnline[i] = 0;
  71987. SendClientMessage(i, COLOR_GRAD1," You have paid your debt to society.");
  71988. GameTextForPlayer(i, "~g~Freedom~n~~w~Try to be a better citizen", 5000, 1);
  71989. ClearCrime(i);
  71990. SetPlayerToTeamColor(i);
  71991. }
  71992. }
  71993. if(IsPlayerInAnyVehicle(i))
  71994. {
  71995. new newcar = GetPlayerVehicleID(i);
  71996. new strings[128];
  71997. new Float:vhp;
  71998. GetVehicleHealth(newcar, vhp);
  71999. format(strings, sizeof(strings), "HEALTH: %.0f SPEED: %.0f MPH", vhp, player_get_speed(i));
  72000. PlayerTextDrawSetString(i, Textdraw0[i], strings);
  72001. format(strings, sizeof(strings), "%s", GetVehicleName(newcar));
  72002. PlayerTextDrawSetString(i, Textdraw1[i], strings);
  72003. }
  72004. if(CommandSpamTimes[i] != 0)
  72005. {
  72006. CommandSpamTimes[i]--;
  72007. }
  72008. if(TextSpamTimes[i] != 0)
  72009. {
  72010. TextSpamTimes[i]--;
  72011. }
  72012. if(PlayerDragged[i] == 1) {
  72013. if (PlayerDraggedBy[i] != INVALID_PLAYER_ID && IsCopDragging[PlayerDraggedBy[i]] == i) {
  72014. if (!IsPlayerInAnyVehicle(i) && !IsPlayerInAnyVehicle(PlayerDraggedBy[i])) {
  72015. new Float:gx,Float:gy,Float:gz;
  72016. GetPlayerPos(PlayerDraggedBy[i], gx, gy, gz);
  72017. Streamer_UpdateEx(i, gx, gy, gz);
  72018. if (GetPlayerVirtualWorld(i) != GetPlayerVirtualWorld(PlayerDraggedBy[i])) {
  72019. SetPlayerVirtualWorld(i,GetPlayerVirtualWorld(PlayerDraggedBy[i]));
  72020. PlayerInfo[i][pVW] = GetPlayerVirtualWorld(PlayerDraggedBy[i]);
  72021. }
  72022. if (GetPlayerInterior(i) != GetPlayerInterior(PlayerDraggedBy[i])) {
  72023. SetPlayerInterior(i,GetPlayerInterior(PlayerDraggedBy[i]));
  72024. PlayerInfo[i][pInt] = GetPlayerInterior(PlayerDraggedBy[i]);
  72025. }
  72026. SetPlayerPos(i, gx, gy+1, gz);
  72027. GameTextForPlayer(i, "BEING DRAGGED...", 5000, 3);
  72028. } else PlayerDragged[i] = 0;
  72029. } else PlayerDragged[i] = 0;
  72030. }
  72031. if(IsPlayerInAnyVehicle(i))
  72032. {
  72033. if(GetPlayerState(i) == PLAYER_STATE_DRIVER) SetPlayerArmedWeapon(i, 0);
  72034. else if(PlayerInfo[i][pGuns][4] == 0) SetPlayerArmedWeapon(i, 0);
  72035. else SetPlayerArmedWeapon(i, 29);
  72036. }
  72037. if(InsideMainMenu[i] == 1) {
  72038. new string[128];
  72039. format(string, sizeof(string), "Players online: %d", Iter_Count(Player));
  72040. TextDrawSetString(MainMenuTxtdraw[11], string);
  72041. }
  72042. if(GetPlayerSpecialAction(i) == SPECIAL_ACTION_USEJETPACK && JetPack[i] == 0 && AdminDuty[i] != 1) {
  72043. new string[74 + MAX_PLAYER_NAME];
  72044. format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) may possibly be jetpack hacking.", GetPlayerNameEx(i), i);
  72045. ABroadCast(COLOR_YELLOW, string, 2);
  72046. SetPVarInt(i, "jphW", GetPVarInt(i, "jphW")+1);
  72047. if(GetPVarInt(i, "jphW") >= 3) {
  72048. format(string, sizeof(string), "%s may possibly have jetpack hacked.", GetPlayerNameEx(i));
  72049. AddAutomatedFlag(i, string);
  72050. format(string, sizeof(string), "%s (ID %d) may possibly be jetpack hacking.", GetPlayerNameEx(i), i);
  72051. Log("logs/hack.log", string);
  72052. }
  72053. }
  72054. if(GetPlayerState(i) == PLAYER_STATE_DRIVER && AdminDuty[i] != 1 && !IsAPlane(GetPlayerVehicleID(i))) {
  72055. new Float:fCurrentSpeed;
  72056. fCurrentSpeed = player_get_speed(i);
  72057. fVehSpeed[i] = fCurrentSpeed;
  72058. if(fCurrentSpeed > 200) {
  72059. new string[74 + MAX_PLAYER_NAME];
  72060. format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) may possibly be speed hacking (%.0f MPH).", GetPlayerNameEx(i), i, fCurrentSpeed);
  72061. ABroadCast(COLOR_YELLOW, string, 2);
  72062. SetPVarInt(i, "shW", GetPVarInt(i, "shW")+1);
  72063. if(GetPVarInt(i, "shW") >= 3) {
  72064. format(string, sizeof(string), "%s may possibly have speed hacked (speeds of %.0f MPH).", GetPlayerNameEx(i), fCurrentSpeed);
  72065. AddAutomatedFlag(i, string);
  72066. }
  72067. }
  72068. }
  72069. if(UsedFind[i] >= 1)
  72070. --UsedFind[i];
  72071. if(FindTime[i] >= 1) {
  72072. if(FindTime[i] == FindTimePoints[i]) { FindTime[i] = 0; FindTimePoints[i] = 0; SetPlayerMarkerForPlayer(i, FindingPlayer[i], 0xFFFFFF00); FindingPlayer[i] = -1; PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0); GameTextForPlayer(i, "~r~RedMarker gone", 2500, 1); }
  72073. else
  72074. {
  72075. new string[32];
  72076. format(string, sizeof(string), "%d", FindTimePoints[i] - FindTime[i]);
  72077. GameTextForPlayer(i, string, 1500, 6);
  72078. FindTime[i] += 1;
  72079. }
  72080. }
  72081. if(CalledCops[i] >= 1)
  72082. {
  72083. if(CopsCallTime[i] < 1) { CopsCallTime[i] = 0; HidePlayerBeaconForCops(i); CalledCops[i] = 0; }
  72084. else
  72085. {
  72086. CopsCallTime[i]--;
  72087. }
  72088. }
  72089. if(CalledMedics[i] >= 1)
  72090. {
  72091. if(MedicsCallTime[i] < 1) { MedicsCallTime[i] = 0; HidePlayerBeaconForMedics(i); CalledMedics[i] = 0; }
  72092. else
  72093. {
  72094. MedicsCallTime[i]--;
  72095. }
  72096. }
  72097. if(PlayerSweeping[i] == 1)
  72098. {
  72099. if (!IsASweeper(GetPlayerVehicleID(i)))
  72100. {
  72101. PlayerSweeping[i] = 0;
  72102. SweeperTime[i] = 0;
  72103. SendClientMessage(i, COLOR_LIGHTBLUE, "You are no longer Street Sweeping as you've exited the vehicle.");
  72104. }
  72105. SweeperTime[i] ++;
  72106. if (SweeperTime[i] > 1) {
  72107. new Float:creward = GetDistanceBetweenPlayerToPoint(i, fSweeperPos[i][0], fSweeperPos[i][1], fSweeperPos[i][2]);
  72108. new cash = floatround(creward);
  72109. SweeperDistance[i] += cash;
  72110. GetPlayerPos(i, fSweeperPos[i][0], fSweeperPos[i][1], fSweeperPos[i][2]);
  72111. }
  72112. if (SweeperTime[i] == 60) {
  72113. SweeperTime[i] = 0;
  72114. new payout = SweeperDistance[i]/5,
  72115. szMessage[128];
  72116. if(payout > 150) payout = 150;
  72117. GivePlayerCash(i, payout);
  72118. format(szMessage, sizeof(szMessage), "You have earned $%d for your Street Sweeping duties.", payout);
  72119. SendClientMessage(i, COLOR_LIGHTBLUE, szMessage);
  72120. SweeperDistance[i] = 0;
  72121. }
  72122. }
  72123. if(NewbieTimer[i] > 0)
  72124. {
  72125. NewbieTimer[i]--;
  72126. }
  72127. if(GlobalChatTimer[i] > 0)
  72128. {
  72129. GlobalChatTimer[i]--;
  72130. }
  72131. if(JustReported[i] > 0)
  72132. {
  72133. JustReported[i]--;
  72134. }
  72135. if(TaxiCallTime[i] > 0)
  72136. {
  72137. if(TaxiAccepted[i] < 999)
  72138. {
  72139. if(IsPlayerConnected(TaxiAccepted[i]))
  72140. {
  72141. new Float:X,Float:Y,Float:Z;
  72142. GetPlayerPos(TaxiAccepted[i], X, Y, Z);
  72143. SetPlayerCheckpoint(i, X, Y, Z, 5);
  72144. }
  72145. }
  72146. }
  72147. if(EMSCallTime[i] > 0)
  72148. {
  72149. if(EMSAccepted[i] < 999)
  72150. {
  72151. if(IsPlayerConnected(EMSAccepted[i]))
  72152. {
  72153. new Float:X,Float:Y,Float:Z;
  72154. GetPlayerPos(EMSAccepted[i], X, Y, Z);
  72155. new zone[MAX_ZONE_NAME];
  72156. Get3DZone(X, Y, Z, zone, sizeof(zone));
  72157. new string[128];
  72158. format(string, sizeof(string), "Your patient is located in %s.", zone);
  72159. SetPlayerCheckpoint(i, X, Y, Z, 5);
  72160. }
  72161. }
  72162. }
  72163. if(BusCallTime[i] > 0)
  72164. {
  72165. if(BusAccepted[i] < 999)
  72166. {
  72167. if(IsPlayerConnected(BusAccepted[i]))
  72168. {
  72169. new Float:X,Float:Y,Float:Z;
  72170. GetPlayerPos(BusAccepted[i], X, Y, Z);
  72171. SetPlayerCheckpoint(i, X, Y, Z, 5);
  72172. }
  72173. }
  72174. }
  72175. if(MedicCallTime[i] > 0)
  72176. {
  72177. if(MedicCallTime[i] == 45) { MedicCallTime[i] = 0; DisablePlayerCheckpoint(i); PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0); GameTextForPlayer(i, "~r~RedMarker gone", 2500, 1); }
  72178. else
  72179. {
  72180. new string[128];
  72181. format(string, sizeof(string), "%d", 45 - MedicCallTime[i]);
  72182. new Float:X,Float:Y,Float:Z;
  72183. GetPlayerPos(MedicAccepted[i], X, Y, Z);
  72184. SetPlayerCheckpoint(i, X, Y, Z, 5);
  72185. GameTextForPlayer(i, string, 1500, 6);
  72186. MedicCallTime[i] += 1;
  72187. }
  72188. }
  72189. if(MechanicCallTime[i] > 0)
  72190. {
  72191. if(MechanicCallTime[i] == 30) { MechanicCallTime[i] = 0; DisablePlayerCheckpoint(i); PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0); GameTextForPlayer(i, "~r~RedMarker gone", 2500, 1); }
  72192. else
  72193. {
  72194. new string[128];
  72195. format(string, sizeof(string), "%d", 30 - MechanicCallTime[i]);
  72196. GameTextForPlayer(i, string, 1500, 6);
  72197. MechanicCallTime[i] += 1;
  72198. }
  72199. }
  72200. if(PlayerInfo[i][pMechTime] > 0) PlayerInfo[i][pMechTime]--;
  72201. if(PlayerInfo[i][pLawyerTime] > 0) PlayerInfo[i][pLawyerTime]--;
  72202. if(PlayerInfo[i][pLawyerFreeTime] > 0) PlayerInfo[i][pLawyerFreeTime]--;
  72203. if(PlayerInfo[i][pDrugsTime] > 0) PlayerInfo[i][pDrugsTime]--;
  72204. if(PlayerInfo[i][pGCMuted] == 2 && PlayerInfo[i][pGCMutedTime] < 1)
  72205. {
  72206. PlayerInfo[i][pGCMuted] = 0;
  72207. }
  72208. if(PlayerInfo[i][pGCMuted] > 1) PlayerInfo[i][pGCMutedTime]--;
  72209. if(PlayerInfo[i][pRMuted] == 2 && PlayerInfo[i][pRMutedTime] < 1)
  72210. {
  72211. PlayerInfo[i][pRMuted] = 0;
  72212. }
  72213. if(PlayerInfo[i][pRMuted] > 1) PlayerInfo[i][pRMutedTime]--;
  72214. if(PlayerInfo[i][pCarTime] > 0)
  72215. {
  72216. if(PlayerInfo[i][pCarTime] <= 0)
  72217. {
  72218. PlayerInfo[i][pCarTime] = 0;
  72219. }
  72220. else
  72221. {
  72222. PlayerInfo[i][pCarTime] -= 1;
  72223. }
  72224. }
  72225. if(PlayerInfo[i][pSexTime] > 0)
  72226. {
  72227. if(PlayerInfo[i][pSexTime] <= 0)
  72228. {
  72229. PlayerInfo[i][pSexTime] = 0;
  72230. }
  72231. else
  72232. {
  72233. PlayerInfo[i][pSexTime] -= 1;
  72234. }
  72235. }
  72236. if(WantLawyer[i] >= 1)
  72237. {
  72238. CallLawyer[i] = 111;
  72239. if(WantLawyer[i] == 1)
  72240. {
  72241. SendClientMessage(i, COLOR_LIGHTRED, "Do you want a Lawyer? (Type yes or no)");
  72242. }
  72243. WantLawyer[i] ++;
  72244. if(WantLawyer[i] == 8)
  72245. {
  72246. SendClientMessage(i, COLOR_LIGHTRED, "Do you want a Lawyer? (Type yes or no)");
  72247. }
  72248. if(WantLawyer[i] == 15)
  72249. {
  72250. SendClientMessage(i, COLOR_LIGHTRED, "Do you want a Lawyer? (Type yes or no)");
  72251. }
  72252. if(WantLawyer[i] == 20)
  72253. {
  72254. SendClientMessage(i, COLOR_LIGHTRED, "There is no Lawyer available to you anymore.");
  72255. WantLawyer[i] = 0;
  72256. CallLawyer[i] = 0;
  72257. }
  72258. }
  72259. if(PlayerStoned[i] >= 3)
  72260. {
  72261. PlayerStoned[i] += 1;
  72262. SetPlayerDrunkLevel(i, 40000);
  72263. if(PlayerStoned[i] == 50)
  72264. {
  72265. PlayerStoned[i] = 0;
  72266. SetPlayerDrunkLevel(i, 0);
  72267. SendClientMessage(i, COLOR_GRAD1, "You're no longer stoned!");
  72268. }
  72269. }
  72270. if(BoxWaitTime[i] > 0)
  72271. {
  72272. if(BoxWaitTime[i] >= BoxDelay)
  72273. {
  72274. BoxDelay = 0;
  72275. BoxWaitTime[i] = 0;
  72276. PlayerPlaySound(i, 1057, 0.0, 0.0, 0.0);
  72277. GameTextForPlayer(i, "~g~Match Started", 5000, 1);
  72278. TogglePlayerControllable(i, 1);
  72279. RoundStarted = 1;
  72280. }
  72281. else
  72282. {
  72283. new string[32];
  72284. format(string, sizeof(string), "%d", BoxDelay - BoxWaitTime[i]);
  72285. GameTextForPlayer(i, string, 1500, 6);
  72286. BoxWaitTime[i] += 1;
  72287. }
  72288. }
  72289. if(RoundStarted > 0)
  72290. {
  72291. if(PlayerBoxing[i] > 0)
  72292. {
  72293. new trigger = 0;
  72294. new Lost = 0;
  72295. new Float:angle;
  72296. new Float:health;
  72297. GetPlayerHealth(i, health);
  72298. if(health < 12)
  72299. {
  72300. if(i == Boxer1) { Lost = 1; trigger = 1; }
  72301. else if(i == Boxer2) { Lost = 2; trigger = 1; }
  72302. }
  72303. if(health < 28) { GetPlayerFacingAngle(i, angle); SetPlayerFacingAngle(i, angle + 85); }
  72304. if(trigger)
  72305. {
  72306. new string[128];
  72307. new winner[MAX_PLAYER_NAME];
  72308. new loser[MAX_PLAYER_NAME];
  72309. if(Lost == 1)
  72310. {
  72311. if(IsPlayerConnected(Boxer1) && IsPlayerConnected(Boxer2))
  72312. {
  72313. if(IsPlayerInRangeOfPoint(Boxer1,25.0,765.952270, 4.167977, 1000.719238) || IsPlayerInRangeOfPoint(Boxer2,25.0,765.952270, 4.167977, 1000.719238))
  72314. {
  72315. SetPlayerPos(Boxer1, 765.952270, 4.167977, 1000.719238); SetPlayerPos(Boxer2, 765.952270, 4.167977, 1000.719238);
  72316. SetPlayerInterior(Boxer1, 5); SetPlayerInterior(Boxer2, 5);
  72317. GetPlayerName(Boxer1, loser, sizeof(loser));
  72318. GetPlayerName(Boxer2, winner, sizeof(winner));
  72319. SetPlayerWeapons(Boxer1);
  72320. SetPlayerWeapons(Boxer2);
  72321. if(PlayerInfo[Boxer1][pJob] == 12 || PlayerInfo[Boxer1][pJob2] == 12) { PlayerInfo[Boxer1][pLoses] += 1; }
  72322. if(PlayerInfo[Boxer2][pJob] == 12 || PlayerInfo[Boxer1][pJob2] == 12) { PlayerInfo[Boxer2][pWins] += 1; }
  72323. format(string, sizeof(string), "* You have Lost the Fight against %s.", winner);
  72324. SendClientMessage(Boxer1, COLOR_LIGHTBLUE, string);
  72325. GameTextForPlayer(Boxer1, "~r~You lost", 3500, 1);
  72326. format(string, sizeof(string), "* You have Won the Fight against %s.", loser);
  72327. SendClientMessage(Boxer2, COLOR_LIGHTBLUE, string);
  72328. GameTextForPlayer(Boxer2, "~r~You won", 3500, 1);
  72329. if(GetPlayerHealth(Boxer1, health) < 20)
  72330. {
  72331. SendClientMessage(Boxer1, COLOR_LIGHTBLUE, "* You feel exhausted from the Fight, go eat somewhere.");
  72332. SetPlayerHealth(Boxer1, 30.0);
  72333. }
  72334. else
  72335. {
  72336. SendClientMessage(Boxer1, COLOR_LIGHTBLUE, "* You feel perfect, even after the Fight.");
  72337. SetPlayerHealth(Boxer1, 50.0);
  72338. }
  72339. if(GetPlayerHealth(Boxer2, health) < 20)
  72340. {
  72341. SendClientMessage(Boxer2, COLOR_LIGHTBLUE, "* You feel exhausted from the Fight, go eat somewhere.");
  72342. SetPlayerHealth(Boxer2, 30.0);
  72343. }
  72344. else
  72345. {
  72346. SendClientMessage(Boxer2, COLOR_LIGHTBLUE, "* You feel perfect, even after the Fight.");
  72347. SetPlayerHealth(Boxer2, 50.0);
  72348. }
  72349. GameTextForPlayer(Boxer1, "~g~Match Over", 5000, 1); GameTextForPlayer(Boxer2, "~g~Match Over", 5000, 1);
  72350. if(PlayerInfo[Boxer2][pJob] == 12 || PlayerInfo[Boxer2][pJob2] == 12) {
  72351. if(DoubleXP == 1)
  72352. {
  72353. new hour,minuite,second;
  72354. gettime(hour,minuite,second);
  72355. if(DoubleEXPcheck(hour))
  72356. {
  72357. PlayerInfo[Boxer2][pBoxSkill] += 2;
  72358. SendClientMessage(Boxer2, COLOR_YELLOW, "* You have gained two skill points for this job due to double experience.");
  72359. }
  72360. /*else
  72361. {
  72362. SendClientMessage(Boxer2, COLOR_YELLOW, "* You have only gained one skill point for this job since it's not within the double experience hours.");
  72363. PlayerInfo[Boxer2][pBoxSkill]++;
  72364. }*/
  72365. }
  72366. else
  72367. {
  72368. PlayerInfo[Boxer2][pBoxSkill]++;
  72369. }
  72370. }
  72371. PlayerBoxing[Boxer1] = 0;
  72372. PlayerBoxing[Boxer2] = 0;
  72373. }
  72374. }
  72375. }
  72376. else if(Lost == 2)
  72377. {
  72378. if(IsPlayerConnected(Boxer1) && IsPlayerConnected(Boxer2))
  72379. {
  72380. if(IsPlayerInRangeOfPoint(Boxer1,25.0,765.952270, 4.167977, 1000.719238) || IsPlayerInRangeOfPoint(Boxer2,25.0, 765.952270, 4.167977, 1000.719238))
  72381. {
  72382. SetPlayerPos(Boxer1, 765.952270, 4.167977, 1000.719238); SetPlayerPos(Boxer2, 765.952270, 4.167977, 1000.719238);
  72383. SetPlayerInterior(Boxer1, 5); SetPlayerInterior(Boxer2, 5);
  72384. GetPlayerName(Boxer1, winner, sizeof(winner));
  72385. GetPlayerName(Boxer2, loser, sizeof(loser));
  72386. SetPlayerWeapons(Boxer1);
  72387. SetPlayerWeapons(Boxer2);
  72388. if(PlayerInfo[Boxer2][pJob] == 12 || PlayerInfo[Boxer2][pJob2] == 12) { PlayerInfo[Boxer2][pLoses] += 1; }
  72389. if(PlayerInfo[Boxer1][pJob] == 12 || PlayerInfo[Boxer1][pJob2] == 12) { PlayerInfo[Boxer1][pWins] += 1; }
  72390. format(string, sizeof(string), "* You have Lost the Fight against %s.", winner);
  72391. SendClientMessage(Boxer2, COLOR_LIGHTBLUE, string);
  72392. GameTextForPlayer(Boxer2, "~r~You lost", 3500, 1);
  72393. format(string, sizeof(string), "* You have Won the Fight against %s.", loser);
  72394. SendClientMessage(Boxer1, COLOR_LIGHTBLUE, string);
  72395. GameTextForPlayer(Boxer1, "~g~You won", 3500, 1);
  72396. if(GetPlayerHealth(Boxer1, health) < 20)
  72397. {
  72398. SendClientMessage(Boxer1, COLOR_LIGHTBLUE, "* You feel exhausted from the Fight, go eat somewhere.");
  72399. SetPlayerHealth(Boxer1, 30.0);
  72400. }
  72401. else
  72402. {
  72403. SendClientMessage(Boxer1, COLOR_LIGHTBLUE, "* You feel perfect, even after the Fight.");
  72404. SetPlayerHealth(Boxer1, 50.0);
  72405. }
  72406. if(GetPlayerHealth(Boxer2, health) < 20)
  72407. {
  72408. SendClientMessage(Boxer2, COLOR_LIGHTBLUE, "* You feel exhausted from the Fight, go eat somewhere.");
  72409. SetPlayerHealth(Boxer2, 30.0);
  72410. }
  72411. else
  72412. {
  72413. SendClientMessage(Boxer2, COLOR_LIGHTBLUE, "* You feel perfect, even after the Fight.");
  72414. SetPlayerHealth(Boxer2, 50.0);
  72415. }
  72416. GameTextForPlayer(Boxer1, "~g~Match Over", 5000, 1); GameTextForPlayer(Boxer2, "~g~Match Over", 5000, 1);
  72417. if(DoubleXP == 1)
  72418. {
  72419. new hour,minuite,second;
  72420. gettime(hour,minuite,second);
  72421. if(DoubleEXPcheck(hour)){
  72422. PlayerInfo[Boxer1][pBoxSkill] += 2;
  72423. SendClientMessage(Boxer2, COLOR_YELLOW, "* You have gained two skill points for this job due to double experience.");
  72424. }
  72425. /*else {
  72426. SendClientMessage(Boxer2, COLOR_YELLOW, "* You have only gained one skill point for this job since it's not within the double experience hours.");
  72427. PlayerInfo[Boxer1][pBoxSkill]++;
  72428. }*/
  72429. }
  72430. else
  72431. {
  72432. PlayerInfo[Boxer1][pBoxSkill]++;
  72433. }
  72434. PlayerBoxing[Boxer1] = 0;
  72435. PlayerBoxing[Boxer2] = 0;
  72436. }
  72437. }
  72438. }
  72439. InRing = 0;
  72440. RoundStarted = 0;
  72441. Boxer1 = INVALID_PLAYER_ID;
  72442. Boxer2 = INVALID_PLAYER_ID;
  72443. trigger = 0;
  72444. }
  72445. }
  72446. }
  72447. if(PlayerCuffed[i] == 1)
  72448. {
  72449. if(PlayerCuffedTime[i] <= 0)
  72450. {
  72451. //Frozen[i] = 0;
  72452. SetPVarInt(i, "IsFrozen", 0);
  72453. TogglePlayerControllable(i, 1);
  72454. PlayerCuffed[i] = 0;
  72455. SetPVarInt(i, "PlayerCuffed", 0);
  72456. PlayerCuffedTime[i] = 0;
  72457. ClearAnimations(i);
  72458. SetPlayerSkin(i, GetPlayerSkin(i));
  72459. SetPlayerSpecialAction(i, SPECIAL_ACTION_NONE);
  72460. new Float:X, Float:Y, Float:Z;
  72461. GetPlayerPos(i, X, Y, Z);
  72462. SetPlayerPos(i, X, Y, Z);
  72463. }
  72464. else
  72465. {
  72466. PlayerCuffedTime[i] -= 1;
  72467. }
  72468. }
  72469. if(PlayerCuffed[i] == 2)
  72470. {
  72471. if(PlayerCuffedTime[i] <= 0)
  72472. {
  72473. new Float:X, Float:Y, Float:Z;
  72474. GetPlayerPos(i, X, Y, Z);
  72475. new copinrange;
  72476. foreach(Player, j)
  72477. {
  72478. if(IsPlayerInRangeOfPoint(j, 30, X, Y, Z) && IsACop(j))
  72479. {
  72480. copinrange = 1;
  72481. }
  72482. }
  72483. if(copinrange == 0)
  72484. {
  72485. //Frozen[i] = 0;
  72486. DeletePVar(i, "IsFrozen");
  72487. GameTextForPlayer(i, "~r~You broke the cuffs, you're free!", 2500, 3);
  72488. TogglePlayerControllable(i, 1);
  72489. PlayerCuffed[i] = 0;
  72490. DeletePVar(i, "PlayerCuffed");
  72491. PlayerCuffedTime[i] = 0;
  72492. }
  72493. else
  72494. {
  72495. PlayerCuffedTime[i] = 60;
  72496. }
  72497. }
  72498. else
  72499. {
  72500. PlayerCuffedTime[i] -= 1;
  72501. }
  72502. }
  72503. if(TransportDriver[i] < 999)
  72504. {
  72505. if(GetPlayerVehicleID(i) != GetPlayerVehicleID(TransportDriver[i]) || !TransportDuty[TransportDriver[i]])
  72506. {
  72507. if(IsPlayerConnected(TransportDriver[i]))
  72508. {
  72509. TransportMoney[TransportDriver[i]] += TransportCost[i];
  72510. TransportTime[TransportDriver[i]] = 0;
  72511. TransportCost[TransportDriver[i]] = 0;
  72512. new string[36];
  72513. format(string, sizeof(string), "~w~Passenger left~n~~g~Earned $%d",TransportCost[i]);
  72514. GameTextForPlayer(TransportDriver[i], string, 5000, 1);
  72515. TransportDriver[i] = 999;
  72516. }
  72517. }
  72518. else if(TransportTime[i] >= 16)
  72519. {
  72520. TransportTime[i] = 1;
  72521. if(TransportDriver[i] < 999)
  72522. {
  72523. if(IsPlayerConnected(TransportDriver[i]))
  72524. {
  72525. TransportCost[i] += TransportValue[TransportDriver[i]];
  72526. TransportCost[TransportDriver[i]] = TransportCost[i];
  72527. }
  72528. }
  72529. }
  72530. TransportTime[i] += 1;
  72531. new string[24];
  72532. format(string, sizeof(string), "~r~%d ~w~: ~g~$%d",TransportTime[i],TransportCost[i]);
  72533. GameTextForPlayer(i, string, 15000, 6);
  72534. if(TransportCost[i] > GetPlayerCash(i))
  72535. {
  72536. RemovePlayerFromVehicle(i);
  72537. new Float:slx, Float:sly, Float:slz;
  72538. GetPlayerPos(i, slx, sly, slz);
  72539. SetPlayerPos(i, slx, sly, slz + 2);
  72540. GameTextForPlayer(i, "~r~You're flat out of cash!", 4000, 4);
  72541. }
  72542. }
  72543. // end
  72544. }
  72545. }
  72546. // Timer Name: ServerHeartbeatTwo()
  72547. // TickRate: 1 secs.
  72548. Timer:ServerHeartbeatTwo[1000]()
  72549. {
  72550. foreach(Player, i)
  72551. {
  72552. if(CellTime[i] > 0)
  72553. {
  72554. if(CellTime[i] == cchargetime)
  72555. {
  72556. CellTime[i] = 1;
  72557. if(Mobile[Mobile[i]] == i)
  72558. {
  72559. CallCost[i] += callcost;
  72560. }
  72561. }
  72562. CellTime[i]++;
  72563. if(Mobile[Mobile[i]] == INVALID_PLAYER_ID && CellTime[i] == 5)
  72564. {
  72565. if(IsPlayerConnected(Mobile[i]))
  72566. {
  72567. new Float:rX, Float:rY, Float:rZ;
  72568. GetPlayerPos(i, rX, rY, rZ);
  72569. new string[18 + MAX_PLAYER_NAME];
  72570. format(string, sizeof(string), "* %s's phone rings.", GetPlayerNameEx(Mobile[i]));
  72571. ProxDetector(30.0, Mobile[i], string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  72572. }
  72573. }
  72574. }
  72575. if(CellTime[i] == 0 && CallCost[i] > 0)
  72576. {
  72577. new string[28];
  72578. format(string, sizeof(string), "~w~The call cost~n~~r~$%d",CallCost[i]);
  72579. GivePlayerCash(i, -CallCost[i]);
  72580. GameTextForPlayer(i, string, 5000, 1);
  72581. CallCost[i] = 0;
  72582. }
  72583. if(GetPVarType(i, "Injured"))
  72584. {
  72585. SetPlayerArmedWeapon(i, 0);
  72586. if(GetPVarInt(i, "EMSAttempt") == -1 || GetPVarInt(i, "EMSAttempt") == 1 || GetPVarInt(i, "EMSAttempt") == 2)
  72587. {
  72588. if(!IsPlayerInRangeOfPoint(i, 3.0, GetPVarFloat(i,"MedicX"), GetPVarFloat(i,"MedicY"), GetPVarFloat(i,"MedicZ")))
  72589. {
  72590. SendClientMessage(i, COLOR_WHITE, "You fell unconscious, you were immediately sent to the hospital.");
  72591. KillEMSQueue(i);
  72592. SpawnPlayer(i);
  72593. }
  72594. }
  72595. }
  72596. if(GetPVarInt(i, "rccam") == 0)
  72597. {
  72598. if(GetVehicleModel(GetPlayerVehicleID(i)) != 594)
  72599. {
  72600. DestroyVehicle(GetPVarInt(i, "rcveh"));
  72601. VehicleRadioStation[GetPVarInt(i, "rcveh")] = 0;
  72602. KillTimer(GetPVarInt(i, "rccamtimer"));
  72603. }
  72604. }
  72605. if(IsPlayerInRangeOfPoint(i,2.0,1544.2,-1353.4,329.4))
  72606. { // Startower parachute
  72607. if(PlayerInfo[i][pGuns][11] != 46)
  72608. {
  72609. GivePlayerValidWeapon(i, 46, 99999);
  72610. }
  72611. }
  72612. if(GetPlayerState(i) == PLAYER_STATE_ONFOOT) for(new h = 0; h < sizeof(FamilyInfo); h++)
  72613. {
  72614. if(IsPlayerInRangeOfPoint(i, 2.0, FamilyInfo[h][FamilySafe][0], FamilyInfo[h][FamilySafe][1], FamilyInfo[h][FamilySafe][2]))
  72615. {
  72616. if(FamilyInfo[h][FamilyUSafe] == 1)
  72617. {
  72618. GameTextForPlayer(i, "~y~gang safe~w~~n~Type ~r~/safehelp~w~ for more information", 5000, 3);
  72619. }
  72620. }
  72621. }
  72622. for(new h = 0; h < sizeof(Points); h++)
  72623. {
  72624. if(IsPlayerInRangeOfPoint(i, 2.0, Points[h][Pointx], Points[h][Pointy], Points[h][Pointz]))
  72625. {
  72626. if(Points[h][Type] == 1 && GetPVarInt(i, "Packages") == 0)
  72627. {
  72628. GameTextForPlayer(i, "~w~Type /getmats to purchase a ~n~~r~materials package", 5000, 5);
  72629. }
  72630. else if(Points[h][Type] == 3 && PlayerInfo[i][pPot] < 3)
  72631. {
  72632. GameTextForPlayer(i, "~w~Type /getseeds to purchase some ~r~pot seeds", 5000, 5);
  72633. }
  72634. else if(Points[h][Type] == 4)
  72635. {
  72636. GameTextForPlayer(i, "~w~Type /getcrack to purchase some ~r~crack", 5000, 5);
  72637. }
  72638. else if(Points[h][Type] == 5)
  72639. {
  72640. GameTextForPlayer(i, "~w~Type /getcrate to purchase a ~r~crate", 5000, 5);
  72641. }
  72642. }
  72643. }
  72644. }
  72645. }
  72646. // Timer Name: playerTabbedLoop()
  72647. // TickRate: 1 secs.
  72648. Timer:playerTabbedLoop[1000]()
  72649. {
  72650. foreach(Player, x)
  72651. {
  72652. playerConnectedS[x]++;
  72653. if(playerSeconds[x] < gettime()-1 && playerTabbed[x] != 1 && playerConnectedS[x] >= 5 && 1 <= GetPlayerState(x) <= 3)
  72654. {
  72655. playerTabbed[x] = 1;
  72656. SetTimerEx("AFKick",1000,false,"d", x);
  72657. }
  72658. playerLastTyped[x]++;
  72659. GetPlayerPos(x, PlayerPos[x][0], PlayerPos[x][1], PlayerPos[x][2]);
  72660. if(PlayerPos[x][0] == PlayerPos[x][3] && PlayerPos[x][1] == PlayerPos[x][4] && PlayerPos[x][2] == PlayerPos[x][5] && playerTabbed[x] != 1)
  72661. {
  72662. if(playerLastTyped[x] < playerAFKTime[x]) playerAFKTime[x] = playerLastTyped[x];
  72663. if(playerAFK[x] != 0) playerAFKTime[x]++;
  72664. else playerAFK[x] = 1;
  72665. if(playerAFKTime[x] >= 900 && PlayerInfo[x][pAdmin] < 5)
  72666. {
  72667. SendClientMessage(x, COLOR_WHITE, "You have been kicked for being AFK for more than 15 minutes.");
  72668. Kick(x);
  72669. }
  72670. }
  72671. else
  72672. {
  72673. if(playerAFK[x] != 0) playerAFK[x] = 0, playerAFKTime[x] = 0;
  72674. }
  72675. PlayerPos[x][3] = PlayerPos[x][0];
  72676. PlayerPos[x][4] = PlayerPos[x][1];
  72677. PlayerPos[x][5] = PlayerPos[x][2];
  72678. }
  72679. }
  72680. // Timer Name: EMSUpdate()
  72681. // TickRate: 5 secs.
  72682. Timer:EMSUpdate[5000]()
  72683. {
  72684. foreach(Player, i)
  72685. {
  72686. new Float:posX, Float:posY, Float:posZ;
  72687. GetPlayerPos(i, posX, posY, posZ);
  72688. if(GetPlayerInterior(i) == 0 && !IsPlayerInAnyVehicle(i) && MP3Station[i] == 0)
  72689. {
  72690. StopAudioStreamForPlayer(i);
  72691. }
  72692. new Float:iArmor;
  72693. GetPlayerArmour(i, iArmor);
  72694. if(iArmor > ValidArmor[i] && AdminDuty[i] == 0)
  72695. {
  72696. new string[128];
  72697. format(string, sizeof(string), "%s may have hacked their armor.", GetPlayerNameEx(i));
  72698. AddAutomatedFlag(i, string);
  72699. format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s (ID %d) may possibly be armor hacking.", GetPlayerNameEx(i), i);
  72700. ABroadCast(COLOR_YELLOW, string, 2);
  72701. }
  72702. if(GetPVarType(i, "Injured"))
  72703. {
  72704. if(GetPVarInt(i, "EMSAttempt") != 0)
  72705. {
  72706. new Float:health;
  72707. GetPlayerHealth(i,health);
  72708. SetPlayerHealth(i, health-1);
  72709. if(GetPVarInt(i, "EMSAttempt") == -1)
  72710. {
  72711. if(!IsPlayerInRangeOfPoint(i, 3.0, GetPVarFloat(i,"MedicX"), GetPVarFloat(i,"MedicY"), GetPVarFloat(i,"MedicZ")))
  72712. {
  72713. SendClientMessage(i, COLOR_WHITE, "You fell unconscious, you were immediately sent to the hospital.");
  72714. KillEMSQueue(i);
  72715. SpawnPlayer(i);
  72716. }
  72717. GameTextForPlayer(i, "~r~Injured~n~~w~/accept death or /service ems", 5000, 3);
  72718. }
  72719. if(GetPVarInt(i, "EMSAttempt") == 1)
  72720. {
  72721. if(!IsPlayerInRangeOfPoint(i, 3.0, GetPVarFloat(i,"MedicX"), GetPVarFloat(i,"MedicY"), GetPVarFloat(i,"MedicZ")))
  72722. {
  72723. SendClientMessage(i, COLOR_WHITE, "You fell unconscious, you were immediately sent to the hospital.");
  72724. KillEMSQueue(i);
  72725. SpawnPlayer(i);
  72726. }
  72727. GameTextForPlayer(i, "~r~Injured~n~~w~Waiting for EMS to Arrive...", 5000, 3);
  72728. }
  72729. if(GetPVarInt(i, "EMSAttempt") == 2)
  72730. {
  72731. if(!IsPlayerInRangeOfPoint(i, 3.0, GetPVarFloat(i,"MedicX"), GetPVarFloat(i,"MedicY"), GetPVarFloat(i,"MedicZ")))
  72732. {
  72733. SendClientMessage(i, COLOR_WHITE, "You fell unconscious, you were immediately sent to the hospital.");
  72734. KillEMSQueue(i);
  72735. SpawnPlayer(i);
  72736. }
  72737. GameTextForPlayer(i, "~g~Rescued~n~~w~Awaiting Treatment...", 5000, 3);
  72738. }
  72739. if(GetPVarInt(i, "EMSAttempt") == 3)
  72740. {
  72741. if(IsPlayerInAnyVehicle(i))
  72742. {
  72743. new ambmodel = GetPlayerVehicleID(i);
  72744. if(IsAnAmbulance(ambmodel))
  72745. {
  72746. GameTextForPlayer(i, "~g~Rescued~n~~w~Waiting for EMS to take to Hospital...", 5000, 3);
  72747. }
  72748. else
  72749. {
  72750. SendClientMessage(i, COLOR_WHITE, "You fell unconscious due to no life support, you were immediately sent to the hospital.");
  72751. KillEMSQueue(i);
  72752. SpawnPlayer(i);
  72753. }
  72754. }
  72755. else
  72756. {
  72757. SendClientMessage(i, COLOR_WHITE, "You fell out of the vehicle, you were immediately sent to the hospital.");
  72758. KillEMSQueue(i);
  72759. SpawnPlayer(i);
  72760. }
  72761. }
  72762. GetPlayerHealth(i, health);
  72763. if(health <= 5)
  72764. {
  72765. SendClientMessage(i, COLOR_WHITE, "You fell unconscious, you were immediately sent to the hospital.");
  72766. KillEMSQueue(i);
  72767. SpawnPlayer(i);
  72768. }
  72769. }
  72770. }
  72771. }
  72772. }
  72773. // Timer Name: ProductionUpdate()
  72774. // TickRate: 5 Minutes.
  72775. Timer:ProductionUpdate[300000]()
  72776. {
  72777. foreach(Player, i)
  72778. {
  72779. if(playerTabbed[i] != 1)
  72780. {
  72781. if(PlayerInfo[i][pPayReady] < 6) { PlayerInfo[i][pPayReady] += 1; } //+ 5 min to PayDay anti-abuse
  72782. }
  72783. if(PlayerInfo[i][pFishes] >= 5) {
  72784. if(FishCount[i] >= 3) PlayerInfo[i][pFishes] = 0;
  72785. else ++FishCount[i];
  72786. }
  72787. }
  72788. SaveFamilies();
  72789. }
  72790. // Timer Name: SyncUp()
  72791. // TickRate: 1 Minute.
  72792. Timer:SyncUp[60000]()
  72793. {
  72794. new string[128];
  72795. new hour,minuite,second;
  72796. SyncTime();
  72797. SyncMinTime();
  72798. ScoreUpdate();
  72799. gettime(hour,minuite,second);
  72800. FixHour(hour);
  72801. hour = shifthour;
  72802. if(minuite < 10)
  72803. {
  72804. format(string, sizeof(string), "%d:0%d", hour, minuite);
  72805. }
  72806. else
  72807. {
  72808. format(string, sizeof(string), "%d:%d", hour, minuite);
  72809. }
  72810. TextDrawSetString(WristWatch, string);
  72811. foreach(Player, i)
  72812. {
  72813. if(IsValidDynamicObject(PlayerInfo[i][pWeedObject]) && PlayerInfo[i][pWeedGrowth] < 45) switch(PlayerInfo[i][pDrugsSkill])
  72814. {
  72815. case 0 .. 50: PlayerInfo[i][pWeedGrowth] += 1;
  72816. case 51 .. 100: PlayerInfo[i][pWeedGrowth] += 2;
  72817. case 101 .. 200: PlayerInfo[i][pWeedGrowth] += 3;
  72818. case 201 .. 400: PlayerInfo[i][pWeedGrowth] += 4;
  72819. default: PlayerInfo[i][pWeedGrowth] += 5;
  72820. }
  72821. switch(GetPVarInt(i, "STD"))
  72822. {
  72823. case 1:
  72824. {
  72825. new Float: health;
  72826. GetPlayerHealth(i, health);
  72827. SetPlayerHealth(i, health - 5.0);
  72828. SendClientMessage(i, COLOR_LIGHTBLUE, "* Lost 4 health due to STD.");
  72829. }
  72830. case 2:
  72831. {
  72832. new Float: health;
  72833. GetPlayerHealth(i, health);
  72834. SetPlayerHealth(i, health - 12.0);
  72835. SendClientMessage(i, COLOR_LIGHTBLUE, "* Lost 8 health due to STD.");
  72836. }
  72837. case 3:
  72838. {
  72839. new Float: health;
  72840. GetPlayerHealth(i, health);
  72841. SetPlayerHealth(i, health - 20.0);
  72842. SendClientMessage(i, COLOR_LIGHTBLUE, "* Lost 12 health due to STD.");
  72843. }
  72844. }
  72845. if(GetPlayerCash(i) < 0)
  72846. {
  72847. if(!GetPVarType(i, "debtMsg"))
  72848. {
  72849. format(string, sizeof(string), "You're now in debt; you must repay the debt of $%d. If not, you will be arrested.", GetPlayerCash(i));
  72850. SendClientMessage(i, COLOR_LIGHTRED, string);
  72851. SetPVarInt(i, "debtMsg", 1);
  72852. }
  72853. }
  72854. else DeletePVar(i, "debtMsg");
  72855. }
  72856. }
  72857. // Timer Name: MoneyUpdate()
  72858. // Tickrate: 1 secs.
  72859. Timer:MoneyUpdate[1000]()
  72860. {
  72861. new
  72862. iTempVar;
  72863. if(iAdverTimer >= 1)
  72864. --iAdverTimer;
  72865. new hour,minuite,second;
  72866. gettime(hour,minuite,second);
  72867. FixHour(hour);
  72868. hour = shifthour;
  72869. new tstring[7];
  72870. if(minuite < 10)
  72871. {
  72872. format(tstring, sizeof(tstring), "%d:0%d", hour, minuite);
  72873. }
  72874. else
  72875. {
  72876. format(tstring, sizeof(tstring), "%d:%d", hour, minuite);
  72877. }
  72878. TextDrawSetString(WristWatch, tstring);
  72879. foreach(Player, i)
  72880. {
  72881. SyncPlayerTime(i);
  72882. if(PlayerInfo[i][pCash] != GetPlayerMoney(i))
  72883. {
  72884. ResetPlayerMoney(i);
  72885. GivePlayerMoney(i, PlayerInfo[i][pCash]);
  72886. }
  72887. if((iTempVar = GetPVarInt(i, "adT")) != 0)
  72888. {
  72889. if(--iTempVar <= 0) DeletePVar(i, "adT");
  72890. else SetPVarInt(i, "adT", iTempVar);
  72891. }
  72892. if(PlayerInfo[i][pTriageTime] != 0)
  72893. {
  72894. PlayerInfo[i][pTriageTime]--;
  72895. }
  72896. if(PlayerInfo[i][pTicketTime] != 0)
  72897. {
  72898. PlayerInfo[i][pTicketTime]--;
  72899. }
  72900. if(ServiceTime[i] != 0)
  72901. {
  72902. ServiceTime[i]--;
  72903. }
  72904. if(PlayerInfo[i][pGPS] > 0 && GetPVarType(i, "gpsonoff"))
  72905. {
  72906. new zone[28];
  72907. GetPlayer2DZone(i, zone, MAX_ZONE_NAME);
  72908. TextDrawSetString(GPS[i], zone);
  72909. }
  72910. }
  72911. }
  72912. // Timer Name: SpecUpdate()
  72913. // TickRate: 3 secs.
  72914. Timer:SpecUpdate[3000]()
  72915. {
  72916. foreach(Player, i)
  72917. {
  72918. if(PlayerInfo[i][pAdmin] >= 2)
  72919. {
  72920. if(Spectating[i] >= 1)
  72921. {
  72922. if(Spectate[i] < 553)
  72923. {
  72924. new targetid = Spectate[i];
  72925. if(!IsPlayerConnected(targetid))
  72926. {
  72927. SendClientMessage(i, COLOR_WHITE, "The player you were spectating has left the server.");
  72928. GettingSpectated[Spectate[i]] = 999;
  72929. Spectating[i] = 0;
  72930. Spectate[i] = 999;
  72931. SetPVarInt(i, "SpecOff", 1);
  72932. TogglePlayerSpectating(i, false);
  72933. SetCameraBehindPlayer(i);
  72934. }
  72935. }
  72936. if(Spectate[i] == 553)
  72937. {
  72938. TogglePlayerControllable(i, 1);
  72939. TogglePlayerSpectating(i, 0);
  72940. DeletePVar(i, "MedicBill");
  72941. SpawnPlayer(i);
  72942. Spectate[i] = 999;
  72943. Spectating[i] = 0;
  72944. }
  72945. if(Spectate[i] == 556)
  72946. {
  72947. SetPlayerToTeamColor(i);
  72948. Spectate[i] = 999;
  72949. }
  72950. }
  72951. }
  72952. }
  72953. }
  72954. // Timer Name: SaveUpdate()
  72955. // Tickrate: 3 Minutes.
  72956. Timer:SaveUpdate[180000]()
  72957. {
  72958. foreach(Player, i)
  72959. {
  72960. if(GetPVarInt(i, "TempName") != 1 && gPlayerLogged[i])
  72961. {
  72962. PlayerInfo[i][pInt] = GetPlayerInterior(i);
  72963. PlayerInfo[i][pVW] = GetPlayerVirtualWorld(i);
  72964. GetPlayerIp(i, PlayerInfo[i][pIP], 32);
  72965. GetPlayerPos(i, PlayerInfo[i][pPos_x], PlayerInfo[i][pPos_y], PlayerInfo[i][pPos_z]);
  72966. GetPlayerFacingAngle(i, PlayerInfo[i][pPos_r]);
  72967. OnPlayerStatsUpdate(i);
  72968. }
  72969. }
  72970. SaveFamilies();
  72971. SaveFamiliesHQ();
  72972. SaveHouses();
  72973. }
  72974. stock ShowInteriorDialog(playerid)
  72975. {
  72976. new dialog_string[2600];
  72977. for(new i = 0; i < sizeof(InteriorDialogNames); i++) {
  72978. if(!i) {
  72979. format(dialog_string, sizeof(dialog_string), InteriorDialogNames[i]);
  72980. }
  72981. else {
  72982. format(dialog_string, sizeof(dialog_string), "%s\n%s", dialog_string, InteriorDialogNames[i]);
  72983. }
  72984. }
  72985. return ShowPlayerDialogEx(playerid, DIALOG_INTERIOR_MENU, DIALOG_STYLE_LIST, "Interiors Teleport Dialog", dialog_string, "Select", "Cancel");
  72986. }
  72987. stock MysteryEggGift(playerid, giveplayerid)
  72988. {
  72989. new string[128];
  72990. if(PlayerInfo[playerid][pAdmin] >= 2 || playerid == MAX_PLAYERS)
  72991. {
  72992. new randgift = Random(1, 100);
  72993. if(randgift >= 1 && randgift <= 83)
  72994. {
  72995. new egg = Random(1, 8);
  72996. if(egg == 1)
  72997. {
  72998. if(PlayerInfo[giveplayerid][pConnectTime] < 2) return MysteryEggGift(playerid, giveplayerid);
  72999. GivePlayerValidWeapon(giveplayerid, 27, 60000);
  73000. GivePlayerValidWeapon(giveplayerid, 24, 60000);
  73001. GivePlayerValidWeapon(giveplayerid, 31, 60000);
  73002. GivePlayerValidWeapon(giveplayerid, 34, 60000);
  73003. GivePlayerValidWeapon(giveplayerid, 29, 60000);
  73004. SendClientMessageEx(giveplayerid, COLOR_GRAD2, " Congratulations! - You won Full Weapon Set");
  73005. format(string, sizeof(string), "* %s was just given a reward a full weapon set, enjoy!", GetPlayerNameEx(giveplayerid));
  73006. ProxDetector(30.0, giveplayerid, string, COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE);
  73007. }
  73008. else if(egg == 2)
  73009. {
  73010. PlayerInfo[giveplayerid][pFirstaid]++;
  73011. SendClientMessageEx(giveplayerid, COLOR_GRAD2, " Congratulations - you have won a first aid kit!");
  73012. format(string, sizeof(string), "* %s was just given a reward a first aid kit, enjoy!", GetPlayerNameEx(giveplayerid));
  73013. ProxDetector(30.0, giveplayerid, string, COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE);
  73014. }
  73015. else if(egg == 3)
  73016. {
  73017. PlayerInfo[giveplayerid][pMats] += 2000;
  73018. SendClientMessageEx(giveplayerid, COLOR_GRAD2, " Congratulations - you have won 2,000 materials!");
  73019. format(string, sizeof(string), "* %s was just given a reward 2,000 materials, enjoy!", GetPlayerNameEx(giveplayerid));
  73020. ProxDetector(30.0, giveplayerid, string, COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE);
  73021. }
  73022. else if(egg == 4)
  73023. {
  73024. if(PlayerInfo[giveplayerid][pWarns] != 0)
  73025. {
  73026. PlayerInfo[giveplayerid][pWarns]--;
  73027. SendClientMessageEx(giveplayerid, COLOR_GRAD2, " Congratulations - you have won a single warning removal!");
  73028. format(string, sizeof(string), "* %s was just given a reward a single warning removal, enjoy!", GetPlayerNameEx(giveplayerid));
  73029. ProxDetector(30.0, giveplayerid, string, COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE);
  73030. }
  73031. else
  73032. {
  73033. SendClientMessageEx(playerid, COLOR_GRAD2, "Random Reward ended up in a removal of one warning - let's try again!");
  73034. MysteryEggGift(playerid, giveplayerid);
  73035. return 1;
  73036. }
  73037. }
  73038. else if(egg == 5)
  73039. {
  73040. PlayerInfo[giveplayerid][pPot] += 50;
  73041. SendClientMessageEx(giveplayerid, COLOR_GRAD2, " Congratulations - you have won 50 grams of pot!");
  73042. format(string, sizeof(string), "* %s was just given a reward 50 grams of pot, enjoy!", GetPlayerNameEx(giveplayerid));
  73043. ProxDetector(30.0, giveplayerid, string, COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE);
  73044. }
  73045. else if(egg == 6)
  73046. {
  73047. PlayerInfo[giveplayerid][pCrack] += 25;
  73048. SendClientMessageEx(giveplayerid, COLOR_GRAD2, " Congratulations - you have won 25 grams of crack!");
  73049. format(string, sizeof(string), "* %s was just given a reward 25 grams of crack, enjoy!", GetPlayerNameEx(giveplayerid));
  73050. ProxDetector(30.0, giveplayerid, string, COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE);
  73051. }
  73052. else if(egg == 7)
  73053. {
  73054. GivePlayerCash(giveplayerid, 20000);
  73055. SendClientMessageEx(giveplayerid, COLOR_GRAD2, " Congratulations - you have won $20,000!");
  73056. format(string, sizeof(string), "* %s was just given a reward $20,000, enjoy!", GetPlayerNameEx(giveplayerid));
  73057. ProxDetector(30.0, giveplayerid, string, COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE);
  73058. }
  73059. }
  73060. else if(randgift > 83 && randgift <= 98)
  73061. {
  73062. new egg = Random(1, 5);
  73063. if(egg == 1)
  73064. {
  73065. GivePlayerCash(giveplayerid, 15000);
  73066. SendClientMessageEx(giveplayerid, COLOR_GRAD2, " Congratulations - you have won $15000!");
  73067. format(string, sizeof(string), "* %s was just given a reward $150,000, enjoy!", GetPlayerNameEx(giveplayerid));
  73068. ProxDetector(30.0, giveplayerid, string, COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE);
  73069. }
  73070. else if(egg == 2)
  73071. {
  73072. PlayerInfo[giveplayerid][pMats] += 15000;
  73073. SendClientMessageEx(giveplayerid, COLOR_GRAD2, " Congratulations - you have won 15,000 materials!");
  73074. format(string, sizeof(string), "* %s was just given a reward 15,000 materials, enjoy!", GetPlayerNameEx(giveplayerid));
  73075. ProxDetector(30.0, giveplayerid, string, COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE);
  73076. }
  73077. else if(egg == 3)
  73078. {
  73079. PlayerInfo[giveplayerid][pRespect] += 10;
  73080. SendClientMessageEx(giveplayerid, COLOR_GRAD2, " Congratulations - you have won 10 respect points!");
  73081. format(string, sizeof(string), "* %s was just given a reward 10 respect points, enjoy!", GetPlayerNameEx(giveplayerid));
  73082. ProxDetector(30.0, giveplayerid, string, COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE);
  73083. }
  73084. /*else if(egg == 4)
  73085. {
  73086. SendClientMessageEx(giveplayerid, COLOR_GRAD2, " Congratulations - you have won a free car!");
  73087. SendClientMessageEx(giveplayerid, COLOR_GRAD2, " Note: This rare reward may take up to 48 hours to be rewarded, contact Shop Techs.");
  73088. format(PlayerInfo[giveplayerid][pFlag], 128, "Free Car (Reward)");
  73089. format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s has just won %s and he won a free car.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  73090. ABroadCast(COLOR_ORANGE, string, 4);
  73091. new year,month,day,log[128];
  73092. getdate(year, month, day);
  73093. format(log, sizeof(log), "AdmCP: %s has just won %s and he won a free car(%d-%d-%d)", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), month, day, year);
  73094. Log("logs/gifts.log", log);
  73095. format(string, sizeof(string), "* %s was just given a reward a free car, enjoy!", GetPlayerNameEx(giveplayerid));
  73096. ProxDetector(30.0, giveplayerid, string, COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE);
  73097. }*/
  73098. }
  73099. else if(randgift > 98 && randgift <= 100)
  73100. {
  73101. new egg = Random(1, 4);
  73102. /*if(egg == 1 && PlayerInfo[giveplayerid][pDonator] <= 2) // Emerald VIP can get it extended, I suppose
  73103. {
  73104. SendClientMessageEx(giveplayerid, COLOR_GRAD2, " Congratulations - you have won one month of Emerald VIP!");
  73105. SendClientMessageEx(giveplayerid, COLOR_GRAD2, " Note: This rare reward may take up to 48 hours to be rewarded.");
  73106. format(PlayerInfo[giveplayerid][pFlag], 128, "Free Emerald VIP (Reward)");
  73107. format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s has just won %s and he won one month of Emerald VIP.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  73108. ABroadCast(COLOR_ORANGE, string, 2);
  73109. new year,month,day,log[128];
  73110. getdate(year, month, day);
  73111. format(log, sizeof(log), "AdmCP: %s has just won %s and he won one month of Emerald VIP(%d-%d-%d)", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), month, day, year);
  73112. Log("logs/gifts.log", log);
  73113. format(string, sizeof(string), "* %s was just given a reward one month of Emerald VIP, enjoy!", GetPlayerNameEx(giveplayerid));
  73114. ProxDetector(30.0, giveplayerid, string, COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE);
  73115. }*/
  73116. /*if(egg == 1)
  73117. {
  73118. new year,month,day,log[128];
  73119. getdate(year, month, day);
  73120. format(log, sizeof(log), "AdmCP: %s has just won %s and he won a free house(%d-%d-%d)", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), month, day, year);
  73121. Log("logs/gifts.log", log);
  73122. SendClientMessageEx(giveplayerid, COLOR_GRAD2, " Congratulations - you have won a free house!");
  73123. SendClientMessageEx(giveplayerid, COLOR_GRAD2, " Note: This rare reward may take up to 48 hours to be rewarded.");
  73124. format(PlayerInfo[giveplayerid][pFlag], 128, "Free House (Reward)");
  73125. format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s has just won %s and he won a free house.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  73126. ABroadCast(COLOR_ORANGE, string, 2);
  73127. format(string, sizeof(string), "* %s was just given a reward a free house, enjoy!", GetPlayerNameEx(giveplayerid));
  73128. ProxDetector(30.0, giveplayerid, string, COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE);
  73129. }*/
  73130. if(egg == 2)
  73131. {
  73132. new year,month,day,log[128];
  73133. getdate(year, month, day);
  73134. format(log, sizeof(log), "AdmCP: %s has just won %s and he won $500,000. (%d-%d-%d)", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), month, day, year);
  73135. Log("logs/gifts.log", log);
  73136. GivePlayerCash(giveplayerid, 10000);
  73137. SendClientMessageEx(giveplayerid, COLOR_GRAD2, " Congratulations - you have won $10000!");
  73138. format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s has just won %s and he won $10000.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  73139. ABroadCast(COLOR_ORANGE, string, 2);
  73140. format(string, sizeof(string), "* %s was just given a reward $500,000, enjoy!", GetPlayerNameEx(giveplayerid));
  73141. ProxDetector(30.0, giveplayerid, string, COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE);
  73142. }
  73143. else if(egg == 3)
  73144. {
  73145. new year,month,day,log[128];
  73146. getdate(year, month, day);
  73147. format(log, sizeof(log), "AdmCP: %s has just won %s and he won $500,000. (%d-%d-%d)", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid), month, day, year);
  73148. Log("logs/gifts.log", log);
  73149. new nxtlevel = PlayerInfo[playerid][pLevel]+1;
  73150. format(string, sizeof(string), "~g~LEVEL UP~n~~w~You're Now Level %d", nxtlevel);
  73151. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  73152. PlayerInfo[playerid][pLevel]++;
  73153. PlayerInfo[playerid][gPupgrade] = PlayerInfo[playerid][gPupgrade]+2;
  73154. GameTextForPlayer(playerid, string, 5000, 1);
  73155. SetPlayerScore(playerid, PlayerInfo[playerid][pLevel]);
  73156. SendClientMessageEx(giveplayerid, COLOR_GRAD2, " Congratulations - you have won +1 Level Up");
  73157. format(string, sizeof(string), "{AA3333}AdmWarning{FFFF00}: %s has just won %s and he won +1 Level Up.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
  73158. ABroadCast(COLOR_ORANGE, string, 2);
  73159. format(string, sizeof(string), "* %s was just given a reward +1 Level Up, enjoy!", GetPlayerNameEx(giveplayerid));
  73160. ProxDetector(30.0, giveplayerid, string, COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE,COLOR_ORANGE);
  73161. }
  73162. }
  73163. }
  73164. return 1;
  73165. }
  73166. RandomPrize(playerid)
  73167. {
  73168. if(IsPlayerConnected(playerid))
  73169. {
  73170. new string[128];
  73171. new prize = random(10)+1;
  73172. if(prize==1)
  73173. {
  73174. PlayerInfo[playerid][pCrack] += 11;
  73175. PlayerInfo[playerid][pMats] += 6600;
  73176. SendClientMessage(playerid, COLOR_YELLOW, "Congratulations, you have won 11 crack and 6600 materials.");
  73177. format(string, sizeof(string), "%s has killed the hunted, and won 11 crack & 6600 materials.", GetPlayerNameEx(playerid));
  73178. ABroadCast(COLOR_YELLOW, string, 1);
  73179. }
  73180. else if(prize==2)
  73181. {
  73182. PlayerInfo[playerid][pPot] += 36;
  73183. SetPlayerArmourEx(playerid, 140);
  73184. SendClientMessage(playerid, COLOR_YELLOW, "Congratulations, you have won 36 pot and a bullet proof vest (140 armor).");
  73185. format(string, sizeof(string), "%s has killed the hunted, and won 36 port and a bullet proof vest (140 armor).", GetPlayerNameEx(playerid));
  73186. ABroadCast(COLOR_YELLOW, string, 1);
  73187. }
  73188. else if(prize==3)
  73189. {
  73190. GivePlayerValidWeapon(playerid,24,50000);
  73191. GivePlayerValidWeapon(playerid,27,50000);
  73192. GivePlayerValidWeapon(playerid,29,50000);
  73193. GivePlayerValidWeapon(playerid,31,50000);
  73194. GivePlayerValidWeapon(playerid,34,50000);
  73195. SendClientMessage(playerid, COLOR_YELLOW, "Congratulations, you have won a full weapon set (spas, sniper, m4, mp5 & deagle).");
  73196. format(string, sizeof(string), "%s has killed the hunted, and won a full weapon set (spas, sniper, m4, mp5 & deagle).", GetPlayerNameEx(playerid));
  73197. ABroadCast(COLOR_YELLOW, string, 1);
  73198. }
  73199. else if(prize==4)
  73200. {
  73201. GivePlayerValidWeapon(playerid,24,50000);
  73202. GivePlayerValidWeapon(playerid,34,50000);
  73203. SendClientMessage(playerid, COLOR_YELLOW, "Congratulations, you have won a deagle and sniper.");
  73204. format(string, sizeof(string), "%s has killed the hunted, and won sniper and deagle.", GetPlayerNameEx(playerid));
  73205. ABroadCast(COLOR_YELLOW, string, 1);
  73206. }
  73207. else if(prize==5)
  73208. {
  73209. PlayerInfo[playerid][pCrack] += 27;
  73210. PlayerInfo[playerid][pPot] += 27;
  73211. SendClientMessage(playerid, COLOR_YELLOW, "Congratulations, you have won 27 grams of crack and pot.");
  73212. format(string, sizeof(string), "%s has killed the hunted, and won 27 grams of crack and pot.", GetPlayerNameEx(playerid));
  73213. ABroadCast(COLOR_YELLOW, string, 1);
  73214. }
  73215. else if(prize==6)
  73216. {
  73217. PlayerInfo[playerid][pCrack] += 27;
  73218. PlayerInfo[playerid][pPot] += 27;
  73219. PlayerInfo[playerid][pMats] += 1789;
  73220. SendClientMessage(playerid, COLOR_YELLOW, "Congratulations, you have won 1789 materials and 27 crack and pot.");
  73221. format(string, sizeof(string), "%s has killed the hunted, and won 27 grams of crack and pot.", GetPlayerNameEx(playerid));
  73222. ABroadCast(COLOR_YELLOW, string, 1);
  73223. }
  73224. else if(prize==7)
  73225. {
  73226. GivePlayerValidWeapon(playerid,29,50000);
  73227. GivePlayerValidWeapon(playerid,24,50000);
  73228. SetPlayerArmourEx(playerid, 100);
  73229. SendClientMessage(playerid, COLOR_YELLOW, "Congratulations, you have won mp5, deagle and vest.");
  73230. format(string, sizeof(string), "%s has killed the hunted, and won mp5, deagle and vest.", GetPlayerNameEx(playerid));
  73231. ABroadCast(COLOR_YELLOW, string, 1);
  73232. }
  73233. else if(prize==8)
  73234. {
  73235. GivePlayerValidWeapon(playerid,24,50000);
  73236. GivePlayerValidWeapon(playerid,27,50000);
  73237. SendClientMessage(playerid, COLOR_YELLOW, "Congratulations, you have won a spas and deagle.");
  73238. format(string, sizeof(string), "%s has killed the hunted, and won spas and deagle.", GetPlayerNameEx(playerid));
  73239. ABroadCast(COLOR_YELLOW, string, 1);
  73240. }
  73241. else if(prize==9)
  73242. {
  73243. GivePlayerValidWeapon(playerid,34,50000);
  73244. GivePlayerValidWeapon(playerid,27,50000);
  73245. SendClientMessage(playerid, COLOR_YELLOW, "Congratulations, you have won a sniper and spas.");
  73246. format(string, sizeof(string), "%s has killed the hunted, and won sniper and spas.", GetPlayerNameEx(playerid));
  73247. ABroadCast(COLOR_YELLOW, string, 1);
  73248. }
  73249. else if(prize==10)
  73250. {
  73251. GivePlayerValidWeapon(playerid,31,50000);
  73252. GivePlayerValidWeapon(playerid,27,50000);
  73253. SetPlayerArmourEx(playerid, 100);
  73254. SendClientMessage(playerid, COLOR_YELLOW, "Congratulations, you have won spas, m4 and a vest.");
  73255. format(string, sizeof(string), "%s has killed the hunted, and won spas, m4 and a vest (100 armor).", GetPlayerNameEx(playerid));
  73256. ABroadCast(COLOR_YELLOW, string, 1);
  73257. }
  73258. }
  73259. return 1;
  73260. }
  73261. /*stock GetHealthDots(playerid)
  73262. {
  73263. new dots[64];
  73264. new Float:HP;
  73265. GetPlayerHealth(playerid, HP);
  73266. if(HP == 100)
  73267. dots = "••••••••••";
  73268. else if(HP >= 90 && HP < 100)
  73269. dots = "•••••••••{660000}•";
  73270. else if(HP >= 80 && HP < 90)
  73271. dots = "••••••••{660000}••";
  73272. else if(HP >= 70 && HP < 80)
  73273. dots = "•••••••{660000}•••";
  73274. else if(HP >= 60 && HP < 70)
  73275. dots = "••••••{660000}••••";
  73276. else if(HP >= 50 && HP < 60)
  73277. dots = "•••••{660000}•••••";
  73278. else if(HP >= 40 && HP < 50)
  73279. dots = "••••{660000}••••••";
  73280. else if(HP >= 30 && HP < 40)
  73281. dots = "•••{660000}•••••••";
  73282. else if(HP >= 20 && HP < 30)
  73283. dots = "••{660000}••••••••";
  73284. else if(HP >= 10 && HP < 20)
  73285. dots = "••{660000}••••••••";
  73286. else if(HP >= 0 && HP < 10)
  73287. dots = "{660000}••••••••••";
  73288. return dots;
  73289. }
  73290. stock GetArmorDots(playerid)
  73291. {
  73292. new dots[64];
  73293. new Float:AR;
  73294. GetPlayerArmour(playerid, AR);
  73295. if(AR == 100)
  73296. dots = "••••••••••";
  73297. else if(AR >= 90 && AR < 100)
  73298. dots = "•••••••••{666666}•";
  73299. else if(AR >= 80 && AR < 90)
  73300. dots = "••••••••{666666}••";
  73301. else if(AR >= 70 && AR < 80)
  73302. dots = "•••••••{666666}•••";
  73303. else if(AR >= 60 && AR < 70)
  73304. dots = "••••••{666666}••••";
  73305. else if(AR >= 50 && AR < 60)
  73306. dots = "•••••{666666}•••••";
  73307. else if(AR >= 40 && AR < 50)
  73308. dots = "••••{666666}••••••";
  73309. else if(AR >= 30 && AR < 40)
  73310. dots = "•••{666666}•••••••";
  73311. else if(AR >= 20 && AR < 30)
  73312. dots = "••{666666}••••••••";
  73313. else if(AR >= 10 && AR < 20)
  73314. dots = "••{666666}••••••••";
  73315. else if(AR >= 0 && AR < 10)
  73316. dots = "{666666}••••••••••";
  73317. return dots;
  73318. }
  73319. forward UpdateNametag();
  73320. public UpdateNametag()
  73321. {
  73322. foreach(Player, i)
  73323. {
  73324. if(IsPlayerConnected(i))
  73325. {
  73326. new nametag[128], playername[MAX_PLAYER_NAME], Float:armour;
  73327. GetPlayerArmour(i, armour);
  73328. GetPlayerName(i, playername, sizeof(playername));
  73329. if(armour > 1.0)
  73330. {
  73331. format(nametag, sizeof(nametag), "{%06x}%s {FFFFFF}(%i)\n{FFFFFF}%s\n{FF0000}%s", GetPlayerColor(i) >>> 8, playername, i, GetArmorDots(i), GetHealthDots(i));
  73332. }
  73333. else
  73334. {
  73335. format(nametag, sizeof(nametag), "{%06x}%s {FFFFFF}(%i)\n{FF0000}%s", GetPlayerColor(i) >>> 8, playername, i, GetHealthDots(i));
  73336. }
  73337. UpdateDynamic3DTextLabelText(cNametag[i], 0xFFFFFFFF, nametag);
  73338. }
  73339. }
  73340. }*/
  73341. stock WelcomePlayer(playerid)
  73342. {
  73343. new string[3500];
  73344. strcat(string, "\n");
  73345. strcat(string, ". {FFFFFF}Use {FFA500}/newb{FFFFFF} to ask your questions or {FFA500}/gethelp{FFFFFF} if you need more help.\n");
  73346. strcat(string, ". {FFFFFF}Use {FFA500}/findjob{FFFFFF} to a find a job and {FFA500}/jobhelp{FFFFFF} for more information about the available jobs.\n");
  73347. strcat(string, ". {FF0606}Do not hack.{FFFFFF} It is pointless as we have an extensive anti-cheat againts hacks and admins that monitor the server 24/7.\n");
  73348. strcat(string, ". {FFFFFF}Use {FFA500}/report{FFFFFF} if you see any rule-breakers.\n");
  73349. strcat(string, ". {FFFFFF}Check {FFA500}/rules{FFFFFF} for a basic list of server rules.\n");
  73350. strcat(string, ". {FFFFFF}Check {FFA500}/help{FFFFFF} to see available commands.\n");
  73351. strcat(string, ". {FFFFFF}Be sure to also check out {FFA500}/refshop{FFFFFF} and {FFA500}/refhelp{FFFFFF} for refferal rewards.\n");
  73352. strcat(string, "\n");
  73353. strcat(string, "Be sure to check out our website at {FFA500}www.Serenity{FFFFFF} and our forums at {FFA500}blastroleplay.boards.net{FFFFFF}\n");
  73354. strcat(string, "\n");
  73355. strcat(string, "You can also join us on Discord at {FFA500}Serenity/discord{FFFFFF}\n");
  73356. strcat(string, "\n");
  73357. strcat(string, "{FFFFFF}Have fun!");
  73358. ShowPlayerDialogEx(playerid, 4356, DIALOG_STYLE_MSGBOX, "Welcome to {FFA500}Sleepless Roleplay", string, "Close", "");
  73359. return 1;
  73360. }
  73361. public TimerGiveMiner(playerid)
  73362. {
  73363. RemovePlayerAttachedObject(playerid, 3);
  73364. SendClientMessage(playerid, -1, "{FFA500}Average {FFFFFF}metal produced. Take it to the refinery.");
  73365. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_CARRY);
  73366. ApplyAnimation(playerid, "CARRY", "crry_prtial", 4.0, 0, 0, 0, 0, 0, 1);
  73367. SetPlayerAttachedObject(playerid, 4, 2936, 1, 0.184699, 0.426247, 0.000000, 259.531341, 80.949592, 0.000000, 0.476124, 0.468181, 0.470769);
  73368. SetPlayerCheckpoint(playerid, -1866.611328, -1609.435546, 21.757812, 3.0);
  73369. ExtraMetall[playerid] = 0;
  73370. return 1;
  73371. }
  73372. public TimerGiveMinerEx(playerid)
  73373. {
  73374. RemovePlayerAttachedObject(playerid, 3);
  73375. SendClientMessage(playerid, -1, "{FFFF00}Quality {FFFFFF}metal produced. Take it to the refinery.");
  73376. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_CARRY);
  73377. ApplyAnimation(playerid, "CARRY", "crry_prtial", 4.0, 0, 0, 0, 0, 0, 1);
  73378. SetPlayerAttachedObject(playerid, 4, 2936, 1, 0.184699, 0.426247, 0.000000, 259.531341, 80.949592, 0.000000, 0.476124, 0.468181, 0.470769);
  73379. SetPlayerCheckpoint(playerid, -1866.611328, -1609.435546, 21.757812, 3.0);
  73380. ExtraMetall[playerid] = 1;
  73381. return 1;
  73382. }
  73383. forward TimerGiveMinerEx2(playerid);
  73384. public TimerGiveMinerEx2(playerid)
  73385. {
  73386. new number = random(10) + 1;
  73387. if(1 <= number <= 7)
  73388. {
  73389. PlayerInfo[playerid][pMiningRock] = 1;
  73390. SendClientMessage(playerid, COLOR_WHITE, "You have dug up an ordinary stone. Drop it off at the marker.");
  73391. }
  73392. else
  73393. {
  73394. PlayerInfo[playerid][pMiningRock] = 2;
  73395. SendClientMessage(playerid, COLOR_WHITE, "You have dug up a quality stone. Drop it off at the marker.");
  73396. }
  73397. RemovePlayerAttachedObject(playerid, 9);
  73398. SetPlayerAttachedObject(playerid, 9, 3929, 1, 0.242999, 0.324000, 0.012000, -17.200078, 20.699993, 9.800034, 0.579999, 0.617999, 0.676999);
  73399. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_CARRY);
  73400. ApplyAnimation(playerid, "CARRY", "liftup", 4.1, 0, 0, 0, 0, 0, 1);
  73401. SetPlayerCheckpoint(playerid, 1278.2404,-1258.6906,13.7365, 2.0);
  73402. gPlayerCheckpointStatus[playerid] = CHECKPOINT_MINER;
  73403. return 1;
  73404. }
  73405. stock IsPlayerNearMiningArea(playerid)
  73406. {
  73407. if(IsPlayerInRangeOfPoint(playerid, 2, 1250.1315,-1251.8857,13.6803)) return 1;
  73408. else if(IsPlayerInRangeOfPoint(playerid, 2, 1244.8136,-1267.3768,14.0674)) return 1;
  73409. else if(IsPlayerInRangeOfPoint(playerid, 2, 1242.2014,-1251.1252,14.1024)) return 1;
  73410. else if(IsPlayerInRangeOfPoint(playerid, 2, 1235.3142,-1250.9010,19.2036)) return 1;
  73411. return 0;
  73412. }
  73413. forward unknowncommand(playerid);
  73414. public unknowncommand(playerid)
  73415. {
  73416. TextDrawHideForPlayer(playerid, Textdraw0z);
  73417. TextDrawHideForPlayer(playerid, Textdraw1z);
  73418. TextDrawHideForPlayer(playerid, Textdraw2z);
  73419. TextDrawHideForPlayer(playerid, Textdraw3z);
  73420. return 1;
  73421. }
  73422. new AaF_cache[MAX_PLAYERS] = { -1, ... };
  73423. new AaF_cacheTime[MAX_PLAYERS];
  73424. stock Aiming_at_Flame(playerid)
  73425. {
  73426. if(gettime() - AaF_cacheTime[playerid] < 1)
  73427. {
  73428. return AaF_cache[playerid];
  73429. }
  73430. AaF_cacheTime[playerid] = gettime();
  73431. new id = -1;
  73432. new Float:dis = 99999.99;
  73433. new Float:dis2;
  73434. new Float:x, Float:y, Float:z, Float:a;
  73435. GetXYInFrontOfPlayer(playerid, x, y, z, a, 1);
  73436. z -= Z_DIFFERENCE;
  73437. new Float:cx,Float:cy,Float:cz,Float:fx,Float:fy,Float:fz;
  73438. GetPlayerCameraPos(playerid, cx, cy, cz);
  73439. GetPlayerCameraFrontVector(playerid, fx, fy, fz);
  73440. if(id != -1) { return id-MAX_PLAYERS; }
  73441. for(new i; i < MAX_FLAMES; i++)
  73442. {
  73443. if(Flame[i][Flame_Exists])
  73444. {
  73445. if(IsInWaterCar(playerid) || HasExtinguisher(playerid) || GetPlayerWeapon(playerid) == 41 )
  73446. {
  73447. if((IsPlayerInAnyVehicle(playerid) && dis2 < CAR_RADIUS && dis2 < dis) || (!IsPlayerInAnyVehicle(playerid) && ((dis2 < ONFOOT_RADIUS && dis2 < dis))))
  73448. {
  73449. dis = dis2;
  73450. id = i;
  73451. }
  73452. }
  73453. }
  73454. }
  73455. if(id != -1)
  73456. {
  73457. if
  73458. (
  73459. (
  73460. IsPlayerInAnyVehicle(playerid) && !IsPlayerInRangeOfPoint(playerid, 50, Flame[id][Flame_pos][0], Flame[id][Flame_pos][1], Flame[id][Flame_pos][2])
  73461. )
  73462. ||
  73463. (
  73464. !IsPlayerInAnyVehicle(playerid) && !IsPlayerInRangeOfPoint(playerid, 5, Flame[id][Flame_pos][0], Flame[id][Flame_pos][1], Flame[id][Flame_pos][2])
  73465. )
  73466. )
  73467. { id = -1; }
  73468. }
  73469. AaF_cache[playerid] = id;
  73470. return id;
  73471. }
  73472. stock IsAtFlame(playerid)
  73473. {
  73474. for(new i; i < MAX_FLAMES; i++)
  73475. {
  73476. if(Flame[i][Flame_Exists])
  73477. {
  73478. if(!IsPlayerInAnyVehicle(playerid) && (IsPlayerInRangeOfPoint(playerid, FLAME_ZONE, Flame[i][Flame_pos][0], Flame[i][Flame_pos][1], Flame[i][Flame_pos][2]+Z_DIFFERENCE) ||
  73479. IsPlayerInRangeOfPoint(playerid, FLAME_ZONE, Flame[i][Flame_pos][0], Flame[i][Flame_pos][1], Flame[i][Flame_pos][2]+Z_DIFFERENCE-1)))
  73480. {
  73481. return 1;
  73482. }
  73483. }
  73484. }
  73485. return 0;
  73486. }
  73487. stock GetFlameSlot()
  73488. {
  73489. for(new i = 0; i < MAX_FLAMES; i++)
  73490. {
  73491. if(!Flame[i][Flame_Exists]) { return i; }
  73492. }
  73493. return -1;
  73494. }
  73495. stock GetFireID(Float:x, Float:y, Float:z, &Float:dist)
  73496. {
  73497. new id = -1;
  73498. dist = 99999.99;
  73499. for(new i; i < MAX_FLAMES; i++)
  73500. {
  73501. if(GetDistanceBetweenPoints(x,y,z,Flame[i][Flame_pos][0],Flame[i][Flame_pos][1],Flame[i][Flame_pos][2]) < dist)
  73502. {
  73503. dist = GetDistanceBetweenPoints(x,y,z,Flame[i][Flame_pos][0],Flame[i][Flame_pos][1],Flame[i][Flame_pos][2]);
  73504. id = i;
  73505. }
  73506. }
  73507. return id;
  73508. }
  73509. stock IsPlayerInWater(playerid)
  73510. {
  73511. new Float:X, Float:Y, Float:Z, an = GetPlayerAnimationIndex(playerid);
  73512. GetPlayerPos(playerid, X, Y, Z);
  73513. if((1544 >= an >= 1538 || an == 1062 || an == 1250) && (Z <= 0 || (Z <= 41.0 && IsPlayerInArea(playerid, -1387, -473, 2025, 2824))) ||
  73514. (1544 >= an >= 1538 || an == 1062 || an == 1250) && (Z <= 2 || (Z <= 39.0 && IsPlayerInArea(playerid, -1387, -473, 2025, 2824))))
  73515. {
  73516. return 1;
  73517. }
  73518. return 0;
  73519. }
  73520. stock IsPlayerInArea(playerid, Float:MinX, Float:MaxX, Float:MinY, Float:MaxY)
  73521. {
  73522. new Float:x, Float:y, Float:z;
  73523. GetPlayerPos(playerid, x, y, z);
  73524. #pragma unused z
  73525. if(x >= MinX && x <= MaxX && y >= MinY && y <= MaxY) { return 1; }
  73526. return 0;
  73527. }
  73528. stock CanPlayerBurn(playerid, val = 0)
  73529. {
  73530. if(CallRemoteFunction("CanBurn", "d", playerid) >= 0 && !IsPlayerInWater(playerid) && GetPlayerSkin(playerid) != 277 && GetPlayerSkin(playerid) != 278 && GetPlayerSkin(playerid) != 279 && ((!val && !PlayerOnFire[playerid]) || (val && PlayerOnFire[playerid]))) { return 1; }
  73531. return 0;
  73532. }
  73533. //===================== stocks ====================
  73534. stock GetXYInFrontOfPlayer(playerid, &Float:x, &Float:y, &Float:z, &Float:a, Float:distance)
  73535. {
  73536. GetPlayerPos(playerid, x, y ,z);
  73537. if(IsPlayerInAnyVehicle(playerid))
  73538. {
  73539. GetVehicleZAngle(GetPlayerVehicleID(playerid),a);
  73540. }
  73541. else
  73542. {
  73543. GetPlayerFacingAngle(playerid, a);
  73544. }
  73545. x += (distance * floatsin(-a, degrees));
  73546. y += (distance * floatcos(-a, degrees));
  73547. return 0;
  73548. }
  73549. stock Float:GetDistanceBetweenPoints(Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2)
  73550. {
  73551. return floatadd(floatadd(floatsqroot(floatpower(floatsub(x1,x2),2)),floatsqroot(floatpower(floatsub(y1,y2),2))),floatsqroot(floatpower(floatsub(z1,z2),2)));
  73552. }
  73553. //===================== Own Publics ====================
  73554. public AddFire(Float:x, Float:y, Float:z)
  73555. {
  73556. new slot = GetFlameSlot();
  73557. if(slot == -1) {return slot;}
  73558. Flame[slot][Flame_Exists] = 1;
  73559. Flame[slot][Flame_pos][0] = x;
  73560. Flame[slot][Flame_pos][1] = y;
  73561. Flame[slot][Flame_pos][2] = z - Z_DIFFERENCE;
  73562. Flame[slot][Flame_id] = CreateObject(18689, Flame[slot][Flame_pos][0], Flame[slot][Flame_pos][1], Flame[slot][Flame_pos][2], 0.0, 0.0, 0.0);
  73563. return slot;
  73564. }
  73565. public KillFire(id)
  73566. {
  73567. DestroyObject(Flame[id][Flame_id]);
  73568. Flame[id][Flame_Exists] = 0;
  73569. Flame[id][Flame_pos][0] = 0.0;
  73570. Flame[id][Flame_pos][1] = 0.0;
  73571. Flame[id][Flame_pos][2] = 0.0;
  73572. DestroyTheSmokeFromFlame(id);
  73573. }
  73574. public AddSmoke(Float:x, Float:y, Float:z)
  73575. {
  73576. return CreateObject(18727, x, y, z, 0.0, 0.0, 0.0);
  73577. }
  73578. public KillSmoke(id)
  73579. {
  73580. DestroyObject(id);
  73581. }
  73582. // Destroys extinguishing-smoke
  73583. public DestroyTheSmokeFromFlame(id)
  73584. {
  73585. for(new i; i < 5; i++) { DestroyObject(Flame[id][Smoke][i]); }
  73586. }
  73587. public FireTimer(playerid, id)
  73588. {
  73589. if(id < -1 && (Aiming_at_Flame(playerid) == id)) { StopPlayerBurning(id+MAX_PLAYERS); }
  73590. else if(Flame[id][Flame_Exists] && ((Pressing(playerid) & KEY_FIRE && Aiming_at_Flame(playerid) == id)))
  73591. {
  73592. KillFire(id);
  73593. #if defined EarnMoney
  73594. GivePlayerMoney(playerid, 500);
  73595. #endif
  73596. }
  73597. KillTimer(ExtTimer[playerid]);
  73598. ExtTimer[playerid] = -1;
  73599. }
  73600. forward burning1(playerid);
  73601. public burning1(playerid)
  73602. {
  73603. if(GetPVarInt(playerid, "burning") == 1)
  73604. {
  73605. new Float:health;
  73606. GetPlayerHealth(playerid, health);
  73607. if(health < 101.0)
  73608. {
  73609. if((health-5.0) <= 101.0)
  73610. {
  73611. SetPlayerHealth(playerid, health-5.0);
  73612. }
  73613. }
  73614. }
  73615. }
  73616. public SetPlayerBurn(playerid)
  73617. {
  73618. SetPlayerAttachedObject(playerid, FIRE_OBJECT_SLOT, 18690, 2, -1, 0, -1.9, 0, 0);
  73619. PlayerOnFire[playerid] = 1;
  73620. SetPVarInt(playerid, "burning1", SetTimerEx("burning1", 1000, 1, "d", playerid));
  73621. SetPVarInt(playerid, "burning", 1);
  73622. KillTimer(PlayerOnFireTimer[playerid]); KillTimer(PlayerOnFireTimer2[playerid]);
  73623. PlayerOnFireTimer[playerid] = SetTimerEx("BurningTimer", 91, 1, "d", playerid);
  73624. PlayerOnFireTimer2[playerid] = SetTimerEx("StopPlayerBurning", 7000, 0, "d", playerid);
  73625. return 1;
  73626. }
  73627. public BurningTimer(playerid)
  73628. {
  73629. if(PlayerOnFire[playerid])
  73630. {
  73631. /* new Float:hp;
  73632. GetPlayerHealth(playerid, hp);
  73633. if(hp < PlayerOnFireHP[playerid])
  73634. {
  73635. PlayerOnFireHP[playerid] = hp;
  73636. }
  73637. CallRemoteFunction("SetPlayerHealth", "dd", playerid, PlayerOnFireHP[playerid]-10.0);*/
  73638. PlayerOnFireHP[playerid] -= 10.0;
  73639. }
  73640. else { KillTimer(PlayerOnFireTimer[playerid]); KillTimer(PlayerOnFireTimer2[playerid]); }
  73641. }
  73642. public StopPlayerBurning(playerid)
  73643. {
  73644. KillTimer(PlayerOnFireTimer[playerid]);
  73645. PlayerOnFire[playerid] = 0;
  73646. KillTimer(GetPVarInt(playerid, "burning1"));
  73647. SetPVarInt(playerid, "burning", 0);
  73648. RemovePlayerAttachedObject(playerid, FIRE_OBJECT_SLOT);
  73649. }
  73650. stock IsInWaterCar(playerid)
  73651. {
  73652. if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 407 || GetVehicleModel(GetPlayerVehicleID(playerid)) == 601) { return 1; }
  73653. return 0;
  73654. }
  73655. stock Pressing(playerid)
  73656. {
  73657. new keys, updown, leftright;
  73658. GetPlayerKeys(playerid, keys, updown, leftright);
  73659. return keys;
  73660. }
  73661. stock HasExtinguisher(playerid)
  73662. {
  73663. if(GetPlayerWeapon(playerid) == 42 && !IsPlayerInAnyVehicle(playerid)) { return 1; }
  73664. return 0;
  73665. }
  73666. ShowBlood(playerid, time)
  73667. {
  73668. for(new i = 0; i < 8;i++)
  73669. {
  73670. if(PlayerInfo[playerid][pLevel] >= 1 && AdminDuty[playerid] != 1 && Hunted[playerid] == 1)
  73671. {
  73672. TextDrawShowForPlayer(playerid, Blood[i]);
  73673. }
  73674. }
  73675. Timer[playerid] = SetTimerEx("RemoveBlood", time*1000, false, "i", playerid);
  73676. return 1;
  73677. }
  73678. forward RemoveBlood(playerid);
  73679. public RemoveBlood(playerid)
  73680. {
  73681. for(new i = 0; i < 8;i++)
  73682. {
  73683. TextDrawHideForPlayer(playerid, Blood[i]);
  73684. }
  73685. pBlood[playerid] = false;
  73686. return 1;
  73687. }